@syncfusion/ej2-ribbon 23.1.36 → 23.1.41

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.
@@ -4083,7 +4083,7 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4083
4083
  if (((item.displayOptions === DisplayMode.Auto) ||
4084
4084
  (item.displayOptions === (DisplayMode.Simplified | DisplayMode.Overflow))) && !isNullOrUndefined(itemContainer)) {
4085
4085
  itemContainer.setAttribute('data-simplified-width', activeContent.offsetWidth.toString());
4086
- this.createOverflowPopup(item, tabIndex, group.enableGroupOverflow, group.id, group.header, itemContainer, groupContainer);
4086
+ this.createOverflowPopup(item, tabIndex, group.enableGroupOverflow, group.id, group.header, itemContainer, groupContainer, true);
4087
4087
  if (item.activeSize === RibbonItemSize.Small) {
4088
4088
  var itemEle = itemContainer.querySelector('#' + item.id);
4089
4089
  item.setProperties({ activeSize: RibbonItemSize.Medium }, true);
@@ -4204,7 +4204,7 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4204
4204
  }
4205
4205
  }
4206
4206
  };
4207
- Ribbon.prototype.createOverflowPopup = function (item, tabIndex, isGroupOF, groupId, groupHeader, itemEle, groupContainer) {
4207
+ Ribbon.prototype.createOverflowPopup = function (item, tabIndex, isGroupOF, groupId, groupHeader, itemEle, groupContainer, isResize) {
4208
4208
  var overflowButton;
4209
4209
  var contentEle = this.tabObj.items[parseInt(tabIndex.toString(), 10)].content;
4210
4210
  var isDisabledGroup = contentEle.querySelector('#' + groupId);
@@ -4218,10 +4218,12 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4218
4218
  else {
4219
4219
  overflowButton = getInstance(overflowDDB, DropDownButton);
4220
4220
  }
4221
+ var overflowBtnTarget = overflowButton.target;
4221
4222
  if (isDisabledGroup && isDisabledGroup.classList.contains('e-disabled')) {
4222
- overflowButton.target.classList.add('e-disabled');
4223
+ overflowBtnTarget.classList.add('e-disabled');
4223
4224
  }
4224
- overflowButton.target.append(itemEle);
4225
+ isResize ? overflowBtnTarget.insertBefore(itemEle, overflowBtnTarget.querySelector('.' + RIBBON_ITEM))
4226
+ : overflowBtnTarget.append(itemEle);
4225
4227
  }
4226
4228
  else {
4227
4229
  if (!this.overflowDDB) {
@@ -4243,7 +4245,7 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4243
4245
  }
4244
4246
  ofTabContainer.append(ofGroupContainer);
4245
4247
  }
4246
- ofGroupContainer.append(itemEle);
4248
+ isResize ? ofGroupContainer.insertBefore(itemEle, ofGroupContainer.querySelector('.' + RIBBON_ITEM)) : ofGroupContainer.append(itemEle);
4247
4249
  }
4248
4250
  else {
4249
4251
  this.createOfTabContainer(groupId, groupHeader, itemEle, tabIndex);
@@ -5312,21 +5314,82 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
5312
5314
  remove(this.tabObj.element.querySelector('.' + RIBBON_COLLAPSE_BUTTON));
5313
5315
  this.collapseButton = null;
5314
5316
  };
5315
- Ribbon.prototype.reRenderTabs = function () {
5317
+ Ribbon.prototype.reRenderTabs = function (tabs) {
5316
5318
  this.destroyScroll();
5317
5319
  this.checkID(this.tabs, 'tab', this.element.id);
5318
- this.destroyTabItems(this.tabsInternal);
5319
- this.tabsInternal = this.tabs.slice();
5320
- this.validateItemSize();
5321
- var tabItems = this.createTabItems(this.tabs);
5322
- if (this.selectedTab >= this.tabs.length) {
5323
- this.selectedTab = this.tabs.length - 1;
5324
- }
5325
- this.tabObj.setProperties({ items: tabItems, selectedItem: this.selectedTab });
5326
- var contentEle = this.tabObj.items[this.selectedTab].content;
5327
- if (contentEle.innerHTML === '') {
5328
- this.renderInitialTab(this.selectedTab);
5320
+ for (var key in tabs) {
5321
+ var index = parseInt(key, 10);
5322
+ var tab = tabs[parseInt(index.toString(), 10)];
5323
+ var isNewTab = false;
5324
+ for (var j = 0; j < (this.tabObj.items.length); j++) {
5325
+ if (this.tabs[parseInt(index.toString(), 10)].id === this.tabObj.items[parseInt(j.toString(), 10)].id) {
5326
+ isNewTab = true;
5327
+ break;
5328
+ }
5329
+ }
5330
+ if (!isNewTab) {
5331
+ this.destroyTabItems(this.tabsInternal);
5332
+ this.tabsInternal = this.tabs.slice();
5333
+ this.validateItemSize();
5334
+ var tabItems = this.createTabItems(this.tabs);
5335
+ if (this.selectedTab >= this.tabs.length) {
5336
+ this.selectedTab = this.tabs.length - 1;
5337
+ }
5338
+ this.tabObj.setProperties({ items: tabItems, selectedItem: this.selectedTab });
5339
+ break;
5340
+ }
5341
+ else {
5342
+ var groups = this.tabs[parseInt(index.toString(), 10)].groups;
5343
+ var tabEle = this.tabObj.element;
5344
+ var ribbonTab = this.tabs[parseInt(index.toString(), 10)];
5345
+ ribbonTab.setProperties(tab, true);
5346
+ this.setProperties({ groups: this.checkID(ribbonTab.groups, 'group', ribbonTab.id) }, true);
5347
+ this.validateItemSize();
5348
+ var contentEle = this.tabObj.items[parseInt(index.toString(), 10)].content;
5349
+ if (groups) {
5350
+ // Check whether header is passed by the user and sets the updated values.
5351
+ if (tab.header) {
5352
+ this.tabObj.items[parseInt(index.toString(), 10)].header.text.innerText = ribbonTab.header;
5353
+ }
5354
+ // Check whether cssClass is passed by the user, and if it is, then remove the old values.
5355
+ if (tab.cssClass) {
5356
+ if (this.tabObj.items[parseInt(index.toString(), 10)].cssClass) {
5357
+ contentEle.classList.remove(this.tabObj.items[parseInt(index.toString(), 10)].cssClass);
5358
+ tabEle.querySelector('.e-active').classList.remove(this.tabObj.items[parseInt(index.toString(), 10)].cssClass);
5359
+ }
5360
+ contentEle.classList.add(ribbonTab.cssClass);
5361
+ tabEle.querySelector('.e-active').classList.add(ribbonTab.cssClass);
5362
+ }
5363
+ // Check whether group is passed by the user, and if it is, then remove the old values.
5364
+ if (tab.groups) {
5365
+ for (var _i = 0, groups_1 = groups; _i < groups_1.length; _i++) {
5366
+ var group = groups_1[_i];
5367
+ var dropdownElement = group.isCollapsed ? contentEle.querySelector('#' + group.id + OVERFLOW_ID + DROPDOWN_ID) : null;
5368
+ for (var _a = 0, _b = group.collections; _a < _b.length; _a++) {
5369
+ var collection = _b[_a];
5370
+ for (var _c = 0, _d = collection.items; _c < _d.length; _c++) {
5371
+ var item = _d[_c];
5372
+ var ele = dropdownElement ? this.ribbonDropDownModule.getDDBItemElement(dropdownElement, item.id) : contentEle.querySelector('#' + item.id);
5373
+ if (ele) {
5374
+ this.destroyFunction(item, ele);
5375
+ }
5376
+ }
5377
+ }
5378
+ if (dropdownElement) {
5379
+ this.ribbonDropDownModule.removeOverFlowDropDown(dropdownElement);
5380
+ }
5381
+ }
5382
+ var groupElements = contentEle.querySelectorAll('.e-ribbon-group');
5383
+ // eslint-disable-next-line @typescript-eslint/tslint/config
5384
+ groupElements.forEach(function (groupEle) { groupEle.remove(); });
5385
+ var elements = this.createGroups(ribbonTab.groups, index);
5386
+ append(elements, contentEle);
5387
+ }
5388
+ }
5389
+ }
5329
5390
  }
5391
+ var activeContent = this.tabObj.element.querySelector('#' + this.tabs[this.selectedTab].id + CONTENT_ID);
5392
+ this.checkOverflow(this.selectedTab, activeContent);
5330
5393
  };
5331
5394
  Ribbon.prototype.switchLayout = function () {
5332
5395
  this.currentControlIndex = 0;
@@ -6130,8 +6193,8 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
6130
6193
  var contentEle = this.tabObj.items[parseInt(index.toString(), 10)].content;
6131
6194
  var groups = this.tabs[parseInt(index.toString(), 10)].groups;
6132
6195
  if (groups && (contentEle.innerHTML !== '')) {
6133
- for (var _i = 0, groups_1 = groups; _i < groups_1.length; _i++) {
6134
- var group = groups_1[_i];
6196
+ for (var _i = 0, groups_2 = groups; _i < groups_2.length; _i++) {
6197
+ var group = groups_2[_i];
6135
6198
  var dropdownElement = group.isCollapsed ? contentEle.querySelector('#' + group.id + OVERFLOW_ID + DROPDOWN_ID) : null;
6136
6199
  for (var _a = 0, _b = group.collections; _a < _b.length; _a++) {
6137
6200
  var collection = _b[_a];
@@ -6597,8 +6660,8 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
6597
6660
  }
6598
6661
  // Check whether group is passed by the user, and if it is, then remove the old values.
6599
6662
  if (tab.groups) {
6600
- for (var _i = 0, groups_2 = groups; _i < groups_2.length; _i++) {
6601
- var group = groups_2[_i];
6663
+ for (var _i = 0, groups_3 = groups; _i < groups_3.length; _i++) {
6664
+ var group = groups_3[_i];
6602
6665
  var dropdownElement = group.isCollapsed ? contentEle.querySelector('#' + group.id + OVERFLOW_ID + DROPDOWN_ID) : null;
6603
6666
  for (var _a = 0, _b = group.collections; _a < _b.length; _a++) {
6604
6667
  var collection = _b[_a];
@@ -7137,7 +7200,7 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
7137
7200
  this.tabObj.setProperties({ animation: newProp.tabAnimation });
7138
7201
  break;
7139
7202
  case 'tabs':
7140
- this.reRenderTabs();
7203
+ this.reRenderTabs(newProp.tabs);
7141
7204
  break;
7142
7205
  case 'width':
7143
7206
  this.element.style.width = formatUnit(newProp.width);