SilverStripe GridField Components set for bulk upload and bulk record edit, unlink & delete 📦💥
Go to file
Guy Sartorelli b7c1f98d07
MNT Run module-standardiser (#265)
2024-02-02 13:50:32 +13:00
.github MNT Run module-standardiser (#265) 2024-02-02 13:50:32 +13:00
.tx ENH Update translations 2023-06-14 12:38:54 +12:00
client DEP Update javascript dependencies (#254) 2023-10-04 09:49:51 +13:00
docs/en Readme update for bulk manager 2018-02-12 15:32:28 +02:00
lang ENH Update translations 2023-06-14 12:38:54 +12:00
src FIX Don't use removed method. 2023-02-01 15:29:49 +13:00
templates/Colymba API Unified json responses via new HTTPBulkToolsResponse 2018-03-14 22:24:37 +02:00
.editorconfig Update webpack implementation and refactor JS to remove lint warnings (#179) 2018-08-16 15:45:17 +03:00
.eslintignore Update webpack implementation and refactor JS to remove lint warnings (#179) 2018-08-16 15:45:17 +03:00
.eslintrc.js Update webpack implementation and refactor JS to remove lint warnings (#179) 2018-08-16 15:45:17 +03:00
.gitattributes Added standard .gitattributes file 2016-01-18 18:14:33 +02:00
.gitignore Treansifex and Build/Dist Scripts :shipit: 2018-02-28 21:12:20 +02:00
.nvmrc DEP Upgrade frontend build stack 2023-02-01 15:28:37 +13:00
.sass-lint.yml Update webpack implementation and refactor JS to remove lint warnings (#179) 2018-08-16 15:45:17 +03:00
LICENSE Update license to BSD 3-clause 2018-02-01 13:41:15 +02:00
README.md Update README.md 2019-11-12 09:27:52 +02:00
_config.php Clean up 🚿 2018-02-27 16:48:02 +02:00
babel.config.json DEP Upgrade frontend build stack 2023-02-01 15:28:37 +13:00
composer.json MNT Run module-standardiser (#265) 2024-02-02 13:50:32 +13:00
package.json DEP Update javascript dependencies (#254) 2023-10-04 09:49:51 +13:00
phpstan.neon.dist MNT Run module-standardiser (#265) 2024-02-02 13:50:32 +13:00
transifex.js FIX js lang template and i18n js requirements path 2018-02-28 21:26:30 +02:00
webpack.config.js DEP Upgrade frontend build stack 2023-02-01 15:28:37 +13:00
yarn.lock DEP Update javascript dependencies (#254) 2023-10-04 09:49:51 +13:00

README.md

⚠️ I haven't been able to give as much love as I would like to these repos as they deserve. If you have time and are interested to help maintain them, give me a shout. 🚨

GridField Bulk Editing Tools

Latest Stable Version Latest Unstable Version License

Set of SilverStripe 4 GridField components to facilitate bulk file upload & record editing.

Components:

  • Bulk Upload: Upload multiple images or files at once into DataObjects
  • Bulk Manager: Delete, Unlink, Edit (and more) multiple records at once

Requirements

  • SilverStripe 4.0 (master / 3.+)
  • SilverStripe 3.1 (version 2.+ / 1.+)
  • Silverstripe 3.0 (version 0.5)

Installation

composer require colymba/gridfield-bulk-editing-tools

3.0.0 deprecations

The 3.x versions of this module require SilverStripe 4.x+, and PHP 5.5 or above:

  • Namespaces are implemented, and some class names have changed (see .upgrade.yml for mapping)

2.0.0 deprecations

Major deprections in latest 2.0.0 release:

  • The GridFieldBulkImageUpload has been renamed to GridFieldBulkUpload.
  • onBulkImageUpload callback has been renamed to onBulkUpload

Bulk Upload

Upload multiple images or files at once into DataObjects. Perfect for galleries and the like.

$config->addComponent(new \Colymba\BulkUpload\BulkUploader());

Versioned

By default BulkUploader will write to the current stage (most likely Draft). To auto publish your DataObject, use the following param or config:

$config->addComponent(new \Colymba\BulkUpload\BulkUploader(null, null, true));

OR

$config->getComponentByType('Colymba\\BulkUpload\\BulkUploader')->setAutoPublishDataObject(true);

Your DataObject should own the Image/File relation so it is published at the same time: See SilverStripe DataObject ownership DOC

See BULK_UPLOAD.md for detailed configuration.

Bulk Manager

Perform actions on multiple records straight from the GridField

$config->addComponent(new \Colymba\BulkManager\BulkManager());

See BULK_MANAGER.md for detailed configuration.

Tooling

  • npm run watch for development
  • npm run dist before pushing to the repo

Translations

Translations of the natural language strings are managed through a third party translation interface, transifex.com.

Please use https://www.transifex.com/projects/p/gridfieldbulkeditingtools/ to contribute translations, rather than sending pull requests with YAML/JS files.

BSD 3-clause license