UNPKG

ngx-smart-spreadsheet

Version:

Lightweight spreadsheet module for Angular

34 lines 3.8 kB
import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core'; import * as i0 from "@angular/core"; export class ContentEditableDirective { constructor(elementRef) { this.elementRef = elementRef; this.modelChange = new EventEmitter(); this.element.tabIndex = 0; } set model(value) { this.element.innerText = value || ''; } blur() { this.modelChange.emit(this.element.innerText); } get element() { return this.elementRef.nativeElement; } } ContentEditableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ContentEditableDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); ContentEditableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: ContentEditableDirective, selector: "[nssContentEditable]", inputs: { model: "model" }, outputs: { modelChange: "modelChange" }, host: { listeners: { "blur": "blur($event.target.value)" } }, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: ContentEditableDirective, decorators: [{ type: Directive, args: [{ selector: '[nssContentEditable]' }] }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { model: [{ type: Input }], modelChange: [{ type: Output }], blur: [{ type: HostListener, args: ['blur', ['$event.target.value']] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1lZGl0YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnQtc3ByZWFkc2hlZXQvc3JjL2xpYi9jb250ZW50LWVkaXRhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLakcsTUFBTSxPQUFPLHdCQUF3QjtJQVFuQyxZQUFvQixVQUFtQztRQUFuQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUZ2RCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFURCxJQUNJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQVNELElBQUk7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBNEIsQ0FBQztJQUN0RCxDQUFDOztxSEFuQlUsd0JBQXdCO3lHQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFIcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQztpR0FHSyxLQUFLO3NCQURSLEtBQUs7Z0JBS04sV0FBVztzQkFEVixNQUFNO2dCQVFQLElBQUk7c0JBREgsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25zc0NvbnRlbnRFZGl0YWJsZV0nXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRFZGl0YWJsZURpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpXG4gIHNldCBtb2RlbCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5lbGVtZW50LmlubmVyVGV4dCA9IHZhbHVlIHx8ICcnO1xuICB9XG4gIEBPdXRwdXQoKVxuICBtb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICB0aGlzLmVsZW1lbnQudGFiSW5kZXggPSAwO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignYmx1cicsIFsnJGV2ZW50LnRhcmdldC52YWx1ZSddKVxuICBibHVyKCkge1xuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh0aGlzLmVsZW1lbnQuaW5uZXJUZXh0KTtcbiAgfVxuXG4gIGdldCBlbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gIH1cbn1cbiJdfQ==