amis 1.9.1-beta.11 → 1.9.1-beta.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (133) hide show
  1. package/lib/RootRenderer.js +14 -0
  2. package/lib/RootRenderer.js.map +2 -2
  3. package/lib/SchemaRenderer.js +8 -3
  4. package/lib/SchemaRenderer.js.map +2 -2
  5. package/lib/components/Alert2.d.ts +10 -10
  6. package/lib/components/DateRangePicker.js +11 -9
  7. package/lib/components/DateRangePicker.js.map +2 -2
  8. package/lib/components/SearchBox.d.ts +40 -40
  9. package/lib/components/Select.d.ts +193 -193
  10. package/lib/components/Select.js +2 -4
  11. package/lib/components/Select.js.map +2 -2
  12. package/lib/components/virtual-list/index.js +1 -1
  13. package/lib/components/virtual-list/index.js.map +1 -1
  14. package/lib/index.js +1 -1
  15. package/lib/locale/de-DE.js +1 -0
  16. package/lib/locale/de-DE.js.map +2 -2
  17. package/lib/locale/en-US.js +1 -0
  18. package/lib/locale/en-US.js.map +2 -2
  19. package/lib/locale/zh-CN.js +5 -2
  20. package/lib/locale/zh-CN.js.map +2 -2
  21. package/lib/renderers/Action.d.ts +6 -0
  22. package/lib/renderers/Action.js.map +2 -2
  23. package/lib/renderers/CRUD.js +2 -1
  24. package/lib/renderers/CRUD.js.map +2 -2
  25. package/lib/renderers/Card.js +5 -4
  26. package/lib/renderers/Card.js.map +2 -2
  27. package/lib/renderers/Carousel.d.ts +1 -1
  28. package/lib/renderers/Carousel.js +5 -1
  29. package/lib/renderers/Carousel.js.map +2 -2
  30. package/lib/renderers/Form/InputImage.js +1 -1
  31. package/lib/renderers/Form/InputImage.js.map +2 -2
  32. package/lib/renderers/Form/InputText.js +1 -1
  33. package/lib/renderers/Form/InputText.js.map +2 -2
  34. package/lib/renderers/Form/Options.js +1 -0
  35. package/lib/renderers/Form/Options.js.map +2 -2
  36. package/lib/renderers/Form/Select.d.ts +12 -0
  37. package/lib/renderers/Form/Select.js +1 -3
  38. package/lib/renderers/Form/Select.js.map +2 -2
  39. package/lib/renderers/Form/wrapControl.js +72 -19
  40. package/lib/renderers/Form/wrapControl.js.map +2 -2
  41. package/lib/renderers/Service.js +1 -0
  42. package/lib/renderers/Service.js.map +2 -2
  43. package/lib/renderers/Table/TableContent.d.ts +2 -2
  44. package/lib/renderers/Table/TableContent.js +4 -16
  45. package/lib/renderers/Table/TableContent.js.map +2 -2
  46. package/lib/renderers/Table/index.d.ts +2 -5
  47. package/lib/renderers/Table/index.js +2 -2
  48. package/lib/renderers/Table/index.js.map +2 -2
  49. package/lib/store/table.js +7 -3
  50. package/lib/store/table.js.map +2 -2
  51. package/lib/themes/ang-ie11.css +0 -1
  52. package/lib/themes/ang.css +0 -1
  53. package/lib/themes/ang.css.map +1 -1
  54. package/lib/themes/antd-ie11.css +0 -1
  55. package/lib/themes/antd.css +0 -1
  56. package/lib/themes/antd.css.map +1 -1
  57. package/lib/themes/cxd-ie11.css +8 -1
  58. package/lib/themes/cxd.css +8 -1
  59. package/lib/themes/cxd.css.map +1 -1
  60. package/lib/themes/dark-ie11.css +0 -1
  61. package/lib/themes/dark.css +0 -1
  62. package/lib/themes/dark.css.map +1 -1
  63. package/lib/themes/default-ie11.css +8 -1
  64. package/lib/themes/default.css +8 -1
  65. package/lib/themes/default.css.map +1 -1
  66. package/lib/types.d.ts +1 -1
  67. package/lib/types.js.map +1 -1
  68. package/lib/utils/formula.d.ts +16 -0
  69. package/lib/utils/formula.js +207 -0
  70. package/lib/utils/formula.js.map +13 -0
  71. package/lib/utils/grammar.d.ts +4 -0
  72. package/lib/utils/grammar.js +47 -0
  73. package/lib/utils/grammar.js.map +13 -0
  74. package/lib/utils/helper.js +1 -0
  75. package/lib/utils/helper.js.map +2 -2
  76. package/lib/utils/tpl.js +3 -0
  77. package/lib/utils/tpl.js.map +2 -2
  78. package/package.json +1 -1
  79. package/schema.json +278 -222
  80. package/scss/components/_collapse.scss +1 -1
  81. package/scss/themes/cxd.scss +12 -0
  82. package/sdk/ang-ie11.css +0 -1
  83. package/sdk/ang.css +0 -1
  84. package/sdk/antd-ie11.css +0 -1
  85. package/sdk/antd.css +0 -1
  86. package/sdk/barcode.js +51 -51
  87. package/sdk/charts.js +14 -14
  88. package/sdk/codemirror.js +7 -7
  89. package/sdk/color-picker.js +65 -65
  90. package/sdk/cropperjs.js +2 -2
  91. package/sdk/cxd-ie11.css +9 -1
  92. package/sdk/cxd.css +9 -1
  93. package/sdk/dark-ie11.css +0 -1
  94. package/sdk/dark.css +0 -1
  95. package/sdk/exceljs.js +1 -1
  96. package/sdk/locale/de-DE.js +1 -0
  97. package/sdk/markdown.js +69 -69
  98. package/sdk/papaparse.js +1 -1
  99. package/sdk/renderers/Form/CityDB.js +1 -1
  100. package/sdk/rest.js +16 -16
  101. package/sdk/rich-text.js +62 -62
  102. package/sdk/sdk-ie11.css +9 -1
  103. package/sdk/sdk.css +9 -1
  104. package/sdk/sdk.js +1695 -1665
  105. package/sdk/thirds/hls.js/hls.js +1 -1
  106. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  107. package/sdk/tinymce.js +57 -57
  108. package/src/RootRenderer.tsx +14 -0
  109. package/src/SchemaRenderer.tsx +4 -2
  110. package/src/components/DateRangePicker.tsx +73 -60
  111. package/src/components/Select.tsx +2 -4
  112. package/src/components/virtual-list/index.tsx +1 -1
  113. package/src/locale/de-DE.ts +1 -0
  114. package/src/locale/en-US.ts +1 -0
  115. package/src/locale/zh-CN.ts +5 -2
  116. package/src/renderers/Action.tsx +8 -0
  117. package/src/renderers/CRUD.tsx +2 -1
  118. package/src/renderers/Card.tsx +10 -5
  119. package/src/renderers/Carousel.tsx +10 -4
  120. package/src/renderers/Form/InputImage.tsx +1 -1
  121. package/src/renderers/Form/InputText.tsx +1 -0
  122. package/src/renderers/Form/Options.tsx +1 -0
  123. package/src/renderers/Form/Select.tsx +13 -3
  124. package/src/renderers/Form/wrapControl.tsx +90 -22
  125. package/src/renderers/Service.tsx +1 -0
  126. package/src/renderers/Table/TableContent.tsx +22 -34
  127. package/src/renderers/Table/index.tsx +4 -8
  128. package/src/store/table.ts +10 -3
  129. package/src/types.ts +1 -0
  130. package/src/utils/formula.ts +240 -0
  131. package/src/utils/grammar.ts +53 -0
  132. package/src/utils/helper.ts +2 -1
  133. package/src/utils/tpl.ts +2 -0
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/Select.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport cx from 'classnames';\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport Select, {normalizeOptions} from '../../components/Select';\nimport find from 'lodash/find';\nimport debouce from 'lodash/debounce';\nimport {Api, Action} from '../../types';\nimport {isEffectiveApi, isApiOutdated} from '../../utils/api';\nimport {isEmpty, createObject, autobind, isMobile} from '../../utils/helper';\nimport {dataMapping} from '../../utils/tpl-builtin';\nimport {SchemaApi} from '../../Schema';\nimport Spinner from '../../components/Spinner';\nimport {BaseTransferRenderer, TransferControlSchema} from './Transfer';\nimport TransferDropDown from '../../components/TransferDropDown';\n\n/**\n * Select 下拉选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/select\n */\nexport interface SelectControlSchema extends FormOptionsControl {\n type: 'select' | 'multi-select';\n\n /**\n * 自动完成 API,当输入部分文字的时候,会将这些文字通过 ${term} 可以取到,发送给接口。\n * 接口可以返回匹配到的选项,帮助用户输入。\n */\n autoComplete?: SchemaApi;\n\n /**\n * 可以自定义菜单展示。\n */\n menuTpl?: string;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 勾选展示模式\n */\n selectMode?: 'table' | 'group' | 'tree' | 'chained' | 'associated';\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选项\n */\n leftOptions?: Array<Option>;\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选择模式\n */\n leftMode?: 'tree' | 'list';\n\n /**\n * 当 selectMode 为 associated 时用来定义右侧的选择模式\n */\n rightMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 搜索结果展示模式\n */\n searchResultMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 当 selectMode 为 table 时定义表格列信息。\n */\n columns?: Array<any>;\n\n /**\n * 当 searchResultMode 为 table 时定义表格列信息。\n */\n searchResultColumns?: Array<any>;\n\n /**\n * 可搜索?\n */\n searchable?: boolean;\n\n /**\n * 搜索 API\n */\n searchApi?: SchemaApi;\n}\n\nexport interface SelectProps extends OptionsControlProps {\n autoComplete?: Api;\n searchable?: boolean;\n defaultOpen?: boolean;\n useMobileUI?: boolean;\n}\n\nexport type SelectRendererEvent =\n | 'change'\n | 'blur'\n | 'focus'\n | 'add'\n | 'edit'\n | 'delete';\nexport default class SelectControl extends React.Component<SelectProps, any> {\n static defaultProps: Partial<SelectProps> = {\n clearable: false,\n searchable: false,\n multiple: false\n };\n\n input: any;\n unHook: Function;\n lazyloadRemote: Function;\n lastTerm: string = ''; // 用来记录上一次搜索时关键字\n constructor(props: SelectProps) {\n super(props);\n\n this.changeValue = this.changeValue.bind(this);\n this.lazyloadRemote = debouce(this.loadRemote.bind(this), 250, {\n trailing: true,\n leading: false\n });\n this.inputRef = this.inputRef.bind(this);\n }\n\n componentDidUpdate(prevProps: SelectProps) {\n const props = this.props;\n\n if (\n isEffectiveApi(props.autoComplete, props.data) &&\n isApiOutdated(\n prevProps.autoComplete,\n props.autoComplete,\n prevProps.data,\n props.data\n )\n ) {\n this.lazyloadRemote(this.lastTerm);\n }\n }\n\n componentWillUnmount() {\n this.unHook && this.unHook();\n }\n\n inputRef(ref: any) {\n this.input = ref;\n }\n\n foucs() {\n this.input && this.input.focus();\n }\n\n getValue(value: Option | Array<Option> | string | void) {\n const {joinValues, extractValue, delimiter, multiple, valueField, options} =\n this.props;\n let newValue: string | Option | Array<Option> | void = value;\n let additonalOptions: Array<any> = [];\n\n (Array.isArray(value) ? value : value ? [value] : []).forEach(\n (option: any) => {\n let resolved = find(\n options,\n (item: any) =>\n item[valueField || 'value'] == option[valueField || 'value']\n );\n resolved || additonalOptions.push(option);\n }\n );\n\n if (joinValues) {\n if (multiple) {\n newValue = Array.isArray(value)\n ? (value\n .map(item => item[valueField || 'value'])\n .join(delimiter) as string)\n : value\n ? (value as Option)[valueField || 'value']\n : '';\n } else {\n newValue = newValue ? (newValue as Option)[valueField || 'value'] : '';\n }\n } else if (extractValue) {\n if (multiple) {\n newValue = Array.isArray(value)\n ? value.map(item => item[valueField || 'value'])\n : value\n ? [(value as Option)[valueField || 'value']]\n : [];\n } else {\n newValue = newValue ? (newValue as Option)[valueField || 'value'] : '';\n }\n }\n\n return newValue;\n }\n\n async dispatchEvent(eventName: SelectRendererEvent, eventData: any = {}) {\n const event = 'on' + eventName.charAt(0).toUpperCase() + eventName.slice(1);\n const {dispatchEvent, options, data} = this.props;\n // 触发渲染器事件\n const rendererEvent = await dispatchEvent(\n eventName,\n createObject(data, {\n options,\n value: ['onEdit', 'onDelete'].includes(event)\n ? eventData\n : eventData && eventData.value\n })\n );\n if (rendererEvent?.prevented) {\n return;\n }\n // 触发外部方法\n this.props[event](eventData);\n }\n\n async changeValue(value: Option | Array<Option> | string | void) {\n const {onChange, setOptions, options, data, dispatchEvent} = this.props;\n\n let newValue: string | Option | Array<Option> | void = this.getValue(value);\n let additonalOptions: Array<any> = [];\n // 不设置没法回显\n additonalOptions.length && setOptions(options.concat(additonalOptions));\n\n const rendererEvent = await dispatchEvent(\n 'change',\n createObject(data, {\n value: newValue,\n options\n })\n );\n if (rendererEvent?.prevented) {\n return;\n }\n\n onChange?.(newValue);\n }\n\n async loadRemote(input: string) {\n const {\n autoComplete,\n env,\n data,\n setOptions,\n setLoading,\n formInited,\n addHook\n } = this.props;\n\n if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n if (!formInited) {\n this.unHook && this.unHook();\n return (this.unHook = addHook(this.loadRemote.bind(this, input), 'init'));\n }\n\n this.lastTerm = input;\n const ctx = createObject(data, {\n term: input,\n value: input\n });\n\n if (!isEffectiveApi(autoComplete, ctx)) {\n return Promise.resolve({\n options: []\n });\n }\n\n setLoading(true);\n try {\n const ret = await env.fetcher(autoComplete, ctx);\n\n let options = (ret.data && (ret.data as any).options) || ret.data || [];\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return {\n options: combinedOptions\n };\n } finally {\n setLoading(false);\n }\n }\n\n mergeOptions(options: Array<object>) {\n const {selectedOptions, valueField = 'value'} = this.props;\n let combinedOptions = normalizeOptions(\n options,\n undefined,\n valueField\n ).concat();\n\n if (Array.isArray(selectedOptions) && selectedOptions.length) {\n selectedOptions.forEach(option => {\n if (\n !find(combinedOptions, (item: Option) => item.value == option.value)\n ) {\n combinedOptions.push({\n ...option,\n hidden: true\n });\n }\n });\n }\n return combinedOptions;\n }\n\n @autobind\n renderMenu(option: Option, state: any) {\n const {menuTpl, render, data} = this.props;\n\n return render(`menu/${state.index}`, menuTpl, {\n data: createObject(createObject(data, state), option)\n });\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n option2value() {}\n\n renderOtherMode() {\n const {selectMode, ...rest} = this.props;\n return (\n <TransferDropdownRenderer\n {...rest}\n selectMode={selectMode === 'group' ? 'list' : selectMode}\n />\n );\n }\n\n doAction(action: Action, data: object, throwErrors: boolean): any {\n const {resetValue, onChange} = this.props;\n const actionType = action?.actionType as string;\n\n if (actionType === 'clear') {\n onChange?.('');\n } else if (actionType === 'reset') {\n const value = this.getValue(resetValue ?? '');\n onChange?.(value);\n }\n }\n\n render() {\n let {\n autoComplete,\n searchable,\n options,\n className,\n loading,\n value,\n selectedOptions,\n multi,\n multiple,\n placeholder,\n id,\n classPrefix,\n classnames,\n creatable,\n inline,\n noResultsText,\n render,\n menuTpl,\n borderMode,\n selectMode,\n env,\n useMobileUI,\n ...rest\n } = this.props;\n\n if (noResultsText) {\n noResultsText = render('noResultText', noResultsText);\n }\n\n const mobileUI = useMobileUI && isMobile();\n\n return (\n <div className={cx(`${classPrefix}SelectControl`, className)}>\n {['table', 'list', 'group', 'tree', 'chained', 'associated'].includes(\n selectMode\n ) ? (\n this.renderOtherMode()\n ) : (\n <Select\n {...rest}\n useMobileUI={useMobileUI}\n popOverContainer={\n mobileUI && env && env.getModalContainer\n ? env.getModalContainer\n : mobileUI\n ? undefined\n : rest.popOverContainer\n }\n borderMode={borderMode}\n placeholder={placeholder}\n multiple={multiple || multi}\n ref={this.inputRef}\n value={selectedOptions}\n options={options}\n loadOptions={\n isEffectiveApi(autoComplete) ? this.lazyloadRemote : undefined\n }\n creatable={creatable}\n searchable={searchable || !!autoComplete}\n onChange={this.changeValue}\n onBlur={(e: any) => this.dispatchEvent('blur', e)}\n onFocus={(e: any) => this.dispatchEvent('focus', e)}\n onAdd={() => this.dispatchEvent('add')}\n onEdit={(item: any) => this.dispatchEvent('edit', item)}\n onDelete={(item: any) =>\n this.dispatchEvent('delete', item)\n }\n loading={loading}\n noResultsText={noResultsText}\n renderMenu={menuTpl ? this.renderMenu : undefined}\n />\n )}\n </div>\n );\n }\n}\n\nexport interface TransferDropDownProps\n extends OptionsControlProps,\n Omit<\n TransferControlSchema,\n | 'type'\n | 'options'\n | 'inputClassName'\n | 'className'\n | 'descriptionClassName'\n > {\n borderMode?: 'full' | 'half' | 'none';\n useMobileUI?: boolean;\n}\n\nclass TransferDropdownRenderer extends BaseTransferRenderer<TransferDropDownProps> {\n @autobind\n renderItem(item: Option): any {\n const {labelField} = this.props;\n return `${item.scopeLabel || ''}${item[labelField || 'label']}`;\n }\n\n render() {\n const {\n className,\n classnames: cx,\n selectedOptions,\n sortable,\n loading,\n searchable,\n searchResultMode,\n showArrow,\n deferLoad,\n disabled,\n clearable,\n selectTitle,\n selectMode,\n multiple,\n columns,\n leftMode,\n borderMode,\n useMobileUI,\n popOverContainer\n } = this.props;\n\n // 目前 LeftOptions 没有接口可以动态加载\n // 为了方便可以快速实现动态化,让选项的第一个成员携带\n // LeftOptions 信息\n let {options, leftOptions, leftDefaultValue} = this.props;\n if (\n selectMode === 'associated' &&\n options &&\n options.length === 1 &&\n options[0].leftOptions &&\n Array.isArray(options[0].children)\n ) {\n leftOptions = options[0].leftOptions;\n leftDefaultValue = options[0].leftDefaultValue ?? leftDefaultValue;\n options = options[0].children;\n }\n\n return (\n <>\n <TransferDropDown\n selectMode={selectMode}\n className={className}\n value={selectedOptions}\n disabled={disabled}\n clearable={clearable}\n options={options}\n onChange={this.handleChange}\n option2value={this.option2value}\n itemRender={this.renderItem}\n sortable={sortable}\n searchResultMode={searchResultMode}\n onSearch={searchable ? this.handleSearch : undefined}\n showArrow={showArrow}\n onDeferLoad={deferLoad}\n selectTitle={selectTitle}\n multiple={multiple}\n columns={columns}\n leftMode={leftMode}\n leftOptions={leftOptions}\n borderMode={borderMode}\n useMobileUI={useMobileUI}\n popOverContainer={popOverContainer}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </>\n );\n }\n}\n\n@OptionsControl({\n type: 'select'\n})\nexport class SelectControlRenderer extends SelectControl {}\n\n@OptionsControl({\n type: 'multi-select'\n})\nexport class MultiSelectControlRenderer extends SelectControl {\n static defaultProps = {\n multiple: true\n };\n}\n"
11
+ "import React from 'react';\nimport cx from 'classnames';\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport Select, {normalizeOptions} from '../../components/Select';\nimport find from 'lodash/find';\nimport debouce from 'lodash/debounce';\nimport {Api, Action} from '../../types';\nimport {isEffectiveApi, isApiOutdated} from '../../utils/api';\nimport {isEmpty, createObject, autobind, isMobile} from '../../utils/helper';\nimport {dataMapping} from '../../utils/tpl-builtin';\nimport {SchemaApi} from '../../Schema';\nimport Spinner from '../../components/Spinner';\nimport {BaseTransferRenderer, TransferControlSchema} from './Transfer';\nimport TransferDropDown from '../../components/TransferDropDown';\n\n/**\n * Select 下拉选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/select\n */\nexport interface SelectControlSchema extends FormOptionsControl {\n type: 'select' | 'multi-select';\n\n /**\n * 自动完成 API,当输入部分文字的时候,会将这些文字通过 ${term} 可以取到,发送给接口。\n * 接口可以返回匹配到的选项,帮助用户输入。\n */\n autoComplete?: SchemaApi;\n\n /**\n * 可以自定义菜单展示。\n */\n menuTpl?: string;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 勾选展示模式\n */\n selectMode?: 'table' | 'group' | 'tree' | 'chained' | 'associated';\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选项\n */\n leftOptions?: Array<Option>;\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选择模式\n */\n leftMode?: 'tree' | 'list';\n\n /**\n * 当 selectMode 为 associated 时用来定义右侧的选择模式\n */\n rightMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 搜索结果展示模式\n */\n searchResultMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 当 selectMode 为 table 时定义表格列信息。\n */\n columns?: Array<any>;\n\n /**\n * 当 searchResultMode 为 table 时定义表格列信息。\n */\n searchResultColumns?: Array<any>;\n\n /**\n * 可搜索?\n */\n searchable?: boolean;\n\n /**\n * 搜索 API\n */\n searchApi?: SchemaApi;\n /**\n * 可多选条件下,是否可全选\n */\n checkAll?: boolean;\n /**\n * 可多选条件下,是否默认全选中所有值\n */\n defaultCheckAll?: boolean;\n /**\n * 可多选条件下,全选项文案,默认 ”全选“\n */\n checkAllLabel?: string;\n}\n\nexport interface SelectProps extends OptionsControlProps {\n autoComplete?: Api;\n searchable?: boolean;\n defaultOpen?: boolean;\n useMobileUI?: boolean;\n}\n\nexport type SelectRendererEvent =\n | 'change'\n | 'blur'\n | 'focus'\n | 'add'\n | 'edit'\n | 'delete';\nexport default class SelectControl extends React.Component<SelectProps, any> {\n static defaultProps: Partial<SelectProps> = {\n clearable: false,\n searchable: false,\n multiple: false\n };\n\n input: any;\n unHook: Function;\n lazyloadRemote: Function;\n lastTerm: string = ''; // 用来记录上一次搜索时关键字\n constructor(props: SelectProps) {\n super(props);\n\n this.changeValue = this.changeValue.bind(this);\n this.lazyloadRemote = debouce(this.loadRemote.bind(this), 250, {\n trailing: true,\n leading: false\n });\n this.inputRef = this.inputRef.bind(this);\n }\n\n componentDidUpdate(prevProps: SelectProps) {\n const props = this.props;\n\n if (\n isEffectiveApi(props.autoComplete, props.data) &&\n isApiOutdated(\n prevProps.autoComplete,\n props.autoComplete,\n prevProps.data,\n props.data\n )\n ) {\n this.lazyloadRemote(this.lastTerm);\n }\n }\n\n componentWillUnmount() {\n this.unHook && this.unHook();\n }\n\n inputRef(ref: any) {\n this.input = ref;\n }\n\n foucs() {\n this.input && this.input.focus();\n }\n\n getValue(value: Option | Array<Option> | string | void) {\n const {joinValues, extractValue, delimiter, multiple, valueField, options} =\n this.props;\n let newValue: string | Option | Array<Option> | void = value;\n let additonalOptions: Array<any> = [];\n\n (Array.isArray(value) ? value : value ? [value] : []).forEach(\n (option: any) => {\n let resolved = find(\n options,\n (item: any) =>\n item[valueField || 'value'] == option[valueField || 'value']\n );\n resolved || additonalOptions.push(option);\n }\n );\n\n if (joinValues) {\n if (multiple) {\n newValue = Array.isArray(value)\n ? (value\n .map(item => item[valueField || 'value'])\n .join(delimiter) as string)\n : value\n ? (value as Option)[valueField || 'value']\n : '';\n } else {\n newValue = newValue ? (newValue as Option)[valueField || 'value'] : '';\n }\n } else if (extractValue) {\n if (multiple) {\n newValue = Array.isArray(value)\n ? value.map(item => item[valueField || 'value'])\n : value\n ? [(value as Option)[valueField || 'value']]\n : [];\n } else {\n newValue = newValue ? (newValue as Option)[valueField || 'value'] : '';\n }\n }\n\n return newValue;\n }\n\n async dispatchEvent(eventName: SelectRendererEvent, eventData: any = {}) {\n const event = 'on' + eventName.charAt(0).toUpperCase() + eventName.slice(1);\n const {dispatchEvent, options, data} = this.props;\n // 触发渲染器事件\n const rendererEvent = await dispatchEvent(\n eventName,\n createObject(data, {\n options,\n value: ['onEdit', 'onDelete'].includes(event)\n ? eventData\n : eventData && eventData.value\n })\n );\n if (rendererEvent?.prevented) {\n return;\n }\n // 触发外部方法\n this.props[event](eventData);\n }\n\n async changeValue(value: Option | Array<Option> | string | void) {\n const {onChange, setOptions, options, data, dispatchEvent} = this.props;\n\n let newValue: string | Option | Array<Option> | void = this.getValue(value);\n let additonalOptions: Array<any> = [];\n // 不设置没法回显\n additonalOptions.length && setOptions(options.concat(additonalOptions));\n\n const rendererEvent = await dispatchEvent(\n 'change',\n createObject(data, {\n value: newValue,\n options\n })\n );\n if (rendererEvent?.prevented) {\n return;\n }\n\n onChange?.(newValue);\n }\n\n async loadRemote(input: string) {\n const {\n autoComplete,\n env,\n data,\n setOptions,\n setLoading,\n formInited,\n addHook\n } = this.props;\n\n if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n if (!formInited) {\n this.unHook && this.unHook();\n return (this.unHook = addHook(this.loadRemote.bind(this, input), 'init'));\n }\n\n this.lastTerm = input;\n const ctx = createObject(data, {\n term: input,\n value: input\n });\n\n if (!isEffectiveApi(autoComplete, ctx)) {\n return Promise.resolve({\n options: []\n });\n }\n\n setLoading(true);\n try {\n const ret = await env.fetcher(autoComplete, ctx);\n\n let options = (ret.data && (ret.data as any).options) || ret.data || [];\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return {\n options: combinedOptions\n };\n } finally {\n setLoading(false);\n }\n }\n\n mergeOptions(options: Array<object>) {\n const {selectedOptions, valueField = 'value'} = this.props;\n let combinedOptions = normalizeOptions(\n options,\n undefined,\n valueField\n ).concat();\n\n if (Array.isArray(selectedOptions) && selectedOptions.length) {\n selectedOptions.forEach(option => {\n if (\n !find(combinedOptions, (item: Option) => item.value == option.value)\n ) {\n combinedOptions.push({\n ...option,\n hidden: true\n });\n }\n });\n }\n return combinedOptions;\n }\n\n @autobind\n renderMenu(option: Option, state: any) {\n const {menuTpl, render, data} = this.props;\n\n return render(`menu/${state.index}`, menuTpl, {\n data: createObject(createObject(data, state), option)\n });\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n option2value() {}\n\n renderOtherMode() {\n const {selectMode, ...rest} = this.props;\n return (\n <TransferDropdownRenderer\n {...rest}\n selectMode={selectMode === 'group' ? 'list' : selectMode}\n />\n );\n }\n\n doAction(action: Action, data: object, throwErrors: boolean): any {\n const {resetValue, onChange} = this.props;\n const actionType = action?.actionType as string;\n\n if (actionType === 'clear') {\n onChange?.('');\n } else if (actionType === 'reset') {\n const value = this.getValue(resetValue ?? '');\n onChange?.(value);\n }\n }\n\n render() {\n let {\n autoComplete,\n searchable,\n options,\n className,\n loading,\n value,\n selectedOptions,\n multi,\n multiple,\n placeholder,\n id,\n classPrefix,\n classnames,\n creatable,\n inline,\n noResultsText,\n render,\n menuTpl,\n borderMode,\n selectMode,\n env,\n useMobileUI,\n ...rest\n } = this.props;\n\n if (noResultsText) {\n noResultsText = render('noResultText', noResultsText);\n }\n\n const mobileUI = useMobileUI && isMobile();\n\n return (\n <div className={cx(`${classPrefix}SelectControl`, className)}>\n {['table', 'list', 'group', 'tree', 'chained', 'associated'].includes(\n selectMode\n ) ? (\n this.renderOtherMode()\n ) : (\n <Select\n {...rest}\n useMobileUI={useMobileUI}\n popOverContainer={\n mobileUI && env && env.getModalContainer\n ? env.getModalContainer\n : mobileUI\n ? undefined\n : rest.popOverContainer\n }\n borderMode={borderMode}\n placeholder={placeholder}\n multiple={multiple || multi}\n ref={this.inputRef}\n value={selectedOptions}\n options={options}\n loadOptions={\n isEffectiveApi(autoComplete) ? this.lazyloadRemote : undefined\n }\n creatable={creatable}\n searchable={searchable || !!autoComplete}\n onChange={this.changeValue}\n onBlur={(e: any) => this.dispatchEvent('blur', e)}\n onFocus={(e: any) => this.dispatchEvent('focus', e)}\n onAdd={() => this.dispatchEvent('add')}\n onEdit={(item: any) => this.dispatchEvent('edit', item)}\n onDelete={(item: any) => this.dispatchEvent('delete', item)}\n loading={loading}\n noResultsText={noResultsText}\n renderMenu={menuTpl ? this.renderMenu : undefined}\n />\n )}\n </div>\n );\n }\n}\n\nexport interface TransferDropDownProps\n extends OptionsControlProps,\n Omit<\n TransferControlSchema,\n | 'type'\n | 'options'\n | 'inputClassName'\n | 'className'\n | 'descriptionClassName'\n > {\n borderMode?: 'full' | 'half' | 'none';\n useMobileUI?: boolean;\n}\n\nclass TransferDropdownRenderer extends BaseTransferRenderer<TransferDropDownProps> {\n @autobind\n renderItem(item: Option): any {\n const {labelField} = this.props;\n return `${item.scopeLabel || ''}${item[labelField || 'label']}`;\n }\n\n render() {\n const {\n className,\n classnames: cx,\n selectedOptions,\n sortable,\n loading,\n searchable,\n searchResultMode,\n showArrow,\n deferLoad,\n disabled,\n clearable,\n selectTitle,\n selectMode,\n multiple,\n columns,\n leftMode,\n borderMode,\n useMobileUI,\n popOverContainer\n } = this.props;\n\n // 目前 LeftOptions 没有接口可以动态加载\n // 为了方便可以快速实现动态化,让选项的第一个成员携带\n // LeftOptions 信息\n let {options, leftOptions, leftDefaultValue} = this.props;\n if (\n selectMode === 'associated' &&\n options &&\n options.length === 1 &&\n options[0].leftOptions &&\n Array.isArray(options[0].children)\n ) {\n leftOptions = options[0].leftOptions;\n leftDefaultValue = options[0].leftDefaultValue ?? leftDefaultValue;\n options = options[0].children;\n }\n\n return (\n <>\n <TransferDropDown\n selectMode={selectMode}\n className={className}\n value={selectedOptions}\n disabled={disabled}\n clearable={clearable}\n options={options}\n onChange={this.handleChange}\n option2value={this.option2value}\n itemRender={this.renderItem}\n sortable={sortable}\n searchResultMode={searchResultMode}\n onSearch={searchable ? this.handleSearch : undefined}\n showArrow={showArrow}\n onDeferLoad={deferLoad}\n selectTitle={selectTitle}\n multiple={multiple}\n columns={columns}\n leftMode={leftMode}\n leftOptions={leftOptions}\n borderMode={borderMode}\n useMobileUI={useMobileUI}\n popOverContainer={popOverContainer}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </>\n );\n }\n}\n\n@OptionsControl({\n type: 'select'\n})\nexport class SelectControlRenderer extends SelectControl {}\n\n@OptionsControl({\n type: 'multi-select'\n})\nexport class MultiSelectControlRenderer extends SelectControl {\n static defaultProps = {\n multiple: true\n };\n}\n"
12
12
  ]
13
13
  }
@@ -4,8 +4,10 @@ exports.wrapControl = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
6
  var debounce_1 = (0, tslib_1.__importDefault)(require("lodash/debounce"));
7
+ var isEqual_1 = (0, tslib_1.__importDefault)(require("lodash/isEqual"));
7
8
  var combo_1 = require("../../store/combo");
8
9
  var helper_1 = require("../../utils/helper");
10
+ var formula_1 = require("../../utils/formula");
9
11
  var Scoped_1 = require("../../Scoped");
10
12
  var formItem_1 = require("../../store/formItem");
11
13
  var mobx_state_tree_1 = require("mobx-state-tree");
@@ -75,9 +77,24 @@ function wrapControl(ComposedComponent) {
75
77
  var combo = form.parentStore;
76
78
  combo.bindUniuqueItem(model);
77
79
  }
78
- // 同步 value
79
- model.changeTmpValue((_b = propValue !== null && propValue !== void 0 ? propValue : store === null || store === void 0 ? void 0 : store.getValueByName(model.name)) !== null && _b !== void 0 ? _b : value);
80
- // 如果没有初始值,通过 onChange 设置过去
80
+ if (propValue !== undefined && propValue !== null) {
81
+ // 同步 value: 优先使用 props 中的 value
82
+ model.changeTmpValue(propValue);
83
+ }
84
+ else {
85
+ // 备注: 此处的 value 是 schema 中的 value(和props.defaultValue相同)
86
+ var curTmpValue = (0, formula_1.isExpression)(value)
87
+ ? formula_1.FormulaExec['formula'](value, data) // 对组件默认值进行运算
88
+ : (_b = store === null || store === void 0 ? void 0 : store.getValueByName(model.name)) !== null && _b !== void 0 ? _b : (0, formula_1.replaceExpression)(value); // 优先使用公式表达式
89
+ // 同步 value
90
+ model.changeTmpValue(curTmpValue);
91
+ if (onChange &&
92
+ value !== undefined &&
93
+ curTmpValue !== undefined) {
94
+ // 组件默认值支持表达式需要: 避免初始化时上下文中丢失组件默认值
95
+ onChange(model.tmpValue, model.name, false, true);
96
+ }
97
+ }
81
98
  if (onChange &&
82
99
  typeof propValue === 'undefined' &&
83
100
  typeof (store === null || store === void 0 ? void 0 : store.getValueByName(model.name, false)) === 'undefined' &&
@@ -85,6 +102,7 @@ function wrapControl(ComposedComponent) {
85
102
  // 目前 input-table 中默认值会给冲掉,所以加上这个判断
86
103
  // 对应 issue 为 https://github.com/baidu/amis/issues/2674
87
104
  (store === null || store === void 0 ? void 0 : store.storeType) !== table_1.TableStore.name) {
105
+ // 如果没有初始值,通过 onChange 设置过去
88
106
  onChange(model.tmpValue, model.name, false, true);
89
107
  }
90
108
  return _this;
@@ -121,6 +139,7 @@ function wrapControl(ComposedComponent) {
121
139
  'validations',
122
140
  'validationErrors',
123
141
  'value',
142
+ 'defaultValue',
124
143
  'required',
125
144
  'unique',
126
145
  'multiple',
@@ -159,26 +178,60 @@ function wrapControl(ComposedComponent) {
159
178
  label: props.$schema.label
160
179
  });
161
180
  }
181
+ // 此处需要同时考虑 defaultValue 和 value
162
182
  if (model && typeof props.value !== 'undefined') {
163
- // 自己控制的 value 优先
164
- if (props.value !== prevProps.value &&
165
- props.value !== model.tmpValue) {
183
+ // 渲染器中的 value 优先
184
+ if (props.value !== prevProps.value && props.value !== model.tmpValue) {
185
+ // 外部直接传入的 value 无需执行运算器
166
186
  model.changeTmpValue(props.value);
167
187
  }
168
188
  }
169
- else if (
170
- // 然后才是查看关联的 name 属性值是否变化
171
- model &&
172
- props.data !== prevProps.data &&
173
- (!model.emitedValue || model.emitedValue === model.tmpValue)) {
174
- model.changeEmitedValue(undefined);
175
- var value = (0, helper_1.getVariable)(props.data, model.name);
176
- var prevValue = (0, helper_1.getVariable)(prevProps.data, model.name);
177
- if ((value !== prevValue ||
178
- (0, helper_1.getVariable)(props.data, model.name, false) !==
179
- (0, helper_1.getVariable)(prevProps.data, model.name, false)) &&
180
- value !== model.tmpValue) {
181
- model.changeTmpValue(value);
189
+ else if (model &&
190
+ typeof props.defaultValue !== 'undefined' &&
191
+ (0, formula_1.isExpression)(props.defaultValue)) {
192
+ // 渲染器中的 defaultValue 优先(备注: SchemaRenderer中会将 value 改成 defaultValue)
193
+ if (props.defaultValue !== prevProps.defaultValue ||
194
+ (!(0, isEqual_1.default)(props.data, prevProps.data) &&
195
+ (0, formula_1.isNeedFormula)(props.defaultValue, props.data, prevProps.data))) {
196
+ var curResult = formula_1.FormulaExec['formula'](props.defaultValue, props.data);
197
+ var prevResult = formula_1.FormulaExec['formula'](prevProps.defaultValue, prevProps.data);
198
+ if (curResult !== prevResult && curResult !== model.tmpValue) {
199
+ // 识别上下文变动、自身数值变动、公式运算结果变动
200
+ model.changeTmpValue(curResult);
201
+ if (props.onChange) {
202
+ props.onChange(curResult, model.name, false);
203
+ }
204
+ }
205
+ }
206
+ }
207
+ else if (model) {
208
+ var valueByName = (0, helper_1.getVariable)(props.data, model.name);
209
+ if (valueByName !== undefined &&
210
+ props.defaultValue === prevProps.defaultValue) {
211
+ // value 非公式表达式时,name 值优先,若 defaultValue 主动变动时,则使用 defaultValue
212
+ if (
213
+ // 然后才是查看关联的 name 属性值是否变化
214
+ props.data !== prevProps.data &&
215
+ (!model.emitedValue || model.emitedValue === model.tmpValue)) {
216
+ model.changeEmitedValue(undefined);
217
+ var prevValueByName = (0, helper_1.getVariable)(props.data, model.name);
218
+ if ((valueByName !== prevValueByName ||
219
+ (0, helper_1.getVariable)(props.data, model.name, false) !==
220
+ (0, helper_1.getVariable)(prevProps.data, model.name, false)) &&
221
+ valueByName !== model.tmpValue) {
222
+ model.changeTmpValue(valueByName);
223
+ }
224
+ }
225
+ }
226
+ else if (typeof props.defaultValue !== 'undefined' &&
227
+ props.defaultValue !== prevProps.defaultValue &&
228
+ props.defaultValue !== model.tmpValue) {
229
+ // 组件默认值非公式
230
+ var curValue = (0, formula_1.replaceExpression)(props.defaultValue);
231
+ model.changeTmpValue(curValue);
232
+ if (props.onChange) {
233
+ props.onChange(curValue, model.name, false);
234
+ }
182
235
  }
183
236
  }
184
237
  };
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/wrapControl.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport {IFormStore, IFormItemStore} from '../../store/form';\nimport debouce from 'lodash/debounce';\n\nimport {RendererProps, Renderer} from '../../factory';\nimport {ComboStore, IComboStore, IUniqueGroup} from '../../store/combo';\nimport {\n anyChanged,\n promisify,\n isObject,\n guid,\n isEmpty,\n autobind,\n getVariable,\n createObject\n} from '../../utils/helper';\nimport {IIRendererStore, IRendererStore} from '../../store';\nimport {ScopedContext, IScopedContext} from '../../Scoped';\nimport {reaction} from 'mobx';\nimport {FormItemStore} from '../../store/formItem';\nimport {isAlive} from 'mobx-state-tree';\nimport {observer} from 'mobx-react';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport {withRootStore} from '../../WithRootStore';\nimport {FormBaseControl, FormItemWrap} from './Item';\nimport {Api} from '../../types';\nimport {TableStore} from '../../store/table';\n\nexport interface ControlOutterProps extends RendererProps {\n formStore?: IFormStore;\n name?: string;\n value?: any;\n id?: string;\n type?: string;\n required?: boolean;\n validations: string | {[propsName: string]: any};\n validationErrors: {[propsName: string]: any};\n validateOnChange: boolean;\n multiple?: boolean;\n delimiter?: string;\n joinValues?: boolean;\n extractValue?: boolean;\n valueField?: string;\n labelField?: string;\n unique?: boolean;\n selectFirst?: boolean;\n autoFill?: any;\n clearValueOnHidden?: boolean;\n validateApi?: Api;\n submitOnChange?: boolean;\n validate?: (value: any, values: any, name: string) => any;\n formItem?: IFormItemStore;\n addHook?: (fn: () => any, type?: 'validate' | 'init' | 'flush') => void;\n removeHook?: (fn: () => any, type?: 'validate' | 'init' | 'flush') => void;\n $schema: {\n pipeIn?: (value: any, data: any) => any;\n pipeOut?: (value: any, originValue: any, data: any) => any;\n [propName: string]: any;\n };\n store?: IIRendererStore;\n onChange?: (\n value: any,\n name: string,\n submit?: boolean,\n changePristine?: boolean\n ) => void;\n formItemDispatchEvent: (type: string, data: any) => void;\n}\n\nexport interface ControlProps {\n onBulkChange?: (values: Object) => void;\n onChange?: (value: any, name: string, submit: boolean) => void;\n store: IIRendererStore;\n}\n\nexport function wrapControl<\n T extends React.ComponentType<React.ComponentProps<T> & ControlProps>\n>(ComposedComponent: T) {\n type OuterProps = JSX.LibraryManagedAttributes<\n T,\n Omit<React.ComponentProps<T>, keyof ControlProps>\n > &\n ControlOutterProps;\n\n const result = hoistNonReactStatic(\n withRootStore(\n observer(\n class extends React.Component<OuterProps> {\n public model: IFormItemStore | undefined;\n control?: any;\n value?: any = undefined;\n hook?: () => any;\n hook2?: () => any;\n hook3?: () => any;\n reaction?: () => void;\n\n static contextType = ScopedContext;\n static defaultProps = {};\n\n lazyEmitChange = debouce(this.emitChange.bind(this), 250, {\n trailing: true,\n leading: false\n });\n\n constructor(props: OuterProps) {\n super(props);\n\n const {\n formStore: form,\n formItem,\n rootStore,\n store,\n onChange,\n data,\n $schema: {\n name,\n id,\n type,\n required,\n validations,\n validationErrors,\n unique,\n value,\n multiple,\n delimiter,\n valueField,\n labelField,\n joinValues,\n extractValue,\n selectFirst,\n autoFill,\n clearValueOnHidden,\n validateApi,\n minLength,\n maxLength,\n validateOnChange,\n label\n }\n } = this.props;\n\n this.getValue = this.getValue.bind(this);\n this.setValue = this.setValue.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.setPrinstineValue = this.setPrinstineValue.bind(this);\n this.controlRef = this.controlRef.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n\n if (!name) {\n return;\n }\n\n let propValue = this.props.value;\n const model = rootStore.addStore({\n id: guid(),\n path: this.props.$path,\n storeType: FormItemStore.name,\n parentId: store?.id,\n name\n }) as IFormItemStore;\n this.model = model;\n // @issue 打算干掉这个\n formItem?.addSubFormItem(model);\n model.config({\n id,\n type,\n required,\n unique,\n value,\n rules: validations,\n messages: validationErrors,\n multiple,\n delimiter,\n valueField,\n labelField,\n joinValues,\n extractValue,\n selectFirst,\n autoFill,\n clearValueOnHidden,\n validateApi,\n minLength,\n maxLength,\n validateOnChange,\n label\n });\n\n // issue 这个逻辑应该在 combo 里面自己实现。\n if (\n this.model.unique &&\n form?.parentStore?.storeType === ComboStore.name\n ) {\n const combo = form.parentStore as IComboStore;\n combo.bindUniuqueItem(model);\n }\n\n // 同步 value\n model.changeTmpValue(\n propValue ?? store?.getValueByName(model.name) ?? value\n );\n\n // 如果没有初始值,通过 onChange 设置过去\n if (\n onChange &&\n typeof propValue === 'undefined' &&\n typeof store?.getValueByName(model.name, false) === 'undefined' &&\n // todo 后续再优化这个判断,\n // 目前 input-table 中默认值会给冲掉,所以加上这个判断\n // 对应 issue 为 https://github.com/baidu/amis/issues/2674\n store?.storeType !== TableStore.name\n ) {\n onChange(model.tmpValue, model.name, false, true);\n }\n }\n\n componentDidMount() {\n const {\n store,\n formStore: form,\n $schema: {name, validate},\n addHook\n } = this.props;\n\n // 提交前先把之前的 lazyEmit 执行一下。\n this.hook3 = () => {\n this.lazyEmitChange.flush();\n };\n addHook?.(this.hook3, 'flush');\n\n const formItem = this.model as IFormItemStore;\n if (formItem && validate) {\n let finalValidate = promisify(validate.bind(formItem));\n this.hook2 = () => {\n formItem.clearError('control:valdiate');\n return finalValidate(\n this.props.data,\n this.getValue(),\n name\n ).then((ret: any) => {\n if ((typeof ret === 'string' || Array.isArray(ret)) && ret) {\n formItem.addError(ret, 'control:valdiate');\n }\n });\n };\n addHook?.(this.hook2);\n }\n }\n\n componentDidUpdate(prevProps: OuterProps) {\n const props = this.props;\n const form = props.formStore;\n const model = this.model;\n\n if (\n model &&\n anyChanged(\n [\n 'id',\n 'validations',\n 'validationErrors',\n 'value',\n 'required',\n 'unique',\n 'multiple',\n 'delimiter',\n 'valueField',\n 'labelField',\n 'joinValues',\n 'extractValue',\n 'selectFirst',\n 'autoFill',\n 'clearValueOnHidden',\n 'validateApi',\n 'minLength',\n 'maxLength',\n 'label'\n ],\n prevProps.$schema,\n props.$schema\n )\n ) {\n model.config({\n required: props.$schema.required,\n id: props.$schema.id,\n unique: props.$schema.unique,\n value: props.$schema.value,\n rules: props.$schema.validations,\n multiple: props.$schema.multiple,\n delimiter: props.$schema.delimiter,\n valueField: props.$schema.valueField,\n labelField: props.$schema.labelField,\n joinValues: props.$schema.joinValues,\n extractValue: props.$schema.extractValue,\n messages: props.$schema.validationErrors,\n selectFirst: props.$schema.selectFirst,\n autoFill: props.$schema.autoFill,\n clearValueOnHidden: props.$schema.clearValueOnHidden,\n validateApi: props.$schema.validateApi,\n minLength: props.$schema.minLength,\n maxLength: props.$schema.maxLength,\n label: props.$schema.label\n });\n }\n\n if (model && typeof props.value !== 'undefined') {\n // 自己控制的 value 优先\n if (\n props.value !== prevProps.value &&\n props.value !== model.tmpValue\n ) {\n model.changeTmpValue(props.value);\n }\n } else if (\n // 然后才是查看关联的 name 属性值是否变化\n model &&\n props.data !== prevProps.data &&\n (!model.emitedValue || model.emitedValue === model.tmpValue)\n ) {\n model.changeEmitedValue(undefined);\n const value = getVariable(props.data, model.name);\n const prevValue = getVariable(prevProps.data, model.name);\n if (\n (value !== prevValue ||\n getVariable(props.data, model.name, false) !==\n getVariable(prevProps.data, model.name, false)) &&\n value !== model.tmpValue\n ) {\n model.changeTmpValue(value);\n }\n }\n }\n\n componentWillUnmount() {\n this.hook && this.props.removeHook?.(this.hook);\n this.hook2 && this.props.removeHook?.(this.hook2);\n this.hook3 && this.props.removeHook?.(this.hook3, 'flush');\n // this.lazyEmitChange.flush();\n\n this.lazyEmitChange.cancel();\n this.reaction?.();\n this.disposeModel();\n }\n\n disposeModel() {\n const {formStore: form, formItem, rootStore} = this.props;\n\n if (\n this.model &&\n this.model.unique &&\n form?.parentStore &&\n form?.parentStore.storeType === ComboStore.name\n ) {\n const combo = form.parentStore as IComboStore;\n combo.unBindUniuqueItem(this.model);\n }\n\n if (this.model) {\n formItem &&\n isAlive(formItem) &&\n formItem.removeSubFormItem(this.model);\n\n this.model.clearValueOnHidden &&\n this.model.form?.deleteValueByName(this.model.name);\n\n isAlive(rootStore) && rootStore.removeStore(this.model);\n }\n delete this.model;\n }\n\n controlRef(control: any) {\n const {\n addHook,\n removeHook,\n formStore: form,\n $schema: {name}\n } = this.props;\n\n // 因为 control 有可能被 n 层 hoc 包裹。\n while (control && control.getWrappedInstance) {\n control = control.getWrappedInstance();\n }\n\n if (control && control.validate && this.model) {\n const formItem = this.model as IFormItemStore;\n let validate = promisify(control.validate.bind(control));\n this.hook = () => {\n formItem.clearError('component:valdiate');\n\n return validate(this.props.data, this.getValue(), name).then(\n ret => {\n if (\n (typeof ret === 'string' || Array.isArray(ret)) &&\n ret\n ) {\n formItem.setError(ret, 'component:valdiate');\n }\n }\n );\n };\n addHook?.(this.hook);\n } else if (!control && this.hook) {\n removeHook?.(this.hook);\n this.hook = undefined;\n }\n\n // 注册到 Scoped 上\n const originRef = this.control;\n this.control = control;\n const scoped = this.context as IScopedContext;\n\n if (control) {\n scoped.registerComponent(this.control);\n } else if (originRef) {\n scoped.unRegisterComponent(originRef);\n }\n }\n\n async validate() {\n const {formStore: form, data, formItemDispatchEvent} = this.props;\n let result;\n if (this.model) {\n if (\n this.model.unique &&\n form?.parentStore &&\n form.parentStore.storeType === ComboStore.name\n ) {\n const combo = form.parentStore as IComboStore;\n const group = combo.uniques.get(\n this.model.name\n ) as IUniqueGroup;\n const validPromises = group.items.map(item =>\n item.validate(data)\n );\n result = await Promise.all(validPromises);\n } else {\n const validPromises = form\n ?.getItemsByName(this.model.name)\n .map(item => item.validate(data));\n if (validPromises && validPromises.length) {\n result = await Promise.all(validPromises);\n }\n }\n }\n if (result && result.length) {\n if (result.indexOf(false) > -1) {\n formItemDispatchEvent('formItemValidateError', data);\n } else {\n formItemDispatchEvent('formItemValidateSucc', data);\n }\n }\n }\n\n handleChange(\n value: any,\n submitOnChange: boolean = this.props.$schema.submitOnChange,\n changeImmediately: boolean = false\n ) {\n const {\n formStore: form,\n onChange,\n $schema: {\n type,\n pipeOut,\n changeImmediately: conrolChangeImmediately\n },\n formInited,\n data\n } = this.props;\n\n if (\n !this.model ||\n // todo 以后想办法不要強耦合类型。\n ~[\n 'service',\n 'group',\n 'hbox',\n 'panel',\n 'grid',\n 'input-group'\n ].indexOf(type)\n ) {\n onChange && onChange.apply(null, arguments as any);\n return;\n }\n\n if (pipeOut) {\n const oldValue = this.model.value;\n value = pipeOut(value, oldValue, data);\n }\n\n this.model.changeTmpValue(value);\n\n if (changeImmediately || conrolChangeImmediately || !formInited) {\n this.emitChange(submitOnChange);\n } else {\n // this.props.onTmpValueChange?.(value, this.model.name);\n this.lazyEmitChange(submitOnChange);\n }\n }\n\n emitChange(\n submitOnChange: boolean = this.props.$schema.submitOnChange\n ) {\n const {\n formStore: form,\n onChange,\n $schema: {\n name,\n id,\n label,\n type,\n onChange: onFormItemChange,\n maxLength,\n minLength\n },\n data,\n env,\n validateOnChange,\n formSubmited\n } = this.props;\n\n if (!this.model) {\n return;\n }\n const value = this.model.tmpValue;\n const oldValue = getVariable(data, this.model.name, false);\n\n if (oldValue === value) {\n return;\n }\n\n if (type !== 'input-password') {\n env?.tracker(\n {\n eventType: 'formItemChange',\n eventData: {\n id,\n name,\n label,\n type,\n value\n }\n },\n this.props\n );\n }\n\n this.model.changeEmitedValue(value);\n if (\n onFormItemChange?.(value, oldValue, this.model, form) === false\n ) {\n return;\n }\n const validated = this.model.validated;\n onChange?.(value, name!, submitOnChange === true);\n\n if (\n // 如果配置了 minLength 或者 maxLength 就切成及时验证\n // this.model.rules.minLength ||\n // this.model.rules.maxLength ||\n validateOnChange === true ||\n (validateOnChange !== false && (formSubmited || validated))\n ) {\n this.validate();\n } else if (validateOnChange === false) {\n this.model?.reset();\n }\n }\n\n handleBlur(e: any) {\n const {\n onBlur,\n $schema: {validateOnBlur}\n } = this.props;\n\n if (validateOnBlur && this.model) {\n this.validate();\n }\n\n onBlur && onBlur(e);\n }\n\n setPrinstineValue(value: any) {\n if (!this.model) {\n return;\n }\n\n const {\n formStore: form,\n name,\n $schema: {pipeOut},\n onChange,\n value: oldValue,\n data\n } = this.props;\n\n if (pipeOut) {\n value = pipeOut(value, oldValue, data);\n }\n\n onChange?.(value, name!, false, true);\n }\n\n getValue() {\n const {formStore: data, $schema: control} = this.props;\n let value: any = this.model ? this.model.tmpValue : control.value;\n\n if (control.pipeIn) {\n value = control.pipeIn(value, data);\n }\n\n return value;\n }\n\n // 兼容老版本用法,新版本直接用 onChange 就可以。\n setValue(value: any, key?: string) {\n const {\n $schema: {name},\n onBulkChange\n } = this.props;\n\n if (!key || key === name) {\n this.handleChange(value);\n } else {\n onBulkChange &&\n onBulkChange({\n [key]: value\n });\n }\n }\n\n render() {\n const {\n controlWidth,\n disabled,\n formMode,\n $schema: control,\n store,\n data,\n invisible\n } = this.props;\n\n if (invisible) {\n return null;\n }\n\n const value = this.getValue();\n const model = this.model;\n\n const injectedProps: any = {\n defaultSize: controlWidth,\n disabled: disabled ?? control.disabled,\n formItem: this.model,\n formMode: control.mode || formMode,\n ref: this.controlRef,\n data: data || store?.data,\n value,\n defaultValue: control.value,\n formItemValue: value, // 为了兼容老版本的自定义组件\n onChange: this.handleChange,\n onBlur: this.handleBlur,\n setValue: this.setValue,\n getValue: this.getValue,\n prinstine: model ? model.prinstine : undefined,\n setPrinstineValue: this.setPrinstineValue\n };\n\n return (\n <ComposedComponent\n {...(this.props as JSX.LibraryManagedAttributes<\n T,\n React.ComponentProps<T>\n >)}\n {...injectedProps}\n />\n );\n }\n }\n ) as any\n ),\n ComposedComponent\n );\n\n return result as typeof result & {\n ComposedComponent: T;\n };\n}\n"
11
+ "import React from 'react';\nimport {IFormStore, IFormItemStore} from '../../store/form';\nimport debouce from 'lodash/debounce';\nimport isEqual from 'lodash/isEqual';\n\nimport {RendererProps, Renderer} from '../../factory';\nimport {ComboStore, IComboStore, IUniqueGroup} from '../../store/combo';\nimport {\n anyChanged,\n promisify,\n guid,\n isEmpty,\n autobind,\n getVariable,\n createObject\n} from '../../utils/helper';\nimport {\n isNeedFormula,\n isExpression,\n FormulaExec,\n replaceExpression\n} from '../../utils/formula';\nimport {IIRendererStore, IRendererStore} from '../../store';\nimport {ScopedContext, IScopedContext} from '../../Scoped';\nimport {reaction} from 'mobx';\nimport {FormItemStore} from '../../store/formItem';\nimport {isAlive} from 'mobx-state-tree';\nimport {observer} from 'mobx-react';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport {withRootStore} from '../../WithRootStore';\nimport {FormBaseControl, FormItemWrap} from './Item';\nimport {Api} from '../../types';\nimport {TableStore} from '../../store/table';\n\nexport interface ControlOutterProps extends RendererProps {\n formStore?: IFormStore;\n name?: string;\n value?: any;\n id?: string;\n type?: string;\n required?: boolean;\n validations: string | {[propsName: string]: any};\n validationErrors: {[propsName: string]: any};\n validateOnChange: boolean;\n multiple?: boolean;\n delimiter?: string;\n joinValues?: boolean;\n extractValue?: boolean;\n valueField?: string;\n labelField?: string;\n unique?: boolean;\n selectFirst?: boolean;\n autoFill?: any;\n clearValueOnHidden?: boolean;\n validateApi?: Api;\n submitOnChange?: boolean;\n validate?: (value: any, values: any, name: string) => any;\n formItem?: IFormItemStore;\n addHook?: (fn: () => any, type?: 'validate' | 'init' | 'flush') => void;\n removeHook?: (fn: () => any, type?: 'validate' | 'init' | 'flush') => void;\n $schema: {\n pipeIn?: (value: any, data: any) => any;\n pipeOut?: (value: any, originValue: any, data: any) => any;\n [propName: string]: any;\n };\n store?: IIRendererStore;\n onChange?: (\n value: any,\n name: string,\n submit?: boolean,\n changePristine?: boolean\n ) => void;\n formItemDispatchEvent: (type: string, data: any) => void;\n}\n\nexport interface ControlProps {\n onBulkChange?: (values: Object) => void;\n onChange?: (value: any, name: string, submit: boolean) => void;\n store: IIRendererStore;\n}\n\nexport function wrapControl<\n T extends React.ComponentType<React.ComponentProps<T> & ControlProps>\n>(ComposedComponent: T) {\n type OuterProps = JSX.LibraryManagedAttributes<\n T,\n Omit<React.ComponentProps<T>, keyof ControlProps>\n > &\n ControlOutterProps;\n\n const result = hoistNonReactStatic(\n withRootStore(\n observer(\n class extends React.Component<OuterProps> {\n public model: IFormItemStore | undefined;\n control?: any;\n value?: any = undefined;\n hook?: () => any;\n hook2?: () => any;\n hook3?: () => any;\n reaction?: () => void;\n\n static contextType = ScopedContext;\n static defaultProps = {};\n\n lazyEmitChange = debouce(this.emitChange.bind(this), 250, {\n trailing: true,\n leading: false\n });\n\n constructor(props: OuterProps) {\n super(props);\n\n const {\n formStore: form,\n formItem,\n rootStore,\n store,\n onChange,\n data,\n $schema: {\n name,\n id,\n type,\n required,\n validations,\n validationErrors,\n unique,\n value,\n multiple,\n delimiter,\n valueField,\n labelField,\n joinValues,\n extractValue,\n selectFirst,\n autoFill,\n clearValueOnHidden,\n validateApi,\n minLength,\n maxLength,\n validateOnChange,\n label\n }\n } = this.props;\n\n this.getValue = this.getValue.bind(this);\n this.setValue = this.setValue.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.setPrinstineValue = this.setPrinstineValue.bind(this);\n this.controlRef = this.controlRef.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n\n if (!name) {\n return;\n }\n\n let propValue = this.props.value;\n const model = rootStore.addStore({\n id: guid(),\n path: this.props.$path,\n storeType: FormItemStore.name,\n parentId: store?.id,\n name\n }) as IFormItemStore;\n this.model = model;\n // @issue 打算干掉这个\n formItem?.addSubFormItem(model);\n model.config({\n id,\n type,\n required,\n unique,\n value,\n rules: validations,\n messages: validationErrors,\n multiple,\n delimiter,\n valueField,\n labelField,\n joinValues,\n extractValue,\n selectFirst,\n autoFill,\n clearValueOnHidden,\n validateApi,\n minLength,\n maxLength,\n validateOnChange,\n label\n });\n\n // issue 这个逻辑应该在 combo 里面自己实现。\n if (\n this.model.unique &&\n form?.parentStore?.storeType === ComboStore.name\n ) {\n const combo = form.parentStore as IComboStore;\n combo.bindUniuqueItem(model);\n }\n\n if (propValue !== undefined && propValue !== null) {\n // 同步 value: 优先使用 props 中的 value\n model.changeTmpValue(propValue);\n } else {\n // 备注: 此处的 value 是 schema 中的 value(和props.defaultValue相同)\n const curTmpValue = isExpression(value)\n ? FormulaExec['formula'](value, data) // 对组件默认值进行运算\n : store?.getValueByName(model.name) ?? replaceExpression(value); // 优先使用公式表达式\n // 同步 value\n model.changeTmpValue(curTmpValue);\n\n if (\n onChange &&\n value !== undefined &&\n curTmpValue !== undefined\n ) {\n // 组件默认值支持表达式需要: 避免初始化时上下文中丢失组件默认值\n onChange(model.tmpValue, model.name, false, true);\n }\n }\n\n if (\n onChange &&\n typeof propValue === 'undefined' &&\n typeof store?.getValueByName(model.name, false) === 'undefined' &&\n // todo 后续再优化这个判断,\n // 目前 input-table 中默认值会给冲掉,所以加上这个判断\n // 对应 issue 为 https://github.com/baidu/amis/issues/2674\n store?.storeType !== TableStore.name\n ) {\n // 如果没有初始值,通过 onChange 设置过去\n onChange(model.tmpValue, model.name, false, true);\n }\n }\n\n componentDidMount() {\n const {\n store,\n formStore: form,\n $schema: {name, validate},\n addHook\n } = this.props;\n\n // 提交前先把之前的 lazyEmit 执行一下。\n this.hook3 = () => {\n this.lazyEmitChange.flush();\n };\n addHook?.(this.hook3, 'flush');\n\n const formItem = this.model as IFormItemStore;\n if (formItem && validate) {\n let finalValidate = promisify(validate.bind(formItem));\n this.hook2 = () => {\n formItem.clearError('control:valdiate');\n return finalValidate(\n this.props.data,\n this.getValue(),\n name\n ).then((ret: any) => {\n if ((typeof ret === 'string' || Array.isArray(ret)) && ret) {\n formItem.addError(ret, 'control:valdiate');\n }\n });\n };\n addHook?.(this.hook2);\n }\n }\n\n componentDidUpdate(prevProps: OuterProps) {\n const props = this.props;\n const form = props.formStore;\n const model = this.model;\n\n if (\n model &&\n anyChanged(\n [\n 'id',\n 'validations',\n 'validationErrors',\n 'value',\n 'defaultValue',\n 'required',\n 'unique',\n 'multiple',\n 'delimiter',\n 'valueField',\n 'labelField',\n 'joinValues',\n 'extractValue',\n 'selectFirst',\n 'autoFill',\n 'clearValueOnHidden',\n 'validateApi',\n 'minLength',\n 'maxLength',\n 'label'\n ],\n prevProps.$schema,\n props.$schema\n )\n ) {\n model.config({\n required: props.$schema.required,\n id: props.$schema.id,\n unique: props.$schema.unique,\n value: props.$schema.value,\n rules: props.$schema.validations,\n multiple: props.$schema.multiple,\n delimiter: props.$schema.delimiter,\n valueField: props.$schema.valueField,\n labelField: props.$schema.labelField,\n joinValues: props.$schema.joinValues,\n extractValue: props.$schema.extractValue,\n messages: props.$schema.validationErrors,\n selectFirst: props.$schema.selectFirst,\n autoFill: props.$schema.autoFill,\n clearValueOnHidden: props.$schema.clearValueOnHidden,\n validateApi: props.$schema.validateApi,\n minLength: props.$schema.minLength,\n maxLength: props.$schema.maxLength,\n label: props.$schema.label\n });\n }\n\n // 此处需要同时考虑 defaultValue 和 value\n if (model && typeof props.value !== 'undefined') {\n // 渲染器中的 value 优先\n if (props.value !== prevProps.value && props.value !== model.tmpValue) {\n // 外部直接传入的 value 无需执行运算器\n model.changeTmpValue(props.value);\n }\n } else if (\n model &&\n typeof props.defaultValue !== 'undefined' &&\n isExpression(props.defaultValue)\n ) {\n // 渲染器中的 defaultValue 优先(备注: SchemaRenderer中会将 value 改成 defaultValue)\n if (\n props.defaultValue !== prevProps.defaultValue ||\n (!isEqual(props.data, prevProps.data) &&\n isNeedFormula(props.defaultValue, props.data, prevProps.data))\n ) {\n const curResult = FormulaExec['formula'](\n props.defaultValue,\n props.data\n );\n const prevResult = FormulaExec['formula'](\n prevProps.defaultValue,\n prevProps.data\n );\n if (curResult !== prevResult && curResult !== model.tmpValue) {\n // 识别上下文变动、自身数值变动、公式运算结果变动\n model.changeTmpValue(curResult);\n if (props.onChange) {\n props.onChange(curResult, model.name, false);\n }\n }\n }\n } else if (model) {\n const valueByName = getVariable(props.data, model.name);\n\n if (\n valueByName !== undefined &&\n props.defaultValue === prevProps.defaultValue\n ) {\n // value 非公式表达式时,name 值优先,若 defaultValue 主动变动时,则使用 defaultValue\n if (\n // 然后才是查看关联的 name 属性值是否变化\n props.data !== prevProps.data &&\n (!model.emitedValue || model.emitedValue === model.tmpValue)\n ) {\n model.changeEmitedValue(undefined);\n const prevValueByName = getVariable(props.data, model.name);\n if (\n (valueByName !== prevValueByName ||\n getVariable(props.data, model.name, false) !==\n getVariable(prevProps.data, model.name, false)) &&\n valueByName !== model.tmpValue\n ) {\n model.changeTmpValue(valueByName);\n }\n }\n } else if (\n typeof props.defaultValue !== 'undefined' &&\n props.defaultValue !== prevProps.defaultValue &&\n props.defaultValue !== model.tmpValue\n ) {\n // 组件默认值非公式\n const curValue = replaceExpression(props.defaultValue);\n model.changeTmpValue(curValue);\n if (props.onChange) {\n props.onChange(curValue, model.name, false);\n }\n }\n }\n }\n\n componentWillUnmount() {\n this.hook && this.props.removeHook?.(this.hook);\n this.hook2 && this.props.removeHook?.(this.hook2);\n this.hook3 && this.props.removeHook?.(this.hook3, 'flush');\n // this.lazyEmitChange.flush();\n\n this.lazyEmitChange.cancel();\n this.reaction?.();\n this.disposeModel();\n }\n\n disposeModel() {\n const {formStore: form, formItem, rootStore} = this.props;\n\n if (\n this.model &&\n this.model.unique &&\n form?.parentStore &&\n form?.parentStore.storeType === ComboStore.name\n ) {\n const combo = form.parentStore as IComboStore;\n combo.unBindUniuqueItem(this.model);\n }\n\n if (this.model) {\n formItem &&\n isAlive(formItem) &&\n formItem.removeSubFormItem(this.model);\n\n this.model.clearValueOnHidden &&\n this.model.form?.deleteValueByName(this.model.name);\n\n isAlive(rootStore) && rootStore.removeStore(this.model);\n }\n delete this.model;\n }\n\n controlRef(control: any) {\n const {\n addHook,\n removeHook,\n formStore: form,\n $schema: {name}\n } = this.props;\n\n // 因为 control 有可能被 n 层 hoc 包裹。\n while (control && control.getWrappedInstance) {\n control = control.getWrappedInstance();\n }\n\n if (control && control.validate && this.model) {\n const formItem = this.model as IFormItemStore;\n let validate = promisify(control.validate.bind(control));\n this.hook = () => {\n formItem.clearError('component:valdiate');\n\n return validate(this.props.data, this.getValue(), name).then(\n ret => {\n if (\n (typeof ret === 'string' || Array.isArray(ret)) &&\n ret\n ) {\n formItem.setError(ret, 'component:valdiate');\n }\n }\n );\n };\n addHook?.(this.hook);\n } else if (!control && this.hook) {\n removeHook?.(this.hook);\n this.hook = undefined;\n }\n\n // 注册到 Scoped 上\n const originRef = this.control;\n this.control = control;\n const scoped = this.context as IScopedContext;\n\n if (control) {\n scoped.registerComponent(this.control);\n } else if (originRef) {\n scoped.unRegisterComponent(originRef);\n }\n }\n\n async validate() {\n const {formStore: form, data, formItemDispatchEvent} = this.props;\n let result;\n if (this.model) {\n if (\n this.model.unique &&\n form?.parentStore &&\n form.parentStore.storeType === ComboStore.name\n ) {\n const combo = form.parentStore as IComboStore;\n const group = combo.uniques.get(\n this.model.name\n ) as IUniqueGroup;\n const validPromises = group.items.map(item =>\n item.validate(data)\n );\n result = await Promise.all(validPromises);\n } else {\n const validPromises = form\n ?.getItemsByName(this.model.name)\n .map(item => item.validate(data));\n if (validPromises && validPromises.length) {\n result = await Promise.all(validPromises);\n }\n }\n }\n if (result && result.length) {\n if (result.indexOf(false) > -1) {\n formItemDispatchEvent('formItemValidateError', data);\n } else {\n formItemDispatchEvent('formItemValidateSucc', data);\n }\n }\n }\n\n handleChange(\n value: any,\n submitOnChange: boolean = this.props.$schema.submitOnChange,\n changeImmediately: boolean = false\n ) {\n const {\n formStore: form,\n onChange,\n $schema: {\n type,\n pipeOut,\n changeImmediately: conrolChangeImmediately\n },\n formInited,\n data\n } = this.props;\n\n if (\n !this.model ||\n // todo 以后想办法不要強耦合类型。\n ~[\n 'service',\n 'group',\n 'hbox',\n 'panel',\n 'grid',\n 'input-group'\n ].indexOf(type)\n ) {\n onChange && onChange.apply(null, arguments as any);\n return;\n }\n\n if (pipeOut) {\n const oldValue = this.model.value;\n value = pipeOut(value, oldValue, data);\n }\n\n this.model.changeTmpValue(value);\n\n if (changeImmediately || conrolChangeImmediately || !formInited) {\n this.emitChange(submitOnChange);\n } else {\n // this.props.onTmpValueChange?.(value, this.model.name);\n this.lazyEmitChange(submitOnChange);\n }\n }\n\n emitChange(\n submitOnChange: boolean = this.props.$schema.submitOnChange\n ) {\n const {\n formStore: form,\n onChange,\n $schema: {\n name,\n id,\n label,\n type,\n onChange: onFormItemChange,\n maxLength,\n minLength\n },\n data,\n env,\n validateOnChange,\n formSubmited\n } = this.props;\n\n if (!this.model) {\n return;\n }\n const value = this.model.tmpValue;\n const oldValue = getVariable(data, this.model.name, false);\n\n if (oldValue === value) {\n return;\n }\n\n if (type !== 'input-password') {\n env?.tracker(\n {\n eventType: 'formItemChange',\n eventData: {\n id,\n name,\n label,\n type,\n value\n }\n },\n this.props\n );\n }\n\n this.model.changeEmitedValue(value);\n if (\n onFormItemChange?.(value, oldValue, this.model, form) === false\n ) {\n return;\n }\n const validated = this.model.validated;\n onChange?.(value, name!, submitOnChange === true);\n\n if (\n // 如果配置了 minLength 或者 maxLength 就切成及时验证\n // this.model.rules.minLength ||\n // this.model.rules.maxLength ||\n validateOnChange === true ||\n (validateOnChange !== false && (formSubmited || validated))\n ) {\n this.validate();\n } else if (validateOnChange === false) {\n this.model?.reset();\n }\n }\n\n handleBlur(e: any) {\n const {\n onBlur,\n $schema: {validateOnBlur}\n } = this.props;\n\n if (validateOnBlur && this.model) {\n this.validate();\n }\n\n onBlur && onBlur(e);\n }\n\n setPrinstineValue(value: any) {\n if (!this.model) {\n return;\n }\n\n const {\n formStore: form,\n name,\n $schema: {pipeOut},\n onChange,\n value: oldValue,\n data\n } = this.props;\n\n if (pipeOut) {\n value = pipeOut(value, oldValue, data);\n }\n\n onChange?.(value, name!, false, true);\n }\n\n getValue() {\n const {formStore: data, $schema: control} = this.props;\n let value: any = this.model ? this.model.tmpValue : control.value;\n\n if (control.pipeIn) {\n value = control.pipeIn(value, data);\n }\n\n return value;\n }\n\n // 兼容老版本用法,新版本直接用 onChange 就可以。\n setValue(value: any, key?: string) {\n const {\n $schema: {name},\n onBulkChange\n } = this.props;\n\n if (!key || key === name) {\n this.handleChange(value);\n } else {\n onBulkChange &&\n onBulkChange({\n [key]: value\n });\n }\n }\n\n render() {\n const {\n controlWidth,\n disabled,\n formMode,\n $schema: control,\n store,\n data,\n invisible\n } = this.props;\n\n if (invisible) {\n return null;\n }\n\n const value = this.getValue();\n const model = this.model;\n\n const injectedProps: any = {\n defaultSize: controlWidth,\n disabled: disabled ?? control.disabled,\n formItem: this.model,\n formMode: control.mode || formMode,\n ref: this.controlRef,\n data: data || store?.data,\n value,\n defaultValue: control.value,\n formItemValue: value, // 为了兼容老版本的自定义组件\n onChange: this.handleChange,\n onBlur: this.handleBlur,\n setValue: this.setValue,\n getValue: this.getValue,\n prinstine: model ? model.prinstine : undefined,\n setPrinstineValue: this.setPrinstineValue\n };\n\n return (\n <ComposedComponent\n {...(this.props as JSX.LibraryManagedAttributes<\n T,\n React.ComponentProps<T>\n >)}\n {...injectedProps}\n />\n );\n }\n }\n ) as any\n ),\n ComposedComponent\n );\n\n return result as typeof result & {\n ComposedComponent: T;\n };\n}\n"
12
12
  ]
13
13
  }
@@ -339,6 +339,7 @@ var Service = /** @class */ (function (_super) {
339
339
  var _a = this.props, render = _a.render, store = _a.store, schema = _a.body, cx = _a.classnames;
340
340
  return render('body', store.schema || schema, {
341
341
  key: store.schemaKey || 'body',
342
+ loading: store.loading,
342
343
  onQuery: this.handleQuery,
343
344
  onAction: this.handleAction,
344
345
  onChange: this.handleChange