- window.buildExpandingFormset and using the base class `ExpandingFormset` can now be deprecated.
- Move the window global setting to core.js which avoids the need to add the import in editor_js, to align with other future deprecations in core.js
- Add upgrade considerations in release notes
- `ExpandingFormset` is still needed for other existing usage (InlinePanel/MultipleChooserPanel)
- Add additional JSDoc and updates to Eslint to advise developers that this feature is not to be used for new code
- Use the Wagtail admin formset mixin to adopt new data attributes on core form parts
- Update the edit/create templates to put the attributes on the remaining elements
- Add basic unit tests for smoke testing data attributes
- Remove CSP incompatible inline scripts approach
- Remove the now unused standalone static build/imports for the group edit view as this will not be needed
- Update Eslint accordingly
- Use the Wagtail admin formset mixin to adopt new data attributes on core form parts
- Update the edit/create templates to put the attributes on the remaining elements
- Add basic unit tests for smoke testing data attributes
- Remove CSP incompatible inline scripts approach
- Remove the now unused standalone static build/imports for the group edit view as this will not be needed
- Ensure that the edit workflow form does not render any JS or attributes when the pages are not actually editable (workflow disabled)
- Leverage the new Django 4.0 feature `deletion_widget` for formsets to attach data attributes and make the input a HiddenInput for existing and 'blank' forms.
- Add support for data attributes used by the new Stimulus FormsetController
Replaces the core functionality in `client/src/components/ExpandingFormset/index.js` and the Delete callbacks in other usage of the `window.buildExpandingFormset` function.
Provides limitations on add/delete once the min/max have been reached but does not set up any disabling of these buttons as this is currently in the remit of `InlinePanel`.
Includes a full test suite for error handling, updating inputs and nested usage which leverages Stimulus' scope management.
Does not rely on any id attribute structure or wrangling.
Relates to #7915
Also add commented-out assertions that log entries are only created
once for each search pick, which currently would fail due to a bug in
the implementation.
Move the individual form validation to the SearchPromotionForm class
instead of the formset.
Do not assume external_link_url and the other fields are available in
cleaned_data, which can cause a crash if the input is invalid.
Attach validation errors to the most relevant section instead of bunging
everything as a non-field error.
Ensure `MultipleChooserPanel` using images or documents work when nested within an `InlinePanel` when no other choosers are in use within the model.
Fixes#11233
- See discussion 'import openpyxl' #12125
- Projects that don't use ReportView (or SpreadsheetExportMixin) and wagtail.contrib.redirects should see a memory use decrease
These methods are no longer utilized in the codebase and have been superseded by JavaScript-based handling of active menu items. Specifically, the sidebar-menu-item--active class, responsible for theming active menu items via CSS, is now exclusively managed by JavaScript.
Cleaned up the related test from wgatail.admin.tests.tests.py : wagtail.admin.tests.tests.TestMenuItem.test_menuitem_reverse_lazy_url_pass
Fixes#11433