@next-libs/cmdb-instances 7.29.13 → 7.30.1

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.
Files changed (51) hide show
  1. package/dist/cjs/i18n/constants.js +6 -0
  2. package/dist/cjs/i18n/constants.js.map +1 -1
  3. package/dist/cjs/i18n/locales/en.js +7 -1
  4. package/dist/cjs/i18n/locales/en.js.map +1 -1
  5. package/dist/cjs/i18n/locales/zh.js +7 -1
  6. package/dist/cjs/i18n/locales/zh.js.map +1 -1
  7. package/dist/cjs/instance-detail/InstanceDetail.js +24 -10
  8. package/dist/cjs/instance-detail/InstanceDetail.js.map +1 -1
  9. package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js +2 -2
  10. package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
  11. package/dist/cjs/instance-list/InstanceList.js +82 -35
  12. package/dist/cjs/instance-list/InstanceList.js.map +1 -1
  13. package/dist/cjs/instance-list-table/AdvancedSearch.js +21 -1
  14. package/dist/cjs/instance-list-table/AdvancedSearch.js.map +1 -1
  15. package/dist/cjs/instance-list-table/DisplaySettings.js +44 -10
  16. package/dist/cjs/instance-list-table/DisplaySettings.js.map +1 -1
  17. package/dist/cjs/instance-list-table/DisplaySettingsModal.js +12 -2
  18. package/dist/cjs/instance-list-table/DisplaySettingsModal.js.map +1 -1
  19. package/dist/cjs/instance-list-table/InstanceListTable.js +112 -1
  20. package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
  21. package/dist/cjs/instance-list-table/MoreButtonsContainer.js +1 -0
  22. package/dist/cjs/instance-list-table/MoreButtonsContainer.js.map +1 -1
  23. package/dist/esm/i18n/constants.js +6 -0
  24. package/dist/esm/i18n/constants.js.map +1 -1
  25. package/dist/esm/i18n/locales/en.js +7 -1
  26. package/dist/esm/i18n/locales/en.js.map +1 -1
  27. package/dist/esm/i18n/locales/zh.js +7 -1
  28. package/dist/esm/i18n/locales/zh.js.map +1 -1
  29. package/dist/esm/instance-detail/InstanceDetail.js +21 -10
  30. package/dist/esm/instance-detail/InstanceDetail.js.map +1 -1
  31. package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js +2 -2
  32. package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
  33. package/dist/esm/instance-list/InstanceList.js +91 -38
  34. package/dist/esm/instance-list/InstanceList.js.map +1 -1
  35. package/dist/esm/instance-list-table/AdvancedSearch.js +20 -1
  36. package/dist/esm/instance-list-table/AdvancedSearch.js.map +1 -1
  37. package/dist/esm/instance-list-table/DisplaySettings.js +45 -11
  38. package/dist/esm/instance-list-table/DisplaySettings.js.map +1 -1
  39. package/dist/esm/instance-list-table/DisplaySettings.module.css +7 -0
  40. package/dist/esm/instance-list-table/DisplaySettingsModal.js +13 -3
  41. package/dist/esm/instance-list-table/DisplaySettingsModal.js.map +1 -1
  42. package/dist/esm/instance-list-table/InstanceListTable.js +110 -1
  43. package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
  44. package/dist/esm/instance-list-table/MoreButtonsContainer.js +1 -0
  45. package/dist/esm/instance-list-table/MoreButtonsContainer.js.map +1 -1
  46. package/dist/types/i18n/constants.d.ts +7 -1
  47. package/dist/types/instance-detail/components/instance-relation-table-show/instance-relation-table-show.d.ts +4 -2
  48. package/dist/types/instance-list/InstanceList.d.ts +8 -3
  49. package/dist/types/instance-list-table/DisplaySettings.d.ts +8 -0
  50. package/dist/types/instance-list-table/InstanceListTable.d.ts +12 -5
  51. package/package.json +4 -4
@@ -140,8 +140,24 @@ function updateSortFields(oldFields, sortInfo, sortType) {
140
140
  });
141
141
  }
142
142
  function translateConditions(aq, idObjectMap, modelData, t) {
143
+ var _modelData$view, _modelData$view$trans;
143
144
  const conditions = [];
144
145
  const relations = [];
146
+ const transHierRelations = [];
147
+ (_modelData$view = modelData.view) === null || _modelData$view === void 0 ? void 0 : (_modelData$view$trans = _modelData$view.trans_hier_relation_list) === null || _modelData$view$trans === void 0 ? void 0 : _modelData$view$trans.forEach(relation => {
148
+ var _relation$display_key;
149
+ const nameKeys = (_relation$display_key = relation.display_keys) !== null && _relation$display_key !== void 0 && _relation$display_key.length ? relation.display_keys : (0, _cmdbUtils.getInstanceNameKeys)(idObjectMap[relation.relation_object]);
150
+ nameKeys.forEach(nameKey => {
151
+ transHierRelations.push({
152
+ id: `${relation.relation_id}.${nameKey}`,
153
+ name: relation.relation_name,
154
+ value: {
155
+ type: "str"
156
+ },
157
+ relationSideId: relation.relation_id
158
+ });
159
+ });
160
+ });
145
161
  modelData.relation_list.forEach(relation => {
146
162
  let sidesArr = [];
147
163
  if ((0, _cmdbUtils.isSelfRelation)(relation)) {
@@ -183,7 +199,7 @@ function translateConditions(aq, idObjectMap, modelData, t) {
183
199
  });
184
200
  });
185
201
  });
186
- const attrAndRelationList = [...modelData.attrList, ...relations];
202
+ const attrAndRelationList = [...modelData.attrList, ...relations, ...transHierRelations];
187
203
  if (!(0, _lodash.isEmpty)(aq)) {
188
204
  for (const query of aq) {
189
205
  let queries = [query];
@@ -686,7 +702,7 @@ function LegacyInstanceList(props) {
686
702
  return promise ? promise : props.useExternalCmdbApi ? externalPostSearchV3.query([{
687
703
  ...v3Data,
688
704
  ...externalRequestParams
689
- }]) : props.useAutoDiscoveryProvider ? listProvider.query([props.objectId, v3Data]) : props.ignorePermission ? ignorePermissionProvider.query([props.objectId, v3Data]) : (0, _cmdbSdk.InstanceApi_postSearchV3)(props.objectId, v3Data);
705
+ }]) : props.useAutoDiscoveryProvider ? listProvider.query([props.objectId, v3Data]) : props.ignorePermission ? ignorePermissionProvider.query([props.objectId, v3Data]) : (0, _cmdbSdk.InstanceApi_postSearchV3)(props.objectId, v3Data); //涉及到v3data的请求
690
706
  };
691
707
  const refreshInstanceList = async (sort, asc, page) => {
692
708
  setState({
@@ -1056,6 +1072,38 @@ function LegacyInstanceList(props) {
1056
1072
  isReset,
1057
1073
  isAdminSetDisplay
1058
1074
  }) => {
1075
+ const onConfirm = async () => {
1076
+ if (props.saveFieldsBackend) {
1077
+ try {
1078
+ const sortFields = mergeFields(state.sortFields, fields);
1079
+ if (props.useExternalCmdbApi) {
1080
+ await externalUpdateFieldsProvider.query([{
1081
+ object_id: props.objectId,
1082
+ sourceId: props.externalSourceId,
1083
+ sortFields
1084
+ }]);
1085
+ } else {
1086
+ await updateFieldsProvider.query([props.objectId, {
1087
+ sortFields
1088
+ }]);
1089
+ }
1090
+ setState({
1091
+ fieldIds: _sortFieldIds(fields),
1092
+ sortFields
1093
+ });
1094
+ } catch (e) {
1095
+ (0, _brickKit.handleHttpError)(e);
1096
+ }
1097
+ } else {
1098
+ const sortFields = mergeFields(state.sortFields, fields);
1099
+ setState({
1100
+ fieldIds: _sortFieldIds(fields),
1101
+ sortFields
1102
+ });
1103
+ jsonLocalStorage.setItem(`${modelData.objectId}-selectAttrIds`, _sortFieldIds(fields));
1104
+ }
1105
+ props.onFieldsModalConfirm(fields);
1106
+ };
1059
1107
  if (isReset) {
1060
1108
  // 恢复默认操作
1061
1109
  const fieldIds = defaultFields;
@@ -1088,36 +1136,7 @@ function LegacyInstanceList(props) {
1088
1136
  } else {
1089
1137
  if (!isAdminSetDisplay) {
1090
1138
  // 点击确定按钮触发
1091
- if (props.saveFieldsBackend) {
1092
- try {
1093
- const sortFields = mergeFields(state.sortFields, fields);
1094
- if (props.useExternalCmdbApi) {
1095
- await externalUpdateFieldsProvider.query([{
1096
- object_id: props.objectId,
1097
- sourceId: props.externalSourceId,
1098
- sortFields
1099
- }]);
1100
- } else {
1101
- await updateFieldsProvider.query([props.objectId, {
1102
- sortFields
1103
- }]);
1104
- }
1105
- setState({
1106
- fieldIds: _sortFieldIds(fields),
1107
- sortFields
1108
- });
1109
- } catch (e) {
1110
- (0, _brickKit.handleHttpError)(e);
1111
- }
1112
- } else {
1113
- const sortFields = mergeFields(state.sortFields, fields);
1114
- setState({
1115
- fieldIds: _sortFieldIds(fields),
1116
- sortFields
1117
- });
1118
- jsonLocalStorage.setItem(`${modelData.objectId}-selectAttrIds`, _sortFieldIds(fields));
1119
- }
1120
- props.onFieldsModalConfirm(fields);
1139
+ await onConfirm();
1121
1140
  } else {
1122
1141
  // 点击【默认显示】按钮触发,不影响当前列表显示。
1123
1142
  try {
@@ -1127,6 +1146,7 @@ function LegacyInstanceList(props) {
1127
1146
  sortFields: sortFields,
1128
1147
  isDefault: true
1129
1148
  }]);
1149
+ await onConfirm();
1130
1150
  _antd.message.success(_i18next.default.t(`${_constants.NS_LIBS_CMDB_INSTANCES}:${_constants.K.SET_DEFAULT_DISPLAY_SUCCESS}`));
1131
1151
  setState({
1132
1152
  backendDefaultFields: sortFields
@@ -1184,7 +1204,7 @@ function LegacyInstanceList(props) {
1184
1204
  } else if (props.useAutoDiscoveryProvider) {
1185
1205
  resp = await listProvider.query([props.objectId, v3Data]);
1186
1206
  } else {
1187
- resp = await (0, _cmdbSdk.InstanceApi_postSearchV3)(props.objectId, v3Data);
1207
+ resp = await (0, _cmdbSdk.InstanceApi_postSearchV3)(props.objectId, v3Data); //涉及到v3data的请求
1188
1208
  }
1189
1209
  resp.list.forEach(i => cache.current.set(i.instanceId, i));
1190
1210
  })();
@@ -1498,6 +1518,7 @@ function LegacyInstanceList(props) {
1498
1518
  */
1499
1519
  function LegacyInstanceListWrapper(props) {
1500
1520
  const [objectList, setObjectList] = (0, _react.useState)(props.objectList);
1521
+ const [mergeObjectList, setMergeObjectList] = (0, _react.useState)(props.objectList);
1501
1522
  const externalGetObjectRef = (0, _brickKit.useProvider)("easyops.api.cmdb.topo_center@ProxyGetObjectRef:1.0.0", {
1502
1523
  cache: false
1503
1524
  });
@@ -1533,9 +1554,35 @@ function LegacyInstanceListWrapper(props) {
1533
1554
  })();
1534
1555
  }
1535
1556
  }, [props.objectId, props.objectList]);
1536
- if (!objectList || !objectList.find(item => item.objectId === props.objectId)) return null;
1557
+ (0, _react.useEffect)(() => {
1558
+ if (!(objectList !== null && objectList !== void 0 && objectList.length) && (0, _lodash.isEqual)(objectList, mergeObjectList)) return;
1559
+ (async (_object$view, _object$view$trans_hi) => {
1560
+ const object = objectList === null || objectList === void 0 ? void 0 : objectList.find(item => item.objectId === props.objectId);
1561
+ const transHierRelationSideObjectIds = object === null || object === void 0 ? void 0 : (_object$view = object.view) === null || _object$view === void 0 ? void 0 : (_object$view$trans_hi = _object$view.trans_hier_relation_list) === null || _object$view$trans_hi === void 0 ? void 0 : _object$view$trans_hi.map(i => i.relation_object);
1562
+ if (transHierRelationSideObjectIds !== null && transHierRelationSideObjectIds !== void 0 && transHierRelationSideObjectIds.length && !transHierRelationSideObjectIds.every(i => objectList.some(o => o.objectId === i))) {
1563
+ var _list;
1564
+ let list;
1565
+ if (props.useExternalCmdbApi) {
1566
+ list = await externalGetObjectRef.query([{
1567
+ ref_object: transHierRelationSideObjectIds.join(","),
1568
+ sourceId: props.externalSourceId
1569
+ }]);
1570
+ } else {
1571
+ list = (await (0, _cmdbSdk.CmdbObjectApi_getObjectRef)({
1572
+ ref_object: transHierRelationSideObjectIds.join(",")
1573
+ })).data;
1574
+ }
1575
+ if ((_list = list) !== null && _list !== void 0 && _list.length) {
1576
+ objectList.push(...list);
1577
+ _constants2.objectListCache.set(props.objectId, objectList);
1578
+ }
1579
+ }
1580
+ setMergeObjectList(objectList);
1581
+ })();
1582
+ }, [objectList]);
1583
+ if (!mergeObjectList || !mergeObjectList.find(item => item.objectId === props.objectId)) return null;
1537
1584
  return /*#__PURE__*/_react.default.createElement(LegacyInstanceList, (0, _extends2.default)({}, props, {
1538
- objectList: objectList
1585
+ objectList: mergeObjectList
1539
1586
  }));
1540
1587
  }
1541
1588