Repository navigation
Add multi-upload and ordered gallery support - #124
Open
RandyCupic wants to merge 9 commits into
Open
RandyCupic wants to merge 9 commits into
RandyCupic wants to merge 9 commits into
Conversation
Implement upload-limited multi-resource handling with multi-select and reorderable gallery cards, split RemoteMediaType into single and collection form types, convert the multi-gallery components to props-down/events-up data flow, and improve the multi-upload UX, i18n and wire format. Add a Norwegian Bokmål (nb) translation file. Fix the CKEditor "Manage Media" modal so the gallery renders in collection mode (default the embed to single-select and guard the missing multi-select translation key that was blanking the gallery). Includes rebuilt NGRM frontend assets (remotemedia.js + remotemedia.css).
Clearing a gallery now sticks, folder placeholders no longer create Cloudinary folders and existing CKEditor embeds load their media. Malformed payloads fail the form instead of emptying the collection.
Browsing or uploading into a gallery now skips resources that are already in it and stops at the upload limit, and replacing a single image keeps its watermark.
…mote The metadata is still saved locally, and the warning names the remote id so missing assets can be found.
Import order and missing function imports, no short ternary in the collection transformer, and intersection-typed provider mocks in the form type tests.
The multi-upload rewrite dropped the always-present remoteId input, so removing the media from a single field sent nothing and forms that keep the previous value on a missing field could not clear it. Dist rebuilt with Node 12.
RandyCupic
commented
Oct 20, 2026
| 'Alternate text': 'Alternate text', | ||
| 'Class': 'CSS class', | ||
| 'Create new folder?': 'Create new folder?', | ||
| 'Create new folder?': 'ngrm.edit.vue.upload.button.create'|trans, |
Member
Author
There was a problem hiding this comment.
@mivancic Why only these two were moved to translations?
RandyCupic
commented
Oct 20, 2026
|
|
||
| ### Changed | ||
|
|
||
| * `RemoteMediaType` keeps its strict single-resource contract (one `RemoteResourceLocation` or `null`); the `upload_limit` option introduced during development was moved to `RemoteMediaCollectionType`. |
Member
Author
There was a problem hiding this comment.
@mivancic You decided to keep both single and collection? Hmm, is this to support v3.0?
Member
Author
|
@mivancic When you select multiple images in gallery, and then you go to select more, it doesn't show these that are already added as selected or grayed out. In fact, you can select them again. It won't add them again but it messes up with limitation. For example, I've put limit to 5 and I've selected 3 images. Then I went to select more, and again I've selected 2 of the same images so I was not able to select more (as I already had 5 images in total) but when you actually go to add them, there are only 3. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces #122, rebased onto 4.0 (the branch was renamed from
3.0-multiuploadtomultiupload, which closed #122).Adds a collection mode to the remote media form type and picker. Editors can select or upload several resources, reorder them, and edit alt text, caption and crops per item. Single-media fields behave as before.
Behaviour changes:
CI: the test matrix now uses Symfony ~6.4.0 instead of ~6.2.0. Composer refuses every 6.2 release because of security advisories, so that job could not install dependencies; it fails the same way on 3.0 since February. 6.4 is the maintained LTS.
Rebase notes:
origin/3.0was dropped by the rebase; its test expectation change inUploadTestis restored in a separate commit.MultiUploadInline.vue(UploadModal.vueis removed here), with thenbtranslation and the rebuilt app bundle.