UNPKG

@true-directive/grid

Version:

Angular Data Grid from Yopsilon.

65 lines 7.75 kB
/** * Copyright (c) 2018-2019 Aleksey Melnikov, True Directive Company. * @link https://truedirective.com/ * @license MIT */ import * as tslib_1 from "tslib"; import { Component, Output, ViewChild, EventEmitter } from '@angular/core'; import { MenuComponent } from './menu.component'; var MenuStarterComponent = /** @class */ (function () { function MenuStarterComponent() { this.target = null; this.items = []; this.show = new EventEmitter(); this.closed = new EventEmitter(); this.itemClick = new EventEmitter(); } MenuStarterComponent.prototype.menuClosed = function (e) { this.closed.emit(e); }; MenuStarterComponent.prototype.itemClicked = function (item) { this.itemClick.emit({ target: this.target, action: item }); this.finish(); }; MenuStarterComponent.prototype.isDivide = function (item) { var i = this.items.indexOf(item); return i > 0 && this.items[i - 1].group !== item.group; }; MenuStarterComponent.prototype.start = function (e, items, target) { this.finish(); this.target = target; this.items = items; this.menu.showByXY(e.clientX, e.clientY); }; MenuStarterComponent.prototype.finish = function () { this.target = null; if (this.menu.visible) { this.menu.closePopup(); } }; tslib_1.__decorate([ ViewChild('menu', { static: true }), tslib_1.__metadata("design:type", MenuComponent) ], MenuStarterComponent.prototype, "menu", void 0); tslib_1.__decorate([ Output('show'), tslib_1.__metadata("design:type", EventEmitter) ], MenuStarterComponent.prototype, "show", void 0); tslib_1.__decorate([ Output('closed'), tslib_1.__metadata("design:type", EventEmitter) ], MenuStarterComponent.prototype, "closed", void 0); tslib_1.__decorate([ Output('itemClick'), tslib_1.__metadata("design:type", EventEmitter) ], MenuStarterComponent.prototype, "itemClick", void 0); MenuStarterComponent = tslib_1.__decorate([ Component({ selector: 'true-menu-starter', template: "\n <true-menu #menu\n (show)=\"show.emit($event)\"\n (closed)=\"menuClosed($event)\">\n <true-menu-item\n *ngFor=\"let t of items; let i=index\"\n [true-divide]=\"isDivide(t)\"\n (itemClick)=\"itemClicked(t)\"\n [disabled]=\"t.disabled\"><span [ngClass]=\"t.icon\"></span>{{t.name | trueTranslate}}</true-menu-item>\n </true-menu>\n " }) ], MenuStarterComponent); return MenuStarterComponent; }()); export { MenuStarterComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1zdGFydGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0cnVlLWRpcmVjdGl2ZS9ncmlkLyIsInNvdXJjZXMiOlsic3JjL2NvbnRyb2xzL21lbnUtc3RhcnRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7RUFJRTs7QUFFRixPQUFPLEVBQUUsU0FBUyxFQUFTLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSWxGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQWdCakQ7SUFkQTtRQWdCRSxXQUFNLEdBQVEsSUFBSSxDQUFDO1FBQ25CLFVBQUssR0FBaUIsRUFBRSxDQUFDO1FBTXpCLFNBQUksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUdsRCxXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFHcEQsY0FBUyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBNkJ6RCxDQUFDO0lBM0JDLHlDQUFVLEdBQVYsVUFBVyxDQUFNO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELDBDQUFXLEdBQVgsVUFBWSxJQUFnQjtRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFBO1FBQ3hELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRU0sdUNBQVEsR0FBZixVQUFnQixJQUFnQjtRQUM5QixJQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDekQsQ0FBQztJQUVNLG9DQUFLLEdBQVosVUFBYSxDQUFNLEVBQUUsS0FBbUIsRUFBRSxNQUFXO1FBQ25ELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSxxQ0FBTSxHQUFiO1FBQ0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQXJDRDtRQURDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLENBQUM7MENBQzVCLGFBQWE7c0RBQUM7SUFHcEI7UUFEQyxNQUFNLENBQUMsTUFBTSxDQUFDOzBDQUNULFlBQVk7c0RBQWdDO0lBR2xEO1FBREMsTUFBTSxDQUFDLFFBQVEsQ0FBQzswQ0FDVCxZQUFZO3dEQUFnQztJQUdwRDtRQURDLE1BQU0sQ0FBQyxXQUFXLENBQUM7MENBQ1QsWUFBWTsyREFBZ0M7SUFmNUMsb0JBQW9CO1FBZGhDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxtQkFBbUI7WUFDN0IsUUFBUSxFQUFHLGlZQVVWO1NBQ0YsQ0FBQztPQUNXLG9CQUFvQixDQTRDaEM7SUFBRCwyQkFBQztDQUFBLEFBNUNELElBNENDO1NBNUNZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAxOSBBbGVrc2V5IE1lbG5pa292LCBUcnVlIERpcmVjdGl2ZSBDb21wYW55LlxyXG4gKiBAbGluayBodHRwczovL3RydWVkaXJlY3RpdmUuY29tL1xyXG4gKiBAbGljZW5zZSBNSVRcclxuKi9cclxuXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE1lbnVBY3Rpb24gfSBmcm9tICdAdHJ1ZS1kaXJlY3RpdmUvYmFzZSc7XHJcblxyXG5pbXBvcnQgeyBNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9tZW51LmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RydWUtbWVudS1zdGFydGVyJyxcclxuICB0ZW1wbGF0ZTogIGBcclxuICAgIDx0cnVlLW1lbnUgI21lbnVcclxuICAgICAgKHNob3cpPVwic2hvdy5lbWl0KCRldmVudClcIlxyXG4gICAgICAoY2xvc2VkKT1cIm1lbnVDbG9zZWQoJGV2ZW50KVwiPlxyXG4gICAgICA8dHJ1ZS1tZW51LWl0ZW1cclxuICAgICAgICAqbmdGb3I9XCJsZXQgdCBvZiBpdGVtczsgbGV0IGk9aW5kZXhcIlxyXG4gICAgICAgIFt0cnVlLWRpdmlkZV09XCJpc0RpdmlkZSh0KVwiXHJcbiAgICAgICAgKGl0ZW1DbGljayk9XCJpdGVtQ2xpY2tlZCh0KVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cInQuZGlzYWJsZWRcIj48c3BhbiBbbmdDbGFzc109XCJ0Lmljb25cIj48L3NwYW4+e3t0Lm5hbWUgfCB0cnVlVHJhbnNsYXRlfX08L3RydWUtbWVudS1pdGVtPlxyXG4gICAgPC90cnVlLW1lbnU+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVudVN0YXJ0ZXJDb21wb25lbnQge1xyXG5cclxuICB0YXJnZXQ6IGFueSA9IG51bGw7XHJcbiAgaXRlbXM6IE1lbnVBY3Rpb25bXSA9IFtdO1xyXG5cclxuICBAVmlld0NoaWxkKCdtZW51Jywge3N0YXRpYzogdHJ1ZX0pXHJcbiAgbWVudTogTWVudUNvbXBvbmVudDtcclxuXHJcbiAgQE91dHB1dCgnc2hvdycpXHJcbiAgc2hvdzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgnY2xvc2VkJylcclxuICBjbG9zZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoJ2l0ZW1DbGljaycpXHJcbiAgaXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBtZW51Q2xvc2VkKGU6IGFueSkge1xyXG4gICAgdGhpcy5jbG9zZWQuZW1pdChlKTtcclxuICB9XHJcblxyXG4gIGl0ZW1DbGlja2VkKGl0ZW06IE1lbnVBY3Rpb24pIHtcclxuICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoe3RhcmdldDogdGhpcy50YXJnZXQsIGFjdGlvbjogaXRlbX0pXHJcbiAgICB0aGlzLmZpbmlzaCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzRGl2aWRlKGl0ZW06IE1lbnVBY3Rpb24pOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGkgPSB0aGlzLml0ZW1zLmluZGV4T2YoaXRlbSk7XHJcbiAgICByZXR1cm4gaSA+IDAgJiYgdGhpcy5pdGVtc1tpIC0gMV0uZ3JvdXAgIT09IGl0ZW0uZ3JvdXA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhcnQoZTogYW55LCBpdGVtczogTWVudUFjdGlvbltdLCB0YXJnZXQ6IGFueSkge1xyXG4gICAgdGhpcy5maW5pc2goKTtcclxuICAgIHRoaXMudGFyZ2V0ID0gdGFyZ2V0O1xyXG4gICAgdGhpcy5pdGVtcyA9IGl0ZW1zOyAgICBcclxuICAgIHRoaXMubWVudS5zaG93QnlYWShlLmNsaWVudFgsIGUuY2xpZW50WSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZmluaXNoKCkge1xyXG4gICAgdGhpcy50YXJnZXQgPSBudWxsO1xyXG4gICAgaWYgKHRoaXMubWVudS52aXNpYmxlKSB7XHJcbiAgICAgIHRoaXMubWVudS5jbG9zZVBvcHVwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==