UNPKG

@true-directive/grid

Version:

Angular Data Grid from Yopsilon.

74 lines 7.36 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'; let MenuStarterComponent = class MenuStarterComponent { constructor() { this.target = null; this.items = []; this.show = new EventEmitter(); this.closed = new EventEmitter(); this.itemClick = new EventEmitter(); } menuClosed(e) { this.closed.emit(e); } itemClicked(item) { this.itemClick.emit({ target: this.target, action: item }); this.finish(); } isDivide(item) { const i = this.items.indexOf(item); return i > 0 && this.items[i - 1].group !== item.group; } start(e, items, target) { this.finish(); this.target = target; this.items = items; this.menu.showByXY(e.clientX, e.clientY); } finish() { 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: ` <true-menu #menu (show)="show.emit($event)" (closed)="menuClosed($event)"> <true-menu-item *ngFor="let t of items; let i=index" [true-divide]="isDivide(t)" (itemClick)="itemClicked(t)" [disabled]="t.disabled"><span [ngClass]="t.icon"></span>{{t.name | trueTranslate}}</true-menu-item> </true-menu> ` }) ], MenuStarterComponent); export { MenuStarterComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1zdGFydGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0cnVlLWRpcmVjdGl2ZS9ncmlkLyIsInNvdXJjZXMiOlsic3JjL2NvbnRyb2xzL21lbnUtc3RhcnRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7RUFJRTs7QUFFRixPQUFPLEVBQUUsU0FBUyxFQUFTLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSWxGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQWdCakQsSUFBYSxvQkFBb0IsR0FBakMsTUFBYSxvQkFBb0I7SUFkakM7UUFnQkUsV0FBTSxHQUFRLElBQUksQ0FBQztRQUNuQixVQUFLLEdBQWlCLEVBQUUsQ0FBQztRQU16QixTQUFJLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFHbEQsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBR3BELGNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQTZCekQsQ0FBQztJQTNCQyxVQUFVLENBQUMsQ0FBTTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBZ0I7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtRQUN4RCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxJQUFnQjtRQUM5QixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDekQsQ0FBQztJQUVNLEtBQUssQ0FBQyxDQUFNLEVBQUUsS0FBbUIsRUFBRSxNQUFXO1FBQ25ELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUF0Q0M7SUFEQyxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyxDQUFDO3NDQUM1QixhQUFhO2tEQUFDO0FBR3BCO0lBREMsTUFBTSxDQUFDLE1BQU0sQ0FBQztzQ0FDVCxZQUFZO2tEQUFnQztBQUdsRDtJQURDLE1BQU0sQ0FBQyxRQUFRLENBQUM7c0NBQ1QsWUFBWTtvREFBZ0M7QUFHcEQ7SUFEQyxNQUFNLENBQUMsV0FBVyxDQUFDO3NDQUNULFlBQVk7dURBQWdDO0FBZjVDLG9CQUFvQjtJQWRoQyxTQUFTLENBQUM7UUFDVCxRQUFRLEVBQUUsbUJBQW1CO1FBQzdCLFFBQVEsRUFBRzs7Ozs7Ozs7OztHQVVWO0tBQ0YsQ0FBQztHQUNXLG9CQUFvQixDQTRDaEM7U0E1Q1ksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDE5IEFsZWtzZXkgTWVsbmlrb3YsIFRydWUgRGlyZWN0aXZlIENvbXBhbnkuXHJcbiAqIEBsaW5rIGh0dHBzOi8vdHJ1ZWRpcmVjdGl2ZS5jb20vXHJcbiAqIEBsaWNlbnNlIE1JVFxyXG4qL1xyXG5cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWVudUFjdGlvbiB9IGZyb20gJ0B0cnVlLWRpcmVjdGl2ZS9iYXNlJztcclxuXHJcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICcuL21lbnUuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndHJ1ZS1tZW51LXN0YXJ0ZXInLFxyXG4gIHRlbXBsYXRlOiAgYFxyXG4gICAgPHRydWUtbWVudSAjbWVudVxyXG4gICAgICAoc2hvdyk9XCJzaG93LmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgIChjbG9zZWQpPVwibWVudUNsb3NlZCgkZXZlbnQpXCI+XHJcbiAgICAgIDx0cnVlLW1lbnUtaXRlbVxyXG4gICAgICAgICpuZ0Zvcj1cImxldCB0IG9mIGl0ZW1zOyBsZXQgaT1pbmRleFwiXHJcbiAgICAgICAgW3RydWUtZGl2aWRlXT1cImlzRGl2aWRlKHQpXCJcclxuICAgICAgICAoaXRlbUNsaWNrKT1cIml0ZW1DbGlja2VkKHQpXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwidC5kaXNhYmxlZFwiPjxzcGFuIFtuZ0NsYXNzXT1cInQuaWNvblwiPjwvc3Bhbj57e3QubmFtZSB8IHRydWVUcmFuc2xhdGV9fTwvdHJ1ZS1tZW51LWl0ZW0+XHJcbiAgICA8L3RydWUtbWVudT5cclxuICBgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51U3RhcnRlckNvbXBvbmVudCB7XHJcblxyXG4gIHRhcmdldDogYW55ID0gbnVsbDtcclxuICBpdGVtczogTWVudUFjdGlvbltdID0gW107XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ21lbnUnLCB7c3RhdGljOiB0cnVlfSlcclxuICBtZW51OiBNZW51Q29tcG9uZW50O1xyXG5cclxuICBAT3V0cHV0KCdzaG93JylcclxuICBzaG93OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KCdjbG9zZWQnKVxyXG4gIGNsb3NlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQE91dHB1dCgnaXRlbUNsaWNrJylcclxuICBpdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIG1lbnVDbG9zZWQoZTogYW55KSB7XHJcbiAgICB0aGlzLmNsb3NlZC5lbWl0KGUpO1xyXG4gIH1cclxuXHJcbiAgaXRlbUNsaWNrZWQoaXRlbTogTWVudUFjdGlvbikge1xyXG4gICAgdGhpcy5pdGVtQ2xpY2suZW1pdCh7dGFyZ2V0OiB0aGlzLnRhcmdldCwgYWN0aW9uOiBpdGVtfSlcclxuICAgIHRoaXMuZmluaXNoKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNEaXZpZGUoaXRlbTogTWVudUFjdGlvbik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgaSA9IHRoaXMuaXRlbXMuaW5kZXhPZihpdGVtKTtcclxuICAgIHJldHVybiBpID4gMCAmJiB0aGlzLml0ZW1zW2kgLSAxXS5ncm91cCAhPT0gaXRlbS5ncm91cDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGFydChlOiBhbnksIGl0ZW1zOiBNZW51QWN0aW9uW10sIHRhcmdldDogYW55KSB7XHJcbiAgICB0aGlzLmZpbmlzaCgpO1xyXG4gICAgdGhpcy50YXJnZXQgPSB0YXJnZXQ7XHJcbiAgICB0aGlzLml0ZW1zID0gaXRlbXM7ICAgIFxyXG4gICAgdGhpcy5tZW51LnNob3dCeVhZKGUuY2xpZW50WCwgZS5jbGllbnRZKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmaW5pc2goKSB7XHJcbiAgICB0aGlzLnRhcmdldCA9IG51bGw7XHJcbiAgICBpZiAodGhpcy5tZW51LnZpc2libGUpIHtcclxuICAgICAgdGhpcy5tZW51LmNsb3NlUG9wdXAoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19