@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.
- package/dist/cjs/i18n/constants.js +6 -0
- package/dist/cjs/i18n/constants.js.map +1 -1
- package/dist/cjs/i18n/locales/en.js +7 -1
- package/dist/cjs/i18n/locales/en.js.map +1 -1
- package/dist/cjs/i18n/locales/zh.js +7 -1
- package/dist/cjs/i18n/locales/zh.js.map +1 -1
- package/dist/cjs/instance-detail/InstanceDetail.js +24 -10
- package/dist/cjs/instance-detail/InstanceDetail.js.map +1 -1
- package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js +2 -2
- package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
- package/dist/cjs/instance-list/InstanceList.js +82 -35
- package/dist/cjs/instance-list/InstanceList.js.map +1 -1
- package/dist/cjs/instance-list-table/AdvancedSearch.js +21 -1
- package/dist/cjs/instance-list-table/AdvancedSearch.js.map +1 -1
- package/dist/cjs/instance-list-table/DisplaySettings.js +44 -10
- package/dist/cjs/instance-list-table/DisplaySettings.js.map +1 -1
- package/dist/cjs/instance-list-table/DisplaySettingsModal.js +12 -2
- package/dist/cjs/instance-list-table/DisplaySettingsModal.js.map +1 -1
- package/dist/cjs/instance-list-table/InstanceListTable.js +112 -1
- package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/cjs/instance-list-table/MoreButtonsContainer.js +1 -0
- package/dist/cjs/instance-list-table/MoreButtonsContainer.js.map +1 -1
- package/dist/esm/i18n/constants.js +6 -0
- package/dist/esm/i18n/constants.js.map +1 -1
- package/dist/esm/i18n/locales/en.js +7 -1
- package/dist/esm/i18n/locales/en.js.map +1 -1
- package/dist/esm/i18n/locales/zh.js +7 -1
- package/dist/esm/i18n/locales/zh.js.map +1 -1
- package/dist/esm/instance-detail/InstanceDetail.js +21 -10
- package/dist/esm/instance-detail/InstanceDetail.js.map +1 -1
- package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js +2 -2
- package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
- package/dist/esm/instance-list/InstanceList.js +91 -38
- package/dist/esm/instance-list/InstanceList.js.map +1 -1
- package/dist/esm/instance-list-table/AdvancedSearch.js +20 -1
- package/dist/esm/instance-list-table/AdvancedSearch.js.map +1 -1
- package/dist/esm/instance-list-table/DisplaySettings.js +45 -11
- package/dist/esm/instance-list-table/DisplaySettings.js.map +1 -1
- package/dist/esm/instance-list-table/DisplaySettings.module.css +7 -0
- package/dist/esm/instance-list-table/DisplaySettingsModal.js +13 -3
- package/dist/esm/instance-list-table/DisplaySettingsModal.js.map +1 -1
- package/dist/esm/instance-list-table/InstanceListTable.js +110 -1
- package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/esm/instance-list-table/MoreButtonsContainer.js +1 -0
- package/dist/esm/instance-list-table/MoreButtonsContainer.js.map +1 -1
- package/dist/types/i18n/constants.d.ts +7 -1
- package/dist/types/instance-detail/components/instance-relation-table-show/instance-relation-table-show.d.ts +4 -2
- package/dist/types/instance-list/InstanceList.d.ts +8 -3
- package/dist/types/instance-list-table/DisplaySettings.d.ts +8 -0
- package/dist/types/instance-list-table/InstanceListTable.d.ts +12 -5
- 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(
|
|
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":"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","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":"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","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;
|