@genesislcap/expression-builder 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.
- package/dist/dts/react.d.ts +6 -0
- package/dist/react.cjs +148 -36
- package/dist/react.mjs +149 -37
- package/package.json +10 -13
package/dist/dts/react.d.ts
CHANGED
|
@@ -53,6 +53,7 @@ export declare const ExpressionBuilder: React.ForwardRefExoticComponent<
|
|
|
53
53
|
}
|
|
54
54
|
> & React.RefAttributes<ExpressionBuilderWC>
|
|
55
55
|
>;
|
|
56
|
+
export type ExpressionBuilderRef = ExpressionBuilderWC;
|
|
56
57
|
|
|
57
58
|
export declare const ExpressionGroup: React.ForwardRefExoticComponent<
|
|
58
59
|
React.PropsWithChildren<
|
|
@@ -65,6 +66,7 @@ export declare const ExpressionGroup: React.ForwardRefExoticComponent<
|
|
|
65
66
|
}
|
|
66
67
|
> & React.RefAttributes<ExpressionGroupWC>
|
|
67
68
|
>;
|
|
69
|
+
export type ExpressionGroupRef = ExpressionGroupWC;
|
|
68
70
|
|
|
69
71
|
export declare const ExpressionRule: React.ForwardRefExoticComponent<
|
|
70
72
|
React.PropsWithChildren<
|
|
@@ -75,6 +77,7 @@ export declare const ExpressionRule: React.ForwardRefExoticComponent<
|
|
|
75
77
|
}
|
|
76
78
|
> & React.RefAttributes<ExpressionRuleWC>
|
|
77
79
|
>;
|
|
80
|
+
export type ExpressionRuleRef = ExpressionRuleWC;
|
|
78
81
|
|
|
79
82
|
export declare const RuleField: React.ForwardRefExoticComponent<
|
|
80
83
|
React.PropsWithChildren<
|
|
@@ -84,6 +87,7 @@ export declare const RuleField: React.ForwardRefExoticComponent<
|
|
|
84
87
|
}
|
|
85
88
|
> & React.RefAttributes<RuleFieldWC>
|
|
86
89
|
>;
|
|
90
|
+
export type RuleFieldRef = RuleFieldWC;
|
|
87
91
|
|
|
88
92
|
export declare const RuleOperator: React.ForwardRefExoticComponent<
|
|
89
93
|
React.PropsWithChildren<
|
|
@@ -93,6 +97,7 @@ export declare const RuleOperator: React.ForwardRefExoticComponent<
|
|
|
93
97
|
}
|
|
94
98
|
> & React.RefAttributes<RuleOperatorWC>
|
|
95
99
|
>;
|
|
100
|
+
export type RuleOperatorRef = RuleOperatorWC;
|
|
96
101
|
|
|
97
102
|
export declare const RuleValue: React.ForwardRefExoticComponent<
|
|
98
103
|
React.PropsWithChildren<
|
|
@@ -103,5 +108,6 @@ export declare const RuleValue: React.ForwardRefExoticComponent<
|
|
|
103
108
|
}
|
|
104
109
|
> & React.RefAttributes<RuleValueWC>
|
|
105
110
|
>;
|
|
111
|
+
export type RuleValueRef = RuleValueWC;
|
|
106
112
|
|
|
107
113
|
export {};
|
package/dist/react.cjs
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
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 { ExpressionBuilder: ExpressionBuilderWC } = require('./esm/main/expression-builder.js');
|
|
11
10
|
const { ExpressionGroup: ExpressionGroupWC } = require('./esm/main/expression-group/expression-group.js');
|
|
@@ -14,52 +13,165 @@ const { RuleField: RuleFieldWC } = require('./esm/main/rule-field/rule-field.js'
|
|
|
14
13
|
const { RuleOperator: RuleOperatorWC } = require('./esm/main/rule-operator/rule-operator.js');
|
|
15
14
|
const { RuleValue: RuleValueWC } = require('./esm/main/rule-value/rule-value.js');
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
function _mergeRefs(...refs) {
|
|
17
|
+
return (value) => {
|
|
18
|
+
for (const ref of refs) {
|
|
19
|
+
if (typeof ref === 'function') ref(value);
|
|
20
|
+
else if (ref != null) ref.current = value;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}
|
|
18
24
|
|
|
19
|
-
const ExpressionBuilder =
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
const ExpressionBuilder = React.forwardRef(function ExpressionBuilder(props, ref) {
|
|
26
|
+
const { onAddGroup, onDelGroup, onAddRule, onDelRule, onUpdateGroup, onUpdateRule, children, ...rest } = props;
|
|
27
|
+
const _innerRef = React.useRef(null);
|
|
28
|
+
const _onAddGroupRef = React.useRef(onAddGroup);
|
|
29
|
+
_onAddGroupRef.current = onAddGroup;
|
|
30
|
+
const _onDelGroupRef = React.useRef(onDelGroup);
|
|
31
|
+
_onDelGroupRef.current = onDelGroup;
|
|
32
|
+
const _onAddRuleRef = React.useRef(onAddRule);
|
|
33
|
+
_onAddRuleRef.current = onAddRule;
|
|
34
|
+
const _onDelRuleRef = React.useRef(onDelRule);
|
|
35
|
+
_onDelRuleRef.current = onDelRule;
|
|
36
|
+
const _onUpdateGroupRef = React.useRef(onUpdateGroup);
|
|
37
|
+
_onUpdateGroupRef.current = onUpdateGroup;
|
|
38
|
+
const _onUpdateRuleRef = React.useRef(onUpdateRule);
|
|
39
|
+
_onUpdateRuleRef.current = onUpdateRule;
|
|
40
|
+
React.useLayoutEffect(() => {
|
|
41
|
+
const el = _innerRef.current;
|
|
42
|
+
if (!el) return;
|
|
43
|
+
const _onAddGroupFn = (e) => _onAddGroupRef.current?.(e);
|
|
44
|
+
el.addEventListener('add-group', _onAddGroupFn);
|
|
45
|
+
const _onDelGroupFn = (e) => _onDelGroupRef.current?.(e);
|
|
46
|
+
el.addEventListener('del-group', _onDelGroupFn);
|
|
47
|
+
const _onAddRuleFn = (e) => _onAddRuleRef.current?.(e);
|
|
48
|
+
el.addEventListener('add-rule', _onAddRuleFn);
|
|
49
|
+
const _onDelRuleFn = (e) => _onDelRuleRef.current?.(e);
|
|
50
|
+
el.addEventListener('del-rule', _onDelRuleFn);
|
|
51
|
+
const _onUpdateGroupFn = (e) => _onUpdateGroupRef.current?.(e);
|
|
52
|
+
el.addEventListener('update-group', _onUpdateGroupFn);
|
|
53
|
+
const _onUpdateRuleFn = (e) => _onUpdateRuleRef.current?.(e);
|
|
54
|
+
el.addEventListener('update-rule', _onUpdateRuleFn);
|
|
55
|
+
return () => {
|
|
56
|
+
el.removeEventListener('add-group', _onAddGroupFn);
|
|
57
|
+
el.removeEventListener('del-group', _onDelGroupFn);
|
|
58
|
+
el.removeEventListener('add-rule', _onAddRuleFn);
|
|
59
|
+
el.removeEventListener('del-rule', _onDelRuleFn);
|
|
60
|
+
el.removeEventListener('update-group', _onUpdateGroupFn);
|
|
61
|
+
el.removeEventListener('update-rule', _onUpdateRuleFn);
|
|
62
|
+
};
|
|
63
|
+
}, []);
|
|
64
|
+
return React.createElement(customElements.getName(ExpressionBuilderWC) ?? 'expression-builder', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
|
|
28
65
|
});
|
|
29
66
|
|
|
30
|
-
const ExpressionGroup =
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
67
|
+
const ExpressionGroup = React.forwardRef(function ExpressionGroup(props, ref) {
|
|
68
|
+
const { onAddRule, onAddGroup, onDelGroup, onUpdateGroup, children, ...rest } = props;
|
|
69
|
+
const _innerRef = React.useRef(null);
|
|
70
|
+
const _onAddRuleRef = React.useRef(onAddRule);
|
|
71
|
+
_onAddRuleRef.current = onAddRule;
|
|
72
|
+
const _onAddGroupRef = React.useRef(onAddGroup);
|
|
73
|
+
_onAddGroupRef.current = onAddGroup;
|
|
74
|
+
const _onDelGroupRef = React.useRef(onDelGroup);
|
|
75
|
+
_onDelGroupRef.current = onDelGroup;
|
|
76
|
+
const _onUpdateGroupRef = React.useRef(onUpdateGroup);
|
|
77
|
+
_onUpdateGroupRef.current = onUpdateGroup;
|
|
78
|
+
React.useLayoutEffect(() => {
|
|
79
|
+
const el = _innerRef.current;
|
|
80
|
+
if (!el) return;
|
|
81
|
+
const _onAddRuleFn = (e) => _onAddRuleRef.current?.(e);
|
|
82
|
+
el.addEventListener('add-rule', _onAddRuleFn);
|
|
83
|
+
const _onAddGroupFn = (e) => _onAddGroupRef.current?.(e);
|
|
84
|
+
el.addEventListener('add-group', _onAddGroupFn);
|
|
85
|
+
const _onDelGroupFn = (e) => _onDelGroupRef.current?.(e);
|
|
86
|
+
el.addEventListener('del-group', _onDelGroupFn);
|
|
87
|
+
const _onUpdateGroupFn = (e) => _onUpdateGroupRef.current?.(e);
|
|
88
|
+
el.addEventListener('update-group', _onUpdateGroupFn);
|
|
89
|
+
return () => {
|
|
90
|
+
el.removeEventListener('add-rule', _onAddRuleFn);
|
|
91
|
+
el.removeEventListener('add-group', _onAddGroupFn);
|
|
92
|
+
el.removeEventListener('del-group', _onDelGroupFn);
|
|
93
|
+
el.removeEventListener('update-group', _onUpdateGroupFn);
|
|
94
|
+
};
|
|
95
|
+
}, []);
|
|
96
|
+
return React.createElement(customElements.getName(ExpressionGroupWC) ?? 'expression-group', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
|
|
37
97
|
});
|
|
38
98
|
|
|
39
|
-
const ExpressionRule =
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
99
|
+
const ExpressionRule = React.forwardRef(function ExpressionRule(props, ref) {
|
|
100
|
+
const { onDelRule, onUpdateRule, children, ...rest } = props;
|
|
101
|
+
const _innerRef = React.useRef(null);
|
|
102
|
+
const _onDelRuleRef = React.useRef(onDelRule);
|
|
103
|
+
_onDelRuleRef.current = onDelRule;
|
|
104
|
+
const _onUpdateRuleRef = React.useRef(onUpdateRule);
|
|
105
|
+
_onUpdateRuleRef.current = onUpdateRule;
|
|
106
|
+
React.useLayoutEffect(() => {
|
|
107
|
+
const el = _innerRef.current;
|
|
108
|
+
if (!el) return;
|
|
109
|
+
const _onDelRuleFn = (e) => _onDelRuleRef.current?.(e);
|
|
110
|
+
el.addEventListener('del-rule', _onDelRuleFn);
|
|
111
|
+
const _onUpdateRuleFn = (e) => _onUpdateRuleRef.current?.(e);
|
|
112
|
+
el.addEventListener('update-rule', _onUpdateRuleFn);
|
|
113
|
+
return () => {
|
|
114
|
+
el.removeEventListener('del-rule', _onDelRuleFn);
|
|
115
|
+
el.removeEventListener('update-rule', _onUpdateRuleFn);
|
|
116
|
+
};
|
|
117
|
+
}, []);
|
|
118
|
+
return React.createElement(customElements.getName(ExpressionRuleWC) ?? 'expression-rule', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
|
|
44
119
|
});
|
|
45
120
|
|
|
46
|
-
const RuleField =
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
121
|
+
const RuleField = React.forwardRef(function RuleField(props, ref) {
|
|
122
|
+
const { onFieldSelected, children, ...rest } = props;
|
|
123
|
+
const _innerRef = React.useRef(null);
|
|
124
|
+
const _onFieldSelectedRef = React.useRef(onFieldSelected);
|
|
125
|
+
_onFieldSelectedRef.current = onFieldSelected;
|
|
126
|
+
React.useLayoutEffect(() => {
|
|
127
|
+
const el = _innerRef.current;
|
|
128
|
+
if (!el) return;
|
|
129
|
+
const _onFieldSelectedFn = (e) => _onFieldSelectedRef.current?.(e);
|
|
130
|
+
el.addEventListener('field-selected', _onFieldSelectedFn);
|
|
131
|
+
return () => {
|
|
132
|
+
el.removeEventListener('field-selected', _onFieldSelectedFn);
|
|
133
|
+
};
|
|
134
|
+
}, []);
|
|
135
|
+
return React.createElement(customElements.getName(RuleFieldWC) ?? 'expression-rule-field', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
|
|
50
136
|
});
|
|
51
137
|
|
|
52
|
-
const RuleOperator =
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
138
|
+
const RuleOperator = React.forwardRef(function RuleOperator(props, ref) {
|
|
139
|
+
const { onOperatorSelected, children, ...rest } = props;
|
|
140
|
+
const _innerRef = React.useRef(null);
|
|
141
|
+
const _onOperatorSelectedRef = React.useRef(onOperatorSelected);
|
|
142
|
+
_onOperatorSelectedRef.current = onOperatorSelected;
|
|
143
|
+
React.useLayoutEffect(() => {
|
|
144
|
+
const el = _innerRef.current;
|
|
145
|
+
if (!el) return;
|
|
146
|
+
const _onOperatorSelectedFn = (e) => _onOperatorSelectedRef.current?.(e);
|
|
147
|
+
el.addEventListener('operator-selected', _onOperatorSelectedFn);
|
|
148
|
+
return () => {
|
|
149
|
+
el.removeEventListener('operator-selected', _onOperatorSelectedFn);
|
|
150
|
+
};
|
|
151
|
+
}, []);
|
|
152
|
+
return React.createElement(customElements.getName(RuleOperatorWC) ?? 'expression-rule-operator', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
|
|
56
153
|
});
|
|
57
154
|
|
|
58
|
-
const RuleValue =
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
155
|
+
const RuleValue = React.forwardRef(function RuleValue(props, ref) {
|
|
156
|
+
const { onValueUpdated, onRemoveVariadicOperand, children, ...rest } = props;
|
|
157
|
+
const _innerRef = React.useRef(null);
|
|
158
|
+
const _onValueUpdatedRef = React.useRef(onValueUpdated);
|
|
159
|
+
_onValueUpdatedRef.current = onValueUpdated;
|
|
160
|
+
const _onRemoveVariadicOperandRef = React.useRef(onRemoveVariadicOperand);
|
|
161
|
+
_onRemoveVariadicOperandRef.current = onRemoveVariadicOperand;
|
|
162
|
+
React.useLayoutEffect(() => {
|
|
163
|
+
const el = _innerRef.current;
|
|
164
|
+
if (!el) return;
|
|
165
|
+
const _onValueUpdatedFn = (e) => _onValueUpdatedRef.current?.(e);
|
|
166
|
+
el.addEventListener('value-updated', _onValueUpdatedFn);
|
|
167
|
+
const _onRemoveVariadicOperandFn = (e) => _onRemoveVariadicOperandRef.current?.(e);
|
|
168
|
+
el.addEventListener('remove-variadic-operand', _onRemoveVariadicOperandFn);
|
|
169
|
+
return () => {
|
|
170
|
+
el.removeEventListener('value-updated', _onValueUpdatedFn);
|
|
171
|
+
el.removeEventListener('remove-variadic-operand', _onRemoveVariadicOperandFn);
|
|
172
|
+
};
|
|
173
|
+
}, []);
|
|
174
|
+
return React.createElement(customElements.getName(RuleValueWC) ?? 'expression-rule-value', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
|
|
63
175
|
});
|
|
64
176
|
|
|
65
177
|
module.exports = {
|
package/dist/react.mjs
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
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 { ExpressionBuilder as ExpressionBuilderWC } from './esm/main/expression-builder.js';
|
|
9
8
|
import { ExpressionGroup as ExpressionGroupWC } from './esm/main/expression-group/expression-group.js';
|
|
@@ -12,50 +11,163 @@ import { RuleField as RuleFieldWC } from './esm/main/rule-field/rule-field.js';
|
|
|
12
11
|
import { RuleOperator as RuleOperatorWC } from './esm/main/rule-operator/rule-operator.js';
|
|
13
12
|
import { RuleValue as RuleValueWC } from './esm/main/rule-value/rule-value.js';
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
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
|
+
}
|
|
22
|
+
|
|
23
|
+
export const ExpressionBuilder = React.forwardRef(function ExpressionBuilder(props, ref) {
|
|
24
|
+
const { onAddGroup, onDelGroup, onAddRule, onDelRule, onUpdateGroup, onUpdateRule, children, ...rest } = props;
|
|
25
|
+
const _innerRef = React.useRef(null);
|
|
26
|
+
const _onAddGroupRef = React.useRef(onAddGroup);
|
|
27
|
+
_onAddGroupRef.current = onAddGroup;
|
|
28
|
+
const _onDelGroupRef = React.useRef(onDelGroup);
|
|
29
|
+
_onDelGroupRef.current = onDelGroup;
|
|
30
|
+
const _onAddRuleRef = React.useRef(onAddRule);
|
|
31
|
+
_onAddRuleRef.current = onAddRule;
|
|
32
|
+
const _onDelRuleRef = React.useRef(onDelRule);
|
|
33
|
+
_onDelRuleRef.current = onDelRule;
|
|
34
|
+
const _onUpdateGroupRef = React.useRef(onUpdateGroup);
|
|
35
|
+
_onUpdateGroupRef.current = onUpdateGroup;
|
|
36
|
+
const _onUpdateRuleRef = React.useRef(onUpdateRule);
|
|
37
|
+
_onUpdateRuleRef.current = onUpdateRule;
|
|
38
|
+
React.useLayoutEffect(() => {
|
|
39
|
+
const el = _innerRef.current;
|
|
40
|
+
if (!el) return;
|
|
41
|
+
const _onAddGroupFn = (e) => _onAddGroupRef.current?.(e);
|
|
42
|
+
el.addEventListener('add-group', _onAddGroupFn);
|
|
43
|
+
const _onDelGroupFn = (e) => _onDelGroupRef.current?.(e);
|
|
44
|
+
el.addEventListener('del-group', _onDelGroupFn);
|
|
45
|
+
const _onAddRuleFn = (e) => _onAddRuleRef.current?.(e);
|
|
46
|
+
el.addEventListener('add-rule', _onAddRuleFn);
|
|
47
|
+
const _onDelRuleFn = (e) => _onDelRuleRef.current?.(e);
|
|
48
|
+
el.addEventListener('del-rule', _onDelRuleFn);
|
|
49
|
+
const _onUpdateGroupFn = (e) => _onUpdateGroupRef.current?.(e);
|
|
50
|
+
el.addEventListener('update-group', _onUpdateGroupFn);
|
|
51
|
+
const _onUpdateRuleFn = (e) => _onUpdateRuleRef.current?.(e);
|
|
52
|
+
el.addEventListener('update-rule', _onUpdateRuleFn);
|
|
53
|
+
return () => {
|
|
54
|
+
el.removeEventListener('add-group', _onAddGroupFn);
|
|
55
|
+
el.removeEventListener('del-group', _onDelGroupFn);
|
|
56
|
+
el.removeEventListener('add-rule', _onAddRuleFn);
|
|
57
|
+
el.removeEventListener('del-rule', _onDelRuleFn);
|
|
58
|
+
el.removeEventListener('update-group', _onUpdateGroupFn);
|
|
59
|
+
el.removeEventListener('update-rule', _onUpdateRuleFn);
|
|
60
|
+
};
|
|
61
|
+
}, []);
|
|
62
|
+
return React.createElement(customElements.getName(ExpressionBuilderWC) ?? 'expression-builder', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
|
|
26
63
|
});
|
|
27
64
|
|
|
28
|
-
export const ExpressionGroup =
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
65
|
+
export const ExpressionGroup = React.forwardRef(function ExpressionGroup(props, ref) {
|
|
66
|
+
const { onAddRule, onAddGroup, onDelGroup, onUpdateGroup, children, ...rest } = props;
|
|
67
|
+
const _innerRef = React.useRef(null);
|
|
68
|
+
const _onAddRuleRef = React.useRef(onAddRule);
|
|
69
|
+
_onAddRuleRef.current = onAddRule;
|
|
70
|
+
const _onAddGroupRef = React.useRef(onAddGroup);
|
|
71
|
+
_onAddGroupRef.current = onAddGroup;
|
|
72
|
+
const _onDelGroupRef = React.useRef(onDelGroup);
|
|
73
|
+
_onDelGroupRef.current = onDelGroup;
|
|
74
|
+
const _onUpdateGroupRef = React.useRef(onUpdateGroup);
|
|
75
|
+
_onUpdateGroupRef.current = onUpdateGroup;
|
|
76
|
+
React.useLayoutEffect(() => {
|
|
77
|
+
const el = _innerRef.current;
|
|
78
|
+
if (!el) return;
|
|
79
|
+
const _onAddRuleFn = (e) => _onAddRuleRef.current?.(e);
|
|
80
|
+
el.addEventListener('add-rule', _onAddRuleFn);
|
|
81
|
+
const _onAddGroupFn = (e) => _onAddGroupRef.current?.(e);
|
|
82
|
+
el.addEventListener('add-group', _onAddGroupFn);
|
|
83
|
+
const _onDelGroupFn = (e) => _onDelGroupRef.current?.(e);
|
|
84
|
+
el.addEventListener('del-group', _onDelGroupFn);
|
|
85
|
+
const _onUpdateGroupFn = (e) => _onUpdateGroupRef.current?.(e);
|
|
86
|
+
el.addEventListener('update-group', _onUpdateGroupFn);
|
|
87
|
+
return () => {
|
|
88
|
+
el.removeEventListener('add-rule', _onAddRuleFn);
|
|
89
|
+
el.removeEventListener('add-group', _onAddGroupFn);
|
|
90
|
+
el.removeEventListener('del-group', _onDelGroupFn);
|
|
91
|
+
el.removeEventListener('update-group', _onUpdateGroupFn);
|
|
92
|
+
};
|
|
93
|
+
}, []);
|
|
94
|
+
return React.createElement(customElements.getName(ExpressionGroupWC) ?? 'expression-group', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
|
|
35
95
|
});
|
|
36
96
|
|
|
37
|
-
export const ExpressionRule =
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
97
|
+
export const ExpressionRule = React.forwardRef(function ExpressionRule(props, ref) {
|
|
98
|
+
const { onDelRule, onUpdateRule, children, ...rest } = props;
|
|
99
|
+
const _innerRef = React.useRef(null);
|
|
100
|
+
const _onDelRuleRef = React.useRef(onDelRule);
|
|
101
|
+
_onDelRuleRef.current = onDelRule;
|
|
102
|
+
const _onUpdateRuleRef = React.useRef(onUpdateRule);
|
|
103
|
+
_onUpdateRuleRef.current = onUpdateRule;
|
|
104
|
+
React.useLayoutEffect(() => {
|
|
105
|
+
const el = _innerRef.current;
|
|
106
|
+
if (!el) return;
|
|
107
|
+
const _onDelRuleFn = (e) => _onDelRuleRef.current?.(e);
|
|
108
|
+
el.addEventListener('del-rule', _onDelRuleFn);
|
|
109
|
+
const _onUpdateRuleFn = (e) => _onUpdateRuleRef.current?.(e);
|
|
110
|
+
el.addEventListener('update-rule', _onUpdateRuleFn);
|
|
111
|
+
return () => {
|
|
112
|
+
el.removeEventListener('del-rule', _onDelRuleFn);
|
|
113
|
+
el.removeEventListener('update-rule', _onUpdateRuleFn);
|
|
114
|
+
};
|
|
115
|
+
}, []);
|
|
116
|
+
return React.createElement(customElements.getName(ExpressionRuleWC) ?? 'expression-rule', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
|
|
42
117
|
});
|
|
43
118
|
|
|
44
|
-
export const RuleField =
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
119
|
+
export const RuleField = React.forwardRef(function RuleField(props, ref) {
|
|
120
|
+
const { onFieldSelected, children, ...rest } = props;
|
|
121
|
+
const _innerRef = React.useRef(null);
|
|
122
|
+
const _onFieldSelectedRef = React.useRef(onFieldSelected);
|
|
123
|
+
_onFieldSelectedRef.current = onFieldSelected;
|
|
124
|
+
React.useLayoutEffect(() => {
|
|
125
|
+
const el = _innerRef.current;
|
|
126
|
+
if (!el) return;
|
|
127
|
+
const _onFieldSelectedFn = (e) => _onFieldSelectedRef.current?.(e);
|
|
128
|
+
el.addEventListener('field-selected', _onFieldSelectedFn);
|
|
129
|
+
return () => {
|
|
130
|
+
el.removeEventListener('field-selected', _onFieldSelectedFn);
|
|
131
|
+
};
|
|
132
|
+
}, []);
|
|
133
|
+
return React.createElement(customElements.getName(RuleFieldWC) ?? 'expression-rule-field', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
|
|
48
134
|
});
|
|
49
135
|
|
|
50
|
-
export const RuleOperator =
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
136
|
+
export const RuleOperator = React.forwardRef(function RuleOperator(props, ref) {
|
|
137
|
+
const { onOperatorSelected, children, ...rest } = props;
|
|
138
|
+
const _innerRef = React.useRef(null);
|
|
139
|
+
const _onOperatorSelectedRef = React.useRef(onOperatorSelected);
|
|
140
|
+
_onOperatorSelectedRef.current = onOperatorSelected;
|
|
141
|
+
React.useLayoutEffect(() => {
|
|
142
|
+
const el = _innerRef.current;
|
|
143
|
+
if (!el) return;
|
|
144
|
+
const _onOperatorSelectedFn = (e) => _onOperatorSelectedRef.current?.(e);
|
|
145
|
+
el.addEventListener('operator-selected', _onOperatorSelectedFn);
|
|
146
|
+
return () => {
|
|
147
|
+
el.removeEventListener('operator-selected', _onOperatorSelectedFn);
|
|
148
|
+
};
|
|
149
|
+
}, []);
|
|
150
|
+
return React.createElement(customElements.getName(RuleOperatorWC) ?? 'expression-rule-operator', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
|
|
54
151
|
});
|
|
55
152
|
|
|
56
|
-
export const RuleValue =
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
153
|
+
export const RuleValue = React.forwardRef(function RuleValue(props, ref) {
|
|
154
|
+
const { onValueUpdated, onRemoveVariadicOperand, children, ...rest } = props;
|
|
155
|
+
const _innerRef = React.useRef(null);
|
|
156
|
+
const _onValueUpdatedRef = React.useRef(onValueUpdated);
|
|
157
|
+
_onValueUpdatedRef.current = onValueUpdated;
|
|
158
|
+
const _onRemoveVariadicOperandRef = React.useRef(onRemoveVariadicOperand);
|
|
159
|
+
_onRemoveVariadicOperandRef.current = onRemoveVariadicOperand;
|
|
160
|
+
React.useLayoutEffect(() => {
|
|
161
|
+
const el = _innerRef.current;
|
|
162
|
+
if (!el) return;
|
|
163
|
+
const _onValueUpdatedFn = (e) => _onValueUpdatedRef.current?.(e);
|
|
164
|
+
el.addEventListener('value-updated', _onValueUpdatedFn);
|
|
165
|
+
const _onRemoveVariadicOperandFn = (e) => _onRemoveVariadicOperandRef.current?.(e);
|
|
166
|
+
el.addEventListener('remove-variadic-operand', _onRemoveVariadicOperandFn);
|
|
167
|
+
return () => {
|
|
168
|
+
el.removeEventListener('value-updated', _onValueUpdatedFn);
|
|
169
|
+
el.removeEventListener('remove-variadic-operand', _onRemoveVariadicOperandFn);
|
|
170
|
+
};
|
|
171
|
+
}, []);
|
|
172
|
+
return React.createElement(customElements.getName(RuleValueWC) ?? 'expression-rule-value', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
|
|
61
173
|
});
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@genesislcap/expression-builder",
|
|
3
3
|
"description": "Genesis Foundation Expression Builder",
|
|
4
|
-
"version": "14.
|
|
4
|
+
"version": "14.426.0",
|
|
5
5
|
"license": "SEE LICENSE IN license.txt",
|
|
6
6
|
"main": "dist/esm/index.js",
|
|
7
7
|
"types": "dist/expression-builder.d.ts",
|
|
@@ -38,16 +38,16 @@
|
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@genesislcap/foundation-testing": "14.
|
|
42
|
-
"@genesislcap/genx": "14.
|
|
43
|
-
"@genesislcap/rollup-builder": "14.
|
|
44
|
-
"@genesislcap/ts-builder": "14.
|
|
45
|
-
"@genesislcap/uvu-playwright-builder": "14.
|
|
46
|
-
"@genesislcap/vite-builder": "14.
|
|
47
|
-
"@genesislcap/webpack-builder": "14.
|
|
41
|
+
"@genesislcap/foundation-testing": "14.426.0",
|
|
42
|
+
"@genesislcap/genx": "14.426.0",
|
|
43
|
+
"@genesislcap/rollup-builder": "14.426.0",
|
|
44
|
+
"@genesislcap/ts-builder": "14.426.0",
|
|
45
|
+
"@genesislcap/uvu-playwright-builder": "14.426.0",
|
|
46
|
+
"@genesislcap/vite-builder": "14.426.0",
|
|
47
|
+
"@genesislcap/webpack-builder": "14.426.0"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@genesislcap/web-core": "14.
|
|
50
|
+
"@genesislcap/web-core": "14.426.0",
|
|
51
51
|
"rfdc": "1.4.1"
|
|
52
52
|
},
|
|
53
53
|
"repository": {
|
|
@@ -70,8 +70,5 @@
|
|
|
70
70
|
"require": "./dist/react.cjs"
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
|
-
"
|
|
74
|
-
"@microsoft/fast-react-wrapper": ">=0.3.0"
|
|
75
|
-
},
|
|
76
|
-
"gitHead": "04bb18a6f0b26506a9d87ab252ce9e2329219a5e"
|
|
73
|
+
"gitHead": "fdf222ae3a2e4b9ea03dea45e0f7207cc096ef40"
|
|
77
74
|
}
|