@syncfusion/ej2-ribbon 23.2.7 → 24.1.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -2
- package/README.md +1 -1
- package/dist/ej2-ribbon.umd.min.js +2 -2
- package/dist/ej2-ribbon.umd.min.js.map +1 -1
- package/dist/es6/ej2-ribbon.es2015.js +541 -57
- package/dist/es6/ej2-ribbon.es2015.js.map +1 -1
- package/dist/es6/ej2-ribbon.es5.js +561 -72
- package/dist/es6/ej2-ribbon.es5.js.map +1 -1
- package/dist/global/ej2-ribbon.min.js +2 -2
- package/dist/global/ej2-ribbon.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +13 -13
- package/src/ribbon/base/ribbon.d.ts +10 -0
- package/src/ribbon/base/ribbon.js +444 -53
- package/src/ribbon/items/ribbon-colorpicker.js +16 -0
- package/src/ribbon/items/ribbon-combobox.js +16 -0
- package/src/ribbon/items/ribbon-dropdown.js +5 -3
- package/src/ribbon/items/ribbon-groupbutton.d.ts +4 -1
- package/src/ribbon/items/ribbon-groupbutton.js +64 -15
- package/src/ribbon/models/ribbon-colorpicker-settings-model.d.ts +8 -1
- package/src/ribbon/models/ribbon-colorpicker-settings.d.ts +7 -1
- package/src/ribbon/models/ribbon-colorpicker-settings.js +4 -1
- package/src/ribbon/models/ribbon-combobox-settings-model.d.ts +7 -0
- package/src/ribbon/models/ribbon-combobox-settings.d.ts +6 -0
- package/src/ribbon/models/ribbon-combobox-settings.js +3 -0
- package/src/ribbon/models/ribbon-group-button-settings-model.d.ts +7 -0
- package/src/ribbon/models/ribbon-group-button-settings.d.ts +6 -0
- package/src/ribbon/models/ribbon-group-button-settings.js +3 -0
- package/src/ribbon/models/ribbon-group-model.d.ts +7 -0
- package/src/ribbon/models/ribbon-group.d.ts +6 -0
- package/src/ribbon/models/ribbon-group.js +3 -0
- package/src/ribbon/modules/ribbon-backstage.js +3 -0
- package/styles/bootstrap-dark.css +105 -26
- package/styles/bootstrap.css +104 -25
- package/styles/bootstrap4.css +104 -25
- package/styles/bootstrap5-dark.css +105 -26
- package/styles/bootstrap5.css +104 -25
- package/styles/fabric-dark.css +103 -24
- package/styles/fabric.css +104 -25
- package/styles/fluent-dark.css +104 -25
- package/styles/fluent.css +104 -25
- package/styles/highcontrast-light.css +103 -24
- package/styles/highcontrast.css +103 -24
- package/styles/material-dark.css +105 -26
- package/styles/material.css +105 -26
- package/styles/material3-dark.css +105 -26
- package/styles/material3.css +105 -26
- package/styles/ribbon/_bootstrap-dark-definition.scss +8 -0
- package/styles/ribbon/_bootstrap-definition.scss +8 -0
- package/styles/ribbon/_bootstrap4-definition.scss +8 -0
- package/styles/ribbon/_bootstrap5-definition.scss +8 -0
- package/styles/ribbon/_fabric-dark-definition.scss +8 -0
- package/styles/ribbon/_fabric-definition.scss +8 -0
- package/styles/ribbon/_fluent-definition.scss +8 -0
- package/styles/ribbon/_fusionnew-definition.scss +8 -0
- package/styles/ribbon/_highcontrast-definition.scss +8 -0
- package/styles/ribbon/_highcontrast-light-definition.scss +8 -0
- package/styles/ribbon/_layout.scss +69 -5
- package/styles/ribbon/_material-dark-definition.scss +9 -1
- package/styles/ribbon/_material-definition.scss +9 -1
- package/styles/ribbon/_material3-definition.scss +8 -2
- package/styles/ribbon/_tailwind-definition.scss +8 -0
- package/styles/ribbon/_theme.scss +34 -13
- package/styles/ribbon/bootstrap-dark.css +105 -26
- package/styles/ribbon/bootstrap.css +104 -25
- package/styles/ribbon/bootstrap4.css +104 -25
- package/styles/ribbon/bootstrap5-dark.css +105 -26
- package/styles/ribbon/bootstrap5.css +104 -25
- package/styles/ribbon/fabric-dark.css +103 -24
- package/styles/ribbon/fabric.css +104 -25
- package/styles/ribbon/fluent-dark.css +104 -25
- package/styles/ribbon/fluent.css +104 -25
- package/styles/ribbon/highcontrast-light.css +103 -24
- package/styles/ribbon/highcontrast.css +103 -24
- package/styles/ribbon/material-dark.css +105 -26
- package/styles/ribbon/material.css +105 -26
- package/styles/ribbon/material3-dark.css +105 -26
- package/styles/ribbon/material3.css +105 -26
- package/styles/ribbon/tailwind-dark.css +104 -25
- package/styles/ribbon/tailwind.css +104 -25
- package/styles/tailwind-dark.css +104 -25
- package/styles/tailwind.css +104 -25
|
@@ -59,6 +59,8 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
59
59
|
this.idIndex = 0;
|
|
60
60
|
this.tooltipData = [];
|
|
61
61
|
this.initialPropsData = {};
|
|
62
|
+
this.hiddenElements = {};
|
|
63
|
+
this.hiddenGroups = [];
|
|
62
64
|
this.isAddRemove = false;
|
|
63
65
|
this.keyConfigs = {
|
|
64
66
|
leftarrow: 'leftarrow',
|
|
@@ -132,7 +134,9 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
132
134
|
e.preventDefault();
|
|
133
135
|
}
|
|
134
136
|
var activeContent = this.tabObj.element.querySelector('#' + this.tabs[this.selectedTab].id + constants.CONTENT_ID);
|
|
135
|
-
var
|
|
137
|
+
var controlElements = Array.prototype.slice.call(activeContent.querySelectorAll('.e-control'));
|
|
138
|
+
var templateElements = Array.prototype.slice.call(activeContent.querySelectorAll('.e-ribbon-template'));
|
|
139
|
+
var ribbonControls = controlElements.concat(templateElements);
|
|
136
140
|
var comboBoxElements = activeContent.querySelectorAll('.e-combobox');
|
|
137
141
|
var comboBoxEle;
|
|
138
142
|
if (comboBoxElements) {
|
|
@@ -161,7 +165,7 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
161
165
|
if (e.target.classList.contains('e-control') || e.target.classList.contains('e-ribbon-launcher-icon') ||
|
|
162
166
|
e.target.classList.contains('e-ribbon-collapse-btn') || e.target.classList.contains('e-ribbon-last-item') ||
|
|
163
167
|
e.target.classList.contains('e-ribbon-first-item') || e.target.classList.contains('e-ribbon-group-of-btn') ||
|
|
164
|
-
e.target.classList.contains('e-ribbon-overall-of-btn')) {
|
|
168
|
+
e.target.classList.contains('e-ribbon-overall-of-btn') || e.target.classList.contains('e-ribbon-template')) {
|
|
165
169
|
switch (e.action) {
|
|
166
170
|
case 'rightarrow':
|
|
167
171
|
this.handleNavigation(e, !this.enableRtl, ribbonControls);
|
|
@@ -203,7 +207,7 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
203
207
|
}
|
|
204
208
|
}
|
|
205
209
|
if ((!enableRtl && (this.currentControlIndex > 0)) || (enableRtl && (this.currentControlIndex < ribbonControls.length - 1))) {
|
|
206
|
-
if (!e.target.classList.contains('e-combobox') && e.target.classList.contains('e-control') && !e.target.classList.contains('e-ribbon-last-item')) {
|
|
210
|
+
if (!e.target.classList.contains('e-combobox') && (e.target.classList.contains('e-control') || e.target.classList.contains('e-ribbon-template')) && !e.target.classList.contains('e-ribbon-last-item')) {
|
|
207
211
|
if (enableRtl) {
|
|
208
212
|
this.currentControlIndex++;
|
|
209
213
|
}
|
|
@@ -237,7 +241,10 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
237
241
|
}
|
|
238
242
|
if (launcherIconEle) {
|
|
239
243
|
var items = groupContainer.querySelectorAll('.e-ribbon-item');
|
|
240
|
-
items[items.length - 1].querySelector('.e-control')
|
|
244
|
+
var elem = items[items.length - 1].querySelector('.e-control');
|
|
245
|
+
if (elem) {
|
|
246
|
+
elem.classList.add('e-ribbon-last-item');
|
|
247
|
+
}
|
|
241
248
|
}
|
|
242
249
|
}
|
|
243
250
|
else {
|
|
@@ -350,6 +357,15 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
350
357
|
var scrollEle = this.tabObj.element.querySelector('.' + constants.HORIZONTAL_SCROLLBAR);
|
|
351
358
|
this.scrollModule.scrollStep = scrollEle.offsetWidth;
|
|
352
359
|
}
|
|
360
|
+
if (this.activeLayout === 'Simplified') {
|
|
361
|
+
var activePopup = document.querySelectorAll('.e-ribbon .e-dropdown-btn.e-active, .e-ribbon-group-overflow-ddb .e-dropdown-btn.e-active');
|
|
362
|
+
if (activePopup.length) {
|
|
363
|
+
for (var i = 0; i < activePopup.length; i++) {
|
|
364
|
+
var dropDownBtn = getInstance(activePopup[parseInt(i.toString(), 10)], DropDownButton);
|
|
365
|
+
dropDownBtn.toggle();
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
|
353
369
|
};
|
|
354
370
|
Ribbon.prototype.renderTabs = function () {
|
|
355
371
|
this.tabsInternal = this.tabs.slice();
|
|
@@ -417,6 +433,7 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
417
433
|
selectedIndex = selectedIndex === -1 ? this.selectedTab : selectedIndex;
|
|
418
434
|
var eventArgs = { previousIndex: this.selectedTab, selectedIndex: selectedIndex };
|
|
419
435
|
this.setProperties({ selectedTab: selectedIndex }, true);
|
|
436
|
+
this.calculateHiddenElementsWidth(selectedIndex);
|
|
420
437
|
this.checkOverflow(selectedIndex, e.selectedContent.firstChild);
|
|
421
438
|
if (this.activeLayout === 'Simplified' && this.overflowDDB) {
|
|
422
439
|
var overflowTarget = this.overflowDDB.target;
|
|
@@ -540,6 +557,7 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
540
557
|
var orderedGroups = this.getGroupResizeOrder(true, tabIndex);
|
|
541
558
|
var isEmptyCollection;
|
|
542
559
|
for (var i = 0; ((i < orderedGroups.length) && (tabContent.offsetWidth < activeContent.offsetWidth)); i++) {
|
|
560
|
+
var isGroupUpdated = false;
|
|
543
561
|
var group = orderedGroups[parseInt(i.toString(), 10)];
|
|
544
562
|
var groupEle = tabContent.querySelector('#' + group.id);
|
|
545
563
|
var groupContainer = groupEle.querySelector('#' + group.id + constants.CONTAINER_ID);
|
|
@@ -551,7 +569,67 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
551
569
|
var itemContainer = collectionEle.querySelector('#' + item.id + constants.CONTAINER_ID);
|
|
552
570
|
if (((item.displayOptions === DisplayMode.Auto) ||
|
|
553
571
|
(item.displayOptions === (DisplayMode.Simplified | DisplayMode.Overflow))) && !isNullOrUndefined(itemContainer)) {
|
|
554
|
-
|
|
572
|
+
var groupHidden = false;
|
|
573
|
+
var itemHidden = false;
|
|
574
|
+
var isAllItemHidden = false;
|
|
575
|
+
var isEmptyCollection_1 = false;
|
|
576
|
+
var groupItems = void 0;
|
|
577
|
+
if (groupEle.classList.contains('e-hidden') || groupEle.classList.contains('e-hide-group')) {
|
|
578
|
+
groupItems = groupEle.querySelectorAll('.e-ribbon-item.e-hidden');
|
|
579
|
+
if (groupItems.length) {
|
|
580
|
+
for (var i_1 = 0; i_1 < groupItems.length; i_1++) {
|
|
581
|
+
groupItems[parseInt(i_1.toString(), 10)].classList.remove('e-hidden');
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
if (groupEle.classList.contains('e-hide-group')) {
|
|
585
|
+
isAllItemHidden = true;
|
|
586
|
+
groupEle.classList.remove('e-hide-group');
|
|
587
|
+
groupEle.classList.remove('e-ribbon-emptyCollection');
|
|
588
|
+
if (this.hiddenGroups.indexOf(groupEle.id) !== -1) {
|
|
589
|
+
this.hiddenGroups.splice(this.hiddenGroups.indexOf(groupEle.id), 1);
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
else {
|
|
593
|
+
groupHidden = true;
|
|
594
|
+
groupEle.classList.remove('e-hidden');
|
|
595
|
+
}
|
|
596
|
+
if (!isGroupUpdated) {
|
|
597
|
+
this.calculateOverflowItemsWidth(groupEle.offsetWidth, false, tabIndex);
|
|
598
|
+
this.calculateMediumDataWidth(groupEle.offsetWidth, tabIndex, false);
|
|
599
|
+
isGroupUpdated = true;
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
else {
|
|
603
|
+
if (itemContainer.classList.contains('e-hidden')) {
|
|
604
|
+
itemHidden = true;
|
|
605
|
+
itemContainer.classList.remove('e-hidden');
|
|
606
|
+
if (groupEle.classList.contains('e-ribbon-emptyCollection')) {
|
|
607
|
+
isEmptyCollection_1 = true;
|
|
608
|
+
groupEle.classList.remove('e-ribbon-emptyCollection');
|
|
609
|
+
}
|
|
610
|
+
this.calculateOverflowItemsWidth(itemContainer.offsetWidth, false, tabIndex);
|
|
611
|
+
this.calculateMediumDataWidth(itemContainer.offsetWidth, tabIndex, false);
|
|
612
|
+
}
|
|
613
|
+
}
|
|
614
|
+
itemContainer.setAttribute('data-simplified-width', (activeContent.offsetWidth).toString());
|
|
615
|
+
if (itemHidden) {
|
|
616
|
+
itemContainer.classList.add('e-hidden');
|
|
617
|
+
}
|
|
618
|
+
if (groupItems && groupItems.length) {
|
|
619
|
+
for (var i_2 = 0; i_2 < groupItems.length; i_2++) {
|
|
620
|
+
groupItems[parseInt(i_2.toString(), 10)].classList.add('e-hidden');
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
if (groupHidden) {
|
|
624
|
+
groupEle.classList.add('e-hidden');
|
|
625
|
+
}
|
|
626
|
+
if (isAllItemHidden) {
|
|
627
|
+
groupEle.classList.add('e-hide-group');
|
|
628
|
+
groupEle.classList.add('e-ribbon-emptyCollection');
|
|
629
|
+
}
|
|
630
|
+
if (isEmptyCollection_1) {
|
|
631
|
+
groupEle.classList.add('e-ribbon-emptyCollection');
|
|
632
|
+
}
|
|
555
633
|
this.createOverflowPopup(item, tabIndex, group.enableGroupOverflow, group.id, group.header, itemContainer, groupContainer, true);
|
|
556
634
|
if (item.activeSize === RibbonItemSize.Small) {
|
|
557
635
|
var itemEle = itemContainer.querySelector('#' + item.id);
|
|
@@ -645,37 +723,61 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
645
723
|
if (((item.displayOptions === DisplayMode.Auto) ||
|
|
646
724
|
(item.displayOptions === (DisplayMode.Simplified | DisplayMode.Overflow))) && !isNullOrUndefined(itemContainer)) {
|
|
647
725
|
var width = parseInt(itemContainer.getAttribute('data-simplified-width'), 10);
|
|
726
|
+
var groupItemEle = tabContent.querySelector('#' + group.id);
|
|
727
|
+
if (itemContainer.classList.contains('e-hidden') || groupItemEle.classList.contains('e-hidden')) {
|
|
728
|
+
width = Math.abs(width - activeContent.offsetWidth);
|
|
729
|
+
}
|
|
648
730
|
if (!isClear && (tabContent.offsetWidth < width)) {
|
|
649
731
|
flag = false;
|
|
650
732
|
break;
|
|
651
733
|
}
|
|
652
|
-
var
|
|
734
|
+
var groupEle = tabContent.querySelector('#' + collection.id);
|
|
653
735
|
if ((item.type === RibbonItemType.DropDown) || (item.type === RibbonItemType.SplitButton) || (item.type === RibbonItemType.GroupButton)) {
|
|
654
736
|
this.updatePopupItems(item, itemContainer, group.enableGroupOverflow, false);
|
|
655
737
|
}
|
|
656
|
-
|
|
738
|
+
groupEle.append(itemContainer);
|
|
739
|
+
if (itemContainer.classList.contains('e-hidden') || groupItemEle.classList.contains('e-hidden')) {
|
|
740
|
+
itemContainer.setAttribute('data-simplified-width', width.toString());
|
|
741
|
+
var isGroupHidden = false;
|
|
742
|
+
var widthDifference = 0;
|
|
743
|
+
if (itemContainer.classList.contains('e-hidden')) {
|
|
744
|
+
itemContainer.classList.remove('e-hidden');
|
|
745
|
+
if (groupItemEle.classList.contains('e-hide-group')) {
|
|
746
|
+
isGroupHidden = true;
|
|
747
|
+
widthDifference = this.checkWidthDifference(itemContainer, groupItemEle);
|
|
748
|
+
}
|
|
749
|
+
width = itemContainer.offsetWidth + widthDifference;
|
|
750
|
+
itemContainer.classList.add('e-hidden');
|
|
751
|
+
}
|
|
752
|
+
this.calculateOverflowItemsWidth(width, true, tabIndex);
|
|
753
|
+
this.calculateMediumDataWidth(width, tabIndex, true);
|
|
754
|
+
if (isGroupHidden) {
|
|
755
|
+
groupItemEle.classList.add('e-hide-group');
|
|
756
|
+
groupItemEle.classList.add('e-ribbon-emptyCollection');
|
|
757
|
+
}
|
|
758
|
+
}
|
|
657
759
|
this.removeOverflowEvent(item, itemContainer);
|
|
658
760
|
if (item.allowedSizes & RibbonItemSize.Small) {
|
|
659
761
|
item.setProperties({ activeSize: RibbonItemSize.Small }, true);
|
|
660
762
|
this.setItemSize(itemContainer.querySelector('#' + item.id), item);
|
|
661
763
|
}
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
764
|
+
var groupElement = tabContent.querySelector('#' + group.id);
|
|
765
|
+
var itemEle = groupElement.querySelector('.' + constants.RIBBON_ITEM);
|
|
766
|
+
if (groupElement.classList.contains('e-ribbon-emptyCollection') && itemEle !== null) {
|
|
767
|
+
var itemsLength = groupElement.querySelectorAll('.' + constants.RIBBON_ITEM);
|
|
768
|
+
if (itemsLength) {
|
|
769
|
+
isEmptyCollection = this.checkEmptyCollection(itemsLength);
|
|
770
|
+
if (!isEmptyCollection) {
|
|
771
|
+
groupElement.classList.remove('e-ribbon-emptyCollection');
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
}
|
|
673
775
|
}
|
|
674
776
|
}
|
|
675
777
|
}
|
|
676
778
|
if (overflowDDB) {
|
|
677
779
|
if (group.enableGroupOverflow) {
|
|
678
|
-
if (overflowtarget.childElementCount === 0) {
|
|
780
|
+
if (overflowtarget.childElementCount === 0 || (overflowtarget.childElementCount === 1 && this.isHeaderVisible(overflowtarget, group.id))) {
|
|
679
781
|
this.removeOverflowButton(overflowDDB);
|
|
680
782
|
}
|
|
681
783
|
}
|
|
@@ -691,7 +793,9 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
691
793
|
}
|
|
692
794
|
}
|
|
693
795
|
}
|
|
694
|
-
|
|
796
|
+
}
|
|
797
|
+
for (var i = 0; i < orderedGroups.length; i++) {
|
|
798
|
+
this.checkOverflowHiddenItems(orderedGroups[parseInt(i.toString(), 10)].enableGroupOverflow, tabIndex, orderedGroups[parseInt(i.toString(), 10)].id);
|
|
695
799
|
}
|
|
696
800
|
if (this.overflowDDB) {
|
|
697
801
|
var overflowEle = this.overflowDDB.target;
|
|
@@ -747,6 +851,7 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
747
851
|
};
|
|
748
852
|
Ribbon.prototype.createOverflowPopup = function (item, tabIndex, isGroupOF, groupId, groupHeader, itemEle, groupContainer, isResize) {
|
|
749
853
|
var overflowButton;
|
|
854
|
+
var itemProp = getGroup(this.tabs, groupId);
|
|
750
855
|
var contentEle = this.tabObj.items[parseInt(tabIndex.toString(), 10)].content;
|
|
751
856
|
var groupEle = contentEle.querySelector('#' + groupId);
|
|
752
857
|
if (isGroupOF) {
|
|
@@ -760,6 +865,17 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
760
865
|
overflowButton = getInstance(overflowDDB, DropDownButton);
|
|
761
866
|
}
|
|
762
867
|
var overflowBtnTarget = overflowButton.target;
|
|
868
|
+
var headerEle = overflowBtnTarget.querySelector('#' + groupId + constants.GROUPOF_BUTTON_ID + constants.HEADER_ID);
|
|
869
|
+
if (!headerEle) {
|
|
870
|
+
if (itemProp.group.overflowHeader) {
|
|
871
|
+
var groupHeader_1 = this.createElement('div', {
|
|
872
|
+
className: constants.RIBBON_OVERFLOW_HEADER,
|
|
873
|
+
id: groupId + constants.GROUPOF_BUTTON_ID + constants.HEADER_ID,
|
|
874
|
+
innerHTML: itemProp.group.overflowHeader
|
|
875
|
+
});
|
|
876
|
+
overflowBtnTarget.append(groupHeader_1);
|
|
877
|
+
}
|
|
878
|
+
}
|
|
763
879
|
if (groupEle) {
|
|
764
880
|
if (groupEle.classList.contains('e-disabled')) {
|
|
765
881
|
overflowBtnTarget.classList.add('e-disabled');
|
|
@@ -788,7 +904,7 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
788
904
|
if (ofTabContainer) {
|
|
789
905
|
var ofGroupContainer = overflowEle.querySelector('#' + groupId + constants.CONTAINER_ID);
|
|
790
906
|
if (!ofGroupContainer) {
|
|
791
|
-
ofGroupContainer = this.createGroupContainer(groupId, groupHeader);
|
|
907
|
+
ofGroupContainer = itemProp.group.overflowHeader ? this.createGroupContainer(groupId, itemProp.group.overflowHeader) : this.createGroupContainer(groupId, groupHeader);
|
|
792
908
|
if (groupEle) {
|
|
793
909
|
if (groupEle.classList.contains('e-disabled')) {
|
|
794
910
|
ofGroupContainer.classList.add('e-disabled');
|
|
@@ -836,7 +952,7 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
836
952
|
break;
|
|
837
953
|
case 'GroupButton':
|
|
838
954
|
if (this.activeLayout === 'Simplified') {
|
|
839
|
-
this.ribbonGroupButtonModule.addOverFlowEvents(item, itemEle);
|
|
955
|
+
this.ribbonGroupButtonModule.addOverFlowEvents(item, itemEle, overflowButton);
|
|
840
956
|
break;
|
|
841
957
|
}
|
|
842
958
|
}
|
|
@@ -848,7 +964,8 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
848
964
|
});
|
|
849
965
|
var overflowtarget = this.overflowDDB.target;
|
|
850
966
|
overflowtarget.append(ofTabContainer);
|
|
851
|
-
var
|
|
967
|
+
var itemProp = getGroup(this.tabs, groupId);
|
|
968
|
+
var ofGroupContainer = itemProp.group.overflowHeader ? this.createGroupContainer(groupId, itemProp.group.overflowHeader) : this.createGroupContainer(groupId, groupHeader);
|
|
852
969
|
ofGroupContainer.append(itemEle);
|
|
853
970
|
ofTabContainer.append(ofGroupContainer);
|
|
854
971
|
if (tabIndex === this.selectedTab) {
|
|
@@ -1705,9 +1822,10 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
1705
1822
|
},
|
|
1706
1823
|
beforeClose: function (args) {
|
|
1707
1824
|
var ele = args.event ? closest(args.event.target, '.' + constants.RIBBON_POPUP_CONTROL) : null;
|
|
1825
|
+
var groupButtonEle = args.event ? closest(args.event.target, '.e-ribbon-group-button-overflow-popup') : null;
|
|
1708
1826
|
var eventArgs = { element: args.element, event: args.event, cancel: args.cancel };
|
|
1709
1827
|
_this.trigger('overflowPopupClose', eventArgs, function (ribbonArgs) {
|
|
1710
|
-
if (ele || ribbonArgs.cancel) {
|
|
1828
|
+
if (ele || ribbonArgs.cancel || groupButtonEle) {
|
|
1711
1829
|
args.cancel = true;
|
|
1712
1830
|
}
|
|
1713
1831
|
});
|
|
@@ -1729,8 +1847,10 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
1729
1847
|
var currentList = target.querySelector('.e-ribbon-of-tab.e-ribbon-active');
|
|
1730
1848
|
items = currentList.getElementsByClassName('e-ribbon-item');
|
|
1731
1849
|
}
|
|
1732
|
-
var
|
|
1850
|
+
var control = items[(!this.itemIndex || this.itemIndex < 0) ? 0 : this.itemIndex].querySelector('.e-control');
|
|
1851
|
+
var comboBoxEle = control && control.classList.contains('e-combobox') ? items[(!this.itemIndex || this.itemIndex < 0) ? 0 : this.itemIndex].querySelector('.e-combobox') : null;
|
|
1733
1852
|
var ribbonItem;
|
|
1853
|
+
var templateEle;
|
|
1734
1854
|
if (comboBoxEle === null || (e.key === 'Tab') || this.itemIndex < 0) {
|
|
1735
1855
|
if (e.key === 'ArrowDown' || (!e.shiftKey && e.key === 'Tab')) {
|
|
1736
1856
|
if ((!this.itemIndex && this.itemIndex !== 0) || this.itemIndex < 0 || this.itemIndex === items.length - 1) {
|
|
@@ -1739,13 +1859,21 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
1739
1859
|
this.findDisabledItem(ribbonItem, items, true);
|
|
1740
1860
|
if (comboBoxEle && e.key === 'Tab') {
|
|
1741
1861
|
e.preventDefault();
|
|
1742
|
-
items[this.itemIndex].querySelector('.e-control')
|
|
1862
|
+
var item = items[this.itemIndex].querySelector('.e-control');
|
|
1863
|
+
if (item) {
|
|
1864
|
+
item.focus();
|
|
1865
|
+
}
|
|
1743
1866
|
}
|
|
1867
|
+
templateEle = items[this.itemIndex].querySelector('.e-ribbon-template');
|
|
1744
1868
|
}
|
|
1745
1869
|
else if (this.itemIndex < items.length - 1 && this.itemIndex >= 0) {
|
|
1746
1870
|
this.itemIndex++;
|
|
1747
1871
|
ribbonItem = items[this.itemIndex].closest('.e-ribbon-item');
|
|
1748
1872
|
this.findDisabledItem(ribbonItem, items, true);
|
|
1873
|
+
templateEle = items[this.itemIndex].querySelector('.e-ribbon-template');
|
|
1874
|
+
}
|
|
1875
|
+
if (templateEle) {
|
|
1876
|
+
templateEle.focus();
|
|
1749
1877
|
}
|
|
1750
1878
|
}
|
|
1751
1879
|
else if (e.key === 'ArrowUp' || (e.shiftKey && e.key === 'Tab')) {
|
|
@@ -1756,20 +1884,32 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
1756
1884
|
this.findDisabledItem(ribbonItem, items, false);
|
|
1757
1885
|
if (comboBoxEle && (e.shiftKey && e.key === 'Tab')) {
|
|
1758
1886
|
e.preventDefault();
|
|
1759
|
-
items[this.itemIndex].querySelector('.e-control')
|
|
1887
|
+
var item = items[this.itemIndex].querySelector('.e-control');
|
|
1888
|
+
if (item) {
|
|
1889
|
+
item.focus();
|
|
1890
|
+
}
|
|
1760
1891
|
}
|
|
1892
|
+
templateEle = items[this.itemIndex].querySelector('.e-ribbon-template');
|
|
1761
1893
|
}
|
|
1762
1894
|
else if (this.itemIndex <= items.length - 1 && this.itemIndex > 0) {
|
|
1763
1895
|
this.itemIndex--;
|
|
1764
1896
|
ribbonItem = items[this.itemIndex].closest('.e-ribbon-item');
|
|
1765
1897
|
this.findDisabledItem(ribbonItem, items, false);
|
|
1898
|
+
templateEle = items[this.itemIndex].querySelector('.e-ribbon-template');
|
|
1899
|
+
}
|
|
1900
|
+
if (templateEle) {
|
|
1901
|
+
templateEle.focus();
|
|
1766
1902
|
}
|
|
1767
1903
|
}
|
|
1768
1904
|
}
|
|
1769
1905
|
target.setAttribute('index', this.itemIndex.toString());
|
|
1770
1906
|
}
|
|
1771
1907
|
var currentItemIndex = parseInt(target.getAttribute('index'), 10);
|
|
1772
|
-
var itemType =
|
|
1908
|
+
var itemType = "";
|
|
1909
|
+
var controlItem = items[parseInt(currentItemIndex.toString(), 10)] ? items[parseInt(currentItemIndex.toString(), 10)].querySelector('.e-control') : null;
|
|
1910
|
+
if (controlItem) {
|
|
1911
|
+
itemType = controlItem.getAttribute('data-control');
|
|
1912
|
+
}
|
|
1773
1913
|
if (e.key === 'ArrowDown' || e.key === 'ArrowUp' || e.key === ' ' || e.key === 'Tab') {
|
|
1774
1914
|
if (itemType === 'ColorPicker') {
|
|
1775
1915
|
if (e.key === 'Tab') {
|
|
@@ -1781,7 +1921,10 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
1781
1921
|
if (e.key === 'Tab') {
|
|
1782
1922
|
e.preventDefault();
|
|
1783
1923
|
}
|
|
1784
|
-
items[parseInt(currentItemIndex.toString(), 10)].querySelector('.e-control')
|
|
1924
|
+
var elem = items[parseInt(currentItemIndex.toString(), 10)].querySelector('.e-control');
|
|
1925
|
+
if (elem) {
|
|
1926
|
+
elem.focus();
|
|
1927
|
+
}
|
|
1785
1928
|
}
|
|
1786
1929
|
if (e.key === ' ' && (itemType === 'CheckBox')) {
|
|
1787
1930
|
var checkBoxEle = items[parseInt(currentItemIndex.toString(), 10)].querySelector('.e-control');
|
|
@@ -1989,22 +2132,22 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
1989
2132
|
var activeContent = this.tabObj.element.querySelector('#' + this.tabs[parseInt(tabIndex.toString(), 10)].id + constants.CONTENT_ID);
|
|
1990
2133
|
var tabContent = activeContent.closest('.' + constants.TAB_CONTENT);
|
|
1991
2134
|
if (this.activeLayout === 'Simplified') {
|
|
1992
|
-
for (var
|
|
1993
|
-
var group = groupList[parseInt(
|
|
1994
|
-
var alignType = groupList[parseInt(
|
|
2135
|
+
for (var i_3 = 0; i_3 < groupList.length; i_3++) {
|
|
2136
|
+
var group = groupList[parseInt(i_3.toString(), 10)];
|
|
2137
|
+
var alignType = groupList[parseInt(i_3.toString(), 10)].orientation;
|
|
1995
2138
|
if (group.isCollapsed) {
|
|
1996
2139
|
group.setProperties({ isCollapsed: false }, true);
|
|
1997
2140
|
this.removeDropdown(group.id);
|
|
1998
2141
|
}
|
|
1999
2142
|
else {
|
|
2000
|
-
this.checkSmallToMedium(tabIndex, tab,
|
|
2001
|
-
this.checkMediumToLarge(tabIndex, tab,
|
|
2143
|
+
this.checkSmallToMedium(tabIndex, tab, i_3, tabContent, activeContent, true, false);
|
|
2144
|
+
this.checkMediumToLarge(tabIndex, tab, i_3, tabContent, activeContent, true, false);
|
|
2002
2145
|
}
|
|
2003
2146
|
var groupEle = tabContent.querySelector('#' + group.id);
|
|
2004
2147
|
var groupContainer = groupEle.querySelector('#' + group.id + constants.CONTAINER_ID);
|
|
2005
2148
|
var shrinkColumns = groupContainer.querySelectorAll('.' + 'e-ribbon-shrink');
|
|
2006
|
-
for (var
|
|
2007
|
-
shrinkColumns[parseInt(
|
|
2149
|
+
for (var i_4 = 0; i_4 < shrinkColumns.length; i_4++) {
|
|
2150
|
+
shrinkColumns[parseInt(i_4.toString(), 10)].remove();
|
|
2008
2151
|
}
|
|
2009
2152
|
var groupHeader = groupContainer.querySelector('#' + group.id + constants.HEADER_ID);
|
|
2010
2153
|
groupHeader.remove();
|
|
@@ -2072,9 +2215,9 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
2072
2215
|
}
|
|
2073
2216
|
else {
|
|
2074
2217
|
this.element.classList.remove(constants.RIBBON_OVERFLOW);
|
|
2075
|
-
for (var
|
|
2076
|
-
var group = groupList[parseInt(
|
|
2077
|
-
var alignType = groupList[parseInt(
|
|
2218
|
+
for (var i_5 = 0; i_5 < groupList.length; i_5++) {
|
|
2219
|
+
var group = groupList[parseInt(i_5.toString(), 10)];
|
|
2220
|
+
var alignType = groupList[parseInt(i_5.toString(), 10)].orientation;
|
|
2078
2221
|
var groupContainer = tabContent.querySelector('#' + group.id + constants.CONTAINER_ID);
|
|
2079
2222
|
var groupContent = groupContainer.querySelector('#' + group.id + constants.CONTENT_ID);
|
|
2080
2223
|
var groupHeader = this.createElement('div', {
|
|
@@ -2168,7 +2311,7 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
2168
2311
|
this.setItemSize(ele, item);
|
|
2169
2312
|
}
|
|
2170
2313
|
if (group.enableGroupOverflow && overflowDDB) {
|
|
2171
|
-
if (overflowtarget.childElementCount === 0) {
|
|
2314
|
+
if (overflowtarget.childElementCount === 0 || (overflowtarget.childElementCount === 1 && this.isHeaderVisible(overflowtarget, group.id))) {
|
|
2172
2315
|
this.removeOverflowButton(overflowDDB);
|
|
2173
2316
|
}
|
|
2174
2317
|
}
|
|
@@ -2453,7 +2596,8 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
2453
2596
|
Ribbon.prototype.createTemplateContent = function (item, itemElement) {
|
|
2454
2597
|
var itemEle = this.createElement('div', {
|
|
2455
2598
|
className: item.cssClass ? (constants.RIBBON_TEMPLATE + constants.SPACE + item.cssClass) : constants.RIBBON_TEMPLATE,
|
|
2456
|
-
id: item.id
|
|
2599
|
+
id: item.id,
|
|
2600
|
+
attrs: { 'tabindex': '-1' }
|
|
2457
2601
|
});
|
|
2458
2602
|
if (item.disabled) {
|
|
2459
2603
|
itemEle.classList.add(constants.DISABLED_CSS);
|
|
@@ -2547,15 +2691,15 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
2547
2691
|
var moduleName = this.getItemModuleName(item);
|
|
2548
2692
|
if (moduleName !== 'template') {
|
|
2549
2693
|
if (moduleName === 'group-btn' && this.activeLayout === 'Classic') {
|
|
2550
|
-
for (var
|
|
2551
|
-
var btnEle = ele.querySelector('#' + item.id + constants.RIBBON_GROUP_BUTTON_ID +
|
|
2694
|
+
for (var i_6 = 0; i_6 < item.groupButtonSettings.items.length; i_6++) {
|
|
2695
|
+
var btnEle = ele.querySelector('#' + item.id + constants.RIBBON_GROUP_BUTTON_ID + i_6);
|
|
2552
2696
|
updateCommonProperty(btnEle, 'btn', commonProp);
|
|
2553
2697
|
}
|
|
2554
2698
|
}
|
|
2555
2699
|
else if (moduleName === 'group-btn' && this.activeLayout === 'Simplified') {
|
|
2556
2700
|
updateCommonProperty(ele, 'dropdown-btn', commonProp);
|
|
2557
|
-
for (var
|
|
2558
|
-
var btnEle = document.querySelector('#' + item.id + constants.RIBBON_GROUP_BUTTON_ID +
|
|
2701
|
+
for (var i_7 = 0; i_7 < item.groupButtonSettings.items.length; i_7++) {
|
|
2702
|
+
var btnEle = document.querySelector('#' + item.id + constants.RIBBON_GROUP_BUTTON_ID + i_7);
|
|
2559
2703
|
updateCommonProperty(btnEle, 'btn', commonProp);
|
|
2560
2704
|
}
|
|
2561
2705
|
}
|
|
@@ -2929,7 +3073,7 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
2929
3073
|
}
|
|
2930
3074
|
if (this.activeLayout === RibbonLayout.Simplified) {
|
|
2931
3075
|
if (itemProp.group.enableGroupOverflow) {
|
|
2932
|
-
if (dropdown.target.childElementCount === 0) {
|
|
3076
|
+
if (dropdown.target.childElementCount === 0 || (dropdown.target.childElementCount === 1 && this.isHeaderVisible(dropdown.target, itemProp.group.id))) {
|
|
2933
3077
|
this.removeOverflowButton(dropdown);
|
|
2934
3078
|
}
|
|
2935
3079
|
}
|
|
@@ -2956,6 +3100,9 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
2956
3100
|
this.refreshLayout();
|
|
2957
3101
|
}
|
|
2958
3102
|
};
|
|
3103
|
+
Ribbon.prototype.isHeaderVisible = function (headerEle, groupID) {
|
|
3104
|
+
return headerEle.querySelector('#' + groupID + constants.GROUPOF_BUTTON_ID + constants.HEADER_ID) ? true : false;
|
|
3105
|
+
};
|
|
2959
3106
|
/**
|
|
2960
3107
|
* Hides a specific group within a ribbon tab.
|
|
2961
3108
|
*
|
|
@@ -2984,7 +3131,7 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
2984
3131
|
var contentEle = this.tabObj.items[itemProp.tabIndex].content;
|
|
2985
3132
|
var groupEle = contentEle.querySelector('#' + groupID);
|
|
2986
3133
|
if (groupEle) {
|
|
2987
|
-
isHidden ?
|
|
3134
|
+
this.updateHiddenElements(itemProp.tabIndex, isHidden ? 'hideGroup' : 'showGroup', groupID, isHidden, groupEle);
|
|
2988
3135
|
}
|
|
2989
3136
|
else {
|
|
2990
3137
|
this.updateInitialProps(itemProp.tabIndex, groupID, 'hiddenGroups', isHidden);
|
|
@@ -3009,7 +3156,244 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
3009
3156
|
}
|
|
3010
3157
|
}
|
|
3011
3158
|
}
|
|
3012
|
-
this.
|
|
3159
|
+
if (this.selectedTab === itemProp.tabIndex) {
|
|
3160
|
+
this.refreshLayout();
|
|
3161
|
+
}
|
|
3162
|
+
};
|
|
3163
|
+
Ribbon.prototype.updateHiddenElements = function (tabIndex, key, id, isHidden, element, group) {
|
|
3164
|
+
if (isHidden) {
|
|
3165
|
+
if (!(element.classList.contains('e-hidden'))) {
|
|
3166
|
+
this.checkHiddenElements(key, id, tabIndex);
|
|
3167
|
+
element.classList.add('e-hidden');
|
|
3168
|
+
if (key === 'hideItem') {
|
|
3169
|
+
this.checkHiddenItems(group, isHidden, tabIndex);
|
|
3170
|
+
}
|
|
3171
|
+
this.calculateHiddenElementsWidth(tabIndex);
|
|
3172
|
+
}
|
|
3173
|
+
}
|
|
3174
|
+
else {
|
|
3175
|
+
if (element.classList.contains('e-hidden')) {
|
|
3176
|
+
this.checkHiddenElements(key, id, tabIndex);
|
|
3177
|
+
element.classList.remove('e-hidden');
|
|
3178
|
+
this.calculateHiddenElementsWidth(tabIndex);
|
|
3179
|
+
if (key === 'showItem') {
|
|
3180
|
+
this.checkHiddenItems(group, isHidden, tabIndex);
|
|
3181
|
+
}
|
|
3182
|
+
}
|
|
3183
|
+
}
|
|
3184
|
+
};
|
|
3185
|
+
Ribbon.prototype.checkHiddenElements = function (key, id, tabIndex) {
|
|
3186
|
+
if (this.activeLayout === 'Simplified') {
|
|
3187
|
+
var hiddenProps = this.hiddenElements[parseInt(tabIndex.toString(), 10)];
|
|
3188
|
+
if (!hiddenProps) {
|
|
3189
|
+
this.hiddenElements[parseInt(tabIndex.toString(), 10)] = {};
|
|
3190
|
+
hiddenProps = this.hiddenElements[parseInt(tabIndex.toString(), 10)];
|
|
3191
|
+
}
|
|
3192
|
+
if (hiddenProps) {
|
|
3193
|
+
/* eslint-disable */
|
|
3194
|
+
if (!hiddenProps[key]) {
|
|
3195
|
+
hiddenProps[key] = [];
|
|
3196
|
+
}
|
|
3197
|
+
if (hiddenProps[key].length) {
|
|
3198
|
+
var index = hiddenProps[key].indexOf(id);
|
|
3199
|
+
if (index === -1) {
|
|
3200
|
+
hiddenProps[key].push(id);
|
|
3201
|
+
}
|
|
3202
|
+
}
|
|
3203
|
+
else {
|
|
3204
|
+
hiddenProps[key].push(id);
|
|
3205
|
+
}
|
|
3206
|
+
/* eslint-enable */
|
|
3207
|
+
}
|
|
3208
|
+
}
|
|
3209
|
+
};
|
|
3210
|
+
Ribbon.prototype.updateItemsSimplifiedWidth = function (tabIndex, key) {
|
|
3211
|
+
var hiddenProps = this.hiddenElements[parseInt(tabIndex.toString(), 10)];
|
|
3212
|
+
/* eslint-disable */
|
|
3213
|
+
if (hiddenProps && hiddenProps[key] && hiddenProps[key].length) {
|
|
3214
|
+
var _loop_4 = function (i) {
|
|
3215
|
+
var contentEle = this_4.tabObj.items[tabIndex].content;
|
|
3216
|
+
var hiddenEle;
|
|
3217
|
+
var groupEle = void 0;
|
|
3218
|
+
var isGroupHidden = false;
|
|
3219
|
+
var widthDifference = 0;
|
|
3220
|
+
if (key === 'hideGroup' || key === 'showGroup') {
|
|
3221
|
+
hiddenEle = contentEle.querySelector('#' + hiddenProps[key][i]);
|
|
3222
|
+
}
|
|
3223
|
+
else {
|
|
3224
|
+
hiddenEle = contentEle.querySelector('#' + hiddenProps[key][i] + constants.CONTAINER_ID);
|
|
3225
|
+
}
|
|
3226
|
+
if (hiddenEle) {
|
|
3227
|
+
if (key === 'hideGroup' || key === 'hideItem') {
|
|
3228
|
+
var isHidden = false;
|
|
3229
|
+
if (hiddenEle.classList.contains('e-hidden')) {
|
|
3230
|
+
isHidden = true;
|
|
3231
|
+
hiddenEle.classList.remove('e-hidden');
|
|
3232
|
+
}
|
|
3233
|
+
if (key === 'hideItem') {
|
|
3234
|
+
groupEle = hiddenEle.closest('.e-ribbon-group');
|
|
3235
|
+
if (groupEle.classList.contains('e-hide-group')) {
|
|
3236
|
+
isGroupHidden = true;
|
|
3237
|
+
widthDifference = this_4.checkWidthDifference(hiddenEle, groupEle);
|
|
3238
|
+
}
|
|
3239
|
+
}
|
|
3240
|
+
this_4.calculateOverflowItemsWidth(hiddenEle.offsetWidth + widthDifference, true, tabIndex);
|
|
3241
|
+
this_4.calculateMediumDataWidth(hiddenEle.offsetWidth + widthDifference, tabIndex, true);
|
|
3242
|
+
if (isHidden) {
|
|
3243
|
+
hiddenEle.classList.add('e-hidden');
|
|
3244
|
+
}
|
|
3245
|
+
}
|
|
3246
|
+
else {
|
|
3247
|
+
if (key === 'showItem') {
|
|
3248
|
+
groupEle = hiddenEle.closest('.e-ribbon-group');
|
|
3249
|
+
if (groupEle.classList.contains('e-hide-group')) {
|
|
3250
|
+
isGroupHidden = true;
|
|
3251
|
+
groupEle.classList.remove('e-hide-group');
|
|
3252
|
+
groupEle.classList.remove('e-ribbon-emptyCollection');
|
|
3253
|
+
widthDifference = Math.abs(hiddenEle.offsetWidth - groupEle.offsetWidth);
|
|
3254
|
+
if (this_4.hiddenGroups.indexOf(groupEle.id) !== -1) {
|
|
3255
|
+
this_4.hiddenGroups.splice(this_4.hiddenGroups.indexOf(groupEle.id), 1);
|
|
3256
|
+
}
|
|
3257
|
+
}
|
|
3258
|
+
else {
|
|
3259
|
+
if (this_4.hiddenGroups.indexOf(groupEle.id) !== -1) {
|
|
3260
|
+
var hiddenItems = groupEle.querySelectorAll('.e-ribbon-item:not(.e-hidden)');
|
|
3261
|
+
hiddenItems.forEach(function (item) {
|
|
3262
|
+
if (item.id !== hiddenEle.id) {
|
|
3263
|
+
item.classList.add('e-hidden');
|
|
3264
|
+
}
|
|
3265
|
+
});
|
|
3266
|
+
widthDifference = Math.abs(hiddenEle.offsetWidth - groupEle.offsetWidth);
|
|
3267
|
+
hiddenItems.forEach(function (item) {
|
|
3268
|
+
if (item.id !== hiddenEle.id) {
|
|
3269
|
+
item.classList.remove('e-hidden');
|
|
3270
|
+
}
|
|
3271
|
+
});
|
|
3272
|
+
this_4.hiddenGroups.splice(this_4.hiddenGroups.indexOf(groupEle.id), 1);
|
|
3273
|
+
}
|
|
3274
|
+
}
|
|
3275
|
+
}
|
|
3276
|
+
this_4.calculateOverflowItemsWidth(hiddenEle.offsetWidth + widthDifference, false, tabIndex);
|
|
3277
|
+
this_4.calculateMediumDataWidth(hiddenEle.offsetWidth + widthDifference, tabIndex, false);
|
|
3278
|
+
}
|
|
3279
|
+
if (isGroupHidden) {
|
|
3280
|
+
groupEle.classList.add('e-hide-group');
|
|
3281
|
+
groupEle.classList.add('e-ribbon-emptyCollection');
|
|
3282
|
+
}
|
|
3283
|
+
}
|
|
3284
|
+
var index = hiddenProps[key].indexOf(hiddenProps[key][i]);
|
|
3285
|
+
if (index !== -1) {
|
|
3286
|
+
hiddenProps[key].splice(index, 1);
|
|
3287
|
+
i--;
|
|
3288
|
+
}
|
|
3289
|
+
out_i_1 = i;
|
|
3290
|
+
};
|
|
3291
|
+
var this_4 = this, out_i_1;
|
|
3292
|
+
for (var i = 0; i < hiddenProps[key].length; i++) {
|
|
3293
|
+
_loop_4(i);
|
|
3294
|
+
i = out_i_1;
|
|
3295
|
+
}
|
|
3296
|
+
}
|
|
3297
|
+
};
|
|
3298
|
+
Ribbon.prototype.checkWidthDifference = function (hiddenEle, groupEle) {
|
|
3299
|
+
var widthDifference = 0;
|
|
3300
|
+
groupEle.classList.remove('e-hide-group');
|
|
3301
|
+
groupEle.classList.remove('e-ribbon-emptyCollection');
|
|
3302
|
+
if (this.hiddenGroups.length) {
|
|
3303
|
+
if (this.hiddenGroups.indexOf(groupEle.id) === -1) {
|
|
3304
|
+
this.hiddenGroups.push(groupEle.id);
|
|
3305
|
+
widthDifference = Math.abs(hiddenEle.offsetWidth - groupEle.offsetWidth);
|
|
3306
|
+
}
|
|
3307
|
+
}
|
|
3308
|
+
else {
|
|
3309
|
+
this.hiddenGroups.push(groupEle.id);
|
|
3310
|
+
widthDifference = Math.abs(hiddenEle.offsetWidth - groupEle.offsetWidth);
|
|
3311
|
+
}
|
|
3312
|
+
return widthDifference;
|
|
3313
|
+
};
|
|
3314
|
+
Ribbon.prototype.calculateHiddenElementsWidth = function (tabIndex) {
|
|
3315
|
+
if (tabIndex === this.selectedTab && this.activeLayout === 'Simplified') {
|
|
3316
|
+
var hiddenProps = this.hiddenElements[parseInt(tabIndex.toString(), 10)];
|
|
3317
|
+
if (hiddenProps) {
|
|
3318
|
+
for (var i = 0; i < Object.keys(hiddenProps).length; i++) {
|
|
3319
|
+
this.updateItemsSimplifiedWidth(tabIndex, Object.keys(hiddenProps)[parseInt(i.toString(), 10)]);
|
|
3320
|
+
}
|
|
3321
|
+
}
|
|
3322
|
+
}
|
|
3323
|
+
};
|
|
3324
|
+
Ribbon.prototype.calculateMediumDataWidth = function (hiddenWidth, tabIndex, isHidden) {
|
|
3325
|
+
if (this.selectedTab === tabIndex && this.activeLayout === 'Simplified') {
|
|
3326
|
+
var activeContent = this.tabObj.element.querySelector('#' + this.tabs[parseInt(tabIndex.toString(), 10)].id + constants.CONTENT_ID);
|
|
3327
|
+
var mediumDataItems = Array.prototype.slice.call(activeContent.querySelectorAll('.e-ribbon-item'));
|
|
3328
|
+
if (this.overflowDDB) {
|
|
3329
|
+
var overflowEle = this.overflowDDB.target;
|
|
3330
|
+
var overflowItems = overflowEle.querySelectorAll('.e-ribbon-item');
|
|
3331
|
+
var selectedOFTab = document.querySelector('#' + this.tabs[parseInt(tabIndex.toString(), 10)].id + constants.OVERFLOW_ID);
|
|
3332
|
+
for (var i = 0; i < overflowItems.length; i++) {
|
|
3333
|
+
var ofTab = overflowItems[parseInt(i.toString(), 10)].closest('#' + this.tabs[parseInt(tabIndex.toString(), 10)].id + constants.OVERFLOW_ID);
|
|
3334
|
+
if (selectedOFTab && ofTab && selectedOFTab.id === ofTab.id && overflowItems[parseInt(i.toString(), 10)].hasAttribute('data-medium-width')) {
|
|
3335
|
+
mediumDataItems.push(overflowItems[parseInt(i.toString(), 10)]);
|
|
3336
|
+
}
|
|
3337
|
+
}
|
|
3338
|
+
}
|
|
3339
|
+
var groupOFButton = activeContent.querySelectorAll('.e-ribbon-group-of-btn');
|
|
3340
|
+
for (var i = 0; i < groupOFButton.length; i++) {
|
|
3341
|
+
var overflowButton = getInstance(groupOFButton[parseInt(i.toString(), 10)], DropDownButton);
|
|
3342
|
+
var overflowBtnTarget = overflowButton.target;
|
|
3343
|
+
var overflowItems = overflowBtnTarget.querySelectorAll('.e-ribbon-item');
|
|
3344
|
+
for (var i_8 = 0; i_8 < overflowItems.length; i_8++) {
|
|
3345
|
+
if (overflowItems[parseInt(i_8.toString(), 10)].hasAttribute('data-medium-width')) {
|
|
3346
|
+
mediumDataItems.push(overflowItems[parseInt(i_8.toString(), 10)]);
|
|
3347
|
+
}
|
|
3348
|
+
}
|
|
3349
|
+
}
|
|
3350
|
+
for (var i = 0; i < mediumDataItems.length; i++) {
|
|
3351
|
+
if (mediumDataItems[parseInt(i.toString(), 10)].hasAttribute('data-medium-width')) {
|
|
3352
|
+
var previousWidth = parseInt(mediumDataItems[parseInt(i.toString(), 10)].getAttribute('data-medium-width'), 10);
|
|
3353
|
+
mediumDataItems[parseInt(i.toString(), 10)].setAttribute('data-medium-width', isHidden ? (previousWidth - hiddenWidth).toString() : (previousWidth + hiddenWidth).toString());
|
|
3354
|
+
}
|
|
3355
|
+
}
|
|
3356
|
+
}
|
|
3357
|
+
};
|
|
3358
|
+
Ribbon.prototype.calculateOverflowItemsWidth = function (hiddenItem, isHidden, tabIndex) {
|
|
3359
|
+
if (this.selectedTab === tabIndex && this.activeLayout === 'Simplified') {
|
|
3360
|
+
var groupList = this.tabs[parseInt(tabIndex.toString(), 10)].groups;
|
|
3361
|
+
for (var i = 0; i < groupList.length; i++) {
|
|
3362
|
+
var group = groupList[parseInt(i.toString(), 10)];
|
|
3363
|
+
if (group.enableGroupOverflow) {
|
|
3364
|
+
var groupContainer = document.querySelector('#' + group.id);
|
|
3365
|
+
var overflowButton = void 0;
|
|
3366
|
+
var overflowDDB = groupContainer.querySelector('#' + group.id + constants.GROUPOF_BUTTON_ID);
|
|
3367
|
+
if (overflowDDB) {
|
|
3368
|
+
overflowButton = getInstance(overflowDDB, DropDownButton);
|
|
3369
|
+
}
|
|
3370
|
+
if (overflowButton) {
|
|
3371
|
+
var overflowEle = overflowButton.target;
|
|
3372
|
+
var overflowItems = overflowEle.querySelectorAll('.e-ribbon-item');
|
|
3373
|
+
for (var i_9 = 0; i_9 < overflowItems.length; i_9++) {
|
|
3374
|
+
var previousWidth = parseInt(overflowItems[parseInt(i_9.toString(), 10)].getAttribute('data-simplified-width'), 10);
|
|
3375
|
+
if (previousWidth) {
|
|
3376
|
+
overflowItems[parseInt(i_9.toString(), 10)].setAttribute('data-simplified-width', isHidden ? (previousWidth - hiddenItem).toString() : (previousWidth + hiddenItem).toString());
|
|
3377
|
+
}
|
|
3378
|
+
}
|
|
3379
|
+
}
|
|
3380
|
+
}
|
|
3381
|
+
}
|
|
3382
|
+
}
|
|
3383
|
+
if (this.overflowDDB) {
|
|
3384
|
+
var selectedOFTab = document.querySelector('#' + this.tabs[parseInt(tabIndex.toString(), 10)].id + constants.OVERFLOW_ID);
|
|
3385
|
+
var overflowEle = this.overflowDDB.target;
|
|
3386
|
+
var overflowItems = overflowEle.querySelectorAll('.e-ribbon-item');
|
|
3387
|
+
for (var i = 0; i < overflowItems.length; i++) {
|
|
3388
|
+
var ofTab = overflowItems[parseInt(i.toString(), 10)].closest('#' + this.tabs[parseInt(tabIndex.toString(), 10)].id + constants.OVERFLOW_ID);
|
|
3389
|
+
if (selectedOFTab && ofTab && selectedOFTab.id === ofTab.id) {
|
|
3390
|
+
var previousWidth = parseInt(overflowItems[parseInt(i.toString(), 10)].getAttribute('data-simplified-width'), 10);
|
|
3391
|
+
if (previousWidth) {
|
|
3392
|
+
overflowItems[parseInt(i.toString(), 10)].setAttribute('data-simplified-width', isHidden ? (previousWidth - hiddenItem).toString() : (previousWidth + hiddenItem).toString());
|
|
3393
|
+
}
|
|
3394
|
+
}
|
|
3395
|
+
}
|
|
3396
|
+
}
|
|
3013
3397
|
};
|
|
3014
3398
|
/**
|
|
3015
3399
|
* Disables a specific group within a ribbon tab.
|
|
@@ -3270,9 +3654,10 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
3270
3654
|
}
|
|
3271
3655
|
if (ele) {
|
|
3272
3656
|
var itemEle = closest(ele, '.e-ribbon-item');
|
|
3273
|
-
isHidden ?
|
|
3274
|
-
this.
|
|
3275
|
-
|
|
3657
|
+
this.updateHiddenElements(itemProp.tabIndex, isHidden ? 'hideItem' : 'showItem', itemId, isHidden, itemEle, itemProp.group);
|
|
3658
|
+
if (this.selectedTab === itemProp.tabIndex) {
|
|
3659
|
+
this.refreshLayout();
|
|
3660
|
+
}
|
|
3276
3661
|
}
|
|
3277
3662
|
else {
|
|
3278
3663
|
this.updateInitialProps(itemProp.tabIndex, itemId, 'hiddenItems', isHidden);
|
|
@@ -3515,7 +3900,7 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
3515
3900
|
}
|
|
3516
3901
|
if (this.activeLayout === RibbonLayout.Simplified) {
|
|
3517
3902
|
if (itemProp.group.enableGroupOverflow) {
|
|
3518
|
-
if (dropdown.target.childElementCount === 0) {
|
|
3903
|
+
if (dropdown.target.childElementCount === 0 || (dropdown.target.childElementCount === 1 && this.isHeaderVisible(dropdown.target, itemProp.group.id))) {
|
|
3519
3904
|
this.removeOverflowButton(dropdown);
|
|
3520
3905
|
}
|
|
3521
3906
|
}
|
|
@@ -3734,7 +4119,7 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
3734
4119
|
}
|
|
3735
4120
|
this.createRibbonItem(ribbonItem, itemContainer);
|
|
3736
4121
|
if (this.activeLayout === 'Simplified' && itemProp.group.enableGroupOverflow) {
|
|
3737
|
-
if (dropdown.target.childElementCount === 0) {
|
|
4122
|
+
if (dropdown.target.childElementCount === 0 || (dropdown.target.childElementCount === 1 && this.isHeaderVisible(dropdown.target, itemProp.group.id))) {
|
|
3738
4123
|
this.removeOverflowButton(dropdown);
|
|
3739
4124
|
}
|
|
3740
4125
|
}
|
|
@@ -3839,6 +4224,9 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
3839
4224
|
this.keyboardModuleRibbon.destroy();
|
|
3840
4225
|
this.keyboardModuleRibbon = null;
|
|
3841
4226
|
destroyTooltip(this.element);
|
|
4227
|
+
if (this.refreshing) {
|
|
4228
|
+
this.clearOverflowDropDown(this.selectedTab);
|
|
4229
|
+
}
|
|
3842
4230
|
this.destroyTabItems(this.tabs);
|
|
3843
4231
|
if (!this.hideLayoutSwitcher) {
|
|
3844
4232
|
this.removeExpandCollapse();
|
|
@@ -3846,6 +4234,7 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
3846
4234
|
this.collapseButton = undefined;
|
|
3847
4235
|
if (this.scrollModule) {
|
|
3848
4236
|
this.scrollModule.destroy();
|
|
4237
|
+
this.scrollModule = null;
|
|
3849
4238
|
}
|
|
3850
4239
|
if (this.ribbonTempEle) {
|
|
3851
4240
|
remove(this.ribbonTempEle);
|
|
@@ -3855,6 +4244,8 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
3855
4244
|
this.tabObj.destroy();
|
|
3856
4245
|
this.tabObj = undefined;
|
|
3857
4246
|
this.initialPropsData = {};
|
|
4247
|
+
this.hiddenGroups = [];
|
|
4248
|
+
this.hiddenElements = {};
|
|
3858
4249
|
remove(this.element.querySelector('#' + this.element.id + constants.TAB_ID));
|
|
3859
4250
|
this.element.style.removeProperty(constants.RIBBON_FILE_MENU_WIDTH);
|
|
3860
4251
|
this.element.style.removeProperty(constants.RIBBON_HELP_PANE_TEMPLATE_WIDTH);
|