@syncfusion/ej2-ribbon 33.2.4 → 33.2.5
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/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 +40 -2
- package/dist/es6/ej2-ribbon.es2015.js.map +1 -1
- package/dist/es6/ej2-ribbon.es5.js +40 -2
- 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 +4 -4
- package/src/ribbon/base/ribbon.d.ts +1 -0
- package/src/ribbon/base/ribbon.js +14 -0
- package/src/ribbon/items/ribbon-dropdown.js +16 -1
- package/src/ribbon/items/ribbon-splitbutton.js +10 -1
|
@@ -2123,7 +2123,16 @@ class RibbonDropDown {
|
|
|
2123
2123
|
}
|
|
2124
2124
|
},
|
|
2125
2125
|
beforeItemRender: dropDownSettings.beforeItemRender,
|
|
2126
|
-
beforeOpen:
|
|
2126
|
+
beforeOpen: (e) => {
|
|
2127
|
+
const ddb = getComponent(buttonEle, DropDownButton);
|
|
2128
|
+
const target = this.parent.getAppendToElement();
|
|
2129
|
+
if (ddb && ddb.dropDown && !target.contains(ddb.dropDown.element)) {
|
|
2130
|
+
target.appendChild(ddb.dropDown.element);
|
|
2131
|
+
}
|
|
2132
|
+
if (dropDownSettings.beforeOpen) {
|
|
2133
|
+
dropDownSettings.beforeOpen.call(this, e);
|
|
2134
|
+
}
|
|
2135
|
+
},
|
|
2127
2136
|
close: (e) => {
|
|
2128
2137
|
if (dropDownSettings.close) {
|
|
2129
2138
|
dropDownSettings.close.call(this, e);
|
|
@@ -2226,6 +2235,12 @@ class RibbonDropDown {
|
|
|
2226
2235
|
cssClass: VERTICAL_DDB + SPACE + RIBBON_GROUP_OVERFLOW_DDB,
|
|
2227
2236
|
iconPosition: 'Top',
|
|
2228
2237
|
content: name,
|
|
2238
|
+
beforeOpen: () => {
|
|
2239
|
+
const target = this.parent.getAppendToElement();
|
|
2240
|
+
if (dropdown && dropdown.dropDown && !target.contains(dropdown.dropDown.element)) {
|
|
2241
|
+
target.appendChild(dropdown.dropDown.element);
|
|
2242
|
+
}
|
|
2243
|
+
},
|
|
2229
2244
|
beforeClose: (args) => {
|
|
2230
2245
|
args.cancel = !isNullOrUndefined(args.event && closest(args.event.target, '.' + RIBBON_POPUP_CONTROL));
|
|
2231
2246
|
}
|
|
@@ -2565,7 +2580,16 @@ class RibbonSplitButton {
|
|
|
2565
2580
|
}
|
|
2566
2581
|
},
|
|
2567
2582
|
beforeItemRender: splitButtonSettings.beforeItemRender,
|
|
2568
|
-
beforeOpen:
|
|
2583
|
+
beforeOpen: () => {
|
|
2584
|
+
const popupEl = splitbutton.dropDown.element;
|
|
2585
|
+
const target = this.parent.getAppendToElement();
|
|
2586
|
+
if (popupEl && !target.contains(popupEl)) {
|
|
2587
|
+
target.appendChild(popupEl);
|
|
2588
|
+
}
|
|
2589
|
+
if (splitButtonSettings.beforeOpen) {
|
|
2590
|
+
splitButtonSettings.beforeOpen.call(this);
|
|
2591
|
+
}
|
|
2592
|
+
},
|
|
2569
2593
|
close: () => {
|
|
2570
2594
|
splitbutton['wrapper'].classList.remove(RIBBON_POPUP_OPEN);
|
|
2571
2595
|
if (splitButtonSettings.close) {
|
|
@@ -4529,6 +4553,16 @@ let Ribbon = Ribbon_1 = class Ribbon extends Component {
|
|
|
4529
4553
|
}
|
|
4530
4554
|
return modules;
|
|
4531
4555
|
}
|
|
4556
|
+
getAppendToElement() {
|
|
4557
|
+
if (this.isAngular) {
|
|
4558
|
+
const cdkPane = this.element.closest('.cdk-overlay-pane');
|
|
4559
|
+
const popoverEl = this.element.closest('[popover]');
|
|
4560
|
+
if (cdkPane && popoverEl) {
|
|
4561
|
+
return cdkPane;
|
|
4562
|
+
}
|
|
4563
|
+
}
|
|
4564
|
+
return document.body;
|
|
4565
|
+
}
|
|
4532
4566
|
initialize() {
|
|
4533
4567
|
this.element.id = this.element.id || getUniqueID('e-' + this.getModuleName());
|
|
4534
4568
|
this.initializeLocale();
|
|
@@ -6499,6 +6533,10 @@ let Ribbon = Ribbon_1 = class Ribbon extends Component {
|
|
|
6499
6533
|
enableRtl: this.enableRtl,
|
|
6500
6534
|
enablePersistence: this.enablePersistence,
|
|
6501
6535
|
beforeOpen: (args) => {
|
|
6536
|
+
const target = this.getAppendToElement();
|
|
6537
|
+
if (overflowDDB && overflowDDB.dropDown && !target.contains(overflowDDB.dropDown.element)) {
|
|
6538
|
+
target.appendChild(overflowDDB.dropDown.element);
|
|
6539
|
+
}
|
|
6502
6540
|
const eventArgs = { element: args.element, event: args.event, cancel: args.cancel };
|
|
6503
6541
|
this.trigger('overflowPopupOpen', eventArgs, (ribbonArgs) => {
|
|
6504
6542
|
if (ribbonArgs.cancel) {
|