UNPKG

@handsontable/angular-wrapper

Version:

Best Data Grid for Angular with Spreadsheet Look and Feel.

94 lines 10 kB
import { Directive, EventEmitter, HostBinding, Input, Output } from '@angular/core'; import * as i0 from "@angular/core"; /** * Abstract class representing a Handsontable editor in angular. */ export class HotCellEditorComponent { /** The tabindex attribute for the editor. */ tabindex = -1; /** The data-hot-input attribute for the editor. */ dataHotInput = ''; /** The handsontableInput class for the editor. */ handsontableInputClass = true; /** The height of the editor as a percentage of the parent container. */ heightFitParentContainer = 100; /** The width of the editor as a percentage of the parent container. */ widthFitParentContainer = 100; /** The row index of the cell being edited. */ row; /** The column index of the cell being edited. */ column; /** The property name of the cell being edited. */ prop; /** The original value of the cell being edited. */ originalValue; /** The cell properties of the cell being edited. */ cellProperties; /** Event emitted when the edit is finished. * The data will be saved to the model. */ finishEdit = new EventEmitter(); /** Event emitted when the edit is canceled. * The entered data will be reverted to the original value. */ cancelEdit = new EventEmitter(); /** The current value of the editor. */ _value; /** Event triggered by Handsontable on closing the editor. * The user can define their own actions for * the custom editor to be called after the base logic. */ onClose() { } /** Event triggered by Handsontable on open the editor. * The user can define their own actions for * the custom editor to be called after the base logic. */ onOpen(event) { } /** * Gets the current value of the editor. * @returns The current value of the editor. */ getValue() { return this._value; } /** * Sets the current value of the editor. * @param value The value to set. */ setValue(value) { this._value = value; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HotCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: HotCellEditorComponent, inputs: { row: "row", column: "column", prop: "prop", originalValue: "originalValue", cellProperties: "cellProperties" }, outputs: { finishEdit: "finishEdit", cancelEdit: "cancelEdit" }, host: { properties: { "attr.tabindex": "this.tabindex", "attr.data-hot-input": "this.dataHotInput", "class.handsontableInput": "this.handsontableInputClass", "style.height.%": "this.heightFitParentContainer", "style.width.%": "this.widthFitParentContainer" } }, ngImport: i0 }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HotCellEditorComponent, decorators: [{ type: Directive }], propDecorators: { tabindex: [{ type: HostBinding, args: ['attr.tabindex'] }], dataHotInput: [{ type: HostBinding, args: ['attr.data-hot-input'] }], handsontableInputClass: [{ type: HostBinding, args: ['class.handsontableInput'] }], heightFitParentContainer: [{ type: HostBinding, args: ['style.height.%'] }], widthFitParentContainer: [{ type: HostBinding, args: ['style.width.%'] }], row: [{ type: Input }], column: [{ type: Input }], prop: [{ type: Input }], originalValue: [{ type: Input }], cellProperties: [{ type: Input }], finishEdit: [{ type: Output }], cancelEdit: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LWNlbGwtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL2VkaXRvci9ob3QtY2VsbC1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUdwRjs7R0FFRztBQUVILE1BQU0sT0FBZ0Isc0JBQXNCO0lBQzFDLDZDQUE2QztJQUNMLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUV0RCxtREFBbUQ7SUFDTCxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBRWhFLGtEQUFrRDtJQUNBLHNCQUFzQixHQUFHLElBQUksQ0FBQztJQUVoRix3RUFBd0U7SUFDL0Isd0JBQXdCLEdBQUcsR0FBRyxDQUFDO0lBRXhFLHVFQUF1RTtJQUMvQix1QkFBdUIsR0FBRyxHQUFHLENBQUM7SUFFdEUsOENBQThDO0lBQ3JDLEdBQUcsQ0FBUztJQUVyQixpREFBaUQ7SUFDeEMsTUFBTSxDQUFTO0lBRXhCLGtEQUFrRDtJQUN6QyxJQUFJLENBQWtCO0lBRS9CLG1EQUFtRDtJQUMxQyxhQUFhLENBQUk7SUFFMUIsb0RBQW9EO0lBQzNDLGNBQWMsQ0FBaUI7SUFFeEM7O09BRUc7SUFDTyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVoRDs7T0FFRztJQUNPLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRWhELHVDQUF1QztJQUMvQixNQUFNLENBQUk7SUFFbEI7OzhEQUUwRDtJQUMxRCxPQUFPLEtBQVUsQ0FBQztJQUVsQjs7OERBRTBEO0lBQzFELE1BQU0sQ0FBQyxLQUFhLElBQVMsQ0FBQztJQW9COUI7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLEtBQVE7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO3dHQXRGbUIsc0JBQXNCOzRGQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBRDNDLFNBQVM7OEJBR2dDLFFBQVE7c0JBQS9DLFdBQVc7dUJBQUMsZUFBZTtnQkFHa0IsWUFBWTtzQkFBekQsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBR2dCLHNCQUFzQjtzQkFBdkUsV0FBVzt1QkFBQyx5QkFBeUI7Z0JBR0csd0JBQXdCO3NCQUFoRSxXQUFXO3VCQUFDLGdCQUFnQjtnQkFHVyx1QkFBdUI7c0JBQTlELFdBQVc7dUJBQUMsZUFBZTtnQkFHbkIsR0FBRztzQkFBWCxLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxjQUFjO3NCQUF0QixLQUFLO2dCQUtJLFVBQVU7c0JBQW5CLE1BQU07Z0JBS0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2VsbFByb3BlcnRpZXMgfSBmcm9tICdoYW5kc29udGFibGUvc2V0dGluZ3MnO1xuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIHJlcHJlc2VudGluZyBhIEhhbmRzb250YWJsZSBlZGl0b3IgaW4gYW5ndWxhci5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSG90Q2VsbEVkaXRvckNvbXBvbmVudDxUIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4ge1xuICAvKiogVGhlIHRhYmluZGV4IGF0dHJpYnV0ZSBmb3IgdGhlIGVkaXRvci4gKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgcHJvdGVjdGVkIHRhYmluZGV4ID0gLTE7XG5cbiAgLyoqIFRoZSBkYXRhLWhvdC1pbnB1dCBhdHRyaWJ1dGUgZm9yIHRoZSBlZGl0b3IuICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWhvdC1pbnB1dCcpIHByb3RlY3RlZCBkYXRhSG90SW5wdXQgPSAnJztcblxuICAvKiogVGhlIGhhbmRzb250YWJsZUlucHV0IGNsYXNzIGZvciB0aGUgZWRpdG9yLiAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhbmRzb250YWJsZUlucHV0JykgcHJvdGVjdGVkIGhhbmRzb250YWJsZUlucHV0Q2xhc3MgPSB0cnVlO1xuXG4gIC8qKiBUaGUgaGVpZ2h0IG9mIHRoZSBlZGl0b3IgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSBwYXJlbnQgY29udGFpbmVyLiAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodC4lJykgcHJvdGVjdGVkIGhlaWdodEZpdFBhcmVudENvbnRhaW5lciA9IDEwMDtcblxuICAvKiogVGhlIHdpZHRoIG9mIHRoZSBlZGl0b3IgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSBwYXJlbnQgY29udGFpbmVyLiAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoLiUnKSBwcm90ZWN0ZWQgd2lkdGhGaXRQYXJlbnRDb250YWluZXIgPSAxMDA7XG5cbiAgLyoqIFRoZSByb3cgaW5kZXggb2YgdGhlIGNlbGwgYmVpbmcgZWRpdGVkLiAqL1xuICBASW5wdXQoKSByb3c6IG51bWJlcjtcblxuICAvKiogVGhlIGNvbHVtbiBpbmRleCBvZiB0aGUgY2VsbCBiZWluZyBlZGl0ZWQuICovXG4gIEBJbnB1dCgpIGNvbHVtbjogbnVtYmVyO1xuXG4gIC8qKiBUaGUgcHJvcGVydHkgbmFtZSBvZiB0aGUgY2VsbCBiZWluZyBlZGl0ZWQuICovXG4gIEBJbnB1dCgpIHByb3A6IHN0cmluZyB8IG51bWJlcjtcblxuICAvKiogVGhlIG9yaWdpbmFsIHZhbHVlIG9mIHRoZSBjZWxsIGJlaW5nIGVkaXRlZC4gKi9cbiAgQElucHV0KCkgb3JpZ2luYWxWYWx1ZTogVDtcblxuICAvKiogVGhlIGNlbGwgcHJvcGVydGllcyBvZiB0aGUgY2VsbCBiZWluZyBlZGl0ZWQuICovXG4gIEBJbnB1dCgpIGNlbGxQcm9wZXJ0aWVzOiBDZWxsUHJvcGVydGllcztcblxuICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBlZGl0IGlzIGZpbmlzaGVkLlxuICAgKiBUaGUgZGF0YSB3aWxsIGJlIHNhdmVkIHRvIHRoZSBtb2RlbC5cbiAgICovXG4gIEBPdXRwdXQoKSBmaW5pc2hFZGl0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGVkaXQgaXMgY2FuY2VsZWQuXG4gICAqIFRoZSBlbnRlcmVkIGRhdGEgd2lsbCBiZSByZXZlcnRlZCB0byB0aGUgb3JpZ2luYWwgdmFsdWUuXG4gICAqL1xuICBAT3V0cHV0KCkgY2FuY2VsRWRpdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKiogVGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIGVkaXRvci4gKi9cbiAgcHJpdmF0ZSBfdmFsdWU6IFQ7XG5cbiAgLyoqIEV2ZW50IHRyaWdnZXJlZCBieSBIYW5kc29udGFibGUgb24gY2xvc2luZyB0aGUgZWRpdG9yLlxuICAgKiBUaGUgdXNlciBjYW4gZGVmaW5lIHRoZWlyIG93biBhY3Rpb25zIGZvclxuICAgKiB0aGUgY3VzdG9tIGVkaXRvciB0byBiZSBjYWxsZWQgYWZ0ZXIgdGhlIGJhc2UgbG9naWMuICovXG4gIG9uQ2xvc2UoKTogdm9pZCB7fVxuXG4gIC8qKiBFdmVudCB0cmlnZ2VyZWQgYnkgSGFuZHNvbnRhYmxlIG9uIG9wZW4gdGhlIGVkaXRvci5cbiAgICogVGhlIHVzZXIgY2FuIGRlZmluZSB0aGVpciBvd24gYWN0aW9ucyBmb3JcbiAgICogdGhlIGN1c3RvbSBlZGl0b3IgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBiYXNlIGxvZ2ljLiAqL1xuICBvbk9wZW4oZXZlbnQ/OiBFdmVudCk6IHZvaWQge31cblxuICAvKiogRXZlbnQgdHJpZ2dlcmVkIGJ5IEhhbmRzb250YWJsZSBvbiBmb2N1cyB0aGUgZWRpdG9yLlxuICAgKiBUaGUgdXNlciBoYXZlIHRvIGRlZmluZSBmb2N1cyBsb2dpYy5cbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb21wb25lbnQoe1xuICAgKiAgdGVtcGxhdGU6IGA8aW5wdXQgI2lucHV0RWxlbWVudD5gXG4gICAqIH0pXG4gICAqIGNsYXNzIEN1c3RvbUVkaXRvciBleHRlbmRzIEhvdEVkaXRvcjxzdHJpbmc+IHtcbiAgICogICBAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnKSBpbnB1dEVsZW1lbnQhOiBFbGVtZW50UmVmO1xuICAgKlxuICAgKiAgIG9uRm9jdXMoKTogdm9pZCB7XG4gICAqICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAqICAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgYWJzdHJhY3Qgb25Gb2N1cygpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBlZGl0b3IuXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBlZGl0b3IuXG4gICAqL1xuICBnZXRWYWx1ZSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZWRpdG9yLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAgICovXG4gIHNldFZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgfVxufVxuIl19