@handsontable/angular-wrapper 0.0.0-next-c573c90-20260210 → 0.0.0-next-a4c3bb2-20260211

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/esm2022/lib/editor/custom-editor-placeholder.component.mjs +5 -8
  2. package/esm2022/lib/editor/hot-cell-editor.component.mjs +1 -2
  3. package/esm2022/lib/hot-table.component.mjs +4 -7
  4. package/esm2022/lib/hot-table.module.mjs +2 -2
  5. package/esm2022/lib/models/column-settings.mjs +1 -1
  6. package/esm2022/lib/renderer/hot-dynamic-renderer-component.service.mjs +10 -62
  7. package/esm2022/lib/services/hot-settings-resolver.service.mjs +17 -54
  8. package/esm2022/public-api.mjs +1 -4
  9. package/fesm2022/handsontable-angular-wrapper.mjs +126 -496
  10. package/fesm2022/handsontable-angular-wrapper.mjs.map +1 -1
  11. package/lib/editor/custom-editor-placeholder.component.d.ts +2 -4
  12. package/lib/editor/hot-cell-editor.component.d.ts +0 -1
  13. package/lib/hot-table.component.d.ts +2 -3
  14. package/lib/models/column-settings.d.ts +2 -7
  15. package/lib/renderer/hot-dynamic-renderer-component.service.d.ts +0 -19
  16. package/lib/services/hot-settings-resolver.service.d.ts +0 -3
  17. package/package.json +1 -1
  18. package/public-api.d.ts +0 -3
  19. package/esm2022/lib/editor/editor-factory-adapter.mjs +0 -140
  20. package/esm2022/lib/editor/hot-cell-editor-advanced.component.mjs +0 -92
  21. package/esm2022/lib/editor/models/factory-editor-properties.mjs +0 -2
  22. package/esm2022/lib/editor/models/keyboard-shortcut-config.mjs +0 -2
  23. package/esm2022/lib/renderer/hot-cell-renderer-advanced.component.mjs +0 -55
  24. package/lib/editor/editor-factory-adapter.d.ts +0 -13
  25. package/lib/editor/hot-cell-editor-advanced.component.d.ts +0 -74
  26. package/lib/editor/models/factory-editor-properties.d.ts +0 -24
  27. package/lib/editor/models/keyboard-shortcut-config.d.ts +0 -13
  28. package/lib/renderer/hot-cell-renderer-advanced.component.d.ts +0 -33
@@ -1,140 +0,0 @@
1
- import { createComponent } from '@angular/core';
2
- import { CustomEditorPlaceholderComponent } from './custom-editor-placeholder.component';
3
- import { editorFactory } from 'handsontable/editors/factory';
4
- import { take } from 'rxjs/operators';
5
- /**
6
- * Factory function to create a custom Handsontable editor adapter for Angular components.
7
- *
8
- * This adapter integrates Angular components with Handsontable's editor system using the new
9
- * editorFactory API, allowing you to use Angular components as custom cell editors while
10
- * maintaining full Angular lifecycle management and change detection.
11
- *
12
- * @returns A custom editor class that can be used in Handsontable column settings.
13
- *
14
- */
15
- export const FactoryEditorAdapter = (componentRef) => editorFactory({
16
- position: componentRef.instance.position,
17
- shortcuts: componentRef.instance.shortcuts,
18
- config: componentRef.instance.config,
19
- init(editor) {
20
- editor._componentRef = componentRef;
21
- editor._editorPlaceHolderRef = undefined;
22
- editor._finishEditSubscription = undefined;
23
- editor._cancelEditSubscription = undefined;
24
- createEditorPlaceholder(editor, editor.hot._angularEnvironmentInjector);
25
- editor.input = editor._editorPlaceHolderRef.location.nativeElement;
26
- editor._afterRowResizeCallback = () => {
27
- if (editor.isOpened()) {
28
- applyPropsToEditor(editor);
29
- }
30
- };
31
- editor._afterColumnResizeCallback = () => {
32
- if (editor.isOpened()) {
33
- applyPropsToEditor(editor);
34
- }
35
- };
36
- editor._afterDestroyCallback = () => {
37
- if (editor._editorPlaceHolderRef) {
38
- editor._editorPlaceHolderRef.destroy();
39
- }
40
- };
41
- // Hooks are automatically removed by Handsontable on table destroy
42
- editor.hot.addHook('afterRowResize', editor._afterRowResizeCallback);
43
- editor.hot.addHook('afterColumnResize', editor._afterColumnResizeCallback);
44
- editor.hot.addHook('afterDestroy', editor._afterDestroyCallback);
45
- },
46
- afterInit: (editor) => editor._componentRef.instance.afterInit?.(editor),
47
- beforeOpen: (editor, context) => {
48
- cleanupSubscriptions(editor);
49
- applyPropsToEditor(editor);
50
- editor._finishEditSubscription = editor._componentRef.instance.finishEdit.pipe(take(1)).subscribe(() => {
51
- editor.finishEditing();
52
- });
53
- editor._cancelEditSubscription = editor._componentRef.instance.cancelEdit.pipe(take(1)).subscribe(() => {
54
- editor.cancelChanges();
55
- });
56
- editor._componentRef.instance.beforeOpen?.(editor, context);
57
- },
58
- afterOpen: (editor, event) => {
59
- editor._componentRef.instance.afterOpen?.(editor, event);
60
- },
61
- onFocus: (editor) => editor._componentRef.instance.onFocus?.(editor),
62
- afterClose: (editor) => {
63
- resetEditorState(editor);
64
- editor._editorPlaceHolderRef.changeDetectorRef.detectChanges();
65
- editor._editorPlaceHolderRef.instance.detachEditor();
66
- editor._componentRef.instance.afterClose?.(editor);
67
- },
68
- getValue: (editor) => editor._componentRef.instance.getValue(),
69
- setValue: (editor, value) => {
70
- editor.value = value;
71
- editor._componentRef.instance.setValue(value);
72
- editor._componentRef.changeDetectorRef.detectChanges();
73
- },
74
- });
75
- /**
76
- * Creates the editor placeholder component.
77
- * @param editor The editor instance.
78
- * @param injector The environment injector from Angular.
79
- */
80
- function createEditorPlaceholder(editor, injector) {
81
- if (!injector) {
82
- return;
83
- }
84
- editor._editorPlaceHolderRef = createComponent(CustomEditorPlaceholderComponent, {
85
- environmentInjector: injector,
86
- });
87
- }
88
- /**
89
- * Applies properties to the custom Angular editor and editor placeholder.
90
- * Updates position, size, and cell context information.
91
- * @param editor The editor instance.
92
- */
93
- function applyPropsToEditor(editor) {
94
- if (!editor._componentRef || !editor._editorPlaceHolderRef) {
95
- return;
96
- }
97
- editor._componentRef.setInput('originalValue', editor.originalValue);
98
- editor._componentRef.setInput('row', editor.row);
99
- editor._componentRef.setInput('column', editor.col);
100
- editor._componentRef.setInput('prop', editor.prop);
101
- editor._componentRef.setInput('cellProperties', editor.cellProperties);
102
- const rect = editor.hot.getCell(editor.row, editor.col)?.getBoundingClientRect();
103
- editor._editorPlaceHolderRef.setInput('placeholderCustomClass', '');
104
- editor._editorPlaceHolderRef.setInput('height', rect.height);
105
- editor._editorPlaceHolderRef.setInput('width', rect.width);
106
- editor._editorPlaceHolderRef.setInput('isVisible', true);
107
- editor._editorPlaceHolderRef.setInput('componentRef', editor._componentRef);
108
- editor._editorPlaceHolderRef.changeDetectorRef.detectChanges();
109
- }
110
- /**
111
- * Resets the editor placeholder state.
112
- * Clears all positioning and visibility settings.
113
- * @param editor The editor instance.
114
- */
115
- function resetEditorState(editor) {
116
- if (!editor._editorPlaceHolderRef) {
117
- return;
118
- }
119
- editor._editorPlaceHolderRef.setInput('top', undefined);
120
- editor._editorPlaceHolderRef.setInput('left', undefined);
121
- editor._editorPlaceHolderRef.setInput('height', undefined);
122
- editor._editorPlaceHolderRef.setInput('width', undefined);
123
- editor._editorPlaceHolderRef.setInput('isVisible', false);
124
- editor._editorPlaceHolderRef.setInput('componentRef', undefined);
125
- }
126
- /**
127
- * Cleans up existing subscriptions.
128
- * @param editor The editor instance.
129
- */
130
- function cleanupSubscriptions(editor) {
131
- if (editor._finishEditSubscription) {
132
- editor._finishEditSubscription.unsubscribe();
133
- editor._finishEditSubscription = undefined;
134
- }
135
- if (editor._cancelEditSubscription) {
136
- editor._cancelEditSubscription.unsubscribe();
137
- editor._cancelEditSubscription = undefined;
138
- }
139
- }
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWZhY3RvcnktYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL2VkaXRvci9lZGl0b3ItZmFjdG9yeS1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsZUFBZSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV6RixPQUFPLEVBQUUsYUFBYSxFQUFrQixNQUFNLDhCQUE4QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVN0Qzs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFlBQStELEVBQUUsRUFBRSxDQUN0RyxhQUFhLENBQXNCO0lBQ2pDLFFBQVEsRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVE7SUFDeEMsU0FBUyxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUztJQUMxQyxNQUFNLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNO0lBQ3BDLElBQUksQ0FBQyxNQUFzQjtRQUN6QixNQUFNLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNwQyxNQUFNLENBQUMscUJBQXFCLEdBQUcsU0FBUyxDQUFDO1FBQ3pDLE1BQU0sQ0FBQyx1QkFBdUIsR0FBRyxTQUFTLENBQUM7UUFDM0MsTUFBTSxDQUFDLHVCQUF1QixHQUFHLFNBQVMsQ0FBQztRQUUzQyx1QkFBdUIsQ0FBQyxNQUFNLEVBQUcsTUFBTSxDQUFDLEdBQVcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUFFbkUsTUFBTSxDQUFDLHVCQUF1QixHQUFHLEdBQVMs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QUFxQixDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUQsTUFBTSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQVMsb0JBQW9CLENBQUMsTUFBc0I7SUFDbEQsSUFBSSxNQUFNLENBQUMsdUJBQXVCLEVBQUU7UUFDbEMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdDLE1BQU0sQ0FBQyx1QkFBdUIsR0FBRyxTQUFTLENBQUM7S0FDNUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRTtRQUNsQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0MsTUFBTSxDQUFDLHVCQUF1QixHQUFHLFNBQVMsQ0FBQztLQUM1QztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYsIGNyZWF0ZUNvbXBvbmVudCwgRW52aXJvbm1lbnRJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3VzdG9tRWRpdG9yUGxhY2Vob2xkZXJDb21wb25lbnQgfSBmcm9tICcuL2N1c3RvbS1lZGl0b3ItcGxhY2Vob2xkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3JQcm9wZXJ0aWVzIH0gZnJvbSAnLi9tb2RlbHMvZmFjdG9yeS1lZGl0b3ItcHJvcGVydGllcyc7XG5pbXBvcnQgeyBlZGl0b3JGYWN0b3J5LCBFeHRlbmRlZEVkaXRvciB9IGZyb20gJ2hhbmRzb250YWJsZS9lZGl0b3JzL2ZhY3RvcnknO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEhvdENlbGxFZGl0b3JBZHZhbmNlZENvbXBvbmVudCB9IGZyb20gJy4vaG90LWNlbGwtZWRpdG9yLWFkdmFuY2VkLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQ29tYmluZWQgdHlwZSByZXByZXNlbnRpbmcgYW4gZXh0ZW5kZWQgZWRpdG9yIHdpdGggQW5ndWxhciBjb21wb25lbnQgcHJvcGVydGllcy5cbiAqIFVzZWQgaW50ZXJuYWxseSBieSB0aGUgZmFjdG9yeSBhZGFwdGVyIHRvIGJyaWRnZSBBbmd1bGFyIGFuZCBIYW5kc29udGFibGUuXG4gKi9cbnR5cGUgRWRpdG9ySW5zdGFuY2UgPSBFeHRlbmRlZEVkaXRvcjxBbmd1bGFyRWRpdG9yUHJvcGVydGllcyAmIEhvdENlbGxFZGl0b3JBZHZhbmNlZENvbXBvbmVudDxhbnk+PjtcblxuLyoqXG4gKiBGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIGN1c3RvbSBIYW5kc29udGFibGUgZWRpdG9yIGFkYXB0ZXIgZm9yIEFuZ3VsYXIgY29tcG9uZW50cy5cbiAqXG4gKiBUaGlzIGFkYXB0ZXIgaW50ZWdyYXRlcyBBbmd1bGFyIGNvbXBvbmVudHMgd2l0aCBIYW5kc29udGFibGUncyBlZGl0b3Igc3lzdGVtIHVzaW5nIHRoZSBuZXdcbiAqIGVkaXRvckZhY3RvcnkgQVBJLCBhbGxvd2luZyB5b3UgdG8gdXNlIEFuZ3VsYXIgY29tcG9uZW50cyBhcyBjdXN0b20gY2VsbCBlZGl0b3JzIHdoaWxlXG4gKiBtYWludGFpbmluZyBmdWxsIEFuZ3VsYXIgbGlmZWN5Y2xlIG1hbmFnZW1lbnQgYW5kIGNoYW5nZSBkZXRlY3Rpb24uXG4gKlxuICogQHJldHVybnMgQSBjdXN0b20gZWRpdG9yIGNsYXNzIHRoYXQgY2FuIGJlIHVzZWQgaW4gSGFuZHNvbnRhYmxlIGNvbHVtbiBzZXR0aW5ncy5cbiAqXG4gKi9cbmV4cG9ydCBjb25zdCBGYWN0b3J5RWRpdG9yQWRhcHRlciA9IChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxIb3RDZWxsRWRpdG9yQWR2YW5jZWRDb21wb25lbnQ8YW55Pj4pID0+XG4gIGVkaXRvckZhY3Rvcnk8RXh0ZW5kZWRFZGl0b3I8YW55Pj4oe1xuICAgIHBvc2l0aW9uOiBjb21wb25lbnRSZWYuaW5zdGFuY2UucG9zaXRpb24sXG4gICAgc2hvcnRjdXRzOiBjb21wb25lbnRSZWYuaW5zdGFuY2Uuc2hvcnRjdXRzLFxuICAgIGNvbmZpZzogY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbmZpZyxcbiAgICBpbml0KGVkaXRvcjogRWRpdG9ySW5zdGFuY2UpOiB2b2lkIHtcbiAgICAgIGVkaXRvci5fY29tcG9uZW50UmVmID0gY29tcG9uZW50UmVmO1xuICAgICAgZWRpdG9yLl9lZGl0b3JQbGFjZUhvbGRlclJlZiA9IHVuZGVmaW5lZDtcbiAgICAgIGVkaXRvci5fZmluaXNoRWRpdFN1YnNjcmlwdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgIGVkaXRvci5fY2FuY2VsRWRpdFN1YnNjcmlwdGlvbiA9IHVuZGVmaW5lZDtcblxuICAgICAgY3JlYXRlRWRpdG9yUGxhY2Vob2xkZXIoZWRpdG9yLCAoZWRpdG9yLmhvdCBhcyBhbnkpLl9hbmd1bGFyRW52aXJvbm1lbnRJbmplY3Rvcik7XG4gICAgICBlZGl0b3IuaW5wdXQgPSBlZGl0b3IuX2VkaXRvclBsYWNlSG9sZGVyUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIGVkaXRvci5fYWZ0ZXJSb3dSZXNpemVDYWxsYmFjayA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKGVkaXRvci5pc09wZW5lZCgpKSB7XG4gICAgICAgICAgYXBwbHlQcm9wc1RvRWRpdG9yKGVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIGVkaXRvci5fYWZ0ZXJDb2x1bW5SZXNpemVDYWxsYmFjayA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKGVkaXRvci5pc09wZW5lZCgpKSB7XG4gICAgICAgICAgYXBwbHlQcm9wc1RvRWRpdG9yKGVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIGVkaXRvci5fYWZ0ZXJEZXN0cm95Q2FsbGJhY2sgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmIChlZGl0b3IuX2VkaXRvclBsYWNlSG9sZGVyUmVmKSB7XG4gICAgICAgICAgZWRpdG9yLl9lZGl0b3JQbGFjZUhvbGRlclJlZi5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIC8vIEhvb2tzIGFyZSBhdXRvbWF0aWNhbGx5IHJlbW92ZWQgYnkgSGFuZHNvbnRhYmxlIG9uIHRhYmxlIGRlc3Ryb3lcbiAgICAgIGVkaXRvci5ob3QuYWRkSG9vaygnYWZ0ZXJSb3dSZXNpemUnLCBlZGl0b3IuX2FmdGVyUm93UmVzaXplQ2FsbGJhY2spO1xuICAgICAgZWRpdG9yLmhvdC5hZGRIb29rKCdhZnRlckNvbHVtblJlc2l6ZScsIGVkaXRvci5fYWZ0ZXJDb2x1bW5SZXNpemVDYWxsYmFjayk7XG4gICAgICBlZGl0b3IuaG90LmFkZEhvb2soJ2FmdGVyRGVzdHJveScsIGVkaXRvci5fYWZ0ZXJEZXN0cm95Q2FsbGJhY2spO1xuICAgIH0sXG5cbiAgICBhZnRlckluaXQ6IChlZGl0b3IpID0+IGVkaXRvci5fY29tcG9uZW50UmVmLmluc3RhbmNlLmFmdGVySW5pdD8uKGVkaXRvciksXG4gICAgYmVmb3JlT3BlbjogKGVkaXRvcjogRWRpdG9ySW5zdGFuY2UsIGNvbnRleHQpID0+IHtcbiAgICAgIGNsZWFudXBTdWJzY3JpcHRpb25zKGVkaXRvcik7XG5cbiAgICAgIGFwcGx5UHJvcHNUb0VkaXRvcihlZGl0b3IpO1xuXG4gICAgICBlZGl0b3IuX2ZpbmlzaEVkaXRTdWJzY3JpcHRpb24gPSBlZGl0b3IuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5maW5pc2hFZGl0LnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpOiB2b2lkID0+IHtcbiAgICAgICAgZWRpdG9yLmZpbmlzaEVkaXRpbmcoKTtcbiAgICAgIH0pO1xuXG4gICAgICBlZGl0b3IuX2NhbmNlbEVkaXRTdWJzY3JpcHRpb24gPSBlZGl0b3IuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5jYW5jZWxFZGl0LnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpOiB2b2lkID0+IHtcbiAgICAgICAgZWRpdG9yLmNhbmNlbENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICAgICAgZWRpdG9yLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuYmVmb3JlT3Blbj8uKGVkaXRvciwgY29udGV4dCk7XG4gICAgfSxcbiAgICBhZnRlck9wZW46IChlZGl0b3IsIGV2ZW50KSA9PiB7XG4gICAgICBlZGl0b3IuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5hZnRlck9wZW4/LihlZGl0b3IsIGV2ZW50KTtcbiAgICB9LFxuICAgIG9uRm9jdXM6IChlZGl0b3IpID0+IGVkaXRvci5fY29tcG9uZW50UmVmLmluc3RhbmNlLm9uRm9jdXM/LihlZGl0b3IpLFxuICAgIGFmdGVyQ2xvc2U6IChlZGl0b3I6IEVkaXRvckluc3RhbmNlKSA9PiB7XG4gICAgICByZXNldEVkaXRvclN0YXRlKGVkaXRvcik7XG4gICAgICBlZGl0b3IuX2VkaXRvclBsYWNlSG9sZGVyUmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIGVkaXRvci5fZWRpdG9yUGxhY2VIb2xkZXJSZWYuaW5zdGFuY2UuZGV0YWNoRWRpdG9yKCk7XG4gICAgICBlZGl0b3IuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5hZnRlckNsb3NlPy4oZWRpdG9yKTtcbiAgICB9LFxuICAgIGdldFZhbHVlOiAoZWRpdG9yKSA9PiBlZGl0b3IuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5nZXRWYWx1ZSgpLFxuICAgIHNldFZhbHVlOiAoZWRpdG9yOiBFZGl0b3JJbnN0YW5jZSwgdmFsdWUpID0+IHtcbiAgICAgIGVkaXRvci52YWx1ZSA9IHZhbHVlO1xuICAgICAgZWRpdG9yLl9jb21wb25lbnRSZWYuaW5zdGFuY2Uuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgZWRpdG9yLl9jb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0sXG4gIH0pO1xuXG4vKipcbiAqIENyZWF0ZXMgdGhlIGVkaXRvciBwbGFjZWhvbGRlciBjb21wb25lbnQuXG4gKiBAcGFyYW0gZWRpdG9yIFRoZSBlZGl0b3IgaW5zdGFuY2UuXG4gKiBAcGFyYW0gaW5qZWN0b3IgVGhlIGVudmlyb25tZW50IGluamVjdG9yIGZyb20gQW5ndWxhci5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlRWRpdG9yUGxhY2Vob2xkZXIoZWRpdG9yOiBFZGl0b3JJbnN0YW5jZSwgaW5qZWN0b3I6IEVudmlyb25tZW50SW5qZWN0b3IgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgaWYgKCFpbmplY3Rvcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGVkaXRvci5fZWRpdG9yUGxhY2VIb2xkZXJSZWYgPSBjcmVhdGVDb21wb25lbnQoQ3VzdG9tRWRpdG9yUGxhY2Vob2xkZXJDb21wb25lbnQsIHtcbiAgICBlbnZpcm9ubWVudEluamVjdG9yOiBpbmplY3RvcixcbiAgfSk7XG59XG5cbi8qKlxuICogQXBwbGllcyBwcm9wZXJ0aWVzIHRvIHRoZSBjdXN0b20gQW5ndWxhciBlZGl0b3IgYW5kIGVkaXRvciBwbGFjZWhvbGRlci5cbiAqIFVwZGF0ZXMgcG9zaXRpb24sIHNpemUsIGFuZCBjZWxsIGNvbnRleHQgaW5mb3JtYXRpb24uXG4gKiBAcGFyYW0gZWRpdG9yIFRoZSBlZGl0b3IgaW5zdGFuY2UuXG4gKi9cbmZ1bmN0aW9uIGFwcGx5UHJvcHNUb0VkaXRvcihlZGl0b3I6IEVkaXRvckluc3RhbmNlKTogdm9pZCB7XG4gIGlmICghZWRpdG9yLl9jb21wb25lbnRSZWYgfHwgIWVkaXRvci5fZWRpdG9yUGxhY2VIb2xkZXJSZWYpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBlZGl0b3IuX2NvbXBvbmVudFJlZi5zZXRJbnB1dCgnb3JpZ2luYWxWYWx1ZScsIGVkaXRvci5vcmlnaW5hbFZhbHVlKTtcbiAgZWRpdG9yLl9jb21wb25lbnRSZWYuc2V0SW5wdXQoJ3JvdycsIGVkaXRvci5yb3cpO1xuICBlZGl0b3IuX2NvbXBvbmVudFJlZi5zZXRJbnB1dCgnY29sdW1uJywgZWRpdG9yLmNvbCk7XG4gIGVkaXRvci5fY29tcG9uZW50UmVmLnNldElucHV0KCdwcm9wJywgZWRpdG9yLnByb3ApO1xuICBlZGl0b3IuX2NvbXBvbmVudFJlZi5zZXRJbnB1dCgnY2VsbFByb3BlcnRpZXMnLCBlZGl0b3IuY2VsbFByb3BlcnRpZXMpO1xuXG4gIGNvbnN0IHJlY3QgPSBlZGl0b3IuaG90LmdldENlbGwoZWRpdG9yLnJvdywgZWRpdG9yLmNvbCk/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gIGVkaXRvci5fZWRpdG9yUGxhY2VIb2xkZXJSZWYuc2V0SW5wdXQoJ3BsYWNlaG9sZGVyQ3VzdG9tQ2xhc3MnLCAnJyk7XG4gIGVkaXRvci5fZWRpdG9yUGxhY2VIb2xkZXJSZWYuc2V0SW5wdXQoJ2hlaWdodCcsIHJlY3QuaGVpZ2h0KTtcbiAgZWRpdG9yLl9lZGl0b3JQbGFjZUhvbGRlclJlZi5zZXRJbnB1dCgnd2lkdGgnLCByZWN0LndpZHRoKTtcbiAgZWRpdG9yLl9lZGl0b3JQbGFjZUhvbGRlclJlZi5zZXRJbnB1dCgnaXNWaXNpYmxlJywgdHJ1ZSk7XG4gIGVkaXRvci5fZWRpdG9yUGxhY2VIb2xkZXJSZWYuc2V0SW5wdXQoJ2NvbXBvbmVudFJlZicsIGVkaXRvci5fY29tcG9uZW50UmVmKTtcblxuICBlZGl0b3IuX2VkaXRvclBsYWNlSG9sZGVyUmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbn1cblxuLyoqXG4gKiBSZXNldHMgdGhlIGVkaXRvciBwbGFjZWhvbGRlciBzdGF0ZS5cbiAqIENsZWFycyBhbGwgcG9zaXRpb25pbmcgYW5kIHZpc2liaWxpdHkgc2V0dGluZ3MuXG4gKiBAcGFyYW0gZWRpdG9yIFRoZSBlZGl0b3IgaW5zdGFuY2UuXG4gKi9cbmZ1bmN0aW9uIHJlc2V0RWRpdG9yU3RhdGUoZWRpdG9yOiBFZGl0b3JJbnN0YW5jZSk6IHZvaWQge1xuICBpZiAoIWVkaXRvci5fZWRpdG9yUGxhY2VIb2xkZXJSZWYpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBlZGl0b3IuX2VkaXRvclBsYWNlSG9sZGVyUmVmLnNldElucHV0KCd0b3AnLCB1bmRlZmluZWQpO1xuICBlZGl0b3IuX2VkaXRvclBsYWNlSG9sZGVyUmVmLnNldElucHV0KCdsZWZ0JywgdW5kZWZpbmVkKTtcbiAgZWRpdG9yLl9lZGl0b3JQbGFjZUhvbGRlclJlZi5zZXRJbnB1dCgnaGVpZ2h0JywgdW5kZWZpbmVkKTtcbiAgZWRpdG9yLl9lZGl0b3JQbGFjZUhvbGRlclJlZi5zZXRJbnB1dCgnd2lkdGgnLCB1bmRlZmluZWQpO1xuICBlZGl0b3IuX2VkaXRvclBsYWNlSG9sZGVyUmVmLnNldElucHV0KCdpc1Zpc2libGUnLCBmYWxzZSk7XG4gIGVkaXRvci5fZWRpdG9yUGxhY2VIb2xkZXJSZWYuc2V0SW5wdXQoJ2NvbXBvbmVudFJlZicsIHVuZGVmaW5lZCk7XG59XG5cbi8qKlxuICogQ2xlYW5zIHVwIGV4aXN0aW5nIHN1YnNjcmlwdGlvbnMuXG4gKiBAcGFyYW0gZWRpdG9yIFRoZSBlZGl0b3IgaW5zdGFuY2UuXG4gKi9cbmZ1bmN0aW9uIGNsZWFudXBTdWJzY3JpcHRpb25zKGVkaXRvcjogRWRpdG9ySW5zdGFuY2UpOiB2b2lkIHtcbiAgaWYgKGVkaXRvci5fZmluaXNoRWRpdFN1YnNjcmlwdGlvbikge1xuICAgIGVkaXRvci5fZmluaXNoRWRpdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIGVkaXRvci5fZmluaXNoRWRpdFN1YnNjcmlwdGlvbiA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlmIChlZGl0b3IuX2NhbmNlbEVkaXRTdWJzY3JpcHRpb24pIHtcbiAgICBlZGl0b3IuX2NhbmNlbEVkaXRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICBlZGl0b3IuX2NhbmNlbEVkaXRTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,92 +0,0 @@
1
- import { Directive, EventEmitter, HostBinding, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Abstract class representing a Handsontable editor in angular.
5
- */
6
- export class HotCellEditorAdvancedComponent {
7
- static EDITOR_MARKER = Symbol('HotCellEditorAdvancedComponent');
8
- /** The height of the editor as a percentage of the parent container. */
9
- heightFitParentContainer = 100;
10
- /** The width of the editor as a percentage of the parent container. */
11
- widthFitParentContainer = 100;
12
- /** The row index of the cell being edited. */
13
- row;
14
- /** The column index of the cell being edited. */
15
- column;
16
- /** The property name of the cell being edited. */
17
- prop;
18
- /** The original value of the cell being edited. */
19
- originalValue;
20
- /** The cell properties of the cell being edited. */
21
- cellProperties;
22
- /** Event emitted when the edit is finished.
23
- * The data will be saved to the model.
24
- */
25
- finishEdit = new EventEmitter();
26
- /** Event emitted when the edit is canceled.
27
- * The entered data will be reverted to the original value.
28
- */
29
- cancelEdit = new EventEmitter();
30
- /** The current value of the editor. */
31
- value;
32
- /** Event triggered by Handsontable on focus the editor.
33
- * The user have to define focus logic.
34
- */
35
- onFocus(editor) { }
36
- /**
37
- * Gets the current value of the editor.
38
- * @returns The current value of the editor.
39
- */
40
- getValue() {
41
- return this.value;
42
- }
43
- /**
44
- * Sets the current value of the editor.
45
- * @param value The value to set.
46
- */
47
- setValue(value) {
48
- this.value = value;
49
- }
50
- /** The position of the editor in the DOM. Used by Handsontable API. Available in advanced mode. */
51
- position = 'container';
52
- /** The shortcuts available for the editor. Available in advanced mode. */
53
- shortcuts;
54
- /** The group name for the shortcuts. Available in advanced mode.*/
55
- shortcutsGroup;
56
- /** Configuration. Available in advanced mode. */
57
- config;
58
- /** Lifecycle hook called after the editor is opened. Available in advanced mode.*/
59
- afterOpen(editor, event) { }
60
- /** Lifecycle hook called after the editor is closed. Available in advanced mode. */
61
- afterClose(editor) { }
62
- /** Lifecycle hook called after the editor is initialized. Available in advanced mode.*/
63
- afterInit(editor) { }
64
- /** Lifecycle hook called before the editor is opened. Available in advanced mode. */
65
- beforeOpen(editor, { row, col, prop, td, originalValue, cellProperties, }) { }
66
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HotCellEditorAdvancedComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
67
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: HotCellEditorAdvancedComponent, inputs: { row: "row", column: "column", prop: "prop", originalValue: "originalValue", cellProperties: "cellProperties" }, outputs: { finishEdit: "finishEdit", cancelEdit: "cancelEdit" }, host: { properties: { "style.height.%": "this.heightFitParentContainer", "style.width.%": "this.widthFitParentContainer" } }, ngImport: i0 });
68
- }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HotCellEditorAdvancedComponent, decorators: [{
70
- type: Directive
71
- }], propDecorators: { heightFitParentContainer: [{
72
- type: HostBinding,
73
- args: ['style.height.%']
74
- }], widthFitParentContainer: [{
75
- type: HostBinding,
76
- args: ['style.width.%']
77
- }], row: [{
78
- type: Input
79
- }], column: [{
80
- type: Input
81
- }], prop: [{
82
- type: Input
83
- }], originalValue: [{
84
- type: Input
85
- }], cellProperties: [{
86
- type: Input
87
- }], finishEdit: [{
88
- type: Output
89
- }], cancelEdit: [{
90
- type: Output
91
- }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LWNlbGwtZWRpdG9yLWFkdmFuY2VkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL2VkaXRvci9ob3QtY2VsbC1lZGl0b3ItYWR2YW5jZWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUtwRjs7R0FFRztBQUVILE1BQU0sT0FBZ0IsOEJBQThCO0lBQ2xELE1BQU0sQ0FBVSxhQUFhLEdBQUcsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFFekUsd0VBQXdFO0lBQy9CLHdCQUF3QixHQUFHLEdBQUcsQ0FBQztJQUV4RSx1RUFBdUU7SUFDL0IsdUJBQXVCLEdBQUcsR0FBRyxDQUFDO0lBRXRFLDhDQUE4QztJQUNyQyxHQUFHLENBQVM7SUFFckIsaURBQWlEO0lBQ3hDLE1BQU0sQ0FBUztJQUV4QixrREFBa0Q7SUFDekMsSUFBSSxDQUFrQjtJQUUvQixtREFBbUQ7SUFDMUMsYUFBYSxDQUFJO0lBRTFCLG9EQUFvRDtJQUMzQyxjQUFjLENBQWlCO0lBRXhDOztPQUVHO0lBQ08sVUFBVSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFaEQ7O09BRUc7SUFDTyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVoRCx1Q0FBdUM7SUFDN0IsS0FBSyxDQUFJO0lBRW5COztPQUVHO0lBQ0gsT0FBTyxDQUFDLE1BQTBCLElBQVMsQ0FBQztJQUU1Qzs7O09BR0c7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRLENBQUMsS0FBUTtRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxtR0FBbUc7SUFDbkcsUUFBUSxHQUEyQixXQUFXLENBQUM7SUFFL0MsMEVBQTBFO0lBQzFFLFNBQVMsQ0FBNEI7SUFFckMsbUVBQW1FO0lBQ25FLGNBQWMsQ0FBVTtJQUV4QixpREFBaUQ7SUFDakQsTUFBTSxDQUFPO0lBRWIsbUZBQW1GO0lBQ25GLFNBQVMsQ0FBQyxNQUF5QixFQUFFLEtBQWEsSUFBUyxDQUFDO0lBRTVELG9GQUFvRjtJQUNwRixVQUFVLENBQUMsTUFBeUIsSUFBUyxDQUFDO0lBRTlDLHdGQUF3RjtJQUN4RixTQUFTLENBQUMsTUFBeUIsSUFBUyxDQUFDO0lBRTdDLHFGQUFxRjtJQUNyRixVQUFVLENBQ1IsTUFBeUIsRUFDekIsRUFDRSxHQUFHLEVBQ0gsR0FBRyxFQUNILElBQUksRUFDSixFQUFFLEVBQ0YsYUFBYSxFQUNiLGNBQWMsR0FRZixJQUNNLENBQUM7d0dBakdVLDhCQUE4Qjs0RkFBOUIsOEJBQThCOzs0RkFBOUIsOEJBQThCO2tCQURuRCxTQUFTOzhCQUtpQyx3QkFBd0I7c0JBQWhFLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUdXLHVCQUF1QjtzQkFBOUQsV0FBVzt1QkFBQyxlQUFlO2dCQUduQixHQUFHO3NCQUFYLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFLRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFeHRlbmRlZEVkaXRvciB9IGZyb20gJ2hhbmRzb250YWJsZS9lZGl0b3JzL2ZhY3RvcnknO1xuaW1wb3J0IHsgQ2VsbFByb3BlcnRpZXMgfSBmcm9tICdoYW5kc29udGFibGUvc2V0dGluZ3MnO1xuaW1wb3J0IHsgS2V5Ym9hcmRTaG9ydGN1dENvbmZpZyB9IGZyb20gJy4vbW9kZWxzL2tleWJvYXJkLXNob3J0Y3V0LWNvbmZpZyc7XG5cbi8qKlxuICogQWJzdHJhY3QgY2xhc3MgcmVwcmVzZW50aW5nIGEgSGFuZHNvbnRhYmxlIGVkaXRvciBpbiBhbmd1bGFyLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBIb3RDZWxsRWRpdG9yQWR2YW5jZWRDb21wb25lbnQ8VCBleHRlbmRzIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgQXJyYXk8YW55Pj4ge1xuICBzdGF0aWMgcmVhZG9ubHkgRURJVE9SX01BUktFUiA9IFN5bWJvbCgnSG90Q2VsbEVkaXRvckFkdmFuY2VkQ29tcG9uZW50Jyk7XG5cbiAgLyoqIFRoZSBoZWlnaHQgb2YgdGhlIGVkaXRvciBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHBhcmVudCBjb250YWluZXIuICovXG4gIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0LiUnKSBwcm90ZWN0ZWQgaGVpZ2h0Rml0UGFyZW50Q29udGFpbmVyID0gMTAwO1xuXG4gIC8qKiBUaGUgd2lkdGggb2YgdGhlIGVkaXRvciBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHBhcmVudCBjb250YWluZXIuICovXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGguJScpIHByb3RlY3RlZCB3aWR0aEZpdFBhcmVudENvbnRhaW5lciA9IDEwMDtcblxuICAvKiogVGhlIHJvdyBpbmRleCBvZiB0aGUgY2VsbCBiZWluZyBlZGl0ZWQuICovXG4gIEBJbnB1dCgpIHJvdzogbnVtYmVyO1xuXG4gIC8qKiBUaGUgY29sdW1uIGluZGV4IG9mIHRoZSBjZWxsIGJlaW5nIGVkaXRlZC4gKi9cbiAgQElucHV0KCkgY29sdW1uOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBwcm9wZXJ0eSBuYW1lIG9mIHRoZSBjZWxsIGJlaW5nIGVkaXRlZC4gKi9cbiAgQElucHV0KCkgcHJvcDogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIC8qKiBUaGUgb3JpZ2luYWwgdmFsdWUgb2YgdGhlIGNlbGwgYmVpbmcgZWRpdGVkLiAqL1xuICBASW5wdXQoKSBvcmlnaW5hbFZhbHVlOiBUO1xuXG4gIC8qKiBUaGUgY2VsbCBwcm9wZXJ0aWVzIG9mIHRoZSBjZWxsIGJlaW5nIGVkaXRlZC4gKi9cbiAgQElucHV0KCkgY2VsbFByb3BlcnRpZXM6IENlbGxQcm9wZXJ0aWVzO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGVkaXQgaXMgZmluaXNoZWQuXG4gICAqIFRoZSBkYXRhIHdpbGwgYmUgc2F2ZWQgdG8gdGhlIG1vZGVsLlxuICAgKi9cbiAgQE91dHB1dCgpIGZpbmlzaEVkaXQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZWRpdCBpcyBjYW5jZWxlZC5cbiAgICogVGhlIGVudGVyZWQgZGF0YSB3aWxsIGJlIHJldmVydGVkIHRvIHRoZSBvcmlnaW5hbCB2YWx1ZS5cbiAgICovXG4gIEBPdXRwdXQoKSBjYW5jZWxFZGl0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKiBUaGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZWRpdG9yLiAqL1xuICBwcm90ZWN0ZWQgdmFsdWU6IFQ7XG5cbiAgLyoqIEV2ZW50IHRyaWdnZXJlZCBieSBIYW5kc29udGFibGUgb24gZm9jdXMgdGhlIGVkaXRvci5cbiAgICogVGhlIHVzZXIgaGF2ZSB0byBkZWZpbmUgZm9jdXMgbG9naWMuXG4gICAqL1xuICBvbkZvY3VzKGVkaXRvcj86IEV4dGVuZGVkRWRpdG9yPFQ+KTogdm9pZCB7fVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBlZGl0b3IuXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBlZGl0b3IuXG4gICAqL1xuICBnZXRWYWx1ZSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBlZGl0b3IuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0LlxuICAgKi9cbiAgc2V0VmFsdWUodmFsdWU6IFQpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICAvKiogVGhlIHBvc2l0aW9uIG9mIHRoZSBlZGl0b3IgaW4gdGhlIERPTS4gVXNlZCBieSBIYW5kc29udGFibGUgQVBJLiBBdmFpbGFibGUgaW4gYWR2YW5jZWQgbW9kZS4gKi9cbiAgcG9zaXRpb246ICdjb250YWluZXInIHwgJ3BvcnRhbCcgPSAnY29udGFpbmVyJztcblxuICAvKiogVGhlIHNob3J0Y3V0cyBhdmFpbGFibGUgZm9yIHRoZSBlZGl0b3IuIEF2YWlsYWJsZSBpbiBhZHZhbmNlZCBtb2RlLiAqL1xuICBzaG9ydGN1dHM/OiBLZXlib2FyZFNob3J0Y3V0Q29uZmlnW107XG5cbiAgLyoqIFRoZSBncm91cCBuYW1lIGZvciB0aGUgc2hvcnRjdXRzLiBBdmFpbGFibGUgaW4gYWR2YW5jZWQgbW9kZS4qL1xuICBzaG9ydGN1dHNHcm91cD86IHN0cmluZztcblxuICAvKiogQ29uZmlndXJhdGlvbi4gQXZhaWxhYmxlIGluIGFkdmFuY2VkIG1vZGUuICovXG4gIGNvbmZpZz86IGFueTtcblxuICAvKiogTGlmZWN5Y2xlIGhvb2sgY2FsbGVkIGFmdGVyIHRoZSBlZGl0b3IgaXMgb3BlbmVkLiBBdmFpbGFibGUgaW4gYWR2YW5jZWQgbW9kZS4qL1xuICBhZnRlck9wZW4oZWRpdG9yOiBFeHRlbmRlZEVkaXRvcjxUPiwgZXZlbnQ/OiBFdmVudCk6IHZvaWQge31cblxuICAvKiogTGlmZWN5Y2xlIGhvb2sgY2FsbGVkIGFmdGVyIHRoZSBlZGl0b3IgaXMgY2xvc2VkLiBBdmFpbGFibGUgaW4gYWR2YW5jZWQgbW9kZS4gKi9cbiAgYWZ0ZXJDbG9zZShlZGl0b3I6IEV4dGVuZGVkRWRpdG9yPFQ+KTogdm9pZCB7fVxuXG4gIC8qKiBMaWZlY3ljbGUgaG9vayBjYWxsZWQgYWZ0ZXIgdGhlIGVkaXRvciBpcyBpbml0aWFsaXplZC4gQXZhaWxhYmxlIGluIGFkdmFuY2VkIG1vZGUuKi9cbiAgYWZ0ZXJJbml0KGVkaXRvcjogRXh0ZW5kZWRFZGl0b3I8VD4pOiB2b2lkIHt9XG5cbiAgLyoqIExpZmVjeWNsZSBob29rIGNhbGxlZCBiZWZvcmUgdGhlIGVkaXRvciBpcyBvcGVuZWQuIEF2YWlsYWJsZSBpbiBhZHZhbmNlZCBtb2RlLiAqL1xuICBiZWZvcmVPcGVuKFxuICAgIGVkaXRvcjogRXh0ZW5kZWRFZGl0b3I8VD4sXG4gICAge1xuICAgICAgcm93LFxuICAgICAgY29sLFxuICAgICAgcHJvcCxcbiAgICAgIHRkLFxuICAgICAgb3JpZ2luYWxWYWx1ZSxcbiAgICAgIGNlbGxQcm9wZXJ0aWVzLFxuICAgIH06IHtcbiAgICAgIHJvdzogbnVtYmVyO1xuICAgICAgY29sOiBudW1iZXI7XG4gICAgICBwcm9wOiBzdHJpbmcgfCBudW1iZXI7XG4gICAgICB0ZDogSFRNTFRhYmxlQ2VsbEVsZW1lbnQ7XG4gICAgICBvcmlnaW5hbFZhbHVlOiBhbnk7XG4gICAgICBjZWxsUHJvcGVydGllczogQ2VsbFByb3BlcnRpZXM7XG4gICAgfVxuICApOiB2b2lkIHt9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS1lZGl0b3ItcHJvcGVydGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2hvdC10YWJsZS9zcmMvbGliL2VkaXRvci9tb2RlbHMvZmFjdG9yeS1lZGl0b3ItcHJvcGVydGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDdXN0b21FZGl0b3JQbGFjZWhvbGRlckNvbXBvbmVudCB9IGZyb20gJy4uL2N1c3RvbS1lZGl0b3ItcGxhY2Vob2xkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSG90Q2VsbEVkaXRvckFkdmFuY2VkQ29tcG9uZW50IH0gZnJvbSAnLi4vaG90LWNlbGwtZWRpdG9yLWFkdmFuY2VkLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQW5ndWxhci1zcGVjaWZpYyBwcm9wZXJ0aWVzIHRoYXQgd2lsbCBiZSBhZGRlZCB0byB0aGUgZWRpdG9yIGluc3RhbmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFuZ3VsYXJFZGl0b3JQcm9wZXJ0aWVzIHtcbiAgaW5wdXQ6IEhUTUxFbGVtZW50O1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIGN1c3RvbSBBbmd1bGFyIGVkaXRvciBjb21wb25lbnQuICovXG4gIF9jb21wb25lbnRSZWY/OiBDb21wb25lbnRSZWY8SG90Q2VsbEVkaXRvckFkdmFuY2VkQ29tcG9uZW50PGFueT4+O1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIGVkaXRvciBwbGFjZWhvbGRlciBjb21wb25lbnQuICovXG4gIF9lZGl0b3JQbGFjZUhvbGRlclJlZj86IENvbXBvbmVudFJlZjxDdXN0b21FZGl0b3JQbGFjZWhvbGRlckNvbXBvbmVudD47XG5cbiAgLyoqIFN1YnNjcmlwdGlvbiBmb3IgdGhlIGZpbmlzaCBlZGl0IGV2ZW50LiAqL1xuICBfZmluaXNoRWRpdFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICAvKiogU3Vic2NyaXB0aW9uIGZvciB0aGUgY2FuY2VsIGVkaXQgZXZlbnQuICovXG4gIF9jYW5jZWxFZGl0U3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKiBDYWxsYmFjayBmb3IgYWZ0ZXIgcm93IHJlc2l6ZSBob29rLiAqL1xuICBfYWZ0ZXJSb3dSZXNpemVDYWxsYmFjazogKCkgPT4gdm9pZDtcblxuICAvKiogQ2FsbGJhY2sgZm9yIGFmdGVyIGNvbHVtbiByZXNpemUgaG9vay4gKi9cbiAgX2FmdGVyQ29sdW1uUmVzaXplQ2FsbGJhY2s6ICgpID0+IHZvaWQ7XG5cbiAgLyoqIENhbGxiYWNrIGZvciBhZnRlciBkZXN0cm95IGhvb2suICovXG4gIF9hZnRlckRlc3Ryb3lDYWxsYmFjazogKCkgPT4gdm9pZDtcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtc2hvcnRjdXQtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaG90LXRhYmxlL3NyYy9saWIvZWRpdG9yL21vZGVscy9rZXlib2FyZC1zaG9ydGN1dC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4dGVuZGVkRWRpdG9yIH0gZnJvbSAnaGFuZHNvbnRhYmxlL2VkaXRvcnMvZmFjdG9yeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5Ym9hcmRTaG9ydGN1dENvbmZpZyB7XG4gIGtleXM6IHN0cmluZ1tdW107XG4gIGNhbGxiYWNrOiAoZWRpdG9ySW5zdGFuY2U6IEV4dGVuZGVkRWRpdG9yPGFueT4sIGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiBib29sZWFuIHwgdm9pZDtcbiAgZ3JvdXA/OiBzdHJpbmc7XG4gIHJ1bk9ubHlJZj86ICgpID0+IGJvb2xlYW47XG4gIGNhcHR1cmVDdHJsPzogYm9vbGVhbjtcbiAgcHJldmVudERlZmF1bHQ/OiBib29sZWFuO1xuICBzdG9wUHJvcGFnYXRpb24/OiBib29sZWFuO1xuICByZWxhdGl2ZVRvR3JvdXA/OiBzdHJpbmc7XG4gIHBvc2l0aW9uPzogJ2JlZm9yZScgfCAnYWZ0ZXInO1xuICBmb3J3YXJkVG9Db250ZXh0PzogYW55O1xufVxuIl19
@@ -1,55 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Abstract base component for creating advanced custom cell renderer components for Handsontable.
5
- *
6
- * This class provides a common interface and properties required by any custom cell renderer.
7
- *
8
- * @template TValue - The type of the component renderer.
9
- * @template TProps - The type of additional renderer properties.
10
- */
11
- export class HotCellRendererAdvancedComponent {
12
- static RENDERER_MARKER = Symbol('HotCellRendererAdvancedComponent');
13
- value = '';
14
- instance;
15
- td;
16
- row;
17
- col;
18
- prop;
19
- /**
20
- * The cell properties provided by Handsontable, extended with optional renderer-specific properties.
21
- */
22
- cellProperties;
23
- /**
24
- * Retrieves the renderer-specific properties from the cell properties.
25
- *
26
- * @returns The additional properties for the renderer.
27
- */
28
- getProps() {
29
- return this.cellProperties?.rendererProps ?? {};
30
- }
31
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HotCellRendererAdvancedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HotCellRendererAdvancedComponent, selector: "hot-cell-renderer-advanced", inputs: { value: "value", instance: "instance", td: "td", row: "row", col: "col", prop: "prop", cellProperties: "cellProperties" }, ngImport: i0, template: `<!-- This is an abstract component. Extend this component and provide your own template. -->`, isInline: true });
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HotCellRendererAdvancedComponent, decorators: [{
35
- type: Component,
36
- args: [{
37
- selector: 'hot-cell-renderer-advanced',
38
- template: `<!-- This is an abstract component. Extend this component and provide your own template. -->`,
39
- }]
40
- }], propDecorators: { value: [{
41
- type: Input
42
- }], instance: [{
43
- type: Input
44
- }], td: [{
45
- type: Input
46
- }], row: [{
47
- type: Input
48
- }], col: [{
49
- type: Input
50
- }], prop: [{
51
- type: Input
52
- }], cellProperties: [{
53
- type: Input
54
- }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LWNlbGwtcmVuZGVyZXItYWR2YW5jZWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaG90LXRhYmxlL3NyYy9saWIvcmVuZGVyZXIvaG90LWNlbGwtcmVuZGVyZXItYWR2YW5jZWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVqRDs7Ozs7OztHQU9HO0FBS0gsTUFBTSxPQUFnQixnQ0FBZ0M7SUFPcEQsTUFBTSxDQUFVLGVBQWUsR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUVwRSxLQUFLLEdBQVcsRUFBWSxDQUFDO0lBRTdCLFFBQVEsQ0FBZTtJQUN2QixFQUFFLENBQXVCO0lBQ3pCLEdBQUcsQ0FBUztJQUNaLEdBQUcsQ0FBUztJQUNaLElBQUksQ0FBUztJQUV0Qjs7T0FFRztJQUNNLGNBQWMsQ0FBMkQ7SUFFbEY7Ozs7T0FJRztJQUNJLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxJQUFLLEVBQWEsQ0FBQztJQUM5RCxDQUFDO3dHQTdCbUIsZ0NBQWdDOzRGQUFoQyxnQ0FBZ0Msc01BRjFDLDhGQUE4Rjs7NEZBRXBGLGdDQUFnQztrQkFKckQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxRQUFRLEVBQUUsOEZBQThGO2lCQUN6Rzs4QkFVVSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBIYW5kc29udGFibGUgZnJvbSAnaGFuZHNvbnRhYmxlL2Jhc2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEFic3RyYWN0IGJhc2UgY29tcG9uZW50IGZvciBjcmVhdGluZyBhZHZhbmNlZCBjdXN0b20gY2VsbCByZW5kZXJlciBjb21wb25lbnRzIGZvciBIYW5kc29udGFibGUuXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIGNvbW1vbiBpbnRlcmZhY2UgYW5kIHByb3BlcnRpZXMgcmVxdWlyZWQgYnkgYW55IGN1c3RvbSBjZWxsIHJlbmRlcmVyLlxuICpcbiAqIEB0ZW1wbGF0ZSBUVmFsdWUgLSBUaGUgdHlwZSBvZiB0aGUgY29tcG9uZW50IHJlbmRlcmVyLlxuICogQHRlbXBsYXRlIFRQcm9wcyAtIFRoZSB0eXBlIG9mIGFkZGl0aW9uYWwgcmVuZGVyZXIgcHJvcGVydGllcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaG90LWNlbGwtcmVuZGVyZXItYWR2YW5jZWQnLFxuICB0ZW1wbGF0ZTogYDwhLS0gVGhpcyBpcyBhbiBhYnN0cmFjdCBjb21wb25lbnQuIEV4dGVuZCB0aGlzIGNvbXBvbmVudCBhbmQgcHJvdmlkZSB5b3VyIG93biB0ZW1wbGF0ZS4gLS0+YCxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSG90Q2VsbFJlbmRlcmVyQWR2YW5jZWRDb21wb25lbnQ8XG4gIFRWYWx1ZSBleHRlbmRzIHN0cmluZyB8XG4gIG51bWJlciB8XG4gIGJvb2xlYW4gfFxuICBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgQXJyYXk8YW55PiA9IHN0cmluZyxcbiAgVFByb3BzIGV4dGVuZHMge30gPSBhbnlcbj4ge1xuICBzdGF0aWMgcmVhZG9ubHkgUkVOREVSRVJfTUFSS0VSID0gU3ltYm9sKCdIb3RDZWxsUmVuZGVyZXJBZHZhbmNlZENvbXBvbmVudCcpO1xuXG4gIEBJbnB1dCgpIHZhbHVlOiBUVmFsdWUgPSAnJyBhcyBUVmFsdWU7XG5cbiAgQElucHV0KCkgaW5zdGFuY2U6IEhhbmRzb250YWJsZTtcbiAgQElucHV0KCkgdGQ6IEhUTUxUYWJsZUNlbGxFbGVtZW50O1xuICBASW5wdXQoKSByb3c6IG51bWJlcjtcbiAgQElucHV0KCkgY29sOiBudW1iZXI7XG4gIEBJbnB1dCgpIHByb3A6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNlbGwgcHJvcGVydGllcyBwcm92aWRlZCBieSBIYW5kc29udGFibGUsIGV4dGVuZGVkIHdpdGggb3B0aW9uYWwgcmVuZGVyZXItc3BlY2lmaWMgcHJvcGVydGllcy5cbiAgICovXG4gIEBJbnB1dCgpIGNlbGxQcm9wZXJ0aWVzOiBIYW5kc29udGFibGUuQ2VsbFByb3BlcnRpZXMgJiB7IHJlbmRlcmVyUHJvcHM/OiBUUHJvcHMgfTtcblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSByZW5kZXJlci1zcGVjaWZpYyBwcm9wZXJ0aWVzIGZyb20gdGhlIGNlbGwgcHJvcGVydGllcy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgdGhlIHJlbmRlcmVyLlxuICAgKi9cbiAgcHVibGljIGdldFByb3BzKCk6IFRQcm9wcyB7XG4gICAgcmV0dXJuIHRoaXMuY2VsbFByb3BlcnRpZXM/LnJlbmRlcmVyUHJvcHMgPz8gKHt9IGFzIFRQcm9wcyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,13 +0,0 @@
1
- import { ComponentRef } from '@angular/core';
2
- import { HotCellEditorAdvancedComponent } from './hot-cell-editor-advanced.component';
3
- /**
4
- * Factory function to create a custom Handsontable editor adapter for Angular components.
5
- *
6
- * This adapter integrates Angular components with Handsontable's editor system using the new
7
- * editorFactory API, allowing you to use Angular components as custom cell editors while
8
- * maintaining full Angular lifecycle management and change detection.
9
- *
10
- * @returns A custom editor class that can be used in Handsontable column settings.
11
- *
12
- */
13
- export declare const FactoryEditorAdapter: (componentRef: ComponentRef<HotCellEditorAdvancedComponent<any>>) => any;
@@ -1,74 +0,0 @@
1
- import { EventEmitter } from '@angular/core';
2
- import { ExtendedEditor } from 'handsontable/editors/factory';
3
- import { CellProperties } from 'handsontable/settings';
4
- import { KeyboardShortcutConfig } from './models/keyboard-shortcut-config';
5
- import * as i0 from "@angular/core";
6
- /**
7
- * Abstract class representing a Handsontable editor in angular.
8
- */
9
- export declare abstract class HotCellEditorAdvancedComponent<T extends string | number | boolean | Record<string, any> | Array<any>> {
10
- static readonly EDITOR_MARKER: unique symbol;
11
- /** The height of the editor as a percentage of the parent container. */
12
- protected heightFitParentContainer: number;
13
- /** The width of the editor as a percentage of the parent container. */
14
- protected widthFitParentContainer: number;
15
- /** The row index of the cell being edited. */
16
- row: number;
17
- /** The column index of the cell being edited. */
18
- column: number;
19
- /** The property name of the cell being edited. */
20
- prop: string | number;
21
- /** The original value of the cell being edited. */
22
- originalValue: T;
23
- /** The cell properties of the cell being edited. */
24
- cellProperties: CellProperties;
25
- /** Event emitted when the edit is finished.
26
- * The data will be saved to the model.
27
- */
28
- finishEdit: EventEmitter<void>;
29
- /** Event emitted when the edit is canceled.
30
- * The entered data will be reverted to the original value.
31
- */
32
- cancelEdit: EventEmitter<void>;
33
- /** The current value of the editor. */
34
- protected value: T;
35
- /** Event triggered by Handsontable on focus the editor.
36
- * The user have to define focus logic.
37
- */
38
- onFocus(editor?: ExtendedEditor<T>): void;
39
- /**
40
- * Gets the current value of the editor.
41
- * @returns The current value of the editor.
42
- */
43
- getValue(): T;
44
- /**
45
- * Sets the current value of the editor.
46
- * @param value The value to set.
47
- */
48
- setValue(value: T): void;
49
- /** The position of the editor in the DOM. Used by Handsontable API. Available in advanced mode. */
50
- position: 'container' | 'portal';
51
- /** The shortcuts available for the editor. Available in advanced mode. */
52
- shortcuts?: KeyboardShortcutConfig[];
53
- /** The group name for the shortcuts. Available in advanced mode.*/
54
- shortcutsGroup?: string;
55
- /** Configuration. Available in advanced mode. */
56
- config?: any;
57
- /** Lifecycle hook called after the editor is opened. Available in advanced mode.*/
58
- afterOpen(editor: ExtendedEditor<T>, event?: Event): void;
59
- /** Lifecycle hook called after the editor is closed. Available in advanced mode. */
60
- afterClose(editor: ExtendedEditor<T>): void;
61
- /** Lifecycle hook called after the editor is initialized. Available in advanced mode.*/
62
- afterInit(editor: ExtendedEditor<T>): void;
63
- /** Lifecycle hook called before the editor is opened. Available in advanced mode. */
64
- beforeOpen(editor: ExtendedEditor<T>, { row, col, prop, td, originalValue, cellProperties, }: {
65
- row: number;
66
- col: number;
67
- prop: string | number;
68
- td: HTMLTableCellElement;
69
- originalValue: any;
70
- cellProperties: CellProperties;
71
- }): void;
72
- static ɵfac: i0.ɵɵFactoryDeclaration<HotCellEditorAdvancedComponent<any>, never>;
73
- static ɵdir: i0.ɵɵDirectiveDeclaration<HotCellEditorAdvancedComponent<any>, never, never, { "row": { "alias": "row"; "required": false; }; "column": { "alias": "column"; "required": false; }; "prop": { "alias": "prop"; "required": false; }; "originalValue": { "alias": "originalValue"; "required": false; }; "cellProperties": { "alias": "cellProperties"; "required": false; }; }, { "finishEdit": "finishEdit"; "cancelEdit": "cancelEdit"; }, never, never, false, never>;
74
- }
@@ -1,24 +0,0 @@
1
- import { ComponentRef } from '@angular/core';
2
- import { CustomEditorPlaceholderComponent } from '../custom-editor-placeholder.component';
3
- import { Subscription } from 'rxjs';
4
- import { HotCellEditorAdvancedComponent } from '../hot-cell-editor-advanced.component';
5
- /**
6
- * Angular-specific properties that will be added to the editor instance.
7
- */
8
- export interface AngularEditorProperties {
9
- input: HTMLElement;
10
- /** Reference to the custom Angular editor component. */
11
- _componentRef?: ComponentRef<HotCellEditorAdvancedComponent<any>>;
12
- /** Reference to the editor placeholder component. */
13
- _editorPlaceHolderRef?: ComponentRef<CustomEditorPlaceholderComponent>;
14
- /** Subscription for the finish edit event. */
15
- _finishEditSubscription?: Subscription;
16
- /** Subscription for the cancel edit event. */
17
- _cancelEditSubscription?: Subscription;
18
- /** Callback for after row resize hook. */
19
- _afterRowResizeCallback: () => void;
20
- /** Callback for after column resize hook. */
21
- _afterColumnResizeCallback: () => void;
22
- /** Callback for after destroy hook. */
23
- _afterDestroyCallback: () => void;
24
- }
@@ -1,13 +0,0 @@
1
- import { ExtendedEditor } from 'handsontable/editors/factory';
2
- export interface KeyboardShortcutConfig {
3
- keys: string[][];
4
- callback: (editorInstance: ExtendedEditor<any>, event: KeyboardEvent) => boolean | void;
5
- group?: string;
6
- runOnlyIf?: () => boolean;
7
- captureCtrl?: boolean;
8
- preventDefault?: boolean;
9
- stopPropagation?: boolean;
10
- relativeToGroup?: string;
11
- position?: 'before' | 'after';
12
- forwardToContext?: any;
13
- }
@@ -1,33 +0,0 @@
1
- import Handsontable from 'handsontable/base';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Abstract base component for creating advanced custom cell renderer components for Handsontable.
5
- *
6
- * This class provides a common interface and properties required by any custom cell renderer.
7
- *
8
- * @template TValue - The type of the component renderer.
9
- * @template TProps - The type of additional renderer properties.
10
- */
11
- export declare abstract class HotCellRendererAdvancedComponent<TValue extends string | number | boolean | Record<string, any> | Array<any> = string, TProps extends {} = any> {
12
- static readonly RENDERER_MARKER: unique symbol;
13
- value: TValue;
14
- instance: Handsontable;
15
- td: HTMLTableCellElement;
16
- row: number;
17
- col: number;
18
- prop: string;
19
- /**
20
- * The cell properties provided by Handsontable, extended with optional renderer-specific properties.
21
- */
22
- cellProperties: Handsontable.CellProperties & {
23
- rendererProps?: TProps;
24
- };
25
- /**
26
- * Retrieves the renderer-specific properties from the cell properties.
27
- *
28
- * @returns The additional properties for the renderer.
29
- */
30
- getProps(): TProps;
31
- static ɵfac: i0.ɵɵFactoryDeclaration<HotCellRendererAdvancedComponent<any, any>, never>;
32
- static ɵcmp: i0.ɵɵComponentDeclaration<HotCellRendererAdvancedComponent<any, any>, "hot-cell-renderer-advanced", never, { "value": { "alias": "value"; "required": false; }; "instance": { "alias": "instance"; "required": false; }; "td": { "alias": "td"; "required": false; }; "row": { "alias": "row"; "required": false; }; "col": { "alias": "col"; "required": false; }; "prop": { "alias": "prop"; "required": false; }; "cellProperties": { "alias": "cellProperties"; "required": false; }; }, {}, never, never, false, never>;
33
- }