@syncfusion/ej2-ribbon 30.1.42 → 31.1.17
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/aceconfig.js +17 -0
- package/dist/ej2-ribbon.umd.min.js +1 -1
- package/dist/global/ej2-ribbon.min.js +1 -1
- package/dist/global/index.d.ts +1 -1
- package/dist/ts/index.d.ts +1 -0
- package/dist/ts/index.ts +3 -0
- package/dist/ts/ribbon/base/constant.d.ts +201 -0
- package/dist/ts/ribbon/base/constant.ts +204 -0
- package/dist/ts/ribbon/base/index.d.ts +8 -0
- package/dist/ts/ribbon/base/index.ts +8 -0
- package/dist/ts/ribbon/base/interface.d.ts +398 -0
- package/dist/ts/ribbon/base/interface.ts +424 -0
- package/dist/ts/ribbon/base/ribbon-model.d.ts +195 -0
- package/dist/ts/ribbon/base/ribbon.d.ts +608 -0
- package/dist/ts/ribbon/base/ribbon.ts +4896 -0
- package/dist/ts/ribbon/base/utils.d.ts +139 -0
- package/dist/ts/ribbon/base/utils.ts +341 -0
- package/dist/ts/ribbon/index.d.ts +7 -0
- package/dist/ts/ribbon/index.ts +7 -0
- package/dist/ts/ribbon/items/index.d.ts +8 -0
- package/dist/ts/ribbon/items/index.ts +8 -0
- package/dist/ts/ribbon/items/ribbon-button.d.ts +64 -0
- package/dist/ts/ribbon/items/ribbon-button.ts +160 -0
- package/dist/ts/ribbon/items/ribbon-checkbox.d.ts +55 -0
- package/dist/ts/ribbon/items/ribbon-checkbox.ts +130 -0
- package/dist/ts/ribbon/items/ribbon-colorpicker.d.ts +72 -0
- package/dist/ts/ribbon/items/ribbon-colorpicker.ts +228 -0
- package/dist/ts/ribbon/items/ribbon-combobox.d.ts +77 -0
- package/dist/ts/ribbon/items/ribbon-combobox.ts +201 -0
- package/dist/ts/ribbon/items/ribbon-dropdown.d.ts +128 -0
- package/dist/ts/ribbon/items/ribbon-dropdown.ts +400 -0
- package/dist/ts/ribbon/items/ribbon-gallery.d.ts +97 -0
- package/dist/ts/ribbon/items/ribbon-gallery.ts +773 -0
- package/dist/ts/ribbon/items/ribbon-groupbutton.d.ts +73 -0
- package/dist/ts/ribbon/items/ribbon-groupbutton.ts +531 -0
- package/dist/ts/ribbon/items/ribbon-splitbutton.d.ts +85 -0
- package/dist/ts/ribbon/items/ribbon-splitbutton.ts +257 -0
- package/dist/ts/ribbon/models/index.d.ts +42 -0
- package/dist/ts/ribbon/models/index.ts +44 -0
- package/dist/ts/ribbon/models/ribbon-back-button-model.d.ts +29 -0
- package/dist/ts/ribbon/models/ribbon-back-button.d.ts +24 -0
- package/dist/ts/ribbon/models/ribbon-back-button.ts +31 -0
- package/dist/ts/ribbon/models/ribbon-back-stage-settings-model.d.ts +83 -0
- package/dist/ts/ribbon/models/ribbon-back-stage-settings.d.ts +81 -0
- package/dist/ts/ribbon/models/ribbon-back-stage-settings.ts +109 -0
- package/dist/ts/ribbon/models/ribbon-backstage-item-model.d.ts +69 -0
- package/dist/ts/ribbon/models/ribbon-backstage-item.d.ts +80 -0
- package/dist/ts/ribbon/models/ribbon-backstage-item.ts +102 -0
- package/dist/ts/ribbon/models/ribbon-button-settings-model.d.ts +64 -0
- package/dist/ts/ribbon/models/ribbon-button-settings.d.ts +63 -0
- package/dist/ts/ribbon/models/ribbon-button-settings.ts +80 -0
- package/dist/ts/ribbon/models/ribbon-checkbox-settings-model.d.ts +57 -0
- package/dist/ts/ribbon/models/ribbon-checkbox-settings.d.ts +58 -0
- package/dist/ts/ribbon/models/ribbon-checkbox-settings.ts +74 -0
- package/dist/ts/ribbon/models/ribbon-collection-model.d.ts +30 -0
- package/dist/ts/ribbon/models/ribbon-collection.d.ts +33 -0
- package/dist/ts/ribbon/models/ribbon-collection.ts +45 -0
- package/dist/ts/ribbon/models/ribbon-colorpicker-settings-model.d.ts +137 -0
- package/dist/ts/ribbon/models/ribbon-colorpicker-settings.d.ts +129 -0
- package/dist/ts/ribbon/models/ribbon-colorpicker-settings.ts +165 -0
- package/dist/ts/ribbon/models/ribbon-combobox-settings-model.d.ts +275 -0
- package/dist/ts/ribbon/models/ribbon-combobox-settings.d.ts +257 -0
- package/dist/ts/ribbon/models/ribbon-combobox-settings.ts +313 -0
- package/dist/ts/ribbon/models/ribbon-contextual-tab-settings-model.d.ts +30 -0
- package/dist/ts/ribbon/models/ribbon-contextual-tab-settings.d.ts +33 -0
- package/dist/ts/ribbon/models/ribbon-contextual-tab-settings.ts +44 -0
- package/dist/ts/ribbon/models/ribbon-dropdown-settings-model.d.ts +114 -0
- package/dist/ts/ribbon/models/ribbon-dropdown-settings.d.ts +107 -0
- package/dist/ts/ribbon/models/ribbon-dropdown-settings.ts +139 -0
- package/dist/ts/ribbon/models/ribbon-file-menu-settings-model.d.ts +123 -0
- package/dist/ts/ribbon/models/ribbon-file-menu-settings.d.ts +173 -0
- package/dist/ts/ribbon/models/ribbon-file-menu-settings.ts +220 -0
- package/dist/ts/ribbon/models/ribbon-gallery-group-model.d.ts +44 -0
- package/dist/ts/ribbon/models/ribbon-gallery-group.d.ts +38 -0
- package/dist/ts/ribbon/models/ribbon-gallery-group.ts +50 -0
- package/dist/ts/ribbon/models/ribbon-gallery-item-model.d.ts +43 -0
- package/dist/ts/ribbon/models/ribbon-gallery-item.d.ts +38 -0
- package/dist/ts/ribbon/models/ribbon-gallery-item.ts +47 -0
- package/dist/ts/ribbon/models/ribbon-gallery-settings-model.d.ts +108 -0
- package/dist/ts/ribbon/models/ribbon-gallery-settings.d.ts +95 -0
- package/dist/ts/ribbon/models/ribbon-gallery-settings.ts +123 -0
- package/dist/ts/ribbon/models/ribbon-group-button-item-model.d.ts +64 -0
- package/dist/ts/ribbon/models/ribbon-group-button-item.d.ts +65 -0
- package/dist/ts/ribbon/models/ribbon-group-button-item.ts +85 -0
- package/dist/ts/ribbon/models/ribbon-group-button-settings-model.d.ts +32 -0
- package/dist/ts/ribbon/models/ribbon-group-button-settings.d.ts +29 -0
- package/dist/ts/ribbon/models/ribbon-group-button-settings.ts +38 -0
- package/dist/ts/ribbon/models/ribbon-group-model.d.ts +112 -0
- package/dist/ts/ribbon/models/ribbon-group.d.ts +105 -0
- package/dist/ts/ribbon/models/ribbon-group.ts +138 -0
- package/dist/ts/ribbon/models/ribbon-item-model.d.ts +144 -0
- package/dist/ts/ribbon/models/ribbon-item.d.ts +141 -0
- package/dist/ts/ribbon/models/ribbon-item.ts +190 -0
- package/dist/ts/ribbon/models/ribbon-splitbutton-settings-model.d.ts +114 -0
- package/dist/ts/ribbon/models/ribbon-splitbutton-settings.d.ts +107 -0
- package/dist/ts/ribbon/models/ribbon-splitbutton-settings.ts +140 -0
- package/dist/ts/ribbon/models/ribbon-tab-model.d.ts +44 -0
- package/dist/ts/ribbon/models/ribbon-tab.d.ts +45 -0
- package/dist/ts/ribbon/models/ribbon-tab.ts +61 -0
- package/dist/ts/ribbon/models/ribbon-tooltip-model.d.ts +43 -0
- package/dist/ts/ribbon/models/ribbon-tooltip.d.ts +36 -0
- package/dist/ts/ribbon/models/ribbon-tooltip.ts +47 -0
- package/dist/ts/ribbon/modules/index.d.ts +4 -0
- package/dist/ts/ribbon/modules/index.ts +5 -0
- package/dist/ts/ribbon/modules/ribbon-backstage.d.ts +117 -0
- package/dist/ts/ribbon/modules/ribbon-backstage.ts +620 -0
- package/dist/ts/ribbon/modules/ribbon-contextualtab.d.ts +27 -0
- package/dist/ts/ribbon/modules/ribbon-contextualtab.ts +93 -0
- package/dist/ts/ribbon/modules/ribbon-filemenu.d.ts +96 -0
- package/dist/ts/ribbon/modules/ribbon-filemenu.ts +353 -0
- package/dist/ts/ribbon/modules/ribbon-keytip.d.ts +56 -0
- package/dist/ts/ribbon/modules/ribbon-keytip.ts +580 -0
- package/package.json +55 -19
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { DropDownButton, ItemModel } from '@syncfusion/ej2-splitbuttons';
|
|
2
|
+
import { Ribbon } from '../base/index';
|
|
3
|
+
import { RibbonSplitButtonSettingsModel, RibbonItemModel } from '../models/index';
|
|
4
|
+
/**
|
|
5
|
+
* Defines the items of Ribbon.
|
|
6
|
+
*/
|
|
7
|
+
export declare class RibbonSplitButton {
|
|
8
|
+
private parent;
|
|
9
|
+
constructor(parent: Ribbon);
|
|
10
|
+
protected getModuleName(): string;
|
|
11
|
+
protected destroy(): void;
|
|
12
|
+
/**
|
|
13
|
+
* Creates SplitButton.
|
|
14
|
+
*
|
|
15
|
+
* @param {RibbonItemModel} item - Gets the ribbon item model.
|
|
16
|
+
* @param {HTMLElement} itemEle - Gets the ribbon item element.
|
|
17
|
+
* @returns {void}
|
|
18
|
+
* @hidden
|
|
19
|
+
*/
|
|
20
|
+
createSplitButton(item: RibbonItemModel, itemEle: HTMLElement): void;
|
|
21
|
+
/**
|
|
22
|
+
* Adds the additional event handlers as the item moved into overflow popup.
|
|
23
|
+
*
|
|
24
|
+
* @param {RibbonItemModel} item - Gets the ribbon item model.
|
|
25
|
+
* @param {HTMLElement} itemEle - Gets the ribbon item element.
|
|
26
|
+
* @param {DropDownButton} overflowButton - Gets the overflow button.
|
|
27
|
+
* @returns {void}
|
|
28
|
+
* @hidden
|
|
29
|
+
*/
|
|
30
|
+
addOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement, overflowButton: DropDownButton): void;
|
|
31
|
+
/**
|
|
32
|
+
* Removes the additional event handlers as the item moved from overflow popup.
|
|
33
|
+
*
|
|
34
|
+
* @param {RibbonItemModel} item - Gets the ribbon item model.
|
|
35
|
+
* @param {HTMLElement} itemEle - Gets the ribbon item element.
|
|
36
|
+
* @returns {void}
|
|
37
|
+
* @hidden
|
|
38
|
+
*/
|
|
39
|
+
removeOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement): void;
|
|
40
|
+
private setContent;
|
|
41
|
+
private getSplitButtonObj;
|
|
42
|
+
/**
|
|
43
|
+
* Adds a new item to the menu. By default, new item appends to
|
|
44
|
+
* the list as the last item, but you can insert based on the text parameter.
|
|
45
|
+
*
|
|
46
|
+
* @param {string} controlId - Gets the control ID.
|
|
47
|
+
* @param {ItemModel[]} Items - Gets the SplitButton items.
|
|
48
|
+
* @param {string} text - Gets the text of the splitbutton item where the new item needs to be inserted.
|
|
49
|
+
* @returns {void}
|
|
50
|
+
*/
|
|
51
|
+
addItems(controlId: string, Items: ItemModel[], text?: string): void;
|
|
52
|
+
/**
|
|
53
|
+
* Removes the items from the menu.
|
|
54
|
+
*
|
|
55
|
+
* @param {string} controlId - Gets the control ID.
|
|
56
|
+
* @param {string[]} Items -
|
|
57
|
+
* @param {string} isUniqueId -
|
|
58
|
+
* @returns {void}
|
|
59
|
+
*/
|
|
60
|
+
removeItems(controlId: string, Items: string[], isUniqueId?: boolean): void;
|
|
61
|
+
/**
|
|
62
|
+
* To open/close SplitButton popup based on current state of the SplitButton.
|
|
63
|
+
*
|
|
64
|
+
* @param {string} controlId - Gets the control ID.
|
|
65
|
+
* @returns {void}
|
|
66
|
+
*/
|
|
67
|
+
toggle(controlId: string): void;
|
|
68
|
+
/**
|
|
69
|
+
* Updates the splitbutton.
|
|
70
|
+
*
|
|
71
|
+
* @param {RibbonSplitButtonSettingsModel} prop - Gets the splitbutton property.
|
|
72
|
+
* @param {string} id - Gets the ID of dropdown.
|
|
73
|
+
* @returns {void}
|
|
74
|
+
*/
|
|
75
|
+
updateSplitButton(prop: RibbonSplitButtonSettingsModel, id: string): void;
|
|
76
|
+
/**
|
|
77
|
+
* Updated SplitButton size
|
|
78
|
+
*
|
|
79
|
+
* @param {HTMLElement} element - Gets the splibutton element.
|
|
80
|
+
* @param {RibbonItemModel} item - Gets the ribbon item model.
|
|
81
|
+
* @returns {void}
|
|
82
|
+
* @hidden
|
|
83
|
+
*/
|
|
84
|
+
updateSplitButtonSize(element: HTMLElement, item: RibbonItemModel): void;
|
|
85
|
+
}
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
import { EventHandler, KeyboardEventArgs, getComponent, merge } from '@syncfusion/ej2-base';
|
|
2
|
+
import { BeforeOpenCloseMenuEventArgs, ClickEventArgs, DropDownButton, ItemModel, OpenCloseMenuEventArgs, SplitButton } from '@syncfusion/ej2-splitbuttons';
|
|
3
|
+
import { Button } from '@syncfusion/ej2-buttons';
|
|
4
|
+
import { getItem, Ribbon, itemProps, getItemElement, RibbonItemSize, setCustomAttributes } from '../base/index';
|
|
5
|
+
import { ITEM_VERTICAL_CENTER, RIBBON_CONTROL, RIBBON_HOVER, RIBBON_POPUP_CONTROL, RIBBON_POPUP_OPEN, SPACE, VERTICAL_DDB } from '../base/constant';
|
|
6
|
+
import { RibbonSplitButtonSettingsModel, RibbonItemModel } from '../models/index';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Defines the items of Ribbon.
|
|
10
|
+
*/
|
|
11
|
+
export class RibbonSplitButton {
|
|
12
|
+
private parent: Ribbon;
|
|
13
|
+
|
|
14
|
+
constructor(parent: Ribbon) {
|
|
15
|
+
this.parent = parent;
|
|
16
|
+
}
|
|
17
|
+
protected getModuleName(): string {
|
|
18
|
+
return 'ribbonSplitButton';
|
|
19
|
+
}
|
|
20
|
+
protected destroy(): void {
|
|
21
|
+
this.parent = null;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Creates SplitButton.
|
|
25
|
+
*
|
|
26
|
+
* @param {RibbonItemModel} item - Gets the ribbon item model.
|
|
27
|
+
* @param {HTMLElement} itemEle - Gets the ribbon item element.
|
|
28
|
+
* @returns {void}
|
|
29
|
+
* @hidden
|
|
30
|
+
*/
|
|
31
|
+
public createSplitButton(item: RibbonItemModel, itemEle: HTMLElement): void {
|
|
32
|
+
const buttonEle: HTMLButtonElement = this.parent.createElement('button', {
|
|
33
|
+
id: item.id
|
|
34
|
+
});
|
|
35
|
+
itemEle.appendChild(buttonEle);
|
|
36
|
+
const splitButtonSettings: RibbonSplitButtonSettingsModel = item.splitButtonSettings;
|
|
37
|
+
const cssClass: string = (ITEM_VERTICAL_CENTER + SPACE + RIBBON_CONTROL + SPACE + (splitButtonSettings.cssClass ?
|
|
38
|
+
splitButtonSettings.cssClass : '')).trim();
|
|
39
|
+
const splitbutton: SplitButton = new SplitButton({
|
|
40
|
+
locale: this.parent.locale,
|
|
41
|
+
enableRtl: this.parent.enableRtl,
|
|
42
|
+
enablePersistence: this.parent.enablePersistence,
|
|
43
|
+
iconPosition: item.activeSize === RibbonItemSize.Large ? 'Top' : 'Left',
|
|
44
|
+
closeActionEvents: splitButtonSettings.closeActionEvents,
|
|
45
|
+
cssClass: cssClass + ((item.activeSize === RibbonItemSize.Large) ? (SPACE + VERTICAL_DDB) : ''),
|
|
46
|
+
disabled: item.disabled,
|
|
47
|
+
iconCss: splitButtonSettings.iconCss,
|
|
48
|
+
items: splitButtonSettings.items,
|
|
49
|
+
target: splitButtonSettings.target,
|
|
50
|
+
beforeClose: (e: BeforeOpenCloseMenuEventArgs) => {
|
|
51
|
+
if (splitButtonSettings.beforeClose) { splitButtonSettings.beforeClose.call(this, e); }
|
|
52
|
+
},
|
|
53
|
+
beforeItemRender: splitButtonSettings.beforeItemRender,
|
|
54
|
+
beforeOpen: splitButtonSettings.beforeOpen,
|
|
55
|
+
close: () => {
|
|
56
|
+
(splitbutton['wrapper'] as HTMLElement).classList.remove(RIBBON_POPUP_OPEN);
|
|
57
|
+
if (splitButtonSettings.close) {
|
|
58
|
+
splitButtonSettings.close.call(this);
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
created: splitButtonSettings.created,
|
|
62
|
+
open: () => {
|
|
63
|
+
(splitbutton['wrapper'] as HTMLElement).classList.add(RIBBON_POPUP_OPEN);
|
|
64
|
+
if (splitButtonSettings.open) {
|
|
65
|
+
splitButtonSettings.open.call(this);
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
select: splitButtonSettings.select,
|
|
69
|
+
click: (e: ClickEventArgs) => {
|
|
70
|
+
if (splitButtonSettings.click) { splitButtonSettings.click.call(this, e); }
|
|
71
|
+
}
|
|
72
|
+
}, buttonEle);
|
|
73
|
+
if (splitButtonSettings.htmlAttributes) {
|
|
74
|
+
if (splitButtonSettings.htmlAttributes.id) {
|
|
75
|
+
delete splitButtonSettings.htmlAttributes.id;
|
|
76
|
+
}
|
|
77
|
+
setCustomAttributes(buttonEle, splitButtonSettings.htmlAttributes);
|
|
78
|
+
}
|
|
79
|
+
const dropdownEle: HTMLElement = buttonEle.parentElement.querySelector('.e-dropdown-btn');
|
|
80
|
+
dropdownEle.onkeydown = (e: KeyboardEventArgs) => {
|
|
81
|
+
if (e.key === 'Enter') { e.stopImmediatePropagation(); (dropdownEle as HTMLElement).click(); }
|
|
82
|
+
};
|
|
83
|
+
this.setContent(item, splitbutton);
|
|
84
|
+
const wrapper: HTMLElement = splitbutton['wrapper'] as HTMLElement;
|
|
85
|
+
EventHandler.add(wrapper, 'mouseenter', () => { wrapper.classList.add(RIBBON_HOVER); }, this);
|
|
86
|
+
EventHandler.add(wrapper, 'mouseleave', () => { wrapper.classList.remove(RIBBON_HOVER); }, this);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Adds the additional event handlers as the item moved into overflow popup.
|
|
91
|
+
*
|
|
92
|
+
* @param {RibbonItemModel} item - Gets the ribbon item model.
|
|
93
|
+
* @param {HTMLElement} itemEle - Gets the ribbon item element.
|
|
94
|
+
* @param {DropDownButton} overflowButton - Gets the overflow button.
|
|
95
|
+
* @returns {void}
|
|
96
|
+
* @hidden
|
|
97
|
+
*/
|
|
98
|
+
public addOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement, overflowButton: DropDownButton): void {
|
|
99
|
+
const splitButtonEle: HTMLElement = itemEle.querySelector('#' + item.id);
|
|
100
|
+
splitButtonEle.setAttribute('data-control', item.type.toString());
|
|
101
|
+
const splitbutton: SplitButton = getComponent(splitButtonEle, SplitButton);
|
|
102
|
+
splitbutton.cssClass = splitbutton.cssClass + SPACE + RIBBON_POPUP_CONTROL;
|
|
103
|
+
splitbutton.dataBind();
|
|
104
|
+
const dropdownEle: HTMLElement = splitButtonEle.parentElement.querySelector('.e-dropdown-btn');
|
|
105
|
+
const ddbId: string = dropdownEle.getAttribute('id');
|
|
106
|
+
const popupEle: HTMLElement = document.querySelector('#' + ddbId + '-popup');
|
|
107
|
+
dropdownEle.onkeydown = (e: KeyboardEventArgs) => {
|
|
108
|
+
if (e.key === 'Enter') { e.stopImmediatePropagation(); (dropdownEle as HTMLElement).click(); }
|
|
109
|
+
};
|
|
110
|
+
popupEle.onkeydown = (e: KeyboardEventArgs) => {
|
|
111
|
+
if (e.key === 'Enter') {
|
|
112
|
+
e.preventDefault();
|
|
113
|
+
splitbutton['wrapper'].classList.remove('e-ribbon-open');
|
|
114
|
+
(popupEle.querySelector('.e-focused') as HTMLElement).click();
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
let target: HTMLElement;
|
|
118
|
+
splitbutton.beforeClose = (e: BeforeOpenCloseMenuEventArgs) => {
|
|
119
|
+
if (item.splitButtonSettings.beforeClose) { item.splitButtonSettings.beforeClose.call(this, e); }
|
|
120
|
+
target = e.event ? e.event.target as HTMLElement : null;
|
|
121
|
+
};
|
|
122
|
+
splitbutton.click = (e: ClickEventArgs) => {
|
|
123
|
+
if (item.splitButtonSettings.click) { item.splitButtonSettings.click.call(this, e); }
|
|
124
|
+
if (overflowButton.element.classList.contains('e-active')) {
|
|
125
|
+
overflowButton.toggle();
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
splitbutton.close = (e: OpenCloseMenuEventArgs) => {
|
|
129
|
+
if (item.splitButtonSettings.close) { item.splitButtonSettings.close.call(this, e); }
|
|
130
|
+
(splitbutton['wrapper'] as HTMLElement).classList.remove(RIBBON_POPUP_OPEN);
|
|
131
|
+
if (target && !target.closest('.e-ribbon-group-overflow-ddb')) {
|
|
132
|
+
if (overflowButton.element.classList.contains('e-active')) {
|
|
133
|
+
overflowButton.toggle();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Removes the additional event handlers as the item moved from overflow popup.
|
|
140
|
+
*
|
|
141
|
+
* @param {RibbonItemModel} item - Gets the ribbon item model.
|
|
142
|
+
* @param {HTMLElement} itemEle - Gets the ribbon item element.
|
|
143
|
+
* @returns {void}
|
|
144
|
+
* @hidden
|
|
145
|
+
*/
|
|
146
|
+
public removeOverFlowEvents(item: RibbonItemModel, itemEle: HTMLElement): void {
|
|
147
|
+
const splitButtonEle: HTMLElement = itemEle.querySelector('#' + item.id);
|
|
148
|
+
const splitbutton: SplitButton = getComponent(splitButtonEle, SplitButton);
|
|
149
|
+
let cssClass: string[] = splitbutton.cssClass.split(SPACE);
|
|
150
|
+
cssClass = cssClass.filter((value: string) => value !== RIBBON_POPUP_CONTROL);
|
|
151
|
+
splitbutton.cssClass = cssClass.join(SPACE);
|
|
152
|
+
splitbutton.dataBind();
|
|
153
|
+
splitbutton.beforeClose = (e: BeforeOpenCloseMenuEventArgs) => {
|
|
154
|
+
if (item.splitButtonSettings.beforeClose) { item.splitButtonSettings.beforeClose.call(this, e); }
|
|
155
|
+
};
|
|
156
|
+
splitbutton.click = (e: ClickEventArgs) => {
|
|
157
|
+
if (item.splitButtonSettings.click) { item.splitButtonSettings.click.call(this, e); }
|
|
158
|
+
};
|
|
159
|
+
splitbutton.close = (e: OpenCloseMenuEventArgs) => {
|
|
160
|
+
if (item.splitButtonSettings.close) { item.splitButtonSettings.close.call(this, e); }
|
|
161
|
+
(splitbutton['wrapper'] as HTMLElement).classList.remove(RIBBON_POPUP_OPEN);
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
private setContent(item: RibbonItemModel, control: SplitButton): void {
|
|
166
|
+
(control['primaryBtnObj'] as Button).setProperties({ content: (item.activeSize === RibbonItemSize.Medium) ? item.splitButtonSettings.content : '' });
|
|
167
|
+
(control['secondaryBtnObj'] as DropDownButton).setProperties({ content: (item.activeSize === RibbonItemSize.Large) ? item.splitButtonSettings.content : '' });
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
private getSplitButtonObj(controlId: string): SplitButton {
|
|
171
|
+
const splitButtonEle: HTMLElement = getItemElement(this.parent, controlId);
|
|
172
|
+
return getComponent(splitButtonEle, SplitButton);
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Adds a new item to the menu. By default, new item appends to
|
|
176
|
+
* the list as the last item, but you can insert based on the text parameter.
|
|
177
|
+
*
|
|
178
|
+
* @param {string} controlId - Gets the control ID.
|
|
179
|
+
* @param {ItemModel[]} Items - Gets the SplitButton items.
|
|
180
|
+
* @param {string} text - Gets the text of the splitbutton item where the new item needs to be inserted.
|
|
181
|
+
* @returns {void}
|
|
182
|
+
*/
|
|
183
|
+
public addItems(controlId: string, Items: ItemModel[], text?: string): void {
|
|
184
|
+
this.getSplitButtonObj(controlId).addItems(Items, text);
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Removes the items from the menu.
|
|
188
|
+
*
|
|
189
|
+
* @param {string} controlId - Gets the control ID.
|
|
190
|
+
* @param {string[]} Items -
|
|
191
|
+
* @param {string} isUniqueId -
|
|
192
|
+
* @returns {void}
|
|
193
|
+
*/
|
|
194
|
+
public removeItems(controlId: string, Items: string[], isUniqueId?: boolean): void {
|
|
195
|
+
this.getSplitButtonObj(controlId).removeItems(Items, isUniqueId);
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* To open/close SplitButton popup based on current state of the SplitButton.
|
|
199
|
+
*
|
|
200
|
+
* @param {string} controlId - Gets the control ID.
|
|
201
|
+
* @returns {void}
|
|
202
|
+
*/
|
|
203
|
+
public toggle(controlId: string): void {
|
|
204
|
+
const splitBtnObj: SplitButton = this.getSplitButtonObj(controlId);
|
|
205
|
+
if (!splitBtnObj) { return; }
|
|
206
|
+
if (!splitBtnObj.disabled) {
|
|
207
|
+
splitBtnObj.toggle();
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Updates the splitbutton.
|
|
212
|
+
*
|
|
213
|
+
* @param {RibbonSplitButtonSettingsModel} prop - Gets the splitbutton property.
|
|
214
|
+
* @param {string} id - Gets the ID of dropdown.
|
|
215
|
+
* @returns {void}
|
|
216
|
+
*/
|
|
217
|
+
public updateSplitButton(prop: RibbonSplitButtonSettingsModel, id: string): void {
|
|
218
|
+
const itemProp: itemProps = getItem(this.parent.tabs, id);
|
|
219
|
+
if (!itemProp) { return; }
|
|
220
|
+
merge(itemProp.item.splitButtonSettings, prop);
|
|
221
|
+
const btnEle: HTMLElement = getItemElement(this.parent, id, itemProp);
|
|
222
|
+
if (!btnEle) { return; }
|
|
223
|
+
const control: SplitButton = getComponent(btnEle, SplitButton);
|
|
224
|
+
if (prop.cssClass) {
|
|
225
|
+
prop.cssClass = (RIBBON_CONTROL + SPACE + ITEM_VERTICAL_CENTER + SPACE + prop.cssClass).trim();
|
|
226
|
+
prop.cssClass = itemProp.item.activeSize === RibbonItemSize.Large ?
|
|
227
|
+
(VERTICAL_DDB + SPACE + prop.cssClass).trim() : prop.cssClass;
|
|
228
|
+
control.cssClass = prop.cssClass;
|
|
229
|
+
}
|
|
230
|
+
delete prop.open;
|
|
231
|
+
delete prop.click;
|
|
232
|
+
delete prop.close;
|
|
233
|
+
delete prop.beforeClose;
|
|
234
|
+
control.setProperties(prop);
|
|
235
|
+
if (prop.content) { this.setContent(itemProp.item, control); }
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Updated SplitButton size
|
|
239
|
+
*
|
|
240
|
+
* @param {HTMLElement} element - Gets the splibutton element.
|
|
241
|
+
* @param {RibbonItemModel} item - Gets the ribbon item model.
|
|
242
|
+
* @returns {void}
|
|
243
|
+
* @hidden
|
|
244
|
+
*/
|
|
245
|
+
public updateSplitButtonSize(element: HTMLElement, item: RibbonItemModel): void {
|
|
246
|
+
const control: SplitButton = getComponent(element, SplitButton);
|
|
247
|
+
let cssClass: string[] = control.cssClass.split(SPACE);
|
|
248
|
+
if (item.activeSize === RibbonItemSize.Large) {
|
|
249
|
+
cssClass.push(VERTICAL_DDB);
|
|
250
|
+
} else {
|
|
251
|
+
cssClass = cssClass.filter((value: string) => value !== VERTICAL_DDB);
|
|
252
|
+
}
|
|
253
|
+
control.cssClass = cssClass.join(SPACE);
|
|
254
|
+
control.setProperties({ iconPosition: item.activeSize === RibbonItemSize.Large ? 'Top' : 'Left' });
|
|
255
|
+
this.setContent(item, control);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export * from './ribbon-tab';
|
|
2
|
+
export * from './ribbon-group';
|
|
3
|
+
export * from './ribbon-collection';
|
|
4
|
+
export * from './ribbon-item';
|
|
5
|
+
export * from './ribbon-button-settings';
|
|
6
|
+
export * from './ribbon-checkbox-settings';
|
|
7
|
+
export * from './ribbon-colorpicker-settings';
|
|
8
|
+
export * from './ribbon-combobox-settings';
|
|
9
|
+
export * from './ribbon-dropdown-settings';
|
|
10
|
+
export * from './ribbon-splitbutton-settings';
|
|
11
|
+
export * from './ribbon-file-menu-settings';
|
|
12
|
+
export * from './ribbon-back-stage-settings';
|
|
13
|
+
export * from './ribbon-back-button';
|
|
14
|
+
export * from './ribbon-backstage-item';
|
|
15
|
+
export * from './ribbon-tooltip';
|
|
16
|
+
export * from './ribbon-group-button-settings';
|
|
17
|
+
export * from './ribbon-group-button-item';
|
|
18
|
+
export * from './ribbon-contextual-tab-settings';
|
|
19
|
+
export * from './ribbon-gallery-group';
|
|
20
|
+
export * from './ribbon-gallery-item';
|
|
21
|
+
export * from './ribbon-gallery-settings';
|
|
22
|
+
export * from './ribbon-gallery-settings-model';
|
|
23
|
+
export * from './ribbon-gallery-item-model';
|
|
24
|
+
export * from './ribbon-gallery-group-model';
|
|
25
|
+
export * from './ribbon-contextual-tab-settings-model';
|
|
26
|
+
export * from './ribbon-group-button-item-model';
|
|
27
|
+
export * from './ribbon-group-button-settings-model';
|
|
28
|
+
export * from './ribbon-tooltip-model';
|
|
29
|
+
export * from './ribbon-file-menu-settings-model';
|
|
30
|
+
export * from './ribbon-back-stage-settings-model';
|
|
31
|
+
export * from './ribbon-back-button-model';
|
|
32
|
+
export * from './ribbon-backstage-item-model';
|
|
33
|
+
export * from './ribbon-tab-model';
|
|
34
|
+
export * from './ribbon-group-model';
|
|
35
|
+
export * from './ribbon-collection-model';
|
|
36
|
+
export * from './ribbon-item-model';
|
|
37
|
+
export * from './ribbon-button-settings-model';
|
|
38
|
+
export * from './ribbon-checkbox-settings-model';
|
|
39
|
+
export * from './ribbon-colorpicker-settings-model';
|
|
40
|
+
export * from './ribbon-combobox-settings-model';
|
|
41
|
+
export * from './ribbon-dropdown-settings-model';
|
|
42
|
+
export * from './ribbon-splitbutton-settings-model';
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// export * from './file-menu';
|
|
2
|
+
export * from './ribbon-tab';
|
|
3
|
+
export * from './ribbon-group';
|
|
4
|
+
export * from './ribbon-collection';
|
|
5
|
+
export * from './ribbon-item';
|
|
6
|
+
export * from './ribbon-button-settings';
|
|
7
|
+
export * from './ribbon-checkbox-settings';
|
|
8
|
+
export * from './ribbon-colorpicker-settings';
|
|
9
|
+
export * from './ribbon-combobox-settings';
|
|
10
|
+
export * from './ribbon-dropdown-settings';
|
|
11
|
+
export * from './ribbon-splitbutton-settings';
|
|
12
|
+
export * from './ribbon-file-menu-settings';
|
|
13
|
+
export * from './ribbon-back-stage-settings';
|
|
14
|
+
export * from './ribbon-back-button';
|
|
15
|
+
export * from './ribbon-backstage-item';
|
|
16
|
+
export * from './ribbon-tooltip';
|
|
17
|
+
export * from './ribbon-group-button-settings';
|
|
18
|
+
export * from './ribbon-group-button-item';
|
|
19
|
+
export * from './ribbon-contextual-tab-settings';
|
|
20
|
+
export * from './ribbon-gallery-group';
|
|
21
|
+
export * from './ribbon-gallery-item';
|
|
22
|
+
export * from './ribbon-gallery-settings';
|
|
23
|
+
|
|
24
|
+
export * from './ribbon-gallery-settings-model';
|
|
25
|
+
export * from './ribbon-gallery-item-model';
|
|
26
|
+
export * from './ribbon-gallery-group-model';
|
|
27
|
+
export * from './ribbon-contextual-tab-settings-model';
|
|
28
|
+
export * from './ribbon-group-button-item-model';
|
|
29
|
+
export * from './ribbon-group-button-settings-model';
|
|
30
|
+
export * from './ribbon-tooltip-model';
|
|
31
|
+
export * from './ribbon-file-menu-settings-model';
|
|
32
|
+
export * from './ribbon-back-stage-settings-model';
|
|
33
|
+
export * from './ribbon-back-button-model';
|
|
34
|
+
export * from './ribbon-backstage-item-model';
|
|
35
|
+
export * from './ribbon-tab-model';
|
|
36
|
+
export * from './ribbon-group-model';
|
|
37
|
+
export * from './ribbon-collection-model';
|
|
38
|
+
export * from './ribbon-item-model';
|
|
39
|
+
export * from './ribbon-button-settings-model';
|
|
40
|
+
export * from './ribbon-checkbox-settings-model';
|
|
41
|
+
export * from './ribbon-colorpicker-settings-model';
|
|
42
|
+
export * from './ribbon-combobox-settings-model';
|
|
43
|
+
export * from './ribbon-dropdown-settings-model';
|
|
44
|
+
export * from './ribbon-splitbutton-settings-model';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ChildProperty, Property } from '@syncfusion/ej2-base';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Interface for a class BackstageBackButton
|
|
5
|
+
*/
|
|
6
|
+
export interface BackstageBackButtonModel {
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Specifies the text for backstage back button.
|
|
10
|
+
*
|
|
11
|
+
* @default ''
|
|
12
|
+
*/
|
|
13
|
+
text?: string;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Specifies the icon css class for backstage back button.
|
|
17
|
+
*
|
|
18
|
+
* @default ''
|
|
19
|
+
*/
|
|
20
|
+
iconCss?: string;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Specifies whether to show the backstage back button or not.
|
|
24
|
+
*
|
|
25
|
+
* @default true
|
|
26
|
+
*/
|
|
27
|
+
visible?: boolean;
|
|
28
|
+
|
|
29
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ChildProperty } from '@syncfusion/ej2-base';
|
|
2
|
+
/**
|
|
3
|
+
* Defines the ribbon backstage back button.
|
|
4
|
+
*/
|
|
5
|
+
export declare class BackstageBackButton extends ChildProperty<BackstageBackButton> {
|
|
6
|
+
/**
|
|
7
|
+
* Specifies the text for backstage back button.
|
|
8
|
+
*
|
|
9
|
+
* @default ''
|
|
10
|
+
*/
|
|
11
|
+
text: string;
|
|
12
|
+
/**
|
|
13
|
+
* Specifies the icon css class for backstage back button.
|
|
14
|
+
*
|
|
15
|
+
* @default ''
|
|
16
|
+
*/
|
|
17
|
+
iconCss: string;
|
|
18
|
+
/**
|
|
19
|
+
* Specifies whether to show the backstage back button or not.
|
|
20
|
+
*
|
|
21
|
+
* @default true
|
|
22
|
+
*/
|
|
23
|
+
visible: boolean;
|
|
24
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ChildProperty, Property } from '@syncfusion/ej2-base';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Defines the ribbon backstage back button.
|
|
5
|
+
*/
|
|
6
|
+
export class BackstageBackButton extends ChildProperty<BackstageBackButton> {
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Specifies the text for backstage back button.
|
|
10
|
+
*
|
|
11
|
+
* @default ''
|
|
12
|
+
*/
|
|
13
|
+
@Property('')
|
|
14
|
+
public text: string;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Specifies the icon css class for backstage back button.
|
|
18
|
+
*
|
|
19
|
+
* @default ''
|
|
20
|
+
*/
|
|
21
|
+
@Property('')
|
|
22
|
+
public iconCss: string;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Specifies whether to show the backstage back button or not.
|
|
26
|
+
*
|
|
27
|
+
* @default true
|
|
28
|
+
*/
|
|
29
|
+
@Property(true)
|
|
30
|
+
public visible: boolean;
|
|
31
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { ChildProperty, Property, Complex, Collection } from '@syncfusion/ej2-base';import { BackstageBackButton } from './ribbon-back-button';import { BackstageBackButtonModel } from './ribbon-back-button-model';import { BackstageItem } from './ribbon-backstage-item';import { BackstageItemModel } from './ribbon-backstage-item-model';import { RibbonTooltipModel } from './ribbon-tooltip-model';import { RibbonTooltip } from './ribbon-tooltip';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Interface for a class BackStageMenu
|
|
5
|
+
*/
|
|
6
|
+
export interface BackStageMenuModel {
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Defines the text content of backstage menu button.
|
|
10
|
+
*
|
|
11
|
+
* @default 'File'
|
|
12
|
+
*/
|
|
13
|
+
text?: string;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Specifies the keytip content.
|
|
17
|
+
*
|
|
18
|
+
* @default ''
|
|
19
|
+
*/
|
|
20
|
+
keyTip?: string;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Defines whether to show the backstage menu button.
|
|
24
|
+
*
|
|
25
|
+
* @default false
|
|
26
|
+
*/
|
|
27
|
+
visible?: boolean;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Defines the height of the backstage menu.
|
|
31
|
+
*
|
|
32
|
+
* @default 'auto'
|
|
33
|
+
*/
|
|
34
|
+
height?: string;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Defines the width of the backstage menu.
|
|
38
|
+
*
|
|
39
|
+
* @default 'auto'
|
|
40
|
+
*/
|
|
41
|
+
width?: string;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Defines the selector that points to the element in which backstage will be positioned.
|
|
45
|
+
*
|
|
46
|
+
* @default null
|
|
47
|
+
*/
|
|
48
|
+
target?: string | HTMLElement;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Defines the properties of ribbon backstage back button.
|
|
52
|
+
*
|
|
53
|
+
* @default {}
|
|
54
|
+
*/
|
|
55
|
+
backButton?: BackstageBackButtonModel;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Defines the properties of ribbon backstage back button.
|
|
59
|
+
*
|
|
60
|
+
* @default []
|
|
61
|
+
* @aspType List<BackstageItem>
|
|
62
|
+
*/
|
|
63
|
+
items?: BackstageItemModel[];
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Defines the template for Backstage content.
|
|
67
|
+
*
|
|
68
|
+
* @default ''
|
|
69
|
+
* @angularType string | object
|
|
70
|
+
* @reactType string | function | JSX.Element
|
|
71
|
+
* @vueType string | function
|
|
72
|
+
* @aspType string
|
|
73
|
+
*/
|
|
74
|
+
template?: string | Function;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Specifies the tooltip settings for the file menu button.
|
|
78
|
+
*
|
|
79
|
+
* @default {}
|
|
80
|
+
*/
|
|
81
|
+
ribbonTooltipSettings?: RibbonTooltipModel;
|
|
82
|
+
|
|
83
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { ChildProperty } from '@syncfusion/ej2-base';
|
|
2
|
+
import { BackstageBackButtonModel } from './ribbon-back-button-model';
|
|
3
|
+
import { BackstageItemModel } from './ribbon-backstage-item-model';
|
|
4
|
+
import { RibbonTooltipModel } from './ribbon-tooltip-model';
|
|
5
|
+
/**
|
|
6
|
+
* Defines the ribbon file menu settings.
|
|
7
|
+
*/
|
|
8
|
+
export declare class BackStageMenu extends ChildProperty<BackStageMenu> {
|
|
9
|
+
/**
|
|
10
|
+
* Defines the text content of backstage menu button.
|
|
11
|
+
*
|
|
12
|
+
* @default 'File'
|
|
13
|
+
*/
|
|
14
|
+
text: string;
|
|
15
|
+
/**
|
|
16
|
+
* Specifies the keytip content.
|
|
17
|
+
*
|
|
18
|
+
* @default ''
|
|
19
|
+
*/
|
|
20
|
+
keyTip: string;
|
|
21
|
+
/**
|
|
22
|
+
* Defines whether to show the backstage menu button.
|
|
23
|
+
*
|
|
24
|
+
* @default false
|
|
25
|
+
*/
|
|
26
|
+
visible: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Defines the height of the backstage menu.
|
|
29
|
+
*
|
|
30
|
+
* @default 'auto'
|
|
31
|
+
*/
|
|
32
|
+
height: string;
|
|
33
|
+
/**
|
|
34
|
+
* Defines the width of the backstage menu.
|
|
35
|
+
*
|
|
36
|
+
* @default 'auto'
|
|
37
|
+
*/
|
|
38
|
+
width: string;
|
|
39
|
+
/**
|
|
40
|
+
* Defines the selector that points to the element in which backstage will be positioned.
|
|
41
|
+
*
|
|
42
|
+
* @default null
|
|
43
|
+
*/
|
|
44
|
+
target: string | HTMLElement;
|
|
45
|
+
/**
|
|
46
|
+
* Defines the properties of ribbon backstage back button.
|
|
47
|
+
*
|
|
48
|
+
* @default {}
|
|
49
|
+
*/
|
|
50
|
+
backButton: BackstageBackButtonModel;
|
|
51
|
+
/**
|
|
52
|
+
* Defines the properties of ribbon backstage back button.
|
|
53
|
+
*
|
|
54
|
+
* @default []
|
|
55
|
+
* @aspType List<BackstageItem>
|
|
56
|
+
*/
|
|
57
|
+
items: BackstageItemModel[];
|
|
58
|
+
/**
|
|
59
|
+
* Defines the template for Backstage content.
|
|
60
|
+
*
|
|
61
|
+
* @default ''
|
|
62
|
+
* @angularType string | object
|
|
63
|
+
* @reactType string | function | JSX.Element
|
|
64
|
+
* @vueType string | function
|
|
65
|
+
* @aspType string
|
|
66
|
+
*/
|
|
67
|
+
template: string | Function;
|
|
68
|
+
/**
|
|
69
|
+
* Specifies the tooltip settings for the file menu button.
|
|
70
|
+
*
|
|
71
|
+
* @default {}
|
|
72
|
+
*/
|
|
73
|
+
ribbonTooltipSettings: RibbonTooltipModel;
|
|
74
|
+
/**
|
|
75
|
+
* @param {Object} prop - Gets the property of Backstage Menu.
|
|
76
|
+
* @param {boolean} muteOnChange - Gets the boolean value of muteOnChange.
|
|
77
|
+
* @returns {void}
|
|
78
|
+
* @private
|
|
79
|
+
*/
|
|
80
|
+
setProperties(prop: Object, muteOnChange: boolean): void;
|
|
81
|
+
}
|