private function cropPhoto($cropper, $dataRow)
    {
        $folder = $this->folder;
        $disk = Storage::disk($this->filesystem);

        //If a folder is not exists, then make the folder
        if (!$disk->exists($folder)) {
            $disk->makeDirectory($folder);
        }

        $itemId = $this->model->id;

        foreach ($cropper as $cropParam) {
            $inputName = $dataRow->field.'_'.$cropParam->name;
            $params = json_decode($this->request->get($inputName));

            if (!is_object($params)) {
                return false;
            }

            $imageName = $this->request->{$dataRow->field};
            $image = Image::make($disk->path($imageName));

            $image->crop(
                (int) $params->w,
                (int) $params->h,
                (int) $params->x,
                (int) $params->y
            );

            $image->resize($cropParam->size->width, $cropParam->size->height);
            $photoName = $folder.'/'.$inputName.'_'.$itemId.'_'.$cropParam->size->name.'.'.$image->extension;

            if (isset($cropParam->watermark) && file_exists($cropParam->watermark)) {
                $watermark = Image::make(public_path() . '/' . $cropParam->watermark);
                $watermark->resize($cropParam->size->width, null);
                $image->insert($watermark);
            }

            $image->save($disk->path($photoName), $this->quality);

            if (!empty($cropParam->resize)) {
                foreach ($cropParam->resize as $cropParamResize) {
                    $image->resize($cropParamResize->width, $cropParamResize->height, function ($constraint) {
                        $constraint->aspectRatio();
                    });

                    $photoName = $folder.'/'.$inputName.'_'.$itemId.'_'.$cropParamResize->name.'.'.$image->extension;
                    $image->save($disk->path($photoName), $this->quality);
                }
            }

            $this->model->{$dataRow->field} = $imageName;
            $this->model->save();
        }
    }