@syncfusion/ej2-ribbon 33.2.3 → 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 +60 -3
- package/dist/es6/ej2-ribbon.es2015.js.map +1 -1
- package/dist/es6/ej2-ribbon.es5.js +64 -7
- 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 +5 -5
- 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-gallery.d.ts +1 -0
- package/src/ribbon/items/ribbon-gallery.js +24 -5
- package/src/ribbon/items/ribbon-splitbutton.js +10 -1
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version : 33.2.
|
|
3
|
+
* version : 33.2.5
|
|
4
4
|
* Copyright Syncfusion Inc. 2001 - 2025. All rights reserved.
|
|
5
5
|
* Use of this code is subject to the terms of our license.
|
|
6
6
|
* A copy of the current license can be obtained at any time by e-mailing
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@syncfusion/ej2-ribbon",
|
|
3
|
-
"version": "33.2.
|
|
3
|
+
"version": "33.2.5",
|
|
4
4
|
"description": "Essential JS 2 Component",
|
|
5
5
|
"author": "Syncfusion Inc.",
|
|
6
6
|
"license": "SEE LICENSE IN license",
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
"typings": "index.d.ts",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@syncfusion/ej2-base": "~33.2.3",
|
|
13
|
-
"@syncfusion/ej2-buttons": "~33.2.
|
|
14
|
-
"@syncfusion/ej2-dropdowns": "~33.2.
|
|
13
|
+
"@syncfusion/ej2-buttons": "~33.2.5",
|
|
14
|
+
"@syncfusion/ej2-dropdowns": "~33.2.5",
|
|
15
15
|
"@syncfusion/ej2-lists": "~33.2.3",
|
|
16
|
-
"@syncfusion/ej2-navigations": "~33.2.
|
|
17
|
-
"@syncfusion/ej2-popups": "~33.2.
|
|
16
|
+
"@syncfusion/ej2-navigations": "~33.2.4",
|
|
17
|
+
"@syncfusion/ej2-popups": "~33.2.5",
|
|
18
18
|
"@syncfusion/ej2-splitbuttons": "~33.2.3"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {},
|
|
@@ -290,6 +290,7 @@ export declare class Ribbon extends Component<HTMLElement> implements INotifyPro
|
|
|
290
290
|
* @hidden
|
|
291
291
|
*/
|
|
292
292
|
protected requiredModules(): ModuleDeclaration[];
|
|
293
|
+
getAppendToElement(): HTMLElement;
|
|
293
294
|
private initialize;
|
|
294
295
|
private initializeLocale;
|
|
295
296
|
private wireEvents;
|
|
@@ -124,6 +124,16 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
124
124
|
}
|
|
125
125
|
return modules;
|
|
126
126
|
};
|
|
127
|
+
Ribbon.prototype.getAppendToElement = function () {
|
|
128
|
+
if (this.isAngular) {
|
|
129
|
+
var cdkPane = this.element.closest('.cdk-overlay-pane');
|
|
130
|
+
var popoverEl = this.element.closest('[popover]');
|
|
131
|
+
if (cdkPane && popoverEl) {
|
|
132
|
+
return cdkPane;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return document.body;
|
|
136
|
+
};
|
|
127
137
|
Ribbon.prototype.initialize = function () {
|
|
128
138
|
this.element.id = this.element.id || getUniqueID('e-' + this.getModuleName());
|
|
129
139
|
this.initializeLocale();
|
|
@@ -2126,6 +2136,10 @@ var Ribbon = /** @class */ (function (_super) {
|
|
|
2126
2136
|
enableRtl: this.enableRtl,
|
|
2127
2137
|
enablePersistence: this.enablePersistence,
|
|
2128
2138
|
beforeOpen: function (args) {
|
|
2139
|
+
var target = _this.getAppendToElement();
|
|
2140
|
+
if (overflowDDB && overflowDDB.dropDown && !target.contains(overflowDDB.dropDown.element)) {
|
|
2141
|
+
target.appendChild(overflowDDB.dropDown.element);
|
|
2142
|
+
}
|
|
2129
2143
|
var eventArgs = { element: args.element, event: args.event, cancel: args.cancel };
|
|
2130
2144
|
_this.trigger('overflowPopupOpen', eventArgs, function (ribbonArgs) {
|
|
2131
2145
|
if (ribbonArgs.cancel) {
|
|
@@ -52,7 +52,16 @@ var RibbonDropDown = /** @class */ (function () {
|
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
54
|
beforeItemRender: dropDownSettings.beforeItemRender,
|
|
55
|
-
beforeOpen:
|
|
55
|
+
beforeOpen: function (e) {
|
|
56
|
+
var ddb = getComponent(buttonEle, DropDownButton);
|
|
57
|
+
var target = _this.parent.getAppendToElement();
|
|
58
|
+
if (ddb && ddb.dropDown && !target.contains(ddb.dropDown.element)) {
|
|
59
|
+
target.appendChild(ddb.dropDown.element);
|
|
60
|
+
}
|
|
61
|
+
if (dropDownSettings.beforeOpen) {
|
|
62
|
+
dropDownSettings.beforeOpen.call(_this, e);
|
|
63
|
+
}
|
|
64
|
+
},
|
|
56
65
|
close: function (e) {
|
|
57
66
|
if (dropDownSettings.close) {
|
|
58
67
|
dropDownSettings.close.call(_this, e);
|
|
@@ -158,6 +167,12 @@ var RibbonDropDown = /** @class */ (function () {
|
|
|
158
167
|
cssClass: VERTICAL_DDB + SPACE + RIBBON_GROUP_OVERFLOW_DDB,
|
|
159
168
|
iconPosition: 'Top',
|
|
160
169
|
content: name,
|
|
170
|
+
beforeOpen: function () {
|
|
171
|
+
var target = _this.parent.getAppendToElement();
|
|
172
|
+
if (dropdown && dropdown.dropDown && !target.contains(dropdown.dropDown.element)) {
|
|
173
|
+
target.appendChild(dropdown.dropDown.element);
|
|
174
|
+
}
|
|
175
|
+
},
|
|
161
176
|
beforeClose: function (args) {
|
|
162
177
|
args.cancel = !isNullOrUndefined(args.event && closest(args.event.target, '.' + RIBBON_POPUP_CONTROL));
|
|
163
178
|
}
|
|
@@ -269,7 +269,7 @@ var RibbonGallery = /** @class */ (function () {
|
|
|
269
269
|
RibbonGallery.prototype.setWrapperStyle = function (popup, popupContainerItems) {
|
|
270
270
|
if (popup.width !== 'auto') {
|
|
271
271
|
popupContainerItems.forEach(function (ele) {
|
|
272
|
-
ele.style.flexFlow = 'wrap';
|
|
272
|
+
ele.style.flexFlow = 'column wrap';
|
|
273
273
|
});
|
|
274
274
|
}
|
|
275
275
|
};
|
|
@@ -499,12 +499,12 @@ var RibbonGallery = /** @class */ (function () {
|
|
|
499
499
|
RibbonGallery.prototype.addOverFlowEvents = function (item, itemEle) {
|
|
500
500
|
var _this = this;
|
|
501
501
|
if (itemEle.closest('.e-ribbon-overflow-target')) {
|
|
502
|
-
var
|
|
502
|
+
var buttonEle_1 = this.parent.createElement('button', {
|
|
503
503
|
id: item.id
|
|
504
504
|
});
|
|
505
|
-
itemEle.appendChild(
|
|
505
|
+
itemEle.appendChild(buttonEle_1);
|
|
506
506
|
if (itemEle.querySelector('.e-ribbon-gallery-wrapper').classList.contains('e-disabled')) {
|
|
507
|
-
|
|
507
|
+
buttonEle_1.classList.add('e-disabled');
|
|
508
508
|
}
|
|
509
509
|
itemEle.querySelector('.e-ribbon-gallery-wrapper').classList.add('e-hidden');
|
|
510
510
|
itemEle.querySelectorAll('.e-ribbon-gallery-container').forEach(function (ele) {
|
|
@@ -544,6 +544,9 @@ var RibbonGallery = /** @class */ (function () {
|
|
|
544
544
|
var popupContainerItems = popupContainerEle_1.querySelectorAll('.e-ribbon-gallery-container');
|
|
545
545
|
_this.setWrapperStyle(popup_1, popupContainerItems);
|
|
546
546
|
_this.setFoucsToFirstItem(popupContainerEle_1, true, item.id);
|
|
547
|
+
if (popup_1.width !== 'auto') {
|
|
548
|
+
_this.alignGalleryPopupLeft(popupContainerEle_1, buttonEle_1);
|
|
549
|
+
}
|
|
547
550
|
},
|
|
548
551
|
beforeClose: function (args) {
|
|
549
552
|
var isCancelled = _this.popupEvents(args.event, item.gallerySettings, 'popupClose', false);
|
|
@@ -551,7 +554,7 @@ var RibbonGallery = /** @class */ (function () {
|
|
|
551
554
|
args.cancel = true;
|
|
552
555
|
}
|
|
553
556
|
}
|
|
554
|
-
},
|
|
557
|
+
}, buttonEle_1);
|
|
555
558
|
if (popup_1.width !== 'auto') {
|
|
556
559
|
dropdown.dropDown.width = formatUnit(popup_1.width);
|
|
557
560
|
}
|
|
@@ -715,6 +718,22 @@ var RibbonGallery = /** @class */ (function () {
|
|
|
715
718
|
_this.handleGalleryPopupNavigation(e, popupEle, isDropdown, itemID, popup, gallerySettings);
|
|
716
719
|
};
|
|
717
720
|
};
|
|
721
|
+
RibbonGallery.prototype.alignGalleryPopupLeft = function (popup, buttonEle) {
|
|
722
|
+
var popupEl = popup.parentElement;
|
|
723
|
+
if (!popupEl) {
|
|
724
|
+
return;
|
|
725
|
+
}
|
|
726
|
+
var currentLeft = parseFloat(popupEl.style.left);
|
|
727
|
+
var buttonRect = buttonEle.getBoundingClientRect();
|
|
728
|
+
var popupWidth = popupEl.offsetWidth;
|
|
729
|
+
var targetLeft = buttonRect.left - popupWidth - 1;
|
|
730
|
+
if (targetLeft < 0) {
|
|
731
|
+
targetLeft = 1;
|
|
732
|
+
}
|
|
733
|
+
if (Math.abs(currentLeft - targetLeft) > 1) {
|
|
734
|
+
popupEl.style.left = targetLeft + "px";
|
|
735
|
+
}
|
|
736
|
+
};
|
|
718
737
|
RibbonGallery.prototype.handleGalleryPopupNavigation = function (e, popupEle, isDropdown, itemID, popup, gallerySettings) {
|
|
719
738
|
var galleryPopupEle = popupEle.querySelectorAll('.e-ribbon-gallery-item');
|
|
720
739
|
if (galleryPopupEle) {
|
|
@@ -49,7 +49,16 @@ var RibbonSplitButton = /** @class */ (function () {
|
|
|
49
49
|
}
|
|
50
50
|
},
|
|
51
51
|
beforeItemRender: splitButtonSettings.beforeItemRender,
|
|
52
|
-
beforeOpen:
|
|
52
|
+
beforeOpen: function () {
|
|
53
|
+
var popupEl = splitbutton.dropDown.element;
|
|
54
|
+
var target = _this.parent.getAppendToElement();
|
|
55
|
+
if (popupEl && !target.contains(popupEl)) {
|
|
56
|
+
target.appendChild(popupEl);
|
|
57
|
+
}
|
|
58
|
+
if (splitButtonSettings.beforeOpen) {
|
|
59
|
+
splitButtonSettings.beforeOpen.call(_this);
|
|
60
|
+
}
|
|
61
|
+
},
|
|
53
62
|
close: function () {
|
|
54
63
|
splitbutton['wrapper'].classList.remove(RIBBON_POPUP_OPEN);
|
|
55
64
|
if (splitButtonSettings.close) {
|