@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.
- package/dist/cjs/cmdb-instance-select/CmdbInstanceSelect.js +8 -5
- package/dist/cjs/cmdb-instance-select/CmdbInstanceSelect.js.map +1 -1
- 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 +32 -3
- package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/esm/cmdb-instance-select/CmdbInstanceSelect.js +8 -5
- package/dist/esm/cmdb-instance-select/CmdbInstanceSelect.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 +31 -3
- package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/esm/instance-list-table/InstanceListTable.module.css +11 -0
- package/dist/types/cmdb-instance-select/CmdbInstanceSelect.d.ts +1 -1
- 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,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":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,MAAM,EAAEC,MAAM,QAAQ,MAAM;AACrC,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAASC,CAAC,EAAEC,sBAAsB,QAAQ,mBAAmB;AAC7D,SACEC,yBAAyB,QAEpB,+BAA+B;AACtC,SAASC,iBAAiB,QAAQ,SAAS;AAC3C,SAASC,UAAU,QAAQ,sBAAsB;AACjDD,iBAAiB,CAAC,CAAC;AAMnB;AACA,IAAME,OAAO,GAAGA,CACdC,SAAkC,EAClCC,eAAiD,KACrB;EAC5B,OAAAC,aAAA,CAAAA,aAAA,KACKF,SAAS,GACTC,eAAe;AAEtB,CAAC;AAED,IAAME,sBAAsB,GAAG,CAAC;AAQhC,OAAO,SAASC,kBAAkBA,CAChCC,KAA8B,EACV;EAAA,IAAAC,IAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,mBAAA;EACpB,IAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGrB,UAAU,CAACS,OAAO,EAAE;IAC5Ca,IAAI,EAAE,KAAK;IACXC,QAAQ,EAAE,IAAI;IACdC,WAAW,EAAE;EACf,CAAC,CAAC;;EAEF;EACA,IAAMC,WAAW,GAAGA,CAAA,KAAY;IAC9BJ,QAAQ,CAAC;MACPC,IAAI,EAAE,KAAK;MACXE,WAAW,EAAE;IACf,CAAC,CAAC;EACJ,CAAC;EAED,IAAME,YAAY,GAAGA,CAAA,KAA0B;IAC7C,oBACE3B,KAAA,CAAA4B,aAAA,CAAA5B,KAAA,CAAA6B,QAAA,qBACE7B,KAAA,CAAA4B,aAAA,CAAC1B,MAAM;MACL,eAAa,aAAc;MAC3B4B,OAAO,EAAEJ,WAAY;MACrBK,IAAI,EAAC;IAAS,GAEb3B,IAAI,CAAC4B,CAAC,IAAAC,MAAA,CAAI3B,sBAAsB,OAAA2B,MAAA,CAAI5B,CAAC,CAAC6B,IAAI,CAAE,CACvC,CACR,CAAC;EAEP,CAAC;EACD,IAAMC,2BAA2B,GAAIC,MAA2B,IAAW;IACzEd,QAAQ,CAAC;MACPC,IAAI,EAAE,IAAI;MACVC,QAAQ,EAAEY,MAAM,CAACZ,QAAQ;MACzBC,WAAW,EAAEW,MAAM,CAACC;IACtB,CAAC,CAAC;EACJ,CAAC;EAED,IAAMC,cAAc,IAAArB,IAAA,IAAAC,oBAAA,GAClBF,KAAK,CAACuB,aAAa,cAAArB,oBAAA,cAAAA,oBAAA,IAAAC,qBAAA,GAClBV,UAAU,CAAC,CAAC,CAAC+B,eAAe,CAAC,CAAC,cAAArB,qBAAA,uBAA9BA,qBAAA,CAAgCsB,oBAAoB,cAAAxB,IAAA,cAAAA,IAAA,GACrDH,sBAAsB;EACxB,oBACEd,KAAA,CAAA4B,aAAA,CAAA5B,KAAA,CAAA6B,QAAA,qBACE7B,KAAA,CAAA4B,aAAA,CAACrB,yBAAyB,EAAAmC,QAAA,KACpB1B,KAAK;IACT2B,uBAAuB,EAAER,2BAA4B;IACrDI,aAAa,EAAED;EAAe,EAC/B,CAAC,eACFtC,KAAA,CAAA4B,aAAA,CAACzB,MAAM;IACLyC,KAAK,EAAEvB,KAAK,CAACI,WAAY;IACzBoB,OAAO,EAAExB,KAAK,CAACE,IAAK;IACpBuB,KAAK,EAAE9B,KAAK,CAAC+B,WAAW,IAAI,GAAI;IAChCC,OAAO,EAAEtB,WAAY;IACrBuB,cAAc,EAAE,IAAK;IACrBC,MAAM,EAAEvB,YAAY,CAAC,CAAE;IACvBwB,MAAM,GAAA/B,mBAAA,GAAEJ,KAAK,CAACoC,YAAY,cAAAhC,mBAAA,cAAAA,mBAAA,GAAI,IAAK;IACnCiC,WAAW,EAAE;MAAEC,UAAU,EAAE;IAA8B;EAAE,gBAE3DtD,KAAA,CAAA4B,aAAA,CAACb,kBAAkB;IACjBS,QAAQ,EAAEH,KAAK,CAACG,QAAS;IACzBmB,uBAAuB,EAAER,2BAA4B;IACrDI,aAAa,EAAED,cAAe;IAC9BiB,kBAAkB,EAAEvC,KAAK,CAACuC,kBAAmB;IAC7CC,cAAc,EAAE,IAAK;IACrBC,MAAM,EAAEzC,KAAK,CAACyC,MAAO;IACrBC,MAAM,EAAE1C,KAAK,CAAC0C,MAAO;IACrBC,WAAW,EAAE3C,KAAK,CAAC2C,WAAY;IAC/BC,mBAAmB,EAAE5C,KAAK,CAAC4C,mBAAoB;IAC/CC,cAAc,EAAE7C,KAAK,CAAC6C,cAAe;IACrCC,YAAY,EAAE9C,KAAK,CAAC8C,YAAa;IACjCC,sBAAsB,EAAE/C,KAAK,CAAC+C,sBAAuB;IACrDC,kBAAkB,EAAEhD,KAAK,CAACgD,kBAAmB;IAC7CC,mBAAmB,EAAEjD,KAAK,CAACiD,mBAAoB;IAC/CC,eAAe,EAAElD,KAAK,CAACkD,eAAgB;IACvCC,WAAW,EAAEnD,KAAK,CAACmD,WAAY;IAC/BC,oBAAoB,EAAEpD,KAAK,CAACoD,oBAAqB;IACjDC,eAAe,EAAErD,KAAK,CAACqD,eAAgB;IACvCC,kBAAkB,EAAEtD,KAAK,CAACsD,kBAAmB;IAC7CC,gBAAgB,EAAEvD,KAAK,CAACuD,gBAAiB;IACzCC,wBAAwB,EAAExD,KAAK,CAACwD,wBAAyB;IACzDC,0BAA0B,EAAEzD,KAAK,CAACyD,0BAA2B;IAC7DC,iBAAiB,EAAE1D,KAAK,CAAC0D;EAAkB,CAC5C,CACK,CACR,CAAC;AAEP","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
|
-
|
|
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$
|
|
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$
|
|
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;
|