UNPKG

@handsontable/angular-wrapper

Version:

Best Data Grid for Angular with Spreadsheet Look and Feel.

86 lines 7.83 kB
import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewContainerRef, } from '@angular/core'; import * as i0 from "@angular/core"; /** * Component representing a placeholder for a custom editor in Handsontable. * It is used only within the wrapper. */ export class CustomEditorPlaceholderComponent { /** The top position of the editor. */ top; /** The left position of the editor. */ left; /** The height of the editor. */ height; /** The width of the editor. */ width; set isVisible(value) { this._isVisible = value; } /** The reference to the component instance of the editor. */ set componentRef(hotEditorComponentRef) { if (hotEditorComponentRef) { this.container.insert(hotEditorComponentRef.hostView); } } /** The container for the editor's input placeholder. */ container; /** The display style of the editor. */ get display() { return this._isVisible ? 'block' : 'none'; } _isVisible = false; /** * Detaches the container from the Handsontable. */ detachEditor() { this.container.detach(); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomEditorPlaceholderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CustomEditorPlaceholderComponent, selector: "ng-component", inputs: { top: "top", left: "left", height: "height", width: "width", isVisible: "isVisible", componentRef: "componentRef" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["inputPlaceholder"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: ` <div class="handsontableInputHolder ht_clone_master" [style.display]="display" [style.width.px]="width" [style.height.px]="height" [style.maxWidth.px]="width" [style.maxHeight.px]="height" [style.top.px]="top" [style.left.px]="left" > <ng-template #inputPlaceholder></ng-template> </div>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomEditorPlaceholderComponent, decorators: [{ type: Component, args: [{ template: ` <div class="handsontableInputHolder ht_clone_master" [style.display]="display" [style.width.px]="width" [style.height.px]="height" [style.maxWidth.px]="width" [style.maxHeight.px]="height" [style.top.px]="top" [style.left.px]="left" > <ng-template #inputPlaceholder></ng-template> </div>`, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, }] }], propDecorators: { top: [{ type: Input }], left: [{ type: Input }], height: [{ type: Input }], width: [{ type: Input }], isVisible: [{ type: Input }], componentRef: [{ type: Input }], container: [{ type: ViewChild, args: ['inputPlaceholder', { read: ViewContainerRef, static: true }] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWVkaXRvci1wbGFjZWhvbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ob3QtdGFibGUvc3JjL2xpYi9lZGl0b3IvY3VzdG9tLWVkaXRvci1wbGFjZWhvbGRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsS0FBSyxFQUNMLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7O0FBR3ZCOzs7R0FHRztBQWlCSCxNQUFNLE9BQU8sZ0NBQWdDO0lBQzNDLHNDQUFzQztJQUM3QixHQUFHLENBQVM7SUFFckIsdUNBQXVDO0lBQzlCLElBQUksQ0FBUztJQUV0QixnQ0FBZ0M7SUFDdkIsTUFBTSxDQUFTO0lBRXhCLCtCQUErQjtJQUN0QixLQUFLLENBQVM7SUFFdkIsSUFDSSxTQUFTLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsNkRBQTZEO0lBQzdELElBQWEsWUFBWSxDQUN2QixxQkFBZ0U7UUFFaEUsSUFBSSxxQkFBcUIsRUFBRTtZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN2RDtJQUNILENBQUM7SUFFRCx3REFBd0Q7SUFDaUIsU0FBUyxDQUFtQjtJQUVyRyx1Q0FBdUM7SUFDdkMsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxDQUFDO0lBRU8sVUFBVSxHQUFHLEtBQUssQ0FBQztJQUUzQjs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzFCLENBQUM7d0dBMUNVLGdDQUFnQzs0RkFBaEMsZ0NBQWdDLDRRQTRCSixnQkFBZ0IsMkNBM0M3Qzs7Ozs7Ozs7Ozs7U0FXSDs7NEZBSUksZ0NBQWdDO2tCQWhCNUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7O1NBV0g7b0JBQ1AsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs4QkFHVSxHQUFHO3NCQUFYLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0YsU0FBUztzQkFEWixLQUFLO2dCQU1PLFlBQVk7c0JBQXhCLEtBQUs7Z0JBU21FLFNBQVM7c0JBQWpGLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIb3RDZWxsRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9ob3QtY2VsbC1lZGl0b3IuY29tcG9uZW50JztcblxuLyoqXG4gKiBDb21wb25lbnQgcmVwcmVzZW50aW5nIGEgcGxhY2Vob2xkZXIgZm9yIGEgY3VzdG9tIGVkaXRvciBpbiBIYW5kc29udGFibGUuXG4gKiBJdCBpcyB1c2VkIG9ubHkgd2l0aGluIHRoZSB3cmFwcGVyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGAgPGRpdlxuICAgIGNsYXNzPVwiaGFuZHNvbnRhYmxlSW5wdXRIb2xkZXIgaHRfY2xvbmVfbWFzdGVyXCJcbiAgICBbc3R5bGUuZGlzcGxheV09XCJkaXNwbGF5XCJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwid2lkdGhcIlxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCJcbiAgICBbc3R5bGUubWF4V2lkdGgucHhdPVwid2lkdGhcIlxuICAgIFtzdHlsZS5tYXhIZWlnaHQucHhdPVwiaGVpZ2h0XCJcbiAgICBbc3R5bGUudG9wLnB4XT1cInRvcFwiXG4gICAgW3N0eWxlLmxlZnQucHhdPVwibGVmdFwiXG4gID5cbiAgICA8bmctdGVtcGxhdGUgI2lucHV0UGxhY2Vob2xkZXI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+YCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21FZGl0b3JQbGFjZWhvbGRlckNvbXBvbmVudCB7XG4gIC8qKiBUaGUgdG9wIHBvc2l0aW9uIG9mIHRoZSBlZGl0b3IuICovXG4gIEBJbnB1dCgpIHRvcDogbnVtYmVyO1xuXG4gIC8qKiBUaGUgbGVmdCBwb3NpdGlvbiBvZiB0aGUgZWRpdG9yLiAqL1xuICBASW5wdXQoKSBsZWZ0OiBudW1iZXI7XG5cbiAgLyoqIFRoZSBoZWlnaHQgb2YgdGhlIGVkaXRvci4gKi9cbiAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXI7XG5cbiAgLyoqIFRoZSB3aWR0aCBvZiB0aGUgZWRpdG9yLiAqL1xuICBASW5wdXQoKSB3aWR0aDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBpc1Zpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pc1Zpc2libGUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBjb21wb25lbnQgaW5zdGFuY2Ugb2YgdGhlIGVkaXRvci4gKi9cbiAgQElucHV0KCkgc2V0IGNvbXBvbmVudFJlZihcbiAgICBob3RFZGl0b3JDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxIb3RDZWxsRWRpdG9yQ29tcG9uZW50PGFueT4+XG4gICkge1xuICAgIGlmIChob3RFZGl0b3JDb21wb25lbnRSZWYpIHtcbiAgICAgIHRoaXMuY29udGFpbmVyLmluc2VydChob3RFZGl0b3JDb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBUaGUgY29udGFpbmVyIGZvciB0aGUgZWRpdG9yJ3MgaW5wdXQgcGxhY2Vob2xkZXIuICovXG4gIEBWaWV3Q2hpbGQoJ2lucHV0UGxhY2Vob2xkZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgLyoqIFRoZSBkaXNwbGF5IHN0eWxlIG9mIHRoZSBlZGl0b3IuICovXG4gIGdldCBkaXNwbGF5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lzVmlzaWJsZSA/ICdibG9jaycgOiAnbm9uZSc7XG4gIH1cblxuICBwcml2YXRlIF9pc1Zpc2libGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogRGV0YWNoZXMgdGhlIGNvbnRhaW5lciBmcm9tIHRoZSBIYW5kc29udGFibGUuXG4gICAqL1xuICBkZXRhY2hFZGl0b3IoKTogdm9pZCB7XG4gICAgdGhpcy5jb250YWluZXIuZGV0YWNoKCk7XG4gIH1cbn1cbiJdfQ==