@next-libs/cmdb-instances 7.13.9 → 7.14.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/i18n/constants.js +1 -0
- package/dist/cjs/i18n/constants.js.map +1 -1
- package/dist/cjs/i18n/locales/en.js +1 -0
- package/dist/cjs/i18n/locales/en.js.map +1 -1
- package/dist/cjs/i18n/locales/zh.js +1 -0
- package/dist/cjs/i18n/locales/zh.js.map +1 -1
- package/dist/cjs/instance-list/InstanceList.js +67 -28
- package/dist/cjs/instance-list/InstanceList.js.map +1 -1
- package/dist/cjs/instance-list-table/DisplaySettings.js +0 -1
- package/dist/cjs/instance-list-table/DisplaySettings.js.map +1 -1
- package/dist/cjs/instance-list-table/DisplaySettingsModal.js +36 -1
- package/dist/cjs/instance-list-table/DisplaySettingsModal.js.map +1 -1
- package/dist/cjs/instance-list-table/MoreButtonsContainer.js +2 -0
- package/dist/cjs/instance-list-table/MoreButtonsContainer.js.map +1 -1
- package/dist/esm/i18n/constants.js +1 -0
- package/dist/esm/i18n/constants.js.map +1 -1
- package/dist/esm/i18n/locales/en.js +1 -0
- package/dist/esm/i18n/locales/en.js.map +1 -1
- package/dist/esm/i18n/locales/zh.js +1 -0
- package/dist/esm/i18n/locales/zh.js.map +1 -1
- package/dist/esm/instance-list/InstanceList.js +68 -28
- package/dist/esm/instance-list/InstanceList.js.map +1 -1
- package/dist/esm/instance-list-table/DisplaySettings.js +0 -1
- package/dist/esm/instance-list-table/DisplaySettings.js.map +1 -1
- package/dist/esm/instance-list-table/DisplaySettingsModal.js +37 -2
- package/dist/esm/instance-list-table/DisplaySettingsModal.js.map +1 -1
- package/dist/esm/instance-list-table/MoreButtonsContainer.js +2 -0
- package/dist/esm/instance-list-table/MoreButtonsContainer.js.map +1 -1
- package/dist/types/i18n/constants.d.ts +1 -0
- package/dist/types/instance-list-table/DisplaySettingsModal.d.ts +3 -0
- package/dist/types/instance-list-table/MoreButtonsContainer.d.ts +2 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplaySettings.js","names":["React","debounce","remove","without","get","isEmpty","extraFieldAttrs","Checkbox","Col","Divider","Input","Row","getBatchEditableFields","CMDB_RESOURCE_FIELDS_SETTINGS","i18n","K","NS_LIBS_CMDB_INSTANCES","DisplaySettings","Component","constructor","props","filteredList","attrAndRelationList","q","state","trim","toLowerCase","filter","attr","name","includes","setState","event","value","target","debounceHandleSearch","modelData","hideColumns","view","hide_columns","ignoredFields","objectId","forEach","hideColumn","id","map","attribute","nextFields","currentFields","slice","extraDisabledFieldSet","Set","extraDisabledFields","filterColTag","componentDidUpdate","prevProps","handleChecked","fieldsKey","fields","checked","concat","onChange","renderCheckbox","field","disabled","extraDisabledField","has","padding","stopPropagation","width","wordBreak","render","extraAttrIds","extraFieldAttr","attrs","extraAttrs","marginTop","t","FIELD_SETTINGS","SEARCH_BY_FIELD_NAME","handleSearchChange","minHeight","maxHeight","overflow","length"],"sources":["../../../src/instance-list-table/DisplaySettings.tsx"],"sourcesContent":["import React from \"react\";\nimport { debounce, remove, without, get, isEmpty } from \"lodash\";\nimport { extraFieldAttrs } from \"./constants\";\nimport { Checkbox, Col, Divider, Input, Row } from \"antd\";\nimport {\n getBatchEditableFields,\n CMDB_RESOURCE_FIELDS_SETTINGS,\n} from \"@next-libs/cmdb-utils\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nexport interface DisplaySettingsProps {\n currentFields: string[];\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n objectId?: string;\n extraDisabledField?: string;\n extraDisabledFields?: string[];\n onChange?(fields: string[]): void;\n}\n\ninterface DisplaySettingsState {\n nextFields: string[];\n q: string;\n filteredList: any;\n extraDisabledFieldSet: Set<string>;\n}\n\nexport class DisplaySettings extends React.Component<\n DisplaySettingsProps,\n DisplaySettingsState\n> {\n debounceHandleSearch: () => void;\n attrAndRelationList: { id: string; name: string }[] = [];\n\n constructor(props: DisplaySettingsProps) {\n super(props);\n const attrAndRelationList = getBatchEditableFields(this.props.modelData);\n let hideColumns = this.props.modelData.view.hide_columns || [];\n const ignoredFields = get(\n CMDB_RESOURCE_FIELDS_SETTINGS,\n `ignoredFields.${this.props.modelData.objectId}`,\n []\n );\n hideColumns = [...hideColumns, ...ignoredFields];\n\n if (!isEmpty(hideColumns)) {\n hideColumns.forEach((hideColumn: string) => {\n remove(attrAndRelationList, (attr) => attr.id === hideColumn);\n });\n }\n\n this.attrAndRelationList = attrAndRelationList.map((attribute: any) => ({\n id: attribute.id,\n name: attribute.name,\n }));\n\n this.state = {\n nextFields: props.currentFields ? props.currentFields.slice() : [],\n q: \"\",\n filteredList: this.attrAndRelationList,\n extraDisabledFieldSet: new Set(props.extraDisabledFields),\n };\n this.debounceHandleSearch = debounce(this.filterColTag, 300);\n }\n\n componentDidUpdate(prevProps: DisplaySettingsProps) {\n if (this.props.currentFields !== prevProps.currentFields) {\n this.setState({\n nextFields: this.props.currentFields\n ? this.props.currentFields.slice()\n : [],\n });\n }\n\n if (this.props.extraDisabledFields !== prevProps.extraDisabledFields) {\n this.setState({\n extraDisabledFieldSet: new Set(this.props.extraDisabledFields),\n });\n }\n }\n\n handleChecked(event: any, attr: any) {\n const fieldsKey = \"nextFields\";\n const fields = event.target.checked\n ? this.state[fieldsKey].concat(attr.id)\n : without(this.state[fieldsKey], attr.id);\n\n this.setState({ [fieldsKey]: fields });\n this.props.onChange?.(fields);\n }\n\n renderCheckbox(attr: any, field: \"nextFields\" | \"otherFields\") {\n const fieldsKey = \"nextFields\";\n const checked = this.state[fieldsKey].includes(attr.id);\n const disabled =\n attr.id === this.props.extraDisabledField ||\n this.state.extraDisabledFieldSet.has(attr.id);\n return (\n <Col\n key={attr.id}\n span={8}\n style={{ padding: 5 }}\n onClick={(event) => event.stopPropagation()}\n >\n <Checkbox\n name={field}\n style={{\n width: \"100%\",\n wordBreak: \"break-all\",\n }}\n checked={checked}\n disabled={disabled}\n onChange={(event) => this.handleChecked(event, attr)}\n data-testid={`${attr.id}-checkbox`}\n >\n {attr.name}\n </Checkbox>\n </Col>\n );\n }\n\n filterColTag = () => {\n let filteredList = this.attrAndRelationList;\n const q = this.state.q.trim().toLowerCase();\n if (q) {\n filteredList = filteredList.filter((attr) => {\n return attr.name.toLowerCase().includes(q);\n });\n }\n this.setState({\n filteredList,\n });\n };\n\n handleSearchChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n this.setState({\n q: value,\n });\n this.debounceHandleSearch();\n };\n\n render() {\n const filteredList = this.state.filteredList;\n const extraAttrIds = extraFieldAttrs.map(\n (extraFieldAttr) => extraFieldAttr.id\n );\n const attrs = filteredList.filter(\n (attr: any) => !extraAttrIds.includes(attr.id)\n );\n const extraAttrs = filteredList.filter((attr: any) =>\n extraAttrIds.includes(attr.id)\n );\n\n return (\n <>\n <Divider orientation=\"left\" plain style={{ marginTop: 0 }}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FIELD_SETTINGS}`)}\n </Divider>\n <div>\n <Input.Search\n value={this.state.q}\n placeholder={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.SEARCH_BY_FIELD_NAME}`\n )}\n onChange={this.handleSearchChange}\n style={{ width: 200 }}\n data-testid=\"search-input\"\n />\n </div>\n <div\n style={{\n marginTop: 15,\n minHeight: 200,\n maxHeight: 500,\n overflow: \"auto\",\n }}\n className=\"nextFields\"\n >\n <Row>\n {attrs.map((attr: any) => this.renderCheckbox(attr, \"nextFields\"))}\n {extraAttrs.length > 0 ? (\n <>\n <Divider />\n {extraAttrs.map((attr: any) =>\n this.renderCheckbox(attr, \"nextFields\")\n )}\n </>\n ) : null}\n </Row>\n </div>\n </>\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DisplaySettings.js","names":["React","debounce","remove","without","get","isEmpty","extraFieldAttrs","Checkbox","Col","Divider","Input","Row","getBatchEditableFields","CMDB_RESOURCE_FIELDS_SETTINGS","i18n","K","NS_LIBS_CMDB_INSTANCES","DisplaySettings","Component","constructor","props","filteredList","attrAndRelationList","q","state","trim","toLowerCase","filter","attr","name","includes","setState","event","value","target","debounceHandleSearch","modelData","hideColumns","view","hide_columns","ignoredFields","objectId","forEach","hideColumn","id","map","attribute","nextFields","currentFields","slice","extraDisabledFieldSet","Set","extraDisabledFields","filterColTag","componentDidUpdate","prevProps","handleChecked","fieldsKey","fields","checked","concat","onChange","renderCheckbox","field","disabled","extraDisabledField","has","padding","stopPropagation","width","wordBreak","render","extraAttrIds","extraFieldAttr","attrs","extraAttrs","marginTop","t","FIELD_SETTINGS","SEARCH_BY_FIELD_NAME","handleSearchChange","maxHeight","overflow","length"],"sources":["../../../src/instance-list-table/DisplaySettings.tsx"],"sourcesContent":["import React from \"react\";\nimport { debounce, remove, without, get, isEmpty } from \"lodash\";\nimport { extraFieldAttrs } from \"./constants\";\nimport { Checkbox, Col, Divider, Input, Row } from \"antd\";\nimport {\n getBatchEditableFields,\n CMDB_RESOURCE_FIELDS_SETTINGS,\n} from \"@next-libs/cmdb-utils\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nexport interface DisplaySettingsProps {\n currentFields: string[];\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n objectId?: string;\n extraDisabledField?: string;\n extraDisabledFields?: string[];\n onChange?(fields: string[]): void;\n}\n\ninterface DisplaySettingsState {\n nextFields: string[];\n q: string;\n filteredList: any;\n extraDisabledFieldSet: Set<string>;\n}\n\nexport class DisplaySettings extends React.Component<\n DisplaySettingsProps,\n DisplaySettingsState\n> {\n debounceHandleSearch: () => void;\n attrAndRelationList: { id: string; name: string }[] = [];\n\n constructor(props: DisplaySettingsProps) {\n super(props);\n const attrAndRelationList = getBatchEditableFields(this.props.modelData);\n let hideColumns = this.props.modelData.view.hide_columns || [];\n const ignoredFields = get(\n CMDB_RESOURCE_FIELDS_SETTINGS,\n `ignoredFields.${this.props.modelData.objectId}`,\n []\n );\n hideColumns = [...hideColumns, ...ignoredFields];\n\n if (!isEmpty(hideColumns)) {\n hideColumns.forEach((hideColumn: string) => {\n remove(attrAndRelationList, (attr) => attr.id === hideColumn);\n });\n }\n\n this.attrAndRelationList = attrAndRelationList.map((attribute: any) => ({\n id: attribute.id,\n name: attribute.name,\n }));\n\n this.state = {\n nextFields: props.currentFields ? props.currentFields.slice() : [],\n q: \"\",\n filteredList: this.attrAndRelationList,\n extraDisabledFieldSet: new Set(props.extraDisabledFields),\n };\n this.debounceHandleSearch = debounce(this.filterColTag, 300);\n }\n\n componentDidUpdate(prevProps: DisplaySettingsProps) {\n if (this.props.currentFields !== prevProps.currentFields) {\n this.setState({\n nextFields: this.props.currentFields\n ? this.props.currentFields.slice()\n : [],\n });\n }\n\n if (this.props.extraDisabledFields !== prevProps.extraDisabledFields) {\n this.setState({\n extraDisabledFieldSet: new Set(this.props.extraDisabledFields),\n });\n }\n }\n\n handleChecked(event: any, attr: any) {\n const fieldsKey = \"nextFields\";\n const fields = event.target.checked\n ? this.state[fieldsKey].concat(attr.id)\n : without(this.state[fieldsKey], attr.id);\n\n this.setState({ [fieldsKey]: fields });\n this.props.onChange?.(fields);\n }\n\n renderCheckbox(attr: any, field: \"nextFields\" | \"otherFields\") {\n const fieldsKey = \"nextFields\";\n const checked = this.state[fieldsKey].includes(attr.id);\n const disabled =\n attr.id === this.props.extraDisabledField ||\n this.state.extraDisabledFieldSet.has(attr.id);\n return (\n <Col\n key={attr.id}\n span={8}\n style={{ padding: 5 }}\n onClick={(event) => event.stopPropagation()}\n >\n <Checkbox\n name={field}\n style={{\n width: \"100%\",\n wordBreak: \"break-all\",\n }}\n checked={checked}\n disabled={disabled}\n onChange={(event) => this.handleChecked(event, attr)}\n data-testid={`${attr.id}-checkbox`}\n >\n {attr.name}\n </Checkbox>\n </Col>\n );\n }\n\n filterColTag = () => {\n let filteredList = this.attrAndRelationList;\n const q = this.state.q.trim().toLowerCase();\n if (q) {\n filteredList = filteredList.filter((attr) => {\n return attr.name.toLowerCase().includes(q);\n });\n }\n this.setState({\n filteredList,\n });\n };\n\n handleSearchChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n this.setState({\n q: value,\n });\n this.debounceHandleSearch();\n };\n\n render() {\n const filteredList = this.state.filteredList;\n const extraAttrIds = extraFieldAttrs.map(\n (extraFieldAttr) => extraFieldAttr.id\n );\n const attrs = filteredList.filter(\n (attr: any) => !extraAttrIds.includes(attr.id)\n );\n const extraAttrs = filteredList.filter((attr: any) =>\n extraAttrIds.includes(attr.id)\n );\n\n return (\n <>\n <Divider orientation=\"left\" plain style={{ marginTop: 0 }}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FIELD_SETTINGS}`)}\n </Divider>\n <div>\n <Input.Search\n value={this.state.q}\n placeholder={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.SEARCH_BY_FIELD_NAME}`\n )}\n onChange={this.handleSearchChange}\n style={{ width: 200 }}\n data-testid=\"search-input\"\n />\n </div>\n <div\n style={{\n marginTop: 15,\n maxHeight: 500,\n overflow: \"auto\",\n }}\n className=\"nextFields\"\n >\n <Row>\n {attrs.map((attr: any) => this.renderCheckbox(attr, \"nextFields\"))}\n {extraAttrs.length > 0 ? (\n <>\n <Divider />\n {extraAttrs.map((attr: any) =>\n this.renderCheckbox(attr, \"nextFields\")\n )}\n </>\n ) : null}\n </Row>\n </div>\n </>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import { Button, Modal } from "antd";
|
|
1
|
+
import { Button, Modal, Dropdown, Menu } from "antd";
|
|
2
2
|
import React, { useMemo, useState } from "react";
|
|
3
3
|
import { useTranslation } from "react-i18next";
|
|
4
4
|
import { K, NS_LIBS_CMDB_INSTANCES } from "../i18n/constants";
|
|
5
5
|
import { DisplaySettings } from "./DisplaySettings";
|
|
6
|
+
import { getAuth } from "@next-core/brick-kit";
|
|
7
|
+
import { EllipsisOutlined } from "@ant-design/icons";
|
|
6
8
|
export function DisplaySettingsModal(props) {
|
|
7
9
|
var {
|
|
8
10
|
visible,
|
|
9
11
|
objectId,
|
|
10
12
|
modelData,
|
|
13
|
+
saveFieldsBackend,
|
|
14
|
+
useExternalCmdbApi,
|
|
11
15
|
currentFields,
|
|
12
16
|
defaultFields,
|
|
13
17
|
extraDisabledField,
|
|
@@ -32,6 +36,29 @@ export function DisplaySettingsModal(props) {
|
|
|
32
36
|
setNextFields(currentFields ? [...currentFields] : []);
|
|
33
37
|
onCancel === null || onCancel === void 0 ? void 0 : onCancel();
|
|
34
38
|
};
|
|
39
|
+
var handleDropdownMenuClick = e => {
|
|
40
|
+
// istanbul ignore next
|
|
41
|
+
if (e.key === "restore-default") {
|
|
42
|
+
handleReset();
|
|
43
|
+
} else {
|
|
44
|
+
// istanbul ignore next
|
|
45
|
+
// 管理员将现在选中的字段设置为默认显示, 不会影响到当前列表展示字段,所以需要类似【取消】操作重置字段。
|
|
46
|
+
props === null || props === void 0 ? void 0 : props.onOk({
|
|
47
|
+
fields: nextFields,
|
|
48
|
+
isReset: false,
|
|
49
|
+
isAdminSetDisplay: true
|
|
50
|
+
});
|
|
51
|
+
setNextFields(currentFields ? [...currentFields] : []);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
var showIsAdminSetDefault = getAuth().isAdmin;
|
|
55
|
+
var dropdownMenuItems = /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement(Menu.Item, {
|
|
56
|
+
key: "set-default-display",
|
|
57
|
+
onClick: handleDropdownMenuClick
|
|
58
|
+
}, t(K.DEFAULT_DISPLAY)), /*#__PURE__*/React.createElement(Menu.Item, {
|
|
59
|
+
key: "restore-default",
|
|
60
|
+
onClick: handleDropdownMenuClick
|
|
61
|
+
}, t(K.RESTORE_DEFAULT)));
|
|
35
62
|
return /*#__PURE__*/React.createElement(Modal, {
|
|
36
63
|
title: t(K.DISPLAY_SETTINGS),
|
|
37
64
|
visible: visible,
|
|
@@ -39,7 +66,15 @@ export function DisplaySettingsModal(props) {
|
|
|
39
66
|
style: {
|
|
40
67
|
display: "flex"
|
|
41
68
|
}
|
|
42
|
-
},
|
|
69
|
+
}, showIsAdminSetDefault && saveFieldsBackend && !useExternalCmdbApi ? /*#__PURE__*/React.createElement(Dropdown, {
|
|
70
|
+
overlay: dropdownMenuItems,
|
|
71
|
+
placement: "topLeft",
|
|
72
|
+
trigger: ["click"],
|
|
73
|
+
"data-testid": "admin-set-display-dropdown"
|
|
74
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
75
|
+
type: "default",
|
|
76
|
+
icon: /*#__PURE__*/React.createElement(EllipsisOutlined, null)
|
|
77
|
+
})) : /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, {
|
|
43
78
|
type: "default",
|
|
44
79
|
onClick: handleReset,
|
|
45
80
|
"data-testid": "reset-button"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplaySettingsModal.js","names":["Button","Modal","React","useMemo","useState","useTranslation","K","NS_LIBS_CMDB_INSTANCES","DisplaySettings","DisplaySettingsModal","props","visible","objectId","modelData","currentFields","defaultFields","extraDisabledField","extraDisabledFields","onOk","onCancel","t","nextFields","setNextFields","count","filter","v","length","handleReset","fields","slice","isReset","handleCancel","
|
|
1
|
+
{"version":3,"file":"DisplaySettingsModal.js","names":["Button","Modal","Dropdown","Menu","React","useMemo","useState","useTranslation","K","NS_LIBS_CMDB_INSTANCES","DisplaySettings","getAuth","EllipsisOutlined","DisplaySettingsModal","props","visible","objectId","modelData","saveFieldsBackend","useExternalCmdbApi","currentFields","defaultFields","extraDisabledField","extraDisabledFields","onOk","onCancel","t","nextFields","setNextFields","count","filter","v","length","handleReset","fields","slice","isReset","handleCancel","handleDropdownMenuClick","e","key","isAdminSetDisplay","showIsAdminSetDefault","isAdmin","dropdownMenuItems","DEFAULT_DISPLAY","RESTORE_DEFAULT","DISPLAY_SETTINGS","display","marginLeft","marginRight","CANCEL","CONFIRM"],"sources":["../../../src/instance-list-table/DisplaySettingsModal.tsx"],"sourcesContent":["import { Button, Modal, Dropdown, Menu } from \"antd\";\nimport React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { DisplaySettings, DisplaySettingsProps } from \"./DisplaySettings\";\nimport { getAuth } from \"@next-core/brick-kit\";\nimport { EllipsisOutlined } from \"@ant-design/icons\";\n\nexport interface DisplaySettingsModalData {\n fields: string[];\n isReset?: boolean;\n isAdminSetDisplay?: boolean;\n}\n\nexport interface DisplaySettingsModalProps extends DisplaySettingsProps {\n visible?: boolean;\n defaultFields?: string[];\n saveFieldsBackend?: boolean;\n useExternalCmdbApi?: boolean;\n onOk?(data: DisplaySettingsModalData): void;\n onCancel?(): void;\n}\n\nexport function DisplaySettingsModal(\n props: DisplaySettingsModalProps\n): React.ReactElement {\n const {\n visible,\n objectId,\n modelData,\n saveFieldsBackend,\n useExternalCmdbApi,\n currentFields,\n defaultFields,\n extraDisabledField,\n extraDisabledFields,\n onOk,\n onCancel,\n } = props;\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n const [nextFields, setNextFields] = useState<string[]>(currentFields);\n const count = useMemo(\n () => nextFields?.filter((v) => v !== \"_object_id\").length,\n [nextFields]\n );\n\n const handleReset = (): void => {\n const fields = defaultFields ? defaultFields.slice() : [];\n\n setNextFields(fields);\n onOk?.({ fields, isReset: true });\n };\n\n const handleCancel = (): void => {\n setNextFields(currentFields ? [...currentFields] : []);\n onCancel?.();\n };\n\n const handleDropdownMenuClick = (e: any): void => {\n // istanbul ignore next\n if (e.key === \"restore-default\") {\n handleReset();\n } else {\n // istanbul ignore next\n // 管理员将现在选中的字段设置为默认显示, 不会影响到当前列表展示字段,所以需要类似【取消】操作重置字段。\n props?.onOk({\n fields: nextFields,\n isReset: false,\n isAdminSetDisplay: true,\n });\n setNextFields(currentFields ? [...currentFields] : []);\n }\n };\n\n const showIsAdminSetDefault = getAuth().isAdmin;\n\n const dropdownMenuItems = (\n <Menu>\n <Menu.Item key=\"set-default-display\" onClick={handleDropdownMenuClick}>\n {t(K.DEFAULT_DISPLAY)}\n </Menu.Item>\n <Menu.Item key=\"restore-default\" onClick={handleDropdownMenuClick}>\n {t(K.RESTORE_DEFAULT)}\n </Menu.Item>\n </Menu>\n );\n return (\n <Modal\n title={t(K.DISPLAY_SETTINGS)}\n visible={visible}\n footer={\n <div style={{ display: \"flex\" }}>\n {showIsAdminSetDefault && saveFieldsBackend && !useExternalCmdbApi ? (\n <Dropdown\n overlay={dropdownMenuItems}\n placement=\"topLeft\"\n trigger={[\"click\"]}\n data-testid=\"admin-set-display-dropdown\"\n >\n <Button type=\"default\" icon={<EllipsisOutlined />}></Button>\n </Dropdown>\n ) : (\n <div>\n <Button\n type=\"default\"\n onClick={handleReset}\n data-testid=\"reset-button\"\n >\n {t(K.RESTORE_DEFAULT)}\n </Button>\n </div>\n )}\n <div style={{ marginLeft: \"auto\" }}>\n <Button\n type=\"text\"\n onClick={handleCancel}\n style={{ marginRight: 10 }}\n data-testid=\"cancel-button\"\n >\n {t(K.CANCEL)}\n </Button>\n <Button\n type=\"primary\"\n onClick={() => props?.onOk({ fields: nextFields })}\n disabled={count === 0}\n data-testid=\"ok-button\"\n >\n {t(K.CONFIRM)}\n </Button>\n </div>\n </div>\n }\n onCancel={handleCancel}\n destroyOnClose={true}\n width={780}\n centered={true}\n >\n <DisplaySettings\n objectId={objectId}\n modelData={modelData}\n currentFields={nextFields}\n extraDisabledField={extraDisabledField}\n extraDisabledFields={extraDisabledFields}\n onChange={(fields) => setNextFields(fields)}\n />\n </Modal>\n );\n}\n"],"mappings":"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"}
|
|
@@ -50,6 +50,8 @@ export class MoreButtonsContainer extends React.Component {
|
|
|
50
50
|
modelData: this.props.modelData,
|
|
51
51
|
onCancel: this.handleCancel,
|
|
52
52
|
onOk: this.handleOk,
|
|
53
|
+
saveFieldsBackend: this.props.saveFieldsBackend,
|
|
54
|
+
useExternalCmdbApi: this.props.useExternalCmdbApi,
|
|
53
55
|
defaultFields: this.props.defaultFields,
|
|
54
56
|
extraDisabledField: this.props.extraDisabledField
|
|
55
57
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MoreButtonsContainer.js","names":["React","EllipsisOutlined","SettingOutlined","PushpinOutlined","Dropdown","Menu","Button","i18n","K","NS_LIBS_CMDB_INSTANCES","styles","DisplaySettingsModal","MoreButtonsContainer","Component","constructor","props","setState","visible","data","onConfirm","handleSettingButtonClick","bind","state","render","menu","t","DISPLAY_SETTINGS","showFixedHeader","handleToggleFixHeader","fixedHeader","CANCEL_FIX_HEADER","FIX_HEADER","moreButtonsContainer","fieldIds","modelData","handleCancel","handleOk","defaultFields","extraDisabledField"],"sources":["../../../src/instance-list-table/MoreButtonsContainer.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n EllipsisOutlined,\n SettingOutlined,\n PushpinOutlined,\n} from \"@ant-design/icons\";\nimport { Dropdown, Menu, Button } from \"antd\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport styles from \"./InstanceListTable.module.css\";\nimport {\n DisplaySettingsModal,\n DisplaySettingsModalData,\n} from \"./DisplaySettingsModal\";\ninterface MoreButtonsContainerProps {\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n currentFields?: string[];\n defaultFields: string[];\n onConfirm: (data: DisplaySettingsModalData) => void;\n onHideSettings?: () => void;\n fieldIds?: string[];\n extraDisabledField?: string;\n handleToggleFixHeader?: () => void;\n fixedHeader?: boolean;\n showFixedHeader?: boolean;\n}\n\ninterface MoreButtonsContainerState {\n visible?: boolean;\n}\n\nexport class MoreButtonsContainer extends React.Component<\n MoreButtonsContainerProps,\n MoreButtonsContainerState\n> {\n constructor(props: MoreButtonsContainerProps) {\n super(props);\n\n this.handleSettingButtonClick = this.handleSettingButtonClick.bind(this);\n\n this.state = {\n visible: false,\n };\n }\n\n handleSettingButtonClick = () => {\n this.setState({\n visible: true,\n });\n };\n\n handleOk = (data: DisplaySettingsModalData): void => {\n this.setState({\n visible: false,\n });\n this.props?.onConfirm(data);\n };\n\n handleCancel = () => {\n this.setState({\n visible: false,\n });\n };\n render(): React.ReactNode {\n const menu = (\n <Menu>\n <Menu.Item onClick={this.handleSettingButtonClick}>\n <SettingOutlined />\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.DISPLAY_SETTINGS}`)}\n </Menu.Item>\n {this.props.showFixedHeader && (\n <Menu.Item onClick={this.props.handleToggleFixHeader}>\n <PushpinOutlined />\n {this.props.fixedHeader\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL_FIX_HEADER}`)\n : i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FIX_HEADER}`)}\n </Menu.Item>\n )}\n </Menu>\n );\n\n return (\n <>\n <Dropdown\n overlay={menu}\n trigger={[\"click\"]}\n className={styles.moreButtonsContainer}\n >\n <Button shape=\"circle\" icon={<EllipsisOutlined />} />\n </Dropdown>\n <DisplaySettingsModal\n visible={this.state.visible}\n currentFields={this.props.fieldIds}\n modelData={this.props.modelData}\n onCancel={this.handleCancel}\n onOk={this.handleOk}\n defaultFields={this.props.defaultFields}\n extraDisabledField={this.props.extraDisabledField}\n />\n </>\n );\n }\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,gBAAgB,EAChBC,eAAe,EACfC,eAAe,QACV,mBAAmB;AAC1B,SAASC,QAAQ,EAAEC,IAAI,EAAEC,MAAM,QAAQ,MAAM;AAE7C,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAASC,CAAC,EAAEC,sBAAsB,QAAQ,mBAAmB;AAC7D,OAAOC,MAAM,MAAM,gCAAgC;AACnD,SACEC,oBAAoB,QAEf,wBAAwB;
|
|
1
|
+
{"version":3,"file":"MoreButtonsContainer.js","names":["React","EllipsisOutlined","SettingOutlined","PushpinOutlined","Dropdown","Menu","Button","i18n","K","NS_LIBS_CMDB_INSTANCES","styles","DisplaySettingsModal","MoreButtonsContainer","Component","constructor","props","setState","visible","data","onConfirm","handleSettingButtonClick","bind","state","render","menu","t","DISPLAY_SETTINGS","showFixedHeader","handleToggleFixHeader","fixedHeader","CANCEL_FIX_HEADER","FIX_HEADER","moreButtonsContainer","fieldIds","modelData","handleCancel","handleOk","saveFieldsBackend","useExternalCmdbApi","defaultFields","extraDisabledField"],"sources":["../../../src/instance-list-table/MoreButtonsContainer.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n EllipsisOutlined,\n SettingOutlined,\n PushpinOutlined,\n} from \"@ant-design/icons\";\nimport { Dropdown, Menu, Button } from \"antd\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport styles from \"./InstanceListTable.module.css\";\nimport {\n DisplaySettingsModal,\n DisplaySettingsModalData,\n} from \"./DisplaySettingsModal\";\ninterface MoreButtonsContainerProps {\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n currentFields?: string[];\n defaultFields: string[];\n saveFieldsBackend?: boolean;\n useExternalCmdbApi?: boolean;\n onConfirm: (data: DisplaySettingsModalData) => void;\n onHideSettings?: () => void;\n fieldIds?: string[];\n extraDisabledField?: string;\n handleToggleFixHeader?: () => void;\n fixedHeader?: boolean;\n showFixedHeader?: boolean;\n}\n\ninterface MoreButtonsContainerState {\n visible?: boolean;\n}\n\nexport class MoreButtonsContainer extends React.Component<\n MoreButtonsContainerProps,\n MoreButtonsContainerState\n> {\n constructor(props: MoreButtonsContainerProps) {\n super(props);\n\n this.handleSettingButtonClick = this.handleSettingButtonClick.bind(this);\n\n this.state = {\n visible: false,\n };\n }\n\n handleSettingButtonClick = () => {\n this.setState({\n visible: true,\n });\n };\n\n handleOk = (data: DisplaySettingsModalData): void => {\n this.setState({\n visible: false,\n });\n this.props?.onConfirm(data);\n };\n\n handleCancel = () => {\n this.setState({\n visible: false,\n });\n };\n render(): React.ReactNode {\n const menu = (\n <Menu>\n <Menu.Item onClick={this.handleSettingButtonClick}>\n <SettingOutlined />\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.DISPLAY_SETTINGS}`)}\n </Menu.Item>\n {this.props.showFixedHeader && (\n <Menu.Item onClick={this.props.handleToggleFixHeader}>\n <PushpinOutlined />\n {this.props.fixedHeader\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL_FIX_HEADER}`)\n : i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FIX_HEADER}`)}\n </Menu.Item>\n )}\n </Menu>\n );\n\n return (\n <>\n <Dropdown\n overlay={menu}\n trigger={[\"click\"]}\n className={styles.moreButtonsContainer}\n >\n <Button shape=\"circle\" icon={<EllipsisOutlined />} />\n </Dropdown>\n <DisplaySettingsModal\n visible={this.state.visible}\n currentFields={this.props.fieldIds}\n modelData={this.props.modelData}\n onCancel={this.handleCancel}\n onOk={this.handleOk}\n saveFieldsBackend={this.props.saveFieldsBackend}\n useExternalCmdbApi={this.props.useExternalCmdbApi}\n defaultFields={this.props.defaultFields}\n extraDisabledField={this.props.extraDisabledField}\n />\n </>\n );\n }\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,gBAAgB,EAChBC,eAAe,EACfC,eAAe,QACV,mBAAmB;AAC1B,SAASC,QAAQ,EAAEC,IAAI,EAAEC,MAAM,QAAQ,MAAM;AAE7C,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAASC,CAAC,EAAEC,sBAAsB,QAAQ,mBAAmB;AAC7D,OAAOC,MAAM,MAAM,gCAAgC;AACnD,SACEC,oBAAoB,QAEf,wBAAwB;AAoB/B,OAAO,MAAMC,oBAAoB,SAASZ,KAAK,CAACa,SAAS,CAGvD;EACAC,WAAW,CAACC,KAAgC,EAAE;IAC5C,KAAK,CAACA,KAAK,CAAC;IAAC,kDASY,MAAM;MAC/B,IAAI,CAACC,QAAQ,CAAC;QACZC,OAAO,EAAE;MACX,CAAC,CAAC;IACJ,CAAC;IAAA,kCAEWC,IAA8B,IAAW;MAAA;MACnD,IAAI,CAACF,QAAQ,CAAC;QACZC,OAAO,EAAE;MACX,CAAC,CAAC;MACF,mBAAI,CAACF,KAAK,gDAAV,YAAYI,SAAS,CAACD,IAAI,CAAC;IAC7B,CAAC;IAAA,sCAEc,MAAM;MACnB,IAAI,CAACF,QAAQ,CAAC;QACZC,OAAO,EAAE;MACX,CAAC,CAAC;IACJ,CAAC;IAxBC,IAAI,CAACG,wBAAwB,GAAG,IAAI,CAACA,wBAAwB,CAACC,IAAI,CAAC,IAAI,CAAC;IAExE,IAAI,CAACC,KAAK,GAAG;MACXL,OAAO,EAAE;IACX,CAAC;EACH;EAoBAM,MAAM,GAAoB;IACxB,IAAMC,IAAI,gBACR,oBAAC,IAAI,qBACH,oBAAC,IAAI,CAAC,IAAI;MAAC,OAAO,EAAE,IAAI,CAACJ;IAAyB,gBAChD,oBAAC,eAAe,OAAG,EAClBb,IAAI,CAACkB,CAAC,WAAIhB,sBAAsB,cAAID,CAAC,CAACkB,gBAAgB,EAAG,CAChD,EACX,IAAI,CAACX,KAAK,CAACY,eAAe,iBACzB,oBAAC,IAAI,CAAC,IAAI;MAAC,OAAO,EAAE,IAAI,CAACZ,KAAK,CAACa;IAAsB,gBACnD,oBAAC,eAAe,OAAG,EAClB,IAAI,CAACb,KAAK,CAACc,WAAW,GACnBtB,IAAI,CAACkB,CAAC,WAAIhB,sBAAsB,cAAID,CAAC,CAACsB,iBAAiB,EAAG,GAC1DvB,IAAI,CAACkB,CAAC,WAAIhB,sBAAsB,cAAID,CAAC,CAACuB,UAAU,EAAG,CAE1D,CAEJ;IAED,oBACE,uDACE,oBAAC,QAAQ;MACP,OAAO,EAAEP,IAAK;MACd,OAAO,EAAE,CAAC,OAAO,CAAE;MACnB,SAAS,EAAEd,MAAM,CAACsB;IAAqB,gBAEvC,oBAAC,MAAM;MAAC,KAAK,EAAC,QAAQ;MAAC,IAAI,eAAE,oBAAC,gBAAgB;IAAI,EAAG,CAC5C,eACX,oBAAC,oBAAoB;MACnB,OAAO,EAAE,IAAI,CAACV,KAAK,CAACL,OAAQ;MAC5B,aAAa,EAAE,IAAI,CAACF,KAAK,CAACkB,QAAS;MACnC,SAAS,EAAE,IAAI,CAAClB,KAAK,CAACmB,SAAU;MAChC,QAAQ,EAAE,IAAI,CAACC,YAAa;MAC5B,IAAI,EAAE,IAAI,CAACC,QAAS;MACpB,iBAAiB,EAAE,IAAI,CAACrB,KAAK,CAACsB,iBAAkB;MAChD,kBAAkB,EAAE,IAAI,CAACtB,KAAK,CAACuB,kBAAmB;MAClD,aAAa,EAAE,IAAI,CAACvB,KAAK,CAACwB,aAAc;MACxC,kBAAkB,EAAE,IAAI,CAACxB,KAAK,CAACyB;IAAmB,EAClD,CACD;EAEP;AACF"}
|
|
@@ -42,6 +42,7 @@ export declare enum K {
|
|
|
42
42
|
FIELD_SETTINGS = "FIELD_SETTINGS",
|
|
43
43
|
SEARCH_BY_FIELD_NAME = "SEARCH_BY_FIELD_NAME",
|
|
44
44
|
RESTORE_DEFAULT = "RESTORE_DEFAULT",
|
|
45
|
+
DEFAULT_DISPLAY = "DEFAULT_DISPLAY",
|
|
45
46
|
CONFIRM = "CONFIRM",
|
|
46
47
|
ONLY_ONE_INSTANCE_TO_ALLOWED = "ONLY_ONE_INSTANCE_TO_ALLOWED",
|
|
47
48
|
OPERATOR_CONTAIN_DEFINE = "OPERATOR_CONTAIN_DEFINE",
|
|
@@ -3,10 +3,13 @@ import { DisplaySettingsProps } from "./DisplaySettings";
|
|
|
3
3
|
export interface DisplaySettingsModalData {
|
|
4
4
|
fields: string[];
|
|
5
5
|
isReset?: boolean;
|
|
6
|
+
isAdminSetDisplay?: boolean;
|
|
6
7
|
}
|
|
7
8
|
export interface DisplaySettingsModalProps extends DisplaySettingsProps {
|
|
8
9
|
visible?: boolean;
|
|
9
10
|
defaultFields?: string[];
|
|
11
|
+
saveFieldsBackend?: boolean;
|
|
12
|
+
useExternalCmdbApi?: boolean;
|
|
10
13
|
onOk?(data: DisplaySettingsModalData): void;
|
|
11
14
|
onCancel?(): void;
|
|
12
15
|
}
|
|
@@ -5,6 +5,8 @@ interface MoreButtonsContainerProps {
|
|
|
5
5
|
modelData: Partial<CmdbModels.ModelCmdbObject>;
|
|
6
6
|
currentFields?: string[];
|
|
7
7
|
defaultFields: string[];
|
|
8
|
+
saveFieldsBackend?: boolean;
|
|
9
|
+
useExternalCmdbApi?: boolean;
|
|
8
10
|
onConfirm: (data: DisplaySettingsModalData) => void;
|
|
9
11
|
onHideSettings?: () => void;
|
|
10
12
|
fieldIds?: string[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-libs/cmdb-instances",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.14.0",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"homepage": "https://github.com/easyops-cn/next-libs/tree/master/libs/cmdb-instances",
|
|
6
6
|
"license": "GPL-3.0",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"immutability-helper": "^3.1.1",
|
|
51
51
|
"marked": "^2.1.3"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "a93f63ca24afba20e82e7f54770e2c1aa15f8f40"
|
|
54
54
|
}
|