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