@onehat/ui 0.3.276 → 0.3.277

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onehat/ui",
3
- "version": "0.3.276",
3
+ "version": "0.3.277",
4
4
  "description": "Base UI for OneHat apps",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
@@ -53,6 +53,7 @@ import ReorderRows from '../Icons/ReorderRows.js';
53
53
  import PaginationToolbar from '../Toolbar/PaginationToolbar.js';
54
54
  import NoRecordsFound from '../Grid/NoRecordsFound.js';
55
55
  import Toolbar from '../Toolbar/Toolbar.js';
56
+ import Loading from '../Messages/Loading.js';
56
57
  import _ from 'lodash';
57
58
 
58
59
  const DEPTH_INDENT_PX = 25;
@@ -1089,18 +1090,22 @@ function TreeComponent(props) {
1089
1090
 
1090
1091
  useEffect(() => {
1091
1092
 
1092
- if (!isReady) {
1093
- if (Repository) {
1094
- Repository.setBaseParams(extraParams);
1095
- }
1093
+ if (!Repository) {
1096
1094
  (async () => {
1097
1095
  await buildAndSetTreeNodeData();
1098
1096
  setIsReady(true);
1099
1097
  })();
1098
+ return () => {};
1100
1099
  }
1101
1100
 
1102
- if (!Repository) {
1103
- return () => {};
1101
+ if (!_.isEmpty(extraParams)) {
1102
+ Repository.setBaseParams(extraParams);
1103
+ }
1104
+
1105
+ async function rebuildTree() {
1106
+ setIsReady(false);
1107
+ await buildAndSetTreeNodeData();
1108
+ setIsReady(true);
1104
1109
  }
1105
1110
 
1106
1111
  // set up @onehat/data repository
@@ -1110,12 +1115,14 @@ function TreeComponent(props) {
1110
1115
 
1111
1116
  Repository.on('beforeLoad', setTrue);
1112
1117
  Repository.on('load', setFalse);
1118
+ Repository.on('loadRootNodes', rebuildTree);
1113
1119
  Repository.on('changeFilters', reloadTree);
1114
1120
  Repository.on('changeSorters', reloadTree);
1115
1121
 
1116
1122
  return () => {
1117
1123
  Repository.off('beforeLoad', setTrue);
1118
1124
  Repository.off('load', setFalse);
1125
+ Repository.off('loadRootNodes', rebuildTree);
1119
1126
  Repository.off('changeFilters', reloadTree);
1120
1127
  Repository.off('changeSorters', reloadTree);
1121
1128
  };
@@ -1150,7 +1157,7 @@ function TreeComponent(props) {
1150
1157
  footerToolbarItemComponents = useMemo(() => getFooterToolbarItems(), [Repository?.hash, additionalToolbarButtons, isDragMode, getTreeNodeData()]);
1151
1158
 
1152
1159
  if (!isReady) {
1153
- return null;
1160
+ return <Loading />;
1154
1161
  }
1155
1162
 
1156
1163
  const treeNodes = renderTreeNodes(getTreeNodeData());