@xh/hoist 75.0.0-SNAPSHOT.1752854198386 → 75.0.0-SNAPSHOT.1752873581842
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/CHANGELOG.md +6 -0
- package/admin/tabs/activity/tracking/ActivityTrackingModel.ts +2 -0
- package/admin/tabs/activity/tracking/ActivityTrackingPanel.ts +1 -4
- package/admin/tabs/cluster/objects/ClusterObjectsModel.ts +1 -0
- package/admin/tabs/cluster/objects/ClusterObjectsPanel.ts +1 -1
- package/build/types/cmp/grid/GridContextMenu.d.ts +2 -2
- package/build/types/cmp/grid/GridModel.d.ts +24 -3
- package/build/types/cmp/grid/Types.d.ts +2 -0
- package/build/types/cmp/grid/impl/InitPersist.d.ts +1 -1
- package/build/types/cmp/grouping/GroupingChooserModel.d.ts +1 -0
- package/build/types/cmp/zoneGrid/ZoneGridModel.d.ts +9 -1
- package/build/types/core/persist/PersistenceProvider.d.ts +1 -0
- package/build/types/data/RecordAction.d.ts +2 -7
- package/cmp/grid/Grid.ts +1 -2
- package/cmp/grid/GridContextMenu.ts +2 -1
- package/cmp/grid/GridModel.ts +60 -23
- package/cmp/grid/Types.ts +2 -0
- package/cmp/grid/impl/InitPersist.ts +18 -0
- package/cmp/grid/impl/MenuSupport.ts +54 -15
- package/cmp/grouping/GroupingChooserModel.ts +4 -0
- package/cmp/zoneGrid/ZoneGridModel.ts +12 -1
- package/core/persist/PersistenceProvider.ts +12 -0
- package/data/RecordAction.ts +2 -7
- package/desktop/cmp/leftrightchooser/LeftRightChooser.ts +9 -17
- package/desktop/cmp/leftrightchooser/LeftRightChooserModel.ts +2 -0
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -12,8 +12,10 @@ import {
|
|
|
12
12
|
compact,
|
|
13
13
|
debounce as lodashDebounce,
|
|
14
14
|
get,
|
|
15
|
+
isArray,
|
|
15
16
|
isEmpty,
|
|
16
17
|
isNumber,
|
|
18
|
+
isObject,
|
|
17
19
|
isString,
|
|
18
20
|
isUndefined,
|
|
19
21
|
omit,
|
|
@@ -88,6 +90,7 @@ export abstract class PersistenceProvider<S = any> {
|
|
|
88
90
|
|
|
89
91
|
const providerClass = this.parseProviderClass<S>(cfg.persistOptions);
|
|
90
92
|
ret = new providerClass(cfg);
|
|
93
|
+
ret.ensureValid();
|
|
91
94
|
ret.bindToTarget(cfg.target);
|
|
92
95
|
return ret;
|
|
93
96
|
} catch (e) {
|
|
@@ -252,4 +255,13 @@ export abstract class PersistenceProvider<S = any> {
|
|
|
252
255
|
|
|
253
256
|
return ret;
|
|
254
257
|
}
|
|
258
|
+
|
|
259
|
+
private ensureValid() {
|
|
260
|
+
const data = this.readRaw();
|
|
261
|
+
throwIf(
|
|
262
|
+
!(isObject(data) && !isArray(data)),
|
|
263
|
+
`PersistenceProvider for ${this.path} may not be configured correctly. The provider ` +
|
|
264
|
+
'should produce a javascript object for reading property values.'
|
|
265
|
+
);
|
|
266
|
+
}
|
|
255
267
|
}
|
package/data/RecordAction.ts
CHANGED
|
@@ -34,7 +34,7 @@ export interface RecordActionSpec extends TestSupportProps {
|
|
|
34
34
|
actionFn?: (data: ActionFnData) => void;
|
|
35
35
|
|
|
36
36
|
/** Function called prior to showing this item. */
|
|
37
|
-
displayFn?: (data:
|
|
37
|
+
displayFn?: (data: ActionFnData) => RecordActionSpec;
|
|
38
38
|
|
|
39
39
|
/** Sub-actions for this action. */
|
|
40
40
|
items?: RecordActionLike[];
|
|
@@ -107,7 +107,7 @@ export class RecordAction {
|
|
|
107
107
|
className: string;
|
|
108
108
|
tooltip: string;
|
|
109
109
|
actionFn: (data: ActionFnData) => void;
|
|
110
|
-
displayFn: (data:
|
|
110
|
+
displayFn: (data: ActionFnData) => PlainObject;
|
|
111
111
|
items: Array<RecordAction | string>;
|
|
112
112
|
disabled: boolean;
|
|
113
113
|
hidden: boolean;
|
|
@@ -207,8 +207,3 @@ export class RecordAction {
|
|
|
207
207
|
);
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
|
-
|
|
211
|
-
interface DisplayFnData extends ActionFnData {
|
|
212
|
-
/** Default display config for the action */
|
|
213
|
-
defaultConfig?: PlainObject;
|
|
214
|
-
}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Copyright © 2025 Extremely Heavy Industries Inc.
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
7
|
+
import {GridOptions} from '@ag-grid-community/core';
|
|
8
|
+
import {grid} from '@xh/hoist/cmp/grid';
|
|
8
9
|
import {hframe, vbox} from '@xh/hoist/cmp/layout';
|
|
9
10
|
import {BoxProps, hoistCmp, HoistProps, uses} from '@xh/hoist/core';
|
|
10
11
|
import '@xh/hoist/desktop/register';
|
|
@@ -12,7 +13,6 @@ import {chooserToolbar} from './impl/ChooserToolbar';
|
|
|
12
13
|
import {description} from './impl/Description';
|
|
13
14
|
import './LeftRightChooser.scss';
|
|
14
15
|
import {LeftRightChooserModel} from './LeftRightChooserModel';
|
|
15
|
-
import {cloneDeep} from 'lodash';
|
|
16
16
|
|
|
17
17
|
export interface LeftRightChooserProps extends HoistProps<LeftRightChooserModel>, BoxProps {}
|
|
18
18
|
|
|
@@ -28,19 +28,11 @@ export const [LeftRightChooser, leftRightChooser] = hoistCmp.withFactory<LeftRig
|
|
|
28
28
|
className: 'xh-lr-chooser',
|
|
29
29
|
|
|
30
30
|
render({model, ...props}, ref) {
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
leftGridOptions = cloneDeep(gridOptions),
|
|
40
|
-
rightGridOptions = cloneDeep(gridOptions);
|
|
41
|
-
|
|
42
|
-
if (!leftGroupingExpanded) leftGridOptions.agOptions.groupDefaultExpanded = 0;
|
|
43
|
-
if (!rightGroupingExpanded) rightGridOptions.agOptions.groupDefaultExpanded = 0;
|
|
31
|
+
const agOptions: GridOptions = {
|
|
32
|
+
defaultColDef: {
|
|
33
|
+
resizable: false
|
|
34
|
+
}
|
|
35
|
+
};
|
|
44
36
|
|
|
45
37
|
return vbox({
|
|
46
38
|
ref,
|
|
@@ -48,9 +40,9 @@ export const [LeftRightChooser, leftRightChooser] = hoistCmp.withFactory<LeftRig
|
|
|
48
40
|
hframe({
|
|
49
41
|
className: 'xh-lr-chooser__grid-frame',
|
|
50
42
|
items: [
|
|
51
|
-
grid({model: leftModel,
|
|
43
|
+
grid({model: model.leftModel, agOptions}),
|
|
52
44
|
chooserToolbar(),
|
|
53
|
-
grid({model: rightModel,
|
|
45
|
+
grid({model: model.rightModel, agOptions})
|
|
54
46
|
]
|
|
55
47
|
}),
|
|
56
48
|
description()
|
|
@@ -186,6 +186,7 @@ export class LeftRightChooserModel extends HoistModel {
|
|
|
186
186
|
onRowDoubleClicked: e => this.onRowDoubleClicked(e),
|
|
187
187
|
columns: [leftTextCol, groupCol],
|
|
188
188
|
contextMenu: false,
|
|
189
|
+
expandToLevel: leftGroupingExpanded ? 1 : 0,
|
|
189
190
|
xhImpl: true
|
|
190
191
|
});
|
|
191
192
|
|
|
@@ -197,6 +198,7 @@ export class LeftRightChooserModel extends HoistModel {
|
|
|
197
198
|
onRowDoubleClicked: e => this.onRowDoubleClicked(e),
|
|
198
199
|
columns: [rightTextCol, groupCol],
|
|
199
200
|
contextMenu: false,
|
|
201
|
+
expandToLevel: rightGroupingExpanded ? 1 : 0,
|
|
200
202
|
xhImpl: true
|
|
201
203
|
});
|
|
202
204
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xh/hoist",
|
|
3
|
-
"version": "75.0.0-SNAPSHOT.
|
|
3
|
+
"version": "75.0.0-SNAPSHOT.1752873581842",
|
|
4
4
|
"description": "Hoist add-on for building and deploying React Applications.",
|
|
5
5
|
"repository": "github:xh/hoist-react",
|
|
6
6
|
"homepage": "https://xh.io",
|