@next-libs/cmdb-instances 7.29.13 → 7.30.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.
Files changed (51) hide show
  1. package/dist/cjs/i18n/constants.js +6 -0
  2. package/dist/cjs/i18n/constants.js.map +1 -1
  3. package/dist/cjs/i18n/locales/en.js +7 -1
  4. package/dist/cjs/i18n/locales/en.js.map +1 -1
  5. package/dist/cjs/i18n/locales/zh.js +7 -1
  6. package/dist/cjs/i18n/locales/zh.js.map +1 -1
  7. package/dist/cjs/instance-detail/InstanceDetail.js +24 -10
  8. package/dist/cjs/instance-detail/InstanceDetail.js.map +1 -1
  9. package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js +2 -2
  10. package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
  11. package/dist/cjs/instance-list/InstanceList.js +82 -35
  12. package/dist/cjs/instance-list/InstanceList.js.map +1 -1
  13. package/dist/cjs/instance-list-table/AdvancedSearch.js +21 -1
  14. package/dist/cjs/instance-list-table/AdvancedSearch.js.map +1 -1
  15. package/dist/cjs/instance-list-table/DisplaySettings.js +44 -10
  16. package/dist/cjs/instance-list-table/DisplaySettings.js.map +1 -1
  17. package/dist/cjs/instance-list-table/DisplaySettingsModal.js +12 -2
  18. package/dist/cjs/instance-list-table/DisplaySettingsModal.js.map +1 -1
  19. package/dist/cjs/instance-list-table/InstanceListTable.js +112 -1
  20. package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
  21. package/dist/cjs/instance-list-table/MoreButtonsContainer.js +1 -0
  22. package/dist/cjs/instance-list-table/MoreButtonsContainer.js.map +1 -1
  23. package/dist/esm/i18n/constants.js +6 -0
  24. package/dist/esm/i18n/constants.js.map +1 -1
  25. package/dist/esm/i18n/locales/en.js +7 -1
  26. package/dist/esm/i18n/locales/en.js.map +1 -1
  27. package/dist/esm/i18n/locales/zh.js +7 -1
  28. package/dist/esm/i18n/locales/zh.js.map +1 -1
  29. package/dist/esm/instance-detail/InstanceDetail.js +21 -10
  30. package/dist/esm/instance-detail/InstanceDetail.js.map +1 -1
  31. package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js +2 -2
  32. package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
  33. package/dist/esm/instance-list/InstanceList.js +91 -38
  34. package/dist/esm/instance-list/InstanceList.js.map +1 -1
  35. package/dist/esm/instance-list-table/AdvancedSearch.js +20 -1
  36. package/dist/esm/instance-list-table/AdvancedSearch.js.map +1 -1
  37. package/dist/esm/instance-list-table/DisplaySettings.js +45 -11
  38. package/dist/esm/instance-list-table/DisplaySettings.js.map +1 -1
  39. package/dist/esm/instance-list-table/DisplaySettings.module.css +7 -0
  40. package/dist/esm/instance-list-table/DisplaySettingsModal.js +13 -3
  41. package/dist/esm/instance-list-table/DisplaySettingsModal.js.map +1 -1
  42. package/dist/esm/instance-list-table/InstanceListTable.js +110 -1
  43. package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
  44. package/dist/esm/instance-list-table/MoreButtonsContainer.js +1 -0
  45. package/dist/esm/instance-list-table/MoreButtonsContainer.js.map +1 -1
  46. package/dist/types/i18n/constants.d.ts +7 -1
  47. package/dist/types/instance-detail/components/instance-relation-table-show/instance-relation-table-show.d.ts +4 -2
  48. package/dist/types/instance-list/InstanceList.d.ts +8 -3
  49. package/dist/types/instance-list-table/DisplaySettings.d.ts +8 -0
  50. package/dist/types/instance-list-table/InstanceListTable.d.ts +12 -5
  51. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"DisplaySettings.js","names":["_react","_interopRequireDefault","require","_lodash","_constants","_antd","_cmdbUtils","_reactI18next","_constants2","LegacyDisplaySettings","React","Component","constructor","props","_defineProperty2","default","categoryOrders","Set","get","modelData","t","K","OTHERS","filteredList","attrAndRelationList","q","state","trim","toLowerCase","filter","attr","name","includes","fieldsKey","attrs","getCAategoryOrders","categoryMap","groupBy","selectAllFields","length","allFieldsLength","selectCategoryAllFieldsMap","reduce","acc","item","_categoryMap$item","categoryAttrIds","map","id","every","setState","event","value","target","debounceHandleSearch","getBatchEditableFields","hideColumns","view","hide_columns","ignoredFields","CMDB_RESOURCE_FIELDS_SETTINGS","objectId","isEmpty","forEach","hideColumn","remove","attribute","category","extraAttrIds","extraFieldAttrs","extraFieldAttr","extraAttrs","nextFields","currentFields","slice","_categoryMap$item2","extraDisabledFieldSet","extraDisabledFields","debounce","filterColTag","componentDidUpdate","prevProps","handleChecked","categoryData","_this$props$onChange","_this$props","fields","checked","concat","without","attrsIds","onChange","call","handlecCategoryChecked","_this$props$onChange2","_this$props2","handleSelectAllFields","allFields","_this$props$onChange3","_this$props3","mapValues","renderCheckbox","field","disabled","extraDisabledField","has","createElement","Col","key","span","style","padding","onClick","stopPropagation","Checkbox","width","wordBreak","render","Fragment","Divider","orientation","plain","marginTop","FIELD_SETTINGS","Input","Search","placeholder","SEARCH_BY_FIELD_NAME","handleSearchChange","paddingLeft","verticalAlign","e","SELECT_ALL","maxHeight","overflow","className","index","_categoryMap$category","categoryAttrs","marginBottom","Row","exports","DisplaySettings","withTranslation","NS_LIBS_CMDB_INSTANCES"],"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":[]}
1
+ {"version":3,"file":"DisplaySettings.js","names":["_react","_interopRequireDefault","require","_lodash","_constants","_antd","_cmdbUtils","_reactI18next","_constants2","_DisplaySettingsModule","_classnames","AttributeType","LegacyDisplaySettings","React","Component","constructor","props","_defineProperty2","default","categoryOrders","Set","get","modelData","t","K","OTHERS","filteredList","attrAndRelationList","q","state","trim","toLowerCase","type","filter","attr","qResult","name","includes","typeResult","fieldsKey","attrs","getCAategoryOrders","categoryMap","groupBy","selectAllFields","length","allFieldsLength","selectCategoryAllFieldsMap","reduce","acc","item","_categoryMap$item","categoryAttrIds","map","id","every","setState","event","value","target","debounceHandleSearch","getBatchEditableFields","hideColumns","view","hide_columns","ignoredFields","CMDB_RESOURCE_FIELDS_SETTINGS","objectId","isEmpty","forEach","hideColumn","remove","attribute","isTransHierRelation","TransHierRelation","isRelation","Relation","Attribute","category","extraAttrIds","extraFieldAttrs","extraFieldAttr","extraAttrs","nextFields","currentFields","slice","_categoryMap$item2","extraDisabledFieldSet","extraDisabledFields","debounce","filterColTag","componentDidUpdate","prevProps","handleChecked","categoryData","_this$props$onChange","_this$props","fields","checked","concat","without","attrsIds","onChange","call","handlecCategoryChecked","_this$props$onChange2","_this$props2","handleSelectAllFields","allFields","_this$props$onChange3","_this$props3","mapValues","renderCheckbox","field","disabled","extraDisabledField","has","createElement","Col","key","span","style","padding","onClick","stopPropagation","Checkbox","width","wordBreak","render","attributeTypeMap","ATTRIBUTES","RELATIONSHIPS","CROSS_LEVEL_RELATIONSHIPS","Fragment","Divider","orientation","plain","marginTop","FIELD_SETTINGS","display","alignItems","Input","Search","placeholder","SEARCH_BY_FIELD_NAME","handleSearchChange","paddingRight","Object","keys","Tag","className","classNames","styles","fieldTypeTag","fieldTypeActive","handleFilterType","paddingLeft","verticalAlign","e","SELECT_ALL","maxHeight","overflow","index","_categoryMap$category","categoryAttrs","marginBottom","Row","exports","DisplaySettings","withTranslation","NS_LIBS_CMDB_INSTANCES"],"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, Tag } 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\";\nimport styles from \"./DisplaySettings.module.css\";\nimport classNames from \"classnames\";\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 type: AttributeType | string;\n}\n\nenum AttributeType {\n Attribute = \"attribute\",\n Relation = \"relation\",\n TransHierRelation = \"transHierRelation\",\n}\n\nexport class LegacyDisplaySettings extends React.Component<\n WithTranslationDisplaySettingsProps,\n DisplaySettingsState\n> {\n debounceHandleSearch: () => void;\n attrAndRelationList: {\n id: string;\n name: string;\n category: string;\n type: AttributeType;\n }[] = [];\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 type: attribute.isTransHierRelation\n ? AttributeType.TransHierRelation\n : attribute.isRelation\n ? AttributeType.Relation\n : AttributeType.Attribute,\n category: get(\n attribute,\n \"tag[0]\",\n get(attribute, \"left_tags[0]\") ||\n get(attribute, \"tags[0]\") ||\n 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 type: \"\",\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 const type = this.state.type;\n filteredList = filteredList.filter((attr) => {\n const qResult = attr.name.toLowerCase().includes(q);\n const typeResult = !this.state.type || attr.type === this.state.type;\n return qResult && typeResult;\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 handleFilterType = (type: AttributeType | string) => {\n this.setState({\n type,\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 const attributeTypeMap = {\n [AttributeType.Attribute]: t(K.ATTRIBUTES),\n [AttributeType.Relation]: t(K.RELATIONSHIPS),\n [AttributeType.TransHierRelation]: t(K.CROSS_LEVEL_RELATIONSHIPS),\n };\n\n return (\n <>\n <Divider orientation=\"left\" plain style={{ marginTop: 0 }}>\n {t(K.FIELD_SETTINGS)}\n </Divider>\n <div style={{ display: \"flex\", alignItems: \"center\" }}>\n <Input.Search\n value={this.state.q}\n placeholder={t(K.SEARCH_BY_FIELD_NAME)}\n onChange={this.handleSearchChange}\n style={{ width: 200, paddingRight: 10 }}\n data-testid=\"search-input\"\n />\n\n {Object.keys(attributeTypeMap).map((key) => (\n <Tag\n className={classNames(styles.fieldTypeTag, {\n [styles.fieldTypeActive]:\n this.state.type === (key as AttributeType),\n })}\n key={key}\n onClick={() =>\n this.handleFilterType(\n !this.state.type || this.state.type !== key\n ? (key as AttributeType)\n : \"\"\n )\n }\n >\n {attributeTypeMap[key as AttributeType]}\n </Tag>\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":[]}
@@ -13,6 +13,7 @@ var _DisplaySettings = require("./DisplaySettings");
13
13
  var _SortSettings = require("./SortSettings");
14
14
  var _brickKit = require("@next-core/brick-kit");
15
15
  var _icons = require("@ant-design/icons");
16
+ var _basicComponents = require("@next-libs/basic-components");
16
17
  /* eslint-disable @typescript-eslint/explicit-function-return-type */
17
18
 
18
19
  const sortField = (dataSource = [], order) => {
@@ -72,7 +73,6 @@ function DisplaySettingsModal(props) {
72
73
  isReset: false,
73
74
  isAdminSetDisplay: true
74
75
  });
75
- setNextFields(sortCurrentFields ? [...sortCurrentFields] : []);
76
76
  }
77
77
  };
78
78
  const showIsAdminSetDefault = (0, _brickKit.getAuth)().isAdmin;
@@ -140,7 +140,17 @@ function DisplaySettingsModal(props) {
140
140
  destroyOnClose: true,
141
141
  width: 780,
142
142
  centered: true
143
- }, /*#__PURE__*/_react.default.createElement(_DisplaySettings.DisplaySettings, {
143
+ }, /*#__PURE__*/_react.default.createElement(_antd.Alert, {
144
+ message: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, t(_constants.K.SORT_SETTINGS_ALERT), /*#__PURE__*/_react.default.createElement(_basicComponents.Link, {
145
+ to: `/cmdb-model-management/object/${modelData.objectId}/view?key=3`,
146
+ target: "_blank"
147
+ }, t(_constants.K.MANAGING)), t(_constants.K.SORT_SETTINGS_AFTER_ALERT)),
148
+ type: "info",
149
+ showIcon: false,
150
+ style: {
151
+ marginBottom: 16
152
+ }
153
+ }), /*#__PURE__*/_react.default.createElement(_DisplaySettings.DisplaySettings, {
144
154
  objectId: objectId,
145
155
  modelData: modelData,
146
156
  currentFields: nextFields,
@@ -1 +1 @@
1
- {"version":3,"file":"DisplaySettingsModal.js","names":["_antd","require","_react","_interopRequireWildcard","_reactI18next","_constants","_DisplaySettings","_SortSettings","_brickKit","_icons","sortField","dataSource","order","sort","a","b","indexA","indexOf","indexB","DisplaySettingsModal","props","visible","objectId","modelData","saveFieldsBackend","useExternalCmdbApi","currentFields","defaultFields","extraDisabledField","extraDisabledFields","sortFields","onOk","onCancel","t","useTranslation","NS_LIBS_CMDB_INSTANCES","sortAttrList","map","v","field","sortCurrentFields","nextFields","setNextFields","useState","sortSettingsVisible","setSortSettingsVisible","originalNextFields","setOriginalNextFields","count","useMemo","filter","length","handleReset","fields","slice","isReset","handleCancel","handleSortFields","handleDropdownMenuClick","e","key","isAdminSetDisplay","showIsAdminSetDefault","getAuth","isAdmin","dropdownMenuItems","default","createElement","Menu","Item","disabled","onClick","K","DEFAULT_DISPLAY","RESTORE_DEFAULT","handleSortEnd","data","handleSortSettingCancel","handleSortSettingOk","Fragment","Modal","title","DISPLAY_SETTINGS","footer","style","display","Dropdown","overlay","placement","trigger","Button","type","icon","EllipsisOutlined","marginLeft","CANCEL","SORT_SETTINGS","CONFIRM","destroyOnClose","width","centered","DisplaySettings","onChange","SortSettings","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":";;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AARA;;AA0BA,MAAMS,SAAS,GAAGA,CAACC,UAAoB,GAAG,EAAE,EAAEC,KAAe,KAAK;EAChE,OAAOD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEE,IAAI,CAAC,CAACC,CAAS,EAAEC,CAAS,KAAK;IAChD,MAAMC,MAAM,GAAGJ,KAAK,CAACK,OAAO,CAACH,CAAC,CAAC;IAC/B,MAAMI,MAAM,GAAGN,KAAK,CAACK,OAAO,CAACF,CAAC,CAAC;IAC/B,OAAOC,MAAM,GAAGE,MAAM;EACxB,CAAC,CAAC;AACJ,CAAC;AACM,SAASC,oBAAoBA,CAClCC,KAAgC,EACZ;EACpB,MAAM;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,MAAM;IAAEa;EAAE,CAAC,GAAG,IAAAC,4BAAc,EAACC,iCAAsB,CAAC;EACpD,MAAMC,YAAY,GAAGN,UAAU,GAAGA,UAAU,CAACO,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,CAAC,GAAG,EAAE;EACrE,MAAMC,iBAAiB,GAAG9B,SAAS,CAAC,CAAC,IAAIgB,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAI,EAAE,CAAC,CAAC,EAAEU,YAAY,CAAC;EAE7E,MAAM,CAACK,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAWH,iBAAiB,CAAC;EACzE,MAAM,CAACI,mBAAmB,EAAEC,sBAAsB,CAAC,GACjD,IAAAF,eAAQ,EAAU,KAAK,CAAC;EAC1B,MAAM,CAACG,kBAAkB,EAAEC,qBAAqB,CAAC,GAC/C,IAAAJ,eAAQ,EAAWH,iBAAiB,CAAC;EAEvC,MAAMQ,KAAK,GAAG,IAAAC,cAAO,EACnB,MAAMR,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAES,MAAM,CAAEZ,CAAC,IAAKA,CAAC,KAAK,YAAY,CAAC,CAACa,MAAM,EAC1D,CAACV,UAAU,CACb,CAAC;EAED,MAAMW,WAAW,GAAGA,CAAA,KAAY;IAC9B,MAAMC,MAAM,GAAG1B,aAAa,GAAGA,aAAa,CAAC2B,KAAK,CAAC,CAAC,GAAG,EAAE;IACzDZ,aAAa,CAACW,MAAM,CAAC;IACrBtB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAG;MAAEsB,MAAM;MAAEE,OAAO,EAAE;IAAK,CAAC,CAAC;EACnC,CAAC;EAED,MAAMC,YAAY,GAAGA,CAAA,KAAY;IAC/Bd,aAAa,CAACF,iBAAiB,GAAG,CAAC,GAAGA,iBAAiB,CAAC,GAAG,EAAE,CAAC;IAC9DR,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG,CAAC;EACd,CAAC;EAED,MAAMyB,gBAAgB,GAAGA,CAAA,KAAY;IACnCZ,sBAAsB,CAAC,IAAI,CAAC;IAC5BE,qBAAqB,CAACN,UAAU,GAAG,CAAC,GAAGA,UAAU,CAAC,GAAG,EAAE,CAAC;EAC1D,CAAC;EAED,MAAMiB,uBAAuB,GAAIC,CAAM,IAAW;IAChD,IAAIA,CAAC,CAACC,GAAG,KAAK,iBAAiB,EAAE;MAC/BR,WAAW,CAAC,CAAC;IACf,CAAC,MAAM;MACL;MACAhC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEW,IAAI,CAAC;QACVsB,MAAM,EAAEZ,UAAU;QAClBc,OAAO,EAAE,KAAK;QACdM,iBAAiB,EAAE;MACrB,CAAC,CAAC;MACFnB,aAAa,CAACF,iBAAiB,GAAG,CAAC,GAAGA,iBAAiB,CAAC,GAAG,EAAE,CAAC;IAChE;EACF,CAAC;EAED,MAAMsB,qBAAqB,GAAG,IAAAC,iBAAO,EAAC,CAAC,CAACC,OAAO;EAE/C,MAAMC,iBAAiB,gBACrB/D,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAAoE,IAAI,qBACHlE,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAAoE,IAAI,CAACC,IAAI;IACRT,GAAG,EAAC,qBAAqB;IACzBU,QAAQ,EAAEtB,KAAK,KAAK,CAAE;IACtBuB,OAAO,EAAEb;EAAwB,GAEhCzB,CAAC,CAACuC,YAAC,CAACC,eAAe,CACX,CAAC,eACZvE,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAAoE,IAAI,CAACC,IAAI;IAACT,GAAG,EAAC,iBAAiB;IAACW,OAAO,EAAEb;EAAwB,GAC/DzB,CAAC,CAACuC,YAAC,CAACE,eAAe,CACX,CACP,CACP;EAED,MAAMC,aAAa,GAAIC,IAAS,IAAW;IACzClC,aAAa,CAACkC,IAAI,CAAC;EACrB,CAAC;EAED,MAAMC,uBAAuB,GAAGA,CAAA,KAAY;IAC1ChC,sBAAsB,CAAC,KAAK,CAAC;IAC7BH,aAAa,CAACI,kBAAkB,GAAG,CAAC,GAAGA,kBAAkB,CAAC,GAAG,EAAE,CAAC;EAClE,CAAC;EAED,MAAMgC,mBAAmB,GAAGA,CAAA,KAAY;IACtCjC,sBAAsB,CAAC,KAAK,CAAC;IAC7BH,aAAa,CAACD,UAAU,GAAG,CAAC,GAAGA,UAAU,CAAC,GAAG,EAAE,CAAC;IAChDrB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEW,IAAI,CAAC;MAAEsB,MAAM,EAAEZ;IAAW,CAAC,CAAC;EACrC,CAAC;EAED,oBACEvC,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAAAjE,MAAA,CAAAgE,OAAA,CAAAa,QAAA,qBACE7E,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAAgF,KAAK;IACJC,KAAK,EAAEhD,CAAC,CAACuC,YAAC,CAACU,gBAAgB,CAAE;IAC7B7D,OAAO,EAAEA,OAAQ;IACjB8D,MAAM,eACJjF,MAAA,CAAAgE,OAAA,CAAAC,aAAA;MAAKiB,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAO;IAAE,GAC7BvB,qBAAqB,IACtBtC,iBAAiB,IACjB,CAACC,kBAAkB,gBACjBvB,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAAsF,QAAQ;MACPC,OAAO,EAAEtB,iBAAkB;MAC3BuB,SAAS,EAAC,SAAS;MACnBC,OAAO,EAAE,CAAC,OAAO,CAAE;MACnB,eAAY;IAA4B,gBAExCvF,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAA0F,MAAM;MAACC,IAAI,EAAC,SAAS;MAACC,IAAI,eAAE1F,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAAC1D,MAAA,CAAAoF,gBAAgB,MAAE;IAAE,CAAS,CACnD,CAAC,gBAEX3F,MAAA,CAAAgE,OAAA,CAAAC,aAAA,2BACEjE,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAA0F,MAAM;MACLC,IAAI,EAAC,SAAS;MACdpB,OAAO,EAAEnB,WAAY;MACrB,eAAY;IAAc,GAEzBnB,CAAC,CAACuC,YAAC,CAACE,eAAe,CACd,CACL,CACN,eACDxE,MAAA,CAAAgE,OAAA,CAAAC,aAAA;MAAKiB,KAAK,EAAE;QAAEU,UAAU,EAAE;MAAO;IAAE,gBACjC5F,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAA0F,MAAM;MACLC,IAAI,EAAC,MAAM;MACXpB,OAAO,EAAEf,YAAa;MACtB,eAAY;IAAe,GAE1BvB,CAAC,CAACuC,YAAC,CAACuB,MAAM,CACL,CAAC,eACT7F,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAA0F,MAAM;MACLnB,OAAO,EAAEd,gBAAiB;MAC1B,eAAY;IAAsB,GAEjCxB,CAAC,CAACuC,YAAC,CAACwB,aAAa,CACZ,CAAC,eACT9F,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAA0F,MAAM;MACLC,IAAI,EAAC,SAAS;MACdpB,OAAO,EAAEA,CAAA,KAAMnD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEW,IAAI,CAAC;QAAEsB,MAAM,EAAEZ;MAAW,CAAC,CAAE;MACnD6B,QAAQ,EAAEtB,KAAK,KAAK,CAAE;MACtB,eAAY;IAAW,GAEtBf,CAAC,CAACuC,YAAC,CAACyB,OAAO,CACN,CACL,CACF,CACN;IACDjE,QAAQ,EAAEwB,YAAa;IACvB0C,cAAc,EAAE,IAAK;IACrBC,KAAK,EAAE,GAAI;IACXC,QAAQ,EAAE;EAAK,gBAEflG,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAAC7D,gBAAA,CAAA+F,eAAe;IACd/E,QAAQ,EAAEA,QAAS;IACnBC,SAAS,EAAEA,SAAU;IACrBG,aAAa,EAAEe,UAAW;IAC1Bb,kBAAkB,EAAEA,kBAAmB;IACvCC,mBAAmB,EAAEA,mBAAoB;IACzCyE,QAAQ,EAAGjD,MAAM,IAAKX,aAAa,CAACW,MAAM;EAAE,CAC7C,CACI,CAAC,eACRnD,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAACnE,KAAA,CAAAgF,KAAK;IACJC,KAAK,EAAEhD,CAAC,CAACuC,YAAC,CAACwB,aAAa,CAAE;IAC1B3E,OAAO,EAAEuB,mBAAoB;IAC7BsD,cAAc,EAAE,IAAK;IACrBE,QAAQ,EAAE,IAAK;IACfpE,QAAQ,EAAE6C,uBAAwB;IAClC9C,IAAI,EAAE+C;EAAoB,gBAE1B5E,MAAA,CAAAgE,OAAA,CAAAC,aAAA,CAAC5D,aAAA,CAAAgG,YAAY;IACXC,MAAM,EAAC,IAAI;IACXjF,SAAS,EAAEA,SAAU;IACrBG,aAAa,EAAEe,UAAW;IAC1BgE,SAAS,EAAE9B;EAAc,CAC1B,CACI,CACP,CAAC;AAEP","ignoreList":[]}
1
+ {"version":3,"file":"DisplaySettingsModal.js","names":["_antd","require","_react","_interopRequireWildcard","_reactI18next","_constants","_DisplaySettings","_SortSettings","_brickKit","_icons","_basicComponents","sortField","dataSource","order","sort","a","b","indexA","indexOf","indexB","DisplaySettingsModal","props","visible","objectId","modelData","saveFieldsBackend","useExternalCmdbApi","currentFields","defaultFields","extraDisabledField","extraDisabledFields","sortFields","onOk","onCancel","t","useTranslation","NS_LIBS_CMDB_INSTANCES","sortAttrList","map","v","field","sortCurrentFields","nextFields","setNextFields","useState","sortSettingsVisible","setSortSettingsVisible","originalNextFields","setOriginalNextFields","count","useMemo","filter","length","handleReset","fields","slice","isReset","handleCancel","handleSortFields","handleDropdownMenuClick","e","key","isAdminSetDisplay","showIsAdminSetDefault","getAuth","isAdmin","dropdownMenuItems","default","createElement","Menu","Item","disabled","onClick","K","DEFAULT_DISPLAY","RESTORE_DEFAULT","handleSortEnd","data","handleSortSettingCancel","handleSortSettingOk","Fragment","Modal","title","DISPLAY_SETTINGS","footer","style","display","Dropdown","overlay","placement","trigger","Button","type","icon","EllipsisOutlined","marginLeft","CANCEL","SORT_SETTINGS","CONFIRM","destroyOnClose","width","centered","Alert","message","SORT_SETTINGS_ALERT","Link","to","target","MANAGING","SORT_SETTINGS_AFTER_ALERT","showIcon","marginBottom","DisplaySettings","onChange","SortSettings","rowKey","onSortEnd"],"sources":["../../../src/instance-list-table/DisplaySettingsModal.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport { Button, Modal, Dropdown, Menu, Alert } 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\";\nimport { Link } from \"@next-libs/basic-components\";\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 }\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 <Alert\n message={\n <>\n {t(K.SORT_SETTINGS_ALERT)}\n <Link\n to={`/cmdb-model-management/object/${modelData.objectId}/view?key=3`}\n target={\"_blank\"}\n >\n {t(K.MANAGING)}\n </Link>\n {t(K.SORT_SETTINGS_AFTER_ALERT)}\n </>\n }\n type=\"info\"\n showIcon={false}\n style={{ marginBottom: 16 }}\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":";;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,gBAAA,GAAAT,OAAA;AATA;;AA2BA,MAAMU,SAAS,GAAGA,CAACC,UAAoB,GAAG,EAAE,EAAEC,KAAe,KAAK;EAChE,OAAOD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEE,IAAI,CAAC,CAACC,CAAS,EAAEC,CAAS,KAAK;IAChD,MAAMC,MAAM,GAAGJ,KAAK,CAACK,OAAO,CAACH,CAAC,CAAC;IAC/B,MAAMI,MAAM,GAAGN,KAAK,CAACK,OAAO,CAACF,CAAC,CAAC;IAC/B,OAAOC,MAAM,GAAGE,MAAM;EACxB,CAAC,CAAC;AACJ,CAAC;AACM,SAASC,oBAAoBA,CAClCC,KAAgC,EACZ;EACpB,MAAM;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,MAAM;IAAEa;EAAE,CAAC,GAAG,IAAAC,4BAAc,EAACC,iCAAsB,CAAC;EACpD,MAAMC,YAAY,GAAGN,UAAU,GAAGA,UAAU,CAACO,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,CAAC,GAAG,EAAE;EACrE,MAAMC,iBAAiB,GAAG9B,SAAS,CAAC,CAAC,IAAIgB,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAI,EAAE,CAAC,CAAC,EAAEU,YAAY,CAAC;EAE7E,MAAM,CAACK,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAWH,iBAAiB,CAAC;EACzE,MAAM,CAACI,mBAAmB,EAAEC,sBAAsB,CAAC,GACjD,IAAAF,eAAQ,EAAU,KAAK,CAAC;EAC1B,MAAM,CAACG,kBAAkB,EAAEC,qBAAqB,CAAC,GAC/C,IAAAJ,eAAQ,EAAWH,iBAAiB,CAAC;EAEvC,MAAMQ,KAAK,GAAG,IAAAC,cAAO,EACnB,MAAMR,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAES,MAAM,CAAEZ,CAAC,IAAKA,CAAC,KAAK,YAAY,CAAC,CAACa,MAAM,EAC1D,CAACV,UAAU,CACb,CAAC;EAED,MAAMW,WAAW,GAAGA,CAAA,KAAY;IAC9B,MAAMC,MAAM,GAAG1B,aAAa,GAAGA,aAAa,CAAC2B,KAAK,CAAC,CAAC,GAAG,EAAE;IACzDZ,aAAa,CAACW,MAAM,CAAC;IACrBtB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAG;MAAEsB,MAAM;MAAEE,OAAO,EAAE;IAAK,CAAC,CAAC;EACnC,CAAC;EAED,MAAMC,YAAY,GAAGA,CAAA,KAAY;IAC/Bd,aAAa,CAACF,iBAAiB,GAAG,CAAC,GAAGA,iBAAiB,CAAC,GAAG,EAAE,CAAC;IAC9DR,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG,CAAC;EACd,CAAC;EAED,MAAMyB,gBAAgB,GAAGA,CAAA,KAAY;IACnCZ,sBAAsB,CAAC,IAAI,CAAC;IAC5BE,qBAAqB,CAACN,UAAU,GAAG,CAAC,GAAGA,UAAU,CAAC,GAAG,EAAE,CAAC;EAC1D,CAAC;EAED,MAAMiB,uBAAuB,GAAIC,CAAM,IAAW;IAChD,IAAIA,CAAC,CAACC,GAAG,KAAK,iBAAiB,EAAE;MAC/BR,WAAW,CAAC,CAAC;IACf,CAAC,MAAM;MACL;MACAhC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEW,IAAI,CAAC;QACVsB,MAAM,EAAEZ,UAAU;QAClBc,OAAO,EAAE,KAAK;QACdM,iBAAiB,EAAE;MACrB,CAAC,CAAC;IACJ;EACF,CAAC;EAED,MAAMC,qBAAqB,GAAG,IAAAC,iBAAO,EAAC,CAAC,CAACC,OAAO;EAE/C,MAAMC,iBAAiB,gBACrBhE,MAAA,CAAAiE,OAAA,CAAAC,aAAA,CAACpE,KAAA,CAAAqE,IAAI,qBACHnE,MAAA,CAAAiE,OAAA,CAAAC,aAAA,CAACpE,KAAA,CAAAqE,IAAI,CAACC,IAAI;IACRT,GAAG,EAAC,qBAAqB;IACzBU,QAAQ,EAAEtB,KAAK,KAAK,CAAE;IACtBuB,OAAO,EAAEb;EAAwB,GAEhCzB,CAAC,CAACuC,YAAC,CAACC,eAAe,CACX,CAAC,eACZxE,MAAA,CAAAiE,OAAA,CAAAC,aAAA,CAACpE,KAAA,CAAAqE,IAAI,CAACC,IAAI;IAACT,GAAG,EAAC,iBAAiB;IAACW,OAAO,EAAEb;EAAwB,GAC/DzB,CAAC,CAACuC,YAAC,CAACE,eAAe,CACX,CACP,CACP;EAED,MAAMC,aAAa,GAAIC,IAAS,IAAW;IACzClC,aAAa,CAACkC,IAAI,CAAC;EACrB,CAAC;EAED,MAAMC,uBAAuB,GAAGA,CAAA,KAAY;IAC1ChC,sBAAsB,CAAC,KAAK,CAAC;IAC7BH,aAAa,CAACI,kBAAkB,GAAG,CAAC,GAAGA,kBAAkB,CAAC,GAAG,EAAE,CAAC;EAClE,CAAC;EAED,MAAMgC,mBAAmB,GAAGA,CAAA,KAAY;IACtCjC,sBAAsB,CAAC,KAAK,CAAC;IAC7BH,aAAa,CAACD,UAAU,GAAG,CAAC,GAAGA,UAAU,CAAC,GAAG,EAAE,CAAC;IAChDrB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEW,IAAI,CAAC;MAAEsB,MAAM,EAAEZ;IAAW,CAAC,CAAC;EACrC,CAAC;EAED,oBACExC,MAAA,CAAAiE,OAAA,CAAAC,aAAA,CAAAlE,MAAA,CAAAiE,OAAA,CAAAa,QAAA,qBACE9E,MAAA,CAAAiE,OAAA,CAAAC,aAAA,CAACpE,KAAA,CAAAiF,KAAK;IACJC,KAAK,EAAEhD,CAAC,CAACuC,YAAC,CAACU,gBAAgB,CAAE;IAC7B7D,OAAO,EAAEA,OAAQ;IACjB8D,MAAM,eACJlF,MAAA,CAAAiE,OAAA,CAAAC,aAAA;MAAKiB,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAO;IAAE,GAC7BvB,qBAAqB,IACtBtC,iBAAiB,IACjB,CAACC,kBAAkB,gBACjBxB,MAAA,CAAAiE,OAAA,CAAAC,aAAA,CAACpE,KAAA,CAAAuF,QAAQ;MACPC,OAAO,EAAEtB,iBAAkB;MAC3BuB,SAAS,EAAC,SAAS;MACnBC,OAAO,EAAE,CAAC,OAAO,CAAE;MACnB,eAAY;IAA4B,gBAExCxF,MAAA,CAAAiE,OAAA,CAAAC,aAAA,CAACpE,KAAA,CAAA2F,MAAM;MAACC,IAAI,EAAC,SAAS;MAACC,IAAI,eAAE3F,MAAA,CAAAiE,OAAA,CAAAC,aAAA,CAAC3D,MAAA,CAAAqF,gBAAgB,MAAE;IAAE,CAAS,CACnD,CAAC,gBAEX5F,MAAA,CAAAiE,OAAA,CAAAC,aAAA,2BACElE,MAAA,CAAAiE,OAAA,CAAAC,aAAA,CAACpE,KAAA,CAAA2F,MAAM;MACLC,IAAI,EAAC,SAAS;MACdpB,OAAO,EAAEnB,WAAY;MACrB,eAAY;IAAc,GAEzBnB,CAAC,CAACuC,YAAC,CAACE,eAAe,CACd,CACL,CACN,eACDzE,MAAA,CAAAiE,OAAA,CAAAC,aAAA;MAAKiB,KAAK,EAAE;QAAEU,UAAU,EAAE;MAAO;IAAE,gBACjC7F,MAAA,CAAAiE,OAAA,CAAAC,aAAA,CAACpE,KAAA,CAAA2F,MAAM;MACLC,IAAI,EAAC,MAAM;MACXpB,OAAO,EAAEf,YAAa;MACtB,eAAY;IAAe,GAE1BvB,CAAC,CAACuC,YAAC,CAACuB,MAAM,CACL,CAAC,eACT9F,MAAA,CAAAiE,OAAA,CAAAC,aAAA,CAACpE,KAAA,CAAA2F,MAAM;MACLnB,OAAO,EAAEd,gBAAiB;MAC1B,eAAY;IAAsB,GAEjCxB,CAAC,CAACuC,YAAC,CAACwB,aAAa,CACZ,CAAC,eACT/F,MAAA,CAAAiE,OAAA,CAAAC,aAAA,CAACpE,KAAA,CAAA2F,MAAM;MACLC,IAAI,EAAC,SAAS;MACdpB,OAAO,EAAEA,CAAA,KAAMnD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEW,IAAI,CAAC;QAAEsB,MAAM,EAAEZ;MAAW,CAAC,CAAE;MACnD6B,QAAQ,EAAEtB,KAAK,KAAK,CAAE;MACtB,eAAY;IAAW,GAEtBf,CAAC,CAACuC,YAAC,CAACyB,OAAO,CACN,CACL,CACF,CACN;IACDjE,QAAQ,EAAEwB,YAAa;IACvB0C,cAAc,EAAE,IAAK;IACrBC,KAAK,EAAE,GAAI;IACXC,QAAQ,EAAE;EAAK,gBAEfnG,MAAA,CAAAiE,OAAA,CAAAC,aAAA,CAACpE,KAAA,CAAAsG,KAAK;IACJC,OAAO,eACLrG,MAAA,CAAAiE,OAAA,CAAAC,aAAA,CAAAlE,MAAA,CAAAiE,OAAA,CAAAa,QAAA,QACG9C,CAAC,CAACuC,YAAC,CAAC+B,mBAAmB,CAAC,eACzBtG,MAAA,CAAAiE,OAAA,CAAAC,aAAA,CAAC1D,gBAAA,CAAA+F,IAAI;MACHC,EAAE,EAAE,iCAAiClF,SAAS,CAACD,QAAQ,aAAc;MACrEoF,MAAM,EAAE;IAAS,GAEhBzE,CAAC,CAACuC,YAAC,CAACmC,QAAQ,CACT,CAAC,EACN1E,CAAC,CAACuC,YAAC,CAACoC,yBAAyB,CAC9B,CACH;IACDjB,IAAI,EAAC,MAAM;IACXkB,QAAQ,EAAE,KAAM;IAChBzB,KAAK,EAAE;MAAE0B,YAAY,EAAE;IAAG;EAAE,CAC7B,CAAC,eACF7G,MAAA,CAAAiE,OAAA,CAAAC,aAAA,CAAC9D,gBAAA,CAAA0G,eAAe;IACdzF,QAAQ,EAAEA,QAAS;IACnBC,SAAS,EAAEA,SAAU;IACrBG,aAAa,EAAEe,UAAW;IAC1Bb,kBAAkB,EAAEA,kBAAmB;IACvCC,mBAAmB,EAAEA,mBAAoB;IACzCmF,QAAQ,EAAG3D,MAAM,IAAKX,aAAa,CAACW,MAAM;EAAE,CAC7C,CACI,CAAC,eACRpD,MAAA,CAAAiE,OAAA,CAAAC,aAAA,CAACpE,KAAA,CAAAiF,KAAK;IACJC,KAAK,EAAEhD,CAAC,CAACuC,YAAC,CAACwB,aAAa,CAAE;IAC1B3E,OAAO,EAAEuB,mBAAoB;IAC7BsD,cAAc,EAAE,IAAK;IACrBE,QAAQ,EAAE,IAAK;IACfpE,QAAQ,EAAE6C,uBAAwB;IAClC9C,IAAI,EAAE+C;EAAoB,gBAE1B7E,MAAA,CAAAiE,OAAA,CAAAC,aAAA,CAAC7D,aAAA,CAAA2G,YAAY;IACXC,MAAM,EAAC,IAAI;IACX3F,SAAS,EAAEA,SAAU;IACrBG,aAAa,EAAEe,UAAW;IAC1B0E,SAAS,EAAExC;EAAc,CAC1B,CACI,CACP,CAAC;AAEP","ignoreList":[]}
@@ -213,7 +213,9 @@ class LegacyInstanceListTable extends _react.default.Component {
213
213
  }
214
214
  getChangeColumns(ids) {
215
215
  const columns = [];
216
- (0, _cmdbUtils.forEachAvailableFields)((0, _cmdbUtils.modifyModelData)(this.props.modelData), (attr, firstColumns) => columns.push(this.setColumnSortOrder(this.getAttributeColumnData(attr, this.props.modelData, firstColumns))), (relation, sides, firstColumns) => columns.push(this.setColumnSortOrder(this.getRelationColumnData(relation, this.props.modelData, sides, firstColumns))), this.props.modelData.isAbstract ? ids === null || ids === void 0 ? void 0 : ids.filter(i => i !== "_object_id") : ids);
216
+ (0, _cmdbUtils.forEachAvailableFields)((0, _cmdbUtils.modifyModelData)(this.props.modelData, true), (attr, firstColumns) => columns.push(this.setColumnSortOrder(this.getAttributeColumnData(attr, this.props.modelData, firstColumns))), (relation, sides, firstColumns) => columns.push(this.setColumnSortOrder(this.getRelationColumnData(relation, this.props.modelData, sides, firstColumns))), this.props.modelData.isAbstract ? ids === null || ids === void 0 ? void 0 : ids.filter(i => i !== "_object_id") : ids, (relation, firstColumns) => {
217
+ columns.push(this.setColumnSortOrder(this.getTransHierRelationColumnData(relation, this.props.modelData, firstColumns)));
218
+ });
217
219
  const idColumnMap = new Map();
218
220
  columns.forEach(column => idColumnMap.set(column.dataIndex, column));
219
221
  let fieldIds;
@@ -789,6 +791,115 @@ class LegacyInstanceListTable extends _react.default.Component {
789
791
  }
790
792
  return column;
791
793
  }
794
+ getTransHierRelationColumnData(relation, object, firstColumns) {
795
+ var _this$props$fixedFiel3;
796
+ const key = relation.relation_id;
797
+ const column = {
798
+ title: relation.relation_name,
799
+ dataIndex: key,
800
+ sorter: !this.props.sortDisabled,
801
+ className: _InstanceListTableModule.default.instanceListTableCell,
802
+ fixed: (_this$props$fixedFiel3 = this.props.fixedFieldIds) !== null && _this$props$fixedFiel3 !== void 0 && _this$props$fixedFiel3.includes(key) ? "right" : false
803
+ };
804
+ const displayConfig = this.keyDisplayConfigMap[key];
805
+ let tempColumns;
806
+ if (displayConfig) {
807
+ tempColumns = this.getDisplayConfigColumn(displayConfig);
808
+ } else {
809
+ tempColumns = (instances, record, index) => {
810
+ if (instances && instances.length > 0) {
811
+ var _relation$display_key;
812
+ const objectId = relation.relation_object;
813
+ const leftName = relation.relation_name;
814
+ const rightId = relation.reverse_query_path;
815
+ const nameKeys = (_relation$display_key = relation.display_keys) !== null && _relation$display_key !== void 0 && _relation$display_key.length ? relation.display_keys : (0, _cmdbUtils.getInstanceNameKeys)(this.props.idObjectMap[objectId]);
816
+ let detailUrlTemplate;
817
+ if (this.props.detailUrlTemplates) {
818
+ detailUrlTemplate = (0, _cmdbUtils.getTemplateFromMap)(this.props.detailUrlTemplates, objectId);
819
+ }
820
+ // 过滤后的实例
821
+ const filterInstances = instances === null || instances === void 0 ? void 0 : instances.slice(0, this.props.relationLimit);
822
+ const instanceNodes = filterInstances.map((instance, index) => {
823
+ let subName;
824
+ if (nameKeys.length > 1) {
825
+ subName = instance[nameKeys[1]];
826
+ }
827
+ let instanceName = subName ? `${instance[nameKeys[0]]} (${subName})` : instance[nameKeys[0]];
828
+ if (detailUrlTemplate) {
829
+ var _this$props$separator3;
830
+ const url = (0, _cmdbUtils.parseTemplate)(detailUrlTemplate, {
831
+ ...instance,
832
+ objectId
833
+ });
834
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
835
+ key: instance.instanceId
836
+ }, index > 0 && ((_this$props$separator3 = this.props.separatorUsedInRelationData) !== null && _this$props$separator3 !== void 0 ? _this$props$separator3 : "; "), this.props.relationLinkDisabled ? instanceName : /*#__PURE__*/_react.default.createElement(_basicComponents.Link, {
837
+ target: "_blank"
838
+ // 使用 <Link> 以保持链接的原生能力
839
+ ,
840
+ to: url,
841
+ className: _InstanceListTableModule.default.relationLink
842
+ // 自定义 onClick 以支持事件配置和拦截
843
+ ,
844
+ onClick: e => this.handleClickItem(e, record)
845
+ }, instanceName));
846
+ } else {
847
+ if (index > 0) {
848
+ var _this$props$separator4;
849
+ instanceName = ((_this$props$separator4 = this.props.separatorUsedInRelationData) !== null && _this$props$separator4 !== void 0 ? _this$props$separator4 : "; ") + instanceName;
850
+ }
851
+ return instanceName;
852
+ }
853
+ });
854
+ const instanceNodesWrapper = /*#__PURE__*/_react.default.createElement("span", {
855
+ className: (0, _classnames.default)(_InstanceListTableModule.default.instanceListTableRelationWrapper)
856
+ }, /*#__PURE__*/_react.default.createElement("span", {
857
+ className: _InstanceListTableModule.default.instanceListTableRelationText
858
+ }, instanceNodes), /*#__PURE__*/_react.default.createElement(_antd.Tooltip, {
859
+ title: _i18next.default.t(`${_constants.NS_LIBS_CMDB_INSTANCES}:${_constants.K.RELATION_INSTANCE_TOOLTIP}`),
860
+ placement: "top",
861
+ trigger: ["hover", "focus"]
862
+ }, /*#__PURE__*/_react.default.createElement("span", {
863
+ className: _InstanceListTableModule.default.relationMoreIcon
864
+ }, /*#__PURE__*/_react.default.createElement(_basicComponents.GeneralIcon, {
865
+ icon: {
866
+ lib: "easyops",
867
+ category: "patch-manager",
868
+ icon: "patch-list"
869
+ },
870
+ onClick: () => this.handleRelationMoreIconClick({
871
+ ...record,
872
+ objectId,
873
+ left_name: leftName,
874
+ right_id: rightId,
875
+ instanceIds: instances.map(i => i.instanceId)
876
+ })
877
+ }))));
878
+ return instanceNodesWrapper;
879
+ } else {
880
+ return null;
881
+ }
882
+ };
883
+ }
884
+ // istanbul ignore next
885
+ if (tempColumns) {
886
+ column.render = firstColumns && this.props.detailUrlTemplates ? (value, record, index) => {
887
+ //要跳到的路由
888
+ const detailUrlTemplate = (0, _cmdbUtils.getTemplateFromMap)(this.props.detailUrlTemplates, object.objectId);
889
+ if (detailUrlTemplate) {
890
+ const data = {
891
+ ...record,
892
+ objectId: object.objectId
893
+ };
894
+ const url = (0, _cmdbUtils.parseTemplate)(detailUrlTemplate, data);
895
+ return this.getSpecialUrlTemplates(object, record, tempColumns(value, record, index), url);
896
+ } else {
897
+ return this.getSpecialUrlTemplates(object, record, tempColumns(value, record, index));
898
+ }
899
+ } : tempColumns;
900
+ }
901
+ return column;
902
+ }
792
903
  setColumnSortOrder(column) {
793
904
  if (column.dataIndex !== undefined && column.dataIndex === this.props.sort || column.key !== undefined && column.key === this.props.sort) {
794
905
  column.sortOrder = this.props.asc ? SortOrder.Ascend : SortOrder.Descend;