Changes for page Attachments

From version 4.1
edited by Monika Leung
on 2026/04/03 13:39
Change comment: Install extension [org.xwiki.platform:xwiki-platform-attachment-ui/18.2.0]
To version 5.1
edited by Monika Leung
on 2026/06/13 15:14
Change comment: Install extension [org.xwiki.platform:xwiki-platform-attachment-ui/18.4.0]

Summary

Details

XWiki.JavaScriptExtension[0]
Code
... ... @@ -2,6 +2,7 @@
2 2   function uploadTemporaryAttachment() {
3 3   // Require jquery locally until we are able to fully migrate this code away from prototype.
4 4   const form = this.property.up('form');
5 + const propertyReferenceInput = this.property.querySelector('input[type="hidden"].property-reference');
5 5   require(['jquery'], function ($) {
6 6   const data = new FormData();
7 7   const uploadedFile = $('#attachfile')[0].files[0];
... ... @@ -13,7 +13,7 @@
13 13   "$services.localization.render('xe.attachmentSelector.upload.inProgress')", 'inprogress');
14 14   const params = {
15 15   'form_token': $(form).find('[name="form_token"]').val(),
16 - 'sheet': 'CKEditor.FileUploader',
17 + 'sheet': 'XWiki.WYSIWYG.FileUploader',
17 17   'outputSyntax': 'plain'
18 18   };
19 19  
... ... @@ -40,7 +40,7 @@
40 40   .prop('type', 'hidden')
41 41   .prop('name', 'uploadedFiles')
42 42   .prop('value', response.fileName))
43 - $(form).find('input[type="hidden"].property-reference').prop('value', response.fileName);
44 + propertyReferenceInput.value = response.fileName;
44 44   this.updateAttachment(response.fileName, response.url);
45 45   this.dialog.closeDialog();
46 46   }.bind(this)).fail(function () {
XWiki.WikiMacroClass[0]
Macro code
... ... @@ -121,9 +121,9 @@
121 121   #set ($attachmentResource = '')
122 122   #end
123 123   #if ($displayImage)
124 - (% class="$!{cssClass}#if (!$attachment) hidden#end" %)(((#if ("$!{attachmentResource}" != '' || $forceElement)#if($withLink)[[#end[[image:$services.rendering.escape(${attachmentResource}, 'xwiki/2.1')$!{imageParams}]]#if($withLink)>>attach:$services.rendering.escape(${attachmentResource},'xwiki/2.1')||rel=lightbox]]#{end}#end)))##
124 + (% class="${services.rendering.escape($!cssClass, 'xwiki/2.1')}#if (!$attachment) hidden#end" %)(((#if ("$!{attachmentResource}" != '' || $forceElement)#if($withLink)[[#end[[image:$services.rendering.escape(${attachmentResource}, 'xwiki/2.1')$!{imageParams}]]#if($withLink)>>attach:$services.rendering.escape(${attachmentResource},'xwiki/2.1')||rel=lightbox]]#{end}#end)))##
125 125   #else
126 - (% class="$!{cssClass}" %)#if ("$!{attachmentResource}" != '' || $forceElement)#if ($withLink)[[attach:${attachmentResource}||rel=__blank]]#{else}(% class="displayed" %)#if($targetPermView)$!{services.rendering.escape($!{attachmentName}, 'xwiki/2.1')}#{else}Access Denied#{end}(% %)#{end}#end(%%)##
126 + (% class="${services.rendering.escape($!cssClass, 'xwiki/2.1')}" %)#if ("$!{attachmentResource}" != '' || $forceElement)#if ($withLink)[[attach:${attachmentResource}||rel=__blank]]#{else}(% class="displayed" %)#if($targetPermView)$!{services.rendering.escape($!{attachmentName}, 'xwiki/2.1')}#{else}Access Denied#{end}(% %)#{end}#end(%%)##
127 127   #end
128 128  #end
129 129  

Interested in our testing services?

If you are interested and would like to receive more information, please send us an email and sign up for our newsletter to stay up-to-date.