Modifications pour le document VelocityMacros

Modifié par Florent Charton le 2026/03/13 11:04

Depuis la version 2.1
modifié par Florent Charton
sur 2024/08/08 18:44
Commentaire de modification : Install extension [org.xwiki.platform:xwiki-platform-ckeditor-ui/15.10.11]
À la version 4.1
modifié par Florent Charton
sur 2025/08/19 15:16
Commentaire de modification : Install extension [org.xwiki.platform:xwiki-platform-ckeditor-ui/17.4.3]

Résumé

Détails

Propriétés de la Page
Contenu
... ... @@ -34,11 +34,6 @@
34 34   #end
35 35   #else
36 36   #set ($output = $services.wysiwyg.fromAnnotatedXHTML($text, $sourceSyntax.toIdString()))
37 - #if ("$!output" == '' && $output != '')
38 - ## $output is null, probably because $services.wysiwyg.fromAnnotatedXHTML() is not available (before 10.10RC1)
39 - #set ($xdom = $services.rendering.parse($text, 'xhtml/1.0'))
40 - #set ($output = $services.rendering.render($xdom, $sourceSyntax.toIdString()))
41 - #end
42 42   #end
43 43   #if ("$!output" != '' || $output == '')
44 44   $output##
... ... @@ -51,19 +51,6 @@
51 51  #macro (ckeditor_renderContentSheet $source)
52 52   ## The $source variable is used inside the content sheet.
53 53   #set ($output = $services.wysiwyg.render('CKEditor.ContentSheet'))
54 - #if ("$!output" == '' && $output != '')
55 - ## $output is null, probably because $services.wysiwyg.render() is not available (before 7.4.1)
56 - #set ($output = $xwiki.getDocument('CKEditor.ContentSheet').getRenderedContent())
57 - #set ($skinExtensionHooks = {
58 - 'ssx': 'CssSkinExtensionPlugin',
59 - 'ssfx': 'CssSkinFileExtensionPlugin',
60 - 'ssrx': 'CssResourceSkinExtensionPlugin'
61 - })
62 - #foreach ($entry in $skinExtensionHooks.entrySet())
63 - #set ($output = $output.replace("<!-- com.xpn.xwiki.plugin.skinx.$entry.value -->",
64 - $xwiki.get($entry.key).importString))
65 - #end
66 - #end
67 67   ## Unescape {{ which happened in CKEditor.ContentSheet for protecting the {{html}} macro.
68 68   $!output.replace('&amp;#123;&amp;#123;', '{{')##
69 69  #end
... ... @@ -72,25 +72,11 @@
72 72   ## Make sure the edited content is rendered for view because this is a WYSIWYG editor.
73 73   #set ($macro.previousDisplayMode = $xcontext.displayMode)
74 74   #set ($discard = $xcontext.setDisplayMode('view'))
75 - #if ($xcontext.displayMode != 'view')
76 - ## Before XWiki 14.0-rc-1, 13.4.7, 13.10.3 and 12.10.12 there's no API to get the current display mode so we can't
77 - ## restore the previous display mode properly. We assume the previous display mode is 'edit' because the WYSIWYG
78 - ## editor is used.
79 - #set ($macro.previousDisplayMode = 'edit')
80 - #end
81 81   #set ($restricted = "$!source.restricted" == 'true')
82 82   #if ($source.html)
83 83   #set ($html = $services.wysiwyg.parseAndRender($source.html, $source.syntax, $source.documentReference, $restricted))
84 - #if ("$!html" == '' && $html != '')
85 - ## Before XWiki 11.9RC1 (see XWIKI-16737)
86 - #set ($html = $services.wysiwyg.parseAndRender($source.html, $source.syntax.toIdString()))
87 - #end
88 88   #else
89 89   #set ($html = $services.wysiwyg.toAnnotatedXHTML($source.content, $source.syntax, $source.documentReference, $restricted))
90 - #if ("$!html" == '' && $html != '')
91 - ## Before XWiki 11.9RC1 (see XWIKI-16737)
92 - #set ($html = $services.wysiwyg.toAnnotatedXHTML($source.content, $source.syntax.toIdString()))
93 - #end
94 94   #end
95 95   #if ("$!html" == '')
96 96   ## Prevent Firefox from inserting bogus whitespace when the text area is empty.
... ... @@ -168,6 +168,12 @@
168 168   #if ($source.restricted == 'true' && !$services.security.authorization.hasAccess('edit', $source.documentReference))
169 169   #set ($parameters.attributes.data-upload-disabled = 'true')
170 170   #end
139 + ## We use the velocity template context to convey the startupFocus parameter to CKEditor.
140 + #if ($wysiwygEditorConfig.startupFocus)
141 + #set ($parameters.attributes.data-startup-focus = 'true')
142 + ## We make sure to clear this context so that it doesn't interfere with CKEditors opened later.
143 + #set ($wysiwygEditorConfig.startupFocus = false)
144 + #end
171 171   ##
172 172   <textarea
173 173   #foreach ($entry in $parameters.attributes.entrySet())
... ... @@ -180,7 +180,7 @@
180 180  
181 181  #macro (displayCKEditorConfigProperty $configDoc $propName $action)
182 182   <dt>
183 - <label>$configDoc.displayPrettyName($propName)</label>
157 + <label for="CKEditor.ConfigClass_$escapetool.xml($configDoc.getObject("CKEditor.ConfigClass").getNumber())_${propName}">$configDoc.displayPrettyName($propName)</label>
184 184   <span class="xHint">$escapetool.xml($services.localization.render("CKEditor.ConfigClass_${propName}.hint"))</span>
185 185   </dt>
186 186   <dd>#displayCKEditorConfigPropertyValue($configDoc $propName $action)</dd>
... ... @@ -225,10 +225,6 @@
225 225  
226 226  #macro (ckeditor_initRequiredSkinExtensions)
227 227   #set ($requiredSkinExtensions = $collectiontool.orderedMap)
228 - #if ("$!requiredSkinExtensions" == '')
229 - ## For XWiki versions older than 12.1RC1 fallback on the old $collectionstool (available since 4.0M1).
230 - #set ($requiredSkinExtensions = $collectionstool.orderedMap)
231 - #end
232 232   ## Save the import string for each skin extension plugin in order to be able to remove the always used extensions
233 233   ## (they are aready available on the edit page so there's no need to load them).
234 234   #foreach ($pluginName in ['ssrx', 'ssfx', 'ssx', 'linkx', 'jsrx', 'jsfx', 'jsx'])
... ... @@ -243,20 +243,4 @@
243 243   $!stringtool.removeStart($importString, $entry.value).trim()##
244 244   #end
245 245  #end
246 -
247 -#macro (ckeditor_defineSortTool $sortToolVariable)
248 - #set ($checkedExtension = "org.xwiki.commons:xwiki-commons-velocity")
249 - ## Because of an API collision, $collectionstool has been replaced by $collectiontool in XCOMMONS-1861
250 - #if ($services.extension.core.getCoreExtension($checkedExtension).id.version.compareTo("12.1-SNAPSHOT") >= 0)
251 - #setVariable ($sortToolVariable, $collectiontool)
252 - ## With the upgrade of Velocity $sorttool has been replaced by $collectionstool (XCOMMONS-1296)
253 - #elseif ($services.extension.core.getCoreExtension($checkedExtension).id.version.compareTo("12.0-SNAPSHOT") >= 0)
254 - #setVariable ($sortToolVariable, $collectionstool)
255 - ## Old API for sorting was $sorttool
256 - #else
257 - #setVariable ($sortToolVariable, $sorttool)
258 - #end
259 -#end
260 -
261 -#ckeditor_defineSortTool("$resolvedSortTool")
262 262  {{/velocity}}