@syncfusion/ej2-ribbon 21.1.35
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/.eslintrc.json +259 -0
- package/.github/PULL_REQUEST_TEMPLATE/Bug.md +60 -0
- package/.github/PULL_REQUEST_TEMPLATE/feature.md +37 -0
- package/CHANGELOG.md +19 -0
- package/README.md +3 -0
- package/dist/ej2-ribbon.umd.min.js +11 -0
- package/dist/ej2-ribbon.umd.min.js.map +1 -0
- package/dist/es6/ej2-ribbon.es2015.js +4946 -0
- package/dist/es6/ej2-ribbon.es2015.js.map +1 -0
- package/dist/es6/ej2-ribbon.es5.js +5253 -0
- package/dist/es6/ej2-ribbon.es5.js.map +1 -0
- package/dist/global/ej2-ribbon.min.js +11 -0
- package/dist/global/ej2-ribbon.min.js.map +1 -0
- package/dist/global/index.d.ts +14 -0
- package/index.d.ts +4 -0
- package/index.js +4 -0
- package/license +10 -0
- package/package.json +67 -0
- package/ribbon.d.ts +4 -0
- package/ribbon.js +4 -0
- package/src/global.js +3 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +3 -0
- package/src/ribbon/base/constant.d.ts +151 -0
- package/src/ribbon/base/constant.js +151 -0
- package/src/ribbon/base/index.d.ts +8 -0
- package/src/ribbon/base/index.js +7 -0
- package/src/ribbon/base/interface.d.ts +194 -0
- package/src/ribbon/base/interface.js +106 -0
- package/src/ribbon/base/ribbon-model.d.ts +129 -0
- package/src/ribbon/base/ribbon.d.ts +357 -0
- package/src/ribbon/base/ribbon.js +2413 -0
- package/src/ribbon/base/utils.d.ts +113 -0
- package/src/ribbon/base/utils.js +288 -0
- package/src/ribbon/index.d.ts +7 -0
- package/src/ribbon/index.js +7 -0
- package/src/ribbon/items/index.d.ts +6 -0
- package/src/ribbon/items/index.js +6 -0
- package/src/ribbon/items/ribbon-button.d.ts +65 -0
- package/src/ribbon/items/ribbon-button.js +153 -0
- package/src/ribbon/items/ribbon-checkbox.d.ts +56 -0
- package/src/ribbon/items/ribbon-checkbox.js +134 -0
- package/src/ribbon/items/ribbon-colorpicker.d.ts +66 -0
- package/src/ribbon/items/ribbon-colorpicker.js +163 -0
- package/src/ribbon/items/ribbon-combobox.d.ts +78 -0
- package/src/ribbon/items/ribbon-combobox.js +185 -0
- package/src/ribbon/items/ribbon-dropdown.d.ts +123 -0
- package/src/ribbon/items/ribbon-dropdown.js +268 -0
- package/src/ribbon/items/ribbon-splitbutton.d.ts +86 -0
- package/src/ribbon/items/ribbon-splitbutton.js +227 -0
- package/src/ribbon/models/index.d.ts +24 -0
- package/src/ribbon/models/index.js +13 -0
- package/src/ribbon/models/ribbon-button-settings-model.d.ts +57 -0
- package/src/ribbon/models/ribbon-button-settings.d.ts +55 -0
- package/src/ribbon/models/ribbon-button-settings.js +61 -0
- package/src/ribbon/models/ribbon-checkbox-settings-model.d.ts +50 -0
- package/src/ribbon/models/ribbon-checkbox-settings.d.ts +50 -0
- package/src/ribbon/models/ribbon-checkbox-settings.js +58 -0
- package/src/ribbon/models/ribbon-collection-model.d.ts +30 -0
- package/src/ribbon/models/ribbon-collection.d.ts +33 -0
- package/src/ribbon/models/ribbon-collection.js +50 -0
- package/src/ribbon/models/ribbon-colorpicker-settings-model.d.ts +123 -0
- package/src/ribbon/models/ribbon-colorpicker-settings.d.ts +115 -0
- package/src/ribbon/models/ribbon-colorpicker-settings.js +88 -0
- package/src/ribbon/models/ribbon-combobox-settings-model.d.ts +241 -0
- package/src/ribbon/models/ribbon-combobox-settings.d.ts +223 -0
- package/src/ribbon/models/ribbon-combobox-settings.js +122 -0
- package/src/ribbon/models/ribbon-dropdown-settings-model.d.ts +100 -0
- package/src/ribbon/models/ribbon-dropdown-settings.d.ts +93 -0
- package/src/ribbon/models/ribbon-dropdown-settings.js +80 -0
- package/src/ribbon/models/ribbon-file-menu-settings-model.d.ts +108 -0
- package/src/ribbon/models/ribbon-file-menu-settings.d.ts +159 -0
- package/src/ribbon/models/ribbon-file-menu-settings.js +84 -0
- package/src/ribbon/models/ribbon-group-model.d.ts +91 -0
- package/src/ribbon/models/ribbon-group.d.ts +87 -0
- package/src/ribbon/models/ribbon-group.js +74 -0
- package/src/ribbon/models/ribbon-item-model.d.ts +120 -0
- package/src/ribbon/models/ribbon-item.d.ts +118 -0
- package/src/ribbon/models/ribbon-item.js +93 -0
- package/src/ribbon/models/ribbon-splitbutton-settings-model.d.ts +107 -0
- package/src/ribbon/models/ribbon-splitbutton-settings.d.ts +99 -0
- package/src/ribbon/models/ribbon-splitbutton-settings.js +83 -0
- package/src/ribbon/models/ribbon-tab-model.d.ts +37 -0
- package/src/ribbon/models/ribbon-tab.d.ts +39 -0
- package/src/ribbon/models/ribbon-tab.js +53 -0
- package/src/ribbon/models/ribbon-tooltip-model.d.ts +43 -0
- package/src/ribbon/models/ribbon-tooltip.d.ts +36 -0
- package/src/ribbon/models/ribbon-tooltip.js +46 -0
- package/src/ribbon/modules/index.d.ts +1 -0
- package/src/ribbon/modules/index.js +1 -0
- package/src/ribbon/modules/ribbon-filemenu.d.ts +94 -0
- package/src/ribbon/modules/ribbon-filemenu.js +318 -0
- package/styles/bootstrap-dark.css +1502 -0
- package/styles/bootstrap-dark.scss +1 -0
- package/styles/bootstrap.css +1507 -0
- package/styles/bootstrap.scss +1 -0
- package/styles/bootstrap4.css +1557 -0
- package/styles/bootstrap4.scss +1 -0
- package/styles/bootstrap5-dark.css +1586 -0
- package/styles/bootstrap5-dark.scss +1 -0
- package/styles/bootstrap5.css +1586 -0
- package/styles/bootstrap5.scss +1 -0
- package/styles/fabric-dark.css +1478 -0
- package/styles/fabric-dark.scss +1 -0
- package/styles/fabric.css +1476 -0
- package/styles/fabric.scss +1 -0
- package/styles/fluent-dark.css +1562 -0
- package/styles/fluent-dark.scss +1 -0
- package/styles/fluent.css +1562 -0
- package/styles/fluent.scss +1 -0
- package/styles/highcontrast-light.css +1485 -0
- package/styles/highcontrast-light.scss +1 -0
- package/styles/highcontrast.css +1494 -0
- package/styles/highcontrast.scss +1 -0
- package/styles/material-dark.css +1548 -0
- package/styles/material-dark.scss +1 -0
- package/styles/material.css +1581 -0
- package/styles/material.scss +1 -0
- package/styles/ribbon/_all.scss +2 -0
- package/styles/ribbon/_bootstrap-dark-definition.scss +206 -0
- package/styles/ribbon/_bootstrap-definition.scss +206 -0
- package/styles/ribbon/_bootstrap4-definition.scss +206 -0
- package/styles/ribbon/_bootstrap5-dark-definition.scss +1 -0
- package/styles/ribbon/_bootstrap5-definition.scss +206 -0
- package/styles/ribbon/_fabric-dark-definition.scss +206 -0
- package/styles/ribbon/_fabric-definition.scss +206 -0
- package/styles/ribbon/_fluent-dark-definition.scss +1 -0
- package/styles/ribbon/_fluent-definition.scss +206 -0
- package/styles/ribbon/_fusionnew-definition.scss +206 -0
- package/styles/ribbon/_highcontrast-definition.scss +206 -0
- package/styles/ribbon/_highcontrast-light-definition.scss +206 -0
- package/styles/ribbon/_layout.scss +1040 -0
- package/styles/ribbon/_material-dark-definition.scss +206 -0
- package/styles/ribbon/_material-definition.scss +206 -0
- package/styles/ribbon/_tailwind-dark-definition.scss +1 -0
- package/styles/ribbon/_tailwind-definition.scss +206 -0
- package/styles/ribbon/_theme.scss +343 -0
- package/styles/ribbon/bootstrap-dark.css +1502 -0
- package/styles/ribbon/bootstrap-dark.scss +17 -0
- package/styles/ribbon/bootstrap.css +1507 -0
- package/styles/ribbon/bootstrap.scss +17 -0
- package/styles/ribbon/bootstrap4.css +1557 -0
- package/styles/ribbon/bootstrap4.scss +17 -0
- package/styles/ribbon/bootstrap5-dark.css +1586 -0
- package/styles/ribbon/bootstrap5-dark.scss +17 -0
- package/styles/ribbon/bootstrap5.css +1586 -0
- package/styles/ribbon/bootstrap5.scss +17 -0
- package/styles/ribbon/fabric-dark.css +1478 -0
- package/styles/ribbon/fabric-dark.scss +17 -0
- package/styles/ribbon/fabric.css +1476 -0
- package/styles/ribbon/fabric.scss +17 -0
- package/styles/ribbon/fluent-dark.css +1562 -0
- package/styles/ribbon/fluent-dark.scss +17 -0
- package/styles/ribbon/fluent.css +1562 -0
- package/styles/ribbon/fluent.scss +17 -0
- package/styles/ribbon/highcontrast-light.css +1485 -0
- package/styles/ribbon/highcontrast-light.scss +16 -0
- package/styles/ribbon/highcontrast.css +1494 -0
- package/styles/ribbon/highcontrast.scss +17 -0
- package/styles/ribbon/icons/_bootstrap-dark.scss +9 -0
- package/styles/ribbon/icons/_bootstrap.scss +9 -0
- package/styles/ribbon/icons/_bootstrap4.scss +9 -0
- package/styles/ribbon/icons/_bootstrap5-dark.scss +1 -0
- package/styles/ribbon/icons/_bootstrap5.scss +9 -0
- package/styles/ribbon/icons/_fabric-dark.scss +9 -0
- package/styles/ribbon/icons/_fabric.scss +9 -0
- package/styles/ribbon/icons/_fluent-dark.scss +1 -0
- package/styles/ribbon/icons/_fluent.scss +9 -0
- package/styles/ribbon/icons/_fusionnew.scss +9 -0
- package/styles/ribbon/icons/_highcontrast.scss +9 -0
- package/styles/ribbon/icons/_material-dark.scss +9 -0
- package/styles/ribbon/icons/_material.scss +9 -0
- package/styles/ribbon/icons/_material3.scss +9 -0
- package/styles/ribbon/icons/_tailwind-dark.scss +9 -0
- package/styles/ribbon/icons/_tailwind.scss +9 -0
- package/styles/ribbon/material-dark.css +1548 -0
- package/styles/ribbon/material-dark.scss +17 -0
- package/styles/ribbon/material.css +1581 -0
- package/styles/ribbon/material.scss +17 -0
- package/styles/ribbon/tailwind-dark.css +1560 -0
- package/styles/ribbon/tailwind-dark.scss +17 -0
- package/styles/ribbon/tailwind.css +1560 -0
- package/styles/ribbon/tailwind.scss +17 -0
- package/styles/tailwind-dark.css +1560 -0
- package/styles/tailwind-dark.scss +1 -0
- package/styles/tailwind.css +1560 -0
- package/styles/tailwind.scss +1 -0
- package/tslint.json +111 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
extendStatics(d, b);
|
|
10
|
+
function __() { this.constructor = d; }
|
|
11
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
12
|
+
};
|
|
13
|
+
})();
|
|
14
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
15
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
16
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
17
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
18
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
19
|
+
};
|
|
20
|
+
import { ChildProperty, Collection, Property } from '@syncfusion/ej2-base';
|
|
21
|
+
import { RibbonGroup } from './ribbon-group';
|
|
22
|
+
/**
|
|
23
|
+
* Defines the ribbon tab.
|
|
24
|
+
*/
|
|
25
|
+
var RibbonTab = /** @class */ (function (_super) {
|
|
26
|
+
__extends(RibbonTab, _super);
|
|
27
|
+
function RibbonTab() {
|
|
28
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @param {Object} prop - Gets the property of tab.
|
|
32
|
+
* @param {boolean} muteOnChange - Gets the boolean value of muteOnChange.
|
|
33
|
+
* @returns {void}
|
|
34
|
+
* @private
|
|
35
|
+
*/
|
|
36
|
+
RibbonTab.prototype.setProperties = function (prop, muteOnChange) {
|
|
37
|
+
_super.prototype.setProperties.call(this, prop, muteOnChange);
|
|
38
|
+
};
|
|
39
|
+
__decorate([
|
|
40
|
+
Property('')
|
|
41
|
+
], RibbonTab.prototype, "id", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
Property('')
|
|
44
|
+
], RibbonTab.prototype, "cssClass", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
Collection([], RibbonGroup)
|
|
47
|
+
], RibbonTab.prototype, "groups", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
Property('')
|
|
50
|
+
], RibbonTab.prototype, "header", void 0);
|
|
51
|
+
return RibbonTab;
|
|
52
|
+
}(ChildProperty));
|
|
53
|
+
export { RibbonTab };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ChildProperty, Property } from '@syncfusion/ej2-base';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Interface for a class RibbonTooltip
|
|
5
|
+
*/
|
|
6
|
+
export interface RibbonTooltipModel {
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Defines the CSS class to customize the appearance of the tooltip.
|
|
10
|
+
*
|
|
11
|
+
* @default ''
|
|
12
|
+
*/
|
|
13
|
+
cssClass?: string;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Defines the unique ID for the tooltip.
|
|
17
|
+
*
|
|
18
|
+
* @default ''
|
|
19
|
+
*/
|
|
20
|
+
id?: string;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Defines the header content of the tooltip.
|
|
24
|
+
*
|
|
25
|
+
* @default ''
|
|
26
|
+
*/
|
|
27
|
+
title?: string;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Defines the content for the tooltip.
|
|
31
|
+
*
|
|
32
|
+
* @default ''
|
|
33
|
+
*/
|
|
34
|
+
content?: string;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Defines the CSS class for the icons to be shown in tooltip.
|
|
38
|
+
*
|
|
39
|
+
* @default ''
|
|
40
|
+
*/
|
|
41
|
+
iconCss?: string;
|
|
42
|
+
|
|
43
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ChildProperty } from '@syncfusion/ej2-base';
|
|
2
|
+
/**
|
|
3
|
+
* Defines the ribbon tooltip.
|
|
4
|
+
*/
|
|
5
|
+
export declare class RibbonTooltip extends ChildProperty<RibbonTooltip> {
|
|
6
|
+
/**
|
|
7
|
+
* Defines the CSS class to customize the appearance of the tooltip.
|
|
8
|
+
*
|
|
9
|
+
* @default ''
|
|
10
|
+
*/
|
|
11
|
+
cssClass: string;
|
|
12
|
+
/**
|
|
13
|
+
* Defines the unique ID for the tooltip.
|
|
14
|
+
*
|
|
15
|
+
* @default ''
|
|
16
|
+
*/
|
|
17
|
+
id: string;
|
|
18
|
+
/**
|
|
19
|
+
* Defines the header content of the tooltip.
|
|
20
|
+
*
|
|
21
|
+
* @default ''
|
|
22
|
+
*/
|
|
23
|
+
title: string;
|
|
24
|
+
/**
|
|
25
|
+
* Defines the content for the tooltip.
|
|
26
|
+
*
|
|
27
|
+
* @default ''
|
|
28
|
+
*/
|
|
29
|
+
content: string;
|
|
30
|
+
/**
|
|
31
|
+
* Defines the CSS class for the icons to be shown in tooltip.
|
|
32
|
+
*
|
|
33
|
+
* @default ''
|
|
34
|
+
*/
|
|
35
|
+
iconCss: string;
|
|
36
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
extendStatics(d, b);
|
|
10
|
+
function __() { this.constructor = d; }
|
|
11
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
12
|
+
};
|
|
13
|
+
})();
|
|
14
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
15
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
16
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
17
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
18
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
19
|
+
};
|
|
20
|
+
import { ChildProperty, Property } from '@syncfusion/ej2-base';
|
|
21
|
+
/**
|
|
22
|
+
* Defines the ribbon tooltip.
|
|
23
|
+
*/
|
|
24
|
+
var RibbonTooltip = /** @class */ (function (_super) {
|
|
25
|
+
__extends(RibbonTooltip, _super);
|
|
26
|
+
function RibbonTooltip() {
|
|
27
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
28
|
+
}
|
|
29
|
+
__decorate([
|
|
30
|
+
Property('')
|
|
31
|
+
], RibbonTooltip.prototype, "cssClass", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
Property('')
|
|
34
|
+
], RibbonTooltip.prototype, "id", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
Property('')
|
|
37
|
+
], RibbonTooltip.prototype, "title", void 0);
|
|
38
|
+
__decorate([
|
|
39
|
+
Property('')
|
|
40
|
+
], RibbonTooltip.prototype, "content", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
Property('')
|
|
43
|
+
], RibbonTooltip.prototype, "iconCss", void 0);
|
|
44
|
+
return RibbonTooltip;
|
|
45
|
+
}(ChildProperty));
|
|
46
|
+
export { RibbonTooltip };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ribbon-filemenu';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ribbon-filemenu';
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { MenuItem, MenuItemModel } from '@syncfusion/ej2-navigations';
|
|
2
|
+
import { FileMenuSettingsModel } from '../models/index';
|
|
3
|
+
import { commonProperties, Ribbon } from '../base/index';
|
|
4
|
+
/**
|
|
5
|
+
* Defines the items of Ribbon.
|
|
6
|
+
*/
|
|
7
|
+
export declare class RibbonFileMenu {
|
|
8
|
+
private parent;
|
|
9
|
+
private fileMenuDDB;
|
|
10
|
+
private menuctrl;
|
|
11
|
+
private ddbElement;
|
|
12
|
+
constructor(parent: Ribbon);
|
|
13
|
+
protected getModuleName(): string;
|
|
14
|
+
protected destroy(): void;
|
|
15
|
+
/**
|
|
16
|
+
* Creates File Menu
|
|
17
|
+
*
|
|
18
|
+
* @param {FileMenuSettingsModel} fileMenuOptions - Gets the property of filemenu.
|
|
19
|
+
* @returns {void}
|
|
20
|
+
* @hidden
|
|
21
|
+
*/
|
|
22
|
+
createFileMenu(fileMenuOptions: FileMenuSettingsModel): void;
|
|
23
|
+
private addFileMenuTooltip;
|
|
24
|
+
private ddbBeforeEvent;
|
|
25
|
+
private ddbAfterEvent;
|
|
26
|
+
private cloneMenuItem;
|
|
27
|
+
private createRibbonMenu;
|
|
28
|
+
private menuBeforeEvent;
|
|
29
|
+
private menuAfterEvent;
|
|
30
|
+
private beforeItemRender;
|
|
31
|
+
private menuSelect;
|
|
32
|
+
/**
|
|
33
|
+
* setRtl
|
|
34
|
+
*
|
|
35
|
+
* @param {commonProperties} commonProp - Get the common property of ribbon.
|
|
36
|
+
* @returns {void}
|
|
37
|
+
* @hidden
|
|
38
|
+
*/
|
|
39
|
+
setCommonProperties(commonProp: commonProperties): void;
|
|
40
|
+
/**
|
|
41
|
+
* Update FileMenu
|
|
42
|
+
*
|
|
43
|
+
* @param {FileMenuSettingsModel} fileMenuOptions - Gets the property of filemenu.
|
|
44
|
+
* @returns {void}
|
|
45
|
+
* @hidden
|
|
46
|
+
*/
|
|
47
|
+
updateFileMenu(fileMenuOptions: FileMenuSettingsModel): void;
|
|
48
|
+
private destroyMenu;
|
|
49
|
+
private destroyDDB;
|
|
50
|
+
private removeFileMenuTooltip;
|
|
51
|
+
/**
|
|
52
|
+
* Add items to FileMenu.
|
|
53
|
+
*
|
|
54
|
+
* @param {MenuItemModel[]} items - Gets the items to be added.
|
|
55
|
+
* @param {string} target - Gets the target item to add the items.
|
|
56
|
+
* @param {boolean} isAfter - Gets the boolean value to add the items after or before the target item.
|
|
57
|
+
* @param {boolean} isUniqueId - Gets whether the target provided is uniqueId or not.
|
|
58
|
+
* @returns {void}
|
|
59
|
+
*/
|
|
60
|
+
addItems(items: MenuItemModel[], target: string, isAfter: boolean, isUniqueId?: boolean): void;
|
|
61
|
+
/**
|
|
62
|
+
* Remove items from FileMenu.
|
|
63
|
+
*
|
|
64
|
+
* @param {string[]} items - Gets the items to be removed.
|
|
65
|
+
* @param {boolean} isUniqueId - Gets whether the target provided is uniqueId or not.
|
|
66
|
+
* @returns {void}
|
|
67
|
+
*/
|
|
68
|
+
removeItems(items: string[], isUniqueId?: boolean): void;
|
|
69
|
+
/**
|
|
70
|
+
* Enable items in FileMenu.
|
|
71
|
+
*
|
|
72
|
+
* @param {string[]} items - Gets the items to be enabled.
|
|
73
|
+
* @param {boolean} isUniqueId - Gets whether the target provided is uniqueId or not.
|
|
74
|
+
* @returns {void}
|
|
75
|
+
*/
|
|
76
|
+
enableItems(items: string[], isUniqueId?: boolean): void;
|
|
77
|
+
/**
|
|
78
|
+
* Disable items in FileMenu.
|
|
79
|
+
*
|
|
80
|
+
* @param {string[]} items - Gets the items to be disabled.
|
|
81
|
+
* @param {boolean} isUniqueId - Gets whether the target provided is uniqueId or not.
|
|
82
|
+
* @returns {void}
|
|
83
|
+
*/
|
|
84
|
+
disableItems(items: string[], isUniqueId?: boolean): void;
|
|
85
|
+
/**
|
|
86
|
+
* Update items in FileMenu.
|
|
87
|
+
*
|
|
88
|
+
* @param {MenuItem} item - Gets the item to be updated.
|
|
89
|
+
* @param {boolean} id - Gets the id of the item to be updated.
|
|
90
|
+
* @param {boolean} isUniqueId - Gets whether the id provided is uniqueId or not.
|
|
91
|
+
* @returns {void}
|
|
92
|
+
*/
|
|
93
|
+
setItem(item: MenuItem, id?: string, isUniqueId?: boolean): void;
|
|
94
|
+
}
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
import { EventHandler, remove } from '@syncfusion/ej2-base';
|
|
2
|
+
import { DropDownButton } from '@syncfusion/ej2-splitbuttons';
|
|
3
|
+
import { Menu } from '@syncfusion/ej2-navigations';
|
|
4
|
+
import { getIndex, isTooltipPresent } from '../base/index';
|
|
5
|
+
import * as constants from '../base/constant';
|
|
6
|
+
/**
|
|
7
|
+
* Defines the items of Ribbon.
|
|
8
|
+
*/
|
|
9
|
+
var RibbonFileMenu = /** @class */ (function () {
|
|
10
|
+
function RibbonFileMenu(parent) {
|
|
11
|
+
this.parent = parent;
|
|
12
|
+
}
|
|
13
|
+
RibbonFileMenu.prototype.getModuleName = function () {
|
|
14
|
+
return 'ribbonFileMenu';
|
|
15
|
+
};
|
|
16
|
+
RibbonFileMenu.prototype.destroy = function () {
|
|
17
|
+
if (this.fileMenuDDB) {
|
|
18
|
+
this.destroyDDB();
|
|
19
|
+
}
|
|
20
|
+
this.parent = null;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Creates File Menu
|
|
24
|
+
*
|
|
25
|
+
* @param {FileMenuSettingsModel} fileMenuOptions - Gets the property of filemenu.
|
|
26
|
+
* @returns {void}
|
|
27
|
+
* @hidden
|
|
28
|
+
*/
|
|
29
|
+
RibbonFileMenu.prototype.createFileMenu = function (fileMenuOptions) {
|
|
30
|
+
var _this = this;
|
|
31
|
+
if (!fileMenuOptions.visible) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
this.ddbElement = this.parent.createElement('button', {
|
|
35
|
+
id: this.parent.element.id + constants.RIBBON_FILE_MENU_ID,
|
|
36
|
+
});
|
|
37
|
+
var tabEle = this.parent.tabObj.element;
|
|
38
|
+
var toolbarEle = tabEle.querySelector('.e-toolbar');
|
|
39
|
+
tabEle.insertBefore(this.ddbElement, toolbarEle);
|
|
40
|
+
this.fileMenuDDB = new DropDownButton({
|
|
41
|
+
content: fileMenuOptions.text,
|
|
42
|
+
enableRtl: this.parent.enableRtl,
|
|
43
|
+
cssClass: 'e-ribbon-file-menu e-caret-hide',
|
|
44
|
+
created: function () {
|
|
45
|
+
tabEle.style.setProperty(constants.RIBBON_FILE_MENU_WIDTH, _this.ddbElement.offsetWidth + 'px');
|
|
46
|
+
},
|
|
47
|
+
beforeClose: this.ddbBeforeEvent.bind(this, false),
|
|
48
|
+
beforeOpen: this.ddbBeforeEvent.bind(this, true),
|
|
49
|
+
close: this.ddbAfterEvent.bind(this, false),
|
|
50
|
+
open: this.ddbAfterEvent.bind(this, true)
|
|
51
|
+
}, this.ddbElement);
|
|
52
|
+
if (this.parent.fileMenu.popupTemplate) {
|
|
53
|
+
this.fileMenuDDB.setProperties({ target: this.parent.fileMenu.popupTemplate });
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
this.createRibbonMenu(fileMenuOptions);
|
|
57
|
+
}
|
|
58
|
+
this.parent.tabObj.refreshActiveTabBorder();
|
|
59
|
+
this.addFileMenuTooltip(fileMenuOptions);
|
|
60
|
+
};
|
|
61
|
+
RibbonFileMenu.prototype.addFileMenuTooltip = function (fileMenuOptions) {
|
|
62
|
+
if (isTooltipPresent(fileMenuOptions.ribbonTooltipSettings)) {
|
|
63
|
+
this.ddbElement.classList.add(constants.RIBBON_TOOLTIP_TARGET);
|
|
64
|
+
this.parent.tooltipData.push({ id: this.ddbElement.id, data: fileMenuOptions.ribbonTooltipSettings });
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
RibbonFileMenu.prototype.ddbBeforeEvent = function (isOpen, args) {
|
|
68
|
+
//args.event is null when dropdown button is closed using a method call
|
|
69
|
+
if (!isOpen && args.event && args.event.target.closest('.e-ribbon-menu')) {
|
|
70
|
+
args.cancel = true;
|
|
71
|
+
}
|
|
72
|
+
var event = isOpen ? this.parent.fileMenu.beforeOpen :
|
|
73
|
+
this.parent.fileMenu.beforeClose;
|
|
74
|
+
if (event) {
|
|
75
|
+
var eventArgs = { cancel: args.cancel, element: args.element, event: args.event };
|
|
76
|
+
event.call(this, eventArgs);
|
|
77
|
+
args.cancel = eventArgs.cancel;
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
RibbonFileMenu.prototype.ddbAfterEvent = function (isOpen, args) {
|
|
81
|
+
var element = isOpen ? this.fileMenuDDB.target : this.fileMenuDDB.element;
|
|
82
|
+
element.focus();
|
|
83
|
+
var event = isOpen ? this.parent.fileMenu.open : this.parent.fileMenu.close;
|
|
84
|
+
if (event) {
|
|
85
|
+
var eventArgs = { element: args.element };
|
|
86
|
+
event.call(this, eventArgs);
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
//Clone RibbonMenuItems before assigning to avoid reference issues.
|
|
90
|
+
RibbonFileMenu.prototype.cloneMenuItem = function (items) {
|
|
91
|
+
var itemsList = [];
|
|
92
|
+
for (var i = 0; i < items.length; i++) {
|
|
93
|
+
var item = items[parseInt(i.toString(), 10)];
|
|
94
|
+
itemsList.push({
|
|
95
|
+
iconCss: item.iconCss,
|
|
96
|
+
id: item.id,
|
|
97
|
+
separator: item.separator,
|
|
98
|
+
text: item.text,
|
|
99
|
+
url: item.url,
|
|
100
|
+
items: this.cloneMenuItem(item.items)
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
return itemsList;
|
|
104
|
+
};
|
|
105
|
+
RibbonFileMenu.prototype.createRibbonMenu = function (menuOptions) {
|
|
106
|
+
var _this = this;
|
|
107
|
+
var ulElem = this.parent.createElement('ul', {
|
|
108
|
+
id: this.parent.element.id + constants.RIBBON_FILE_MENU_LIST
|
|
109
|
+
});
|
|
110
|
+
this.fileMenuDDB.setProperties({ target: ulElem });
|
|
111
|
+
this.menuctrl = new Menu({
|
|
112
|
+
orientation: 'Vertical',
|
|
113
|
+
enableRtl: this.parent.enableRtl,
|
|
114
|
+
cssClass: 'e-ribbon-menu',
|
|
115
|
+
animationSettings: menuOptions.animationSettings,
|
|
116
|
+
items: this.cloneMenuItem(menuOptions.menuItems),
|
|
117
|
+
showItemOnClick: menuOptions.showItemOnClick,
|
|
118
|
+
template: menuOptions.itemTemplate,
|
|
119
|
+
beforeClose: this.menuBeforeEvent.bind(this, false),
|
|
120
|
+
beforeOpen: this.menuBeforeEvent.bind(this, true),
|
|
121
|
+
beforeItemRender: this.beforeItemRender.bind(this),
|
|
122
|
+
onClose: this.menuAfterEvent.bind(this, false),
|
|
123
|
+
onOpen: this.menuAfterEvent.bind(this, true),
|
|
124
|
+
select: this.menuSelect.bind(this)
|
|
125
|
+
}, ulElem);
|
|
126
|
+
EventHandler.add(ulElem, 'keydown', function (e) {
|
|
127
|
+
if (e.key === "Tab") {
|
|
128
|
+
_this.fileMenuDDB.toggle();
|
|
129
|
+
}
|
|
130
|
+
}, this);
|
|
131
|
+
};
|
|
132
|
+
RibbonFileMenu.prototype.menuBeforeEvent = function (isOpen, args) {
|
|
133
|
+
var event = isOpen ? this.parent.fileMenu.beforeOpen :
|
|
134
|
+
this.parent.fileMenu.beforeClose;
|
|
135
|
+
if (event) {
|
|
136
|
+
var eventArgs = { cancel: args.cancel, element: args.element, event: args.event,
|
|
137
|
+
items: args.items, parentItem: args.parentItem };
|
|
138
|
+
event.call(this, eventArgs);
|
|
139
|
+
args.cancel = eventArgs.cancel;
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
RibbonFileMenu.prototype.menuAfterEvent = function (isOpen, args) {
|
|
143
|
+
var event = isOpen ? this.parent.fileMenu.open : this.parent.fileMenu.close;
|
|
144
|
+
if (event) {
|
|
145
|
+
var eventArgs = { element: args.element, items: args.items, parentItem: args.parentItem };
|
|
146
|
+
event.call(this, eventArgs);
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
RibbonFileMenu.prototype.beforeItemRender = function (args) {
|
|
150
|
+
var event = this.parent.fileMenu.beforeItemRender;
|
|
151
|
+
if (event) {
|
|
152
|
+
var eventArgs = { element: args.element, item: args.item };
|
|
153
|
+
event.call(this, eventArgs);
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
RibbonFileMenu.prototype.menuSelect = function (args) {
|
|
157
|
+
var event = this.parent.fileMenu.select;
|
|
158
|
+
if (event) {
|
|
159
|
+
var eventArgs = { element: args.element, item: args.item, event: args.event };
|
|
160
|
+
event.call(this, eventArgs);
|
|
161
|
+
if (!args.element.classList.contains('e-menu-caret-icon')) {
|
|
162
|
+
this.fileMenuDDB.toggle();
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
/**
|
|
167
|
+
* setRtl
|
|
168
|
+
*
|
|
169
|
+
* @param {commonProperties} commonProp - Get the common property of ribbon.
|
|
170
|
+
* @returns {void}
|
|
171
|
+
* @hidden
|
|
172
|
+
*/
|
|
173
|
+
RibbonFileMenu.prototype.setCommonProperties = function (commonProp) {
|
|
174
|
+
if (this.fileMenuDDB) {
|
|
175
|
+
this.fileMenuDDB.setProperties(commonProp);
|
|
176
|
+
if (this.menuctrl) {
|
|
177
|
+
this.menuctrl.setProperties(commonProp);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
/**
|
|
182
|
+
* Update FileMenu
|
|
183
|
+
*
|
|
184
|
+
* @param {FileMenuSettingsModel} fileMenuOptions - Gets the property of filemenu.
|
|
185
|
+
* @returns {void}
|
|
186
|
+
* @hidden
|
|
187
|
+
*/
|
|
188
|
+
RibbonFileMenu.prototype.updateFileMenu = function (fileMenuOptions) {
|
|
189
|
+
if (fileMenuOptions.visible) {
|
|
190
|
+
if (this.fileMenuDDB) {
|
|
191
|
+
if (fileMenuOptions.text) {
|
|
192
|
+
this.fileMenuDDB.setProperties({
|
|
193
|
+
content: fileMenuOptions.text
|
|
194
|
+
});
|
|
195
|
+
this.parent.tabObj.element.style.setProperty(constants.RIBBON_FILE_MENU_WIDTH, this.ddbElement.offsetWidth + 'px');
|
|
196
|
+
}
|
|
197
|
+
if (fileMenuOptions.popupTemplate) {
|
|
198
|
+
if (this.menuctrl) {
|
|
199
|
+
this.destroyMenu();
|
|
200
|
+
}
|
|
201
|
+
this.fileMenuDDB.setProperties({ target: fileMenuOptions.popupTemplate });
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
if (this.menuctrl) {
|
|
205
|
+
this.menuctrl.setProperties({
|
|
206
|
+
animationSettings: fileMenuOptions.animationSettings,
|
|
207
|
+
items: this.cloneMenuItem(fileMenuOptions.menuItems),
|
|
208
|
+
showItemOnClick: fileMenuOptions.showItemOnClick,
|
|
209
|
+
template: fileMenuOptions.itemTemplate
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
this.createRibbonMenu(fileMenuOptions);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
this.removeFileMenuTooltip();
|
|
217
|
+
this.addFileMenuTooltip(fileMenuOptions);
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
this.createFileMenu(fileMenuOptions);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
else if (this.fileMenuDDB) {
|
|
224
|
+
this.destroyDDB();
|
|
225
|
+
}
|
|
226
|
+
this.parent.tabObj.refreshActiveTabBorder();
|
|
227
|
+
};
|
|
228
|
+
RibbonFileMenu.prototype.destroyMenu = function () {
|
|
229
|
+
if (this.menuctrl) {
|
|
230
|
+
this.menuctrl.destroy();
|
|
231
|
+
this.menuctrl = null;
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
RibbonFileMenu.prototype.destroyDDB = function () {
|
|
235
|
+
this.removeFileMenuTooltip();
|
|
236
|
+
var tabEle = this.parent.tabObj.element;
|
|
237
|
+
tabEle.style.removeProperty(constants.RIBBON_FILE_MENU_WIDTH);
|
|
238
|
+
this.destroyMenu();
|
|
239
|
+
this.fileMenuDDB.destroy();
|
|
240
|
+
this.fileMenuDDB = null;
|
|
241
|
+
remove(this.ddbElement);
|
|
242
|
+
this.ddbElement = null;
|
|
243
|
+
};
|
|
244
|
+
RibbonFileMenu.prototype.removeFileMenuTooltip = function () {
|
|
245
|
+
var _this = this;
|
|
246
|
+
var index = getIndex(this.parent.tooltipData, function (e) { return e.id === _this.ddbElement.id; });
|
|
247
|
+
if (index !== -1) {
|
|
248
|
+
this.ddbElement.classList.remove(constants.RIBBON_TOOLTIP_TARGET);
|
|
249
|
+
this.parent.tooltipData.splice(index, 1);
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
/**
|
|
253
|
+
* Add items to FileMenu.
|
|
254
|
+
*
|
|
255
|
+
* @param {MenuItemModel[]} items - Gets the items to be added.
|
|
256
|
+
* @param {string} target - Gets the target item to add the items.
|
|
257
|
+
* @param {boolean} isAfter - Gets the boolean value to add the items after or before the target item.
|
|
258
|
+
* @param {boolean} isUniqueId - Gets whether the target provided is uniqueId or not.
|
|
259
|
+
* @returns {void}
|
|
260
|
+
*/
|
|
261
|
+
RibbonFileMenu.prototype.addItems = function (items, target, isAfter, isUniqueId) {
|
|
262
|
+
if (isAfter) {
|
|
263
|
+
this.menuctrl.insertAfter(items, target, isUniqueId);
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
this.menuctrl.insertBefore(items, target, isUniqueId);
|
|
267
|
+
}
|
|
268
|
+
this.parent.fileMenu.setProperties({ menuItems: this.menuctrl.items }, true);
|
|
269
|
+
};
|
|
270
|
+
/**
|
|
271
|
+
* Remove items from FileMenu.
|
|
272
|
+
*
|
|
273
|
+
* @param {string[]} items - Gets the items to be removed.
|
|
274
|
+
* @param {boolean} isUniqueId - Gets whether the target provided is uniqueId or not.
|
|
275
|
+
* @returns {void}
|
|
276
|
+
*/
|
|
277
|
+
RibbonFileMenu.prototype.removeItems = function (items, isUniqueId) {
|
|
278
|
+
this.menuctrl.removeItems(items, isUniqueId);
|
|
279
|
+
this.parent.fileMenu.setProperties({ menuItems: this.menuctrl.items }, true);
|
|
280
|
+
};
|
|
281
|
+
/**
|
|
282
|
+
* Enable items in FileMenu.
|
|
283
|
+
*
|
|
284
|
+
* @param {string[]} items - Gets the items to be enabled.
|
|
285
|
+
* @param {boolean} isUniqueId - Gets whether the target provided is uniqueId or not.
|
|
286
|
+
* @returns {void}
|
|
287
|
+
*/
|
|
288
|
+
RibbonFileMenu.prototype.enableItems = function (items, isUniqueId) {
|
|
289
|
+
this.menuctrl.enableItems(items, true, isUniqueId);
|
|
290
|
+
this.parent.fileMenu.setProperties({ menuItems: this.menuctrl.items }, true);
|
|
291
|
+
};
|
|
292
|
+
/**
|
|
293
|
+
* Disable items in FileMenu.
|
|
294
|
+
*
|
|
295
|
+
* @param {string[]} items - Gets the items to be disabled.
|
|
296
|
+
* @param {boolean} isUniqueId - Gets whether the target provided is uniqueId or not.
|
|
297
|
+
* @returns {void}
|
|
298
|
+
*/
|
|
299
|
+
RibbonFileMenu.prototype.disableItems = function (items, isUniqueId) {
|
|
300
|
+
this.menuctrl.enableItems(items, false, isUniqueId);
|
|
301
|
+
this.parent.fileMenu.setProperties({ menuItems: this.menuctrl.items }, true);
|
|
302
|
+
};
|
|
303
|
+
/**
|
|
304
|
+
* Update items in FileMenu.
|
|
305
|
+
*
|
|
306
|
+
* @param {MenuItem} item - Gets the item to be updated.
|
|
307
|
+
* @param {boolean} id - Gets the id of the item to be updated.
|
|
308
|
+
* @param {boolean} isUniqueId - Gets whether the id provided is uniqueId or not.
|
|
309
|
+
* @returns {void}
|
|
310
|
+
*/
|
|
311
|
+
RibbonFileMenu.prototype.setItem = function (item, id, isUniqueId) {
|
|
312
|
+
this.menuctrl.setItem(item, id, isUniqueId);
|
|
313
|
+
this.menuctrl.refresh();
|
|
314
|
+
this.parent.fileMenu.setProperties({ menuItems: this.menuctrl.items }, true);
|
|
315
|
+
};
|
|
316
|
+
return RibbonFileMenu;
|
|
317
|
+
}());
|
|
318
|
+
export { RibbonFileMenu };
|