/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, ElementRef, EventEmitter, Input, Output, TemplateRef } from '@angular/core'; export class ContextMenuItemDirective { /** * @param {?} template * @param {?} elementRef */ constructor(template, elementRef) { this.template = template; this.elementRef = elementRef; this.divider = false; this.enabled = true; this.passive = false; this.visible = true; this.execute = new EventEmitter(); this.isActive = false; } /** * @return {?} */ get disabled() { return this.passive || this.divider || !this.evaluateIfFunction(this.enabled, this.currentItem); } /** * @param {?} value * @param {?} item * @return {?} */ evaluateIfFunction(value, item) { if (value instanceof Function) { return value(item); } return value; } /** * @return {?} */ setActiveStyles() { this.isActive = true; } /** * @return {?} */ setInactiveStyles() { this.isActive = false; } /** * @param {?} item * @param {?=} $event * @return {?} */ triggerExecute(item, $event) { if (!this.evaluateIfFunction(this.enabled, item)) { return; } this.execute.emit({ event: $event, item }); } } ContextMenuItemDirective.decorators = [ { type: Directive, args: [{ /* tslint:disable:directive-selector-type */ selector: '[contextMenuItem]', },] } ]; /** @nocollapse */ ContextMenuItemDirective.ctorParameters = () => [ { type: TemplateRef }, { type: ElementRef } ]; ContextMenuItemDirective.propDecorators = { subMenu: [{ type: Input }], divider: [{ type: Input }], enabled: [{ type: Input }], passive: [{ type: Input }], visible: [{ type: Input }], execute: [{ type: Output }] }; if (false) { /** @type {?} */ ContextMenuItemDirective.prototype.subMenu; /** @type {?} */ ContextMenuItemDirective.prototype.divider; /** @type {?} */ ContextMenuItemDirective.prototype.enabled; /** @type {?} */ ContextMenuItemDirective.prototype.passive; /** @type {?} */ ContextMenuItemDirective.prototype.visible; /** @type {?} */ ContextMenuItemDirective.prototype.execute; /** @type {?} */ ContextMenuItemDirective.prototype.currentItem; /** @type {?} */ ContextMenuItemDirective.prototype.isActive; /** @type {?} */ ContextMenuItemDirective.prototype.template; /** @type {?} */ ContextMenuItemDirective.prototype.elementRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dE1lbnUuaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtY29udGV4dG1lbnUvIiwic291cmNlcyI6WyJsaWIvY29udGV4dE1lbnUuaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU9oRyxNQUFNLE9BQU8sd0JBQXdCOzs7OztJQWdCbkMsWUFBbUIsUUFBb0MsRUFBUyxVQUFzQjtRQUFuRSxhQUFRLEdBQVIsUUFBUSxDQUE0QjtRQUFTLGVBQVUsR0FBVixVQUFVLENBQVk7UUFkdEUsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixZQUFPLEdBQXVDLElBQUksQ0FBQztRQUNuRCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFlBQU8sR0FBdUMsSUFBSSxDQUFDO1FBQ2xELFlBQU8sR0FBOEMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdsRixhQUFRLEdBQUcsS0FBSyxDQUFDO0lBT2tFLENBQUM7Ozs7SUFOM0YsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU87WUFDakIsSUFBSSxDQUFDLE9BQU87WUFDWixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3RCxDQUFDOzs7Ozs7SUFJTSxrQkFBa0IsQ0FBQyxLQUFVLEVBQUUsSUFBUztRQUM3QyxJQUFJLEtBQUssWUFBWSxRQUFRLEVBQUU7WUFDN0IsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEI7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Ozs7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7Ozs7SUFDTSxpQkFBaUI7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQzs7Ozs7O0lBRU0sY0FBYyxDQUFDLElBQVMsRUFBRSxNQUFtQztRQUNsRSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDaEQsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7O1lBMUNGLFNBQVMsU0FBQzs7Z0JBRVQsUUFBUSxFQUFFLG1CQUFtQjthQUU5Qjs7OztZQU40RCxXQUFXO1lBQXBELFVBQVU7OztzQkFRM0IsS0FBSztzQkFDTCxLQUFLO3NCQUNMLEtBQUs7c0JBQ0wsS0FBSztzQkFDTCxLQUFLO3NCQUNMLE1BQU07Ozs7SUFMUCwyQ0FBNkI7O0lBQzdCLDJDQUFnQzs7SUFDaEMsMkNBQW1FOztJQUNuRSwyQ0FBZ0M7O0lBQ2hDLDJDQUFtRTs7SUFDbkUsMkNBQXlGOztJQUV6RiwrQ0FBd0I7O0lBQ3hCLDRDQUF3Qjs7SUFPWiw0Q0FBMkM7O0lBQUUsOENBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGlnaGxpZ2h0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgLyogdHNsaW50OmRpc2FibGU6ZGlyZWN0aXZlLXNlbGVjdG9yLXR5cGUgKi9cbiAgc2VsZWN0b3I6ICdbY29udGV4dE1lbnVJdGVtXScsXG4gIC8qIHRzbGludDplbmFibGU6ZGlyZWN0aXZlLXNlbGVjdG9yLXR5cGUgKi9cbn0pXG5leHBvcnQgY2xhc3MgQ29udGV4dE1lbnVJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgSGlnaGxpZ2h0YWJsZSB7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJNZW51OiBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXZpZGVyID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVkOiBib29sZWFuIHwgKChpdGVtOiBhbnkpID0+IGJvb2xlYW4pID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIHBhc3NpdmUgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHZpc2libGU6IGJvb2xlYW4gfCAoKGl0ZW06IGFueSkgPT4gYm9vbGVhbikgPSB0cnVlO1xuICBAT3V0cHV0KCkgcHVibGljIGV4ZWN1dGU6IEV2ZW50RW1pdHRlcjx7IGV2ZW50OiBFdmVudCwgaXRlbTogYW55IH0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBjdXJyZW50SXRlbTogYW55O1xuICBwdWJsaWMgaXNBY3RpdmUgPSBmYWxzZTtcbiAgcHVibGljIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5wYXNzaXZlIHx8XG4gICAgICB0aGlzLmRpdmlkZXIgfHxcbiAgICAgICF0aGlzLmV2YWx1YXRlSWZGdW5jdGlvbih0aGlzLmVuYWJsZWQsIHRoaXMuY3VycmVudEl0ZW0pO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx7IGl0ZW06IGFueSB9PiwgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHsgfVxuXG4gIHB1YmxpYyBldmFsdWF0ZUlmRnVuY3Rpb24odmFsdWU6IGFueSwgaXRlbTogYW55KTogYW55IHtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgICAgcmV0dXJuIHZhbHVlKGl0ZW0pO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgc2V0QWN0aXZlU3R5bGVzKCk6IHZvaWQge1xuICAgIHRoaXMuaXNBY3RpdmUgPSB0cnVlO1xuICB9XG4gIHB1YmxpYyBzZXRJbmFjdGl2ZVN0eWxlcygpOiB2b2lkIHtcbiAgICB0aGlzLmlzQWN0aXZlID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgdHJpZ2dlckV4ZWN1dGUoaXRlbTogYW55LCAkZXZlbnQ/OiBNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5ldmFsdWF0ZUlmRnVuY3Rpb24odGhpcy5lbmFibGVkLCBpdGVtKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmV4ZWN1dGUuZW1pdCh7IGV2ZW50OiAkZXZlbnQsIGl0ZW0gfSk7XG4gIH1cbn1cbiJdfQ==