@next-libs/cmdb-instances 7.5.0 → 7.6.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/instance-list/FilterInstanceSource.js +144 -0
- package/dist/cjs/instance-list/FilterInstanceSource.js.map +1 -0
- package/dist/cjs/instance-list/IconButton.js +10 -0
- package/dist/cjs/instance-list/IconButton.js.map +1 -1
- package/dist/cjs/instance-list/InstanceList.js +48 -0
- package/dist/cjs/instance-list/InstanceList.js.map +1 -1
- package/dist/cjs/instance-list-modal/InstanceListModal.js +6 -1
- package/dist/cjs/instance-list-modal/InstanceListModal.js.map +1 -1
- package/dist/cjs/model-attribute-form-control/ModelAttributeFormControl.js +2 -1
- package/dist/cjs/model-attribute-form-control/ModelAttributeFormControl.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/instance-list/FilterInstanceSource.js +138 -0
- package/dist/esm/instance-list/FilterInstanceSource.js.map +1 -0
- package/dist/esm/instance-list/FilterInstanceSource.module.css +13 -0
- package/dist/esm/instance-list/IconButton.js +10 -0
- package/dist/esm/instance-list/IconButton.js.map +1 -1
- package/dist/esm/instance-list/InstanceList.js +52 -4
- package/dist/esm/instance-list/InstanceList.js.map +1 -1
- package/dist/esm/instance-list-modal/InstanceListModal.js +6 -1
- package/dist/esm/instance-list-modal/InstanceListModal.js.map +1 -1
- package/dist/esm/model-attribute-form-control/ModelAttributeFormControl.js +2 -1
- package/dist/esm/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
- package/dist/types/i18n/constants.d.ts +3 -1
- package/dist/types/instance-list/FilterInstanceSource.d.ts +15 -0
- package/dist/types/instance-list/FilterInstanceSource.spec.d.ts +1 -0
- package/dist/types/instance-list/InstanceList.d.ts +11 -0
- package/dist/types/instance-list-modal/InstanceListModal.d.ts +6 -0
- package/package.json +2 -2
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import React, { useEffect, useMemo, useState, memo } from "react";
|
|
2
|
+
import { Popover, Input, Button, Radio, Space } from "antd";
|
|
3
|
+
import { IconButton } from "./IconButton";
|
|
4
|
+
import { SearchOutlined } from "@ant-design/icons";
|
|
5
|
+
import styles from "./FilterInstanceSource.module.css";
|
|
6
|
+
import { map, isEmpty } from "lodash";
|
|
7
|
+
import i18n from "i18next";
|
|
8
|
+
import { K, NS_LIBS_CMDB_INSTANCES } from "../i18n/constants";
|
|
9
|
+
function encode(keyword) {
|
|
10
|
+
var reg = /[[($^.\]*\\?+{}|)]/gi;
|
|
11
|
+
return keyword.replace(reg, key => "\\".concat(key));
|
|
12
|
+
}
|
|
13
|
+
var FilterInstanceSource = props => {
|
|
14
|
+
var [instanceSource, setInstanceSource] = useState(props.value);
|
|
15
|
+
var [objectIdNameList, setObjectIdNameList] = useState([]);
|
|
16
|
+
var {
|
|
17
|
+
checked,
|
|
18
|
+
visible,
|
|
19
|
+
jsonLocalStorage,
|
|
20
|
+
isAbstract
|
|
21
|
+
} = props;
|
|
22
|
+
|
|
23
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
24
|
+
var objectNameMap = jsonLocalStorage.getItem("instances-sources-objectId-name-map") || {};
|
|
25
|
+
var _modelIdNameMap = useMemo(() => {
|
|
26
|
+
return isEmpty(props.inheritanceModelIdNameMap) ? objectNameMap === null || objectNameMap === void 0 ? void 0 : objectNameMap.idNameMap : props.inheritanceModelIdNameMap;
|
|
27
|
+
}, [props.inheritanceModelIdNameMap, objectNameMap]);
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
var _objectIdNameList = map(_modelIdNameMap, (value, key) => ({
|
|
30
|
+
text: value,
|
|
31
|
+
value: key
|
|
32
|
+
}));
|
|
33
|
+
setObjectIdNameList(_objectIdNameList);
|
|
34
|
+
}, [_modelIdNameMap]);
|
|
35
|
+
var onReset = e => {
|
|
36
|
+
var {
|
|
37
|
+
parentObjectId,
|
|
38
|
+
query
|
|
39
|
+
} = objectNameMap;
|
|
40
|
+
var value = {
|
|
41
|
+
objectId: parentObjectId,
|
|
42
|
+
objectName: "",
|
|
43
|
+
query,
|
|
44
|
+
checked: false
|
|
45
|
+
};
|
|
46
|
+
setInstanceSource("");
|
|
47
|
+
props === null || props === void 0 ? void 0 : props.onChange(value);
|
|
48
|
+
props === null || props === void 0 ? void 0 : props.onIconClicKChange(false);
|
|
49
|
+
props === null || props === void 0 ? void 0 : props.onPopoverVisibleChange(false);
|
|
50
|
+
};
|
|
51
|
+
var onConfirm = e => {
|
|
52
|
+
var query = {
|
|
53
|
+
objectId: instanceSource,
|
|
54
|
+
objectName: _modelIdNameMap[instanceSource],
|
|
55
|
+
query: {},
|
|
56
|
+
checked
|
|
57
|
+
};
|
|
58
|
+
props === null || props === void 0 ? void 0 : props.onChange(query);
|
|
59
|
+
props === null || props === void 0 ? void 0 : props.onPopoverVisibleChange(false);
|
|
60
|
+
};
|
|
61
|
+
var handleRadioChange = e => {
|
|
62
|
+
setInstanceSource(e.target.value);
|
|
63
|
+
};
|
|
64
|
+
var onSearch = e => {
|
|
65
|
+
var value = encode(e.target.value.trim());
|
|
66
|
+
var _objectIdNameList = map(_modelIdNameMap, (value, key) => ({
|
|
67
|
+
text: value,
|
|
68
|
+
value: key
|
|
69
|
+
}));
|
|
70
|
+
var regex = new RegExp(value, "ig");
|
|
71
|
+
var filterObjectIdNameList = _objectIdNameList.filter(v => regex.test(v.text));
|
|
72
|
+
setObjectIdNameList(filterObjectIdNameList);
|
|
73
|
+
};
|
|
74
|
+
var onIconCheckedChange = checked => {
|
|
75
|
+
if (isAbstract) {
|
|
76
|
+
props === null || props === void 0 ? void 0 : props.onIconClicKChange(checked);
|
|
77
|
+
props === null || props === void 0 ? void 0 : props.onPopoverVisibleChange(checked);
|
|
78
|
+
} else {
|
|
79
|
+
props === null || props === void 0 ? void 0 : props.onIconClicKChange(true);
|
|
80
|
+
props === null || props === void 0 ? void 0 : props.onPopoverVisibleChange(true);
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
var getContent = () => {
|
|
84
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Input, {
|
|
85
|
+
placeholder: i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.SEARCH_MODEL)),
|
|
86
|
+
suffix: /*#__PURE__*/React.createElement(SearchOutlined, null),
|
|
87
|
+
onPressEnter: onSearch,
|
|
88
|
+
"data-testid": "instance-source-search"
|
|
89
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
90
|
+
className: styles.content
|
|
91
|
+
}, /*#__PURE__*/React.createElement(Radio.Group, {
|
|
92
|
+
value: instanceSource,
|
|
93
|
+
onChange: handleRadioChange
|
|
94
|
+
}, /*#__PURE__*/React.createElement(Space, {
|
|
95
|
+
direction: "vertical"
|
|
96
|
+
}, objectIdNameList.map(_ref => {
|
|
97
|
+
var {
|
|
98
|
+
text,
|
|
99
|
+
value
|
|
100
|
+
} = _ref;
|
|
101
|
+
return /*#__PURE__*/React.createElement(Radio, {
|
|
102
|
+
key: value,
|
|
103
|
+
value: value
|
|
104
|
+
}, text);
|
|
105
|
+
})))), /*#__PURE__*/React.createElement("div", {
|
|
106
|
+
className: styles.footer
|
|
107
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
108
|
+
type: "text",
|
|
109
|
+
size: "small",
|
|
110
|
+
onClick: onReset,
|
|
111
|
+
disabled: isAbstract
|
|
112
|
+
}, i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.RESET))), /*#__PURE__*/React.createElement(Button, {
|
|
113
|
+
type: "primary",
|
|
114
|
+
size: "small",
|
|
115
|
+
onClick: onConfirm
|
|
116
|
+
}, i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.CONFIRM)))));
|
|
117
|
+
};
|
|
118
|
+
return /*#__PURE__*/React.createElement(Popover, {
|
|
119
|
+
content: getContent(),
|
|
120
|
+
placement: "bottomRight",
|
|
121
|
+
overlayStyle: {
|
|
122
|
+
width: "325px"
|
|
123
|
+
},
|
|
124
|
+
visible: visible,
|
|
125
|
+
trigger: "click"
|
|
126
|
+
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
127
|
+
checked: checked,
|
|
128
|
+
onChange: onIconCheckedChange,
|
|
129
|
+
style: {
|
|
130
|
+
marginRight: 10
|
|
131
|
+
},
|
|
132
|
+
type: "filterInstanceSource",
|
|
133
|
+
label: "",
|
|
134
|
+
"data-testid": "instance-source-icon"
|
|
135
|
+
}));
|
|
136
|
+
};
|
|
137
|
+
export default /*#__PURE__*/memo(FilterInstanceSource);
|
|
138
|
+
//# sourceMappingURL=FilterInstanceSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterInstanceSource.js","names":["React","useEffect","useMemo","useState","memo","Popover","Input","Button","Radio","Space","IconButton","SearchOutlined","styles","map","isEmpty","i18n","K","NS_LIBS_CMDB_INSTANCES","encode","keyword","reg","replace","key","FilterInstanceSource","props","instanceSource","setInstanceSource","value","objectIdNameList","setObjectIdNameList","checked","visible","jsonLocalStorage","isAbstract","objectNameMap","getItem","_modelIdNameMap","inheritanceModelIdNameMap","idNameMap","_objectIdNameList","text","onReset","e","parentObjectId","query","objectId","objectName","onChange","onIconClicKChange","onPopoverVisibleChange","onConfirm","handleRadioChange","target","onSearch","trim","regex","RegExp","filterObjectIdNameList","filter","v","test","onIconCheckedChange","getContent","t","SEARCH_MODEL","content","footer","RESET","CONFIRM","width","marginRight"],"sources":["../../../src/instance-list/FilterInstanceSource.tsx"],"sourcesContent":["import React, {\n FC,\n ReactElement,\n useEffect,\n useMemo,\n useState,\n memo,\n} from \"react\";\nimport { Popover, Input, Button, Radio, Space } from \"antd\";\nimport { IconButton } from \"./IconButton\";\nimport { SearchOutlined } from \"@ant-design/icons\";\nimport styles from \"./FilterInstanceSource.module.css\";\nimport { map, isEmpty } from \"lodash\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\n\nimport { filterObjectIdQuery } from \"./InstanceList\";\n\ninterface FilterInstanceSourceProps {\n visible?: boolean;\n checked?: boolean;\n onIconClicKChange?(checked: boolean): void;\n inheritanceModelIdNameMap?: Record<string, string>;\n value?: string;\n onChange: (value: filterObjectIdQuery) => void;\n onPopoverVisibleChange?(visible: boolean): void;\n jsonLocalStorage?: any;\n isAbstract?: boolean;\n}\n\nfunction encode(keyword: string): string {\n const reg = /[[($^.\\]*\\\\?+{}|)]/gi;\n return keyword.replace(reg, (key) => `\\\\${key}`);\n}\n\nconst FilterInstanceSource: FC<FilterInstanceSourceProps> = (props) => {\n const [instanceSource, setInstanceSource] = useState(props.value);\n const [objectIdNameList, setObjectIdNameList] = useState([]);\n const { checked, visible, jsonLocalStorage, isAbstract } = props;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const objectNameMap =\n jsonLocalStorage.getItem(\"instances-sources-objectId-name-map\") || {};\n\n const _modelIdNameMap = useMemo(() => {\n return isEmpty(props.inheritanceModelIdNameMap)\n ? objectNameMap?.idNameMap\n : props.inheritanceModelIdNameMap;\n }, [props.inheritanceModelIdNameMap, objectNameMap]);\n\n useEffect(() => {\n const _objectIdNameList = map(_modelIdNameMap, (value, key) => ({\n text: value,\n value: key,\n }));\n setObjectIdNameList(_objectIdNameList);\n }, [_modelIdNameMap]);\n\n const onReset = (e: any): void => {\n const { parentObjectId, query } = objectNameMap;\n const value: filterObjectIdQuery = {\n objectId: parentObjectId,\n objectName: \"\",\n query,\n checked: false,\n };\n setInstanceSource(\"\");\n props?.onChange(value);\n props?.onIconClicKChange(false);\n props?.onPopoverVisibleChange(false);\n };\n\n const onConfirm = (e: any): void => {\n const query: filterObjectIdQuery = {\n objectId: instanceSource,\n objectName: _modelIdNameMap[instanceSource],\n query: {},\n checked,\n };\n props?.onChange(query);\n props?.onPopoverVisibleChange(false);\n };\n\n const handleRadioChange = (e: any): void => {\n setInstanceSource(e.target.value);\n };\n\n const onSearch = (e: any): void => {\n const value = encode(e.target.value.trim());\n const _objectIdNameList = map(_modelIdNameMap, (value, key) => ({\n text: value,\n value: key,\n }));\n const regex = new RegExp(value, \"ig\");\n const filterObjectIdNameList = _objectIdNameList.filter((v) =>\n regex.test(v.text)\n );\n setObjectIdNameList(filterObjectIdNameList);\n };\n\n const onIconCheckedChange = (checked: boolean): void => {\n if (isAbstract) {\n props?.onIconClicKChange(checked);\n props?.onPopoverVisibleChange(checked);\n } else {\n props?.onIconClicKChange(true);\n props?.onPopoverVisibleChange(true);\n }\n };\n\n const getContent = (): ReactElement => {\n return (\n <>\n <Input\n placeholder={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SEARCH_MODEL}`)}\n suffix={<SearchOutlined />}\n onPressEnter={onSearch}\n data-testid=\"instance-source-search\"\n />\n <div className={styles.content}>\n <Radio.Group value={instanceSource} onChange={handleRadioChange}>\n <Space direction=\"vertical\">\n {objectIdNameList.map(({ text, value }) => (\n <Radio key={value} value={value}>\n {text}\n </Radio>\n ))}\n </Space>\n </Radio.Group>\n </div>\n <div className={styles.footer}>\n <Button\n type=\"text\"\n size=\"small\"\n onClick={onReset}\n disabled={isAbstract}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.RESET}`)}\n </Button>\n <Button type=\"primary\" size=\"small\" onClick={onConfirm}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n </Button>\n </div>\n </>\n );\n };\n return (\n <Popover\n content={getContent()}\n placement=\"bottomRight\"\n overlayStyle={{ width: \"325px\" }}\n visible={visible}\n trigger=\"click\"\n >\n <IconButton\n checked={checked}\n onChange={onIconCheckedChange}\n style={{ marginRight: 10 }}\n type=\"filterInstanceSource\"\n label={\"\"}\n data-testid=\"instance-source-icon\"\n />\n </Popover>\n );\n};\n\nexport default memo(FilterInstanceSource);\n"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
.content {
|
|
2
|
+
margin: 16px 0 8px;
|
|
3
|
+
max-height: 264px;
|
|
4
|
+
overflow-x: hidden;
|
|
5
|
+
}
|
|
6
|
+
.footer {
|
|
7
|
+
margin: 0 -16px -12px;
|
|
8
|
+
padding: 8px 8px 8px 2px;
|
|
9
|
+
background-color: #f3f4f7;
|
|
10
|
+
align-items: center;
|
|
11
|
+
display: flex;
|
|
12
|
+
justify-content: space-between;
|
|
13
|
+
}
|
|
@@ -46,6 +46,14 @@ export function IconButton(props) {
|
|
|
46
46
|
icon: "cube"
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
|
+
case "filterInstanceSource":
|
|
50
|
+
return /*#__PURE__*/React.createElement(GeneralIcon, {
|
|
51
|
+
icon: {
|
|
52
|
+
lib: "antd",
|
|
53
|
+
icon: "filter",
|
|
54
|
+
theme: "filled"
|
|
55
|
+
}
|
|
56
|
+
});
|
|
49
57
|
}
|
|
50
58
|
};
|
|
51
59
|
var getTooltip = () => {
|
|
@@ -64,6 +72,8 @@ export function IconButton(props) {
|
|
|
64
72
|
}) : i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.CLICK_TO_SHOW), {
|
|
65
73
|
label: props.label
|
|
66
74
|
});
|
|
75
|
+
case "filterInstanceSource":
|
|
76
|
+
return i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.CLICK_TO_FILTER_INSTANCE_SOURCE));
|
|
67
77
|
}
|
|
68
78
|
};
|
|
69
79
|
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.js","names":["React","Tooltip","styles","classNames","GeneralIcon","i18n","K","NS_LIBS_CMDB_INSTANCES","IconButton","props","checked","setChecked","useState","useEffect","handleClick","onChange","getIcon","type","lib","icon","prefix","getTooltip","t","CLICK_TO_CANCEL_FILTER","label","CLICK_TO_FILTER","CLICK_TO_HIDDEN","CLICK_TO_SHOW","style","iconBtnBac","selected","disabled"],"sources":["../../../src/instance-list/IconButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { Tooltip } from \"antd\";\nimport styles from \"./IconButton.module.css\";\nimport classNames from \"classnames\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\n\ninterface IconButtonProps {\n checked?: boolean;\n onChange: (checked: boolean) => void;\n type: string;\n style?: Record<string, any>;\n label: string;\n disabled?: boolean;\n}\n\nexport function IconButton(props: IconButtonProps) {\n const [checked, setChecked] = React.useState(false);\n\n React.useEffect(() => {\n setChecked(!!props.checked);\n }, [props]);\n\n const handleClick = (checked: boolean) => {\n setChecked(checked);\n props.onChange(checked);\n };\n\n const getIcon = () => {\n switch (props.type) {\n case \"relateToMe\":\n return (\n <GeneralIcon icon={{ lib: \"fa\", icon: \"user\", prefix: \"fas\" }} />\n );\n case \"showHiddenInfo\":\n return <GeneralIcon icon={{ lib: \"fa\", icon: \"expand-alt\" }} />;\n case \"normalHost\":\n return <GeneralIcon icon={{ lib: \"fa\", icon: \"tv\", prefix: \"fas\" }} />;\n case \"allName\":\n return <GeneralIcon icon={{ lib: \"fa\", icon: \"cube\" }} />;\n }\n };\n const getTooltip = () => {\n switch (props.type) {\n case \"relateToMe\":\n case \"normalHost\":\n case \"allName\":\n return checked\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_CANCEL_FILTER}`, {\n label: props.label,\n })\n : i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_FILTER}`, {\n label: props.label,\n });\n case \"showHiddenInfo\":\n return checked\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_HIDDEN}`, {\n label: props.label,\n })\n : i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SHOW}`, {\n label: props.label,\n });\n }\n };\n\n return (\n <Tooltip placement=\"top\" title={getTooltip()}>\n <a\n style={props.style}\n className={classNames({\n [styles.iconBtnBac]: true,\n [styles.selected]: checked,\n [styles.disabled]: props.disabled,\n })}\n onClick={() => !props.disabled && handleClick(!checked)}\n >\n {getIcon()}\n </a>\n </Tooltip>\n );\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,OAAO,QAAQ,MAAM;AAC9B,OAAOC,MAAM,MAAM,yBAAyB;AAC5C,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,WAAW,QAAQ,6BAA6B;AACzD,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAASC,CAAC,EAAEC,sBAAsB,QAAQ,mBAAmB;AAW7D,OAAO,SAASC,UAAU,CAACC,KAAsB,EAAE;EACjD,IAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGX,KAAK,CAACY,QAAQ,CAAC,KAAK,CAAC;EAEnDZ,KAAK,CAACa,SAAS,CAAC,MAAM;IACpBF,UAAU,CAAC,CAAC,CAACF,KAAK,CAACC,OAAO,CAAC;EAC7B,CAAC,EAAE,CAACD,KAAK,CAAC,CAAC;EAEX,IAAMK,WAAW,GAAIJ,OAAgB,IAAK;IACxCC,UAAU,CAACD,OAAO,CAAC;IACnBD,KAAK,CAACM,QAAQ,CAACL,OAAO,CAAC;EACzB,CAAC;EAED,IAAMM,OAAO,GAAG,MAAM;IACpB,QAAQP,KAAK,CAACQ,IAAI;MAChB,KAAK,YAAY;QACf,oBACE,oBAAC,WAAW;UAAC,IAAI,EAAE;YAAEC,GAAG,EAAE,IAAI;YAAEC,IAAI,EAAE,MAAM;YAAEC,MAAM,EAAE;UAAM;QAAE,EAAG;MAErE,KAAK,gBAAgB;QACnB,oBAAO,oBAAC,WAAW;UAAC,IAAI,EAAE;YAAEF,GAAG,EAAE,IAAI;YAAEC,IAAI,EAAE;UAAa;QAAE,EAAG;MACjE,KAAK,YAAY;QACf,oBAAO,oBAAC,WAAW;UAAC,IAAI,EAAE;YAAED,GAAG,EAAE,IAAI;YAAEC,IAAI,EAAE,IAAI;YAAEC,MAAM,EAAE;UAAM;QAAE,EAAG;MACxE,KAAK,SAAS;QACZ,oBAAO,oBAAC,WAAW;UAAC,IAAI,EAAE;YAAEF,GAAG,EAAE,IAAI;YAAEC,IAAI,EAAE;UAAO;QAAE,EAAG;
|
|
1
|
+
{"version":3,"file":"IconButton.js","names":["React","Tooltip","styles","classNames","GeneralIcon","i18n","K","NS_LIBS_CMDB_INSTANCES","IconButton","props","checked","setChecked","useState","useEffect","handleClick","onChange","getIcon","type","lib","icon","prefix","theme","getTooltip","t","CLICK_TO_CANCEL_FILTER","label","CLICK_TO_FILTER","CLICK_TO_HIDDEN","CLICK_TO_SHOW","CLICK_TO_FILTER_INSTANCE_SOURCE","style","iconBtnBac","selected","disabled"],"sources":["../../../src/instance-list/IconButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { Tooltip } from \"antd\";\nimport styles from \"./IconButton.module.css\";\nimport classNames from \"classnames\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\n\ninterface IconButtonProps {\n checked?: boolean;\n onChange: (checked: boolean) => void;\n type: string;\n style?: Record<string, any>;\n label: string;\n disabled?: boolean;\n}\n\nexport function IconButton(props: IconButtonProps) {\n const [checked, setChecked] = React.useState(false);\n\n React.useEffect(() => {\n setChecked(!!props.checked);\n }, [props]);\n\n const handleClick = (checked: boolean) => {\n setChecked(checked);\n props.onChange(checked);\n };\n\n const getIcon = () => {\n switch (props.type) {\n case \"relateToMe\":\n return (\n <GeneralIcon icon={{ lib: \"fa\", icon: \"user\", prefix: \"fas\" }} />\n );\n case \"showHiddenInfo\":\n return <GeneralIcon icon={{ lib: \"fa\", icon: \"expand-alt\" }} />;\n case \"normalHost\":\n return <GeneralIcon icon={{ lib: \"fa\", icon: \"tv\", prefix: \"fas\" }} />;\n case \"allName\":\n return <GeneralIcon icon={{ lib: \"fa\", icon: \"cube\" }} />;\n case \"filterInstanceSource\":\n return (\n <GeneralIcon\n icon={{ lib: \"antd\", icon: \"filter\", theme: \"filled\" }}\n />\n );\n }\n };\n const getTooltip = () => {\n switch (props.type) {\n case \"relateToMe\":\n case \"normalHost\":\n case \"allName\":\n return checked\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_CANCEL_FILTER}`, {\n label: props.label,\n })\n : i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_FILTER}`, {\n label: props.label,\n });\n case \"showHiddenInfo\":\n return checked\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_HIDDEN}`, {\n label: props.label,\n })\n : i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SHOW}`, {\n label: props.label,\n });\n case \"filterInstanceSource\":\n return i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_FILTER_INSTANCE_SOURCE}`\n );\n }\n };\n\n return (\n <Tooltip placement=\"top\" title={getTooltip()}>\n <a\n style={props.style}\n className={classNames({\n [styles.iconBtnBac]: true,\n [styles.selected]: checked,\n [styles.disabled]: props.disabled,\n })}\n onClick={() => !props.disabled && handleClick(!checked)}\n >\n {getIcon()}\n </a>\n </Tooltip>\n );\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,OAAO,QAAQ,MAAM;AAC9B,OAAOC,MAAM,MAAM,yBAAyB;AAC5C,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,WAAW,QAAQ,6BAA6B;AACzD,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAASC,CAAC,EAAEC,sBAAsB,QAAQ,mBAAmB;AAW7D,OAAO,SAASC,UAAU,CAACC,KAAsB,EAAE;EACjD,IAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGX,KAAK,CAACY,QAAQ,CAAC,KAAK,CAAC;EAEnDZ,KAAK,CAACa,SAAS,CAAC,MAAM;IACpBF,UAAU,CAAC,CAAC,CAACF,KAAK,CAACC,OAAO,CAAC;EAC7B,CAAC,EAAE,CAACD,KAAK,CAAC,CAAC;EAEX,IAAMK,WAAW,GAAIJ,OAAgB,IAAK;IACxCC,UAAU,CAACD,OAAO,CAAC;IACnBD,KAAK,CAACM,QAAQ,CAACL,OAAO,CAAC;EACzB,CAAC;EAED,IAAMM,OAAO,GAAG,MAAM;IACpB,QAAQP,KAAK,CAACQ,IAAI;MAChB,KAAK,YAAY;QACf,oBACE,oBAAC,WAAW;UAAC,IAAI,EAAE;YAAEC,GAAG,EAAE,IAAI;YAAEC,IAAI,EAAE,MAAM;YAAEC,MAAM,EAAE;UAAM;QAAE,EAAG;MAErE,KAAK,gBAAgB;QACnB,oBAAO,oBAAC,WAAW;UAAC,IAAI,EAAE;YAAEF,GAAG,EAAE,IAAI;YAAEC,IAAI,EAAE;UAAa;QAAE,EAAG;MACjE,KAAK,YAAY;QACf,oBAAO,oBAAC,WAAW;UAAC,IAAI,EAAE;YAAED,GAAG,EAAE,IAAI;YAAEC,IAAI,EAAE,IAAI;YAAEC,MAAM,EAAE;UAAM;QAAE,EAAG;MACxE,KAAK,SAAS;QACZ,oBAAO,oBAAC,WAAW;UAAC,IAAI,EAAE;YAAEF,GAAG,EAAE,IAAI;YAAEC,IAAI,EAAE;UAAO;QAAE,EAAG;MAC3D,KAAK,sBAAsB;QACzB,oBACE,oBAAC,WAAW;UACV,IAAI,EAAE;YAAED,GAAG,EAAE,MAAM;YAAEC,IAAI,EAAE,QAAQ;YAAEE,KAAK,EAAE;UAAS;QAAE,EACvD;IACF;EAER,CAAC;EACD,IAAMC,UAAU,GAAG,MAAM;IACvB,QAAQb,KAAK,CAACQ,IAAI;MAChB,KAAK,YAAY;MACjB,KAAK,YAAY;MACjB,KAAK,SAAS;QACZ,OAAOP,OAAO,GACVL,IAAI,CAACkB,CAAC,WAAIhB,sBAAsB,cAAID,CAAC,CAACkB,sBAAsB,GAAI;UAC9DC,KAAK,EAAEhB,KAAK,CAACgB;QACf,CAAC,CAAC,GACFpB,IAAI,CAACkB,CAAC,WAAIhB,sBAAsB,cAAID,CAAC,CAACoB,eAAe,GAAI;UACvDD,KAAK,EAAEhB,KAAK,CAACgB;QACf,CAAC,CAAC;MACR,KAAK,gBAAgB;QACnB,OAAOf,OAAO,GACVL,IAAI,CAACkB,CAAC,WAAIhB,sBAAsB,cAAID,CAAC,CAACqB,eAAe,GAAI;UACvDF,KAAK,EAAEhB,KAAK,CAACgB;QACf,CAAC,CAAC,GACFpB,IAAI,CAACkB,CAAC,WAAIhB,sBAAsB,cAAID,CAAC,CAACsB,aAAa,GAAI;UACrDH,KAAK,EAAEhB,KAAK,CAACgB;QACf,CAAC,CAAC;MACR,KAAK,sBAAsB;QACzB,OAAOpB,IAAI,CAACkB,CAAC,WACRhB,sBAAsB,cAAID,CAAC,CAACuB,+BAA+B,EAC/D;IAAC;EAER,CAAC;EAED,oBACE,oBAAC,OAAO;IAAC,SAAS,EAAC,KAAK;IAAC,KAAK,EAAEP,UAAU;EAAG,gBAC3C;IACE,KAAK,EAAEb,KAAK,CAACqB,KAAM;IACnB,SAAS,EAAE3B,UAAU,CAAC;MACpB,CAACD,MAAM,CAAC6B,UAAU,GAAG,IAAI;MACzB,CAAC7B,MAAM,CAAC8B,QAAQ,GAAGtB,OAAO;MAC1B,CAACR,MAAM,CAAC+B,QAAQ,GAAGxB,KAAK,CAACwB;IAC3B,CAAC,CAAE;IACH,OAAO,EAAE,MAAM,CAACxB,KAAK,CAACwB,QAAQ,IAAInB,WAAW,CAAC,CAACJ,OAAO;EAAE,GAEvDM,OAAO,EAAE,CACR,CACI;AAEd"}
|
|
@@ -17,6 +17,7 @@ import { extraFieldAttrs, CMDB_MODAL_FIELDS_SETTINGS, CMDB_RESOURCE_FIELDS_SETTI
|
|
|
17
17
|
import { ModelAttributeValueType } from "../model-attribute-form-control/ModelAttributeFormControl";
|
|
18
18
|
import { IconButton } from "./IconButton";
|
|
19
19
|
import { changeQueryWithCustomRules } from "../processors";
|
|
20
|
+
import FilterInstanceSource from "./FilterInstanceSource";
|
|
20
21
|
export function joinRelationFieldAndShowkey(fields, modelData, objectList) {
|
|
21
22
|
var attrIdMap = keyBy(modelData.attrList, "id");
|
|
22
23
|
return fields.map(field => {
|
|
@@ -140,10 +141,10 @@ export function translateConditions(aq, idObjectMap, modelData, t) {
|
|
|
140
141
|
});
|
|
141
142
|
var attrAndRelationList = [...modelData.attrList, ...relations];
|
|
142
143
|
if (!isEmpty(aq)) {
|
|
143
|
-
for (var
|
|
144
|
-
var _queries = [
|
|
145
|
-
if (Object.keys(
|
|
146
|
-
_queries =
|
|
144
|
+
for (var _query of aq) {
|
|
145
|
+
var _queries = [_query];
|
|
146
|
+
if (Object.keys(_query)[0] === "$or" || Object.keys(_query)[0] === "$and") {
|
|
147
|
+
_queries = _query[Object.keys(_query)[0]];
|
|
147
148
|
}
|
|
148
149
|
_queries.forEach(query => {
|
|
149
150
|
var _attr;
|
|
@@ -302,6 +303,11 @@ export function LegacyInstanceList(props) {
|
|
|
302
303
|
idNameMap = yield CmdbObjectApi_getIdMapName({
|
|
303
304
|
parentObjectId: modelData.objectId
|
|
304
305
|
});
|
|
306
|
+
props.showFilterInstanceSource && jsonLocalStorage.setItem("instances-sources-objectId-name-map", {
|
|
307
|
+
parentObjectId: modelData.objectId,
|
|
308
|
+
query: props.presetConfigs.query,
|
|
309
|
+
idNameMap
|
|
310
|
+
});
|
|
305
311
|
}
|
|
306
312
|
setInheritanceModelIdNameMap(idNameMap);
|
|
307
313
|
});
|
|
@@ -382,6 +388,9 @@ export function LegacyInstanceList(props) {
|
|
|
382
388
|
pageSize: (_ref4 = (_props$dataSource$pag2 = (_props$dataSource2 = props.dataSource) === null || _props$dataSource2 === void 0 ? void 0 : _props$dataSource2.pageSize) !== null && _props$dataSource$pag2 !== void 0 ? _props$dataSource$pag2 : props.pageSize) !== null && _ref4 !== void 0 ? _ref4 : 10,
|
|
383
389
|
aliveHosts: props.aliveHosts,
|
|
384
390
|
relatedToMe: props.relatedToMe,
|
|
391
|
+
objectIdQuery: props.objectIdQuery,
|
|
392
|
+
filterInstanceSource: props.filterInstanceSource,
|
|
393
|
+
instanceSourcePopoverVisible: false,
|
|
385
394
|
inited: false,
|
|
386
395
|
loading: false,
|
|
387
396
|
failed: false,
|
|
@@ -915,7 +924,36 @@ export function LegacyInstanceList(props) {
|
|
|
915
924
|
(_props$onAdvancedSear2 = props.onAdvancedSearch) === null || _props$onAdvancedSear2 === void 0 ? void 0 : _props$onAdvancedSear2.call(props, queries);
|
|
916
925
|
};
|
|
917
926
|
};
|
|
927
|
+
var onFilterInstanceSourceChange = checked => {
|
|
928
|
+
var _props$onFilterInstan;
|
|
929
|
+
setState({
|
|
930
|
+
filterInstanceSource: checked
|
|
931
|
+
});
|
|
932
|
+
(_props$onFilterInstan = props.onFilterInstanceSourceChange) === null || _props$onFilterInstan === void 0 ? void 0 : _props$onFilterInstan.call(props, checked);
|
|
933
|
+
};
|
|
934
|
+
var onFilterObjectIdChange = objectIdQuery => {
|
|
935
|
+
var _props$onFilterObject;
|
|
936
|
+
setState({
|
|
937
|
+
objectIdQuery: objectIdQuery
|
|
938
|
+
});
|
|
939
|
+
(_props$onFilterObject = props.onFilterObjectIdChange) === null || _props$onFilterObject === void 0 ? void 0 : _props$onFilterObject.call(props, objectIdQuery);
|
|
940
|
+
};
|
|
941
|
+
var onPopoverVisibleChange = visible => {
|
|
942
|
+
setState({
|
|
943
|
+
instanceSourcePopoverVisible: visible
|
|
944
|
+
});
|
|
945
|
+
};
|
|
918
946
|
var conditions = translateConditions(state.aqToShow, idObjectMap, modelData);
|
|
947
|
+
useEffect(() => {
|
|
948
|
+
if (props.showFilterInstanceSource) {
|
|
949
|
+
var aq = initAqToShow(props.aq, modelData, false);
|
|
950
|
+
var aqToShow = props.aqToShow || initAqToShow(props.aq, modelData);
|
|
951
|
+
setState({
|
|
952
|
+
aq,
|
|
953
|
+
aqToShow
|
|
954
|
+
});
|
|
955
|
+
}
|
|
956
|
+
}, [props.aq, props.aqToShow, props.showFilterInstanceSource]);
|
|
919
957
|
return /*#__PURE__*/React.createElement(Spin, {
|
|
920
958
|
spinning: state.loading
|
|
921
959
|
}, state.inited && !state.failed ? /*#__PURE__*/React.createElement(React.Fragment, null, (!props.searchDisabled || !props.advancedSearchDisabled || !props.relatedToMeDisabled || !props.aliveHostsDisabled || !props.moreButtonsDisabled) && /*#__PURE__*/React.createElement("div", {
|
|
@@ -980,6 +1018,16 @@ export function LegacyInstanceList(props) {
|
|
|
980
1018
|
})
|
|
981
1019
|
}, " ", i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.CLEAR)))), ((_props$extraOperateBr = props.extraOperateBricks) === null || _props$extraOperateBr === void 0 ? void 0 : _props$extraOperateBr.useBrick) && /*#__PURE__*/React.createElement(BrickAsComponent, {
|
|
982
1020
|
useBrick: props.extraOperateBricks.useBrick
|
|
1021
|
+
}), props.showFilterInstanceSource && /*#__PURE__*/React.createElement(FilterInstanceSource, {
|
|
1022
|
+
visible: state.instanceSourcePopoverVisible,
|
|
1023
|
+
checked: state.filterInstanceSource,
|
|
1024
|
+
onPopoverVisibleChange: onPopoverVisibleChange,
|
|
1025
|
+
onIconClicKChange: onFilterInstanceSourceChange,
|
|
1026
|
+
onChange: onFilterObjectIdChange,
|
|
1027
|
+
inheritanceModelIdNameMap: inheritanceModelIdNameMap,
|
|
1028
|
+
value: state.objectIdQuery,
|
|
1029
|
+
jsonLocalStorage: jsonLocalStorage,
|
|
1030
|
+
isAbstract: modelData.isAbstract
|
|
983
1031
|
}), props.objectId === "HOST" && props.enableSearchByApp && /*#__PURE__*/React.createElement(Button, {
|
|
984
1032
|
type: "link",
|
|
985
1033
|
onClick: toggleSearchMode
|