@next-libs/cmdb-instances 7.8.0 → 7.9.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.
@@ -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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"}
@@ -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 } from "lodash";
5
+ import { difference, isEmpty, isEqual, isString, map, uniq, union, filter, reject, sortBy, uniqueId, findIndex, find, startsWith, compact, omit, keyBy, isNil } 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";
@@ -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 = isNil(asc) ? 0 : ["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,58 @@ 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 = (yield fieldsProvider.query([props.objectId])).sortFields;
408
+ var extraFixedFieldIds = (_props$extraFixedFiel = props.extraFixedFields) !== null && _props$extraFixedFiel !== void 0 ? _props$extraFixedFiel : [];
409
+ if (isEmpty(fieldIds)) {
410
+ fieldIds = sortFields.map(item => item.field);
411
+ if (isEmpty(sort) || isEmpty(asc)) {
412
+ var orderField = sortFields.find(item => item.order !== 0);
413
+ if (orderField) {
414
+ sort = orderField.field;
415
+ asc = orderField.order;
416
+ }
417
+ }
418
+ }
419
+ if (isEmpty(fieldIds)) {
420
+ fieldIds = computeDefaultFields().fieldIds;
421
+ }
422
+ if (!isEmpty(extraFixedFieldIds)) {
423
+ fieldIds = uniq([...fieldIds, ...extraFixedFieldIds]);
424
+ }
425
+ fieldIds = props.extraDisabledField ? uniq([...fieldIds, props.extraDisabledField]) : fieldIds;
426
+ fieldIds = _sortFieldIds(fieldIds);
427
+ var hideModelData = modelData.view.hide_columns || [];
428
+ fieldIds = fieldIds.filter(field => !hideModelData.includes(field));
429
+ modelData.isAbstract && fieldIds.push("_object_id");
430
+ return {
431
+ fieldIds,
432
+ sort,
433
+ asc,
434
+ sortFields
435
+ };
436
+ });
437
+ return function getFieldsAsync() {
438
+ return _ref3.apply(this, arguments);
439
+ };
440
+ }();
360
441
  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 : [];
442
+ var _props$presetConfigs4, _props$extraFixedFiel2;
443
+ var fieldIds = (_props$presetConfigs4 = props.presetConfigs) === null || _props$presetConfigs4 === void 0 ? void 0 : _props$presetConfigs4.fieldIds;
444
+ var extraFixedFieldIds = (_props$extraFixedFiel2 = props.extraFixedFields) !== null && _props$extraFixedFiel2 !== void 0 ? _props$extraFixedFiel2 : [];
364
445
  if (isEmpty(fieldIds)) {
365
446
  fieldIds = jsonLocalStorage.getItem("".concat(modelData.objectId, "-selectAttrIds"));
366
447
  }
@@ -379,17 +460,18 @@ export function LegacyInstanceList(props) {
379
460
  };
380
461
  var [q, setQ] = useState(props.q);
381
462
  var [state, setState] = useReducer(reducer, undefined, () => {
382
- var _ref3, _props$dataSource$pag, _props$dataSource, _ref4, _props$dataSource$pag2, _props$dataSource2, _props$presetConfigs4;
463
+ var _ref4, _props$dataSource$pag, _props$dataSource, _ref5, _props$dataSource$pag2, _props$dataSource2, _props$presetConfigs5;
383
464
  return {
384
465
  objectId: props.objectId,
385
466
  q: props.q,
386
467
  aq: initAqToShow(props.aq, modelData, false),
468
+ sortFields: [],
387
469
  aqToShow: props.aqToShow || initAqToShow(props.aq, modelData),
388
470
  instanceSourceQuery: props.instanceSourceQuery,
389
471
  asc: props.asc,
390
472
  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,
473
+ 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,
474
+ 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
475
  aliveHosts: props.aliveHosts,
394
476
  relatedToMe: props.relatedToMe,
395
477
  objectIdQuery: props.objectIdQuery,
@@ -399,8 +481,8 @@ export function LegacyInstanceList(props) {
399
481
  loading: false,
400
482
  failed: false,
401
483
  isAdvancedSearchVisible: false,
402
- fieldIds: getFields(),
403
- presetConfigsQuery: (_props$presetConfigs4 = props.presetConfigs) === null || _props$presetConfigs4 === void 0 ? void 0 : _props$presetConfigs4.query,
484
+ fieldIds: props.saveFieldsBackend ? [] : getFields(),
485
+ presetConfigsQuery: (_props$presetConfigs5 = props.presetConfigs) === null || _props$presetConfigs5 === void 0 ? void 0 : _props$presetConfigs5.query,
404
486
  autoBreakLine: false,
405
487
  appSearchInstanceId: "",
406
488
  currentChangeSelect: "App",
@@ -418,8 +500,8 @@ export function LegacyInstanceList(props) {
418
500
  var cache = useRef(new Map());
419
501
  var isFirstRunRef = useRef(true);
420
502
  var getInstanceListData = /*#__PURE__*/function () {
421
- var _ref5 = _asyncToGenerator(function* (sort, asc, page) {
422
- var _modelData$attrList, _modelData$attrList$f2, _modelData$attrList$f3, _props$onSearchExecut;
503
+ var _ref6 = _asyncToGenerator(function* (sort, asc, page) {
504
+ var _modelData$attrList2, _modelData$attrList2$, _modelData$attrList2$2, _props$onSearchExecut;
423
505
  var data = {};
424
506
  var v3Data = {
425
507
  fields: props !== null && props !== void 0 && props.extraFixedFields ? uniq(["instanceId"].concat(props === null || props === void 0 ? void 0 : props.extraFixedFields)) : ["instanceId"]
@@ -431,7 +513,7 @@ export function LegacyInstanceList(props) {
431
513
  var query = {};
432
514
  v3Data.page = data.page = archiveData.page = page;
433
515
  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;
516
+ 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
517
  var order = ["series-number", "auto-increment-id"].includes(sortType) ? asc ? 2 : -2 : asc ? 1 : -1;
436
518
  if (sort) {
437
519
  data.sort = {
@@ -500,8 +582,8 @@ export function LegacyInstanceList(props) {
500
582
  //按应用筛选
501
583
  // istanbul ignore next (state is not updated)
502
584
  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"];
585
+ var _props$presetConfigs6, _props$presetConfigs7, _props$presetConfigs8, _props$presetConfigs9, _props$presetConfigs10;
586
+ 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
587
  v3Data.query = _objectSpread(_objectSpread({
506
588
  [state.currentChangeSelect === "App" || state.currentChangeSelect === "Cluster" && state.clusterValue === "all" ? "_deviceList_CLUSTER.appId.instanceId" : "_deviceList_CLUSTER.instanceId"]: state.appSearchInstanceId
507
589
  }, !isEmpty(hostRange) && props.limitInstanceRange ? {
@@ -520,11 +602,11 @@ export function LegacyInstanceList(props) {
520
602
  return promise ? promise : props.useAutoDiscoveryProvider ? listProvider.query([props.objectId, v3Data]) : props.ignorePermission ? ignorePermissionProvider.query([props.objectId, v3Data]) : InstanceApi_postSearchV3(props.objectId, v3Data);
521
603
  });
522
604
  return function getInstanceListData(_x2, _x3, _x4) {
523
- return _ref5.apply(this, arguments);
605
+ return _ref6.apply(this, arguments);
524
606
  };
525
607
  }();
526
608
  var refreshInstanceList = /*#__PURE__*/function () {
527
- var _ref6 = _asyncToGenerator(function* (sort, asc, page) {
609
+ var _ref7 = _asyncToGenerator(function* (sort, asc, page) {
528
610
  setState({
529
611
  loading: true
530
612
  });
@@ -562,20 +644,50 @@ export function LegacyInstanceList(props) {
562
644
  }
563
645
  });
564
646
  return function refreshInstanceList(_x5, _x6, _x7) {
565
- return _ref6.apply(this, arguments);
647
+ return _ref7.apply(this, arguments);
566
648
  };
567
649
  }();
650
+ // const [fieldIds,setFieldIds] = useState([]);
651
+ // istanbul ignore next
568
652
  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
- });
653
+ if (props.saveFieldsBackend) {
654
+ var getFieldIds = /*#__PURE__*/function () {
655
+ var _ref8 = _asyncToGenerator(function* () {
656
+ var _props$presetConfigs11, _props$presetConfigs12;
657
+ var fieldConfig = yield getFieldsAsync();
658
+ var {
659
+ fieldIds,
660
+ sort,
661
+ asc,
662
+ sortFields
663
+ } = fieldConfig;
664
+ if (
665
+ // 当 props.objectId 改变时,总是更新 state.fieldIds
666
+ 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({
667
+ fieldIds,
668
+ presetConfigsQuery: (_props$presetConfigs12 = props.presetConfigs) === null || _props$presetConfigs12 === void 0 ? void 0 : _props$presetConfigs12.query,
669
+ sort,
670
+ asc: [1, 2].includes(asc) ? true : false,
671
+ sortFields
672
+ });
673
+ });
674
+ return function getFieldIds() {
675
+ return _ref8.apply(this, arguments);
676
+ };
677
+ }();
678
+ getFieldIds();
679
+ } else {
680
+ var _props$presetConfigs13;
681
+ var fieldIds = getFields();
682
+ if (
683
+ // 当 props.objectId 改变时,总是更新 state.fieldIds
684
+ 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)) {
685
+ var _props$presetConfigs14;
686
+ setState({
687
+ fieldIds,
688
+ presetConfigsQuery: (_props$presetConfigs14 = props.presetConfigs) === null || _props$presetConfigs14 === void 0 ? void 0 : _props$presetConfigs14.query
689
+ });
690
+ }
579
691
  }
580
692
  }, [props.objectId, props.presetConfigs]);
581
693
  useEffect(() => {
@@ -632,7 +744,7 @@ export function LegacyInstanceList(props) {
632
744
 
633
745
  // istanbul ignore next
634
746
  var onSelectionChange = useCallback( /*#__PURE__*/function () {
635
- var _ref7 = _asyncToGenerator(function* (selected) {
747
+ var _ref9 = _asyncToGenerator(function* (selected) {
636
748
  var _props$onSelectionCha;
637
749
  var {
638
750
  selectedItems,
@@ -670,7 +782,7 @@ export function LegacyInstanceList(props) {
670
782
  });
671
783
  });
672
784
  return function (_x8) {
673
- return _ref7.apply(this, arguments);
785
+ return _ref9.apply(this, arguments);
674
786
  };
675
787
  }(), []);
676
788
  var onSearch = value => {
@@ -690,28 +802,51 @@ export function LegacyInstanceList(props) {
690
802
  });
691
803
  (_props$onAdvancedSear = props.onAdvancedSearch) === null || _props$onAdvancedSear === void 0 ? void 0 : _props$onAdvancedSear.call(props, queries);
692
804
  };
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;
805
+ var onSortingChange = useCallback( /*#__PURE__*/function () {
806
+ var _ref10 = _asyncToGenerator(function* (info, sortFields) {
807
+ var _props$onSortingChang;
808
+ var asc;
809
+ var sort;
810
+ if (info.asc === undefined) {
811
+ if (!state.sort) {
812
+ return;
813
+ }
814
+ setState({
815
+ asc: undefined,
816
+ sort: undefined
817
+ });
818
+ } else {
819
+ setState({
820
+ asc: info.asc,
821
+ sort: info.sort
822
+ });
823
+ asc = info.asc;
824
+ sort = info.sort;
700
825
  }
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]);
826
+ // istanbul ignore next
827
+ if (props.saveFieldsBackend && sortFields.find(item => item.field === info.sort)) {
828
+ try {
829
+ var _modelData$attrList3, _modelData$attrList3$, _modelData$attrList3$2;
830
+ var oldsortFields = sortFields;
831
+ 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;
832
+ var newSortFields = updateSortFields(oldsortFields, info, sortType);
833
+ setState({
834
+ sortFields: newSortFields
835
+ });
836
+ yield updateFieldsProvider.query([props.objectId, {
837
+ sortFields: newSortFields
838
+ }]);
839
+ } catch (e) {
840
+ handleHttpError;
841
+ }
842
+ }
843
+ // istanbul ignore next
844
+ (_props$onSortingChang = props.onSortingChange) === null || _props$onSortingChang === void 0 ? void 0 : _props$onSortingChang.call(props, info);
845
+ });
846
+ return function (_x9, _x10) {
847
+ return _ref10.apply(this, arguments);
848
+ };
849
+ }(), [state.sort]);
715
850
  var onPaginationChange = useCallback(pagination => {
716
851
  var _props$onPaginationCh2;
717
852
  setState({
@@ -794,10 +929,10 @@ export function LegacyInstanceList(props) {
794
929
  });
795
930
  };
796
931
  var defaultFields = useMemo(() => {
797
- var _props$presetConfigs12, _props$extraFixedFiel2;
932
+ var _props$presetConfigs15, _props$extraFixedFiel3;
798
933
  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 : [];
934
+ var fieldIds = (_props$presetConfigs15 = props.presetConfigs) === null || _props$presetConfigs15 === void 0 ? void 0 : _props$presetConfigs15.fieldIds,
935
+ extraFixedFieldIds = (_props$extraFixedFiel3 = props.extraFixedFields) !== null && _props$extraFixedFiel3 !== void 0 ? _props$extraFixedFiel3 : [];
801
936
  if (!isEmpty(fieldIds)) {
802
937
  defaultFields = props.presetConfigs.fieldIds;
803
938
  } else {
@@ -810,27 +945,59 @@ export function LegacyInstanceList(props) {
810
945
  }, [props.presetConfigs, modelData]);
811
946
 
812
947
  // 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
- };
948
+ var handleConfirm = /*#__PURE__*/function () {
949
+ var _ref13 = _asyncToGenerator(function* (_ref12) {
950
+ var {
951
+ fields,
952
+ isReset
953
+ } = _ref12;
954
+ if (isReset) {
955
+ var fieldIds = defaultFields;
956
+ modelData.isAbstract && fieldIds.push("_object_id");
957
+ if (props.saveFieldsBackend) {
958
+ var sortFields = mergeFields(state.sortFields, fieldIds);
959
+ yield updateFieldsProvider.query([props.objectId, {
960
+ sortFields
961
+ }]);
962
+ setState({
963
+ fieldIds,
964
+ sortFields
965
+ });
966
+ props.onFieldsModalConfirm(fieldIds);
967
+ } else {
968
+ jsonLocalStorage.removeItem("".concat(modelData.objectId, "-selectAttrIds"));
969
+ setState({
970
+ fieldIds
971
+ });
972
+ props.onFieldsModalConfirm(fieldIds);
973
+ }
974
+ } else {
975
+ if (props.saveFieldsBackend) {
976
+ try {
977
+ var _sortFields = mergeFields(state.sortFields, fields);
978
+ yield updateFieldsProvider.query([props.objectId, {
979
+ sortFields: _sortFields
980
+ }]);
981
+ setState({
982
+ fieldIds: _sortFieldIds(fields),
983
+ sortFields: _sortFields
984
+ });
985
+ } catch (e) {
986
+ handleHttpError(e);
987
+ }
988
+ } else {
989
+ setState({
990
+ fieldIds: _sortFieldIds(fields)
991
+ });
992
+ jsonLocalStorage.setItem("".concat(modelData.objectId, "-selectAttrIds"), fields);
993
+ }
994
+ props.onFieldsModalConfirm(fields);
995
+ }
996
+ });
997
+ return function handleConfirm(_x11) {
998
+ return _ref13.apply(this, arguments);
999
+ };
1000
+ }();
834
1001
  useEffect(() => {
835
1002
  var _props$notifyCurrentF;
836
1003
  (_props$notifyCurrentF = props.notifyCurrentFields) === null || _props$notifyCurrentF === void 0 ? void 0 : _props$notifyCurrentF.call(props, state.fieldIds);
@@ -1127,7 +1294,9 @@ export function LegacyInstanceList(props) {
1127
1294
  onClickItem: props.onClickItem,
1128
1295
  onClickItemV2: props.onClickItemV2,
1129
1296
  onPaginationChange: onPaginationChange,
1130
- onSortingChange: onSortingChange,
1297
+ onSortingChange: info => {
1298
+ onSortingChange(info, state.sortFields);
1299
+ },
1131
1300
  onSelectionChange: onSelectionChange,
1132
1301
  onInstanceSourceChange: onInstanceSourceChange,
1133
1302
  instanceSourceQuery: state.instanceSourceQuery,