UNPKG

@handsontable/angular

Version:

Best Data Grid for Angular with Spreadsheet Look and Feel.

1,202 lines (1,198 loc) 57.4 kB
import * as i0 from '@angular/core'; import { Injectable, Input, ViewChild, ViewEncapsulation, Component, NgModule } from '@angular/core'; import Handsontable from 'handsontable/base'; const instances = new Map(); const HOT_DESTROYED_WARNING = 'The Handsontable instance bound to this component was destroyed and cannot be' + ' used properly.'; class HotTableRegisterer { getInstance(id) { const hotInstance = instances.get(id); if (hotInstance.isDestroyed) { console.warn(HOT_DESTROYED_WARNING); return null; } return hotInstance; } registerInstance(id, instance) { return instances.set(id, instance); } removeInstance(id) { return instances.delete(id); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HotTableRegisterer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HotTableRegisterer }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HotTableRegisterer, decorators: [{ type: Injectable }] }); const AVAILABLE_OPTIONS = Object.keys(Handsontable.DefaultSettings); const AVAILABLE_HOOKS = Handsontable.hooks.getRegistered(); class HotSettingsResolver { mergeSettings(component) { const isSettingsObject = 'settings' in component && (typeof component['settings'] === 'object'); const mergedSettings = isSettingsObject ? component['settings'] : {}; const options = AVAILABLE_HOOKS.concat(AVAILABLE_OPTIONS); options.forEach(key => { const isHook = AVAILABLE_HOOKS.indexOf(key) > -1; let option; if (isSettingsObject && isHook) { option = component['settings'][key]; } if (component[key] !== void 0) { option = component[key]; } if (option === void 0) { return; } else if (('ngZone' in component) && (typeof option === 'function' && isHook)) { mergedSettings[key] = function (...args) { return component.ngZone.run(() => option.apply(this, args)); }; } else { mergedSettings[key] = option; } }); return mergedSettings; } prepareChanges(changes) { const result = {}; const parameters = Object.keys(changes); parameters.forEach((param) => { if (changes.hasOwnProperty(param)) { result[param] = changes[param].currentValue; } }); return result; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HotSettingsResolver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HotSettingsResolver }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HotSettingsResolver, decorators: [{ type: Injectable }] }); class HotTableComponent { _hotTableRegisterer; _hotSettingsResolver; ngZone; container; __hotInstance = null; columnsComponents = []; // component inputs settings; hotId = ''; // handsontable options activeHeaderClassName; allowEmpty; allowHtml; allowInsertColumn; allowInsertRow; allowInvalid; allowRemoveColumn; allowRemoveRow; ariaTags; autoColumnSize; autoRowSize; autoWrapCol; autoWrapRow; bindRowsWithHeaders; cell; cells; checkedTemplate; className; colHeaders; collapsibleColumns; columnHeaderHeight; columns; columnSorting; columnSummary; colWidths; commentedCellClassName; comments; contextMenu; copyable; copyPaste; correctFormat; currentColClassName; currentHeaderClassName; currentRowClassName; customBorders; data; dataDotNotation; dataSchema; dateFormat; datePickerConfig; defaultDate; tabNavigation; themeName; disableVisualSelection; dragToScroll; dropdownMenu; editor; enterBeginsEditing; enterMoves; fillHandle; filter; filteringCaseSensitive; filters; fixedColumnsLeft; fixedColumnsStart; fixedRowsBottom; fixedRowsTop; formulas; fragmentSelection; headerClassName; height; hiddenColumns; hiddenRows; invalidCellClassName; imeFastEdit; label; language; layoutDirection; licenseKey; locale; manualColumnFreeze; manualColumnMove; manualColumnResize; manualRowMove; manualRowResize; maxCols; maxRows; mergeCells; minCols; minRows; minSpareCols; minSpareRows; multiColumnSorting; navigableHeaders; nestedHeaders; nestedRows; noWordWrapClassName; numericFormat; observeDOMVisibility; outsideClickDeselects; persistentState; placeholder; placeholderCellClassName; preventOverflow; preventWheel; readOnly; readOnlyCellClassName; renderAllColumns; renderAllRows; renderer; rowHeaders; rowHeaderWidth; rowHeights; search; selectionMode; selectOptions; skipColumnOnPaste; skipRowOnPaste; sortByRelevance; source; startCols; startRows; stretchH; strict; tableClassName; tabMoves; title; trimDropdown; trimRows; trimWhitespace; type; uncheckedTemplate; undo; validator; viewportColumnRenderingOffset; viewportRowRenderingOffset; visibleRows; width; wordWrap; // handsontable hooks afterAddChild; afterAutofill; afterBeginEditing; afterCellMetaReset; afterChange; afterChangesObserved; afterColumnCollapse; afterColumnExpand; afterColumnFreeze; afterColumnMove; afterColumnResize; afterColumnSequenceChange; afterColumnSort; afterColumnUnfreeze; afterContextMenuDefaultOptions; afterContextMenuHide; afterContextMenuShow; afterCopy; afterCopyLimit; afterCreateCol; afterCreateRow; afterCut; afterDeselect; afterDestroy; afterDetachChild; afterDocumentKeyDown; afterDrawSelection; afterDropdownMenuDefaultOptions; afterDropdownMenuHide; afterDropdownMenuShow; afterFilter; afterFormulasValuesUpdate; afterGetCellMeta; afterGetColHeader; afterGetColumnHeaderRenderers; afterGetRowHeader; afterGetRowHeaderRenderers; afterHideColumns; afterHideRows; afterInit; afterLanguageChange; afterListen; afterLoadData; afterMergeCells; afterModifyTransformEnd; afterModifyTransformFocus; afterModifyTransformStart; afterMomentumScroll; afterNamedExpressionAdded; afterNamedExpressionRemoved; afterOnCellContextMenu; afterOnCellCornerDblClick; afterOnCellCornerMouseDown; afterOnCellMouseDown; afterOnCellMouseOut; afterOnCellMouseOver; afterOnCellMouseUp; afterPaste; afterPluginsInitialized; afterRedo; afterRedoStackChange; afterRefreshDimensions; afterRemoveCellMeta; afterRemoveCol; afterRemoveRow; afterRender; afterRenderer; afterRowMove; afterRowResize; afterRowSequenceChange; afterScrollHorizontally; afterScrollVertically; afterScroll; afterSelectColumns; afterSelection; afterSelectionByProp; afterSelectionEnd; afterSelectionEndByProp; afterSelectionFocusSet; afterSelectRows; afterSetCellMeta; afterSetDataAtCell; afterSetDataAtRowProp; afterSetSourceDataAtCell; afterSetTheme; afterSheetAdded; afterSheetRenamed; afterSheetRemoved; afterTrimRow; afterUndo; afterUndoStackChange; afterUnhideColumns; afterUnhideRows; afterUnlisten; afterUnmergeCells; afterUntrimRow; afterUpdateData; afterUpdateSettings; afterValidate; afterViewportColumnCalculatorOverride; afterViewportRowCalculatorOverride; afterViewRender; beforeAddChild; beforeAutofill; beforeBeginEditing; beforeCellAlignment; beforeChange; beforeChangeRender; beforeColumnCollapse; beforeColumnExpand; beforeColumnFreeze; beforeColumnMove; beforeColumnResize; beforeColumnSort; beforeColumnWrap; beforeColumnUnfreeze; beforeCompositionStart; beforeContextMenuSetItems; beforeContextMenuShow; beforeCopy; beforeCreateCol; beforeCreateRow; beforeCut; beforeDetachChild; beforeDrawBorders; beforeDropdownMenuSetItems; beforeDropdownMenuShow; beforeFilter; beforeGetCellMeta; beforeHideColumns; beforeHideRows; beforeHighlightingColumnHeader; beforeHighlightingRowHeader; beforeInit; beforeInitWalkontable; beforeKeyDown; beforeLanguageChange; beforeLoadData; beforeMergeCells; beforeOnCellContextMenu; beforeOnCellMouseDown; beforeOnCellMouseOut; beforeOnCellMouseOver; beforeOnCellMouseUp; beforePaste; beforeRedo; beforeRedoStackChange; beforeRefreshDimensions; beforeRemoveCellClassNames; beforeRemoveCellMeta; beforeRemoveCol; beforeRemoveRow; beforeRender; beforeRenderer; beforeRowMove; beforeRowResize; beforeRowWrap; beforeSelectColumns; beforeSelectionFocusSet; beforeSelectionHighlightSet; beforeSelectRows; beforeSetCellMeta; beforeSetRangeEnd; beforeSetRangeStart; beforeSetRangeStartOnly; beforeStretchingColumnWidth; beforeTouchScroll; beforeTrimRow; beforeUndo; beforeUndoStackChange; beforeUnhideColumns; beforeUnhideRows; beforeUnmergeCells; beforeUntrimRow; beforeUpdateData; beforeValidate; beforeValueRender; beforeViewportScroll; beforeViewportScrollHorizontally; beforeViewportScrollVertically; beforeViewRender; construct; init; modifyAutoColumnSizeSeed; modifyAutofillRange; modifyColHeader; modifyColumnHeaderHeight; modifyColumnHeaderValue; modifyColWidth; modifyCopyableRange; modifyFiltersMultiSelectValue; modifyFocusedElement; modifyData; modifyFocusOnTabNavigation; modifyGetCellCoords; modifyGetCoordsElement; modifyRowData; modifyRowHeader; modifyRowHeaderWidth; modifyRowHeight; modifyRowHeightByOverlayName; modifySourceData; modifyTransformEnd; modifyTransformFocus; modifyTransformStart; persistentStateLoad; persistentStateReset; persistentStateSave; constructor(_hotTableRegisterer, _hotSettingsResolver, ngZone) { this._hotTableRegisterer = _hotTableRegisterer; this._hotSettingsResolver = _hotSettingsResolver; this.ngZone = ngZone; } get hotInstance() { if (!this.__hotInstance || (this.__hotInstance && !this.__hotInstance.isDestroyed)) { // Will return the Handsontable instance or `null` if it's not yet been created. return this.__hotInstance; } else { this._hotTableRegisterer.removeInstance(this.hotId); console.warn(HOT_DESTROYED_WARNING); return null; } } set hotInstance(hotInstance) { this.__hotInstance = hotInstance; } ngAfterViewInit() { const options = this._hotSettingsResolver.mergeSettings(this); if (this.columnsComponents.length > 0) { const columns = []; this.columnsComponents.forEach((column) => { columns.push(this._hotSettingsResolver.mergeSettings(column)); }); options['columns'] = columns; } this.ngZone.runOutsideAngular(() => { this.hotInstance = new Handsontable.Core(this.container.nativeElement, options); if (this.hotId) { this._hotTableRegisterer.registerInstance(this.hotId, this.hotInstance); } // @ts-ignore this.hotInstance.init(); }); } ngOnChanges(changes) { if (this.hotInstance === null) { return; } const newOptions = this._hotSettingsResolver.prepareChanges(changes); this.updateHotTable(newOptions); } ngOnDestroy() { this.ngZone.runOutsideAngular(() => { if (this.hotInstance) { this.hotInstance.destroy(); } }); if (this.hotId) { this._hotTableRegisterer.removeInstance(this.hotId); } } updateHotTable(newSettings) { if (!this.hotInstance) { return; } this.ngZone.runOutsideAngular(() => { this.hotInstance.updateSettings(newSettings, false); }); } onAfterColumnsChange() { if (this.columnsComponents === void 0) { return; } if (this.columnsComponents.length > 0) { const columns = []; this.columnsComponents.forEach((column) => { columns.push(this._hotSettingsResolver.mergeSettings(column)); }); const newOptions = { columns: columns }; this.updateHotTable(newOptions); } } onAfterColumnsNumberChange() { const columns = []; if (this.columnsComponents.length > 0) { this.columnsComponents.forEach((column) => { columns.push(this._hotSettingsResolver.mergeSettings(column)); }); } this.updateHotTable({ columns }); } addColumn(column) { this.columnsComponents.push(column); this.onAfterColumnsNumberChange(); } removeColumn(column) { const index = this.columnsComponents.indexOf(column); this.columnsComponents.splice(index, 1); this.onAfterColumnsNumberChange(); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HotTableComponent, deps: [{ token: HotTableRegisterer }, { token: HotSettingsResolver }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: HotTableComponent, selector: "hot-table", inputs: { settings: "settings", hotId: "hotId", activeHeaderClassName: "activeHeaderClassName", allowEmpty: "allowEmpty", allowHtml: "allowHtml", allowInsertColumn: "allowInsertColumn", allowInsertRow: "allowInsertRow", allowInvalid: "allowInvalid", allowRemoveColumn: "allowRemoveColumn", allowRemoveRow: "allowRemoveRow", ariaTags: "ariaTags", autoColumnSize: "autoColumnSize", autoRowSize: "autoRowSize", autoWrapCol: "autoWrapCol", autoWrapRow: "autoWrapRow", bindRowsWithHeaders: "bindRowsWithHeaders", cell: "cell", cells: "cells", checkedTemplate: "checkedTemplate", className: "className", colHeaders: "colHeaders", collapsibleColumns: "collapsibleColumns", columnHeaderHeight: "columnHeaderHeight", columns: "columns", columnSorting: "columnSorting", columnSummary: "columnSummary", colWidths: "colWidths", commentedCellClassName: "commentedCellClassName", comments: "comments", contextMenu: "contextMenu", copyable: "copyable", copyPaste: "copyPaste", correctFormat: "correctFormat", currentColClassName: "currentColClassName", currentHeaderClassName: "currentHeaderClassName", currentRowClassName: "currentRowClassName", customBorders: "customBorders", data: "data", dataDotNotation: "dataDotNotation", dataSchema: "dataSchema", dateFormat: "dateFormat", datePickerConfig: "datePickerConfig", defaultDate: "defaultDate", tabNavigation: "tabNavigation", themeName: "themeName", disableVisualSelection: "disableVisualSelection", dragToScroll: "dragToScroll", dropdownMenu: "dropdownMenu", editor: "editor", enterBeginsEditing: "enterBeginsEditing", enterMoves: "enterMoves", fillHandle: "fillHandle", filter: "filter", filteringCaseSensitive: "filteringCaseSensitive", filters: "filters", fixedColumnsLeft: "fixedColumnsLeft", fixedColumnsStart: "fixedColumnsStart", fixedRowsBottom: "fixedRowsBottom", fixedRowsTop: "fixedRowsTop", formulas: "formulas", fragmentSelection: "fragmentSelection", headerClassName: "headerClassName", height: "height", hiddenColumns: "hiddenColumns", hiddenRows: "hiddenRows", invalidCellClassName: "invalidCellClassName", imeFastEdit: "imeFastEdit", label: "label", language: "language", layoutDirection: "layoutDirection", licenseKey: "licenseKey", locale: "locale", manualColumnFreeze: "manualColumnFreeze", manualColumnMove: "manualColumnMove", manualColumnResize: "manualColumnResize", manualRowMove: "manualRowMove", manualRowResize: "manualRowResize", maxCols: "maxCols", maxRows: "maxRows", mergeCells: "mergeCells", minCols: "minCols", minRows: "minRows", minSpareCols: "minSpareCols", minSpareRows: "minSpareRows", multiColumnSorting: "multiColumnSorting", navigableHeaders: "navigableHeaders", nestedHeaders: "nestedHeaders", nestedRows: "nestedRows", noWordWrapClassName: "noWordWrapClassName", numericFormat: "numericFormat", observeDOMVisibility: "observeDOMVisibility", outsideClickDeselects: "outsideClickDeselects", persistentState: "persistentState", placeholder: "placeholder", placeholderCellClassName: "placeholderCellClassName", preventOverflow: "preventOverflow", preventWheel: "preventWheel", readOnly: "readOnly", readOnlyCellClassName: "readOnlyCellClassName", renderAllColumns: "renderAllColumns", renderAllRows: "renderAllRows", renderer: "renderer", rowHeaders: "rowHeaders", rowHeaderWidth: "rowHeaderWidth", rowHeights: "rowHeights", search: "search", selectionMode: "selectionMode", selectOptions: "selectOptions", skipColumnOnPaste: "skipColumnOnPaste", skipRowOnPaste: "skipRowOnPaste", sortByRelevance: "sortByRelevance", source: "source", startCols: "startCols", startRows: "startRows", stretchH: "stretchH", strict: "strict", tableClassName: "tableClassName", tabMoves: "tabMoves", title: "title", trimDropdown: "trimDropdown", trimRows: "trimRows", trimWhitespace: "trimWhitespace", type: "type", uncheckedTemplate: "uncheckedTemplate", undo: "undo", validator: "validator", viewportColumnRenderingOffset: "viewportColumnRenderingOffset", viewportRowRenderingOffset: "viewportRowRenderingOffset", visibleRows: "visibleRows", width: "width", wordWrap: "wordWrap", afterAddChild: "afterAddChild", afterAutofill: "afterAutofill", afterBeginEditing: "afterBeginEditing", afterCellMetaReset: "afterCellMetaReset", afterChange: "afterChange", afterChangesObserved: "afterChangesObserved", afterColumnCollapse: "afterColumnCollapse", afterColumnExpand: "afterColumnExpand", afterColumnFreeze: "afterColumnFreeze", afterColumnMove: "afterColumnMove", afterColumnResize: "afterColumnResize", afterColumnSequenceChange: "afterColumnSequenceChange", afterColumnSort: "afterColumnSort", afterColumnUnfreeze: "afterColumnUnfreeze", afterContextMenuDefaultOptions: "afterContextMenuDefaultOptions", afterContextMenuHide: "afterContextMenuHide", afterContextMenuShow: "afterContextMenuShow", afterCopy: "afterCopy", afterCopyLimit: "afterCopyLimit", afterCreateCol: "afterCreateCol", afterCreateRow: "afterCreateRow", afterCut: "afterCut", afterDeselect: "afterDeselect", afterDestroy: "afterDestroy", afterDetachChild: "afterDetachChild", afterDocumentKeyDown: "afterDocumentKeyDown", afterDrawSelection: "afterDrawSelection", afterDropdownMenuDefaultOptions: "afterDropdownMenuDefaultOptions", afterDropdownMenuHide: "afterDropdownMenuHide", afterDropdownMenuShow: "afterDropdownMenuShow", afterFilter: "afterFilter", afterFormulasValuesUpdate: "afterFormulasValuesUpdate", afterGetCellMeta: "afterGetCellMeta", afterGetColHeader: "afterGetColHeader", afterGetColumnHeaderRenderers: "afterGetColumnHeaderRenderers", afterGetRowHeader: "afterGetRowHeader", afterGetRowHeaderRenderers: "afterGetRowHeaderRenderers", afterHideColumns: "afterHideColumns", afterHideRows: "afterHideRows", afterInit: "afterInit", afterLanguageChange: "afterLanguageChange", afterListen: "afterListen", afterLoadData: "afterLoadData", afterMergeCells: "afterMergeCells", afterModifyTransformEnd: "afterModifyTransformEnd", afterModifyTransformFocus: "afterModifyTransformFocus", afterModifyTransformStart: "afterModifyTransformStart", afterMomentumScroll: "afterMomentumScroll", afterNamedExpressionAdded: "afterNamedExpressionAdded", afterNamedExpressionRemoved: "afterNamedExpressionRemoved", afterOnCellContextMenu: "afterOnCellContextMenu", afterOnCellCornerDblClick: "afterOnCellCornerDblClick", afterOnCellCornerMouseDown: "afterOnCellCornerMouseDown", afterOnCellMouseDown: "afterOnCellMouseDown", afterOnCellMouseOut: "afterOnCellMouseOut", afterOnCellMouseOver: "afterOnCellMouseOver", afterOnCellMouseUp: "afterOnCellMouseUp", afterPaste: "afterPaste", afterPluginsInitialized: "afterPluginsInitialized", afterRedo: "afterRedo", afterRedoStackChange: "afterRedoStackChange", afterRefreshDimensions: "afterRefreshDimensions", afterRemoveCellMeta: "afterRemoveCellMeta", afterRemoveCol: "afterRemoveCol", afterRemoveRow: "afterRemoveRow", afterRender: "afterRender", afterRenderer: "afterRenderer", afterRowMove: "afterRowMove", afterRowResize: "afterRowResize", afterRowSequenceChange: "afterRowSequenceChange", afterScrollHorizontally: "afterScrollHorizontally", afterScrollVertically: "afterScrollVertically", afterScroll: "afterScroll", afterSelectColumns: "afterSelectColumns", afterSelection: "afterSelection", afterSelectionByProp: "afterSelectionByProp", afterSelectionEnd: "afterSelectionEnd", afterSelectionEndByProp: "afterSelectionEndByProp", afterSelectionFocusSet: "afterSelectionFocusSet", afterSelectRows: "afterSelectRows", afterSetCellMeta: "afterSetCellMeta", afterSetDataAtCell: "afterSetDataAtCell", afterSetDataAtRowProp: "afterSetDataAtRowProp", afterSetSourceDataAtCell: "afterSetSourceDataAtCell", afterSetTheme: "afterSetTheme", afterSheetAdded: "afterSheetAdded", afterSheetRenamed: "afterSheetRenamed", afterSheetRemoved: "afterSheetRemoved", afterTrimRow: "afterTrimRow", afterUndo: "afterUndo", afterUndoStackChange: "afterUndoStackChange", afterUnhideColumns: "afterUnhideColumns", afterUnhideRows: "afterUnhideRows", afterUnlisten: "afterUnlisten", afterUnmergeCells: "afterUnmergeCells", afterUntrimRow: "afterUntrimRow", afterUpdateData: "afterUpdateData", afterUpdateSettings: "afterUpdateSettings", afterValidate: "afterValidate", afterViewportColumnCalculatorOverride: "afterViewportColumnCalculatorOverride", afterViewportRowCalculatorOverride: "afterViewportRowCalculatorOverride", afterViewRender: "afterViewRender", beforeAddChild: "beforeAddChild", beforeAutofill: "beforeAutofill", beforeBeginEditing: "beforeBeginEditing", beforeCellAlignment: "beforeCellAlignment", beforeChange: "beforeChange", beforeChangeRender: "beforeChangeRender", beforeColumnCollapse: "beforeColumnCollapse", beforeColumnExpand: "beforeColumnExpand", beforeColumnFreeze: "beforeColumnFreeze", beforeColumnMove: "beforeColumnMove", beforeColumnResize: "beforeColumnResize", beforeColumnSort: "beforeColumnSort", beforeColumnWrap: "beforeColumnWrap", beforeColumnUnfreeze: "beforeColumnUnfreeze", beforeCompositionStart: "beforeCompositionStart", beforeContextMenuSetItems: "beforeContextMenuSetItems", beforeContextMenuShow: "beforeContextMenuShow", beforeCopy: "beforeCopy", beforeCreateCol: "beforeCreateCol", beforeCreateRow: "beforeCreateRow", beforeCut: "beforeCut", beforeDetachChild: "beforeDetachChild", beforeDrawBorders: "beforeDrawBorders", beforeDropdownMenuSetItems: "beforeDropdownMenuSetItems", beforeDropdownMenuShow: "beforeDropdownMenuShow", beforeFilter: "beforeFilter", beforeGetCellMeta: "beforeGetCellMeta", beforeHideColumns: "beforeHideColumns", beforeHideRows: "beforeHideRows", beforeHighlightingColumnHeader: "beforeHighlightingColumnHeader", beforeHighlightingRowHeader: "beforeHighlightingRowHeader", beforeInit: "beforeInit", beforeInitWalkontable: "beforeInitWalkontable", beforeKeyDown: "beforeKeyDown", beforeLanguageChange: "beforeLanguageChange", beforeLoadData: "beforeLoadData", beforeMergeCells: "beforeMergeCells", beforeOnCellContextMenu: "beforeOnCellContextMenu", beforeOnCellMouseDown: "beforeOnCellMouseDown", beforeOnCellMouseOut: "beforeOnCellMouseOut", beforeOnCellMouseOver: "beforeOnCellMouseOver", beforeOnCellMouseUp: "beforeOnCellMouseUp", beforePaste: "beforePaste", beforeRedo: "beforeRedo", beforeRedoStackChange: "beforeRedoStackChange", beforeRefreshDimensions: "beforeRefreshDimensions", beforeRemoveCellClassNames: "beforeRemoveCellClassNames", beforeRemoveCellMeta: "beforeRemoveCellMeta", beforeRemoveCol: "beforeRemoveCol", beforeRemoveRow: "beforeRemoveRow", beforeRender: "beforeRender", beforeRenderer: "beforeRenderer", beforeRowMove: "beforeRowMove", beforeRowResize: "beforeRowResize", beforeRowWrap: "beforeRowWrap", beforeSelectColumns: "beforeSelectColumns", beforeSelectionFocusSet: "beforeSelectionFocusSet", beforeSelectionHighlightSet: "beforeSelectionHighlightSet", beforeSelectRows: "beforeSelectRows", beforeSetCellMeta: "beforeSetCellMeta", beforeSetRangeEnd: "beforeSetRangeEnd", beforeSetRangeStart: "beforeSetRangeStart", beforeSetRangeStartOnly: "beforeSetRangeStartOnly", beforeStretchingColumnWidth: "beforeStretchingColumnWidth", beforeTouchScroll: "beforeTouchScroll", beforeTrimRow: "beforeTrimRow", beforeUndo: "beforeUndo", beforeUndoStackChange: "beforeUndoStackChange", beforeUnhideColumns: "beforeUnhideColumns", beforeUnhideRows: "beforeUnhideRows", beforeUnmergeCells: "beforeUnmergeCells", beforeUntrimRow: "beforeUntrimRow", beforeUpdateData: "beforeUpdateData", beforeValidate: "beforeValidate", beforeValueRender: "beforeValueRender", beforeViewportScroll: "beforeViewportScroll", beforeViewportScrollHorizontally: "beforeViewportScrollHorizontally", beforeViewportScrollVertically: "beforeViewportScrollVertically", beforeViewRender: "beforeViewRender", construct: "construct", init: "init", modifyAutoColumnSizeSeed: "modifyAutoColumnSizeSeed", modifyAutofillRange: "modifyAutofillRange", modifyColHeader: "modifyColHeader", modifyColumnHeaderHeight: "modifyColumnHeaderHeight", modifyColumnHeaderValue: "modifyColumnHeaderValue", modifyColWidth: "modifyColWidth", modifyCopyableRange: "modifyCopyableRange", modifyFiltersMultiSelectValue: "modifyFiltersMultiSelectValue", modifyFocusedElement: "modifyFocusedElement", modifyData: "modifyData", modifyFocusOnTabNavigation: "modifyFocusOnTabNavigation", modifyGetCellCoords: "modifyGetCellCoords", modifyGetCoordsElement: "modifyGetCoordsElement", modifyRowData: "modifyRowData", modifyRowHeader: "modifyRowHeader", modifyRowHeaderWidth: "modifyRowHeaderWidth", modifyRowHeight: "modifyRowHeight", modifyRowHeightByOverlayName: "modifyRowHeightByOverlayName", modifySourceData: "modifySourceData", modifyTransformEnd: "modifyTransformEnd", modifyTransformFocus: "modifyTransformFocus", modifyTransformStart: "modifyTransformStart", persistentStateLoad: "persistentStateLoad", persistentStateReset: "persistentStateReset", persistentStateSave: "persistentStateSave" }, providers: [HotTableRegisterer, HotSettingsResolver], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container [id]="hotId"></div>', isInline: true, encapsulation: i0.ViewEncapsulation.None }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HotTableComponent, decorators: [{ type: Component, args: [{ selector: 'hot-table', template: '<div #container [id]="hotId"></div>', encapsulation: ViewEncapsulation.None, providers: [HotTableRegisterer, HotSettingsResolver], }] }], ctorParameters: () => [{ type: HotTableRegisterer }, { type: HotSettingsResolver }, { type: i0.NgZone }], propDecorators: { container: [{ type: ViewChild, args: ['container', { static: false }] }], settings: [{ type: Input }], hotId: [{ type: Input }], activeHeaderClassName: [{ type: Input }], allowEmpty: [{ type: Input }], allowHtml: [{ type: Input }], allowInsertColumn: [{ type: Input }], allowInsertRow: [{ type: Input }], allowInvalid: [{ type: Input }], allowRemoveColumn: [{ type: Input }], allowRemoveRow: [{ type: Input }], ariaTags: [{ type: Input }], autoColumnSize: [{ type: Input }], autoRowSize: [{ type: Input }], autoWrapCol: [{ type: Input }], autoWrapRow: [{ type: Input }], bindRowsWithHeaders: [{ type: Input }], cell: [{ type: Input }], cells: [{ type: Input }], checkedTemplate: [{ type: Input }], className: [{ type: Input }], colHeaders: [{ type: Input }], collapsibleColumns: [{ type: Input }], columnHeaderHeight: [{ type: Input }], columns: [{ type: Input }], columnSorting: [{ type: Input }], columnSummary: [{ type: Input }], colWidths: [{ type: Input }], commentedCellClassName: [{ type: Input }], comments: [{ type: Input }], contextMenu: [{ type: Input }], copyable: [{ type: Input }], copyPaste: [{ type: Input }], correctFormat: [{ type: Input }], currentColClassName: [{ type: Input }], currentHeaderClassName: [{ type: Input }], currentRowClassName: [{ type: Input }], customBorders: [{ type: Input }], data: [{ type: Input }], dataDotNotation: [{ type: Input }], dataSchema: [{ type: Input }], dateFormat: [{ type: Input }], datePickerConfig: [{ type: Input }], defaultDate: [{ type: Input }], tabNavigation: [{ type: Input }], themeName: [{ type: Input }], disableVisualSelection: [{ type: Input }], dragToScroll: [{ type: Input }], dropdownMenu: [{ type: Input }], editor: [{ type: Input }], enterBeginsEditing: [{ type: Input }], enterMoves: [{ type: Input }], fillHandle: [{ type: Input }], filter: [{ type: Input }], filteringCaseSensitive: [{ type: Input }], filters: [{ type: Input }], fixedColumnsLeft: [{ type: Input }], fixedColumnsStart: [{ type: Input }], fixedRowsBottom: [{ type: Input }], fixedRowsTop: [{ type: Input }], formulas: [{ type: Input }], fragmentSelection: [{ type: Input }], headerClassName: [{ type: Input }], height: [{ type: Input }], hiddenColumns: [{ type: Input }], hiddenRows: [{ type: Input }], invalidCellClassName: [{ type: Input }], imeFastEdit: [{ type: Input }], label: [{ type: Input }], language: [{ type: Input }], layoutDirection: [{ type: Input }], licenseKey: [{ type: Input }], locale: [{ type: Input }], manualColumnFreeze: [{ type: Input }], manualColumnMove: [{ type: Input }], manualColumnResize: [{ type: Input }], manualRowMove: [{ type: Input }], manualRowResize: [{ type: Input }], maxCols: [{ type: Input }], maxRows: [{ type: Input }], mergeCells: [{ type: Input }], minCols: [{ type: Input }], minRows: [{ type: Input }], minSpareCols: [{ type: Input }], minSpareRows: [{ type: Input }], multiColumnSorting: [{ type: Input }], navigableHeaders: [{ type: Input }], nestedHeaders: [{ type: Input }], nestedRows: [{ type: Input }], noWordWrapClassName: [{ type: Input }], numericFormat: [{ type: Input }], observeDOMVisibility: [{ type: Input }], outsideClickDeselects: [{ type: Input }], persistentState: [{ type: Input }], placeholder: [{ type: Input }], placeholderCellClassName: [{ type: Input }], preventOverflow: [{ type: Input }], preventWheel: [{ type: Input }], readOnly: [{ type: Input }], readOnlyCellClassName: [{ type: Input }], renderAllColumns: [{ type: Input }], renderAllRows: [{ type: Input }], renderer: [{ type: Input }], rowHeaders: [{ type: Input }], rowHeaderWidth: [{ type: Input }], rowHeights: [{ type: Input }], search: [{ type: Input }], selectionMode: [{ type: Input }], selectOptions: [{ type: Input }], skipColumnOnPaste: [{ type: Input }], skipRowOnPaste: [{ type: Input }], sortByRelevance: [{ type: Input }], source: [{ type: Input }], startCols: [{ type: Input }], startRows: [{ type: Input }], stretchH: [{ type: Input }], strict: [{ type: Input }], tableClassName: [{ type: Input }], tabMoves: [{ type: Input }], title: [{ type: Input }], trimDropdown: [{ type: Input }], trimRows: [{ type: Input }], trimWhitespace: [{ type: Input }], type: [{ type: Input }], uncheckedTemplate: [{ type: Input }], undo: [{ type: Input }], validator: [{ type: Input }], viewportColumnRenderingOffset: [{ type: Input }], viewportRowRenderingOffset: [{ type: Input }], visibleRows: [{ type: Input }], width: [{ type: Input }], wordWrap: [{ type: Input }], afterAddChild: [{ type: Input }], afterAutofill: [{ type: Input }], afterBeginEditing: [{ type: Input }], afterCellMetaReset: [{ type: Input }], afterChange: [{ type: Input }], afterChangesObserved: [{ type: Input }], afterColumnCollapse: [{ type: Input }], afterColumnExpand: [{ type: Input }], afterColumnFreeze: [{ type: Input }], afterColumnMove: [{ type: Input }], afterColumnResize: [{ type: Input }], afterColumnSequenceChange: [{ type: Input }], afterColumnSort: [{ type: Input }], afterColumnUnfreeze: [{ type: Input }], afterContextMenuDefaultOptions: [{ type: Input }], afterContextMenuHide: [{ type: Input }], afterContextMenuShow: [{ type: Input }], afterCopy: [{ type: Input }], afterCopyLimit: [{ type: Input }], afterCreateCol: [{ type: Input }], afterCreateRow: [{ type: Input }], afterCut: [{ type: Input }], afterDeselect: [{ type: Input }], afterDestroy: [{ type: Input }], afterDetachChild: [{ type: Input }], afterDocumentKeyDown: [{ type: Input }], afterDrawSelection: [{ type: Input }], afterDropdownMenuDefaultOptions: [{ type: Input }], afterDropdownMenuHide: [{ type: Input }], afterDropdownMenuShow: [{ type: Input }], afterFilter: [{ type: Input }], afterFormulasValuesUpdate: [{ type: Input }], afterGetCellMeta: [{ type: Input }], afterGetColHeader: [{ type: Input }], afterGetColumnHeaderRenderers: [{ type: Input }], afterGetRowHeader: [{ type: Input }], afterGetRowHeaderRenderers: [{ type: Input }], afterHideColumns: [{ type: Input }], afterHideRows: [{ type: Input }], afterInit: [{ type: Input }], afterLanguageChange: [{ type: Input }], afterListen: [{ type: Input }], afterLoadData: [{ type: Input }], afterMergeCells: [{ type: Input }], afterModifyTransformEnd: [{ type: Input }], afterModifyTransformFocus: [{ type: Input }], afterModifyTransformStart: [{ type: Input }], afterMomentumScroll: [{ type: Input }], afterNamedExpressionAdded: [{ type: Input }], afterNamedExpressionRemoved: [{ type: Input }], afterOnCellContextMenu: [{ type: Input }], afterOnCellCornerDblClick: [{ type: Input }], afterOnCellCornerMouseDown: [{ type: Input }], afterOnCellMouseDown: [{ type: Input }], afterOnCellMouseOut: [{ type: Input }], afterOnCellMouseOver: [{ type: Input }], afterOnCellMouseUp: [{ type: Input }], afterPaste: [{ type: Input }], afterPluginsInitialized: [{ type: Input }], afterRedo: [{ type: Input }], afterRedoStackChange: [{ type: Input }], afterRefreshDimensions: [{ type: Input }], afterRemoveCellMeta: [{ type: Input }], afterRemoveCol: [{ type: Input }], afterRemoveRow: [{ type: Input }], afterRender: [{ type: Input }], afterRenderer: [{ type: Input }], afterRowMove: [{ type: Input }], afterRowResize: [{ type: Input }], afterRowSequenceChange: [{ type: Input }], afterScrollHorizontally: [{ type: Input }], afterScrollVertically: [{ type: Input }], afterScroll: [{ type: Input }], afterSelectColumns: [{ type: Input }], afterSelection: [{ type: Input }], afterSelectionByProp: [{ type: Input }], afterSelectionEnd: [{ type: Input }], afterSelectionEndByProp: [{ type: Input }], afterSelectionFocusSet: [{ type: Input }], afterSelectRows: [{ type: Input }], afterSetCellMeta: [{ type: Input }], afterSetDataAtCell: [{ type: Input }], afterSetDataAtRowProp: [{ type: Input }], afterSetSourceDataAtCell: [{ type: Input }], afterSetTheme: [{ type: Input }], afterSheetAdded: [{ type: Input }], afterSheetRenamed: [{ type: Input }], afterSheetRemoved: [{ type: Input }], afterTrimRow: [{ type: Input }], afterUndo: [{ type: Input }], afterUndoStackChange: [{ type: Input }], afterUnhideColumns: [{ type: Input }], afterUnhideRows: [{ type: Input }], afterUnlisten: [{ type: Input }], afterUnmergeCells: [{ type: Input }], afterUntrimRow: [{ type: Input }], afterUpdateData: [{ type: Input }], afterUpdateSettings: [{ type: Input }], afterValidate: [{ type: Input }], afterViewportColumnCalculatorOverride: [{ type: Input }], afterViewportRowCalculatorOverride: [{ type: Input }], afterViewRender: [{ type: Input }], beforeAddChild: [{ type: Input }], beforeAutofill: [{ type: Input }], beforeBeginEditing: [{ type: Input }], beforeCellAlignment: [{ type: Input }], beforeChange: [{ type: Input }], beforeChangeRender: [{ type: Input }], beforeColumnCollapse: [{ type: Input }], beforeColumnExpand: [{ type: Input }], beforeColumnFreeze: [{ type: Input }], beforeColumnMove: [{ type: Input }], beforeColumnResize: [{ type: Input }], beforeColumnSort: [{ type: Input }], beforeColumnWrap: [{ type: Input }], beforeColumnUnfreeze: [{ type: Input }], beforeCompositionStart: [{ type: Input }], beforeContextMenuSetItems: [{ type: Input }], beforeContextMenuShow: [{ type: Input }], beforeCopy: [{ type: Input }], beforeCreateCol: [{ type: Input }], beforeCreateRow: [{ type: Input }], beforeCut: [{ type: Input }], beforeDetachChild: [{ type: Input }], beforeDrawBorders: [{ type: Input }], beforeDropdownMenuSetItems: [{ type: Input }], beforeDropdownMenuShow: [{ type: Input }], beforeFilter: [{ type: Input }], beforeGetCellMeta: [{ type: Input }], beforeHideColumns: [{ type: Input }], beforeHideRows: [{ type: Input }], beforeHighlightingColumnHeader: [{ type: Input }], beforeHighlightingRowHeader: [{ type: Input }], beforeInit: [{ type: Input }], beforeInitWalkontable: [{ type: Input }], beforeKeyDown: [{ type: Input }], beforeLanguageChange: [{ type: Input }], beforeLoadData: [{ type: Input }], beforeMergeCells: [{ type: Input }], beforeOnCellContextMenu: [{ type: Input }], beforeOnCellMouseDown: [{ type: Input }], beforeOnCellMouseOut: [{ type: Input }], beforeOnCellMouseOver: [{ type: Input }], beforeOnCellMouseUp: [{ type: Input }], beforePaste: [{ type: Input }], beforeRedo: [{ type: Input }], beforeRedoStackChange: [{ type: Input }], beforeRefreshDimensions: [{ type: Input }], beforeRemoveCellClassNames: [{ type: Input }], beforeRemoveCellMeta: [{ type: Input }], beforeRemoveCol: [{ type: Input }], beforeRemoveRow: [{ type: Input }], beforeRender: [{ type: Input }], beforeRenderer: [{ type: Input }], beforeRowMove: [{ type: Input }], beforeRowResize: [{ type: Input }], beforeRowWrap: [{ type: Input }], beforeSelectColumns: [{ type: Input }], beforeSelectionFocusSet: [{ type: Input }], beforeSelectionHighlightSet: [{ type: Input }], beforeSelectRows: [{ type: Input }], beforeSetCellMeta: [{ type: Input }], beforeSetRangeEnd: [{ type: Input }], beforeSetRangeStart: [{ type: Input }], beforeSetRangeStartOnly: [{ type: Input }], beforeStretchingColumnWidth: [{ type: Input }], beforeTouchScroll: [{ type: Input }], beforeTrimRow: [{ type: Input }], beforeUndo: [{ type: Input }], beforeUndoStackChange: [{ type: Input }], beforeUnhideColumns: [{ type: Input }], beforeUnhideRows: [{ type: Input }], beforeUnmergeCells: [{ type: Input }], beforeUntrimRow: [{ type: Input }], beforeUpdateData: [{ type: Input }], beforeValidate: [{ type: Input }], beforeValueRender: [{ type: Input }], beforeViewportScroll: [{ type: Input }], beforeViewportScrollHorizontally: [{ type: Input }], beforeViewportScrollVertically: [{ type: Input }], beforeViewRender: [{ type: Input }], construct: [{ type: Input }], init: [{ type: Input }], modifyAutoColumnSizeSeed: [{ type: Input }], modifyAutofillRange: [{ type: Input }], modifyColHeader: [{ type: Input }], modifyColumnHeaderHeight: [{ type: Input }], modifyColumnHeaderValue: [{ type: Input }], modifyColWidth: [{ type: Input }], modifyCopyableRange: [{ type: Input }], modifyFiltersMultiSelectValue: [{ type: Input }], modifyFocusedElement: [{ type: Input }], modifyData: [{ type: Input }], modifyFocusOnTabNavigation: [{ type: Input }], modifyGetCellCoords: [{ type: Input }], modifyGetCoordsElement: [{ type: Input }], modifyRowData: [{ type: Input }], modifyRowHeader: [{ type: Input }], modifyRowHeaderWidth: [{ type: Input }], modifyRowHeight: [{ type: Input }], modifyRowHeightByOverlayName: [{ type: Input }], modifySourceData: [{ type: Input }], modifyTransformEnd: [{