@next-libs/cmdb-instances 7.17.1 → 7.17.3

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.
@@ -243,7 +243,7 @@ class ModelAttributeFormControl extends _react.Component {
243
243
  showLineNumbers: true,
244
244
  showPrintMargin: false,
245
245
  highlightActiveLine: true,
246
- value: value,
246
+ value: value !== null && value !== void 0 ? value : "",
247
247
  onChange: e => this.onChange(e),
248
248
  onValidate: err => this.validateXML(err)
249
249
  }), /*#__PURE__*/_react.default.createElement("label", {
@@ -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","is","message","_PLAIN_TEXT","ENUM","ENUMS","RegExp","enumValue","clusterMap","STRING","mode","XML","MULTIPLE_LINES","IP","length","Error","ENUM_ERROR_TIP","INTEGER","FLOAT","ARR","struct_define","STRUCT_ERROR_TIP","STRUCT_LIST","TYPE_NO_SUPPORT_EDIT","IP_PLACEHOLDER","placeholders","push","CLICK_TO_SELECT","ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR","NUMBER_INPUT_PLACEHOLDER","ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER","MATCHING_REGULAR","regexp","UNIQUE_NO_REPEAT","join","render","FormControlTypeMap"],"sources":["../../../src/model-attribute-form-control/ModelAttributeFormControl.tsx"],"sourcesContent":["import React, { Component, ReactNode } from \"react\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport { DatePicker, Input, InputNumber, Radio, Select } from \"antd\";\nimport { AddStruct } from \"../struct-components\";\nimport moment, { Moment } from \"moment\";\nimport { AttributeFormControlUrl } from \"../attribute-form-control-url/AttributeFormControlUrl\";\nimport { computeDateFormat, isClusterType } from \"../processors\";\nimport { clusterMap } from \"../instance-list-table/constants\";\nimport { CodeEditor } from \"@next-libs/code-editor-components\";\nimport { some } from \"lodash\";\nexport interface FormControlSelectItem {\n id: any;\n text: string;\n}\n\nexport enum ModelAttributeValueType {\n STRING = \"str\",\n INTEGER = \"int\",\n ENUM = \"enum\",\n ENUMS = \"enums\",\n ARR = \"arr\",\n DATE = \"date\",\n DATETIME = \"datetime\",\n STRUCT = \"struct\",\n STRUCT_LIST = \"structs\",\n FOREIGN_KEY = \"FK\",\n FOREIGN_KEYS = \"FKs\",\n IP = \"ip\",\n FLOAT = \"float\",\n BOOLEAN = \"bool\",\n JSON = \"json\",\n}\n\nexport enum ModelAttributeValueModeType {\n MULTIPLE_LINES = \"multiple-lines\",\n DEFAULT = \"default\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\n XML = \"xml\",\n PASSWORD = \"password\",\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}\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}\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 switch (attribute.value.type) {\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 return FormControlTypeEnum.STRUCT;\n case ModelAttributeValueType.BOOLEAN:\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.ENUMS:\n return FormControlTypeEnum.SELECT;\n default:\n throw new Error(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.TYPE_NO_SUPPORT_EDIT}`, {\n type: attribute.value.type,\n })\n );\n }\n }\n\n computeFormControl = (\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n id?: string,\n type?: string,\n isClusterType?: boolean\n ): FormControl => {\n const formControlType = ModelAttributeFormControl.computeFormControlType(\n attribute,\n type,\n this.props.isSupportMultiStringValue\n );\n let items = this.computeFormControlItems(attribute, isClusterType);\n\n if (attribute.value.type === ModelAttributeValueType.BOOLEAN) {\n items = boolOptions;\n }\n\n const result: FormControl = {\n type: formControlType,\n items,\n id: id || attribute.id,\n name: attribute.id,\n label: attribute.name,\n required: attribute.required === \"true\",\n readOnly: !this.props.isCreate && attribute.readonly === \"true\",\n unique: attribute.unique === \"true\",\n pattern: ModelAttributeFormControl.computePattern(attribute),\n };\n\n if (result.type === FormControlTypeEnum.STRUCT) {\n result[\"maxlength\"] = 1;\n }\n result[\"placeholder\"] =\n ModelAttributeFormControl.computePlaceholder(result);\n return result;\n };\n\n static computePlaceholder(formControl: FormControl): string {\n if (formControl.id === \"ip\" && formControl.name === \"ip\") {\n return i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.IP_PLACEHOLDER}`);\n }\n\n const placeholders = [];\n switch (formControl.type) {\n case FormControlTypeEnum.SELECT:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.DATETIME:\n case FormControlTypeEnum.DATE:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.TAGS:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR}`\n )\n );\n break;\n case FormControlTypeEnum.NUMBER:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NUMBER_INPUT_PLACEHOLDER}`)\n );\n break;\n default:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER}`\n )\n );\n }\n\n if (formControl.pattern !== undefined) {\n // placeholders.push(`匹配正则 ${formControl.pattern}`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: formControl.pattern,\n })\n );\n }\n if (formControl.unique) {\n // placeholders.push(`${formControl.label}唯一不能重复`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UNIQUE_NO_REPEAT}`, {\n label: formControl.label,\n })\n );\n }\n return placeholders.join(\",\");\n }\n\n /*computeFormControlAndCatchError = () => {\n const { attribute, objectId } = this.props;\n try {\n this.setState({\n formControl: this.computeFormControl(attribute, objectId)\n });\n } catch (error) {\n this.setState({\n errorMessage: error.message,\n formControl: {\n type: FormControlTypeEnum._PLAIN_TEXT,\n name: attribute.name,\n id: \"\"\n }\n });\n }\n };*/\n\n onChange = (event: any) => {\n let value;\n if (event && event.target) {\n value = event.target.value;\n } else {\n value = event;\n }\n\n const { onChange } = this.props;\n this.setState({ value });\n onChange && onChange(value);\n };\n\n handleDateChange = (date: Moment, dateString: string) => {\n this.onChange(dateString || undefined);\n };\n validateJson = (err: any) => {\n const error = some(err, [\"type\", \"error\"]);\n this.props.jsonValidateCollection?.(error);\n this.setState({ showError: error });\n };\n 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 >\n {restProps.items &&\n restProps.items.map(({ id, text }) => (\n <Select.Option value={id} key={id}>\n {text}\n </Select.Option>\n ))}\n </Select>\n );\n }\n\n default:\n return (\n // <Input\n // value={errorMessage}\n // readOnly\n // disabled\n // className={this.props.className}\n // style={this.props.style}\n // />\n <div\n style={{\n color: \"var(--theme-red-color)\",\n ...this.props.style,\n }}\n >\n {errorMessage}\n </div>\n );\n }\n };\n\n render(): ReactNode {\n return <>{this.FormControlTypeMap()}</>;\n }\n}\n"],"mappings":"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"}
1
+ {"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","is","message","_PLAIN_TEXT","ENUM","ENUMS","RegExp","enumValue","clusterMap","STRING","mode","XML","MULTIPLE_LINES","IP","length","Error","ENUM_ERROR_TIP","INTEGER","FLOAT","ARR","struct_define","STRUCT_ERROR_TIP","STRUCT_LIST","TYPE_NO_SUPPORT_EDIT","IP_PLACEHOLDER","placeholders","push","CLICK_TO_SELECT","ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR","NUMBER_INPUT_PLACEHOLDER","ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER","MATCHING_REGULAR","regexp","UNIQUE_NO_REPEAT","join","render","FormControlTypeMap"],"sources":["../../../src/model-attribute-form-control/ModelAttributeFormControl.tsx"],"sourcesContent":["import React, { Component, ReactNode } from \"react\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport { DatePicker, Input, InputNumber, Radio, Select } from \"antd\";\nimport { AddStruct } from \"../struct-components\";\nimport moment, { Moment } from \"moment\";\nimport { AttributeFormControlUrl } from \"../attribute-form-control-url/AttributeFormControlUrl\";\nimport { computeDateFormat, isClusterType } from \"../processors\";\nimport { clusterMap } from \"../instance-list-table/constants\";\nimport { CodeEditor } from \"@next-libs/code-editor-components\";\nimport { some } from \"lodash\";\nexport interface FormControlSelectItem {\n id: any;\n text: string;\n}\n\nexport enum ModelAttributeValueType {\n STRING = \"str\",\n INTEGER = \"int\",\n ENUM = \"enum\",\n ENUMS = \"enums\",\n ARR = \"arr\",\n DATE = \"date\",\n DATETIME = \"datetime\",\n STRUCT = \"struct\",\n STRUCT_LIST = \"structs\",\n FOREIGN_KEY = \"FK\",\n FOREIGN_KEYS = \"FKs\",\n IP = \"ip\",\n FLOAT = \"float\",\n BOOLEAN = \"bool\",\n JSON = \"json\",\n}\n\nexport enum ModelAttributeValueModeType {\n MULTIPLE_LINES = \"multiple-lines\",\n DEFAULT = \"default\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\n XML = \"xml\",\n PASSWORD = \"password\",\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}\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}\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 switch (attribute.value.type) {\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 return FormControlTypeEnum.STRUCT;\n case ModelAttributeValueType.BOOLEAN:\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.ENUMS:\n return FormControlTypeEnum.SELECT;\n default:\n throw new Error(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.TYPE_NO_SUPPORT_EDIT}`, {\n type: attribute.value.type,\n })\n );\n }\n }\n\n computeFormControl = (\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n id?: string,\n type?: string,\n isClusterType?: boolean\n ): FormControl => {\n const formControlType = ModelAttributeFormControl.computeFormControlType(\n attribute,\n type,\n this.props.isSupportMultiStringValue\n );\n let items = this.computeFormControlItems(attribute, isClusterType);\n\n if (attribute.value.type === ModelAttributeValueType.BOOLEAN) {\n items = boolOptions;\n }\n\n const result: FormControl = {\n type: formControlType,\n items,\n id: id || attribute.id,\n name: attribute.id,\n label: attribute.name,\n required: attribute.required === \"true\",\n readOnly: !this.props.isCreate && attribute.readonly === \"true\",\n unique: attribute.unique === \"true\",\n pattern: ModelAttributeFormControl.computePattern(attribute),\n };\n\n if (result.type === FormControlTypeEnum.STRUCT) {\n result[\"maxlength\"] = 1;\n }\n result[\"placeholder\"] =\n ModelAttributeFormControl.computePlaceholder(result);\n return result;\n };\n\n static computePlaceholder(formControl: FormControl): string {\n if (formControl.id === \"ip\" && formControl.name === \"ip\") {\n return i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.IP_PLACEHOLDER}`);\n }\n\n const placeholders = [];\n switch (formControl.type) {\n case FormControlTypeEnum.SELECT:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.DATETIME:\n case FormControlTypeEnum.DATE:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.TAGS:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR}`\n )\n );\n break;\n case FormControlTypeEnum.NUMBER:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NUMBER_INPUT_PLACEHOLDER}`)\n );\n break;\n default:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER}`\n )\n );\n }\n\n if (formControl.pattern !== undefined) {\n // placeholders.push(`匹配正则 ${formControl.pattern}`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: formControl.pattern,\n })\n );\n }\n if (formControl.unique) {\n // placeholders.push(`${formControl.label}唯一不能重复`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UNIQUE_NO_REPEAT}`, {\n label: formControl.label,\n })\n );\n }\n return placeholders.join(\",\");\n }\n\n /*computeFormControlAndCatchError = () => {\n const { attribute, objectId } = this.props;\n try {\n this.setState({\n formControl: this.computeFormControl(attribute, objectId)\n });\n } catch (error) {\n this.setState({\n errorMessage: error.message,\n formControl: {\n type: FormControlTypeEnum._PLAIN_TEXT,\n name: attribute.name,\n id: \"\"\n }\n });\n }\n };*/\n\n onChange = (event: any) => {\n let value;\n if (event && event.target) {\n value = event.target.value;\n } else {\n value = event;\n }\n\n const { onChange } = this.props;\n this.setState({ value });\n onChange && onChange(value);\n };\n\n handleDateChange = (date: Moment, dateString: string) => {\n this.onChange(dateString || undefined);\n };\n validateJson = (err: any) => {\n const error = some(err, [\"type\", \"error\"]);\n this.props.jsonValidateCollection?.(error);\n this.setState({ showError: error });\n };\n 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 >\n {restProps.items &&\n restProps.items.map(({ id, text }) => (\n <Select.Option value={id} key={id}>\n {text}\n </Select.Option>\n ))}\n </Select>\n );\n }\n\n default:\n return (\n // <Input\n // value={errorMessage}\n // readOnly\n // disabled\n // className={this.props.className}\n // style={this.props.style}\n // />\n <div\n style={{\n color: \"var(--theme-red-color)\",\n ...this.props.style,\n }}\n >\n {errorMessage}\n </div>\n );\n }\n };\n\n render(): ReactNode {\n return <>{this.FormControlTypeMap()}</>;\n }\n}\n"],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.AddStructModal = AddStructModal;
8
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
10
11
  var _antd = require("antd");
11
12
  var _interfaces = require("./interfaces");
12
13
  var _ModelAttributeFormControl = require("../model-attribute-form-control/ModelAttributeFormControl");
@@ -246,6 +247,11 @@ function AddStructModal(props) {
246
247
  handleCancelFunction();
247
248
  form.resetFields();
248
249
  };
250
+ (0, _react.useEffect)(() => {
251
+ if (visible) {
252
+ form.setFieldsValue(structValue);
253
+ }
254
+ }, [visible]);
249
255
  return /*#__PURE__*/_react.default.createElement(_antd.Modal, {
250
256
  visible: visible,
251
257
  onOk: handleStore,
@@ -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","CONFIRM","CANCEL"],"sources":["../../../src/struct-components/AddStructModal.tsx"],"sourcesContent":["import React 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 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":["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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"}
@@ -237,7 +237,7 @@ export class ModelAttributeFormControl extends Component {
237
237
  showLineNumbers: true,
238
238
  showPrintMargin: false,
239
239
  highlightActiveLine: true,
240
- value: value,
240
+ value: value !== null && value !== void 0 ? value : "",
241
241
  onChange: e => this.onChange(e),
242
242
  onValidate: err => this.validateXML(err)
243
243
  }), /*#__PURE__*/React.createElement("label", {
@@ -1 +1 @@
1
- {"version":3,"file":"ModelAttributeFormControl.js","names":["React","Component","i18n","NS_LIBS_CMDB_INSTANCES","K","DatePicker","Input","InputNumber","Radio","Select","AddStruct","AttributeFormControlUrl","computeDateFormat","isClusterType","clusterMap","CodeEditor","some","ModelAttributeValueType","ModelAttributeValueModeType","FormControlTypeEnum","boolOptions","id","text","ModelAttributeFormControl","componentDidUpdate","prevProps","prevState","snapshot","props","value","type","attribute","name","setState","formControl","computeFormControl","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","jsonValidateCollection","showError","xmlValidateCollection","state","errorMessage","restProps","jsonSchema","regex","JSON","parse","TEXT","placeholder","e","className","style","URL","NUMBER","CODE_EDITOR","validateJson","display","color","t","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","format","handleDateChange","SELECT","newValue","multiSelect","is","message","_PLAIN_TEXT","ENUM","ENUMS","RegExp","enumValue","STRING","mode","XML","MULTIPLE_LINES","IP","length","Error","ENUM_ERROR_TIP","INTEGER","FLOAT","ARR","struct_define","STRUCT_ERROR_TIP","STRUCT_LIST","TYPE_NO_SUPPORT_EDIT","IP_PLACEHOLDER","placeholders","push","CLICK_TO_SELECT","ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR","NUMBER_INPUT_PLACEHOLDER","ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER","MATCHING_REGULAR","regexp","UNIQUE_NO_REPEAT","join","render","FormControlTypeMap"],"sources":["../../../src/model-attribute-form-control/ModelAttributeFormControl.tsx"],"sourcesContent":["import React, { Component, ReactNode } from \"react\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport { DatePicker, Input, InputNumber, Radio, Select } from \"antd\";\nimport { AddStruct } from \"../struct-components\";\nimport moment, { Moment } from \"moment\";\nimport { AttributeFormControlUrl } from \"../attribute-form-control-url/AttributeFormControlUrl\";\nimport { computeDateFormat, isClusterType } from \"../processors\";\nimport { clusterMap } from \"../instance-list-table/constants\";\nimport { CodeEditor } from \"@next-libs/code-editor-components\";\nimport { some } from \"lodash\";\nexport interface FormControlSelectItem {\n id: any;\n text: string;\n}\n\nexport enum ModelAttributeValueType {\n STRING = \"str\",\n INTEGER = \"int\",\n ENUM = \"enum\",\n ENUMS = \"enums\",\n ARR = \"arr\",\n DATE = \"date\",\n DATETIME = \"datetime\",\n STRUCT = \"struct\",\n STRUCT_LIST = \"structs\",\n FOREIGN_KEY = \"FK\",\n FOREIGN_KEYS = \"FKs\",\n IP = \"ip\",\n FLOAT = \"float\",\n BOOLEAN = \"bool\",\n JSON = \"json\",\n}\n\nexport enum ModelAttributeValueModeType {\n MULTIPLE_LINES = \"multiple-lines\",\n DEFAULT = \"default\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\n XML = \"xml\",\n PASSWORD = \"password\",\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}\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}\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 switch (attribute.value.type) {\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 return FormControlTypeEnum.STRUCT;\n case ModelAttributeValueType.BOOLEAN:\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.ENUMS:\n return FormControlTypeEnum.SELECT;\n default:\n throw new Error(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.TYPE_NO_SUPPORT_EDIT}`, {\n type: attribute.value.type,\n })\n );\n }\n }\n\n computeFormControl = (\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n id?: string,\n type?: string,\n isClusterType?: boolean\n ): FormControl => {\n const formControlType = ModelAttributeFormControl.computeFormControlType(\n attribute,\n type,\n this.props.isSupportMultiStringValue\n );\n let items = this.computeFormControlItems(attribute, isClusterType);\n\n if (attribute.value.type === ModelAttributeValueType.BOOLEAN) {\n items = boolOptions;\n }\n\n const result: FormControl = {\n type: formControlType,\n items,\n id: id || attribute.id,\n name: attribute.id,\n label: attribute.name,\n required: attribute.required === \"true\",\n readOnly: !this.props.isCreate && attribute.readonly === \"true\",\n unique: attribute.unique === \"true\",\n pattern: ModelAttributeFormControl.computePattern(attribute),\n };\n\n if (result.type === FormControlTypeEnum.STRUCT) {\n result[\"maxlength\"] = 1;\n }\n result[\"placeholder\"] =\n ModelAttributeFormControl.computePlaceholder(result);\n return result;\n };\n\n static computePlaceholder(formControl: FormControl): string {\n if (formControl.id === \"ip\" && formControl.name === \"ip\") {\n return i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.IP_PLACEHOLDER}`);\n }\n\n const placeholders = [];\n switch (formControl.type) {\n case FormControlTypeEnum.SELECT:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.DATETIME:\n case FormControlTypeEnum.DATE:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.TAGS:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR}`\n )\n );\n break;\n case FormControlTypeEnum.NUMBER:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NUMBER_INPUT_PLACEHOLDER}`)\n );\n break;\n default:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER}`\n )\n );\n }\n\n if (formControl.pattern !== undefined) {\n // placeholders.push(`匹配正则 ${formControl.pattern}`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: formControl.pattern,\n })\n );\n }\n if (formControl.unique) {\n // placeholders.push(`${formControl.label}唯一不能重复`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UNIQUE_NO_REPEAT}`, {\n label: formControl.label,\n })\n );\n }\n return placeholders.join(\",\");\n }\n\n /*computeFormControlAndCatchError = () => {\n const { attribute, objectId } = this.props;\n try {\n this.setState({\n formControl: this.computeFormControl(attribute, objectId)\n });\n } catch (error) {\n this.setState({\n errorMessage: error.message,\n formControl: {\n type: FormControlTypeEnum._PLAIN_TEXT,\n name: attribute.name,\n id: \"\"\n }\n });\n }\n };*/\n\n onChange = (event: any) => {\n let value;\n if (event && event.target) {\n value = event.target.value;\n } else {\n value = event;\n }\n\n const { onChange } = this.props;\n this.setState({ value });\n onChange && onChange(value);\n };\n\n handleDateChange = (date: Moment, dateString: string) => {\n this.onChange(dateString || undefined);\n };\n validateJson = (err: any) => {\n const error = some(err, [\"type\", \"error\"]);\n this.props.jsonValidateCollection?.(error);\n this.setState({ showError: error });\n };\n 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 >\n {restProps.items &&\n restProps.items.map(({ id, text }) => (\n <Select.Option value={id} key={id}>\n {text}\n </Select.Option>\n ))}\n </Select>\n );\n }\n\n default:\n return (\n // <Input\n // value={errorMessage}\n // readOnly\n // disabled\n // className={this.props.className}\n // style={this.props.style}\n // />\n <div\n style={{\n color: \"var(--theme-red-color)\",\n ...this.props.style,\n }}\n >\n {errorMessage}\n </div>\n );\n }\n };\n\n render(): ReactNode {\n return <>{this.FormControlTypeMap()}</>;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ModelAttributeFormControl.js","names":["React","Component","i18n","NS_LIBS_CMDB_INSTANCES","K","DatePicker","Input","InputNumber","Radio","Select","AddStruct","AttributeFormControlUrl","computeDateFormat","isClusterType","clusterMap","CodeEditor","some","ModelAttributeValueType","ModelAttributeValueModeType","FormControlTypeEnum","boolOptions","id","text","ModelAttributeFormControl","componentDidUpdate","prevProps","prevState","snapshot","props","value","type","attribute","name","setState","formControl","computeFormControl","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","jsonValidateCollection","showError","xmlValidateCollection","state","errorMessage","restProps","jsonSchema","regex","JSON","parse","TEXT","placeholder","e","className","style","URL","NUMBER","CODE_EDITOR","validateJson","display","color","t","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","format","handleDateChange","SELECT","newValue","multiSelect","is","message","_PLAIN_TEXT","ENUM","ENUMS","RegExp","enumValue","STRING","mode","XML","MULTIPLE_LINES","IP","length","Error","ENUM_ERROR_TIP","INTEGER","FLOAT","ARR","struct_define","STRUCT_ERROR_TIP","STRUCT_LIST","TYPE_NO_SUPPORT_EDIT","IP_PLACEHOLDER","placeholders","push","CLICK_TO_SELECT","ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR","NUMBER_INPUT_PLACEHOLDER","ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER","MATCHING_REGULAR","regexp","UNIQUE_NO_REPEAT","join","render","FormControlTypeMap"],"sources":["../../../src/model-attribute-form-control/ModelAttributeFormControl.tsx"],"sourcesContent":["import React, { Component, ReactNode } from \"react\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport { DatePicker, Input, InputNumber, Radio, Select } from \"antd\";\nimport { AddStruct } from \"../struct-components\";\nimport moment, { Moment } from \"moment\";\nimport { AttributeFormControlUrl } from \"../attribute-form-control-url/AttributeFormControlUrl\";\nimport { computeDateFormat, isClusterType } from \"../processors\";\nimport { clusterMap } from \"../instance-list-table/constants\";\nimport { CodeEditor } from \"@next-libs/code-editor-components\";\nimport { some } from \"lodash\";\nexport interface FormControlSelectItem {\n id: any;\n text: string;\n}\n\nexport enum ModelAttributeValueType {\n STRING = \"str\",\n INTEGER = \"int\",\n ENUM = \"enum\",\n ENUMS = \"enums\",\n ARR = \"arr\",\n DATE = \"date\",\n DATETIME = \"datetime\",\n STRUCT = \"struct\",\n STRUCT_LIST = \"structs\",\n FOREIGN_KEY = \"FK\",\n FOREIGN_KEYS = \"FKs\",\n IP = \"ip\",\n FLOAT = \"float\",\n BOOLEAN = \"bool\",\n JSON = \"json\",\n}\n\nexport enum ModelAttributeValueModeType {\n MULTIPLE_LINES = \"multiple-lines\",\n DEFAULT = \"default\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\n XML = \"xml\",\n PASSWORD = \"password\",\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}\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}\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 switch (attribute.value.type) {\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 return FormControlTypeEnum.STRUCT;\n case ModelAttributeValueType.BOOLEAN:\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.ENUMS:\n return FormControlTypeEnum.SELECT;\n default:\n throw new Error(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.TYPE_NO_SUPPORT_EDIT}`, {\n type: attribute.value.type,\n })\n );\n }\n }\n\n computeFormControl = (\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n id?: string,\n type?: string,\n isClusterType?: boolean\n ): FormControl => {\n const formControlType = ModelAttributeFormControl.computeFormControlType(\n attribute,\n type,\n this.props.isSupportMultiStringValue\n );\n let items = this.computeFormControlItems(attribute, isClusterType);\n\n if (attribute.value.type === ModelAttributeValueType.BOOLEAN) {\n items = boolOptions;\n }\n\n const result: FormControl = {\n type: formControlType,\n items,\n id: id || attribute.id,\n name: attribute.id,\n label: attribute.name,\n required: attribute.required === \"true\",\n readOnly: !this.props.isCreate && attribute.readonly === \"true\",\n unique: attribute.unique === \"true\",\n pattern: ModelAttributeFormControl.computePattern(attribute),\n };\n\n if (result.type === FormControlTypeEnum.STRUCT) {\n result[\"maxlength\"] = 1;\n }\n result[\"placeholder\"] =\n ModelAttributeFormControl.computePlaceholder(result);\n return result;\n };\n\n static computePlaceholder(formControl: FormControl): string {\n if (formControl.id === \"ip\" && formControl.name === \"ip\") {\n return i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.IP_PLACEHOLDER}`);\n }\n\n const placeholders = [];\n switch (formControl.type) {\n case FormControlTypeEnum.SELECT:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.DATETIME:\n case FormControlTypeEnum.DATE:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.TAGS:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR}`\n )\n );\n break;\n case FormControlTypeEnum.NUMBER:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NUMBER_INPUT_PLACEHOLDER}`)\n );\n break;\n default:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER}`\n )\n );\n }\n\n if (formControl.pattern !== undefined) {\n // placeholders.push(`匹配正则 ${formControl.pattern}`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: formControl.pattern,\n })\n );\n }\n if (formControl.unique) {\n // placeholders.push(`${formControl.label}唯一不能重复`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UNIQUE_NO_REPEAT}`, {\n label: formControl.label,\n })\n );\n }\n return placeholders.join(\",\");\n }\n\n /*computeFormControlAndCatchError = () => {\n const { attribute, objectId } = this.props;\n try {\n this.setState({\n formControl: this.computeFormControl(attribute, objectId)\n });\n } catch (error) {\n this.setState({\n errorMessage: error.message,\n formControl: {\n type: FormControlTypeEnum._PLAIN_TEXT,\n name: attribute.name,\n id: \"\"\n }\n });\n }\n };*/\n\n onChange = (event: any) => {\n let value;\n if (event && event.target) {\n value = event.target.value;\n } else {\n value = event;\n }\n\n const { onChange } = this.props;\n this.setState({ value });\n onChange && onChange(value);\n };\n\n handleDateChange = (date: Moment, dateString: string) => {\n this.onChange(dateString || undefined);\n };\n validateJson = (err: any) => {\n const error = some(err, [\"type\", \"error\"]);\n this.props.jsonValidateCollection?.(error);\n this.setState({ showError: error });\n };\n 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 >\n {restProps.items &&\n restProps.items.map(({ id, text }) => (\n <Select.Option value={id} key={id}>\n {text}\n </Select.Option>\n ))}\n </Select>\n );\n }\n\n default:\n return (\n // <Input\n // value={errorMessage}\n // readOnly\n // disabled\n // className={this.props.className}\n // style={this.props.style}\n // />\n <div\n style={{\n color: \"var(--theme-red-color)\",\n ...this.props.style,\n }}\n >\n {errorMessage}\n </div>\n );\n }\n };\n\n render(): ReactNode {\n return <>{this.FormControlTypeMap()}</>;\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
2
  import _extends from "@babel/runtime/helpers/extends";
3
- import React from "react";
3
+ import React, { useEffect } from "react";
4
4
  import { DatePicker, Input, InputNumber, Modal, Radio, Select, Form } from "antd";
5
5
  import { StructDefineType } from "./interfaces";
6
6
  import { boolOptions } from "../model-attribute-form-control/ModelAttributeFormControl";
@@ -245,6 +245,11 @@ export function AddStructModal(props) {
245
245
  handleCancelFunction();
246
246
  form.resetFields();
247
247
  };
248
+ useEffect(() => {
249
+ if (visible) {
250
+ form.setFieldsValue(structValue);
251
+ }
252
+ }, [visible]);
248
253
  return /*#__PURE__*/React.createElement(Modal, {
249
254
  visible: visible,
250
255
  onOk: handleStore,
@@ -1 +1 @@
1
- {"version":3,"file":"AddStructModal.js","names":["React","DatePicker","Input","InputNumber","Modal","Radio","Select","Form","StructDefineType","boolOptions","i18n","K","NS_LIBS_CMDB_INSTANCES","moment","keyBy","reduce","isString","isNil","CodeEditor","AddStructModal","props","attribute","visible","structData","handleStoreFunction","handleCancelFunction","structDefine","value","struct_define","structDefineMap","form","useForm","structValue","pre","key","calcValue","type","DATE","DATETIME","JSON","stringify","hasRegex","regex","hasValue","handleJsonValidate","err","define","errors","some","v","push","t","NOT_MEET_JSON","NOT_MEET_REGEX","setFields","name","id","getFormType","INTEGER","width","MATCHING_REGULAR","regexp","FLOAT","BOOLEAN","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","CONFIRM","CANCEL"],"sources":["../../../src/struct-components/AddStructModal.tsx"],"sourcesContent":["import React 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 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","useEffect","DatePicker","Input","InputNumber","Modal","Radio","Select","Form","StructDefineType","boolOptions","i18n","K","NS_LIBS_CMDB_INSTANCES","moment","keyBy","reduce","isString","isNil","CodeEditor","AddStructModal","props","attribute","visible","structData","handleStoreFunction","handleCancelFunction","structDefine","value","struct_define","structDefineMap","form","useForm","structValue","pre","key","calcValue","type","DATE","DATETIME","JSON","stringify","hasRegex","regex","hasValue","handleJsonValidate","err","define","errors","some","v","push","t","NOT_MEET_JSON","NOT_MEET_REGEX","setFields","name","id","getFormType","INTEGER","width","MATCHING_REGULAR","regexp","FLOAT","BOOLEAN","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","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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-libs/cmdb-instances",
3
- "version": "7.17.1",
3
+ "version": "7.17.3",
4
4
  "description": "> TODO: description",
5
5
  "homepage": "https://github.com/easyops-cn/next-libs/tree/master/libs/cmdb-instances",
6
6
  "license": "GPL-3.0",
@@ -51,5 +51,5 @@
51
51
  "immutability-helper": "^3.1.1",
52
52
  "marked": "^2.1.3"
53
53
  },
54
- "gitHead": "0972f7f57b351ab68859c4b735fdfda2cbff5815"
54
+ "gitHead": "b02feb58e4e3d485c6369208b8ea0ccecbd1d5cd"
55
55
  }