@slickgrid-universal/composite-editor-component 9.8.0 → 9.9.0

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.
@@ -1,6 +1,12 @@
1
- import type { Column, CompositeEditorOption, EditorArguments } from '@slickgrid-universal/common';
1
+ import type { Column, CompositeEditorOption, Editor, EditorArguments } from '@slickgrid-universal/common';
2
2
  export interface CompositeEditorArguments extends EditorArguments {
3
3
  formValues: any;
4
+ isCompositeEditor: true;
5
+ }
6
+ export interface CompositeEditor extends Editor {
7
+ getEditors: () => Array<Editor & {
8
+ args: EditorArguments;
9
+ }>;
4
10
  }
5
11
  /**
6
12
  * A composite SlickGrid editor factory.
@@ -28,8 +34,8 @@ export interface CompositeEditorArguments extends EditorArguments {
28
34
  * position - A function to be called when the grid asks the editor to reposition itself.
29
35
  * destroy - A function to be called when the editor is destroyed.
30
36
  */
31
- export declare function SlickCompositeEditor(this: any, columns: Column[], containers: Array<HTMLDivElement>, options: CompositeEditorOption): {
32
- (this: any, args: EditorArguments): void;
37
+ export declare function SlickCompositeEditor(this: CompositeEditor, columns: Column[], containers: Array<HTMLDivElement>, options: CompositeEditorOption): {
38
+ (this: CompositeEditor, args: EditorArguments): void;
33
39
  prototype: any;
34
40
  };
35
41
  //# sourceMappingURL=compositeEditor.factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compositeEditor.factory.d.ts","sourceRoot":"","sources":["../src/compositeEditor.factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,MAAM,EACN,qBAAqB,EAErB,eAAe,EAIhB,MAAM,6BAA6B,CAAC;AAGrC,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC/D,UAAU,EAAE,GAAG,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,EACjC,OAAO,EAAE,qBAAqB,GAC7B;IACD,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,SAAS,EAAE,GAAG,CAAC;CAChB,CAkOA"}
1
+ {"version":3,"file":"compositeEditor.factory.d.ts","sourceRoot":"","sources":["../src/compositeEditor.factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,MAAM,EAEN,qBAAqB,EACrB,MAAM,EACN,eAAe,EAIhB,MAAM,6BAA6B,CAAC;AAGrC,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC/D,UAAU,EAAE,GAAG,CAAC;IAChB,iBAAiB,EAAE,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,MAAM;IAC7C,UAAU,EAAE,MAAM,KAAK,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,eAAe,CAAA;KAAE,CAAC,CAAC;CAC7D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,EACjC,OAAO,EAAE,qBAAqB,GAC7B;IACD,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IACrD,SAAS,EAAE,GAAG,CAAC;CAChB,CAkOA"}
@@ -62,20 +62,21 @@ export function SlickCompositeEditor(columns, containers, options) {
62
62
  const context = this;
63
63
  let editors = [];
64
64
  function init() {
65
- let newArgs = {};
66
65
  let idx = 0;
67
66
  while (idx < columns.length) {
68
67
  if (columns[idx].editorClass) {
69
68
  const column = columns[idx];
70
- newArgs = { ...args };
71
- newArgs.container = containers[idx];
72
- newArgs.column = column;
73
- newArgs.position = getContainerBox(idx);
74
- newArgs.commitChanges = noop;
75
- newArgs.cancelChanges = noop;
76
- newArgs.compositeEditorOptions = options;
77
- newArgs.formValues = {};
78
- const currentEditor = new column.editorClass(newArgs);
69
+ const currentEditor = new column.editorClass({
70
+ ...args,
71
+ container: containers[idx],
72
+ column,
73
+ position: getContainerBox(idx),
74
+ commitChanges: noop,
75
+ cancelChanges: noop,
76
+ compositeEditorOptions: options,
77
+ isCompositeEditor: true,
78
+ formValues: {},
79
+ });
79
80
  options.editors[column.id] = currentEditor; // add every Editor instance refs
80
81
  editors.push(currentEditor);
81
82
  }
@@ -165,7 +166,7 @@ export function SlickCompositeEditor(columns, containers, options) {
165
166
  index: idx,
166
167
  editor: editors[idx],
167
168
  container: containers[idx],
168
- msg: validationResults.msg,
169
+ msg: validationResults.msg || '',
169
170
  });
170
171
  if (validationElm) {
171
172
  validationElm.textContent = `${validationMsgPrefix}${validationResults.msg}`;
@@ -1 +1 @@
1
- {"version":3,"file":"compositeEditor.factory.js","sourceRoot":"","sources":["../src/compositeEditor.factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compositeEditor.factory.js","sourceRoot":"","sources":["../src/compositeEditor.factory.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slickgrid-universal/composite-editor-component",
3
- "version": "9.8.0",
3
+ "version": "9.9.0",
4
4
  "description": "Slick Composite Editor Component - Vanilla Implementation of a Composite Editor Modal Window Component",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -37,8 +37,8 @@
37
37
  ],
38
38
  "dependencies": {
39
39
  "@slickgrid-universal/binding": "9.8.0",
40
- "@slickgrid-universal/common": "9.8.0",
41
- "@slickgrid-universal/utils": "9.8.0"
40
+ "@slickgrid-universal/common": "9.9.0",
41
+ "@slickgrid-universal/utils": "9.9.0"
42
42
  },
43
- "gitHead": "c18cbb7edf292e2ac4025cafeb1911a4f3eeb38b"
43
+ "gitHead": "35707a35ebdb7a2569457bc2042870b36605c807"
44
44
  }
@@ -1,6 +1,7 @@
1
1
  import { emptyElement, getOffset } from '@slickgrid-universal/common';
2
2
  import type {
3
3
  Column,
4
+ CompositeEditorError,
4
5
  CompositeEditorOption,
5
6
  Editor,
6
7
  EditorArguments,
@@ -12,6 +13,11 @@ import type { HtmlElementPosition } from '@slickgrid-universal/utils';
12
13
 
13
14
  export interface CompositeEditorArguments extends EditorArguments {
14
15
  formValues: any;
16
+ isCompositeEditor: true;
17
+ }
18
+
19
+ export interface CompositeEditor extends Editor {
20
+ getEditors: () => Array<Editor & { args: EditorArguments }>;
15
21
  }
16
22
 
17
23
  /**
@@ -41,12 +47,12 @@ export interface CompositeEditorArguments extends EditorArguments {
41
47
  * destroy - A function to be called when the editor is destroyed.
42
48
  */
43
49
  export function SlickCompositeEditor(
44
- this: any,
50
+ this: CompositeEditor,
45
51
  columns: Column[],
46
52
  containers: Array<HTMLDivElement>,
47
53
  options: CompositeEditorOption
48
54
  ): {
49
- (this: any, args: EditorArguments): void;
55
+ (this: CompositeEditor, args: EditorArguments): void;
50
56
  prototype: any;
51
57
  } {
52
58
  let firstInvalidEditor: Editor | null;
@@ -84,27 +90,27 @@ export function SlickCompositeEditor(
84
90
  };
85
91
 
86
92
  /* Editor prototype that will get instantiated dynamically by looping through each Editors */
87
- function editor(this: any, args: EditorArguments) {
93
+ function editor(this: CompositeEditor, args: EditorArguments) {
88
94
  // eslint-disable-next-line @typescript-eslint/no-this-alias
89
- const context: any = this;
95
+ const context: CompositeEditor = this;
90
96
  let editors: Array<Editor & { args: EditorArguments }> = [];
91
97
 
92
98
  function init() {
93
- let newArgs = {} as CompositeEditorArguments;
94
99
  let idx = 0;
95
100
  while (idx < columns.length) {
96
101
  if (columns[idx].editorClass) {
97
102
  const column = columns[idx];
98
- newArgs = { ...args } as CompositeEditorArguments;
99
- newArgs.container = containers[idx];
100
- newArgs.column = column;
101
- newArgs.position = getContainerBox(idx);
102
- newArgs.commitChanges = noop;
103
- newArgs.cancelChanges = noop;
104
- newArgs.compositeEditorOptions = options;
105
- newArgs.formValues = {};
106
-
107
- const currentEditor = new (column.editorClass as EditorConstructor)(newArgs);
103
+ const currentEditor = new (column.editorClass as EditorConstructor)({
104
+ ...args,
105
+ container: containers[idx],
106
+ column,
107
+ position: getContainerBox(idx),
108
+ commitChanges: noop,
109
+ cancelChanges: noop,
110
+ compositeEditorOptions: options,
111
+ isCompositeEditor: true,
112
+ formValues: {},
113
+ } as CompositeEditorArguments);
108
114
  options.editors[column.id] = currentEditor; // add every Editor instance refs
109
115
  editors.push(currentEditor as Editor & { args: EditorArguments });
110
116
  }
@@ -185,10 +191,10 @@ export function SlickCompositeEditor(
185
191
  }
186
192
  };
187
193
 
188
- context.validate = (targetElm: HTMLElement | null) => {
194
+ context.validate = (targetElm?: HTMLElement | null): EditorValidationResult => {
189
195
  let validationResults: EditorValidationResult;
190
196
  firstInvalidEditor = null;
191
- const errors = [];
197
+ const errors: CompositeEditorError[] = [];
192
198
 
193
199
  let idx = 0;
194
200
  while (idx < editors.length) {
@@ -209,7 +215,7 @@ export function SlickCompositeEditor(
209
215
  index: idx,
210
216
  editor: editors[idx],
211
217
  container: containers[idx],
212
- msg: validationResults.msg,
218
+ msg: validationResults.msg || '',
213
219
  });
214
220
 
215
221
  if (validationElm) {