@next-libs/cmdb-instances 7.28.10 → 7.29.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.
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
3
  import _objectSpread from "@babel/runtime/helpers/objectSpread2";
4
4
  import React, { useEffect, useReducer, useState, useRef, useMemo, useCallback } from "react";
5
- import { difference, isEmpty, isEqual, isString, map, uniq, union, filter, reject, sortBy, uniqueId, findIndex, find, startsWith, compact, omit, keyBy, isNil, get } from "lodash";
5
+ import { difference, isEmpty, isEqual, isString, map, uniq, union, filter, reject, sortBy, uniqueId, findIndex, find, startsWith, compact, omit, keyBy, isNil, get, isArray } from "lodash";
6
6
  import { BrickAsComponent, getRuntime, handleHttpError, useProvider } from "@next-core/brick-kit";
7
7
  import i18n from "i18next";
8
8
  import { K, NS_LIBS_CMDB_INSTANCES } from "../i18n/constants";
@@ -280,6 +280,18 @@ export var initAqToShow = function (aq, modelData) {
280
280
  }
281
281
  return;
282
282
  };
283
+ // 判断是不是字符串数组
284
+ function isStringArray(arr) {
285
+ return isArray(arr) && arr.every(item => isString(item));
286
+ }
287
+ // 格式化extraFixedFields
288
+ function getExtraFixedFields(fields) {
289
+ if (isNil(fields) || isStringArray(fields)) {
290
+ return fields;
291
+ } else {
292
+ return fields.map(v => v.field);
293
+ }
294
+ }
283
295
  export function LegacyInstanceList(props) {
284
296
  var _props$selectedRowKey, _state$appList, _props$extraOperateBr, _props$extraFilterBri;
285
297
  var {
@@ -351,6 +363,9 @@ export function LegacyInstanceList(props) {
351
363
  idObjectMap
352
364
  };
353
365
  }, [props.objectList, props.objectId]);
366
+ var processFixedFields = useMemo(() => {
367
+ return getExtraFixedFields(props === null || props === void 0 ? void 0 : props.extraFixedFields);
368
+ }, [props.extraFixedFields]);
354
369
  var [inheritanceModelIdNameMap, setInheritanceModelIdNameMap] = useState({});
355
370
  var [fixedHeader, setFixHeader] = useState(false);
356
371
  var fetchInheritanceModelIdNameMap = /*#__PURE__*/function () {
@@ -422,7 +437,7 @@ export function LegacyInstanceList(props) {
422
437
 
423
438
  var getFieldsAsync = /*#__PURE__*/function () {
424
439
  var _ref3 = _asyncToGenerator(function* () {
425
- var _props$presetConfigs3, _modelData$attrList, _modelData$attrList$f2, _modelData$attrList$f3, _props$extraFixedFiel;
440
+ var _props$presetConfigs3, _modelData$attrList, _modelData$attrList$f2, _modelData$attrList$f3;
426
441
  var sort = props.sort;
427
442
  var fieldIds = (_props$presetConfigs3 = props.presetConfigs) === null || _props$presetConfigs3 === void 0 ? void 0 : _props$presetConfigs3.fieldIds;
428
443
  var sortType = modelData === null || modelData === void 0 ? void 0 : (_modelData$attrList = modelData.attrList) === null || _modelData$attrList === void 0 ? void 0 : (_modelData$attrList$f2 = _modelData$attrList.find(attr => attr.id === sort)) === null || _modelData$attrList$f2 === void 0 ? void 0 : (_modelData$attrList$f3 = _modelData$attrList$f2.value) === null || _modelData$attrList$f3 === void 0 ? void 0 : _modelData$attrList$f3.default_type;
@@ -444,7 +459,7 @@ export function LegacyInstanceList(props) {
444
459
  sortFields = returnData.sortFields;
445
460
  backendDefaultFields = returnData.defaultSortFields;
446
461
  }
447
- var extraFixedFieldIds = (_props$extraFixedFiel = props.extraFixedFields) !== null && _props$extraFixedFiel !== void 0 ? _props$extraFixedFiel : [];
462
+ var extraFixedFieldIds = processFixedFields !== null && processFixedFields !== void 0 ? processFixedFields : [];
448
463
  if (isEmpty(fieldIds)) {
449
464
  fieldIds = sortFields.map(item => item.field);
450
465
  if (isEmpty(sort) || isEmpty(asc)) {
@@ -479,9 +494,9 @@ export function LegacyInstanceList(props) {
479
494
  };
480
495
  }();
481
496
  var getFields = () => {
482
- var _props$presetConfigs4, _props$extraFixedFiel2;
497
+ var _props$presetConfigs4;
483
498
  var fieldIds = (_props$presetConfigs4 = props.presetConfigs) === null || _props$presetConfigs4 === void 0 ? void 0 : _props$presetConfigs4.fieldIds;
484
- var extraFixedFieldIds = (_props$extraFixedFiel2 = props.extraFixedFields) !== null && _props$extraFixedFiel2 !== void 0 ? _props$extraFixedFiel2 : [];
499
+ var extraFixedFieldIds = processFixedFields !== null && processFixedFields !== void 0 ? processFixedFields : [];
485
500
  if (isEmpty(fieldIds)) {
486
501
  fieldIds = jsonLocalStorage.getItem("".concat(modelData.objectId, "-selectAttrIds"));
487
502
  }
@@ -553,7 +568,7 @@ export function LegacyInstanceList(props) {
553
568
  var _modelData$attrList2, _modelData$attrList2$, _modelData$attrList2$2, _props$onSearchExecut;
554
569
  var data = {};
555
570
  var v3Data = {
556
- fields: props !== null && props !== void 0 && props.extraFixedFields ? uniq(["instanceId"].concat(props === null || props === void 0 ? void 0 : props.extraFixedFields)) : ["instanceId"]
571
+ fields: processFixedFields ? uniq(["instanceId"].concat(processFixedFields)) : ["instanceId"]
557
572
  };
558
573
  if (!isEmpty(props.permission)) {
559
574
  v3Data.permission = data.permission = props.permission;
@@ -574,7 +589,7 @@ export function LegacyInstanceList(props) {
574
589
  }];
575
590
  }
576
591
  if (state.q) {
577
- query = getQuery(modelData, idObjectMap, state.q, state.fieldIds, props.onlySearchByIp, props.extraFixedFields);
592
+ query = getQuery(modelData, idObjectMap, state.q, state.fieldIds, props.onlySearchByIp, processFixedFields);
578
593
  }
579
594
  if (state.q && props.useInstanceArchiveProvider) {
580
595
  archiveData.key_word = state.q;
@@ -746,7 +761,7 @@ export function LegacyInstanceList(props) {
746
761
  });
747
762
  }
748
763
  }
749
- }, [props.objectId, props.presetConfigs]);
764
+ }, [props.objectId, props.presetConfigs, processFixedFields]);
750
765
  useEffect(() => {
751
766
  var _props$selectedRowKey2;
752
767
  setSelectedRowKeys((_props$selectedRowKey2 = props.selectedRowKeys) !== null && _props$selectedRowKey2 !== void 0 ? _props$selectedRowKey2 : []);
@@ -1011,10 +1026,10 @@ export function LegacyInstanceList(props) {
1011
1026
  // 后台返回的默认配置
1012
1027
 
1013
1028
  var defaultFields = useMemo(() => {
1014
- var _props$presetConfigs15, _props$extraFixedFiel3;
1029
+ var _props$presetConfigs15;
1015
1030
  var defaultFields;
1016
1031
  var fieldIds = (_props$presetConfigs15 = props.presetConfigs) === null || _props$presetConfigs15 === void 0 ? void 0 : _props$presetConfigs15.fieldIds,
1017
- extraFixedFieldIds = (_props$extraFixedFiel3 = props.extraFixedFields) !== null && _props$extraFixedFiel3 !== void 0 ? _props$extraFixedFiel3 : [];
1032
+ extraFixedFieldIds = processFixedFields !== null && processFixedFields !== void 0 ? processFixedFields : [];
1018
1033
  if (!isEmpty(fieldIds)) {
1019
1034
  defaultFields = props.presetConfigs.fieldIds;
1020
1035
  } else {
@@ -1034,7 +1049,7 @@ export function LegacyInstanceList(props) {
1034
1049
  defaultFields = uniq([...defaultFields, ...extraFixedFieldIds]);
1035
1050
  }
1036
1051
  return defaultFields;
1037
- }, [props.presetConfigs, modelData, state.backendDefaultFields]);
1052
+ }, [props.presetConfigs, modelData, state.backendDefaultFields, processFixedFields]);
1038
1053
 
1039
1054
  // istanbul ignore next
1040
1055
  var handleConfirm = /*#__PURE__*/function () {
@@ -1265,6 +1280,13 @@ export function LegacyInstanceList(props) {
1265
1280
  });
1266
1281
  }
1267
1282
  }, [props.aq, props.aqToShow, props.showFilterInstanceSource]);
1283
+ var fixedFieldIds = useMemo(() => {
1284
+ if (!props.extraFixedFields || isStringArray(props.extraFixedFields)) {
1285
+ return [];
1286
+ } else {
1287
+ return props.extraFixedFields.filter(v => v.fixed).map(v => v.field);
1288
+ }
1289
+ }, [props.extraFixedFields]);
1268
1290
  return /*#__PURE__*/React.createElement(Spin, {
1269
1291
  spinning: state.loading
1270
1292
  }, state.inited && !state.failed ? /*#__PURE__*/React.createElement(React.Fragment, null, (!props.searchDisabled || !props.advancedSearchDisabled || !props.relatedToMeDisabled || !props.aliveHostsDisabled || !props.moreButtonsDisabled) && /*#__PURE__*/React.createElement("div", {
@@ -1461,7 +1483,8 @@ export function LegacyInstanceList(props) {
1461
1483
  showCustomizedSerialNumber: props.showCustomizedSerialNumber,
1462
1484
  relationLimit: props.relationLimit,
1463
1485
  onRelationMoreIconClick: props.onRelationMoreIconClick,
1464
- configProps: props.tableConfigProps
1486
+ configProps: props.tableConfigProps,
1487
+ fixedFieldIds: fixedFieldIds
1465
1488
  })) :
1466
1489
  /*#__PURE__*/
1467
1490
  // 加个空白的div是为了将loading效果撑起来