@next-libs/cmdb-instances 7.28.9 → 7.29.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 +3 -1
- package/dist/cjs/cmdb-instance-select/CmdbInstanceSelect.js.map +1 -1
- package/dist/cjs/i18n/constants.js +8 -3
- package/dist/cjs/i18n/constants.js.map +1 -1
- package/dist/cjs/i18n/locales/en.js +9 -4
- package/dist/cjs/i18n/locales/en.js.map +1 -1
- package/dist/cjs/i18n/locales/zh.js +9 -4
- package/dist/cjs/i18n/locales/zh.js.map +1 -1
- package/dist/cjs/instance-detail/InstanceDetail.js +2 -2
- package/dist/cjs/instance-detail/InstanceDetail.js.map +1 -1
- package/dist/cjs/instance-detail/constants/index.js +7 -3
- package/dist/cjs/instance-detail/constants/index.js.map +1 -1
- package/dist/cjs/instance-list/InstanceList.js +33 -10
- package/dist/cjs/instance-list/InstanceList.js.map +1 -1
- package/dist/cjs/instance-list/constants.js +2 -2
- package/dist/cjs/instance-list/constants.js.map +1 -1
- package/dist/cjs/instance-list-table/DisplaySettings.js +16 -9
- package/dist/cjs/instance-list-table/DisplaySettings.js.map +1 -1
- package/dist/cjs/instance-list-table/DisplaySettingsModal.js +1 -1
- package/dist/cjs/instance-list-table/DisplaySettingsModal.js.map +1 -1
- package/dist/cjs/instance-list-table/InstanceListTable.js +6 -2
- package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/cjs/instance-list-table/constants.js +12 -8
- package/dist/cjs/instance-list-table/constants.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-instance-select/CmdbInstanceSelect.js +3 -1
- package/dist/esm/cmdb-instance-select/CmdbInstanceSelect.js.map +1 -1
- package/dist/esm/i18n/constants.js +8 -3
- package/dist/esm/i18n/constants.js.map +1 -1
- package/dist/esm/i18n/locales/en.js +9 -4
- package/dist/esm/i18n/locales/en.js.map +1 -1
- package/dist/esm/i18n/locales/zh.js +9 -4
- package/dist/esm/i18n/locales/zh.js.map +1 -1
- package/dist/esm/instance-detail/InstanceDetail.js +2 -2
- package/dist/esm/instance-detail/InstanceDetail.js.map +1 -1
- package/dist/esm/instance-detail/constants/index.js +6 -3
- package/dist/esm/instance-detail/constants/index.js.map +1 -1
- package/dist/esm/instance-list/InstanceList.js +34 -11
- package/dist/esm/instance-list/InstanceList.js.map +1 -1
- package/dist/esm/instance-list/constants.js +2 -2
- package/dist/esm/instance-list/constants.js.map +1 -1
- package/dist/esm/instance-list-table/DisplaySettings.js +14 -7
- package/dist/esm/instance-list-table/DisplaySettings.js.map +1 -1
- package/dist/esm/instance-list-table/DisplaySettingsModal.js +1 -1
- package/dist/esm/instance-list-table/DisplaySettingsModal.js.map +1 -1
- package/dist/esm/instance-list-table/InstanceListTable.js +6 -2
- package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/esm/instance-list-table/constants.js +11 -8
- package/dist/esm/instance-list-table/constants.js.map +1 -1
- package/dist/esm/model-attribute-form/ModelAttributeForm.js +3 -1
- package/dist/esm/model-attribute-form/ModelAttributeForm.js.map +1 -1
- package/dist/types/i18n/constants.d.ts +9 -4
- package/dist/types/instance-detail/constants/index.d.ts +3 -3
- package/dist/types/instance-list/InstanceList.d.ts +6 -1
- package/dist/types/instance-list-table/DisplaySettings.d.ts +7 -3
- package/dist/types/instance-list-table/InstanceListTable.d.ts +1 -0
- package/package.json +2 -2
|
@@ -53,7 +53,7 @@ export var extraFieldAttrs = [{
|
|
|
53
53
|
}
|
|
54
54
|
}, {
|
|
55
55
|
id: "ctime",
|
|
56
|
-
name: i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.
|
|
56
|
+
name: i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.CREATE_TIME)),
|
|
57
57
|
isRelation: false,
|
|
58
58
|
value: {
|
|
59
59
|
type: "datetime"
|
|
@@ -67,7 +67,7 @@ export var extraFieldAttrs = [{
|
|
|
67
67
|
}
|
|
68
68
|
}, {
|
|
69
69
|
id: "mtime",
|
|
70
|
-
name: i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.
|
|
70
|
+
name: i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.MODIFY_TIME)),
|
|
71
71
|
isRelation: false,
|
|
72
72
|
value: {
|
|
73
73
|
type: "datetime"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["i18n","K","NS_LIBS_CMDB_INSTANCES","addResourceBundle","CMDB_RESOURCE_FIELDS_SETTINGS","defaultFields","APP","USER","USER_GROUP","HOST","fixedFields","ignoredFields","BUSINESS","CLUSTER","CMDB_MODAL_FIELDS_SETTINGS","MAX_DEFAULT_FIELDS_COUNT","MAX_DEFAULT_MODAL_FIELDS_COUNT","otherFieldIds","extraFieldAttrs","id","name","t","concat","CREATOR","isRelation","value","type","
|
|
1
|
+
{"version":3,"file":"constants.js","names":["i18n","K","NS_LIBS_CMDB_INSTANCES","addResourceBundle","CMDB_RESOURCE_FIELDS_SETTINGS","defaultFields","APP","USER","USER_GROUP","HOST","fixedFields","ignoredFields","BUSINESS","CLUSTER","CMDB_MODAL_FIELDS_SETTINGS","MAX_DEFAULT_FIELDS_COUNT","MAX_DEFAULT_MODAL_FIELDS_COUNT","otherFieldIds","extraFieldAttrs","id","name","t","concat","CREATOR","isRelation","value","type","CREATE_TIME","MODIFIER","MODIFY_TIME","objectListCache","Map"],"sources":["../../../src/instance-list/constants.ts"],"sourcesContent":["import { ModelObjectAttrValue } from \"@next-sdk/cmdb-sdk/dist/types/model/cmdb\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { addResourceBundle } from \"../i18n\";\naddResourceBundle();\n\nexport const CMDB_RESOURCE_FIELDS_SETTINGS = {\n defaultFields: {\n APP: [\"name\", \"businesses\", \"owner\", \"developer\", \"tester\"],\n USER: [\"name\", \"nickname\", \"user_email\", \"user_tel\"],\n USER_GROUP: [\"name\", \"_members\"],\n \"APP-HOST\": [\"ip\", \"hostname\", \"status\"],\n HOST: [\n \"hostname\",\n \"_agentStatus\",\n \"ip\",\n \"memSize\",\n \"osDistro\",\n \"cpuModel\",\n \"owner\",\n ],\n },\n fixedFields: {\n APP: [\"name\"],\n USER: [\"name\"],\n USER_GROUP: [\"name\"],\n \"APP-HOST\": [\"ip\"],\n HOST: [\"hostname\", \"ip\"],\n },\n ignoredFields: {\n APP: [\n /* !start: only community edition\n 'businesses',\n !end: only community edition */\n \"_packageList\",\n \"appId\",\n \"packageId\",\n \"installPath\",\n \"runUser\",\n \"businessId\",\n ],\n \"APP-HOST\": [\"deviceId\"],\n BUSINESS: [\"businessId\"],\n CLUSTER: [\"_packageList\", \"clusterId\", \"packageId\"],\n HOST: [\"deviceId\"],\n },\n};\n\nexport const CMDB_MODAL_FIELDS_SETTINGS = {\n defaultFields: {\n HOST: [\"ip\", \"hostname\", \"status\", \"owner\", \"_agentStatus\"],\n },\n fixedFields: {\n HOST: [\"ip\"],\n },\n ignoredFields: CMDB_RESOURCE_FIELDS_SETTINGS.ignoredFields,\n};\nexport const MAX_DEFAULT_FIELDS_COUNT = 8;\nexport const MAX_DEFAULT_MODAL_FIELDS_COUNT = 4;\n\nexport enum otherFieldIds {\n autoBreakLine = \"_autoBreakLine_\",\n}\n\nexport interface extraFieldAttrType {\n id?: string;\n name?: string;\n isRelation?: boolean;\n value?: Partial<ModelObjectAttrValue>;\n}\n\nexport const extraFieldAttrs: extraFieldAttrType[] = [\n {\n id: \"creator\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATOR}`),\n isRelation: false,\n value: {\n type: \"str\",\n },\n },\n {\n id: \"ctime\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_TIME}`),\n isRelation: false,\n value: {\n type: \"datetime\",\n },\n },\n {\n id: \"modifier\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MODIFIER}`),\n isRelation: false,\n value: {\n type: \"str\",\n },\n },\n {\n id: \"mtime\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MODIFY_TIME}`),\n isRelation: false,\n value: {\n type: \"datetime\",\n },\n },\n];\n\nexport const objectListCache = new Map<string, any>();\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,15 +5,15 @@ import { debounce, remove, without, get, isEmpty, groupBy, mapValues } from "lod
|
|
|
5
5
|
import { extraFieldAttrs } from "./constants";
|
|
6
6
|
import { Checkbox, Col, Divider, Input, Row } from "antd";
|
|
7
7
|
import { getBatchEditableFields, CMDB_RESOURCE_FIELDS_SETTINGS } from "@next-libs/cmdb-utils";
|
|
8
|
-
import
|
|
8
|
+
import { withTranslation } from "react-i18next";
|
|
9
9
|
import { K, NS_LIBS_CMDB_INSTANCES } from "../i18n/constants";
|
|
10
|
-
export class
|
|
10
|
+
export class LegacyDisplaySettings extends React.Component {
|
|
11
11
|
constructor(props) {
|
|
12
12
|
super(props);
|
|
13
13
|
_defineProperty(this, "debounceHandleSearch", void 0);
|
|
14
14
|
_defineProperty(this, "attrAndRelationList", []);
|
|
15
15
|
_defineProperty(this, "getCAategoryOrders", () => {
|
|
16
|
-
var categoryOrders = [...new Set([...get(this.props.modelData, "view.attr_category_order", []),
|
|
16
|
+
var categoryOrders = [...new Set([...get(this.props.modelData, "view.attr_category_order", []), this.props.t(K.OTHERS)])]; //分组排序
|
|
17
17
|
return categoryOrders;
|
|
18
18
|
});
|
|
19
19
|
_defineProperty(this, "filterColTag", () => {
|
|
@@ -49,6 +49,9 @@ export class DisplaySettings extends React.Component {
|
|
|
49
49
|
});
|
|
50
50
|
this.debounceHandleSearch();
|
|
51
51
|
});
|
|
52
|
+
var {
|
|
53
|
+
t
|
|
54
|
+
} = props;
|
|
52
55
|
var attrAndRelationList = getBatchEditableFields(this.props.modelData);
|
|
53
56
|
var hideColumns = this.props.modelData.view.hide_columns || [];
|
|
54
57
|
var ignoredFields = get(CMDB_RESOURCE_FIELDS_SETTINGS, "ignoredFields.".concat(this.props.modelData.objectId), []);
|
|
@@ -61,7 +64,7 @@ export class DisplaySettings extends React.Component {
|
|
|
61
64
|
this.attrAndRelationList = attrAndRelationList.map(attribute => ({
|
|
62
65
|
id: attribute.id,
|
|
63
66
|
name: attribute.name,
|
|
64
|
-
category: get(attribute, "tag[0]", get(attribute, "left_tags[0]"
|
|
67
|
+
category: get(attribute, "tag[0]", get(attribute, "left_tags[0]") || t(K.OTHERS))
|
|
65
68
|
}));
|
|
66
69
|
var _filteredList = this.attrAndRelationList;
|
|
67
70
|
var extraAttrIds = extraFieldAttrs.map(extraFieldAttr => extraFieldAttr.id);
|
|
@@ -182,6 +185,9 @@ export class DisplaySettings extends React.Component {
|
|
|
182
185
|
}, attr.name));
|
|
183
186
|
}
|
|
184
187
|
render() {
|
|
188
|
+
var {
|
|
189
|
+
t
|
|
190
|
+
} = this.props;
|
|
185
191
|
var filteredList = this.state.filteredList;
|
|
186
192
|
var extraAttrIds = extraFieldAttrs.map(extraFieldAttr => extraFieldAttr.id);
|
|
187
193
|
var attrs = filteredList.filter(attr => !extraAttrIds.includes(attr.id));
|
|
@@ -194,9 +200,9 @@ export class DisplaySettings extends React.Component {
|
|
|
194
200
|
style: {
|
|
195
201
|
marginTop: 0
|
|
196
202
|
}
|
|
197
|
-
},
|
|
203
|
+
}, t(K.FIELD_SETTINGS)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Input.Search, {
|
|
198
204
|
value: this.state.q,
|
|
199
|
-
placeholder:
|
|
205
|
+
placeholder: t(K.SEARCH_BY_FIELD_NAME),
|
|
200
206
|
onChange: this.handleSearchChange,
|
|
201
207
|
style: {
|
|
202
208
|
width: 200
|
|
@@ -211,7 +217,7 @@ export class DisplaySettings extends React.Component {
|
|
|
211
217
|
checked: this.state.selectAllFields,
|
|
212
218
|
onChange: e => this.handleSelectAllFields(e, [...attrs, ...extraAttrs]),
|
|
213
219
|
"data-testid": "checkbox-select-all"
|
|
214
|
-
},
|
|
220
|
+
}, t(K.SELECT_ALL)))), /*#__PURE__*/React.createElement("div", {
|
|
215
221
|
style: {
|
|
216
222
|
marginTop: 15,
|
|
217
223
|
maxHeight: 500,
|
|
@@ -244,4 +250,5 @@ export class DisplaySettings extends React.Component {
|
|
|
244
250
|
}), extraAttrs.length > 0 ? /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Divider, null), extraAttrs.map(attr => this.renderCheckbox(attr, "nextFields"))) : null));
|
|
245
251
|
}
|
|
246
252
|
}
|
|
253
|
+
export var DisplaySettings = withTranslation(NS_LIBS_CMDB_INSTANCES)(LegacyDisplaySettings);
|
|
247
254
|
//# sourceMappingURL=DisplaySettings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplaySettings.js","names":["React","debounce","remove","without","get","isEmpty","groupBy","mapValues","extraFieldAttrs","Checkbox","Col","Divider","Input","Row","getBatchEditableFields","CMDB_RESOURCE_FIELDS_SETTINGS","i18n","K","NS_LIBS_CMDB_INSTANCES","DisplaySettings","Component","constructor","props","_defineProperty","categoryOrders","Set","modelData","filteredList","attrAndRelationList","q","state","trim","toLowerCase","filter","attr","name","includes","fieldsKey","attrs","getCAategoryOrders","categoryMap","selectAllFields","length","allFieldsLength","selectCategoryAllFieldsMap","reduce","acc","item","_categoryMap$item","categoryAttrIds","map","id","every","setState","event","value","target","debounceHandleSearch","hideColumns","view","hide_columns","ignoredFields","concat","objectId","forEach","hideColumn","attribute","category","extraAttrIds","extraFieldAttr","extraAttrs","nextFields","currentFields","slice","_categoryMap$item2","extraDisabledFieldSet","extraDisabledFields","filterColTag","componentDidUpdate","prevProps","handleChecked","categoryData","_this$props$onChange","_this$props","fields","checked","attrsIds","_objectSpread","onChange","call","handlecCategoryChecked","_this$props$onChange2","_this$props2","handleSelectAllFields","allFields","_this$props$onChange3","_this$props3","renderCheckbox","field","disabled","extraDisabledField","has","createElement","key","span","style","padding","onClick","stopPropagation","width","wordBreak","render","Fragment","orientation","plain","marginTop","t","FIELD_SETTINGS","Search","placeholder","SEARCH_BY_FIELD_NAME","handleSearchChange","paddingLeft","verticalAlign","e","SELECT_ALL","maxHeight","overflow","className","index","_categoryMap$category","categoryAttrs","marginBottom"],"sources":["../../../src/instance-list-table/DisplaySettings.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n debounce,\n remove,\n without,\n get,\n isEmpty,\n groupBy,\n mapValues,\n} 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 selectAllFields: boolean;\n selectCategoryAllFieldsMap: Record<string, boolean>;\n allFieldsLength: number;\n}\n\nexport class DisplaySettings extends React.Component<\n DisplaySettingsProps,\n DisplaySettingsState\n> {\n debounceHandleSearch: () => void;\n attrAndRelationList: { id: string; name: string; category: 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 category: get(\n attribute,\n \"tag[0]\",\n get(attribute, \"left_tags[0]\", \"其他\") || \"其他\"\n ),\n }));\n\n const filteredList = this.attrAndRelationList;\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 const nextFields = props.currentFields ? props.currentFields.slice() : [];\n\n const allFieldsLength = [...attrs, ...extraAttrs].length;\n const selectAllFields =\n [...new Set([...nextFields])].length === allFieldsLength;\n\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(attrs, \"category\");\n const selectCategoryAllFieldsMap: Record<string, boolean> = {};\n categoryOrders.reduce((acc, item) => {\n const categoryAttrIds = categoryMap[item]?.map((attr) => attr.id);\n acc[item] = selectAllFields\n ? selectAllFields\n : !!categoryAttrIds?.every((id) => nextFields.includes(id));\n return acc;\n }, selectCategoryAllFieldsMap);\n this.state = {\n nextFields,\n q: \"\",\n filteredList: this.attrAndRelationList,\n extraDisabledFieldSet: new Set(props.extraDisabledFields),\n selectAllFields,\n allFieldsLength,\n selectCategoryAllFieldsMap,\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, categoryData?: any) {\n const fieldsKey = \"nextFields\";\n const { category, attrs } = categoryData ?? {};\n const fields = event.target.checked\n ? this.state[fieldsKey].concat(attr.id)\n : without(this.state[fieldsKey], attr.id);\n if (category) {\n const attrsIds = attrs.map((attr: any) => attr.id);\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n selectCategoryAllFieldsMap: {\n ...this.state.selectCategoryAllFieldsMap,\n [category]: attrsIds.every((id: string) => fields.includes(id)),\n },\n });\n } else {\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n });\n }\n\n this.props.onChange?.(fields);\n }\n\n handlecCategoryChecked(event: any, categoryData: any) {\n const checked = event.target.checked;\n const fieldsKey = \"nextFields\";\n const { category, attrs } = categoryData;\n const attrsIds = attrs.map((attr: any) => attr.id);\n const fields = [\n ...new Set([\n ...(checked\n ? this.state[fieldsKey].concat(attrsIds)\n : without(this.state[fieldsKey], ...attrsIds)),\n ]),\n ];\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n selectCategoryAllFieldsMap: {\n ...this.state.selectCategoryAllFieldsMap,\n [category]: checked,\n },\n });\n this.props.onChange?.(fields);\n }\n\n handleSelectAllFields(event: any, allFields: any[]) {\n const fieldsKey = \"nextFields\";\n const checked = event.target.checked;\n const fields = checked ? allFields.map((attr) => attr.id) : [];\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: event.target.checked,\n selectCategoryAllFieldsMap: mapValues(\n this.state.selectCategoryAllFieldsMap,\n () => checked\n ),\n });\n this.props.onChange?.(fields);\n }\n\n renderCheckbox(\n attr: any,\n field: \"nextFields\" | \"otherFields\",\n categoryData?: any\n ) {\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, categoryData)}\n data-testid={`${attr.id}-checkbox`}\n >\n {attr.name}\n </Checkbox>\n </Col>\n );\n }\n getCAategoryOrders = () => {\n const categoryOrders = [\n ...new Set([\n ...get(this.props.modelData, \"view.attr_category_order\", []),\n \"其他\",\n ]),\n ]; //分组排序\n return categoryOrders;\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 const fieldsKey = \"nextFields\";\n const attrs = this.state[fieldsKey];\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(filteredList, \"category\");\n const selectAllFields = attrs.length === this.state.allFieldsLength;\n const selectCategoryAllFieldsMap: Record<string, boolean> = {};\n categoryOrders.reduce((acc, item) => {\n const categoryAttrIds = categoryMap[item]?.map((attr) => attr.id);\n acc[item] = selectAllFields\n ? selectAllFields\n : !!categoryAttrIds?.every((id) => attrs.includes(id));\n return acc;\n }, selectCategoryAllFieldsMap);\n this.setState({\n filteredList,\n selectAllFields,\n selectCategoryAllFieldsMap,\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 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 categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(attrs, \"category\");\n const extraAttrs = filteredList.filter((attr: any) =>\n extraAttrIds.includes(attr.id)\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\n <span style={{ paddingLeft: 15, verticalAlign: \"sub\" }}>\n <Checkbox\n checked={this.state.selectAllFields}\n onChange={(e) =>\n this.handleSelectAllFields(e, [...attrs, ...extraAttrs])\n }\n data-testid={`checkbox-select-all`}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SELECT_ALL}`)}\n </Checkbox>\n </span>\n </div>\n <div\n style={{\n marginTop: 15,\n maxHeight: 500,\n overflow: \"auto\",\n }}\n className=\"nextFields\"\n >\n {categoryOrders?.map((category, index) => {\n const categoryAttrs = categoryMap?.[category] ?? [];\n return categoryAttrs.length > 0 ? (\n <div\n style={{\n marginBottom: index === categoryOrders.length - 1 ? 0 : 15,\n }}\n >\n <Checkbox\n checked={this.state.selectCategoryAllFieldsMap[category]}\n onChange={(e) => {\n this.handlecCategoryChecked(e, {\n category,\n attrs: categoryAttrs,\n });\n }}\n >\n {category}\n </Checkbox>\n <Row style={{ padding: \"12px 12px 0px 12px\" }}>\n {categoryAttrs.map((attr: any) =>\n this.renderCheckbox(attr, \"nextFields\", {\n category,\n attrs: categoryAttrs,\n })\n )}\n </Row>\n </div>\n ) : null;\n })}\n {extraAttrs.length > 0 ? (\n <Row>\n <Divider />\n {extraAttrs.map((attr: any) =>\n this.renderCheckbox(attr, \"nextFields\")\n )}\n </Row>\n ) : null}\n </div>\n </>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DisplaySettings.js","names":["React","debounce","remove","without","get","isEmpty","groupBy","mapValues","extraFieldAttrs","Checkbox","Col","Divider","Input","Row","getBatchEditableFields","CMDB_RESOURCE_FIELDS_SETTINGS","withTranslation","K","NS_LIBS_CMDB_INSTANCES","LegacyDisplaySettings","Component","constructor","props","_defineProperty","categoryOrders","Set","modelData","t","OTHERS","filteredList","attrAndRelationList","q","state","trim","toLowerCase","filter","attr","name","includes","fieldsKey","attrs","getCAategoryOrders","categoryMap","selectAllFields","length","allFieldsLength","selectCategoryAllFieldsMap","reduce","acc","item","_categoryMap$item","categoryAttrIds","map","id","every","setState","event","value","target","debounceHandleSearch","hideColumns","view","hide_columns","ignoredFields","concat","objectId","forEach","hideColumn","attribute","category","extraAttrIds","extraFieldAttr","extraAttrs","nextFields","currentFields","slice","_categoryMap$item2","extraDisabledFieldSet","extraDisabledFields","filterColTag","componentDidUpdate","prevProps","handleChecked","categoryData","_this$props$onChange","_this$props","fields","checked","attrsIds","_objectSpread","onChange","call","handlecCategoryChecked","_this$props$onChange2","_this$props2","handleSelectAllFields","allFields","_this$props$onChange3","_this$props3","renderCheckbox","field","disabled","extraDisabledField","has","createElement","key","span","style","padding","onClick","stopPropagation","width","wordBreak","render","Fragment","orientation","plain","marginTop","FIELD_SETTINGS","Search","placeholder","SEARCH_BY_FIELD_NAME","handleSearchChange","paddingLeft","verticalAlign","e","SELECT_ALL","maxHeight","overflow","className","index","_categoryMap$category","categoryAttrs","marginBottom","DisplaySettings"],"sources":["../../../src/instance-list-table/DisplaySettings.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n debounce,\n remove,\n without,\n get,\n isEmpty,\n groupBy,\n mapValues,\n} 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 { WithTranslation, withTranslation } from \"react-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\nexport interface WithTranslationDisplaySettingsProps\n extends DisplaySettingsProps,\n WithTranslation {}\n\ninterface DisplaySettingsState {\n nextFields: string[];\n q: string;\n filteredList: any;\n extraDisabledFieldSet: Set<string>;\n selectAllFields: boolean;\n selectCategoryAllFieldsMap: Record<string, boolean>;\n allFieldsLength: number;\n}\n\nexport class LegacyDisplaySettings extends React.Component<\n WithTranslationDisplaySettingsProps,\n DisplaySettingsState\n> {\n debounceHandleSearch: () => void;\n attrAndRelationList: { id: string; name: string; category: string }[] = [];\n\n constructor(props: WithTranslationDisplaySettingsProps) {\n super(props);\n const { t } = 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 category: get(\n attribute,\n \"tag[0]\",\n get(attribute, \"left_tags[0]\") || t(K.OTHERS)\n ),\n }));\n\n const filteredList = this.attrAndRelationList;\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 const nextFields = props.currentFields ? props.currentFields.slice() : [];\n\n const allFieldsLength = [...attrs, ...extraAttrs].length;\n const selectAllFields =\n [...new Set([...nextFields])].length === allFieldsLength;\n\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(attrs, \"category\");\n const selectCategoryAllFieldsMap: Record<string, boolean> = {};\n categoryOrders.reduce((acc, item) => {\n const categoryAttrIds = categoryMap[item]?.map((attr) => attr.id);\n acc[item] = selectAllFields\n ? selectAllFields\n : !!categoryAttrIds?.every((id) => nextFields.includes(id));\n return acc;\n }, selectCategoryAllFieldsMap);\n this.state = {\n nextFields,\n q: \"\",\n filteredList: this.attrAndRelationList,\n extraDisabledFieldSet: new Set(props.extraDisabledFields),\n selectAllFields,\n allFieldsLength,\n selectCategoryAllFieldsMap,\n };\n this.debounceHandleSearch = debounce(this.filterColTag, 300);\n }\n\n componentDidUpdate(prevProps: WithTranslationDisplaySettingsProps) {\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, categoryData?: any) {\n const fieldsKey = \"nextFields\";\n const { category, attrs } = categoryData ?? {};\n const fields = event.target.checked\n ? this.state[fieldsKey].concat(attr.id)\n : without(this.state[fieldsKey], attr.id);\n if (category) {\n const attrsIds = attrs.map((attr: any) => attr.id);\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n selectCategoryAllFieldsMap: {\n ...this.state.selectCategoryAllFieldsMap,\n [category]: attrsIds.every((id: string) => fields.includes(id)),\n },\n });\n } else {\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n });\n }\n\n this.props.onChange?.(fields);\n }\n\n handlecCategoryChecked(event: any, categoryData: any) {\n const checked = event.target.checked;\n const fieldsKey = \"nextFields\";\n const { category, attrs } = categoryData;\n const attrsIds = attrs.map((attr: any) => attr.id);\n const fields = [\n ...new Set([\n ...(checked\n ? this.state[fieldsKey].concat(attrsIds)\n : without(this.state[fieldsKey], ...attrsIds)),\n ]),\n ];\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n selectCategoryAllFieldsMap: {\n ...this.state.selectCategoryAllFieldsMap,\n [category]: checked,\n },\n });\n this.props.onChange?.(fields);\n }\n\n handleSelectAllFields(event: any, allFields: any[]) {\n const fieldsKey = \"nextFields\";\n const checked = event.target.checked;\n const fields = checked ? allFields.map((attr) => attr.id) : [];\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: event.target.checked,\n selectCategoryAllFieldsMap: mapValues(\n this.state.selectCategoryAllFieldsMap,\n () => checked\n ),\n });\n this.props.onChange?.(fields);\n }\n\n renderCheckbox(\n attr: any,\n field: \"nextFields\" | \"otherFields\",\n categoryData?: any\n ) {\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, categoryData)}\n data-testid={`${attr.id}-checkbox`}\n >\n {attr.name}\n </Checkbox>\n </Col>\n );\n }\n getCAategoryOrders = () => {\n const categoryOrders = [\n ...new Set([\n ...get(this.props.modelData, \"view.attr_category_order\", []),\n this.props.t(K.OTHERS),\n ]),\n ]; //分组排序\n return categoryOrders;\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 const fieldsKey = \"nextFields\";\n const attrs = this.state[fieldsKey];\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(filteredList, \"category\");\n const selectAllFields = attrs.length === this.state.allFieldsLength;\n const selectCategoryAllFieldsMap: Record<string, boolean> = {};\n categoryOrders.reduce((acc, item) => {\n const categoryAttrIds = categoryMap[item]?.map((attr) => attr.id);\n acc[item] = selectAllFields\n ? selectAllFields\n : !!categoryAttrIds?.every((id) => attrs.includes(id));\n return acc;\n }, selectCategoryAllFieldsMap);\n this.setState({\n filteredList,\n selectAllFields,\n selectCategoryAllFieldsMap,\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 render() {\n const { t } = this.props;\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 categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(attrs, \"category\");\n const extraAttrs = filteredList.filter((attr: any) =>\n extraAttrIds.includes(attr.id)\n );\n return (\n <>\n <Divider orientation=\"left\" plain style={{ marginTop: 0 }}>\n {t(K.FIELD_SETTINGS)}\n </Divider>\n <div>\n <Input.Search\n value={this.state.q}\n placeholder={t(K.SEARCH_BY_FIELD_NAME)}\n onChange={this.handleSearchChange}\n style={{ width: 200 }}\n data-testid=\"search-input\"\n />\n\n <span style={{ paddingLeft: 15, verticalAlign: \"sub\" }}>\n <Checkbox\n checked={this.state.selectAllFields}\n onChange={(e) =>\n this.handleSelectAllFields(e, [...attrs, ...extraAttrs])\n }\n data-testid={`checkbox-select-all`}\n >\n {t(K.SELECT_ALL)}\n </Checkbox>\n </span>\n </div>\n <div\n style={{\n marginTop: 15,\n maxHeight: 500,\n overflow: \"auto\",\n }}\n className=\"nextFields\"\n >\n {categoryOrders?.map((category, index) => {\n const categoryAttrs = categoryMap?.[category] ?? [];\n return categoryAttrs.length > 0 ? (\n <div\n style={{\n marginBottom: index === categoryOrders.length - 1 ? 0 : 15,\n }}\n >\n <Checkbox\n checked={this.state.selectCategoryAllFieldsMap[category]}\n onChange={(e) => {\n this.handlecCategoryChecked(e, {\n category,\n attrs: categoryAttrs,\n });\n }}\n >\n {category}\n </Checkbox>\n <Row style={{ padding: \"12px 12px 0px 12px\" }}>\n {categoryAttrs.map((attr: any) =>\n this.renderCheckbox(attr, \"nextFields\", {\n category,\n attrs: categoryAttrs,\n })\n )}\n </Row>\n </div>\n ) : null;\n })}\n {extraAttrs.length > 0 ? (\n <Row>\n <Divider />\n {extraAttrs.map((attr: any) =>\n this.renderCheckbox(attr, \"nextFields\")\n )}\n </Row>\n ) : null}\n </div>\n </>\n );\n }\n}\n\nexport const DisplaySettings = withTranslation(NS_LIBS_CMDB_INSTANCES)(\n LegacyDisplaySettings\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -35,7 +35,7 @@ export function DisplaySettingsModal(props) {
|
|
|
35
35
|
t
|
|
36
36
|
} = useTranslation(NS_LIBS_CMDB_INSTANCES);
|
|
37
37
|
var sortAttrList = sortFields ? sortFields.map(v => v.field) : [];
|
|
38
|
-
var sortCurrentFields = sortField(currentFields, sortAttrList);
|
|
38
|
+
var sortCurrentFields = sortField([...(currentFields !== null && currentFields !== void 0 ? currentFields : [])], sortAttrList);
|
|
39
39
|
var [nextFields, setNextFields] = useState(sortCurrentFields);
|
|
40
40
|
var [sortSettingsVisible, setSortSettingsVisible] = useState(false);
|
|
41
41
|
var [originalNextFields, setOriginalNextFields] = useState(sortCurrentFields);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplaySettingsModal.js","names":["Button","Modal","Dropdown","Menu","React","useMemo","useState","useTranslation","K","NS_LIBS_CMDB_INSTANCES","DisplaySettings","SortSettings","getAuth","EllipsisOutlined","sortField","dataSource","arguments","length","undefined","order","sort","a","b","indexA","indexOf","indexB","DisplaySettingsModal","props","visible","objectId","modelData","saveFieldsBackend","useExternalCmdbApi","currentFields","defaultFields","extraDisabledField","extraDisabledFields","sortFields","onOk","onCancel","t","sortAttrList","map","v","field","sortCurrentFields","nextFields","setNextFields","sortSettingsVisible","setSortSettingsVisible","originalNextFields","setOriginalNextFields","count","filter","handleReset","fields","slice","isReset","handleCancel","handleSortFields","handleDropdownMenuClick","e","key","isAdminSetDisplay","showIsAdminSetDefault","isAdmin","dropdownMenuItems","createElement","Item","disabled","onClick","DEFAULT_DISPLAY","RESTORE_DEFAULT","handleSortEnd","data","handleSortSettingCancel","handleSortSettingOk","Fragment","title","DISPLAY_SETTINGS","footer","style","display","overlay","placement","trigger","type","icon","marginLeft","CANCEL","SORT_SETTINGS","CONFIRM","destroyOnClose","width","centered","onChange","rowKey","onSortEnd"],"sources":["../../../src/instance-list-table/DisplaySettingsModal.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport { 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 { SortSettings } from \"./SortSettings\";\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 sortFields?: { field: string; order: number }[];\n onOk?(data: DisplaySettingsModalData): void;\n onCancel?(): void;\n}\n\nconst sortField = (dataSource: string[] = [], order: string[]) => {\n return dataSource?.sort((a: string, b: string) => {\n const indexA = order.indexOf(a);\n const indexB = order.indexOf(b);\n return indexA - indexB;\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 sortFields,\n onOk,\n onCancel,\n } = props;\n\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n const sortAttrList = sortFields ? sortFields.map((v) => v.field) : [];\n const sortCurrentFields = sortField(currentFields, sortAttrList);\n\n const [nextFields, setNextFields] = useState<string[]>(sortCurrentFields);\n const [sortSettingsVisible, setSortSettingsVisible] =\n useState<boolean>(false);\n const [originalNextFields, setOriginalNextFields] =\n useState<string[]>(sortCurrentFields);\n\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 setNextFields(fields);\n onOk?.({ fields, isReset: true });\n };\n\n const handleCancel = (): void => {\n setNextFields(sortCurrentFields ? [...sortCurrentFields] : []);\n onCancel?.();\n };\n\n const handleSortFields = (): void => {\n setSortSettingsVisible(true);\n setOriginalNextFields(nextFields ? [...nextFields] : []);\n };\n\n const handleDropdownMenuClick = (e: any): void => {\n if (e.key === \"restore-default\") {\n handleReset();\n } else {\n // 管理员将现在选中的字段设置为默认显示, 不会影响到当前列表展示字段,所以需要类似【取消】操作重置字段。\n props?.onOk({\n fields: nextFields,\n isReset: false,\n isAdminSetDisplay: true,\n });\n setNextFields(sortCurrentFields ? [...sortCurrentFields] : []);\n }\n };\n\n const showIsAdminSetDefault = getAuth().isAdmin;\n\n const dropdownMenuItems = (\n <Menu>\n <Menu.Item\n key=\"set-default-display\"\n disabled={count === 0}\n onClick={handleDropdownMenuClick}\n >\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\n const handleSortEnd = (data: any): void => {\n setNextFields(data);\n };\n\n const handleSortSettingCancel = (): void => {\n setSortSettingsVisible(false);\n setNextFields(originalNextFields ? [...originalNextFields] : []);\n };\n\n const handleSortSettingOk = (): void => {\n setSortSettingsVisible(false);\n setNextFields(nextFields ? [...nextFields] : []);\n props?.onOk({ fields: nextFields });\n };\n\n return (\n <>\n <Modal\n title={t(K.DISPLAY_SETTINGS)}\n visible={visible}\n footer={\n <div style={{ display: \"flex\" }}>\n {showIsAdminSetDefault &&\n saveFieldsBackend &&\n !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 data-testid=\"cancel-button\"\n >\n {t(K.CANCEL)}\n </Button>\n <Button\n onClick={handleSortFields}\n data-testid=\"sort-settings-button\"\n >\n {t(K.SORT_SETTINGS)}\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 <Modal\n title={t(K.SORT_SETTINGS)}\n visible={sortSettingsVisible}\n destroyOnClose={true}\n centered={true}\n onCancel={handleSortSettingCancel}\n onOk={handleSortSettingOk}\n >\n <SortSettings\n rowKey=\"id\"\n modelData={modelData}\n currentFields={nextFields}\n onSortEnd={handleSortEnd}\n />\n </Modal>\n </>\n );\n}\n"],"mappings":"AAAA;AACA,SAASA,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,IAAI,QAAQ,MAAM;AACpD,OAAOC,KAAK,IAAIC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAChD,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,CAAC,EAAEC,sBAAsB,QAAQ,mBAAmB;AAC7D,SAASC,eAAe,QAA8B,mBAAmB;AACzE,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,gBAAgB,QAAQ,mBAAmB;AAkBpD,IAAMC,SAAS,GAAG,SAAAA,CAAA,EAAgD;EAAA,IAA/CC,UAAoB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IAAEG,KAAe,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAC3D,OAAOH,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEK,IAAI,CAAC,CAACC,CAAS,EAAEC,CAAS,KAAK;IAChD,IAAMC,MAAM,GAAGJ,KAAK,CAACK,OAAO,CAACH,CAAC,CAAC;IAC/B,IAAMI,MAAM,GAAGN,KAAK,CAACK,OAAO,CAACF,CAAC,CAAC;IAC/B,OAAOC,MAAM,GAAGE,MAAM;EACxB,CAAC,CAAC;AACJ,CAAC;AACD,OAAO,SAASC,oBAAoBA,CAClCC,KAAgC,EACZ;EACpB,IAAM;IACJC,OAAO;IACPC,QAAQ;IACRC,SAAS;IACTC,iBAAiB;IACjBC,kBAAkB;IAClBC,aAAa;IACbC,aAAa;IACbC,kBAAkB;IAClBC,mBAAmB;IACnBC,UAAU;IACVC,IAAI;IACJC;EACF,CAAC,GAAGZ,KAAK;EAET,IAAM;IAAEa;EAAE,CAAC,GAAGjC,cAAc,CAACE,sBAAsB,CAAC;EACpD,IAAMgC,YAAY,GAAGJ,UAAU,GAAGA,UAAU,CAACK,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,CAAC,GAAG,EAAE;EACrE,IAAMC,iBAAiB,GAAG/B,SAAS,CAACmB,aAAa,EAAEQ,YAAY,CAAC;EAEhE,IAAM,CAACK,UAAU,EAAEC,aAAa,CAAC,GAAGzC,QAAQ,CAAWuC,iBAAiB,CAAC;EACzE,IAAM,CAACG,mBAAmB,EAAEC,sBAAsB,CAAC,GACjD3C,QAAQ,CAAU,KAAK,CAAC;EAC1B,IAAM,CAAC4C,kBAAkB,EAAEC,qBAAqB,CAAC,GAC/C7C,QAAQ,CAAWuC,iBAAiB,CAAC;EAEvC,IAAMO,KAAK,GAAG/C,OAAO,CACnB,MAAMyC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEO,MAAM,CAAEV,CAAC,IAAKA,CAAC,KAAK,YAAY,CAAC,CAAC1B,MAAM,EAC1D,CAAC6B,UAAU,CACb,CAAC;EAED,IAAMQ,WAAW,GAAGA,CAAA,KAAY;IAC9B,IAAMC,MAAM,GAAGrB,aAAa,GAAGA,aAAa,CAACsB,KAAK,CAAC,CAAC,GAAG,EAAE;IACzDT,aAAa,CAACQ,MAAM,CAAC;IACrBjB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAG;MAAEiB,MAAM;MAAEE,OAAO,EAAE;IAAK,CAAC,CAAC;EACnC,CAAC;EAED,IAAMC,YAAY,GAAGA,CAAA,KAAY;IAC/BX,aAAa,CAACF,iBAAiB,GAAG,CAAC,GAAGA,iBAAiB,CAAC,GAAG,EAAE,CAAC;IAC9DN,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG,CAAC;EACd,CAAC;EAED,IAAMoB,gBAAgB,GAAGA,CAAA,KAAY;IACnCV,sBAAsB,CAAC,IAAI,CAAC;IAC5BE,qBAAqB,CAACL,UAAU,GAAG,CAAC,GAAGA,UAAU,CAAC,GAAG,EAAE,CAAC;EAC1D,CAAC;EAED,IAAMc,uBAAuB,GAAIC,CAAM,IAAW;IAChD,IAAIA,CAAC,CAACC,GAAG,KAAK,iBAAiB,EAAE;MAC/BR,WAAW,CAAC,CAAC;IACf,CAAC,MAAM;MACL;MACA3B,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEW,IAAI,CAAC;QACViB,MAAM,EAAET,UAAU;QAClBW,OAAO,EAAE,KAAK;QACdM,iBAAiB,EAAE;MACrB,CAAC,CAAC;MACFhB,aAAa,CAACF,iBAAiB,GAAG,CAAC,GAAGA,iBAAiB,CAAC,GAAG,EAAE,CAAC;IAChE;EACF,CAAC;EAED,IAAMmB,qBAAqB,GAAGpD,OAAO,CAAC,CAAC,CAACqD,OAAO;EAE/C,IAAMC,iBAAiB,gBACrB9D,KAAA,CAAA+D,aAAA,CAAChE,IAAI,qBACHC,KAAA,CAAA+D,aAAA,CAAChE,IAAI,CAACiE,IAAI;IACRN,GAAG,EAAC,qBAAqB;IACzBO,QAAQ,EAAEjB,KAAK,KAAK,CAAE;IACtBkB,OAAO,EAAEV;EAAwB,GAEhCpB,CAAC,CAAChC,CAAC,CAAC+D,eAAe,CACX,CAAC,eACZnE,KAAA,CAAA+D,aAAA,CAAChE,IAAI,CAACiE,IAAI;IAACN,GAAG,EAAC,iBAAiB;IAACQ,OAAO,EAAEV;EAAwB,GAC/DpB,CAAC,CAAChC,CAAC,CAACgE,eAAe,CACX,CACP,CACP;EAED,IAAMC,aAAa,GAAIC,IAAS,IAAW;IACzC3B,aAAa,CAAC2B,IAAI,CAAC;EACrB,CAAC;EAED,IAAMC,uBAAuB,GAAGA,CAAA,KAAY;IAC1C1B,sBAAsB,CAAC,KAAK,CAAC;IAC7BF,aAAa,CAACG,kBAAkB,GAAG,CAAC,GAAGA,kBAAkB,CAAC,GAAG,EAAE,CAAC;EAClE,CAAC;EAED,IAAM0B,mBAAmB,GAAGA,CAAA,KAAY;IACtC3B,sBAAsB,CAAC,KAAK,CAAC;IAC7BF,aAAa,CAACD,UAAU,GAAG,CAAC,GAAGA,UAAU,CAAC,GAAG,EAAE,CAAC;IAChDnB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEW,IAAI,CAAC;MAAEiB,MAAM,EAAET;IAAW,CAAC,CAAC;EACrC,CAAC;EAED,oBACE1C,KAAA,CAAA+D,aAAA,CAAA/D,KAAA,CAAAyE,QAAA,qBACEzE,KAAA,CAAA+D,aAAA,CAAClE,KAAK;IACJ6E,KAAK,EAAEtC,CAAC,CAAChC,CAAC,CAACuE,gBAAgB,CAAE;IAC7BnD,OAAO,EAAEA,OAAQ;IACjBoD,MAAM,eACJ5E,KAAA,CAAA+D,aAAA;MAAKc,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAO;IAAE,GAC7BlB,qBAAqB,IACtBjC,iBAAiB,IACjB,CAACC,kBAAkB,gBACjB5B,KAAA,CAAA+D,aAAA,CAACjE,QAAQ;MACPiF,OAAO,EAAEjB,iBAAkB;MAC3BkB,SAAS,EAAC,SAAS;MACnBC,OAAO,EAAE,CAAC,OAAO,CAAE;MACnB,eAAY;IAA4B,gBAExCjF,KAAA,CAAA+D,aAAA,CAACnE,MAAM;MAACsF,IAAI,EAAC,SAAS;MAACC,IAAI,eAAEnF,KAAA,CAAA+D,aAAA,CAACtD,gBAAgB,MAAE;IAAE,CAAS,CACnD,CAAC,gBAEXT,KAAA,CAAA+D,aAAA,2BACE/D,KAAA,CAAA+D,aAAA,CAACnE,MAAM;MACLsF,IAAI,EAAC,SAAS;MACdhB,OAAO,EAAEhB,WAAY;MACrB,eAAY;IAAc,GAEzBd,CAAC,CAAChC,CAAC,CAACgE,eAAe,CACd,CACL,CACN,eACDpE,KAAA,CAAA+D,aAAA;MAAKc,KAAK,EAAE;QAAEO,UAAU,EAAE;MAAO;IAAE,gBACjCpF,KAAA,CAAA+D,aAAA,CAACnE,MAAM;MACLsF,IAAI,EAAC,MAAM;MACXhB,OAAO,EAAEZ,YAAa;MACtB,eAAY;IAAe,GAE1BlB,CAAC,CAAChC,CAAC,CAACiF,MAAM,CACL,CAAC,eACTrF,KAAA,CAAA+D,aAAA,CAACnE,MAAM;MACLsE,OAAO,EAAEX,gBAAiB;MAC1B,eAAY;IAAsB,GAEjCnB,CAAC,CAAChC,CAAC,CAACkF,aAAa,CACZ,CAAC,eACTtF,KAAA,CAAA+D,aAAA,CAACnE,MAAM;MACLsF,IAAI,EAAC,SAAS;MACdhB,OAAO,EAAEA,CAAA,KAAM3C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEW,IAAI,CAAC;QAAEiB,MAAM,EAAET;MAAW,CAAC,CAAE;MACnDuB,QAAQ,EAAEjB,KAAK,KAAK,CAAE;MACtB,eAAY;IAAW,GAEtBZ,CAAC,CAAChC,CAAC,CAACmF,OAAO,CACN,CACL,CACF,CACN;IACDpD,QAAQ,EAAEmB,YAAa;IACvBkC,cAAc,EAAE,IAAK;IACrBC,KAAK,EAAE,GAAI;IACXC,QAAQ,EAAE;EAAK,gBAEf1F,KAAA,CAAA+D,aAAA,CAACzD,eAAe;IACdmB,QAAQ,EAAEA,QAAS;IACnBC,SAAS,EAAEA,SAAU;IACrBG,aAAa,EAAEa,UAAW;IAC1BX,kBAAkB,EAAEA,kBAAmB;IACvCC,mBAAmB,EAAEA,mBAAoB;IACzC2D,QAAQ,EAAGxC,MAAM,IAAKR,aAAa,CAACQ,MAAM;EAAE,CAC7C,CACI,CAAC,eACRnD,KAAA,CAAA+D,aAAA,CAAClE,KAAK;IACJ6E,KAAK,EAAEtC,CAAC,CAAChC,CAAC,CAACkF,aAAa,CAAE;IAC1B9D,OAAO,EAAEoB,mBAAoB;IAC7B4C,cAAc,EAAE,IAAK;IACrBE,QAAQ,EAAE,IAAK;IACfvD,QAAQ,EAAEoC,uBAAwB;IAClCrC,IAAI,EAAEsC;EAAoB,gBAE1BxE,KAAA,CAAA+D,aAAA,CAACxD,YAAY;IACXqF,MAAM,EAAC,IAAI;IACXlE,SAAS,EAAEA,SAAU;IACrBG,aAAa,EAAEa,UAAW;IAC1BmD,SAAS,EAAExB;EAAc,CAC1B,CACI,CACP,CAAC;AAEP","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DisplaySettingsModal.js","names":["Button","Modal","Dropdown","Menu","React","useMemo","useState","useTranslation","K","NS_LIBS_CMDB_INSTANCES","DisplaySettings","SortSettings","getAuth","EllipsisOutlined","sortField","dataSource","arguments","length","undefined","order","sort","a","b","indexA","indexOf","indexB","DisplaySettingsModal","props","visible","objectId","modelData","saveFieldsBackend","useExternalCmdbApi","currentFields","defaultFields","extraDisabledField","extraDisabledFields","sortFields","onOk","onCancel","t","sortAttrList","map","v","field","sortCurrentFields","nextFields","setNextFields","sortSettingsVisible","setSortSettingsVisible","originalNextFields","setOriginalNextFields","count","filter","handleReset","fields","slice","isReset","handleCancel","handleSortFields","handleDropdownMenuClick","e","key","isAdminSetDisplay","showIsAdminSetDefault","isAdmin","dropdownMenuItems","createElement","Item","disabled","onClick","DEFAULT_DISPLAY","RESTORE_DEFAULT","handleSortEnd","data","handleSortSettingCancel","handleSortSettingOk","Fragment","title","DISPLAY_SETTINGS","footer","style","display","overlay","placement","trigger","type","icon","marginLeft","CANCEL","SORT_SETTINGS","CONFIRM","destroyOnClose","width","centered","onChange","rowKey","onSortEnd"],"sources":["../../../src/instance-list-table/DisplaySettingsModal.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport { 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 { SortSettings } from \"./SortSettings\";\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 sortFields?: { field: string; order: number }[];\n onOk?(data: DisplaySettingsModalData): void;\n onCancel?(): void;\n}\n\nconst sortField = (dataSource: string[] = [], order: string[]) => {\n return dataSource?.sort((a: string, b: string) => {\n const indexA = order.indexOf(a);\n const indexB = order.indexOf(b);\n return indexA - indexB;\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 sortFields,\n onOk,\n onCancel,\n } = props;\n\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n const sortAttrList = sortFields ? sortFields.map((v) => v.field) : [];\n const sortCurrentFields = sortField([...(currentFields ?? [])], sortAttrList);\n\n const [nextFields, setNextFields] = useState<string[]>(sortCurrentFields);\n const [sortSettingsVisible, setSortSettingsVisible] =\n useState<boolean>(false);\n const [originalNextFields, setOriginalNextFields] =\n useState<string[]>(sortCurrentFields);\n\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 setNextFields(fields);\n onOk?.({ fields, isReset: true });\n };\n\n const handleCancel = (): void => {\n setNextFields(sortCurrentFields ? [...sortCurrentFields] : []);\n onCancel?.();\n };\n\n const handleSortFields = (): void => {\n setSortSettingsVisible(true);\n setOriginalNextFields(nextFields ? [...nextFields] : []);\n };\n\n const handleDropdownMenuClick = (e: any): void => {\n if (e.key === \"restore-default\") {\n handleReset();\n } else {\n // 管理员将现在选中的字段设置为默认显示, 不会影响到当前列表展示字段,所以需要类似【取消】操作重置字段。\n props?.onOk({\n fields: nextFields,\n isReset: false,\n isAdminSetDisplay: true,\n });\n setNextFields(sortCurrentFields ? [...sortCurrentFields] : []);\n }\n };\n\n const showIsAdminSetDefault = getAuth().isAdmin;\n\n const dropdownMenuItems = (\n <Menu>\n <Menu.Item\n key=\"set-default-display\"\n disabled={count === 0}\n onClick={handleDropdownMenuClick}\n >\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\n const handleSortEnd = (data: any): void => {\n setNextFields(data);\n };\n\n const handleSortSettingCancel = (): void => {\n setSortSettingsVisible(false);\n setNextFields(originalNextFields ? [...originalNextFields] : []);\n };\n\n const handleSortSettingOk = (): void => {\n setSortSettingsVisible(false);\n setNextFields(nextFields ? [...nextFields] : []);\n props?.onOk({ fields: nextFields });\n };\n\n return (\n <>\n <Modal\n title={t(K.DISPLAY_SETTINGS)}\n visible={visible}\n footer={\n <div style={{ display: \"flex\" }}>\n {showIsAdminSetDefault &&\n saveFieldsBackend &&\n !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 data-testid=\"cancel-button\"\n >\n {t(K.CANCEL)}\n </Button>\n <Button\n onClick={handleSortFields}\n data-testid=\"sort-settings-button\"\n >\n {t(K.SORT_SETTINGS)}\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 <Modal\n title={t(K.SORT_SETTINGS)}\n visible={sortSettingsVisible}\n destroyOnClose={true}\n centered={true}\n onCancel={handleSortSettingCancel}\n onOk={handleSortSettingOk}\n >\n <SortSettings\n rowKey=\"id\"\n modelData={modelData}\n currentFields={nextFields}\n onSortEnd={handleSortEnd}\n />\n </Modal>\n </>\n );\n}\n"],"mappings":"AAAA;AACA,SAASA,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,IAAI,QAAQ,MAAM;AACpD,OAAOC,KAAK,IAAIC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAChD,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,CAAC,EAAEC,sBAAsB,QAAQ,mBAAmB;AAC7D,SAASC,eAAe,QAA8B,mBAAmB;AACzE,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,gBAAgB,QAAQ,mBAAmB;AAkBpD,IAAMC,SAAS,GAAG,SAAAA,CAAA,EAAgD;EAAA,IAA/CC,UAAoB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IAAEG,KAAe,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAC3D,OAAOH,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEK,IAAI,CAAC,CAACC,CAAS,EAAEC,CAAS,KAAK;IAChD,IAAMC,MAAM,GAAGJ,KAAK,CAACK,OAAO,CAACH,CAAC,CAAC;IAC/B,IAAMI,MAAM,GAAGN,KAAK,CAACK,OAAO,CAACF,CAAC,CAAC;IAC/B,OAAOC,MAAM,GAAGE,MAAM;EACxB,CAAC,CAAC;AACJ,CAAC;AACD,OAAO,SAASC,oBAAoBA,CAClCC,KAAgC,EACZ;EACpB,IAAM;IACJC,OAAO;IACPC,QAAQ;IACRC,SAAS;IACTC,iBAAiB;IACjBC,kBAAkB;IAClBC,aAAa;IACbC,aAAa;IACbC,kBAAkB;IAClBC,mBAAmB;IACnBC,UAAU;IACVC,IAAI;IACJC;EACF,CAAC,GAAGZ,KAAK;EAET,IAAM;IAAEa;EAAE,CAAC,GAAGjC,cAAc,CAACE,sBAAsB,CAAC;EACpD,IAAMgC,YAAY,GAAGJ,UAAU,GAAGA,UAAU,CAACK,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,CAAC,GAAG,EAAE;EACrE,IAAMC,iBAAiB,GAAG/B,SAAS,CAAC,CAAC,IAAImB,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAI,EAAE,CAAC,CAAC,EAAEQ,YAAY,CAAC;EAE7E,IAAM,CAACK,UAAU,EAAEC,aAAa,CAAC,GAAGzC,QAAQ,CAAWuC,iBAAiB,CAAC;EACzE,IAAM,CAACG,mBAAmB,EAAEC,sBAAsB,CAAC,GACjD3C,QAAQ,CAAU,KAAK,CAAC;EAC1B,IAAM,CAAC4C,kBAAkB,EAAEC,qBAAqB,CAAC,GAC/C7C,QAAQ,CAAWuC,iBAAiB,CAAC;EAEvC,IAAMO,KAAK,GAAG/C,OAAO,CACnB,MAAMyC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEO,MAAM,CAAEV,CAAC,IAAKA,CAAC,KAAK,YAAY,CAAC,CAAC1B,MAAM,EAC1D,CAAC6B,UAAU,CACb,CAAC;EAED,IAAMQ,WAAW,GAAGA,CAAA,KAAY;IAC9B,IAAMC,MAAM,GAAGrB,aAAa,GAAGA,aAAa,CAACsB,KAAK,CAAC,CAAC,GAAG,EAAE;IACzDT,aAAa,CAACQ,MAAM,CAAC;IACrBjB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAG;MAAEiB,MAAM;MAAEE,OAAO,EAAE;IAAK,CAAC,CAAC;EACnC,CAAC;EAED,IAAMC,YAAY,GAAGA,CAAA,KAAY;IAC/BX,aAAa,CAACF,iBAAiB,GAAG,CAAC,GAAGA,iBAAiB,CAAC,GAAG,EAAE,CAAC;IAC9DN,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG,CAAC;EACd,CAAC;EAED,IAAMoB,gBAAgB,GAAGA,CAAA,KAAY;IACnCV,sBAAsB,CAAC,IAAI,CAAC;IAC5BE,qBAAqB,CAACL,UAAU,GAAG,CAAC,GAAGA,UAAU,CAAC,GAAG,EAAE,CAAC;EAC1D,CAAC;EAED,IAAMc,uBAAuB,GAAIC,CAAM,IAAW;IAChD,IAAIA,CAAC,CAACC,GAAG,KAAK,iBAAiB,EAAE;MAC/BR,WAAW,CAAC,CAAC;IACf,CAAC,MAAM;MACL;MACA3B,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEW,IAAI,CAAC;QACViB,MAAM,EAAET,UAAU;QAClBW,OAAO,EAAE,KAAK;QACdM,iBAAiB,EAAE;MACrB,CAAC,CAAC;MACFhB,aAAa,CAACF,iBAAiB,GAAG,CAAC,GAAGA,iBAAiB,CAAC,GAAG,EAAE,CAAC;IAChE;EACF,CAAC;EAED,IAAMmB,qBAAqB,GAAGpD,OAAO,CAAC,CAAC,CAACqD,OAAO;EAE/C,IAAMC,iBAAiB,gBACrB9D,KAAA,CAAA+D,aAAA,CAAChE,IAAI,qBACHC,KAAA,CAAA+D,aAAA,CAAChE,IAAI,CAACiE,IAAI;IACRN,GAAG,EAAC,qBAAqB;IACzBO,QAAQ,EAAEjB,KAAK,KAAK,CAAE;IACtBkB,OAAO,EAAEV;EAAwB,GAEhCpB,CAAC,CAAChC,CAAC,CAAC+D,eAAe,CACX,CAAC,eACZnE,KAAA,CAAA+D,aAAA,CAAChE,IAAI,CAACiE,IAAI;IAACN,GAAG,EAAC,iBAAiB;IAACQ,OAAO,EAAEV;EAAwB,GAC/DpB,CAAC,CAAChC,CAAC,CAACgE,eAAe,CACX,CACP,CACP;EAED,IAAMC,aAAa,GAAIC,IAAS,IAAW;IACzC3B,aAAa,CAAC2B,IAAI,CAAC;EACrB,CAAC;EAED,IAAMC,uBAAuB,GAAGA,CAAA,KAAY;IAC1C1B,sBAAsB,CAAC,KAAK,CAAC;IAC7BF,aAAa,CAACG,kBAAkB,GAAG,CAAC,GAAGA,kBAAkB,CAAC,GAAG,EAAE,CAAC;EAClE,CAAC;EAED,IAAM0B,mBAAmB,GAAGA,CAAA,KAAY;IACtC3B,sBAAsB,CAAC,KAAK,CAAC;IAC7BF,aAAa,CAACD,UAAU,GAAG,CAAC,GAAGA,UAAU,CAAC,GAAG,EAAE,CAAC;IAChDnB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEW,IAAI,CAAC;MAAEiB,MAAM,EAAET;IAAW,CAAC,CAAC;EACrC,CAAC;EAED,oBACE1C,KAAA,CAAA+D,aAAA,CAAA/D,KAAA,CAAAyE,QAAA,qBACEzE,KAAA,CAAA+D,aAAA,CAAClE,KAAK;IACJ6E,KAAK,EAAEtC,CAAC,CAAChC,CAAC,CAACuE,gBAAgB,CAAE;IAC7BnD,OAAO,EAAEA,OAAQ;IACjBoD,MAAM,eACJ5E,KAAA,CAAA+D,aAAA;MAAKc,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAO;IAAE,GAC7BlB,qBAAqB,IACtBjC,iBAAiB,IACjB,CAACC,kBAAkB,gBACjB5B,KAAA,CAAA+D,aAAA,CAACjE,QAAQ;MACPiF,OAAO,EAAEjB,iBAAkB;MAC3BkB,SAAS,EAAC,SAAS;MACnBC,OAAO,EAAE,CAAC,OAAO,CAAE;MACnB,eAAY;IAA4B,gBAExCjF,KAAA,CAAA+D,aAAA,CAACnE,MAAM;MAACsF,IAAI,EAAC,SAAS;MAACC,IAAI,eAAEnF,KAAA,CAAA+D,aAAA,CAACtD,gBAAgB,MAAE;IAAE,CAAS,CACnD,CAAC,gBAEXT,KAAA,CAAA+D,aAAA,2BACE/D,KAAA,CAAA+D,aAAA,CAACnE,MAAM;MACLsF,IAAI,EAAC,SAAS;MACdhB,OAAO,EAAEhB,WAAY;MACrB,eAAY;IAAc,GAEzBd,CAAC,CAAChC,CAAC,CAACgE,eAAe,CACd,CACL,CACN,eACDpE,KAAA,CAAA+D,aAAA;MAAKc,KAAK,EAAE;QAAEO,UAAU,EAAE;MAAO;IAAE,gBACjCpF,KAAA,CAAA+D,aAAA,CAACnE,MAAM;MACLsF,IAAI,EAAC,MAAM;MACXhB,OAAO,EAAEZ,YAAa;MACtB,eAAY;IAAe,GAE1BlB,CAAC,CAAChC,CAAC,CAACiF,MAAM,CACL,CAAC,eACTrF,KAAA,CAAA+D,aAAA,CAACnE,MAAM;MACLsE,OAAO,EAAEX,gBAAiB;MAC1B,eAAY;IAAsB,GAEjCnB,CAAC,CAAChC,CAAC,CAACkF,aAAa,CACZ,CAAC,eACTtF,KAAA,CAAA+D,aAAA,CAACnE,MAAM;MACLsF,IAAI,EAAC,SAAS;MACdhB,OAAO,EAAEA,CAAA,KAAM3C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEW,IAAI,CAAC;QAAEiB,MAAM,EAAET;MAAW,CAAC,CAAE;MACnDuB,QAAQ,EAAEjB,KAAK,KAAK,CAAE;MACtB,eAAY;IAAW,GAEtBZ,CAAC,CAAChC,CAAC,CAACmF,OAAO,CACN,CACL,CACF,CACN;IACDpD,QAAQ,EAAEmB,YAAa;IACvBkC,cAAc,EAAE,IAAK;IACrBC,KAAK,EAAE,GAAI;IACXC,QAAQ,EAAE;EAAK,gBAEf1F,KAAA,CAAA+D,aAAA,CAACzD,eAAe;IACdmB,QAAQ,EAAEA,QAAS;IACnBC,SAAS,EAAEA,SAAU;IACrBG,aAAa,EAAEa,UAAW;IAC1BX,kBAAkB,EAAEA,kBAAmB;IACvCC,mBAAmB,EAAEA,mBAAoB;IACzC2D,QAAQ,EAAGxC,MAAM,IAAKR,aAAa,CAACQ,MAAM;EAAE,CAC7C,CACI,CAAC,eACRnD,KAAA,CAAA+D,aAAA,CAAClE,KAAK;IACJ6E,KAAK,EAAEtC,CAAC,CAAChC,CAAC,CAACkF,aAAa,CAAE;IAC1B9D,OAAO,EAAEoB,mBAAoB;IAC7B4C,cAAc,EAAE,IAAK;IACrBE,QAAQ,EAAE,IAAK;IACfvD,QAAQ,EAAEoC,uBAAwB;IAClCrC,IAAI,EAAEsC;EAAoB,gBAE1BxE,KAAA,CAAA+D,aAAA,CAACxD,YAAY;IACXqF,MAAM,EAAC,IAAI;IACXlE,SAAS,EAAEA,SAAU;IACrBG,aAAa,EAAEa,UAAW;IAC1BmD,SAAS,EAAExB;EAAc,CAC1B,CACI,CACP,CAAC;AAEP","ignoreList":[]}
|
|
@@ -484,10 +484,12 @@ export class LegacyInstanceListTable extends React.Component {
|
|
|
484
484
|
}, node)));
|
|
485
485
|
}
|
|
486
486
|
getAttributeColumnData(attribute, object, firstColumns) {
|
|
487
|
+
var _this$props$fixedFiel;
|
|
487
488
|
var column = {
|
|
488
489
|
title: attribute.name,
|
|
489
490
|
dataIndex: attribute.id,
|
|
490
|
-
className: styles.instanceListTableCell
|
|
491
|
+
className: styles.instanceListTableCell,
|
|
492
|
+
fixed: (_this$props$fixedFiel = this.props.fixedFieldIds) !== null && _this$props$fixedFiel !== void 0 && _this$props$fixedFiel.includes(attribute.id) ? "right" : false
|
|
491
493
|
};
|
|
492
494
|
var displayConfig = this.keyDisplayConfigMap[attribute.id];
|
|
493
495
|
var isPrimary = attribute.id === getInstanceNameKeys(object)[0];
|
|
@@ -690,12 +692,14 @@ export class LegacyInstanceListTable extends React.Component {
|
|
|
690
692
|
(_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);
|
|
691
693
|
}
|
|
692
694
|
getRelationColumnData(relation, object, sides, firstColumns) {
|
|
695
|
+
var _this$props$fixedFiel2;
|
|
693
696
|
var key = relation["".concat(sides.this, "_id")];
|
|
694
697
|
var column = {
|
|
695
698
|
title: relation["".concat(sides.this, "_name")],
|
|
696
699
|
dataIndex: key,
|
|
697
700
|
sorter: !this.props.sortDisabled,
|
|
698
|
-
className: styles.instanceListTableCell
|
|
701
|
+
className: styles.instanceListTableCell,
|
|
702
|
+
fixed: (_this$props$fixedFiel2 = this.props.fixedFieldIds) !== null && _this$props$fixedFiel2 !== void 0 && _this$props$fixedFiel2.includes(key) ? "right" : false
|
|
699
703
|
};
|
|
700
704
|
var displayConfig = this.keyDisplayConfigMap[key];
|
|
701
705
|
var tempColumns;
|