@next-libs/cmdb-instances 7.21.2 → 7.21.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/attribute-form-control-url/AttributeFormControlUrl.js.map +1 -1
- package/dist/cjs/cmdb-instances-input-form/CmdbInstancesInputFormItem.js +1 -3
- 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/cmdb-upload/index.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 +1 -2
- package/dist/cjs/components/user-or-user-group-select/UserOrUserGroupSelect.js.map +1 -1
- package/dist/cjs/constants.js +2 -4
- package/dist/cjs/constants.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 +2 -4
- 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 +1 -2
- package/dist/cjs/i18n/locales/en.js.map +1 -1
- package/dist/cjs/i18n/locales/zh.js +1 -2
- 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 +1 -2
- package/dist/cjs/instance-attribute-form/InstanceAttributeForm.js.map +1 -1
- package/dist/cjs/instance-detail/InstanceDetail.js +1 -2
- package/dist/cjs/instance-detail/InstanceDetail.js.map +1 -1
- package/dist/cjs/instance-detail/components/instance-relation-field-display/constants.js +1 -2
- 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/components/instances-attachment-display/instances-attachment-display.js.map +1 -1
- package/dist/cjs/instance-detail/constants/index.js +4 -8
- package/dist/cjs/instance-detail/constants/index.js.map +1 -1
- package/dist/cjs/instance-list/FilterInstanceSource.js +1 -2
- package/dist/cjs/instance-list/FilterInstanceSource.js.map +1 -1
- package/dist/cjs/instance-list/IconButton.js.map +1 -1
- package/dist/cjs/instance-list/InstanceList.js.map +1 -1
- package/dist/cjs/instance-list/constants.js +7 -14
- 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 +2 -4
- 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 +1 -2
- package/dist/cjs/instance-list-table/DynamicSearch.js.map +1 -1
- package/dist/cjs/instance-list-table/InstanceListTable.js +2 -2
- 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 +7 -14
- 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 +1 -2
- package/dist/cjs/instance-list-table/utils.js.map +1 -1
- package/dist/cjs/json-display-brick/JsonDisplayBrick.js.map +1 -1
- package/dist/cjs/model-attribute-form/ModelAttributeForm.js +3 -2
- package/dist/cjs/model-attribute-form/ModelAttributeForm.js.map +1 -1
- package/dist/cjs/model-attribute-form/constants.js +1 -2
- package/dist/cjs/model-attribute-form/constants.js.map +1 -1
- package/dist/cjs/model-attribute-form-control/ModelAttributeFormControl.js +21 -27
- 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 +3 -4
- package/dist/cjs/processors.js.map +1 -1
- package/dist/cjs/struct-components/AddStruct.js +4 -3
- 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 +1 -0
- 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 +1 -2
- package/dist/cjs/struct-components/interfaces.js.map +1 -1
- package/dist/cjs/struct-components/mockData.js +5 -10
- package/dist/cjs/struct-components/mockData.js.map +1 -1
- package/dist/cjs/xml-display-brick/XmlDisplayBrick.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 +0 -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/cmdb-upload/index.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/constants.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.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/components/instances-attachment-display/instances-attachment-display.js +0 -1
- package/dist/esm/instance-detail/components/instances-attachment-display/instances-attachment-display.js.map +1 -1
- package/dist/esm/instance-detail/constants/index.js.map +1 -1
- package/dist/esm/instance-list/FilterInstanceSource.js.map +1 -1
- package/dist/esm/instance-list/IconButton.js.map +1 -1
- package/dist/esm/instance-list/InstanceList.js +10 -10
- 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 +4 -4
- 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/json-display-brick/JsonDisplayBrick.js.map +1 -1
- package/dist/esm/model-attribute-form/ModelAttributeForm.js +2 -0
- 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 +17 -19
- 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 +4 -3
- 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 +1 -0
- 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/esm/xml-display-brick/XmlDisplayBrick.js.map +1 -1
- package/dist/types/instance-attribute-form/InstanceAttributeForm.d.ts +1 -1
- package/dist/types/instance-detail/InstanceDetail.d.ts +1 -1
- package/dist/types/instance-list/IconButton.d.ts +2 -2
- package/dist/types/instance-list-table/AdvancedSearch.d.ts +1 -1
- package/dist/types/instance-list-table/DisplaySettings.d.ts +2 -2
- package/dist/types/instance-list-table/DynamicSearch.d.ts +1 -1
- package/dist/types/instance-list-table/InstanceListTable.d.ts +6 -6
- package/dist/types/model-attribute-form/ModelAttributeForm.d.ts +1 -1
- package/dist/types/struct-components/AddStruct.d.ts +1 -1
- package/dist/types/struct-components/StructTable.d.ts +2 -2
- package/package.json +8 -7
|
@@ -1 +1 @@
|
|
|
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","isClusterType","objectId","constructor","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","xmlValidateCollection","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","XML_EDITOR","validateXML","NOT_MEET_XML","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","TREESELECT","treeData","treeEnumFormat","ATTACHMENT","uploadConfig","is","message","_PLAIN_TEXT","ENUM","ENUMS","RegExp","enumValue","clusterMap","attrValueType","STRING","mode","XML","MULTIPLE_LINES","IP","length","Error","ENUM_ERROR_TIP","INTEGER","FLOAT","ARR","struct_define","STRUCT_ERROR_TIP","STRUCT_LIST","getRuntime","getFeatureFlags","CASCADE","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 {\n DatePicker,\n Input,\n InputNumber,\n Radio,\n Select,\n TreeSelect,\n Upload,\n} from \"antd\";\nimport { AddStruct } from \"../struct-components\";\nimport { Moment } from \"moment\";\nimport { AttributeFormControlUrl } from \"../attribute-form-control-url/AttributeFormControlUrl\";\nimport { computeDateFormat, isClusterType } from \"../processors\";\nimport { clusterMap } from \"../instance-list-table/constants\";\nimport { CodeEditor } from \"@next-libs/code-editor-components\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport { some } from \"lodash\";\nimport { treeEnumFormat } from \"@next-libs/cmdb-utils\";\nimport { CmdbUpload, UploadConfig } from \"../components/cmdb-upload\";\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 ATTACHMENT = \"attachment\",\n}\n\nexport enum ModelAttributeValueModeType {\n MULTIPLE_LINES = \"multiple-lines\",\n DEFAULT = \"default\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\n XML = \"xml\",\n PASSWORD = \"password\",\n CASCADE = \"cascade\",\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 XML_EDITOR = \"xml_editor\",\n TREESELECT = \"tree_select\",\n ATTACHMENT = \"attachment\",\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 xmlValidateCollection?: (err: boolean) => void;\n isSupportMultiStringValue?: boolean;\n uploadConfig?: UploadConfig;\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 isClusterType(this.props.objectId, this.props.attribute.id)\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 isClusterType(objectId, attribute.id)\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 const attrValueType: any = attribute.value.type;\n switch (attrValueType) {\n case ModelAttributeValueType.STRING: {\n if ((attribute.value.mode as any) === ModelAttributeValueModeType.XML) {\n return FormControlTypeEnum.XML_EDITOR;\n }\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 // 附件类型\n if ((attribute.value.mode as any) === \"attachment\") {\n return FormControlTypeEnum.ATTACHMENT;\n }\n return FormControlTypeEnum.STRUCT;\n case ModelAttributeValueType.BOOLEAN:\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.ENUMS:\n if (\n getRuntime().getFeatureFlags()[\"cmdb-use-tree-enum-attr\"] &&\n (attribute.value.mode as any) === ModelAttributeValueModeType.CASCADE\n ) {\n return FormControlTypeEnum.TREESELECT;\n }\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 validateXML = (err: any) => {\n const error = some(err, [\"type\", \"error\"]);\n this.props.xmlValidateCollection?.(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.XML_EDITOR:\n return (\n <>\n <CodeEditor\n theme=\"monokai\"\n mode={\"xml\"}\n minLines={5}\n maxLines={20}\n showLineNumbers={true}\n showPrintMargin={false}\n highlightActiveLine={true}\n value={value ?? \"\"}\n onChange={(e: any) => this.onChange(e)}\n onValidate={(err: any) => this.validateXML(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_XML}`)}\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 showSearch\n allowClear={true}\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 case FormControlTypeEnum.TREESELECT: {\n // istanbul ignore next\n const { readOnly, placeholder } = restProps;\n const newValue =\n typeof value === \"boolean\" ? value : value ? value : [];\n const treeData: any = treeEnumFormat(attribute.value.regex || []);\n return (\n <TreeSelect\n value={newValue}\n allowClear\n treeData={treeData}\n disabled={readOnly}\n placeholder={placeholder}\n className={this.props.className}\n style={this.props.style}\n treeCheckable\n onChange={(e: any) => this.onChange(e)}\n />\n );\n }\n\n case FormControlTypeEnum.ATTACHMENT: {\n const { readOnly } = restProps;\n return (\n <CmdbUpload\n disabled={readOnly}\n value={value}\n className={this.props.className}\n style={this.props.style}\n autoUpload\n uploadConfig={this.props.uploadConfig}\n onChange={(e: any) => this.onChange(e)}\n ></CmdbUpload>\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
|
+
{"version":3,"file":"ModelAttributeFormControl.js","names":["_react","_interopRequireWildcard","require","_i18next","_interopRequireDefault","_constants","_antd","_structComponents","_AttributeFormControlUrl","_processors","_constants2","_codeEditorComponents","_brickKit","_lodash","_cmdbUtils","_cmdbUpload","ModelAttributeValueType","exports","ModelAttributeValueModeType","FormControlTypeEnum","boolOptions","id","text","ModelAttributeFormControl","Component","componentDidUpdate","prevProps","prevState","snapshot","props","value","type","attribute","name","setState","formControl","computeFormControl","isClusterType","objectId","constructor","_defineProperty2","default","formControlType","computeFormControlType","isSupportMultiStringValue","items","computeFormControlItems","BOOLEAN","result","label","required","readOnly","isCreate","readonly","unique","pattern","computePattern","STRUCT","computePlaceholder","event","target","onChange","date","dateString","undefined","err","_this$props$jsonValid","_this$props","error","some","jsonValidateCollection","call","showError","_this$props$xmlValida","_this$props2","xmlValidateCollection","_attribute$value","_attribute$value2","restProps","errorMessage","state","jsonSchema","regex","_attribute$value3","JSON","parse","TEXT","placeholder","createElement","Input","_extends2","e","className","style","URL","AttributeFormControlUrl","NUMBER","InputNumber","CODE_EDITOR","Fragment","CodeEditor","mode","maxLines","highlightActiveLine","minLines","showLineNumbers","showPrintMargin","validateJsonSchemaMode","theme","onValidate","validateJson","display","color","i18n","t","NS_LIBS_CMDB_INSTANCES","K","NOT_MEET_JSON","XML_EDITOR","validateXML","NOT_MEET_XML","TEXTAREA","MARKDOWN","TextArea","rows","LEGACY_STRUCT","AddStruct","isLegacy","structData","handleStoreFunction","formData","RADIO","unselected","TEMPORARILY_NOT_CHOOSE","Radio","Group","disabled","map","item","key","String","TAGS","Select","allowClear","width","DATE","DATETIME","dateConfig","showTime","formater","computeDateFormat","DatePicker","format","handleDateChange","SELECT","newValue","multiSelect","showSearch","Option","TREESELECT","treeData","treeEnumFormat","TreeSelect","treeCheckable","ATTACHMENT","CmdbUpload","autoUpload","uploadConfig","is","message","_PLAIN_TEXT","ENUM","ENUMS","RegExp","_attribute$value$rege","enumValue","clusterMap","attrValueType","STRING","XML","MULTIPLE_LINES","IP","length","Error","ENUM_ERROR_TIP","INTEGER","FLOAT","ARR","struct_define","STRUCT_ERROR_TIP","STRUCT_LIST","getRuntime","getFeatureFlags","CASCADE","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 {\n DatePicker,\n Input,\n InputNumber,\n Radio,\n Select,\n TreeSelect,\n Upload,\n} from \"antd\";\nimport { AddStruct } from \"../struct-components\";\nimport { Moment } from \"moment\";\nimport { AttributeFormControlUrl } from \"../attribute-form-control-url/AttributeFormControlUrl\";\nimport { computeDateFormat, isClusterType } from \"../processors\";\nimport { clusterMap } from \"../instance-list-table/constants\";\nimport { CodeEditor } from \"@next-libs/code-editor-components\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport { some } from \"lodash\";\nimport { treeEnumFormat } from \"@next-libs/cmdb-utils\";\nimport { CmdbUpload, UploadConfig } from \"../components/cmdb-upload\";\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 ATTACHMENT = \"attachment\",\n}\n\nexport enum ModelAttributeValueModeType {\n MULTIPLE_LINES = \"multiple-lines\",\n DEFAULT = \"default\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\n XML = \"xml\",\n PASSWORD = \"password\",\n CASCADE = \"cascade\",\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 XML_EDITOR = \"xml_editor\",\n TREESELECT = \"tree_select\",\n ATTACHMENT = \"attachment\",\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 xmlValidateCollection?: (err: boolean) => void;\n isSupportMultiStringValue?: boolean;\n uploadConfig?: UploadConfig;\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 isClusterType(this.props.objectId, this.props.attribute.id)\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 isClusterType(objectId, attribute.id)\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 const attrValueType: any = attribute.value.type;\n switch (attrValueType) {\n case ModelAttributeValueType.STRING: {\n if ((attribute.value.mode as any) === ModelAttributeValueModeType.XML) {\n return FormControlTypeEnum.XML_EDITOR;\n }\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 // 附件类型\n if ((attribute.value.mode as any) === \"attachment\") {\n return FormControlTypeEnum.ATTACHMENT;\n }\n return FormControlTypeEnum.STRUCT;\n case ModelAttributeValueType.BOOLEAN:\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.ENUMS:\n if (\n getRuntime().getFeatureFlags()[\"cmdb-use-tree-enum-attr\"] &&\n (attribute.value.mode as any) === ModelAttributeValueModeType.CASCADE\n ) {\n return FormControlTypeEnum.TREESELECT;\n }\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 validateXML = (err: any) => {\n const error = some(err, [\"type\", \"error\"]);\n this.props.xmlValidateCollection?.(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.XML_EDITOR:\n return (\n <>\n <CodeEditor\n theme=\"monokai\"\n mode={\"xml\"}\n minLines={5}\n maxLines={20}\n showLineNumbers={true}\n showPrintMargin={false}\n highlightActiveLine={true}\n value={value ?? \"\"}\n onChange={(e: any) => this.onChange(e)}\n onValidate={(err: any) => this.validateXML(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_XML}`)}\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 showSearch\n allowClear={true}\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 case FormControlTypeEnum.TREESELECT: {\n // istanbul ignore next\n const { readOnly, placeholder } = restProps;\n const newValue =\n typeof value === \"boolean\" ? value : value ? value : [];\n const treeData: any = treeEnumFormat(attribute.value.regex || []);\n return (\n <TreeSelect\n value={newValue}\n allowClear\n treeData={treeData}\n disabled={readOnly}\n placeholder={placeholder}\n className={this.props.className}\n style={this.props.style}\n treeCheckable\n onChange={(e: any) => this.onChange(e)}\n />\n );\n }\n\n case FormControlTypeEnum.ATTACHMENT: {\n const { readOnly } = restProps;\n return (\n <CmdbUpload\n disabled={readOnly}\n value={value}\n className={this.props.className}\n style={this.props.style}\n autoUpload\n uploadConfig={this.props.uploadConfig}\n onChange={(e: any) => this.onChange(e)}\n ></CmdbUpload>\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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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
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":";;;;;;;;AAAA;AACA;AAEA;AACA;AACA;AAKA;AAEA;AAYO,
|
|
1
|
+
{"version":3,"file":"ModelRelationForm.js","names":["_react","_interopRequireWildcard","require","_antd","_i18next","_interopRequireDefault","_constants","_cmdbSdk","_InstanceListTable","_modelRelationFormModule","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","default","createElement","Table","dataSource","pagination","scroll","x","className","styles","modelRelationFormWrapper","Modal","i18n","t","NS_LIBS_CMDB_INSTANCES","K","ITEM_ADD_IN_BATCHES","right_description","width","onOk","onCancel","destroyOnClose","InstanceListTable","idObjectMap","modelData","onSelectionChange","onPaginationChange","onClick","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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","ignoreList":[]}
|
package/dist/cjs/processors.js
CHANGED
|
@@ -13,9 +13,9 @@ var _constants = require("./instance-list-table/constants");
|
|
|
13
13
|
const featureFlags = process.env.NODE_ENV === "test" ? {
|
|
14
14
|
"cmdb-advance-search-with-quote": true
|
|
15
15
|
} : (0, _brickKit.getRuntime)().getFeatureFlags();
|
|
16
|
-
const ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE = true;
|
|
16
|
+
const ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE = exports.ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE = true;
|
|
17
17
|
// featureFlags["cmdb-advance-search-with-quote"];
|
|
18
|
-
|
|
18
|
+
|
|
19
19
|
const processAttrValueWithQuote = (attrValue, resultArray) => {
|
|
20
20
|
const quoteIndex = attrValue.indexOf('"');
|
|
21
21
|
const nextQuoteIndex = attrValue.indexOf('"', quoteIndex + 1);
|
|
@@ -65,8 +65,7 @@ const changeQueryWithCustomRules = (objectId, attrId, q) => {
|
|
|
65
65
|
return modifiedQuery;
|
|
66
66
|
};
|
|
67
67
|
exports.changeQueryWithCustomRules = changeQueryWithCustomRules;
|
|
68
|
-
const ATTRIBUTE_ID_PREFIX = "__ATTRIBUTE_ID_PREFIX__";
|
|
69
|
-
exports.ATTRIBUTE_ID_PREFIX = ATTRIBUTE_ID_PREFIX;
|
|
68
|
+
const ATTRIBUTE_ID_PREFIX = exports.ATTRIBUTE_ID_PREFIX = "__ATTRIBUTE_ID_PREFIX__";
|
|
70
69
|
const isClusterType = (objectId, type) => {
|
|
71
70
|
return objectId === "CLUSTER" && (type || "").replace(ATTRIBUTE_ID_PREFIX, "").replace("_", "") === "type";
|
|
72
71
|
};
|
|
@@ -1 +1 @@
|
|
|
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","ATTRIBUTE_ID_PREFIX","isClusterType","replace","isAgentStatus","field"],"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\";\nimport { objectListCache } from \"./instance-list/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\nexport const ATTRIBUTE_ID_PREFIX = \"__ATTRIBUTE_ID_PREFIX__\";\nexport const isClusterType = (objectId: string, type: string): boolean => {\n return (\n objectId === \"CLUSTER\" &&\n (type || \"\").replace(ATTRIBUTE_ID_PREFIX, \"\").replace(\"_\", \"\") === \"type\"\n );\n};\n\nexport const isAgentStatus = (objectId: string, field: string): boolean => {\n return objectId === \"HOST\" && field === \"_agentStatus\";\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAGA;AACA;AAGA,
|
|
1
|
+
{"version":3,"file":"processors.js","names":["_brickKit","require","_lodash","_moment","_interopRequireDefault","_ModelAttributeFormControl","_constants","featureFlags","process","env","NODE_ENV","getRuntime","getFeatureFlags","ENABLED_CMDB_ADVANCE_SEARCH_WITH_QUOTE","exports","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","ATTRIBUTE_ID_PREFIX","isClusterType","replace","isAgentStatus","field"],"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\";\nimport { objectListCache } from \"./instance-list/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\nexport const ATTRIBUTE_ID_PREFIX = \"__ATTRIBUTE_ID_PREFIX__\";\nexport const isClusterType = (objectId: string, type: string): boolean => {\n return (\n objectId === \"CLUSTER\" &&\n (type || \"\").replace(ATTRIBUTE_ID_PREFIX, \"\").replace(\"_\", \"\") === \"type\"\n );\n};\n\nexport const isAgentStatus = (objectId: string, field: string): boolean => {\n return objectId === \"HOST\" && field === \"_agentStatus\";\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,6 +16,8 @@ var _lodash = require("lodash");
|
|
|
16
16
|
class AddStruct extends _react.default.Component {
|
|
17
17
|
constructor(props) {
|
|
18
18
|
super(props);
|
|
19
|
+
// 编辑结构体
|
|
20
|
+
// istanbul ignore next
|
|
19
21
|
(0, _defineProperty2.default)(this, "handleEditStruct", formData => {
|
|
20
22
|
const {
|
|
21
23
|
isLegacy,
|
|
@@ -39,6 +41,7 @@ class AddStruct extends _react.default.Component {
|
|
|
39
41
|
}
|
|
40
42
|
this.props.handleStoreFunction(Array.isArray(output) ? [...restStructData, ...output] : output);
|
|
41
43
|
});
|
|
44
|
+
// 新建结构体
|
|
42
45
|
(0, _defineProperty2.default)(this, "handleAddStruct", formData => {
|
|
43
46
|
const {
|
|
44
47
|
isLegacy,
|
|
@@ -57,6 +60,7 @@ class AddStruct extends _react.default.Component {
|
|
|
57
60
|
showModal: true
|
|
58
61
|
});
|
|
59
62
|
});
|
|
63
|
+
// istanbul ignore next
|
|
60
64
|
(0, _defineProperty2.default)(this, "onSearch", value => {
|
|
61
65
|
let structData = this.props.structData;
|
|
62
66
|
if (value) {
|
|
@@ -82,9 +86,6 @@ class AddStruct extends _react.default.Component {
|
|
|
82
86
|
serachValue: ""
|
|
83
87
|
};
|
|
84
88
|
}
|
|
85
|
-
// 编辑结构体
|
|
86
|
-
// istanbul ignore next
|
|
87
|
-
|
|
88
89
|
// istanbul ignore next
|
|
89
90
|
componentDidUpdate(prevProps, prevState, snapshot) {
|
|
90
91
|
if (prevProps.structData !== this.props.structData) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddStruct.js","names":["AddStruct","React","Component","constructor","props","formData","isLegacy","structData","output","Array","isArray","setState","showModal","restStructData","state","serachValue","compact","map","r","values","Object","find","s","toString","match","handleStoreFunction","handleCloseModal","value","componentDidUpdate","prevProps","prevState","snapshot","render","attribute","className","display","alignItems","justifyContent","marginBottom","width","onSearch","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, Input } 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, compact } 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 serachValue?: string;\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 serachValue: \"\",\n };\n }\n // 编辑结构体\n // istanbul ignore next\n handleEditStruct = (formData: any) => {\n const { isLegacy, structData } = this.props;\n const output = isLegacy\n ? Array.isArray(formData)\n ? formData[0]\n : formData\n : formData;\n this.setState({ showModal: false });\n let restStructData: any = [];\n if (this.state.serachValue && Array.isArray(structData)) {\n restStructData = compact(\n structData?.map((r: any) => {\n const values: string[] = Object.values(r);\n if (\n !values?.find((s: string) =>\n s?.toString()?.match(this.state.serachValue)\n )\n ) {\n return r;\n }\n })\n );\n }\n this.props.handleStoreFunction(\n Array.isArray(output) ? [...restStructData, ...output] : output\n );\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 // istanbul ignore next\n onSearch = (value: string) => {\n let structData = this.props.structData;\n if (value) {\n structData = compact(\n structData?.map((r: any) => {\n const values: string[] = Object.values(r);\n if (values?.find((s: string) => s?.toString()?.match(value))) {\n return r;\n }\n })\n );\n }\n this.setState({\n structData,\n serachValue: value,\n });\n };\n // istanbul ignore next\n componentDidUpdate(\n prevProps: Readonly<AddStructProps>,\n prevState: Readonly<AddStructState>,\n snapshot?: any\n ): void {\n if (prevProps.structData !== this.props.structData) {\n this.setState({\n structData: this.state.serachValue\n ? compact(\n this.props.structData.map((r: any) => {\n const values: string[] = Object.values(r);\n if (\n values?.find((s: string) =>\n s?.toString()?.match(this.state.serachValue)\n )\n ) {\n return r;\n }\n })\n )\n : this.props.structData,\n });\n }\n }\n\n render() {\n const { structData, attribute, isLegacy, className } = this.props;\n const { showModal } = this.state;\n return (\n <div className={className}>\n {/* 单结构体并且已经添加过的,添加按钮置灰 */}\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n marginBottom: 20,\n }}\n >\n {\n // istanbul ignore next\n // 单结构体不支持搜索\n Array.isArray(this.props.structData) && (\n <Input.Search\n style={{ width: 300 }}\n onSearch={(value) => {\n this.onSearch(value);\n }}\n enterButton\n />\n )\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 </div>\n\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={this.state.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":"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"}
|
|
1
|
+
{"version":3,"file":"AddStruct.js","names":["_react","_interopRequireDefault","require","_antd","_i18next","_constants","_StructTable","_AddStructModal","_lodash","AddStruct","React","Component","constructor","props","_defineProperty2","default","formData","isLegacy","structData","output","Array","isArray","setState","showModal","restStructData","state","serachValue","compact","map","r","values","Object","find","s","_s$toString","toString","match","handleStoreFunction","handleCloseModal","value","_structData","_s$toString2","componentDidUpdate","prevProps","prevState","snapshot","_s$toString3","render","attribute","className","createElement","style","display","alignItems","justifyContent","marginBottom","Input","Search","width","onSearch","enterButton","Button","type","disabled","isEmpty","readonly","isCreate","onClick","handleOpenAddModal","i18n","t","NS_LIBS_CMDB_INSTANCES","K","ADD","AddStructModal","visible","handleAddStruct","handleCancelFunction","StructTable","isEditable","handleEditStruct","exports"],"sources":["../../../src/struct-components/AddStruct.tsx"],"sourcesContent":["import React, { CSSProperties } from \"react\";\nimport { Button, Input } 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, compact } 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 serachValue?: string;\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 serachValue: \"\",\n };\n }\n // 编辑结构体\n // istanbul ignore next\n handleEditStruct = (formData: any) => {\n const { isLegacy, structData } = this.props;\n const output = isLegacy\n ? Array.isArray(formData)\n ? formData[0]\n : formData\n : formData;\n this.setState({ showModal: false });\n let restStructData: any = [];\n if (this.state.serachValue && Array.isArray(structData)) {\n restStructData = compact(\n structData?.map((r: any) => {\n const values: string[] = Object.values(r);\n if (\n !values?.find((s: string) =>\n s?.toString()?.match(this.state.serachValue)\n )\n ) {\n return r;\n }\n })\n );\n }\n this.props.handleStoreFunction(\n Array.isArray(output) ? [...restStructData, ...output] : output\n );\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 // istanbul ignore next\n onSearch = (value: string) => {\n let structData = this.props.structData;\n if (value) {\n structData = compact(\n structData?.map((r: any) => {\n const values: string[] = Object.values(r);\n if (values?.find((s: string) => s?.toString()?.match(value))) {\n return r;\n }\n })\n );\n }\n this.setState({\n structData,\n serachValue: value,\n });\n };\n // istanbul ignore next\n componentDidUpdate(\n prevProps: Readonly<AddStructProps>,\n prevState: Readonly<AddStructState>,\n snapshot?: any\n ): void {\n if (prevProps.structData !== this.props.structData) {\n this.setState({\n structData: this.state.serachValue\n ? compact(\n this.props.structData.map((r: any) => {\n const values: string[] = Object.values(r);\n if (\n values?.find((s: string) =>\n s?.toString()?.match(this.state.serachValue)\n )\n ) {\n return r;\n }\n })\n )\n : this.props.structData,\n });\n }\n }\n\n render() {\n const { structData, attribute, isLegacy, className } = this.props;\n const { showModal } = this.state;\n return (\n <div className={className}>\n {/* 单结构体并且已经添加过的,添加按钮置灰 */}\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n marginBottom: 20,\n }}\n >\n {\n // istanbul ignore next\n // 单结构体不支持搜索\n Array.isArray(this.props.structData) && (\n <Input.Search\n style={{ width: 300 }}\n onSearch={(value) => {\n this.onSearch(value);\n }}\n enterButton\n />\n )\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 </div>\n\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={this.state.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":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddStructModal.js","names":["AddStructModal","props","attribute","visible","structData","handleStoreFunction","handleCancelFunction","structDefine","value","struct_define","structDefineMap","keyBy","form","Form","useForm","structValue","reduce","pre","key","calcValue","type","StructDefineType","DATE","DATETIME","moment","JSON","isString","stringify","hasRegex","regex","isNil","hasValue","handleJsonValidate","err","define","errors","some","v","push","i18n","t","NS_LIBS_CMDB_INSTANCES","K","NOT_MEET_JSON","NOT_MEET_REGEX","setFields","name","id","getFormType","INTEGER","width","MATCHING_REGULAR","regexp","FLOAT","BOOLEAN","boolOptions","map","item","text","ARR","ENUM","length","ENUMS","IP","jsonSchema","parse","STRING","getFormRules","rules","pattern","message","NOT_MEET_REGEX_DETAIL","RegExp","validator","rule","cb","every","test","handleStore","hasErrors","getFieldsError","values","validateFields","newValues","realValue","format","resetFields","handleCloseModal","useEffect","setFieldsValue","CONFIRM","CANCEL"],"sources":["../../../src/struct-components/AddStructModal.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport {\n DatePicker,\n Input,\n InputNumber,\n Modal,\n Radio,\n Select,\n Form,\n} from \"antd\";\nimport { Attribute, Structkey, StructDefineType } from \"./interfaces\";\nimport { boolOptions } from \"../model-attribute-form-control/ModelAttributeFormControl\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport moment from \"moment\";\nimport { keyBy, reduce, isString, isNil } from \"lodash\";\nimport { CodeEditor } from \"@next-libs/code-editor-components\";\n\nexport interface AddStructModalProps {\n structData?: any;\n attribute: Attribute;\n handleStoreFunction: any;\n handleCancelFunction: () => void;\n visible: boolean;\n}\n\nexport function AddStructModal(props: AddStructModalProps): React.ReactElement {\n const {\n attribute,\n visible,\n structData,\n handleStoreFunction,\n handleCancelFunction,\n } = props;\n const structDefine = attribute.value.struct_define;\n const structDefineMap = keyBy(structDefine, \"id\");\n const [form] = Form.useForm();\n\n const structValue = reduce(\n structData,\n (pre: any, value, key) => {\n let calcValue;\n switch (structDefineMap[key]?.type) {\n case StructDefineType.DATE:\n case StructDefineType.DATETIME:\n calcValue = value && moment(value);\n break;\n case StructDefineType.JSON:\n calcValue =\n isString(value) || !value\n ? value || \"\"\n : JSON.stringify(value, null, 2);\n break;\n default:\n calcValue = value;\n }\n pre[key] = calcValue;\n return pre;\n },\n {}\n );\n\n const hasRegex = (regex: any): boolean => !isNil(regex) && regex !== \"\";\n const hasValue = (value: any): boolean => !isNil(value) && value !== \"\";\n\n const handleJsonValidate = (err: any, define: Structkey) => {\n const errors: string[] = [];\n err.some((v: any) => v.type === \"error\") &&\n errors.push(i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_JSON}`));\n err.some((v: any) => v.type === \"warning\") &&\n errors.push(i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX}`));\n form.setFields([\n {\n name: define.id,\n errors,\n },\n ]);\n };\n\n const getFormType = (define: Structkey) => {\n switch (define.type) {\n case StructDefineType.INTEGER: {\n return (\n <InputNumber\n style={{ width: \"100%\" }}\n precision={0}\n placeholder={\n hasRegex(define.regex)\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: define.regex,\n })\n : \"\"\n }\n />\n );\n }\n case StructDefineType.FLOAT: {\n return <InputNumber style={{ width: \"100%\" }} />;\n }\n case StructDefineType.BOOLEAN: {\n return (\n <Radio.Group>\n {boolOptions.map((item) => (\n <Radio value={item.id} key={item.text}>\n {item.text}\n </Radio>\n ))}\n </Radio.Group>\n );\n }\n case StructDefineType.ARR: {\n return (\n <Select\n mode=\"tags\"\n style={{ width: \"100%\" }}\n placeholder={\n hasRegex(define.regex)\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: define.regex,\n })\n : \"\"\n }\n />\n );\n }\n case StructDefineType.ENUM: {\n const { regex } = define;\n if (regex.length < 6) {\n return (\n <Radio.Group>\n {regex.map((item: string) => (\n <Radio value={item} key={item}>\n {item}\n </Radio>\n ))}\n </Radio.Group>\n );\n } else {\n return (\n <Select style={{ width: \"100%\" }}>\n {regex.map((item: string) => (\n <Select.Option value={item} key={item}>\n {item}\n </Select.Option>\n ))}\n </Select>\n );\n }\n }\n case StructDefineType.ENUMS: {\n return (\n <Select mode=\"multiple\" style={{ width: \"100%\" }}>\n {define.regex.map((item: string) => (\n <Select.Option value={item} key={item}>\n {item}\n </Select.Option>\n ))}\n </Select>\n );\n }\n case StructDefineType.DATE:\n case StructDefineType.DATETIME: {\n return <DatePicker showTime={define.type === \"datetime\"} />;\n }\n case StructDefineType.IP: {\n return <Input />;\n }\n case StructDefineType.JSON: {\n let jsonSchema: any;\n if (hasRegex(define.regex)) {\n jsonSchema = JSON.parse(define.regex);\n }\n return (\n <CodeEditor\n mode={\"json\"}\n maxLines={\"Infinity\"}\n highlightActiveLine={true}\n minLines={3}\n showLineNumbers={true}\n showPrintMargin={false}\n validateJsonSchemaMode={\"error\"}\n onValidate={(err: any) => handleJsonValidate(err, define)}\n {...(jsonSchema ? { jsonSchema } : {})}\n theme=\"tomorrow\"\n />\n );\n }\n case StructDefineType.STRING:\n default: {\n return (\n <Input\n placeholder={\n hasRegex(define.regex)\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: define.regex,\n })\n : \"\"\n }\n />\n );\n }\n }\n };\n\n const getFormRules = (define: Structkey) => {\n const rules = [];\n switch (define.type) {\n case StructDefineType.STRING:\n case StructDefineType.IP: {\n hasRegex(define.regex) &&\n rules.push({\n pattern: define.regex,\n message: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${\n define.type === \"ip\"\n ? K.NOT_MEET_REGEX\n : K.NOT_MEET_REGEX_DETAIL\n }`,\n {\n regex: define.regex,\n }\n ),\n });\n break;\n }\n case StructDefineType.ARR: {\n const regex = new RegExp(define.regex);\n hasRegex(define.regex) &&\n rules.push({\n validator: (rule: any, value: any, cb: any) => {\n (value ?? []).every((item: any) => regex.test(item))\n ? cb()\n : cb(rule.message);\n },\n message: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX_DETAIL}`,\n {\n regex: define.regex,\n }\n ),\n });\n break;\n }\n case StructDefineType.INTEGER: {\n const regex = new RegExp(define.regex);\n hasRegex(define.regex) &&\n rules.push({\n validator: (rule: any, value: any, cb: any) => {\n !hasValue(value) || regex.test(value) ? cb() : cb(rule.message);\n },\n message: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX_DETAIL}`,\n {\n regex: define.regex,\n }\n ),\n });\n break;\n }\n }\n return rules;\n };\n\n const handleStore = async () => {\n // 校验JSON类型\n const hasErrors = !form.getFieldsError().every((v) => !v.errors.length);\n if (hasErrors) return;\n const values = await form.validateFields();\n const newValues = reduce(\n values,\n (pre: any, value, key) => {\n let realValue;\n switch (structDefineMap[key]?.type) {\n case StructDefineType.DATE: {\n realValue = value?.format(\"YYYY-MM-DD\");\n break;\n }\n case StructDefineType.DATETIME: {\n realValue = value?.format(\"YYYY-MM-DD HH:mm:ss\");\n break;\n }\n default:\n realValue = value;\n }\n pre[key] = realValue;\n return pre;\n },\n {}\n );\n handleStoreFunction(newValues);\n form.resetFields();\n };\n\n const handleCloseModal = () => {\n handleCancelFunction();\n form.resetFields();\n };\n\n useEffect(() => {\n if (visible) {\n form.setFieldsValue(structValue);\n }\n }, [visible]);\n\n return (\n <Modal\n visible={visible}\n onOk={handleStore}\n onCancel={handleCloseModal}\n okButtonProps={{ id: \"okBtn\" }}\n okText={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n cancelText={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n cancelButtonProps={{ id: \"cancelBtn\" }}\n destroyOnClose={true}\n >\n <Form form={form} layout={\"vertical\"} initialValues={structValue}>\n {structDefine.map((define) => {\n return (\n <Form.Item\n key={define.id}\n name={define.id}\n label={define.name + \":\"}\n rules={getFormRules(define)}\n >\n {getFormType(define)}\n </Form.Item>\n );\n })}\n </Form>\n </Modal>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AddStructModal.js","names":["_react","_interopRequireWildcard","require","_antd","_interfaces","_ModelAttributeFormControl","_i18next","_interopRequireDefault","_constants","_moment","_lodash","_codeEditorComponents","AddStructModal","props","attribute","visible","structData","handleStoreFunction","handleCancelFunction","structDefine","value","struct_define","structDefineMap","keyBy","form","Form","useForm","structValue","reduce","pre","key","_structDefineMap$key","calcValue","type","StructDefineType","DATE","DATETIME","moment","JSON","isString","stringify","hasRegex","regex","isNil","hasValue","handleJsonValidate","err","define","errors","some","v","push","i18n","t","NS_LIBS_CMDB_INSTANCES","K","NOT_MEET_JSON","NOT_MEET_REGEX","setFields","name","id","getFormType","INTEGER","default","createElement","InputNumber","style","width","precision","placeholder","MATCHING_REGULAR","regexp","FLOAT","BOOLEAN","Radio","Group","boolOptions","map","item","text","ARR","Select","mode","ENUM","length","Option","ENUMS","DatePicker","showTime","IP","Input","jsonSchema","parse","CodeEditor","_extends2","maxLines","highlightActiveLine","minLines","showLineNumbers","showPrintMargin","validateJsonSchemaMode","onValidate","theme","STRING","getFormRules","rules","pattern","message","NOT_MEET_REGEX_DETAIL","RegExp","validator","rule","cb","every","test","handleStore","hasErrors","getFieldsError","values","validateFields","newValues","_structDefineMap$key2","realValue","format","resetFields","handleCloseModal","useEffect","setFieldsValue","Modal","onOk","onCancel","okButtonProps","okText","CONFIRM","cancelText","CANCEL","cancelButtonProps","destroyOnClose","layout","initialValues","Item","label"],"sources":["../../../src/struct-components/AddStructModal.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport {\n DatePicker,\n Input,\n InputNumber,\n Modal,\n Radio,\n Select,\n Form,\n} from \"antd\";\nimport { Attribute, Structkey, StructDefineType } from \"./interfaces\";\nimport { boolOptions } from \"../model-attribute-form-control/ModelAttributeFormControl\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport moment from \"moment\";\nimport { keyBy, reduce, isString, isNil } from \"lodash\";\nimport { CodeEditor } from \"@next-libs/code-editor-components\";\n\nexport interface AddStructModalProps {\n structData?: any;\n attribute: Attribute;\n handleStoreFunction: any;\n handleCancelFunction: () => void;\n visible: boolean;\n}\n\nexport function AddStructModal(props: AddStructModalProps): React.ReactElement {\n const {\n attribute,\n visible,\n structData,\n handleStoreFunction,\n handleCancelFunction,\n } = props;\n const structDefine = attribute.value.struct_define;\n const structDefineMap = keyBy(structDefine, \"id\");\n const [form] = Form.useForm();\n\n const structValue = reduce(\n structData,\n (pre: any, value, key) => {\n let calcValue;\n switch (structDefineMap[key]?.type) {\n case StructDefineType.DATE:\n case StructDefineType.DATETIME:\n calcValue = value && moment(value);\n break;\n case StructDefineType.JSON:\n calcValue =\n isString(value) || !value\n ? value || \"\"\n : JSON.stringify(value, null, 2);\n break;\n default:\n calcValue = value;\n }\n pre[key] = calcValue;\n return pre;\n },\n {}\n );\n\n const hasRegex = (regex: any): boolean => !isNil(regex) && regex !== \"\";\n const hasValue = (value: any): boolean => !isNil(value) && value !== \"\";\n\n const handleJsonValidate = (err: any, define: Structkey) => {\n const errors: string[] = [];\n err.some((v: any) => v.type === \"error\") &&\n errors.push(i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_JSON}`));\n err.some((v: any) => v.type === \"warning\") &&\n errors.push(i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX}`));\n form.setFields([\n {\n name: define.id,\n errors,\n },\n ]);\n };\n\n const getFormType = (define: Structkey) => {\n switch (define.type) {\n case StructDefineType.INTEGER: {\n return (\n <InputNumber\n style={{ width: \"100%\" }}\n precision={0}\n placeholder={\n hasRegex(define.regex)\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: define.regex,\n })\n : \"\"\n }\n />\n );\n }\n case StructDefineType.FLOAT: {\n return <InputNumber style={{ width: \"100%\" }} />;\n }\n case StructDefineType.BOOLEAN: {\n return (\n <Radio.Group>\n {boolOptions.map((item) => (\n <Radio value={item.id} key={item.text}>\n {item.text}\n </Radio>\n ))}\n </Radio.Group>\n );\n }\n case StructDefineType.ARR: {\n return (\n <Select\n mode=\"tags\"\n style={{ width: \"100%\" }}\n placeholder={\n hasRegex(define.regex)\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: define.regex,\n })\n : \"\"\n }\n />\n );\n }\n case StructDefineType.ENUM: {\n const { regex } = define;\n if (regex.length < 6) {\n return (\n <Radio.Group>\n {regex.map((item: string) => (\n <Radio value={item} key={item}>\n {item}\n </Radio>\n ))}\n </Radio.Group>\n );\n } else {\n return (\n <Select style={{ width: \"100%\" }}>\n {regex.map((item: string) => (\n <Select.Option value={item} key={item}>\n {item}\n </Select.Option>\n ))}\n </Select>\n );\n }\n }\n case StructDefineType.ENUMS: {\n return (\n <Select mode=\"multiple\" style={{ width: \"100%\" }}>\n {define.regex.map((item: string) => (\n <Select.Option value={item} key={item}>\n {item}\n </Select.Option>\n ))}\n </Select>\n );\n }\n case StructDefineType.DATE:\n case StructDefineType.DATETIME: {\n return <DatePicker showTime={define.type === \"datetime\"} />;\n }\n case StructDefineType.IP: {\n return <Input />;\n }\n case StructDefineType.JSON: {\n let jsonSchema: any;\n if (hasRegex(define.regex)) {\n jsonSchema = JSON.parse(define.regex);\n }\n return (\n <CodeEditor\n mode={\"json\"}\n maxLines={\"Infinity\"}\n highlightActiveLine={true}\n minLines={3}\n showLineNumbers={true}\n showPrintMargin={false}\n validateJsonSchemaMode={\"error\"}\n onValidate={(err: any) => handleJsonValidate(err, define)}\n {...(jsonSchema ? { jsonSchema } : {})}\n theme=\"tomorrow\"\n />\n );\n }\n case StructDefineType.STRING:\n default: {\n return (\n <Input\n placeholder={\n hasRegex(define.regex)\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: define.regex,\n })\n : \"\"\n }\n />\n );\n }\n }\n };\n\n const getFormRules = (define: Structkey) => {\n const rules = [];\n switch (define.type) {\n case StructDefineType.STRING:\n case StructDefineType.IP: {\n hasRegex(define.regex) &&\n rules.push({\n pattern: define.regex,\n message: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${\n define.type === \"ip\"\n ? K.NOT_MEET_REGEX\n : K.NOT_MEET_REGEX_DETAIL\n }`,\n {\n regex: define.regex,\n }\n ),\n });\n break;\n }\n case StructDefineType.ARR: {\n const regex = new RegExp(define.regex);\n hasRegex(define.regex) &&\n rules.push({\n validator: (rule: any, value: any, cb: any) => {\n (value ?? []).every((item: any) => regex.test(item))\n ? cb()\n : cb(rule.message);\n },\n message: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX_DETAIL}`,\n {\n regex: define.regex,\n }\n ),\n });\n break;\n }\n case StructDefineType.INTEGER: {\n const regex = new RegExp(define.regex);\n hasRegex(define.regex) &&\n rules.push({\n validator: (rule: any, value: any, cb: any) => {\n !hasValue(value) || regex.test(value) ? cb() : cb(rule.message);\n },\n message: i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_REGEX_DETAIL}`,\n {\n regex: define.regex,\n }\n ),\n });\n break;\n }\n }\n return rules;\n };\n\n const handleStore = async () => {\n // 校验JSON类型\n const hasErrors = !form.getFieldsError().every((v) => !v.errors.length);\n if (hasErrors) return;\n const values = await form.validateFields();\n const newValues = reduce(\n values,\n (pre: any, value, key) => {\n let realValue;\n switch (structDefineMap[key]?.type) {\n case StructDefineType.DATE: {\n realValue = value?.format(\"YYYY-MM-DD\");\n break;\n }\n case StructDefineType.DATETIME: {\n realValue = value?.format(\"YYYY-MM-DD HH:mm:ss\");\n break;\n }\n default:\n realValue = value;\n }\n pre[key] = realValue;\n return pre;\n },\n {}\n );\n handleStoreFunction(newValues);\n form.resetFields();\n };\n\n const handleCloseModal = () => {\n handleCancelFunction();\n form.resetFields();\n };\n\n useEffect(() => {\n if (visible) {\n form.setFieldsValue(structValue);\n }\n }, [visible]);\n\n return (\n <Modal\n visible={visible}\n onOk={handleStore}\n onCancel={handleCloseModal}\n okButtonProps={{ id: \"okBtn\" }}\n okText={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CONFIRM}`)}\n cancelText={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CANCEL}`)}\n cancelButtonProps={{ id: \"cancelBtn\" }}\n destroyOnClose={true}\n >\n <Form form={form} layout={\"vertical\"} initialValues={structValue}>\n {structDefine.map((define) => {\n return (\n <Form.Item\n key={define.id}\n name={define.id}\n label={define.name + \":\"}\n rules={getFormRules(define)}\n >\n {getFormType(define)}\n </Form.Item>\n );\n })}\n </Form>\n </Modal>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|