goldfinch/image-editor

Image Editor for quick image alt/title, name and focus point updates

Installs: 913

Dependents: 13

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Type:silverstripe-vendormodule

v2.0.1 2024-05-14 01:39 UTC

This package is auto-updated.

Last update: 2024-11-14 03:03:28 UTC


README

Silverstripe Version Package Version Total Downloads License

Provides a full list of all available images for a quick Alt/Title, Filename and Focus Point update.

Apart from that, it comes with two custom fields: EditableUploadField, EditableSortableUploadField (based on UploadField, SortableUploadField) enchanted with an inline editor for quick access and update, without leaving the page or making too many clicks. To more other additions: ImageCoordsField and GridFieldManyManyFocusConfig.

Install

composer require goldfinch/image-editor

Usage

Editable UploadField

use SilverStripe\Assets\Image;
use Goldfinch\ImageEditor\Forms\EditableUploadField;

private static $has_one = [
    'Image' => Image::class,
];

private static $owns = [
    'Image',
];

public function getCMSFields()
{
    $fields = parent::getCMSFields();

    $fields->addFieldsToTab(
        'Root.Main',
        [
            // [
            //     TextField::create('Title')
            //     Other fields ...
            // ],
            ...EditableUploadField::create('Image', 'Image', $fields, $this)->getFields(),
            // [
            //     Other fields ...
            // ],
        ]
    );
    
    return $fields;
}

Editable SortableUploadField

use SilverStripe\Assets\Image;
use Goldfinch\ImageEditor\Forms\EditableSortableUploadField;

private static $many_many = [
    'Images' => Image::class,
];

private static $many_many_extraFields = [
    'Images' => [
        'SortExtra' => 'Int',
    ]
];

private static $owns = [
    'Images',
];

public function getCMSFields()
{
    $fields = parent::getCMSFields();

    $fields->addFieldsToTab(
        'Root.Main',
        [
            // [
            //     TextField::create('Title')
            //     Other fields ...
            // ],
            ...EditableSortableUploadField::create('Images', 'Images', $fields, $this)->getFields(),
            // [
            //     Other fields ...
            // ],
        ]
    );
    
    return $fields;
}

Editable GridField

use SilverStripe\Assets\Image;
use SilverStripe\Forms\GridField\GridField;
use Goldfinch\ImageEditor\Forms\GridField\GridFieldManyManyFocusConfig;

private static $many_many = [
    'Images' => Image::class,
];

private static $many_many_extraFields = [
    'Images' => [
        'SortOrder' => 'Int',
    ]
];

private static $owns = [
    'Images',
];

public function getCMSFields()
{
    $fields = parent::getCMSFields();

    $fields->addFieldsToTab(
        'Root.Main',
        [
            GridField::create('ImageAttributes', 'Images', $this->Images(), GridFieldManyManyFocusConfig::create()),
        ]
    );

    return $fields;
}

Editable ImageCoords

use SilverStripe\Assets\Image;
use Goldfinch\ImageEditor\Forms\ImageCoordsField;

private static $has_one = [
    'Image' => Image::class,
];

private static $owns = [
    'Image',
];

public function getCMSFields()
{
    $fields = parent::getCMSFields();

    $fields->addFieldsToTab(
        'Root.Main',
        [
            ImageCoordsField::create($this, 'Image'),
        ]
    );

    return $fields;
}

Previews

Image Editor admin

Image Editor admin

Image edit page

Image edit page

Editable UploadField

Editable-UploadField

Editable SortableUploadField

Editable SortableUploadField

Editable GridField

Editable GridField

Editable ImageCoords

Editable ImageCoords

References

Pre-installed packages included in this module

and thanks to

License

The MIT License (MIT)