LB Johnston
90585c9bba
Messages Controller - ensure we add a unit test for XSS checks
...
- Relates to #9493 & #10182
2023-03-10 08:28:39 +10:00
Thibaud Colas
c01303927a
Release notes for #10171
2023-03-08 15:21:38 +00:00
Sage Abdullah
322d305457
Add missing background color for info messages
2023-03-08 15:21:38 +00:00
Sage Abdullah
c6974198dd
Create action switch component
2023-03-08 15:21:38 +00:00
Sage Abdullah
b0896ef53b
Use focus-visible for switch component
...
Prevent unnecessary outline when clicking on the component
2023-03-08 15:21:38 +00:00
4the4ryushin
eb5bb5a9c8
Migrate window.addMessage
to a Stimulus Controller w-message
...
- Introduce a new controller `MessagesController` to contain the dynamic updating of messages
- Ensure the document updated label does not repeat every time a document is updated
- Using the Stimulus controller with templates approach, icons can easily be pre-loaded for each message type
- Ensure that messages are consistently cleared when new ones are added (this was done ad-hoc across some usage and not others)
- Fixes #9493
2023-03-08 21:35:34 +10:00
Sam
a393ea8091
Fix dialog component's message to have rounded corners at the top side
...
Fixes #10177
2023-03-07 18:36:02 +00:00
Matt Westcott
486a49797b
Refactor ListBlockValidationError to use a dict for block_errors
2023-03-01 11:47:18 +01:00
4the4ryushin
9537547b46
Migrate initErrorDetection to a Stimulus Controller w-count
...
- Used for tabs error counts
- Fixes #10090
2023-02-27 23:11:19 +10:00
Matt Westcott
c66b86b756
Move repeated error message handling code into an include
2023-02-23 11:47:34 +00:00
Matt Westcott
ff70382ebb
Remove obsolete client-side BlockValidationError classes and telepath adapters
2023-02-23 11:47:34 +00:00
Matt Westcott
61dd1abba3
Update client-side block code to accept simplified JSON error structures
...
All setError methods now accept an instance of the error dict returned by get_error_json_data. Since this is consistent across all ValidationError subclasses, there is no longer any need for the exception type to match the block type (unless you care about propagating child block errors).
Fixes #5663
2023-02-23 11:47:34 +00:00
Matt Westcott
968b86287b
Allow StructBlock to have non-block validation errors
...
Part of #7250 . Documentation to follow when the rest of the updates are in place.
2023-02-23 11:47:34 +00:00
Lovelyfin00
2a9d01b849
Migrate initSlugCleaning to Stimulus SlugController
...
- Closes #10086
2023-02-21 08:57:20 +10:00
LB Johnston
8c006a16c9
Minor clean up items on ProgressController
...
- Relates to #10062
2023-02-17 13:40:35 +10:00
Thibaud Colas
4bea98d981
Convert userbar implementation to TypeScript
2023-02-17 01:13:51 +00:00
Albina Starykova
71cbf9087a
Rename userbar.js to userbar.ts
2023-02-17 01:13:51 +00:00
Fabien Le Frapper
065df6064a
Remove unneeded float styles on 404 page ( #8914 )
...
Co-authored-by: Thibaud Colas <thibaudcolas@gmail.com>
2023-02-17 00:06:57 +00:00
Albina
afff60e3b9
Add unit tests for MinimapItem ( #10083 )
...
Co-authored-by: Thibaud Colas <thibaudcolas@gmail.com>
2023-02-16 23:51:00 +00:00
Lovelyfin00
ab05f7dd3c
Rename AutoFieldController to SubmitController
...
- Closes #10092
2023-02-16 07:23:03 +10:00
LB Johnston
3f72b3ebf4
Prettier/Eslint - ignore storybook build folder - see #10089
2023-02-15 23:42:13 +10:00
Thibaud Colas
0246d3a6f4
Fix Storybook not supporting TypeScript declare class fields
2023-02-15 22:52:49 +10:00
Thibaud Colas
fa1cbfbe98
Fix Storybook pattern library proxying in Node 18
2023-02-15 22:52:49 +10:00
Thibaud Colas
a517ee6dc9
Fix Storybook stories intialisation broken due to script config dependencies
2023-02-15 22:52:49 +10:00
LB Johnston
38d678eca3
ActionController - add JSDoc note & type
...
- Relates to #9844
2023-02-15 21:41:26 +10:00
Lovelyfin00
c52074250b
Refine Stimulus progress controller (button-longrunning)
...
- use milliseconds instead of seconds for duration
- allow `em` to be used without target attribute
- added connect method for labelTarget
- closes #8232
- closes #9910
2023-02-14 23:19:42 +10:00
Albina Starykova
6d007fc623
Add unit tests for collapseAll component
2023-02-14 20:39:27 +10:00
sage
d46d724d31
Fix side panel resize direction on RTL languages. Fix #9916 ( #10044 )
...
Co-authored-by: Thibaud Colas <thibaudcolas@gmail.com>
Fixes https://github.com/wagtail/wagtail/issues/9916
2023-02-14 10:38:57 +00:00
Albina
38ea027d04
Implement new simplified userbar designs ( #9989 )
...
Co-authored-by: Thibaud Colas <thibaudcolas@gmail.com>
2023-02-13 09:55:20 +00:00
Sage Abdullah
cf269272be
Add ActionMenuItem sidebar component
...
This represents a button wrapped in a form element with customisable action and method attributes
2023-02-10 14:41:58 +00:00
Lovelyfin00
fd9eed97d7
Converted button-longrunning to a Stimulus Controller
...
- implemented afterLoad in Stimulus button-longrunning to support non-adopted data attributes
- Partial completed #9910
2023-02-09 09:44:18 +10:00
Matt Westcott
1c2d828e7b
Remove deprecated createXChooser JS functions
2023-02-08 14:25:09 +00:00
Lovelyfin00
b336536015
User - Reimplement Gravatar switching without JS
...
- Resolves #9972
- Avoids inline script for a solution that can be CSS/HTML only
- Use translatable alt text for when the default avatar is selected
- Relates to #1288 & #5247 (CSP compliance)
2023-02-07 21:18:31 +10:00
Aadi jindal
1ffa497886
fixed Uncaught TypeError: Cannot read properties of undefined (reading 'getTextLabel') in admin and missing stream blocks. ( #10023 )
...
Fixes #9990
2023-02-06 19:37:11 +00:00
4the4ryushin
e10dc142de
Prevent account name from overflowing the sidebar
2023-02-02 11:08:01 +00:00
Albina Starykova
2afeca2875
Refactor accessibility checker userbar item
...
- Move dialog template code from the userbar base template to the
accessibility item template
- Use fragment for the total results count in the header
- Wrap dialog header in a div to allow styling it separately from the
rest of the dialog content
- Get selector from the first element of axe violation's node.target
2023-01-27 12:31:31 +00:00
Thibaud Colas
d4544ec9ee
Re-enable strictPropertyInitialization
in tsconfig
...
- Use declare for existing Stimulus controllers
- First enabled in #9761 & then disabled in #9818
2023-01-27 11:33:49 +10:00
Sage Abdullah
d4b69cbfc1
Fix header search when q URL param is not present
2023-01-19 22:07:50 +00:00
Thibaud Colas
0fc8df059a
Fix positioning of StreamField and rich text "add" toggle buttons
2023-01-19 16:57:24 +00:00
Thibaud Colas
8b231d19c6
Replace StreamField block picker with new ComboBox
2023-01-19 16:57:24 +00:00
Thibaud Colas
a176616cda
Use new ComboBox component in rich text
2023-01-19 16:57:24 +00:00
Thibaud Colas
3a7e489cdf
Add new ComboBox React component based on downshift
2023-01-19 16:57:24 +00:00
Albina
a3f10acae1
Userbar & accessibility checker UI improvements ( #9913 )
...
Co-authored-by: Thibaud Colas <thibaudcolas@gmail.com>
2023-01-19 16:06:11 +00:00
Sage Abdullah
711d592052
Move pages/workflow_history
templates to shared
2023-01-19 14:06:11 +00:00
Thibaud Colas
e33cdbf8db
Set up CSS LTR-RTL direction variable and fix incorrect transforms ( #9914 ). Fix #9800
...
- Fix Draftail block toolbar trigger overlay in RTL mode
- Fix switch component rendering in RTL mode
- Fix panel header positioning in RTL mode
- Remove unused 404 styles
- Fix comments positioning in RTL mode
- Fix sidebar sub-menus transition direction
- Fix form side panels in RTL mode
- Fix minimap positioning in RTL mode
- Fix Draftail tooltips positioning in RTL mode
- Fix page explorer transition direction in RTL mode
- Set up CSS LTR-RTL direction variable
2023-01-19 12:06:43 +00:00
Thibaud Colas
1b7f92351f
Improve page editor side panel closing animation
2023-01-19 11:19:25 +00:00
Albina
55d04366f7
Axe accessibility checker integration with floating dialog component ( #9899 )
...
Co-authored-by: Thibaud Colas <thibaudcolas@gmail.com>
2023-01-18 15:59:44 +00:00
Matt Westcott
4468b55d2d
Enforce max_num on MultipleChooserPanel
...
Enable / disable the open-modal button on reaching the limit, as we do for InlinePanel's standard add button; and when handling the response from the modal, stop adding new items when max_num is reached
2023-01-18 14:31:08 +00:00
Matt Westcott
2574204b27
Make title into a label rather than a link when in multiple choice mode
2023-01-18 14:31:08 +00:00
Matt Westcott
32f8c78b58
Enable / disable submit button once a selection is made
2023-01-18 14:31:08 +00:00
Matt Westcott
f4125d04e0
Import ChooserFactory classes in telepath endpoint files, rather than relying on them existing in the global scope
2023-01-18 14:31:08 +00:00
Matt Westcott
89179da1fd
Eliminate jquery from MultipleChooserPanel
2023-01-18 14:31:08 +00:00
Matt Westcott
af168d62f8
Implement multiple chooser UI on page chooser modal
2023-01-18 14:31:08 +00:00
Matt Westcott
78b88a605a
Populate MultipleChooserPanel from modal results
2023-01-18 14:31:08 +00:00
Matt Westcott
67ff655111
Add mechanism for retrieving an existing widget instance from ChooserFactory
2023-01-18 14:31:08 +00:00
Matt Westcott
d534567f81
Add checkboxes for selecting multiple items
2023-01-18 14:31:08 +00:00
Matt Westcott
e94e268ecb
Recognise 'multiple' option in ChooserModal as a URL parameter to pass to the modal view
...
the modal view doesn't do anything with it yet
2023-01-18 14:31:08 +00:00
Matt Westcott
c66b793957
Add JS initialiser / open-modal behaviour for MultipleChooserPanel
2023-01-18 14:31:08 +00:00
Matt Westcott
d56c25704b
Add openModal method to ChooserFactory
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
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
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
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
sage
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
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
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
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
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
Lovelyfin00
9ccf30ed19
Convert initSkipLink to Stimulus and write unit tests
2023-01-11 08:42:34 +10:00
LB Johnston
95e0bcc28a
Rename initSkipLink files to SkipLinkController
2023-01-11 08:42:34 +10:00
Thibaud Colas
d036f10e61
Remove react-axe package usage ( #9865 )
2023-01-10 11:12:19 +00:00
Albina
a37c4bab3d
Re-implement design system colors so HSL values exactly match the desired RGB. Fix #9571 ( #9856 )
...
Co-authored-by: Thibaud Colas <thibaudcolas@gmail.com>
Fixes https://github.com/wagtail/wagtail/issues/9571
2023-01-10 08:31:51 +00:00
Thibaud Colas
4230630ceb
Update focus outline color ( #9839 )
2023-01-10 00:23:56 +00:00
Matt Westcott
99eaef6ee6
Remove resize handles from autosize text areas ( #9713 )
...
Fixes #7210 , replacing #9651 as per https://github.com/wagtail/wagtail/issues/7210#issuecomment-1325707942 . AdminAutoHeightTextInput now inserts a w-field__autosize classname which explicitly disables the resizing handle, leaving resizing fully in control of the jquery.autosize plugin.
2023-01-05 14:13:29 +00:00
dependabot[bot]
e04dd2cb1a
Bump json5 from 2.2.0 to 2.2.3 in /client/tests/integration
...
Bumps [json5](https://github.com/json5/json5 ) from 2.2.0 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases )
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md )
- [Commits](https://github.com/json5/json5/compare/v2.2.0...v2.2.3 )
---
updated-dependencies:
- dependency-name: json5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-05 12:04:42 +00:00
Thibaud Colas
1de29709de
Remove unused search-bar and button-filter styles ( #9812 )
...
- Remove unneeded search-bar class from templates
- Remove _file_field_as_li template with unneeded overrides
- Remove unused search-bar styles
2023-01-03 09:39:21 +00:00
Albina
5cf621660c
Refactor Wagtail userbar as a web component ( #9816 )
...
* Add a border around the userbar menu in Windows high-contrast mode so it can be identified
* Make sure browser font resizing applies to the userbar
* Switch userbar to initialise a Web Component to avoid styling clashes
* Refactor userbar stylesheets to use the same CSS loading as the rest of the admin
2022-12-27 16:55:19 +00:00
Albina
5eb2064574
Close the userbar when clicking its toggle. Fix #9342 ( #9808 )
...
Co-authored-by: Thibaud Colas <thibaudcolas@gmail.com>
Fixes https://github.com/wagtail/wagtail/issues/9342
2022-12-27 15:36:05 +00:00
LB Johnston
86f8d2b7ad
Add AutoFieldController
...
- used to provide the ability for an input element to submit its form once changed or interacted with
2022-12-19 14:00:11 +00:00
LB Johnston
ede189ada5
Set up initial stimulus application integration
2022-12-19 14:00:11 +00:00
LB Johnston
70681ec2bb
Fix Draftail unit test failure
2022-12-19 14:00:11 +00:00
Lovelyfin00
2695a53265
Clean up unit tests & super usage in JS
...
- fixed the prototype error in table.test.js and also the build error
- added super to constructor class due to the error shows during testing
2022-12-11 15:32:47 +10:00
Lovelyfin00
6997ff1d68
Use browser URLSearchParams to determine q param (core.js)
...
- Fixes #9765
- removed the function for getURLParam function and replaced with URLSearchParam method
- already used in many other places in the same file
2022-12-10 07:19:48 +10:00