@next-libs/cmdb-instances 7.26.1 → 7.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/i18n/constants.js +2 -0
- package/dist/cjs/i18n/constants.js.map +1 -1
- package/dist/cjs/i18n/locales/en.js +3 -1
- package/dist/cjs/i18n/locales/en.js.map +1 -1
- package/dist/cjs/i18n/locales/zh.js +3 -1
- package/dist/cjs/i18n/locales/zh.js.map +1 -1
- package/dist/cjs/index.js +12 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/instance-list/InstanceList.js +23 -2
- package/dist/cjs/instance-list/InstanceList.js.map +1 -1
- package/dist/cjs/instance-list-drawer/InstanceListDrawer.js +96 -0
- package/dist/cjs/instance-list-drawer/InstanceListDrawer.js.map +1 -0
- package/dist/cjs/instance-list-modal/InstanceListModal.js +2 -1
- package/dist/cjs/instance-list-modal/InstanceListModal.js.map +1 -1
- package/dist/cjs/instance-list-table/InstanceListTable.js +33 -5
- package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/esm/i18n/constants.js +2 -0
- package/dist/esm/i18n/constants.js.map +1 -1
- package/dist/esm/i18n/locales/en.js +3 -1
- package/dist/esm/i18n/locales/en.js.map +1 -1
- package/dist/esm/i18n/locales/zh.js +3 -1
- package/dist/esm/i18n/locales/zh.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instance-list/InstanceList.js +22 -2
- package/dist/esm/instance-list/InstanceList.js.map +1 -1
- package/dist/esm/instance-list-drawer/InstanceListDrawer.js +86 -0
- package/dist/esm/instance-list-drawer/InstanceListDrawer.js.map +1 -0
- package/dist/esm/instance-list-modal/InstanceListModal.js +2 -1
- package/dist/esm/instance-list-modal/InstanceListModal.js.map +1 -1
- package/dist/esm/instance-list-table/InstanceListTable.js +32 -5
- package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/esm/instance-list-table/InstanceListTable.module.css +42 -0
- package/dist/types/i18n/constants.d.ts +3 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/instance-list/InstanceList.d.ts +8 -1
- package/dist/types/instance-list-drawer/InstanceListDrawer.d.ts +7 -0
- package/dist/types/instance-list-drawer/InstanceListDrawer.spec.d.ts +1 -0
- package/dist/types/instance-list-modal/InstanceListModal.d.ts +1 -0
- package/dist/types/instance-list-table/InstanceListTable.d.ts +3 -0
- package/package.json +2 -2
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.InstanceListDrawer = InstanceListDrawer;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _antd = require("antd");
|
|
12
|
+
var _i18next = _interopRequireDefault(require("i18next"));
|
|
13
|
+
var _constants = require("../i18n/constants");
|
|
14
|
+
var _InstanceList = require("../instance-list/InstanceList");
|
|
15
|
+
var _i18n = require("../i18n");
|
|
16
|
+
var _brickKit = require("@next-core/brick-kit");
|
|
17
|
+
(0, _i18n.addResourceBundle)();
|
|
18
|
+
/* istanbul ignore next */
|
|
19
|
+
const reducer = (prevState, updatedProperty) => {
|
|
20
|
+
return {
|
|
21
|
+
...prevState,
|
|
22
|
+
...updatedProperty
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
const DEFAULT_RELATION_LIMIT = 5;
|
|
26
|
+
function InstanceListDrawer(props) {
|
|
27
|
+
var _ref, _props$relationLimit, _getRuntime$getMiscSe, _props$drawerZIndex;
|
|
28
|
+
const [state, setState] = (0, _react.useReducer)(reducer, {
|
|
29
|
+
open: false,
|
|
30
|
+
objectId: null,
|
|
31
|
+
drawerTitle: ""
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
/* istanbul ignore next */
|
|
35
|
+
const handleClose = () => {
|
|
36
|
+
setState({
|
|
37
|
+
open: false,
|
|
38
|
+
drawerTitle: ""
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
const renderFooter = () => {
|
|
42
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_antd.Button, {
|
|
43
|
+
"data-testid": "back-button",
|
|
44
|
+
onClick: handleClose,
|
|
45
|
+
type: "default"
|
|
46
|
+
}, _i18next.default.t(`${_constants.NS_LIBS_CMDB_INSTANCES}:${_constants.K.BACK}`)));
|
|
47
|
+
};
|
|
48
|
+
const handleRelationMoreIconClick = record => {
|
|
49
|
+
setState({
|
|
50
|
+
open: true,
|
|
51
|
+
objectId: record.objectId,
|
|
52
|
+
drawerTitle: record.left_name
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
const _relationLimit = (_ref = (_props$relationLimit = props.relationLimit) !== null && _props$relationLimit !== void 0 ? _props$relationLimit : (_getRuntime$getMiscSe = (0, _brickKit.getRuntime)().getMiscSettings()) === null || _getRuntime$getMiscSe === void 0 ? void 0 : _getRuntime$getMiscSe.defaultRelationLimit) !== null && _ref !== void 0 ? _ref : DEFAULT_RELATION_LIMIT;
|
|
56
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_InstanceList.LegacyInstanceListWrapper, (0, _extends2.default)({}, props, {
|
|
57
|
+
onRelationMoreIconClick: handleRelationMoreIconClick,
|
|
58
|
+
relationLimit: _relationLimit
|
|
59
|
+
})), /*#__PURE__*/_react.default.createElement(_antd.Drawer, {
|
|
60
|
+
title: state.drawerTitle,
|
|
61
|
+
visible: state.open,
|
|
62
|
+
width: props.drawerWidth || 900,
|
|
63
|
+
onClose: handleClose,
|
|
64
|
+
destroyOnClose: true,
|
|
65
|
+
footer: renderFooter(),
|
|
66
|
+
zIndex: (_props$drawerZIndex = props.drawerZIndex) !== null && _props$drawerZIndex !== void 0 ? _props$drawerZIndex : 1000,
|
|
67
|
+
footerStyle: {
|
|
68
|
+
background: "var(--color-fill-bg-base-3)"
|
|
69
|
+
}
|
|
70
|
+
}, /*#__PURE__*/_react.default.createElement(InstanceListDrawer, {
|
|
71
|
+
objectId: state.objectId,
|
|
72
|
+
onRelationMoreIconClick: handleRelationMoreIconClick,
|
|
73
|
+
relationLimit: _relationLimit,
|
|
74
|
+
detailUrlTemplates: props.detailUrlTemplates,
|
|
75
|
+
selectDisabled: true,
|
|
76
|
+
ipCopy: props.ipCopy,
|
|
77
|
+
target: props.target,
|
|
78
|
+
relatedToMe: props.relatedToMe,
|
|
79
|
+
relatedToMeDisabled: props.relatedToMeDisabled,
|
|
80
|
+
searchDisabled: props.searchDisabled,
|
|
81
|
+
sortDisabled: props.sortDisabled,
|
|
82
|
+
advancedSearchDisabled: props.advancedSearchDisabled,
|
|
83
|
+
aliveHostsDisabled: props.aliveHostsDisabled,
|
|
84
|
+
moreButtonsDisabled: props.moreButtonsDisabled,
|
|
85
|
+
showFixedHeader: props.showFixedHeader,
|
|
86
|
+
showTooltip: props.showTooltip,
|
|
87
|
+
relationLinkDisabled: props.relationLinkDisabled,
|
|
88
|
+
showSizeChanger: props.showSizeChanger,
|
|
89
|
+
useExternalCmdbApi: props.useExternalCmdbApi,
|
|
90
|
+
externalSourceId: props.externalSourceId,
|
|
91
|
+
useAutoDiscoveryProvider: props.useAutoDiscoveryProvider,
|
|
92
|
+
useInstanceArchiveProvider: props.useInstanceArchiveProvider,
|
|
93
|
+
saveFieldsBackend: props.saveFieldsBackend
|
|
94
|
+
})));
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=InstanceListDrawer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InstanceListDrawer.js","names":["_react","_interopRequireWildcard","require","_antd","_i18next","_interopRequireDefault","_constants","_InstanceList","_i18n","_brickKit","addResourceBundle","reducer","prevState","updatedProperty","DEFAULT_RELATION_LIMIT","InstanceListDrawer","props","_ref","_props$relationLimit","_getRuntime$getMiscSe","_props$drawerZIndex","state","setState","useReducer","open","objectId","drawerTitle","handleClose","renderFooter","default","createElement","Fragment","Button","onClick","type","i18n","t","NS_LIBS_CMDB_INSTANCES","K","BACK","handleRelationMoreIconClick","record","left_name","_relationLimit","relationLimit","getRuntime","getMiscSettings","defaultRelationLimit","LegacyInstanceListWrapper","_extends2","onRelationMoreIconClick","Drawer","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":[]}
|
|
@@ -186,7 +186,8 @@ function InstanceListModal(props) {
|
|
|
186
186
|
useExternalCmdbApi: props.useExternalCmdbApi,
|
|
187
187
|
externalSourceId: props.externalSourceId,
|
|
188
188
|
showHiddenInfoDisabled: props.showHiddenInfoDisabled,
|
|
189
|
-
propertyDisplayConfigs: props.propertyDisplayConfigs
|
|
189
|
+
propertyDisplayConfigs: props.propertyDisplayConfigs,
|
|
190
|
+
relationLimit: props.relationLimit
|
|
190
191
|
})));
|
|
191
192
|
}
|
|
192
193
|
//# sourceMappingURL=InstanceListModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstanceListModal.js","names":["_react","_interopRequireWildcard","require","_icons","_antd","_i18next","_interopRequireDefault","_cmdbSdk","_constants","_InstanceList","_i18n","_brickKit","addResourceBundle","InstanceListModal","props","_props$presetConfigs","_presetConfigs$query","_props$modalZIndex","selectedInstanceListTemp","setSelectedInstanceListTemp","useState","externalPostSearchV3","useProvider","cache","handleOk","_props$onSelected2","_props$onSelectedV2","length","every","i","_props$onSelected","_props$onSelectedV","resp","requestParams","query","instanceId","$in","page","page_size","useExternalCmdbApi","objectId","sourceId","externalSourceId","ignore_missing_field_error","InstanceApi_postSearch","onSelected","call","onSelectedV2","list","map","selectedInstance","handleCancel","_props$selectedRowKey","selectedRowKeys","onCancel","handleSelectionChange","event","selectedItems","selectedKeys","handlePaginationChange","_props$getPaginationD","getPaginationData","presetConfigs","fixAliveHosts","_agentStatus","React","useEffect","filter","Boolean","renderFooter","showBindButton","bindButtonDisabled","disabledTooltip","bindButtonText","default","createElement","Fragment","Tooltip","title","i18n","t","NS_LIBS_CMDB_INSTANCES","K","PERMISSION_DENIED","Button","style","position","left","disabled","CREATE_AND_BIND","onClick","bindEvent","singleSelect","color","marginRight","WarningOutlined","ONLY_ONE_INSTANCE_TO_ALLOWED","selectDisabled","showCloseBtn","key","CLOSE","type","CANCEL","CONFIRM","Modal","visible","width","modalWidth","onOk","destroyOnClose","footer","zIndex","modalZIndex","maxHeight","overflow","InstanceList","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","_interopRequireWildcard","require","_icons","_antd","_i18next","_interopRequireDefault","_cmdbSdk","_constants","_InstanceList","_i18n","_brickKit","addResourceBundle","InstanceListModal","props","_props$presetConfigs","_presetConfigs$query","_props$modalZIndex","selectedInstanceListTemp","setSelectedInstanceListTemp","useState","externalPostSearchV3","useProvider","cache","handleOk","_props$onSelected2","_props$onSelectedV2","length","every","i","_props$onSelected","_props$onSelectedV","resp","requestParams","query","instanceId","$in","page","page_size","useExternalCmdbApi","objectId","sourceId","externalSourceId","ignore_missing_field_error","InstanceApi_postSearch","onSelected","call","onSelectedV2","list","map","selectedInstance","handleCancel","_props$selectedRowKey","selectedRowKeys","onCancel","handleSelectionChange","event","selectedItems","selectedKeys","handlePaginationChange","_props$getPaginationD","getPaginationData","presetConfigs","fixAliveHosts","_agentStatus","React","useEffect","filter","Boolean","renderFooter","showBindButton","bindButtonDisabled","disabledTooltip","bindButtonText","default","createElement","Fragment","Tooltip","title","i18n","t","NS_LIBS_CMDB_INSTANCES","K","PERMISSION_DENIED","Button","style","position","left","disabled","CREATE_AND_BIND","onClick","bindEvent","singleSelect","color","marginRight","WarningOutlined","ONLY_ONE_INSTANCE_TO_ALLOWED","selectDisabled","showCloseBtn","key","CLOSE","type","CANCEL","CONFIRM","Modal","visible","width","modalWidth","onOk","destroyOnClose","footer","zIndex","modalZIndex","maxHeight","overflow","InstanceList","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":[]}
|
|
@@ -674,6 +674,10 @@ class LegacyInstanceListTable extends _react.default.Component {
|
|
|
674
674
|
}
|
|
675
675
|
return column;
|
|
676
676
|
}
|
|
677
|
+
handleRelationMoreIconClick(record) {
|
|
678
|
+
var _this$props7, _this$props7$onRelati;
|
|
679
|
+
(_this$props7 = this.props) === null || _this$props7 === void 0 ? void 0 : (_this$props7$onRelati = _this$props7.onRelationMoreIconClick) === null || _this$props7$onRelati === void 0 ? void 0 : _this$props7$onRelati.call(_this$props7, record);
|
|
680
|
+
}
|
|
677
681
|
getRelationColumnData(relation, object, sides, firstColumns) {
|
|
678
682
|
const key = relation[`${sides.this}_id`];
|
|
679
683
|
const column = {
|
|
@@ -690,12 +694,15 @@ class LegacyInstanceListTable extends _react.default.Component {
|
|
|
690
694
|
tempColumns = (instances, record, index) => {
|
|
691
695
|
if (instances && instances.length > 0) {
|
|
692
696
|
const objectId = relation[`${sides.that}_object_id`];
|
|
697
|
+
const leftName = relation[`${sides.this}_name`];
|
|
693
698
|
const nameKeys = (0, _cmdbUtils.getInstanceNameKeys)(this.props.idObjectMap[objectId]);
|
|
694
699
|
let detailUrlTemplate;
|
|
695
700
|
if (this.props.detailUrlTemplates) {
|
|
696
701
|
detailUrlTemplate = (0, _cmdbUtils.getTemplateFromMap)(this.props.detailUrlTemplates, objectId);
|
|
697
702
|
}
|
|
698
|
-
|
|
703
|
+
// 过滤后的实例
|
|
704
|
+
const filterInstances = instances === null || instances === void 0 ? void 0 : instances.slice(0, this.props.relationLimit);
|
|
705
|
+
const instanceNodes = filterInstances.map((instance, index) => {
|
|
699
706
|
let subName;
|
|
700
707
|
if (nameKeys.length > 1) {
|
|
701
708
|
subName = instance[nameKeys[1]];
|
|
@@ -713,7 +720,8 @@ class LegacyInstanceListTable extends _react.default.Component {
|
|
|
713
720
|
target: "_blank"
|
|
714
721
|
// 使用 <Link> 以保持链接的原生能力
|
|
715
722
|
,
|
|
716
|
-
to: url
|
|
723
|
+
to: url,
|
|
724
|
+
className: _InstanceListTableModule.default.relationLink
|
|
717
725
|
// 自定义 onClick 以支持事件配置和拦截
|
|
718
726
|
,
|
|
719
727
|
onClick: e => this.handleClickItem(e, record)
|
|
@@ -726,7 +734,27 @@ class LegacyInstanceListTable extends _react.default.Component {
|
|
|
726
734
|
return instanceName;
|
|
727
735
|
}
|
|
728
736
|
});
|
|
729
|
-
|
|
737
|
+
const instanceNodesWrapper = /*#__PURE__*/_react.default.createElement("span", {
|
|
738
|
+
className: (0, _classnames.default)(_InstanceListTableModule.default.instanceListTableRelationWrapper)
|
|
739
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
740
|
+
className: _InstanceListTableModule.default.instanceListTableRelationText
|
|
741
|
+
}, instanceNodes), /*#__PURE__*/_react.default.createElement(_antd.Tooltip, {
|
|
742
|
+
title: _i18next.default.t(`${_constants.NS_LIBS_CMDB_INSTANCES}:${_constants.K.RELATION_INSTANCE_TOOLTIP}`),
|
|
743
|
+
placement: "top"
|
|
744
|
+
}, /*#__PURE__*/_react.default.createElement(_basicComponents.GeneralIcon, {
|
|
745
|
+
icon: {
|
|
746
|
+
lib: "easyops",
|
|
747
|
+
category: "patch-manager",
|
|
748
|
+
icon: "patch-list"
|
|
749
|
+
},
|
|
750
|
+
iconClassName: _InstanceListTableModule.default.relationMoreIcon,
|
|
751
|
+
onClick: () => this.handleRelationMoreIconClick({
|
|
752
|
+
...record,
|
|
753
|
+
objectId,
|
|
754
|
+
left_name: leftName
|
|
755
|
+
})
|
|
756
|
+
})));
|
|
757
|
+
return instanceNodesWrapper;
|
|
730
758
|
} else {
|
|
731
759
|
return null;
|
|
732
760
|
}
|
|
@@ -772,13 +800,13 @@ class LegacyInstanceListTable extends _react.default.Component {
|
|
|
772
800
|
});
|
|
773
801
|
}
|
|
774
802
|
if (this.props.sort !== prevProps.sort || this.props.asc !== prevProps.asc) {
|
|
775
|
-
var _this$props$onColumns4, _this$
|
|
803
|
+
var _this$props$onColumns4, _this$props8;
|
|
776
804
|
const columns = [];
|
|
777
805
|
this.state.columns.forEach(column => columns.push(this.setColumnSortOrder(column)));
|
|
778
806
|
this.setState({
|
|
779
807
|
columns
|
|
780
808
|
});
|
|
781
|
-
(_this$props$onColumns4 = (_this$
|
|
809
|
+
(_this$props$onColumns4 = (_this$props8 = this.props).onColumnsChange) === null || _this$props$onColumns4 === void 0 ? void 0 : _this$props$onColumns4.call(_this$props8, columns.map(({
|
|
782
810
|
dataIndex
|
|
783
811
|
}) => ({
|
|
784
812
|
dataIndex
|