Causes build failures due to Behat not being able to select
a link from a dropdown in "Insert Media".
Follow on effect from triggering a window.resize event
when the window wasn't actually resized (in order to force a layout redraw).
See https://github.com/silverstripe/silverstripe-framework/pull/5087 for context
- Adds FormSchema class
- Adds FormSchema dependency to LeftAndMain via Injector
- Adds schema allowed_action method to LeftAndMain for generating Form schemas
- Adds FormFieldSchemaTrait to for schema getters and setters on FormFields
Believe it or not, some node modules contain PHP files,
which get included by default otherwise.
This also fixes a performance regression on ?flush,
the existence of node_modules will cause a lot of unneccesary file lookups.
Uses https://github.com/uber/npm-shrinkwrap instead of the built-in "npm shrinkwrap" since it works more reliably.
Specifically, "npm install" doesn't fail depending on node_modules/ being installed in the local cache or not.
It also makes npm-shrinkwrap.json easier to diff by more consistently ordering its output between runs.
If you need any convincing that this is a problem, look at the over 400 issues related to "shrinkwrap"
in https://github.com/npm/npm/search?q=shrinkwrap&type=Issues&utf8=%E2%9C%93
API Filter Relation. query parameters from relations when creating objects
API Versioned::publish now triggers invokeWithExtensions
API Update behaviour of versioned for all_versions mode to respect ID filters
API Tweak behaviour of inherited query parameters
In it's current state you need to revert to something like `Session::get('CMSMain.currentPage')` to get the foreign key of what the item you are creating relates to (e.g. a Book => has_many Author) - if you create a new Author you may need to reference the owning Book in the `getCMSFields` function.
This is just a small quality of life buff that populates that foreign key before calling `getCMSFields()` rather than after.
This should not break backwards compatibility in any way and isn't exactly a new feature so could be considered a bug fix.