Изменения документа XWikiGroupSheet
Редактировал(а) Dmitriy Rybakov 20.06.2025, 16:36
От версии 1.1
отредактировано Admin xWiKi
на 15.10.2019, 13:19
на 15.10.2019, 13:19
Изменить комментарий:
Install extension [org.xwiki.platform:xwiki-platform-administration-ui/11.8.1]
К версии 3.1
отредактировано Dmitriy Rybakov
на 20.06.2025, 16:36
на 20.06.2025, 16:36
Изменить комментарий:
Install extension [org.xwiki.platform:xwiki-platform-administration-ui/16.10.8]
Сводка
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
-
Объекты (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Автор документа
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki.ad min1 +XWiki.rybakovds - Содержимое
-
... ... @@ -35,32 +35,50 @@ 35 35 </div> 36 36 </$wrapperTag> 37 37 #end 38 -#set ($columnOptions = { 39 - 'member': {'type': 'text', 'html': true}, 40 - 'type': {'filterable': false, 'sortable': false}, 41 - 'scope': {'filterable': false, 'sortable': false}, 42 - '_actions': { 43 - 'actions': ['delete'], 44 - 'actionCallbacks': {'delete': 'table.deleteRow(i);'}, 45 - 'ajaxActions': {'delete': true}, 46 - 'filterable': false 47 - } 48 -}) 49 -#set ($columns = ['member', 'type']) 38 +#set ($properties = ['member', 'type']) 50 50 #if (!$xcontext.isMainWiki() && $services.wiki.user.userScope != 'LOCAL_ONLY') 51 - #set ($discard = $ columns.add('scope'))40 + #set ($discard = $properties.add('scope')) 52 52 #end 53 53 ## Keep testing the inline action for backward compatibility with existing groups. 54 54 #if ($xcontext.action == 'edit' || $xcontext.action == 'inline') 55 - #set ($discard = $ columns.add('_actions'))44 + #set ($discard = $properties.add('_actions')) 56 56 #end 57 57 <div class="medium-avatars"> 58 - # livetable('groupusers' $columns $columnOptions {59 - ' url': $doc.getURL('view','xpage=getgroupmembers'),47 + #set ($sourceParameters = { 48 + 'template': 'getgroupmembers.vm', 60 60 'translationPrefix': 'xe.admin.groups.', 61 - 'javascriptName': 'editgrouptable', 62 - 'outputOnlyHtml': true 50 + '$doc': $doc.documentReference 63 63 }) 52 + $services.liveData.render({ 53 + 'id': 'groupusers', 54 + 'source': 'liveTable', 55 + 'properties': $stringtool.join($properties, ','), 56 + 'sourceParameters': $escapetool.url($sourceParameters) 57 + }, { 58 + 'meta': { 59 + 'propertyDescriptors': [ 60 + { 61 + 'id': 'member', 62 + 'displayer': 'html', 63 + 'editable': false 64 + } 65 + ], 66 + 'actions': [ 67 + { 68 + 'id': 'edit', 69 + 'allowProperty': '-' 70 + }, { 71 + 'id': 'delete', 72 + 'async': { 73 + 'httpMethod': 'POST', 74 + 'loadingMessage': $services.localization.render('administration.section.groups.deleteUserFromGroup.loading'), 75 + 'successMessage': $services.localization.render('administration.section.groups.deleteUserFromGroup.success'), 76 + 'failureMessage': $services.localization.render('administration.section.groups.deleteUserFromGroup.failure') 77 + } 78 + } 79 + ] 80 + } 81 + }) 64 64 </div> 65 65 {{/html}} 66 66 {{/velocity}}
- XWiki.JavaScriptExtension[0]
-
- Код
-
... ... @@ -1,9 +1,4 @@ 1 -require(['jquery', 'xwiki-meta'], function($, xm) { 2 - // The livetable is refreshed after each action (add/remove). 3 - // Refresh the document version to avoid conflicts if we try to save afterwards 4 - $(document).on('xwiki:livetable:displayComplete', function (event) { 5 - xm.refreshVersion(); 6 - }); 1 +require(['jquery'], function($) { 7 7 $(document).on('click', '#addMembers', function(event) { 8 8 event.preventDefault(); 9 9 var addMembersButton = $(event.target); ... ... @@ -24,18 +24,22 @@ 24 24 return; 25 25 } 26 26 addMembersButton.prop('disabled', true); 27 - $.post(form.attr('action'), parameters). done(function() {22 + Promise.resolve($.post(form.attr('action'), parameters)).then(function(response) { 28 28 // Clear the list of selected users and groups. 29 29 $('#userInput')[0].selectize.clear(true); 30 30 $('#groupInput')[0].selectize.clear(true); 31 31 // Reload the live table. 32 - editgrouptable.refresh();27 + $("#groupusers").data('liveData').updateEntries(); 33 33 // Show notification message. 34 - new XWiki.widgets.Notification("$services.localization.render('xe.admin.groups.addSuccess')", 'done', {timeout: 5}); 35 - }).fail(function(response) { 29 + if(response.hasIgnored) { 30 + new XWiki.widgets.Notification(response.ignoredMessage, 'warning', {timeout: 5}); 31 + } else { 32 + new XWiki.widgets.Notification("$services.localization.render('xe.admin.groups.addSuccess')", 'done', {timeout: 5}); 33 + } 34 + }).catch(function(response) { 36 36 new XWiki.widgets.Notification("$services.localization.render('xe.admin.groups.addFailure')" + 37 37 response.statusText, 'error', {timeout: 5}); 38 - }).al ways(function() {37 + }).finally(function() { 39 39 addMembersButton.prop('disabled', false); 40 40 }); 41 41 });
- XWiki.StyleSheetExtension[0]
-
- Код
-
... ... @@ -1,5 +3,3 @@ 1 -#template('colorThemeInit.vm') 2 - 3 3 /* Make sure the selectize dropdown is displayed on top of the Bootstrap modal. */ 4 4 body > .selectize-dropdown { 5 5 z-index: 1051; ... ... @@ -11,13 +11,13 @@ 11 11 12 12 #groupusers { 13 13 margin-top: 20px; 14 -} 15 15 16 - #groupuserstd[data-title]{17 - vertical-align: middle; 18 -} 13 + td.cell div.view { 14 + vertical-align: middle; 15 + } 19 19 20 -#groupusers td.type, 21 -#groupusers td.scope { 22 - color: $theme.textSecondaryColor; 17 + [data-livedata-property-id="type"], 18 + [data-livedata-property-id="scope"] { 19 + color: @text-muted; 20 + } 23 23 } - Content Type
-
... ... @@ -1,1 +1,1 @@ 1 - CSS1 +LESS - Разбор содержимого
-
... ... @@ -1,1 +1,1 @@ 1 - Да1 +Нет