@next-libs/cmdb-instances 7.8.0 → 7.9.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.
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceListModal.js","names":["addResourceBundle","InstanceListModal","props","selectedInstanceListTemp","setSelectedInstanceListTemp","useState","handleOk","length","every","i","resp","InstanceApi_postSearch","objectId","query","instanceId","$in","page_size","onSelected","onSelectedV2","list","map","selectedInstance","handleCancel","selectedRowKeys","onCancel","handleSelectionChange","event","selectedItems","selectedKeys","handlePaginationChange","getPaginationData","presetConfigs","fixAliveHosts","_agentStatus","React","useEffect","filter","Boolean","renderFooter","showBindButton","bindButtonDisabled","disabledTooltip","bindButtonText","i18n","t","NS_LIBS_CMDB_INSTANCES","K","PERMISSION_DENIED","position","left","CREATE_AND_BIND","bindEvent","singleSelect","color","marginRight","ONLY_ONE_INSTANCE_TO_ALLOWED","selectDisabled","showCloseBtn","CLOSE","CANCEL","CONFIRM","title","visible","modalZIndex","maxHeight","overflow","aq","q","Object","values","objectMap","extraFilterBricks","permission","instanceSourceQuery","searchDisabled","filterInstanceSourceDisabled","advancedSearchDisabled","aliveHostsDisabled","relatedToMeDisabled","moreButtonsDisabled","sortDisabled","showSizeChanger","pageSizeOptions","pageSize","page","defaultQuery","enableSearchByApp","hideSearchConditions","isInstanceFilterForm","ipCopy","rowSelectionType","extraFixedFields","limitInstanceRange","showFilterInstanceSource","filterInstanceSource","onFilterInstanceSourceChange","objectIdQuery","onFilterObjectIdChange","ignorePermission"],"sources":["../../../src/instance-list-modal/InstanceListModal.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { WarningOutlined } from \"@ant-design/icons\";\nimport { Modal, Button, Tooltip } from \"antd\";\nimport i18n from \"i18next\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\nimport { Query } from \"@next-libs/cmdb-utils\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport {\n InstanceList,\n filterObjectIdQuery,\n} from \"../instance-list/InstanceList\";\nimport { InstanceListPresetConfigs } from \"../instance-list-table/interfaces\";\nimport { addResourceBundle } from \"../i18n\";\nimport {\n ReadPaginationChangeDetail,\n UseBrickConf,\n} from \"@next-core/brick-types\";\naddResourceBundle();\nexport interface InstanceListModalProps {\n objectMap: { [key: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId: string;\n visible: boolean;\n title: React.ReactNode | string;\n q?: string;\n query?: any;\n presetConfigs?: InstanceListPresetConfigs;\n permission?: string[];\n aq?: Query[];\n instanceSourceQuery?: string;\n isInstanceFilterForm?: boolean;\n searchDisabled?: boolean;\n advancedSearchDisabled?: boolean;\n aliveHostsDisabled?: boolean;\n relatedToMeDisabled?: boolean;\n moreButtonsDisabled?: boolean;\n filterInstanceSourceDisabled?: boolean;\n sortDisabled?: boolean;\n selectDisabled?: boolean;\n showCloseBtn?: boolean;\n ipCopy?: boolean;\n singleSelect?: boolean;\n selectedRowKeys?: string[];\n onCancel: () => void;\n onSelected?: (instanceIds: any[]) => void;\n onSelectedV2?: (instanceDataList: any[]) => void;\n modalZIndex?: number;\n pageSize?: number;\n page?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n defaultQuery?: { [fieldId: string]: any }[];\n enableSearchByApp?: boolean;\n hideSearchConditions?: boolean;\n rowSelectionType?: \"checkbox\" | \"radio\";\n getPaginationData?(pagination: ReadPaginationChangeDetail): void;\n extraFixedFields?: string[];\n limitInstanceRange?: boolean;\n extraFilterBricks?: {\n useBrick: UseBrickConf;\n };\n showBindButton?: boolean;\n bindEvent?: () => void;\n bindButtonDisabled?: boolean;\n bindButtonText?: string;\n disabledTooltip?: string;\n // 是否开启实例来源筛选\n showFilterInstanceSource?: boolean;\n filterInstanceSource?: boolean;\n onFilterInstanceSourceChange?(value: boolean): void;\n onFilterObjectIdChange?(value: filterObjectIdQuery): void;\n objectIdQuery?: string;\n ignorePermission?: boolean;\n}\n\nexport function InstanceListModal(\n props: InstanceListModalProps\n): React.ReactElement {\n const [selectedInstanceListTemp, setSelectedInstanceListTemp] = useState([]);\n\n // istanbul ignore next\n const handleOk = async () => {\n if (\n selectedInstanceListTemp.length &&\n selectedInstanceListTemp.every((i) => typeof i === \"string\")\n ) {\n const resp = await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: selectedInstanceListTemp,\n },\n },\n page_size: selectedInstanceListTemp.length,\n });\n props.onSelected?.(selectedInstanceListTemp);\n props.onSelectedV2?.(resp.list);\n return;\n }\n\n props.onSelected?.(\n selectedInstanceListTemp.map(\n (selectedInstance) => selectedInstance.instanceId\n )\n );\n props.onSelectedV2?.(selectedInstanceListTemp);\n };\n // istanbul ignore next\n const handleCancel = () => {\n // reset selected\n setSelectedInstanceListTemp(props.selectedRowKeys ?? []);\n props.onCancel();\n };\n // istanbul ignore next\n const handleSelectionChange = (event: {\n selectedKeys: string[];\n selectedItems: any[];\n }) => {\n if (event.selectedItems.length < event.selectedKeys.length) {\n setSelectedInstanceListTemp(event.selectedKeys);\n } else {\n setSelectedInstanceListTemp(event.selectedItems);\n }\n };\n //istanbul ignore next\n const handlePaginationChange = (event: {\n page: number;\n pageSize: number;\n }) => {\n props.getPaginationData?.(event);\n };\n const presetConfigs = props.presetConfigs ?? {\n query: props.query,\n };\n\n const fixAliveHosts = presetConfigs.query?._agentStatus === \"正常\";\n\n React.useEffect(() => {\n if (props.selectedRowKeys) {\n setSelectedInstanceListTemp(props.selectedRowKeys.filter(Boolean));\n }\n }, [props.selectedRowKeys]);\n\n const renderFooter = (): React.ReactElement => {\n const {\n showBindButton,\n bindButtonDisabled,\n disabledTooltip,\n bindButtonText,\n } = props;\n return (\n <>\n {!!showBindButton &&\n (bindButtonDisabled ? (\n <Tooltip\n title={\n disabledTooltip ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.PERMISSION_DENIED}`)\n }\n >\n <Button style={{ position: \"absolute\", left: \"24px\" }} disabled>\n {bindButtonText ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_AND_BIND}`)}\n </Button>\n </Tooltip>\n ) : (\n <Button\n style={{ position: \"absolute\", left: \"24px\" }}\n onClick={props.bindEvent}\n >\n {bindButtonText ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_AND_BIND}`)}\n </Button>\n ))}\n {props.singleSelect && selectedInstanceListTemp.length > 1 && (\n <span style={{ color: \"#ff0016\", marginRight: \"20px\" }}>\n <WarningOutlined\n style={{ color: \"#ff0016\", marginRight: \"10px\" }}\n />\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ONLY_ONE_INSTANCE_TO_ALLOWED}`\n )}\n </span>\n )}\n {(props.selectDisabled || props.showCloseBtn) && (\n <Button key=\"back\" onClick={props.onCancel}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLOSE}`)}\n </Button>\n )}\n {!props.selectDisabled && !props.showCloseBtn && (\n <>\n <Button key=\"back\" onClick={handleCancel} type=\"text\">\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n </Button>\n <Button\n key=\"submit\"\n type=\"primary\"\n onClick={handleOk}\n disabled={\n !selectedInstanceListTemp.length ||\n (props.singleSelect && selectedInstanceListTemp.length > 1)\n }\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n </>\n )}\n </>\n );\n };\n return (\n <Modal\n title={props.title}\n visible={props.visible}\n width={900}\n onOk={handleOk}\n onCancel={handleCancel}\n destroyOnClose={true}\n footer={renderFooter()}\n zIndex={props.modalZIndex ?? 1000}\n >\n <div style={{ maxHeight: 720, overflow: \"auto\" }}>\n <InstanceList\n aq={props.aq}\n q={props.q}\n objectId={props.objectId}\n objectList={Object.values(props.objectMap)}\n presetConfigs={presetConfigs}\n extraFilterBricks={props.extraFilterBricks}\n permission={props.permission}\n aliveHosts={fixAliveHosts}\n fixAliveHosts={fixAliveHosts}\n instanceSourceQuery={props.instanceSourceQuery}\n searchDisabled={props.searchDisabled}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n aliveHostsDisabled={props.aliveHostsDisabled}\n relatedToMeDisabled={props.relatedToMeDisabled}\n moreButtonsDisabled={props.moreButtonsDisabled}\n sortDisabled={props.sortDisabled}\n selectDisabled={props.selectDisabled}\n selectedRowKeys={props.selectedRowKeys}\n onSelectionChange={handleSelectionChange}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n pageSize={props.pageSize || 10}\n page={props.page}\n defaultQuery={props.defaultQuery}\n enableSearchByApp={props.enableSearchByApp}\n hideSearchConditions={props.hideSearchConditions}\n isInstanceFilterForm={props.isInstanceFilterForm}\n ipCopy={props.ipCopy}\n rowSelectionType={props.rowSelectionType}\n onPaginationChange={handlePaginationChange}\n extraFixedFields={props.extraFixedFields}\n limitInstanceRange={props.limitInstanceRange}\n showFilterInstanceSource={props.showFilterInstanceSource}\n filterInstanceSource={props.filterInstanceSource}\n onFilterInstanceSourceChange={props.onFilterInstanceSourceChange}\n objectIdQuery={props.objectIdQuery}\n onFilterObjectIdChange={props.onFilterObjectIdChange}\n ignorePermission={props.ignorePermission}\n />\n </div>\n </Modal>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"InstanceListModal.js","names":["addResourceBundle","InstanceListModal","props","selectedInstanceListTemp","setSelectedInstanceListTemp","useState","handleOk","length","every","i","resp","InstanceApi_postSearch","objectId","query","instanceId","$in","page_size","onSelected","onSelectedV2","list","map","selectedInstance","handleCancel","selectedRowKeys","onCancel","handleSelectionChange","event","selectedItems","selectedKeys","handlePaginationChange","getPaginationData","presetConfigs","fixAliveHosts","_agentStatus","React","useEffect","filter","Boolean","renderFooter","showBindButton","bindButtonDisabled","disabledTooltip","bindButtonText","i18n","t","NS_LIBS_CMDB_INSTANCES","K","PERMISSION_DENIED","position","left","CREATE_AND_BIND","bindEvent","singleSelect","color","marginRight","ONLY_ONE_INSTANCE_TO_ALLOWED","selectDisabled","showCloseBtn","CLOSE","CANCEL","CONFIRM","title","visible","modalZIndex","maxHeight","overflow","aq","q","Object","values","objectMap","extraFilterBricks","permission","instanceSourceQuery","searchDisabled","filterInstanceSourceDisabled","advancedSearchDisabled","aliveHostsDisabled","relatedToMeDisabled","moreButtonsDisabled","sortDisabled","showSizeChanger","pageSizeOptions","pageSize","page","defaultQuery","enableSearchByApp","hideSearchConditions","isInstanceFilterForm","ipCopy","rowSelectionType","extraFixedFields","limitInstanceRange","showFilterInstanceSource","filterInstanceSource","onFilterInstanceSourceChange","objectIdQuery","onFilterObjectIdChange","ignorePermission","saveFieldsBackend"],"sources":["../../../src/instance-list-modal/InstanceListModal.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { WarningOutlined } from \"@ant-design/icons\";\nimport { Modal, Button, Tooltip } from \"antd\";\nimport i18n from \"i18next\";\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\nimport { Query } from \"@next-libs/cmdb-utils\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport {\n InstanceList,\n filterObjectIdQuery,\n} from \"../instance-list/InstanceList\";\nimport { InstanceListPresetConfigs } from \"../instance-list-table/interfaces\";\nimport { addResourceBundle } from \"../i18n\";\nimport {\n ReadPaginationChangeDetail,\n UseBrickConf,\n} from \"@next-core/brick-types\";\naddResourceBundle();\nexport interface InstanceListModalProps {\n objectMap: { [key: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId: string;\n visible: boolean;\n title: React.ReactNode | string;\n q?: string;\n query?: any;\n presetConfigs?: InstanceListPresetConfigs;\n permission?: string[];\n aq?: Query[];\n instanceSourceQuery?: string;\n isInstanceFilterForm?: boolean;\n searchDisabled?: boolean;\n advancedSearchDisabled?: boolean;\n aliveHostsDisabled?: boolean;\n relatedToMeDisabled?: boolean;\n moreButtonsDisabled?: boolean;\n filterInstanceSourceDisabled?: boolean;\n sortDisabled?: boolean;\n selectDisabled?: boolean;\n showCloseBtn?: boolean;\n ipCopy?: boolean;\n singleSelect?: boolean;\n selectedRowKeys?: string[];\n onCancel: () => void;\n onSelected?: (instanceIds: any[]) => void;\n onSelectedV2?: (instanceDataList: any[]) => void;\n modalZIndex?: number;\n pageSize?: number;\n page?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n defaultQuery?: { [fieldId: string]: any }[];\n enableSearchByApp?: boolean;\n hideSearchConditions?: boolean;\n rowSelectionType?: \"checkbox\" | \"radio\";\n getPaginationData?(pagination: ReadPaginationChangeDetail): void;\n extraFixedFields?: string[];\n limitInstanceRange?: boolean;\n extraFilterBricks?: {\n useBrick: UseBrickConf;\n };\n showBindButton?: boolean;\n bindEvent?: () => void;\n bindButtonDisabled?: boolean;\n bindButtonText?: string;\n disabledTooltip?: string;\n // 是否开启实例来源筛选\n showFilterInstanceSource?: boolean;\n filterInstanceSource?: boolean;\n onFilterInstanceSourceChange?(value: boolean): void;\n onFilterObjectIdChange?(value: filterObjectIdQuery): void;\n objectIdQuery?: string;\n ignorePermission?: boolean;\n saveFieldsBackend?: boolean;\n}\n\nexport function InstanceListModal(\n props: InstanceListModalProps\n): React.ReactElement {\n const [selectedInstanceListTemp, setSelectedInstanceListTemp] = useState([]);\n\n // istanbul ignore next\n const handleOk = async () => {\n if (\n selectedInstanceListTemp.length &&\n selectedInstanceListTemp.every((i) => typeof i === \"string\")\n ) {\n const resp = await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: selectedInstanceListTemp,\n },\n },\n page_size: selectedInstanceListTemp.length,\n });\n props.onSelected?.(selectedInstanceListTemp);\n props.onSelectedV2?.(resp.list);\n return;\n }\n\n props.onSelected?.(\n selectedInstanceListTemp.map(\n (selectedInstance) => selectedInstance.instanceId\n )\n );\n props.onSelectedV2?.(selectedInstanceListTemp);\n };\n // istanbul ignore next\n const handleCancel = () => {\n // reset selected\n setSelectedInstanceListTemp(props.selectedRowKeys ?? []);\n props.onCancel();\n };\n // istanbul ignore next\n const handleSelectionChange = (event: {\n selectedKeys: string[];\n selectedItems: any[];\n }) => {\n if (event.selectedItems.length < event.selectedKeys.length) {\n setSelectedInstanceListTemp(event.selectedKeys);\n } else {\n setSelectedInstanceListTemp(event.selectedItems);\n }\n };\n //istanbul ignore next\n const handlePaginationChange = (event: {\n page: number;\n pageSize: number;\n }) => {\n props.getPaginationData?.(event);\n };\n const presetConfigs = props.presetConfigs ?? {\n query: props.query,\n };\n\n const fixAliveHosts = presetConfigs.query?._agentStatus === \"正常\";\n\n React.useEffect(() => {\n if (props.selectedRowKeys) {\n setSelectedInstanceListTemp(props.selectedRowKeys.filter(Boolean));\n }\n }, [props.selectedRowKeys]);\n\n const renderFooter = (): React.ReactElement => {\n const {\n showBindButton,\n bindButtonDisabled,\n disabledTooltip,\n bindButtonText,\n } = props;\n return (\n <>\n {!!showBindButton &&\n (bindButtonDisabled ? (\n <Tooltip\n title={\n disabledTooltip ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.PERMISSION_DENIED}`)\n }\n >\n <Button style={{ position: \"absolute\", left: \"24px\" }} disabled>\n {bindButtonText ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_AND_BIND}`)}\n </Button>\n </Tooltip>\n ) : (\n <Button\n style={{ position: \"absolute\", left: \"24px\" }}\n onClick={props.bindEvent}\n >\n {bindButtonText ||\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_AND_BIND}`)}\n </Button>\n ))}\n {props.singleSelect && selectedInstanceListTemp.length > 1 && (\n <span style={{ color: \"#ff0016\", marginRight: \"20px\" }}>\n <WarningOutlined\n style={{ color: \"#ff0016\", marginRight: \"10px\" }}\n />\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ONLY_ONE_INSTANCE_TO_ALLOWED}`\n )}\n </span>\n )}\n {(props.selectDisabled || props.showCloseBtn) && (\n <Button key=\"back\" onClick={props.onCancel}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLOSE}`)}\n </Button>\n )}\n {!props.selectDisabled && !props.showCloseBtn && (\n <>\n <Button key=\"back\" onClick={handleCancel} type=\"text\">\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n </Button>\n <Button\n key=\"submit\"\n type=\"primary\"\n onClick={handleOk}\n disabled={\n !selectedInstanceListTemp.length ||\n (props.singleSelect && selectedInstanceListTemp.length > 1)\n }\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n </>\n )}\n </>\n );\n };\n return (\n <Modal\n title={props.title}\n visible={props.visible}\n width={900}\n onOk={handleOk}\n onCancel={handleCancel}\n destroyOnClose={true}\n footer={renderFooter()}\n zIndex={props.modalZIndex ?? 1000}\n >\n <div style={{ maxHeight: 720, overflow: \"auto\" }}>\n <InstanceList\n aq={props.aq}\n q={props.q}\n objectId={props.objectId}\n objectList={Object.values(props.objectMap)}\n presetConfigs={presetConfigs}\n extraFilterBricks={props.extraFilterBricks}\n permission={props.permission}\n aliveHosts={fixAliveHosts}\n fixAliveHosts={fixAliveHosts}\n instanceSourceQuery={props.instanceSourceQuery}\n searchDisabled={props.searchDisabled}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n aliveHostsDisabled={props.aliveHostsDisabled}\n relatedToMeDisabled={props.relatedToMeDisabled}\n moreButtonsDisabled={props.moreButtonsDisabled}\n sortDisabled={props.sortDisabled}\n selectDisabled={props.selectDisabled}\n selectedRowKeys={props.selectedRowKeys}\n onSelectionChange={handleSelectionChange}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n pageSize={props.pageSize || 10}\n page={props.page}\n defaultQuery={props.defaultQuery}\n enableSearchByApp={props.enableSearchByApp}\n hideSearchConditions={props.hideSearchConditions}\n isInstanceFilterForm={props.isInstanceFilterForm}\n ipCopy={props.ipCopy}\n rowSelectionType={props.rowSelectionType}\n onPaginationChange={handlePaginationChange}\n extraFixedFields={props.extraFixedFields}\n limitInstanceRange={props.limitInstanceRange}\n showFilterInstanceSource={props.showFilterInstanceSource}\n filterInstanceSource={props.filterInstanceSource}\n onFilterInstanceSourceChange={props.onFilterInstanceSourceChange}\n objectIdQuery={props.objectIdQuery}\n onFilterObjectIdChange={props.onFilterObjectIdChange}\n ignorePermission={props.ignorePermission}\n saveFieldsBackend={props.saveFieldsBackend}\n />\n </div>\n </Modal>\n );\n}\n"],"mappings":"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"}
@@ -95,6 +95,31 @@ export var isValueEqualFn = (query, attrId, valuesStr) => {
95
95
  return query[attrId] ? valuesStr && Object.values(query[attrId]).join(" ") !== valuesStr // 当条件是为空和不为空时,需要判断valuesStr是否存在
96
96
  : false;
97
97
  };
98
+ export function mergeFields(oldFields, newFieldIds) {
99
+ return newFieldIds.map(field => {
100
+ var existField = oldFields.find(f => f.field === field);
101
+ var order = existField ? existField.order : 0;
102
+ return {
103
+ field,
104
+ order
105
+ };
106
+ });
107
+ }
108
+ export function updateSortFields(oldFields, sortInfo, sortType) {
109
+ var {
110
+ asc,
111
+ sort
112
+ } = sortInfo;
113
+ var order = ["series-number", "auto-increment-id"].includes(sortType) ? asc ? 2 : -2 : asc ? 1 : -1;
114
+ return oldFields.map(item => {
115
+ if (item.field === sort) {
116
+ item.order = order;
117
+ } else {
118
+ item.order = 0;
119
+ }
120
+ return item;
121
+ });
122
+ }
98
123
  export function translateConditions(aq, idObjectMap, modelData, t) {
99
124
  var conditions = [];
100
125
  var relations = [];
@@ -279,6 +304,14 @@ export function LegacyInstanceList(props) {
279
304
  var ignorePermissionProvider = useProvider("easyops.api.cmdb.instance@PostSearchV3WithAdmin:1.0.0", {
280
305
  cache: false
281
306
  });
307
+ // istanbul ignore next
308
+
309
+ var fieldsProvider = useProvider("easyops.api.cmdb.instance@GetListDisplayView:1.0.1", {
310
+ cache: false
311
+ });
312
+ var updateFieldsProvider = useProvider("easyops.api.cmdb.instance@UpdateListDisplayView:1.0.0", {
313
+ cache: false
314
+ });
282
315
  var {
283
316
  modelData,
284
317
  idObjectMap
@@ -357,10 +390,65 @@ export function LegacyInstanceList(props) {
357
390
  });
358
391
  return [...frontFields, ...restFields];
359
392
  };
393
+ // istanbul ignore next
394
+
395
+ var getFieldsAsync = /*#__PURE__*/function () {
396
+ var _ref3 = _asyncToGenerator(function* () {
397
+ var _props$presetConfigs3, _modelData$attrList, _modelData$attrList$f2, _modelData$attrList$f3, _props$extraFixedFiel;
398
+ var sort = props.sort;
399
+ var fieldIds = (_props$presetConfigs3 = props.presetConfigs) === null || _props$presetConfigs3 === void 0 ? void 0 : _props$presetConfigs3.fieldIds;
400
+ 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;
401
+ var asc;
402
+ if (props.asc === true) {
403
+ asc = ["series-number", "auto-increment-id"].includes(sortType) ? 2 : 1;
404
+ } else {
405
+ asc = ["series-number", "auto-increment-id"].includes(sortType) ? -2 : -1;
406
+ }
407
+ var sortFields;
408
+ if (props.saveFieldsBackend) {
409
+ sortFields = (yield fieldsProvider.query([props.objectId])).sortFields;
410
+ }
411
+ var extraFixedFieldIds = (_props$extraFixedFiel = props.extraFixedFields) !== null && _props$extraFixedFiel !== void 0 ? _props$extraFixedFiel : [];
412
+ if (isEmpty(fieldIds)) {
413
+ if (props.saveFieldsBackend) {
414
+ fieldIds = sortFields.map(item => item.field);
415
+ if (isEmpty(sort) || isEmpty(asc)) {
416
+ var orderField = sortFields.find(item => item.order !== 0);
417
+ if (orderField) {
418
+ sort = orderField.field;
419
+ asc = orderField.order;
420
+ }
421
+ }
422
+ } else {
423
+ fieldIds = jsonLocalStorage.getItem("".concat(modelData.objectId, "-selectAttrIds"));
424
+ }
425
+ }
426
+ if (isEmpty(fieldIds)) {
427
+ fieldIds = computeDefaultFields().fieldIds;
428
+ }
429
+ if (!isEmpty(extraFixedFieldIds)) {
430
+ fieldIds = uniq([...fieldIds, ...extraFixedFieldIds]);
431
+ }
432
+ fieldIds = props.extraDisabledField ? uniq([...fieldIds, props.extraDisabledField]) : fieldIds;
433
+ fieldIds = _sortFieldIds(fieldIds);
434
+ var hideModelData = modelData.view.hide_columns || [];
435
+ fieldIds = fieldIds.filter(field => !hideModelData.includes(field));
436
+ modelData.isAbstract && fieldIds.push("_object_id");
437
+ return {
438
+ fieldIds,
439
+ sort,
440
+ asc,
441
+ sortFields
442
+ };
443
+ });
444
+ return function getFieldsAsync() {
445
+ return _ref3.apply(this, arguments);
446
+ };
447
+ }();
360
448
  var getFields = () => {
361
- var _props$presetConfigs3, _props$extraFixedFiel;
362
- var fieldIds = (_props$presetConfigs3 = props.presetConfigs) === null || _props$presetConfigs3 === void 0 ? void 0 : _props$presetConfigs3.fieldIds;
363
- var extraFixedFieldIds = (_props$extraFixedFiel = props.extraFixedFields) !== null && _props$extraFixedFiel !== void 0 ? _props$extraFixedFiel : [];
449
+ var _props$presetConfigs4, _props$extraFixedFiel2;
450
+ var fieldIds = (_props$presetConfigs4 = props.presetConfigs) === null || _props$presetConfigs4 === void 0 ? void 0 : _props$presetConfigs4.fieldIds;
451
+ var extraFixedFieldIds = (_props$extraFixedFiel2 = props.extraFixedFields) !== null && _props$extraFixedFiel2 !== void 0 ? _props$extraFixedFiel2 : [];
364
452
  if (isEmpty(fieldIds)) {
365
453
  fieldIds = jsonLocalStorage.getItem("".concat(modelData.objectId, "-selectAttrIds"));
366
454
  }
@@ -379,17 +467,18 @@ export function LegacyInstanceList(props) {
379
467
  };
380
468
  var [q, setQ] = useState(props.q);
381
469
  var [state, setState] = useReducer(reducer, undefined, () => {
382
- var _ref3, _props$dataSource$pag, _props$dataSource, _ref4, _props$dataSource$pag2, _props$dataSource2, _props$presetConfigs4;
470
+ var _ref4, _props$dataSource$pag, _props$dataSource, _ref5, _props$dataSource$pag2, _props$dataSource2, _props$presetConfigs5;
383
471
  return {
384
472
  objectId: props.objectId,
385
473
  q: props.q,
386
474
  aq: initAqToShow(props.aq, modelData, false),
475
+ sortFields: [],
387
476
  aqToShow: props.aqToShow || initAqToShow(props.aq, modelData),
388
477
  instanceSourceQuery: props.instanceSourceQuery,
389
478
  asc: props.asc,
390
479
  sort: props.sort,
391
- page: (_ref3 = (_props$dataSource$pag = (_props$dataSource = props.dataSource) === null || _props$dataSource === void 0 ? void 0 : _props$dataSource.page) !== null && _props$dataSource$pag !== void 0 ? _props$dataSource$pag : props.page) !== null && _ref3 !== void 0 ? _ref3 : 1,
392
- pageSize: (_ref4 = (_props$dataSource$pag2 = (_props$dataSource2 = props.dataSource) === null || _props$dataSource2 === void 0 ? void 0 : _props$dataSource2.pageSize) !== null && _props$dataSource$pag2 !== void 0 ? _props$dataSource$pag2 : props.pageSize) !== null && _ref4 !== void 0 ? _ref4 : 10,
480
+ page: (_ref4 = (_props$dataSource$pag = (_props$dataSource = props.dataSource) === null || _props$dataSource === void 0 ? void 0 : _props$dataSource.page) !== null && _props$dataSource$pag !== void 0 ? _props$dataSource$pag : props.page) !== null && _ref4 !== void 0 ? _ref4 : 1,
481
+ pageSize: (_ref5 = (_props$dataSource$pag2 = (_props$dataSource2 = props.dataSource) === null || _props$dataSource2 === void 0 ? void 0 : _props$dataSource2.pageSize) !== null && _props$dataSource$pag2 !== void 0 ? _props$dataSource$pag2 : props.pageSize) !== null && _ref5 !== void 0 ? _ref5 : 10,
393
482
  aliveHosts: props.aliveHosts,
394
483
  relatedToMe: props.relatedToMe,
395
484
  objectIdQuery: props.objectIdQuery,
@@ -399,8 +488,8 @@ export function LegacyInstanceList(props) {
399
488
  loading: false,
400
489
  failed: false,
401
490
  isAdvancedSearchVisible: false,
402
- fieldIds: getFields(),
403
- presetConfigsQuery: (_props$presetConfigs4 = props.presetConfigs) === null || _props$presetConfigs4 === void 0 ? void 0 : _props$presetConfigs4.query,
491
+ fieldIds: props.saveFieldsBackend ? [] : getFields(),
492
+ presetConfigsQuery: (_props$presetConfigs5 = props.presetConfigs) === null || _props$presetConfigs5 === void 0 ? void 0 : _props$presetConfigs5.query,
404
493
  autoBreakLine: false,
405
494
  appSearchInstanceId: "",
406
495
  currentChangeSelect: "App",
@@ -418,8 +507,8 @@ export function LegacyInstanceList(props) {
418
507
  var cache = useRef(new Map());
419
508
  var isFirstRunRef = useRef(true);
420
509
  var getInstanceListData = /*#__PURE__*/function () {
421
- var _ref5 = _asyncToGenerator(function* (sort, asc, page) {
422
- var _modelData$attrList, _modelData$attrList$f2, _modelData$attrList$f3, _props$onSearchExecut;
510
+ var _ref6 = _asyncToGenerator(function* (sort, asc, page) {
511
+ var _modelData$attrList2, _modelData$attrList2$, _modelData$attrList2$2, _props$onSearchExecut;
423
512
  var data = {};
424
513
  var v3Data = {
425
514
  fields: props !== null && props !== void 0 && props.extraFixedFields ? uniq(["instanceId"].concat(props === null || props === void 0 ? void 0 : props.extraFixedFields)) : ["instanceId"]
@@ -431,7 +520,7 @@ export function LegacyInstanceList(props) {
431
520
  var query = {};
432
521
  v3Data.page = data.page = archiveData.page = page;
433
522
  v3Data["page_size"] = data["page_size"] = archiveData["page_size"] = state.pageSize;
434
- 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;
523
+ var sortType = modelData === null || modelData === void 0 ? void 0 : (_modelData$attrList2 = modelData.attrList) === null || _modelData$attrList2 === void 0 ? void 0 : (_modelData$attrList2$ = _modelData$attrList2.find(attr => attr.id === sort)) === null || _modelData$attrList2$ === void 0 ? void 0 : (_modelData$attrList2$2 = _modelData$attrList2$.value) === null || _modelData$attrList2$2 === void 0 ? void 0 : _modelData$attrList2$2.default_type;
435
524
  var order = ["series-number", "auto-increment-id"].includes(sortType) ? asc ? 2 : -2 : asc ? 1 : -1;
436
525
  if (sort) {
437
526
  data.sort = {
@@ -500,8 +589,8 @@ export function LegacyInstanceList(props) {
500
589
  //按应用筛选
501
590
  // istanbul ignore next (state is not updated)
502
591
  if (state.searchByApp) {
503
- var _props$presetConfigs5, _props$presetConfigs6, _props$presetConfigs7, _props$presetConfigs8, _props$presetConfigs9;
504
- var hostRange = (_props$presetConfigs5 = props.presetConfigs) === null || _props$presetConfigs5 === void 0 ? void 0 : (_props$presetConfigs6 = _props$presetConfigs5.query) === null || _props$presetConfigs6 === void 0 ? void 0 : (_props$presetConfigs7 = _props$presetConfigs6["$and"]) === null || _props$presetConfigs7 === void 0 ? void 0 : (_props$presetConfigs8 = _props$presetConfigs7.find(i => i.instanceId)) === null || _props$presetConfigs8 === void 0 ? void 0 : (_props$presetConfigs9 = _props$presetConfigs8.instanceId) === null || _props$presetConfigs9 === void 0 ? void 0 : _props$presetConfigs9["$in"];
592
+ var _props$presetConfigs6, _props$presetConfigs7, _props$presetConfigs8, _props$presetConfigs9, _props$presetConfigs10;
593
+ var hostRange = (_props$presetConfigs6 = props.presetConfigs) === null || _props$presetConfigs6 === void 0 ? void 0 : (_props$presetConfigs7 = _props$presetConfigs6.query) === null || _props$presetConfigs7 === void 0 ? void 0 : (_props$presetConfigs8 = _props$presetConfigs7["$and"]) === null || _props$presetConfigs8 === void 0 ? void 0 : (_props$presetConfigs9 = _props$presetConfigs8.find(i => i.instanceId)) === null || _props$presetConfigs9 === void 0 ? void 0 : (_props$presetConfigs10 = _props$presetConfigs9.instanceId) === null || _props$presetConfigs10 === void 0 ? void 0 : _props$presetConfigs10["$in"];
505
594
  v3Data.query = _objectSpread(_objectSpread({
506
595
  [state.currentChangeSelect === "App" || state.currentChangeSelect === "Cluster" && state.clusterValue === "all" ? "_deviceList_CLUSTER.appId.instanceId" : "_deviceList_CLUSTER.instanceId"]: state.appSearchInstanceId
507
596
  }, !isEmpty(hostRange) && props.limitInstanceRange ? {
@@ -520,11 +609,11 @@ export function LegacyInstanceList(props) {
520
609
  return promise ? promise : props.useAutoDiscoveryProvider ? listProvider.query([props.objectId, v3Data]) : props.ignorePermission ? ignorePermissionProvider.query([props.objectId, v3Data]) : InstanceApi_postSearchV3(props.objectId, v3Data);
521
610
  });
522
611
  return function getInstanceListData(_x2, _x3, _x4) {
523
- return _ref5.apply(this, arguments);
612
+ return _ref6.apply(this, arguments);
524
613
  };
525
614
  }();
526
615
  var refreshInstanceList = /*#__PURE__*/function () {
527
- var _ref6 = _asyncToGenerator(function* (sort, asc, page) {
616
+ var _ref7 = _asyncToGenerator(function* (sort, asc, page) {
528
617
  setState({
529
618
  loading: true
530
619
  });
@@ -562,20 +651,50 @@ export function LegacyInstanceList(props) {
562
651
  }
563
652
  });
564
653
  return function refreshInstanceList(_x5, _x6, _x7) {
565
- return _ref6.apply(this, arguments);
654
+ return _ref7.apply(this, arguments);
566
655
  };
567
656
  }();
657
+ // const [fieldIds,setFieldIds] = useState([]);
658
+ // istanbul ignore next
568
659
  useEffect(() => {
569
- var _props$presetConfigs10;
570
- var fieldIds = getFields();
571
- if (
572
- // 当 props.objectId 改变时,总是更新 state.fieldIds
573
- props.objectId !== state.objectId || !isEqual(fieldIds, state.fieldIds) || !isEqual((_props$presetConfigs10 = props.presetConfigs) === null || _props$presetConfigs10 === void 0 ? void 0 : _props$presetConfigs10.query, state.presetConfigsQuery)) {
574
- var _props$presetConfigs11;
575
- setState({
576
- fieldIds,
577
- presetConfigsQuery: (_props$presetConfigs11 = props.presetConfigs) === null || _props$presetConfigs11 === void 0 ? void 0 : _props$presetConfigs11.query
578
- });
660
+ if (props.saveFieldsBackend) {
661
+ var getFieldIds = /*#__PURE__*/function () {
662
+ var _ref8 = _asyncToGenerator(function* () {
663
+ var _props$presetConfigs11, _props$presetConfigs12;
664
+ var fieldConfig = yield getFieldsAsync();
665
+ var {
666
+ fieldIds,
667
+ sort,
668
+ asc,
669
+ sortFields
670
+ } = fieldConfig;
671
+ if (
672
+ // 当 props.objectId 改变时,总是更新 state.fieldIds
673
+ props.objectId !== state.objectId || !isEqual(fieldIds, state.fieldIds) || !isEqual((_props$presetConfigs11 = props.presetConfigs) === null || _props$presetConfigs11 === void 0 ? void 0 : _props$presetConfigs11.query, state.presetConfigsQuery)) setState({
674
+ fieldIds,
675
+ presetConfigsQuery: (_props$presetConfigs12 = props.presetConfigs) === null || _props$presetConfigs12 === void 0 ? void 0 : _props$presetConfigs12.query,
676
+ sort,
677
+ asc: [1, 2].includes(asc) ? true : false,
678
+ sortFields
679
+ });
680
+ });
681
+ return function getFieldIds() {
682
+ return _ref8.apply(this, arguments);
683
+ };
684
+ }();
685
+ getFieldIds();
686
+ } else {
687
+ var _props$presetConfigs13;
688
+ var fieldIds = getFields();
689
+ if (
690
+ // 当 props.objectId 改变时,总是更新 state.fieldIds
691
+ props.objectId !== state.objectId || !isEqual(fieldIds, state.fieldIds) || !isEqual((_props$presetConfigs13 = props.presetConfigs) === null || _props$presetConfigs13 === void 0 ? void 0 : _props$presetConfigs13.query, state.presetConfigsQuery)) {
692
+ var _props$presetConfigs14;
693
+ setState({
694
+ fieldIds,
695
+ presetConfigsQuery: (_props$presetConfigs14 = props.presetConfigs) === null || _props$presetConfigs14 === void 0 ? void 0 : _props$presetConfigs14.query
696
+ });
697
+ }
579
698
  }
580
699
  }, [props.objectId, props.presetConfigs]);
581
700
  useEffect(() => {
@@ -632,7 +751,7 @@ export function LegacyInstanceList(props) {
632
751
 
633
752
  // istanbul ignore next
634
753
  var onSelectionChange = useCallback( /*#__PURE__*/function () {
635
- var _ref7 = _asyncToGenerator(function* (selected) {
754
+ var _ref9 = _asyncToGenerator(function* (selected) {
636
755
  var _props$onSelectionCha;
637
756
  var {
638
757
  selectedItems,
@@ -670,7 +789,7 @@ export function LegacyInstanceList(props) {
670
789
  });
671
790
  });
672
791
  return function (_x8) {
673
- return _ref7.apply(this, arguments);
792
+ return _ref9.apply(this, arguments);
674
793
  };
675
794
  }(), []);
676
795
  var onSearch = value => {
@@ -690,28 +809,51 @@ export function LegacyInstanceList(props) {
690
809
  });
691
810
  (_props$onAdvancedSear = props.onAdvancedSearch) === null || _props$onAdvancedSear === void 0 ? void 0 : _props$onAdvancedSear.call(props, queries);
692
811
  };
693
- var onSortingChange = useCallback(info => {
694
- var _props$onSortingChang;
695
- var asc;
696
- var sort;
697
- if (info.asc === undefined) {
698
- if (!state.sort) {
699
- return;
812
+ var onSortingChange = useCallback( /*#__PURE__*/function () {
813
+ var _ref10 = _asyncToGenerator(function* (info, sortFields) {
814
+ var _props$onSortingChang;
815
+ var asc;
816
+ var sort;
817
+ if (info.asc === undefined) {
818
+ if (!state.sort) {
819
+ return;
820
+ }
821
+ setState({
822
+ asc: undefined,
823
+ sort: undefined
824
+ });
825
+ } else {
826
+ setState({
827
+ asc: info.asc,
828
+ sort: info.sort
829
+ });
830
+ asc = info.asc;
831
+ sort = info.sort;
700
832
  }
701
- setState({
702
- asc: undefined,
703
- sort: undefined
704
- });
705
- } else {
706
- setState({
707
- asc: info.asc,
708
- sort: info.sort
709
- });
710
- asc = info.asc;
711
- sort = info.sort;
712
- }
713
- (_props$onSortingChang = props.onSortingChange) === null || _props$onSortingChang === void 0 ? void 0 : _props$onSortingChang.call(props, info);
714
- }, [state.sort]);
833
+ // istanbul ignore next
834
+ if (props.saveFieldsBackend) {
835
+ try {
836
+ var _modelData$attrList3, _modelData$attrList3$, _modelData$attrList3$2;
837
+ var oldsortFields = sortFields;
838
+ var sortType = modelData === null || modelData === void 0 ? void 0 : (_modelData$attrList3 = modelData.attrList) === null || _modelData$attrList3 === void 0 ? void 0 : (_modelData$attrList3$ = _modelData$attrList3.find(attr => attr.id === sort)) === null || _modelData$attrList3$ === void 0 ? void 0 : (_modelData$attrList3$2 = _modelData$attrList3$.value) === null || _modelData$attrList3$2 === void 0 ? void 0 : _modelData$attrList3$2.default_type;
839
+ var newSortFields = updateSortFields(oldsortFields, info, sortType);
840
+ setState({
841
+ sortFields: newSortFields
842
+ });
843
+ yield updateFieldsProvider.query([props.objectId, {
844
+ sortFields: newSortFields
845
+ }]);
846
+ } catch (e) {
847
+ handleHttpError;
848
+ }
849
+ }
850
+ // istanbul ignore next
851
+ (_props$onSortingChang = props.onSortingChange) === null || _props$onSortingChang === void 0 ? void 0 : _props$onSortingChang.call(props, info);
852
+ });
853
+ return function (_x9, _x10) {
854
+ return _ref10.apply(this, arguments);
855
+ };
856
+ }(), [state.sort]);
715
857
  var onPaginationChange = useCallback(pagination => {
716
858
  var _props$onPaginationCh2;
717
859
  setState({
@@ -794,10 +936,10 @@ export function LegacyInstanceList(props) {
794
936
  });
795
937
  };
796
938
  var defaultFields = useMemo(() => {
797
- var _props$presetConfigs12, _props$extraFixedFiel2;
939
+ var _props$presetConfigs15, _props$extraFixedFiel3;
798
940
  var defaultFields;
799
- var fieldIds = (_props$presetConfigs12 = props.presetConfigs) === null || _props$presetConfigs12 === void 0 ? void 0 : _props$presetConfigs12.fieldIds,
800
- extraFixedFieldIds = (_props$extraFixedFiel2 = props.extraFixedFields) !== null && _props$extraFixedFiel2 !== void 0 ? _props$extraFixedFiel2 : [];
941
+ var fieldIds = (_props$presetConfigs15 = props.presetConfigs) === null || _props$presetConfigs15 === void 0 ? void 0 : _props$presetConfigs15.fieldIds,
942
+ extraFixedFieldIds = (_props$extraFixedFiel3 = props.extraFixedFields) !== null && _props$extraFixedFiel3 !== void 0 ? _props$extraFixedFiel3 : [];
801
943
  if (!isEmpty(fieldIds)) {
802
944
  defaultFields = props.presetConfigs.fieldIds;
803
945
  } else {
@@ -810,27 +952,59 @@ export function LegacyInstanceList(props) {
810
952
  }, [props.presetConfigs, modelData]);
811
953
 
812
954
  // istanbul ignore next
813
- var handleConfirm = _ref9 => {
814
- var {
815
- fields,
816
- isReset
817
- } = _ref9;
818
- if (isReset) {
819
- var fieldIds = defaultFields;
820
- modelData.isAbstract && fieldIds.push("_object_id");
821
- setState({
822
- fieldIds
823
- });
824
- jsonLocalStorage.removeItem("".concat(modelData.objectId, "-selectAttrIds"));
825
- props.onFieldsModalConfirm(fieldIds);
826
- } else {
827
- setState({
828
- fieldIds: _sortFieldIds(fields)
829
- });
830
- jsonLocalStorage.setItem("".concat(modelData.objectId, "-selectAttrIds"), fields);
831
- props.onFieldsModalConfirm(fields);
832
- }
833
- };
955
+ var handleConfirm = /*#__PURE__*/function () {
956
+ var _ref13 = _asyncToGenerator(function* (_ref12) {
957
+ var {
958
+ fields,
959
+ isReset
960
+ } = _ref12;
961
+ if (isReset) {
962
+ var fieldIds = defaultFields;
963
+ modelData.isAbstract && fieldIds.push("_object_id");
964
+ if (props.saveFieldsBackend) {
965
+ var sortFields = mergeFields(state.sortFields, fieldIds);
966
+ yield updateFieldsProvider.query([props.objectId, {
967
+ sortFields
968
+ }]);
969
+ setState({
970
+ fieldIds,
971
+ sortFields
972
+ });
973
+ props.onFieldsModalConfirm(fieldIds);
974
+ } else {
975
+ jsonLocalStorage.removeItem("".concat(modelData.objectId, "-selectAttrIds"));
976
+ setState({
977
+ fieldIds
978
+ });
979
+ props.onFieldsModalConfirm(fieldIds);
980
+ }
981
+ } else {
982
+ if (props.saveFieldsBackend) {
983
+ try {
984
+ var _sortFields = mergeFields(state.sortFields, fields);
985
+ yield updateFieldsProvider.query([props.objectId, {
986
+ sortFields: _sortFields
987
+ }]);
988
+ setState({
989
+ fieldIds: _sortFieldIds(fields),
990
+ sortFields: _sortFields
991
+ });
992
+ } catch (e) {
993
+ handleHttpError(e);
994
+ }
995
+ } else {
996
+ setState({
997
+ fieldIds: _sortFieldIds(fields)
998
+ });
999
+ jsonLocalStorage.setItem("".concat(modelData.objectId, "-selectAttrIds"), fields);
1000
+ }
1001
+ props.onFieldsModalConfirm(fields);
1002
+ }
1003
+ });
1004
+ return function handleConfirm(_x11) {
1005
+ return _ref13.apply(this, arguments);
1006
+ };
1007
+ }();
834
1008
  useEffect(() => {
835
1009
  var _props$notifyCurrentF;
836
1010
  (_props$notifyCurrentF = props.notifyCurrentFields) === null || _props$notifyCurrentF === void 0 ? void 0 : _props$notifyCurrentF.call(props, state.fieldIds);
@@ -1127,7 +1301,9 @@ export function LegacyInstanceList(props) {
1127
1301
  onClickItem: props.onClickItem,
1128
1302
  onClickItemV2: props.onClickItemV2,
1129
1303
  onPaginationChange: onPaginationChange,
1130
- onSortingChange: onSortingChange,
1304
+ onSortingChange: info => {
1305
+ onSortingChange(info, state.sortFields);
1306
+ },
1131
1307
  onSelectionChange: onSelectionChange,
1132
1308
  onInstanceSourceChange: onInstanceSourceChange,
1133
1309
  instanceSourceQuery: state.instanceSourceQuery,