@next-libs/cmdb-instances 6.42.2 → 6.42.5
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/CHANGELOG.md +30 -0
- package/dist/cjs/attribute-form-control-url/AttributeFormControlUrl.js.map +1 -1
- package/dist/cjs/cmdb-instances-input-form/CmdbInstancesInputFormItem.js.map +1 -1
- package/dist/cjs/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
- package/dist/cjs/cmdb-url-link/CmdbUrlLink.js.map +1 -1
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/instance-format/index.js.map +1 -1
- package/dist/cjs/components/user-or-user-group-select/UserOrUserGroupSelect.js.map +1 -1
- package/dist/cjs/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
- package/dist/cjs/data-providers/fetchCmdbInstanceSearch.js.map +1 -1
- package/dist/cjs/data-providers/fetchCmdbObjectDetail.js.map +1 -1
- package/dist/cjs/data-providers/fetchCmdbObjectList.js.map +1 -1
- package/dist/cjs/data-providers/fetchCmdbObjectRef.js.map +1 -1
- package/dist/cjs/data-providers/index.js.map +1 -1
- package/dist/cjs/float-display-brick/FloatDisplayBrick.js.map +1 -1
- package/dist/cjs/i18n/constants.js.map +1 -1
- package/dist/cjs/i18n/index.js.map +1 -1
- package/dist/cjs/i18n/locales/en.js.map +1 -1
- package/dist/cjs/i18n/locales/zh.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/instance-attribute-form/InstanceAttributeForm.js.map +1 -1
- package/dist/cjs/instance-detail/InstanceDetail.js +3 -1
- package/dist/cjs/instance-detail/InstanceDetail.js.map +1 -1
- package/dist/cjs/instance-detail/components/instance-relation-field-display/constants.js.map +1 -1
- package/dist/cjs/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js.map +1 -1
- package/dist/cjs/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
- package/dist/cjs/instance-detail/constants/index.js.map +1 -1
- package/dist/cjs/instance-list/IconButton.js.map +1 -1
- package/dist/cjs/instance-list/InstanceList.js +7 -1
- package/dist/cjs/instance-list/InstanceList.js.map +1 -1
- package/dist/cjs/instance-list/constants.js.map +1 -1
- package/dist/cjs/instance-list-modal/InstanceListModal.js.map +1 -1
- package/dist/cjs/instance-list-table/AdvancedSearch.js.map +1 -1
- package/dist/cjs/instance-list-table/AdvancedSearchCondition.js.map +1 -1
- package/dist/cjs/instance-list-table/DisplaySettings.js.map +1 -1
- package/dist/cjs/instance-list-table/DisplaySettingsModal.js.map +1 -1
- package/dist/cjs/instance-list-table/DynamicSearch.js.map +1 -1
- package/dist/cjs/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/cjs/instance-list-table/MoreButtonsContainer.js.map +1 -1
- package/dist/cjs/instance-list-table/constants.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceAggregateCount.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceCount.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/fetchCmdbObjectDetail.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/fetchPermRoleList.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/fetchPermissionList.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/getDefaultValueTemplate.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/index.js.map +1 -1
- package/dist/cjs/instance-list-table/data-providers/searchCmdbInstances.js.map +1 -1
- package/dist/cjs/instance-list-table/index.js.map +1 -1
- package/dist/cjs/instance-list-table/interfaces.js.map +1 -1
- package/dist/cjs/instance-list-table/utils.js.map +1 -1
- package/dist/cjs/model-attribute-form/ModelAttributeForm.js.map +1 -1
- package/dist/cjs/model-attribute-form/constants.js.map +1 -1
- package/dist/cjs/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
- package/dist/cjs/model-relation-form/ModelRelationForm.js.map +1 -1
- package/dist/cjs/processors.js.map +1 -1
- package/dist/cjs/struct-components/AddStruct.js.map +1 -1
- package/dist/cjs/struct-components/AddStructModal.js.map +1 -1
- package/dist/cjs/struct-components/StructTable.js.map +1 -1
- package/dist/cjs/struct-components/index.js.map +1 -1
- package/dist/cjs/struct-components/interfaces.js.map +1 -1
- package/dist/cjs/struct-components/mockData.js.map +1 -1
- package/dist/esm/attribute-form-control-url/AttributeFormControlUrl.js.map +1 -1
- package/dist/esm/cmdb-instances-input-form/CmdbInstancesInputFormItem.js.map +1 -1
- package/dist/esm/cmdb-instances-select-panel/CmdbInstancesSelectPanel.js.map +1 -1
- package/dist/esm/cmdb-url-link/CmdbUrlLink.js.map +1 -1
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/components/instance-format/index.js.map +1 -1
- package/dist/esm/components/user-or-user-group-select/UserOrUserGroupSelect.js.map +1 -1
- package/dist/esm/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
- package/dist/esm/data-providers/fetchCmdbInstanceSearch.js.map +1 -1
- package/dist/esm/data-providers/fetchCmdbObjectDetail.js.map +1 -1
- package/dist/esm/data-providers/fetchCmdbObjectList.js.map +1 -1
- package/dist/esm/data-providers/fetchCmdbObjectRef.js.map +1 -1
- package/dist/esm/data-providers/index.js.map +1 -1
- package/dist/esm/float-display-brick/FloatDisplayBrick.js.map +1 -1
- package/dist/esm/i18n/constants.js.map +1 -1
- package/dist/esm/i18n/index.js.map +1 -1
- package/dist/esm/i18n/locales/en.js.map +1 -1
- package/dist/esm/i18n/locales/zh.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instance-attribute-form/InstanceAttributeForm.js.map +1 -1
- package/dist/esm/instance-detail/InstanceDetail.js +3 -1
- package/dist/esm/instance-detail/InstanceDetail.js.map +1 -1
- package/dist/esm/instance-detail/components/instance-relation-field-display/constants.js.map +1 -1
- package/dist/esm/instance-detail/components/instance-relation-field-display/instance-relation-field-display.js.map +1 -1
- package/dist/esm/instance-detail/components/instance-relation-table-show/instance-relation-table-show.js.map +1 -1
- package/dist/esm/instance-detail/constants/index.js.map +1 -1
- package/dist/esm/instance-list/IconButton.js.map +1 -1
- package/dist/esm/instance-list/InstanceList.js +7 -1
- package/dist/esm/instance-list/InstanceList.js.map +1 -1
- package/dist/esm/instance-list/constants.js.map +1 -1
- package/dist/esm/instance-list-modal/InstanceListModal.js.map +1 -1
- package/dist/esm/instance-list-table/AdvancedSearch.js.map +1 -1
- package/dist/esm/instance-list-table/AdvancedSearchCondition.js.map +1 -1
- package/dist/esm/instance-list-table/DisplaySettings.js.map +1 -1
- package/dist/esm/instance-list-table/DisplaySettingsModal.js.map +1 -1
- package/dist/esm/instance-list-table/DynamicSearch.js.map +1 -1
- package/dist/esm/instance-list-table/InstanceListTable.js.map +1 -1
- package/dist/esm/instance-list-table/MoreButtonsContainer.js.map +1 -1
- package/dist/esm/instance-list-table/constants.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceAggregateCount.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceCount.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/fetchCmdbInstanceDetail.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/fetchCmdbObjectDetail.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/fetchPermRoleList.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/fetchPermissionList.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/getDefaultValueTemplate.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/index.js.map +1 -1
- package/dist/esm/instance-list-table/data-providers/searchCmdbInstances.js.map +1 -1
- package/dist/esm/instance-list-table/index.js.map +1 -1
- package/dist/esm/instance-list-table/interfaces.js.map +1 -1
- package/dist/esm/instance-list-table/utils.js.map +1 -1
- package/dist/esm/model-attribute-form/ModelAttributeForm.js.map +1 -1
- package/dist/esm/model-attribute-form/constants.js.map +1 -1
- package/dist/esm/model-attribute-form-control/ModelAttributeFormControl.js.map +1 -1
- package/dist/esm/model-relation-form/ModelRelationForm.js.map +1 -1
- package/dist/esm/processors.js.map +1 -1
- package/dist/esm/struct-components/AddStruct.js.map +1 -1
- package/dist/esm/struct-components/AddStructModal.js.map +1 -1
- package/dist/esm/struct-components/StructTable.js.map +1 -1
- package/dist/esm/struct-components/index.js.map +1 -1
- package/dist/esm/struct-components/interfaces.js.map +1 -1
- package/dist/esm/struct-components/mockData.js.map +1 -1
- package/dist/types/instance-detail/InstanceDetail.d.ts +1 -1
- package/dist/types/instance-list-table/InstanceListTable.d.ts +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/model-attribute-form/ModelAttributeForm.tsx"],"names":["DEFAULT_ATTRIBUTE_TAG","RefCmdbInstancesSelectPanel","React","forwardRef","CmdbInstancesSelectPanel","ModelAttributeForm","Component","constructor","props","labelCol","span","wrapperCol","setState","fixedStyle","cardRect","getBoundingClientRect","key","includes","permissionListMapOfApp","values","appPermissionAuthorizers","Object","forEach","r","selectedUser","concat","selectedUserGroup","deleteAuthorizers","readAuthorizers","updateAuthorizers","objectId","operateAuthorizers","err","type","continueCreating","state","sending","result","onSubmit","enabledWhiteList","permissionList","valuesProcess","form","resetFields","e","preventDefault","scrollToFirstError","validateFieldsAndScroll","scroll","offsetTop","offsetBottom","validateFieldsCallback","validateFields","target","checked","relation","InitialRelationValue","attributeFormControlInitialValueMap","left_id","initialValue","map","instanceData","instanceId","left_name","formItemProps","getFieldDecorator","rules","relationRules","isFilterView","modelMap","right_object_id","i18n","t","NS_LIBS_CMDB_INSTANCES","K","ADD","left_max","showDetailUrl","onCancel","objectList","modelData","hideModelData","view","hide_columns","AttrListGroupByTag","fieldsByTag","items","fields","filter","item","name","getFieldsByTag","basicInfoAttrList","basicInfoAttr","groupTag","tag","left_tags","attrs","find","blackList","id","push","attrListGroupByTag","showError","defaultValueTemplateIndex","componentDidMount","top","bottom","window","innerHeight","addEventListener","resizeUpdate","componentWillUnmount","removeEventListener","getDerivedStateFromProps","setFieldsValue","getFieldsValue","attributeList","Map","has","set","field","appendAttr","__fieldList","__field","__id","undefined","get","Array","from","sortAttributeList","tagList","store","prop","v","handleFormErrors","fieldsError","keys","some","disabled","tagsValidator","attribute","rule","value","callback","isArray","NOT_MEET_REGEX","isValidAll","every","ModelAttributeFormControl","computePattern","test","urlValidator","url","AttributeFormControlUrl","breakDownValue","left_required","leftRequired","getRules","required","requireRule","message","ATTRIBUTE_NAME_REQUIRED","attribute_name","right_description","requiredRule","ModelAttributeValueType","IP","STRING","JSON","whitespace","computeFormControlType","regex","INTEGER","ENUMS","FormControlTypeEnum","URL","validator","TAGS","pattern","error","render","Panel","Collapse","brickList","allowContinueCreate","showCancelButton","cancelText","confirmText","cancelType","defaultUserOrUserGroup","defaultActiveKey","brick","collapse","styles","collapseStyle","list","index","__isRelation","renderRelationFormControl","description","padding","color","_","isString","stringify","isCreate","header","label","element","options","PERMISSION_WHITELIST","remark","permissionAttrProcess","action","objectListOfUser","submitContainer","generalFormFooter","borderTop","paddingTop","paddingLeft","handleCheckContinueCreating","CREATE_ANOTHER","hasRelateId","isApprove","handleSubmit","submitAndContinueBtn","SAVE_AND_CONTINUE","SAVE","marginLeft","handleCancel","CANCEL","InstanceModelAttributeForm","Form","create"],"mappings":"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","sourcesContent":["import React, { Component, FormEvent } from \"react\";\nimport { Form } from \"@ant-design/compatible\";\nimport { Button, Checkbox, Collapse, Tooltip } from \"antd\";\nimport { ButtonType } from \"antd/lib/button\";\nimport { InfoCircleOutlined } from \"@ant-design/icons\";\nimport {\n CmdbModels,\n InstanceApi_GetDefaultValueTemplateResponseBody,\n InstanceApi_GetDetailResponseBody,\n CmdbObjectApi_getObjectRef,\n} from \"@next-sdk/cmdb-sdk\";\nimport {\n FormComponentProps,\n FormItemProps,\n ValidationRule,\n} from \"@ant-design/compatible/lib/form\";\nimport {\n FormControlTypeEnum,\n ModelAttributeFormControl,\n ModelAttributeValueType,\n} from \"../model-attribute-form-control/ModelAttributeFormControl\";\nimport { AttributeFormControlUrl } from \"../attribute-form-control-url/AttributeFormControlUrl\";\nimport _, { get, isNil, keyBy, pickBy } from \"lodash\";\n\nimport { CmdbInstancesSelectPanel } from \"../cmdb-instances-select-panel/CmdbInstancesSelectPanel\";\nimport {\n ModifiedModelCmdbObject,\n ModifiedModelObjectAttr,\n ModifiedModelObjectField,\n ModifiedModelObjectRelation,\n modifyModelData,\n getFixedStyle,\n} from \"@next-libs/cmdb-utils\";\nimport styles from \"./ModelAttributeForm.module.css\";\nimport { UserOrUserGroupSelect } from \"../components\";\nimport { permissionListMapOfApp } from \"./constants\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nconst DEFAULT_ATTRIBUTE_TAG = \"基本信息\";\nexport interface ModelAttributeFormChildren {\n header: string;\n name: string;\n label: string;\n options?: { [key: string]: any };\n}\n\nexport interface FieldsByTag {\n name: string;\n fields: string[];\n}\n\ninterface ModelAttributeFormProps extends FormComponentProps {\n isCreate?: boolean;\n disabled?: boolean;\n objectId?: string;\n allowContinueCreate?: boolean;\n blackList?: string[]; // 黑名单\n brickList?: ModelAttributeFormChildren[];\n fieldsByTag?: FieldsByTag[];\n formItemProps?: FormItemProps;\n onSubmit(data: any): Promise<any>;\n basicInfoAttrList?: Partial<CmdbModels.ModelObjectAttr>[];\n objectList?: Partial<CmdbModels.ModelCmdbObject>[];\n modelData?: Partial<CmdbModels.ModelCmdbObject>;\n attributeFormControlInitialValueMap:\n | InstanceApi_GetDefaultValueTemplateResponseBody\n | Partial<InstanceApi_GetDetailResponseBody>;\n showCancelButton?: boolean;\n confirmText?: string;\n cancelText?: string;\n cancelType?: ButtonType;\n onCancel?(): void;\n showDetailUrl?: boolean;\n isFilterView?: boolean;\n objectListOfUser?: Partial<CmdbModels.ModelCmdbObject>[];\n permissionList?: Record<string, any>[];\n enabledWhiteList?: boolean;\n scrollToFirstError?: boolean;\n offsetTop?: number;\n offsetBottom?: number;\n cardRect?: any;\n isApprove?: boolean;\n hasRelateId?: boolean;\n defaultUserOrUserGroup?: {\n selectedUser?: string[];\n selectedUserGroup?: string[];\n };\n}\n\nexport type attributesFieldsByTag = [string, ModifiedModelObjectField[]];\n\nconst RefCmdbInstancesSelectPanel = React.forwardRef(CmdbInstancesSelectPanel);\n\ninterface ModelAttributeFormState {\n sending: boolean;\n attrListGroupByTag: attributesFieldsByTag[];\n continueCreating: boolean;\n showError?: Record<string, any>;\n fixedStyle?: Record<string, any>;\n defaultValueTemplateIndex?: number;\n}\n\nexport class ModelAttributeForm extends Component<\n ModelAttributeFormProps,\n ModelAttributeFormState\n> {\n private modelMap: Record<string, Partial<CmdbModels.ModelCmdbObject>> = {};\n private modelData: Partial<CmdbModels.ModelCmdbObject> = null;\n\n static defaultProps = {\n showCancelButton: true,\n cancelType: \"default\" as ButtonType,\n };\n\n formItemProps: FormItemProps = {\n labelCol: { span: 6 },\n wrapperCol: { span: 18 },\n };\n\n constructor(props: ModelAttributeFormProps) {\n super(props);\n if (this.props.objectList) {\n this.modelMap = keyBy(this.props.objectList, \"objectId\");\n }\n // istanbul ignore else\n if (this.props.modelData) {\n this.modelData = modifyModelData(this.props.modelData);\n } else {\n if (this.props.objectList) {\n this.modelData = modifyModelData(this.modelMap[this.props.objectId]);\n }\n }\n\n const hideModelData: string[] = this.modelData.view.hide_columns || [];\n let AttrListGroupByTag: attributesFieldsByTag[] = [];\n let fieldsByTag;\n if (props.formItemProps) {\n this.formItemProps = props.formItemProps;\n }\n if (props.fieldsByTag) {\n fieldsByTag = this.props.fieldsByTag.map((items) => {\n let fields;\n if (items.fields) {\n fields = items.fields.filter(\n (item) => item && !hideModelData.includes(item)\n );\n }\n return {\n name: items.name,\n fields,\n };\n });\n AttrListGroupByTag = ModelAttributeForm.getFieldsByTag(\n this.props.basicInfoAttrList,\n fieldsByTag,\n this.modelData\n );\n } else {\n props.basicInfoAttrList.forEach((basicInfoAttr) => {\n const groupTag =\n basicInfoAttr?.tag?.[0] ||\n (basicInfoAttr as any)?.left_tags?.[0] ||\n DEFAULT_ATTRIBUTE_TAG;\n\n const attrs = AttrListGroupByTag.find(([key]) => key === groupTag);\n // 判断是否为黑名单内的属性\n if (\n isNil(props.blackList) ||\n !props.blackList.includes(basicInfoAttr.id)\n ) {\n if (attrs) {\n attrs[1].push(basicInfoAttr);\n } else {\n AttrListGroupByTag.push([groupTag, [basicInfoAttr]]);\n }\n }\n });\n }\n this.state = {\n sending: false,\n attrListGroupByTag: AttrListGroupByTag,\n continueCreating: false,\n showError: {},\n fixedStyle: {},\n defaultValueTemplateIndex: 1,\n };\n }\n\n resizeUpdate = () =>\n this.setState({\n fixedStyle: getFixedStyle(this.props.cardRect?.getBoundingClientRect()),\n });\n\n componentDidMount(): void {\n const top =\n this.props.cardRect?.getBoundingClientRect()?.bottom - window.innerHeight;\n if (top > 0) {\n this.setState({\n fixedStyle: getFixedStyle(this.props.cardRect?.getBoundingClientRect()),\n });\n }\n this.props.cardRect && window.addEventListener(\"resize\", this.resizeUpdate);\n }\n\n componentWillUnmount() {\n // 离开页面时移除监听事件\n window.removeEventListener(\"resize\", this.resizeUpdate);\n }\n\n static getDerivedStateFromProps(props: any, state: any): any {\n if (props.defaultValueTemplateIndex !== state.defaultValueTemplateIndex) {\n props.form.setFieldsValue({\n ...props.form.getFieldsValue(),\n ...pickBy(props.attributeFormControlInitialValueMap),\n });\n return {\n defaultValueTemplateIndex: props.defaultValueTemplateIndex,\n };\n }\n return null;\n }\n\n static getFieldsByTag(\n attributeList: Partial<CmdbModels.ModelObjectAttr>[],\n fieldsByTag: FieldsByTag[],\n modelData?: Partial<ModifiedModelCmdbObject>\n ): attributesFieldsByTag[] {\n const map = new Map<string, Partial<CmdbModels.ModelObjectAttr>[]>([]);\n\n fieldsByTag.forEach(({ name, fields }) => {\n if (!map.has(name)) {\n map.set(name, []);\n fields.forEach((field) => {\n const appendAttr = modelData\n ? modelData.__fieldList.find((__field) => __field.__id === field)\n : attributeList.find(({ id }) => id === field);\n if (appendAttr !== undefined) {\n map.set(name, [...map.get(name), appendAttr]);\n }\n });\n }\n });\n\n return Array.from(map);\n }\n\n static sortAttributeList(\n attributeList: { [s: string]: Partial<CmdbModels.ModelObjectAttr>[] },\n tagList: { [s: string]: string[] }\n ): { [s: string]: Partial<CmdbModels.ModelObjectAttr>[] } {\n const store: { [s: string]: Partial<CmdbModels.ModelObjectAttr>[] } = {};\n /* istanbul ignore next */\n for (const tag in tagList) {\n if (!store[tag]) {\n store[tag] = [];\n }\n\n tagList[tag].forEach((prop) => {\n const result = attributeList[tag].find((v) => v.id === prop);\n store[tag].push(result);\n });\n }\n\n return store;\n }\n\n handleFormErrors(fieldsError: Record<string, string[] | undefined>) {\n return Object.keys(fieldsError).some((field) => fieldsError[field]);\n }\n permissionAttrProcess = (key: string) => {\n if (key.includes(\"instance_access\")) return \"readAuthorizers\";\n if (key.includes(\"instance_delete\")) return \"deleteAuthorizers\";\n if (key.includes(\"instance_update\")) return \"updateAuthorizers\";\n // HOST特有\n if (key.includes(\"instance_operate\")) return \"operateAuthorizers\";\n // APP特有\n return permissionListMapOfApp[key] || key;\n };\n\n valuesProcess = (values: Record<string, any>) => {\n const appPermissionAuthorizers: Record<string, any> = {};\n Object.values(permissionListMapOfApp).forEach((r) => {\n appPermissionAuthorizers[r] = values[r]\n ? values[r].selectedUser.concat(values[r].selectedUserGroup)\n : [];\n });\n return {\n ...values,\n deleteAuthorizers: values.deleteAuthorizers\n ? values.deleteAuthorizers.selectedUser.concat(\n values.deleteAuthorizers.selectedUserGroup\n )\n : [],\n readAuthorizers: values.readAuthorizers\n ? values.readAuthorizers.selectedUser.concat(\n values.readAuthorizers.selectedUserGroup\n )\n : [],\n updateAuthorizers: values.updateAuthorizers\n ? values.updateAuthorizers.selectedUser.concat(\n values.updateAuthorizers.selectedUserGroup\n )\n : [],\n ...(this.props.objectId === \"HOST\"\n ? {\n operateAuthorizers: values.operateAuthorizers\n ? values.operateAuthorizers.selectedUser.concat(\n values.operateAuthorizers.selectedUserGroup\n )\n : [],\n }\n : {}),\n ...(this.props.objectId === \"APP\" ? appPermissionAuthorizers : {}),\n };\n };\n /* istanbul ignore next */\n validateFieldsCallback = async (err: any, values: any, type?: string) => {\n if (!err) {\n const { continueCreating } = this.state;\n this.setState({ sending: true });\n const result = await this.props.onSubmit({\n continueCreating,\n values:\n this.props.enabledWhiteList && this.props.permissionList\n ? this.valuesProcess(values)\n : values,\n type,\n });\n if (result !== \"error\" && continueCreating) {\n this.props.form.resetFields();\n }\n this.setState({ sending: false });\n }\n };\n /* istanbul ignore next */\n handleSubmit = (e: FormEvent, type?: string) => {\n e.preventDefault();\n this.props.scrollToFirstError\n ? this.props.form.validateFieldsAndScroll(\n {\n scroll: {\n offsetTop: this.props.offsetTop || 60,\n offsetBottom: this.props.offsetBottom || 100,\n },\n },\n async (err, values) => {\n await this.validateFieldsCallback(err, values, type);\n }\n )\n : this.props.form.validateFields(async (err, values) => {\n await this.validateFieldsCallback(err, values, type);\n });\n };\n\n get disabled(): boolean {\n const { sending } = this.state;\n // const { getFieldsError } = this.props.form;\n return sending;\n }\n\n // get submitBtnText() {\n // return this.props.isCreate\n // ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SAVE}`)\n // : i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MODIFICATION}`);\n // }\n\n static tagsValidator(\n attribute: Partial<CmdbModels.ModelObjectAttr>\n ): (rule: any, value: string[], callback: (msg?: string) => void) => void {\n return (rule: any, value: string[], callback: (msg?: string) => void) => {\n if (!value) {\n return callback();\n }\n if (!Array.isArray(value)) {\n return callback(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX}`)\n );\n }\n\n const isValidAll = value.every((v) =>\n ModelAttributeFormControl.computePattern(attribute).test(v)\n );\n\n isValidAll\n ? callback()\n : callback(i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX}`));\n };\n }\n\n static urlValidator(\n attribute: Partial<CmdbModels.ModelObjectAttr>\n ): (rule: any, value: string, callback: (msg?: string) => void) => void {\n return (rule: any, value: string, callback: (msg?: string) => void) => {\n const { url } = AttributeFormControlUrl.breakDownValue(value);\n ModelAttributeFormControl.computePattern(attribute).test(url)\n ? callback()\n : callback(i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX}`));\n };\n }\n\n // 关联模型form的rules\n relationRules(\n attribute: Partial<ModifiedModelObjectRelation>\n ): ValidationRule[] {\n const { left_required: leftRequired } = attribute;\n // 获取validationRule规则\n const getRules = (required: boolean, name: string): ValidationRule[] => {\n const requireRule = {\n required,\n message: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ATTRIBUTE_NAME_REQUIRED}`,\n { attribute_name: name }\n ),\n };\n return [requireRule];\n };\n\n if (leftRequired) {\n return getRules(leftRequired, attribute.right_description);\n }\n\n return [];\n }\n\n rules(attribute: Partial<CmdbModels.ModelObjectAttr>): ValidationRule[] {\n // historical issues: 如果是INTEGER和URL类型暂时不用正则表达式验证\n const required = attribute.required !== \"false\";\n const requiredRule = [\n ModelAttributeValueType.IP,\n ModelAttributeValueType.STRING,\n ModelAttributeValueType.JSON,\n ].includes(attribute.value.type as ModelAttributeValueType)\n ? {\n required,\n whitespace: required,\n message: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ATTRIBUTE_NAME_REQUIRED}`,\n { attribute_name: attribute.name }\n ),\n }\n : {\n required,\n message: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ATTRIBUTE_NAME_REQUIRED}`,\n { attribute_name: attribute.name }\n ),\n };\n try {\n const type = ModelAttributeFormControl.computeFormControlType(attribute);\n if (\n attribute.value.regex === null ||\n attribute.value.type === ModelAttributeValueType.INTEGER ||\n attribute.value.type === ModelAttributeValueType.ENUMS\n ) {\n return [requiredRule];\n }\n\n if (type === FormControlTypeEnum.URL) {\n return [\n requiredRule,\n { validator: ModelAttributeForm.urlValidator(attribute) },\n ];\n }\n\n if (type === FormControlTypeEnum.TAGS) {\n return [\n requiredRule,\n { validator: ModelAttributeForm.tagsValidator(attribute) },\n ];\n }\n\n return [\n requiredRule,\n {\n pattern: ModelAttributeFormControl.computePattern(attribute),\n message: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX}`),\n },\n ];\n } catch (error) {\n // 例如无枚举值、结构体未添加字段等\n return [requiredRule];\n }\n }\n\n handleCheckContinueCreating = (e: any) => {\n this.setState({ continueCreating: e.target.checked });\n };\n\n renderRelationFormControl = (\n relation: Partial<ModifiedModelObjectRelation>\n ) => {\n const InitialRelationValue = get(\n this.props.attributeFormControlInitialValueMap,\n relation.left_id\n );\n const initialValue = InitialRelationValue\n ? InitialRelationValue.map((instanceData: any) => instanceData.instanceId)\n : [];\n\n return (\n <Form.Item\n label={relation.left_name}\n key={relation.left_id}\n {...this.formItemProps}\n >\n {this.props.form.getFieldDecorator(relation.left_id, {\n rules: this.relationRules(relation),\n initialValue,\n })(\n <RefCmdbInstancesSelectPanel\n isFilterView={this.props.isFilterView}\n modelData={this.modelMap[relation.right_object_id]}\n objectId={relation.right_object_id}\n addTitle={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ADD}`)}\n singleSelect={relation.left_max === 1}\n isOperate={true}\n showDetailUrl={this.props.showDetailUrl}\n relation={relation}\n showSizeChanger={true}\n />\n )}\n </Form.Item>\n );\n };\n\n handleCancel = () => {\n this.props.onCancel?.();\n };\n\n render(): React.ReactNode {\n const Panel = Collapse.Panel;\n const {\n form,\n attributeFormControlInitialValueMap,\n brickList,\n allowContinueCreate,\n showCancelButton,\n cancelText,\n confirmText,\n cancelType,\n defaultUserOrUserGroup,\n } = this.props;\n const { getFieldDecorator } = form;\n\n let defaultActiveKey = this.state.attrListGroupByTag.map(([key]) => key);\n\n if (Array.isArray(brickList)) {\n defaultActiveKey = [\n ...defaultActiveKey,\n ...brickList.map((brick) => brick.name),\n ];\n }\n if (defaultUserOrUserGroup) {\n defaultActiveKey = [...defaultActiveKey, \"permission\"];\n }\n const collapse = this.state.attrListGroupByTag && (\n <Collapse\n bordered={false}\n defaultActiveKey={defaultActiveKey}\n className={styles.collapseStyle}\n >\n {this.state.attrListGroupByTag.map(([tag, list]) => (\n <Panel header={tag} key={tag} forceRender={true}>\n {list.map((attribute, index) => {\n if (attribute.__isRelation) {\n return this.renderRelationFormControl(attribute);\n } else if (attribute.__isRelation === false) {\n return (\n <Form.Item\n label={\n <span>\n <span>{attribute.name}</span>\n {attribute.description && attribute.description !== \"\" && (\n <Tooltip title={attribute.description}>\n <InfoCircleOutlined\n style={{\n padding: \"0 2px\",\n color: \"var(--theme-blue-color)\",\n }}\n />\n </Tooltip>\n )}\n </span>\n }\n key={attribute.name}\n {...this.formItemProps}\n >\n {getFieldDecorator(attribute.id, {\n rules: this.rules(attribute),\n //默认值为string,但是新建时接口转成了object,故编辑时后台返回的也是object\n initialValue:\n attribute.value.type === \"json\" &&\n !_.isString(\n attributeFormControlInitialValueMap[attribute.id]\n )\n ? JSON.stringify(\n attributeFormControlInitialValueMap[attribute.id],\n null,\n 2\n )\n : attributeFormControlInitialValueMap[attribute.id],\n })(\n <ModelAttributeFormControl\n isCreate={this.props.isCreate}\n attribute={attribute}\n multiSelect={\n attribute?.value?.type ===\n ModelAttributeValueType.ENUMS\n }\n objectId={this.props.objectId}\n jsonValidateCollection={(err: any) => {\n const showError = { ...this.state.showError };\n showError[tag + index] = err;\n this.setState({ showError });\n }}\n />\n )}\n </Form.Item>\n );\n }\n })}\n </Panel>\n ))}\n\n {brickList &&\n brickList.map((brick) => (\n <Panel header={brick.header} key={brick.name}>\n <Form.Item\n label={brick.label}\n key={brick.name}\n {...this.formItemProps}\n >\n <brick.name\n ref={(element: any) => {\n element &&\n ((element[\"value\"] = this.props.form.getFieldsValue()),\n (element[\"options\"] = brick.options));\n }}\n />\n </Form.Item>\n </Panel>\n ))}\n\n {this.props.enabledWhiteList && this.props.permissionList && (\n <Panel\n header={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.PERMISSION_WHITELIST}`\n )}\n key={\"permission\"}\n >\n {this.props.permissionList.map((r) => {\n return (\n <Form.Item label={r.remark} key={r.id} {...this.formItemProps}>\n {getFieldDecorator(\n this.permissionAttrProcess(r.action) as string,\n {\n initialValue: defaultUserOrUserGroup,\n }\n )(\n <UserOrUserGroupSelect\n objectMap={keyBy(this.props.objectListOfUser, \"objectId\")}\n optionsMode=\"all\"\n ></UserOrUserGroupSelect>\n )}\n </Form.Item>\n );\n })}\n </Panel>\n )}\n </Collapse>\n );\n const submitContainer = (\n <div\n className={styles.generalFormFooter}\n style={{\n ...this.state.fixedStyle,\n borderTop: \"none\",\n paddingTop: \"16px\",\n paddingLeft: \"20px\",\n }}\n >\n <div className=\"ant-collapse-content-box\">\n <Form.Item {...this.formItemProps} label=\" \" colon={false}>\n {allowContinueCreate && (\n <Checkbox onChange={this.handleCheckContinueCreating}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_ANOTHER}`)}\n </Checkbox>\n )}\n\n {this.props.isCreate &&\n !this.props.hasRelateId &&\n !this.props.isApprove && (\n <Button\n onClick={(e) => this.handleSubmit(e, \"continue\")}\n className={styles.submitAndContinueBtn}\n disabled={\n this.disabled ||\n Object.values(this.state.showError).includes(true)\n }\n data-testid=\"submit-and-continue-btn\"\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SAVE_AND_CONTINUE}`)}\n </Button>\n )}\n\n <Button\n type=\"primary\"\n onClick={(e) => this.handleSubmit(e)}\n disabled={\n this.disabled ||\n Object.values(this.state.showError).includes(true)\n }\n data-testid=\"submit-btn\"\n >\n {confirmText ?? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SAVE}`)}\n </Button>\n\n {showCancelButton && (\n <Button\n type={cancelType}\n style={{ marginLeft: 8 }}\n onClick={this.handleCancel}\n >\n {cancelText ?? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n </Button>\n )}\n </Form.Item>\n </div>\n </div>\n );\n\n return (\n <Form>\n {collapse}\n {submitContainer}\n </Form>\n );\n }\n}\n\nexport const InstanceModelAttributeForm =\n Form.create<ModelAttributeFormProps>()(ModelAttributeForm);\n"],"file":"ModelAttributeForm.js"}
|
|
1
|
+
{"version":3,"file":"ModelAttributeForm.js","names":["DEFAULT_ATTRIBUTE_TAG","RefCmdbInstancesSelectPanel","React","forwardRef","CmdbInstancesSelectPanel","ModelAttributeForm","Component","constructor","props","labelCol","span","wrapperCol","setState","fixedStyle","getFixedStyle","cardRect","getBoundingClientRect","key","includes","permissionListMapOfApp","values","appPermissionAuthorizers","Object","forEach","r","selectedUser","concat","selectedUserGroup","deleteAuthorizers","readAuthorizers","updateAuthorizers","objectId","operateAuthorizers","err","type","continueCreating","state","sending","result","onSubmit","enabledWhiteList","permissionList","valuesProcess","form","resetFields","e","preventDefault","scrollToFirstError","validateFieldsAndScroll","scroll","offsetTop","offsetBottom","validateFieldsCallback","validateFields","target","checked","relation","InitialRelationValue","get","attributeFormControlInitialValueMap","left_id","initialValue","map","instanceData","instanceId","left_name","formItemProps","getFieldDecorator","rules","relationRules","isFilterView","modelMap","right_object_id","i18n","t","NS_LIBS_CMDB_INSTANCES","K","ADD","left_max","showDetailUrl","onCancel","objectList","keyBy","modelData","modifyModelData","hideModelData","view","hide_columns","AttrListGroupByTag","fieldsByTag","items","fields","filter","item","name","getFieldsByTag","basicInfoAttrList","basicInfoAttr","groupTag","tag","left_tags","attrs","find","isNil","blackList","id","push","attrListGroupByTag","showError","defaultValueTemplateIndex","componentDidMount","top","bottom","window","innerHeight","addEventListener","resizeUpdate","componentWillUnmount","removeEventListener","getDerivedStateFromProps","setFieldsValue","getFieldsValue","pickBy","attributeList","Map","has","set","field","appendAttr","__fieldList","__field","__id","undefined","Array","from","sortAttributeList","tagList","store","prop","v","handleFormErrors","fieldsError","keys","some","disabled","tagsValidator","attribute","rule","value","callback","isArray","NOT_MEET_REGEX","isValidAll","every","ModelAttributeFormControl","computePattern","test","urlValidator","url","AttributeFormControlUrl","breakDownValue","left_required","leftRequired","getRules","required","requireRule","message","ATTRIBUTE_NAME_REQUIRED","attribute_name","right_description","requiredRule","ModelAttributeValueType","IP","STRING","JSON","whitespace","computeFormControlType","regex","INTEGER","ENUMS","FormControlTypeEnum","URL","validator","TAGS","pattern","error","render","Panel","Collapse","brickList","allowContinueCreate","showCancelButton","cancelText","confirmText","cancelType","defaultUserOrUserGroup","defaultActiveKey","brick","collapse","styles","collapseStyle","list","index","__isRelation","renderRelationFormControl","description","padding","color","_","isString","stringify","isCreate","header","label","element","options","PERMISSION_WHITELIST","remark","permissionAttrProcess","action","objectListOfUser","submitContainer","generalFormFooter","borderTop","paddingTop","paddingLeft","handleCheckContinueCreating","CREATE_ANOTHER","hasRelateId","isApprove","handleSubmit","submitAndContinueBtn","SAVE_AND_CONTINUE","SAVE","marginLeft","handleCancel","CANCEL","InstanceModelAttributeForm","Form","create"],"sources":["../../../src/model-attribute-form/ModelAttributeForm.tsx"],"sourcesContent":["import React, { Component, FormEvent } from \"react\";\nimport { Form } from \"@ant-design/compatible\";\nimport { Button, Checkbox, Collapse, Tooltip } from \"antd\";\nimport { ButtonType } from \"antd/lib/button\";\nimport { InfoCircleOutlined } from \"@ant-design/icons\";\nimport {\n CmdbModels,\n InstanceApi_GetDefaultValueTemplateResponseBody,\n InstanceApi_GetDetailResponseBody,\n CmdbObjectApi_getObjectRef,\n} from \"@next-sdk/cmdb-sdk\";\nimport {\n FormComponentProps,\n FormItemProps,\n ValidationRule,\n} from \"@ant-design/compatible/lib/form\";\nimport {\n FormControlTypeEnum,\n ModelAttributeFormControl,\n ModelAttributeValueType,\n} from \"../model-attribute-form-control/ModelAttributeFormControl\";\nimport { AttributeFormControlUrl } from \"../attribute-form-control-url/AttributeFormControlUrl\";\nimport _, { get, isNil, keyBy, pickBy } from \"lodash\";\n\nimport { CmdbInstancesSelectPanel } from \"../cmdb-instances-select-panel/CmdbInstancesSelectPanel\";\nimport {\n ModifiedModelCmdbObject,\n ModifiedModelObjectAttr,\n ModifiedModelObjectField,\n ModifiedModelObjectRelation,\n modifyModelData,\n getFixedStyle,\n} from \"@next-libs/cmdb-utils\";\nimport styles from \"./ModelAttributeForm.module.css\";\nimport { UserOrUserGroupSelect } from \"../components\";\nimport { permissionListMapOfApp } from \"./constants\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nconst DEFAULT_ATTRIBUTE_TAG = \"基本信息\";\nexport interface ModelAttributeFormChildren {\n header: string;\n name: string;\n label: string;\n options?: { [key: string]: any };\n}\n\nexport interface FieldsByTag {\n name: string;\n fields: string[];\n}\n\ninterface ModelAttributeFormProps extends FormComponentProps {\n isCreate?: boolean;\n disabled?: boolean;\n objectId?: string;\n allowContinueCreate?: boolean;\n blackList?: string[]; // 黑名单\n brickList?: ModelAttributeFormChildren[];\n fieldsByTag?: FieldsByTag[];\n formItemProps?: FormItemProps;\n onSubmit(data: any): Promise<any>;\n basicInfoAttrList?: Partial<CmdbModels.ModelObjectAttr>[];\n objectList?: Partial<CmdbModels.ModelCmdbObject>[];\n modelData?: Partial<CmdbModels.ModelCmdbObject>;\n attributeFormControlInitialValueMap:\n | InstanceApi_GetDefaultValueTemplateResponseBody\n | Partial<InstanceApi_GetDetailResponseBody>;\n showCancelButton?: boolean;\n confirmText?: string;\n cancelText?: string;\n cancelType?: ButtonType;\n onCancel?(): void;\n showDetailUrl?: boolean;\n isFilterView?: boolean;\n objectListOfUser?: Partial<CmdbModels.ModelCmdbObject>[];\n permissionList?: Record<string, any>[];\n enabledWhiteList?: boolean;\n scrollToFirstError?: boolean;\n offsetTop?: number;\n offsetBottom?: number;\n cardRect?: any;\n isApprove?: boolean;\n hasRelateId?: boolean;\n defaultUserOrUserGroup?: {\n selectedUser?: string[];\n selectedUserGroup?: string[];\n };\n}\n\nexport type attributesFieldsByTag = [string, ModifiedModelObjectField[]];\n\nconst RefCmdbInstancesSelectPanel = React.forwardRef(CmdbInstancesSelectPanel);\n\ninterface ModelAttributeFormState {\n sending: boolean;\n attrListGroupByTag: attributesFieldsByTag[];\n continueCreating: boolean;\n showError?: Record<string, any>;\n fixedStyle?: Record<string, any>;\n defaultValueTemplateIndex?: number;\n}\n\nexport class ModelAttributeForm extends Component<\n ModelAttributeFormProps,\n ModelAttributeFormState\n> {\n private modelMap: Record<string, Partial<CmdbModels.ModelCmdbObject>> = {};\n private modelData: Partial<CmdbModels.ModelCmdbObject> = null;\n\n static defaultProps = {\n showCancelButton: true,\n cancelType: \"default\" as ButtonType,\n };\n\n formItemProps: FormItemProps = {\n labelCol: { span: 6 },\n wrapperCol: { span: 18 },\n };\n\n constructor(props: ModelAttributeFormProps) {\n super(props);\n if (this.props.objectList) {\n this.modelMap = keyBy(this.props.objectList, \"objectId\");\n }\n // istanbul ignore else\n if (this.props.modelData) {\n this.modelData = modifyModelData(this.props.modelData);\n } else {\n if (this.props.objectList) {\n this.modelData = modifyModelData(this.modelMap[this.props.objectId]);\n }\n }\n\n const hideModelData: string[] = this.modelData.view.hide_columns || [];\n let AttrListGroupByTag: attributesFieldsByTag[] = [];\n let fieldsByTag;\n if (props.formItemProps) {\n this.formItemProps = props.formItemProps;\n }\n if (props.fieldsByTag) {\n fieldsByTag = this.props.fieldsByTag.map((items) => {\n let fields;\n if (items.fields) {\n fields = items.fields.filter(\n (item) => item && !hideModelData.includes(item)\n );\n }\n return {\n name: items.name,\n fields,\n };\n });\n AttrListGroupByTag = ModelAttributeForm.getFieldsByTag(\n this.props.basicInfoAttrList,\n fieldsByTag,\n this.modelData\n );\n } else {\n props.basicInfoAttrList.forEach((basicInfoAttr) => {\n const groupTag =\n basicInfoAttr?.tag?.[0] ||\n (basicInfoAttr as any)?.left_tags?.[0] ||\n DEFAULT_ATTRIBUTE_TAG;\n\n const attrs = AttrListGroupByTag.find(([key]) => key === groupTag);\n // 判断是否为黑名单内的属性\n if (\n isNil(props.blackList) ||\n !props.blackList.includes(basicInfoAttr.id)\n ) {\n if (attrs) {\n attrs[1].push(basicInfoAttr);\n } else {\n AttrListGroupByTag.push([groupTag, [basicInfoAttr]]);\n }\n }\n });\n }\n this.state = {\n sending: false,\n attrListGroupByTag: AttrListGroupByTag,\n continueCreating: false,\n showError: {},\n fixedStyle: {},\n defaultValueTemplateIndex: 1,\n };\n }\n\n resizeUpdate = () =>\n this.setState({\n fixedStyle: getFixedStyle(this.props.cardRect?.getBoundingClientRect()),\n });\n\n componentDidMount(): void {\n const top =\n this.props.cardRect?.getBoundingClientRect()?.bottom - window.innerHeight;\n if (top > 0) {\n this.setState({\n fixedStyle: getFixedStyle(this.props.cardRect?.getBoundingClientRect()),\n });\n }\n this.props.cardRect && window.addEventListener(\"resize\", this.resizeUpdate);\n }\n\n componentWillUnmount() {\n // 离开页面时移除监听事件\n window.removeEventListener(\"resize\", this.resizeUpdate);\n }\n\n static getDerivedStateFromProps(props: any, state: any): any {\n if (props.defaultValueTemplateIndex !== state.defaultValueTemplateIndex) {\n props.form.setFieldsValue({\n ...props.form.getFieldsValue(),\n ...pickBy(props.attributeFormControlInitialValueMap),\n });\n return {\n defaultValueTemplateIndex: props.defaultValueTemplateIndex,\n };\n }\n return null;\n }\n\n static getFieldsByTag(\n attributeList: Partial<CmdbModels.ModelObjectAttr>[],\n fieldsByTag: FieldsByTag[],\n modelData?: Partial<ModifiedModelCmdbObject>\n ): attributesFieldsByTag[] {\n const map = new Map<string, Partial<CmdbModels.ModelObjectAttr>[]>([]);\n\n fieldsByTag.forEach(({ name, fields }) => {\n if (!map.has(name)) {\n map.set(name, []);\n fields.forEach((field) => {\n const appendAttr = modelData\n ? modelData.__fieldList.find((__field) => __field.__id === field)\n : attributeList.find(({ id }) => id === field);\n if (appendAttr !== undefined) {\n map.set(name, [...map.get(name), appendAttr]);\n }\n });\n }\n });\n\n return Array.from(map);\n }\n\n static sortAttributeList(\n attributeList: { [s: string]: Partial<CmdbModels.ModelObjectAttr>[] },\n tagList: { [s: string]: string[] }\n ): { [s: string]: Partial<CmdbModels.ModelObjectAttr>[] } {\n const store: { [s: string]: Partial<CmdbModels.ModelObjectAttr>[] } = {};\n /* istanbul ignore next */\n for (const tag in tagList) {\n if (!store[tag]) {\n store[tag] = [];\n }\n\n tagList[tag].forEach((prop) => {\n const result = attributeList[tag].find((v) => v.id === prop);\n store[tag].push(result);\n });\n }\n\n return store;\n }\n\n handleFormErrors(fieldsError: Record<string, string[] | undefined>) {\n return Object.keys(fieldsError).some((field) => fieldsError[field]);\n }\n permissionAttrProcess = (key: string) => {\n if (key.includes(\"instance_access\")) return \"readAuthorizers\";\n if (key.includes(\"instance_delete\")) return \"deleteAuthorizers\";\n if (key.includes(\"instance_update\")) return \"updateAuthorizers\";\n // HOST特有\n if (key.includes(\"instance_operate\")) return \"operateAuthorizers\";\n // APP特有\n return permissionListMapOfApp[key] || key;\n };\n\n valuesProcess = (values: Record<string, any>) => {\n const appPermissionAuthorizers: Record<string, any> = {};\n Object.values(permissionListMapOfApp).forEach((r) => {\n appPermissionAuthorizers[r] = values[r]\n ? values[r].selectedUser.concat(values[r].selectedUserGroup)\n : [];\n });\n return {\n ...values,\n deleteAuthorizers: values.deleteAuthorizers\n ? values.deleteAuthorizers.selectedUser.concat(\n values.deleteAuthorizers.selectedUserGroup\n )\n : [],\n readAuthorizers: values.readAuthorizers\n ? values.readAuthorizers.selectedUser.concat(\n values.readAuthorizers.selectedUserGroup\n )\n : [],\n updateAuthorizers: values.updateAuthorizers\n ? values.updateAuthorizers.selectedUser.concat(\n values.updateAuthorizers.selectedUserGroup\n )\n : [],\n ...(this.props.objectId === \"HOST\"\n ? {\n operateAuthorizers: values.operateAuthorizers\n ? values.operateAuthorizers.selectedUser.concat(\n values.operateAuthorizers.selectedUserGroup\n )\n : [],\n }\n : {}),\n ...(this.props.objectId === \"APP\" ? appPermissionAuthorizers : {}),\n };\n };\n /* istanbul ignore next */\n validateFieldsCallback = async (err: any, values: any, type?: string) => {\n if (!err) {\n const { continueCreating } = this.state;\n this.setState({ sending: true });\n const result = await this.props.onSubmit({\n continueCreating,\n values:\n this.props.enabledWhiteList && this.props.permissionList\n ? this.valuesProcess(values)\n : values,\n type,\n });\n if (result !== \"error\" && continueCreating) {\n this.props.form.resetFields();\n }\n this.setState({ sending: false });\n }\n };\n /* istanbul ignore next */\n handleSubmit = (e: FormEvent, type?: string) => {\n e.preventDefault();\n this.props.scrollToFirstError\n ? this.props.form.validateFieldsAndScroll(\n {\n scroll: {\n offsetTop: this.props.offsetTop || 60,\n offsetBottom: this.props.offsetBottom || 100,\n },\n },\n async (err, values) => {\n await this.validateFieldsCallback(err, values, type);\n }\n )\n : this.props.form.validateFields(async (err, values) => {\n await this.validateFieldsCallback(err, values, type);\n });\n };\n\n get disabled(): boolean {\n const { sending } = this.state;\n // const { getFieldsError } = this.props.form;\n return sending;\n }\n\n // get submitBtnText() {\n // return this.props.isCreate\n // ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SAVE}`)\n // : i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MODIFICATION}`);\n // }\n\n static tagsValidator(\n attribute: Partial<CmdbModels.ModelObjectAttr>\n ): (rule: any, value: string[], callback: (msg?: string) => void) => void {\n return (rule: any, value: string[], callback: (msg?: string) => void) => {\n if (!value) {\n return callback();\n }\n if (!Array.isArray(value)) {\n return callback(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX}`)\n );\n }\n\n const isValidAll = value.every((v) =>\n ModelAttributeFormControl.computePattern(attribute).test(v)\n );\n\n isValidAll\n ? callback()\n : callback(i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX}`));\n };\n }\n\n static urlValidator(\n attribute: Partial<CmdbModels.ModelObjectAttr>\n ): (rule: any, value: string, callback: (msg?: string) => void) => void {\n return (rule: any, value: string, callback: (msg?: string) => void) => {\n const { url } = AttributeFormControlUrl.breakDownValue(value);\n ModelAttributeFormControl.computePattern(attribute).test(url)\n ? callback()\n : callback(i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX}`));\n };\n }\n\n // 关联模型form的rules\n relationRules(\n attribute: Partial<ModifiedModelObjectRelation>\n ): ValidationRule[] {\n const { left_required: leftRequired } = attribute;\n // 获取validationRule规则\n const getRules = (required: boolean, name: string): ValidationRule[] => {\n const requireRule = {\n required,\n message: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ATTRIBUTE_NAME_REQUIRED}`,\n { attribute_name: name }\n ),\n };\n return [requireRule];\n };\n\n if (leftRequired) {\n return getRules(leftRequired, attribute.right_description);\n }\n\n return [];\n }\n\n rules(attribute: Partial<CmdbModels.ModelObjectAttr>): ValidationRule[] {\n // historical issues: 如果是INTEGER和URL类型暂时不用正则表达式验证\n const required = attribute.required !== \"false\";\n const requiredRule = [\n ModelAttributeValueType.IP,\n ModelAttributeValueType.STRING,\n ModelAttributeValueType.JSON,\n ].includes(attribute.value.type as ModelAttributeValueType)\n ? {\n required,\n whitespace: required,\n message: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ATTRIBUTE_NAME_REQUIRED}`,\n { attribute_name: attribute.name }\n ),\n }\n : {\n required,\n message: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ATTRIBUTE_NAME_REQUIRED}`,\n { attribute_name: attribute.name }\n ),\n };\n try {\n const type = ModelAttributeFormControl.computeFormControlType(attribute);\n if (\n attribute.value.regex === null ||\n attribute.value.type === ModelAttributeValueType.INTEGER ||\n attribute.value.type === ModelAttributeValueType.ENUMS\n ) {\n return [requiredRule];\n }\n\n if (type === FormControlTypeEnum.URL) {\n return [\n requiredRule,\n { validator: ModelAttributeForm.urlValidator(attribute) },\n ];\n }\n\n if (type === FormControlTypeEnum.TAGS) {\n return [\n requiredRule,\n { validator: ModelAttributeForm.tagsValidator(attribute) },\n ];\n }\n\n return [\n requiredRule,\n {\n pattern: ModelAttributeFormControl.computePattern(attribute),\n message: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX}`),\n },\n ];\n } catch (error) {\n // 例如无枚举值、结构体未添加字段等\n return [requiredRule];\n }\n }\n\n handleCheckContinueCreating = (e: any) => {\n this.setState({ continueCreating: e.target.checked });\n };\n\n renderRelationFormControl = (\n relation: Partial<ModifiedModelObjectRelation>\n ) => {\n const InitialRelationValue = get(\n this.props.attributeFormControlInitialValueMap,\n relation.left_id\n );\n const initialValue = InitialRelationValue\n ? InitialRelationValue.map((instanceData: any) => instanceData.instanceId)\n : [];\n\n return (\n <Form.Item\n label={relation.left_name}\n key={relation.left_id}\n {...this.formItemProps}\n >\n {this.props.form.getFieldDecorator(relation.left_id, {\n rules: this.relationRules(relation),\n initialValue,\n })(\n <RefCmdbInstancesSelectPanel\n isFilterView={this.props.isFilterView}\n modelData={this.modelMap[relation.right_object_id]}\n objectId={relation.right_object_id}\n addTitle={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ADD}`)}\n singleSelect={relation.left_max === 1}\n isOperate={true}\n showDetailUrl={this.props.showDetailUrl}\n relation={relation}\n showSizeChanger={true}\n />\n )}\n </Form.Item>\n );\n };\n\n handleCancel = () => {\n this.props.onCancel?.();\n };\n\n render(): React.ReactNode {\n const Panel = Collapse.Panel;\n const {\n form,\n attributeFormControlInitialValueMap,\n brickList,\n allowContinueCreate,\n showCancelButton,\n cancelText,\n confirmText,\n cancelType,\n defaultUserOrUserGroup,\n } = this.props;\n const { getFieldDecorator } = form;\n\n let defaultActiveKey = this.state.attrListGroupByTag.map(([key]) => key);\n\n if (Array.isArray(brickList)) {\n defaultActiveKey = [\n ...defaultActiveKey,\n ...brickList.map((brick) => brick.name),\n ];\n }\n if (defaultUserOrUserGroup) {\n defaultActiveKey = [...defaultActiveKey, \"permission\"];\n }\n const collapse = this.state.attrListGroupByTag && (\n <Collapse\n bordered={false}\n defaultActiveKey={defaultActiveKey}\n className={styles.collapseStyle}\n >\n {this.state.attrListGroupByTag.map(([tag, list]) => (\n <Panel header={tag} key={tag} forceRender={true}>\n {list.map((attribute, index) => {\n if (attribute.__isRelation) {\n return this.renderRelationFormControl(attribute);\n } else if (attribute.__isRelation === false) {\n return (\n <Form.Item\n label={\n <span>\n <span>{attribute.name}</span>\n {attribute.description && attribute.description !== \"\" && (\n <Tooltip title={attribute.description}>\n <InfoCircleOutlined\n style={{\n padding: \"0 2px\",\n color: \"var(--theme-blue-color)\",\n }}\n />\n </Tooltip>\n )}\n </span>\n }\n key={attribute.name}\n {...this.formItemProps}\n >\n {getFieldDecorator(attribute.id, {\n rules: this.rules(attribute),\n //默认值为string,但是新建时接口转成了object,故编辑时后台返回的也是object\n initialValue:\n attribute.value.type === \"json\" &&\n !_.isString(\n attributeFormControlInitialValueMap[attribute.id]\n )\n ? JSON.stringify(\n attributeFormControlInitialValueMap[attribute.id],\n null,\n 2\n )\n : attributeFormControlInitialValueMap[attribute.id],\n })(\n <ModelAttributeFormControl\n isCreate={this.props.isCreate}\n attribute={attribute}\n multiSelect={\n attribute?.value?.type ===\n ModelAttributeValueType.ENUMS\n }\n objectId={this.props.objectId}\n jsonValidateCollection={(err: any) => {\n const showError = { ...this.state.showError };\n showError[tag + index] = err;\n this.setState({ showError });\n }}\n />\n )}\n </Form.Item>\n );\n }\n })}\n </Panel>\n ))}\n\n {brickList &&\n brickList.map((brick) => (\n <Panel header={brick.header} key={brick.name}>\n <Form.Item\n label={brick.label}\n key={brick.name}\n {...this.formItemProps}\n >\n <brick.name\n ref={(element: any) => {\n element &&\n ((element[\"value\"] = this.props.form.getFieldsValue()),\n (element[\"options\"] = brick.options));\n }}\n />\n </Form.Item>\n </Panel>\n ))}\n\n {this.props.enabledWhiteList && this.props.permissionList && (\n <Panel\n header={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.PERMISSION_WHITELIST}`\n )}\n key={\"permission\"}\n >\n {this.props.permissionList.map((r) => {\n return (\n <Form.Item label={r.remark} key={r.id} {...this.formItemProps}>\n {getFieldDecorator(\n this.permissionAttrProcess(r.action) as string,\n {\n initialValue: defaultUserOrUserGroup,\n }\n )(\n <UserOrUserGroupSelect\n objectMap={keyBy(this.props.objectListOfUser, \"objectId\")}\n optionsMode=\"all\"\n ></UserOrUserGroupSelect>\n )}\n </Form.Item>\n );\n })}\n </Panel>\n )}\n </Collapse>\n );\n const submitContainer = (\n <div\n className={styles.generalFormFooter}\n style={{\n ...this.state.fixedStyle,\n borderTop: \"none\",\n paddingTop: \"16px\",\n paddingLeft: \"20px\",\n }}\n >\n <div className=\"ant-collapse-content-box\">\n <Form.Item {...this.formItemProps} label=\" \" colon={false}>\n {allowContinueCreate && (\n <Checkbox onChange={this.handleCheckContinueCreating}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CREATE_ANOTHER}`)}\n </Checkbox>\n )}\n\n {this.props.isCreate &&\n !this.props.hasRelateId &&\n !this.props.isApprove && (\n <Button\n onClick={(e) => this.handleSubmit(e, \"continue\")}\n className={styles.submitAndContinueBtn}\n disabled={\n this.disabled ||\n Object.values(this.state.showError).includes(true)\n }\n data-testid=\"submit-and-continue-btn\"\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SAVE_AND_CONTINUE}`)}\n </Button>\n )}\n\n <Button\n type=\"primary\"\n onClick={(e) => this.handleSubmit(e)}\n disabled={\n this.disabled ||\n Object.values(this.state.showError).includes(true)\n }\n data-testid=\"submit-btn\"\n >\n {confirmText ?? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SAVE}`)}\n </Button>\n\n {showCancelButton && (\n <Button\n type={cancelType}\n style={{ marginLeft: 8 }}\n onClick={this.handleCancel}\n >\n {cancelText ?? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n </Button>\n )}\n </Form.Item>\n </div>\n </div>\n );\n\n return (\n <Form>\n {collapse}\n {submitContainer}\n </Form>\n );\n }\n}\n\nexport const InstanceModelAttributeForm =\n Form.create<ModelAttributeFormProps>()(ModelAttributeForm);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"constants.js","names":["permissionListMapOfApp"],"sources":["../../../src/model-attribute-form/constants.ts"],"sourcesContent":["export const permissionListMapOfApp: Record<string, any> = {\n [\"deploy:develop:app_resource_add\"]: \"developAppResourceAdd\",\n [\"deploy:test:app_resource_add\"]: \"testAppResourceAdd\",\n [\"deploy:prerelease:app_resource_add\"]: \"prereleaseAppResourceAdd\",\n [\"deploy:production:app_resource_add\"]: \"productionAppResourceAdd\",\n [\"deploy:develop:app_resource_remove\"]: \"developAppResourceRemove\",\n [\"deploy:test:app_resource_remove\"]: \"testAppResourceRemove\",\n [\"deploy:prerelease:app_resource_remove\"]: \"prereleaseAppResourceRemove\",\n [\"deploy:production:app_resource_remove\"]: \"productionAppResourceRemove\",\n [\"deploy:develop:app_package_access\"]: \"developAppPackageAccess\",\n [\"deploy:test:app_package_access\"]: \"testAppPackageAccess\",\n [\"deploy:prerelease:app_package_access\"]: \"prereleaseAppPackageAccess\",\n [\"deploy:production:app_package_access\"]: \"productionAppPackageAccess\",\n [\"deploy:develop:app_package_operation\"]: \"developAppPackageOperation\",\n [\"deploy:test:app_package_operation\"]: \"testAppPackageOperation\",\n [\"deploy:prerelease:app_package_operation\"]: \"prereleaseAppPackageOperation\",\n [\"deploy:production:app_package_operation\"]: \"productionAppPackageOperation\",\n [\"deploy:develop:app_package_create\"]: \"developAppPackageCreate\",\n [\"deploy:test:app_package_create\"]: \"testAppPackageCreate\",\n [\"deploy:prerelease:app_package_create\"]: \"prereleaseAppPackageCreate\",\n [\"deploy:production:app_package_create\"]: \"productionAppPackageCreate\",\n [\"deploy:develop:pipeline_access\"]: \"developPipelineAccess\",\n [\"deploy:test:pipeline_access\"]: \"testPipelineAccess\",\n [\"deploy:production:pipeline_access\"]: \"productionPipelineAccess\",\n [\"deploy:develop:pipeline_create\"]: \"developPipelineCreate\",\n [\"deploy:test:pipeline_create\"]: \"testPipelineCreate\",\n [\"deploy:production:pipeline_create\"]: \"productionPipelineCreate\",\n [\"deploy:develop:pipeline_delete\"]: \"developPipelineDelete\",\n [\"deploy:test:pipeline_delete\"]: \"testPipelineDelete\",\n [\"deploy:production:pipeline_delete\"]: \"productionPipelineDelete\",\n [\"deploy:develop:pipeline_update\"]: \"developPipelineUpdate\",\n [\"deploy:test:pipeline_update\"]: \"testPipelineUpdate\",\n [\"deploy:production:pipeline_update\"]: \"productionPipelineUpdate\",\n [\"deploy:develop:pipeline_execute\"]: \"developPipelineExecute\",\n [\"deploy:test:pipeline_execute\"]: \"testPipelineExecute\",\n [\"deploy:production:pipeline_execute\"]: \"productionPipelineExecute\",\n [\"deploy:develop:deploy_strategy_access\"]: \"developDeployStrategyAccess\",\n [\"deploy:test:deploy_strategy_access\"]: \"testDeployStrategyAccess\",\n [\"deploy:prerelease:deploy_strategy_access\"]:\n \"prereleaseDeployStrategyAccess\",\n [\"deploy:production:deploy_strategy_access\"]:\n \"productionDeployStrategyAccess\",\n [\"deploy:develop:deploy_strategy_create\"]: \"developDeployStrategyCreate\",\n [\"deploy:test:deploy_strategy_create\"]: \"testDeployStrategyCreate\",\n [\"deploy:prerelease:deploy_strategy_create\"]:\n \"prereleaseDeployStrategyCreate\",\n [\"deploy:production:deploy_strategy_create\"]:\n \"productionDeployStrategyCreate\",\n [\"deploy:develop:deploy_strategy_delete\"]: \"developDeployStrategyDelete\",\n [\"deploy:test:deploy_strategy_delete\"]: \"testDeployStrategyDelete\",\n [\"deploy:prerelease:deploy_strategy_delete\"]:\n \"prereleaseDeployStrategyDelete\",\n [\"deploy:production:deploy_strategy_delete\"]:\n \"productionDeployStrategyDelete\",\n [\"deploy:develop:deploy_strategy_update\"]: \"developDeployStrategyUpdate\",\n [\"deploy:test:deploy_strategy_update\"]: \"testDeployStrategyUpdate\",\n [\"deploy:prerelease:deploy_strategy_update\"]:\n \"prereleaseDeployStrategyUpdate\",\n [\"deploy:production:deploy_strategy_update\"]:\n \"productionDeployStrategyUpdate\",\n [\"deploy:develop:deploy_strategy_execute\"]: \"developDeployStrategyExecute\",\n [\"deploy:test:deploy_strategy_execute\"]: \"testDeployStrategyExecute\",\n [\"deploy:prerelease:deploy_strategy_execute\"]:\n \"prereleaseDeployStrategyExecute\",\n [\"deploy:production:deploy_strategy_execute\"]:\n \"productionDeployStrategyExecute\",\n [\"deploy:develop:package_instance_basic_operation\"]:\n \"developPackageInstanceBasicOperation\",\n [\"deploy:test:package_instance_basic_operation\"]:\n \"testPackageInstanceBasicOperation\",\n [\"deploy:prerelease:package_instance_basic_operation\"]:\n \"prereleasePackageInstanceBasicOperation\",\n [\"deploy:production:package_instance_basic_operation\"]:\n \"productionPackageInstanceBasicOperation\",\n [\"deploy:develop:package_instance_advanced_operation\"]:\n \"developPackageInstanceAdvancedOperation\",\n [\"deploy:test:package_instance_advanced_operation\"]:\n \"testPackageInstanceAdvancedOperation\",\n [\"deploy:prerelease:package_instance_advanced_operation\"]:\n \"prereleasePackageInstanceAdvancedOperation\",\n [\"deploy:production:package_instance_advanced_operation\"]:\n \"productionPackageInstanceAdvancedOperation\",\n [\"deploy:develop:environment_config\"]: \"developEnvironmentConfig\",\n [\"deploy:test:environment_config\"]: \"testEnvironmentConfig\",\n [\"deploy:prerelease:environment_config\"]: \"prereleasepEnvironmentConfig\",\n [\"deploy:production:environment_config\"]: \"productionEnvironmentConfig\",\n [\"deploy:develop:manual_deploy\"]: \"developManualDeploy\",\n [\"deploy:test:manual_deploy\"]: \"testManualDeploy\",\n [\"deploy:prerelease:manual_deploy\"]: \"prereleaseManualDeploy\",\n [\"deploy:production:manual_deploy\"]: \"productionManualDeploy\",\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/model-attribute-form-control/ModelAttributeFormControl.tsx"],"names":["ModelAttributeValueType","ModelAttributeValueModeType","FormControlTypeEnum","boolOptions","id","text","ModelAttributeFormControl","Component","componentDidUpdate","prevProps","prevState","snapshot","props","value","type","attribute","name","setState","formControl","computeFormControl","objectId","constructor","isClusterType","formControlType","computeFormControlType","isSupportMultiStringValue","items","computeFormControlItems","BOOLEAN","result","label","required","readOnly","isCreate","readonly","unique","pattern","computePattern","STRUCT","computePlaceholder","event","target","onChange","date","dateString","undefined","err","error","jsonValidateCollection","showError","restProps","errorMessage","state","jsonSchema","regex","JSON","parse","TEXT","placeholder","e","className","style","URL","NUMBER","CODE_EDITOR","validateJson","display","color","i18n","t","NS_LIBS_CMDB_INSTANCES","K","NOT_MEET_JSON","TEXTAREA","MARKDOWN","LEGACY_STRUCT","formData","RADIO","unselected","TEMPORARILY_NOT_CHOOSE","map","item","String","TAGS","width","DATE","DATETIME","dateConfig","showTime","formater","format","handleDateChange","SELECT","newValue","multiSelect","is","message","_PLAIN_TEXT","ENUM","ENUMS","RegExp","enumValue","clusterMap","STRING","mode","MULTIPLE_LINES","IP","length","Error","ENUM_ERROR_TIP","INTEGER","FLOAT","ARR","struct_define","STRUCT_ERROR_TIP","STRUCT_LIST","TYPE_NO_SUPPORT_EDIT","IP_PLACEHOLDER","placeholders","push","CLICK_TO_SELECT","ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR","NUMBER_INPUT_PLACEHOLDER","ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER","MATCHING_REGULAR","regexp","UNIQUE_NO_REPEAT","join","render","FormControlTypeMap"],"mappings":"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","sourcesContent":["import React, { Component, ReactNode } from \"react\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport { DatePicker, Input, InputNumber, Radio, Select } from \"antd\";\nimport { AddStruct } from \"../struct-components\";\nimport moment, { Moment } from \"moment\";\nimport { AttributeFormControlUrl } from \"../attribute-form-control-url/AttributeFormControlUrl\";\nimport { computeDateFormat } from \"../processors\";\nimport { clusterMap } from \"../instance-list-table/constants\";\nimport { CodeEditor } from \"@next-libs/code-editor-components\";\nimport { some } from \"lodash\";\nexport interface FormControlSelectItem {\n id: any;\n text: string;\n}\n\nexport enum ModelAttributeValueType {\n STRING = \"str\",\n INTEGER = \"int\",\n ENUM = \"enum\",\n ENUMS = \"enums\",\n ARR = \"arr\",\n DATE = \"date\",\n DATETIME = \"datetime\",\n STRUCT = \"struct\",\n STRUCT_LIST = \"structs\",\n FOREIGN_KEY = \"FK\",\n FOREIGN_KEYS = \"FKs\",\n IP = \"ip\",\n FLOAT = \"float\",\n BOOLEAN = \"bool\",\n JSON = \"json\",\n}\n\nexport enum ModelAttributeValueModeType {\n MULTIPLE_LINES = \"multiple-lines\",\n DEFAULT = \"default\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\n}\n\nexport enum FormControlTypeEnum {\n TEXT = \"text\",\n NUMBER = \"number\",\n SELECT = \"select\",\n RADIO = \"radio\",\n TEXTAREA = \"textarea\",\n DATE = \"date\",\n DATETIME = \"datetime\",\n TAGS = \"tags\",\n STRUCT = \"struct\",\n /**\n * @deprecated supported for compatibility only\n * @type {string}\n */\n LEGACY_STRUCT = \"legacy-struct\",\n // fallback to show a plain text span\n _PLAIN_TEXT = \"_plain_text\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\n CODE_EDITOR = \"code_editor\",\n}\n\nexport interface FormControl {\n id: string;\n type: FormControlTypeEnum;\n items?: FormControlSelectItem[];\n name: string;\n label?: string;\n required?: boolean;\n readOnly?: boolean;\n unique?: boolean;\n pattern?: RegExp;\n placeholder?: string;\n maxlength?: number; // 结构体数组的最大长度,如果是结构体,就是1,\n}\n\nexport interface ModelAttributeFormControlProps {\n // ant-design initialValue\n id?: string;\n value?: any;\n isCreate?: boolean;\n onChange?: (value: any) => void;\n attribute: Partial<CmdbModels.ModelObjectAttr>;\n type?: string;\n multiSelect?: boolean;\n className?: string;\n style?: React.CSSProperties;\n objectId?: string;\n jsonValidateCollection?: (err: boolean) => void;\n isSupportMultiStringValue?: boolean;\n}\n\nexport interface ModelAttributeFormControlState {\n value?: any;\n formControl: FormControl;\n errorMessage: string;\n showError?: boolean;\n}\n\nexport const boolOptions: FormControlSelectItem[] = [\n {\n id: true,\n text: \"true\",\n },\n {\n id: false,\n text: \"false\",\n },\n];\n\nexport class ModelAttributeFormControl extends Component<\n ModelAttributeFormControlProps,\n ModelAttributeFormControlState\n> {\n componentDidUpdate(\n prevProps: Readonly<ModelAttributeFormControlProps>,\n prevState: Readonly<ModelAttributeFormControlState>,\n snapshot?: any\n ): void {\n if (\n this.props.value !== prevProps.value ||\n this.props.type !== prevProps.type ||\n this.props.attribute.id !== prevProps.attribute.id ||\n this.props.attribute.name !== prevProps.attribute.name ||\n this.props.attribute.value.type !== prevProps.attribute.value.type\n ) {\n this.setState({\n value: this.props.value,\n formControl: this.computeFormControl(\n this.props.attribute,\n this.props.id,\n this.props.type,\n this.props.objectId === \"CLUSTER\" &&\n this.props.attribute.id === \"type\"\n ),\n });\n }\n }\n\n constructor(props: ModelAttributeFormControlProps) {\n super(props);\n const { attribute, id, value, type, objectId } = props;\n const is = objectId;\n try {\n this.state = {\n value,\n errorMessage: null,\n formControl: this.computeFormControl(\n attribute,\n id,\n type,\n this.props.objectId === \"CLUSTER\" &&\n this.props.attribute.id === \"type\"\n ),\n };\n } catch (error) {\n this.state = {\n errorMessage: error.message,\n formControl: {\n type: FormControlTypeEnum._PLAIN_TEXT,\n name: attribute.name,\n id: \"\",\n },\n };\n }\n }\n\n static computePattern(\n attribute: Partial<CmdbModels.ModelObjectAttr>\n ): RegExp | undefined {\n try {\n if (\n attribute.value.type !== ModelAttributeValueType.ENUM &&\n attribute.value.type !== ModelAttributeValueType.ENUMS &&\n attribute.value.regex !== undefined &&\n attribute.value.regex !== null\n ) {\n // todo(jhuang): use `u` flag for compliance until https://github.com/angular/angular/pull/20819 is resolved\n return new RegExp(attribute.value.regex as string, \"u\");\n }\n return undefined;\n } catch (error) {\n return undefined;\n }\n }\n\n computeFormControlItems(\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n isClusterType?: boolean\n ): FormControlSelectItem[] {\n if (\n attribute.value.type === ModelAttributeValueType.ENUM ||\n attribute.value.type === ModelAttributeValueType.ENUMS\n ) {\n // The backend guys are notorious to use `regex` as enum candidates. 😢\n return (attribute.value.regex as string[])?.map((enumValue) => ({\n id: enumValue,\n text: isClusterType ? clusterMap[enumValue] : enumValue,\n }));\n }\n }\n\n static computeFormControlType(\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n type?: string,\n isSupportMultiStringValue?: boolean\n ): FormControlTypeEnum {\n switch (attribute.value.type) {\n case ModelAttributeValueType.STRING: {\n if (\n attribute.value.mode === ModelAttributeValueModeType.MULTIPLE_LINES\n ) {\n return FormControlTypeEnum.TEXTAREA;\n }\n if (attribute.value.mode === ModelAttributeValueModeType.MARKDOWN) {\n return FormControlTypeEnum.MARKDOWN;\n }\n if (attribute.value.mode === ModelAttributeValueModeType.URL) {\n return FormControlTypeEnum.URL;\n }\n }\n /* falls through */\n case ModelAttributeValueType.IP:\n if (isSupportMultiStringValue) {\n return FormControlTypeEnum.TAGS;\n }\n return FormControlTypeEnum.TEXT;\n case ModelAttributeValueType.JSON:\n // return FormControlTypeEnum.TEXTAREA;\n return FormControlTypeEnum.CODE_EDITOR;\n case ModelAttributeValueType.ENUM:\n if (\n !attribute.value.regex ||\n (attribute.value.regex as string[]).length === 0\n ) {\n throw new Error(\n // \"请在资源模型管理中添加枚举值, 属性: \" + attribute.name\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ENUM_ERROR_TIP}`, {\n attribute: attribute.name,\n })\n );\n }\n if (\n attribute.value.regex &&\n (attribute.value.regex as string[]).length <= 5 &&\n (!type || type === FormControlTypeEnum.RADIO)\n ) {\n return FormControlTypeEnum.RADIO;\n }\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.INTEGER:\n case ModelAttributeValueType.FLOAT:\n return FormControlTypeEnum.NUMBER;\n case ModelAttributeValueType.DATE:\n return FormControlTypeEnum.DATE;\n case ModelAttributeValueType.DATETIME:\n return FormControlTypeEnum.DATETIME;\n case ModelAttributeValueType.ARR:\n return FormControlTypeEnum.TAGS;\n case ModelAttributeValueType.STRUCT:\n if (attribute.value.struct_define.length === 0) {\n throw new Error(\n // \"请在资源模型中添加结构体属性, 属性: \" + attribute.name\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.STRUCT_ERROR_TIP}`, {\n attribute: attribute.name,\n })\n );\n }\n return FormControlTypeEnum.LEGACY_STRUCT;\n case ModelAttributeValueType.STRUCT_LIST:\n if (attribute.value.struct_define.length === 0) {\n throw new Error(\n // \"请在资源模型中添加结构体属性, 属性: \" + attribute.name\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.STRUCT_ERROR_TIP}`, {\n attribute: attribute.name,\n })\n );\n }\n return FormControlTypeEnum.STRUCT;\n case ModelAttributeValueType.BOOLEAN:\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.ENUMS:\n return FormControlTypeEnum.SELECT;\n default:\n throw new Error(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.TYPE_NO_SUPPORT_EDIT}`, {\n type: attribute.value.type,\n })\n );\n }\n }\n\n computeFormControl = (\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n id?: string,\n type?: string,\n isClusterType?: boolean\n ): FormControl => {\n const formControlType = ModelAttributeFormControl.computeFormControlType(\n attribute,\n type,\n this.props.isSupportMultiStringValue\n );\n let items = this.computeFormControlItems(attribute, isClusterType);\n\n if (attribute.value.type === ModelAttributeValueType.BOOLEAN) {\n items = boolOptions;\n }\n\n const result: FormControl = {\n type: formControlType,\n items,\n id: id || attribute.id,\n name: attribute.id,\n label: attribute.name,\n required: attribute.required === \"true\",\n readOnly: !this.props.isCreate && attribute.readonly === \"true\",\n unique: attribute.unique === \"true\",\n pattern: ModelAttributeFormControl.computePattern(attribute),\n };\n\n if (result.type === FormControlTypeEnum.STRUCT) {\n result[\"maxlength\"] = 1;\n }\n result[\"placeholder\"] =\n ModelAttributeFormControl.computePlaceholder(result);\n return result;\n };\n\n static computePlaceholder(formControl: FormControl): string {\n if (formControl.id === \"ip\" && formControl.name === \"ip\") {\n return i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.IP_PLACEHOLDER}`);\n }\n\n const placeholders = [];\n switch (formControl.type) {\n case FormControlTypeEnum.SELECT:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.DATETIME:\n case FormControlTypeEnum.DATE:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.TAGS:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR}`\n )\n );\n break;\n case FormControlTypeEnum.NUMBER:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NUMBER_INPUT_PLACEHOLDER}`)\n );\n break;\n default:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER}`\n )\n );\n }\n\n if (formControl.pattern !== undefined) {\n // placeholders.push(`匹配正则 ${formControl.pattern}`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: formControl.pattern,\n })\n );\n }\n if (formControl.unique) {\n // placeholders.push(`${formControl.label}唯一不能重复`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UNIQUE_NO_REPEAT}`, {\n label: formControl.label,\n })\n );\n }\n return placeholders.join(\",\");\n }\n\n /*computeFormControlAndCatchError = () => {\n const { attribute, objectId } = this.props;\n try {\n this.setState({\n formControl: this.computeFormControl(attribute, objectId)\n });\n } catch (error) {\n this.setState({\n errorMessage: error.message,\n formControl: {\n type: FormControlTypeEnum._PLAIN_TEXT,\n name: attribute.name,\n id: \"\"\n }\n });\n }\n };*/\n\n onChange = (event: any) => {\n let value;\n if (event && event.target) {\n value = event.target.value;\n } else {\n value = event;\n }\n\n const { onChange } = this.props;\n this.setState({ value });\n onChange && onChange(value);\n };\n\n handleDateChange = (date: Moment, dateString: string) => {\n this.onChange(dateString || undefined);\n };\n validateJson = (err: any) => {\n const error = some(err, [\"type\", \"error\"]);\n this.props.jsonValidateCollection?.(error);\n this.setState({ showError: error });\n };\n\n FormControlTypeMap = (): ReactNode => {\n const { attribute } = this.props;\n const {\n value,\n formControl: { type, ...restProps },\n errorMessage,\n } = this.state;\n // const unsupportText = `\"${type}\"类型暂时不支持编辑`;\n // const unsupportText = i18n.t(\n // `${NS_LIBS_CMDB_INSTANCES}:${K.TYPE_NO_SUPPORT_EDIT}`,\n // { type }\n // );\n let jsonSchema: any;\n if (attribute?.value?.type === \"json\" && attribute?.value?.regex) {\n jsonSchema = JSON.parse(attribute?.value?.regex);\n }\n\n switch (type) {\n case FormControlTypeEnum.TEXT: {\n const { pattern, placeholder, ...props } = restProps;\n return (\n <Input\n value={value}\n type=\"text\"\n {...props}\n placeholder={placeholder}\n onChange={(e) => this.onChange(e)}\n className={this.props.className}\n style={this.props.style}\n />\n );\n }\n\n case FormControlTypeEnum.URL: {\n const { readOnly, required, placeholder } = restProps;\n\n return (\n <AttributeFormControlUrl\n readOnly={readOnly}\n required={required}\n placeholder={placeholder}\n value={value}\n onChange={(e) => this.onChange(e)}\n />\n );\n }\n\n case FormControlTypeEnum.NUMBER: {\n const { pattern, ...props } = restProps;\n return (\n <InputNumber\n value={value}\n {...props}\n onChange={(e: any) => this.onChange(e)}\n className={this.props.className}\n style={this.props.style}\n />\n );\n }\n case FormControlTypeEnum.CODE_EDITOR:\n return (\n <>\n <CodeEditor\n value={value}\n mode={\"json\"}\n maxLines={\"Infinity\"}\n highlightActiveLine={true}\n onChange={(e: any) => this.onChange(e)}\n minLines={3}\n showLineNumbers={true}\n showPrintMargin={false}\n validateJsonSchemaMode={\"error\"}\n {...(jsonSchema ? { jsonSchema: jsonSchema } : {})}\n theme=\"tomorrow\"\n onValidate={(err: any) => this.validateJson(err)}\n />\n <label\n style={{\n display: this.state.showError ? \"block\" : \"none\",\n color: \"#fc5043\",\n }}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_JSON}`)}\n </label>\n </>\n );\n case FormControlTypeEnum.TEXTAREA:\n case FormControlTypeEnum.MARKDOWN: {\n return (\n <Input.TextArea\n value={value}\n {...restProps}\n onChange={(e: any) => this.onChange(e)}\n className={this.props.className}\n style={this.props.style}\n rows={5}\n />\n );\n }\n\n case FormControlTypeEnum.STRUCT:\n case FormControlTypeEnum.LEGACY_STRUCT:\n return (\n <AddStruct\n isLegacy={type === FormControlTypeEnum.LEGACY_STRUCT}\n attribute={attribute}\n structData={value}\n handleStoreFunction={(formData: any) => this.onChange(formData)}\n className={this.props.className}\n style={this.props.style}\n isCreate={this.props.isCreate}\n />\n );\n\n case FormControlTypeEnum.RADIO: {\n let { items, required, readOnly } = restProps;\n\n // NODE: 对非必填单选为空的特殊处理 BY @robertman\n const unselected = {\n id: null as string,\n // text: \"暂不选择\",\n text: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.TEMPORARILY_NOT_CHOOSE}`),\n };\n\n if (!required) {\n items = [...items, unselected];\n }\n\n return (\n <Radio.Group\n onChange={(e: any) => this.onChange(e)}\n value={value !== undefined ? value : unselected.id}\n className={this.props.className}\n style={this.props.style}\n disabled={readOnly}\n >\n {items.map((item) => (\n <Radio value={item.id} key={String(item.id)}>\n {item.text}\n </Radio>\n ))}\n </Radio.Group>\n );\n }\n\n case FormControlTypeEnum.TAGS: {\n const { placeholder, readOnly } = restProps;\n return (\n <Select\n allowClear={true}\n mode=\"tags\"\n style={{ ...this.props.style, width: \"100%\" }}\n disabled={readOnly}\n placeholder={placeholder}\n value={value || []}\n onChange={(e: any) => this.onChange(e)}\n className={this.props.className}\n />\n );\n }\n\n case FormControlTypeEnum.DATE:\n case FormControlTypeEnum.DATETIME: {\n let dateConfig = {};\n if (type === FormControlTypeEnum.DATETIME) {\n dateConfig = {\n showTime: true,\n };\n }\n const { readOnly, placeholder } = restProps;\n const formater = computeDateFormat(type, value);\n return (\n <DatePicker\n value={formater.value}\n placeholder={placeholder}\n disabled={readOnly}\n format={formater.format}\n {...dateConfig}\n onChange={(date, dateString) =>\n this.handleDateChange(date, dateString)\n }\n className={this.props.className}\n style={this.props.style}\n />\n );\n }\n\n case FormControlTypeEnum.SELECT: {\n const { readOnly, placeholder } = restProps;\n const newValue =\n typeof value === \"boolean\" ? value : value ? value : [];\n return (\n <Select\n placeholder={placeholder}\n mode={this.props.multiSelect ? \"multiple\" : undefined}\n value={newValue}\n onChange={(e: any) => this.onChange(e)}\n disabled={readOnly}\n className={this.props.className}\n style={this.props.style}\n >\n {restProps.items &&\n restProps.items.map(({ id, text }) => (\n <Select.Option value={id} key={id}>\n {text}\n </Select.Option>\n ))}\n </Select>\n );\n }\n\n default:\n return (\n // <Input\n // value={errorMessage}\n // readOnly\n // disabled\n // className={this.props.className}\n // style={this.props.style}\n // />\n <div\n style={{\n color: \"var(--theme-red-color)\",\n ...this.props.style,\n }}\n >\n {errorMessage}\n </div>\n );\n }\n };\n\n render(): ReactNode {\n return <>{this.FormControlTypeMap()}</>;\n }\n}\n"],"file":"ModelAttributeFormControl.js"}
|
|
1
|
+
{"version":3,"file":"ModelAttributeFormControl.js","names":["ModelAttributeValueType","ModelAttributeValueModeType","FormControlTypeEnum","boolOptions","id","text","ModelAttributeFormControl","Component","componentDidUpdate","prevProps","prevState","snapshot","props","value","type","attribute","name","setState","formControl","computeFormControl","objectId","constructor","isClusterType","formControlType","computeFormControlType","isSupportMultiStringValue","items","computeFormControlItems","BOOLEAN","result","label","required","readOnly","isCreate","readonly","unique","pattern","computePattern","STRUCT","computePlaceholder","event","target","onChange","date","dateString","undefined","err","error","some","jsonValidateCollection","showError","restProps","errorMessage","state","jsonSchema","regex","JSON","parse","TEXT","placeholder","e","className","style","URL","NUMBER","CODE_EDITOR","validateJson","display","color","i18n","t","NS_LIBS_CMDB_INSTANCES","K","NOT_MEET_JSON","TEXTAREA","MARKDOWN","LEGACY_STRUCT","formData","RADIO","unselected","TEMPORARILY_NOT_CHOOSE","map","item","String","TAGS","width","DATE","DATETIME","dateConfig","showTime","formater","computeDateFormat","format","handleDateChange","SELECT","newValue","multiSelect","is","message","_PLAIN_TEXT","ENUM","ENUMS","RegExp","enumValue","clusterMap","STRING","mode","MULTIPLE_LINES","IP","length","Error","ENUM_ERROR_TIP","INTEGER","FLOAT","ARR","struct_define","STRUCT_ERROR_TIP","STRUCT_LIST","TYPE_NO_SUPPORT_EDIT","IP_PLACEHOLDER","placeholders","push","CLICK_TO_SELECT","ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR","NUMBER_INPUT_PLACEHOLDER","ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER","MATCHING_REGULAR","regexp","UNIQUE_NO_REPEAT","join","render","FormControlTypeMap"],"sources":["../../../src/model-attribute-form-control/ModelAttributeFormControl.tsx"],"sourcesContent":["import React, { Component, ReactNode } from \"react\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport { DatePicker, Input, InputNumber, Radio, Select } from \"antd\";\nimport { AddStruct } from \"../struct-components\";\nimport moment, { Moment } from \"moment\";\nimport { AttributeFormControlUrl } from \"../attribute-form-control-url/AttributeFormControlUrl\";\nimport { computeDateFormat } from \"../processors\";\nimport { clusterMap } from \"../instance-list-table/constants\";\nimport { CodeEditor } from \"@next-libs/code-editor-components\";\nimport { some } from \"lodash\";\nexport interface FormControlSelectItem {\n id: any;\n text: string;\n}\n\nexport enum ModelAttributeValueType {\n STRING = \"str\",\n INTEGER = \"int\",\n ENUM = \"enum\",\n ENUMS = \"enums\",\n ARR = \"arr\",\n DATE = \"date\",\n DATETIME = \"datetime\",\n STRUCT = \"struct\",\n STRUCT_LIST = \"structs\",\n FOREIGN_KEY = \"FK\",\n FOREIGN_KEYS = \"FKs\",\n IP = \"ip\",\n FLOAT = \"float\",\n BOOLEAN = \"bool\",\n JSON = \"json\",\n}\n\nexport enum ModelAttributeValueModeType {\n MULTIPLE_LINES = \"multiple-lines\",\n DEFAULT = \"default\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\n}\n\nexport enum FormControlTypeEnum {\n TEXT = \"text\",\n NUMBER = \"number\",\n SELECT = \"select\",\n RADIO = \"radio\",\n TEXTAREA = \"textarea\",\n DATE = \"date\",\n DATETIME = \"datetime\",\n TAGS = \"tags\",\n STRUCT = \"struct\",\n /**\n * @deprecated supported for compatibility only\n * @type {string}\n */\n LEGACY_STRUCT = \"legacy-struct\",\n // fallback to show a plain text span\n _PLAIN_TEXT = \"_plain_text\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\n CODE_EDITOR = \"code_editor\",\n}\n\nexport interface FormControl {\n id: string;\n type: FormControlTypeEnum;\n items?: FormControlSelectItem[];\n name: string;\n label?: string;\n required?: boolean;\n readOnly?: boolean;\n unique?: boolean;\n pattern?: RegExp;\n placeholder?: string;\n maxlength?: number; // 结构体数组的最大长度,如果是结构体,就是1,\n}\n\nexport interface ModelAttributeFormControlProps {\n // ant-design initialValue\n id?: string;\n value?: any;\n isCreate?: boolean;\n onChange?: (value: any) => void;\n attribute: Partial<CmdbModels.ModelObjectAttr>;\n type?: string;\n multiSelect?: boolean;\n className?: string;\n style?: React.CSSProperties;\n objectId?: string;\n jsonValidateCollection?: (err: boolean) => void;\n isSupportMultiStringValue?: boolean;\n}\n\nexport interface ModelAttributeFormControlState {\n value?: any;\n formControl: FormControl;\n errorMessage: string;\n showError?: boolean;\n}\n\nexport const boolOptions: FormControlSelectItem[] = [\n {\n id: true,\n text: \"true\",\n },\n {\n id: false,\n text: \"false\",\n },\n];\n\nexport class ModelAttributeFormControl extends Component<\n ModelAttributeFormControlProps,\n ModelAttributeFormControlState\n> {\n componentDidUpdate(\n prevProps: Readonly<ModelAttributeFormControlProps>,\n prevState: Readonly<ModelAttributeFormControlState>,\n snapshot?: any\n ): void {\n if (\n this.props.value !== prevProps.value ||\n this.props.type !== prevProps.type ||\n this.props.attribute.id !== prevProps.attribute.id ||\n this.props.attribute.name !== prevProps.attribute.name ||\n this.props.attribute.value.type !== prevProps.attribute.value.type\n ) {\n this.setState({\n value: this.props.value,\n formControl: this.computeFormControl(\n this.props.attribute,\n this.props.id,\n this.props.type,\n this.props.objectId === \"CLUSTER\" &&\n this.props.attribute.id === \"type\"\n ),\n });\n }\n }\n\n constructor(props: ModelAttributeFormControlProps) {\n super(props);\n const { attribute, id, value, type, objectId } = props;\n const is = objectId;\n try {\n this.state = {\n value,\n errorMessage: null,\n formControl: this.computeFormControl(\n attribute,\n id,\n type,\n this.props.objectId === \"CLUSTER\" &&\n this.props.attribute.id === \"type\"\n ),\n };\n } catch (error) {\n this.state = {\n errorMessage: error.message,\n formControl: {\n type: FormControlTypeEnum._PLAIN_TEXT,\n name: attribute.name,\n id: \"\",\n },\n };\n }\n }\n\n static computePattern(\n attribute: Partial<CmdbModels.ModelObjectAttr>\n ): RegExp | undefined {\n try {\n if (\n attribute.value.type !== ModelAttributeValueType.ENUM &&\n attribute.value.type !== ModelAttributeValueType.ENUMS &&\n attribute.value.regex !== undefined &&\n attribute.value.regex !== null\n ) {\n // todo(jhuang): use `u` flag for compliance until https://github.com/angular/angular/pull/20819 is resolved\n return new RegExp(attribute.value.regex as string, \"u\");\n }\n return undefined;\n } catch (error) {\n return undefined;\n }\n }\n\n computeFormControlItems(\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n isClusterType?: boolean\n ): FormControlSelectItem[] {\n if (\n attribute.value.type === ModelAttributeValueType.ENUM ||\n attribute.value.type === ModelAttributeValueType.ENUMS\n ) {\n // The backend guys are notorious to use `regex` as enum candidates. 😢\n return (attribute.value.regex as string[])?.map((enumValue) => ({\n id: enumValue,\n text: isClusterType ? clusterMap[enumValue] : enumValue,\n }));\n }\n }\n\n static computeFormControlType(\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n type?: string,\n isSupportMultiStringValue?: boolean\n ): FormControlTypeEnum {\n switch (attribute.value.type) {\n case ModelAttributeValueType.STRING: {\n if (\n attribute.value.mode === ModelAttributeValueModeType.MULTIPLE_LINES\n ) {\n return FormControlTypeEnum.TEXTAREA;\n }\n if (attribute.value.mode === ModelAttributeValueModeType.MARKDOWN) {\n return FormControlTypeEnum.MARKDOWN;\n }\n if (attribute.value.mode === ModelAttributeValueModeType.URL) {\n return FormControlTypeEnum.URL;\n }\n }\n /* falls through */\n case ModelAttributeValueType.IP:\n if (isSupportMultiStringValue) {\n return FormControlTypeEnum.TAGS;\n }\n return FormControlTypeEnum.TEXT;\n case ModelAttributeValueType.JSON:\n // return FormControlTypeEnum.TEXTAREA;\n return FormControlTypeEnum.CODE_EDITOR;\n case ModelAttributeValueType.ENUM:\n if (\n !attribute.value.regex ||\n (attribute.value.regex as string[]).length === 0\n ) {\n throw new Error(\n // \"请在资源模型管理中添加枚举值, 属性: \" + attribute.name\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ENUM_ERROR_TIP}`, {\n attribute: attribute.name,\n })\n );\n }\n if (\n attribute.value.regex &&\n (attribute.value.regex as string[]).length <= 5 &&\n (!type || type === FormControlTypeEnum.RADIO)\n ) {\n return FormControlTypeEnum.RADIO;\n }\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.INTEGER:\n case ModelAttributeValueType.FLOAT:\n return FormControlTypeEnum.NUMBER;\n case ModelAttributeValueType.DATE:\n return FormControlTypeEnum.DATE;\n case ModelAttributeValueType.DATETIME:\n return FormControlTypeEnum.DATETIME;\n case ModelAttributeValueType.ARR:\n return FormControlTypeEnum.TAGS;\n case ModelAttributeValueType.STRUCT:\n if (attribute.value.struct_define.length === 0) {\n throw new Error(\n // \"请在资源模型中添加结构体属性, 属性: \" + attribute.name\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.STRUCT_ERROR_TIP}`, {\n attribute: attribute.name,\n })\n );\n }\n return FormControlTypeEnum.LEGACY_STRUCT;\n case ModelAttributeValueType.STRUCT_LIST:\n if (attribute.value.struct_define.length === 0) {\n throw new Error(\n // \"请在资源模型中添加结构体属性, 属性: \" + attribute.name\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.STRUCT_ERROR_TIP}`, {\n attribute: attribute.name,\n })\n );\n }\n return FormControlTypeEnum.STRUCT;\n case ModelAttributeValueType.BOOLEAN:\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.ENUMS:\n return FormControlTypeEnum.SELECT;\n default:\n throw new Error(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.TYPE_NO_SUPPORT_EDIT}`, {\n type: attribute.value.type,\n })\n );\n }\n }\n\n computeFormControl = (\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n id?: string,\n type?: string,\n isClusterType?: boolean\n ): FormControl => {\n const formControlType = ModelAttributeFormControl.computeFormControlType(\n attribute,\n type,\n this.props.isSupportMultiStringValue\n );\n let items = this.computeFormControlItems(attribute, isClusterType);\n\n if (attribute.value.type === ModelAttributeValueType.BOOLEAN) {\n items = boolOptions;\n }\n\n const result: FormControl = {\n type: formControlType,\n items,\n id: id || attribute.id,\n name: attribute.id,\n label: attribute.name,\n required: attribute.required === \"true\",\n readOnly: !this.props.isCreate && attribute.readonly === \"true\",\n unique: attribute.unique === \"true\",\n pattern: ModelAttributeFormControl.computePattern(attribute),\n };\n\n if (result.type === FormControlTypeEnum.STRUCT) {\n result[\"maxlength\"] = 1;\n }\n result[\"placeholder\"] =\n ModelAttributeFormControl.computePlaceholder(result);\n return result;\n };\n\n static computePlaceholder(formControl: FormControl): string {\n if (formControl.id === \"ip\" && formControl.name === \"ip\") {\n return i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.IP_PLACEHOLDER}`);\n }\n\n const placeholders = [];\n switch (formControl.type) {\n case FormControlTypeEnum.SELECT:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.DATETIME:\n case FormControlTypeEnum.DATE:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.TAGS:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR}`\n )\n );\n break;\n case FormControlTypeEnum.NUMBER:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NUMBER_INPUT_PLACEHOLDER}`)\n );\n break;\n default:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER}`\n )\n );\n }\n\n if (formControl.pattern !== undefined) {\n // placeholders.push(`匹配正则 ${formControl.pattern}`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: formControl.pattern,\n })\n );\n }\n if (formControl.unique) {\n // placeholders.push(`${formControl.label}唯一不能重复`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UNIQUE_NO_REPEAT}`, {\n label: formControl.label,\n })\n );\n }\n return placeholders.join(\",\");\n }\n\n /*computeFormControlAndCatchError = () => {\n const { attribute, objectId } = this.props;\n try {\n this.setState({\n formControl: this.computeFormControl(attribute, objectId)\n });\n } catch (error) {\n this.setState({\n errorMessage: error.message,\n formControl: {\n type: FormControlTypeEnum._PLAIN_TEXT,\n name: attribute.name,\n id: \"\"\n }\n });\n }\n };*/\n\n onChange = (event: any) => {\n let value;\n if (event && event.target) {\n value = event.target.value;\n } else {\n value = event;\n }\n\n const { onChange } = this.props;\n this.setState({ value });\n onChange && onChange(value);\n };\n\n handleDateChange = (date: Moment, dateString: string) => {\n this.onChange(dateString || undefined);\n };\n validateJson = (err: any) => {\n const error = some(err, [\"type\", \"error\"]);\n this.props.jsonValidateCollection?.(error);\n this.setState({ showError: error });\n };\n\n FormControlTypeMap = (): ReactNode => {\n const { attribute } = this.props;\n const {\n value,\n formControl: { type, ...restProps },\n errorMessage,\n } = this.state;\n // const unsupportText = `\"${type}\"类型暂时不支持编辑`;\n // const unsupportText = i18n.t(\n // `${NS_LIBS_CMDB_INSTANCES}:${K.TYPE_NO_SUPPORT_EDIT}`,\n // { type }\n // );\n let jsonSchema: any;\n if (attribute?.value?.type === \"json\" && attribute?.value?.regex) {\n jsonSchema = JSON.parse(attribute?.value?.regex);\n }\n\n switch (type) {\n case FormControlTypeEnum.TEXT: {\n const { pattern, placeholder, ...props } = restProps;\n return (\n <Input\n value={value}\n type=\"text\"\n {...props}\n placeholder={placeholder}\n onChange={(e) => this.onChange(e)}\n className={this.props.className}\n style={this.props.style}\n />\n );\n }\n\n case FormControlTypeEnum.URL: {\n const { readOnly, required, placeholder } = restProps;\n\n return (\n <AttributeFormControlUrl\n readOnly={readOnly}\n required={required}\n placeholder={placeholder}\n value={value}\n onChange={(e) => this.onChange(e)}\n />\n );\n }\n\n case FormControlTypeEnum.NUMBER: {\n const { pattern, ...props } = restProps;\n return (\n <InputNumber\n value={value}\n {...props}\n onChange={(e: any) => this.onChange(e)}\n className={this.props.className}\n style={this.props.style}\n />\n );\n }\n case FormControlTypeEnum.CODE_EDITOR:\n return (\n <>\n <CodeEditor\n value={value}\n mode={\"json\"}\n maxLines={\"Infinity\"}\n highlightActiveLine={true}\n onChange={(e: any) => this.onChange(e)}\n minLines={3}\n showLineNumbers={true}\n showPrintMargin={false}\n validateJsonSchemaMode={\"error\"}\n {...(jsonSchema ? { jsonSchema: jsonSchema } : {})}\n theme=\"tomorrow\"\n onValidate={(err: any) => this.validateJson(err)}\n />\n <label\n style={{\n display: this.state.showError ? \"block\" : \"none\",\n color: \"#fc5043\",\n }}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_JSON}`)}\n </label>\n </>\n );\n case FormControlTypeEnum.TEXTAREA:\n case FormControlTypeEnum.MARKDOWN: {\n return (\n <Input.TextArea\n value={value}\n {...restProps}\n onChange={(e: any) => this.onChange(e)}\n className={this.props.className}\n style={this.props.style}\n rows={5}\n />\n );\n }\n\n case FormControlTypeEnum.STRUCT:\n case FormControlTypeEnum.LEGACY_STRUCT:\n return (\n <AddStruct\n isLegacy={type === FormControlTypeEnum.LEGACY_STRUCT}\n attribute={attribute}\n structData={value}\n handleStoreFunction={(formData: any) => this.onChange(formData)}\n className={this.props.className}\n style={this.props.style}\n isCreate={this.props.isCreate}\n />\n );\n\n case FormControlTypeEnum.RADIO: {\n let { items, required, readOnly } = restProps;\n\n // NODE: 对非必填单选为空的特殊处理 BY @robertman\n const unselected = {\n id: null as string,\n // text: \"暂不选择\",\n text: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.TEMPORARILY_NOT_CHOOSE}`),\n };\n\n if (!required) {\n items = [...items, unselected];\n }\n\n return (\n <Radio.Group\n onChange={(e: any) => this.onChange(e)}\n value={value !== undefined ? value : unselected.id}\n className={this.props.className}\n style={this.props.style}\n disabled={readOnly}\n >\n {items.map((item) => (\n <Radio value={item.id} key={String(item.id)}>\n {item.text}\n </Radio>\n ))}\n </Radio.Group>\n );\n }\n\n case FormControlTypeEnum.TAGS: {\n const { placeholder, readOnly } = restProps;\n return (\n <Select\n allowClear={true}\n mode=\"tags\"\n style={{ ...this.props.style, width: \"100%\" }}\n disabled={readOnly}\n placeholder={placeholder}\n value={value || []}\n onChange={(e: any) => this.onChange(e)}\n className={this.props.className}\n />\n );\n }\n\n case FormControlTypeEnum.DATE:\n case FormControlTypeEnum.DATETIME: {\n let dateConfig = {};\n if (type === FormControlTypeEnum.DATETIME) {\n dateConfig = {\n showTime: true,\n };\n }\n const { readOnly, placeholder } = restProps;\n const formater = computeDateFormat(type, value);\n return (\n <DatePicker\n value={formater.value}\n placeholder={placeholder}\n disabled={readOnly}\n format={formater.format}\n {...dateConfig}\n onChange={(date, dateString) =>\n this.handleDateChange(date, dateString)\n }\n className={this.props.className}\n style={this.props.style}\n />\n );\n }\n\n case FormControlTypeEnum.SELECT: {\n const { readOnly, placeholder } = restProps;\n const newValue =\n typeof value === \"boolean\" ? value : value ? value : [];\n return (\n <Select\n placeholder={placeholder}\n mode={this.props.multiSelect ? \"multiple\" : undefined}\n value={newValue}\n onChange={(e: any) => this.onChange(e)}\n disabled={readOnly}\n className={this.props.className}\n style={this.props.style}\n >\n {restProps.items &&\n restProps.items.map(({ id, text }) => (\n <Select.Option value={id} key={id}>\n {text}\n </Select.Option>\n ))}\n </Select>\n );\n }\n\n default:\n return (\n // <Input\n // value={errorMessage}\n // readOnly\n // disabled\n // className={this.props.className}\n // style={this.props.style}\n // />\n <div\n style={{\n color: \"var(--theme-red-color)\",\n ...this.props.style,\n }}\n >\n {errorMessage}\n </div>\n );\n }\n };\n\n render(): ReactNode {\n return <>{this.FormControlTypeMap()}</>;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"ModelRelationForm.js","names":["ModelRelationForm","props","console","warn","oppositeModelData","modelMap","relation","right_object_id","visible","setVisible","useState","modalInstanceListData","setModalInstanceListData","selectedInstanceListTemp","selectedInstanceList","setSelectedInstanceList","instanceListData","fieldIds","attrList","map","attr","id","computeFields","openSelectInstanceModel","InstanceApi_postSearch","objectId","page","page_size","fields","handleOk","onChange","instanceData","instanceId","handleCancel","handlePaginationChange","event","pageSize","handleSelectionChange","selectedItems","renderTable","columns","filter","includes","value","type","slice","title","name","key","dataIndex","x","styles","modelRelationFormWrapper","i18n","t","NS_LIBS_CMDB_INSTANCES","K","ITEM_ADD_IN_BATCHES","right_description","ADD"],"sources":["../../../src/model-relation-form/ModelRelationForm.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { Modal, Table } from \"antd\";\nimport { ColumnProps } from \"antd/lib/table\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport {\n CmdbModels,\n InstanceApi_PostSearchResponseBody,\n InstanceApi_postSearch,\n} from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../instance-list-table/InstanceListTable\";\n\nimport styles from \"./model-relation-form.module.css\";\n\nimport { ModifiedModelObjectRelation } from \"@next-libs/cmdb-utils\";\n\nexport interface ModelRelationFormProps {\n modelMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n relation: Partial<ModifiedModelObjectRelation>;\n instanceListData: any[];\n value?: string[];\n onChange?: (event: any) => void;\n}\n\nexport function ModelRelationForm(\n props: ModelRelationFormProps\n): React.ReactElement {\n // eslint-disable-next-line no-console\n console.warn(\n \"deprecated component `ModelRelationForm`, please use `CmdbInstancesSelectPanel` instead\"\n );\n\n const oppositeModelData = props.modelMap[props.relation.right_object_id];\n\n const [visible, setVisible] = useState(false);\n const [\n modalInstanceListData,\n setModalInstanceListData,\n ] = useState<InstanceApi_PostSearchResponseBody>();\n\n let selectedInstanceListTemp: any[] = [];\n const [selectedInstanceList, setSelectedInstanceList] = useState(\n props.instanceListData || []\n );\n\n const fieldIds = oppositeModelData.attrList.map((attr) => attr.id);\n\n const computeFields = () => {\n // TODO(Cyril): compute custom fields\n return {\n \"*\": true,\n };\n };\n\n const openSelectInstanceModel = async () => {\n const instanceListData = await InstanceApi_postSearch(\n oppositeModelData.objectId,\n {\n page: 1,\n page_size: 10,\n fields: computeFields(),\n }\n );\n setModalInstanceListData(instanceListData);\n setVisible(true);\n };\n\n const handleOk = () => {\n setVisible(false);\n setSelectedInstanceList(selectedInstanceListTemp);\n props.onChange(\n selectedInstanceListTemp.map((instanceData) => instanceData.instanceId)\n );\n };\n\n const handleCancel = () => {\n setVisible(false);\n };\n\n const handlePaginationChange = async (event: {\n page: number;\n pageSize: number;\n }) => {\n const instanceListData = await InstanceApi_postSearch(\n oppositeModelData.objectId,\n {\n page: event.page,\n page_size: event.pageSize,\n fields: computeFields(),\n }\n );\n setModalInstanceListData(instanceListData);\n };\n\n const handleSelectionChange = (event: { selectedItems: any[] }) => {\n selectedInstanceListTemp = event.selectedItems;\n };\n\n const renderTable = (selectedInstanceList: any[]) => {\n const columns: ColumnProps<any>[] = oppositeModelData.attrList\n .filter((attr) => ![\"struct\", \"structs\"].includes(attr.value.type))\n .slice(0, 7)\n .map((attr) => ({\n title: attr.name,\n key: attr.id,\n dataIndex: attr.id,\n }));\n\n return (\n <Table\n dataSource={selectedInstanceList}\n columns={columns}\n pagination={false}\n scroll={{ x: \"max-content\" }}\n />\n );\n };\n\n return (\n <div className={styles.modelRelationFormWrapper}>\n <Modal\n title={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ITEM_ADD_IN_BATCHES}`, {\n name: props.relation.right_description,\n })}\n visible={visible}\n width={900}\n onOk={handleOk}\n onCancel={handleCancel}\n destroyOnClose={true}\n >\n <InstanceListTable\n idObjectMap={props.modelMap}\n modelData={oppositeModelData}\n fieldIds={fieldIds}\n instanceListData={modalInstanceListData}\n onSelectionChange={handleSelectionChange}\n onPaginationChange={handlePaginationChange}\n ></InstanceListTable>\n </Modal>\n <a onClick={openSelectInstanceModel}>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ADD}`)}\n </a>\n {renderTable(selectedInstanceList)}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"processors.js","names":["featureFlags","process","env","NODE_ENV","getRuntime","getFeatureFlags","ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE","processAttrValueWithQuote","attrValue","resultArray","quoteIndex","indexOf","nextQuoteIndex","length","split","uniq","compact","slice","push","computeDateFormat","type","value","dateFormat","dateTimeFormat","format","FormControlTypeEnum","DATETIME","moment","changeQueryWithCustomRules","objectId","attrId","q","modifiedQuery","operator","Object","keys","values","clusterMap"],"sources":["../../src/processors.ts"],"sourcesContent":["import { getRuntime } from \"@next-core/brick-kit\";\nimport { uniq, compact } from \"lodash\";\nimport moment, { Moment } from \"moment\";\nimport { Query } from \"@next-libs/cmdb-utils\";\n\nimport { FormControlTypeEnum } from \"./model-attribute-form-control/ModelAttributeFormControl\";\nimport { clusterMap } from \"./instance-list-table/constants\";\n\nconst featureFlags =\n process.env.NODE_ENV === \"test\"\n ? { \"cmdb-advance-search-with-quote\": true }\n : getRuntime().getFeatureFlags();\nexport const ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE = true;\n// featureFlags[\"cmdb-advance-search-with-quote\"];\n\nexport const processAttrValueWithQuote = (\n attrValue: string,\n resultArray: any\n): any => {\n const quoteIndex = attrValue.indexOf('\"');\n const nextQuoteIndex = attrValue.indexOf('\"', quoteIndex + 1);\n if (nextQuoteIndex == -1 || quoteIndex === -1) {\n if (attrValue.length) {\n resultArray = [...resultArray, ...attrValue.split(\" \")];\n }\n return uniq(compact(resultArray));\n } else if (nextQuoteIndex != -1) {\n if (quoteIndex !== 0) {\n resultArray = [\n ...resultArray,\n ...attrValue.slice(0, quoteIndex).split(\" \"),\n ];\n resultArray.push(attrValue.slice(quoteIndex + 1, nextQuoteIndex));\n return processAttrValueWithQuote(\n attrValue.slice(nextQuoteIndex + 1),\n resultArray\n );\n } else {\n resultArray.push(attrValue.slice(quoteIndex + 1, nextQuoteIndex));\n return processAttrValueWithQuote(\n attrValue.slice(nextQuoteIndex + 1),\n resultArray\n );\n }\n }\n};\n\nexport const computeDateFormat = (\n type: string,\n value: any\n): { format: string; value: Moment | null } => {\n const dateFormat = \"YYYY-MM-DD\";\n const dateTimeFormat = \"YYYY-MM-DD HH:mm:ss\";\n let format;\n if (type === FormControlTypeEnum.DATETIME) {\n format = dateTimeFormat;\n } else {\n format = dateFormat;\n }\n return {\n value: value ? moment(value, format) : null,\n format,\n };\n};\n\nexport const changeQueryWithCustomRules = (\n objectId: string,\n attrId: string,\n q: Query\n): Query => {\n let modifiedQuery = q;\n if (objectId === \"CLUSTER\" && attrId === \"type\") {\n const operator = Object.keys(modifiedQuery[\"type\"])[0];\n const value = Object.values(modifiedQuery[\"type\"])[0];\n modifiedQuery = {\n type: {\n [operator]: clusterMap[value],\n },\n };\n }\n return modifiedQuery;\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"AddStruct.js","names":["AddStruct","React","Component","constructor","props","formData","isLegacy","output","Array","isArray","setState","showModal","handleStoreFunction","structData","handleCloseModal","state","render","attribute","className","isEmpty","readonly","isCreate","handleOpenAddModal","i18n","t","NS_LIBS_CMDB_INSTANCES","K","ADD","handleAddStruct","handleEditStruct"],"sources":["../../../src/struct-components/AddStruct.tsx"],"sourcesContent":["import React, { CSSProperties } from \"react\";\nimport { Button } from \"antd\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport { StructTable } from \"./StructTable\";\nimport { AddStructModal } from \"./AddStructModal\";\nimport { isArray, isEmpty } from \"lodash\";\nimport { Attribute } from \"./interfaces\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\n\nexport interface AddStructProps {\n style?: CSSProperties;\n structData?: any;\n attribute: Partial<CmdbModels.ModelObjectAttr>;\n handleStoreFunction: (value: any) => void;\n isLegacy?: boolean;\n className?: string;\n isCreate?: boolean;\n}\nexport interface AddStructState {\n showModal: boolean;\n structData: any;\n isEdit?: boolean;\n}\nexport class AddStruct extends React.Component<AddStructProps, AddStructState> {\n constructor(props: AddStructProps) {\n super(props);\n this.state = {\n structData: props.structData,\n showModal: false,\n };\n }\n // 编辑结构体\n handleEditStruct = (formData: any) => {\n const { isLegacy } = this.props;\n const output = isLegacy\n ? Array.isArray(formData)\n ? formData[0]\n : formData\n : formData;\n this.setState({ showModal: false });\n this.props.handleStoreFunction(output);\n };\n // 新建结构体\n handleAddStruct = (formData: any) => {\n const { isLegacy, structData } = this.props;\n this.props.handleStoreFunction(\n isLegacy\n ? formData\n : isArray(structData)\n ? [...structData, formData]\n : [formData]\n );\n this.handleCloseModal();\n };\n handleCloseModal = () => {\n this.setState({\n showModal: false,\n });\n };\n handleOpenAddModal = () => {\n this.setState({ showModal: true });\n };\n render() {\n const { structData, attribute, isLegacy, className } = this.props;\n const { showModal } = this.state;\n return (\n <div className={className}>\n {/* 单结构体并且已经添加过的,添加按钮置灰 */}\n <Button\n type=\"link\"\n disabled={\n (isLegacy && !isEmpty(structData)) ||\n (attribute.readonly === \"true\" && !this.props.isCreate)\n }\n onClick={this.handleOpenAddModal}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ADD}`)}\n </Button>\n <AddStructModal\n // 新建的情况下不必给初值,初值为空对象时codeEditor才能正常回填\n structData={{}}\n attribute={attribute as Attribute}\n visible={showModal}\n handleStoreFunction={(formData: any) =>\n this.handleAddStruct(formData)\n }\n handleCancelFunction={this.handleCloseModal}\n />\n <StructTable\n structData={structData}\n attribute={attribute as Attribute}\n isEditable={\n this.props.attribute.readonly === \"false\" || this.props.isCreate\n }\n isLegacy={isLegacy}\n handleStoreFunction={this.handleEditStruct}\n />\n </div>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAkBO,MAAMA,SAAN,SAAwBC,cAAA,CAAMC,SAA9B,CAAwE;EAC7EC,WAAW,CAACC,KAAD,EAAwB;IACjC,MAAMA,KAAN;IADiC,wDAQfC,QAAD,IAAmB;MACpC,MAAM;QAAEC;MAAF,IAAe,KAAKF,KAA1B;MACA,MAAMG,MAAM,GAAGD,QAAQ,GACnBE,KAAK,CAACC,OAAN,CAAcJ,QAAd,IACEA,QAAQ,CAAC,CAAD,CADV,GAEEA,QAHiB,GAInBA,QAJJ;MAKA,KAAKK,QAAL,CAAc;QAAEC,SAAS,EAAE;MAAb,CAAd;MACA,KAAKP,KAAL,CAAWQ,mBAAX,CAA+BL,MAA/B;IACD,CAjBkC;IAAA,uDAmBhBF,QAAD,IAAmB;MACnC,MAAM;QAAEC,QAAF;QAAYO;MAAZ,IAA2B,KAAKT,KAAtC;MACA,KAAKA,KAAL,CAAWQ,mBAAX,CACEN,QAAQ,GACJD,QADI,GAEJ,IAAAI,eAAA,EAAQI,UAAR,IACA,CAAC,GAAGA,UAAJ,EAAgBR,QAAhB,CADA,GAEA,CAACA,QAAD,CALN;MAOA,KAAKS,gBAAL;IACD,CA7BkC;IAAA,wDA8BhB,MAAM;MACvB,KAAKJ,QAAL,CAAc;QACZC,SAAS,EAAE;MADC,CAAd;IAGD,CAlCkC;IAAA,0DAmCd,MAAM;MACzB,KAAKD,QAAL,CAAc;QAAEC,SAAS,EAAE;MAAb,CAAd;IACD,CArCkC;IAEjC,KAAKI,KAAL,GAAa;MACXF,UAAU,EAAET,KAAK,CAACS,UADP;MAEXF,SAAS,EAAE;IAFA,CAAb;EAID,CAP4E,CAQ7E;;;EA+BAK,MAAM,GAAG;IACP,MAAM;MAAEH,UAAF;MAAcI,SAAd;MAAyBX,QAAzB;MAAmCY;IAAnC,IAAiD,KAAKd,KAA5D;IACA,MAAM;MAAEO;IAAF,IAAgB,KAAKI,KAA3B;IACA,oBACE;MAAK,SAAS,EAAEG;IAAhB,gBAEE,6BAAC,YAAD;MACE,IAAI,EAAC,MADP;MAEE,QAAQ,EACLZ,QAAQ,IAAI,CAAC,IAAAa,eAAA,EAAQN,UAAR,CAAd,IACCI,SAAS,CAACG,QAAV,KAAuB,MAAvB,IAAiC,CAAC,KAAKhB,KAAL,CAAWiB,QAJlD;MAME,OAAO,EAAE,KAAKC;IANhB,GAQGC,gBAAA,CAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,YAAA,CAAEC,GAAI,EAA1C,CARH,CAFF,eAYE,6BAAC,8BAAD,CACE;IADF;MAEE,UAAU,EAAE,EAFd;MAGE,SAAS,EAAEV,SAHb;MAIE,OAAO,EAAEN,SAJX;MAKE,mBAAmB,EAAGN,QAAD,IACnB,KAAKuB,eAAL,CAAqBvB,QAArB,CANJ;MAQE,oBAAoB,EAAE,KAAKS;IAR7B,EAZF,eAsBE,6BAAC,wBAAD;MACE,UAAU,EAAED,UADd;MAEE,SAAS,EAAEI,SAFb;MAGE,UAAU,EACR,KAAKb,KAAL,CAAWa,SAAX,CAAqBG,QAArB,KAAkC,OAAlC,IAA6C,KAAKhB,KAAL,CAAWiB,QAJ5D;MAME,QAAQ,EAAEf,QANZ;MAOE,mBAAmB,EAAE,KAAKuB;IAP5B,EAtBF,CADF;EAkCD;;AA5E4E"}
|