@junte/ui
Version:
Quality Angular UI components kit
112 lines • 9.52 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { ContentChildren, EventEmitter, HostBinding, Input, Output, QueryList } from '@angular/core';
import { LinkTarget } from '../link/enums';
import { PropertyApi } from '../../core/decorators/api';
import { UI } from '../../core/enums/ui';
import { UrlMatching } from '../../core/enums/url';
import { BadgeComponent } from '../../elements/badge/badge.component';
export class AbstractMenuItem {
constructor() {
this.ui = UI;
this._matching = UrlMatching.fullMatch;
this.opened = false;
this.loading = false;
this.disabled = false;
this.target = LinkTarget.self;
this.matching = UrlMatching.fullMatch;
this.click = new EventEmitter();
}
set __link__(link) {
this.link = (typeof (link) === 'string' || link instanceof Array
? { source: link, position: null } : link);
}
}
__decorate([
HostBinding('attr.opened'),
__metadata("design:type", Object)
], AbstractMenuItem.prototype, "opened", void 0);
__decorate([
PropertyApi({
description: 'Loading for menu item',
default: 'false',
type: 'boolean'
}),
Input(),
__metadata("design:type", Object)
], AbstractMenuItem.prototype, "loading", void 0);
__decorate([
PropertyApi({
description: 'Icon for menu item',
type: 'string'
}),
Input(),
__metadata("design:type", String)
], AbstractMenuItem.prototype, "icon", void 0);
__decorate([
PropertyApi({
description: 'Disable menu item',
type: 'boolean',
default: 'false'
}),
Input(),
__metadata("design:type", Object)
], AbstractMenuItem.prototype, "disabled", void 0);
__decorate([
PropertyApi({
description: 'Menu item title',
type: 'string'
}),
Input(),
__metadata("design:type", String)
], AbstractMenuItem.prototype, "title", void 0);
__decorate([
PropertyApi({
name: 'link',
description: 'Menu item source',
type: 'string | string[] | Link'
}),
Input('link'),
__metadata("design:type", Object),
__metadata("design:paramtypes", [Object])
], AbstractMenuItem.prototype, "__link__", null);
__decorate([
PropertyApi({
description: 'Menu item target',
type: 'string',
default: LinkTarget.self,
options: [LinkTarget.blank, LinkTarget.parent, LinkTarget.self, LinkTarget.top]
}),
Input(),
__metadata("design:type", String)
], AbstractMenuItem.prototype, "target", void 0);
__decorate([
PropertyApi({
description: 'Methods of matching',
path: 'ui.matching',
default: UrlMatching.fullMatch,
options: [UrlMatching.fullMatch,
UrlMatching.wildcard]
}),
Input(),
__metadata("design:type", String)
], AbstractMenuItem.prototype, "matching", void 0);
__decorate([
PropertyApi({
description: 'Set active menu item',
type: 'boolean'
}),
Input(),
__metadata("design:type", Boolean)
], AbstractMenuItem.prototype, "active", void 0);
__decorate([
PropertyApi({
description: 'Output event for click on menu item'
}),
Output(),
__metadata("design:type", Object)
], AbstractMenuItem.prototype, "click", void 0);
__decorate([
ContentChildren(BadgeComponent),
__metadata("design:type", QueryList)
], AbstractMenuItem.prototype, "badges", void 0);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbWVudS1pdGVtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGp1bnRlL3VpLyIsInNvdXJjZXMiOlsibGliL25hdmlnYXRpb24vbWVudS9hYnN0cmFjdC1tZW51LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQU90RSxNQUFNLE9BQWdCLGdCQUFnQjtJQUF0QztRQUVFLE9BQUUsR0FBRyxFQUFFLENBQUM7UUFJUixjQUFTLEdBQWdCLFdBQVcsQ0FBQyxTQUFTLENBQUM7UUFHL0MsV0FBTSxHQUFHLEtBQUssQ0FBQztRQVFmLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFjUCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBMkIxQixXQUFNLEdBQVcsVUFBVSxDQUFDLElBQUksQ0FBQztRQVVqQyxhQUFRLEdBQWdCLFdBQVcsQ0FBQyxTQUFTLENBQUM7UUFhOUMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFLbEMsQ0FBQztJQXhDQyxJQUFJLFFBQVEsQ0FBQyxJQUE4QjtRQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLFFBQVEsSUFBSSxJQUFJLFlBQVksS0FBSztZQUM5RCxDQUFDLENBQUMsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFTLENBQUM7SUFDckQsQ0FBQztDQXFDRjtBQTdFQztJQURDLFdBQVcsQ0FBQyxhQUFhLENBQUM7O2dEQUNaO0FBUWY7SUFOQyxXQUFXLENBQUM7UUFDWCxXQUFXLEVBQUUsdUJBQXVCO1FBQ3BDLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUM7SUFDRCxLQUFLLEVBQUU7O2lEQUNRO0FBT2hCO0lBTEMsV0FBVyxDQUFDO1FBQ1gsV0FBVyxFQUFFLG9CQUFvQjtRQUNqQyxJQUFJLEVBQUUsUUFBUTtLQUNmLENBQUM7SUFDRCxLQUFLLEVBQUU7OzhDQUNLO0FBT0o7SUFMUixXQUFXLENBQUM7UUFDWCxXQUFXLEVBQUUsbUJBQW1CO1FBQ2hDLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLE9BQU87S0FDakIsQ0FBQztJQUNELEtBQUssRUFBRTs7a0RBQWtCO0FBTzFCO0lBTEMsV0FBVyxDQUFDO1FBQ1gsV0FBVyxFQUFFLGlCQUFpQjtRQUM5QixJQUFJLEVBQUUsUUFBUTtLQUNmLENBQUM7SUFDRCxLQUFLLEVBQUU7OytDQUNNO0FBUWQ7SUFOQyxXQUFXLENBQUM7UUFDWCxJQUFJLEVBQUUsTUFBTTtRQUNaLFdBQVcsRUFBRSxrQkFBa0I7UUFDL0IsSUFBSSxFQUFFLDBCQUEwQjtLQUNqQyxDQUFDO0lBQ0QsS0FBSyxDQUFDLE1BQU0sQ0FBQzs7O2dEQUliO0FBU0Q7SUFQQyxXQUFXLENBQUM7UUFDWCxXQUFXLEVBQUUsa0JBQWtCO1FBQy9CLElBQUksRUFBRSxRQUFRO1FBQ2QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxJQUFJO1FBQ3hCLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUM7S0FDaEYsQ0FBQztJQUNELEtBQUssRUFBRTs7Z0RBQ3lCO0FBVWpDO0lBUkMsV0FBVyxDQUFDO1FBQ1gsV0FBVyxFQUFFLHFCQUFxQjtRQUNsQyxJQUFJLEVBQUUsYUFBYTtRQUNuQixPQUFPLEVBQUUsV0FBVyxDQUFDLFNBQVM7UUFDOUIsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVM7WUFDN0IsV0FBVyxDQUFDLFFBQVEsQ0FBQztLQUN4QixDQUFDO0lBQ0QsS0FBSyxFQUFFOztrREFDc0M7QUFPOUM7SUFMQyxXQUFXLENBQUM7UUFDWCxXQUFXLEVBQUUsc0JBQXNCO1FBQ25DLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUM7SUFDRCxLQUFLLEVBQUU7O2dEQUNRO0FBTWhCO0lBSkMsV0FBVyxDQUFDO1FBQ1gsV0FBVyxFQUFFLHFDQUFxQztLQUNuRCxDQUFDO0lBQ0QsTUFBTSxFQUFFOzsrQ0FDdUI7QUFHaEM7SUFEQyxlQUFlLENBQUMsY0FBYyxDQUFDOzhCQUN4QixTQUFTO2dEQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRDaGlsZHJlbiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaW5rVGFyZ2V0IH0gZnJvbSAnLi4vbGluay9lbnVtcyc7XG5pbXBvcnQgeyBQcm9wZXJ0eUFwaSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy9hcGknO1xuaW1wb3J0IHsgVUkgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3VpJztcbmltcG9ydCB7IFVybE1hdGNoaW5nIH0gZnJvbSAnLi4vLi4vY29yZS9lbnVtcy91cmwnO1xuaW1wb3J0IHsgQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9lbGVtZW50cy9iYWRnZS9iYWRnZS5jb21wb25lbnQnO1xuXG5pbnRlcmZhY2UgTGluayB7XG4gIHNvdXJjZTogc3RyaW5nIHwgYW55W107XG4gIGZyYWdtZW50OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE1lbnVJdGVtIHtcblxuICB1aSA9IFVJO1xuXG4gIGxpbms6IExpbms7XG5cbiAgX21hdGNoaW5nOiBVcmxNYXRjaGluZyA9IFVybE1hdGNoaW5nLmZ1bGxNYXRjaDtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIub3BlbmVkJylcbiAgb3BlbmVkID0gZmFsc2U7XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ0xvYWRpbmcgZm9yIG1lbnUgaXRlbScsXG4gICAgZGVmYXVsdDogJ2ZhbHNlJyxcbiAgICB0eXBlOiAnYm9vbGVhbidcbiAgfSlcbiAgQElucHV0KClcbiAgbG9hZGluZyA9IGZhbHNlO1xuXG4gIEBQcm9wZXJ0eUFwaSh7XG4gICAgZGVzY3JpcHRpb246ICdJY29uIGZvciBtZW51IGl0ZW0nLFxuICAgIHR5cGU6ICdzdHJpbmcnXG4gIH0pXG4gIEBJbnB1dCgpXG4gIGljb246IHN0cmluZztcblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnRGlzYWJsZSBtZW51IGl0ZW0nLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0OiAnZmFsc2UnXG4gIH0pXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ01lbnUgaXRlbSB0aXRsZScsXG4gICAgdHlwZTogJ3N0cmluZydcbiAgfSlcbiAgQElucHV0KClcbiAgdGl0bGU6IHN0cmluZztcblxuICBAUHJvcGVydHlBcGkoe1xuICAgIG5hbWU6ICdsaW5rJyxcbiAgICBkZXNjcmlwdGlvbjogJ01lbnUgaXRlbSBzb3VyY2UnLFxuICAgIHR5cGU6ICdzdHJpbmcgfCBzdHJpbmdbXSB8IExpbmsnXG4gIH0pXG4gIEBJbnB1dCgnbGluaycpXG4gIHNldCBfX2xpbmtfXyhsaW5rOiBzdHJpbmcgfCBzdHJpbmdbXSB8IExpbmspIHtcbiAgICB0aGlzLmxpbmsgPSAodHlwZW9mIChsaW5rKSA9PT0gJ3N0cmluZycgfHwgbGluayBpbnN0YW5jZW9mIEFycmF5XG4gICAgICA/IHtzb3VyY2U6IGxpbmssIHBvc2l0aW9uOiBudWxsfSA6IGxpbmspIGFzIExpbms7XG4gIH1cblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnTWVudSBpdGVtIHRhcmdldCcsXG4gICAgdHlwZTogJ3N0cmluZycsXG4gICAgZGVmYXVsdDogTGlua1RhcmdldC5zZWxmLFxuICAgIG9wdGlvbnM6IFtMaW5rVGFyZ2V0LmJsYW5rLCBMaW5rVGFyZ2V0LnBhcmVudCwgTGlua1RhcmdldC5zZWxmLCBMaW5rVGFyZ2V0LnRvcF1cbiAgfSlcbiAgQElucHV0KClcbiAgdGFyZ2V0OiBzdHJpbmcgPSBMaW5rVGFyZ2V0LnNlbGY7XG5cbiAgQFByb3BlcnR5QXBpKHtcbiAgICBkZXNjcmlwdGlvbjogJ01ldGhvZHMgb2YgbWF0Y2hpbmcnLFxuICAgIHBhdGg6ICd1aS5tYXRjaGluZycsXG4gICAgZGVmYXVsdDogVXJsTWF0Y2hpbmcuZnVsbE1hdGNoLFxuICAgIG9wdGlvbnM6IFtVcmxNYXRjaGluZy5mdWxsTWF0Y2gsXG4gICAgICBVcmxNYXRjaGluZy53aWxkY2FyZF1cbiAgfSlcbiAgQElucHV0KClcbiAgbWF0Y2hpbmc6IFVybE1hdGNoaW5nID0gVXJsTWF0Y2hpbmcuZnVsbE1hdGNoO1xuXG4gIEBQcm9wZXJ0eUFwaSh7XG4gICAgZGVzY3JpcHRpb246ICdTZXQgYWN0aXZlIG1lbnUgaXRlbScsXG4gICAgdHlwZTogJ2Jvb2xlYW4nXG4gIH0pXG4gIEBJbnB1dCgpXG4gIGFjdGl2ZTogYm9vbGVhbjtcblxuICBAUHJvcGVydHlBcGkoe1xuICAgIGRlc2NyaXB0aW9uOiAnT3V0cHV0IGV2ZW50IGZvciBjbGljayBvbiBtZW51IGl0ZW0nXG4gIH0pXG4gIEBPdXRwdXQoKVxuICBjbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQmFkZ2VDb21wb25lbnQpXG4gIGJhZGdlczogUXVlcnlMaXN0PEJhZGdlQ29tcG9uZW50PjtcblxufVxuIl19