Add client-side logic to confirm a duplicate upload
Add template shown when a duplicate image is found via modal upload
Style duplicate upload template shown in modal
Add test for duplicate image upload in modal chooser
Avoid loading all duplicates in memory and use f-string
Make template fragments translatable and use image templatetag to render images
Use class selector instead of direct element one
Set primary button to 'Use existing and delete new' on duplicate upload
- Remove gulp code and docs
- Add base CSS & SCSS processing in Webpack
- Make sure Sass files use paths that can be resolved by Webpack
- Use faster source map generation
- Clean up build scripts
- Make sure Storybook can process Sass
- Switch away from web fonts (more work needed)
* Make more panels type collapsible
* Remove duplicate js in homepage template
* Move collapsible code into its own js file
* Change $li to $target in collapsible.js, as in #6342 Closes #7364, #6342, #6187, #2123
Co-authored by: Fabien Le Frapper <contact@fabienlefrapper.me>
Co-authored-by: Robbie Mackay <rm@robbiemackay.com>
Co-authored-by: Scott Cranfill <scott.cranfill@jpl.nasa.gov>
* Initial working version of comment frontend in edit view
* Make comment js text translatable
* Add comment icon
* Basic hardcoded comment adding widget
* Create widget object and register it with the comment app to subscribe to updates about related annotations and whether comments are shown
* Add data-contentpath attributes to field (and data-contentpath-disabled to fields which prevent a stable contentpath existing at this point - ie ListBlock block positions are not uniquely identified), and to ensure newly generated streamfield blocks also have a stable contentpath identifiable from the frontend, make streamfield uuids generate clientside
* Make comments detect new contentpaths, and move hardcoded comment widget on chooser template into js initialisation, also making new comment buttons init properly in new streamfield blocks
* Fix tests to expect contentpaths
* Remove two step comment widget initialisation, and replace with stored callbacks for widgets that try to initialise themselves before the comment app itself. Refactor widgets to receive the makeComment function directly from the commenting system via an onRegister method to accommodate this
* Use object argument instead of positional for FieldLevelCommentWidget constructor
* Use json_script to pass author to the comments system