UNPKG

ng2-qgrid

Version:

Angular data grid

57 lines 6.38 kB
import { Directive, ElementRef, ContentChild, Output, EventEmitter, NgZone, } from '@angular/core'; import { MatChipInput } from '@angular/material/chips'; import { Shortcut } from 'ng2-qgrid'; import { ChipsDirective } from './chips.directive'; import * as i0 from "@angular/core"; import * as i1 from "./chips.directive"; const _c0 = ["qGridInput"]; export class ChipsPushDirective { constructor(zone, chipsDirective) { this.zone = zone; this.chipsDirective = chipsDirective; this.push = new EventEmitter(); } ngAfterViewInit() { this.inputComponent.chipEnd.subscribe(() => { // we need to override it to prevent default behavior }); const input = this.inputElement.nativeElement; this.zone.runOutsideAngular(() => input.addEventListener('keydown', (e) => { const code = Shortcut.translate(e); if (code === 'enter') { const value = (input.value || '').trim(); if (value) { this.push.emit(value); input.value = ''; e.stopPropagation(); this.chipsDirective.tick(); } } })); } } ChipsPushDirective.ɵfac = function ChipsPushDirective_Factory(t) { return new (t || ChipsPushDirective)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i1.ChipsDirective)); }; ChipsPushDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ChipsPushDirective, selectors: [["", "q-grid-chips-push", ""]], contentQueries: function ChipsPushDirective_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) { i0.ɵɵcontentQuery(dirIndex, MatChipInput, 5); i0.ɵɵcontentQuery(dirIndex, _c0, 5); } if (rf & 2) { let _t; i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.inputComponent = _t.first); i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.inputElement = _t.first); } }, outputs: { push: "q-grid-chips-push" } }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ChipsPushDirective, [{ type: Directive, args: [{ selector: '[q-grid-chips-push]', }] }], function () { return [{ type: i0.NgZone }, { type: i1.ChipsDirective }]; }, { inputComponent: [{ type: ContentChild, args: [MatChipInput] }], inputElement: [{ type: ContentChild, args: ['qGridInput'] }], push: [{ type: Output, args: ['q-grid-chips-push'] }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcHMtcHVzaC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvY2hpcHMvY2hpcHMtcHVzaC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUVaLE1BQU0sRUFDTixZQUFZLEVBQ1osTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQUtuRCxNQUFNLE9BQU8sa0JBQWtCO0lBTTdCLFlBQW9CLElBQVksRUFBVSxjQUE4QjtRQUFwRCxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBRjNDLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRWEsQ0FBQztJQUU3RSxlQUFlO1FBQ2IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN6QyxxREFBcUQ7UUFDdkQsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUMvQixLQUFLLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBZ0IsRUFBRSxFQUFFO1lBQ3JELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkMsSUFBSSxJQUFJLEtBQUssT0FBTyxFQUFFO2dCQUNwQixNQUFNLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFZLENBQUM7Z0JBQ25ELElBQUksS0FBSyxFQUFFO29CQUNULElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUV0QixLQUFLLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztvQkFDakIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUVwQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO2lCQUM1QjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O29GQTlCVSxrQkFBa0I7cUVBQWxCLGtCQUFrQjtvQ0FDZixZQUFZOzs7Ozs7O3VGQURmLGtCQUFrQjtjQUg5QixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjthQUNoQztzRkFFNkIsY0FBYztrQkFBekMsWUFBWTttQkFBQyxZQUFZO1lBQ0UsWUFBWTtrQkFBdkMsWUFBWTttQkFBQyxZQUFZO1lBRUcsSUFBSTtrQkFBaEMsTUFBTTttQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE5nWm9uZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRDaGlwSW5wdXQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBTaG9ydGN1dCB9IGZyb20gJ25nMi1xZ3JpZCc7XG5pbXBvcnQgeyBDaGlwc0RpcmVjdGl2ZSB9IGZyb20gJy4vY2hpcHMuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3EtZ3JpZC1jaGlwcy1wdXNoXScsXG59KVxuZXhwb3J0IGNsYXNzIENoaXBzUHVzaERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAQ29udGVudENoaWxkKE1hdENoaXBJbnB1dCkgaW5wdXRDb21wb25lbnQ6IE1hdENoaXBJbnB1dDtcbiAgQENvbnRlbnRDaGlsZCgncUdyaWRJbnB1dCcpIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcblxuICBAT3V0cHV0KCdxLWdyaWQtY2hpcHMtcHVzaCcpIHB1c2ggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHpvbmU6IE5nWm9uZSwgcHJpdmF0ZSBjaGlwc0RpcmVjdGl2ZTogQ2hpcHNEaXJlY3RpdmUpIHsgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmlucHV0Q29tcG9uZW50LmNoaXBFbmQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgaXQgdG8gcHJldmVudCBkZWZhdWx0IGJlaGF2aW9yXG4gICAgfSk7XG5cbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGU6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgY29kZSA9IFNob3J0Y3V0LnRyYW5zbGF0ZShlKTtcbiAgICAgICAgaWYgKGNvZGUgPT09ICdlbnRlcicpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IChpbnB1dC52YWx1ZSB8fCAnJykudHJpbSgpIGFzIHN0cmluZztcbiAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMucHVzaC5lbWl0KHZhbHVlKTtcblxuICAgICAgICAgICAgaW5wdXQudmFsdWUgPSAnJztcbiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIHRoaXMuY2hpcHNEaXJlY3RpdmUudGljaygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIl19