@next-libs/cmdb-instances 7.25.0 → 7.25.2
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/instance-detail/InstanceDetail.js +38 -3
- package/dist/cjs/instance-detail/InstanceDetail.js.map +1 -1
- package/dist/cjs/instance-list-table/DisplaySettings.js +1 -1
- package/dist/cjs/instance-list-table/DisplaySettings.js.map +1 -1
- package/dist/esm/instance-detail/InstanceDetail.js +37 -3
- package/dist/esm/instance-detail/InstanceDetail.js.map +1 -1
- package/dist/esm/instance-detail/index.module.css +32 -0
- package/dist/esm/instance-list-table/DisplaySettings.js +1 -1
- package/dist/esm/instance-list-table/DisplaySettings.js.map +1 -1
- package/dist/types/instance-detail/InstanceDetail.d.ts +4 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplaySettings.js","names":["_react","_interopRequireDefault","require","_lodash","_constants","_antd","_cmdbUtils","_i18next","_constants2","DisplaySettings","React","Component","constructor","props","_defineProperty2","default","categoryOrders","Set","get","modelData","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","i18n","t","NS_LIBS_CMDB_INSTANCES","K","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"],"sources":["../../../src/instance-list-table/DisplaySettings.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n debounce,\n remove,\n without,\n get,\n isEmpty,\n groupBy,\n mapValues,\n} from \"lodash\";\nimport { extraFieldAttrs } from \"./constants\";\nimport { Checkbox, Col, Divider, Input, Row } from \"antd\";\nimport {\n getBatchEditableFields,\n CMDB_RESOURCE_FIELDS_SETTINGS,\n} from \"@next-libs/cmdb-utils\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nexport interface DisplaySettingsProps {\n currentFields: string[];\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n objectId?: string;\n extraDisabledField?: string;\n extraDisabledFields?: string[];\n onChange?(fields: string[]): void;\n}\n\ninterface DisplaySettingsState {\n nextFields: string[];\n q: string;\n filteredList: any;\n extraDisabledFieldSet: Set<string>;\n selectAllFields: boolean;\n selectCategoryAllFieldsMap: Record<string, boolean>;\n allFieldsLength: number;\n}\n\nexport class DisplaySettings extends React.Component<\n DisplaySettingsProps,\n DisplaySettingsState\n> {\n debounceHandleSearch: () => void;\n attrAndRelationList: { id: string; name: string; category: string }[] = [];\n\n constructor(props: DisplaySettingsProps) {\n super(props);\n const attrAndRelationList = getBatchEditableFields(this.props.modelData);\n let hideColumns = this.props.modelData.view.hide_columns || [];\n const ignoredFields = get(\n CMDB_RESOURCE_FIELDS_SETTINGS,\n `ignoredFields.${this.props.modelData.objectId}`,\n []\n );\n hideColumns = [...hideColumns, ...ignoredFields];\n\n if (!isEmpty(hideColumns)) {\n hideColumns.forEach((hideColumn: string) => {\n remove(attrAndRelationList, (attr) => attr.id === hideColumn);\n });\n }\n\n this.attrAndRelationList = attrAndRelationList.map((attribute: any) => ({\n id: attribute.id,\n name: attribute.name,\n category: get(\n attribute,\n \"tag[0]\",\n get(attribute, \"left_tags[0]\", \"其他\")\n ),\n }));\n\n const filteredList = this.attrAndRelationList;\n const extraAttrIds = extraFieldAttrs.map(\n (extraFieldAttr) => extraFieldAttr.id\n );\n const attrs = filteredList.filter(\n (attr: any) => !extraAttrIds.includes(attr.id)\n );\n const extraAttrs = filteredList.filter((attr: any) =>\n extraAttrIds.includes(attr.id)\n );\n const nextFields = props.currentFields ? props.currentFields.slice() : [];\n\n const allFieldsLength = [...attrs, ...extraAttrs].length;\n const selectAllFields =\n [...new Set([...nextFields])].length === allFieldsLength;\n\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(attrs, \"category\");\n const selectCategoryAllFieldsMap: Record<string, boolean> = {};\n categoryOrders.reduce((acc, item) => {\n const categoryAttrIds = categoryMap[item]?.map((attr) => attr.id);\n acc[item] = selectAllFields\n ? selectAllFields\n : !!categoryAttrIds?.every((id) => nextFields.includes(id));\n return acc;\n }, selectCategoryAllFieldsMap);\n this.state = {\n nextFields,\n q: \"\",\n filteredList: this.attrAndRelationList,\n extraDisabledFieldSet: new Set(props.extraDisabledFields),\n selectAllFields,\n allFieldsLength,\n selectCategoryAllFieldsMap,\n };\n this.debounceHandleSearch = debounce(this.filterColTag, 300);\n }\n\n componentDidUpdate(prevProps: DisplaySettingsProps) {\n if (this.props.currentFields !== prevProps.currentFields) {\n this.setState({\n nextFields: this.props.currentFields\n ? this.props.currentFields.slice()\n : [],\n });\n }\n\n if (this.props.extraDisabledFields !== prevProps.extraDisabledFields) {\n this.setState({\n extraDisabledFieldSet: new Set(this.props.extraDisabledFields),\n });\n }\n }\n\n handleChecked(event: any, attr: any, categoryData?: any) {\n const fieldsKey = \"nextFields\";\n const { category, attrs } = categoryData ?? {};\n const fields = event.target.checked\n ? this.state[fieldsKey].concat(attr.id)\n : without(this.state[fieldsKey], attr.id);\n if (category) {\n const attrsIds = attrs.map((attr: any) => attr.id);\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n selectCategoryAllFieldsMap: {\n ...this.state.selectCategoryAllFieldsMap,\n [category]: attrsIds.every((id: string) => fields.includes(id)),\n },\n });\n } else {\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n });\n }\n\n this.props.onChange?.(fields);\n }\n\n handlecCategoryChecked(event: any, categoryData: any) {\n const checked = event.target.checked;\n const fieldsKey = \"nextFields\";\n const { category, attrs } = categoryData;\n const attrsIds = attrs.map((attr: any) => attr.id);\n const fields = [\n ...new Set([\n ...(checked\n ? this.state[fieldsKey].concat(attrsIds)\n : without(this.state[fieldsKey], ...attrsIds)),\n ]),\n ];\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n selectCategoryAllFieldsMap: {\n ...this.state.selectCategoryAllFieldsMap,\n [category]: checked,\n },\n });\n this.props.onChange?.(fields);\n }\n\n handleSelectAllFields(event: any, allFields: any[]) {\n const fieldsKey = \"nextFields\";\n const checked = event.target.checked;\n const fields = checked ? allFields.map((attr) => attr.id) : [];\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: event.target.checked,\n selectCategoryAllFieldsMap: mapValues(\n this.state.selectCategoryAllFieldsMap,\n () => checked\n ),\n });\n this.props.onChange?.(fields);\n }\n\n renderCheckbox(\n attr: any,\n field: \"nextFields\" | \"otherFields\",\n categoryData?: any\n ) {\n const fieldsKey = \"nextFields\";\n const checked = this.state[fieldsKey].includes(attr.id);\n const disabled =\n attr.id === this.props.extraDisabledField ||\n this.state.extraDisabledFieldSet.has(attr.id);\n return (\n <Col\n key={attr.id}\n span={8}\n style={{ padding: 5 }}\n onClick={(event) => event.stopPropagation()}\n >\n <Checkbox\n name={field}\n style={{\n width: \"100%\",\n wordBreak: \"break-all\",\n }}\n checked={checked}\n disabled={disabled}\n onChange={(event) => this.handleChecked(event, attr, categoryData)}\n data-testid={`${attr.id}-checkbox`}\n >\n {attr.name}\n </Checkbox>\n </Col>\n );\n }\n getCAategoryOrders = () => {\n const categoryOrders = [\n ...new Set([\n ...get(this.props.modelData, \"view.attr_category_order\", []),\n \"其他\",\n ]),\n ]; //分组排序\n return categoryOrders;\n };\n filterColTag = () => {\n let filteredList = this.attrAndRelationList;\n const q = this.state.q.trim().toLowerCase();\n if (q) {\n filteredList = filteredList.filter((attr) => {\n return attr.name.toLowerCase().includes(q);\n });\n }\n const fieldsKey = \"nextFields\";\n const attrs = this.state[fieldsKey];\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(filteredList, \"category\");\n const selectAllFields = attrs.length === this.state.allFieldsLength;\n const selectCategoryAllFieldsMap: Record<string, boolean> = {};\n categoryOrders.reduce((acc, item) => {\n const categoryAttrIds = categoryMap[item]?.map((attr) => attr.id);\n acc[item] = selectAllFields\n ? selectAllFields\n : !!categoryAttrIds?.every((id) => attrs.includes(id));\n return acc;\n }, selectCategoryAllFieldsMap);\n this.setState({\n filteredList,\n selectAllFields,\n selectCategoryAllFieldsMap,\n });\n };\n\n handleSearchChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n this.setState({\n q: value,\n });\n this.debounceHandleSearch();\n };\n render() {\n const filteredList = this.state.filteredList;\n const extraAttrIds = extraFieldAttrs.map(\n (extraFieldAttr) => extraFieldAttr.id\n );\n const attrs = filteredList.filter(\n (attr: any) => !extraAttrIds.includes(attr.id)\n );\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(attrs, \"category\");\n const extraAttrs = filteredList.filter((attr: any) =>\n extraAttrIds.includes(attr.id)\n );\n return (\n <>\n <Divider orientation=\"left\" plain style={{ marginTop: 0 }}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FIELD_SETTINGS}`)}\n </Divider>\n <div>\n <Input.Search\n value={this.state.q}\n placeholder={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.SEARCH_BY_FIELD_NAME}`\n )}\n onChange={this.handleSearchChange}\n style={{ width: 200 }}\n data-testid=\"search-input\"\n />\n\n <span style={{ paddingLeft: 15, verticalAlign: \"sub\" }}>\n <Checkbox\n checked={this.state.selectAllFields}\n onChange={(e) =>\n this.handleSelectAllFields(e, [...attrs, ...extraAttrs])\n }\n data-testid={`checkbox-select-all`}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SELECT_ALL}`)}\n </Checkbox>\n </span>\n </div>\n <div\n style={{\n marginTop: 15,\n maxHeight: 500,\n overflow: \"auto\",\n }}\n className=\"nextFields\"\n >\n {categoryOrders?.map((category, index) => {\n const categoryAttrs = categoryMap?.[category] ?? [];\n return categoryAttrs.length > 0 ? (\n <div\n style={{\n marginBottom: index === categoryOrders.length - 1 ? 0 : 15,\n }}\n >\n <Checkbox\n checked={this.state.selectCategoryAllFieldsMap[category]}\n onChange={(e) => {\n this.handlecCategoryChecked(e, {\n category,\n attrs: categoryAttrs,\n });\n }}\n >\n {category}\n </Checkbox>\n <Row style={{ padding: \"12px 12px 0px 12px\" }}>\n {categoryAttrs.map((attr: any) =>\n this.renderCheckbox(attr, \"nextFields\", {\n category,\n attrs: categoryAttrs,\n })\n )}\n </Row>\n </div>\n ) : null;\n })}\n {extraAttrs.length > 0 ? (\n <Row>\n <Divider />\n {extraAttrs.map((attr: any) =>\n this.renderCheckbox(attr, \"nextFields\")\n )}\n </Row>\n ) : null}\n </div>\n </>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DisplaySettings.js","names":["_react","_interopRequireDefault","require","_lodash","_constants","_antd","_cmdbUtils","_i18next","_constants2","DisplaySettings","React","Component","constructor","props","_defineProperty2","default","categoryOrders","Set","get","modelData","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","i18n","t","NS_LIBS_CMDB_INSTANCES","K","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"],"sources":["../../../src/instance-list-table/DisplaySettings.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n debounce,\n remove,\n without,\n get,\n isEmpty,\n groupBy,\n mapValues,\n} from \"lodash\";\nimport { extraFieldAttrs } from \"./constants\";\nimport { Checkbox, Col, Divider, Input, Row } from \"antd\";\nimport {\n getBatchEditableFields,\n CMDB_RESOURCE_FIELDS_SETTINGS,\n} from \"@next-libs/cmdb-utils\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nexport interface DisplaySettingsProps {\n currentFields: string[];\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n objectId?: string;\n extraDisabledField?: string;\n extraDisabledFields?: string[];\n onChange?(fields: string[]): void;\n}\n\ninterface DisplaySettingsState {\n nextFields: string[];\n q: string;\n filteredList: any;\n extraDisabledFieldSet: Set<string>;\n selectAllFields: boolean;\n selectCategoryAllFieldsMap: Record<string, boolean>;\n allFieldsLength: number;\n}\n\nexport class DisplaySettings extends React.Component<\n DisplaySettingsProps,\n DisplaySettingsState\n> {\n debounceHandleSearch: () => void;\n attrAndRelationList: { id: string; name: string; category: string }[] = [];\n\n constructor(props: DisplaySettingsProps) {\n super(props);\n const attrAndRelationList = getBatchEditableFields(this.props.modelData);\n let hideColumns = this.props.modelData.view.hide_columns || [];\n const ignoredFields = get(\n CMDB_RESOURCE_FIELDS_SETTINGS,\n `ignoredFields.${this.props.modelData.objectId}`,\n []\n );\n hideColumns = [...hideColumns, ...ignoredFields];\n\n if (!isEmpty(hideColumns)) {\n hideColumns.forEach((hideColumn: string) => {\n remove(attrAndRelationList, (attr) => attr.id === hideColumn);\n });\n }\n\n this.attrAndRelationList = attrAndRelationList.map((attribute: any) => ({\n id: attribute.id,\n name: attribute.name,\n category: get(\n attribute,\n \"tag[0]\",\n get(attribute, \"left_tags[0]\", \"其他\") || \"其他\"\n ),\n }));\n\n const filteredList = this.attrAndRelationList;\n const extraAttrIds = extraFieldAttrs.map(\n (extraFieldAttr) => extraFieldAttr.id\n );\n const attrs = filteredList.filter(\n (attr: any) => !extraAttrIds.includes(attr.id)\n );\n const extraAttrs = filteredList.filter((attr: any) =>\n extraAttrIds.includes(attr.id)\n );\n const nextFields = props.currentFields ? props.currentFields.slice() : [];\n\n const allFieldsLength = [...attrs, ...extraAttrs].length;\n const selectAllFields =\n [...new Set([...nextFields])].length === allFieldsLength;\n\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(attrs, \"category\");\n const selectCategoryAllFieldsMap: Record<string, boolean> = {};\n categoryOrders.reduce((acc, item) => {\n const categoryAttrIds = categoryMap[item]?.map((attr) => attr.id);\n acc[item] = selectAllFields\n ? selectAllFields\n : !!categoryAttrIds?.every((id) => nextFields.includes(id));\n return acc;\n }, selectCategoryAllFieldsMap);\n this.state = {\n nextFields,\n q: \"\",\n filteredList: this.attrAndRelationList,\n extraDisabledFieldSet: new Set(props.extraDisabledFields),\n selectAllFields,\n allFieldsLength,\n selectCategoryAllFieldsMap,\n };\n this.debounceHandleSearch = debounce(this.filterColTag, 300);\n }\n\n componentDidUpdate(prevProps: DisplaySettingsProps) {\n if (this.props.currentFields !== prevProps.currentFields) {\n this.setState({\n nextFields: this.props.currentFields\n ? this.props.currentFields.slice()\n : [],\n });\n }\n\n if (this.props.extraDisabledFields !== prevProps.extraDisabledFields) {\n this.setState({\n extraDisabledFieldSet: new Set(this.props.extraDisabledFields),\n });\n }\n }\n\n handleChecked(event: any, attr: any, categoryData?: any) {\n const fieldsKey = \"nextFields\";\n const { category, attrs } = categoryData ?? {};\n const fields = event.target.checked\n ? this.state[fieldsKey].concat(attr.id)\n : without(this.state[fieldsKey], attr.id);\n if (category) {\n const attrsIds = attrs.map((attr: any) => attr.id);\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n selectCategoryAllFieldsMap: {\n ...this.state.selectCategoryAllFieldsMap,\n [category]: attrsIds.every((id: string) => fields.includes(id)),\n },\n });\n } else {\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n });\n }\n\n this.props.onChange?.(fields);\n }\n\n handlecCategoryChecked(event: any, categoryData: any) {\n const checked = event.target.checked;\n const fieldsKey = \"nextFields\";\n const { category, attrs } = categoryData;\n const attrsIds = attrs.map((attr: any) => attr.id);\n const fields = [\n ...new Set([\n ...(checked\n ? this.state[fieldsKey].concat(attrsIds)\n : without(this.state[fieldsKey], ...attrsIds)),\n ]),\n ];\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: fields.length === this.state.allFieldsLength,\n selectCategoryAllFieldsMap: {\n ...this.state.selectCategoryAllFieldsMap,\n [category]: checked,\n },\n });\n this.props.onChange?.(fields);\n }\n\n handleSelectAllFields(event: any, allFields: any[]) {\n const fieldsKey = \"nextFields\";\n const checked = event.target.checked;\n const fields = checked ? allFields.map((attr) => attr.id) : [];\n this.setState({\n [fieldsKey]: fields,\n selectAllFields: event.target.checked,\n selectCategoryAllFieldsMap: mapValues(\n this.state.selectCategoryAllFieldsMap,\n () => checked\n ),\n });\n this.props.onChange?.(fields);\n }\n\n renderCheckbox(\n attr: any,\n field: \"nextFields\" | \"otherFields\",\n categoryData?: any\n ) {\n const fieldsKey = \"nextFields\";\n const checked = this.state[fieldsKey].includes(attr.id);\n const disabled =\n attr.id === this.props.extraDisabledField ||\n this.state.extraDisabledFieldSet.has(attr.id);\n return (\n <Col\n key={attr.id}\n span={8}\n style={{ padding: 5 }}\n onClick={(event) => event.stopPropagation()}\n >\n <Checkbox\n name={field}\n style={{\n width: \"100%\",\n wordBreak: \"break-all\",\n }}\n checked={checked}\n disabled={disabled}\n onChange={(event) => this.handleChecked(event, attr, categoryData)}\n data-testid={`${attr.id}-checkbox`}\n >\n {attr.name}\n </Checkbox>\n </Col>\n );\n }\n getCAategoryOrders = () => {\n const categoryOrders = [\n ...new Set([\n ...get(this.props.modelData, \"view.attr_category_order\", []),\n \"其他\",\n ]),\n ]; //分组排序\n return categoryOrders;\n };\n filterColTag = () => {\n let filteredList = this.attrAndRelationList;\n const q = this.state.q.trim().toLowerCase();\n if (q) {\n filteredList = filteredList.filter((attr) => {\n return attr.name.toLowerCase().includes(q);\n });\n }\n const fieldsKey = \"nextFields\";\n const attrs = this.state[fieldsKey];\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(filteredList, \"category\");\n const selectAllFields = attrs.length === this.state.allFieldsLength;\n const selectCategoryAllFieldsMap: Record<string, boolean> = {};\n categoryOrders.reduce((acc, item) => {\n const categoryAttrIds = categoryMap[item]?.map((attr) => attr.id);\n acc[item] = selectAllFields\n ? selectAllFields\n : !!categoryAttrIds?.every((id) => attrs.includes(id));\n return acc;\n }, selectCategoryAllFieldsMap);\n this.setState({\n filteredList,\n selectAllFields,\n selectCategoryAllFieldsMap,\n });\n };\n\n handleSearchChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n this.setState({\n q: value,\n });\n this.debounceHandleSearch();\n };\n render() {\n const filteredList = this.state.filteredList;\n const extraAttrIds = extraFieldAttrs.map(\n (extraFieldAttr) => extraFieldAttr.id\n );\n const attrs = filteredList.filter(\n (attr: any) => !extraAttrIds.includes(attr.id)\n );\n const categoryOrders = this.getCAategoryOrders();\n const categoryMap = groupBy(attrs, \"category\");\n const extraAttrs = filteredList.filter((attr: any) =>\n extraAttrIds.includes(attr.id)\n );\n return (\n <>\n <Divider orientation=\"left\" plain style={{ marginTop: 0 }}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FIELD_SETTINGS}`)}\n </Divider>\n <div>\n <Input.Search\n value={this.state.q}\n placeholder={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.SEARCH_BY_FIELD_NAME}`\n )}\n onChange={this.handleSearchChange}\n style={{ width: 200 }}\n data-testid=\"search-input\"\n />\n\n <span style={{ paddingLeft: 15, verticalAlign: \"sub\" }}>\n <Checkbox\n checked={this.state.selectAllFields}\n onChange={(e) =>\n this.handleSelectAllFields(e, [...attrs, ...extraAttrs])\n }\n data-testid={`checkbox-select-all`}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SELECT_ALL}`)}\n </Checkbox>\n </span>\n </div>\n <div\n style={{\n marginTop: 15,\n maxHeight: 500,\n overflow: \"auto\",\n }}\n className=\"nextFields\"\n >\n {categoryOrders?.map((category, index) => {\n const categoryAttrs = categoryMap?.[category] ?? [];\n return categoryAttrs.length > 0 ? (\n <div\n style={{\n marginBottom: index === categoryOrders.length - 1 ? 0 : 15,\n }}\n >\n <Checkbox\n checked={this.state.selectCategoryAllFieldsMap[category]}\n onChange={(e) => {\n this.handlecCategoryChecked(e, {\n category,\n attrs: categoryAttrs,\n });\n }}\n >\n {category}\n </Checkbox>\n <Row style={{ padding: \"12px 12px 0px 12px\" }}>\n {categoryAttrs.map((attr: any) =>\n this.renderCheckbox(attr, \"nextFields\", {\n category,\n attrs: categoryAttrs,\n })\n )}\n </Row>\n </div>\n ) : null;\n })}\n {extraAttrs.length > 0 ? (\n <Row>\n <Divider />\n {extraAttrs.map((attr: any) =>\n this.renderCheckbox(attr, \"nextFields\")\n )}\n </Row>\n ) : null}\n </div>\n </>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
3
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
3
|
-
import React from "react";
|
|
4
|
+
import React, { createRef } from "react";
|
|
4
5
|
import { DownOutlined, InfoCircleFilled, ExclamationCircleFilled } from "@ant-design/icons";
|
|
5
6
|
import { Card, Popover, Spin, Button, Menu, Dropdown, Tooltip, Modal, Anchor, Input } from "antd";
|
|
6
7
|
import { withTranslation } from "react-i18next";
|
|
@@ -27,6 +28,8 @@ import { CmdbUrlLink } from "../cmdb-url-link/CmdbUrlLink";
|
|
|
27
28
|
import { FloatDisplayBrick } from "../float-display-brick/FloatDisplayBrick";
|
|
28
29
|
import { getQuery } from "../instance-list/InstanceList";
|
|
29
30
|
import { JsonDisplayBrick } from "../json-display-brick/JsonDisplayBrick";
|
|
31
|
+
import ResizeObserver from "resize-observer-polyfill";
|
|
32
|
+
import classNames from "classnames";
|
|
30
33
|
export function attrFilter(field, modelData) {
|
|
31
34
|
var _IGNORED_FIELDS$model, _left_groups;
|
|
32
35
|
if ((_IGNORED_FIELDS$model = IGNORED_FIELDS[modelData.objectId]) !== null && _IGNORED_FIELDS$model !== void 0 && _IGNORED_FIELDS$model.includes(field.__id)) {
|
|
@@ -74,6 +77,8 @@ function getHref(hash) {
|
|
|
74
77
|
export class LegacyInstanceDetail extends React.Component {
|
|
75
78
|
constructor(props) {
|
|
76
79
|
super(props);
|
|
80
|
+
_defineProperty(this, "cardContentRef", /*#__PURE__*/createRef());
|
|
81
|
+
_defineProperty(this, "cardContentResize", void 0);
|
|
77
82
|
this.state = {
|
|
78
83
|
modelDataMap: null,
|
|
79
84
|
modelData: null,
|
|
@@ -105,7 +110,8 @@ export class LegacyInstanceDetail extends React.Component {
|
|
|
105
110
|
searchValue: "",
|
|
106
111
|
scrollContainer: null,
|
|
107
112
|
httpErrorSting: "",
|
|
108
|
-
externalSourceId: ""
|
|
113
|
+
externalSourceId: "",
|
|
114
|
+
displayColumns: null
|
|
109
115
|
};
|
|
110
116
|
}
|
|
111
117
|
render() {
|
|
@@ -366,7 +372,11 @@ export class LegacyInstanceDetail extends React.Component {
|
|
|
366
372
|
Link
|
|
367
373
|
} = Anchor;
|
|
368
374
|
return /*#__PURE__*/React.createElement("div", {
|
|
369
|
-
className:
|
|
375
|
+
className: classNames([style.detailCard, shared.showMultipleLines], {
|
|
376
|
+
[style.oneColumnCard]: this.state.displayColumns === 1,
|
|
377
|
+
[style.twoColumnCard]: this.state.displayColumns === 2
|
|
378
|
+
}),
|
|
379
|
+
ref: this.cardContentRef
|
|
370
380
|
}, basicInfoGroupList.length > 1 && (useAnchor ? /*#__PURE__*/React.createElement(Anchor, {
|
|
371
381
|
affix: true,
|
|
372
382
|
offsetTop: this.state.initOffset,
|
|
@@ -733,6 +743,7 @@ export class LegacyInstanceDetail extends React.Component {
|
|
|
733
743
|
componentDidMount() {
|
|
734
744
|
var _this4 = this;
|
|
735
745
|
return _asyncToGenerator(function* () {
|
|
746
|
+
var _this4$cardContentRef;
|
|
736
747
|
if (_this4.props.actions) {
|
|
737
748
|
var buttonActions = [];
|
|
738
749
|
var dropdownActions = [];
|
|
@@ -756,8 +767,31 @@ export class LegacyInstanceDetail extends React.Component {
|
|
|
756
767
|
yield _this4.fetchData(_this4.props);
|
|
757
768
|
}
|
|
758
769
|
_this4.scrollToTarget();
|
|
770
|
+
if ((_this4$cardContentRef = _this4.cardContentRef) !== null && _this4$cardContentRef !== void 0 && _this4$cardContentRef.current) {
|
|
771
|
+
_this4.cardContentResize = new ResizeObserver(() => {
|
|
772
|
+
var {
|
|
773
|
+
width
|
|
774
|
+
} = _this4.cardContentRef.current.getBoundingClientRect();
|
|
775
|
+
var displayColumns;
|
|
776
|
+
if (width < 600) {
|
|
777
|
+
displayColumns = 1;
|
|
778
|
+
} else if (width < 900) {
|
|
779
|
+
displayColumns = 2;
|
|
780
|
+
} else {
|
|
781
|
+
displayColumns = 3;
|
|
782
|
+
}
|
|
783
|
+
_this4.setState({
|
|
784
|
+
displayColumns
|
|
785
|
+
});
|
|
786
|
+
});
|
|
787
|
+
_this4.cardContentResize.observe(_this4.cardContentRef.current);
|
|
788
|
+
}
|
|
759
789
|
})();
|
|
760
790
|
}
|
|
791
|
+
componentWillUnmount() {
|
|
792
|
+
var _this$cardContentResi;
|
|
793
|
+
(_this$cardContentResi = this.cardContentResize) === null || _this$cardContentResi === void 0 ? void 0 : _this$cardContentResi.disconnect();
|
|
794
|
+
}
|
|
761
795
|
toggleBasicInfoGroupFilter(basicInfoGroup) {
|
|
762
796
|
var {
|
|
763
797
|
basicInfoGroupList
|