@onehat/ui 0.2.42 → 0.2.43
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/package.json
CHANGED
|
@@ -82,6 +82,7 @@ export function Grid(props) {
|
|
|
82
82
|
hideNavColumn = true,
|
|
83
83
|
noneFoundText,
|
|
84
84
|
disableLoadingIndicator = false,
|
|
85
|
+
disableSelectorSelected = false,
|
|
85
86
|
showRowExpander = false,
|
|
86
87
|
rowExpanderTpl = '',
|
|
87
88
|
showHeaders = true,
|
|
@@ -129,10 +130,9 @@ export function Grid(props) {
|
|
|
129
130
|
isInSelection,
|
|
130
131
|
noSelectorMeansNoResults = false,
|
|
131
132
|
|
|
132
|
-
//
|
|
133
|
+
// DataMgt
|
|
133
134
|
selectorId,
|
|
134
135
|
selectorSelected,
|
|
135
|
-
disableSelectorSelected = false,
|
|
136
136
|
|
|
137
137
|
// withInlineEditor
|
|
138
138
|
inlineEditorRef,
|
|
@@ -27,6 +27,10 @@ export default function withEditor(WrappedComponent) {
|
|
|
27
27
|
},
|
|
28
28
|
record,
|
|
29
29
|
|
|
30
|
+
// DataMgt
|
|
31
|
+
selectorId,
|
|
32
|
+
selectorSelected,
|
|
33
|
+
|
|
30
34
|
// withData
|
|
31
35
|
Repository,
|
|
32
36
|
|
|
@@ -47,7 +51,13 @@ export default function withEditor(WrappedComponent) {
|
|
|
47
51
|
}
|
|
48
52
|
const
|
|
49
53
|
defaultValues = Repository.getSchema().model.defaultValues,
|
|
50
|
-
|
|
54
|
+
addValues = _.clone(defaultValues);
|
|
55
|
+
|
|
56
|
+
if (selectorId && !_.isEmpty(selectorSelected)) {
|
|
57
|
+
addValues[selectorId] = selectorSelected.id;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const entity = await Repository.add(addValues, false, true, true);
|
|
51
61
|
setSelection([entity]);
|
|
52
62
|
setIsEditorViewOnly(false);
|
|
53
63
|
setEditorMode(EDITOR_MODE__ADD);
|
|
@@ -118,11 +128,15 @@ export default function withEditor(WrappedComponent) {
|
|
|
118
128
|
} else if (selection.length > 1) {
|
|
119
129
|
// Edit multiple entities
|
|
120
130
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
131
|
+
// Loop through all entities and change fields that are not null
|
|
132
|
+
const propertyNames = Object.getOwnPropertyNames(data);
|
|
133
|
+
_.each(propertyNames, (propertyName) => {
|
|
134
|
+
if (!_.isNil(data[propertyName])) {
|
|
135
|
+
_.each(what, (rec) => {
|
|
136
|
+
rec[propertyName] = data[propertyName]
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
});
|
|
126
140
|
}
|
|
127
141
|
await Repository.save();
|
|
128
142
|
setIsEditorShown(false);
|
|
@@ -33,12 +33,6 @@ export default function withPresetButtons(WrappedComponent) {
|
|
|
33
33
|
} = props,
|
|
34
34
|
{
|
|
35
35
|
// for local use
|
|
36
|
-
selection,
|
|
37
|
-
onAdd,
|
|
38
|
-
onEdit,
|
|
39
|
-
onDelete,
|
|
40
|
-
onView,
|
|
41
|
-
onDuplicate,
|
|
42
36
|
useEditor = true,
|
|
43
37
|
disableAdd = false,
|
|
44
38
|
disableEdit = false,
|
|
@@ -51,6 +45,19 @@ export default function withPresetButtons(WrappedComponent) {
|
|
|
51
45
|
// withEditor
|
|
52
46
|
userCanEdit = true,
|
|
53
47
|
userCanView = true,
|
|
48
|
+
onAdd,
|
|
49
|
+
onEdit,
|
|
50
|
+
onDelete,
|
|
51
|
+
onView,
|
|
52
|
+
onDuplicate,
|
|
53
|
+
|
|
54
|
+
// withSelection
|
|
55
|
+
selection,
|
|
56
|
+
setSelection,
|
|
57
|
+
|
|
58
|
+
// DataMgt
|
|
59
|
+
selectorId,
|
|
60
|
+
selectorSelected,
|
|
54
61
|
} = props,
|
|
55
62
|
[isReady, setIsReady] = useState(false),
|
|
56
63
|
[localContextMenuItems, setLocalContextMenuItems] = useState([]),
|
|
@@ -210,7 +217,7 @@ export default function withPresetButtons(WrappedComponent) {
|
|
|
210
217
|
if (!isReady) {
|
|
211
218
|
setIsReady(true);
|
|
212
219
|
}
|
|
213
|
-
}, [selection, localColumnsConfig]);
|
|
220
|
+
}, [selection, selectorSelected, localColumnsConfig]);
|
|
214
221
|
|
|
215
222
|
if (!isReady) {
|
|
216
223
|
return null;
|
|
@@ -229,6 +236,7 @@ export default function withPresetButtons(WrappedComponent) {
|
|
|
229
236
|
if (additionalToolbarButtons) {
|
|
230
237
|
additionalToolbarButtonsToPass.concat(additionalToolbarButtons);
|
|
231
238
|
}
|
|
239
|
+
|
|
232
240
|
return <WrappedComponent
|
|
233
241
|
{...propsToPass}
|
|
234
242
|
contextMenuItems={contextMenuItemsToPass}
|
|
@@ -44,8 +44,8 @@ export default function DataMgt(props) {
|
|
|
44
44
|
[isWestCollapsed, setIsWestCollapsed] = useState(westStartsCollapsed),
|
|
45
45
|
[isEastCollapsed, setIsEastCollapsed] = useState(eastStartsCollapsed),
|
|
46
46
|
[isFullscreen, setIsFullscreen] = useState(false),
|
|
47
|
-
[westSelected, setWestSelectedRaw] = useState(
|
|
48
|
-
[centerSelected, setCenterSelected] = useState(
|
|
47
|
+
[westSelected, setWestSelectedRaw] = useState(),
|
|
48
|
+
[centerSelected, setCenterSelected] = useState(),
|
|
49
49
|
setWestSelected = (selected) => {
|
|
50
50
|
setWestSelectedRaw(selected);
|
|
51
51
|
setCenterSelected(); // clear selection in center
|
|
@@ -156,7 +156,7 @@ export default function DataMgt(props) {
|
|
|
156
156
|
autoLoad={!showSelector}
|
|
157
157
|
uniqueRepository={true}
|
|
158
158
|
selectorId={showSelector ? westSelector_id : null}
|
|
159
|
-
selectorSelected={westSelected}
|
|
159
|
+
selectorSelected={westSelected?.[0]}
|
|
160
160
|
noSelectorMeansNoResults={centerNoSelectorMeansNoResults}
|
|
161
161
|
onChangeSelection={setCenterSelected}
|
|
162
162
|
onEvent={onEvent}
|
|
@@ -167,7 +167,7 @@ export default function DataMgt(props) {
|
|
|
167
167
|
isFullscreen,
|
|
168
168
|
showSelector,
|
|
169
169
|
westSelected,
|
|
170
|
-
westSelected?.hash,
|
|
170
|
+
westSelected?.[0].hash,
|
|
171
171
|
centerNoSelectorMeansNoResults,
|
|
172
172
|
// {...centerProps}
|
|
173
173
|
])
|
|
@@ -191,7 +191,7 @@ export default function DataMgt(props) {
|
|
|
191
191
|
controlledByCenter = typeof associatedPanel.props.controlledByCenter === 'undefined' ? true : associatedPanel.props.controlledByCenter,
|
|
192
192
|
thisAssociatedPanelProps = {
|
|
193
193
|
selectorId: controlledByCenter ? centerSelector_id : westSelector_id,
|
|
194
|
-
selectorSelected: controlledByCenter ? centerSelected : westSelected,
|
|
194
|
+
selectorSelected: controlledByCenter ? centerSelected?.[0] : westSelected?.[0],
|
|
195
195
|
...associatedPanel.props,
|
|
196
196
|
};
|
|
197
197
|
return React.cloneElement(associatedPanel, { key: ix, reference: 'associatedPanel' + ix, ...allAssociatedPanelProps, ...thisAssociatedPanelProps, });
|