@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.
- package/dist/cjs/instance-list/InstanceList.js +192 -34
- package/dist/cjs/instance-list/InstanceList.js.map +1 -1
- package/dist/cjs/instance-list-modal/InstanceListModal.js +2 -1
- package/dist/cjs/instance-list-modal/InstanceListModal.js.map +1 -1
- package/dist/esm/instance-list/InstanceList.js +250 -74
- package/dist/esm/instance-list/InstanceList.js.map +1 -1
- package/dist/esm/instance-list-modal/InstanceListModal.js +2 -1
- package/dist/esm/instance-list-modal/InstanceListModal.js.map +1 -1
- package/dist/types/instance-list/InstanceList.d.ts +10 -0
- package/dist/types/instance-list-modal/InstanceListModal.d.ts +1 -0
- package/package.json +2 -2
|
@@ -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$
|
|
362
|
-
var fieldIds = (_props$
|
|
363
|
-
var extraFixedFieldIds = (_props$
|
|
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
|
|
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: (
|
|
392
|
-
pageSize: (
|
|
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$
|
|
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
|
|
422
|
-
var _modelData$
|
|
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$
|
|
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$
|
|
504
|
-
var hostRange = (_props$
|
|
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
|
|
612
|
+
return _ref6.apply(this, arguments);
|
|
524
613
|
};
|
|
525
614
|
}();
|
|
526
615
|
var refreshInstanceList = /*#__PURE__*/function () {
|
|
527
|
-
var
|
|
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
|
|
654
|
+
return _ref7.apply(this, arguments);
|
|
566
655
|
};
|
|
567
656
|
}();
|
|
657
|
+
// const [fieldIds,setFieldIds] = useState([]);
|
|
658
|
+
// istanbul ignore next
|
|
568
659
|
useEffect(() => {
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
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
|
|
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
|
|
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(
|
|
694
|
-
var
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
if (
|
|
699
|
-
|
|
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
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
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$
|
|
939
|
+
var _props$presetConfigs15, _props$extraFixedFiel3;
|
|
798
940
|
var defaultFields;
|
|
799
|
-
var fieldIds = (_props$
|
|
800
|
-
extraFixedFieldIds = (_props$
|
|
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 =
|
|
814
|
-
var {
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
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:
|
|
1304
|
+
onSortingChange: info => {
|
|
1305
|
+
onSortingChange(info, state.sortFields);
|
|
1306
|
+
},
|
|
1131
1307
|
onSelectionChange: onSelectionChange,
|
|
1132
1308
|
onInstanceSourceChange: onInstanceSourceChange,
|
|
1133
1309
|
instanceSourceQuery: state.instanceSourceQuery,
|