Skip to content

Commit 200c5cf

Browse files
authored
Merge pull request #56 from exadel-inc/bugfix/ERM-45
[ERM-45] Add Expand All functionality for content tree
2 parents b2b0f72 + c045f11 commit 200c5cf

2 files changed

Lines changed: 22 additions & 15 deletions

File tree

ui.apps/src/main/content/jcr_root/apps/etoolbox-rollout-manager/clientlibs/rollout-manager-ui/css/console-ui.checkboxlist.css

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,10 @@
4343
}
4444
}
4545

46-
.rollout-manager-select-all {
46+
.rollout-manager-select-all,
47+
.rollout-manager-expand {
4748
font-size: small;
48-
min-width: 86px;
49+
min-width: 100px;
4950
}
5051

5152
.rollout-manager-coral-accordion-item-content {
@@ -75,7 +76,7 @@
7576
.coral3-Dialog-wrapper,
7677
._coral-Dialog {
7778
width: 800px;
78-
height: 566px;
79+
height: 70vh;
7980
}
8081

8182
.coral3-Checkbox {
@@ -164,13 +165,4 @@
164165
._coral-Accordion-itemIndicator {
165166
top: 19px;
166167
}
167-
168-
._coral-Accordion-item .rollout-manager-coral-accordion-item-content {
169-
visibility: hidden;
170-
height: 0;
171-
}
172-
173-
._coral-Accordion-item.is-open > .rollout-manager-coral-accordion-item-content {
174-
height: auto;
175-
}
176168
}

ui.apps/src/main/content/jcr_root/apps/etoolbox-rollout-manager/clientlibs/rollout-manager-ui/js/console-ui.dialog.js

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,10 @@
107107
const CANCEL_LABEL = Granite.I18n.get('Cancel');
108108
const DIALOG_LABEL = Granite.I18n.get('Rollout');
109109
const ROLLOUT_AND_PUBLISH_LABEL = Granite.I18n.get('Rollout and Publish');
110-
const SELECT_ALL_LABEL = Granite.I18n.get('Select all');
111-
const UNSELECT_ALL_LABEL = Granite.I18n.get('Unselect all');
110+
const EXPAND_ALL = Granite.I18n.get('Expand All');
111+
const COLLAPSE_ALL = Granite.I18n.get('Collapse All');
112+
const SELECT_ALL_LABEL = Granite.I18n.get('Select All');
113+
const UNSELECT_ALL_LABEL = Granite.I18n.get('Unselect All');
112114
const TARGET_PATHS_LABEL = Granite.I18n.get('Target paths');
113115
const ROLLOUT_SCOPE_LABEL = Granite.I18n.get('Rollout scope');
114116
const INCLUDE_SUBPAGES_LABEL = Granite.I18n.get('Include subpages');
@@ -138,6 +140,10 @@
138140
.text(SELECT_ALL_LABEL)
139141
.appendTo($span);
140142
$span.appendTo(sourceElement);
143+
$('<button is="coral-button" variant="quiet" class="rollout-manager-expand">')
144+
.text(COLLAPSE_ALL)
145+
.appendTo($span);
146+
$span.appendTo(sourceElement);
141147
}
142148

143149
function appendRolloutScope(sourceElement) {
@@ -147,7 +153,7 @@
147153

148154
function initNestedAccordion(currentCheckbox, liveCopiesJsonArray) {
149155
const $accordion = $('<coral-accordion variant="quiet">');
150-
const $accordionItem = $('<coral-accordion-item>');
156+
const $accordionItem = $('<coral-accordion-item selected>');
151157
const $accordionItemLabel = $('<coral-accordion-item-label>');
152158

153159
currentCheckbox.appendTo($accordionItemLabel);
@@ -231,6 +237,13 @@
231237
onCheckboxChange(submitBtn);
232238
}
233239

240+
function onExpandButtonClick() {
241+
const $expandBtn = $('.rollout-manager-expand');
242+
const isExpand = $expandBtn.text() === EXPAND_ALL;
243+
$('coral-accordion-item').prop('selected', isExpand);
244+
$expandBtn.text(isExpand ? COLLAPSE_ALL : EXPAND_ALL);
245+
}
246+
234247
function onResolve($btn, path, deferred) {
235248
const shouldActivate = $btn.closest('[data-dialog-action]').data('dialogAction') === 'rolloutPublish';
236249
const isDeepRollout = $('coral-checkbox[name="isDeepRollout"]').filter(':not([disabled])').prop('checked');
@@ -253,10 +266,12 @@
253266
function initEventHandlers(dialog, deferred, onCheckboxChange, onSelectAllClick, onResolve) {
254267
dialog.on('change', 'coral-checkbox', onCheckboxChange);
255268
dialog.on('click', '.rollout-manager-select-all', onSelectAllClick);
269+
dialog.on('click', '.rollout-manager-expand', onExpandButtonClick);
256270
dialog.on('click', '[data-dialog-action]', onResolve);
257271
dialog.on('coral-overlay:close', function () {
258272
dialog.off('change', 'coral-checkbox', onCheckboxChange);
259273
dialog.off('click', '.rollout-manager-select-all', onSelectAllClick);
274+
dialog.off('click', '.rollout-manager-expand', onExpandButtonClick);
260275
dialog.off('click', '[data-dialog-action]', onResolve);
261276
deferred.reject();
262277
});

0 commit comments

Comments
 (0)