@genesislcap/foundation-entity-management 14.424.1 → 14.426.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.
@@ -56,6 +56,7 @@ export declare const EntityManagement: React.ForwardRefExoticComponent<
56
56
  }
57
57
  > & React.RefAttributes<EntityManagementWC>
58
58
  >;
59
+ export type EntityManagementRef = EntityManagementWC;
59
60
 
60
61
  export declare const SmartFormModal: React.ForwardRefExoticComponent<
61
62
  React.PropsWithChildren<
@@ -75,6 +76,7 @@ export declare const SmartFormModal: React.ForwardRefExoticComponent<
75
76
  }
76
77
  > & React.RefAttributes<SmartFormModalWC>
77
78
  >;
79
+ export type SmartFormModalRef = SmartFormModalWC;
78
80
 
79
81
  export declare const List: React.ForwardRefExoticComponent<
80
82
  React.PropsWithChildren<
@@ -92,6 +94,7 @@ export declare const List: React.ForwardRefExoticComponent<
92
94
  }
93
95
  > & React.RefAttributes<ListWC>
94
96
  >;
97
+ export type ListRef = ListWC;
95
98
 
96
99
  export declare const EntityManagementDemo: React.ForwardRefExoticComponent<
97
100
  React.PropsWithChildren<
@@ -100,5 +103,6 @@ export declare const EntityManagementDemo: React.ForwardRefExoticComponent<
100
103
  }
101
104
  > & React.RefAttributes<EntityManagementDemoWC>
102
105
  >;
106
+ export type EntityManagementDemoRef = EntityManagementDemoWC;
103
107
 
104
108
  export {};
package/dist/react.cjs CHANGED
@@ -5,62 +5,216 @@
5
5
 
6
6
  'use strict';
7
7
 
8
- const { provideReactWrapper } = require('@microsoft/fast-react-wrapper');
9
8
  const React = require('react');
10
9
  const { EntityManagement: EntityManagementWC } = require('./esm/entities/entities.js');
11
10
  const { SmartFormModal: SmartFormModalWC } = require('./esm/entities/smartFormModal.js');
12
11
  const { List: ListWC } = require('./esm/list/list.js');
13
12
  const { EntityManagementDemo: EntityManagementDemoWC } = require('./esm/routes/demo/entity-management.js');
14
13
 
15
- const { wrap } = provideReactWrapper(React);
14
+ function _mergeRefs(...refs) {
15
+ return (value) => {
16
+ for (const ref of refs) {
17
+ if (typeof ref === 'function') ref(value);
18
+ else if (ref != null) ref.current = value;
19
+ }
20
+ };
21
+ }
16
22
 
17
- const EntityManagement = wrap(EntityManagementWC, {
18
- events: {
19
- onRequestChanged: 'request-changed',
20
- onCriteriaChanged: 'criteria-changed',
21
- onCreateEntity: 'create-entity',
22
- onEditEntity: 'edit-entity',
23
- onDeleteEntity: 'delete-entity',
24
- onSubmitFailure: 'submit-failure',
25
- onSubmitSuccess: 'submit-success',
26
- onRowClick: 'rowClick',
27
- onRowDblClick: 'rowDblClick',
28
- onRowSelected: 'rowSelected',
29
- onSelectionChanged: 'selectionChanged',
30
- },
23
+ const EntityManagement = React.forwardRef(function EntityManagement(props, ref) {
24
+ const { onRequestChanged, onCriteriaChanged, onCreateEntity, onEditEntity, onDeleteEntity, onSubmitFailure, onSubmitSuccess, onRowClick, onRowDblClick, onRowSelected, onSelectionChanged, children, ...rest } = props;
25
+ const _innerRef = React.useRef(null);
26
+ const _onRequestChangedRef = React.useRef(onRequestChanged);
27
+ _onRequestChangedRef.current = onRequestChanged;
28
+ const _onCriteriaChangedRef = React.useRef(onCriteriaChanged);
29
+ _onCriteriaChangedRef.current = onCriteriaChanged;
30
+ const _onCreateEntityRef = React.useRef(onCreateEntity);
31
+ _onCreateEntityRef.current = onCreateEntity;
32
+ const _onEditEntityRef = React.useRef(onEditEntity);
33
+ _onEditEntityRef.current = onEditEntity;
34
+ const _onDeleteEntityRef = React.useRef(onDeleteEntity);
35
+ _onDeleteEntityRef.current = onDeleteEntity;
36
+ const _onSubmitFailureRef = React.useRef(onSubmitFailure);
37
+ _onSubmitFailureRef.current = onSubmitFailure;
38
+ const _onSubmitSuccessRef = React.useRef(onSubmitSuccess);
39
+ _onSubmitSuccessRef.current = onSubmitSuccess;
40
+ const _onRowClickRef = React.useRef(onRowClick);
41
+ _onRowClickRef.current = onRowClick;
42
+ const _onRowDblClickRef = React.useRef(onRowDblClick);
43
+ _onRowDblClickRef.current = onRowDblClick;
44
+ const _onRowSelectedRef = React.useRef(onRowSelected);
45
+ _onRowSelectedRef.current = onRowSelected;
46
+ const _onSelectionChangedRef = React.useRef(onSelectionChanged);
47
+ _onSelectionChangedRef.current = onSelectionChanged;
48
+ React.useLayoutEffect(() => {
49
+ const el = _innerRef.current;
50
+ if (!el) return;
51
+ const _onRequestChangedFn = (e) => _onRequestChangedRef.current?.(e);
52
+ el.addEventListener('request-changed', _onRequestChangedFn);
53
+ const _onCriteriaChangedFn = (e) => _onCriteriaChangedRef.current?.(e);
54
+ el.addEventListener('criteria-changed', _onCriteriaChangedFn);
55
+ const _onCreateEntityFn = (e) => _onCreateEntityRef.current?.(e);
56
+ el.addEventListener('create-entity', _onCreateEntityFn);
57
+ const _onEditEntityFn = (e) => _onEditEntityRef.current?.(e);
58
+ el.addEventListener('edit-entity', _onEditEntityFn);
59
+ const _onDeleteEntityFn = (e) => _onDeleteEntityRef.current?.(e);
60
+ el.addEventListener('delete-entity', _onDeleteEntityFn);
61
+ const _onSubmitFailureFn = (e) => _onSubmitFailureRef.current?.(e);
62
+ el.addEventListener('submit-failure', _onSubmitFailureFn);
63
+ const _onSubmitSuccessFn = (e) => _onSubmitSuccessRef.current?.(e);
64
+ el.addEventListener('submit-success', _onSubmitSuccessFn);
65
+ const _onRowClickFn = (e) => _onRowClickRef.current?.(e);
66
+ el.addEventListener('rowClick', _onRowClickFn);
67
+ const _onRowDblClickFn = (e) => _onRowDblClickRef.current?.(e);
68
+ el.addEventListener('rowDblClick', _onRowDblClickFn);
69
+ const _onRowSelectedFn = (e) => _onRowSelectedRef.current?.(e);
70
+ el.addEventListener('rowSelected', _onRowSelectedFn);
71
+ const _onSelectionChangedFn = (e) => _onSelectionChangedRef.current?.(e);
72
+ el.addEventListener('selectionChanged', _onSelectionChangedFn);
73
+ return () => {
74
+ el.removeEventListener('request-changed', _onRequestChangedFn);
75
+ el.removeEventListener('criteria-changed', _onCriteriaChangedFn);
76
+ el.removeEventListener('create-entity', _onCreateEntityFn);
77
+ el.removeEventListener('edit-entity', _onEditEntityFn);
78
+ el.removeEventListener('delete-entity', _onDeleteEntityFn);
79
+ el.removeEventListener('submit-failure', _onSubmitFailureFn);
80
+ el.removeEventListener('submit-success', _onSubmitSuccessFn);
81
+ el.removeEventListener('rowClick', _onRowClickFn);
82
+ el.removeEventListener('rowDblClick', _onRowDblClickFn);
83
+ el.removeEventListener('rowSelected', _onRowSelectedFn);
84
+ el.removeEventListener('selectionChanged', _onSelectionChangedFn);
85
+ };
86
+ }, []);
87
+ return React.createElement(customElements.getName(EntityManagementWC) ?? 'entity-management', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
31
88
  });
32
89
 
33
- const SmartFormModal = wrap(SmartFormModalWC, {
34
- events: {
35
- onRequestChanged: 'request-changed',
36
- onCriteriaChanged: 'criteria-changed',
37
- onCreateEntity: 'create-entity',
38
- onEditEntity: 'edit-entity',
39
- onDeleteEntity: 'delete-entity',
40
- onSubmitFailure: 'submit-failure',
41
- onSubmitSuccess: 'submit-success',
42
- onRowClick: 'rowClick',
43
- onRowDblClick: 'rowDblClick',
44
- onRowSelected: 'rowSelected',
45
- onSelectionChanged: 'selectionChanged',
46
- },
90
+ const SmartFormModal = React.forwardRef(function SmartFormModal(props, ref) {
91
+ const { onRequestChanged, onCriteriaChanged, onCreateEntity, onEditEntity, onDeleteEntity, onSubmitFailure, onSubmitSuccess, onRowClick, onRowDblClick, onRowSelected, onSelectionChanged, children, ...rest } = props;
92
+ const _innerRef = React.useRef(null);
93
+ const _onRequestChangedRef = React.useRef(onRequestChanged);
94
+ _onRequestChangedRef.current = onRequestChanged;
95
+ const _onCriteriaChangedRef = React.useRef(onCriteriaChanged);
96
+ _onCriteriaChangedRef.current = onCriteriaChanged;
97
+ const _onCreateEntityRef = React.useRef(onCreateEntity);
98
+ _onCreateEntityRef.current = onCreateEntity;
99
+ const _onEditEntityRef = React.useRef(onEditEntity);
100
+ _onEditEntityRef.current = onEditEntity;
101
+ const _onDeleteEntityRef = React.useRef(onDeleteEntity);
102
+ _onDeleteEntityRef.current = onDeleteEntity;
103
+ const _onSubmitFailureRef = React.useRef(onSubmitFailure);
104
+ _onSubmitFailureRef.current = onSubmitFailure;
105
+ const _onSubmitSuccessRef = React.useRef(onSubmitSuccess);
106
+ _onSubmitSuccessRef.current = onSubmitSuccess;
107
+ const _onRowClickRef = React.useRef(onRowClick);
108
+ _onRowClickRef.current = onRowClick;
109
+ const _onRowDblClickRef = React.useRef(onRowDblClick);
110
+ _onRowDblClickRef.current = onRowDblClick;
111
+ const _onRowSelectedRef = React.useRef(onRowSelected);
112
+ _onRowSelectedRef.current = onRowSelected;
113
+ const _onSelectionChangedRef = React.useRef(onSelectionChanged);
114
+ _onSelectionChangedRef.current = onSelectionChanged;
115
+ React.useLayoutEffect(() => {
116
+ const el = _innerRef.current;
117
+ if (!el) return;
118
+ const _onRequestChangedFn = (e) => _onRequestChangedRef.current?.(e);
119
+ el.addEventListener('request-changed', _onRequestChangedFn);
120
+ const _onCriteriaChangedFn = (e) => _onCriteriaChangedRef.current?.(e);
121
+ el.addEventListener('criteria-changed', _onCriteriaChangedFn);
122
+ const _onCreateEntityFn = (e) => _onCreateEntityRef.current?.(e);
123
+ el.addEventListener('create-entity', _onCreateEntityFn);
124
+ const _onEditEntityFn = (e) => _onEditEntityRef.current?.(e);
125
+ el.addEventListener('edit-entity', _onEditEntityFn);
126
+ const _onDeleteEntityFn = (e) => _onDeleteEntityRef.current?.(e);
127
+ el.addEventListener('delete-entity', _onDeleteEntityFn);
128
+ const _onSubmitFailureFn = (e) => _onSubmitFailureRef.current?.(e);
129
+ el.addEventListener('submit-failure', _onSubmitFailureFn);
130
+ const _onSubmitSuccessFn = (e) => _onSubmitSuccessRef.current?.(e);
131
+ el.addEventListener('submit-success', _onSubmitSuccessFn);
132
+ const _onRowClickFn = (e) => _onRowClickRef.current?.(e);
133
+ el.addEventListener('rowClick', _onRowClickFn);
134
+ const _onRowDblClickFn = (e) => _onRowDblClickRef.current?.(e);
135
+ el.addEventListener('rowDblClick', _onRowDblClickFn);
136
+ const _onRowSelectedFn = (e) => _onRowSelectedRef.current?.(e);
137
+ el.addEventListener('rowSelected', _onRowSelectedFn);
138
+ const _onSelectionChangedFn = (e) => _onSelectionChangedRef.current?.(e);
139
+ el.addEventListener('selectionChanged', _onSelectionChangedFn);
140
+ return () => {
141
+ el.removeEventListener('request-changed', _onRequestChangedFn);
142
+ el.removeEventListener('criteria-changed', _onCriteriaChangedFn);
143
+ el.removeEventListener('create-entity', _onCreateEntityFn);
144
+ el.removeEventListener('edit-entity', _onEditEntityFn);
145
+ el.removeEventListener('delete-entity', _onDeleteEntityFn);
146
+ el.removeEventListener('submit-failure', _onSubmitFailureFn);
147
+ el.removeEventListener('submit-success', _onSubmitSuccessFn);
148
+ el.removeEventListener('rowClick', _onRowClickFn);
149
+ el.removeEventListener('rowDblClick', _onRowDblClickFn);
150
+ el.removeEventListener('rowSelected', _onRowSelectedFn);
151
+ el.removeEventListener('selectionChanged', _onSelectionChangedFn);
152
+ };
153
+ }, []);
154
+ return React.createElement(customElements.getName(SmartFormModalWC) ?? 'smart-form-modal', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
47
155
  });
48
156
 
49
- const List = wrap(ListWC, {
50
- events: {
51
- onSubmitFailure: 'submit-failure',
52
- onSubmitSuccess: 'submit-success',
53
- onRowClick: 'rowClick',
54
- onRowDblClick: 'rowDblClick',
55
- onRowSelected: 'rowSelected',
56
- onSelectionChanged: 'selectionChanged',
57
- onEditEntity: 'edit-entity',
58
- onDeleteEntity: 'delete-entity',
59
- onCustomAction: 'custom-action',
60
- },
157
+ const List = React.forwardRef(function List(props, ref) {
158
+ const { onSubmitFailure, onSubmitSuccess, onRowClick, onRowDblClick, onRowSelected, onSelectionChanged, onEditEntity, onDeleteEntity, onCustomAction, children, ...rest } = props;
159
+ const _innerRef = React.useRef(null);
160
+ const _onSubmitFailureRef = React.useRef(onSubmitFailure);
161
+ _onSubmitFailureRef.current = onSubmitFailure;
162
+ const _onSubmitSuccessRef = React.useRef(onSubmitSuccess);
163
+ _onSubmitSuccessRef.current = onSubmitSuccess;
164
+ const _onRowClickRef = React.useRef(onRowClick);
165
+ _onRowClickRef.current = onRowClick;
166
+ const _onRowDblClickRef = React.useRef(onRowDblClick);
167
+ _onRowDblClickRef.current = onRowDblClick;
168
+ const _onRowSelectedRef = React.useRef(onRowSelected);
169
+ _onRowSelectedRef.current = onRowSelected;
170
+ const _onSelectionChangedRef = React.useRef(onSelectionChanged);
171
+ _onSelectionChangedRef.current = onSelectionChanged;
172
+ const _onEditEntityRef = React.useRef(onEditEntity);
173
+ _onEditEntityRef.current = onEditEntity;
174
+ const _onDeleteEntityRef = React.useRef(onDeleteEntity);
175
+ _onDeleteEntityRef.current = onDeleteEntity;
176
+ const _onCustomActionRef = React.useRef(onCustomAction);
177
+ _onCustomActionRef.current = onCustomAction;
178
+ React.useLayoutEffect(() => {
179
+ const el = _innerRef.current;
180
+ if (!el) return;
181
+ const _onSubmitFailureFn = (e) => _onSubmitFailureRef.current?.(e);
182
+ el.addEventListener('submit-failure', _onSubmitFailureFn);
183
+ const _onSubmitSuccessFn = (e) => _onSubmitSuccessRef.current?.(e);
184
+ el.addEventListener('submit-success', _onSubmitSuccessFn);
185
+ const _onRowClickFn = (e) => _onRowClickRef.current?.(e);
186
+ el.addEventListener('rowClick', _onRowClickFn);
187
+ const _onRowDblClickFn = (e) => _onRowDblClickRef.current?.(e);
188
+ el.addEventListener('rowDblClick', _onRowDblClickFn);
189
+ const _onRowSelectedFn = (e) => _onRowSelectedRef.current?.(e);
190
+ el.addEventListener('rowSelected', _onRowSelectedFn);
191
+ const _onSelectionChangedFn = (e) => _onSelectionChangedRef.current?.(e);
192
+ el.addEventListener('selectionChanged', _onSelectionChangedFn);
193
+ const _onEditEntityFn = (e) => _onEditEntityRef.current?.(e);
194
+ el.addEventListener('edit-entity', _onEditEntityFn);
195
+ const _onDeleteEntityFn = (e) => _onDeleteEntityRef.current?.(e);
196
+ el.addEventListener('delete-entity', _onDeleteEntityFn);
197
+ const _onCustomActionFn = (e) => _onCustomActionRef.current?.(e);
198
+ el.addEventListener('custom-action', _onCustomActionFn);
199
+ return () => {
200
+ el.removeEventListener('submit-failure', _onSubmitFailureFn);
201
+ el.removeEventListener('submit-success', _onSubmitSuccessFn);
202
+ el.removeEventListener('rowClick', _onRowClickFn);
203
+ el.removeEventListener('rowDblClick', _onRowDblClickFn);
204
+ el.removeEventListener('rowSelected', _onRowSelectedFn);
205
+ el.removeEventListener('selectionChanged', _onSelectionChangedFn);
206
+ el.removeEventListener('edit-entity', _onEditEntityFn);
207
+ el.removeEventListener('delete-entity', _onDeleteEntityFn);
208
+ el.removeEventListener('custom-action', _onCustomActionFn);
209
+ };
210
+ }, []);
211
+ return React.createElement(customElements.getName(ListWC) ?? 'entity-list', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
61
212
  });
62
213
 
63
- const EntityManagementDemo = wrap(EntityManagementDemoWC);
214
+ const EntityManagementDemo = React.forwardRef(function EntityManagementDemo(props, ref) {
215
+ const { children, ...rest } = props;
216
+ return React.createElement(customElements.getName(EntityManagementDemoWC) ?? 'entity-management-demo', { ...rest, ref }, children);
217
+ });
64
218
 
65
219
  module.exports = {
66
220
  EntityManagement,
package/dist/react.mjs CHANGED
@@ -3,59 +3,213 @@
3
3
  * Generated from custom-elements manifest.
4
4
  */
5
5
 
6
- import { provideReactWrapper } from '@microsoft/fast-react-wrapper';
7
6
  import React from 'react';
8
7
  import { EntityManagement as EntityManagementWC } from './esm/entities/entities.js';
9
8
  import { SmartFormModal as SmartFormModalWC } from './esm/entities/smartFormModal.js';
10
9
  import { List as ListWC } from './esm/list/list.js';
11
10
  import { EntityManagementDemo as EntityManagementDemoWC } from './esm/routes/demo/entity-management.js';
12
11
 
13
- const { wrap } = provideReactWrapper(React);
12
+ function _mergeRefs(...refs) {
13
+ return (value) => {
14
+ for (const ref of refs) {
15
+ if (typeof ref === 'function') ref(value);
16
+ else if (ref != null) ref.current = value;
17
+ }
18
+ };
19
+ }
14
20
 
15
- export const EntityManagement = wrap(EntityManagementWC, {
16
- events: {
17
- onRequestChanged: 'request-changed',
18
- onCriteriaChanged: 'criteria-changed',
19
- onCreateEntity: 'create-entity',
20
- onEditEntity: 'edit-entity',
21
- onDeleteEntity: 'delete-entity',
22
- onSubmitFailure: 'submit-failure',
23
- onSubmitSuccess: 'submit-success',
24
- onRowClick: 'rowClick',
25
- onRowDblClick: 'rowDblClick',
26
- onRowSelected: 'rowSelected',
27
- onSelectionChanged: 'selectionChanged',
28
- },
21
+ export const EntityManagement = React.forwardRef(function EntityManagement(props, ref) {
22
+ const { onRequestChanged, onCriteriaChanged, onCreateEntity, onEditEntity, onDeleteEntity, onSubmitFailure, onSubmitSuccess, onRowClick, onRowDblClick, onRowSelected, onSelectionChanged, children, ...rest } = props;
23
+ const _innerRef = React.useRef(null);
24
+ const _onRequestChangedRef = React.useRef(onRequestChanged);
25
+ _onRequestChangedRef.current = onRequestChanged;
26
+ const _onCriteriaChangedRef = React.useRef(onCriteriaChanged);
27
+ _onCriteriaChangedRef.current = onCriteriaChanged;
28
+ const _onCreateEntityRef = React.useRef(onCreateEntity);
29
+ _onCreateEntityRef.current = onCreateEntity;
30
+ const _onEditEntityRef = React.useRef(onEditEntity);
31
+ _onEditEntityRef.current = onEditEntity;
32
+ const _onDeleteEntityRef = React.useRef(onDeleteEntity);
33
+ _onDeleteEntityRef.current = onDeleteEntity;
34
+ const _onSubmitFailureRef = React.useRef(onSubmitFailure);
35
+ _onSubmitFailureRef.current = onSubmitFailure;
36
+ const _onSubmitSuccessRef = React.useRef(onSubmitSuccess);
37
+ _onSubmitSuccessRef.current = onSubmitSuccess;
38
+ const _onRowClickRef = React.useRef(onRowClick);
39
+ _onRowClickRef.current = onRowClick;
40
+ const _onRowDblClickRef = React.useRef(onRowDblClick);
41
+ _onRowDblClickRef.current = onRowDblClick;
42
+ const _onRowSelectedRef = React.useRef(onRowSelected);
43
+ _onRowSelectedRef.current = onRowSelected;
44
+ const _onSelectionChangedRef = React.useRef(onSelectionChanged);
45
+ _onSelectionChangedRef.current = onSelectionChanged;
46
+ React.useLayoutEffect(() => {
47
+ const el = _innerRef.current;
48
+ if (!el) return;
49
+ const _onRequestChangedFn = (e) => _onRequestChangedRef.current?.(e);
50
+ el.addEventListener('request-changed', _onRequestChangedFn);
51
+ const _onCriteriaChangedFn = (e) => _onCriteriaChangedRef.current?.(e);
52
+ el.addEventListener('criteria-changed', _onCriteriaChangedFn);
53
+ const _onCreateEntityFn = (e) => _onCreateEntityRef.current?.(e);
54
+ el.addEventListener('create-entity', _onCreateEntityFn);
55
+ const _onEditEntityFn = (e) => _onEditEntityRef.current?.(e);
56
+ el.addEventListener('edit-entity', _onEditEntityFn);
57
+ const _onDeleteEntityFn = (e) => _onDeleteEntityRef.current?.(e);
58
+ el.addEventListener('delete-entity', _onDeleteEntityFn);
59
+ const _onSubmitFailureFn = (e) => _onSubmitFailureRef.current?.(e);
60
+ el.addEventListener('submit-failure', _onSubmitFailureFn);
61
+ const _onSubmitSuccessFn = (e) => _onSubmitSuccessRef.current?.(e);
62
+ el.addEventListener('submit-success', _onSubmitSuccessFn);
63
+ const _onRowClickFn = (e) => _onRowClickRef.current?.(e);
64
+ el.addEventListener('rowClick', _onRowClickFn);
65
+ const _onRowDblClickFn = (e) => _onRowDblClickRef.current?.(e);
66
+ el.addEventListener('rowDblClick', _onRowDblClickFn);
67
+ const _onRowSelectedFn = (e) => _onRowSelectedRef.current?.(e);
68
+ el.addEventListener('rowSelected', _onRowSelectedFn);
69
+ const _onSelectionChangedFn = (e) => _onSelectionChangedRef.current?.(e);
70
+ el.addEventListener('selectionChanged', _onSelectionChangedFn);
71
+ return () => {
72
+ el.removeEventListener('request-changed', _onRequestChangedFn);
73
+ el.removeEventListener('criteria-changed', _onCriteriaChangedFn);
74
+ el.removeEventListener('create-entity', _onCreateEntityFn);
75
+ el.removeEventListener('edit-entity', _onEditEntityFn);
76
+ el.removeEventListener('delete-entity', _onDeleteEntityFn);
77
+ el.removeEventListener('submit-failure', _onSubmitFailureFn);
78
+ el.removeEventListener('submit-success', _onSubmitSuccessFn);
79
+ el.removeEventListener('rowClick', _onRowClickFn);
80
+ el.removeEventListener('rowDblClick', _onRowDblClickFn);
81
+ el.removeEventListener('rowSelected', _onRowSelectedFn);
82
+ el.removeEventListener('selectionChanged', _onSelectionChangedFn);
83
+ };
84
+ }, []);
85
+ return React.createElement(customElements.getName(EntityManagementWC) ?? 'entity-management', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
29
86
  });
30
87
 
31
- export const SmartFormModal = wrap(SmartFormModalWC, {
32
- events: {
33
- onRequestChanged: 'request-changed',
34
- onCriteriaChanged: 'criteria-changed',
35
- onCreateEntity: 'create-entity',
36
- onEditEntity: 'edit-entity',
37
- onDeleteEntity: 'delete-entity',
38
- onSubmitFailure: 'submit-failure',
39
- onSubmitSuccess: 'submit-success',
40
- onRowClick: 'rowClick',
41
- onRowDblClick: 'rowDblClick',
42
- onRowSelected: 'rowSelected',
43
- onSelectionChanged: 'selectionChanged',
44
- },
88
+ export const SmartFormModal = React.forwardRef(function SmartFormModal(props, ref) {
89
+ const { onRequestChanged, onCriteriaChanged, onCreateEntity, onEditEntity, onDeleteEntity, onSubmitFailure, onSubmitSuccess, onRowClick, onRowDblClick, onRowSelected, onSelectionChanged, children, ...rest } = props;
90
+ const _innerRef = React.useRef(null);
91
+ const _onRequestChangedRef = React.useRef(onRequestChanged);
92
+ _onRequestChangedRef.current = onRequestChanged;
93
+ const _onCriteriaChangedRef = React.useRef(onCriteriaChanged);
94
+ _onCriteriaChangedRef.current = onCriteriaChanged;
95
+ const _onCreateEntityRef = React.useRef(onCreateEntity);
96
+ _onCreateEntityRef.current = onCreateEntity;
97
+ const _onEditEntityRef = React.useRef(onEditEntity);
98
+ _onEditEntityRef.current = onEditEntity;
99
+ const _onDeleteEntityRef = React.useRef(onDeleteEntity);
100
+ _onDeleteEntityRef.current = onDeleteEntity;
101
+ const _onSubmitFailureRef = React.useRef(onSubmitFailure);
102
+ _onSubmitFailureRef.current = onSubmitFailure;
103
+ const _onSubmitSuccessRef = React.useRef(onSubmitSuccess);
104
+ _onSubmitSuccessRef.current = onSubmitSuccess;
105
+ const _onRowClickRef = React.useRef(onRowClick);
106
+ _onRowClickRef.current = onRowClick;
107
+ const _onRowDblClickRef = React.useRef(onRowDblClick);
108
+ _onRowDblClickRef.current = onRowDblClick;
109
+ const _onRowSelectedRef = React.useRef(onRowSelected);
110
+ _onRowSelectedRef.current = onRowSelected;
111
+ const _onSelectionChangedRef = React.useRef(onSelectionChanged);
112
+ _onSelectionChangedRef.current = onSelectionChanged;
113
+ React.useLayoutEffect(() => {
114
+ const el = _innerRef.current;
115
+ if (!el) return;
116
+ const _onRequestChangedFn = (e) => _onRequestChangedRef.current?.(e);
117
+ el.addEventListener('request-changed', _onRequestChangedFn);
118
+ const _onCriteriaChangedFn = (e) => _onCriteriaChangedRef.current?.(e);
119
+ el.addEventListener('criteria-changed', _onCriteriaChangedFn);
120
+ const _onCreateEntityFn = (e) => _onCreateEntityRef.current?.(e);
121
+ el.addEventListener('create-entity', _onCreateEntityFn);
122
+ const _onEditEntityFn = (e) => _onEditEntityRef.current?.(e);
123
+ el.addEventListener('edit-entity', _onEditEntityFn);
124
+ const _onDeleteEntityFn = (e) => _onDeleteEntityRef.current?.(e);
125
+ el.addEventListener('delete-entity', _onDeleteEntityFn);
126
+ const _onSubmitFailureFn = (e) => _onSubmitFailureRef.current?.(e);
127
+ el.addEventListener('submit-failure', _onSubmitFailureFn);
128
+ const _onSubmitSuccessFn = (e) => _onSubmitSuccessRef.current?.(e);
129
+ el.addEventListener('submit-success', _onSubmitSuccessFn);
130
+ const _onRowClickFn = (e) => _onRowClickRef.current?.(e);
131
+ el.addEventListener('rowClick', _onRowClickFn);
132
+ const _onRowDblClickFn = (e) => _onRowDblClickRef.current?.(e);
133
+ el.addEventListener('rowDblClick', _onRowDblClickFn);
134
+ const _onRowSelectedFn = (e) => _onRowSelectedRef.current?.(e);
135
+ el.addEventListener('rowSelected', _onRowSelectedFn);
136
+ const _onSelectionChangedFn = (e) => _onSelectionChangedRef.current?.(e);
137
+ el.addEventListener('selectionChanged', _onSelectionChangedFn);
138
+ return () => {
139
+ el.removeEventListener('request-changed', _onRequestChangedFn);
140
+ el.removeEventListener('criteria-changed', _onCriteriaChangedFn);
141
+ el.removeEventListener('create-entity', _onCreateEntityFn);
142
+ el.removeEventListener('edit-entity', _onEditEntityFn);
143
+ el.removeEventListener('delete-entity', _onDeleteEntityFn);
144
+ el.removeEventListener('submit-failure', _onSubmitFailureFn);
145
+ el.removeEventListener('submit-success', _onSubmitSuccessFn);
146
+ el.removeEventListener('rowClick', _onRowClickFn);
147
+ el.removeEventListener('rowDblClick', _onRowDblClickFn);
148
+ el.removeEventListener('rowSelected', _onRowSelectedFn);
149
+ el.removeEventListener('selectionChanged', _onSelectionChangedFn);
150
+ };
151
+ }, []);
152
+ return React.createElement(customElements.getName(SmartFormModalWC) ?? 'smart-form-modal', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
45
153
  });
46
154
 
47
- export const List = wrap(ListWC, {
48
- events: {
49
- onSubmitFailure: 'submit-failure',
50
- onSubmitSuccess: 'submit-success',
51
- onRowClick: 'rowClick',
52
- onRowDblClick: 'rowDblClick',
53
- onRowSelected: 'rowSelected',
54
- onSelectionChanged: 'selectionChanged',
55
- onEditEntity: 'edit-entity',
56
- onDeleteEntity: 'delete-entity',
57
- onCustomAction: 'custom-action',
58
- },
155
+ export const List = React.forwardRef(function List(props, ref) {
156
+ const { onSubmitFailure, onSubmitSuccess, onRowClick, onRowDblClick, onRowSelected, onSelectionChanged, onEditEntity, onDeleteEntity, onCustomAction, children, ...rest } = props;
157
+ const _innerRef = React.useRef(null);
158
+ const _onSubmitFailureRef = React.useRef(onSubmitFailure);
159
+ _onSubmitFailureRef.current = onSubmitFailure;
160
+ const _onSubmitSuccessRef = React.useRef(onSubmitSuccess);
161
+ _onSubmitSuccessRef.current = onSubmitSuccess;
162
+ const _onRowClickRef = React.useRef(onRowClick);
163
+ _onRowClickRef.current = onRowClick;
164
+ const _onRowDblClickRef = React.useRef(onRowDblClick);
165
+ _onRowDblClickRef.current = onRowDblClick;
166
+ const _onRowSelectedRef = React.useRef(onRowSelected);
167
+ _onRowSelectedRef.current = onRowSelected;
168
+ const _onSelectionChangedRef = React.useRef(onSelectionChanged);
169
+ _onSelectionChangedRef.current = onSelectionChanged;
170
+ const _onEditEntityRef = React.useRef(onEditEntity);
171
+ _onEditEntityRef.current = onEditEntity;
172
+ const _onDeleteEntityRef = React.useRef(onDeleteEntity);
173
+ _onDeleteEntityRef.current = onDeleteEntity;
174
+ const _onCustomActionRef = React.useRef(onCustomAction);
175
+ _onCustomActionRef.current = onCustomAction;
176
+ React.useLayoutEffect(() => {
177
+ const el = _innerRef.current;
178
+ if (!el) return;
179
+ const _onSubmitFailureFn = (e) => _onSubmitFailureRef.current?.(e);
180
+ el.addEventListener('submit-failure', _onSubmitFailureFn);
181
+ const _onSubmitSuccessFn = (e) => _onSubmitSuccessRef.current?.(e);
182
+ el.addEventListener('submit-success', _onSubmitSuccessFn);
183
+ const _onRowClickFn = (e) => _onRowClickRef.current?.(e);
184
+ el.addEventListener('rowClick', _onRowClickFn);
185
+ const _onRowDblClickFn = (e) => _onRowDblClickRef.current?.(e);
186
+ el.addEventListener('rowDblClick', _onRowDblClickFn);
187
+ const _onRowSelectedFn = (e) => _onRowSelectedRef.current?.(e);
188
+ el.addEventListener('rowSelected', _onRowSelectedFn);
189
+ const _onSelectionChangedFn = (e) => _onSelectionChangedRef.current?.(e);
190
+ el.addEventListener('selectionChanged', _onSelectionChangedFn);
191
+ const _onEditEntityFn = (e) => _onEditEntityRef.current?.(e);
192
+ el.addEventListener('edit-entity', _onEditEntityFn);
193
+ const _onDeleteEntityFn = (e) => _onDeleteEntityRef.current?.(e);
194
+ el.addEventListener('delete-entity', _onDeleteEntityFn);
195
+ const _onCustomActionFn = (e) => _onCustomActionRef.current?.(e);
196
+ el.addEventListener('custom-action', _onCustomActionFn);
197
+ return () => {
198
+ el.removeEventListener('submit-failure', _onSubmitFailureFn);
199
+ el.removeEventListener('submit-success', _onSubmitSuccessFn);
200
+ el.removeEventListener('rowClick', _onRowClickFn);
201
+ el.removeEventListener('rowDblClick', _onRowDblClickFn);
202
+ el.removeEventListener('rowSelected', _onRowSelectedFn);
203
+ el.removeEventListener('selectionChanged', _onSelectionChangedFn);
204
+ el.removeEventListener('edit-entity', _onEditEntityFn);
205
+ el.removeEventListener('delete-entity', _onDeleteEntityFn);
206
+ el.removeEventListener('custom-action', _onCustomActionFn);
207
+ };
208
+ }, []);
209
+ return React.createElement(customElements.getName(ListWC) ?? 'entity-list', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
59
210
  });
60
211
 
61
- export const EntityManagementDemo = wrap(EntityManagementDemoWC);
212
+ export const EntityManagementDemo = React.forwardRef(function EntityManagementDemo(props, ref) {
213
+ const { children, ...rest } = props;
214
+ return React.createElement(customElements.getName(EntityManagementDemoWC) ?? 'entity-management-demo', { ...rest, ref }, children);
215
+ });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/foundation-entity-management",
3
3
  "description": "Genesis Foundation Entity Management",
4
- "version": "14.424.1",
4
+ "version": "14.426.0",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -54,33 +54,32 @@
54
54
  }
55
55
  },
56
56
  "devDependencies": {
57
- "@genesislcap/foundation-testing": "14.424.1",
58
- "@genesislcap/genx": "14.424.1",
59
- "@genesislcap/rollup-builder": "14.424.1",
60
- "@genesislcap/ts-builder": "14.424.1",
61
- "@genesislcap/uvu-playwright-builder": "14.424.1",
62
- "@genesislcap/vite-builder": "14.424.1",
63
- "@genesislcap/webpack-builder": "14.424.1"
57
+ "@genesislcap/foundation-testing": "14.426.0",
58
+ "@genesislcap/genx": "14.426.0",
59
+ "@genesislcap/rollup-builder": "14.426.0",
60
+ "@genesislcap/ts-builder": "14.426.0",
61
+ "@genesislcap/uvu-playwright-builder": "14.426.0",
62
+ "@genesislcap/vite-builder": "14.426.0",
63
+ "@genesislcap/webpack-builder": "14.426.0"
64
64
  },
65
65
  "peerDependencies": {
66
- "@ag-grid-community/core": "29.2.0",
67
- "@microsoft/fast-react-wrapper": ">=0.3.0"
66
+ "@ag-grid-community/core": "29.2.0"
68
67
  },
69
68
  "dependencies": {
70
- "@genesislcap/foundation-ai": "14.424.1",
71
- "@genesislcap/foundation-comms": "14.424.1",
72
- "@genesislcap/foundation-errors": "14.424.1",
73
- "@genesislcap/foundation-events": "14.424.1",
74
- "@genesislcap/foundation-forms": "14.424.1",
75
- "@genesislcap/foundation-logger": "14.424.1",
76
- "@genesislcap/foundation-login": "14.424.1",
77
- "@genesislcap/foundation-notifications": "14.424.1",
78
- "@genesislcap/foundation-ui": "14.424.1",
79
- "@genesislcap/foundation-utils": "14.424.1",
80
- "@genesislcap/foundation-zero": "14.424.1",
81
- "@genesislcap/foundation-zero-grid-pro": "14.424.1",
82
- "@genesislcap/grid-pro": "14.424.1",
83
- "@genesislcap/web-core": "14.424.1",
69
+ "@genesislcap/foundation-ai": "14.426.0",
70
+ "@genesislcap/foundation-comms": "14.426.0",
71
+ "@genesislcap/foundation-errors": "14.426.0",
72
+ "@genesislcap/foundation-events": "14.426.0",
73
+ "@genesislcap/foundation-forms": "14.426.0",
74
+ "@genesislcap/foundation-logger": "14.426.0",
75
+ "@genesislcap/foundation-login": "14.426.0",
76
+ "@genesislcap/foundation-notifications": "14.426.0",
77
+ "@genesislcap/foundation-ui": "14.426.0",
78
+ "@genesislcap/foundation-utils": "14.426.0",
79
+ "@genesislcap/foundation-zero": "14.426.0",
80
+ "@genesislcap/foundation-zero-grid-pro": "14.426.0",
81
+ "@genesislcap/grid-pro": "14.426.0",
82
+ "@genesislcap/web-core": "14.426.0",
84
83
  "change-case": "^4.1.2"
85
84
  },
86
85
  "repository": {
@@ -103,5 +102,5 @@
103
102
  "require": "./dist/react.cjs"
104
103
  }
105
104
  },
106
- "gitHead": "04bb18a6f0b26506a9d87ab252ce9e2329219a5e"
105
+ "gitHead": "fdf222ae3a2e4b9ea03dea45e0f7207cc096ef40"
107
106
  }