amis 1.9.1-beta.12 → 1.9.1-beta.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (240) hide show
  1. package/README.md +1 -1
  2. package/lib/components/AssociatedSelection.d.ts +40 -40
  3. package/lib/components/Badge.d.ts +1 -1
  4. package/lib/components/Badge.js.map +1 -1
  5. package/lib/components/ChainedSelection.d.ts +40 -40
  6. package/lib/components/GroupedSelection.d.ts +40 -40
  7. package/lib/components/GroupedSelection.js +3 -2
  8. package/lib/components/GroupedSelection.js.map +2 -2
  9. package/lib/components/PickerContainer.d.ts +1 -0
  10. package/lib/components/PickerContainer.js +4 -4
  11. package/lib/components/PickerContainer.js.map +2 -2
  12. package/lib/components/Radios.d.ts +10 -10
  13. package/lib/components/ResultBox.d.ts +44 -40
  14. package/lib/components/ResultBox.js +40 -6
  15. package/lib/components/ResultBox.js.map +2 -2
  16. package/lib/components/ResultList.d.ts +43 -53
  17. package/lib/components/ResultList.js +34 -22
  18. package/lib/components/ResultList.js.map +2 -2
  19. package/lib/components/ResultTableList.d.ts +40 -40
  20. package/lib/components/ResultTableList.js +16 -17
  21. package/lib/components/ResultTableList.js.map +2 -2
  22. package/lib/components/ResultTreeList.d.ts +40 -40
  23. package/lib/components/Select.d.ts +498 -294
  24. package/lib/components/Select.js +58 -10
  25. package/lib/components/Select.js.map +2 -2
  26. package/lib/components/Selection.d.ts +41 -40
  27. package/lib/components/Selection.js.map +2 -2
  28. package/lib/components/TableSelection.d.ts +42 -40
  29. package/lib/components/TableSelection.js +7 -2
  30. package/lib/components/TableSelection.js.map +2 -2
  31. package/lib/components/TabsTransfer.d.ts +2 -2
  32. package/lib/components/TabsTransfer.js.map +1 -1
  33. package/lib/components/TooltipWrapper.d.ts +1 -1
  34. package/lib/components/TooltipWrapper.js.map +2 -2
  35. package/lib/components/Transfer.d.ts +40 -40
  36. package/lib/components/Transfer.js +1 -1
  37. package/lib/components/Transfer.js.map +2 -2
  38. package/lib/components/TransferDropDown.d.ts +43 -40
  39. package/lib/components/TransferDropDown.js +2 -2
  40. package/lib/components/TransferDropDown.js.map +2 -2
  41. package/lib/components/TreeSelection.d.ts +40 -40
  42. package/lib/components/TreeSelection.js +3 -2
  43. package/lib/components/TreeSelection.js.map +2 -2
  44. package/lib/components/formula/Editor.d.ts +45 -41
  45. package/lib/components/formula/Editor.js +8 -2
  46. package/lib/components/formula/Editor.js.map +2 -2
  47. package/lib/components/formula/Picker.d.ts +43 -41
  48. package/lib/components/formula/Picker.js +40 -20
  49. package/lib/components/formula/Picker.js.map +2 -2
  50. package/lib/components/formula/VariableList.d.ts +2 -0
  51. package/lib/components/formula/VariableList.js +15 -5
  52. package/lib/components/formula/VariableList.js.map +2 -2
  53. package/lib/components/index.d.ts +3 -1
  54. package/lib/components/index.js +5 -1
  55. package/lib/components/index.js.map +2 -2
  56. package/lib/components/schema-editor/SchemaVariableList.d.ts +1 -0
  57. package/lib/components/schema-editor/SchemaVariableList.js +2 -2
  58. package/lib/components/schema-editor/SchemaVariableList.js.map +2 -2
  59. package/lib/components/schema-editor/SchemaVariableListPicker.d.ts +1 -0
  60. package/lib/components/schema-editor/SchemaVariableListPicker.js +2 -2
  61. package/lib/components/schema-editor/SchemaVariableListPicker.js.map +2 -2
  62. package/lib/components/table/HeadCellFilter.js +4 -1
  63. package/lib/components/table/HeadCellFilter.js.map +2 -2
  64. package/lib/components/table/HeadCellSort.js +30 -24
  65. package/lib/components/table/HeadCellSort.js.map +2 -2
  66. package/lib/components/table/index.d.ts +6 -3
  67. package/lib/components/table/index.js +72 -86
  68. package/lib/components/table/index.js.map +2 -2
  69. package/lib/index.js +1 -1
  70. package/lib/locale/de-DE.js +1 -1
  71. package/lib/locale/de-DE.js.map +2 -2
  72. package/lib/locale/en-US.js +1 -1
  73. package/lib/locale/en-US.js.map +2 -2
  74. package/lib/locale/zh-CN.js +1 -1
  75. package/lib/locale/zh-CN.js.map +2 -2
  76. package/lib/renderers/Action.d.ts +21 -4
  77. package/lib/renderers/Action.js +44 -20
  78. package/lib/renderers/Action.js.map +2 -2
  79. package/lib/renderers/Breadcrumb.js +2 -2
  80. package/lib/renderers/Breadcrumb.js.map +2 -2
  81. package/lib/renderers/CRUD.js +3 -0
  82. package/lib/renderers/CRUD.js.map +2 -2
  83. package/lib/renderers/Form/InputFormula.d.ts +5 -1
  84. package/lib/renderers/Form/InputFormula.js +2 -2
  85. package/lib/renderers/Form/InputFormula.js.map +2 -2
  86. package/lib/renderers/Form/InputImage.js.map +2 -2
  87. package/lib/renderers/Form/InputTag.d.ts +8 -0
  88. package/lib/renderers/Form/InputTag.js +2 -2
  89. package/lib/renderers/Form/InputTag.js.map +2 -2
  90. package/lib/renderers/Form/InputTree.d.ts +4 -0
  91. package/lib/renderers/Form/InputTree.js +2 -2
  92. package/lib/renderers/Form/InputTree.js.map +2 -2
  93. package/lib/renderers/Form/Picker.d.ts +1 -1
  94. package/lib/renderers/Form/Picker.js +38 -23
  95. package/lib/renderers/Form/Picker.js.map +2 -2
  96. package/lib/renderers/Form/Select.d.ts +19 -0
  97. package/lib/renderers/Form/Select.js +2 -2
  98. package/lib/renderers/Form/Select.js.map +2 -2
  99. package/lib/renderers/Form/Transfer.d.ts +1 -0
  100. package/lib/renderers/Form/Transfer.js +4 -0
  101. package/lib/renderers/Form/Transfer.js.map +2 -2
  102. package/lib/renderers/Form/wrapControl.js +10 -10
  103. package/lib/renderers/Form/wrapControl.js.map +2 -2
  104. package/lib/renderers/QRCode.d.ts +16 -0
  105. package/lib/renderers/QRCode.js +25 -1
  106. package/lib/renderers/QRCode.js.map +2 -2
  107. package/lib/renderers/Service.js +0 -1
  108. package/lib/renderers/Service.js.map +2 -2
  109. package/lib/renderers/Steps.d.ts +2 -2
  110. package/lib/renderers/Steps.js +1 -1
  111. package/lib/renderers/Steps.js.map +2 -2
  112. package/lib/renderers/Table/exportExcel.js +50 -36
  113. package/lib/renderers/Table/exportExcel.js.map +2 -2
  114. package/lib/renderers/Table/index.js +2 -1
  115. package/lib/renderers/Table/index.js.map +2 -2
  116. package/lib/renderers/Table-v2/HeadCellSearchDropdown.d.ts +1 -1
  117. package/lib/renderers/Table-v2/HeadCellSearchDropdown.js +38 -24
  118. package/lib/renderers/Table-v2/HeadCellSearchDropdown.js.map +2 -2
  119. package/lib/renderers/Table-v2/index.d.ts +10 -4
  120. package/lib/renderers/Table-v2/index.js +109 -58
  121. package/lib/renderers/Table-v2/index.js.map +2 -2
  122. package/lib/renderers/Tabs.d.ts +6 -2
  123. package/lib/renderers/Tabs.js +21 -0
  124. package/lib/renderers/Tabs.js.map +2 -2
  125. package/lib/store/table-v2.d.ts +210 -4
  126. package/lib/store/table-v2.js +82 -5
  127. package/lib/store/table-v2.js.map +2 -2
  128. package/lib/themes/ang-ie11.css +140 -44
  129. package/lib/themes/ang.css +140 -33
  130. package/lib/themes/ang.css.map +1 -1
  131. package/lib/themes/antd-ie11.css +140 -44
  132. package/lib/themes/antd.css +140 -33
  133. package/lib/themes/antd.css.map +1 -1
  134. package/lib/themes/cxd-ie11.css +297 -197
  135. package/lib/themes/cxd.css +151 -38
  136. package/lib/themes/cxd.css.map +1 -1
  137. package/lib/themes/dark-ie11.css +140 -44
  138. package/lib/themes/dark.css +140 -33
  139. package/lib/themes/dark.css.map +1 -1
  140. package/lib/themes/default-ie11.css +297 -197
  141. package/lib/themes/default.css +151 -38
  142. package/lib/themes/default.css.map +1 -1
  143. package/lib/types.d.ts +1 -1
  144. package/lib/types.js.map +1 -1
  145. package/lib/utils/formula.js +7 -5
  146. package/lib/utils/formula.js.map +2 -2
  147. package/lib/utils/helper.d.ts +1 -0
  148. package/lib/utils/helper.js +11 -1
  149. package/lib/utils/helper.js.map +2 -2
  150. package/package.json +2 -2
  151. package/schema.json +103 -35
  152. package/scss/_properties.scss +11 -6
  153. package/scss/components/_formula.scss +45 -4
  154. package/scss/components/_modal.scss +1 -1
  155. package/scss/components/_result-box.scss +34 -2
  156. package/scss/components/form/_checks.scss +47 -44
  157. package/scss/components/form/_date.scss +28 -19
  158. package/scss/components/form/_icon-picker.scss +10 -6
  159. package/scss/components/form/_select.scss +77 -34
  160. package/scss/components/form/_selection.scss +9 -6
  161. package/scss/components/form/_switch.scss +1 -0
  162. package/scss/components/form/_text.scss +2 -0
  163. package/scss/components/form/_transfer.scss +2 -1
  164. package/scss/themes/_cxd-variables.scss +3 -1
  165. package/scss/themes/cxd.scss +9 -6
  166. package/sdk/ang-ie11.css +159 -46
  167. package/sdk/ang.css +159 -35
  168. package/sdk/antd-ie11.css +159 -46
  169. package/sdk/antd.css +159 -35
  170. package/sdk/barcode.js +51 -51
  171. package/sdk/charts.js +14 -14
  172. package/sdk/codemirror.js +7 -7
  173. package/sdk/color-picker.js +65 -65
  174. package/sdk/cropperjs.js +2 -2
  175. package/sdk/cxd-ie11.css +317 -199
  176. package/sdk/cxd.css +171 -40
  177. package/sdk/dark-ie11.css +159 -46
  178. package/sdk/dark.css +159 -35
  179. package/sdk/exceljs.js +1 -1
  180. package/sdk/locale/de-DE.js +2 -2
  181. package/sdk/markdown.js +69 -69
  182. package/sdk/papaparse.js +1 -1
  183. package/sdk/renderers/Form/CityDB.js +1 -1
  184. package/sdk/rest.js +16 -16
  185. package/sdk/rich-text.js +62 -62
  186. package/sdk/sdk-ie11.css +317 -199
  187. package/sdk/sdk.css +171 -40
  188. package/sdk/sdk.js +1353 -1351
  189. package/sdk/thirds/hls.js/hls.js +1 -1
  190. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  191. package/sdk/tinymce.js +57 -57
  192. package/src/components/Badge.tsx +1 -1
  193. package/src/components/GroupedSelection.tsx +3 -2
  194. package/src/components/PickerContainer.tsx +13 -8
  195. package/src/components/ResultBox.tsx +95 -11
  196. package/src/components/ResultList.tsx +48 -51
  197. package/src/components/ResultTableList.tsx +32 -33
  198. package/src/components/Select.tsx +138 -17
  199. package/src/components/Selection.tsx +1 -0
  200. package/src/components/TableSelection.tsx +15 -8
  201. package/src/components/TabsTransfer.tsx +2 -2
  202. package/src/components/TooltipWrapper.tsx +20 -14
  203. package/src/components/Transfer.tsx +0 -4
  204. package/src/components/TransferDropDown.tsx +9 -1
  205. package/src/components/TreeSelection.tsx +2 -1
  206. package/src/components/formula/Editor.tsx +17 -2
  207. package/src/components/formula/Picker.tsx +44 -7
  208. package/src/components/formula/VariableList.tsx +36 -2
  209. package/src/components/index.tsx +4 -0
  210. package/src/components/schema-editor/SchemaVariableList.tsx +4 -2
  211. package/src/components/schema-editor/SchemaVariableListPicker.tsx +4 -1
  212. package/src/components/table/HeadCellFilter.tsx +4 -1
  213. package/src/components/table/HeadCellSort.tsx +1 -1
  214. package/src/components/table/index.tsx +66 -90
  215. package/src/locale/de-DE.ts +2 -2
  216. package/src/locale/en-US.ts +2 -2
  217. package/src/locale/zh-CN.ts +1 -1
  218. package/src/renderers/Action.tsx +64 -19
  219. package/src/renderers/Breadcrumb.tsx +11 -12
  220. package/src/renderers/CRUD.tsx +2 -0
  221. package/src/renderers/Form/InputFormula.tsx +9 -2
  222. package/src/renderers/Form/InputImage.tsx +4 -2
  223. package/src/renderers/Form/InputTag.tsx +14 -0
  224. package/src/renderers/Form/InputTree.tsx +7 -0
  225. package/src/renderers/Form/Picker.tsx +11 -1
  226. package/src/renderers/Form/Select.tsx +32 -1
  227. package/src/renderers/Form/Transfer.tsx +6 -0
  228. package/src/renderers/Form/wrapControl.tsx +10 -10
  229. package/src/renderers/QRCode.tsx +50 -1
  230. package/src/renderers/Service.tsx +0 -1
  231. package/src/renderers/Steps.tsx +5 -5
  232. package/src/renderers/Table/exportExcel.ts +29 -12
  233. package/src/renderers/Table/index.tsx +9 -7
  234. package/src/renderers/Table-v2/HeadCellSearchDropdown.tsx +14 -9
  235. package/src/renderers/Table-v2/index.tsx +130 -58
  236. package/src/renderers/Tabs.tsx +33 -3
  237. package/src/store/table-v2.ts +104 -7
  238. package/src/types.ts +2 -1
  239. package/src/utils/formula.ts +7 -5
  240. package/src/utils/helper.ts +12 -2
@@ -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 * 可多选条件下,是否可全选\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"
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\nimport type {TooltipObject} from '../../components/TooltipWrapper';\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 */\n itemHeight?: number;\n\n /**\n * 在选项数量达到多少时开启虚拟渲染\n */\n virtualThreshold?: number;\n\n /**\n * 可多选条件下,是否可全选\n */\n checkAll?: boolean;\n\n /**\n * 可多选条件下,是否默认全选中所有值\n */\n defaultCheckAll?: boolean;\n\n /**\n * 可多选条件下,全选项文案,默认 ”全选“\n */\n checkAllLabel?: string;\n\n /**\n * 标签的最大展示数量,超出数量后以收纳浮层的方式展示,仅在多选模式开启后生效\n */\n maxTagCount?: number;\n\n /**\n * 收纳标签的Popover配置\n */\n overflowTagPopover: object;\n}\n\nexport interface SelectProps extends OptionsControlProps {\n autoComplete?: Api;\n searchable?: boolean;\n defaultOpen?: boolean;\n useMobileUI?: boolean;\n maxTagCount?: number;\n overflowTagPopover?: TooltipObject;\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 maxTagCount,\n overflowTagPopover\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 maxTagCount={maxTagCount}\n overflowTagPopover={overflowTagPopover}\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
  }
@@ -94,6 +94,7 @@ export interface BaseTransferProps extends OptionsControlProps, Omit<TransferCon
94
94
  }
95
95
  export declare class BaseTransferRenderer<T extends OptionsControlProps = BaseTransferProps> extends React.Component<T> {
96
96
  tranferRef?: BaseTransfer;
97
+ reload(): void;
97
98
  handleChange(value: Array<Option> | Option, optionModified?: boolean): Promise<void>;
98
99
  option2value(option: Option): Option;
99
100
  handleSearch(term: string, cancelExecutor: Function): Promise<any[]>;
@@ -17,6 +17,10 @@ var BaseTransferRenderer = /** @class */ (function (_super) {
17
17
  function BaseTransferRenderer() {
18
18
  return _super !== null && _super.apply(this, arguments) || this;
19
19
  }
20
+ BaseTransferRenderer.prototype.reload = function () {
21
+ var reloadOptions = this.props.reloadOptions;
22
+ reloadOptions === null || reloadOptions === void 0 ? void 0 : reloadOptions();
23
+ };
20
24
  BaseTransferRenderer.prototype.handleChange = function (value, optionModified) {
21
25
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
22
26
  var _a, onChange, joinValues, delimiter, valueField, extractValue, options, dispatchEvent, setOptions, newValue, newOptions, rendererEvent;
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/Transfer.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 find from 'lodash/find';\n\nimport {\n OptionsControlProps,\n OptionsControl,\n FormOptionsControl\n} from './Options';\nimport Transfer, {Transfer as BaseTransfer} from '../../components/Transfer';\nimport type {Option} from './Options';\nimport {\n autobind,\n filterTree,\n string2regExp,\n createObject,\n findTree,\n findTreeIndex,\n getTree,\n spliceTree\n} from '../../utils/helper';\nimport Spinner from '../../components/Spinner';\nimport {optionValueCompare} from '../../components/Select';\nimport {resolveVariable} from '../../utils/tpl-builtin';\nimport {SchemaApi, SchemaObject} from '../../Schema';\nimport {BaseSelection, ItemRenderStates} from '../../components/Selection';\nimport {\n ItemRenderStates as ResultItemRenderStates,\n ResultList\n} from '../../components/ResultList';\nimport {Action} from '../../types';\n\n/**\n * Transfer\n * 文档:https://baidu.gitee.io/amis/docs/components/form/transfer\n */\nexport interface TransferControlSchema extends FormOptionsControl {\n type: 'transfer';\n\n /**\n * 是否显示剪头\n */\n showArrow?: boolean;\n\n /**\n * 可排序?\n */\n sortable?: boolean;\n\n /**\n * 勾选展示模式\n */\n selectMode?: 'table' | 'list' | 'tree' | 'chained' | 'associated';\n\n /**\n * 结果面板是否追踪显示\n */\n resultListModeFollowSelect?: boolean;\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 * 结果(右则)列表的检索功能,当设置为true时,可以通过输入检索模糊匹配检索内容\n */\n resultSearchable?: boolean;\n\n /**\n * 搜索 API\n */\n searchApi?: SchemaApi;\n\n /**\n * 左侧的标题文字\n */\n selectTitle?: string;\n\n /**\n * 右侧结果的标题文字\n */\n resultTitle?: string;\n\n /**\n * 用来丰富选项展示\n */\n menuTpl?: SchemaObject;\n\n /**\n * 用来丰富值的展示\n */\n valueTpl?: SchemaObject;\n\n /**\n * 左侧列表搜索框提示\n */\n searchPlaceholder?: string;\n\n /**\n * 右侧列表搜索框提示\n */\n resultSearchPlaceholder?: string;\n}\n\nexport interface BaseTransferProps\n extends OptionsControlProps,\n Omit<\n TransferControlSchema,\n | 'type'\n | 'options'\n | 'className'\n | 'descriptionClassName'\n | 'inputClassName'\n > {\n resultItemRender?: (option: Option) => JSX.Element;\n}\n\nexport class BaseTransferRenderer<\n T extends OptionsControlProps = BaseTransferProps\n> extends React.Component<T> {\n tranferRef?: BaseTransfer;\n\n @autobind\n async handleChange(value: Array<Option> | Option, optionModified?: boolean) {\n const {\n onChange,\n joinValues,\n delimiter,\n valueField,\n extractValue,\n options,\n dispatchEvent,\n setOptions\n } = this.props;\n let newValue: any = value;\n let newOptions = options.concat();\n\n if (Array.isArray(value)) {\n newValue = value.map(item => {\n const indexes = findTreeIndex(\n options,\n optionValueCompare(\n item[(valueField as string) || 'value'],\n (valueField as string) || 'value'\n )\n );\n\n if (!indexes) {\n newOptions.push(item);\n } else if (optionModified) {\n const origin = getTree(newOptions, indexes);\n newOptions = spliceTree(newOptions, indexes, 1, {\n ...origin,\n ...item\n });\n }\n\n return joinValues || extractValue\n ? item[(valueField as string) || 'value']\n : item;\n });\n\n if (joinValues) {\n newValue = newValue.join(delimiter || ',');\n }\n } else if (value) {\n newValue =\n joinValues || extractValue\n ? value[(valueField as string) || 'value']\n : value;\n }\n\n (newOptions.length > options.length || optionModified) &&\n setOptions(newOptions, true);\n\n // 触发渲染器事件\n const rendererEvent = await dispatchEvent('change', {\n value: newValue,\n options\n });\n if (rendererEvent?.prevented) {\n return;\n }\n\n onChange(newValue);\n }\n\n @autobind\n option2value(option: Option) {\n return option;\n }\n\n @autobind\n async handleSearch(term: string, cancelExecutor: Function) {\n const {\n searchApi,\n options,\n labelField,\n valueField,\n env,\n data,\n translate: __\n } = this.props;\n\n if (searchApi) {\n try {\n const payload = await env.fetcher(\n searchApi,\n createObject(data, {term}),\n {\n cancelExecutor\n }\n );\n\n if (!payload.ok) {\n throw new Error(__(payload.msg || 'networkError'));\n }\n\n const result =\n payload.data.options || payload.data.items || payload.data;\n if (!Array.isArray(result)) {\n throw new Error('CRUD.invalidArray');\n }\n\n return result.map(item => {\n let resolved: any = null;\n const value = item[valueField || 'value'];\n\n // 只有 value 值有意义的时候,再去找;否则直接返回\n if (Array.isArray(options) && value !== null && value !== undefined) {\n resolved = find(options, optionValueCompare(value, valueField));\n }\n\n return resolved || item;\n });\n } catch (e) {\n if (!env.isCancel(e)) {\n env.notify('error', e.message);\n }\n\n return [];\n }\n } else if (term) {\n const regexp = string2regExp(term);\n\n return filterTree(\n options,\n (option: Option) => {\n return !!(\n (Array.isArray(option.children) && option.children.length) ||\n (option[(valueField as string) || 'value'] &&\n (regexp.test(option[(labelField as string) || 'label']) ||\n regexp.test(option[(valueField as string) || 'value'])))\n );\n },\n 0,\n true\n );\n } else {\n return options;\n }\n }\n\n @autobind\n handleResultSearch(term: string, item: Option) {\n const {valueField} = this.props;\n const regexp = string2regExp(term);\n return regexp.test(item[(valueField as string) || 'value']);\n }\n\n @autobind\n optionItemRender(option: Option, states: ItemRenderStates) {\n const {menuTpl, render, data} = this.props;\n\n if (menuTpl) {\n return render(`item/${states.index}`, menuTpl, {\n data: createObject(createObject(data, states), option)\n });\n }\n\n return BaseSelection.itemRender(option, states);\n }\n\n @autobind\n resultItemRender(option: Option, states: ResultItemRenderStates) {\n const {valueTpl, render, data} = this.props;\n\n if (valueTpl) {\n return render(`value/${states.index}`, valueTpl, {\n onChange: states.onChange,\n data: createObject(createObject(data, states), option)\n });\n }\n\n return ResultList.itemRender(option);\n }\n\n @autobind\n renderCell(\n column: {\n name: string;\n label: string;\n [propName: string]: any;\n },\n option: Option,\n colIndex: number,\n rowIndex: number\n ) {\n const {render, data} = this.props;\n return render(\n `cell/${colIndex}/${rowIndex}`,\n {\n type: 'text',\n ...column\n },\n {\n value: resolveVariable(column.name, option),\n data: createObject(data, option)\n }\n );\n }\n\n @autobind\n getRef(ref: BaseTransfer) {\n this.tranferRef = ref;\n }\n\n @autobind\n onSelectAll(options: Option[]) {\n const {dispatchEvent} = this.props;\n dispatchEvent('selectAll', options);\n }\n\n // 动作\n doAction(action: Action, data: object, throwErrors: boolean) {\n const {resetValue, onChange} = this.props;\n switch (action.actionType) {\n case 'clear':\n onChange?.('');\n break;\n case 'reset':\n onChange?.(resetValue ?? '');\n break;\n case 'selectAll':\n this.tranferRef?.selectAll();\n break;\n }\n }\n\n render() {\n let {\n className,\n classnames: cx,\n selectedOptions,\n showArrow,\n sortable,\n selectMode,\n columns,\n loading,\n searchable,\n searchResultMode,\n searchResultColumns,\n deferLoad,\n leftMode,\n rightMode,\n disabled,\n selectTitle,\n resultTitle,\n menuTpl,\n searchPlaceholder,\n resultListModeFollowSelect = false,\n resultSearchPlaceholder,\n resultSearchable = false\n } = this.props;\n\n // 目前 LeftOptions 没有接口可以动态加载\n // 为了方便可以快速实现动态化,让选项的第一个成员携带\n // LeftOptions 信息\n let {options, leftOptions, leftDefaultValue} = this.props;\n\n if (\n selectMode === 'associated' &&\n options &&\n options.length &&\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 <div className={cx('TransferControl', className)}>\n <Transfer\n value={selectedOptions}\n options={options}\n disabled={disabled}\n onChange={this.handleChange}\n option2value={this.option2value}\n sortable={sortable}\n showArrow={showArrow}\n selectMode={selectMode}\n searchResultMode={searchResultMode}\n searchResultColumns={searchResultColumns}\n columns={columns}\n onSearch={searchable ? this.handleSearch : undefined}\n onDeferLoad={deferLoad}\n leftOptions={leftOptions}\n leftMode={leftMode}\n rightMode={rightMode}\n cellRender={this.renderCell}\n selectTitle={selectTitle}\n resultTitle={resultTitle}\n resultListModeFollowSelect={resultListModeFollowSelect}\n onResultSearch={this.handleResultSearch}\n searchPlaceholder={searchPlaceholder}\n resultSearchable={resultSearchable}\n resultSearchPlaceholder={resultSearchPlaceholder}\n optionItemRender={this.optionItemRender}\n resultItemRender={this.resultItemRender}\n onSelectAll={this.onSelectAll}\n onRef={this.getRef}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </div>\n );\n }\n}\n\n// ts 3.9 里面非得这样才不报错,鬼知道为何。\nexport class TransferRender extends BaseTransferRenderer {}\n\nexport default OptionsControl({\n type: 'transfer'\n})(TransferRender);\n"
11
+ "import React from 'react';\nimport find from 'lodash/find';\n\nimport {\n OptionsControlProps,\n OptionsControl,\n FormOptionsControl\n} from './Options';\nimport Transfer, {Transfer as BaseTransfer} from '../../components/Transfer';\nimport type {Option} from './Options';\nimport {\n autobind,\n filterTree,\n string2regExp,\n createObject,\n findTree,\n findTreeIndex,\n getTree,\n spliceTree\n} from '../../utils/helper';\nimport Spinner from '../../components/Spinner';\nimport {optionValueCompare} from '../../components/Select';\nimport {resolveVariable} from '../../utils/tpl-builtin';\nimport {SchemaApi, SchemaObject} from '../../Schema';\nimport {BaseSelection, ItemRenderStates} from '../../components/Selection';\nimport {\n ItemRenderStates as ResultItemRenderStates,\n ResultList\n} from '../../components/ResultList';\nimport {Action} from '../../types';\n\n/**\n * Transfer\n * 文档:https://baidu.gitee.io/amis/docs/components/form/transfer\n */\nexport interface TransferControlSchema extends FormOptionsControl {\n type: 'transfer';\n\n /**\n * 是否显示剪头\n */\n showArrow?: boolean;\n\n /**\n * 可排序?\n */\n sortable?: boolean;\n\n /**\n * 勾选展示模式\n */\n selectMode?: 'table' | 'list' | 'tree' | 'chained' | 'associated';\n\n /**\n * 结果面板是否追踪显示\n */\n resultListModeFollowSelect?: boolean;\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 * 结果(右则)列表的检索功能,当设置为true时,可以通过输入检索模糊匹配检索内容\n */\n resultSearchable?: boolean;\n\n /**\n * 搜索 API\n */\n searchApi?: SchemaApi;\n\n /**\n * 左侧的标题文字\n */\n selectTitle?: string;\n\n /**\n * 右侧结果的标题文字\n */\n resultTitle?: string;\n\n /**\n * 用来丰富选项展示\n */\n menuTpl?: SchemaObject;\n\n /**\n * 用来丰富值的展示\n */\n valueTpl?: SchemaObject;\n\n /**\n * 左侧列表搜索框提示\n */\n searchPlaceholder?: string;\n\n /**\n * 右侧列表搜索框提示\n */\n resultSearchPlaceholder?: string;\n}\n\nexport interface BaseTransferProps\n extends OptionsControlProps,\n Omit<\n TransferControlSchema,\n | 'type'\n | 'options'\n | 'className'\n | 'descriptionClassName'\n | 'inputClassName'\n > {\n resultItemRender?: (option: Option) => JSX.Element;\n}\n\nexport class BaseTransferRenderer<\n T extends OptionsControlProps = BaseTransferProps\n> extends React.Component<T> {\n tranferRef?: BaseTransfer;\n\n reload() {\n const {reloadOptions} = this.props;\n\n reloadOptions?.();\n }\n\n @autobind\n async handleChange(value: Array<Option> | Option, optionModified?: boolean) {\n const {\n onChange,\n joinValues,\n delimiter,\n valueField,\n extractValue,\n options,\n dispatchEvent,\n setOptions\n } = this.props;\n let newValue: any = value;\n let newOptions = options.concat();\n\n if (Array.isArray(value)) {\n newValue = value.map(item => {\n const indexes = findTreeIndex(\n options,\n optionValueCompare(\n item[(valueField as string) || 'value'],\n (valueField as string) || 'value'\n )\n );\n\n if (!indexes) {\n newOptions.push(item);\n } else if (optionModified) {\n const origin = getTree(newOptions, indexes);\n newOptions = spliceTree(newOptions, indexes, 1, {\n ...origin,\n ...item\n });\n }\n\n return joinValues || extractValue\n ? item[(valueField as string) || 'value']\n : item;\n });\n\n if (joinValues) {\n newValue = newValue.join(delimiter || ',');\n }\n } else if (value) {\n newValue =\n joinValues || extractValue\n ? value[(valueField as string) || 'value']\n : value;\n }\n\n (newOptions.length > options.length || optionModified) &&\n setOptions(newOptions, true);\n\n // 触发渲染器事件\n const rendererEvent = await dispatchEvent('change', {\n value: newValue,\n options\n });\n if (rendererEvent?.prevented) {\n return;\n }\n\n onChange(newValue);\n }\n\n @autobind\n option2value(option: Option) {\n return option;\n }\n\n @autobind\n async handleSearch(term: string, cancelExecutor: Function) {\n const {\n searchApi,\n options,\n labelField,\n valueField,\n env,\n data,\n translate: __\n } = this.props;\n\n if (searchApi) {\n try {\n const payload = await env.fetcher(\n searchApi,\n createObject(data, {term}),\n {\n cancelExecutor\n }\n );\n\n if (!payload.ok) {\n throw new Error(__(payload.msg || 'networkError'));\n }\n\n const result =\n payload.data.options || payload.data.items || payload.data;\n if (!Array.isArray(result)) {\n throw new Error('CRUD.invalidArray');\n }\n\n return result.map(item => {\n let resolved: any = null;\n const value = item[valueField || 'value'];\n\n // 只有 value 值有意义的时候,再去找;否则直接返回\n if (Array.isArray(options) && value !== null && value !== undefined) {\n resolved = find(options, optionValueCompare(value, valueField));\n }\n\n return resolved || item;\n });\n } catch (e) {\n if (!env.isCancel(e)) {\n env.notify('error', e.message);\n }\n\n return [];\n }\n } else if (term) {\n const regexp = string2regExp(term);\n\n return filterTree(\n options,\n (option: Option) => {\n return !!(\n (Array.isArray(option.children) && option.children.length) ||\n (option[(valueField as string) || 'value'] &&\n (regexp.test(option[(labelField as string) || 'label']) ||\n regexp.test(option[(valueField as string) || 'value'])))\n );\n },\n 0,\n true\n );\n } else {\n return options;\n }\n }\n\n @autobind\n handleResultSearch(term: string, item: Option) {\n const {valueField} = this.props;\n const regexp = string2regExp(term);\n return regexp.test(item[(valueField as string) || 'value']);\n }\n\n @autobind\n optionItemRender(option: Option, states: ItemRenderStates) {\n const {menuTpl, render, data} = this.props;\n\n if (menuTpl) {\n return render(`item/${states.index}`, menuTpl, {\n data: createObject(createObject(data, states), option)\n });\n }\n\n return BaseSelection.itemRender(option, states);\n }\n\n @autobind\n resultItemRender(option: Option, states: ResultItemRenderStates) {\n const {valueTpl, render, data} = this.props;\n\n if (valueTpl) {\n return render(`value/${states.index}`, valueTpl, {\n onChange: states.onChange,\n data: createObject(createObject(data, states), option)\n });\n }\n\n return ResultList.itemRender(option);\n }\n\n @autobind\n renderCell(\n column: {\n name: string;\n label: string;\n [propName: string]: any;\n },\n option: Option,\n colIndex: number,\n rowIndex: number\n ) {\n const {render, data} = this.props;\n return render(\n `cell/${colIndex}/${rowIndex}`,\n {\n type: 'text',\n ...column\n },\n {\n value: resolveVariable(column.name, option),\n data: createObject(data, option)\n }\n );\n }\n\n @autobind\n getRef(ref: BaseTransfer) {\n this.tranferRef = ref;\n }\n\n @autobind\n onSelectAll(options: Option[]) {\n const {dispatchEvent} = this.props;\n dispatchEvent('selectAll', options);\n }\n\n // 动作\n doAction(action: Action, data: object, throwErrors: boolean) {\n const {resetValue, onChange} = this.props;\n switch (action.actionType) {\n case 'clear':\n onChange?.('');\n break;\n case 'reset':\n onChange?.(resetValue ?? '');\n break;\n case 'selectAll':\n this.tranferRef?.selectAll();\n break;\n }\n }\n\n render() {\n let {\n className,\n classnames: cx,\n selectedOptions,\n showArrow,\n sortable,\n selectMode,\n columns,\n loading,\n searchable,\n searchResultMode,\n searchResultColumns,\n deferLoad,\n leftMode,\n rightMode,\n disabled,\n selectTitle,\n resultTitle,\n menuTpl,\n searchPlaceholder,\n resultListModeFollowSelect = false,\n resultSearchPlaceholder,\n resultSearchable = false\n } = this.props;\n\n // 目前 LeftOptions 没有接口可以动态加载\n // 为了方便可以快速实现动态化,让选项的第一个成员携带\n // LeftOptions 信息\n let {options, leftOptions, leftDefaultValue} = this.props;\n\n if (\n selectMode === 'associated' &&\n options &&\n options.length &&\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 <div className={cx('TransferControl', className)}>\n <Transfer\n value={selectedOptions}\n options={options}\n disabled={disabled}\n onChange={this.handleChange}\n option2value={this.option2value}\n sortable={sortable}\n showArrow={showArrow}\n selectMode={selectMode}\n searchResultMode={searchResultMode}\n searchResultColumns={searchResultColumns}\n columns={columns}\n onSearch={searchable ? this.handleSearch : undefined}\n onDeferLoad={deferLoad}\n leftOptions={leftOptions}\n leftMode={leftMode}\n rightMode={rightMode}\n cellRender={this.renderCell}\n selectTitle={selectTitle}\n resultTitle={resultTitle}\n resultListModeFollowSelect={resultListModeFollowSelect}\n onResultSearch={this.handleResultSearch}\n searchPlaceholder={searchPlaceholder}\n resultSearchable={resultSearchable}\n resultSearchPlaceholder={resultSearchPlaceholder}\n optionItemRender={this.optionItemRender}\n resultItemRender={this.resultItemRender}\n onSelectAll={this.onSelectAll}\n onRef={this.getRef}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </div>\n );\n }\n}\n\n// ts 3.9 里面非得这样才不报错,鬼知道为何。\nexport class TransferRender extends BaseTransferRenderer {}\n\nexport default OptionsControl({\n type: 'transfer'\n})(TransferRender);\n"
12
12
  ]
13
13
  }
@@ -181,7 +181,7 @@ function wrapControl(ComposedComponent) {
181
181
  // 此处需要同时考虑 defaultValue 和 value
182
182
  if (model && typeof props.value !== 'undefined') {
183
183
  // 渲染器中的 value 优先
184
- if (props.value !== prevProps.value && props.value !== model.tmpValue) {
184
+ if (!(0, isEqual_1.default)(props.value, prevProps.value) && !(0, isEqual_1.default)(props.value, model.tmpValue)) {
185
185
  // 外部直接传入的 value 无需执行运算器
186
186
  model.changeTmpValue(props.value);
187
187
  }
@@ -190,12 +190,12 @@ function wrapControl(ComposedComponent) {
190
190
  typeof props.defaultValue !== 'undefined' &&
191
191
  (0, formula_1.isExpression)(props.defaultValue)) {
192
192
  // 渲染器中的 defaultValue 优先(备注: SchemaRenderer中会将 value 改成 defaultValue)
193
- if (props.defaultValue !== prevProps.defaultValue ||
193
+ if (!(0, isEqual_1.default)(props.defaultValue, prevProps.defaultValue) ||
194
194
  (!(0, isEqual_1.default)(props.data, prevProps.data) &&
195
195
  (0, formula_1.isNeedFormula)(props.defaultValue, props.data, prevProps.data))) {
196
196
  var curResult = formula_1.FormulaExec['formula'](props.defaultValue, props.data);
197
197
  var prevResult = formula_1.FormulaExec['formula'](prevProps.defaultValue, prevProps.data);
198
- if (curResult !== prevResult && curResult !== model.tmpValue) {
198
+ if (!(0, isEqual_1.default)(curResult, prevResult) && !(0, isEqual_1.default)(curResult, model.tmpValue)) {
199
199
  // 识别上下文变动、自身数值变动、公式运算结果变动
200
200
  model.changeTmpValue(curResult);
201
201
  if (props.onChange) {
@@ -207,25 +207,25 @@ function wrapControl(ComposedComponent) {
207
207
  else if (model) {
208
208
  var valueByName = (0, helper_1.getVariable)(props.data, model.name);
209
209
  if (valueByName !== undefined &&
210
- props.defaultValue === prevProps.defaultValue) {
210
+ (0, isEqual_1.default)(props.defaultValue, prevProps.defaultValue)) {
211
211
  // value 非公式表达式时,name 值优先,若 defaultValue 主动变动时,则使用 defaultValue
212
212
  if (
213
213
  // 然后才是查看关联的 name 属性值是否变化
214
- props.data !== prevProps.data &&
215
- (!model.emitedValue || model.emitedValue === model.tmpValue)) {
214
+ !(0, isEqual_1.default)(props.data, prevProps.data) &&
215
+ (!model.emitedValue || (0, isEqual_1.default)(model.emitedValue, model.tmpValue))) {
216
216
  model.changeEmitedValue(undefined);
217
217
  var prevValueByName = (0, helper_1.getVariable)(props.data, model.name);
218
- if ((valueByName !== prevValueByName ||
218
+ if ((!(0, isEqual_1.default)(valueByName, prevValueByName) ||
219
219
  (0, helper_1.getVariable)(props.data, model.name, false) !==
220
220
  (0, helper_1.getVariable)(prevProps.data, model.name, false)) &&
221
- valueByName !== model.tmpValue) {
221
+ !(0, isEqual_1.default)(valueByName, model.tmpValue)) {
222
222
  model.changeTmpValue(valueByName);
223
223
  }
224
224
  }
225
225
  }
226
226
  else if (typeof props.defaultValue !== 'undefined' &&
227
- props.defaultValue !== prevProps.defaultValue &&
228
- props.defaultValue !== model.tmpValue) {
227
+ !(0, isEqual_1.default)(props.defaultValue, prevProps.defaultValue) &&
228
+ !(0, isEqual_1.default)(props.defaultValue, model.tmpValue)) {
229
229
  // 组件默认值非公式
230
230
  var curValue = (0, formula_1.replaceExpression)(props.defaultValue);
231
231
  model.changeTmpValue(curValue);
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/wrapControl.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": ";;;;AAAA,6DAA0B;AAE1B,0EAAsC;AACtC,wEAAqC;AAGrC,2CAAwE;AACxE,6CAQ4B;AAC5B,+CAK6B;AAE7B,uCAA2D;AAE3D,iDAAmD;AACnD,mDAAwC;AACxC,yCAAoC;AACpC,iGAA0D;AAC1D,qDAAkD;AAGlD,2CAA6C;AAiD7C,SAAgB,WAAW,CAEzB,iBAAoB;;IAOpB,IAAM,MAAM,GAAG,IAAA,iCAAmB,EAChC,IAAA,6BAAa,EACX,IAAA,qBAAQ;YACQ,wCAA2B;YAiBvC,iBAAY,KAAiB;;gBAA7B,YACE,kBAAM,KAAK,CAAC,SA2Hb;gBA1ID,WAAK,GAAS,SAAS,CAAC;gBASxB,oBAAc,GAAG,IAAA,kBAAO,EAAC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,EAAE,GAAG,EAAE;oBACxD,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;gBAKK,IAAA,KA+BF,KAAI,CAAC,KAAK,EA9BD,IAAI,eAAA,EACf,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,KAAK,WAAA,EACL,QAAQ,cAAA,EACR,IAAI,UAAA,EACJ,eAuBC,EAtBC,IAAI,UAAA,EACJ,EAAE,QAAA,EACF,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,gBAAgB,sBAAA,EAChB,MAAM,YAAA,EACN,KAAK,WAAA,EACL,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,UAAU,gBAAA,EACV,UAAU,gBAAA,EACV,UAAU,gBAAA,EACV,YAAY,kBAAA,EACZ,WAAW,iBAAA,EACX,QAAQ,cAAA,EACR,kBAAkB,wBAAA,EAClB,WAAW,iBAAA,EACX,SAAS,eAAA,EACT,SAAS,eAAA,EACT,gBAAgB,sBAAA,EAChB,KAAK,WAEK,CAAC;gBAEf,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;gBACzC,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;gBACzC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;gBACjD,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;gBAC3D,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;gBAC7C,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;gBAE7C,IAAI,CAAC,IAAI,EAAE;;iBAEV;gBAED,IAAI,SAAS,GAAG,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBACjC,IAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC;oBAC/B,EAAE,EAAE,IAAA,aAAI,GAAE;oBACV,IAAI,EAAE,KAAI,CAAC,KAAK,CAAC,KAAK;oBACtB,SAAS,EAAE,wBAAa,CAAC,IAAI;oBAC7B,QAAQ,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE;oBACnB,IAAI,MAAA;iBACL,CAAmB,CAAC;gBACrB,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,gBAAgB;gBAChB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,CAAC,KAAK,CAAC,CAAC;gBAChC,KAAK,CAAC,MAAM,CAAC;oBACX,EAAE,IAAA;oBACF,IAAI,MAAA;oBACJ,QAAQ,UAAA;oBACR,MAAM,QAAA;oBACN,KAAK,OAAA;oBACL,KAAK,EAAE,WAAW;oBAClB,QAAQ,EAAE,gBAAgB;oBAC1B,QAAQ,UAAA;oBACR,SAAS,WAAA;oBACT,UAAU,YAAA;oBACV,UAAU,YAAA;oBACV,UAAU,YAAA;oBACV,YAAY,cAAA;oBACZ,WAAW,aAAA;oBACX,QAAQ,UAAA;oBACR,kBAAkB,oBAAA;oBAClB,WAAW,aAAA;oBACX,SAAS,WAAA;oBACT,SAAS,WAAA;oBACT,gBAAgB,kBAAA;oBAChB,KAAK,OAAA;iBACN,CAAC,CAAC;gBAEH,8BAA8B;gBAC9B,IACE,KAAI,CAAC,KAAK,CAAC,MAAM;oBACjB,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,0CAAE,SAAS,MAAK,kBAAU,CAAC,IAAI,EAChD;oBACA,IAAM,KAAK,GAAG,IAAI,CAAC,WAA0B,CAAC;oBAC9C,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;iBAC9B;gBAED,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE;oBACjD,gCAAgC;oBAChC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;iBACjC;qBAAM;oBACL,yDAAyD;oBACzD,IAAM,WAAW,GAAG,IAAA,sBAAY,EAAC,KAAK,CAAC;wBACrC,CAAC,CAAC,qBAAW,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,aAAa;wBACnD,CAAC,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAI,IAAA,2BAAiB,EAAC,KAAK,CAAC,CAAC,CAAC,YAAY;oBAC/E,WAAW;oBACX,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;oBAElC,IACE,QAAQ;wBACR,KAAK,KAAK,SAAS;wBACnB,WAAW,KAAK,SAAS,EACzB;wBACA,kCAAkC;wBAClC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;qBACnD;iBACF;gBAED,IACE,QAAQ;oBACR,OAAO,SAAS,KAAK,WAAW;oBAChC,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA,KAAK,WAAW;oBAC/D,kBAAkB;oBAClB,mCAAmC;oBACnC,uDAAuD;oBACvD,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,MAAK,kBAAU,CAAC,IAAI,EACpC;oBACA,2BAA2B;oBAC3B,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;iBACnD;;YACH,CAAC;YAED,mCAAiB,GAAjB;gBAAA,iBA+BC;gBA9BO,IAAA,KAKF,IAAI,CAAC,KAAK,EAJZ,KAAK,WAAA,EACM,IAAI,eAAA,EACf,eAAyB,EAAf,IAAI,UAAA,EAAE,QAAQ,cAAA,EACxB,OAAO,aACK,CAAC;gBAEf,0BAA0B;gBAC1B,IAAI,CAAC,KAAK,GAAG;oBACX,KAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;gBAC9B,CAAC,CAAC;gBACF,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAE/B,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAuB,CAAC;gBAC9C,IAAI,QAAQ,IAAI,QAAQ,EAAE;oBACxB,IAAI,eAAa,GAAG,IAAA,kBAAS,EAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,KAAK,GAAG;wBACX,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;wBACxC,OAAO,eAAa,CAClB,KAAI,CAAC,KAAK,CAAC,IAAI,EACf,KAAI,CAAC,QAAQ,EAAE,EACf,IAAI,CACL,CAAC,IAAI,CAAC,UAAC,GAAQ;4BACd,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE;gCAC1D,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;6BAC5C;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC;oBACF,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,KAAK,CAAC,CAAC;iBACvB;YACH,CAAC;YAED,oCAAkB,GAAlB,UAAmB,SAAqB;gBACtC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACzB,IAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;gBAC7B,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAEzB,IACE,KAAK;oBACL,IAAA,mBAAU,EACR;wBACE,IAAI;wBACJ,aAAa;wBACb,kBAAkB;wBAClB,OAAO;wBACP,cAAc;wBACd,UAAU;wBACV,QAAQ;wBACR,UAAU;wBACV,WAAW;wBACX,YAAY;wBACZ,YAAY;wBACZ,YAAY;wBACZ,cAAc;wBACd,aAAa;wBACb,UAAU;wBACV,oBAAoB;wBACpB,aAAa;wBACb,WAAW;wBACX,WAAW;wBACX,OAAO;qBACR,EACD,SAAS,CAAC,OAAO,EACjB,KAAK,CAAC,OAAO,CACd,EACD;oBACA,KAAK,CAAC,MAAM,CAAC;wBACX,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;wBAChC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;wBACpB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;wBAC5B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;wBAC1B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;wBAChC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;wBAChC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;wBAClC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU;wBACpC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU;wBACpC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU;wBACpC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;wBACxC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB;wBACxC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;wBACtC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;wBAChC,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB;wBACpD,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;wBACtC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;wBAClC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;wBAClC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;qBAC3B,CAAC,CAAC;iBACJ;gBAED,gCAAgC;gBAChC,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE;oBAC/C,iBAAiB;oBACjB,IAAI,CAAC,IAAA,iBAAO,EAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAA,iBAAO,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;wBACnF,wBAAwB;wBACxB,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;qBACnC;iBACF;qBAAM,IACL,KAAK;oBACL,OAAO,KAAK,CAAC,YAAY,KAAK,WAAW;oBACzC,IAAA,sBAAY,EAAC,KAAK,CAAC,YAAY,CAAC,EAChC;oBACA,qEAAqE;oBACrE,IACE,CAAC,IAAA,iBAAO,EAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC;wBACpD,CAAC,CAAC,IAAA,iBAAO,EAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;4BACnC,IAAA,uBAAa,EAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,EAChE;wBACA,IAAM,SAAS,GAAG,qBAAW,CAAC,SAAS,CAAC,CACtC,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,IAAI,CACX,CAAC;wBACF,IAAM,UAAU,GAAG,qBAAW,CAAC,SAAS,CAAC,CACvC,SAAS,CAAC,YAAY,EACtB,SAAS,CAAC,IAAI,CACf,CAAC;wBACF,IAAI,CAAC,IAAA,iBAAO,EAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,IAAA,iBAAO,EAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;4BAC1E,0BAA0B;4BAC1B,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;4BAChC,IAAI,KAAK,CAAC,QAAQ,EAAE;gCAClB,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;6BAC9C;yBACF;qBACF;iBACF;qBAAM,IAAI,KAAK,EAAE;oBAChB,IAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBAExD,IACE,WAAW,KAAK,SAAS;wBACzB,IAAA,iBAAO,EAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,EACnD;wBACA,+DAA+D;wBAC/D;wBACE,yBAAyB;wBACzB,CAAC,IAAA,iBAAO,EAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;4BACpC,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,IAAA,iBAAO,EAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAClE;4BACA,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;4BACnC,IAAM,eAAe,GAAG,IAAA,oBAAW,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;4BAC5D,IACE,CAAC,CAAC,IAAA,iBAAO,EAAC,WAAW,EAAE,eAAe,CAAC;gCACrC,IAAA,oBAAW,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;oCACxC,IAAA,oBAAW,EAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gCAClD,CAAC,IAAA,iBAAO,EAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,EACtC;gCACA,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;6BACnC;yBACF;qBACF;yBAAM,IACL,OAAO,KAAK,CAAC,YAAY,KAAK,WAAW;wBACzC,CAAC,IAAA,iBAAO,EAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC;wBACpD,CAAC,IAAA,iBAAO,EAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,EAC5C;wBACA,WAAW;wBACX,IAAM,QAAQ,GAAG,IAAA,2BAAiB,EAAC,KAAK,CAAC,YAAY,CAAC,CAAC;wBACvD,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;wBAC/B,IAAI,KAAK,CAAC,QAAQ,EAAE;4BAClB,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;yBAC7C;qBACF;iBACF;YACH,CAAC;YAED,sCAAoB,GAApB;;gBACE,IAAI,CAAC,IAAI,KAAI,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,UAAU,mDAAG,IAAI,CAAC,IAAI,CAAC,CAAA,CAAC;gBAChD,IAAI,CAAC,KAAK,KAAI,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,UAAU,mDAAG,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC;gBAClD,IAAI,CAAC,KAAK,KAAI,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,UAAU,mDAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA,CAAC;gBAC3D,+BAA+B;gBAE/B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC7B,MAAA,IAAI,CAAC,QAAQ,+CAAb,IAAI,CAAa,CAAC;gBAClB,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC;YAED,8BAAY,GAAZ;;gBACQ,IAAA,KAAyC,IAAI,CAAC,KAAK,EAAvC,IAAI,eAAA,EAAE,QAAQ,cAAA,EAAE,SAAS,eAAc,CAAC;gBAE1D,IACE,IAAI,CAAC,KAAK;oBACV,IAAI,CAAC,KAAK,CAAC,MAAM;qBACjB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAA;oBACjB,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAC,SAAS,MAAK,kBAAU,CAAC,IAAI,EAC/C;oBACA,IAAM,KAAK,GAAG,IAAI,CAAC,WAA0B,CAAC;oBAC9C,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACrC;gBAED,IAAI,IAAI,CAAC,KAAK,EAAE;oBACd,QAAQ;wBACN,IAAA,yBAAO,EAAC,QAAQ,CAAC;wBACjB,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAEzC,IAAI,CAAC,KAAK,CAAC,kBAAkB;yBAC3B,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA,CAAC;oBAEtD,IAAA,yBAAO,EAAC,SAAS,CAAC,IAAI,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACzD;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC;YAED,4BAAU,GAAV,UAAW,OAAY;gBAAvB,iBA8CC;gBA7CO,IAAA,KAKF,IAAI,CAAC,KAAK,EAJZ,OAAO,aAAA,EACP,UAAU,gBAAA,EACC,IAAI,eAAA,EACL,IAAI,kBACF,CAAC;gBAEf,8BAA8B;gBAC9B,OAAO,OAAO,IAAI,OAAO,CAAC,kBAAkB,EAAE;oBAC5C,OAAO,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;iBACxC;gBAED,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;oBAC7C,IAAM,UAAQ,GAAG,IAAI,CAAC,KAAuB,CAAC;oBAC9C,IAAI,UAAQ,GAAG,IAAA,kBAAS,EAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBACzD,IAAI,CAAC,IAAI,GAAG;wBACV,UAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;wBAE1C,OAAO,UAAQ,CAAC,KAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAC1D,UAAA,GAAG;4BACD,IACE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gCAC/C,GAAG,EACH;gCACA,UAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;6BAC9C;wBACH,CAAC,CACF,CAAC;oBACJ,CAAC,CAAC;oBACF,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,IAAI,CAAC,CAAC;iBACtB;qBAAM,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE;oBAChC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;iBACvB;gBAED,eAAe;gBACf,IAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAyB,CAAC;gBAE9C,IAAI,OAAO,EAAE;oBACX,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACxC;qBAAM,IAAI,SAAS,EAAE;oBACpB,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;iBACvC;YACH,CAAC;YAEK,0BAAQ,GAAd;;;;;;gCACQ,KAAiD,IAAI,CAAC,KAAK,EAA/C,IAAI,eAAA,EAAE,IAAI,UAAA,EAAE,qBAAqB,2BAAA,CAAe;qCAE9D,IAAI,CAAC,KAAK,EAAV,wBAAU;qCAEV,CAAA,IAAI,CAAC,KAAK,CAAC,MAAM;qCACjB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAA;oCACjB,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,kBAAU,CAAC,IAAI,CAAA,EAF9C,wBAE8C;gCAExC,KAAK,GAAG,IAAI,CAAC,WAA0B,CAAC;gCACxC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CACA,CAAC;gCACZ,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI;oCACxC,OAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gCAAnB,CAAmB,CACpB,CAAC;gCACO,qBAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAA;;gCAAzC,MAAM,GAAG,SAAgC,CAAC;;;gCAEpC,aAAa,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CACtB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAC/B,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAnB,CAAmB,CAAC,CAAC;qCAChC,CAAA,aAAa,IAAI,aAAa,CAAC,MAAM,CAAA,EAArC,wBAAqC;gCAC9B,qBAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAA;;gCAAzC,MAAM,GAAG,SAAgC,CAAC;;;gCAIhD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;oCAC3B,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;wCAC9B,qBAAqB,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;qCACtD;yCAAM;wCACL,qBAAqB,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;qCACrD;iCACF;;;;;aACF;YAED,8BAAY,GAAZ,UACE,KAAU,EACV,cAA2D,EAC3D,iBAAkC;gBADlC,+BAAA,EAAA,iBAA0B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc;gBAC3D,kCAAA,EAAA,yBAAkC;gBAE5B,IAAA,KAUF,IAAI,CAAC,KAAK,EATD,IAAI,eAAA,EACf,QAAQ,cAAA,EACR,eAIC,EAHC,IAAI,UAAA,EACJ,OAAO,aAAA,EACY,uBAAuB,uBAAA,EAE5C,UAAU,gBAAA,EACV,IAAI,UACQ,CAAC;gBAEf,IACE,CAAC,IAAI,CAAC,KAAK;oBACX,qBAAqB;oBACrB,CAAC;wBACC,SAAS;wBACT,OAAO;wBACP,MAAM;wBACN,OAAO;wBACP,MAAM;wBACN,aAAa;qBACd,CAAC,OAAO,CAAC,IAAI,CAAC,EACf;oBACA,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAgB,CAAC,CAAC;oBACnD,OAAO;iBACR;gBAED,IAAI,OAAO,EAAE;oBACX,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;oBAClC,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;iBACxC;gBAED,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAEjC,IAAI,iBAAiB,IAAI,uBAAuB,IAAI,CAAC,UAAU,EAAE;oBAC/D,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;iBACjC;qBAAM;oBACL,yDAAyD;oBACzD,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;iBACrC;YACH,CAAC;YAED,4BAAU,GAAV,UACE,cAA2D;;gBAA3D,+BAAA,EAAA,iBAA0B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc;gBAErD,IAAA,KAgBF,IAAI,CAAC,KAAK,EAfD,IAAI,eAAA,EACf,QAAQ,cAAA,EACR,eAQC,EAPC,IAAI,UAAA,EACJ,EAAE,QAAA,EACF,KAAK,WAAA,EACL,IAAI,UAAA,EACM,gBAAgB,cAAA,EAC1B,SAAS,eAAA,EACT,SAAS,eAAA,EAEX,IAAI,UAAA,EACJ,GAAG,SAAA,EACH,gBAAgB,sBAAA,EAChB,YAAY,kBACA,CAAC;gBAEf,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACf,OAAO;iBACR;gBACD,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAClC,IAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAE3D,IAAI,QAAQ,KAAK,KAAK,EAAE;oBACtB,OAAO;iBACR;gBAED,IAAI,IAAI,KAAK,gBAAgB,EAAE;oBAC7B,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CACV;wBACE,SAAS,EAAE,gBAAgB;wBAC3B,SAAS,EAAE;4BACT,EAAE,IAAA;4BACF,IAAI,MAAA;4BACJ,KAAK,OAAA;4BACL,IAAI,MAAA;4BACJ,KAAK,OAAA;yBACN;qBACF,EACD,IAAI,CAAC,KAAK,CACX,CAAC;iBACH;gBAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACpC,IACE,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAK,KAAK,EAC/D;oBACA,OAAO;iBACR;gBACD,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;gBACvC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,KAAK,EAAE,IAAK,EAAE,cAAc,KAAK,IAAI,CAAC,CAAC;gBAElD;gBACE,uCAAuC;gBACvC,gCAAgC;gBAChC,gCAAgC;gBAChC,gBAAgB,KAAK,IAAI;oBACzB,CAAC,gBAAgB,KAAK,KAAK,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,EAC3D;oBACA,IAAI,CAAC,QAAQ,EAAE,CAAC;iBACjB;qBAAM,IAAI,gBAAgB,KAAK,KAAK,EAAE;oBACrC,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,EAAE,CAAC;iBACrB;YACH,CAAC;YAED,4BAAU,GAAV,UAAW,CAAM;gBACT,IAAA,KAGF,IAAI,CAAC,KAAK,EAFZ,MAAM,YAAA,EACI,cAAc,4BACZ,CAAC;gBAEf,IAAI,cAAc,IAAI,IAAI,CAAC,KAAK,EAAE;oBAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;iBACjB;gBAED,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC;YAED,mCAAiB,GAAjB,UAAkB,KAAU;gBAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACf,OAAO;iBACR;gBAEK,IAAA,KAOF,IAAI,CAAC,KAAK,EAND,IAAI,eAAA,EACf,IAAI,UAAA,EACM,OAAO,qBAAA,EACjB,QAAQ,cAAA,EACD,QAAQ,WAAA,EACf,IAAI,UACQ,CAAC;gBAEf,IAAI,OAAO,EAAE;oBACX,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;iBACxC;gBAED,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,KAAK,EAAE,IAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACxC,CAAC;YAED,0BAAQ,GAAR;gBACQ,IAAA,KAAsC,IAAI,CAAC,KAAK,EAApC,IAAI,eAAA,EAAW,OAAO,aAAc,CAAC;gBACvD,IAAI,KAAK,GAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;gBAElE,IAAI,OAAO,CAAC,MAAM,EAAE;oBAClB,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBACrC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC;YAED,+BAA+B;YAC/B,0BAAQ,GAAR,UAAS,KAAU,EAAE,GAAY;;gBACzB,IAAA,KAGF,IAAI,CAAC,KAAK,EAFF,IAAI,kBAAA,EACd,YAAY,kBACA,CAAC;gBAEf,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE;oBACxB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;iBAC1B;qBAAM;oBACL,YAAY;wBACV,YAAY;4BACV,GAAC,GAAG,IAAG,KAAK;gCACZ,CAAC;iBACN;YACH,CAAC;YAED,wBAAM,GAAN;gBACQ,IAAA,KAQF,IAAI,CAAC,KAAK,EAPZ,YAAY,kBAAA,EACZ,QAAQ,cAAA,EACR,QAAQ,cAAA,EACC,OAAO,aAAA,EAChB,KAAK,WAAA,EACL,IAAI,UAAA,EACJ,SAAS,eACG,CAAC;gBAEf,IAAI,SAAS,EAAE;oBACb,OAAO,IAAI,CAAC;iBACb;gBAED,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC9B,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAEzB,IAAM,aAAa,GAAQ;oBACzB,WAAW,EAAE,YAAY;oBACzB,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,OAAO,CAAC,QAAQ;oBACtC,QAAQ,EAAE,IAAI,CAAC,KAAK;oBACpB,QAAQ,EAAE,OAAO,CAAC,IAAI,IAAI,QAAQ;oBAClC,GAAG,EAAE,IAAI,CAAC,UAAU;oBACpB,IAAI,EAAE,IAAI,KAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAA;oBACzB,KAAK,OAAA;oBACL,YAAY,EAAE,OAAO,CAAC,KAAK;oBAC3B,aAAa,EAAE,KAAK;oBACpB,QAAQ,EAAE,IAAI,CAAC,YAAY;oBAC3B,MAAM,EAAE,IAAI,CAAC,UAAU;oBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;oBAC9C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;iBAC1C,CAAC;gBAEF,OAAO,CACL,8BAAC,iBAAiB,4BACX,IAAI,CAAC,KAGR,EACE,aAAa,EACjB,CACH,CAAC;YACJ,CAAC;YACH,cAAC;QAAD,CAAC,AA3oBD,CAAc,eAAK,CAAC,SAAS;QASpB,cAAW,GAAG,sBAAc;QAC5B,eAAY,GAAG,EAAG;YAkoBrB,CACT,EACD,iBAAiB,CAClB,CAAC;IAEF,OAAO,MAEN,CAAC;AACJ,CAAC;AAhqBD,kCAgqBC",
10
10
  "sourcesContent": [
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"
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 (!isEqual(props.value, prevProps.value) && !isEqual(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 !isEqual(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 (!isEqual(curResult, prevResult) && !isEqual(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 isEqual(props.defaultValue, prevProps.defaultValue)\n ) {\n // value 非公式表达式时,name 值优先,若 defaultValue 主动变动时,则使用 defaultValue\n if (\n // 然后才是查看关联的 name 属性值是否变化\n !isEqual(props.data, prevProps.data) &&\n (!model.emitedValue || isEqual(model.emitedValue, model.tmpValue))\n ) {\n model.changeEmitedValue(undefined);\n const prevValueByName = getVariable(props.data, model.name);\n if (\n (!isEqual(valueByName, prevValueByName) ||\n getVariable(props.data, model.name, false) !==\n getVariable(prevProps.data, model.name, false)) &&\n !isEqual(valueByName, model.tmpValue)\n ) {\n model.changeTmpValue(valueByName);\n }\n }\n } else if (\n typeof props.defaultValue !== 'undefined' &&\n !isEqual(props.defaultValue, prevProps.defaultValue) &&\n !isEqual(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
  }
@@ -1,6 +1,14 @@
1
1
  import React from 'react';
2
2
  import { FormControlProps } from './Form/Item';
3
3
  import { BaseSchema, SchemaClassName } from '../Schema';
4
+ export interface QRCodeImageSettings {
5
+ src: string;
6
+ height: number;
7
+ width: number;
8
+ excavate: boolean;
9
+ x?: number;
10
+ y?: number;
11
+ }
4
12
  /**
5
13
  * 二维码展示控件。
6
14
  * 文档:https://baidu.gitee.io/amis/docs/components/qrcode
@@ -36,11 +44,19 @@ export interface QRCodeSchema extends BaseSchema {
36
44
  * 占位符
37
45
  */
38
46
  placeholder?: string;
47
+ /**
48
+ * 图片配置
49
+ */
50
+ imageSettings?: QRCodeImageSettings;
39
51
  }
40
52
  export interface QRCodeProps extends FormControlProps, Omit<QRCodeSchema, 'type' | 'className'> {
41
53
  }
42
54
  export default class QRCode extends React.Component<QRCodeProps, any> {
43
55
  static defaultProps: Partial<QRCodeProps>;
56
+ /**
57
+ * 获取图片配置
58
+ */
59
+ getImageSettings(): QRCodeImageSettings | undefined;
44
60
  render(): JSX.Element;
45
61
  }
46
62
  export declare class QRCodeRenderer extends QRCode {