@messaia/cdk 18.1.0-rc21 → 18.1.0-rc22
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.
|
@@ -26,6 +26,11 @@ export class ActionItem {
|
|
|
26
26
|
* @type {((x?: TEntity, ctx?: TContext) => any) | string}
|
|
27
27
|
*/
|
|
28
28
|
iconClass;
|
|
29
|
+
/**
|
|
30
|
+
* The color for the icon, which can be set as a string (e.g., hex, rgb).
|
|
31
|
+
* @type {string}
|
|
32
|
+
*/
|
|
33
|
+
iconColor;
|
|
29
34
|
/**
|
|
30
35
|
* Event handler to execute when the action item is triggered.
|
|
31
36
|
* @param {x} The entity associated with the action item.
|
|
@@ -56,6 +61,11 @@ export class ActionItem {
|
|
|
56
61
|
* @type {number}
|
|
57
62
|
*/
|
|
58
63
|
index;
|
|
64
|
+
/**
|
|
65
|
+
* The text color for the action item, specified as a hex string or a color name.
|
|
66
|
+
* @type {string}
|
|
67
|
+
*/
|
|
68
|
+
textColor;
|
|
59
69
|
/**
|
|
60
70
|
* Constructor to initialize an ActionItem instance with optional properties.
|
|
61
71
|
* @param init - Partial properties to initialize the action item.
|
|
@@ -64,4 +74,4 @@ export class ActionItem {
|
|
|
64
74
|
Object.assign(this, init);
|
|
65
75
|
}
|
|
66
76
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9jb21tb24vbW9kZWxzL2FjdGlvbi1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxVQUFVO0lBQ25COzs7T0FHRztJQUNJLEtBQUssQ0FBVTtJQUV0Qjs7O09BR0c7SUFDSSxPQUFPLENBQVU7SUFFeEI7Ozs7T0FJRztJQUNJLElBQUksR0FBcUQsd0JBQXdCLENBQUM7SUFFekY7OztPQUdHO0lBQ0ksV0FBVyxHQUFZLDJCQUEyQixDQUFDO0lBRTFEOzs7O09BSUc7SUFDSSxTQUFTLENBQW1EO0lBRW5FOzs7T0FHRztJQUNJLFNBQVMsQ0FBVTtJQUUxQjs7Ozs7O09BTUc7SUFDSSxLQUFLLENBQXdEO0lBRXBFOzs7O09BSUc7SUFDSSxJQUFJLENBQXdEO0lBRW5FOzs7O09BSUc7SUFDSSxPQUFPLENBQXdEO0lBRXRFOzs7T0FHRztJQUNJLEtBQUssQ0FBeUI7SUFFckM7OztPQUdHO0lBQ0ksS0FBSyxDQUFVO0lBRXRCOzs7T0FHRztJQUNJLFNBQVMsQ0FBVTtJQUUxQjs7O09BR0c7SUFDSCxZQUFtQixJQUE2QztRQUM1RCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQWN0aW9uSXRlbTxURW50aXR5ID0gYW55LCBUQ29udGV4dCA9IGFueT4ge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdGl0bGUgb2YgdGhlIGFjdGlvbiBpdGVtLlxyXG4gICAgICogQHR5cGUge3N0cmluZ31cclxuICAgICAqL1xyXG4gICAgcHVibGljIHRpdGxlPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVG9vbHRpcCB0ZXh0IGZvciB0aGUgYWN0aW9uIGl0ZW0sIGRpc3BsYXllZCBvbiBob3Zlci5cclxuICAgICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0b29sdGlwPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGljb24gZm9yIHRoZSBhY3Rpb24gaXRlbSwgd2hpY2ggY2FuIGJlIGEgc3RyaW5nIG9yIGEgZnVuY3Rpb25cclxuICAgICAqIHRoYXQgcmV0dXJucyBhbiBpY29uIGJhc2VkIG9uIHRoZSBlbnRpdHkgYW5kIGNvbnRleHQuXHJcbiAgICAgKiBAdHlwZSB7KCh4PzogVEVudGl0eSwgY3R4PzogVENvbnRleHQpID0+IGFueSkgfCBzdHJpbmd9XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpY29uPzogKCh4PzogVEVudGl0eSwgY3R4PzogVENvbnRleHQpID0+IGFueSkgfCBzdHJpbmcgPSAncmFkaW9fYnV0dG9uX3VuY2hlY2tlZCc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgZm9udCBzZXQgdG8gdXNlIGZvciB0aGUgaWNvbiwgZGVmYXVsdGluZyB0byAnbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCcuXHJcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaWNvbkZvbnRTZXQ/OiBzdHJpbmcgPSAnbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGRpdGlvbmFsIENTUyBjbGFzcyBmb3IgdGhlIGljb24sIHdoaWNoIGNhbiBiZSBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBcclxuICAgICAqIGEgY2xhc3MgYmFzZWQgb24gdGhlIGVudGl0eSBhbmQgY29udGV4dC5cclxuICAgICAqIEB0eXBlIHsoKHg/OiBURW50aXR5LCBjdHg/OiBUQ29udGV4dCkgPT4gYW55KSB8IHN0cmluZ31cclxuICAgICAqL1xyXG4gICAgcHVibGljIGljb25DbGFzcz86ICgoeD86IFRFbnRpdHksIGN0eD86IFRDb250ZXh0KSA9PiBhbnkpIHwgc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGNvbG9yIGZvciB0aGUgaWNvbiwgd2hpY2ggY2FuIGJlIHNldCBhcyBhIHN0cmluZyAoZS5nLiwgaGV4LCByZ2IpLlxyXG4gICAgICogQHR5cGUge3N0cmluZ31cclxuICAgICAqL1xyXG4gICAgcHVibGljIGljb25Db2xvcj86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50IGhhbmRsZXIgdG8gZXhlY3V0ZSB3aGVuIHRoZSBhY3Rpb24gaXRlbSBpcyB0cmlnZ2VyZWQuXHJcbiAgICAgKiBAcGFyYW0ge3h9IFRoZSBlbnRpdHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBhY3Rpb24gaXRlbS5cclxuICAgICAqIEBwYXJhbSB7Y3R4fSBUaGUgY29udGV4dCBpbiB3aGljaCB0aGUgYWN0aW9uIGl0ZW0gaXMgZXhlY3V0ZWQuXHJcbiAgICAgKiBAcGFyYW0ge2luZGV4fSBUaGUgaW5kZXggb2YgdGhlIGFjdGlvbiBpdGVtIGluIHRoZSBsaXN0LlxyXG4gICAgICogQHR5cGUgeygoeD86IFRFbnRpdHksIGN0eD86IFRDb250ZXh0LCBpbmRleD86IG51bWJlcikgPT4gYW55KX1cclxuICAgICAqL1xyXG4gICAgcHVibGljIGV2ZW50PzogKHg/OiBURW50aXR5LCBjdHg/OiBUQ29udGV4dCwgaW5kZXg/OiBudW1iZXIpID0+IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEZ1bmN0aW9uIHRoYXQgZGV0ZXJtaW5lcyB3aGV0aGVyIHRvIGhpZGUgdGhlIGFjdGlvbiBpdGVtIGJhc2VkIG9uIHRoZSBlbnRpdHksIFxyXG4gICAgICogY29udGV4dCwgYW5kIGluZGV4LlxyXG4gICAgICogQHR5cGUgeygoeD86IFRFbnRpdHksIGN0eD86IFRDb250ZXh0LCBpbmRleD86IG51bWJlcikgPT4gYW55KX1cclxuICAgICAqL1xyXG4gICAgcHVibGljIGhpZGU/OiAoeD86IFRFbnRpdHksIGN0eD86IFRDb250ZXh0LCBpbmRleD86IG51bWJlcikgPT4gYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuY3Rpb24gdGhhdCBkZXRlcm1pbmVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgYWN0aW9uIGl0ZW0gYmFzZWQgb24gdGhlIGVudGl0eSwgXHJcbiAgICAgKiBjb250ZXh0LCBhbmQgaW5kZXguXHJcbiAgICAgKiBAdHlwZSB7KCh4PzogVEVudGl0eSwgY3R4PzogVENvbnRleHQsIGluZGV4PzogbnVtYmVyKSA9PiBhbnkpfVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGlzYWJsZT86ICh4PzogVEVudGl0eSwgY3R4PzogVENvbnRleHQsIGluZGV4PzogbnVtYmVyKSA9PiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBOZXN0ZWQgYWN0aW9uIGl0ZW1zLCBhbGxvd2luZyBmb3Igc3VibWVudXMuXHJcbiAgICAgKiBAdHlwZSB7QWN0aW9uSXRlbTxURW50aXR5PltdfVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaXRlbXM/OiBBY3Rpb25JdGVtPFRFbnRpdHk+W107XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgaW5kZXggb2YgdGhlIGFjdGlvbiBpdGVtIGluIGEgbGlzdCwgdXNlZCBmb3Igb3JkZXJpbmcgb3IgaWRlbnRpZmljYXRpb24uXHJcbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaW5kZXg/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdGV4dCBjb2xvciBmb3IgdGhlIGFjdGlvbiBpdGVtLCBzcGVjaWZpZWQgYXMgYSBoZXggc3RyaW5nIG9yIGEgY29sb3IgbmFtZS5cclxuICAgICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0ZXh0Q29sb3I/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb25zdHJ1Y3RvciB0byBpbml0aWFsaXplIGFuIEFjdGlvbkl0ZW0gaW5zdGFuY2Ugd2l0aCBvcHRpb25hbCBwcm9wZXJ0aWVzLlxyXG4gICAgICogQHBhcmFtIGluaXQgLSBQYXJ0aWFsIHByb3BlcnRpZXMgdG8gaW5pdGlhbGl6ZSB0aGUgYWN0aW9uIGl0ZW0uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxBY3Rpb25JdGVtPFRFbnRpdHksIFRDb250ZXh0Pj4pIHtcclxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -78,11 +78,11 @@ export class VdDynamicMenuComponent {
|
|
|
78
78
|
}, { once: true });
|
|
79
79
|
}
|
|
80
80
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: VdDynamicMenuComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: VdDynamicMenuComponent, selector: "vd-dynamic-menu", inputs: { items: "items", data: "data", index: "index", context: "context", contextMenu: "contextMenu" }, viewQueries: [{ propertyName: "matMenu", first: true, predicate: MatMenu, descendants: true }, { propertyName: "contextMenuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<div layout=\"row\" layout-align=\"start center\" *ngIf=\"items\" flex>\r\n <ng-container *ngFor=\"let menu of items\">\r\n <!-- #region Button trigger -->\r\n <a mat-icon-button [mat-menu-trigger-for]=\"matMenu\" *ngIf=\"!contextMenu && menu?.items?.length && !(menu.hide && menu.hide(data, context, index))\" [disabled]=\"data?.locked || (menu?.disable && menu?.disable(data, context, index))\" [matTooltip]=\"menu.tooltip\" (click)=\"$event.stopPropagation();\">\r\n <mat-icon fontSet=\"{{menu.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menu.iconClass??'' | func:data:context\">{{(menu.icon??'more_vert' | func:data:context) || 'more_vert'}}</mat-icon>\r\n <span>{{menu.title}}</span
|
|
81
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: VdDynamicMenuComponent, selector: "vd-dynamic-menu", inputs: { items: "items", data: "data", index: "index", context: "context", contextMenu: "contextMenu" }, viewQueries: [{ propertyName: "matMenu", first: true, predicate: MatMenu, descendants: true }, { propertyName: "contextMenuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<div layout=\"row\" layout-align=\"start center\" *ngIf=\"items\" flex>\r\n <ng-container *ngFor=\"let menu of items\">\r\n <!-- #region Button trigger -->\r\n <a mat-icon-button [mat-menu-trigger-for]=\"matMenu\" *ngIf=\"!contextMenu && menu?.items?.length && !(menu.hide && menu.hide(data, context, index))\" [disabled]=\"data?.locked || (menu?.disable && menu?.disable(data, context, index))\" [matTooltip]=\"menu.tooltip\" (click)=\"$event.stopPropagation();\">\r\n <mat-icon fontSet=\"{{menu.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menu.iconClass??'' | func:data:context\" [style.color]=\"menu.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menu.icon??'more_vert' | func:data:context) || 'more_vert'}}\r\n </mat-icon>\r\n <span [style.color]=\"menu.textColor\">{{menu.title}}</span> <!-- Bind textColor here -->\r\n </a>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Context trigger -->\r\n <div *ngIf=\"contextMenu\" style=\"visibility: hidden; position: fixed\" [style.left]=\"contextMenuPosition.x\" [style.top]=\"contextMenuPosition.y\" [matMenuTriggerFor]=\"matMenu\"></div>\r\n <!-- #endregion -->\r\n\r\n <a mat-icon-button *ngIf=\"!menu?.items?.length && !(menu.hide && menu.hide(data, context, index))\" [disabled]=\"data?.locked || (menu?.disable && menu?.disable(data, context, index))\" [matTooltip]=\"menu.tooltip\" (click)=\"$event.stopPropagation(); menu.event ? menu.event(data, context, index) : null\">\r\n <mat-icon fontSet=\"{{menu.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menu.iconClass??'' | func:data:context\" [style.color]=\"menu.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menu.icon??'radio_button_unchecked' | func:data:context) || 'radio_button_unchecked'}}\r\n </mat-icon>\r\n </a>\r\n <mat-menu x-position=\"before\" #matMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuItem of menu?.items\">\r\n <ng-container *ngIf=\"!menuItem.items\">\r\n <a mat-menu-item (click)=\"menuItem.event ? menuItem.event(data, context, index) : null\" *ngIf=\"!menuItem.hide || !menuItem.hide(data, context, index)\" [disabled]=\"menuItem.disable && menuItem.disable(data, context, index)\" [matTooltip]=\"menuItem.tooltip\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menuItem.iconClass??'' | func:data:context\" [style.color]=\"menuItem.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menuItem.icon??'radio_button_unchecked' | func:data:context) || 'radio_button_unchecked'}}\r\n </mat-icon>\r\n <span [style.color]=\"menuItem.textColor\">{{menuItem.title}}</span> <!-- Bind textColor here -->\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"menuItem.items\">\r\n <mat-menu x-position=\"before\" #subMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuSubItem of menuItem.items\">\r\n <a mat-menu-item (click)=\"menuSubItem.event ? menuSubItem.event(data, context, index) : null\" *ngIf=\"!menuSubItem.hide || !menuSubItem.hide(data, context, index)\" [disabled]=\"menuSubItem.disable && menuSubItem.disable(data, context, index)\" [matTooltip]=\"menuItem.tooltip\">\r\n <mat-icon fontSet=\"{{menuSubItem.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menuSubItem.iconClass??'' | func:data:context\" [style.color]=\"menuSubItem.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menuSubItem.icon??'radio_button_unchecked' | func:data:context) || 'radio_button_unchecked'}}\r\n </mat-icon>\r\n <span [style.color]=\"menuSubItem.textColor\">{{menuSubItem.title}}</span> <!-- Bind textColor here -->\r\n </a>\r\n </ng-container>\r\n </mat-menu>\r\n <a mat-menu-item [matMenuTriggerFor]=\"subMenu\" *ngIf=\"!menuItem.hide || !menuItem.hide(data, context, index)\" [disabled]=\"menuItem.disable && menuItem.disable(data, context, index)\" [matTooltip]=\"menuItem.tooltip\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menuItem.iconClass??'' | func:data:context\" [style.color]=\"menuItem.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menuItem.icon??'radio_button_unchecked' | func:data:context) || 'radio_button_unchecked'}}\r\n </mat-icon>\r\n <span [style.color]=\"menuItem.textColor\">{{menuItem.title}}</span> <!-- Bind textColor here -->\r\n </a>\r\n </ng-container>\r\n </ng-container>\r\n </mat-menu>\r\n </ng-container>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIconAnchor, selector: "a[mat-icon-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i6.FuncPipe, name: "func" }] });
|
|
82
82
|
}
|
|
83
83
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: VdDynamicMenuComponent, decorators: [{
|
|
84
84
|
type: Component,
|
|
85
|
-
args: [{ selector: 'vd-dynamic-menu', template: "<div layout=\"row\" layout-align=\"start center\" *ngIf=\"items\" flex>\r\n <ng-container *ngFor=\"let menu of items\">\r\n <!-- #region Button trigger -->\r\n <a mat-icon-button [mat-menu-trigger-for]=\"matMenu\" *ngIf=\"!contextMenu && menu?.items?.length && !(menu.hide && menu.hide(data, context, index))\" [disabled]=\"data?.locked || (menu?.disable && menu?.disable(data, context, index))\" [matTooltip]=\"menu.tooltip\" (click)=\"$event.stopPropagation();\">\r\n <mat-icon fontSet=\"{{menu.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menu.iconClass??'' | func:data:context\">{{(menu.icon??'more_vert' | func:data:context) || 'more_vert'}}</mat-icon>\r\n <span>{{menu.title}}</span
|
|
85
|
+
args: [{ selector: 'vd-dynamic-menu', template: "<div layout=\"row\" layout-align=\"start center\" *ngIf=\"items\" flex>\r\n <ng-container *ngFor=\"let menu of items\">\r\n <!-- #region Button trigger -->\r\n <a mat-icon-button [mat-menu-trigger-for]=\"matMenu\" *ngIf=\"!contextMenu && menu?.items?.length && !(menu.hide && menu.hide(data, context, index))\" [disabled]=\"data?.locked || (menu?.disable && menu?.disable(data, context, index))\" [matTooltip]=\"menu.tooltip\" (click)=\"$event.stopPropagation();\">\r\n <mat-icon fontSet=\"{{menu.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menu.iconClass??'' | func:data:context\" [style.color]=\"menu.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menu.icon??'more_vert' | func:data:context) || 'more_vert'}}\r\n </mat-icon>\r\n <span [style.color]=\"menu.textColor\">{{menu.title}}</span> <!-- Bind textColor here -->\r\n </a>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Context trigger -->\r\n <div *ngIf=\"contextMenu\" style=\"visibility: hidden; position: fixed\" [style.left]=\"contextMenuPosition.x\" [style.top]=\"contextMenuPosition.y\" [matMenuTriggerFor]=\"matMenu\"></div>\r\n <!-- #endregion -->\r\n\r\n <a mat-icon-button *ngIf=\"!menu?.items?.length && !(menu.hide && menu.hide(data, context, index))\" [disabled]=\"data?.locked || (menu?.disable && menu?.disable(data, context, index))\" [matTooltip]=\"menu.tooltip\" (click)=\"$event.stopPropagation(); menu.event ? menu.event(data, context, index) : null\">\r\n <mat-icon fontSet=\"{{menu.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menu.iconClass??'' | func:data:context\" [style.color]=\"menu.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menu.icon??'radio_button_unchecked' | func:data:context) || 'radio_button_unchecked'}}\r\n </mat-icon>\r\n </a>\r\n <mat-menu x-position=\"before\" #matMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuItem of menu?.items\">\r\n <ng-container *ngIf=\"!menuItem.items\">\r\n <a mat-menu-item (click)=\"menuItem.event ? menuItem.event(data, context, index) : null\" *ngIf=\"!menuItem.hide || !menuItem.hide(data, context, index)\" [disabled]=\"menuItem.disable && menuItem.disable(data, context, index)\" [matTooltip]=\"menuItem.tooltip\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menuItem.iconClass??'' | func:data:context\" [style.color]=\"menuItem.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menuItem.icon??'radio_button_unchecked' | func:data:context) || 'radio_button_unchecked'}}\r\n </mat-icon>\r\n <span [style.color]=\"menuItem.textColor\">{{menuItem.title}}</span> <!-- Bind textColor here -->\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"menuItem.items\">\r\n <mat-menu x-position=\"before\" #subMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuSubItem of menuItem.items\">\r\n <a mat-menu-item (click)=\"menuSubItem.event ? menuSubItem.event(data, context, index) : null\" *ngIf=\"!menuSubItem.hide || !menuSubItem.hide(data, context, index)\" [disabled]=\"menuSubItem.disable && menuSubItem.disable(data, context, index)\" [matTooltip]=\"menuItem.tooltip\">\r\n <mat-icon fontSet=\"{{menuSubItem.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menuSubItem.iconClass??'' | func:data:context\" [style.color]=\"menuSubItem.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menuSubItem.icon??'radio_button_unchecked' | func:data:context) || 'radio_button_unchecked'}}\r\n </mat-icon>\r\n <span [style.color]=\"menuSubItem.textColor\">{{menuSubItem.title}}</span> <!-- Bind textColor here -->\r\n </a>\r\n </ng-container>\r\n </mat-menu>\r\n <a mat-menu-item [matMenuTriggerFor]=\"subMenu\" *ngIf=\"!menuItem.hide || !menuItem.hide(data, context, index)\" [disabled]=\"menuItem.disable && menuItem.disable(data, context, index)\" [matTooltip]=\"menuItem.tooltip\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menuItem.iconClass??'' | func:data:context\" [style.color]=\"menuItem.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menuItem.icon??'radio_button_unchecked' | func:data:context) || 'radio_button_unchecked'}}\r\n </mat-icon>\r\n <span [style.color]=\"menuItem.textColor\">{{menuItem.title}}</span> <!-- Bind textColor here -->\r\n </a>\r\n </ng-container>\r\n </ng-container>\r\n </mat-menu>\r\n </ng-container>\r\n</div>" }]
|
|
86
86
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { matMenu: [{
|
|
87
87
|
type: ViewChild,
|
|
88
88
|
args: [MatMenu]
|
|
@@ -100,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
100
100
|
}], contextMenu: [{
|
|
101
101
|
type: Input
|
|
102
102
|
}] } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2xheW91dC9keW5hbWljLW1lbnUvZHluYW1pYy1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2xheW91dC9keW5hbWljLW1lbnUvZHluYW1pYy1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7OztBQU9qRSxNQUFNLE9BQU8sc0JBQXNCO0lBNkRYO0lBM0RwQjs7T0FFRztJQUVJLE9BQU8sQ0FBVztJQUV6Qjs7T0FFRztJQUVJLGtCQUFrQixDQUFrQjtJQUUzQzs7T0FFRztJQUVJLEtBQUssQ0FBZ0I7SUFFNUI7O09BRUc7SUFDSyxLQUFLLENBQU07SUFFbkI7O09BRUc7SUFDSCxJQUNXLElBQUksS0FBVSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUEsQ0FBQyxDQUFDO0lBQzVDLElBQVcsSUFBSSxDQUFDLElBQVM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRDs7T0FFRztJQUVJLEtBQUssQ0FBVTtJQUV0Qjs7T0FFRztJQUVJLE9BQU8sQ0FBTTtJQUVwQjs7T0FFRztJQUVJLFdBQVcsQ0FBVztJQUU3Qjs7T0FFRztJQUNJLG1CQUFtQixHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFFcEQ7O09BRUc7SUFDSCxZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFJLENBQUM7SUFFN0Q7O09BRUc7SUFDSSxJQUFJLENBQUMsS0FBaUIsRUFBRSxJQUFTO1FBQ3BDLDZFQUE2RTtRQUM3RSxLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUM7UUFFeEIsaUNBQWlDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBRWpCLGlEQUFpRDtRQUNqRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDO1FBQ2xELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsT0FBTyxJQUFJLENBQUM7UUFDbEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdEMsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLENBQUM7UUFFMUMsdUNBQXVDO1FBQ3ZDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQzNHLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDckMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7MEhBeEZRLHNCQUFzQjs4R0FBdEIsc0JBQXNCLDBNQUtwQixPQUFPLHFGQU1QLGNBQWMsZ0RDbkI3Qixtb0lBeUNNOzsyRkRqQ08sc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNJLGlCQUFpQjtzRkFTcEIsT0FBTztzQkFEYixTQUFTO3VCQUFDLE9BQU87Z0JBT1gsa0JBQWtCO3NCQUR4QixTQUFTO3VCQUFDLGNBQWM7Z0JBT2xCLEtBQUs7c0JBRFgsS0FBSztnQkFZSyxJQUFJO3NCQURkLEtBQUs7Z0JBV0MsS0FBSztzQkFEWCxLQUFLO2dCQU9DLE9BQU87c0JBRGIsS0FBSztnQkFPQyxXQUFXO3NCQURqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRNZW51LCBNYXRNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBBY3Rpb25JdGVtIH0gZnJvbSAnLi4vLi4vY29tbW9uL21vZGVscy9hY3Rpb24taXRlbSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmQtZHluYW1pYy1tZW51JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLW1lbnUuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWZER5bmFtaWNNZW51Q29tcG9uZW50IHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIG1hdE1lbnU6IE1hdE1lbnVcclxuICAgICAqL1xyXG4gICAgQFZpZXdDaGlsZChNYXRNZW51KVxyXG4gICAgcHVibGljIG1hdE1lbnU/OiBNYXRNZW51O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGNvbnRleHQgbWVudSB0cmlnZ2VyXHJcbiAgICAgKi9cclxuICAgIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpXHJcbiAgICBwdWJsaWMgY29udGV4dE1lbnVUcmlnZ2VyPzogTWF0TWVudVRyaWdnZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBpdGVtczogQWN0aW9uSXRlbVtdXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaXRlbXM/OiBBY3Rpb25JdGVtW107XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBfZGF0YTogYW55XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2RhdGE6IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIGRhdGE6IGFueVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBkYXRhKCk6IGFueSB7IHJldHVybiB0aGlzLl9kYXRhIH1cclxuICAgIHB1YmxpYyBzZXQgZGF0YShkYXRhOiBhbnkpIHtcclxuICAgICAgICB0aGlzLl9kYXRhID0gZGF0YTtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIGluZGV4OiBudW1iZXJcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpbmRleD86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIGNvbnRleHQ6IGFueVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNvbnRleHQ6IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIGNvbnRleHQ6IGFueVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNvbnRleHRNZW51PzogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIG9mIHRoZSBjb250ZXh0IG1lbnVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNvbnRleHRNZW51UG9zaXRpb24gPSB7IHg6ICcwcHgnLCB5OiAnMHB4JyB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RydWN0b3JcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3BlbiB0aGUgbWVudVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb3BlbihldmVudDogTW91c2VFdmVudCwgZGF0YTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgLyogQXZvaWRzIHRvIHNob3cgdGhlIHZpc3VhbGl6YXRpb24gb2YgdGhlIHJpZ2h0LWNsaWNrIG1lbnUgb2YgdGhlIGJyb3dzZXIgKi9cclxuICAgICAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcclxuXHJcbiAgICAgICAgLyogU2V0IHRoZSBkYXRhIGZvciB0aGUgZXZlbnRzICovXHJcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcclxuXHJcbiAgICAgICAgLyogU2V0IHRoZSBYIGFuZCBZIHBvc3Rpb24gb2YgdGhlIGNvbnRleHQgbWVudSAqL1xyXG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVQb3NpdGlvbi54ID0gYCR7ZXZlbnQuY2xpZW50WH1weGA7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudVBvc2l0aW9uLnkgPSBgJHtldmVudC5jbGllbnRZfXB4YDtcclxuICAgICAgICB0aGlzLm1hdE1lbnU/LmZvY3VzRmlyc3RJdGVtKCdtb3VzZScpO1xyXG5cclxuICAgICAgICAvKiBPcGVuIHRoZSBtZW51IGFuZCB1cGRhdGUgaXRzIHBvc3Rpb24gKi9cclxuICAgICAgICB0aGlzLmNvbnRleHRNZW51VHJpZ2dlcj8ub3Blbk1lbnUoKTtcclxuICAgICAgICB0aGlzLmNvbnRleHRNZW51VHJpZ2dlcj8udXBkYXRlUG9zaXRpb24oKTtcclxuXHJcbiAgICAgICAgLyogSGFuZGxlIGNsaWNrcyBvbiB0aGUgbWVudSBvdmVybGF5ICovXHJcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnY2RrLW92ZXJsYXktY29udGFpbmVyJylbMF0/LmFkZEV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgKG9mZkV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgb2ZmRXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0TWVudVRyaWdnZXI/LmNsb3NlTWVudSgpO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMub3BlbihvZmZFdmVudCwgZGF0YSksIDEwMCk7XHJcbiAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pO1xyXG4gICAgfVxyXG59IiwiPGRpdiBsYXlvdXQ9XCJyb3dcIiBsYXlvdXQtYWxpZ249XCJzdGFydCBjZW50ZXJcIiAqbmdJZj1cIml0ZW1zXCIgZmxleD5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1lbnUgb2YgaXRlbXNcIj5cclxuICAgICAgICA8IS0tICNyZWdpb24gQnV0dG9uIHRyaWdnZXIgLS0+XHJcbiAgICAgICAgPGEgbWF0LWljb24tYnV0dG9uIFttYXQtbWVudS10cmlnZ2VyLWZvcl09XCJtYXRNZW51XCIgKm5nSWY9XCIhY29udGV4dE1lbnUgJiYgbWVudT8uaXRlbXM/Lmxlbmd0aCAmJiAhKG1lbnUuaGlkZSAmJiBtZW51LmhpZGUoZGF0YSwgY29udGV4dCwgaW5kZXgpKVwiIFtkaXNhYmxlZF09XCJkYXRhPy5sb2NrZWQgfHwgKG1lbnU/LmRpc2FibGUgJiYgbWVudT8uZGlzYWJsZShkYXRhLCBjb250ZXh0LCBpbmRleCkpXCIgW21hdFRvb2x0aXBdPVwibWVudS50b29sdGlwXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIGZvbnRTZXQ9XCJ7e21lbnUuaWNvbkZvbnRTZXQgfHwgJ21hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQnfX1cIiBbY2xhc3NdPVwibWVudS5pY29uQ2xhc3M/PycnIHwgZnVuYzpkYXRhOmNvbnRleHRcIj57eyhtZW51Lmljb24/Pydtb3JlX3ZlcnQnIHwgZnVuYzpkYXRhOmNvbnRleHQpIHx8ICdtb3JlX3ZlcnQnfX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8c3Bhbj57e21lbnUudGl0bGV9fTwvc3Bhbj5cclxuICAgICAgICA8L2E+XHJcbiAgICAgICAgPCEtLSAjZW5kcmVnaW9uIC0tPlxyXG5cclxuICAgICAgICA8IS0tICNyZWdpb24gQ29udGV4dCB0cmlnZ2VyIC0tPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJjb250ZXh0TWVudVwiIHN0eWxlPVwidmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogZml4ZWRcIiBbc3R5bGUubGVmdF09XCJjb250ZXh0TWVudVBvc2l0aW9uLnhcIiBbc3R5bGUudG9wXT1cImNvbnRleHRNZW51UG9zaXRpb24ueVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtYXRNZW51XCI+PC9kaXY+XHJcbiAgICAgICAgPCEtLSAjZW5kcmVnaW9uIC0tPlxyXG5cclxuICAgICAgICA8YSBtYXQtaWNvbi1idXR0b24gKm5nSWY9XCIhbWVudT8uaXRlbXM/Lmxlbmd0aCAmJiAhKG1lbnUuaGlkZSAmJiBtZW51LmhpZGUoZGF0YSwgY29udGV4dCwgaW5kZXgpKVwiIFtkaXNhYmxlZF09XCJkYXRhPy5sb2NrZWQgfHwgKG1lbnU/LmRpc2FibGUgJiYgbWVudT8uZGlzYWJsZShkYXRhLCBjb250ZXh0LCBpbmRleCkpXCIgW21hdFRvb2x0aXBdPVwibWVudS50b29sdGlwXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgbWVudS5ldmVudD9tZW51LmV2ZW50KGRhdGEsIGNvbnRleHQsIGluZGV4KTpudWxsXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBmb250U2V0PVwie3ttZW51Lmljb25Gb250U2V0IHx8ICdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJ319XCIgW2NsYXNzXT1cIm1lbnUuaWNvbkNsYXNzPz8nJyB8IGZ1bmM6ZGF0YTpjb250ZXh0XCI+e3sobWVudS5pY29uPz8ncmFkaW9fYnV0dG9uX3VuY2hlY2tlZCcgfCBmdW5jOmRhdGE6Y29udGV4dCkgfHwgJ3JhZGlvX2J1dHRvbl91bmNoZWNrZWQnfX08L21hdC1pY29uPlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgICA8bWF0LW1lbnUgeC1wb3NpdGlvbj1cImJlZm9yZVwiICNtYXRNZW51PVwibWF0TWVudVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtZW51SXRlbSBvZiBtZW51Py5pdGVtc1wiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtZW51SXRlbS5pdGVtc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm1lbnVJdGVtLmV2ZW50P21lbnVJdGVtLmV2ZW50KGRhdGEsIGNvbnRleHQsIGluZGV4KTpudWxsXCIgKm5nSWY9XCIhbWVudUl0ZW0uaGlkZSB8fCAhbWVudUl0ZW0uaGlkZShkYXRhLCBjb250ZXh0LCBpbmRleClcIiBbZGlzYWJsZWRdPVwibWVudUl0ZW0uZGlzYWJsZSAmJiBtZW51SXRlbS5kaXNhYmxlKGRhdGEsIGNvbnRleHQsIGluZGV4KVwiIFttYXRUb29sdGlwXT1cIm1lbnVJdGVtLnRvb2x0aXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGZvbnRTZXQ9XCJ7e21lbnVJdGVtLmljb25Gb250U2V0IHx8ICdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJ319XCIgW2NsYXNzXT1cIm1lbnVJdGVtLmljb25DbGFzcz8/JycgfCBmdW5jOmRhdGE6Y29udGV4dFwiPnt7KG1lbnVJdGVtLmljb24/PydyYWRpb19idXR0b25fdW5jaGVja2VkJyB8IGZ1bmM6ZGF0YTpjb250ZXh0KSB8fCAncmFkaW9fYnV0dG9uX3VuY2hlY2tlZCd9fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7bWVudUl0ZW0udGl0bGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtZW51SXRlbS5pdGVtc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbWVudSB4LXBvc2l0aW9uPVwiYmVmb3JlXCIgI3N1Yk1lbnU9XCJtYXRNZW51XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1lbnVTdWJJdGVtIG9mIG1lbnVJdGVtLml0ZW1zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBtYXQtbWVudS1pdGVtIChjbGljayk9XCJtZW51U3ViSXRlbS5ldmVudD9tZW51U3ViSXRlbS5ldmVudChkYXRhLCBjb250ZXh0LCBpbmRleCk6bnVsbFwiICpuZ0lmPVwiIW1lbnVTdWJJdGVtLmhpZGUgfHwgIW1lbnVTdWJJdGVtLmhpZGUoZGF0YSwgY29udGV4dCwgaW5kZXgpXCIgW2Rpc2FibGVkXT1cIm1lbnVTdWJJdGVtLmRpc2FibGUgJiYgbWVudVN1Ykl0ZW0uZGlzYWJsZShkYXRhLCBjb250ZXh0LCBpbmRleClcIiBbbWF0VG9vbHRpcF09XCJtZW51SXRlbS50b29sdGlwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGZvbnRTZXQ9XCJ7e21lbnVTdWJJdGVtLmljb25Gb250U2V0IHx8ICdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJ319XCIgW2NsYXNzXT1cIm1lbnVTdWJJdGVtLmljb25DbGFzcz8/JycgfCBmdW5jOmRhdGE6Y29udGV4dFwiPnt7KG1lbnVTdWJJdGVtLmljb24/PydyYWRpb19idXR0b25fdW5jaGVja2VkJyB8IGZ1bmM6ZGF0YTpjb250ZXh0KSB8fCAncmFkaW9fYnV0dG9uX3VuY2hlY2tlZCd9fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3ttZW51U3ViSXRlbS50aXRsZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L21hdC1tZW51PlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIG1hdC1tZW51LWl0ZW0gW21hdE1lbnVUcmlnZ2VyRm9yXT1cInN1Yk1lbnVcIiAqbmdJZj1cIiFtZW51SXRlbS5oaWRlIHx8ICFtZW51SXRlbS5oaWRlKGRhdGEsIGNvbnRleHQsIGluZGV4KVwiIFtkaXNhYmxlZF09XCJtZW51SXRlbS5kaXNhYmxlICYmIG1lbnVJdGVtLmRpc2FibGUoZGF0YSwgY29udGV4dCwgaW5kZXgpXCIgW21hdFRvb2x0aXBdPVwibWVudUl0ZW0udG9vbHRpcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gZm9udFNldD1cInt7bWVudUl0ZW0uaWNvbkZvbnRTZXQgfHwgJ21hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQnfX1cIiBbY2xhc3NdPVwibWVudUl0ZW0uaWNvbkNsYXNzPz8nJyB8IGZ1bmM6ZGF0YTpjb250ZXh0XCI+e3sobWVudUl0ZW0uaWNvbj8/J3JhZGlvX2J1dHRvbl91bmNoZWNrZWQnIHwgZnVuYzpkYXRhOmNvbnRleHQpIHx8ICdyYWRpb19idXR0b25fdW5jaGVja2VkJ319PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3ttZW51SXRlbS50aXRsZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L21hdC1tZW51PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PiJdfQ==
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2xheW91dC9keW5hbWljLW1lbnUvZHluYW1pYy1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2xheW91dC9keW5hbWljLW1lbnUvZHluYW1pYy1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7OztBQU9qRSxNQUFNLE9BQU8sc0JBQXNCO0lBNkRYO0lBM0RwQjs7T0FFRztJQUVJLE9BQU8sQ0FBVztJQUV6Qjs7T0FFRztJQUVJLGtCQUFrQixDQUFrQjtJQUUzQzs7T0FFRztJQUVJLEtBQUssQ0FBZ0I7SUFFNUI7O09BRUc7SUFDSyxLQUFLLENBQU07SUFFbkI7O09BRUc7SUFDSCxJQUNXLElBQUksS0FBVSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUEsQ0FBQyxDQUFDO0lBQzVDLElBQVcsSUFBSSxDQUFDLElBQVM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRDs7T0FFRztJQUVJLEtBQUssQ0FBVTtJQUV0Qjs7T0FFRztJQUVJLE9BQU8sQ0FBTTtJQUVwQjs7T0FFRztJQUVJLFdBQVcsQ0FBVztJQUU3Qjs7T0FFRztJQUNJLG1CQUFtQixHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFFcEQ7O09BRUc7SUFDSCxZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFJLENBQUM7SUFFN0Q7O09BRUc7SUFDSSxJQUFJLENBQUMsS0FBaUIsRUFBRSxJQUFTO1FBQ3BDLDZFQUE2RTtRQUM3RSxLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUM7UUFFeEIsaUNBQWlDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBRWpCLGlEQUFpRDtRQUNqRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDO1FBQ2xELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsT0FBTyxJQUFJLENBQUM7UUFDbEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdEMsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLENBQUM7UUFFMUMsdUNBQXVDO1FBQ3ZDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQzNHLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDckMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7MEhBeEZRLHNCQUFzQjs4R0FBdEIsc0JBQXNCLDBNQUtwQixPQUFPLHFGQU1QLGNBQWMsZ0RDbkI3Qix1K0pBbURNOzsyRkQzQ08sc0JBQXNCO2tCQUpsQyxTQUFTOytCQUNJLGlCQUFpQjtzRkFTcEIsT0FBTztzQkFEYixTQUFTO3VCQUFDLE9BQU87Z0JBT1gsa0JBQWtCO3NCQUR4QixTQUFTO3VCQUFDLGNBQWM7Z0JBT2xCLEtBQUs7c0JBRFgsS0FBSztnQkFZSyxJQUFJO3NCQURkLEtBQUs7Z0JBV0MsS0FBSztzQkFEWCxLQUFLO2dCQU9DLE9BQU87c0JBRGIsS0FBSztnQkFPQyxXQUFXO3NCQURqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRNZW51LCBNYXRNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBBY3Rpb25JdGVtIH0gZnJvbSAnLi4vLi4vY29tbW9uL21vZGVscy9hY3Rpb24taXRlbSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmQtZHluYW1pYy1tZW51JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLW1lbnUuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWZER5bmFtaWNNZW51Q29tcG9uZW50IHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIG1hdE1lbnU6IE1hdE1lbnVcclxuICAgICAqL1xyXG4gICAgQFZpZXdDaGlsZChNYXRNZW51KVxyXG4gICAgcHVibGljIG1hdE1lbnU/OiBNYXRNZW51O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGNvbnRleHQgbWVudSB0cmlnZ2VyXHJcbiAgICAgKi9cclxuICAgIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpXHJcbiAgICBwdWJsaWMgY29udGV4dE1lbnVUcmlnZ2VyPzogTWF0TWVudVRyaWdnZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBpdGVtczogQWN0aW9uSXRlbVtdXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaXRlbXM/OiBBY3Rpb25JdGVtW107XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBfZGF0YTogYW55XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2RhdGE6IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIGRhdGE6IGFueVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBkYXRhKCk6IGFueSB7IHJldHVybiB0aGlzLl9kYXRhIH1cclxuICAgIHB1YmxpYyBzZXQgZGF0YShkYXRhOiBhbnkpIHtcclxuICAgICAgICB0aGlzLl9kYXRhID0gZGF0YTtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIGluZGV4OiBudW1iZXJcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpbmRleD86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIGNvbnRleHQ6IGFueVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNvbnRleHQ6IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIGNvbnRleHQ6IGFueVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNvbnRleHRNZW51PzogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIG9mIHRoZSBjb250ZXh0IG1lbnVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNvbnRleHRNZW51UG9zaXRpb24gPSB7IHg6ICcwcHgnLCB5OiAnMHB4JyB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RydWN0b3JcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3BlbiB0aGUgbWVudVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb3BlbihldmVudDogTW91c2VFdmVudCwgZGF0YTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgLyogQXZvaWRzIHRvIHNob3cgdGhlIHZpc3VhbGl6YXRpb24gb2YgdGhlIHJpZ2h0LWNsaWNrIG1lbnUgb2YgdGhlIGJyb3dzZXIgKi9cclxuICAgICAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcclxuXHJcbiAgICAgICAgLyogU2V0IHRoZSBkYXRhIGZvciB0aGUgZXZlbnRzICovXHJcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcclxuXHJcbiAgICAgICAgLyogU2V0IHRoZSBYIGFuZCBZIHBvc3Rpb24gb2YgdGhlIGNvbnRleHQgbWVudSAqL1xyXG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVQb3NpdGlvbi54ID0gYCR7ZXZlbnQuY2xpZW50WH1weGA7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudVBvc2l0aW9uLnkgPSBgJHtldmVudC5jbGllbnRZfXB4YDtcclxuICAgICAgICB0aGlzLm1hdE1lbnU/LmZvY3VzRmlyc3RJdGVtKCdtb3VzZScpO1xyXG5cclxuICAgICAgICAvKiBPcGVuIHRoZSBtZW51IGFuZCB1cGRhdGUgaXRzIHBvc3Rpb24gKi9cclxuICAgICAgICB0aGlzLmNvbnRleHRNZW51VHJpZ2dlcj8ub3Blbk1lbnUoKTtcclxuICAgICAgICB0aGlzLmNvbnRleHRNZW51VHJpZ2dlcj8udXBkYXRlUG9zaXRpb24oKTtcclxuXHJcbiAgICAgICAgLyogSGFuZGxlIGNsaWNrcyBvbiB0aGUgbWVudSBvdmVybGF5ICovXHJcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnY2RrLW92ZXJsYXktY29udGFpbmVyJylbMF0/LmFkZEV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgKG9mZkV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgb2ZmRXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0TWVudVRyaWdnZXI/LmNsb3NlTWVudSgpO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMub3BlbihvZmZFdmVudCwgZGF0YSksIDEwMCk7XHJcbiAgICAgICAgfSwgeyBvbmNlOiB0cnVlIH0pO1xyXG4gICAgfVxyXG59IiwiPGRpdiBsYXlvdXQ9XCJyb3dcIiBsYXlvdXQtYWxpZ249XCJzdGFydCBjZW50ZXJcIiAqbmdJZj1cIml0ZW1zXCIgZmxleD5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1lbnUgb2YgaXRlbXNcIj5cclxuICAgICAgICA8IS0tICNyZWdpb24gQnV0dG9uIHRyaWdnZXIgLS0+XHJcbiAgICAgICAgPGEgbWF0LWljb24tYnV0dG9uIFttYXQtbWVudS10cmlnZ2VyLWZvcl09XCJtYXRNZW51XCIgKm5nSWY9XCIhY29udGV4dE1lbnUgJiYgbWVudT8uaXRlbXM/Lmxlbmd0aCAmJiAhKG1lbnUuaGlkZSAmJiBtZW51LmhpZGUoZGF0YSwgY29udGV4dCwgaW5kZXgpKVwiIFtkaXNhYmxlZF09XCJkYXRhPy5sb2NrZWQgfHwgKG1lbnU/LmRpc2FibGUgJiYgbWVudT8uZGlzYWJsZShkYXRhLCBjb250ZXh0LCBpbmRleCkpXCIgW21hdFRvb2x0aXBdPVwibWVudS50b29sdGlwXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIGZvbnRTZXQ9XCJ7e21lbnUuaWNvbkZvbnRTZXQgfHwgJ21hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQnfX1cIiBbY2xhc3NdPVwibWVudS5pY29uQ2xhc3M/PycnIHwgZnVuYzpkYXRhOmNvbnRleHRcIiBbc3R5bGUuY29sb3JdPVwibWVudS5pY29uQ29sb3JcIj4gPCEtLSBCaW5kIGljb25Db2xvciBoZXJlIC0tPlxyXG4gICAgICAgICAgICAgICAge3sobWVudS5pY29uPz8nbW9yZV92ZXJ0JyB8IGZ1bmM6ZGF0YTpjb250ZXh0KSB8fCAnbW9yZV92ZXJ0J319XHJcbiAgICAgICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJtZW51LnRleHRDb2xvclwiPnt7bWVudS50aXRsZX19PC9zcGFuPiA8IS0tIEJpbmQgdGV4dENvbG9yIGhlcmUgLS0+XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICAgIDwhLS0gI2VuZHJlZ2lvbiAtLT5cclxuXHJcbiAgICAgICAgPCEtLSAjcmVnaW9uIENvbnRleHQgdHJpZ2dlciAtLT5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY29udGV4dE1lbnVcIiBzdHlsZT1cInZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGZpeGVkXCIgW3N0eWxlLmxlZnRdPVwiY29udGV4dE1lbnVQb3NpdGlvbi54XCIgW3N0eWxlLnRvcF09XCJjb250ZXh0TWVudVBvc2l0aW9uLnlcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWF0TWVudVwiPjwvZGl2PlxyXG4gICAgICAgIDwhLS0gI2VuZHJlZ2lvbiAtLT5cclxuXHJcbiAgICAgICAgPGEgbWF0LWljb24tYnV0dG9uICpuZ0lmPVwiIW1lbnU/Lml0ZW1zPy5sZW5ndGggJiYgIShtZW51LmhpZGUgJiYgbWVudS5oaWRlKGRhdGEsIGNvbnRleHQsIGluZGV4KSlcIiBbZGlzYWJsZWRdPVwiZGF0YT8ubG9ja2VkIHx8IChtZW51Py5kaXNhYmxlICYmIG1lbnU/LmRpc2FibGUoZGF0YSwgY29udGV4dCwgaW5kZXgpKVwiIFttYXRUb29sdGlwXT1cIm1lbnUudG9vbHRpcFwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IG1lbnUuZXZlbnQgPyBtZW51LmV2ZW50KGRhdGEsIGNvbnRleHQsIGluZGV4KSA6IG51bGxcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIGZvbnRTZXQ9XCJ7e21lbnUuaWNvbkZvbnRTZXQgfHwgJ21hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQnfX1cIiBbY2xhc3NdPVwibWVudS5pY29uQ2xhc3M/PycnIHwgZnVuYzpkYXRhOmNvbnRleHRcIiBbc3R5bGUuY29sb3JdPVwibWVudS5pY29uQ29sb3JcIj4gPCEtLSBCaW5kIGljb25Db2xvciBoZXJlIC0tPlxyXG4gICAgICAgICAgICAgICAge3sobWVudS5pY29uPz8ncmFkaW9fYnV0dG9uX3VuY2hlY2tlZCcgfCBmdW5jOmRhdGE6Y29udGV4dCkgfHwgJ3JhZGlvX2J1dHRvbl91bmNoZWNrZWQnfX1cclxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2E+XHJcbiAgICAgICAgPG1hdC1tZW51IHgtcG9zaXRpb249XCJiZWZvcmVcIiAjbWF0TWVudT1cIm1hdE1lbnVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWVudUl0ZW0gb2YgbWVudT8uaXRlbXNcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbWVudUl0ZW0uaXRlbXNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YSBtYXQtbWVudS1pdGVtIChjbGljayk9XCJtZW51SXRlbS5ldmVudCA/IG1lbnVJdGVtLmV2ZW50KGRhdGEsIGNvbnRleHQsIGluZGV4KSA6IG51bGxcIiAqbmdJZj1cIiFtZW51SXRlbS5oaWRlIHx8ICFtZW51SXRlbS5oaWRlKGRhdGEsIGNvbnRleHQsIGluZGV4KVwiIFtkaXNhYmxlZF09XCJtZW51SXRlbS5kaXNhYmxlICYmIG1lbnVJdGVtLmRpc2FibGUoZGF0YSwgY29udGV4dCwgaW5kZXgpXCIgW21hdFRvb2x0aXBdPVwibWVudUl0ZW0udG9vbHRpcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gZm9udFNldD1cInt7bWVudUl0ZW0uaWNvbkZvbnRTZXQgfHwgJ21hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQnfX1cIiBbY2xhc3NdPVwibWVudUl0ZW0uaWNvbkNsYXNzPz8nJyB8IGZ1bmM6ZGF0YTpjb250ZXh0XCIgW3N0eWxlLmNvbG9yXT1cIm1lbnVJdGVtLmljb25Db2xvclwiPiA8IS0tIEJpbmQgaWNvbkNvbG9yIGhlcmUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyhtZW51SXRlbS5pY29uPz8ncmFkaW9fYnV0dG9uX3VuY2hlY2tlZCcgfCBmdW5jOmRhdGE6Y29udGV4dCkgfHwgJ3JhZGlvX2J1dHRvbl91bmNoZWNrZWQnfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3N0eWxlLmNvbG9yXT1cIm1lbnVJdGVtLnRleHRDb2xvclwiPnt7bWVudUl0ZW0udGl0bGV9fTwvc3Bhbj4gPCEtLSBCaW5kIHRleHRDb2xvciBoZXJlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVJdGVtLml0ZW1zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1tZW51IHgtcG9zaXRpb249XCJiZWZvcmVcIiAjc3ViTWVudT1cIm1hdE1lbnVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWVudVN1Ykl0ZW0gb2YgbWVudUl0ZW0uaXRlbXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm1lbnVTdWJJdGVtLmV2ZW50ID8gbWVudVN1Ykl0ZW0uZXZlbnQoZGF0YSwgY29udGV4dCwgaW5kZXgpIDogbnVsbFwiICpuZ0lmPVwiIW1lbnVTdWJJdGVtLmhpZGUgfHwgIW1lbnVTdWJJdGVtLmhpZGUoZGF0YSwgY29udGV4dCwgaW5kZXgpXCIgW2Rpc2FibGVkXT1cIm1lbnVTdWJJdGVtLmRpc2FibGUgJiYgbWVudVN1Ykl0ZW0uZGlzYWJsZShkYXRhLCBjb250ZXh0LCBpbmRleClcIiBbbWF0VG9vbHRpcF09XCJtZW51SXRlbS50b29sdGlwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGZvbnRTZXQ9XCJ7e21lbnVTdWJJdGVtLmljb25Gb250U2V0IHx8ICdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJ319XCIgW2NsYXNzXT1cIm1lbnVTdWJJdGVtLmljb25DbGFzcz8/JycgfCBmdW5jOmRhdGE6Y29udGV4dFwiIFtzdHlsZS5jb2xvcl09XCJtZW51U3ViSXRlbS5pY29uQ29sb3JcIj4gPCEtLSBCaW5kIGljb25Db2xvciBoZXJlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyhtZW51U3ViSXRlbS5pY29uPz8ncmFkaW9fYnV0dG9uX3VuY2hlY2tlZCcgfCBmdW5jOmRhdGE6Y29udGV4dCkgfHwgJ3JhZGlvX2J1dHRvbl91bmNoZWNrZWQnfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJtZW51U3ViSXRlbS50ZXh0Q29sb3JcIj57e21lbnVTdWJJdGVtLnRpdGxlfX08L3NwYW4+IDwhLS0gQmluZCB0ZXh0Q29sb3IgaGVyZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgICAgICAgICAgICAgICA8YSBtYXQtbWVudS1pdGVtIFttYXRNZW51VHJpZ2dlckZvcl09XCJzdWJNZW51XCIgKm5nSWY9XCIhbWVudUl0ZW0uaGlkZSB8fCAhbWVudUl0ZW0uaGlkZShkYXRhLCBjb250ZXh0LCBpbmRleClcIiBbZGlzYWJsZWRdPVwibWVudUl0ZW0uZGlzYWJsZSAmJiBtZW51SXRlbS5kaXNhYmxlKGRhdGEsIGNvbnRleHQsIGluZGV4KVwiIFttYXRUb29sdGlwXT1cIm1lbnVJdGVtLnRvb2x0aXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGZvbnRTZXQ9XCJ7e21lbnVJdGVtLmljb25Gb250U2V0IHx8ICdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJ319XCIgW2NsYXNzXT1cIm1lbnVJdGVtLmljb25DbGFzcz8/JycgfCBmdW5jOmRhdGE6Y29udGV4dFwiIFtzdHlsZS5jb2xvcl09XCJtZW51SXRlbS5pY29uQ29sb3JcIj4gPCEtLSBCaW5kIGljb25Db2xvciBoZXJlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sobWVudUl0ZW0uaWNvbj8/J3JhZGlvX2J1dHRvbl91bmNoZWNrZWQnIHwgZnVuYzpkYXRhOmNvbnRleHQpIHx8ICdyYWRpb19idXR0b25fdW5jaGVja2VkJ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJtZW51SXRlbS50ZXh0Q29sb3JcIj57e21lbnVJdGVtLnRpdGxlfX08L3NwYW4+IDwhLS0gQmluZCB0ZXh0Q29sb3IgaGVyZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9tYXQtbWVudT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj4iXX0=
|
package/fesm2022/messaia-cdk.mjs
CHANGED
|
@@ -2644,6 +2644,11 @@ class ActionItem {
|
|
|
2644
2644
|
* @type {((x?: TEntity, ctx?: TContext) => any) | string}
|
|
2645
2645
|
*/
|
|
2646
2646
|
iconClass;
|
|
2647
|
+
/**
|
|
2648
|
+
* The color for the icon, which can be set as a string (e.g., hex, rgb).
|
|
2649
|
+
* @type {string}
|
|
2650
|
+
*/
|
|
2651
|
+
iconColor;
|
|
2647
2652
|
/**
|
|
2648
2653
|
* Event handler to execute when the action item is triggered.
|
|
2649
2654
|
* @param {x} The entity associated with the action item.
|
|
@@ -2674,6 +2679,11 @@ class ActionItem {
|
|
|
2674
2679
|
* @type {number}
|
|
2675
2680
|
*/
|
|
2676
2681
|
index;
|
|
2682
|
+
/**
|
|
2683
|
+
* The text color for the action item, specified as a hex string or a color name.
|
|
2684
|
+
* @type {string}
|
|
2685
|
+
*/
|
|
2686
|
+
textColor;
|
|
2677
2687
|
/**
|
|
2678
2688
|
* Constructor to initialize an ActionItem instance with optional properties.
|
|
2679
2689
|
* @param init - Partial properties to initialize the action item.
|
|
@@ -10779,11 +10789,11 @@ class VdDynamicMenuComponent {
|
|
|
10779
10789
|
}, { once: true });
|
|
10780
10790
|
}
|
|
10781
10791
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: VdDynamicMenuComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
10782
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: VdDynamicMenuComponent, selector: "vd-dynamic-menu", inputs: { items: "items", data: "data", index: "index", context: "context", contextMenu: "contextMenu" }, viewQueries: [{ propertyName: "matMenu", first: true, predicate: MatMenu, descendants: true }, { propertyName: "contextMenuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<div layout=\"row\" layout-align=\"start center\" *ngIf=\"items\" flex>\r\n <ng-container *ngFor=\"let menu of items\">\r\n <!-- #region Button trigger -->\r\n <a mat-icon-button [mat-menu-trigger-for]=\"matMenu\" *ngIf=\"!contextMenu && menu?.items?.length && !(menu.hide && menu.hide(data, context, index))\" [disabled]=\"data?.locked || (menu?.disable && menu?.disable(data, context, index))\" [matTooltip]=\"menu.tooltip\" (click)=\"$event.stopPropagation();\">\r\n <mat-icon fontSet=\"{{menu.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menu.iconClass??'' | func:data:context\">{{(menu.icon??'more_vert' | func:data:context) || 'more_vert'}}</mat-icon>\r\n <span>{{menu.title}}</span
|
|
10792
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: VdDynamicMenuComponent, selector: "vd-dynamic-menu", inputs: { items: "items", data: "data", index: "index", context: "context", contextMenu: "contextMenu" }, viewQueries: [{ propertyName: "matMenu", first: true, predicate: MatMenu, descendants: true }, { propertyName: "contextMenuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<div layout=\"row\" layout-align=\"start center\" *ngIf=\"items\" flex>\r\n <ng-container *ngFor=\"let menu of items\">\r\n <!-- #region Button trigger -->\r\n <a mat-icon-button [mat-menu-trigger-for]=\"matMenu\" *ngIf=\"!contextMenu && menu?.items?.length && !(menu.hide && menu.hide(data, context, index))\" [disabled]=\"data?.locked || (menu?.disable && menu?.disable(data, context, index))\" [matTooltip]=\"menu.tooltip\" (click)=\"$event.stopPropagation();\">\r\n <mat-icon fontSet=\"{{menu.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menu.iconClass??'' | func:data:context\" [style.color]=\"menu.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menu.icon??'more_vert' | func:data:context) || 'more_vert'}}\r\n </mat-icon>\r\n <span [style.color]=\"menu.textColor\">{{menu.title}}</span> <!-- Bind textColor here -->\r\n </a>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Context trigger -->\r\n <div *ngIf=\"contextMenu\" style=\"visibility: hidden; position: fixed\" [style.left]=\"contextMenuPosition.x\" [style.top]=\"contextMenuPosition.y\" [matMenuTriggerFor]=\"matMenu\"></div>\r\n <!-- #endregion -->\r\n\r\n <a mat-icon-button *ngIf=\"!menu?.items?.length && !(menu.hide && menu.hide(data, context, index))\" [disabled]=\"data?.locked || (menu?.disable && menu?.disable(data, context, index))\" [matTooltip]=\"menu.tooltip\" (click)=\"$event.stopPropagation(); menu.event ? menu.event(data, context, index) : null\">\r\n <mat-icon fontSet=\"{{menu.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menu.iconClass??'' | func:data:context\" [style.color]=\"menu.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menu.icon??'radio_button_unchecked' | func:data:context) || 'radio_button_unchecked'}}\r\n </mat-icon>\r\n </a>\r\n <mat-menu x-position=\"before\" #matMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuItem of menu?.items\">\r\n <ng-container *ngIf=\"!menuItem.items\">\r\n <a mat-menu-item (click)=\"menuItem.event ? menuItem.event(data, context, index) : null\" *ngIf=\"!menuItem.hide || !menuItem.hide(data, context, index)\" [disabled]=\"menuItem.disable && menuItem.disable(data, context, index)\" [matTooltip]=\"menuItem.tooltip\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menuItem.iconClass??'' | func:data:context\" [style.color]=\"menuItem.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menuItem.icon??'radio_button_unchecked' | func:data:context) || 'radio_button_unchecked'}}\r\n </mat-icon>\r\n <span [style.color]=\"menuItem.textColor\">{{menuItem.title}}</span> <!-- Bind textColor here -->\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"menuItem.items\">\r\n <mat-menu x-position=\"before\" #subMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuSubItem of menuItem.items\">\r\n <a mat-menu-item (click)=\"menuSubItem.event ? menuSubItem.event(data, context, index) : null\" *ngIf=\"!menuSubItem.hide || !menuSubItem.hide(data, context, index)\" [disabled]=\"menuSubItem.disable && menuSubItem.disable(data, context, index)\" [matTooltip]=\"menuItem.tooltip\">\r\n <mat-icon fontSet=\"{{menuSubItem.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menuSubItem.iconClass??'' | func:data:context\" [style.color]=\"menuSubItem.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menuSubItem.icon??'radio_button_unchecked' | func:data:context) || 'radio_button_unchecked'}}\r\n </mat-icon>\r\n <span [style.color]=\"menuSubItem.textColor\">{{menuSubItem.title}}</span> <!-- Bind textColor here -->\r\n </a>\r\n </ng-container>\r\n </mat-menu>\r\n <a mat-menu-item [matMenuTriggerFor]=\"subMenu\" *ngIf=\"!menuItem.hide || !menuItem.hide(data, context, index)\" [disabled]=\"menuItem.disable && menuItem.disable(data, context, index)\" [matTooltip]=\"menuItem.tooltip\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menuItem.iconClass??'' | func:data:context\" [style.color]=\"menuItem.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menuItem.icon??'radio_button_unchecked' | func:data:context) || 'radio_button_unchecked'}}\r\n </mat-icon>\r\n <span [style.color]=\"menuItem.textColor\">{{menuItem.title}}</span> <!-- Bind textColor here -->\r\n </a>\r\n </ng-container>\r\n </ng-container>\r\n </mat-menu>\r\n </ng-container>\r\n</div>", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5$1.MatIconAnchor, selector: "a[mat-icon-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i5$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: FuncPipe, name: "func" }] });
|
|
10783
10793
|
}
|
|
10784
10794
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: VdDynamicMenuComponent, decorators: [{
|
|
10785
10795
|
type: Component,
|
|
10786
|
-
args: [{ selector: 'vd-dynamic-menu', template: "<div layout=\"row\" layout-align=\"start center\" *ngIf=\"items\" flex>\r\n <ng-container *ngFor=\"let menu of items\">\r\n <!-- #region Button trigger -->\r\n <a mat-icon-button [mat-menu-trigger-for]=\"matMenu\" *ngIf=\"!contextMenu && menu?.items?.length && !(menu.hide && menu.hide(data, context, index))\" [disabled]=\"data?.locked || (menu?.disable && menu?.disable(data, context, index))\" [matTooltip]=\"menu.tooltip\" (click)=\"$event.stopPropagation();\">\r\n <mat-icon fontSet=\"{{menu.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menu.iconClass??'' | func:data:context\">{{(menu.icon??'more_vert' | func:data:context) || 'more_vert'}}</mat-icon>\r\n <span>{{menu.title}}</span
|
|
10796
|
+
args: [{ selector: 'vd-dynamic-menu', template: "<div layout=\"row\" layout-align=\"start center\" *ngIf=\"items\" flex>\r\n <ng-container *ngFor=\"let menu of items\">\r\n <!-- #region Button trigger -->\r\n <a mat-icon-button [mat-menu-trigger-for]=\"matMenu\" *ngIf=\"!contextMenu && menu?.items?.length && !(menu.hide && menu.hide(data, context, index))\" [disabled]=\"data?.locked || (menu?.disable && menu?.disable(data, context, index))\" [matTooltip]=\"menu.tooltip\" (click)=\"$event.stopPropagation();\">\r\n <mat-icon fontSet=\"{{menu.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menu.iconClass??'' | func:data:context\" [style.color]=\"menu.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menu.icon??'more_vert' | func:data:context) || 'more_vert'}}\r\n </mat-icon>\r\n <span [style.color]=\"menu.textColor\">{{menu.title}}</span> <!-- Bind textColor here -->\r\n </a>\r\n <!-- #endregion -->\r\n\r\n <!-- #region Context trigger -->\r\n <div *ngIf=\"contextMenu\" style=\"visibility: hidden; position: fixed\" [style.left]=\"contextMenuPosition.x\" [style.top]=\"contextMenuPosition.y\" [matMenuTriggerFor]=\"matMenu\"></div>\r\n <!-- #endregion -->\r\n\r\n <a mat-icon-button *ngIf=\"!menu?.items?.length && !(menu.hide && menu.hide(data, context, index))\" [disabled]=\"data?.locked || (menu?.disable && menu?.disable(data, context, index))\" [matTooltip]=\"menu.tooltip\" (click)=\"$event.stopPropagation(); menu.event ? menu.event(data, context, index) : null\">\r\n <mat-icon fontSet=\"{{menu.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menu.iconClass??'' | func:data:context\" [style.color]=\"menu.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menu.icon??'radio_button_unchecked' | func:data:context) || 'radio_button_unchecked'}}\r\n </mat-icon>\r\n </a>\r\n <mat-menu x-position=\"before\" #matMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuItem of menu?.items\">\r\n <ng-container *ngIf=\"!menuItem.items\">\r\n <a mat-menu-item (click)=\"menuItem.event ? menuItem.event(data, context, index) : null\" *ngIf=\"!menuItem.hide || !menuItem.hide(data, context, index)\" [disabled]=\"menuItem.disable && menuItem.disable(data, context, index)\" [matTooltip]=\"menuItem.tooltip\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menuItem.iconClass??'' | func:data:context\" [style.color]=\"menuItem.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menuItem.icon??'radio_button_unchecked' | func:data:context) || 'radio_button_unchecked'}}\r\n </mat-icon>\r\n <span [style.color]=\"menuItem.textColor\">{{menuItem.title}}</span> <!-- Bind textColor here -->\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"menuItem.items\">\r\n <mat-menu x-position=\"before\" #subMenu=\"matMenu\">\r\n <ng-container *ngFor=\"let menuSubItem of menuItem.items\">\r\n <a mat-menu-item (click)=\"menuSubItem.event ? menuSubItem.event(data, context, index) : null\" *ngIf=\"!menuSubItem.hide || !menuSubItem.hide(data, context, index)\" [disabled]=\"menuSubItem.disable && menuSubItem.disable(data, context, index)\" [matTooltip]=\"menuItem.tooltip\">\r\n <mat-icon fontSet=\"{{menuSubItem.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menuSubItem.iconClass??'' | func:data:context\" [style.color]=\"menuSubItem.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menuSubItem.icon??'radio_button_unchecked' | func:data:context) || 'radio_button_unchecked'}}\r\n </mat-icon>\r\n <span [style.color]=\"menuSubItem.textColor\">{{menuSubItem.title}}</span> <!-- Bind textColor here -->\r\n </a>\r\n </ng-container>\r\n </mat-menu>\r\n <a mat-menu-item [matMenuTriggerFor]=\"subMenu\" *ngIf=\"!menuItem.hide || !menuItem.hide(data, context, index)\" [disabled]=\"menuItem.disable && menuItem.disable(data, context, index)\" [matTooltip]=\"menuItem.tooltip\">\r\n <mat-icon fontSet=\"{{menuItem.iconFontSet || 'material-symbols-outlined'}}\" [class]=\"menuItem.iconClass??'' | func:data:context\" [style.color]=\"menuItem.iconColor\"> <!-- Bind iconColor here -->\r\n {{(menuItem.icon??'radio_button_unchecked' | func:data:context) || 'radio_button_unchecked'}}\r\n </mat-icon>\r\n <span [style.color]=\"menuItem.textColor\">{{menuItem.title}}</span> <!-- Bind textColor here -->\r\n </a>\r\n </ng-container>\r\n </ng-container>\r\n </mat-menu>\r\n </ng-container>\r\n</div>" }]
|
|
10787
10797
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { matMenu: [{
|
|
10788
10798
|
type: ViewChild,
|
|
10789
10799
|
args: [MatMenu]
|