@next-libs/cmdb-instances 7.29.13 → 7.30.0

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 +3 -3
@@ -122,8 +122,24 @@ export function updateSortFields(oldFields, sortInfo, sortType) {
122
122
  });
123
123
  }
124
124
  export function translateConditions(aq, idObjectMap, modelData, t) {
125
+ var _modelData$view, _modelData$view$trans;
125
126
  var conditions = [];
126
127
  var relations = [];
128
+ var transHierRelations = [];
129
+ (_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 => {
130
+ var _relation$display_key;
131
+ var nameKeys = (_relation$display_key = relation.display_keys) !== null && _relation$display_key !== void 0 && _relation$display_key.length ? relation.display_keys : getInstanceNameKeys(idObjectMap[relation.relation_object]);
132
+ nameKeys.forEach(nameKey => {
133
+ transHierRelations.push({
134
+ id: "".concat(relation.relation_id, ".").concat(nameKey),
135
+ name: relation.relation_name,
136
+ value: {
137
+ type: "str"
138
+ },
139
+ relationSideId: relation.relation_id
140
+ });
141
+ });
142
+ });
127
143
  modelData.relation_list.forEach(relation => {
128
144
  var sidesArr = [];
129
145
  if (isSelfRelation(relation)) {
@@ -165,7 +181,7 @@ export function translateConditions(aq, idObjectMap, modelData, t) {
165
181
  });
166
182
  });
167
183
  });
168
- var attrAndRelationList = [...modelData.attrList, ...relations];
184
+ var attrAndRelationList = [...modelData.attrList, ...relations, ...transHierRelations];
169
185
  if (!isEmpty(aq)) {
170
186
  for (var _query of aq) {
171
187
  var _queries = [_query];
@@ -671,7 +687,7 @@ export function LegacyInstanceList(props) {
671
687
  var promise = (_props$onSearchExecut = props.onSearchExecute) === null || _props$onSearchExecut === void 0 ? void 0 : _props$onSearchExecut.call(props, data, v3Data);
672
688
  // useAutoDiscoveryProvider=true, 使用useProvider的接口
673
689
  // useExternalCmdbApi= true 使用外部接口externalPostSearchV3
674
- return promise ? promise : props.useExternalCmdbApi ? externalPostSearchV3.query([_objectSpread(_objectSpread({}, v3Data), externalRequestParams)]) : props.useAutoDiscoveryProvider ? listProvider.query([props.objectId, v3Data]) : props.ignorePermission ? ignorePermissionProvider.query([props.objectId, v3Data]) : InstanceApi_postSearchV3(props.objectId, v3Data);
690
+ return promise ? promise : props.useExternalCmdbApi ? externalPostSearchV3.query([_objectSpread(_objectSpread({}, v3Data), externalRequestParams)]) : props.useAutoDiscoveryProvider ? listProvider.query([props.objectId, v3Data]) : props.ignorePermission ? ignorePermissionProvider.query([props.objectId, v3Data]) : InstanceApi_postSearchV3(props.objectId, v3Data); //涉及到v3data的请求
675
691
  });
676
692
  return function getInstanceListData(_x2, _x3, _x4) {
677
693
  return _ref6.apply(this, arguments);
@@ -1063,6 +1079,43 @@ export function LegacyInstanceList(props) {
1063
1079
  isReset,
1064
1080
  isAdminSetDisplay
1065
1081
  } = _ref12;
1082
+ var onConfirm = /*#__PURE__*/function () {
1083
+ var _ref14 = _asyncToGenerator(function* () {
1084
+ if (props.saveFieldsBackend) {
1085
+ try {
1086
+ var sortFields = mergeFields(state.sortFields, fields);
1087
+ if (props.useExternalCmdbApi) {
1088
+ yield externalUpdateFieldsProvider.query([{
1089
+ object_id: props.objectId,
1090
+ sourceId: props.externalSourceId,
1091
+ sortFields
1092
+ }]);
1093
+ } else {
1094
+ yield updateFieldsProvider.query([props.objectId, {
1095
+ sortFields
1096
+ }]);
1097
+ }
1098
+ setState({
1099
+ fieldIds: _sortFieldIds(fields),
1100
+ sortFields
1101
+ });
1102
+ } catch (e) {
1103
+ handleHttpError(e);
1104
+ }
1105
+ } else {
1106
+ var _sortFields = mergeFields(state.sortFields, fields);
1107
+ setState({
1108
+ fieldIds: _sortFieldIds(fields),
1109
+ sortFields: _sortFields
1110
+ });
1111
+ jsonLocalStorage.setItem("".concat(modelData.objectId, "-selectAttrIds"), _sortFieldIds(fields));
1112
+ }
1113
+ props.onFieldsModalConfirm(fields);
1114
+ });
1115
+ return function onConfirm() {
1116
+ return _ref14.apply(this, arguments);
1117
+ };
1118
+ }();
1066
1119
  if (isReset) {
1067
1120
  // 恢复默认操作
1068
1121
  var fieldIds = defaultFields;
@@ -1095,48 +1148,20 @@ export function LegacyInstanceList(props) {
1095
1148
  } else {
1096
1149
  if (!isAdminSetDisplay) {
1097
1150
  // 点击确定按钮触发
1098
- if (props.saveFieldsBackend) {
1099
- try {
1100
- var _sortFields = mergeFields(state.sortFields, fields);
1101
- if (props.useExternalCmdbApi) {
1102
- yield externalUpdateFieldsProvider.query([{
1103
- object_id: props.objectId,
1104
- sourceId: props.externalSourceId,
1105
- sortFields: _sortFields
1106
- }]);
1107
- } else {
1108
- yield updateFieldsProvider.query([props.objectId, {
1109
- sortFields: _sortFields
1110
- }]);
1111
- }
1112
- setState({
1113
- fieldIds: _sortFieldIds(fields),
1114
- sortFields: _sortFields
1115
- });
1116
- } catch (e) {
1117
- handleHttpError(e);
1118
- }
1119
- } else {
1120
- var _sortFields2 = mergeFields(state.sortFields, fields);
1121
- setState({
1122
- fieldIds: _sortFieldIds(fields),
1123
- sortFields: _sortFields2
1124
- });
1125
- jsonLocalStorage.setItem("".concat(modelData.objectId, "-selectAttrIds"), _sortFieldIds(fields));
1126
- }
1127
- props.onFieldsModalConfirm(fields);
1151
+ yield onConfirm();
1128
1152
  } else {
1129
1153
  // 点击【默认显示】按钮触发,不影响当前列表显示。
1130
1154
  try {
1131
1155
  // istanbul ignore next
1132
- var _sortFields3 = mergeFields(state.sortFields, fields);
1156
+ var _sortFields2 = mergeFields(state.sortFields, fields);
1133
1157
  yield updateFieldsProvider.query([props.objectId, {
1134
- sortFields: _sortFields3,
1158
+ sortFields: _sortFields2,
1135
1159
  isDefault: true
1136
1160
  }]);
1161
+ yield onConfirm();
1137
1162
  message.success(i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.SET_DEFAULT_DISPLAY_SUCCESS)));
1138
1163
  setState({
1139
- backendDefaultFields: _sortFields3
1164
+ backendDefaultFields: _sortFields2
1140
1165
  });
1141
1166
  } catch (e) {
1142
1167
  handleHttpError(e);
@@ -1192,7 +1217,7 @@ export function LegacyInstanceList(props) {
1192
1217
  } else if (props.useAutoDiscoveryProvider) {
1193
1218
  resp = yield listProvider.query([props.objectId, v3Data]);
1194
1219
  } else {
1195
- resp = yield InstanceApi_postSearchV3(props.objectId, v3Data);
1220
+ resp = yield InstanceApi_postSearchV3(props.objectId, v3Data); //涉及到v3data的请求
1196
1221
  }
1197
1222
  resp.list.forEach(i => cache.current.set(i.instanceId, i));
1198
1223
  })();
@@ -1506,6 +1531,7 @@ export function LegacyInstanceList(props) {
1506
1531
  */
1507
1532
  export function LegacyInstanceListWrapper(props) {
1508
1533
  var [objectList, setObjectList] = useState(props.objectList);
1534
+ var [mergeObjectList, setMergeObjectList] = useState(props.objectList);
1509
1535
  var externalGetObjectRef = useProvider("easyops.api.cmdb.topo_center@ProxyGetObjectRef:1.0.0", {
1510
1536
  cache: false
1511
1537
  });
@@ -1541,9 +1567,36 @@ export function LegacyInstanceListWrapper(props) {
1541
1567
  })();
1542
1568
  }
1543
1569
  }, [props.objectId, props.objectList]);
1544
- if (!objectList || !objectList.find(item => item.objectId === props.objectId)) return null;
1570
+ useEffect(() => {
1571
+ if (!(objectList !== null && objectList !== void 0 && objectList.length) && isEqual(objectList, mergeObjectList)) return;
1572
+ _asyncToGenerator(function* () {
1573
+ var _object$view, _object$view$trans_hi;
1574
+ var object = objectList === null || objectList === void 0 ? void 0 : objectList.find(item => item.objectId === props.objectId);
1575
+ var 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);
1576
+ if (transHierRelationSideObjectIds !== null && transHierRelationSideObjectIds !== void 0 && transHierRelationSideObjectIds.length && !transHierRelationSideObjectIds.every(i => objectList.some(o => o.objectId === i))) {
1577
+ var _list;
1578
+ var list;
1579
+ if (props.useExternalCmdbApi) {
1580
+ list = yield externalGetObjectRef.query([{
1581
+ ref_object: transHierRelationSideObjectIds.join(","),
1582
+ sourceId: props.externalSourceId
1583
+ }]);
1584
+ } else {
1585
+ list = (yield CmdbObjectApi_getObjectRef({
1586
+ ref_object: transHierRelationSideObjectIds.join(",")
1587
+ })).data;
1588
+ }
1589
+ if ((_list = list) !== null && _list !== void 0 && _list.length) {
1590
+ objectList.push(...list);
1591
+ objectListCache.set(props.objectId, objectList);
1592
+ }
1593
+ }
1594
+ setMergeObjectList(objectList);
1595
+ })();
1596
+ }, [objectList]);
1597
+ if (!mergeObjectList || !mergeObjectList.find(item => item.objectId === props.objectId)) return null;
1545
1598
  return /*#__PURE__*/React.createElement(LegacyInstanceList, _extends({}, props, {
1546
- objectList: objectList
1599
+ objectList: mergeObjectList
1547
1600
  }));
1548
1601
  }
1549
1602