UNPKG

@true-directive/grid

Version:

Angular Data Grid from Yopsilon.

56 lines 5.74 kB
import * as tslib_1 from "tslib"; /** * Copyright (c) 2018-2019 Aleksey Melnikov, True Directive Company. * @link https://truedirective.com/ * @license MIT */ import { Directive, Input, ElementRef } from '@angular/core'; import { MenuComponent } from './menu.component'; let MenuShowDirective = class MenuShowDirective { constructor(_elementRef) { this._elementRef = _elementRef; this.isMenuItem = false; } click(e) { if (!this.isMenuItem) { this.menu.showByTarget(e.target); } e.preventDefault(); } closePopup() { this._elementRef.nativeElement.classList.remove('true-submenu-visible'); this.menu.closeSubMenus(null); this.menu.closePopup(false); } itemMouseEnter(e) { if (this.isMenuItem) { this.menu.showByTarget(e.target, 'right', e.parent); this._elementRef.nativeElement.classList.add('true-submenu-visible'); } } needClose(e) { this.closePopup(); } ngOnInit() { if (this._elementRef.nativeElement.classList.contains('true-menu-item')) { this.isMenuItem = true; } } }; tslib_1.__decorate([ Input('true-menu-show'), tslib_1.__metadata("design:type", MenuComponent) ], MenuShowDirective.prototype, "menu", void 0); MenuShowDirective = tslib_1.__decorate([ Directive({ selector: '[true-menu-show]', host: { '(click)': 'click($event)', '(itemMouseEnter)': 'itemMouseEnter($event)', '(needClose)': 'needClose($event)', } }), tslib_1.__metadata("design:paramtypes", [ElementRef]) ], MenuShowDirective); export { MenuShowDirective }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1zaG93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0cnVlLWRpcmVjdGl2ZS9ncmlkLyIsInNvdXJjZXMiOlsic3JjL2NvbnRyb2xzL21lbnUtc2hvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7O0VBSUU7QUFDRixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVVqRCxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtJQXFDNUIsWUFBb0IsV0FBdUI7UUFBdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFoQzNDLGVBQVUsR0FBWSxLQUFLLENBQUM7SUFnQ21CLENBQUM7SUE5QmhELEtBQUssQ0FBQyxDQUFNO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO1FBQ3ZFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxjQUFjLENBQUMsQ0FBTTtRQUNuQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztTQUN0RTtJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsQ0FBTTtRQUNkLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztDQUdGLENBQUE7QUFuQ0M7SUFEQyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7c0NBQ2xCLGFBQWE7K0NBQUM7QUFIVCxpQkFBaUI7SUFSN0IsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGtCQUFrQjtRQUM1QixJQUFJLEVBQUU7WUFDSixTQUFTLEVBQUUsZUFBZTtZQUMxQixrQkFBa0IsRUFBRSx3QkFBd0I7WUFDNUMsYUFBYSxFQUFFLG1CQUFtQjtTQUNuQztLQUNKLENBQUM7NkNBc0NpQyxVQUFVO0dBckNoQyxpQkFBaUIsQ0FzQzdCO1NBdENZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAxOSBBbGVrc2V5IE1lbG5pa292LCBUcnVlIERpcmVjdGl2ZSBDb21wYW55LlxyXG4gKiBAbGluayBodHRwczovL3RydWVkaXJlY3RpdmUuY29tL1xyXG4gKiBAbGljZW5zZSBNSVRcclxuKi9cclxuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgRWxlbWVudFJlZiwgSW5qZWN0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICcuL21lbnUuY29tcG9uZW50JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbdHJ1ZS1tZW51LXNob3ddJyxcclxuICAgIGhvc3Q6IHtcclxuICAgICAgJyhjbGljayknOiAnY2xpY2soJGV2ZW50KScsXHJcbiAgICAgICcoaXRlbU1vdXNlRW50ZXIpJzogJ2l0ZW1Nb3VzZUVudGVyKCRldmVudCknLFxyXG4gICAgICAnKG5lZWRDbG9zZSknOiAnbmVlZENsb3NlKCRldmVudCknLFxyXG4gICAgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVudVNob3dEaXJlY3RpdmUge1xyXG5cclxuICBASW5wdXQoJ3RydWUtbWVudS1zaG93JylcclxuICBtZW51OiBNZW51Q29tcG9uZW50O1xyXG5cclxuICBpc01lbnVJdGVtOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNsaWNrKGU6IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLmlzTWVudUl0ZW0pIHtcclxuICAgICAgdGhpcy5tZW51LnNob3dCeVRhcmdldChlLnRhcmdldCk7XHJcbiAgICB9XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVBvcHVwKCkge1xyXG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3RydWUtc3VibWVudS12aXNpYmxlJylcclxuICAgIHRoaXMubWVudS5jbG9zZVN1Yk1lbnVzKG51bGwpO1xyXG4gICAgdGhpcy5tZW51LmNsb3NlUG9wdXAoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgaXRlbU1vdXNlRW50ZXIoZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5pc01lbnVJdGVtKSB7XHJcbiAgICAgIHRoaXMubWVudS5zaG93QnlUYXJnZXQoZS50YXJnZXQsICdyaWdodCcsIGUucGFyZW50KTtcclxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3RydWUtc3VibWVudS12aXNpYmxlJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZWVkQ2xvc2UoZTogYW55KSB7XHJcbiAgICB0aGlzLmNsb3NlUG9wdXAoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3RydWUtbWVudS1pdGVtJykpIHtcclxuICAgICAgdGhpcy5pc01lbnVJdGVtID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHsgfVxyXG59XHJcbiJdfQ==