ng2-qgrid
Version:
Angular data grid
57 lines • 6.38 kB
JavaScript
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