This allows React form builders (or other such view layer builders in a
headless environment) to obtain the details that would otherwise only be
rendered in a PHP side template. Some of the details are critical for
rendering correctly, and are necessary to be passed through -
particularly when moving toward replacing the Entwine initiator for
TinyMCE with a React component in `silverstripe/admin`.
I new interface method has been added to the abstract class for HTML
editor configs in order to facilitate this. It is not itself abstract as
this would break backwards compatiblity with any existing custom config
(aside from the TinyMCE one which we're editing here), which is most
certainly not what we want.
GridField doesn't have a valid readonly state if it's value is set to an Object
without `forTemplate()`. The default behaviour is to render a ReadonlyField,
but given GridField is a complex type this isn't suitable.
This bugfix provides a transformation method to render only components that are
whitelisted to provide a readonly state.
@see #3357 - https://github.com/silverstripe/silverstripe-framework/issues/3357
Print view uses the SilverStripe templating to render values which means that
values are safely escaped by default. This can be tested by chaing `$CellString`
to `$CellString.RAW` in the GridField_print.ss template to see this escaping
being disabled.
This pull request removes double escaping of HTML in strings.
* Add gridfield restore action, enable view button in action menu
* Abstract restore action and create test
* Use more appropriate canRestoreToDraft and isArchived, move translations
* Use Hierarchy to determine if a record should be restored to root
* Move restore action to versioned
* Allow buttons to opt out of display
* Linting
* Remove redundant function call
* Add test for group delete action
* Add menu group check and test for delete action
* Fix linting
* WIP GridField action menu work, the gist of the idea is using a new gridfield component
* Add delete action to actions menu
* Actions are added automatically to action menu (allows for extension)
* Add test and minor changes
* Add docs and minor changes
* Refactor ActionMenuItem into distinct types, general ActionMenu cleanup
* Add icons and fix title
* Pass columnName, so it can be used by components
* Update test to open and find action menu buttons
* Add section in changelog upgrade section for GridField_ActionMenu