@true-directive/grid
Version:
Angular Data Grid from Yopsilon.
74 lines • 7.36 kB
JavaScript
/**
* 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