Modifications pour le document Upload

Modifié par Florent Charton le 2025/07/04 23:28

Depuis la version 3.1
modifié par Florent Charton
sur 2025/07/04 23:28
Commentaire de modification : Install extension [org.xwiki.platform:xwiki-platform-ckeditor-ui/16.10.9]
À la version 1.1
modifié par superadmin
sur 2022/06/20 08:49
Commentaire de modification : Install extension [org.xwiki.contrib:application-ckeditor-ui/1.63.1]

Résumé

Détails

Propriétés de la Page
Auteur du document
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.fcharton
1 +XWiki.superadmin
XWiki.JavaScriptExtension[0]
Code
... ... @@ -1,65 +1,23 @@
1 -require(['jquery', 'imageSelector', 'l10n!imageSelector', 'resource'],
2 - function ($, imageSelector, translations, resource) {
3 - function init(element) {
4 - const uploadButton = element.find(".upload form input.button");
5 -
6 - uploadButton.prop("disabled", true);
7 -
8 - element.on('change', function () {
9 - if ($(this).find("input[type='file']").prop('files').length > 0) {
10 - uploadButton.prop("disabled", false);
11 - } else {
12 - uploadButton.prop("disabled", true);
13 - }
14 - });
15 -
16 - uploadButton.on('click', function (event) {
17 - event.preventDefault();
18 -
19 - const buttonElement = $(this);
20 -
21 - const uploadedFile = element.find("input[type='file']").prop('files')[0];
22 -
23 - const beforeUploadEvent = $.Event("xwiki:actions:beforeUpload");
24 - $(document).trigger(beforeUploadEvent, {
25 - file: uploadedFile,
26 - documentReference: imageSelector.getDocumentReference(element)
27 - });
28 -
29 - if (!beforeUploadEvent.isDefaultPrevented()) {
30 - element.addClass('loading');
31 - imageSelector.createLoader(uploadedFile, {
32 - onSuccess: function (entityReference) {
33 - imageSelector.updateSelectedImageReferences([XWiki.Model.serialize(entityReference)], buttonElement);
34 - element.removeClass('loading');
35 - new XWiki.widgets.Notification(translations.get('modal.fileUpload.success'), 'done');
36 - },
37 - onError: function () {
38 - new XWiki.widgets.Notification(translations.get('modal.fileUpload.fail'), 'error');
39 - element.removeClass('loading');
40 - },
41 - onAbort: function () {
42 - new XWiki.widgets.Notification(translations.get('modal.fileUpload.abort'), 'error');
43 - element.removeClass('loading');
44 - }
45 - }, element);
46 - }
47 - });
48 - }
49 -
50 - init($(document).find('.image-selector'));
51 -
52 - /* Make sure the input is emptied whenever we reload the image selection modal. */
53 - $(document).on('shown.bs.modal', function () {
54 - let fileInput = $(document).find('.image-selector').find("input[type='file']");
55 - if (fileInput.prop('files').length > 0) {
56 - fileInput.val('');
57 - $(document).find('.image-selector').find(".upload form input.button").prop("disabled", true);
1 +require(['jquery', 'imageSelector', 'l10n!imageSelector', 'resource'], function($, imageSelector, translations, resource) {
2 + $("#upload form input.button").on('click', function(event) {
3 + event.preventDefault();
4 + var imageSelectorElement = $('.image-selector');
5 + imageSelectorElement.addClass('loading');
6 + imageSelector.createLoader($("#fileUploadField").prop('files')[0], {
7 + onSuccess: function(entityReference) {
8 + imageSelector.updateSelectedImageReferences([XWiki.Model.serialize(entityReference)]);
9 + imageSelectorElement.removeClass('loading');
10 + new XWiki.widgets.Notification(translations.get('modal.fileUpload.success'), 'done');
11 + },
12 + onError: function() {
13 + new XWiki.widgets.Notification(translations.get('modal.fileUpload.fail'), 'error');
14 + imageSelectorElement.removeClass('loading');
15 + },
16 + onAbort: function() {
17 + new XWiki.widgets.Notification(translations.get('modal.fileUpload.abort'), 'error');
18 + imageSelectorElement.removeClass('loading');
58 58   }
59 59   });
60 -
61 - $(document).on('xwiki:dom:updated', (event, data) => {
62 - data.elements.forEach(element => init($(element)));
63 - });
64 64   });
22 +});
65 65  
XWiki.UIExtensionClass[0]
Cached
... ... @@ -1,1 +1,0 @@
1 -Non
Asynchronous rendering
... ... @@ -1,1 +1,0 @@
1 -Non