@next-libs/cmdb-instances 7.29.13 → 7.30.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/i18n/constants.js +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 +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplaySettings.js","names":["React","debounce","remove","without","get","isEmpty","groupBy","mapValues","extraFieldAttrs","Checkbox","Col","Divider","Input","Row","getBatchEditableFields","CMDB_RESOURCE_FIELDS_SETTINGS","withTranslation","K","NS_LIBS_CMDB_INSTANCES","LegacyDisplaySettings","Component","constructor","props","_defineProperty","categoryOrders","Set","modelData","t","OTHERS","filteredList","attrAndRelationList","q","state","trim","toLowerCase","filter","attr","name","includes","fieldsKey","attrs","getCAategoryOrders","categoryMap","selectAllFields","length","allFieldsLength","selectCategoryAllFieldsMap","reduce","acc","item","_categoryMap$item","categoryAttrIds","map","id","every","setState","event","value","target","debounceHandleSearch","hideColumns","view","hide_columns","ignoredFields","concat","objectId","forEach","hideColumn","attribute","category","extraAttrIds","extraFieldAttr","extraAttrs","nextFields","currentFields","slice","_categoryMap$item2","extraDisabledFieldSet","extraDisabledFields","filterColTag","componentDidUpdate","prevProps","handleChecked","categoryData","_this$props$onChange","_this$props","fields","checked","attrsIds","_objectSpread","onChange","call","handlecCategoryChecked","_this$props$onChange2","_this$props2","handleSelectAllFields","allFields","_this$props$onChange3","_this$props3","renderCheckbox","field","disabled","extraDisabledField","has","createElement","key","span","style","padding","onClick","stopPropagation","width","wordBreak","render","Fragment","orientation","plain","marginTop","FIELD_SETTINGS","Search","placeholder","SEARCH_BY_FIELD_NAME","handleSearchChange","paddingLeft","verticalAlign","e","SELECT_ALL","maxHeight","overflow","className","index","_categoryMap$category","categoryAttrs","marginBottom","DisplaySettings"],"sources":["../../../src/instance-list-table/DisplaySettings.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n debounce,\n remove,\n without,\n get,\n isEmpty,\n groupBy,\n mapValues,\n} from \"lodash\";\nimport { extraFieldAttrs } from \"./constants\";\nimport { Checkbox, Col, Divider, Input, Row } from \"antd\";\nimport {\n getBatchEditableFields,\n CMDB_RESOURCE_FIELDS_SETTINGS,\n} from \"@next-libs/cmdb-utils\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nexport interface DisplaySettingsProps {\n currentFields: string[];\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n objectId?: string;\n extraDisabledField?: string;\n extraDisabledFields?: string[];\n onChange?(fields: string[]): void;\n}\n\nexport interface WithTranslationDisplaySettingsProps\n extends DisplaySettingsProps,\n WithTranslation {}\n\ninterface DisplaySettingsState {\n nextFields: string[];\n q: string;\n filteredList: any;\n extraDisabledFieldSet: Set<string>;\n selectAllFields: boolean;\n selectCategoryAllFieldsMap: Record<string, boolean>;\n allFieldsLength: number;\n}\n\nexport class LegacyDisplaySettings extends React.Component<\n WithTranslationDisplaySettingsProps,\n DisplaySettingsState\n> {\n debounceHandleSearch: () => void;\n attrAndRelationList: { id: string; name: string; category: string }[] = [];\n\n constructor(props: WithTranslationDisplaySettingsProps) {\n super(props);\n const { t } = props;\n const attrAndRelationList = getBatchEditableFields(this.props.modelData);\n let hideColumns = this.props.modelData.view.hide_columns || [];\n const ignoredFields = get(\n CMDB_RESOURCE_FIELDS_SETTINGS,\n `ignoredFields.${this.props.modelData.objectId}`,\n []\n );\n hideColumns = [...hideColumns, ...ignoredFields];\n\n if (!isEmpty(hideColumns)) {\n hideColumns.forEach((hideColumn: string) => {\n remove(attrAndRelationList, (attr) => attr.id === hideColumn);\n });\n }\n\n this.attrAndRelationList = attrAndRelationList.map((attribute: any) => ({\n id: attribute.id,\n name: attribute.name,\n category: get(\n attribute,\n \"tag[0]\",\n get(attribute, \"left_tags[0]\") || t(K.OTHERS)\n ),\n }));\n\n const filteredList = this.attrAndRelationList;\n const extraAttrIds = extraFieldAttrs.map(\n (extraFieldAttr) => extraFieldAttr.id\n );\n const attrs = filteredList.filter(\n (attr: any) => !extraAttrIds.includes(attr.id)\n );\n const extraAttrs = filteredList.filter((attr: any) =>\n extraAttrIds.includes(attr.id)\n );\n const nextFields = props.currentFields ? props.currentFields.slice() : [];\n\n const allFieldsLength = [...attrs, ...extraAttrs].length;\n const selectAllFields =\n [...new Set([...nextFields])].length === allFieldsLength;\n\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(attrs, \"category\");\n const selectCategoryAllFieldsMap: Record<string, boolean> = {};\n categoryOrders.reduce((acc, item) => {\n const categoryAttrIds = categoryMap[item]?.map((attr) => attr.id);\n acc[item] = selectAllFields\n ? selectAllFields\n : !!categoryAttrIds?.every((id) => nextFields.includes(id));\n return acc;\n }, selectCategoryAllFieldsMap);\n this.state = {\n nextFields,\n q: \"\",\n filteredList: this.attrAndRelationList,\n extraDisabledFieldSet: new Set(props.extraDisabledFields),\n selectAllFields,\n allFieldsLength,\n selectCategoryAllFieldsMap,\n };\n this.debounceHandleSearch = debounce(this.filterColTag, 300);\n }\n\n componentDidUpdate(prevProps: WithTranslationDisplaySettingsProps) {\n if (this.props.currentFields !== prevProps.currentFields) {\n this.setState({\n nextFields: this.props.currentFields\n ? this.props.currentFields.slice()\n : [],\n });\n }\n\n if (this.props.extraDisabledFields !== prevProps.extraDisabledFields) {\n this.setState({\n extraDisabledFieldSet: new Set(this.props.extraDisabledFields),\n });\n }\n }\n\n handleChecked(event: any, attr: any, categoryData?: any) {\n const fieldsKey = \"nextFields\";\n const { category, attrs } = categoryData ?? {};\n const fields = event.target.checked\n ? this.state[fieldsKey].concat(attr.id)\n : without(this.state[fieldsKey], attr.id);\n if (category) {\n const attrsIds = attrs.map((attr: any) => attr.id);\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n selectCategoryAllFieldsMap: {\n ...this.state.selectCategoryAllFieldsMap,\n [category]: attrsIds.every((id: string) => fields.includes(id)),\n },\n });\n } else {\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n });\n }\n\n this.props.onChange?.(fields);\n }\n\n handlecCategoryChecked(event: any, categoryData: any) {\n const checked = event.target.checked;\n const fieldsKey = \"nextFields\";\n const { category, attrs } = categoryData;\n const attrsIds = attrs.map((attr: any) => attr.id);\n const fields = [\n ...new Set([\n ...(checked\n ? this.state[fieldsKey].concat(attrsIds)\n : without(this.state[fieldsKey], ...attrsIds)),\n ]),\n ];\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n selectCategoryAllFieldsMap: {\n ...this.state.selectCategoryAllFieldsMap,\n [category]: checked,\n },\n });\n this.props.onChange?.(fields);\n }\n\n handleSelectAllFields(event: any, allFields: any[]) {\n const fieldsKey = \"nextFields\";\n const checked = event.target.checked;\n const fields = checked ? allFields.map((attr) => attr.id) : [];\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: event.target.checked,\n selectCategoryAllFieldsMap: mapValues(\n this.state.selectCategoryAllFieldsMap,\n () => checked\n ),\n });\n this.props.onChange?.(fields);\n }\n\n renderCheckbox(\n attr: any,\n field: \"nextFields\" | \"otherFields\",\n categoryData?: any\n ) {\n const fieldsKey = \"nextFields\";\n const checked = this.state[fieldsKey].includes(attr.id);\n const disabled =\n attr.id === this.props.extraDisabledField ||\n this.state.extraDisabledFieldSet.has(attr.id);\n return (\n <Col\n key={attr.id}\n span={8}\n style={{ padding: 5 }}\n onClick={(event) => event.stopPropagation()}\n >\n <Checkbox\n name={field}\n style={{\n width: \"100%\",\n wordBreak: \"break-all\",\n }}\n checked={checked}\n disabled={disabled}\n onChange={(event) => this.handleChecked(event, attr, categoryData)}\n data-testid={`${attr.id}-checkbox`}\n >\n {attr.name}\n </Checkbox>\n </Col>\n );\n }\n getCAategoryOrders = () => {\n const categoryOrders = [\n ...new Set([\n ...get(this.props.modelData, \"view.attr_category_order\", []),\n this.props.t(K.OTHERS),\n ]),\n ]; //分组排序\n return categoryOrders;\n };\n filterColTag = () => {\n let filteredList = this.attrAndRelationList;\n const q = this.state.q.trim().toLowerCase();\n if (q) {\n filteredList = filteredList.filter((attr) => {\n return attr.name.toLowerCase().includes(q);\n });\n }\n const fieldsKey = \"nextFields\";\n const attrs = this.state[fieldsKey];\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(filteredList, \"category\");\n const selectAllFields = attrs.length === this.state.allFieldsLength;\n const selectCategoryAllFieldsMap: Record<string, boolean> = {};\n categoryOrders.reduce((acc, item) => {\n const categoryAttrIds = categoryMap[item]?.map((attr) => attr.id);\n acc[item] = selectAllFields\n ? selectAllFields\n : !!categoryAttrIds?.every((id) => attrs.includes(id));\n return acc;\n }, selectCategoryAllFieldsMap);\n this.setState({\n filteredList,\n selectAllFields,\n selectCategoryAllFieldsMap,\n });\n };\n\n handleSearchChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n this.setState({\n q: value,\n });\n this.debounceHandleSearch();\n };\n render() {\n const { t } = this.props;\n const filteredList = this.state.filteredList;\n const extraAttrIds = extraFieldAttrs.map(\n (extraFieldAttr) => extraFieldAttr.id\n );\n const attrs = filteredList.filter(\n (attr: any) => !extraAttrIds.includes(attr.id)\n );\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(attrs, \"category\");\n const extraAttrs = filteredList.filter((attr: any) =>\n extraAttrIds.includes(attr.id)\n );\n return (\n <>\n <Divider orientation=\"left\" plain style={{ marginTop: 0 }}>\n {t(K.FIELD_SETTINGS)}\n </Divider>\n <div>\n <Input.Search\n value={this.state.q}\n placeholder={t(K.SEARCH_BY_FIELD_NAME)}\n onChange={this.handleSearchChange}\n style={{ width: 200 }}\n data-testid=\"search-input\"\n />\n\n <span style={{ paddingLeft: 15, verticalAlign: \"sub\" }}>\n <Checkbox\n checked={this.state.selectAllFields}\n onChange={(e) =>\n this.handleSelectAllFields(e, [...attrs, ...extraAttrs])\n }\n data-testid={`checkbox-select-all`}\n >\n {t(K.SELECT_ALL)}\n </Checkbox>\n </span>\n </div>\n <div\n style={{\n marginTop: 15,\n maxHeight: 500,\n overflow: \"auto\",\n }}\n className=\"nextFields\"\n >\n {categoryOrders?.map((category, index) => {\n const categoryAttrs = categoryMap?.[category] ?? [];\n return categoryAttrs.length > 0 ? (\n <div\n style={{\n marginBottom: index === categoryOrders.length - 1 ? 0 : 15,\n }}\n >\n <Checkbox\n checked={this.state.selectCategoryAllFieldsMap[category]}\n onChange={(e) => {\n this.handlecCategoryChecked(e, {\n category,\n attrs: categoryAttrs,\n });\n }}\n >\n {category}\n </Checkbox>\n <Row style={{ padding: \"12px 12px 0px 12px\" }}>\n {categoryAttrs.map((attr: any) =>\n this.renderCheckbox(attr, \"nextFields\", {\n category,\n attrs: categoryAttrs,\n })\n )}\n </Row>\n </div>\n ) : null;\n })}\n {extraAttrs.length > 0 ? (\n <Row>\n <Divider />\n {extraAttrs.map((attr: any) =>\n this.renderCheckbox(attr, \"nextFields\")\n )}\n </Row>\n ) : null}\n </div>\n </>\n );\n }\n}\n\nexport const DisplaySettings = withTranslation(NS_LIBS_CMDB_INSTANCES)(\n LegacyDisplaySettings\n);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DisplaySettings.js","names":["React","debounce","remove","without","get","isEmpty","groupBy","mapValues","extraFieldAttrs","Checkbox","Col","Divider","Input","Row","Tag","getBatchEditableFields","CMDB_RESOURCE_FIELDS_SETTINGS","withTranslation","K","NS_LIBS_CMDB_INSTANCES","styles","classNames","AttributeType","LegacyDisplaySettings","Component","constructor","props","_defineProperty","categoryOrders","Set","modelData","t","OTHERS","filteredList","attrAndRelationList","q","state","trim","toLowerCase","type","filter","attr","qResult","name","includes","typeResult","fieldsKey","attrs","getCAategoryOrders","categoryMap","selectAllFields","length","allFieldsLength","selectCategoryAllFieldsMap","reduce","acc","item","_categoryMap$item","categoryAttrIds","map","id","every","setState","event","value","target","debounceHandleSearch","hideColumns","view","hide_columns","ignoredFields","concat","objectId","forEach","hideColumn","attribute","isTransHierRelation","TransHierRelation","isRelation","Relation","Attribute","category","extraAttrIds","extraFieldAttr","extraAttrs","nextFields","currentFields","slice","_categoryMap$item2","extraDisabledFieldSet","extraDisabledFields","filterColTag","componentDidUpdate","prevProps","handleChecked","categoryData","_this$props$onChange","_this$props","fields","checked","attrsIds","_objectSpread","onChange","call","handlecCategoryChecked","_this$props$onChange2","_this$props2","handleSelectAllFields","allFields","_this$props$onChange3","_this$props3","renderCheckbox","field","disabled","extraDisabledField","has","createElement","key","span","style","padding","onClick","stopPropagation","width","wordBreak","render","attributeTypeMap","ATTRIBUTES","RELATIONSHIPS","CROSS_LEVEL_RELATIONSHIPS","Fragment","orientation","plain","marginTop","FIELD_SETTINGS","display","alignItems","Search","placeholder","SEARCH_BY_FIELD_NAME","handleSearchChange","paddingRight","Object","keys","className","fieldTypeTag","fieldTypeActive","handleFilterType","paddingLeft","verticalAlign","e","SELECT_ALL","maxHeight","overflow","index","_categoryMap$category","categoryAttrs","marginBottom","DisplaySettings"],"sources":["../../../src/instance-list-table/DisplaySettings.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n debounce,\n remove,\n without,\n get,\n isEmpty,\n groupBy,\n mapValues,\n} from \"lodash\";\nimport { extraFieldAttrs } from \"./constants\";\nimport { Checkbox, Col, Divider, Input, Row, 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":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
2
|
-
import { Button, Modal, Dropdown, Menu } from "antd";
|
|
2
|
+
import { Button, Modal, Dropdown, Menu, Alert } from "antd";
|
|
3
3
|
import React, { useMemo, useState } from "react";
|
|
4
4
|
import { useTranslation } from "react-i18next";
|
|
5
5
|
import { K, NS_LIBS_CMDB_INSTANCES } from "../i18n/constants";
|
|
@@ -7,6 +7,7 @@ import { DisplaySettings } from "./DisplaySettings";
|
|
|
7
7
|
import { SortSettings } from "./SortSettings";
|
|
8
8
|
import { getAuth } from "@next-core/brick-kit";
|
|
9
9
|
import { EllipsisOutlined } from "@ant-design/icons";
|
|
10
|
+
import { Link } from "@next-libs/basic-components";
|
|
10
11
|
var sortField = function () {
|
|
11
12
|
var dataSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
12
13
|
var order = arguments.length > 1 ? arguments[1] : undefined;
|
|
@@ -66,7 +67,6 @@ export function DisplaySettingsModal(props) {
|
|
|
66
67
|
isReset: false,
|
|
67
68
|
isAdminSetDisplay: true
|
|
68
69
|
});
|
|
69
|
-
setNextFields(sortCurrentFields ? [...sortCurrentFields] : []);
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
72
|
var showIsAdminSetDefault = getAuth().isAdmin;
|
|
@@ -134,7 +134,17 @@ export function DisplaySettingsModal(props) {
|
|
|
134
134
|
destroyOnClose: true,
|
|
135
135
|
width: 780,
|
|
136
136
|
centered: true
|
|
137
|
-
}, /*#__PURE__*/React.createElement(
|
|
137
|
+
}, /*#__PURE__*/React.createElement(Alert, {
|
|
138
|
+
message: /*#__PURE__*/React.createElement(React.Fragment, null, t(K.SORT_SETTINGS_ALERT), /*#__PURE__*/React.createElement(Link, {
|
|
139
|
+
to: "/cmdb-model-management/object/".concat(modelData.objectId, "/view?key=3"),
|
|
140
|
+
target: "_blank"
|
|
141
|
+
}, t(K.MANAGING)), t(K.SORT_SETTINGS_AFTER_ALERT)),
|
|
142
|
+
type: "info",
|
|
143
|
+
showIcon: false,
|
|
144
|
+
style: {
|
|
145
|
+
marginBottom: 16
|
|
146
|
+
}
|
|
147
|
+
}), /*#__PURE__*/React.createElement(DisplaySettings, {
|
|
138
148
|
objectId: objectId,
|
|
139
149
|
modelData: modelData,
|
|
140
150
|
currentFields: nextFields,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplaySettingsModal.js","names":["Button","Modal","Dropdown","Menu","React","useMemo","useState","useTranslation","K","NS_LIBS_CMDB_INSTANCES","DisplaySettings","SortSettings","getAuth","EllipsisOutlined","sortField","dataSource","arguments","length","undefined","order","sort","a","b","indexA","indexOf","indexB","DisplaySettingsModal","props","visible","objectId","modelData","saveFieldsBackend","useExternalCmdbApi","currentFields","defaultFields","extraDisabledField","extraDisabledFields","sortFields","onOk","onCancel","t","sortAttrList","map","v","field","sortCurrentFields","nextFields","setNextFields","sortSettingsVisible","setSortSettingsVisible","originalNextFields","setOriginalNextFields","count","filter","handleReset","fields","slice","isReset","handleCancel","handleSortFields","handleDropdownMenuClick","e","key","isAdminSetDisplay","showIsAdminSetDefault","isAdmin","dropdownMenuItems","createElement","Item","disabled","onClick","DEFAULT_DISPLAY","RESTORE_DEFAULT","handleSortEnd","data","handleSortSettingCancel","handleSortSettingOk","Fragment","title","DISPLAY_SETTINGS","footer","style","display","overlay","placement","trigger","type","icon","marginLeft","CANCEL","SORT_SETTINGS","CONFIRM","destroyOnClose","width","centered","onChange","rowKey","onSortEnd"],"sources":["../../../src/instance-list-table/DisplaySettingsModal.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport { Button, Modal, Dropdown, Menu } from \"antd\";\nimport React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { DisplaySettings, DisplaySettingsProps } from \"./DisplaySettings\";\nimport { SortSettings } from \"./SortSettings\";\nimport { getAuth } from \"@next-core/brick-kit\";\nimport { EllipsisOutlined } from \"@ant-design/icons\";\n\nexport interface DisplaySettingsModalData {\n fields: string[];\n isReset?: boolean;\n isAdminSetDisplay?: boolean;\n}\n\nexport interface DisplaySettingsModalProps extends DisplaySettingsProps {\n visible?: boolean;\n defaultFields?: string[];\n saveFieldsBackend?: boolean;\n useExternalCmdbApi?: boolean;\n sortFields?: { field: string; order: number }[];\n onOk?(data: DisplaySettingsModalData): void;\n onCancel?(): void;\n}\n\nconst sortField = (dataSource: string[] = [], order: string[]) => {\n return dataSource?.sort((a: string, b: string) => {\n const indexA = order.indexOf(a);\n const indexB = order.indexOf(b);\n return indexA - indexB;\n });\n};\nexport function DisplaySettingsModal(\n props: DisplaySettingsModalProps\n): React.ReactElement {\n const {\n visible,\n objectId,\n modelData,\n saveFieldsBackend,\n useExternalCmdbApi,\n currentFields,\n defaultFields,\n extraDisabledField,\n extraDisabledFields,\n sortFields,\n onOk,\n onCancel,\n } = props;\n\n const { t } = useTranslation(NS_LIBS_CMDB_INSTANCES);\n const sortAttrList = sortFields ? sortFields.map((v) => v.field) : [];\n const sortCurrentFields = sortField([...(currentFields ?? [])], sortAttrList);\n\n const [nextFields, setNextFields] = useState<string[]>(sortCurrentFields);\n const [sortSettingsVisible, setSortSettingsVisible] =\n useState<boolean>(false);\n const [originalNextFields, setOriginalNextFields] =\n useState<string[]>(sortCurrentFields);\n\n const count = useMemo(\n () => nextFields?.filter((v) => v !== \"_object_id\").length,\n [nextFields]\n );\n\n const handleReset = (): void => {\n const fields = defaultFields ? defaultFields.slice() : [];\n setNextFields(fields);\n onOk?.({ fields, isReset: true });\n };\n\n const handleCancel = (): void => {\n setNextFields(sortCurrentFields ? [...sortCurrentFields] : []);\n onCancel?.();\n };\n\n const handleSortFields = (): void => {\n setSortSettingsVisible(true);\n setOriginalNextFields(nextFields ? [...nextFields] : []);\n };\n\n const handleDropdownMenuClick = (e: any): void => {\n if (e.key === \"restore-default\") {\n handleReset();\n } else {\n // 管理员将现在选中的字段设置为默认显示, 不会影响到当前列表展示字段,所以需要类似【取消】操作重置字段。\n props?.onOk({\n fields: nextFields,\n isReset: false,\n isAdminSetDisplay: true,\n });\n setNextFields(sortCurrentFields ? [...sortCurrentFields] : []);\n }\n };\n\n const showIsAdminSetDefault = getAuth().isAdmin;\n\n const dropdownMenuItems = (\n <Menu>\n <Menu.Item\n key=\"set-default-display\"\n disabled={count === 0}\n onClick={handleDropdownMenuClick}\n >\n {t(K.DEFAULT_DISPLAY)}\n </Menu.Item>\n <Menu.Item key=\"restore-default\" onClick={handleDropdownMenuClick}>\n {t(K.RESTORE_DEFAULT)}\n </Menu.Item>\n </Menu>\n );\n\n const handleSortEnd = (data: any): void => {\n setNextFields(data);\n };\n\n const handleSortSettingCancel = (): void => {\n setSortSettingsVisible(false);\n setNextFields(originalNextFields ? [...originalNextFields] : []);\n };\n\n const handleSortSettingOk = (): void => {\n setSortSettingsVisible(false);\n setNextFields(nextFields ? [...nextFields] : []);\n props?.onOk({ fields: nextFields });\n };\n\n return (\n <>\n <Modal\n title={t(K.DISPLAY_SETTINGS)}\n visible={visible}\n footer={\n <div style={{ display: \"flex\" }}>\n {showIsAdminSetDefault &&\n saveFieldsBackend &&\n !useExternalCmdbApi ? (\n <Dropdown\n overlay={dropdownMenuItems}\n placement=\"topLeft\"\n trigger={[\"click\"]}\n data-testid=\"admin-set-display-dropdown\"\n >\n <Button type=\"default\" icon={<EllipsisOutlined />}></Button>\n </Dropdown>\n ) : (\n <div>\n <Button\n type=\"default\"\n onClick={handleReset}\n data-testid=\"reset-button\"\n >\n {t(K.RESTORE_DEFAULT)}\n </Button>\n </div>\n )}\n <div style={{ marginLeft: \"auto\" }}>\n <Button\n type=\"text\"\n onClick={handleCancel}\n data-testid=\"cancel-button\"\n >\n {t(K.CANCEL)}\n </Button>\n <Button\n onClick={handleSortFields}\n data-testid=\"sort-settings-button\"\n >\n {t(K.SORT_SETTINGS)}\n </Button>\n <Button\n type=\"primary\"\n onClick={() => props?.onOk({ fields: nextFields })}\n disabled={count === 0}\n data-testid=\"ok-button\"\n >\n {t(K.CONFIRM)}\n </Button>\n </div>\n </div>\n }\n onCancel={handleCancel}\n destroyOnClose={true}\n width={780}\n centered={true}\n >\n <DisplaySettings\n objectId={objectId}\n modelData={modelData}\n currentFields={nextFields}\n extraDisabledField={extraDisabledField}\n extraDisabledFields={extraDisabledFields}\n onChange={(fields) => setNextFields(fields)}\n />\n </Modal>\n <Modal\n title={t(K.SORT_SETTINGS)}\n visible={sortSettingsVisible}\n destroyOnClose={true}\n centered={true}\n onCancel={handleSortSettingCancel}\n onOk={handleSortSettingOk}\n >\n <SortSettings\n rowKey=\"id\"\n modelData={modelData}\n currentFields={nextFields}\n onSortEnd={handleSortEnd}\n />\n </Modal>\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DisplaySettingsModal.js","names":["Button","Modal","Dropdown","Menu","Alert","React","useMemo","useState","useTranslation","K","NS_LIBS_CMDB_INSTANCES","DisplaySettings","SortSettings","getAuth","EllipsisOutlined","Link","sortField","dataSource","arguments","length","undefined","order","sort","a","b","indexA","indexOf","indexB","DisplaySettingsModal","props","visible","objectId","modelData","saveFieldsBackend","useExternalCmdbApi","currentFields","defaultFields","extraDisabledField","extraDisabledFields","sortFields","onOk","onCancel","t","sortAttrList","map","v","field","sortCurrentFields","nextFields","setNextFields","sortSettingsVisible","setSortSettingsVisible","originalNextFields","setOriginalNextFields","count","filter","handleReset","fields","slice","isReset","handleCancel","handleSortFields","handleDropdownMenuClick","e","key","isAdminSetDisplay","showIsAdminSetDefault","isAdmin","dropdownMenuItems","createElement","Item","disabled","onClick","DEFAULT_DISPLAY","RESTORE_DEFAULT","handleSortEnd","data","handleSortSettingCancel","handleSortSettingOk","Fragment","title","DISPLAY_SETTINGS","footer","style","display","overlay","placement","trigger","type","icon","marginLeft","CANCEL","SORT_SETTINGS","CONFIRM","destroyOnClose","width","centered","message","SORT_SETTINGS_ALERT","to","concat","target","MANAGING","SORT_SETTINGS_AFTER_ALERT","showIcon","marginBottom","onChange","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":[]}
|
|
@@ -26,6 +26,7 @@ import { CmdbUrlLink } from "../cmdb-url-link/CmdbUrlLink";
|
|
|
26
26
|
import { FloatDisplayBrick } from "../float-display-brick/FloatDisplayBrick";
|
|
27
27
|
import { JsonDisplayBrick } from "../json-display-brick/JsonDisplayBrick";
|
|
28
28
|
import { XmlDisplayBrick } from "../xml-display-brick/XmlDisplayBrick";
|
|
29
|
+
|
|
29
30
|
// const { Paragraph } = Typography;
|
|
30
31
|
var SortOrder;
|
|
31
32
|
(function (SortOrder) {
|
|
@@ -217,7 +218,9 @@ export class LegacyInstanceListTable extends React.Component {
|
|
|
217
218
|
}
|
|
218
219
|
getChangeColumns(ids) {
|
|
219
220
|
var columns = [];
|
|
220
|
-
forEachAvailableFields(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)
|
|
221
|
+
forEachAvailableFields(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) => {
|
|
222
|
+
columns.push(this.setColumnSortOrder(this.getTransHierRelationColumnData(relation, this.props.modelData, firstColumns)));
|
|
223
|
+
});
|
|
221
224
|
var idColumnMap = new Map();
|
|
222
225
|
columns.forEach(column => idColumnMap.set(column.dataIndex, column));
|
|
223
226
|
var fieldIds;
|
|
@@ -795,6 +798,112 @@ export class LegacyInstanceListTable extends React.Component {
|
|
|
795
798
|
}
|
|
796
799
|
return column;
|
|
797
800
|
}
|
|
801
|
+
getTransHierRelationColumnData(relation, object, firstColumns) {
|
|
802
|
+
var _this$props$fixedFiel3;
|
|
803
|
+
var key = relation.relation_id;
|
|
804
|
+
var column = {
|
|
805
|
+
title: relation.relation_name,
|
|
806
|
+
dataIndex: key,
|
|
807
|
+
sorter: !this.props.sortDisabled,
|
|
808
|
+
className: styles.instanceListTableCell,
|
|
809
|
+
fixed: (_this$props$fixedFiel3 = this.props.fixedFieldIds) !== null && _this$props$fixedFiel3 !== void 0 && _this$props$fixedFiel3.includes(key) ? "right" : false
|
|
810
|
+
};
|
|
811
|
+
var displayConfig = this.keyDisplayConfigMap[key];
|
|
812
|
+
var tempColumns;
|
|
813
|
+
if (displayConfig) {
|
|
814
|
+
tempColumns = this.getDisplayConfigColumn(displayConfig);
|
|
815
|
+
} else {
|
|
816
|
+
tempColumns = (instances, record, index) => {
|
|
817
|
+
if (instances && instances.length > 0) {
|
|
818
|
+
var _relation$display_key;
|
|
819
|
+
var objectId = relation.relation_object;
|
|
820
|
+
var leftName = relation.relation_name;
|
|
821
|
+
var rightId = relation.reverse_query_path;
|
|
822
|
+
var nameKeys = (_relation$display_key = relation.display_keys) !== null && _relation$display_key !== void 0 && _relation$display_key.length ? relation.display_keys : getInstanceNameKeys(this.props.idObjectMap[objectId]);
|
|
823
|
+
var detailUrlTemplate;
|
|
824
|
+
if (this.props.detailUrlTemplates) {
|
|
825
|
+
detailUrlTemplate = getTemplateFromMap(this.props.detailUrlTemplates, objectId);
|
|
826
|
+
}
|
|
827
|
+
// 过滤后的实例
|
|
828
|
+
var filterInstances = instances === null || instances === void 0 ? void 0 : instances.slice(0, this.props.relationLimit);
|
|
829
|
+
var instanceNodes = filterInstances.map((instance, index) => {
|
|
830
|
+
var subName;
|
|
831
|
+
if (nameKeys.length > 1) {
|
|
832
|
+
subName = instance[nameKeys[1]];
|
|
833
|
+
}
|
|
834
|
+
var instanceName = subName ? "".concat(instance[nameKeys[0]], " (").concat(subName, ")") : instance[nameKeys[0]];
|
|
835
|
+
if (detailUrlTemplate) {
|
|
836
|
+
var _this$props$separator3;
|
|
837
|
+
var url = parseTemplate(detailUrlTemplate, _objectSpread(_objectSpread({}, instance), {}, {
|
|
838
|
+
objectId
|
|
839
|
+
}));
|
|
840
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
841
|
+
key: instance.instanceId
|
|
842
|
+
}, index > 0 && ((_this$props$separator3 = this.props.separatorUsedInRelationData) !== null && _this$props$separator3 !== void 0 ? _this$props$separator3 : "; "), this.props.relationLinkDisabled ? instanceName : /*#__PURE__*/React.createElement(Link, {
|
|
843
|
+
target: "_blank"
|
|
844
|
+
// 使用 <Link> 以保持链接的原生能力
|
|
845
|
+
,
|
|
846
|
+
to: url,
|
|
847
|
+
className: styles.relationLink
|
|
848
|
+
// 自定义 onClick 以支持事件配置和拦截
|
|
849
|
+
,
|
|
850
|
+
onClick: e => this.handleClickItem(e, record)
|
|
851
|
+
}, instanceName));
|
|
852
|
+
} else {
|
|
853
|
+
if (index > 0) {
|
|
854
|
+
var _this$props$separator4;
|
|
855
|
+
instanceName = ((_this$props$separator4 = this.props.separatorUsedInRelationData) !== null && _this$props$separator4 !== void 0 ? _this$props$separator4 : "; ") + instanceName;
|
|
856
|
+
}
|
|
857
|
+
return instanceName;
|
|
858
|
+
}
|
|
859
|
+
});
|
|
860
|
+
var instanceNodesWrapper = /*#__PURE__*/React.createElement("span", {
|
|
861
|
+
className: classnames(styles.instanceListTableRelationWrapper)
|
|
862
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
863
|
+
className: styles.instanceListTableRelationText
|
|
864
|
+
}, instanceNodes), /*#__PURE__*/React.createElement(Tooltip, {
|
|
865
|
+
title: i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.RELATION_INSTANCE_TOOLTIP)),
|
|
866
|
+
placement: "top",
|
|
867
|
+
trigger: ["hover", "focus"]
|
|
868
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
869
|
+
className: styles.relationMoreIcon
|
|
870
|
+
}, /*#__PURE__*/React.createElement(GeneralIcon, {
|
|
871
|
+
icon: {
|
|
872
|
+
lib: "easyops",
|
|
873
|
+
category: "patch-manager",
|
|
874
|
+
icon: "patch-list"
|
|
875
|
+
},
|
|
876
|
+
onClick: () => this.handleRelationMoreIconClick(_objectSpread(_objectSpread({}, record), {}, {
|
|
877
|
+
objectId,
|
|
878
|
+
left_name: leftName,
|
|
879
|
+
right_id: rightId,
|
|
880
|
+
instanceIds: instances.map(i => i.instanceId)
|
|
881
|
+
}))
|
|
882
|
+
}))));
|
|
883
|
+
return instanceNodesWrapper;
|
|
884
|
+
} else {
|
|
885
|
+
return null;
|
|
886
|
+
}
|
|
887
|
+
};
|
|
888
|
+
}
|
|
889
|
+
// istanbul ignore next
|
|
890
|
+
if (tempColumns) {
|
|
891
|
+
column.render = firstColumns && this.props.detailUrlTemplates ? (value, record, index) => {
|
|
892
|
+
//要跳到的路由
|
|
893
|
+
var detailUrlTemplate = getTemplateFromMap(this.props.detailUrlTemplates, object.objectId);
|
|
894
|
+
if (detailUrlTemplate) {
|
|
895
|
+
var data = _objectSpread(_objectSpread({}, record), {}, {
|
|
896
|
+
objectId: object.objectId
|
|
897
|
+
});
|
|
898
|
+
var url = parseTemplate(detailUrlTemplate, data);
|
|
899
|
+
return this.getSpecialUrlTemplates(object, record, tempColumns(value, record, index), url);
|
|
900
|
+
} else {
|
|
901
|
+
return this.getSpecialUrlTemplates(object, record, tempColumns(value, record, index));
|
|
902
|
+
}
|
|
903
|
+
} : tempColumns;
|
|
904
|
+
}
|
|
905
|
+
return column;
|
|
906
|
+
}
|
|
798
907
|
setColumnSortOrder(column) {
|
|
799
908
|
if (column.dataIndex !== undefined && column.dataIndex === this.props.sort || column.key !== undefined && column.key === this.props.sort) {
|
|
800
909
|
column.sortOrder = this.props.asc ? SortOrder.Ascend : SortOrder.Descend;
|