Changes for page EditSheet
Last modified by superadmin on 2025/02/27 10:46
From version 4.1
edited by Thomas Coelho
on 2022/10/17 13:54
on 2022/10/17 13:54
Change comment:
Install extension [org.xwiki.platform:xwiki-platform-ckeditor-ui/14.8]
To version 6.1
edited by Thomas Coelho
on 2023/02/27 12:06
on 2023/02/27 12:06
Change comment:
Install extension [org.xwiki.platform:xwiki-platform-ckeditor-ui/15.1]
Summary
-
Objects (1 modified, 0 added, 0 removed)
Details
- XWiki.JavaScriptExtension[0]
-
- Code
-
... ... @@ -81,15 +81,21 @@ 81 81 82 82 // Extend the default CKEditor configuration with settings that depend on the source document. 83 83 var getConfig = function(element) { 84 + var sourceSyntax = $(element).attr('data-syntax'); 84 84 var sourceDocument = XWiki.currentDocument; 85 - var sourceDocumentReference = $(element).attr('data-sourceDocumentReference'); 86 - if (sourceDocumentReference) { 87 - sourceDocument = new XWiki.Document(XWiki.Model.resolve(sourceDocumentReference, XWiki.EntityType.DOCUMENT)); 86 + sourceDocument.syntax = XWiki.docsyntax; 87 + var sourceDocumentReference = XWiki.Model.resolve($(element).attr('data-sourceDocumentReference'), 88 + XWiki.EntityType.DOCUMENT, XWiki.currentDocument.documentReference); 89 + if (!XWiki.currentDocument.documentReference.equals(sourceDocumentReference)) { 90 + sourceDocument = new XWiki.Document(sourceDocumentReference); 91 + // We assume the syntax of the source document is the same as the syntax of the edited content. 92 + sourceDocument.syntax = sourceSyntax; 88 88 } 89 - sourceDocument.syntax = $(element).attr('data-sourceDocumentSyntax'); 90 90 95 + var uploadDisabled = element.hasAttribute('data-upload-disabled'); 96 + 91 91 var config = { 92 - filebrowserUploadUrl: getUploadURL(sourceDocument, 'filebrowser'), 98 + filebrowserUploadUrl: uploadDisabled ? '' : getUploadURL(sourceDocument, 'filebrowser'), 93 93 height: $(element).height(), 94 94 mentions: [ 95 95 { ... ... @@ -114,14 +114,19 @@ 114 114 '</div>', 115 115 '<div class="ckeditor-autocomplete-item-hint">{hint}</div>', 116 116 '</li>'].join(''), 117 - outputTemplate: '<a href="{url}" data-reference="{typed}|-|{type}|-|{reference}">{label}</a><span> </span>', 123 + outputTemplate: '<a href="{url}" data-reference="{typed}|-|{type}|-|{reference}">{label}</a>', 124 + followingSpace: true, 118 118 marker: '[', 119 119 minChars: 0, 120 120 itemsLimit: 6 121 121 } 122 122 ], 130 + // Used to resolve and serialize relative references. Also used to make HTTP requests with the right context. 123 123 sourceDocument: sourceDocument, 124 - uploadUrl: getUploadURL(sourceDocument, 'filetools'), 132 + // The syntax of the edited content is not always the same as the syntax of the source document (which applies to 133 + // the source document content, but we might be editing something else, like an object property). 134 + sourceSyntax: sourceSyntax, 135 + uploadUrl: uploadDisabled ? '' : getUploadURL(sourceDocument, 'filetools'), 125 125 'xwiki-link': { 126 126 // We use the source document to compute the link label generator URL because we want the link references to be 127 127 // resolved relative to the edited document (as they were inserted).