@next-libs/cmdb-instances 7.26.0 → 7.27.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.
Files changed (46) hide show
  1. package/dist/cjs/cmdb-instance-select/CmdbInstanceSelect.js +8 -5
  2. package/dist/cjs/cmdb-instance-select/CmdbInstanceSelect.js.map +1 -1
  3. package/dist/cjs/i18n/constants.js +2 -0
  4. package/dist/cjs/i18n/constants.js.map +1 -1
  5. package/dist/cjs/i18n/locales/en.js +3 -1
  6. package/dist/cjs/i18n/locales/en.js.map +1 -1
  7. package/dist/cjs/i18n/locales/zh.js +3 -1
  8. package/dist/cjs/i18n/locales/zh.js.map +1 -1
  9. package/dist/cjs/index.js +12 -0
  10. package/dist/cjs/index.js.map +1 -1
  11. package/dist/cjs/instance-list/InstanceList.js +23 -2
  12. package/dist/cjs/instance-list/InstanceList.js.map +1 -1
  13. package/dist/cjs/instance-list-drawer/InstanceListDrawer.js +96 -0
  14. package/dist/cjs/instance-list-drawer/InstanceListDrawer.js.map +1 -0
  15. package/dist/cjs/instance-list-modal/InstanceListModal.js +2 -1
  16. package/dist/cjs/instance-list-modal/InstanceListModal.js.map +1 -1
  17. package/dist/cjs/instance-list-table/InstanceListTable.js +32 -3
  18. package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
  19. package/dist/esm/cmdb-instance-select/CmdbInstanceSelect.js +8 -5
  20. package/dist/esm/cmdb-instance-select/CmdbInstanceSelect.js.map +1 -1
  21. package/dist/esm/i18n/constants.js +2 -0
  22. package/dist/esm/i18n/constants.js.map +1 -1
  23. package/dist/esm/i18n/locales/en.js +3 -1
  24. package/dist/esm/i18n/locales/en.js.map +1 -1
  25. package/dist/esm/i18n/locales/zh.js +3 -1
  26. package/dist/esm/i18n/locales/zh.js.map +1 -1
  27. package/dist/esm/index.js +1 -0
  28. package/dist/esm/index.js.map +1 -1
  29. package/dist/esm/instance-list/InstanceList.js +22 -2
  30. package/dist/esm/instance-list/InstanceList.js.map +1 -1
  31. package/dist/esm/instance-list-drawer/InstanceListDrawer.js +86 -0
  32. package/dist/esm/instance-list-drawer/InstanceListDrawer.js.map +1 -0
  33. package/dist/esm/instance-list-modal/InstanceListModal.js +2 -1
  34. package/dist/esm/instance-list-modal/InstanceListModal.js.map +1 -1
  35. package/dist/esm/instance-list-table/InstanceListTable.js +31 -3
  36. package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
  37. package/dist/esm/instance-list-table/InstanceListTable.module.css +11 -0
  38. package/dist/types/cmdb-instance-select/CmdbInstanceSelect.d.ts +1 -1
  39. package/dist/types/i18n/constants.d.ts +3 -1
  40. package/dist/types/index.d.ts +1 -0
  41. package/dist/types/instance-list/InstanceList.d.ts +8 -1
  42. package/dist/types/instance-list-drawer/InstanceListDrawer.d.ts +7 -0
  43. package/dist/types/instance-list-drawer/InstanceListDrawer.spec.d.ts +1 -0
  44. package/dist/types/instance-list-modal/InstanceListModal.d.ts +1 -0
  45. package/dist/types/instance-list-table/InstanceListTable.d.ts +3 -0
  46. package/package.json +2 -2
@@ -0,0 +1,86 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
+ import React, { useReducer } from "react";
4
+ import { Button, Drawer } from "antd";
5
+ import i18n from "i18next";
6
+ import { K, NS_LIBS_CMDB_INSTANCES } from "../i18n/constants";
7
+ import { LegacyInstanceListWrapper } from "../instance-list/InstanceList";
8
+ import { addResourceBundle } from "../i18n";
9
+ import { getRuntime } from "@next-core/brick-kit";
10
+ addResourceBundle();
11
+ /* istanbul ignore next */
12
+ var reducer = (prevState, updatedProperty) => {
13
+ return _objectSpread(_objectSpread({}, prevState), updatedProperty);
14
+ };
15
+ var DEFAULT_RELATION_LIMIT = 5;
16
+ export function InstanceListDrawer(props) {
17
+ var _ref, _props$relationLimit, _getRuntime$getMiscSe, _props$drawerZIndex;
18
+ var [state, setState] = useReducer(reducer, {
19
+ open: false,
20
+ objectId: null,
21
+ drawerTitle: ""
22
+ });
23
+
24
+ /* istanbul ignore next */
25
+ var handleClose = () => {
26
+ setState({
27
+ open: false,
28
+ drawerTitle: ""
29
+ });
30
+ };
31
+ var renderFooter = () => {
32
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {
33
+ "data-testid": "back-button",
34
+ onClick: handleClose,
35
+ type: "default"
36
+ }, i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.BACK))));
37
+ };
38
+ var handleRelationMoreIconClick = record => {
39
+ setState({
40
+ open: true,
41
+ objectId: record.objectId,
42
+ drawerTitle: record.left_name
43
+ });
44
+ };
45
+ var _relationLimit = (_ref = (_props$relationLimit = props.relationLimit) !== null && _props$relationLimit !== void 0 ? _props$relationLimit : (_getRuntime$getMiscSe = getRuntime().getMiscSettings()) === null || _getRuntime$getMiscSe === void 0 ? void 0 : _getRuntime$getMiscSe.defaultRelationLimit) !== null && _ref !== void 0 ? _ref : DEFAULT_RELATION_LIMIT;
46
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LegacyInstanceListWrapper, _extends({}, props, {
47
+ onRelationMoreIconClick: handleRelationMoreIconClick,
48
+ relationLimit: _relationLimit
49
+ })), /*#__PURE__*/React.createElement(Drawer, {
50
+ title: state.drawerTitle,
51
+ visible: state.open,
52
+ width: props.drawerWidth || 900,
53
+ onClose: handleClose,
54
+ destroyOnClose: true,
55
+ footer: renderFooter(),
56
+ zIndex: (_props$drawerZIndex = props.drawerZIndex) !== null && _props$drawerZIndex !== void 0 ? _props$drawerZIndex : 1000,
57
+ footerStyle: {
58
+ background: "var(--color-fill-bg-base-3)"
59
+ }
60
+ }, /*#__PURE__*/React.createElement(InstanceListDrawer, {
61
+ objectId: state.objectId,
62
+ onRelationMoreIconClick: handleRelationMoreIconClick,
63
+ relationLimit: _relationLimit,
64
+ detailUrlTemplates: props.detailUrlTemplates,
65
+ selectDisabled: true,
66
+ ipCopy: props.ipCopy,
67
+ target: props.target,
68
+ relatedToMe: props.relatedToMe,
69
+ relatedToMeDisabled: props.relatedToMeDisabled,
70
+ searchDisabled: props.searchDisabled,
71
+ sortDisabled: props.sortDisabled,
72
+ advancedSearchDisabled: props.advancedSearchDisabled,
73
+ aliveHostsDisabled: props.aliveHostsDisabled,
74
+ moreButtonsDisabled: props.moreButtonsDisabled,
75
+ showFixedHeader: props.showFixedHeader,
76
+ showTooltip: props.showTooltip,
77
+ relationLinkDisabled: props.relationLinkDisabled,
78
+ showSizeChanger: props.showSizeChanger,
79
+ useExternalCmdbApi: props.useExternalCmdbApi,
80
+ externalSourceId: props.externalSourceId,
81
+ useAutoDiscoveryProvider: props.useAutoDiscoveryProvider,
82
+ useInstanceArchiveProvider: props.useInstanceArchiveProvider,
83
+ saveFieldsBackend: props.saveFieldsBackend
84
+ })));
85
+ }
86
+ //# sourceMappingURL=InstanceListDrawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstanceListDrawer.js","names":["React","useReducer","Button","Drawer","i18n","K","NS_LIBS_CMDB_INSTANCES","LegacyInstanceListWrapper","addResourceBundle","getRuntime","reducer","prevState","updatedProperty","_objectSpread","DEFAULT_RELATION_LIMIT","InstanceListDrawer","props","_ref","_props$relationLimit","_getRuntime$getMiscSe","_props$drawerZIndex","state","setState","open","objectId","drawerTitle","handleClose","renderFooter","createElement","Fragment","onClick","type","t","concat","BACK","handleRelationMoreIconClick","record","left_name","_relationLimit","relationLimit","getMiscSettings","defaultRelationLimit","_extends","onRelationMoreIconClick","title","visible","width","drawerWidth","onClose","destroyOnClose","footer","zIndex","drawerZIndex","footerStyle","background","detailUrlTemplates","selectDisabled","ipCopy","target","relatedToMe","relatedToMeDisabled","searchDisabled","sortDisabled","advancedSearchDisabled","aliveHostsDisabled","moreButtonsDisabled","showFixedHeader","showTooltip","relationLinkDisabled","showSizeChanger","useExternalCmdbApi","externalSourceId","useAutoDiscoveryProvider","useInstanceArchiveProvider","saveFieldsBackend"],"sources":["../../../src/instance-list-drawer/InstanceListDrawer.tsx"],"sourcesContent":["import React, { useReducer } from \"react\";\nimport { Button, Drawer } from \"antd\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport {\n LegacyInstanceListWrapper,\n InstanceListProps,\n} from \"../instance-list/InstanceList\";\nimport { addResourceBundle } from \"../i18n\";\nimport { getRuntime } from \"@next-core/brick-kit\";\naddResourceBundle();\n\nexport interface InstanceListDrawerProps extends InstanceListProps {\n drawerZIndex?: number;\n drawerWidth?: number;\n}\n/* istanbul ignore next */\nconst reducer = (\n prevState: InstanceListDrawerState,\n updatedProperty: Partial<InstanceListDrawerState>\n): InstanceListDrawerState => {\n return {\n ...prevState,\n ...updatedProperty,\n };\n};\n\nconst DEFAULT_RELATION_LIMIT = 5;\n\ninterface InstanceListDrawerState {\n open: boolean;\n objectId: string;\n drawerTitle: string;\n}\n\nexport function InstanceListDrawer(\n props: InstanceListDrawerProps\n): React.ReactElement {\n const [state, setState] = useReducer(reducer, {\n open: false,\n objectId: null,\n drawerTitle: \"\",\n });\n\n /* istanbul ignore next */\n const handleClose = (): void => {\n setState({\n open: false,\n drawerTitle: \"\",\n });\n };\n\n const renderFooter = (): React.ReactElement => {\n return (\n <>\n <Button\n data-testid={\"back-button\"}\n onClick={handleClose}\n type=\"default\"\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.BACK}`)}\n </Button>\n </>\n );\n };\n const handleRelationMoreIconClick = (record: Record<string, any>): void => {\n setState({\n open: true,\n objectId: record.objectId,\n drawerTitle: record.left_name,\n });\n };\n\n const _relationLimit =\n props.relationLimit ??\n (getRuntime().getMiscSettings()?.defaultRelationLimit as number) ??\n DEFAULT_RELATION_LIMIT;\n return (\n <>\n <LegacyInstanceListWrapper\n {...props}\n onRelationMoreIconClick={handleRelationMoreIconClick}\n relationLimit={_relationLimit}\n />\n <Drawer\n title={state.drawerTitle}\n visible={state.open}\n width={props.drawerWidth || 900}\n onClose={handleClose}\n destroyOnClose={true}\n footer={renderFooter()}\n zIndex={props.drawerZIndex ?? 1000}\n footerStyle={{ background: \"var(--color-fill-bg-base-3)\" }}\n >\n <InstanceListDrawer\n objectId={state.objectId}\n onRelationMoreIconClick={handleRelationMoreIconClick}\n relationLimit={_relationLimit}\n detailUrlTemplates={props.detailUrlTemplates}\n selectDisabled={true}\n ipCopy={props.ipCopy}\n target={props.target}\n relatedToMe={props.relatedToMe}\n relatedToMeDisabled={props.relatedToMeDisabled}\n searchDisabled={props.searchDisabled}\n sortDisabled={props.sortDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n aliveHostsDisabled={props.aliveHostsDisabled}\n moreButtonsDisabled={props.moreButtonsDisabled}\n showFixedHeader={props.showFixedHeader}\n showTooltip={props.showTooltip}\n relationLinkDisabled={props.relationLinkDisabled}\n showSizeChanger={props.showSizeChanger}\n useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n useAutoDiscoveryProvider={props.useAutoDiscoveryProvider}\n useInstanceArchiveProvider={props.useInstanceArchiveProvider}\n saveFieldsBackend={props.saveFieldsBackend}\n />\n </Drawer>\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -184,7 +184,8 @@ export function InstanceListModal(props) {
184
184
  useExternalCmdbApi: props.useExternalCmdbApi,
185
185
  externalSourceId: props.externalSourceId,
186
186
  showHiddenInfoDisabled: props.showHiddenInfoDisabled,
187
- propertyDisplayConfigs: props.propertyDisplayConfigs
187
+ propertyDisplayConfigs: props.propertyDisplayConfigs,
188
+ relationLimit: props.relationLimit
188
189
  })));
189
190
  }
190
191
  //# sourceMappingURL=InstanceListModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceListModal.js","names":["React","useState","WarningOutlined","Modal","Button","Tooltip","i18n","InstanceApi_postSearch","K","NS_LIBS_CMDB_INSTANCES","InstanceList","addResourceBundle","useProvider","InstanceListModal","props","_props$presetConfigs","_presetConfigs$query","_props$modalZIndex","selectedInstanceListTemp","setSelectedInstanceListTemp","externalPostSearchV3","cache","handleOk","_ref","_asyncToGenerator","_props$onSelected2","_props$onSelectedV2","length","every","i","_props$onSelected","_props$onSelectedV","resp","requestParams","query","instanceId","$in","page","page_size","useExternalCmdbApi","_objectSpread","objectId","sourceId","externalSourceId","ignore_missing_field_error","onSelected","call","onSelectedV2","list","map","selectedInstance","apply","arguments","handleCancel","_props$selectedRowKey","selectedRowKeys","onCancel","handleSelectionChange","event","selectedItems","selectedKeys","handlePaginationChange","_props$getPaginationD","getPaginationData","presetConfigs","fixAliveHosts","_agentStatus","useEffect","filter","Boolean","renderFooter","showBindButton","bindButtonDisabled","disabledTooltip","bindButtonText","createElement","Fragment","title","t","concat","PERMISSION_DENIED","style","position","left","disabled","CREATE_AND_BIND","onClick","bindEvent","singleSelect","color","marginRight","ONLY_ONE_INSTANCE_TO_ALLOWED","selectDisabled","showCloseBtn","key","CLOSE","type","CANCEL","CONFIRM","visible","width","modalWidth","onOk","destroyOnClose","footer","zIndex","modalZIndex","maxHeight","overflow","aq","q","objectList","Object","values","objectMap","extraFilterBricks","permission","aliveHosts","instanceSourceQuery","searchDisabled","filterInstanceSourceDisabled","advancedSearchDisabled","aliveHostsDisabled","relatedToMeDisabled","moreButtonsDisabled","sortDisabled","onSelectionChange","showSizeChanger","pageSizeOptions","pageSize","defaultQuery","enableSearchByApp","hideSearchConditions","isInstanceFilterForm","ipCopy","rowSelectionType","onPaginationChange","extraFixedFields","limitInstanceRange","showFilterInstanceSource","filterInstanceSource","onFilterInstanceSourceChange","objectIdQuery","onFilterObjectIdChange","ignorePermission","saveFieldsBackend","showHiddenInfoDisabled","propertyDisplayConfigs"],"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 { UseBrickAndPropertyDisplayConfig } from \"../instance-list-table\";\nimport { addResourceBundle } from \"../i18n\";\nimport {\n ReadPaginationChangeDetail,\n UseBrickConf,\n} from \"@next-core/brick-types\";\nimport { useProvider } from \"@next-core/brick-kit\";\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 useExternalCmdbApi?: boolean;\n externalSourceId?: string;\n showHiddenInfoDisabled?: boolean;\n propertyDisplayConfigs?: UseBrickAndPropertyDisplayConfig[];\n modalWidth?: number;\n}\n\nexport function InstanceListModal(\n props: InstanceListModalProps\n): React.ReactElement {\n const [selectedInstanceListTemp, setSelectedInstanceListTemp] = useState([]);\n const externalPostSearchV3 = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyPostSearchV3:1.0.1\",\n { cache: false }\n );\n // istanbul ignore next\n const handleOk = async () => {\n if (\n selectedInstanceListTemp.length &&\n selectedInstanceListTemp.every((i) => typeof i === \"string\")\n ) {\n let resp: any;\n const requestParams = {\n query: {\n instanceId: {\n $in: selectedInstanceListTemp,\n },\n },\n page: 1,\n page_size: selectedInstanceListTemp.length,\n };\n if (props.useExternalCmdbApi) {\n resp = await externalPostSearchV3.query([\n {\n ...requestParams,\n objectId: props.objectId,\n sourceId: props.externalSourceId,\n ignore_missing_field_error: true,\n },\n ]);\n } else {\n resp = await InstanceApi_postSearch(props.objectId, requestParams);\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={props.modalWidth || 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 useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n showHiddenInfoDisabled={props.showHiddenInfoDisabled}\n propertyDisplayConfigs={props.propertyDisplayConfigs}\n />\n </div>\n </Modal>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"InstanceListModal.js","names":["React","useState","WarningOutlined","Modal","Button","Tooltip","i18n","InstanceApi_postSearch","K","NS_LIBS_CMDB_INSTANCES","InstanceList","addResourceBundle","useProvider","InstanceListModal","props","_props$presetConfigs","_presetConfigs$query","_props$modalZIndex","selectedInstanceListTemp","setSelectedInstanceListTemp","externalPostSearchV3","cache","handleOk","_ref","_asyncToGenerator","_props$onSelected2","_props$onSelectedV2","length","every","i","_props$onSelected","_props$onSelectedV","resp","requestParams","query","instanceId","$in","page","page_size","useExternalCmdbApi","_objectSpread","objectId","sourceId","externalSourceId","ignore_missing_field_error","onSelected","call","onSelectedV2","list","map","selectedInstance","apply","arguments","handleCancel","_props$selectedRowKey","selectedRowKeys","onCancel","handleSelectionChange","event","selectedItems","selectedKeys","handlePaginationChange","_props$getPaginationD","getPaginationData","presetConfigs","fixAliveHosts","_agentStatus","useEffect","filter","Boolean","renderFooter","showBindButton","bindButtonDisabled","disabledTooltip","bindButtonText","createElement","Fragment","title","t","concat","PERMISSION_DENIED","style","position","left","disabled","CREATE_AND_BIND","onClick","bindEvent","singleSelect","color","marginRight","ONLY_ONE_INSTANCE_TO_ALLOWED","selectDisabled","showCloseBtn","key","CLOSE","type","CANCEL","CONFIRM","visible","width","modalWidth","onOk","destroyOnClose","footer","zIndex","modalZIndex","maxHeight","overflow","aq","q","objectList","Object","values","objectMap","extraFilterBricks","permission","aliveHosts","instanceSourceQuery","searchDisabled","filterInstanceSourceDisabled","advancedSearchDisabled","aliveHostsDisabled","relatedToMeDisabled","moreButtonsDisabled","sortDisabled","onSelectionChange","showSizeChanger","pageSizeOptions","pageSize","defaultQuery","enableSearchByApp","hideSearchConditions","isInstanceFilterForm","ipCopy","rowSelectionType","onPaginationChange","extraFixedFields","limitInstanceRange","showFilterInstanceSource","filterInstanceSource","onFilterInstanceSourceChange","objectIdQuery","onFilterObjectIdChange","ignorePermission","saveFieldsBackend","showHiddenInfoDisabled","propertyDisplayConfigs","relationLimit"],"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 { UseBrickAndPropertyDisplayConfig } from \"../instance-list-table\";\nimport { addResourceBundle } from \"../i18n\";\nimport {\n ReadPaginationChangeDetail,\n UseBrickConf,\n} from \"@next-core/brick-types\";\nimport { useProvider } from \"@next-core/brick-kit\";\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 useExternalCmdbApi?: boolean;\n externalSourceId?: string;\n showHiddenInfoDisabled?: boolean;\n propertyDisplayConfigs?: UseBrickAndPropertyDisplayConfig[];\n modalWidth?: number;\n relationLimit?: number;\n}\n\nexport function InstanceListModal(\n props: InstanceListModalProps\n): React.ReactElement {\n const [selectedInstanceListTemp, setSelectedInstanceListTemp] = useState([]);\n const externalPostSearchV3 = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyPostSearchV3:1.0.1\",\n { cache: false }\n );\n // istanbul ignore next\n const handleOk = async () => {\n if (\n selectedInstanceListTemp.length &&\n selectedInstanceListTemp.every((i) => typeof i === \"string\")\n ) {\n let resp: any;\n const requestParams = {\n query: {\n instanceId: {\n $in: selectedInstanceListTemp,\n },\n },\n page: 1,\n page_size: selectedInstanceListTemp.length,\n };\n if (props.useExternalCmdbApi) {\n resp = await externalPostSearchV3.query([\n {\n ...requestParams,\n objectId: props.objectId,\n sourceId: props.externalSourceId,\n ignore_missing_field_error: true,\n },\n ]);\n } else {\n resp = await InstanceApi_postSearch(props.objectId, requestParams);\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={props.modalWidth || 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 useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n showHiddenInfoDisabled={props.showHiddenInfoDisabled}\n propertyDisplayConfigs={props.propertyDisplayConfigs}\n relationLimit={props.relationLimit}\n />\n </div>\n </Modal>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -683,6 +683,10 @@ export class LegacyInstanceListTable extends React.Component {
683
683
  }
684
684
  return column;
685
685
  }
686
+ handleRelationMoreIconClick(record) {
687
+ var _this$props6, _this$props6$onRelati;
688
+ (_this$props6 = this.props) === null || _this$props6 === void 0 ? void 0 : (_this$props6$onRelati = _this$props6.onRelationMoreIconClick) === null || _this$props6$onRelati === void 0 ? void 0 : _this$props6$onRelati.call(_this$props6, record);
689
+ }
686
690
  getRelationColumnData(relation, object, sides, firstColumns) {
687
691
  var key = relation["".concat(sides.this, "_id")];
688
692
  var column = {
@@ -699,12 +703,16 @@ export class LegacyInstanceListTable extends React.Component {
699
703
  tempColumns = (instances, record, index) => {
700
704
  if (instances && instances.length > 0) {
701
705
  var objectId = relation["".concat(sides.that, "_object_id")];
706
+ var leftName = relation["".concat(sides.this, "_name")];
702
707
  var nameKeys = getInstanceNameKeys(this.props.idObjectMap[objectId]);
703
708
  var detailUrlTemplate;
704
709
  if (this.props.detailUrlTemplates) {
705
710
  detailUrlTemplate = getTemplateFromMap(this.props.detailUrlTemplates, objectId);
706
711
  }
707
- var instanceNodes = instances.map((instance, index) => {
712
+ // 过滤后的实例
713
+ var filterInstances = instances === null || instances === void 0 ? void 0 : instances.slice(0, this.props.relationLimit);
714
+ var isGetRelation = (instances === null || instances === void 0 ? void 0 : instances.length) > this.props.relationLimit;
715
+ var instanceNodes = filterInstances.map((instance, index) => {
708
716
  var subName;
709
717
  if (nameKeys.length > 1) {
710
718
  subName = instance[nameKeys[1]];
@@ -734,6 +742,26 @@ export class LegacyInstanceListTable extends React.Component {
734
742
  return instanceName;
735
743
  }
736
744
  });
745
+ if (isGetRelation) {
746
+ instanceNodes.push( /*#__PURE__*/React.createElement(Tooltip, {
747
+ title: i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.RELATION_INSTANCE_TOOLTIP)),
748
+ placement: "top"
749
+ }, /*#__PURE__*/React.createElement(GeneralIcon, {
750
+ icon: {
751
+ lib: "easyops",
752
+ category: "patch-manager",
753
+ icon: "patch-list",
754
+ color: "#167be0"
755
+ },
756
+ iconClassName: classnames(styles.relationMoreIcon, {
757
+ [styles.relationMoreIconBreakLine]: !this.props.autoBreakLine
758
+ }),
759
+ onClick: () => this.handleRelationMoreIconClick(_objectSpread(_objectSpread({}, record), {}, {
760
+ objectId,
761
+ left_name: leftName
762
+ }))
763
+ })));
764
+ }
737
765
  return instanceNodes;
738
766
  } else {
739
767
  return null;
@@ -778,13 +806,13 @@ export class LegacyInstanceListTable extends React.Component {
778
806
  });
779
807
  }
780
808
  if (this.props.sort !== prevProps.sort || this.props.asc !== prevProps.asc) {
781
- var _this$props$onColumns3, _this$props6;
809
+ var _this$props$onColumns3, _this$props7;
782
810
  var _columns = [];
783
811
  this.state.columns.forEach(column => _columns.push(this.setColumnSortOrder(column)));
784
812
  this.setState({
785
813
  columns: _columns
786
814
  });
787
- (_this$props$onColumns3 = (_this$props6 = this.props).onColumnsChange) === null || _this$props$onColumns3 === void 0 ? void 0 : _this$props$onColumns3.call(_this$props6, _columns.map(_ref5 => {
815
+ (_this$props$onColumns3 = (_this$props7 = this.props).onColumnsChange) === null || _this$props$onColumns3 === void 0 ? void 0 : _this$props$onColumns3.call(_this$props7, _columns.map(_ref5 => {
788
816
  var {
789
817
  dataIndex
790
818
  } = _ref5;