0
0
mirror of https://github.com/wagtail/wagtail.git synced 2024-12-01 11:41:20 +01:00
Commit Graph

14385 Commits

Author SHA1 Message Date
Matt Westcott
87cb57362f Add MultipleChooserPanel as a subclass of InlinePanel
Takes a chooser_field_name keyword argument, but has no other functionality
2023-01-18 14:31:08 +00:00
Matt Westcott
d70bf142f3 Pass modalUrl in opts dict as standard, and use it in preference to the data-chooser-url attribute on the HTML element
We keep data-chooser-url in the HTML output, and use it as a fallback in the JS - for backwards compatibility with existing BaseChooser subclasses that don't pass an options dict (such as AdminTaskChooser, which overrides render_js_init)
2023-01-18 14:31:08 +00:00
Matt Westcott
8fe23a4f61 Standardise on camel case for opts dictionary keys
At this point we've been turning the 'opts' dict from a private API specific to PageChooser, that more or less transparently passes options on to the modal as URL query parameters, into a convention shared across all chooser widgets where the question of "will this option become a URL parameter" is an internal implementation detail. Since this is notionally a bundle of JS variables rather than a bundle of URL params, we should take this opportunity to consistently adopt camel case, before this pattern becomes widespread in third-party code and ends up as a mishmash of camel-case and snake-case.
2023-01-18 14:31:08 +00:00
Matt Westcott
bf9b62f1ec Define a base_js_init_options property on BaseChooser
This defines the common options that should be passed in the opts dict in the constructor for FooChooser and FooChooserFactory.
2023-01-18 14:31:08 +00:00
Matt Westcott
b70ae68566 Refactor BaseChooser to standardise on (id, opts) as arguments to the JS constructor 2023-01-18 14:31:08 +00:00
Matt Westcott
3dc3d37bbf Move FooChooserFactory definitions into the widget JS endpoints rather than the telepath ones
This makes it cleaner for FooChooser and FooChooserFactory to share definitions (e.g. modal handler classes)
2023-01-18 14:31:08 +00:00
Matt Westcott
ed8d999887 Use the base ChooserFactory class for PageChooserFactory 2023-01-18 14:31:08 +00:00
Matt Westcott
536d1096c2 Change PageChooser widget constructor to accept parent_id as part of the opts dict
The old signature is still accepted for backwards compatibility.

This then matches the signature of the other chooser widget JS classes, allowing PageChooserFactory to extend the generic ChooserFactory.
2023-01-18 14:31:08 +00:00
Matt Westcott
dcba3a9194 Consistently pass an opts dict to the constructors of Chooser and ChooserFactory 2023-01-18 14:31:07 +00:00
Matt Westcott
f238d659ee Move PageChooserFactory to its own JS endpoint
This will allow us to refactor it, including adding class-level references to window.PageChooser and window.PageChooserModal as necessary, without dealing with the possibility of telepath/widgets.js being imported before the includes that define those.
2023-01-18 14:31:07 +00:00
Matt Westcott
f8c8bf06ba Explicitly list widget JS in FooChooserAdapter media
This is necessary (according to the logic for adding Django form media objects together) whenever the JS adapter definition depends on anything defined in the widget JS - e.g. if foo-chooser.js defines `window.FooChooser`, and foo-chooser-telepath.js references that in the definition of FooChooserAdapter, then the only way to guarantee the correct ordering is with an explicit `['foo-chooser.js', 'foo-chooser-telepath.js']` media definition - adding two media objects does not guarantee this ordering.
2023-01-18 14:31:07 +00:00
Matt Westcott
7a1ae9f16b Eliminate jQuery from PageChooserFactory.render
This matches the implementation in components/ChooserWidget. This change breaks the tests that pass a jQuery collection object rather than a DOM element, but that was never valid in the first place as per https://docs.wagtail.org/en/stable/reference/streamfield/widget_api.html - fix the tests accordingly.
2023-01-18 14:31:07 +00:00
Matt Westcott
947a7883f9 Add a higher-level API for chooser modals
Previously, anything invoking the chooser modal needed to make its own call to ModalWorkflow, which meant it needed to import the corresponding 'onloadHandlers' dict, know the appropriate chosen response identifier to listen to, and know how to modify the chooser URL to pass parameters (if applicable). This would mean a lot of duplicated logic if there were multiple places where the modal is invoked.

Here we introduce a ChooserModal base class which encapsulates those details - a caller just needs to instantiate it with the base URL, and call `open` on it to open the modal (passing an options dict and a response callback).
2023-01-18 14:31:07 +00:00
Matt Westcott
e3d42c546b Minor grammar fixes to 4.2 release notes 2023-01-18 14:18:14 +00:00
Matt Westcott
6e78caa84f Release note for #9872 2023-01-18 14:15:57 +00:00
Loic Teixeira
4052a32a4d Upgrade config for API v3 2023-01-18 14:13:30 +00:00
Lovelyfin00
b929694203 Migrate lock/unlock actions to w-action controller
- Revise 'redirect' from a string to a 'continue' boolean that defaults to false
- Use 'continue=true' for cases where we do not want to create a next param on submit that takes the user back to the current page
- Fixes #9815
2023-01-18 19:00:47 +10:00
Lovelyfin00
9e9a84c953 Pull out loadiconSprite function from inline script
- wrote test for initIconSpirite
- changed from xmlhttprequest to fetch
- prepared a domReady util
- Fixes #9811
2023-01-18 08:04:55 +10:00
Thibaud Colas
34f6bab633
Rich text toolbar refinements from usability testing. Fix #9281 (#9905) 2023-01-17 17:21:45 +00:00
Thibaud Colas
b02f08d8d9
Fix JS error in dirty form checks from NodeList - array API differences (#9906) 2023-01-17 13:43:55 +00:00
sag᠎e
c8981416ef
Load Axe configuration and error messages defined in Python (#9898)
Co-authored-by: Thibaud Colas <thibaudcolas@gmail.com>
2023-01-16 13:42:09 +00:00
Glib
9316633987
Remove redundant if statement in normalise_query_string (#9884) 2023-01-13 11:03:55 +00:00
Lovelyfin00
004faac53c
Migrate workflow and workflow tasks enable action to a Stimulus controller (#9844)
Co-authored-by: Thibaud Colas <thibaudcolas@gmail.com>
2023-01-12 21:55:40 +00:00
Albina
1e9f580b8c
Add base Axe accessibility checker integration within userbar, with error count (#9850)
Co-authored-by: Thibaud Colas <thibaudcolas@gmail.com>
2023-01-12 12:21:58 +00:00
Thibaud Colas
ea13a1b60a Release notes for #9841. Fix #9034 2023-01-12 09:51:51 +00:00
Thibaud Colas
1884447a6b Slim header design fixes 2023-01-12 09:51:51 +00:00
Thibaud Colas
90ffcb05b0 Sidebar spacing fix 2023-01-12 09:51:51 +00:00
Thibaud Colas
eed32d01a6 Generic header spacing fixes 2023-01-12 09:51:51 +00:00
Thibaud Colas
e056a70083 Dashboard header design fixes 2023-01-12 09:51:51 +00:00
Matt Westcott
7532d0031f Add GLEF1X to contributors 2023-01-12 01:22:05 +00:00
LB Johnston
c8dca0a7f2 Migrate upgrade notification to Stimulus (UpgradeController) 2023-01-12 09:26:31 +10:00
LB Johnston
e8fc3d9cf0 Rename initUpgradeNotification to UpgradeController 2023-01-12 09:26:31 +10:00
GLEF1X
5ee706ca46 fix JS error on enableDirtyFormCheck 2023-01-12 06:40:48 +10:00
Matt Westcott
a31fa8589e Release note for #9806 2023-01-11 13:37:59 +00:00
Matt Westcott
7a39623941 Add deprecation warnings to wagtail.core and other modules deprecated in Wagtail 3 2023-01-11 13:35:39 +00:00
Matt Westcott
c6de0ec067 Fix remaining imports deprecated in Wagtail 3.0 2023-01-11 13:35:39 +00:00
Matt Westcott
03aa7a8f66 Remove unused React / ReactDOM imports from wagtailadmin.js
These are no longer required as of d036f10e61 and are raising eslint warnings.
2023-01-11 13:33:46 +00:00
Lovelyfin00
554311752b Eslint - Removed legacyCode rules
- Fix any issues in files being ignored
- Fixed linting errors where appropriate
- Include some rules being ignored in the src/components folder
- Closes #8731
2023-01-11 22:55:06 +10:00
Thibaud Colas
0513a78fb5 Refactor Wagtail userbar to use core.css stylesheet like other components 2023-01-11 20:20:15 +10:00
Jhonatan Lopes
7a6feb188f Link django docs to stable version 2023-01-11 20:18:04 +10:00
Jhonatan Lopes
a045bc38c4 Change Facebook company name to Meta 2023-01-11 20:18:04 +10:00
Jhonatan Lopes
68900b069a Change "note that.." to a note 2023-01-11 20:18:04 +10:00
Jhonatan Lopes
532f17bad7 Remove broken Divio bakery demo 2023-01-11 20:18:04 +10:00
LB Johnston
52a4d9a6f3 Add changelog for #9785 2023-01-11 20:10:05 +10:00
Matt Westcott
376ded4c61 Move reset_edit_handler_cache to wagtail.admin.panels.signal_handlers 2023-01-11 20:05:32 +10:00
Matt Westcott
d9fc9ac869 Move set_default_page_edit_handlers and _get_page_edit_handler to wagtail.admin.panels.page_utils 2023-01-11 20:05:32 +10:00
Matt Westcott
fa085a71a7 Move CommentPanel to wagtail.admin.panels.comment_panel 2023-01-11 20:05:32 +10:00
Matt Westcott
9313c99699 Move PublishingPanel to wagtail.admin.panels.publishing_panel 2023-01-11 20:05:32 +10:00
Matt Westcott
5200eb297f Move InlinePanel to wagtail.admin.panels.inline_panel 2023-01-11 20:05:32 +10:00
Matt Westcott
a59351f6f7 Move extract_panel_definitions_from_model_class and get_edit_handler to wagtail.admin.panels.model_utils 2023-01-11 20:05:32 +10:00