Changes for page Administration

Last modified by Leon Poon on 2025/05/12 14:26

From version 8.1
edited by Leon Poon
on 2024/03/23 04:26
Change comment: Install extension [org.xwiki.platform:xwiki-platform-administration-ui/15.10.7]
To version 1.1
edited by Leon Poon
on 2018/12/16 14:31
Change comment: Install extension [org.xwiki.platform:xwiki-platform-administration-ui/10.10]

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -$services.localization.render("administration.title#if ($doc.documentReference.name == 'WebPreferences').page#elseif ($doc.fullName == 'XWiki.XWikiPreferences')#if ($xcontext.isMainWiki()).global#{else}.wiki#end#end")
1 +$services.localization.render("administration.title#if ($doc.name == 'WebPreferences').page#elseif ($doc.fullName == 'XWiki.XWikiPreferences')#if ($xcontext.isMainWiki()).global#{else}.wiki#end#end")
Content
... ... @@ -9,7 +9,7 @@
9 9  #set ($adminAction = 'admin')
10 10  #set ($crtCategoryId = "$!{request.category}")
11 11  #if ($crtCategoryId != '')
12 - #set ($crtCategoryId = $numbertool.toNumber($crtCategoryId).intValue())
12 + #set ($crtCategoryId = $mathtool.toInteger($crtCategoryId))
13 13  #end
14 14  #set ($crtSectionId = "$!{request.section}")
15 15  
... ... @@ -16,9 +16,6 @@
16 16  ##
17 17  ## Admin menu map
18 18  ##
19 -## displayInSection: menu.name | sectionOrder: 200 | page: Menu.MenuConfigurationSection
20 -## displayInSection: panels.applications | sectionOrder: 400 | page: PanelsCode.ApplicationsPanelConfigurable
21 -## displayInSection: panels.navigation | sectionOrder: 500 | page: PanelsCode.NavigationConfigurationSection
22 22  #set($adminMenu = [
23 23   {
24 24   'id' : 'lf',
... ... @@ -26,8 +26,8 @@
26 26   'displayBeforeCategory': 'content',
27 27   'children': [
28 28   {'id' : 'Themes', 'perSpace' : true, 'order' : 100},
29 - {'id' : 'Panels.PanelWizard', 'perSpace' : true, 'order' : 300},
30 - {'id' : 'Presentation', 'perSpace' : true, 'order' : 600}
26 + {'id' : 'Panels.PanelWizard', 'perSpace' : true, 'order' : 200},
27 + {'id' : 'Presentation', 'perSpace' : true, 'order' : 300}
31 31   ]
32 32   },
33 33   {
... ... @@ -87,7 +87,7 @@
87 87  #set ($crtCategory = $NULL)
88 88  #foreach ($category in $adminMenu)
89 89   ## "Standard" URLs and icons for categories
90 - #set ($category.url = $xwiki.getURL($currentDoc, $adminAction, "category=${mathtool.sub($foreach.count, 1)}"))
87 + #set ($category.url = $xwiki.getURL($currentDoc, $adminAction, "category=${mathtool.sub($velocityCount, 1)}"))
91 91   #if ($xwiki.getDocument('XWiki.AdminSheet').getAttachment("${category.id}.png"))
92 92   #set ($category.iconReference = "XWiki.AdminSheet@${category.id}.png")
93 93   #else
... ... @@ -96,7 +96,7 @@
96 96   #set ($category.description = $services.localization.render("admin.${category.id}.description").trim())
97 97   #set ($category.cssClass = "${category.id}Icon")
98 98   #set ($category.name = $services.localization.render("admin.${category.id}").trim())
99 - #if ("$!{crtCategoryId}" != '' && $foreach.count == $mathtool.add($crtCategoryId, 1))
96 + #if ("$!{crtCategoryId}" != '' && $velocityCount == $mathtool.add($crtCategoryId, 1))
100 100   #set ($crtCategory = $category)
101 101   #end
102 102   ##
... ... @@ -232,14 +232,10 @@
232 232  
233 233  #macro (verticalNavigation $menu $options)
234 234   {{html clean="false"}}
235 - <nav id="$!options.id" class="panel-group $!options.cssClass"
236 - aria-label="$escapetool.xml($services.localization.render('administration.menu.label'))">
232 + <div id="$!options.id" class="panel-group $!options.cssClass" role="tablist" aria-multiselectable="true">
237 237   <div class="panel xform">
238 - <label for="adminsearchmenu" class="hidden">$services.localization.render('search')</label>
239 - <input type="text" class="form-control panel-group-filter" autocomplete="off" id="adminsearchmenu"
240 - placeholder="$escapetool.xml($services.localization.render('administration.menu.search.hint'))"
241 - ## Disable the search input initially until the JavaScript code that handles the search is ready.
242 - disabled="disabled" />
234 + <input type="text" class="form-control panel-group-filter" autocomplete="off"
235 + placeholder="$escapetool.xml($services.localization.render('administration.menu.search.hint'))" />
243 243   </div>
244 244   #foreach ($item in $menu)
245 245   #verticalNavigationItem($item $options)
... ... @@ -249,7 +249,7 @@
249 249   $escapetool.xml($services.localization.render('administration.menu.search.noResults'))
250 250   </div>
251 251   </div>
252 - </nav>
245 + </div>
253 253   {{/html}}
254 254  #end
255 255  
... ... @@ -265,11 +265,11 @@
265 265   #set ($children = [])
266 266   #sortCollectionOfMapsByField($item.children, 'order', 99999, 'asc', $children)
267 267   <div class="panel panel-default">
268 - <a class="panel-heading#if (!$isActive) collapsed#end" id="panel-heading-$escapedId"
261 + <a class="panel-heading#if (!$isActive) collapsed#end" role="tab" id="panel-heading-$escapedId"
269 269   href="$!item.url" data-toggle="collapse"#if ("$!options.id" != '') data-parent="#$options.id" #end
270 270   data-target="#panel-body-$escapedId" aria-expanded="$isActive" aria-controls="panel-body-$escapedId"
271 271   title="$!escapetool.xml($item.description)">$!services.icon.renderHTML($item.icon)$escapetool.xml($name)</a>
272 - <section class="panel-collapse collapse#if ($isActive) in#end" id="panel-body-$escapedId"
265 + <div class="panel-collapse collapse#if ($isActive) in#end" role="tabpanel" id="panel-body-$escapedId"
273 273   aria-labelledby="panel-heading-$escapedId">
274 274   <div class="list-group">
275 275   #foreach ($child in $children)
... ... @@ -276,7 +276,7 @@
276 276   #verticalNavigationItem($child $options)
277 277   #end
278 278   </div>
279 - </section>
272 + </div>
280 280   </div>
281 281   #else
282 282   <a class="list-group-item#if ($isActive) active#end" data-id="$escapedId"
... ... @@ -291,7 +291,7 @@
291 291  ## Administration Sheet, used to display a common UI for some wiki features (presentation, users,
292 292  ## groups, rights etc.) at global / space level and also for several applications.
293 293  ##**************************************************************************************************
294 -#if($xcontext.action == 'view' && "$!request.viewer" == '')
287 +#if($xcontext.action == 'view')
295 295   $response.sendRedirect($xwiki.getURL($doc.getFullName(), 'admin', $request.getQueryString()))##
296 296  #else
297 297   $xwiki.jsx.use('XWiki.AdminSheet')##
... ... @@ -324,7 +324,7 @@
324 324  
325 325  ## Determine the administration level.
326 326  #set ($level = '')
327 -#if ($doc.documentReference.name == 'WebPreferences')
320 +#if ($doc.name == 'WebPreferences')
328 328   #set ($level = '.page')
329 329  #elseif ($doc.fullName == 'XWiki.XWikiPreferences')
330 330   #if ($xcontext.isMainWiki())
... ... @@ -334,7 +334,7 @@
334 334   #end
335 335  #end
336 336  (% id="document-title" %)(((
337 - = $services.localization.render("administration.sectionTitle$level", 'xwiki/2.1', [$sectionName]) =
330 + = $services.localization.render("administration.sectionTitle$level", [$sectionName]) =
338 338   ## Display the category/section description below the title.
339 339   #set ($categoryOrSectionId = $crtCategory.id)
340 340   #if ("$!crtSection.id" != '')
... ... @@ -368,8 +368,11 @@
368 368   ##------------------------------------------------------------------------------------------------------------
369 369   ## The Administration allows editing other pages from different applications inside the admin context (UI)
370 370   ##------------------------------------------------------------------------------------------------------------
371 - #if ($xwiki.exists("XWiki.Admin${section}Sheet"))
372 - ## Handle known XWiki administration sections
364 + #if ("$!{request.editmode}" == 'inline' && $xwiki.exists($section))
365 + #set ($discard = $xcontext.setDisplayMode('edit'))
366 + {{html clean="false"}}{{include reference="XWiki.AdminInlineSheet" /}}{{/html}}
367 + #elseif ($xwiki.exists("XWiki.Admin${section}Sheet"))
368 + ## Custom XE administration section
373 373   {{include reference="XWiki.Admin${section}Sheet" /}}
374 374   #elseif ($xwiki.exists($section))
375 375   {{html clean="false"}}#includeForm($section){{/html}}
XWiki.JavaScriptExtension[0]
Code
... ... @@ -3,8 +3,6 @@
3 3   $(document).on('click', '.admin-menu a.panel-heading', function(event) {
4 4   event.preventDefault();
5 5   });
6 - // Mark the administration menu as ready for user interaction.
7 - $('.admin-menu').attr('data-ready', true);
8 8  });
9 9  
10 10  /**
... ... @@ -26,7 +26,7 @@
26 26   // Filter the categories.
27 27   panelGroup.find('a.panel-heading').each(function() {
28 28   var panel = $(this).closest('.panel');
29 - var hasVisibleSections = panel.find('.list-group-item').not('.hidden').length > 0;
27 + var hasVisibleSections = panel.find('.list-group-item').not('.hidden').size() > 0;
30 30   var matchesFilterQuery = !filterItem.call($(this), text);
31 31   panel.toggle(hasVisibleSections || matchesFilterQuery);
32 32   if (!hasVisibleSections && matchesFilterQuery) {
... ... @@ -50,7 +50,7 @@
50 50   .next('.panel-collapse').addClass('in').css('height', '');
51 51   }
52 52   // Show/Hide the "No results." message.
53 - var hasVisibleCategories = panelGroup.find('a.panel-heading').filter(':visible').length > 0;
51 + var hasVisibleCategories = panelGroup.find('a.panel-heading').filter(':visible').size() > 0;
54 54   panelGroup.find('.noitems').toggleClass('hidden', hasVisibleCategories);
55 55   };
56 56  
... ... @@ -61,8 +61,6 @@
61 61   var panelGroup = $(this).closest('.panel-group');
62 62   var text = $(this).val().toLowerCase();
63 63   // Schedule a new filter operation.
64 - timeoutId = setTimeout(filterPanelGroup.bind(panelGroup, text), 500);
65 -
66 - // Finally, enable the search input.
67 - }).prop('disabled', false);
62 + timeoutId = setTimeout($.proxy(filterPanelGroup, panelGroup, text), 500);
63 + });
68 68  });
XWiki.StyleSheetExtension[0]
Code
... ... @@ -89,8 +89,8 @@
89 89  }
90 90  
91 91  .admin-menu .panel-heading.collapsed {
92 - border-bottom-left-radius: 5px;
93 - border-bottom-right-radius: 5px;
92 + border-bottom-left-radius: 3px;
93 + border-bottom-right-radius: 3px;
94 94  }
95 95  
96 96  .admin-menu a.panel-heading {
... ... @@ -112,8 +112,8 @@
112 112  }
113 113  
114 114  .admin-menu .panel-collapse > .list-group:last-child .list-group-item.last {
115 - border-bottom-right-radius: 5px;
116 - border-bottom-left-radius: 5px;
115 + border-bottom-right-radius: 3px;
116 + border-bottom-left-radius: 3px;
117 117  }
118 118  
119 119  .admin-menu .panel.noitems > .panel-heading {