com.phloxui
Version:
PhloxUI Ng2+ Framework
87 lines (86 loc) • 6.36 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Type } from '@angular/core';
import { AbstractHasOptions } from '../../share/AbstractHasOptions';
import { AbstractMenuItem } from '../AbstractMenuItem';
import { Option } from '../../decorator/Option.decorator';
import { I18N } from '../../decorator/I18N.decorator';
/**
* <p style="text-indent: 2em;">
* A <code>model</code> class representing a <code>menu item</code>.
* </p>
*
* @author shiorin, tee4cute
* @see [[AbstractMenuItem]]
*/
export class MenuItemModel extends AbstractHasOptions {
/**
* @param {?=} menuType
* @param {?=} label
* @param {?=} enable
* @param {?=} actionPerformedHandler
* @param {?=} autoResetFocus
*/
constructor(menuType, label, enable, actionPerformedHandler, autoResetFocus) {
super();
this.label = label;
if (menuType != null && menuType.prototype instanceof AbstractMenuItem) {
this.type = menuType;
}
this.actionPerformedHandler = actionPerformedHandler;
this.enable = enable;
this.autoResetFocus = autoResetFocus;
}
}
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Type)
], MenuItemModel.prototype, "type", void 0);
tslib_1.__decorate([
Option(),
I18N(),
tslib_1.__metadata("design:type", String)
], MenuItemModel.prototype, "label", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], MenuItemModel.prototype, "actionPerformedHandler", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MenuItemModel.prototype, "enable", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MenuItemModel.prototype, "autoResetFocus", void 0);
function MenuItemModel_tsickle_Closure_declarations() {
/**
* A <code>type</code> which is a sub-class of [[AbstractMenuItem]] of this <code>menu item</code>.
* @type {?}
*/
MenuItemModel.prototype.type;
/**
* The label of this <code>menu item</code>.
* @type {?}
*/
MenuItemModel.prototype.label;
/**
* A handler function will be called when this <code>menu item</code> is clicked.
* @type {?}
*/
MenuItemModel.prototype.actionPerformedHandler;
/**
* A flag indicating that this <code>menu item</code> is currently enabled or not.
* @type {?}
*/
MenuItemModel.prototype.enable;
/**
* A flag controlling the behavior of this <code>menu item</code> to auto reset focusing component when it is clicked or not.
* @type {?}
*/
MenuItemModel.prototype.autoResetFocus;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVudUl0ZW1Nb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudC9tb2RlbC9NZW51SXRlbU1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDMUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7QUFVdEQsTUFBTSxvQkFBcUIsU0FBUSxrQkFBa0I7Ozs7Ozs7O0lBNkJuRCxZQUFZLFFBQW9CLEVBQUUsS0FBYyxFQUFFLE1BQWdCLEVBQUUsc0JBQWlDLEVBQUUsY0FBd0I7UUFDN0gsS0FBSyxFQUFFLENBQUM7UUFFUixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixFQUFFLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxJQUFJLFFBQVEsQ0FBQyxTQUFTLFlBQVksZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixHQUFHLHNCQUFzQixDQUFDO1FBQ3JELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0tBQ3RDO0NBQ0Y7O0lBbkNFLE1BQU0sRUFBRTtzQ0FDSSxJQUFJOzs7SUFJaEIsTUFBTSxFQUFFO0lBQ1IsSUFBSSxFQUFFOzs7O0lBS04sTUFBTSxFQUFFO3NDQUNzQixRQUFROzs7SUFJdEMsTUFBTSxFQUFFOzs7O0lBS1IsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RIYXNPcHRpb25zIH0gZnJvbSAnLi4vLi4vc2hhcmUvQWJzdHJhY3RIYXNPcHRpb25zJztcbmltcG9ydCB7IEFic3RyYWN0TWVudUl0ZW0gfSBmcm9tICcuLi9BYnN0cmFjdE1lbnVJdGVtJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gJy4uLy4uL2RlY29yYXRvci9PcHRpb24uZGVjb3JhdG9yJztcbmltcG9ydCB7IEkxOE4gfSBmcm9tICcuLi8uLi9kZWNvcmF0b3IvSTE4Ti5kZWNvcmF0b3InO1xuXG4vKipcbiAqIDxwIHN0eWxlPVwidGV4dC1pbmRlbnQ6IDJlbTtcIj5cbiAqIEEgPGNvZGU+bW9kZWw8L2NvZGU+IGNsYXNzIHJlcHJlc2VudGluZyBhIDxjb2RlPm1lbnUgaXRlbTwvY29kZT4uXG4gKiA8L3A+XG4gKlxuICogQGF1dGhvciBzaGlvcmluLCB0ZWU0Y3V0ZVxuICogQHNlZSBbW0Fic3RyYWN0TWVudUl0ZW1dXVxuICovXG5leHBvcnQgY2xhc3MgTWVudUl0ZW1Nb2RlbCBleHRlbmRzIEFic3RyYWN0SGFzT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIEEgPGNvZGU+dHlwZTwvY29kZT4gd2hpY2ggaXMgYSBzdWItY2xhc3Mgb2YgW1tBYnN0cmFjdE1lbnVJdGVtXV0gb2YgdGhpcyA8Y29kZT5tZW51IGl0ZW08L2NvZGU+LlxuICAgKi9cbiAgQE9wdGlvbigpXG4gIHB1YmxpYyB0eXBlOiBUeXBlPGFueT47XG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhpcyA8Y29kZT5tZW51IGl0ZW08L2NvZGU+LlxuICAgKi9cbiAgQE9wdGlvbigpXG4gIEBJMThOKClcbiAgcHVibGljIGxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIGhhbmRsZXIgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgd2hlbiB0aGlzIDxjb2RlPm1lbnUgaXRlbTwvY29kZT4gaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPcHRpb24oKVxuICBwdWJsaWMgYWN0aW9uUGVyZm9ybWVkSGFuZGxlcjogRnVuY3Rpb247IC8vIHBhcmFtIGV2ZW50OmFueVxuICAvKipcbiAgICogQSBmbGFnIGluZGljYXRpbmcgdGhhdCB0aGlzIDxjb2RlPm1lbnUgaXRlbTwvY29kZT4gaXMgY3VycmVudGx5IGVuYWJsZWQgb3Igbm90LlxuICAgKi9cbiAgQE9wdGlvbigpXG4gIHB1YmxpYyBlbmFibGU6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBIGZsYWcgY29udHJvbGxpbmcgdGhlIGJlaGF2aW9yIG9mIHRoaXMgPGNvZGU+bWVudSBpdGVtPC9jb2RlPiB0byBhdXRvIHJlc2V0IGZvY3VzaW5nIGNvbXBvbmVudCB3aGVuIGl0IGlzIGNsaWNrZWQgb3Igbm90LlxuICAgKi9cbiAgQE9wdGlvbigpXG4gIHB1YmxpYyBhdXRvUmVzZXRGb2N1czogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihtZW51VHlwZT86IFR5cGU8YW55PiwgbGFiZWw/OiBzdHJpbmcsIGVuYWJsZT86IGJvb2xlYW4sIGFjdGlvblBlcmZvcm1lZEhhbmRsZXI/OiBGdW5jdGlvbiwgYXV0b1Jlc2V0Rm9jdXM/OiBib29sZWFuKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcbiAgICBpZiAobWVudVR5cGUgIT0gbnVsbCAmJiBtZW51VHlwZS5wcm90b3R5cGUgaW5zdGFuY2VvZiBBYnN0cmFjdE1lbnVJdGVtKSB7XG4gICAgICB0aGlzLnR5cGUgPSBtZW51VHlwZTtcbiAgICB9XG4gICAgdGhpcy5hY3Rpb25QZXJmb3JtZWRIYW5kbGVyID0gYWN0aW9uUGVyZm9ybWVkSGFuZGxlcjtcbiAgICB0aGlzLmVuYWJsZSA9IGVuYWJsZTtcbiAgICB0aGlzLmF1dG9SZXNldEZvY3VzID0gYXV0b1Jlc2V0Rm9jdXM7XG4gIH1cbn1cbiJdfQ==