@onehat/ui 0.3.276 → 0.3.278

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.278",
4
4
  "description": "Base UI for OneHat apps",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
@@ -109,7 +109,10 @@ function TagComponent(props) {
109
109
  id = comboValue;
110
110
  let item,
111
111
  displayValue;
112
- if (Repository) {
112
+
113
+ if (!id) {
114
+ displayValue = '';
115
+ } else if (Repository) {
113
116
  item = Repository.getById(id);
114
117
  if (!item) {
115
118
  throw Error('item not found');
@@ -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,16 @@ function TreeComponent(props) {
1110
1115
 
1111
1116
  Repository.on('beforeLoad', setTrue);
1112
1117
  Repository.on('load', setFalse);
1118
+ Repository.on('loadRootNodes', setFalse);
1119
+ Repository.on('loadRootNodes', rebuildTree);
1113
1120
  Repository.on('changeFilters', reloadTree);
1114
1121
  Repository.on('changeSorters', reloadTree);
1115
1122
 
1116
1123
  return () => {
1117
1124
  Repository.off('beforeLoad', setTrue);
1118
1125
  Repository.off('load', setFalse);
1126
+ Repository.off('loadRootNodes', setFalse);
1127
+ Repository.off('loadRootNodes', rebuildTree);
1119
1128
  Repository.off('changeFilters', reloadTree);
1120
1129
  Repository.off('changeSorters', reloadTree);
1121
1130
  };
@@ -1150,7 +1159,7 @@ function TreeComponent(props) {
1150
1159
  footerToolbarItemComponents = useMemo(() => getFooterToolbarItems(), [Repository?.hash, additionalToolbarButtons, isDragMode, getTreeNodeData()]);
1151
1160
 
1152
1161
  if (!isReady) {
1153
- return null;
1162
+ return <Loading />;
1154
1163
  }
1155
1164
 
1156
1165
  const treeNodes = renderTreeNodes(getTreeNodeData());