@next-libs/cmdb-instances 7.13.9 → 7.14.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.
- package/dist/cjs/i18n/constants.js +2 -0
- package/dist/cjs/i18n/constants.js.map +1 -1
- package/dist/cjs/i18n/locales/en.js +2 -0
- package/dist/cjs/i18n/locales/en.js.map +1 -1
- package/dist/cjs/i18n/locales/zh.js +2 -0
- package/dist/cjs/i18n/locales/zh.js.map +1 -1
- package/dist/cjs/instance-list/InstanceList.js +79 -29
- package/dist/cjs/instance-list/InstanceList.js.map +1 -1
- package/dist/cjs/instance-list-table/DisplaySettings.js +0 -1
- package/dist/cjs/instance-list-table/DisplaySettings.js.map +1 -1
- package/dist/cjs/instance-list-table/DisplaySettingsModal.js +36 -1
- package/dist/cjs/instance-list-table/DisplaySettingsModal.js.map +1 -1
- package/dist/cjs/instance-list-table/MoreButtonsContainer.js +2 -0
- package/dist/cjs/instance-list-table/MoreButtonsContainer.js.map +1 -1
- package/dist/esm/i18n/constants.js +2 -0
- package/dist/esm/i18n/constants.js.map +1 -1
- package/dist/esm/i18n/locales/en.js +2 -0
- package/dist/esm/i18n/locales/en.js.map +1 -1
- package/dist/esm/i18n/locales/zh.js +2 -0
- package/dist/esm/i18n/locales/zh.js.map +1 -1
- package/dist/esm/instance-list/InstanceList.js +80 -30
- package/dist/esm/instance-list/InstanceList.js.map +1 -1
- package/dist/esm/instance-list-table/DisplaySettings.js +0 -1
- package/dist/esm/instance-list-table/DisplaySettings.js.map +1 -1
- package/dist/esm/instance-list-table/DisplaySettingsModal.js +37 -2
- package/dist/esm/instance-list-table/DisplaySettingsModal.js.map +1 -1
- package/dist/esm/instance-list-table/MoreButtonsContainer.js +2 -0
- package/dist/esm/instance-list-table/MoreButtonsContainer.js.map +1 -1
- package/dist/types/i18n/constants.d.ts +2 -0
- package/dist/types/instance-list-table/DisplaySettingsModal.d.ts +3 -0
- package/dist/types/instance-list-table/MoreButtonsContainer.d.ts +2 -0
- package/package.json +2 -2
|
@@ -8,7 +8,7 @@ import i18n from "i18next";
|
|
|
8
8
|
import { K, NS_LIBS_CMDB_INSTANCES } from "../i18n/constants";
|
|
9
9
|
import { InstanceApi_postSearchV3, CmdbObjectApi_getIdMapName, CmdbObjectApi_getObjectRef } from "@next-sdk/cmdb-sdk";
|
|
10
10
|
import { Icon as LegacyIcon } from "@ant-design/compatible";
|
|
11
|
-
import { Button, Spin, Input, Tag, Select } from "antd";
|
|
11
|
+
import { Button, Spin, Input, Tag, Select, message } from "antd";
|
|
12
12
|
import { getRelationObjectSides, forEachAvailableFields, getInstanceNameKeys, isSelfRelation, ElementOperators, LogicalOperators } from "@next-libs/cmdb-utils";
|
|
13
13
|
import { JsonStorage } from "@next-libs/storage";
|
|
14
14
|
import { ConditionType, AdvancedSearch, getFieldConditionsAndValues, MoreButtonsContainer, InstanceListTable } from "../instance-list-table";
|
|
@@ -309,8 +309,14 @@ export function LegacyInstanceList(props) {
|
|
|
309
309
|
var fieldsProvider = useProvider("easyops.api.cmdb.instance@GetListDisplayView:1.0.1", {
|
|
310
310
|
cache: false
|
|
311
311
|
});
|
|
312
|
+
|
|
313
|
+
// istanbul ignore next
|
|
312
314
|
var updateFieldsProvider = useProvider("easyops.api.cmdb.instance@UpdateListDisplayView:1.0.0", {
|
|
313
|
-
cache: false
|
|
315
|
+
cache: false,
|
|
316
|
+
onError: error => {
|
|
317
|
+
// istanbul ignore next
|
|
318
|
+
throw error;
|
|
319
|
+
}
|
|
314
320
|
});
|
|
315
321
|
|
|
316
322
|
// 用于外部调用的接口, 当useExternalCmdbApi为true,才调用这些接口
|
|
@@ -420,6 +426,7 @@ export function LegacyInstanceList(props) {
|
|
|
420
426
|
var fieldIds = (_props$presetConfigs3 = props.presetConfigs) === null || _props$presetConfigs3 === void 0 ? void 0 : _props$presetConfigs3.fieldIds;
|
|
421
427
|
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;
|
|
422
428
|
var asc, sortFields;
|
|
429
|
+
var backendDefaultFields;
|
|
423
430
|
if (props.asc === true) {
|
|
424
431
|
asc = ["series-number", "auto-increment-id"].includes(sortType) ? 2 : 1;
|
|
425
432
|
} else {
|
|
@@ -431,7 +438,10 @@ export function LegacyInstanceList(props) {
|
|
|
431
438
|
sourceId: props.externalSourceId
|
|
432
439
|
}])).sortFields;
|
|
433
440
|
} else {
|
|
434
|
-
|
|
441
|
+
// 获取用户配置的显示列
|
|
442
|
+
var returnData = yield fieldsProvider.query([props.objectId]);
|
|
443
|
+
sortFields = returnData.sortFields;
|
|
444
|
+
backendDefaultFields = returnData.defaultSortFields;
|
|
435
445
|
}
|
|
436
446
|
var extraFixedFieldIds = (_props$extraFixedFiel = props.extraFixedFields) !== null && _props$extraFixedFiel !== void 0 ? _props$extraFixedFiel : [];
|
|
437
447
|
if (isEmpty(fieldIds)) {
|
|
@@ -459,7 +469,8 @@ export function LegacyInstanceList(props) {
|
|
|
459
469
|
fieldIds,
|
|
460
470
|
sort,
|
|
461
471
|
asc,
|
|
462
|
-
sortFields
|
|
472
|
+
sortFields,
|
|
473
|
+
backendDefaultFields
|
|
463
474
|
};
|
|
464
475
|
});
|
|
465
476
|
return function getFieldsAsync() {
|
|
@@ -521,7 +532,8 @@ export function LegacyInstanceList(props) {
|
|
|
521
532
|
instanceId: "all",
|
|
522
533
|
name: i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.ALL_CLUSTER))
|
|
523
534
|
}],
|
|
524
|
-
searchByApp: false
|
|
535
|
+
searchByApp: false,
|
|
536
|
+
backendDefaultFields: []
|
|
525
537
|
};
|
|
526
538
|
});
|
|
527
539
|
var [selectedRowKeys, setSelectedRowKeys] = useState((_props$selectedRowKey = props.selectedRowKeys) !== null && _props$selectedRowKey !== void 0 ? _props$selectedRowKey : []);
|
|
@@ -698,7 +710,8 @@ export function LegacyInstanceList(props) {
|
|
|
698
710
|
fieldIds,
|
|
699
711
|
sort,
|
|
700
712
|
asc,
|
|
701
|
-
sortFields
|
|
713
|
+
sortFields,
|
|
714
|
+
backendDefaultFields
|
|
702
715
|
} = fieldConfig;
|
|
703
716
|
if (
|
|
704
717
|
// 当 props.objectId 改变时,总是更新 state.fieldIds
|
|
@@ -707,7 +720,8 @@ export function LegacyInstanceList(props) {
|
|
|
707
720
|
presetConfigsQuery: (_props$presetConfigs12 = props.presetConfigs) === null || _props$presetConfigs12 === void 0 ? void 0 : _props$presetConfigs12.query,
|
|
708
721
|
sort,
|
|
709
722
|
asc: [1, 2].includes(asc) ? true : false,
|
|
710
|
-
sortFields
|
|
723
|
+
sortFields,
|
|
724
|
+
backendDefaultFields
|
|
711
725
|
});
|
|
712
726
|
});
|
|
713
727
|
return function getFieldIds() {
|
|
@@ -986,6 +1000,9 @@ export function LegacyInstanceList(props) {
|
|
|
986
1000
|
clusterValue: v
|
|
987
1001
|
});
|
|
988
1002
|
};
|
|
1003
|
+
|
|
1004
|
+
// 后台返回的默认配置
|
|
1005
|
+
|
|
989
1006
|
var defaultFields = useMemo(() => {
|
|
990
1007
|
var _props$presetConfigs15, _props$extraFixedFiel3;
|
|
991
1008
|
var defaultFields;
|
|
@@ -994,22 +1011,34 @@ export function LegacyInstanceList(props) {
|
|
|
994
1011
|
if (!isEmpty(fieldIds)) {
|
|
995
1012
|
defaultFields = props.presetConfigs.fieldIds;
|
|
996
1013
|
} else {
|
|
997
|
-
|
|
1014
|
+
var _state$backendDefault;
|
|
1015
|
+
// istanbul ignore next
|
|
1016
|
+
// 所有用户(包括管理员)点击恢复默认按钮是恢复到 1.管理员设置的默认显示 2.管理员未设置时取前N个
|
|
1017
|
+
if (props.saveFieldsBackend && !props.useExternalCmdbApi && state.backendDefaultFields && ((_state$backendDefault = state.backendDefaultFields) === null || _state$backendDefault === void 0 ? void 0 : _state$backendDefault.length) > 0) {
|
|
1018
|
+
var _state$backendDefault2;
|
|
1019
|
+
// istanbul ignore next
|
|
1020
|
+
// 后台接口返回的默认字段(1. admin用户设置的,2. 前N个)
|
|
1021
|
+
defaultFields = compact((_state$backendDefault2 = state.backendDefaultFields) === null || _state$backendDefault2 === void 0 ? void 0 : _state$backendDefault2.map(s => s.field));
|
|
1022
|
+
} else {
|
|
1023
|
+
defaultFields = computeDefaultFields().fieldIds;
|
|
1024
|
+
}
|
|
998
1025
|
}
|
|
999
1026
|
if (!isEmpty(extraFixedFieldIds)) {
|
|
1000
1027
|
defaultFields = uniq([...defaultFields, ...extraFixedFieldIds]);
|
|
1001
1028
|
}
|
|
1002
1029
|
return defaultFields;
|
|
1003
|
-
}, [props.presetConfigs, modelData]);
|
|
1030
|
+
}, [props.presetConfigs, modelData, state.backendDefaultFields]);
|
|
1004
1031
|
|
|
1005
1032
|
// istanbul ignore next
|
|
1006
1033
|
var handleConfirm = /*#__PURE__*/function () {
|
|
1007
1034
|
var _ref13 = _asyncToGenerator(function* (_ref12) {
|
|
1008
1035
|
var {
|
|
1009
1036
|
fields,
|
|
1010
|
-
isReset
|
|
1037
|
+
isReset,
|
|
1038
|
+
isAdminSetDisplay
|
|
1011
1039
|
} = _ref12;
|
|
1012
1040
|
if (isReset) {
|
|
1041
|
+
// 恢复默认操作
|
|
1013
1042
|
var fieldIds = defaultFields;
|
|
1014
1043
|
modelData.isAbstract && fieldIds.push("_object_id");
|
|
1015
1044
|
if (props.saveFieldsBackend) {
|
|
@@ -1038,34 +1067,53 @@ export function LegacyInstanceList(props) {
|
|
|
1038
1067
|
props.onFieldsModalConfirm(fieldIds);
|
|
1039
1068
|
}
|
|
1040
1069
|
} else {
|
|
1041
|
-
if (
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1070
|
+
if (!isAdminSetDisplay) {
|
|
1071
|
+
// 点击确定按钮触发
|
|
1072
|
+
if (props.saveFieldsBackend) {
|
|
1073
|
+
try {
|
|
1074
|
+
var _sortFields = mergeFields(state.sortFields, fields);
|
|
1075
|
+
if (props.useExternalCmdbApi) {
|
|
1076
|
+
yield externalUpdateFieldsProvider.query([{
|
|
1077
|
+
object_id: props.objectId,
|
|
1078
|
+
sourceId: props.externalSourceId,
|
|
1079
|
+
sortFields: _sortFields
|
|
1080
|
+
}]);
|
|
1081
|
+
} else {
|
|
1082
|
+
yield updateFieldsProvider.query([props.objectId, {
|
|
1083
|
+
sortFields: _sortFields
|
|
1084
|
+
}]);
|
|
1085
|
+
}
|
|
1086
|
+
setState({
|
|
1087
|
+
fieldIds: _sortFieldIds(fields),
|
|
1052
1088
|
sortFields: _sortFields
|
|
1053
|
-
}
|
|
1089
|
+
});
|
|
1090
|
+
} catch (e) {
|
|
1091
|
+
handleHttpError(e);
|
|
1054
1092
|
}
|
|
1093
|
+
} else {
|
|
1055
1094
|
setState({
|
|
1056
|
-
fieldIds: _sortFieldIds(fields)
|
|
1057
|
-
|
|
1095
|
+
fieldIds: _sortFieldIds(fields)
|
|
1096
|
+
});
|
|
1097
|
+
jsonLocalStorage.setItem("".concat(modelData.objectId, "-selectAttrIds"), fields);
|
|
1098
|
+
}
|
|
1099
|
+
props.onFieldsModalConfirm(fields);
|
|
1100
|
+
} else {
|
|
1101
|
+
// 点击【默认显示】按钮触发,不影响当前列表显示。
|
|
1102
|
+
try {
|
|
1103
|
+
// istanbul ignore next
|
|
1104
|
+
var _sortFields2 = mergeFields(state.sortFields, fields);
|
|
1105
|
+
yield updateFieldsProvider.query([props.objectId, {
|
|
1106
|
+
sortFields: _sortFields2,
|
|
1107
|
+
isDefault: true
|
|
1108
|
+
}]);
|
|
1109
|
+
message.success(i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.SET_DEFAULT_DISPLAY_SUCCESS)));
|
|
1110
|
+
setState({
|
|
1111
|
+
backendDefaultFields: _sortFields2
|
|
1058
1112
|
});
|
|
1059
1113
|
} catch (e) {
|
|
1060
1114
|
handleHttpError(e);
|
|
1061
1115
|
}
|
|
1062
|
-
} else {
|
|
1063
|
-
setState({
|
|
1064
|
-
fieldIds: _sortFieldIds(fields)
|
|
1065
|
-
});
|
|
1066
|
-
jsonLocalStorage.setItem("".concat(modelData.objectId, "-selectAttrIds"), fields);
|
|
1067
1116
|
}
|
|
1068
|
-
props.onFieldsModalConfirm(fields);
|
|
1069
1117
|
}
|
|
1070
1118
|
});
|
|
1071
1119
|
return function handleConfirm(_x11) {
|
|
@@ -1313,6 +1361,8 @@ export function LegacyInstanceList(props) {
|
|
|
1313
1361
|
}), !props.moreButtonsDisabled && /*#__PURE__*/React.createElement(MoreButtonsContainer, {
|
|
1314
1362
|
modelData: modelData,
|
|
1315
1363
|
onConfirm: handleConfirm,
|
|
1364
|
+
useExternalCmdbApi: props.useExternalCmdbApi,
|
|
1365
|
+
saveFieldsBackend: props.saveFieldsBackend,
|
|
1316
1366
|
fieldIds: state.fieldIds,
|
|
1317
1367
|
defaultFields: defaultFields,
|
|
1318
1368
|
extraDisabledField: props.extraDisabledField,
|