* develop:
Prevent fancy layout styling from spilling over into nested forms (#763)
Allow Snowboard event listeners to be closures
CMS Twig extension `contentFunction()` should return bool like `partialFunction()` (#746)
prevent previous relations from being unlinked (#765)
Allow cms.restrictBaseDir to be controlled via env variable
Fixes#758.
The edits made to the fancylayout.less should more directly target just the root elements of the UI, and not spill over into nested forms.
Test case in the Test plugin: wintercms/wn-test-plugin@eaebfae
Accessible in the Pages section.
This builds on the work originally done in https://github.com/octobercms/october/pull/3220 to further improve performance, especially in cases where lots of themes are present to choose from or "virtual" themes are being utilized.
Previously every single request would iterate over and initialize every single theme which involved booting an autodatasource for each theme and loading the entire contents of the path cache for each datasource of each theme into memory.
This commit changes the logic so that the cms.theme.getActiveTheme event will be run first, falling back to asking the cache service, then falling back to the DB if present, and finally defaulting to the value set in the configuration. After it has resolved an active theme it will attempt to cache that resolution permanently which should be fine since changing the active theme in the DB would trigger a cache invalidation when done through the setActiveTheme() method and changing the active theme in the file configuration would trigger a cache invalidation as well.
* develop:
Allow Snowboard debugging to be controlled independently
Show required indicators on checkbox fields (#754)
Allow component assets to be mirrored by "winter:mirror" command
Adds the "develop.debugSnowboard" config option to enable to disable Snowboard debugging, overriding the default behaviour in following the app debug mode.
* develop:
Set pivot data when initially syncing the relationship (#739)
Added CLI signature to mix:list command
Fix Navigation Manager unit test
Update jobs tables to support Laravel 9 (#730)
Add migrate to list of protected commands (#733)
Add "Send password reset email" button to backend users update page (#723)
Adjust descriptor for local event
Change event doc to test new event functionality in Docs plugin
Removed NPX from webpack bin call (#728)
Add test case for getParentData method in AJAX framework
Recompile Snowboard
Allow for custom AJAX error responses to be passed through handlers
Allow detached AJAX request to be called with 2 params
Improve IDE knowledge of the PluginBase object
Fix support for data-request-parent
Also performs the sync with model instances rather than just raw IDs to support relationships with a custom relatedKey set (the key on the related model's table that is stored on the pivot table to connect the relationship, normally just the primary key but can be anything).
The Singleton changes introduced to Storm (ca5959495b) that bind singletons to the app means that in unit tests, we will need to re-initialise any scope we need for tests, as the app is cleared upon each test case being run.
* commit '966edea734a0e330f19ebe2547a1332ed39cb907':
Set pivot data when initially syncing the relationship
Update jobs tables to support Laravel 9 (#730)
Add migrate to list of protected commands (#733)
Add "Send password reset email" button to backend users update page (#723)
Adjust descriptor for local event
Change event doc to test new event functionality in Docs plugin
Removed NPX from webpack bin call (#728)
Add test case for getParentData method in AJAX framework
Recompile Snowboard
Allow for custom AJAX error responses to be passed through handlers
Allow detached AJAX request to be called with 2 params
Improve IDE knowledge of the PluginBase object
Fix support for data-request-parent
Also performs the sync with model instances rather than just raw IDs to support relationships with a custom relatedKey set (the key on the related model's table that is stored on the pivot table to connect the relationship, normally just the primary key but can be anything).
Updates `failed_jobs` table to add missing `uuid` column. This also updates the `payload` and `exception` columns to be inline with the default Laravel migration.
Instead of using 4 characters split across two folders for avoiding cache conflicts just use the relative path to the file directly. Also makes it easier to find files in the cache when debugging