@syncfusion/ej2-ribbon 25.1.35 → 25.2.3

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.
Files changed (51) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/README.md +3 -3
  3. package/dist/ej2-ribbon.umd.min.js +2 -2
  4. package/dist/ej2-ribbon.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-ribbon.es2015.js +114 -81
  6. package/dist/es6/ej2-ribbon.es2015.js.map +1 -1
  7. package/dist/es6/ej2-ribbon.es5.js +114 -81
  8. package/dist/es6/ej2-ribbon.es5.js.map +1 -1
  9. package/dist/global/ej2-ribbon.min.js +2 -2
  10. package/dist/global/ej2-ribbon.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +12 -12
  13. package/src/ribbon/base/ribbon.d.ts +3 -0
  14. package/src/ribbon/base/ribbon.js +115 -82
  15. package/styles/bootstrap-dark.css +1 -1
  16. package/styles/bootstrap.css +1 -1
  17. package/styles/bootstrap4.css +1 -1
  18. package/styles/bootstrap5-dark.css +1 -1
  19. package/styles/bootstrap5.css +1 -1
  20. package/styles/fabric-dark.css +4 -4
  21. package/styles/fabric.css +1 -1
  22. package/styles/fluent-dark.css +1 -1
  23. package/styles/fluent.css +1 -1
  24. package/styles/highcontrast-light.css +1 -1
  25. package/styles/highcontrast.css +1 -1
  26. package/styles/material-dark.css +1 -1
  27. package/styles/material.css +1 -1
  28. package/styles/material3-dark.css +2 -2
  29. package/styles/material3.css +2 -2
  30. package/styles/ribbon/_fabric-dark-definition.scss +1 -1
  31. package/styles/ribbon/_layout.scss +1 -1
  32. package/styles/ribbon/_material3-definition.scss +2 -2
  33. package/styles/ribbon/bootstrap-dark.css +1 -1
  34. package/styles/ribbon/bootstrap.css +1 -1
  35. package/styles/ribbon/bootstrap4.css +1 -1
  36. package/styles/ribbon/bootstrap5-dark.css +1 -1
  37. package/styles/ribbon/bootstrap5.css +1 -1
  38. package/styles/ribbon/fabric-dark.css +4 -4
  39. package/styles/ribbon/fabric.css +1 -1
  40. package/styles/ribbon/fluent-dark.css +1 -1
  41. package/styles/ribbon/fluent.css +1 -1
  42. package/styles/ribbon/highcontrast-light.css +1 -1
  43. package/styles/ribbon/highcontrast.css +1 -1
  44. package/styles/ribbon/material-dark.css +1 -1
  45. package/styles/ribbon/material.css +1 -1
  46. package/styles/ribbon/material3-dark.css +2 -2
  47. package/styles/ribbon/material3.css +2 -2
  48. package/styles/ribbon/tailwind-dark.css +1 -1
  49. package/styles/ribbon/tailwind.css +1 -1
  50. package/styles/tailwind-dark.css +1 -1
  51. package/styles/tailwind.css +1 -1
@@ -4727,7 +4727,10 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4727
4727
  this.hiddenElements = {};
4728
4728
  this.keyTipElements = {};
4729
4729
  this.hiddenGroups = [];
4730
+ this.itemsModel = [];
4731
+ this.targetTabs = {};
4730
4732
  this.isAddRemove = false;
4733
+ this.isUpdateItems = false;
4731
4734
  this.keyConfigs = {
4732
4735
  leftarrow: 'leftarrow',
4733
4736
  rightarrow: 'rightarrow',
@@ -5238,6 +5241,19 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
5238
5241
  var eventArgs = { previousIndex: this.selectedTab, selectedIndex: selectedIndex, isContextual: isContextual };
5239
5242
  this.setProperties({ selectedTab: selectedIndex }, true);
5240
5243
  this.calculateHiddenElementsWidth(selectedIndex);
5244
+ if (this.isUpdateItems) {
5245
+ for (var i = 0; i < this.itemsModel.length; i++) {
5246
+ var item = this.itemsModel[parseInt(i.toString(), 10)];
5247
+ if (this.selectedTab === this.targetTabs[item.id]) {
5248
+ this.updateItem(item);
5249
+ this.itemsModel.splice(i, 1);
5250
+ i--;
5251
+ }
5252
+ }
5253
+ if (this.itemsModel.length === 0) {
5254
+ this.isUpdateItems = false;
5255
+ }
5256
+ }
5241
5257
  this.checkOverflow(selectedIndex, e.selectedContent.firstChild);
5242
5258
  if (this.activeLayout === 'Classic' && this.ribbonGalleryModule) {
5243
5259
  this.ribbonGalleryModule.checkAvailableHeight(selectedIndex, e.selectedContent.firstChild);
@@ -9055,96 +9071,111 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
9055
9071
  //Check whether the tab items are rendered
9056
9072
  var contentEle = this.tabObj.items[itemProp.tabIndex].content;
9057
9073
  var groupEle = contentEle.querySelector('#' + itemProp.group.id);
9058
- var groupContainer = groupEle.querySelector('#' + itemProp.group.id + CONTAINER_ID);
9059
- var itemContainer = null;
9060
- var itemEle = null;
9061
- var dropdownElement;
9062
- var dropdown;
9063
- if (contentEle.innerHTML !== '') {
9064
- if (this.activeLayout === RibbonLayout.Simplified) {
9065
- dropdownElement = itemProp.group.enableGroupOverflow ?
9066
- contentEle.querySelector('#' + itemProp.group.id + GROUPOF_BUTTON_ID) : null;
9067
- dropdown = dropdownElement ? getComponent(dropdownElement, DropDownButton) : this.overflowDDB;
9068
- }
9069
- if (this.activeLayout === RibbonLayout.Simplified && itemProp.item.displayOptions === DisplayMode.Overflow) {
9070
- itemContainer = dropdown.target.querySelector('#' + itemId + CONTAINER_ID);
9071
- itemEle = dropdown.target.querySelector('#' + itemId);
9072
- if (item.displayOptions && item.displayOptions !== DisplayMode.Overflow) {
9073
- var collectionEle = groupContainer.querySelector('#' + itemProp.collection.id);
9074
- if (collectionEle) {
9075
- collectionEle.appendChild(itemContainer);
9074
+ if (groupEle) {
9075
+ var groupContainer = groupEle.querySelector('#' + itemProp.group.id + CONTAINER_ID);
9076
+ var itemContainer = null;
9077
+ var itemEle = null;
9078
+ var dropdownElement = void 0;
9079
+ var dropdown = void 0;
9080
+ if (contentEle.innerHTML !== '') {
9081
+ if (this.activeLayout === RibbonLayout.Simplified) {
9082
+ dropdownElement = itemProp.group.enableGroupOverflow ?
9083
+ contentEle.querySelector('#' + itemProp.group.id + GROUPOF_BUTTON_ID) : null;
9084
+ dropdown = dropdownElement ? getComponent(dropdownElement, DropDownButton) : this.overflowDDB;
9085
+ }
9086
+ if (this.activeLayout === RibbonLayout.Simplified && itemProp.item.displayOptions === DisplayMode.Overflow) {
9087
+ itemContainer = dropdown.target.querySelector('#' + itemId + CONTAINER_ID);
9088
+ itemEle = dropdown.target.querySelector('#' + itemId);
9089
+ if (item.displayOptions && item.displayOptions !== DisplayMode.Overflow) {
9090
+ var collectionEle = groupContainer.querySelector('#' + itemProp.collection.id);
9091
+ if (collectionEle) {
9092
+ collectionEle.appendChild(itemContainer);
9093
+ }
9076
9094
  }
9077
9095
  }
9078
- }
9079
- else {
9080
- itemContainer = groupContainer.querySelector('#' + itemId + CONTAINER_ID);
9081
- itemEle = contentEle.querySelector('#' + itemId);
9082
- if (itemProp.item.type === 'GroupButton' && this.activeLayout === RibbonLayout.Classic) {
9083
- itemEle = contentEle.querySelector('#' + itemId + RIBBON_GROUP_BUTTON_ID);
9096
+ else {
9097
+ itemContainer = groupContainer.querySelector('#' + itemId + CONTAINER_ID);
9098
+ itemEle = contentEle.querySelector('#' + itemId);
9099
+ if (itemProp.item.type === 'GroupButton' && this.activeLayout === RibbonLayout.Classic) {
9100
+ itemEle = contentEle.querySelector('#' + itemId + RIBBON_GROUP_BUTTON_ID);
9101
+ }
9102
+ if (this.activeLayout === RibbonLayout.Simplified && item.displayOptions === DisplayMode.Overflow) {
9103
+ this.createOverflowPopup(itemProp.item, itemProp.tabIndex, itemProp.group.enableGroupOverflow, itemProp.group.id, itemProp.group.header, itemContainer, groupContainer);
9104
+ if ((itemProp.item.type === RibbonItemType.DropDown) || (itemProp.item.type === RibbonItemType.SplitButton) ||
9105
+ (item.type === RibbonItemType.GroupButton) || (item.type === RibbonItemType.Gallery)) {
9106
+ this.updatePopupItems(itemProp.item, itemContainer, itemProp.group.enableGroupOverflow, true);
9107
+ }
9108
+ }
9084
9109
  }
9085
- if (this.activeLayout === RibbonLayout.Simplified && item.displayOptions === DisplayMode.Overflow) {
9086
- this.createOverflowPopup(itemProp.item, itemProp.tabIndex, itemProp.group.enableGroupOverflow, itemProp.group.id, itemProp.group.header, itemContainer, groupContainer);
9087
- if ((itemProp.item.type === RibbonItemType.DropDown) || (itemProp.item.type === RibbonItemType.SplitButton) || (item.type === RibbonItemType.GroupButton) || (item.type === RibbonItemType.Gallery)) {
9088
- this.updatePopupItems(itemProp.item, itemContainer, itemProp.group.enableGroupOverflow, true);
9110
+ // Check whether cssClass is passed by the user, and if it is, then remove the old values.
9111
+ if (item.cssClass) {
9112
+ if (itemProp.item.cssClass) {
9113
+ itemContainer.classList.remove(itemProp.item.cssClass);
9089
9114
  }
9090
9115
  }
9091
- }
9092
- // Check whether cssClass is passed by the user, and if it is, then remove the old values.
9093
- if (item.cssClass) {
9094
- if (itemProp.item.cssClass) {
9095
- itemContainer.classList.remove(itemProp.item.cssClass);
9116
+ this.destroyFunction(itemProp.item, itemEle);
9117
+ itemEle.remove();
9118
+ var removeCss = itemContainer.classList.value.match(/(e-ribbon-[large|medium|small]+-item)/g);
9119
+ if (removeCss) {
9120
+ removeClass([itemContainer], removeCss);
9096
9121
  }
9097
9122
  }
9098
- this.destroyFunction(itemProp.item, itemEle);
9099
- itemEle.remove();
9100
- var removeCss = itemContainer.classList.value.match(/(e-ribbon-[large|medium|small]+-item)/g);
9101
- if (removeCss) {
9102
- removeClass([itemContainer], removeCss);
9103
- }
9104
- }
9105
- var ribbonItem = itemProp.item;
9106
- ribbonItem.setProperties(item, true);
9107
- this.validateItemSize();
9108
- if (contentEle.innerHTML !== '') {
9109
- if (!(this.activeLayout === RibbonLayout.Simplified && ribbonItem.displayOptions === DisplayMode.Overflow)) {
9110
- itemContainer = groupContainer.querySelector('#' + itemId + CONTAINER_ID);
9111
- }
9112
- else {
9113
- itemContainer = dropdown.target.querySelector('#' + itemId + CONTAINER_ID);
9114
- }
9115
- // To avoid undefined items condition is added
9116
- if (ribbonItem.ribbonTooltipSettings && isTooltipPresent(ribbonItem.ribbonTooltipSettings)) {
9117
- itemContainer.classList.add(RIBBON_TOOLTIP_TARGET);
9118
- this.tooltipData.push({ id: itemContainer.id, data: ribbonItem.ribbonTooltipSettings });
9119
- }
9120
- var size = ribbonItem.activeSize;
9121
- if (this.activeLayout === 'Simplified') {
9122
- size = ((ribbonItem.allowedSizes === RibbonItemSize.Large) || (ribbonItem.allowedSizes & RibbonItemSize.Medium) ||
9123
- (ribbonItem.displayOptions === DisplayMode.Overflow)) ? RibbonItemSize.Medium : RibbonItemSize.Small;
9124
- ribbonItem.setProperties({ activeSize: size }, true);
9125
- }
9126
- if (size & RibbonItemSize.Large) {
9127
- itemContainer.classList.add(RIBBON_LARGE_ITEM, RIBBON_CONTENT_HEIGHT);
9128
- }
9129
- else {
9130
- itemContainer.classList.add((size & RibbonItemSize.Medium) ? RIBBON_MEDIUM_ITEM : RIBBON_SMALL_ITEM);
9131
- }
9132
- this.createRibbonItem(ribbonItem, itemContainer);
9133
- if (this.activeLayout === 'Simplified' && itemProp.group.enableGroupOverflow) {
9134
- if (dropdown.target.childElementCount === 0 || (dropdown.target.childElementCount === 1 && this.isHeaderVisible(dropdown.target, itemProp.group.id))) {
9135
- this.removeOverflowButton(dropdown);
9123
+ var ribbonItem = itemProp.item;
9124
+ ribbonItem.setProperties(item, true);
9125
+ this.validateItemSize();
9126
+ if (contentEle.innerHTML !== '') {
9127
+ if (!(this.activeLayout === RibbonLayout.Simplified && ribbonItem.displayOptions === DisplayMode.Overflow)) {
9128
+ itemContainer = groupContainer.querySelector('#' + itemId + CONTAINER_ID);
9136
9129
  }
9130
+ else {
9131
+ itemContainer = dropdown.target.querySelector('#' + itemId + CONTAINER_ID);
9132
+ }
9133
+ // To avoid undefined items condition is added
9134
+ if (ribbonItem.ribbonTooltipSettings && isTooltipPresent(ribbonItem.ribbonTooltipSettings)) {
9135
+ itemContainer.classList.add(RIBBON_TOOLTIP_TARGET);
9136
+ this.tooltipData.push({ id: itemContainer.id, data: ribbonItem.ribbonTooltipSettings });
9137
+ }
9138
+ var size = ribbonItem.activeSize;
9139
+ if (this.activeLayout === 'Simplified') {
9140
+ size = ((ribbonItem.allowedSizes === RibbonItemSize.Large) || (ribbonItem.allowedSizes & RibbonItemSize.Medium) ||
9141
+ (ribbonItem.displayOptions === DisplayMode.Overflow)) ? RibbonItemSize.Medium : RibbonItemSize.Small;
9142
+ ribbonItem.setProperties({ activeSize: size }, true);
9143
+ }
9144
+ if (size & RibbonItemSize.Large) {
9145
+ itemContainer.classList.add(RIBBON_LARGE_ITEM, RIBBON_CONTENT_HEIGHT);
9146
+ }
9147
+ else {
9148
+ if (size & RibbonItemSize.Medium) {
9149
+ itemContainer.classList.add(RIBBON_MEDIUM_ITEM);
9150
+ }
9151
+ else {
9152
+ itemContainer.classList.add(RIBBON_SMALL_ITEM);
9153
+ }
9154
+ }
9155
+ this.createRibbonItem(ribbonItem, itemContainer);
9156
+ if (this.activeLayout === 'Simplified' && itemProp.group.enableGroupOverflow) {
9157
+ if (dropdown.target.childElementCount === 0 ||
9158
+ (dropdown.target.childElementCount === 1 &&
9159
+ this.isHeaderVisible(dropdown.target, itemProp.group.id))) {
9160
+ this.removeOverflowButton(dropdown);
9161
+ }
9162
+ }
9163
+ if (this.selectedTab === itemProp.tabIndex) {
9164
+ this.refreshLayout();
9165
+ }
9166
+ if (item.cssClass) {
9167
+ itemContainer.classList.add(ribbonItem.cssClass);
9168
+ }
9169
+ if (!(ribbonItem.disabled) && itemContainer.classList.contains(DISABLED_CSS)) {
9170
+ itemContainer.classList.remove(DISABLED_CSS);
9171
+ }
9172
+ this.enableDisableItem(ribbonItem.id, ribbonItem.disabled);
9137
9173
  }
9138
- if (this.selectedTab === itemProp.tabIndex) {
9139
- this.refreshLayout();
9140
- }
9141
- if (item.cssClass) {
9142
- itemContainer.classList.add(ribbonItem.cssClass);
9143
- }
9144
- if (!(ribbonItem.disabled) && itemContainer.classList.contains(DISABLED_CSS)) {
9145
- itemContainer.classList.remove(DISABLED_CSS);
9146
- }
9147
- this.enableDisableItem(ribbonItem.id, ribbonItem.disabled);
9174
+ }
9175
+ else {
9176
+ this.isUpdateItems = true;
9177
+ this.itemsModel.push(item);
9178
+ this.targetTabs[item.id] = itemProp.tabIndex;
9148
9179
  }
9149
9180
  };
9150
9181
  Ribbon.prototype.removeItemElement = function (contentEle, item, dropdown) {
@@ -9278,6 +9309,8 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
9278
9309
  this.hiddenGroups = [];
9279
9310
  this.hiddenElements = {};
9280
9311
  this.keyTipElements = {};
9312
+ this.itemsModel = [];
9313
+ this.targetTabs = {};
9281
9314
  remove(this.element.querySelector('#' + this.element.id + TAB_ID));
9282
9315
  this.element.style.removeProperty(RIBBON_FILE_MENU_WIDTH);
9283
9316
  this.element.style.removeProperty(RIBBON_HELP_PANE_TEMPLATE_WIDTH);