From e4661ccac40b534fdf7a0de69395f095f7f0482e Mon Sep 17 00:00:00 2001 From: Fabian Pichler Date: Thu, 5 Mar 2026 10:29:15 +0100 Subject: [PATCH 01/25] add celements-xwiki-xml dependency --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index b0a506bd..e93074fb 100644 --- a/pom.xml +++ b/pom.xml @@ -205,19 +205,19 @@ celements-xwiki-core 7.0-SNAPSHOT - + com.celements celements-xwiki-velocity 7.0-SNAPSHOT com.celements - celements-xwiki-velocity + celements-xwiki-rendering-api 7.0-SNAPSHOT com.celements - celements-xwiki-rendering-api + celements-xwiki-xml 7.0-SNAPSHOT From 7058309fd6779b3c17be91c94c8820209f11f3fa Mon Sep 17 00:00:00 2001 From: Fabian Pichler Date: Thu, 5 Mar 2026 11:11:22 +0100 Subject: [PATCH 02/25] drop skinx.* plugin support --- pom.xml | 4 ---- src/main/webapp/WEB-INF/xwiki.cfg | 5 ----- 2 files changed, 9 deletions(-) diff --git a/pom.xml b/pom.xml index e93074fb..692c1ef9 100644 --- a/pom.xml +++ b/pom.xml @@ -109,10 +109,6 @@ celements-mailsender 7.0-SNAPSHOT - - com.xpn.xwiki.platform.plugins - xwiki-plugin-skinx - org.xwiki.platform xwiki-platform-tag-api diff --git a/src/main/webapp/WEB-INF/xwiki.cfg b/src/main/webapp/WEB-INF/xwiki.cfg index 2530fd65..bb040341 100644 --- a/src/main/webapp/WEB-INF/xwiki.cfg +++ b/src/main/webapp/WEB-INF/xwiki.cfg @@ -476,11 +476,6 @@ xwiki.plugins=\ com.celements.calendar.plugin.CelementsCalendarPlugin,\ com.xpn.xwiki.plugin.applicationmanager.ApplicationManagerPlugin,\ com.xpn.xwiki.plugin.wikimanager.WikiManagerPlugin,\ - com.xpn.xwiki.plugin.skinx.JsSkinExtensionPlugin,\ - com.xpn.xwiki.plugin.skinx.JsSkinFileExtensionPlugin,\ - com.xpn.xwiki.plugin.skinx.CssSkinExtensionPlugin,\ - com.xpn.xwiki.plugin.skinx.CssSkinFileExtensionPlugin,\ - com.xpn.xwiki.plugin.skinx.LinkExtensionPlugin,\ com.xpn.xwiki.plugin.mail.MailPlugin,\ com.xpn.xwiki.plugin.packaging.PackagePlugin,\ com.xpn.xwiki.plugin.fileupload.FileUploadPlugin,\ From dcc235813aa55c9ec819c91f9c547aae037059e7 Mon Sep 17 00:00:00 2001 From: Fabian Pichler Date: Thu, 5 Mar 2026 11:13:27 +0100 Subject: [PATCH 03/25] remove skinx.* hooks --- src/main/webapp/templates/celMacros/finaliseHeader.vm | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/main/webapp/templates/celMacros/finaliseHeader.vm b/src/main/webapp/templates/celMacros/finaliseHeader.vm index 9bedb670..090542c2 100644 --- a/src/main/webapp/templates/celMacros/finaliseHeader.vm +++ b/src/main/webapp/templates/celMacros/finaliseHeader.vm @@ -8,16 +8,6 @@ $!jsService.includeExtJsFile($extJsParam.setJsFile(':celDynJS/DynamicLoader/celLazyLoader.mjs'))## $!services.javascript.getAllExternalJavaScriptFiles() ## -## Hooks for inserting JavaScript skin extensions -## -## - Skin file extension hook. Placed first since skin extensions might need to have xwiki or external libraries included first to be able to work properly - -## - Skin extension hook - -## -## Hook for inserting CSS skin extensions - - $services.css.displayAllCSS() ## get DocumentSpecific Meta-Tag - as of yet refresh can not be handled by BaseObjectMetaTagProvider because of different attribute name. #set($metaTags = $celementsweb.getDocMetaTags($language, $default_language)) From f931eb828b8270ae6840bd72b66cfff2aa0c4fc0 Mon Sep 17 00:00:00 2001 From: Chantal Pichler Date: Thu, 5 Mar 2026 11:15:00 +0100 Subject: [PATCH 04/25] replace TreeGrid images with Font Awesome Icons --- src/main/webapp/resources/js/xwiki/importer/import.js | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/main/webapp/resources/js/xwiki/importer/import.js b/src/main/webapp/resources/js/xwiki/importer/import.js index d2a770e1..b004a541 100644 --- a/src/main/webapp/resources/js/xwiki/importer/import.js +++ b/src/main/webapp/resources/js/xwiki/importer/import.js @@ -23,10 +23,6 @@ var XWiki = (function(XWiki){ "none" : "$msg.get('core.importer.selectNone')" }; - // FIXME: we should have those images outside SmartClient library to lessen the dependency towards the library - var expandFolderImagePath = "$xwiki.getSkinFile('js/smartclient/skins/Enterprise/images/TreeGrid/opener_closed.png', true)"; - var collapseFolderImagePath = "$xwiki.getSkinFile('js/smartclient/skins/Enterprise/images/TreeGrid/opener_opened.png', true)"; - /** * Initialization hook for the rich UI. * We hijack clicks on package names links, to display the rich importer UI since javascript is available. @@ -423,7 +419,7 @@ var XWiki = (function(XWiki){ spaceItemContainer.insert(spaceBox); - var expandImage = new Element("img", {'src': expandFolderImagePath }); + var expandImage = new Element("i", {'class': 'fa fa-caret-right' }); spaceItemContainer.insert(expandImage); var spaceName = new Element("div", {'class':'spacename'}).update(space) @@ -431,10 +427,9 @@ var XWiki = (function(XWiki){ var onToggle = function(event){ event.element().up("li").down("div.pages").toggleClassName("hidden"); - event.element().up("li").down("img").src = + event.element().up("li").down("i").class = event.element().up("li").down("div.pages").hasClassName("hidden") ? - expandFolderImagePath : - collapseFolderImagePath + 'fa fa-caret-right' : 'fa fa-caret-down'; }; expandImage.observe("click", onToggle); From 6d95c03ebc1a98549eb69e8bb5f1970246dce0a6 Mon Sep 17 00:00:00 2001 From: Chantal Pichler Date: Thu, 5 Mar 2026 11:45:53 +0100 Subject: [PATCH 05/25] fix mistakes --- src/main/webapp/resources/js/xwiki/importer/import.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/webapp/resources/js/xwiki/importer/import.js b/src/main/webapp/resources/js/xwiki/importer/import.js index b004a541..e86c939f 100644 --- a/src/main/webapp/resources/js/xwiki/importer/import.js +++ b/src/main/webapp/resources/js/xwiki/importer/import.js @@ -419,7 +419,7 @@ var XWiki = (function(XWiki){ spaceItemContainer.insert(spaceBox); - var expandImage = new Element("i", {'class': 'fa fa-caret-right' }); + var expandImage = new Element("i", {'class':'fa fa-caret-right' }); spaceItemContainer.insert(expandImage); var spaceName = new Element("div", {'class':'spacename'}).update(space) @@ -427,9 +427,13 @@ var XWiki = (function(XWiki){ var onToggle = function(event){ event.element().up("li").down("div.pages").toggleClassName("hidden"); - event.element().up("li").down("i").class = + try{ + event.element().up("li").down("i").className = event.element().up("li").down("div.pages").hasClassName("hidden") ? 'fa fa-caret-right' : 'fa fa-caret-down'; + }catch(e) { + console.log("problem with change"); + } }; expandImage.observe("click", onToggle); From fd702bd6d9d8122bf4f07d8950aeaae5f7e1094f Mon Sep 17 00:00:00 2001 From: Fabian Pichler Date: Thu, 5 Mar 2026 14:37:44 +0100 Subject: [PATCH 06/25] replace ssfx.use, ssx.use, jsfx.use and jsx.use with celements calls --- .../Panels/ClassEditorWelcome.xml | 2 +- .../celements2web/Panels/ClassSwitcher.xml | 2 +- .../docs/celements2web/Panels/Navigation.xml | 7 ++-- .../docs/celements2web/Panels/PanelWizard.xml | 13 ++++--- .../docs/celements2web/Panels/RightsHelp.xml | 7 ++-- .../docs/celements2web/Panels/RightsTips.xml | 7 ++-- .../docs/xwiki/XWiki/AdminGroupsSheet.xml | 13 ++++--- .../webapp/docs/xwiki/XWiki/AdminSheet.xml | 9 +++-- .../docs/xwiki/XWiki/AdminUsersSheet.xml | 17 ++++++---- .../docs/xwiki/XWiki/ConfigurableClass.xml | 7 ++-- .../docs/xwiki/XWiki/XWikiGroupSheet.xml | 11 +++--- .../xwiki/XWiki/XWikiUserPreferencesSheet.xml | 2 +- .../xwiki/XWiki/XWikiUserProfileSheet.xml | 2 +- .../docs/xwiki/XWiki/XWikiUserSheet.xml | 4 +-- .../celMacros/includeDefaultHeader.vm | 3 +- .../celTemplates/attachmentsinline.vm | 7 ++-- src/main/webapp/templates/code.vm | 9 +++-- src/main/webapp/templates/commentsinline.vm | 7 ++-- src/main/webapp/templates/docextra.vm | 11 +++--- src/main/webapp/templates/documentTags.vm | 7 ++-- src/main/webapp/templates/edit.vm | 5 ++- src/main/webapp/templates/editactions.vm | 7 ++-- src/main/webapp/templates/editclass.vm | 9 +++-- src/main/webapp/templates/editinline.vm | 7 ++-- src/main/webapp/templates/editobject.vm | 11 +++--- src/main/webapp/templates/editwiki.vm | 11 +++--- src/main/webapp/templates/historyinline.vm | 2 +- src/main/webapp/templates/importinline.vm | 21 +++++++----- src/main/webapp/templates/inline.vm | 7 ++-- src/main/webapp/templates/javascript.vm | 34 +++++++++---------- src/main/webapp/templates/macros.vm | 11 +++--- src/main/webapp/templates/menuview.vm | 4 +-- src/main/webapp/templates/preview.vm | 7 ++-- src/main/webapp/templates/previewactions.vm | 7 ++-- src/main/webapp/templates/rightsUI.vm | 11 +++--- src/main/webapp/templates/shareinline.vm | 2 +- .../xwikiPanels/DocumentInformation.vm | 2 +- 37 files changed, 191 insertions(+), 114 deletions(-) diff --git a/src/main/webapp/docs/celements2web/Panels/ClassEditorWelcome.xml b/src/main/webapp/docs/celements2web/Panels/ClassEditorWelcome.xml index aabbaf08..f9978efb 100644 --- a/src/main/webapp/docs/celements2web/Panels/ClassEditorWelcome.xml +++ b/src/main/webapp/docs/celements2web/Panels/ClassEditorWelcome.xml @@ -105,7 +105,7 @@ #largepanelheader($msg.get("classEditorIntro")) -$xwiki.jsx.use('Panels.ClassSwitcher')## +##$xwiki.jsx.use('Panels.ClassSwitcher')## <p>$msg.get("xe.panels.classedit.youare") <strong>${doc.fullName}</strong>. $msg.get("xe.panels.classedit.chooseproperty")</p> <div> <form id="changeclass" method="post" action="$doc.getURL("redirect")"> diff --git a/src/main/webapp/docs/celements2web/Panels/ClassSwitcher.xml b/src/main/webapp/docs/celements2web/Panels/ClassSwitcher.xml index 9cec1dd9..7ce7d06f 100644 --- a/src/main/webapp/docs/celements2web/Panels/ClassSwitcher.xml +++ b/src/main/webapp/docs/celements2web/Panels/ClassSwitcher.xml @@ -105,7 +105,7 @@ #largepanelheader('Class Switcher') -$xwiki.jsx.use('Panels.ClassSwitcher')## +##$xwiki.jsx.use('Panels.ClassSwitcher')## <div> <form id="changeclass" method="post" action="$doc.getURL("redirect")"> <div> diff --git a/src/main/webapp/docs/celements2web/Panels/Navigation.xml b/src/main/webapp/docs/celements2web/Panels/Navigation.xml index 767ac879..9b0e4b93 100644 --- a/src/main/webapp/docs/celements2web/Panels/Navigation.xml +++ b/src/main/webapp/docs/celements2web/Panels/Navigation.xml @@ -142,8 +142,11 @@ #end </div> </div> -$xwiki.jsfx.use('js/scriptaculous/scriptaculous.js') -$xwiki.jsfx.use('js/xwiki/accordion/accordion.js') +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +#set($extJsParam = $extJsParam.setLazyLoad(true)) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/scriptaculous/scriptaculous.js'))## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/accordion/accordion.js'))## <script type="text/javascript"> var obj = {div:'xwikinav',no:$spacecount,height:250}; var acc = createAccordion(obj); diff --git a/src/main/webapp/docs/celements2web/Panels/PanelWizard.xml b/src/main/webapp/docs/celements2web/Panels/PanelWizard.xml index a59d2194..82e0e265 100644 --- a/src/main/webapp/docs/celements2web/Panels/PanelWizard.xml +++ b/src/main/webapp/docs/celements2web/Panels/PanelWizard.xml @@ -352,11 +352,14 @@ dG8WUcuijwAAAABJRU5ErkJggg== #else #set($ajaxurl = $xwiki.getDocument("Panels.PanelLayoutUpdate").getURL("view", "xpage=plain&prefsdoc=${currentDoc}")) #end - $xwiki.jsfx.use("js/scriptaculous/scriptaculous.js") - $xwiki.jsfx.use("js/xwiki/accordion/accordion.js") - $xwiki.jsfx.use("js/xwiki/panelwizard/Drag.js") - $xwiki.jsfx.use("js/xwiki/panelwizard/ieemu.js") - $xwiki.jsfx.use("js/xwiki/panelwizard/toolTip.js") + #set($jsService = $services.javascript) + #set($extJsParam = $jsService.createExtJSParam().setAction('file')) + #set($extJsParam = $extJsParam.setLazyLoad(true)) + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/scriptaculous/scriptaculous.js'))## + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/accordion/accordion.js'))## + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/panelwizard/Drag.js'))## + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/panelwizard/ieemu.js'))## + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/panelwizard/toolTip.js'))## <script type="text/javascript"> //<![CDATA[ window.ajaxurl = "$ajaxurl"; diff --git a/src/main/webapp/docs/celements2web/Panels/RightsHelp.xml b/src/main/webapp/docs/celements2web/Panels/RightsHelp.xml index 573ce026..989ffd69 100644 --- a/src/main/webapp/docs/celements2web/Panels/RightsHelp.xml +++ b/src/main/webapp/docs/celements2web/Panels/RightsHelp.xml @@ -134,8 +134,11 @@ $msg.get("xe.panels.rights.allowdenyexplanation") </div> #panelfooter() </div> -$xwiki.jsfx.use("js/scriptaculous/scriptaculous.js") -$xwiki.jsfx.use("js/xwiki/accordion/accordion.js") +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +#set($extJsParam = $extJsParam.setLazyLoad(true)) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/scriptaculous/scriptaculous.js'))## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/accordion/accordion.js'))## <script type="text/javascript"> var obj = {div:'xwikirightshelp',no:0,height:512}; var acc = createAccordion(obj); diff --git a/src/main/webapp/docs/celements2web/Panels/RightsTips.xml b/src/main/webapp/docs/celements2web/Panels/RightsTips.xml index 3eec7562..0a4f2acf 100644 --- a/src/main/webapp/docs/celements2web/Panels/RightsTips.xml +++ b/src/main/webapp/docs/celements2web/Panels/RightsTips.xml @@ -143,8 +143,11 @@ $msg.get("xe.panels.rights.bannedgroup") </div> #panelfooter() </div> -$xwiki.jsfx.use("js/scriptaculous/scriptaculous.js") -$xwiki.jsfx.use("js/xwiki/accordion/accordion.js") +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +#set($extJsParam = $extJsParam.setLazyLoad(true)) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/scriptaculous/scriptaculous.js'))## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/accordion/accordion.js'))## <script type="text/javascript"> var obj = {div:'xwikirightstips',no:0,height:250}; var acc = createAccordion(obj); diff --git a/src/main/webapp/docs/xwiki/XWiki/AdminGroupsSheet.xml b/src/main/webapp/docs/xwiki/XWiki/AdminGroupsSheet.xml index 5873903d..467291b4 100644 --- a/src/main/webapp/docs/xwiki/XWiki/AdminGroupsSheet.xml +++ b/src/main/webapp/docs/xwiki/XWiki/AdminGroupsSheet.xml @@ -29,11 +29,14 @@ ## ## Inject needed JS and CSS files ## -#set($ok = $xwiki.jsfx.use("js/xwiki/lightbox/lightbox.js", true)) -#set($ok = $xwiki.jsfx.use("js/xwiki/usersandgroups/usersandgroups.js", true)) -#set($ok = $xwiki.ssfx.use("js/xwiki/usersandgroups/usersandgroups.css", true)) -#set($ok = $xwiki.jsfx.use("js/xwiki/table/livetable.js", true)) -#set($ok = $xwiki.ssfx.use("js/xwiki/table/livetable.css", true)) +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +#set($extJsParam = $extJsParam.setLazyLoad(true)) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/lightbox/lightbox.js'))## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/usersandgroups/usersandgroups.js'))## +$services.css.includeCSSPage(':js/xwiki/usersandgroups/usersandgroups.css')## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/table/livetable.js'))## +$services.css.includeCSSPage(':js/xwiki/table/livetable.css')## ## ## url to get the groups for displaying them in the ajax-based table ## diff --git a/src/main/webapp/docs/xwiki/XWiki/AdminSheet.xml b/src/main/webapp/docs/xwiki/XWiki/AdminSheet.xml index 6eed66a7..00f36fed 100644 --- a/src/main/webapp/docs/xwiki/XWiki/AdminSheet.xml +++ b/src/main/webapp/docs/xwiki/XWiki/AdminSheet.xml @@ -2782,9 +2782,12 @@ p.legend { ##------------------------------------- ## determine the displayed sections ##------------------------------------- - $xwiki.jsfx.use('js/scriptaculous/scriptaculous.js')## - $xwiki.jsx.use('XWiki.AdminSheet')## - $xwiki.ssx.use('XWiki.AdminSheet')## + #set($jsService = $services.javascript) + #set($extJsParam = $jsService.createExtJSParam().setAction('file')) + #set($extJsParam = $extJsParam.setLazyLoad(true)) + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/scriptaculous/scriptaculous.js'))## +## $xwiki.jsx.use('XWiki.AdminSheet')## +## $xwiki.ssx.use('XWiki.AdminSheet')## #if($editor == 'globaladmin') #set($currentDoc = 'XWiki.XWikiPreferences') #set($sections = ['General', 'Presentation', 'Registration', 'Programming', 'Rights', 'Users', 'Groups', 'Import', 'Export', 'Templates']) diff --git a/src/main/webapp/docs/xwiki/XWiki/AdminUsersSheet.xml b/src/main/webapp/docs/xwiki/XWiki/AdminUsersSheet.xml index c9eff59f..63905dfd 100644 --- a/src/main/webapp/docs/xwiki/XWiki/AdminUsersSheet.xml +++ b/src/main/webapp/docs/xwiki/XWiki/AdminUsersSheet.xml @@ -29,13 +29,16 @@ ## ## inject needed JS and CSS files ## -#set($ok = $xwiki.jsfx.use("js/xwiki/lightbox/lightbox.js", true)) -#set($ok = $xwiki.jsfx.use("js/xwiki/usersandgroups/usersandgroups.js", true)) -#set($ok = $xwiki.ssfx.use("js/xwiki/usersandgroups/usersandgroups.css", true)) -#set($ok = $xwiki.jsfx.use("js/xwiki/table/livetable.js", true)) -#set($ok = $xwiki.ssfx.use("js/xwiki/table/livetable.css", true)) -#set($ok = $xwiki.ssx.use("XWiki.XWikiUserSheet")) -#set($ok = $xwiki.jsx.use("XWiki.XWikiUserSheet")) +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +#set($extJsParam = $extJsParam.setLazyLoad(true)) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/lightbox/lightbox.js'))## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/usersandgroups/usersandgroups.js'))## +$services.css.includeCSSPage(':js/xwiki/usersandgroups/usersandgroups.css')## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/table/livetable.js'))## +$services.css.includeCSSPage(':js/xwiki/table/livetable.css')## +###set($ok = $xwiki.ssx.use("XWiki.XWikiUserSheet")) +###set($ok = $xwiki.jsx.use("XWiki.XWikiUserSheet")) ## ## url to get the users for displaying them in the ajax-based table ## diff --git a/src/main/webapp/docs/xwiki/XWiki/ConfigurableClass.xml b/src/main/webapp/docs/xwiki/XWiki/ConfigurableClass.xml index 6cc26e75..c9d7dde3 100644 --- a/src/main/webapp/docs/xwiki/XWiki/ConfigurableClass.xml +++ b/src/main/webapp/docs/xwiki/XWiki/ConfigurableClass.xml @@ -374,7 +374,10 @@ iKAtTBe0AQfYWgXdAG9qCi1fA5wQWwLgSdydYgcsNRLABafWgzPNB4DsfrNE6VJz6VvXltr/A+kB #set($nameOfThisDocument = 'XWiki.ConfigurableClass') ## ## Form submission depends on this. -$xwiki.jsfx.use('js/xwiki/actionbuttons/actionButtons.js', true) +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +#set($extJsParam = $extJsParam.setLazyLoad(true)) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/actionbuttons/actionButtons.js'))## ## #if(!$section) #set($section = $request.getParameter('section')) @@ -574,7 +577,7 @@ $xwiki.jsfx.use('js/xwiki/actionbuttons/actionButtons.js', true) ## ## Merge save buttons, remove headings from subsections, and make information links into popups. ## This is not done if there is only a custom defined form. - $xwiki.jsx.use($nameOfThisDocument) +## $xwiki.jsx.use($nameOfThisDocument) ## ## We don't begin the form until we have content for it so that a configurable can specify a ## custom form in codeToExecute and if that configurable object is the first of it's kind in that diff --git a/src/main/webapp/docs/xwiki/XWiki/XWikiGroupSheet.xml b/src/main/webapp/docs/xwiki/XWiki/XWikiGroupSheet.xml index 7437e392..de4e78be 100644 --- a/src/main/webapp/docs/xwiki/XWiki/XWikiGroupSheet.xml +++ b/src/main/webapp/docs/xwiki/XWiki/XWikiGroupSheet.xml @@ -49,10 +49,13 @@ {{velocity output="false"}} #set($mainwk = $xcontext.isMainWiki()) -$xwiki.jsfx.use('js/xwiki/usersandgroups/usersandgroups.js', true) -$xwiki.ssfx.use('js/xwiki/usersandgroups/usersandgroups.css') -$xwiki.jsfx.use('js/xwiki/table/livetable.js', true) -$xwiki.ssfx.use('js/xwiki/table/livetable.css', true) +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +#set($extJsParam = $extJsParam.setLazyLoad(true)) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/usersandgroups/usersandgroups.js'))## +$services.css.includeCSSPage(':js/xwiki/usersandgroups/usersandgroups.css')## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/table/livetable.js'))## +$services.css.includeCSSPage(':js/xwiki/table/livetable.css')## #set($groupDoc = $doc) #if($doc.fullName == 'Main.UserDirectory') #set($groupDoc = $xwiki.getDocument('XWiki.XWikiAllGroup')) diff --git a/src/main/webapp/docs/xwiki/XWiki/XWikiUserPreferencesSheet.xml b/src/main/webapp/docs/xwiki/XWiki/XWikiUserPreferencesSheet.xml index fef66359..76058556 100644 --- a/src/main/webapp/docs/xwiki/XWiki/XWikiUserPreferencesSheet.xml +++ b/src/main/webapp/docs/xwiki/XWiki/XWikiUserPreferencesSheet.xml @@ -28,7 +28,7 @@ {{info}}$msg.get('xe.admin.users.applyonusers'){{/info}}## #else $doc.use($obj) -$xwiki.ssx.use('XWiki.XWikiUserSheet')## +##$xwiki.ssx.use('XWiki.XWikiUserSheet')## {{html wiki="true"}} <div class="#if($context.action == 'view')half #{else}full #{end}column"> <div class="userPreferences"> diff --git a/src/main/webapp/docs/xwiki/XWiki/XWikiUserProfileSheet.xml b/src/main/webapp/docs/xwiki/XWiki/XWikiUserProfileSheet.xml index 5b613ff5..a7dfbe56 100644 --- a/src/main/webapp/docs/xwiki/XWiki/XWikiUserProfileSheet.xml +++ b/src/main/webapp/docs/xwiki/XWiki/XWikiUserProfileSheet.xml @@ -42,7 +42,7 @@ $doc.use($obj) <div class="vcard"> <span class="fn hidden">$username</span> #end -$xwiki.ssx.use("XWiki.XWikiUserSheet")## +##$xwiki.ssx.use("XWiki.XWikiUserSheet")## <div class="#if($context.action == 'view')half #{else}full #{end}column"> <div class="userInfo"> #if($xcontext.action == 'view' && $hasEdit) diff --git a/src/main/webapp/docs/xwiki/XWiki/XWikiUserSheet.xml b/src/main/webapp/docs/xwiki/XWiki/XWikiUserSheet.xml index eb09f3b8..b0c66fd0 100644 --- a/src/main/webapp/docs/xwiki/XWiki/XWikiUserSheet.xml +++ b/src/main/webapp/docs/xwiki/XWiki/XWikiUserSheet.xml @@ -364,8 +364,8 @@ span#avatarUpload { ## ## Extensions and vars ## -$xwiki.ssx.use("XWiki.XWikiUserSheet")## -$xwiki.jsx.use("XWiki.XWikiUserSheet")## +##$xwiki.ssx.use("XWiki.XWikiUserSheet")## +##$xwiki.jsx.use("XWiki.XWikiUserSheet")## #set($obj = $doc.getObject("XWiki.XWikiUsers")) ## ## Categories diff --git a/src/main/webapp/templates/celMacros/includeDefaultHeader.vm b/src/main/webapp/templates/celMacros/includeDefaultHeader.vm index a412cb64..f0f74b2a 100644 --- a/src/main/webapp/templates/celMacros/includeDefaultHeader.vm +++ b/src/main/webapp/templates/celMacros/includeDefaultHeader.vm @@ -47,8 +47,7 @@ $services.css.includeCSSPage(':celRes/celements2.css')## $services.css.includeCSSPage(':celRes/login.css')## #set($jsService = $services.javascript) #set($extJsParamSync = $!jsService.createExtJSParam().setAction('file')) -$!jsService.includeExtJsFile($extJsParamSync.setJsFile(':celJS/prototype.js'))## -$!jsService.includeExtJsFile($extJsParamSync.setJsFile(':celJS/jquery.min.js'))## +no$!jsService.includeExtJsFile($extJsParamSync.setJsFile(':celJS/jquery.min.js'))## $!jsService.includeExtJsFile($extJsParamSync.setJsFile(':celJS/jquery-noconflict.js'))## $!jsService.includeExtJsFile($extJsParamSync.setJsFile(':celJS/initCelements.min.js'))## ## FIXME [CELDEV-904] validation.js cannot be loaded defer before fixing this issue. diff --git a/src/main/webapp/templates/celTemplates/attachmentsinline.vm b/src/main/webapp/templates/celTemplates/attachmentsinline.vm index 9ee88c85..09899972 100644 --- a/src/main/webapp/templates/celTemplates/attachmentsinline.vm +++ b/src/main/webapp/templates/celTemplates/attachmentsinline.vm @@ -1,5 +1,8 @@ -$xwiki.jsfx.use('js/xwiki/viewers/attachments.js', {'forceSkinAction': true, 'language': ${context.language}}) -$xwiki.ssfx.use('js/xwiki/viewers/attachments.css', true) +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +#set($extJsParam = $extJsParam.setLazyLoad(true)) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/viewers/attachments.js'))## +$services.css.includeCSSPage(':js/xwiki/viewers/attachments.css')## ### ### List document attachments ### diff --git a/src/main/webapp/templates/code.vm b/src/main/webapp/templates/code.vm index 9d483017..9b47c28e 100644 --- a/src/main/webapp/templates/code.vm +++ b/src/main/webapp/templates/code.vm @@ -2,9 +2,12 @@ ### Code page in the "view" mode ### #if($isAdmin) -$xwiki.jsfx.use('uicomponents/viewers/code.js', true)## -$xwiki.jsfx.use('uicomponents/widgets/fullScreen.js', true)## -$xwiki.ssfx.use('uicomponents/widgets/fullScreen.css', true)## +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +#set($extJsParam = $extJsParam.setLazyLoad(true)) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':uicomponents/viewers/code.js'))## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':uicomponents/widgets/fullScreen.js'))## +$services.css.includeCSSPage(':uicomponents/widgets/fullScreen.css')##

$msg.get('core.viewers.code.title', [$escapetool.xml($doc.getPlainTitle()), $doc.getURL()])

## ---------------------------- ## Display the shortcuts diff --git a/src/main/webapp/templates/commentsinline.vm b/src/main/webapp/templates/commentsinline.vm index d71cc4ad..742bf4ce 100644 --- a/src/main/webapp/templates/commentsinline.vm +++ b/src/main/webapp/templates/commentsinline.vm @@ -27,8 +27,11 @@ ## ## These are used when this page is accessed directly but are useless when the page is pulled in with ajax using ## bin/view/Space/Page?xpage=xpart&vm=commentsinline.vm -$xwiki.jsfx.use('uicomponents/viewers/comments.js', {'forceSkinAction': true, 'language': ${xcontext.language}}) -$xwiki.ssfx.use('uicomponents/viewers/comments.css', true) +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +#set($extJsParam = $extJsParam.setLazyLoad(true)) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':uicomponents/viewers/comments.js'))## +$services.css.includeCSSPage(':uicomponents/viewers/comments.css')## ## ##--------------------------------------------------------------------- ## Set some 'global' variables diff --git a/src/main/webapp/templates/docextra.vm b/src/main/webapp/templates/docextra.vm index dcd9614c..b726a4f0 100644 --- a/src/main/webapp/templates/docextra.vm +++ b/src/main/webapp/templates/docextra.vm @@ -30,13 +30,16 @@ $xcontext.dropPermissions() #if (!$docextras) #set($docextras = $util.arrayList) #if ($showcomments) - $xwiki.jsfx.use('uicomponents/viewers/comments.js', {'forceSkinAction': true, 'language': ${xcontext.language}}) - $xwiki.ssfx.use('uicomponents/viewers/comments.css', true) + #set($jsService = $services.javascript) + #set($extJsParam = $jsService.createExtJSParam().setAction('file')) + #set($extJsParam = $extJsParam.setLazyLoad(true)) + $!jsService.includeExtJsFile($extJsParam.setJsFile(':uicomponents/viewers/comments.js'))## + $services.css.includeCSSPage(':uicomponents/viewers/comments.css')## #set ($discard = $docextras.add(["Comments", "comments", $msg.get("docextra.comments"), $doc.getObjects("XWiki.XWikiComments").size(), "commentsinline.vm", $msg.get("core.shortcuts.view.comments")])) #end #if ($showattachments) - $xwiki.jsfx.use('js/xwiki/viewers/attachments.js', {'forceSkinAction': true, 'language': ${xcontext.language}}) - $xwiki.ssfx.use('js/xwiki/viewers/attachments.css', true) + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/viewers/attachments.js'))## + $services.css.includeCSSPage(':js/xwiki/viewers/attachments.css')## #set ($discard = $docextras.add(["Attachments", "attachments", $msg.get("docextra.attachments"), $doc.getAttachmentList().size(), "attachmentsinline.vm",$msg.get("core.shortcuts.view.attachments")])) #end #if ($showhistory) diff --git a/src/main/webapp/templates/documentTags.vm b/src/main/webapp/templates/documentTags.vm index 74ab09c1..0ba14fc4 100644 --- a/src/main/webapp/templates/documentTags.vm +++ b/src/main/webapp/templates/documentTags.vm @@ -88,8 +88,11 @@ #elseif($xaction == 'add') #addTag($request.tag) #else ## display - $xwiki.ssfx.use('resources/uicomponents/viewers/tags.css', true)## - $xwiki.jsfx.use('resources/uicomponents/viewers/tags.js', true)## + $services.css.includeCSSPage(':resources/uicomponents/viewers/tags.css')## + #set($jsService = $services.javascript) + #set($extJsParam = $jsService.createExtJSParam().setAction('file')) + #set($extJsParam = $extJsParam.setLazyLoad(true)) + $!jsService.includeExtJsFile($extJsParam.setJsFile(':resources/uicomponents/viewers/tags.js'))##
#if($xwiki.tag) #set($hasTagsPlugin = true) diff --git a/src/main/webapp/templates/edit.vm b/src/main/webapp/templates/edit.vm index db4f1adf..4dc9fa01 100644 --- a/src/main/webapp/templates/edit.vm +++ b/src/main/webapp/templates/edit.vm @@ -11,7 +11,10 @@ $xcontext.dropPermissions() ## ## Determine what editor to show ## -$xwiki.jsfx.use('js/scriptaculous/scriptaculous.js', true) +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +#set($extJsParam = $extJsParam.setLazyLoad(true)) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/scriptaculous/scriptaculous.js'))## #if("$!editor" == '') ## Normally no special characters should exist in the editor parameter, so this is just a protection measure. #set($editor = "$!{escapetool.xml($request.getParameter('editor'))}") diff --git a/src/main/webapp/templates/editactions.vm b/src/main/webapp/templates/editactions.vm index 454f0f59..b83d9fbb 100644 --- a/src/main/webapp/templates/editactions.vm +++ b/src/main/webapp/templates/editactions.vm @@ -1,8 +1,11 @@ ### Buttons displayed in the edit interface: cancel, preview (when enabled), save and continue, save and view. ### #if ("$!showactions" != '0') - $xwiki.jsfx.use('js/xwiki/actionbuttons/actionButtons.js', true) - $xwiki.ssfx.use('js/xwiki/actionbuttons/actionButtons.css', true) + #set($jsService = $services.javascript) + #set($extJsParam = $jsService.createExtJSParam().setAction('file')) + #set($extJsParam = $extJsParam.setLazyLoad(true)) + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/actionbuttons/actionButtons.js'))## + $services.css.includeCSSPage(':js/xwiki/actionbuttons/actionButtons.css')## ## This allows the preview form to redirect back to the correct editor when pressing "Back to edit":
diff --git a/src/main/webapp/templates/editclass.vm b/src/main/webapp/templates/editclass.vm index 390dfcf6..bb7b59f3 100644 --- a/src/main/webapp/templates/editclass.vm +++ b/src/main/webapp/templates/editclass.vm @@ -1,6 +1,9 @@ -$xwiki.jsfx.use('js/scriptaculous/scriptaculous.js', true)## -$xwiki.ssfx.use('js/xwiki/editors/dataeditors.css', true)## -$xwiki.jsfx.use('js/xwiki/editors/dataeditors.js', true)## +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +#set($extJsParam = $extJsParam.setLazyLoad(true)) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/scriptaculous/scriptaculous.js'))## +$services.css.includeCSSPage(':js/xwiki/editors/dataeditors.css')## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/editors/dataeditors.js'))## #if("$!request.xpage" == 'editclass') $response.sendRedirect($doc.getURL('edit', 'editor=class')) #else diff --git a/src/main/webapp/templates/editinline.vm b/src/main/webapp/templates/editinline.vm index 2b4f0c62..8958c6f9 100644 --- a/src/main/webapp/templates/editinline.vm +++ b/src/main/webapp/templates/editinline.vm @@ -1,6 +1,9 @@ ## Insert JS and CSS needed for the fullscreen edit feature -$xwiki.jsfx.use('js/xwiki/editors/fullScreenEdit.js', {'forceSkinAction': true, 'language': ${context.language}})## -$xwiki.ssfx.use('js/xwiki/editors/fullScreenEdit.css', true)## +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +#set($extJsParam = $extJsParam.setLazyLoad(true)) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/editors/fullScreenEdit.js'))## +$services.css.includeCSSPage(':js/xwiki/editors/fullScreenEdit.css')## #set($formname = "inline") #set($saveaction = "save") #set($previewenabled = true) diff --git a/src/main/webapp/templates/editobject.vm b/src/main/webapp/templates/editobject.vm index a262b558..e6308044 100644 --- a/src/main/webapp/templates/editobject.vm +++ b/src/main/webapp/templates/editobject.vm @@ -75,11 +75,14 @@ #if("$!request.xpage" == 'editobject') $response.sendRedirect($doc.getURL('edit', "editor=object$!{xredPram}")) #else - $xwiki.ssfx.use('js/xwiki/editors/dataeditors.css', true)## - $xwiki.jsfx.use('js/xwiki/editors/dataeditors.js', true)## + $services.css.includeCSSPage(':js/xwiki/editors/dataeditors.css')## + #set($jsService = $services.javascript) + #set($extJsParam = $jsService.createExtJSParam().setAction('file')) + #set($extJsParam = $extJsParam.setLazyLoad(true)) + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/editors/dataeditors.js'))## ## Insert JS and CSS needed for the fullscreen edit feature - $xwiki.jsfx.use('js/xwiki/editors/fullScreenEdit.js', {'forceSkinAction': true, 'language': ${context.language}})## - $xwiki.ssfx.use('js/xwiki/editors/fullScreenEdit.css', true)## + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/editors/fullScreenEdit.js'))## + $services.css.includeCSSPage(':js/xwiki/editors/fullScreenEdit.css')## #set($formname = 'update') #set($saveaction = 'save') #set($hasCustomClass = ("$!{request.classname.trim()}" != '')) diff --git a/src/main/webapp/templates/editwiki.vm b/src/main/webapp/templates/editwiki.vm index 447a9c59..582af469 100644 --- a/src/main/webapp/templates/editwiki.vm +++ b/src/main/webapp/templates/editwiki.vm @@ -25,8 +25,11 @@ $xwiki.getTextArea($tdoc.content)
## noname
#template("editactions.vm")
## Insert JS and CSS needed for the fullscreen edit feature -$xwiki.jsfx.use('js/xwiki/editors/fullScreenEdit.js', {'forceSkinAction': true, 'language': ${context.language}}) -$xwiki.ssfx.use('js/xwiki/editors/fullScreenEdit.css', true) +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +#set($extJsParam = $extJsParam.setLazyLoad(true)) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/editors/fullScreenEdit.js'))## +$services.css.includeCSSPage(':js/xwiki/editors/fullScreenEdit.css')## ## Autosave feature -$xwiki.jsfx.use('js/xwiki/editors/autosave.js', true) -$xwiki.ssfx.use('js/xwiki/editors/autosave.css', true) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/editors/autosave.js'))## +$services.css.includeCSSPage(':js/xwiki/editors/autosave.css')## diff --git a/src/main/webapp/templates/historyinline.vm b/src/main/webapp/templates/historyinline.vm index 75efd604..a46da2c6 100644 --- a/src/main/webapp/templates/historyinline.vm +++ b/src/main/webapp/templates/historyinline.vm @@ -37,7 +37,7 @@ #end ## ## Pagination style -$xwiki.ssfx.use('uicomponents/pagination/pagination.css', true)## +$services.css.includeCSSPage(':uicomponents/pagination/pagination.css')## ## ## Preamble, output some HTML. ## diff --git a/src/main/webapp/templates/importinline.vm b/src/main/webapp/templates/importinline.vm index ef164640..961ecb0f 100644 --- a/src/main/webapp/templates/importinline.vm +++ b/src/main/webapp/templates/importinline.vm @@ -32,7 +32,10 @@ resetting programming rights for celements2web: $celementsweb.resetProgrammingRi ##--------------------------------------------------------------------------- #else #set($baseQueryString = "editor=$!{request.editor}&section=$!{request.section}") - #set($ok = $xwiki.jsfx.use('js/xwiki/xwiki.js', true)) + #set($jsService = $services.javascript) + #set($extJsParam = $jsService.createExtJSParam().setAction('file')) + #set($extJsParam = $extJsParam.setLazyLoad(true)) + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/xwiki.js'))## #** **# - #set($ok = $xwiki.jsfx.use('js/xwiki/widgets/modalPopup.js', true)) - #set($ok = $xwiki.jsfx.use('js/xwiki/widgets/jumpToPage.js', true)) - #set($ok = $xwiki.jsfx.use('uicomponents/widgets/confirmationBox.js', true)) - #set($ok = $xwiki.jsfx.use('uicomponents/widgets/confirmedAjaxRequest.js', true)) - #set($ok = $xwiki.jsfx.use('uicomponents/widgets/notification.js', true)) - #set($ok = $xwiki.jsfx.use('uicomponents/widgets/list/xlist.js', true)) - #set($ok = $xwiki.jsfx.use('js/xwiki/importer/import.js', true)) - #set($ok = $xwiki.ssfx.use('js/xwiki/importer/import.css', true)) + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/widgets/modalPopup.js'))## + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/widgets/jumpToPage.js'))## + $!jsService.includeExtJsFile($extJsParam.setJsFile(':uicomponents/widgets/confirmationBox.js'))## + $!jsService.includeExtJsFile($extJsParam.setJsFile(':uicomponents/widgets/confirmedAjaxRequest.js'))## + $!jsService.includeExtJsFile($extJsParam.setJsFile(':uicomponents/widgets/notification.js'))## + $!jsService.includeExtJsFile($extJsParam.setJsFile(':uicomponents/widgets/list/xlist.js'))## + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/importer/import.js'))## + $services.css.includeCSSPage(':js/xwiki/importer/import.css')## #set($attachments = $sorttool.sort($doc.attachmentList, ['date:desc']))
diff --git a/src/main/webapp/templates/inline.vm b/src/main/webapp/templates/inline.vm index f1fcd48a..12cf8e6a 100644 --- a/src/main/webapp/templates/inline.vm +++ b/src/main/webapp/templates/inline.vm @@ -1,7 +1,10 @@ #set($contextIsFinished = false) #if(("$!request.viewer" != '') || ("$!request.skin" != '') || (($xwiki.getSkin().indexOf('.') < 0) && ("$xwiki.getSkin()" != 'cellskin'))) - $xwiki.jsfx.use('js/scriptaculous/scriptaculous.js', true) - $xwiki.jsfx.use('js/xwiki/actionbuttons/actionButtons.js', true) + #set($jsService = $services.javascript) + #set($extJsParam = $jsService.createExtJSParam().setAction('file')) + #set($extJsParam = $extJsParam.setLazyLoad(true)) + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/scriptaculous/scriptaculous.js'))## + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/actionbuttons/actionButtons.js'))## #if((!$request.editor) || ($request.editor.trim() == "")) #set($editor = "inline") #else diff --git a/src/main/webapp/templates/javascript.vm b/src/main/webapp/templates/javascript.vm index fbade8ff..a8890035 100644 --- a/src/main/webapp/templates/javascript.vm +++ b/src/main/webapp/templates/javascript.vm @@ -9,18 +9,21 @@ ## ## JS Libraries. ## -$xwiki.jsfx.use('js/scriptaculous/effects.js', true) -$xwiki.jsfx.use('js/xwiki/widgets/modalPopup.js', true) -$xwiki.ssfx.use('js/xwiki/widgets/modalPopup.css', true) -$xwiki.jsfx.use('js/xwiki/widgets/jumpToPage.js', true) -$xwiki.ssfx.use('js/xwiki/widgets/jumpToPage.css', {'forceSkinAction' : true, 'language' : $context.language}) -$xwiki.jsfx.use('uicomponents/widgets/confirmationBox.js', true) -$xwiki.ssfx.use('uicomponents/widgets/confirmationBox.css', true) -$xwiki.jsfx.use('uicomponents/widgets/confirmedAjaxRequest.js', true) -$xwiki.jsfx.use('uicomponents/widgets/notification.js', true) -$xwiki.ssfx.use('uicomponents/widgets/notification.css', true) -$xwiki.jsfx.use('uicomponents/widgets/list/xlist.js', true) -$xwiki.jsfx.use('uicomponents/suggest/suggest.js', true) +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +#set($extJsParam = $extJsParam.setLazyLoad(true)) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/scriptaculous/effects.js'))## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/widgets/modalPopup.js'))## +$services.css.includeCSSPage(':js/xwiki/widgets/modalPopup.css')## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/widgets/jumpToPage.js'))## +##$xwiki.ssfx.use('js/xwiki/widgets/jumpToPage.css', {'forceSkinAction' : true, 'language' : $context.language}) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':uicomponents/widgets/confirmationBox.js'))## +$services.css.includeCSSPage(':uicomponents/widgets/confirmationBox.css')## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':uicomponents/widgets/confirmedAjaxRequest.js'))## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':uicomponents/widgets/notification.js'))## +$services.css.includeCSSPage(':uicomponents/widgets/notification.css')## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':uicomponents/widgets/list/xlist.js'))## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':uicomponents/suggest/suggest.js'))## #if($xwiki.exists('XWiki.SearchSuggestConfig')) ## Hook to request the search suggest script if search suggest configuration is present. ## We can't just have it as a always-use SSX yet since we compute a hash to be sure to refresh @@ -36,11 +39,8 @@ $xwiki.jsfx.use('uicomponents/suggest/suggest.js', true) #set($searchSuggestConfigHash = "${searchSuggestConfigHash}|${sourceId}") #end #end - $xwiki.jsfx.use('uicomponents/search/searchSuggest.js', { - 'forceSkinAction' : true, - 'h' : $searchSuggestConfigHash.hashCode() - }) - $xwiki.ssfx.use('uicomponents/search/searchSuggest.css', true) + $!jsService.includeExtJsFile($extJsParam.setJsFile(':uicomponents/search/searchSuggest.js'))## + $services.css.includeCSSPage(':uicomponents/search/searchSuggest.css')## #end #end diff --git a/src/main/webapp/templates/macros.vm b/src/main/webapp/templates/macros.vm index 5e666296..62a4e94f 100644 --- a/src/main/webapp/templates/macros.vm +++ b/src/main/webapp/templates/macros.vm @@ -1569,8 +1569,11 @@ ${Msz}Mb## ## ## SX deps. ## - #set($ok = $xwiki.jsfx.use('js/xwiki/table/livetable.js', true)) - #set($ok = $xwiki.ssfx.use('js/xwiki/table/livetable.css', true)) + #set($jsService = $services.javascript) + #set($extJsParam = $jsService.createExtJSParam().setAction('file')) + #set($extJsParam = $extJsParam.setLazyLoad(true)) + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/table/livetable.js'))## + $services.css.includeCSSPage(':js/xwiki/table/livetable.css')## ## ## Options / defaults ## @@ -1634,7 +1637,7 @@ ${Msz}Mb##
#end #if($tagcloud) - #set($discard = $xwiki.ssx.use('XWiki.TagCloud')) +## #set($discard = $xwiki.ssx.use('XWiki.TagCloud')) -#end ## showactions \ No newline at end of file +#end ## showactions diff --git a/src/main/webapp/templates/rightsUI.vm b/src/main/webapp/templates/rightsUI.vm index a3903d62..2aa371f5 100644 --- a/src/main/webapp/templates/rightsUI.vm +++ b/src/main/webapp/templates/rightsUI.vm @@ -13,9 +13,9 @@ #set($extJsParam = $jsService.createExtJSParam().setAction('file')) #set($extJsParam = $extJsParam.setLazyLoad(true)) $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/usersandgroups/usersandgroups.js'))## - $services.css.includeCSSPage(':js/xwiki/usersandgroups/usersandgroups.css')## + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/table/livetable.js'))## - $services.css.includeCSSPage(':js/xwiki/table/livetable.css')## + #set($interface = $xwiki.rightsmanager.defaultUi) #set($rightsLevels = {"view":0, "comment":1, "edit":2, "delete": 3, "admin": 4, "register": 5, "programming": 6}) #set($levelsRights = $util.hashMap) From b032ecc7c8e07c328ce357fc052e28f2237b11c7 Mon Sep 17 00:00:00 2001 From: Fabian Pichler Date: Thu, 5 Mar 2026 17:36:37 +0100 Subject: [PATCH 15/25] remove setLazy --- src/main/webapp/templates/javascript.vm | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/webapp/templates/javascript.vm b/src/main/webapp/templates/javascript.vm index a8890035..08f37cf0 100644 --- a/src/main/webapp/templates/javascript.vm +++ b/src/main/webapp/templates/javascript.vm @@ -11,7 +11,6 @@ ## #set($jsService = $services.javascript) #set($extJsParam = $jsService.createExtJSParam().setAction('file')) -#set($extJsParam = $extJsParam.setLazyLoad(true)) $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/scriptaculous/effects.js'))## $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/widgets/modalPopup.js'))## $services.css.includeCSSPage(':js/xwiki/widgets/modalPopup.css')## From a179f6deb738d227c40d060264b23ad361f93b3a Mon Sep 17 00:00:00 2001 From: Chantal Pichler Date: Thu, 5 Mar 2026 17:39:29 +0100 Subject: [PATCH 16/25] fix font awesome import --- src/main/webapp/templates/importinline.vm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/webapp/templates/importinline.vm b/src/main/webapp/templates/importinline.vm index 7b2d4fa2..1fec7a27 100644 --- a/src/main/webapp/templates/importinline.vm +++ b/src/main/webapp/templates/importinline.vm @@ -65,7 +65,7 @@ window.docgeturl = "/get/XWiki/Import"; **# - + $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/widgets/modalPopup.js'))## $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/widgets/jumpToPage.js'))## $!jsService.includeExtJsFile($extJsParam.setJsFile(':uicomponents/widgets/confirmationBox.js'))## From f805d74f1ba2c83e022ed8e1c287700ac70a9a71 Mon Sep 17 00:00:00 2001 From: Fabian Pichler Date: Sun, 8 Mar 2026 00:09:14 +0100 Subject: [PATCH 17/25] replace deprecated api-calls --- src/main/webapp/templates/celAjax/AddPage.vm | 12 +++---- src/main/webapp/templates/celAjax/FileBase.vm | 2 +- .../templates/celAjax/TokenFileUploader.vm | 6 ++-- .../cel_cm_presentation_treenode/del_slide.vm | 4 +-- .../cel_cm_presentation_treenode/edit_page.vm | 6 ++-- .../cel_cm_presentation_treenode/move_down.vm | 6 ++-- .../cel_cm_presentation_treenode/move_up.vm | 4 +-- .../slide_properties.vm | 6 ++-- .../templates/celInlineTemplates/login.vm | 4 +-- .../templates/celInlineTemplates/view.vm | 4 +-- .../celMacros/CelCookieEnabledTest.vm | 2 +- .../webapp/templates/celMacros/CelTabMenu.vm | 8 ++--- .../templates/celMacros/ChangePassword.vm | 2 +- .../templates/celMacros/ContextMenues.vm | 6 ++-- .../webapp/templates/celMacros/ImportBase.vm | 8 ++--- .../webapp/templates/celMacros/MediaLib.vm | 18 +++++------ .../webapp/templates/celMacros/Scheduler.vm | 4 +-- .../SendNewsletterInjectedReceivers.vm | 4 +-- .../templates/celMacros/SitemapForSpace.vm | 32 +++++++++---------- .../webapp/templates/celMacros/getTabMenu.vm | 4 +-- .../templates/celMacros/openInlineOverlay.vm | 2 +- .../webapp/templates/celTemplates/AddPage.vm | 2 +- .../templates/celTemplates/CreatePage.vm | 8 ++--- .../webapp/templates/celTemplates/CssEdit.vm | 6 ++-- .../templates/celTemplates/FormNGView.vm | 8 ++--- .../templates/celTemplates/ObjectEdit.vm | 15 +++++---- src/main/webapp/templates/celements_ajax.vm | 6 ++-- src/main/webapp/templates/filebase.vm | 4 +-- src/main/webapp/templates/importinline.vm | 2 +- src/main/webapp/templates/overlay.vm | 6 ++-- src/main/webapp/templates/passwd.vm | 6 ++-- src/main/webapp/templates/plainpagetype.vm | 6 ++-- src/main/webapp/templates/rename.vm | 6 ++-- src/main/webapp/templates/suggest.vm | 4 +-- src/main/webapp/templates/xwikivars.vm | 2 +- 35 files changed, 113 insertions(+), 112 deletions(-) diff --git a/src/main/webapp/templates/celAjax/AddPage.vm b/src/main/webapp/templates/celAjax/AddPage.vm index 66c41909..0787c04e 100644 --- a/src/main/webapp/templates/celAjax/AddPage.vm +++ b/src/main/webapp/templates/celAjax/AddPage.vm @@ -5,7 +5,7 @@ #if("$!spaceName" != '') #if("$!request.get('createCurrentDoc')" == 'true') #set($newDocFN = $doc.getFullName()) - #else + #else #set($docNameBase = "$!request.get('docNameBase')") #if("$!docNameBase" != '') #set($newDocFN = $celementsweb.getNextTitledPageFullName("$!spaceName", "$!docNameBase")) @@ -13,8 +13,8 @@ #set($newDocFN = $celementsweb.getNextUntitledPageFullName("$!spaceName")) #end #end - #set($newDocRef = $services.model.resolveDocument($newDocFN)) - #if(!$xwiki.exists($newDocRef)) + #set($newDocRef = $services.model.resolveDocument($newDocFN)) + #if(!$services.modelAccess.exists($newDocRef)) #if("$!request.get('pageType')" != '') #set($newDoc = $services.celementsweb.createDocument($newDocRef, $request.get('pageType'))) #else @@ -25,11 +25,11 @@ #else { "successful" : false , "fullName" : "${newDocFN}", "errorMsg" : "unkown reason." } #end - #else + #else { "successful" : false ,## "fullName" : "${newDocFN}" ,## "errorMsg" : "Document '${newDocFN}' already exists." } #end #else -{ "successful" : false , "errorMsg" : "Failed to get target space." } -#end \ No newline at end of file +{ "successful" : false , "errorMsg" : "Failed to get target space." } +#end diff --git a/src/main/webapp/templates/celAjax/FileBase.vm b/src/main/webapp/templates/celAjax/FileBase.vm index 93262017..7bab929f 100644 --- a/src/main/webapp/templates/celAjax/FileBase.vm +++ b/src/main/webapp/templates/celAjax/FileBase.vm @@ -1,6 +1,6 @@ ## start a Celements Document #parse("celMacros/startCelementsDocument.vm") -$celementsweb.addExtJSfileOnce(':celJS/yui/yahoo-dom-event/yahoo-dom-event.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/yui/yahoo-dom-event/yahoo-dom-event.js', 'file') ## start the celements body (and lazily finalise the header) #parse("celMacros/startCelementsBody.vm") #if("$!request.filebase_mode" == 'FileBaseTags') diff --git a/src/main/webapp/templates/celAjax/TokenFileUploader.vm b/src/main/webapp/templates/celAjax/TokenFileUploader.vm index 40b9e297..3c62880a 100644 --- a/src/main/webapp/templates/celAjax/TokenFileUploader.vm +++ b/src/main/webapp/templates/celAjax/TokenFileUploader.vm @@ -30,7 +30,7 @@ $jsonBuilder.openArray() #set($overwriteFiles = "${overwriteFiles}${delStr} ${clearedFileName}") #set($delStr = ',') #set($!devnull = $listOverwriteFiles.add($filename)) -#end +#end $jsonBuilder.openDictionary() $jsonBuilder.addStringProperty('fileName', "$!{filename}") $jsonBuilder.addStringProperty('clearedFileName', "$!{clearedFileName}") @@ -52,7 +52,7 @@ $services.authentication.getNewCelementsTokenForUser() #elseif("$!request.tfu_mode" == 'upload') #set($createIfNotExists = (("$!context.getUser()" != 'XWiki.XWikiGuest') || ("$!request.celTokenUploadCreateIfNotExists" == 'true'))) #set($attDocRef = $services.model.resolveDocument("$!fullName")) -#if(("$!request.uploadToken" != '') && ("$!fullName" != '') && ($xwiki.exists($attDocRef) || $createIfNotExists)) +#if(("$!request.uploadToken" != '') && ("$!fullName" != '') && ($services.modelAccess.exists($attDocRef) || $createIfNotExists)) #set($numSavedFiles = $services.filebase.tokenBasedUpload($attDocRef, 'filepath', $request.get("uploadToken"), $createIfNotExists)) #set($successful = ($numSavedFiles > 0)) $jsonBuilder.openDictionary() @@ -70,4 +70,4 @@ uploadToken ["$!request.uploadToken"] missing or Document '$fullName' does not e #end #else unkown tfu_mode '$!{request.tfu_mode}'!!! -#end \ No newline at end of file +#end diff --git a/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/del_slide.vm b/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/del_slide.vm index 04113be7..feda53a3 100644 --- a/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/del_slide.vm +++ b/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/del_slide.vm @@ -1,4 +1,4 @@ -#if(("$!elemId" != '') && $xwiki.exists($services.model.resolveDocument($elemId))) +#if(("$!elemId" != '') && $services.modelAccess.exists($services.model.resolveDocument($elemId))) #set($menuItemDocRef = $services.model.resolveDocument($elemId)) #set($xredirect = $doc.getURL('view')) #if("$!xredirect" == '') @@ -10,4 +10,4 @@ #set($l = "${l}")") #set($cmenu_pageLink = "${l}") $cmenu_pageLink## -#end \ No newline at end of file +#end diff --git a/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/edit_page.vm b/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/edit_page.vm index 363918ae..ca7e89fb 100644 --- a/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/edit_page.vm +++ b/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/edit_page.vm @@ -1,5 +1,5 @@ -#if(("$!elemId" != '') && $xwiki.exists($services.model.resolveDocument($elemId))) -#set($menuItemDoc = $xwiki.getDocument($services.model.resolveDocument($elemId))) +#if(("$!elemId" != '') && $services.modelAccess.exists($services.model.resolveDocument($elemId))) +#set($menuItemDoc = $services.modelAccess.getDocument($services.model.resolveDocument($elemId))) #set($xredirect = $doc.getURL('view')) #if("$!xredirect" == '') #set($xredirect = '/') @@ -7,4 +7,4 @@ #set($l = "$!menuItemDoc.getURL('edit')") #set($cmenu_pageLink = "${l}?xredirect=$util.encodeURI(${xredirect})") window.location.href="${cmenu_pageLink}"## -#end \ No newline at end of file +#end diff --git a/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/move_down.vm b/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/move_down.vm index 52e857d8..ccc54f45 100644 --- a/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/move_down.vm +++ b/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/move_down.vm @@ -1,5 +1,5 @@ -#if(("$!elemId" != '') && $xwiki.exists($services.model.resolveDocument($elemId))) -#set($menuItemDoc = $xwiki.getDocument($services.model.resolveDocument($elemId))) +#if(("$!elemId" != '') && $services.modelAccess.exists($services.model.resolveDocument($elemId))) +#set($menuItemDoc = $services.modelAccess.getDocument($services.model.resolveDocument($elemId))) #set($menuItemObj = $menuItemDoc.getObject('Celements2.MenuItem')) #if("$!menuItemObj" != '') #if("$!helpNav" == '') @@ -14,4 +14,4 @@ window.location.href="${cmenu_pageLink}"## #end #end -#end \ No newline at end of file +#end diff --git a/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/move_up.vm b/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/move_up.vm index 544274d2..b120c420 100644 --- a/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/move_up.vm +++ b/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/move_up.vm @@ -1,4 +1,4 @@ -#if(("$!elemId" != '') && $xwiki.exists($services.model.resolveDocument($elemId))) +#if(("$!elemId" != '') && $services.modelAccess.exists($services.model.resolveDocument($elemId))) #set($menuItemDoc = $xwiki.getDocument($services.model.resolveDocument($elemId))) #set($menuItemObj = $menuItemDoc.getObject('Celements2.MenuItem')) #if("$!menuItemObj" != '') @@ -14,4 +14,4 @@ window.location.href="${cmenu_pageLink}"## #end #end -#end \ No newline at end of file +#end diff --git a/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/slide_properties.vm b/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/slide_properties.vm index 3ccd9518..bc804d90 100644 --- a/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/slide_properties.vm +++ b/src/main/webapp/templates/celContextMenu/cel_cm_presentation_treenode/slide_properties.vm @@ -1,5 +1,5 @@ -#if(("$!elemId" != '') && $xwiki.exists($services.model.resolveDocument($elemId))) -#set($menuItemDoc = $xwiki.getDocument($services.model.resolveDocument($elemId))) +#if(("$!elemId" != '') && $services.modelAccess.exists($services.model.resolveDocument($elemId))) +#set($menuItemDoc = $services.modelAccess.getDocument($services.model.resolveDocument($elemId))) #set($xredirect = $doc.getURL('view')) #if("$!xredirect" == '') #set($xredirect = '/') @@ -7,4 +7,4 @@ #set($l = "$!menuItemDoc.getURL('edit', 'tab=tb4')") #set($cmenu_pageLink = "${l}&xredirect=$util.encodeURI(${xredirect})") window.location.href="${cmenu_pageLink}"## -#end \ No newline at end of file +#end diff --git a/src/main/webapp/templates/celInlineTemplates/login.vm b/src/main/webapp/templates/celInlineTemplates/login.vm index 8b103072..393eec32 100644 --- a/src/main/webapp/templates/celInlineTemplates/login.vm +++ b/src/main/webapp/templates/celInlineTemplates/login.vm @@ -15,7 +15,7 @@ #parse('celInlineTemplates/loginDisabledMessage.vm') #else ## start login script #if("$!request.get('ac')" != '') - #parse("activateaccount.vm") + #parse("activateaccount.vm") #end #if("$!celUserDataFieldLogin" == '') #set($celUserDataFieldLogin = "$!services.celementsweb.getPossibleLogins()") @@ -94,7 +94,7 @@
#passRecoveryLink() #xwikimessageboxend() -$celementsweb.addExtJSfileOnce(':celJS/login.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/login.js', 'file') #elseif(("$!celementsloginform" != '') && ($xwiki.exists("$celementsloginform"))) $xwiki.includeForm("$celementsloginform", false) #else ## celementslogin diff --git a/src/main/webapp/templates/celInlineTemplates/view.vm b/src/main/webapp/templates/celInlineTemplates/view.vm index b6fc12b6..5b6ed860 100644 --- a/src/main/webapp/templates/celInlineTemplates/view.vm +++ b/src/main/webapp/templates/celInlineTemplates/view.vm @@ -1,7 +1,7 @@ ## init Celements variables #set($isCellSkin = false) ##only include if legacy celements2web.xar is installed -#if($xwiki.exists($services.model.resolveDocument('celements2web:Macros.initCelements'))) +#if($services.modelAccess.exists($services.model.resolveDocument('celements2web:Macros.initCelements'))) $xwiki.includeForm("celements2web:Macros.initCelements", false) #end #set($pagetype_api = $celementsweb.getPageType($doc.fullName)) @@ -23,4 +23,4 @@ $xwiki.celementsweb.includeCSSAfterPreferences(':celRes/celementsOverlay.css') #end #if(!$contextIsFinished && ($show_frame || ("$context.action" == 'edit'))) $xwiki.parseTemplate("framefooter.vm") -#end \ No newline at end of file +#end diff --git a/src/main/webapp/templates/celMacros/CelCookieEnabledTest.vm b/src/main/webapp/templates/celMacros/CelCookieEnabledTest.vm index b4dbc507..323872dc 100644 --- a/src/main/webapp/templates/celMacros/CelCookieEnabledTest.vm +++ b/src/main/webapp/templates/celMacros/CelCookieEnabledTest.vm @@ -1 +1 @@ -$celementsweb.addExtJSfileOnce(':celJS/celCookiesEnabled/cookiesEnabledQuery.js', 'file') \ No newline at end of file +$services.javascript.addExtJSfileOnce(':celJS/celCookiesEnabled/cookiesEnabledQuery.js', 'file') diff --git a/src/main/webapp/templates/celMacros/CelTabMenu.vm b/src/main/webapp/templates/celMacros/CelTabMenu.vm index 87ef806d..3b4f854c 100644 --- a/src/main/webapp/templates/celMacros/CelTabMenu.vm +++ b/src/main/webapp/templates/celMacros/CelTabMenu.vm @@ -8,7 +8,7 @@ #set($cel_supressBeforeUnload = false) {"tabMenuPanelConfig" : ## #set($ajaxDocRef = $services.model.resolveDocument('Ajax.tabMenuPanelConfig')) -#if($xwiki.exists($ajaxDocRef) && !$celementsweb.isEmptyRTEDocument($ajaxDocRef)) +#if($services.modelAccess.exists($ajaxDocRef) && !$services.emptycheck.isEmptyRTEDocument($ajaxDocRef)) $xwiki.includeForm('Ajax.tabMenuPanelConfig', false) #else $xwiki.parseTemplate('celAjax/tabMenuPanelConfig.vm') @@ -31,16 +31,16 @@ $xwiki.parseTemplate('celAjax/tabMenuPanelConfig.vm') "supressBeforeUnload" : $!{cel_supressBeforeUnload},## #end #set($ajaxDocRef = $services.model.resolveDocument('Ajax.additionalEditorMessages')) -#if($xwiki.exists($ajaxDocRef) && !$celementsweb.isEmptyRTEDocument($ajaxDocRef)) +#if($services.modelAccess.exists($ajaxDocRef) && !$services.emptycheck.isEmptyRTEDocument($ajaxDocRef)) #set($addEditorMessages = $xwiki.includeForm('Ajax.additionalEditorMessages', false)) #else #set($addEditorMessages = $xwiki.parseTemplate('celAjax/additionalEditorMessages.vm')) #end #if("$!addEditorMessages" == '') -#set($addEditorMessages = "{}") +#set($addEditorMessages = "{}") #end "additionalEditorMessages" : $!{addEditorMessages.replaceAll('[\n\r]','')}## }## #else error: unknown tm_mode : '$!{request.tm_mode}'!! -#end \ No newline at end of file +#end diff --git a/src/main/webapp/templates/celMacros/ChangePassword.vm b/src/main/webapp/templates/celMacros/ChangePassword.vm index aaac1235..54e2cad4 100644 --- a/src/main/webapp/templates/celMacros/ChangePassword.vm +++ b/src/main/webapp/templates/celMacros/ChangePassword.vm @@ -16,7 +16,7 @@ #set($styleHeight = 200) #set($styleWidth = 275) -$celementsweb.addExtJSfileOnce(':celJS/prototype.js') +$services.javascript.addExtJSfileOnce(':celJS/prototype.js') #if($cel_user_doc_passwd.getObject("XWiki.XWikiUsers", 0)) #if($context.user == $cel_user_doc_passwd.fullName || $isAdmin) #set($forcePasswordChange = false) diff --git a/src/main/webapp/templates/celMacros/ContextMenues.vm b/src/main/webapp/templates/celMacros/ContextMenues.vm index 559079dc..cb3a06e4 100644 --- a/src/main/webapp/templates/celMacros/ContextMenues.vm +++ b/src/main/webapp/templates/celMacros/ContextMenues.vm @@ -6,10 +6,10 @@ #foreach($item in $services.contextMenu.getAllCMcssClasses()) #set($cmDocRef = $services.model.resolvDocument("CelementsContextMenu.$!item")) - #set($cm_doc = $xwiki.getDocument($cmDocRef)) + #set($cm_doc = $services.modelAccess.getDocument($cmDocRef)) #set($editLink = $cm_doc.getURL('edit', "editor=object&xredirect=$!{doc.getURL('view')}")) - #if($xwiki.exists($cmDocRef)) + #if($services.modelAccess.exists($cmDocRef)) $!item #end @@ -19,4 +19,4 @@
#else You need admin rights to view the complete Celements Context Menu listing. -#end \ No newline at end of file +#end diff --git a/src/main/webapp/templates/celMacros/ImportBase.vm b/src/main/webapp/templates/celMacros/ImportBase.vm index 61bc078e..b95052ca 100644 --- a/src/main/webapp/templates/celMacros/ImportBase.vm +++ b/src/main/webapp/templates/celMacros/ImportBase.vm @@ -3,11 +3,11 @@ ##FIXME in import mode? -$celementsweb.addExtJSfileOnce(':celJS/import/importManager.js') +$services.javascript.addExtJSfileOnce(':celJS/import/importManager.js') ## ATTENTION - Includes for old servers - #* -$celementsweb.addExtJSfileOnce($celSkin_doc.getAttachmentURL('importManager.js', 'skin'))*# +$services.javascript.addExtJSfileOnce($celSkin_doc.getAttachmentURL('importManager.js', 'skin'))*# #set($space = "$!request.get('space')") #if("$!space" == '') #set($space = $doc.getSpace()) @@ -44,7 +44,7 @@ $celementsweb.addExtJSfileOnce($celSkin_doc.getAttachmentURL('importManager.js', #set($allowedExtentions = "zip") #set($action = "") #set($preimportLink = "$!{doc.getURL()}?xpage=celements_ajax&ajax_mode=ImportPhoto&gallery=$!{doc.getFullName()}") - $celementsweb.addExtJSfileOnce(':celJS/import/import-photo.js') + $services.javascript.addExtJSfileOnce(':celJS/import/import-photo.js') #set($initFilters = "tag1") #end #if($preimportLink.length() > 0) @@ -137,4 +137,4 @@ $celementsweb.addExtJSfileOnce($celSkin_doc.getAttachmentURL('importManager.js', #end #else $msg.get('sgr_import_denied') -#end \ No newline at end of file +#end diff --git a/src/main/webapp/templates/celMacros/MediaLib.vm b/src/main/webapp/templates/celMacros/MediaLib.vm index 435c7a88..11c20707 100644 --- a/src/main/webapp/templates/celMacros/MediaLib.vm +++ b/src/main/webapp/templates/celMacros/MediaLib.vm @@ -15,20 +15,20 @@ $xwiki.parseTemplate("celMacros/DarkBox.vm") celJS/mediaLib/mediaLib-upload.js
#else - $celementsweb.addExtJSfileOnce(':celJS/prototype.js') - $celementsweb.addExtJSfileOnce(':celJS/yui/utilities/utilities.js') - $celementsweb.addExtJSfileOnce(':celJS/yui/datasource/datasource-min.js') - $celementsweb.addExtJSfileOnce(':celJS/yui/datatable/datatable-min.js') - $celementsweb.addExtJSfileOnce(':celJS/yui/dragdrop/dragdrop-min.js') - $celementsweb.addExtJSfileOnce(':celJS/yui/json/json-min.js') - $celementsweb.addExtJSfileOnce(':celJS/mediaLib/mediaLib.js') - $celementsweb.addExtJSfileOnce(':celJS/mediaLib/mediaLib-upload.js') + $services.javascript.addExtJSfileOnce(':celJS/prototype.js') + $services.javascript.addExtJSfileOnce(':celJS/yui/utilities/utilities.js') + $services.javascript.addExtJSfileOnce(':celJS/yui/datasource/datasource-min.js') + $services.javascript.addExtJSfileOnce(':celJS/yui/datatable/datatable-min.js') + $services.javascript.addExtJSfileOnce(':celJS/yui/dragdrop/dragdrop-min.js') + $services.javascript.addExtJSfileOnce(':celJS/yui/json/json-min.js') + $services.javascript.addExtJSfileOnce(':celJS/mediaLib/mediaLib.js') + $services.javascript.addExtJSfileOnce(':celJS/mediaLib/mediaLib-upload.js') #end #if("$!mediaLibId" == "") #set($mediaLibId = "c2_ml_content") #end #if("$!request.xpage" == 'overlay') - $celementsweb.addExtJSfileOnce(':celJS/mediaLib/resize.js') + $services.javascript.addExtJSfileOnce(':celJS/mediaLib/resize.js') #end ## colmn #if(("$!initColumns" == '') || ("$!request.get('columns')" != '')) diff --git a/src/main/webapp/templates/celMacros/Scheduler.vm b/src/main/webapp/templates/celMacros/Scheduler.vm index 874a7567..ce18a993 100644 --- a/src/main/webapp/templates/celMacros/Scheduler.vm +++ b/src/main/webapp/templates/celMacros/Scheduler.vm @@ -1,4 +1,4 @@ -$celementsweb.addExtJSfileOnce(':js/xwiki/xwiki.js') +$services.javascript.addExtJSfileOnce(':js/xwiki/xwiki.js')

$adminMsg.get("xe.scheduler")

## First, set a shortcut to our Scheduler plugin ## @@ -196,4 +196,4 @@ $adminMsg.get('xe.scheduler.welcome')
$adminMsg.get('xe.scheduler.jobs.warning'))
-#end \ No newline at end of file +#end diff --git a/src/main/webapp/templates/celMacros/SendNewsletterInjectedReceivers.vm b/src/main/webapp/templates/celMacros/SendNewsletterInjectedReceivers.vm index beb5b8ca..fe966fb9 100644 --- a/src/main/webapp/templates/celMacros/SendNewsletterInjectedReceivers.vm +++ b/src/main/webapp/templates/celMacros/SendNewsletterInjectedReceivers.vm @@ -1,5 +1,5 @@ #if($isSuperAdmin) - $celementsweb.addExtJSfileOnce(':celJS/adminUi/sendNewsletterInjectedReceivers.js', 'file') + $services.javascript.addExtJSfileOnce(':celJS/adminUi/sendNewsletterInjectedReceivers.js', 'file') #set($obj = $doc.getObject('Classes.NewsletterConfigClass'))

Send to injected newsletter receivers (super admin only)

@@ -44,4 +44,4 @@ #end #else

You need to be admin to use.

-#end \ No newline at end of file +#end diff --git a/src/main/webapp/templates/celMacros/SitemapForSpace.vm b/src/main/webapp/templates/celMacros/SitemapForSpace.vm index 2768b6d7..2a905060 100644 --- a/src/main/webapp/templates/celMacros/SitemapForSpace.vm +++ b/src/main/webapp/templates/celMacros/SitemapForSpace.vm @@ -75,22 +75,22 @@ $adminMsg.get('cel_overlay_title_sitemap')##
-$celementsweb.addExtJSfileOnce(':celJS/yui/yahoo/yahoo-min.js', 'file') -$celementsweb.addExtJSfileOnce(':celJS/yui/event/event-min.js', 'file') -$celementsweb.addExtJSfileOnce(':celJS/yui/yahoo-dom-event/yahoo-dom-event.js', 'file') -$celementsweb.addExtJSfileOnce(':celJS/yui/dom/dom-min.js', 'file') -$celementsweb.addExtJSfileOnce(':celJS/yui/element/element-min.js', 'file') -$celementsweb.addExtJSfileOnce(':celJS/yui/connection/connection-min.js', 'file') -$celementsweb.addExtJSfileOnce(':celJS/yui/json/json-min.js', 'file') -$celementsweb.addExtJSfileOnce(':celJS/yui/dragdrop/dragdrop-min.js', 'file') -$celementsweb.addExtJSfileOnce(':celJS/yui/element/element-min.js', 'file') -$celementsweb.addExtJSfileOnce(':celJS/yui/button/button-min.js', 'file') -$celementsweb.addExtJSfileOnce(':celJS/yui/container/container-min.js', 'file') -$celementsweb.addExtJSfileOnce(':celJS/yui/utilities/utilities.js', 'file') -$celementsweb.addExtJSfileOnce(':celJS/yui/animation/animation-min.js', 'file') -$celementsweb.addExtJSfileOnce(':celJS/navigation/reorderMenuItems.js', 'file') -$celementsweb.addExtJSfileOnce(':celJS/celpresentation/reorder.js', 'file') -$celementsweb.addExtJSfileOnce(':celJS/celpresentation/sitemap.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/yui/yahoo/yahoo-min.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/yui/event/event-min.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/yui/yahoo-dom-event/yahoo-dom-event.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/yui/dom/dom-min.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/yui/element/element-min.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/yui/connection/connection-min.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/yui/json/json-min.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/yui/dragdrop/dragdrop-min.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/yui/element/element-min.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/yui/button/button-min.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/yui/container/container-min.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/yui/utilities/utilities.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/yui/animation/animation-min.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/navigation/reorderMenuItems.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/celpresentation/reorder.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/celpresentation/sitemap.js', 'file') #set($structNav = $celementsweb.createNavigation()) $structNav.setMenuPart("") diff --git a/src/main/webapp/templates/celMacros/getTabMenu.vm b/src/main/webapp/templates/celMacros/getTabMenu.vm index 5aa8b3fa..b7bd84bc 100644 --- a/src/main/webapp/templates/celMacros/getTabMenu.vm +++ b/src/main/webapp/templates/celMacros/getTabMenu.vm @@ -8,7 +8,7 @@ #if(("$!menuPanelWidth" == '') || ($menuPanelWidth < 630)) #set($menuPanelWidth = 630) #end -$celementsweb.addExtJSfileOnce(":celJS/editResize.js") +$services.javascript.addExtJSfileOnce(":celJS/editResize.js")
## @@ -32,4 +32,4 @@ $xwiki.parseTemplate("celEditorTabs/loadTabContent.vm")
#end -
\ No newline at end of file + diff --git a/src/main/webapp/templates/celMacros/openInlineOverlay.vm b/src/main/webapp/templates/celMacros/openInlineOverlay.vm index f6768546..88f1cf30 100644 --- a/src/main/webapp/templates/celMacros/openInlineOverlay.vm +++ b/src/main/webapp/templates/celMacros/openInlineOverlay.vm @@ -43,7 +43,7 @@ #end ## TODO look for better solution. closebutton disapears with supersleight ## #set($closeButtonClass = "cel_closebutton") #if("$!exitOnClose" == "") diff --git a/src/main/webapp/templates/celTemplates/AddPage.vm b/src/main/webapp/templates/celTemplates/AddPage.vm index d96da6fd..30378ccc 100644 --- a/src/main/webapp/templates/celTemplates/AddPage.vm +++ b/src/main/webapp/templates/celTemplates/AddPage.vm @@ -33,7 +33,7 @@ #set($complete = ($request_menu_link != "")) #set($newDocFN = "${space}.$request_menu_link") #set($newDocRef = $services.reference.resolveDocRef($newDocFN)) -#set($exists = $xwiki.exists($newDocRef)) +#set($exists = $services.modelAccess.exists($newDocRef)) ## check for valid Document Name #set($valid = ($request_menu_link == $xwiki.getFormEncoded($request_menu_link))) #set($addPage_isMovable = true) diff --git a/src/main/webapp/templates/celTemplates/CreatePage.vm b/src/main/webapp/templates/celTemplates/CreatePage.vm index 6473d3ef..20692f56 100644 --- a/src/main/webapp/templates/celTemplates/CreatePage.vm +++ b/src/main/webapp/templates/celTemplates/CreatePage.vm @@ -25,7 +25,7 @@ #set($complete = ($request_menu_link != "")) #set($newDocFN = "${space}.$request_menu_link") #set($newDocRef = $services.model.resolveDocument($newDocFN)) -#set($exists = $xwiki.exists($newDocRef)) +#set($exists = $services.modelAccess.exists($newDocRef)) ## check for valid Document Name #set($valid = ($request_menu_link == $xwiki.getFormEncoded($request_menu_link))) @@ -41,7 +41,7 @@ ## page-layout #if("$!request.get('page_layout')" != '') #set($pageTypeObj = $new_doc.getObject('Celements2.PageType')) - $pageTypeObj.set('page_layout', "$!request.get('page_layout')") + $pageTypeObj.set('page_layout', "$!request.get('page_layout')") #end #if(("$!request.templateDoc" != '') && $xwiki.exists("$!request.templateDoc")) #set($templateDocRef = $services.model.resolveDocument("$!request.templateDoc")) @@ -60,7 +60,7 @@ #set($redirXredirect = "$!{redirXredirect}&xredirect=$xwiki.getURLEncoded($redir)") #end #set($redir = "$!{xwiki.getURL($new_doc.getFullName(),'edit', $!redirXredirect)}") - #else + #else #set($redir = "$!{xwiki.getURL($new_doc.getFullName(),'edit')}?tab=tb2") #end #end @@ -169,4 +169,4 @@ Validation.add('validate-docname', '$adminMsg.get('cel_tm_validate_warning')', f #if($filled && (!$complete || !$valid)) var result = valid.validate(); #end - \ No newline at end of file + diff --git a/src/main/webapp/templates/celTemplates/CssEdit.vm b/src/main/webapp/templates/celTemplates/CssEdit.vm index 6a35384e..38461898 100644 --- a/src/main/webapp/templates/celTemplates/CssEdit.vm +++ b/src/main/webapp/templates/celTemplates/CssEdit.vm @@ -4,11 +4,11 @@ #end -$celementsweb.addExtJSfileOnce(':celJS/codemirror/lib/codemirror.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/codemirror/lib/codemirror.js', 'file') -$celementsweb.addExtJSfileOnce(':celJS/codemirror/addon/edit/closebrackets.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/codemirror/addon/edit/closebrackets.js', 'file') -$celementsweb.addExtJSfileOnce(':celJS/codemirror/mode/css/css.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/codemirror/mode/css/css.js', 'file')
diff --git a/src/main/webapp/templates/celTemplates/FormNGView.vm b/src/main/webapp/templates/celTemplates/FormNGView.vm index 1e706377..0fcf5b9e 100644 --- a/src/main/webapp/templates/celTemplates/FormNGView.vm +++ b/src/main/webapp/templates/celTemplates/FormNGView.vm @@ -109,9 +109,9 @@ $actionScriptOutput #else ## display form from the page content ##TODO: make this configurable: withJSvalidation -$celementsweb.addExtJSfileOnce(':celJS/prototype.js') -$celementsweb.addExtJSfileOnce(':celJS/validation.js') -$celementsweb.addExtJSfileOnce(':celJS/scriptaculous/effects.js') +$services.javascript.addExtJSfileOnce(':celJS/prototype.js') +$services.javascript.addExtJSfileOnce(':celJS/validation.js') +$services.javascript.addExtJSfileOnce(':celJS/scriptaculous/effects.js') #if($hasedit && $debug) execStr: $execStr
complete: $complete
@@ -147,4 +147,4 @@ complete: $complete
#set($errMsg = $msg.get('cel_general_form_failure_msg')) #end

$errMsg

-#end \ No newline at end of file +#end diff --git a/src/main/webapp/templates/celTemplates/ObjectEdit.vm b/src/main/webapp/templates/celTemplates/ObjectEdit.vm index 4019ef83..afe78bc5 100644 --- a/src/main/webapp/templates/celTemplates/ObjectEdit.vm +++ b/src/main/webapp/templates/celTemplates/ObjectEdit.vm @@ -183,13 +183,14 @@ #end #foreach($prop in $properties) #set($classRef = $services.model.resolveDocument($class.getName())) -#if($celementsweb.getSuggestBaseClass($classRef, "$!prop.getName()").isPicker()) -$celementsweb.addExtJSfileOnce(':celJS/prototype.js') -$celementsweb.addExtJSfileOnce(':js/xwiki/xwiki.js', 'file') -$celementsweb.addExtJSfileOnce(':uicomponents/widgets/list/xlist.js', 'file') -$celementsweb.addExtJSfileOnce(':js/xwiki/suggest/ajaxSuggest.js', 'file') -$celementsweb.addExtJSfileOnce(':js/scriptaculous/effects.js', 'file') -$celementsweb.addExtJSfileOnce(':celJS/addSuggest.js', 'file') +#if($services.editorsupport.getSuggestBaseClass($classRef, "$!prop.getName()").isPicker()) +$services.javascript.addExtJSfileOnce(':celJS/prototype.js') +$services.javascript.addExtJSfileOnce(':js/xwiki/xwiki.js', 'file') +$services.javascript.addExtJSfileOnce(':uicomponents/widgets/list/xlist.js', 'file') +<-- ajaxSuggest loaded ?? --> +$services.javascript.addExtJSfileOnce(':js/xwiki/suggest/ajaxSuggest.js', 'file') +$services.javascript.addExtJSfileOnce(':js/scriptaculous/effects.js', 'file') +$services.javascript.addExtJSfileOnce(':celJS/addSuggest.js', 'file') #end #if($cel_embedded_editobj) #set($cel_editobj_validationClass = '') diff --git a/src/main/webapp/templates/celements_ajax.vm b/src/main/webapp/templates/celements_ajax.vm index 9d243c3b..e2694dcc 100644 --- a/src/main/webapp/templates/celements_ajax.vm +++ b/src/main/webapp/templates/celements_ajax.vm @@ -3,7 +3,7 @@ $response.setStatus(404) Unknown ajax_mode [$!{request.ajax_mode}]! #end ## init Celements variables -#if($xwiki.exists($services.model.resolveDocument('celements2web:Macros.initCelements'))) +#if($services.modelAccess.exists($services.model.resolveDocument('celements2web:Macros.initCelements'))) $xwiki.includeForm("celements2web:Macros.initCelements", false) #end #if("$!request.ajax_mode" == 'CelTabEditAjax') @@ -11,9 +11,9 @@ $xwiki.includeForm("celements2web:Macros.Ajax", false) #elseif("$!request.ajax_mode" != '') #set($ajaxScriptDocRef = $services.model.resolveDocument("Ajax.${request.ajax_mode}")) #set($ajaxScript2DocRef = $services.model.resolveDocument("celements2web:Ajax.${request.ajax_mode}")) -#if($xwiki.exists($ajaxScriptDocRef) && !$celementsweb.isEmptyRTEDocument($ajaxScriptDocRef)) +#if($services.modelAccess.exists($ajaxScriptDocRef) && !$services.emptycheck.isEmptyRTEDocument($ajaxScriptDocRef)) $xwiki.includeForm("Ajax.${request.ajax_mode}", false) -#elseif($xwiki.exists($ajaxScript2DocRef) && !$celementsweb.isEmptyRTEDocument($ajaxScript2DocRef)) +#elseif($services.modelAccess.exists($ajaxScript2DocRef) && !$services.emptycheck.isEmptyRTEDocument($ajaxScript2DocRef)) ## DEPRECATED !!! PLEASE PUT IN celements-web celAjax FOLDER ON DISK $xwiki.includeForm("celements2web:Ajax.${request.ajax_mode}", false) #else diff --git a/src/main/webapp/templates/filebase.vm b/src/main/webapp/templates/filebase.vm index 5798f5c6..0a6892fc 100644 --- a/src/main/webapp/templates/filebase.vm +++ b/src/main/webapp/templates/filebase.vm @@ -2,7 +2,7 @@ #set($skinBodyAttributes = " style='overflow:hidden;'") #set($cel_loadAdminMenuBar = false) #* -#if($xwiki.exists($services.model.resolveDocument('Celements2.FileBase'))) +#if($services.modelAccess.exists($services.model.resolveDocument('Celements2.FileBase'))) #set($celementsLoadInOverlay = 'Celements2.FileBase') #else #set($celementsLoadInOverlay = 'celements2web:Celements2.FileBase') @@ -12,4 +12,4 @@ #set($showOverlayLanguageBar = false) #set($showCloseOverlayButton = true) #set($closeOverlayRedirect = "$!request.get('xredirect')") -#template("view.vm") \ No newline at end of file +#template("view.vm") diff --git a/src/main/webapp/templates/importinline.vm b/src/main/webapp/templates/importinline.vm index 7b2d4fa2..b5657f10 100644 --- a/src/main/webapp/templates/importinline.vm +++ b/src/main/webapp/templates/importinline.vm @@ -25,7 +25,7 @@ #if("$!{request.action}" == 'import')

$msg.get('import') #if("$!{request.withversions}" == '1')$msg.get('export_addhistory')#end

#elseif(("$!{request.action}" == "resetprogrammingrights") && $context.getUser().startsWith('xwiki:')) -resetting programming rights for celements2web: $celementsweb.resetProgrammingRights() +resetting programming rights for celements2web: $services.celementsweb.resetProgrammingRights() ##--------------------------------------------------------------------------- ## Browse the XARs and let the user select a XAR and the list of documents ## to import from that XAR. diff --git a/src/main/webapp/templates/overlay.vm b/src/main/webapp/templates/overlay.vm index 0fca875b..4534515c 100644 --- a/src/main/webapp/templates/overlay.vm +++ b/src/main/webapp/templates/overlay.vm @@ -14,9 +14,9 @@ #set($overlayScriptDocRef = $services.model.resolveDocument("Overlay.$!{overlayConfName}")) #set($overlayScript2DocRef = $services.model.resolveDocument("celements2web:Overlay.$!{overlayConfName}")) #end -#if(("$!overlayScriptDocRef" != '') && $xwiki.exists($overlayScriptDocRef) && !$celementsweb.isEmptyRTEDocument($overlayScriptDocRef)) +#if(("$!overlayScriptDocRef" != '') && $services.modelAccess.exists($overlayScriptDocRef) && !$services.emptycheck.isEmptyRTEDocument($overlayScriptDocRef)) $xwiki.includeForm("Overlay.$!overlayConfName", false) -#elseif(("$!overlayScript2DocRef" != '') && $xwiki.exists($overlayScript2DocRef) && !$celementsweb.isEmptyRTEDocument($overlayScript2DocRef)) +#elseif(("$!overlayScript2DocRef" != '') && $services.modelAccess.exists($overlayScript2DocRef) && !$services.emptycheck.isEmptyRTEDocument($overlayScript2DocRef)) ## DEPRECATED !!! PLEASE PUT IN celements-web celOverlay FOLDER ON DISK $xwiki.includeForm("celements2web:Overlay.$!overlayConfName", false) #else @@ -40,4 +40,4 @@ $overlayResult #end #end #end -#parse("view.vm") \ No newline at end of file +#parse("view.vm") diff --git a/src/main/webapp/templates/passwd.vm b/src/main/webapp/templates/passwd.vm index 6f6d9127..3d906bcf 100644 --- a/src/main/webapp/templates/passwd.vm +++ b/src/main/webapp/templates/passwd.vm @@ -2,11 +2,11 @@ #set($skinBodyAttributes = " style='overflow:hidden;'") #set($cel_loadAdminMenuBar = false) #set($overlayBodyCssClasses = 'celPasswordChange') -#if($xwiki.exists($services.model.resolveDocument('Celements2.ChangePassword'))) +#if($services.modelAccess.exists($services.model.resolveDocument('Celements2.ChangePassword'))) #set($celementsLoadInOverlay = 'Celements2.ChangePassword') -#elseif($xwiki.exists($services.model.resolveDocument('celements2web:Celements2.ChangePassword'))) +#elseif($services.modelAccess.exists($services.model.resolveDocument('celements2web:Celements2.ChangePassword'))) #set($celementsLoadInOverlay = 'celements2web:Celements2.ChangePassword') #else #set($celementsLoadInOverlay = 'celMacros/ChangePassword.vm') #end -#template("view.vm") \ No newline at end of file +#template("view.vm") diff --git a/src/main/webapp/templates/plainpagetype.vm b/src/main/webapp/templates/plainpagetype.vm index bd9de438..6b361a6f 100644 --- a/src/main/webapp/templates/plainpagetype.vm +++ b/src/main/webapp/templates/plainpagetype.vm @@ -1,11 +1,11 @@ ##only include if legacy celements2web.xar is installed -#if($xwiki.exists($services.model.resolveDocument('celements2web:Macros.initCelements'))) +#if($services.modelAccess($services.model.resolveDocument('celements2web:Macros.initCelements'))) $xwiki.includeForm("celements2web:Macros.initCelements", false) #end ## start a Celements Document $xwiki.parseTemplate("celMacros/startCelementsDocument.vm") ## start the celements body (and lacily finalise the header) $xwiki.parseTemplate("celMacros/startCelementsBody.vm") -$xwiki.celementsweb.renderCelementsDocument($doc.documentReference) +$services.celementsweb.renderCelementsDocument($doc.documentReference) ## -#parse('celMacros/finaliseCelementsDocument.vm') \ No newline at end of file +#parse('celMacros/finaliseCelementsDocument.vm') diff --git a/src/main/webapp/templates/rename.vm b/src/main/webapp/templates/rename.vm index a1dc8a2a..81115b5c 100644 --- a/src/main/webapp/templates/rename.vm +++ b/src/main/webapp/templates/rename.vm @@ -32,7 +32,7 @@ $response.setStatus(400) #error($msg.get('core.rename.emptyName')) #template("renameStep1.vm") - #elseif($xwiki.exists($newFullName)) + #elseif($services.modelAccess.exists($newFullName)) $response.setStatus(409) #error("$msg.get('core.rename.alreadyExists', [$newFullName, $xwiki.getURL($newFullName)])") #template("renameStep1.vm") @@ -56,7 +56,7 @@ #set ($oldDocName = $doc.fullName) ## $doc.rename($newFullName, $renamedBLs, $children) -$celementsweb.renameDoc($oldDocName, $newFullName) +$services.celementsweb.renameDoc($oldDocName, $newFullName) #xwikimessageboxstart("$msg.get('notice')" "$msg.get('core.rename.success', [$oldDocName, $doc.fullName, $xwiki.getURL($doc.fullName)])") #xwikimessageboxend() @@ -65,4 +65,4 @@ $celementsweb.renameDoc($oldDocName, $newFullName)
## main #template("endpage.vm") -#end \ No newline at end of file +#end diff --git a/src/main/webapp/templates/suggest.vm b/src/main/webapp/templates/suggest.vm index 767ed494..1ba49c14 100644 --- a/src/main/webapp/templates/suggest.vm +++ b/src/main/webapp/templates/suggest.vm @@ -6,7 +6,7 @@ $response.setContentType("text/xml") #set($secCol = "$!{request.get('secCol')}") #set($templatename = $classname + 'Template') #set($classref = $services.model.resolveDocument($classname)) -#set($p = $celementsweb.getSuggestBaseClass($classref, $fieldname)) +#set($p = $services.editorsupport.getSuggestBaseClass($classref, $fieldname)) #set($hibquery = "$!p.getSql()") ## ## Determine what was the input. If the property accepts multiple values and has separators, then @@ -24,7 +24,7 @@ $response.setContentType("text/xml") #end ##TODO use extended api with secCol and other fields -#set($results = $celementsweb.getSuggestList($classref, $fieldname, "%${input}%")) +#set($results = $services.editorsupport.getSuggestList($classref, $fieldname, "%${input}%")) ## ######################### User hibernate query #if("$!hibquery" != "") diff --git a/src/main/webapp/templates/xwikivars.vm b/src/main/webapp/templates/xwikivars.vm index a54b6934..b65cc785 100644 --- a/src/main/webapp/templates/xwikivars.vm +++ b/src/main/webapp/templates/xwikivars.vm @@ -12,7 +12,7 @@ ## Note: The document name is not internally used to determine if a user has programming access level. We pass XWiki.XWikiPreferences for consistency with the call for global admin #set ($hasProgramming = $xwiki.hasAccessLevel('programming', $xcontext.user, 'XWiki.XWikiPreferences')) #set ($hasSpaceAdmin = $xwiki.hasAccessLevel('admin', $xcontext.user, "${doc.space}.WebPreferences")) -#set ($hasWatch = $xwiki.watchlist && !$isGuest && !$isSuperAdmin && $xwiki.exists($services.model.serialize($services.model.createDocumentReference($xcontext.wiki, 'XWiki', 'XWikiUserWatchListSheet'), 'local'))) +#set ($hasWatch = $xwiki.watchlist && !$isGuest && !$isSuperAdmin && $services.modelAccess.exists($services.model.createDocumentReference($xcontext.wiki, 'XWiki', 'XWikiUserWatchListSheet'), 'local')) ## ## Are comments, attachments, history etc. enabled? ## From c7783b7f27be1d0308386bef4121826dad7c6f26 Mon Sep 17 00:00:00 2001 From: Fabian Pichler Date: Sun, 8 Mar 2026 00:20:04 +0100 Subject: [PATCH 18/25] replace skinx hook with celements css and js collectors --- src/main/webapp/templates/stylesheets.vm | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/main/webapp/templates/stylesheets.vm b/src/main/webapp/templates/stylesheets.vm index 62500a7a..bdc8f9e5 100644 --- a/src/main/webapp/templates/stylesheets.vm +++ b/src/main/webapp/templates/stylesheets.vm @@ -24,13 +24,7 @@ #end #end #end -## IE specific stylesheets - - -## Hook for inserting CSS skin extensions - - +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':celDynJS/DynamicLoader/celLazyLoader.mjs'))## +$!services.javascript.getAllExternalJavaScriptFiles() From 24ab43acca5141d9ac1b86cf989e33325c26d4b8 Mon Sep 17 00:00:00 2001 From: Fabian Pichler Date: Sun, 8 Mar 2026 00:29:35 +0100 Subject: [PATCH 19/25] correct undefined error in compatibility.js --- .../resources/js/xwiki/compatibility.js | 327 +++++++++--------- 1 file changed, 165 insertions(+), 162 deletions(-) diff --git a/src/main/webapp/resources/js/xwiki/compatibility.js b/src/main/webapp/resources/js/xwiki/compatibility.js index 6c0e276a..15bc6a20 100644 --- a/src/main/webapp/resources/js/xwiki/compatibility.js +++ b/src/main/webapp/resources/js/xwiki/compatibility.js @@ -4,188 +4,191 @@ * All usage of deprecated code should log warnings in the console to help developers * moving to new code. */ -(function(){ - -/** - * If possible, log a warning message to the console. - * If not, does nothing. - */ -function warn(message){ - if (typeof console != "undefined" && typeof console.warn == "function") { - console.warn(message); +(function () { + + /** + * If possible, log a warning message to the console. + * If not, does nothing. + */ + function warn(message) { + if (typeof console != "undefined" && typeof console.warn == "function") { + console.warn(message); + } } -} -/** - * Deprecated since 2.6RC2 - */ -if (typeof XWiki.widgets == 'object' && typeof XWiki.widgets.FullScreen == 'function') { - XWiki.editors = XWiki.editors || {}; - XWiki.editors.FullScreenEditing = Class.create(XWiki.widgets.FullScreen, { - initialize: function($super){ - warn("XWiki.editors.FullScreenEditing is deprecated since XWiki 2.6RC2. Use XWiki.widgets.FullScreen instead."); - $super(); - } - }); -} + /** + * Deprecated since 2.6RC2 + */ + if (typeof XWiki.widgets == 'object' && typeof XWiki.widgets.FullScreen == 'function') { + XWiki.editors = XWiki.editors || {}; + XWiki.editors.FullScreenEditing = Class.create(XWiki.widgets.FullScreen, { + initialize: function ($super) { + warn("XWiki.editors.FullScreenEditing is deprecated since XWiki 2.6RC2. Use XWiki.widgets.FullScreen instead."); + $super(); + } + }); + } -/** - * _xwk is an old namespace for XWiki code that was optional - * Deprecated since 2.6RC1 - */ -if (window.useXWKns) { - warn("_xwk namespace is deprecated since XWiki 2.6RC1. Use the XWiki namespace instead."); - if (typeof _xwk == "undefined") { - _xwk = new Object(); + /** + * _xwk is an old namespace for XWiki code that was optional + * Deprecated since 2.6RC1 + */ + if (window.useXWKns) { + warn("_xwk namespace is deprecated since XWiki 2.6RC1. Use the XWiki namespace instead."); + if (typeof _xwk == "undefined") { + _xwk = new Object(); + } + } else { + _xwk = window; } -} else { - _xwk = window; -} -/** - * Deprecated since 2.6RC1 - */ -_xwk.ajaxSuggest = Class.create(XWiki.widgets.Suggest, { - initialize: function($super){ - warn("ajaxSuggest is deprecated since XWiki 2.6RC1. Use XWiki.widgets.Suggest instead."); - var args = $A(arguments) - args.shift(); - $super.apply( _xwk, args ); + /** + * Deprecated since 2.6RC1 + */ + if (typeof XWiki?.widgets?.Suggest !== 'undefined') { + _xwk.ajaxSuggest = Class.create(XWiki.widgets.Suggest, { + initialize: function ($super) { + warn("ajaxSuggest is deprecated since XWiki 2.6RC1. Use XWiki.widgets.Suggest instead."); + var args = $A(arguments) + args.shift(); + $super.apply(_xwk, args); + } + }); } -}); -/** - * Deprecated since 1.9M2 - */ -window.displayDocExtra = XWiki.displayDocExtra.wrap( - function(){ - warn("window.displayDocExtra is deprecated since XWiki 1.9M2. Use XWiki.displayDocExtra instead."); - var args = $A(arguments), proceed = args.shift(); - return proceed.apply(window, args); - } -); + /** + * Deprecated since 1.9M2 + */ + window.displayDocExtra = XWiki.displayDocExtra.wrap( + function () { + warn("window.displayDocExtra is deprecated since XWiki 1.9M2. Use XWiki.displayDocExtra instead."); + var args = $A(arguments), proceed = args.shift(); + return proceed.apply(window, args); + } + ); + + /** + * window.ASSTable + * Deprecated since 1.9M2 + */ + if (typeof XWiki.widgets == "object" && typeof XWiki.widgets.LiveTable == "function") { + window.ASSTable = Class.create(XWiki.widgets.LiveTable, { + initialize: function ($super, url, limit, domNode, scrollNode, filterNode, getHandler, hasFilters, action) { + // warn developers they are using deprecated code. + warn("window.ASSTable is deprecated since XWiki 1.9M2. Use XWiki.widgets.LiveTable instead."); + + if ($("showLimits")) { + // inject an element for pagination since the scroller has been removed. + if ($("showLimits").up("tr")) { + $("showLimits").up("tr").insert({ + 'after': + new Element("tr").update( + new Element("td").update( + new Element("div", { + 'id': domNode + "-pagination", + 'class': "xwiki-grid-pagination-content" + }) + ) + ) + }); + } + // replace the id of the limits element by the one expected by convention by the new LiveTable widget + $("showLimits").id = domNode + "-limits"; + } -/** - * window.ASSTable - * Deprecated since 1.9M2 - */ -if (typeof XWiki.widgets == "object" && typeof XWiki.widgets.LiveTable == "function") { - window.ASSTable = Class.create(XWiki.widgets.LiveTable, { - initialize: function($super, url, limit, domNode, scrollNode, filterNode, getHandler, hasFilters, action) { - // warn developers they are using deprecated code. - warn("window.ASSTable is deprecated since XWiki 1.9M2. Use XWiki.widgets.LiveTable instead."); - - if($("showLimits")) { - // inject an element for pagination since the scroller has been removed. - if($("showLimits").up("tr")) { - $("showLimits").up("tr").insert({'after': - new Element("tr").update( - new Element("td").update( - new Element("div", { - 'id': domNode + "-pagination", - 'class': "xwiki-grid-pagination-content" - }) - ) - ) - }); + if ($('scrollbar1') && $('scrollbar1').up("td")) { + // if it present, remove that annoying pseudo-scroll, the new widget support normal pagination. + if ($('scrollbar1').up("td").next()) { + $('scrollbar1').up("td").next().remove(); // remove the buff td + } + $('scrollbar1').up("td").remove(); // remove the td that holds the scrollbar } - // replace the id of the limits element by the one expected by convention by the new LiveTable widget - $("showLimits").id = domNode + "-limits"; - } - if ($('scrollbar1') && $('scrollbar1').up("td")) { - // if it present, remove that annoying pseudo-scroll, the new widget support normal pagination. - if($('scrollbar1').up("td").next()) { - $('scrollbar1').up("td").next().remove(); // remove the buff td - } - $('scrollbar1').up("td").remove(); // remove the td that holds the scrollbar - } - - if($('table-filters')) { - // replace the id of the filters container by the one expected by convention by the new LiveTable widget - $('table-filters').id = domNode + "-filters"; - } + if ($('table-filters')) { + // replace the id of the filters container by the one expected by convention by the new LiveTable widget + $('table-filters').id = domNode + "-filters"; + } - // Ouf, that should be all for compatibility code, now we call father initialize method of new widget. - // Some arguments are dropped since the new signature is different. - $super(url, domNode, getHandler, {"action" : action}); - } - }); -} + // Ouf, that should be all for compatibility code, now we call father initialize method of new widget. + // Some arguments are dropped since the new signature is different. + $super(url, domNode, getHandler, { "action": action }); + } + }); + } -/** - * Hide the fieldset inside the given form. - * - * @param form {element} The form element. - * - * Deprecated since 2.6 RC1 - */ -window.hideForm = function(form){ - warn("window.hideForm is deprecated since XWiki 2.6RC1. Use a CSS selector + Element#toggleClassName instead."); + /** + * Hide the fieldset inside the given form. + * + * @param form {element} The form element. + * + * Deprecated since 2.6 RC1 + */ + window.hideForm = function (form) { + warn("window.hideForm is deprecated since XWiki 2.6RC1. Use a CSS selector + Element#toggleClassName instead."); form.getElementsByTagName("fieldset").item(0).className = "collapsed"; -} + } -/** - * Hide the fieldset inside the given form if visible, show it if it's not. - * - * @param form {element} The form element. - * - * Deprecated since 2.6 RC1 - */ -window.toggleForm= function(form){ + /** + * Hide the fieldset inside the given form if visible, show it if it's not. + * + * @param form {element} The form element. + * + * Deprecated since 2.6 RC1 + */ + window.toggleForm = function (form) { warn("window.toggleForm is deprecated since XWiki 2.6RC1. Use a CSS selector + Element#toggleClassName instead."); var fieldset = form.getElementsByTagName("fieldset").item(0); - if(fieldset.className == "collapsed"){ - fieldset.className = "expanded"; + if (fieldset.className == "collapsed") { + fieldset.className = "expanded"; } - else{ - fieldset.className = "collapsed"; + else { + fieldset.className = "collapsed"; } -} - -/** - * Deprecated since 2.6RC1 - */ -window.createCookie = XWiki.cookies.create.wrap( - function(){ - warn("window.createCookie is deprecated since XWiki 2.6RC1. Use XWiki.cookies.create instead."); - var args = $A(arguments), proceed = args.shift(); - return proceed.apply(window, args); } -); -/** - * Deprecated since 2.6RC1 - */ -window.readCookie = XWiki.cookies.read.wrap( - function(){ - warn("window.readCookie is deprecated since XWiki 2.6RC1. Use XWiki.cookies.read instead."); - var args = $A(arguments), proceed = args.shift(); - return proceed.apply(window, args); - } -); - -/** - * Deprecated since 2.6RC1 - */ -window.eraseCookie = XWiki.cookies.erase.wrap( - function(){ - warn("window.eraseCookie is deprecated since XWiki 2.6RC1. Use XWiki.cookies.erase instead."); - var args = $A(arguments), proceed = args.shift(); - return proceed.apply(window, args); - } -); - -/** - * Deprecated since 2.6RC1 - */ -window.togglePanelVisibility = XWiki.togglePanelVisibility.wrap( - function(){ - warn("window.togglePanelVisibility is deprecated since XWiki 2.6RC1. Use XWiki.togglePanelVisibility instead."); - var args = $A(arguments), proceed = args.shift(); - return proceed.apply(window, args); - } -); + /** + * Deprecated since 2.6RC1 + */ + window.createCookie = XWiki.cookies.create.wrap( + function () { + warn("window.createCookie is deprecated since XWiki 2.6RC1. Use XWiki.cookies.create instead."); + var args = $A(arguments), proceed = args.shift(); + return proceed.apply(window, args); + } + ); + + /** + * Deprecated since 2.6RC1 + */ + window.readCookie = XWiki.cookies.read.wrap( + function () { + warn("window.readCookie is deprecated since XWiki 2.6RC1. Use XWiki.cookies.read instead."); + var args = $A(arguments), proceed = args.shift(); + return proceed.apply(window, args); + } + ); + + /** + * Deprecated since 2.6RC1 + */ + window.eraseCookie = XWiki.cookies.erase.wrap( + function () { + warn("window.eraseCookie is deprecated since XWiki 2.6RC1. Use XWiki.cookies.erase instead."); + var args = $A(arguments), proceed = args.shift(); + return proceed.apply(window, args); + } + ); + + /** + * Deprecated since 2.6RC1 + */ + window.togglePanelVisibility = XWiki.togglePanelVisibility.wrap( + function () { + warn("window.togglePanelVisibility is deprecated since XWiki 2.6RC1. Use XWiki.togglePanelVisibility instead."); + var args = $A(arguments), proceed = args.shift(); + return proceed.apply(window, args); + } + ); })(); From 1c574dc4c086e82616609a2d08ac86a8b8571d28 Mon Sep 17 00:00:00 2001 From: Fabian Pichler Date: Sun, 8 Mar 2026 00:48:44 +0100 Subject: [PATCH 20/25] add celements css and js collectors for all vm-scripts ending header --- src/main/webapp/templates/chw/tdwwizard.vm | 6 ++++- src/main/webapp/templates/chwmain.vm | 6 ++++- src/main/webapp/templates/javascript.vm | 28 ++++++++-------------- src/main/webapp/templates/stylesheets.vm | 4 ---- 4 files changed, 20 insertions(+), 24 deletions(-) diff --git a/src/main/webapp/templates/chw/tdwwizard.vm b/src/main/webapp/templates/chw/tdwwizard.vm index 7b0f3dc8..18fdf4cd 100644 --- a/src/main/webapp/templates/chw/tdwwizard.vm +++ b/src/main/webapp/templates/chw/tdwwizard.vm @@ -11,6 +11,10 @@ $!xwiki.getSpacePreference("meta") #template("stylesheets.vm") +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':celDynJS/DynamicLoader/celLazyLoader.mjs'))## +$!services.javascript.getAllExternalJavaScriptFiles() #set($saveAddress = $xwiki.getURL("Main.WebHome", "objectadd")) #set($saveAddress = $saveAddress.substring(0, $saveAddress.indexOf("Main/WebHome"))) @@ -111,4 +115,4 @@ $!xwiki.getSpacePreference("meta") - \ No newline at end of file + diff --git a/src/main/webapp/templates/chwmain.vm b/src/main/webapp/templates/chwmain.vm index deb72676..68bbd107 100644 --- a/src/main/webapp/templates/chwmain.vm +++ b/src/main/webapp/templates/chwmain.vm @@ -11,6 +11,10 @@ $!xwiki.getSpacePreference("meta") #template("stylesheets.vm") +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':celDynJS/DynamicLoader/celLazyLoader.mjs'))## +$!services.javascript.getAllExternalJavaScriptFiles() #template("header.vm") @@ -44,4 +48,4 @@ $!xwiki.getSpacePreference("meta") #template("chw/colorpicker.vm") - \ No newline at end of file + diff --git a/src/main/webapp/templates/javascript.vm b/src/main/webapp/templates/javascript.vm index 08f37cf0..6cc8810b 100644 --- a/src/main/webapp/templates/javascript.vm +++ b/src/main/webapp/templates/javascript.vm @@ -3,14 +3,12 @@ ## - ## ## JS Libraries. ## #set($jsService = $services.javascript) #set($extJsParam = $jsService.createExtJSParam().setAction('file')) +$!jsService.includeExtJsFile($extJsParamSync.setJsFile(':celJS/prototype.js'))## $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/scriptaculous/effects.js'))## $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/widgets/modalPopup.js'))## $services.css.includeCSSPage(':js/xwiki/widgets/modalPopup.css')## @@ -42,10 +40,10 @@ $!jsService.includeExtJsFile($extJsParam.setJsFile(':uicomponents/suggest/sugges $services.css.includeCSSPage(':uicomponents/search/searchSuggest.css')## #end #end - - - - +$!jsService.includeExtJsFile($extJsParamSync.setJsFile(':celJS/prototype.js'))## +$!jsService.includeExtJsFile($extJsParamSync.setJsFile(':celJS/jquery.min.js'))## +$!jsService.includeExtJsFile($extJsParamSync.setJsFile(':celJS/jquery-noconflict.js'))## +$!jsService.includeExtJsFile($extJsParamSync.setJsFile(':js/xwiki/xwiki.js'))## #if(($xcontext.action=="inline")||($xcontext.action=="edit") || ($xcontext.action=="admin")) -$xwiki.get('jsfx').use('uicomponents/widgets/validation/livevalidation_prototype.js', true) +$!jsService.includeExtJsFile($extJsParamSync.setJsFile(':uicomponents/widgets/validation/livevalidation_prototype.js'))## $xwiki.get('ssfx').use('uicomponents/widgets/validation/livevalidation.css', true) #end ## -## Hooks for inserting JavaScript skin extensions -## -## - Skin file extension hook. Placed first since skin extensions might need to have xwiki or external libraries included first to be able to work properly - -## - Skin extension hook - -## -## Compatibility "aspect" file for deprecated code. -## Placed at the very end of the stream so that skin file extensions code can be deprecated easily as well. -## +#set($jsService = $services.javascript) +#set($extJsParam = $jsService.createExtJSParam().setAction('file')) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':celDynJS/DynamicLoader/celLazyLoader.mjs'))## +$!services.javascript.getAllExternalJavaScriptFiles() diff --git a/src/main/webapp/templates/stylesheets.vm b/src/main/webapp/templates/stylesheets.vm index bdc8f9e5..c0d86de4 100644 --- a/src/main/webapp/templates/stylesheets.vm +++ b/src/main/webapp/templates/stylesheets.vm @@ -24,7 +24,3 @@ #end #end #end -#set($jsService = $services.javascript) -#set($extJsParam = $jsService.createExtJSParam().setAction('file')) -$!jsService.includeExtJsFile($extJsParam.setJsFile(':celDynJS/DynamicLoader/celLazyLoader.mjs'))## -$!services.javascript.getAllExternalJavaScriptFiles() From 1a32b96dd59f414e797f7d88bea86bd35d9652d1 Mon Sep 17 00:00:00 2001 From: Fabian Pichler Date: Sun, 8 Mar 2026 00:53:06 +0100 Subject: [PATCH 21/25] correct import package listing layout --- .../resources/js/xwiki/importer/import.css | 60 ++++++++++--------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/src/main/webapp/resources/js/xwiki/importer/import.css b/src/main/webapp/resources/js/xwiki/importer/import.css index e4c5f40e..d8fcb081 100644 --- a/src/main/webapp/resources/js/xwiki/importer/import.css +++ b/src/main/webapp/resources/js/xwiki/importer/import.css @@ -1,25 +1,25 @@ #template('colorThemeInit.vm') - /* Overriding skins */ #import ul.xlist li.xitem div.xitemcontainer { - text-indent: 0; + text-indent: 0; } div.legend { - margin-bottom:10px; - font-size:1.33em; - border-bottom:0px solid #D6E1E7; - color:#005A83; - display:block; - font-weight:400; - line-height:1.2em; - margin:20px 0; - overflow:hidden; + margin-bottom: 10px; + font-size: 1.33em; + border-bottom: 0px solid #D6E1E7; + color: #005A83; + display: block; + font-weight: 400; + line-height: 1.2em; + margin: 20px 0; + overflow: hidden; } .clearfloats { - font-size: 0; /* toucan IE6 */ + font-size: 0; + /* toucan IE6 */ margin: -1px 50px 0; background-color: #fff; clear: both; @@ -39,7 +39,7 @@ ul.xlist li.xunderline { } div.loading { - min-height:200px; + min-height: 200px; } /* Package List styles */ @@ -48,7 +48,7 @@ div.loading { width: 51%; } -#packagelist fieldset { +#packagelist fieldset { background-color: $theme.backgroundSecondaryColor; padding: 5px; } @@ -62,7 +62,7 @@ div.loading { #packagelist ul.xlist { margin: 0 !important; list-style: none; - padding: 0px; + padding: 0px; } #packagelist .xitemcontainer { @@ -86,10 +86,11 @@ div.loading { color: $theme.textSecondaryColor; } -#packagelistcontainer .xwikibuttonlinks{ +#packagelistcontainer .xwikibuttonlinks { float: right; padding-right: .2em; - *margin-top: -2em; /* IE7 */ + *margin-top: -2em; + /* IE7 */ } #packagelistcontainer .deletelink { @@ -108,7 +109,7 @@ div.loading { #packageDescription { background-color: #FCFCFC; - border: 0px solid $theme.borderColor; + border: 0px solid $theme.borderColor; overflow: hidden; padding: 10px; margin-bottom: 1px; @@ -124,11 +125,11 @@ div.loading { display: table-row; } -#packagecontainer .packageinfos .filename { +#packagecontainer .packageinfos .filename { font-weight: 700; } -#packagecontainer .packageinfos span{ +#packagecontainer .packageinfos span { color: $theme.textSecondaryColor; margin: 0 5px 0; } @@ -153,7 +154,7 @@ div.loading { } div#package div.importOption { - margin-bottom:5px; + margin-bottom: 5px; } div#package ul.package { @@ -178,13 +179,8 @@ ul.package li.xitem div.xitemcontainer span.checkbox { width: auto; } -ul.package li.xitem div.xitemcontainer div.spacename, -ul.package li.xitem div.xitemcontainer img { - float: left; -} - ul.package li.xitem div.xitemcontainer div.spacename { - background: transparent url($xwiki.getSkinFile('icons/silk/folder.gif', true)) no-repeat scroll 0 .1em ; + background: transparent url($xwiki.getSkinFile('icons/silk/folder.gif', true)) no-repeat scroll 0 .1em; cursor: pointer; font-weight: bold; padding-left: 30px; @@ -213,9 +209,15 @@ ul.pages li.xitem { ul.pages li.xitem, ul.package li.xitem { list-style-type: none; + + div.xitemcontainer { + display: flex; + justify-content: space-between; + align-items: center; + } } -.documentName{ +.documentName { background: transparent url($xwiki.getSkinFile('icons/silk/page_white_text.gif', true)) no-repeat scroll 0 0; padding-left: 20px; } @@ -237,4 +239,4 @@ ul.package ul.pages li.xitem div.xpagecontainer input { .generalOverlay .main.layoutsubsection { width: 1024px; -} \ No newline at end of file +} From d70258af56db22476f9bb145955f4fb9f247d672 Mon Sep 17 00:00:00 2001 From: Fabian Pichler Date: Sun, 8 Mar 2026 01:14:40 +0100 Subject: [PATCH 22/25] correct js --- .../resources/js/xwiki/compatibility.js | 16 +++++++++------ src/main/webapp/templates/javascript.vm | 20 +++++++++---------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/main/webapp/resources/js/xwiki/compatibility.js b/src/main/webapp/resources/js/xwiki/compatibility.js index 15bc6a20..3ed6efd2 100644 --- a/src/main/webapp/resources/js/xwiki/compatibility.js +++ b/src/main/webapp/resources/js/xwiki/compatibility.js @@ -4,12 +4,16 @@ * All usage of deprecated code should log warnings in the console to help developers * moving to new code. */ -(function () { +(function (window, undefined) { + "use strict"; + + var XWiki = window.XWiki ?? {}; + var widgets = XWiki.widgets ?? {}; /** - * If possible, log a warning message to the console. - * If not, does nothing. - */ + * If possible, log a warning message to the console. + * If not, does nothing. + */ function warn(message) { if (typeof console != "undefined" && typeof console.warn == "function") { console.warn(message); @@ -46,7 +50,7 @@ /** * Deprecated since 2.6RC1 */ - if (typeof XWiki?.widgets?.Suggest !== 'undefined') { + if (typeof XWiki.widgets.Suggest !== 'undefined') { _xwk.ajaxSuggest = Class.create(XWiki.widgets.Suggest, { initialize: function ($super) { warn("ajaxSuggest is deprecated since XWiki 2.6RC1. Use XWiki.widgets.Suggest instead."); @@ -191,4 +195,4 @@ } ); -})(); +})(window); diff --git a/src/main/webapp/templates/javascript.vm b/src/main/webapp/templates/javascript.vm index 6cc8810b..081efad4 100644 --- a/src/main/webapp/templates/javascript.vm +++ b/src/main/webapp/templates/javascript.vm @@ -8,7 +8,10 @@ ## #set($jsService = $services.javascript) #set($extJsParam = $jsService.createExtJSParam().setAction('file')) -$!jsService.includeExtJsFile($extJsParamSync.setJsFile(':celJS/prototype.js'))## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':celJS/prototype.js'))## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':celJS/jquery.min.js'))## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':celJS/jquery-noconflict.js'))## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/xwiki.js'))## $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/scriptaculous/effects.js'))## $!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/widgets/modalPopup.js'))## $services.css.includeCSSPage(':js/xwiki/widgets/modalPopup.css')## @@ -40,10 +43,6 @@ $!jsService.includeExtJsFile($extJsParam.setJsFile(':uicomponents/suggest/sugges $services.css.includeCSSPage(':uicomponents/search/searchSuggest.css')## #end #end -$!jsService.includeExtJsFile($extJsParamSync.setJsFile(':celJS/prototype.js'))## -$!jsService.includeExtJsFile($extJsParamSync.setJsFile(':celJS/jquery.min.js'))## -$!jsService.includeExtJsFile($extJsParamSync.setJsFile(':celJS/jquery-noconflict.js'))## -$!jsService.includeExtJsFile($extJsParamSync.setJsFile(':js/xwiki/xwiki.js'))## #if(($xcontext.action=="inline")||($xcontext.action=="edit") || ($xcontext.action=="admin")) -$!jsService.includeExtJsFile($extJsParamSync.setJsFile(':uicomponents/widgets/validation/livevalidation_prototype.js'))## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':uicomponents/widgets/validation/livevalidation_prototype.js'))## $xwiki.get('ssfx').use('uicomponents/widgets/validation/livevalidation.css', true) +$!jsService.includeExtJsFile($extJsParam.setJsFile(':js/xwiki/compatibility.js'))## +$!jsService.includeExtJsFile($extJsParam.setJsFile(':celDynJS/DynamicLoader/celLazyLoader.mjs'))## +$!services.javascript.getAllExternalJavaScriptFiles() +## #end ## - -#set($jsService = $services.javascript) -#set($extJsParam = $jsService.createExtJSParam().setAction('file')) -$!jsService.includeExtJsFile($extJsParam.setJsFile(':celDynJS/DynamicLoader/celLazyLoader.mjs'))## -$!services.javascript.getAllExternalJavaScriptFiles() From 7725b8dc154dae0ec135080d72a8745a5bc015b8 Mon Sep 17 00:00:00 2001 From: Fabian Pichler Date: Sun, 8 Mar 2026 01:25:21 +0100 Subject: [PATCH 23/25] correct import package listing layout --- src/main/webapp/resources/js/xwiki/importer/import.css | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/webapp/resources/js/xwiki/importer/import.css b/src/main/webapp/resources/js/xwiki/importer/import.css index d8fcb081..b15850c8 100644 --- a/src/main/webapp/resources/js/xwiki/importer/import.css +++ b/src/main/webapp/resources/js/xwiki/importer/import.css @@ -188,7 +188,7 @@ ul.package li.xitem div.xitemcontainer div.spacename { ul.package li.xitem div.xitemcontainer div.selection { color: $theme.textSecondaryColor; - float: right; + margin-left: auto; font-size: .8em; line-height: 1.7em; margin-right: .2em; @@ -215,6 +215,10 @@ ul.package li.xitem { justify-content: space-between; align-items: center; } + + div.clearfloats { + display: none; + } } .documentName { From 54095cf423b872b0c9905e0ee4780275b14e6f8c Mon Sep 17 00:00:00 2001 From: Fabian Pichler Date: Sun, 8 Mar 2026 01:40:06 +0100 Subject: [PATCH 24/25] correct import package listing layout --- .../webapp/resources/js/xwiki/importer/import.css | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/webapp/resources/js/xwiki/importer/import.css b/src/main/webapp/resources/js/xwiki/importer/import.css index b15850c8..cacd042e 100644 --- a/src/main/webapp/resources/js/xwiki/importer/import.css +++ b/src/main/webapp/resources/js/xwiki/importer/import.css @@ -54,7 +54,7 @@ div.loading { } .package-upload { - background: transparent url($xwiki.getSkinFile('icons/silk/package_add.gif', true)) no-repeat scroll 0 5px; + background: transparent url('/file/resources/icons/silk/package_add.gif') no-repeat scroll 0 5px; padding-left: 20px; min-height: 16px; } @@ -66,7 +66,7 @@ div.loading { } #packagelist .xitemcontainer { - background: transparent url($xwiki.getSkinFile('icons/silk/package.gif', true)) no-repeat scroll 5px 0.5em; + background: transparent url('/file/resources/icons/silk/package.gif') no-repeat scroll 5px 0.5em; font-size: .85em; margin-bottom: .2em; padding: .3em 0 .3em 1em; @@ -94,7 +94,7 @@ div.loading { } #packagelistcontainer .deletelink { - background: url($xwiki.getSkinFile('icons/silk/cross.gif', true)) no-repeat left 0.2em; + background: url('/file/resources/icons/silk/cross.gif') no-repeat left 0.2em; display: block; height: 1.4em; width: 16px; @@ -180,7 +180,7 @@ ul.package li.xitem div.xitemcontainer span.checkbox { } ul.package li.xitem div.xitemcontainer div.spacename { - background: transparent url($xwiki.getSkinFile('icons/silk/folder.gif', true)) no-repeat scroll 0 .1em; + background: transparent url('/file/resources/icons/silk/folder.gif') no-repeat scroll 0 .1em; cursor: pointer; font-weight: bold; padding-left: 30px; @@ -212,17 +212,22 @@ ul.package li.xitem { div.xitemcontainer { display: flex; + flex-wrap: wrap; justify-content: space-between; align-items: center; } + div.pages { + width: 100%; + } + div.clearfloats { display: none; } } .documentName { - background: transparent url($xwiki.getSkinFile('icons/silk/page_white_text.gif', true)) no-repeat scroll 0 0; + background: transparent url('/file/resources/icons/silk/page_white_text.gif') no-repeat scroll 0 0; padding-left: 20px; } From a6d2eb339e528ac265bb8ec7425f86fdc626d88e Mon Sep 17 00:00:00 2001 From: Fabian Pichler Date: Sun, 8 Mar 2026 01:48:32 +0100 Subject: [PATCH 25/25] correct import package listing layout --- src/main/webapp/resources/js/xwiki/importer/import.css | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/webapp/resources/js/xwiki/importer/import.css b/src/main/webapp/resources/js/xwiki/importer/import.css index cacd042e..2377866e 100644 --- a/src/main/webapp/resources/js/xwiki/importer/import.css +++ b/src/main/webapp/resources/js/xwiki/importer/import.css @@ -210,11 +210,16 @@ ul.pages li.xitem, ul.package li.xitem { list-style-type: none; - div.xitemcontainer { + >div.xitemcontainer { display: flex; flex-wrap: wrap; - justify-content: space-between; align-items: center; + + >i { + width: 10px; + margin-left: 5px; + margin-right: 5px; + } } div.pages {