@next-libs/cmdb-instances 6.17.2 → 6.18.3
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/CHANGELOG.md +43 -0
- package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js +18 -2
- package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
- package/dist/cjs/instance-list/InstanceList.js +32 -5
- package/dist/cjs/instance-list/InstanceList.js.map +1 -1
- package/dist/cjs/instance-list-table/AdvancedSearch.js +3 -0
- package/dist/cjs/instance-list-table/AdvancedSearch.js.map +1 -1
- package/dist/cjs/model-attribute-form/ModelAttributeForm.js +2 -1
- package/dist/cjs/model-attribute-form/ModelAttributeForm.js.map +1 -1
- package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js +18 -2
- package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
- package/dist/esm/instance-detail/index.module.css +13 -7
- package/dist/esm/instance-list/InstanceList.js +33 -6
- package/dist/esm/instance-list/InstanceList.js.map +1 -1
- package/dist/esm/instance-list-table/AdvancedSearch.js +3 -0
- package/dist/esm/instance-list-table/AdvancedSearch.js.map +1 -1
- package/dist/esm/model-attribute-form/ModelAttributeForm.js +2 -1
- package/dist/esm/model-attribute-form/ModelAttributeForm.js.map +1 -1
- package/dist/types/cmdb-instances-select-panel/CmdbInstancesSelectPanel.d.ts +2 -0
- package/dist/types/instance-list/InstanceList.d.ts +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,49 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [6.18.3](https://github.com/easyops-cn/next-libs/compare/@next-libs/cmdb-instances@6.18.2...@next-libs/cmdb-instances@6.18.3) (2022-01-20)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* use css variables ([ac6fc28](https://github.com/easyops-cn/next-libs/commit/ac6fc28e06f43de2d3464c5b3411c3f0a4643f61))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [6.18.2](https://github.com/easyops-cn/next-libs/compare/@next-libs/cmdb-instances@6.18.1...@next-libs/cmdb-instances@6.18.2) (2022-01-19)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @next-libs/cmdb-instances
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## [6.18.1](https://github.com/easyops-cn/next-libs/compare/@next-libs/cmdb-instances@6.18.0...@next-libs/cmdb-instances@6.18.1) (2022-01-17)
|
|
26
|
+
|
|
27
|
+
**Note:** Version bump only for package @next-libs/cmdb-instances
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# [6.18.0](https://github.com/easyops-cn/next-libs/compare/@next-libs/cmdb-instances@6.17.2...@next-libs/cmdb-instances@6.18.0) (2022-01-17)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### Bug Fixes
|
|
37
|
+
|
|
38
|
+
* **cmdb-instances:** cmdb第二次查询, 布尔值转化为字符串导致查询错误 ([b44295c](https://github.com/easyops-cn/next-libs/commit/b44295c3cc8ea25345a7c90f8e24715d2f56aae5))
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
### Features
|
|
42
|
+
|
|
43
|
+
* **pipeline:** AddStepButton支持tooltip ([6b69b3d](https://github.com/easyops-cn/next-libs/commit/6b69b3d54f3957f7ee6228b2e11d727a9aeea13a))
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
6
49
|
## [6.17.2](https://github.com/easyops-cn/next-libs/compare/@next-libs/cmdb-instances@6.17.1...@next-libs/cmdb-instances@6.17.2) (2022-01-14)
|
|
7
50
|
|
|
8
51
|
|
|
@@ -30,7 +30,7 @@ var _i18next = _interopRequireDefault(require("i18next"));
|
|
|
30
30
|
var _constants = require("../i18n/constants");
|
|
31
31
|
|
|
32
32
|
function CmdbInstancesSelectPanel(props, ref) {
|
|
33
|
-
var _props$previewMaxNumb, _props$modalTitle, _props$addTitle;
|
|
33
|
+
var _props$previewMaxNumb, _props$instanceQuery, _props$modalTitle, _props$addTitle;
|
|
34
34
|
|
|
35
35
|
let modelData = props.objectMap[props.objectId];
|
|
36
36
|
|
|
@@ -130,6 +130,22 @@ function CmdbInstancesSelectPanel(props, ref) {
|
|
|
130
130
|
[_styleModule.default.selectedInstancesTableWrapper]: true,
|
|
131
131
|
[_styleModule.default.withPreview]: showPreview
|
|
132
132
|
});
|
|
133
|
+
const {
|
|
134
|
+
relation
|
|
135
|
+
} = props;
|
|
136
|
+
let relationLimit;
|
|
137
|
+
|
|
138
|
+
if ((relation === null || relation === void 0 ? void 0 : relation.right_max) === 1) {
|
|
139
|
+
relationLimit = {
|
|
140
|
+
[relation.right_id]: {
|
|
141
|
+
$size: {
|
|
142
|
+
$lt: 1
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
const query = (_props$instanceQuery = props.instanceQuery) !== null && _props$instanceQuery !== void 0 ? _props$instanceQuery : relationLimit;
|
|
133
149
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
134
150
|
className: _styleModule.default.wrapper,
|
|
135
151
|
ref: ref
|
|
@@ -145,7 +161,7 @@ function CmdbInstancesSelectPanel(props, ref) {
|
|
|
145
161
|
onCancel: closeAddInstancesModal,
|
|
146
162
|
singleSelect: props.singleSelect,
|
|
147
163
|
presetConfigs: {
|
|
148
|
-
query
|
|
164
|
+
query,
|
|
149
165
|
fieldIds: props.fields
|
|
150
166
|
},
|
|
151
167
|
pageSize: props.addInstancesModalPageSize,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cmdb-instances-select-panel/CmdbInstancesSelectPanel.tsx"],"names":["CmdbInstancesSelectPanel","props","ref","modelData","objectMap","objectId","isFilterView","hideModelData","view","hide_columns","attrList","filter","item","includes","id","relation_list","left_id","left_object_id","right_id","right_object_id","displayedSelectedInstancesMaxNumber","previewMaxNumber","selectedInstanceList","setSelectedInstanceList","partialSelectedInstances","setPartialSelectedInstances","addInstancesModal","setAddInstancesModal","visible","allSelectedInstancesModal","setAllSelectedInstancesModal","fetchInstances","instanceIdList","instances","length","query","instanceId","$in","page","page_size","fields","list","initInstances","value","isOperate","slice","onFetchedInstances","openAddInstancesModal","closeAddInstancesModal","openAllSelectedInstancesModal","closeAllSelectedInstancesModal","handleInstancesSelected","selectedKeys","onChange","fieldIds","map","attr","showPreview","cs","style","selectedInstancesTableWrapper","withPreview","wrapper","modalTitle","i18n","t","NS_LIBS_CMDB_INSTANCES","K","FILTER_FROM_CMDB","name","instance","singleSelect","instanceQuery","addInstancesModalPageSize","showSizeChanger","pageSizeOptions","VIEW_ALL_SELECTED_INSTANCES","addButton","marginBottom","addTitle","CHOOSE_INSTANCE","showDetailUrl","detailUrlTemplates","pagination","v","showAllSelectedInstancesButton","VIEW_ALL_DATA","count"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport classnames from \"classnames\";\n\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../instance-list-table\";\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport { modifyModelData } from \"@next-libs/cmdb-utils\";\nimport style from \"./style.module.css\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\n\nexport interface CmdbInstancesSelectPanelProps {\n objectMap: { [key: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId: string;\n value?: string[];\n onChange?: (instanceList: any[]) => void;\n instanceQuery?: any;\n fields?: string[];\n singleSelect?: boolean;\n addTitle?: React.ReactNode | string;\n modalTitle?: React.ReactNode | string;\n previewMaxNumber?: number;\n addInstancesModalPageSize?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n isOperate?: boolean; //cmdb实例列表支持删除实例\n showDetailUrl?: boolean;\n isFilterView?: boolean; //是否过滤视图属性\n onFetchedInstances?: (instanceList: any[]) => void; // objectId改变后触发\n}\n\nexport function CmdbInstancesSelectPanel(\n props: CmdbInstancesSelectPanelProps,\n ref: any\n): React.ReactElement {\n let modelData = props.objectMap[props.objectId];\n if (props.isFilterView) {\n //过滤掉视图不可见字段\n const hideModelData = modelData?.view?.hide_columns || [];\n modelData = {\n ...modelData,\n attrList: modelData.attrList.filter(\n (item: any) => !hideModelData.includes(item.id)\n ),\n relation_list: modelData.relation_list.filter(\n (item: any) =>\n !(\n (hideModelData.includes(item.left_id) &&\n item.left_object_id === props.objectId) ||\n (hideModelData.includes(item.right_id) &&\n item.right_object_id === props.objectId)\n )\n ),\n };\n }\n\n const displayedSelectedInstancesMaxNumber = props.previewMaxNumber ?? 5;\n\n const [selectedInstanceList, setSelectedInstanceList] = useState([]);\n const [partialSelectedInstances, setPartialSelectedInstances] = useState([]);\n const [addInstancesModal, setAddInstancesModal] = useState({\n visible: false,\n });\n const [allSelectedInstancesModal, setAllSelectedInstancesModal] = useState({\n visible: false,\n });\n\n const fetchInstances = async (instanceIdList: string[]): Promise<any[]> => {\n let instances: any[] = [];\n if (instanceIdList?.length) {\n instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: instanceIdList,\n },\n },\n page: 1,\n page_size: instanceIdList.length,\n // todo(ice): selected confirm with instances\n fields: { \"*\": true },\n })\n ).list;\n }\n\n return instances;\n };\n\n useEffect(() => {\n const initInstances = async (): Promise<void> => {\n const instances = await fetchInstances(props.value);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onFetchedInstances?.(instances);\n };\n\n initInstances();\n }, [props.objectId]);\n\n const openAddInstancesModal = () => {\n setAddInstancesModal({ visible: true });\n };\n\n const closeAddInstancesModal = () => {\n setAddInstancesModal({ visible: false });\n };\n\n const openAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: true });\n };\n\n const closeAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: false });\n };\n\n const handleInstancesSelected = async (selectedKeys: string[]) => {\n closeAddInstancesModal();\n\n const instances = await fetchInstances(selectedKeys);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n\n props.onChange?.(instances);\n };\n\n const fieldIds = modifyModelData(modelData).attrList.map(\n (attr: any) => attr.id\n );\n const showPreview =\n selectedInstanceList.length > displayedSelectedInstancesMaxNumber;\n const cs = classnames({\n [style.selectedInstancesTableWrapper]: true,\n [style.withPreview]: showPreview,\n });\n\n return (\n <div className={style.wrapper} ref={ref}>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={addInstancesModal.visible}\n title={\n props.modalTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FILTER_FROM_CMDB}`, {\n name: modelData.name,\n })\n }\n selectedRowKeys={selectedInstanceList.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n onCancel={closeAddInstancesModal}\n singleSelect={props.singleSelect}\n presetConfigs={{\n query: props.instanceQuery,\n fieldIds: props.fields,\n }}\n pageSize={props.addInstancesModalPageSize}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n />\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={allSelectedInstancesModal.visible}\n title={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_SELECTED_INSTANCES}`\n )}\n presetConfigs={{\n query: {\n instanceId: {\n $in: selectedInstanceList.map((instance) => instance.instanceId),\n },\n },\n }}\n selectDisabled={true}\n onCancel={closeAllSelectedInstancesModal}\n />\n <a\n className={style.addButton}\n onClick={openAddInstancesModal}\n style={{ marginBottom: \"12px\" }}\n >\n {props.addTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOOSE_INSTANCE}`)}\n </a>\n <div className={cs}>\n <InstanceListTable\n {...(props.showDetailUrl\n ? {\n detailUrlTemplates: {\n [props.objectId]:\n \"/next-cmdb-instance-management/next/#{objectId}/instance/#{instanceId}\",\n },\n }\n : {})}\n idObjectMap={props.objectMap}\n modelData={modelData}\n instanceListData={{\n list: partialSelectedInstances,\n }}\n fieldIds={props.fields || fieldIds}\n selectDisabled={true}\n sortDisabled={true}\n configProps={{\n pagination: false,\n }}\n isOperate={props.isOperate}\n handleDeleteFunction={(v) => {\n setSelectedInstanceList(v);\n setPartialSelectedInstances(v);\n props.onChange?.(v);\n }}\n target={\"_blank\"}\n ></InstanceListTable>\n {!props?.isOperate && showPreview && (\n <div\n className={style.showAllSelectedInstancesButton}\n onClick={openAllSelectedInstancesModal}\n >\n <a>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_DATA}`, {\n count: selectedInstanceList.length,\n })}\n </a>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"file":"CmdbInstancesSelectPanel.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/cmdb-instances-select-panel/CmdbInstancesSelectPanel.tsx"],"names":["CmdbInstancesSelectPanel","props","ref","modelData","objectMap","objectId","isFilterView","hideModelData","view","hide_columns","attrList","filter","item","includes","id","relation_list","left_id","left_object_id","right_id","right_object_id","displayedSelectedInstancesMaxNumber","previewMaxNumber","selectedInstanceList","setSelectedInstanceList","partialSelectedInstances","setPartialSelectedInstances","addInstancesModal","setAddInstancesModal","visible","allSelectedInstancesModal","setAllSelectedInstancesModal","fetchInstances","instanceIdList","instances","length","query","instanceId","$in","page","page_size","fields","list","initInstances","value","isOperate","slice","onFetchedInstances","openAddInstancesModal","closeAddInstancesModal","openAllSelectedInstancesModal","closeAllSelectedInstancesModal","handleInstancesSelected","selectedKeys","onChange","fieldIds","map","attr","showPreview","cs","style","selectedInstancesTableWrapper","withPreview","relation","relationLimit","right_max","$size","$lt","instanceQuery","wrapper","modalTitle","i18n","t","NS_LIBS_CMDB_INSTANCES","K","FILTER_FROM_CMDB","name","instance","singleSelect","addInstancesModalPageSize","showSizeChanger","pageSizeOptions","VIEW_ALL_SELECTED_INSTANCES","addButton","marginBottom","addTitle","CHOOSE_INSTANCE","showDetailUrl","detailUrlTemplates","pagination","v","showAllSelectedInstancesButton","VIEW_ALL_DATA","count"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport classnames from \"classnames\";\n\nimport { CmdbModels, InstanceApi_postSearch } from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../instance-list-table\";\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport {\n modifyModelData,\n ModifiedModelObjectRelation,\n} from \"@next-libs/cmdb-utils\";\nimport style from \"./style.module.css\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\n\nexport interface CmdbInstancesSelectPanelProps {\n objectMap: { [key: string]: Partial<CmdbModels.ModelCmdbObject> };\n objectId: string;\n value?: string[];\n onChange?: (instanceList: any[]) => void;\n instanceQuery?: any;\n fields?: string[];\n singleSelect?: boolean;\n addTitle?: React.ReactNode | string;\n modalTitle?: React.ReactNode | string;\n previewMaxNumber?: number;\n addInstancesModalPageSize?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n isOperate?: boolean; //cmdb实例列表支持删除实例\n showDetailUrl?: boolean;\n isFilterView?: boolean; //是否过滤视图属性\n onFetchedInstances?: (instanceList: any[]) => void; // objectId改变后触发\n relation?: Partial<ModifiedModelObjectRelation>;\n}\n\nexport function CmdbInstancesSelectPanel(\n props: CmdbInstancesSelectPanelProps,\n ref: any\n): React.ReactElement {\n let modelData = props.objectMap[props.objectId];\n if (props.isFilterView) {\n //过滤掉视图不可见字段\n const hideModelData = modelData?.view?.hide_columns || [];\n modelData = {\n ...modelData,\n attrList: modelData.attrList.filter(\n (item: any) => !hideModelData.includes(item.id)\n ),\n relation_list: modelData.relation_list.filter(\n (item: any) =>\n !(\n (hideModelData.includes(item.left_id) &&\n item.left_object_id === props.objectId) ||\n (hideModelData.includes(item.right_id) &&\n item.right_object_id === props.objectId)\n )\n ),\n };\n }\n\n const displayedSelectedInstancesMaxNumber = props.previewMaxNumber ?? 5;\n\n const [selectedInstanceList, setSelectedInstanceList] = useState([]);\n const [partialSelectedInstances, setPartialSelectedInstances] = useState([]);\n const [addInstancesModal, setAddInstancesModal] = useState({\n visible: false,\n });\n const [allSelectedInstancesModal, setAllSelectedInstancesModal] = useState({\n visible: false,\n });\n\n const fetchInstances = async (instanceIdList: string[]): Promise<any[]> => {\n let instances: any[] = [];\n if (instanceIdList?.length) {\n instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: instanceIdList,\n },\n },\n page: 1,\n page_size: instanceIdList.length,\n // todo(ice): selected confirm with instances\n fields: { \"*\": true },\n })\n ).list;\n }\n\n return instances;\n };\n\n useEffect(() => {\n const initInstances = async (): Promise<void> => {\n const instances = await fetchInstances(props.value);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onFetchedInstances?.(instances);\n };\n\n initInstances();\n }, [props.objectId]);\n\n const openAddInstancesModal = () => {\n setAddInstancesModal({ visible: true });\n };\n\n const closeAddInstancesModal = () => {\n setAddInstancesModal({ visible: false });\n };\n\n const openAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: true });\n };\n\n const closeAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: false });\n };\n\n const handleInstancesSelected = async (selectedKeys: string[]) => {\n closeAddInstancesModal();\n\n const instances = await fetchInstances(selectedKeys);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n\n props.onChange?.(instances);\n };\n\n const fieldIds = modifyModelData(modelData).attrList.map(\n (attr: any) => attr.id\n );\n const showPreview =\n selectedInstanceList.length > displayedSelectedInstancesMaxNumber;\n const cs = classnames({\n [style.selectedInstancesTableWrapper]: true,\n [style.withPreview]: showPreview,\n });\n const { relation } = props;\n let relationLimit;\n if (relation?.right_max === 1) {\n relationLimit = { [relation.right_id]: { $size: { $lt: 1 } } };\n }\n const query = props.instanceQuery ?? relationLimit;\n return (\n <div className={style.wrapper} ref={ref}>\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={addInstancesModal.visible}\n title={\n props.modalTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FILTER_FROM_CMDB}`, {\n name: modelData.name,\n })\n }\n selectedRowKeys={selectedInstanceList.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n onCancel={closeAddInstancesModal}\n singleSelect={props.singleSelect}\n presetConfigs={{\n query,\n fieldIds: props.fields,\n }}\n pageSize={props.addInstancesModalPageSize}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n />\n <InstanceListModal\n objectMap={props.objectMap}\n objectId={props.objectId}\n visible={allSelectedInstancesModal.visible}\n title={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_SELECTED_INSTANCES}`\n )}\n presetConfigs={{\n query: {\n instanceId: {\n $in: selectedInstanceList.map((instance) => instance.instanceId),\n },\n },\n }}\n selectDisabled={true}\n onCancel={closeAllSelectedInstancesModal}\n />\n <a\n className={style.addButton}\n onClick={openAddInstancesModal}\n style={{ marginBottom: \"12px\" }}\n >\n {props.addTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOOSE_INSTANCE}`)}\n </a>\n <div className={cs}>\n <InstanceListTable\n {...(props.showDetailUrl\n ? {\n detailUrlTemplates: {\n [props.objectId]:\n \"/next-cmdb-instance-management/next/#{objectId}/instance/#{instanceId}\",\n },\n }\n : {})}\n idObjectMap={props.objectMap}\n modelData={modelData}\n instanceListData={{\n list: partialSelectedInstances,\n }}\n fieldIds={props.fields || fieldIds}\n selectDisabled={true}\n sortDisabled={true}\n configProps={{\n pagination: false,\n }}\n isOperate={props.isOperate}\n handleDeleteFunction={(v) => {\n setSelectedInstanceList(v);\n setPartialSelectedInstances(v);\n props.onChange?.(v);\n }}\n target={\"_blank\"}\n ></InstanceListTable>\n {!props?.isOperate && showPreview && (\n <div\n className={style.showAllSelectedInstancesButton}\n onClick={openAllSelectedInstancesModal}\n >\n <a>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_DATA}`, {\n count: selectedInstanceList.length,\n })}\n </a>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"file":"CmdbInstancesSelectPanel.js"}
|
|
@@ -39,6 +39,8 @@ var _constants2 = require("./constants");
|
|
|
39
39
|
|
|
40
40
|
var _storage = require("@next-libs/storage");
|
|
41
41
|
|
|
42
|
+
var _ModelAttributeFormControl = require("../model-attribute-form-control/ModelAttributeFormControl");
|
|
43
|
+
|
|
42
44
|
var _IconButton = require("./IconButton");
|
|
43
45
|
|
|
44
46
|
var _processors = require("../processors");
|
|
@@ -205,7 +207,14 @@ const isOfStruct = (modelData, fieldId) => {
|
|
|
205
207
|
return structFields.includes(fieldId);
|
|
206
208
|
};
|
|
207
209
|
|
|
208
|
-
const
|
|
210
|
+
const isOfBoolean = (attrList, fieldId) => {
|
|
211
|
+
var _keyAttrMap$fieldId;
|
|
212
|
+
|
|
213
|
+
const keyAttrMap = (0, _lodash.keyBy)(attrList, "id");
|
|
214
|
+
return ((_keyAttrMap$fieldId = keyAttrMap[fieldId]) === null || _keyAttrMap$fieldId === void 0 ? void 0 : _keyAttrMap$fieldId.value.type) === _ModelAttributeFormControl.ModelAttributeValueType.BOOLEAN;
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
const initAqToShow = (aq, modelData, isToShow = true) => {
|
|
209
218
|
let newAqToShow = [];
|
|
210
219
|
|
|
211
220
|
if (aq) {
|
|
@@ -217,13 +226,29 @@ const initAqToShow = (aq, modelData) => {
|
|
|
217
226
|
const firstSubQuery = expressions[0];
|
|
218
227
|
const fieldId = Object.keys(firstSubQuery)[0];
|
|
219
228
|
const isStruct = isOfStruct(modelData, fieldId);
|
|
229
|
+
const isBool = isOfBoolean(modelData.attrList, fieldId);
|
|
220
230
|
const structQueries = expressions.filter(expression => Object.keys(expression)[0] === fieldId);
|
|
221
231
|
|
|
222
|
-
if (isStruct) {
|
|
232
|
+
if (isStruct && isToShow) {
|
|
223
233
|
const structExpressions = structQueries.map(item => ({
|
|
224
234
|
[fieldId.split(".")[0]]: item[fieldId]
|
|
225
235
|
}));
|
|
226
236
|
newExpressions = [...newExpressions, ...structExpressions];
|
|
237
|
+
} else if (isBool && !isToShow) {
|
|
238
|
+
const boolExpressions = expressions.map(expression => {
|
|
239
|
+
const targetValue = expression[fieldId];
|
|
240
|
+
|
|
241
|
+
if (typeof Object.values(targetValue)[0] === "string") {
|
|
242
|
+
return {
|
|
243
|
+
[fieldId]: {
|
|
244
|
+
[Object.keys(targetValue)[0]]: Object.values(targetValue)[0] === "true" ? true : false
|
|
245
|
+
}
|
|
246
|
+
};
|
|
247
|
+
} else {
|
|
248
|
+
return expression;
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
newExpressions = [...newExpressions, ...boolExpressions];
|
|
227
252
|
} else {
|
|
228
253
|
newExpressions = [...newExpressions, ...expressions];
|
|
229
254
|
}
|
|
@@ -362,7 +387,7 @@ function InstanceList(props) {
|
|
|
362
387
|
return {
|
|
363
388
|
objectId: props.objectId,
|
|
364
389
|
q: props.q,
|
|
365
|
-
aq: props.aq,
|
|
390
|
+
aq: initAqToShow(props.aq, modelData, false),
|
|
366
391
|
aqToShow: props.aqToShow || initAqToShow(props.aq, modelData),
|
|
367
392
|
instanceSourceQuery: props.instanceSourceQuery,
|
|
368
393
|
asc: props.asc,
|
|
@@ -435,7 +460,7 @@ function InstanceList(props) {
|
|
|
435
460
|
|
|
436
461
|
if (props.presetConfigs) {
|
|
437
462
|
if (!(0, _lodash.isEmpty)(props.presetConfigs.query)) {
|
|
438
|
-
if (query) {
|
|
463
|
+
if (Object.keys(query).length) {
|
|
439
464
|
query = {
|
|
440
465
|
$and: [query, props.presetConfigs.query]
|
|
441
466
|
};
|
|
@@ -801,7 +826,9 @@ function InstanceList(props) {
|
|
|
801
826
|
}, [props.notifyCurrentFields]); // istanbul ignore next
|
|
802
827
|
|
|
803
828
|
(0, _react.useEffect)(() => {
|
|
804
|
-
|
|
829
|
+
var _props$selectedRowKey3;
|
|
830
|
+
|
|
831
|
+
((_props$selectedRowKey3 = props.selectedRowKeys) === null || _props$selectedRowKey3 === void 0 ? void 0 : _props$selectedRowKey3.length) && (async () => {
|
|
805
832
|
const data = {};
|
|
806
833
|
const v3Data = {
|
|
807
834
|
fields: ["instanceId"]
|