amis 1.6.2 → 1.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/lib/Schema.d.ts +3 -2
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/components/CalendarMobile.d.ts +84 -84
  4. package/lib/components/Card.d.ts +20 -20
  5. package/lib/components/Collapse.js +3 -2
  6. package/lib/components/Collapse.js.map +2 -2
  7. package/lib/components/ColorPicker.d.ts +84 -84
  8. package/lib/components/ColorPicker.js +1 -1
  9. package/lib/components/ColorPicker.js.map +2 -2
  10. package/lib/components/DatePicker.d.ts +84 -84
  11. package/lib/components/DatePicker.js +1 -1
  12. package/lib/components/DatePicker.js.map +2 -2
  13. package/lib/components/DateRangePicker.d.ts +84 -84
  14. package/lib/components/DateRangePicker.js +2 -2
  15. package/lib/components/DateRangePicker.js.map +2 -2
  16. package/lib/components/Editor.d.ts +84 -84
  17. package/lib/components/ListGroup.d.ts +21 -21
  18. package/lib/components/LocationPicker.d.ts +84 -84
  19. package/lib/components/LocationPicker.js +1 -1
  20. package/lib/components/LocationPicker.js.map +2 -2
  21. package/lib/components/MonthRangePicker.d.ts +84 -84
  22. package/lib/components/PickerContainer.d.ts +1 -0
  23. package/lib/components/PickerContainer.js +2 -2
  24. package/lib/components/PickerContainer.js.map +2 -2
  25. package/lib/components/ResultBox.js +1 -1
  26. package/lib/components/ResultBox.js.map +2 -2
  27. package/lib/components/Select.d.ts +237 -237
  28. package/lib/components/Tabs.d.ts +3 -2
  29. package/lib/components/Tabs.js.map +2 -2
  30. package/lib/components/calendar/Calendar.js +1 -2
  31. package/lib/components/calendar/Calendar.js.map +2 -2
  32. package/lib/components/condition-builder/Expression.d.ts +2 -0
  33. package/lib/components/condition-builder/Expression.js +2 -2
  34. package/lib/components/condition-builder/Expression.js.map +2 -2
  35. package/lib/components/condition-builder/Group.d.ts +3 -0
  36. package/lib/components/condition-builder/Group.js +3 -3
  37. package/lib/components/condition-builder/Group.js.map +2 -2
  38. package/lib/components/condition-builder/GroupOrItem.d.ts +2 -0
  39. package/lib/components/condition-builder/GroupOrItem.js +2 -2
  40. package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
  41. package/lib/components/condition-builder/Item.d.ts +2 -0
  42. package/lib/components/condition-builder/Item.js +4 -4
  43. package/lib/components/condition-builder/Item.js.map +2 -2
  44. package/lib/components/condition-builder/Value.d.ts +2 -0
  45. package/lib/components/condition-builder/Value.js +15 -2
  46. package/lib/components/condition-builder/Value.js.map +2 -2
  47. package/lib/components/condition-builder/index.d.ts +3 -0
  48. package/lib/components/condition-builder/index.js +2 -2
  49. package/lib/components/condition-builder/index.js.map +2 -2
  50. package/lib/components/formula/Editor.d.ts +88 -84
  51. package/lib/components/formula/Editor.js +22 -25
  52. package/lib/components/formula/Editor.js.map +2 -2
  53. package/lib/components/formula/FuncList.d.ts +3 -0
  54. package/lib/components/formula/FuncList.js +19 -9
  55. package/lib/components/formula/FuncList.js.map +2 -2
  56. package/lib/components/formula/Picker.d.ts +44 -0
  57. package/lib/components/formula/Picker.js +33 -8
  58. package/lib/components/formula/Picker.js.map +2 -2
  59. package/lib/components/formula/VariableList.d.ts +8 -1
  60. package/lib/components/formula/VariableList.js +13 -4
  61. package/lib/components/formula/VariableList.js.map +2 -2
  62. package/lib/components/icons.d.ts +3 -1
  63. package/lib/components/icons.js +7 -1
  64. package/lib/components/icons.js.map +2 -2
  65. package/lib/env.d.ts +4 -0
  66. package/lib/env.js.map +2 -2
  67. package/lib/factory.d.ts +4 -0
  68. package/lib/factory.js +5 -1
  69. package/lib/factory.js.map +2 -2
  70. package/lib/helper.css.map +1 -1
  71. package/lib/icons/function.js +7 -0
  72. package/lib/icons/input-clear.js +7 -0
  73. package/lib/index.d.ts +1 -0
  74. package/lib/index.js +2 -1
  75. package/lib/index.js.map +2 -2
  76. package/lib/locale/de-DE.js +8 -1
  77. package/lib/locale/de-DE.js.map +2 -2
  78. package/lib/locale/en-US.js +5 -1
  79. package/lib/locale/en-US.js.map +2 -2
  80. package/lib/locale/zh-CN.js +8 -1
  81. package/lib/locale/zh-CN.js.map +2 -2
  82. package/lib/renderers/Breadcrumb.js.map +2 -2
  83. package/lib/renderers/CRUD.js +4 -3
  84. package/lib/renderers/CRUD.js.map +2 -2
  85. package/lib/renderers/Calendar.d.ts +45 -0
  86. package/lib/renderers/Calendar.js +21 -0
  87. package/lib/renderers/Calendar.js.map +13 -0
  88. package/lib/renderers/Card.js +2 -2
  89. package/lib/renderers/Card.js.map +2 -2
  90. package/lib/renderers/Form/ConditionBuilder.d.ts +8 -0
  91. package/lib/renderers/Form/ConditionBuilder.js.map +2 -2
  92. package/lib/renderers/Form/IconPicker.d.ts +2 -0
  93. package/lib/renderers/Form/IconPicker.js +22 -2
  94. package/lib/renderers/Form/IconPicker.js.map +2 -2
  95. package/lib/renderers/Form/InputCity.d.ts +84 -84
  96. package/lib/renderers/Form/InputColor.d.ts +84 -84
  97. package/lib/renderers/Form/InputColor.js +1 -1
  98. package/lib/renderers/Form/InputColor.js.map +2 -2
  99. package/lib/renderers/Form/InputDate.d.ts +0 -18
  100. package/lib/renderers/Form/InputDate.js +1 -1
  101. package/lib/renderers/Form/InputDate.js.map +2 -2
  102. package/lib/renderers/Form/InputDateRange.js +1 -1
  103. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  104. package/lib/renderers/Form/InputFormula.d.ts +42 -0
  105. package/lib/renderers/Form/InputFormula.js +6 -2
  106. package/lib/renderers/Form/InputFormula.js.map +2 -2
  107. package/lib/renderers/Form/InputText.d.ts +5 -0
  108. package/lib/renderers/Form/InputText.js +22 -4
  109. package/lib/renderers/Form/InputText.js.map +2 -2
  110. package/lib/renderers/Form/Picker.js +1 -1
  111. package/lib/renderers/Form/Picker.js.map +2 -2
  112. package/lib/renderers/Form/Textarea.d.ts +12 -0
  113. package/lib/renderers/Form/Textarea.js +31 -15
  114. package/lib/renderers/Form/Textarea.js.map +2 -2
  115. package/lib/renderers/Form/Transfer.d.ts +1 -1
  116. package/lib/renderers/Form/Transfer.js +7 -1
  117. package/lib/renderers/Form/Transfer.js.map +2 -2
  118. package/lib/renderers/Form/index.js +4 -0
  119. package/lib/renderers/Form/index.js.map +2 -2
  120. package/lib/renderers/IFrame.js +8 -3
  121. package/lib/renderers/IFrame.js.map +2 -2
  122. package/lib/renderers/Tpl.js +1 -1
  123. package/lib/renderers/Tpl.js.map +2 -2
  124. package/lib/schemaExtend.js +11 -8
  125. package/lib/schemaExtend.js.map +2 -2
  126. package/lib/themes/ang-ie11.css +427 -141
  127. package/lib/themes/ang.css +427 -141
  128. package/lib/themes/ang.css.map +1 -1
  129. package/lib/themes/antd-ie11.css +427 -141
  130. package/lib/themes/antd.css +427 -141
  131. package/lib/themes/antd.css.map +1 -1
  132. package/lib/themes/cxd-ie11.css +432 -152
  133. package/lib/themes/cxd.css +432 -152
  134. package/lib/themes/cxd.css.map +1 -1
  135. package/lib/themes/dark-ie11.css +427 -141
  136. package/lib/themes/dark.css +427 -141
  137. package/lib/themes/dark.css.map +1 -1
  138. package/lib/themes/default.css +432 -152
  139. package/lib/themes/default.css.map +1 -1
  140. package/lib/utils/api.js +22 -9
  141. package/lib/utils/api.js.map +2 -2
  142. package/lib/utils/helper.d.ts +1 -0
  143. package/lib/utils/helper.js +10 -1
  144. package/lib/utils/helper.js.map +2 -2
  145. package/package.json +2 -2
  146. package/schema.json +201 -66
  147. package/scss/_mixins.scss +10 -5
  148. package/scss/_properties.scss +11 -0
  149. package/scss/components/_collapse-group.scss +4 -0
  150. package/scss/components/_condition-builder.scss +8 -1
  151. package/scss/components/_formula.scss +247 -74
  152. package/scss/components/_result-box.scss +0 -13
  153. package/scss/components/form/_color.scss +0 -2
  154. package/scss/components/form/_date-range.scss +14 -7
  155. package/scss/components/form/_date.scss +14 -7
  156. package/scss/components/form/_form.scss +1 -0
  157. package/scss/components/form/_icon-picker.scss +2 -0
  158. package/scss/components/form/_location.scss +0 -1
  159. package/scss/components/form/_picker.scss +0 -1
  160. package/scss/components/form/_text.scss +6 -7
  161. package/scss/components/form/_textarea.scss +16 -0
  162. package/scss/components/form/_transfer.scss +2 -1
  163. package/scss/themes/_cxd-variables.scss +5 -3
  164. package/scss/themes/cxd.scss +0 -13
  165. package/sdk/ang-ie11.css +467 -126
  166. package/sdk/ang.css +486 -141
  167. package/sdk/antd-ie11.css +467 -126
  168. package/sdk/antd.css +486 -141
  169. package/sdk/charts.js +17 -17
  170. package/sdk/codemirror.js +7 -7
  171. package/sdk/color-picker.js +65 -69
  172. package/sdk/cropperjs.js +3 -3
  173. package/sdk/cxd-ie11.css +474 -142
  174. package/sdk/cxd.css +491 -153
  175. package/sdk/dark-ie11.css +467 -126
  176. package/sdk/dark.css +486 -141
  177. package/sdk/exceljs.js +1 -1
  178. package/sdk/helper.css.map +1 -1
  179. package/sdk/locale/de-DE.js +8 -1
  180. package/sdk/markdown.js +69 -69
  181. package/sdk/papaparse.js +1 -1
  182. package/sdk/renderers/Form/CityDB.js +1 -1
  183. package/sdk/rest.js +20 -16
  184. package/sdk/rich-text.js +62 -62
  185. package/sdk/sdk-ie11.css +474 -142
  186. package/sdk/sdk.css +491 -153
  187. package/sdk/sdk.js +1351 -1273
  188. package/sdk/thirds/hls.js/hls.js +18 -18
  189. package/sdk/thirds/mpegts.js/mpegts.js +2 -2
  190. package/sdk/tinymce.js +57 -57
  191. package/src/Schema.ts +3 -0
  192. package/src/components/Collapse.tsx +4 -1
  193. package/src/components/ColorPicker.tsx +1 -1
  194. package/src/components/DatePicker.tsx +1 -1
  195. package/src/components/DateRangePicker.tsx +2 -2
  196. package/src/components/LocationPicker.tsx +1 -1
  197. package/src/components/PickerContainer.tsx +3 -1
  198. package/src/components/ResultBox.tsx +1 -1
  199. package/src/components/Tabs.tsx +4 -2
  200. package/src/components/calendar/Calendar.tsx +1 -2
  201. package/src/components/condition-builder/Expression.tsx +5 -2
  202. package/src/components/condition-builder/Group.tsx +8 -2
  203. package/src/components/condition-builder/GroupOrItem.tsx +5 -1
  204. package/src/components/condition-builder/Item.tsx +7 -1
  205. package/src/components/condition-builder/Value.tsx +17 -4
  206. package/src/components/condition-builder/index.tsx +8 -1
  207. package/src/components/formula/Editor.tsx +43 -23
  208. package/src/components/formula/FuncList.tsx +74 -44
  209. package/src/components/formula/Picker.tsx +161 -23
  210. package/src/components/formula/VariableList.tsx +54 -9
  211. package/src/components/icons.tsx +7 -1
  212. package/src/env.tsx +5 -0
  213. package/src/factory.tsx +9 -1
  214. package/src/icons/function.svg +4 -0
  215. package/src/icons/input-clear.svg +1 -0
  216. package/src/index.tsx +1 -0
  217. package/src/locale/de-DE.ts +8 -1
  218. package/src/locale/en-US.ts +5 -1
  219. package/src/locale/zh-CN.ts +8 -1
  220. package/src/renderers/Breadcrumb.tsx +0 -1
  221. package/src/renderers/CRUD.tsx +6 -3
  222. package/src/renderers/Calendar.tsx +43 -0
  223. package/src/renderers/Card.tsx +12 -2
  224. package/src/renderers/Form/ConditionBuilder.tsx +11 -0
  225. package/src/renderers/Form/IconPicker.tsx +29 -0
  226. package/src/renderers/Form/InputColor.tsx +1 -1
  227. package/src/renderers/Form/InputDate.tsx +1 -21
  228. package/src/renderers/Form/InputDateRange.tsx +1 -1
  229. package/src/renderers/Form/InputFormula.tsx +103 -3
  230. package/src/renderers/Form/InputText.tsx +30 -5
  231. package/src/renderers/Form/Picker.tsx +1 -1
  232. package/src/renderers/Form/Textarea.tsx +46 -22
  233. package/src/renderers/Form/Transfer.tsx +6 -1
  234. package/src/renderers/Form/index.tsx +16 -1
  235. package/src/renderers/IFrame.tsx +8 -10
  236. package/src/renderers/Tpl.tsx +3 -1
  237. package/src/schemaExtend.ts +11 -7
  238. package/src/utils/api.ts +25 -10
  239. package/src/utils/helper.ts +11 -1
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/InputText.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 {\n OptionsControl,\n OptionsControlProps,\n highlight,\n FormOptionsControl\n} from './Options';\nimport {Action} from '../../types';\nimport Downshift, {StateChangeOptions} from 'downshift';\nimport {matchSorter} from 'match-sorter';\nimport debouce from 'lodash/debounce';\nimport {filter} from '../../utils/tpl';\nimport find from 'lodash/find';\nimport {Icon} from '../../components/icons';\nimport Input from '../../components/Input';\nimport {autobind, createObject, setVariable, ucFirst} from '../../utils/helper';\nimport {isEffectiveApi} from '../../utils/api';\nimport Spinner from '../../components/Spinner';\nimport {FormBaseControl} from './Item';\nimport {ActionSchema} from '../Action';\nimport {SchemaApi} from '../../Schema';\nimport {generateIcon} from '../../utils/icon';\n\n// declare function matchSorter(items:Array<any>, input:any, options:any): Array<any>;\n\n/**\n * Text 文本输入框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/text\n */\nexport interface TextControlSchema extends FormOptionsControl {\n type:\n | 'input-text'\n | 'input-email'\n | 'input-url'\n | 'input-password'\n | 'native-date'\n | 'native-time'\n | 'native-number';\n\n addOn?: {\n position?: 'left' | 'right';\n label?: string;\n icon?: string;\n className?: string;\n } & ActionSchema;\n\n /**\n * 是否去除首尾空白文本。\n */\n trimContents?: boolean;\n\n /**\n * 自动完成 API,当输入部分文字的时候,会将这些文字通过 ${term} 可以取到,发送给接口。\n * 接口可以返回匹配到的选项,帮助用户输入。\n */\n autoComplete?: SchemaApi;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 限制文字个数\n */\n maxLength?: number;\n\n /**\n * 是否显示计数\n */\n showCounter?: boolean;\n}\n\nexport interface TextProps extends OptionsControlProps {\n placeholder?: string;\n addOn?: Action & {\n position?: 'left' | 'right';\n label?: string;\n icon?: string;\n className?: string;\n };\n creatable?: boolean;\n clearable: boolean;\n resetValue?: any;\n autoComplete?: any;\n allowInputText?: boolean;\n spinnerClassName: string;\n}\n\nexport interface TextState {\n isOpen?: boolean;\n inputValue?: string;\n isFocused?: boolean;\n}\n\nexport default class TextControl extends React.PureComponent<\n TextProps,\n TextState\n> {\n input?: HTMLInputElement;\n\n highlightedIndex?: any;\n unHook: Function;\n constructor(props: TextProps) {\n super(props);\n\n const value = props.value;\n this.state = {\n isOpen: false,\n inputValue:\n props.multiple || props.creatable === false\n ? ''\n : this.valueToString(value),\n isFocused: false\n };\n this.focus = this.focus.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.inputRef = this.inputRef.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleStateChange = this.handleStateChange.bind(this);\n this.loadAutoComplete = debouce(this.loadAutoComplete.bind(this), 250, {\n trailing: true,\n leading: false\n });\n }\n\n static defaultProps: Partial<TextProps> = {\n resetValue: '',\n labelField: 'label',\n valueField: 'value',\n placeholder: '',\n allowInputText: true,\n trimContents: true\n };\n\n componentDidMount() {\n const {formItem, autoComplete, addHook, formInited, data, name} =\n this.props;\n\n if (isEffectiveApi(autoComplete, data) && formItem) {\n if (formInited) {\n formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: ''\n })\n );\n } else {\n this.unHook = addHook(async (data: any) => {\n await formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: ''\n })\n );\n\n if (formItem.value) {\n setVariable(data, name!, formItem.value);\n }\n }, 'init');\n }\n }\n }\n\n componentDidUpdate(prevProps: TextProps) {\n const props = this.props;\n\n if (prevProps.value !== props.value) {\n this.setState({\n inputValue:\n props.multiple || props.creatable === false\n ? ''\n : this.valueToString(props.value)\n });\n }\n }\n\n componentWillUnmount() {\n this.unHook && this.unHook();\n }\n\n inputRef(ref: any) {\n this.input = ref;\n }\n\n focus() {\n if (!this.input) {\n return;\n }\n\n this.input.focus();\n\n // 光标放到最后\n const len = this.input.value.length;\n len && this.input.setSelectionRange(len, len);\n }\n\n clearValue() {\n const {onChange, resetValue} = this.props;\n\n onChange(resetValue);\n this.setState(\n {\n inputValue: resetValue\n },\n () => {\n this.focus();\n this.loadAutoComplete();\n }\n );\n }\n\n removeItem(index: number) {\n const {\n selectedOptions,\n onChange,\n joinValues,\n extractValue,\n delimiter,\n valueField\n } = this.props;\n\n const newValue = selectedOptions.concat();\n newValue.splice(index, 1);\n\n onChange(\n joinValues\n ? newValue\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',')\n : extractValue\n ? newValue.map(item => item[valueField || 'value'])\n : newValue\n );\n }\n\n handleClick() {\n this.focus();\n this.setState({\n isOpen: true\n });\n }\n\n handleFocus(e: any) {\n this.setState({\n isOpen: true,\n isFocused: true\n });\n\n this.props.onFocus && this.props.onFocus(e);\n }\n\n handleBlur(e: any) {\n const {onBlur, trimContents, value, onChange} = this.props;\n\n this.setState(\n {\n isFocused: false\n },\n () => {\n if (trimContents && value && typeof value === 'string') {\n onChange(value.trim());\n }\n }\n );\n\n onBlur && onBlur(e);\n }\n\n handleInputChange(evt: React.ChangeEvent<HTMLInputElement>) {\n let value = evt.currentTarget.value;\n const {creatable, multiple, onChange} = this.props;\n\n this.setState(\n {\n inputValue: value\n },\n () => {\n if (creatable !== false && !multiple) {\n onChange?.(value);\n }\n\n this.loadAutoComplete();\n }\n );\n }\n\n handleKeyDown(evt: React.KeyboardEvent<HTMLInputElement>) {\n const {\n selectedOptions,\n onChange,\n joinValues,\n extractValue,\n delimiter,\n multiple,\n valueField,\n creatable\n } = this.props;\n\n if (selectedOptions.length && !this.state.inputValue && evt.keyCode === 8) {\n evt.preventDefault();\n const newValue = selectedOptions.concat();\n newValue.pop();\n\n onChange(\n joinValues\n ? newValue\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',')\n : extractValue\n ? newValue.map(item => item[valueField || 'value'])\n : newValue\n );\n this.setState(\n {\n inputValue: ''\n },\n this.loadAutoComplete\n );\n } else if (\n evt.keyCode === 13 &&\n this.state.inputValue &&\n typeof this.highlightedIndex !== 'number'\n ) {\n evt.preventDefault();\n const value = this.state.inputValue;\n\n if (multiple) {\n if (value && !find(selectedOptions, item => item.value == value)) {\n const newValue = selectedOptions.concat();\n newValue.push({\n label: value,\n value: value\n });\n\n onChange(\n joinValues\n ? newValue\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',')\n : extractValue\n ? newValue.map(item => item[valueField || 'value'])\n : newValue\n );\n }\n } else {\n onChange(value);\n }\n\n if (creatable === false || multiple) {\n this.setState(\n {\n inputValue: '',\n isOpen: false\n },\n this.loadAutoComplete\n );\n }\n } else if (\n evt.keyCode === 13 &&\n this.state.isOpen &&\n typeof this.highlightedIndex !== 'number'\n ) {\n this.setState({\n isOpen: false\n });\n }\n }\n\n handleChange(value: any) {\n const {\n onChange,\n multiple,\n joinValues,\n extractValue,\n delimiter,\n selectedOptions,\n valueField,\n creatable\n } = this.props;\n\n if (multiple) {\n const newValue = selectedOptions.concat();\n newValue.push({\n label: value,\n value: value\n });\n\n onChange(\n joinValues\n ? newValue\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',')\n : extractValue\n ? newValue.map(item => item[valueField || 'value'])\n : newValue\n );\n } else {\n onChange(value);\n }\n\n if (multiple || creatable === false) {\n this.setState(\n {\n inputValue: ''\n },\n this.loadAutoComplete\n );\n }\n }\n\n handleStateChange(changes: StateChangeOptions<any>) {\n const creatable = this.props.creatable;\n const multiple = this.props.multiple || this.props.multi;\n switch (changes.type) {\n case Downshift.stateChangeTypes.itemMouseEnter:\n this.setState({\n isOpen: true\n });\n break;\n case Downshift.stateChangeTypes.changeInput:\n this.setState({\n isOpen: true\n });\n break;\n default:\n const state: TextState = {};\n if (typeof changes.isOpen !== 'undefined') {\n state.isOpen = changes.isOpen;\n }\n\n if (typeof changes.highlightedIndex !== 'undefined') {\n this.highlightedIndex = changes.highlightedIndex;\n }\n\n // 输入框清空\n if (\n !multiple &&\n creatable === false &&\n this.state.isOpen &&\n changes.isOpen === false\n ) {\n state.inputValue = '';\n }\n\n this.setState(state);\n break;\n }\n }\n\n @autobind\n handleNormalInputChange(e: React.ChangeEvent<HTMLInputElement>) {\n const {onChange} = this.props;\n\n let value = e.currentTarget.value;\n\n onChange(value);\n }\n\n loadAutoComplete() {\n const {formItem, autoComplete, data, multiple, selectedOptions} =\n this.props;\n\n if (isEffectiveApi(autoComplete, data) && formItem) {\n formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: this.state.inputValue || '' // (multiple ? '' : selectedOptions[selectedOptions.length - 1]?.value)\n }),\n {\n extendsOptions: true\n }\n );\n }\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n valueToString(value: any) {\n return typeof value === 'undefined' || value === null\n ? ''\n : typeof value === 'string'\n ? value\n : JSON.stringify(value);\n }\n\n renderSugestMode() {\n const {\n className,\n inputOnly,\n value,\n placeholder,\n classnames: cx,\n disabled,\n name,\n loading,\n clearable,\n options,\n selectedOptions,\n autoComplete,\n labelField,\n valueField,\n multiple,\n creatable,\n borderMode,\n translate: __\n } = this.props;\n let type = this.props.type?.replace(/^(?:native|input)\\-/, '');\n\n return (\n <Downshift\n isOpen={this.state.isOpen && !disabled}\n inputValue={this.state.inputValue}\n onChange={this.handleChange}\n onStateChange={this.handleStateChange}\n selectedItem={selectedOptions.map(item => item[valueField || 'value'])}\n >\n {({\n getInputProps,\n getItemProps,\n isOpen,\n inputValue,\n selectedItem,\n highlightedIndex\n }) => {\n let filtedOptions =\n inputValue && isOpen && !autoComplete\n ? matchSorter(options, inputValue, {\n keys: [labelField || 'label', valueField || 'value']\n })\n : options;\n const indices = isOpen\n ? mapItemIndex(filtedOptions, selectedItem)\n : {};\n filtedOptions = filtedOptions.filter(\n (option: any) => !~selectedItem.indexOf(option.value)\n );\n\n return (\n <div\n className={cx(\n `TextControl-input TextControl-input--withAC`,\n inputOnly ? className : '',\n {\n 'is-opened': isOpen,\n 'TextControl-input--multiple': multiple,\n [`TextControl-input--border${ucFirst(borderMode)}`]:\n borderMode\n }\n )}\n onClick={this.handleClick}\n >\n <>\n {placeholder &&\n !selectedOptions.length &&\n !this.state.inputValue &&\n !this.state.isFocused ? (\n <div className={cx('TextControl-placeholder')}>\n {placeholder}\n </div>\n ) : null}\n\n {selectedOptions.map((item, index) =>\n multiple ? (\n <div className={cx('TextControl-value')} key={index}>\n <span\n className={cx('TextControl-valueIcon')}\n onClick={this.removeItem.bind(this, index)}\n >\n ×\n </span>\n <span className={cx('TextControl-valueLabel')}>\n {`${item[labelField || 'label']}`}\n </span>\n </div>\n ) : (inputValue && isOpen) || creatable !== false ? null : (\n <div className={cx('TextControl-value')} key={index}>\n {item.label}\n </div>\n )\n )}\n\n <Input\n {...getInputProps({\n name,\n ref: this.inputRef,\n disabled,\n type,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onChange: this.handleInputChange,\n onKeyDown: this.handleKeyDown\n })}\n autoComplete=\"off\"\n size={10}\n />\n </>\n\n {clearable && !disabled && value ? (\n <a\n onClick={this.clearValue}\n className={cx('TextControl-clear')}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n\n {loading ? (\n <Spinner\n show\n icon=\"reload\"\n spinnerClassName={cx('TextControl-spinner')}\n />\n ) : null}\n\n {isOpen && filtedOptions.length ? (\n <div className={cx('TextControl-sugs')}>\n {filtedOptions.map((option: any) => {\n return (\n <div\n {...getItemProps({\n item: option.value,\n disabled: option.disabled,\n className: cx(`TextControl-sugItem`, {\n 'is-highlight':\n highlightedIndex === indices[option.value],\n 'is-disabled': option.disabled\n })\n })}\n key={option.value}\n >\n <span>\n {option.disabled\n ? option.label\n : highlight(option.label, inputValue as string)}\n {option.tip}\n </span>\n </div>\n );\n })}\n </div>\n ) : null}\n </div>\n );\n }}\n </Downshift>\n );\n }\n\n renderNormal(): JSX.Element {\n const {\n classPrefix: ns,\n classnames: cx,\n className,\n inputOnly,\n value,\n placeholder,\n onChange,\n disabled,\n readOnly,\n max,\n min,\n step,\n clearable,\n name,\n borderMode,\n prefix,\n suffix,\n data,\n showCounter,\n maxLength\n } = this.props;\n\n const type = this.props.type?.replace(/^(?:native|input)\\-/, '');\n\n return (\n <div\n className={cx(\n 'TextControl-input',\n {\n [`TextControl-input--border${ucFirst(borderMode)}`]: borderMode\n },\n inputOnly ? className : ''\n )}\n >\n {prefix ? (\n <span className={cx('TextControl-inputPrefix')}>\n {filter(prefix, data)}\n </span>\n ) : null}\n <input\n name={name}\n placeholder={placeholder}\n ref={this.inputRef}\n disabled={disabled}\n readOnly={readOnly}\n type={type}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n max={max}\n min={min}\n autoComplete=\"off\"\n size={10}\n step={step}\n onChange={this.handleNormalInputChange}\n value={this.valueToString(value)}\n />\n {clearable && !disabled && value ? (\n <a onClick={this.clearValue} className={`${ns}TextControl-clear`}>\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n {showCounter ? (\n <span className={cx('TextControl-counter')}>\n {`${\n (typeof value === 'undefined' || value === null\n ? ''\n : typeof value === 'string'\n ? value\n : JSON.stringify(value)\n ).length\n }${\n typeof maxLength === 'number' && maxLength ? `/${maxLength}` : ''\n }`}\n </span>\n ) : null}\n {suffix ? (\n <span className={cx('TextControl-inputSuffix')}>\n {filter(suffix, data)}\n </span>\n ) : null}\n </div>\n );\n }\n\n render(): JSX.Element {\n const {\n classnames: cx,\n className,\n classPrefix: ns,\n options,\n source,\n autoComplete,\n addOn: addOnRaw,\n render,\n data,\n disabled,\n inputOnly\n } = this.props;\n\n const addOn: any =\n typeof addOnRaw === 'string'\n ? {\n label: addOnRaw,\n type: 'plain'\n }\n : addOnRaw;\n\n let input =\n autoComplete !== false && (source || options.length || autoComplete)\n ? this.renderSugestMode()\n : this.renderNormal();\n\n const iconElement = generateIcon(cx, addOn?.icon, 'Icon');\n\n let addOnDom = addOn ? (\n addOn.actionType ||\n ~['button', 'submit', 'reset', 'action'].indexOf(addOn.type) ? (\n <div className={cx(`${ns}TextControl-button`, addOn.className)}>\n {render('addOn', addOn, {\n disabled\n })}\n </div>\n ) : (\n <div className={cx(`${ns}TextControl-addOn`, addOn.className)}>\n {addOn.label ? filter(addOn.label, data) : null}\n {iconElement}\n </div>\n )\n ) : null;\n\n if (inputOnly) {\n return input;\n }\n\n return (\n <div\n className={cx(className, `${ns}TextControl`, {\n [`${ns}TextControl--withAddOn`]: !!addOnDom,\n 'is-focused': this.state.isFocused,\n 'is-disabled': disabled\n })}\n >\n {addOn && addOn.position === 'left' ? addOnDom : null}\n {input}\n {addOn && addOn.position !== 'left' ? addOnDom : null}\n </div>\n );\n }\n}\n\nexport function mapItemIndex(\n items: Array<any>,\n values: Array<any>,\n valueField: string = 'value'\n) {\n return items\n .filter(item => values.indexOf(item[valueField || 'value']) === -1)\n .reduce((prev, next, i) => {\n prev[next[valueField || 'value']] = i;\n return prev;\n }, {});\n}\n\n@OptionsControl({\n type: 'input-text'\n})\nexport class TextControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-password'\n})\nexport class PasswordControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-email',\n validations: 'isEmail'\n})\nexport class EmailControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-url',\n validations: 'isUrl'\n})\nexport class UrlControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-date'\n})\nexport class NativeDateControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-time'\n})\nexport class NativeTimeControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-number'\n})\nexport class NativeNumberControlRenderer extends TextControl {}\n"
11
+ "import React from 'react';\nimport {\n OptionsControl,\n OptionsControlProps,\n highlight,\n FormOptionsControl\n} from './Options';\nimport {Action} from '../../types';\nimport Downshift, {StateChangeOptions} from 'downshift';\nimport {matchSorter} from 'match-sorter';\nimport debouce from 'lodash/debounce';\nimport {filter} from '../../utils/tpl';\nimport find from 'lodash/find';\nimport {Icon} from '../../components/icons';\nimport Input from '../../components/Input';\nimport {autobind, createObject, setVariable, ucFirst} from '../../utils/helper';\nimport {isEffectiveApi} from '../../utils/api';\nimport Spinner from '../../components/Spinner';\nimport {FormBaseControl} from './Item';\nimport {ActionSchema} from '../Action';\nimport {SchemaApi} from '../../Schema';\nimport {generateIcon} from '../../utils/icon';\n\n// declare function matchSorter(items:Array<any>, input:any, options:any): Array<any>;\n\n/**\n * Text 文本输入框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/text\n */\nexport interface TextControlSchema extends FormOptionsControl {\n type:\n | 'input-text'\n | 'input-email'\n | 'input-url'\n | 'input-password'\n | 'native-date'\n | 'native-time'\n | 'native-number';\n\n addOn?: {\n position?: 'left' | 'right';\n label?: string;\n icon?: string;\n className?: string;\n } & ActionSchema;\n\n /**\n * 是否去除首尾空白文本。\n */\n trimContents?: boolean;\n\n /**\n * 自动完成 API,当输入部分文字的时候,会将这些文字通过 ${term} 可以取到,发送给接口。\n * 接口可以返回匹配到的选项,帮助用户输入。\n */\n autoComplete?: SchemaApi;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 限制文字个数\n */\n maxLength?: number;\n\n /**\n * 是否显示计数\n */\n showCounter?: boolean;\n}\n\nexport interface TextProps extends OptionsControlProps {\n placeholder?: string;\n addOn?: Action & {\n position?: 'left' | 'right';\n label?: string;\n icon?: string;\n className?: string;\n };\n creatable?: boolean;\n clearable: boolean;\n resetValue?: any;\n autoComplete?: any;\n allowInputText?: boolean;\n spinnerClassName: string;\n transform?: {\n lowerCase?: boolean; // 用户输入的字符自动转小写\n upperCase?: boolean; // 用户输入的字符自动转大写\n };\n}\n\nexport interface TextState {\n isOpen?: boolean;\n inputValue?: string;\n isFocused?: boolean;\n}\n\nexport default class TextControl extends React.PureComponent<\n TextProps,\n TextState\n> {\n input?: HTMLInputElement;\n\n highlightedIndex?: any;\n unHook: Function;\n constructor(props: TextProps) {\n super(props);\n\n const value = props.value;\n this.state = {\n isOpen: false,\n inputValue:\n props.multiple || props.creatable === false\n ? ''\n : this.valueToString(value),\n isFocused: false\n };\n this.focus = this.focus.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.inputRef = this.inputRef.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleStateChange = this.handleStateChange.bind(this);\n this.loadAutoComplete = debouce(this.loadAutoComplete.bind(this), 250, {\n trailing: true,\n leading: false\n });\n }\n\n static defaultProps: Partial<TextProps> = {\n resetValue: '',\n labelField: 'label',\n valueField: 'value',\n placeholder: '',\n allowInputText: true,\n trimContents: true\n };\n\n componentDidMount() {\n const {formItem, autoComplete, addHook, formInited, data, name} =\n this.props;\n\n if (isEffectiveApi(autoComplete, data) && formItem) {\n if (formInited) {\n formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: ''\n })\n );\n } else {\n this.unHook = addHook(async (data: any) => {\n await formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: ''\n })\n );\n\n if (formItem.value) {\n setVariable(data, name!, formItem.value);\n }\n }, 'init');\n }\n }\n }\n\n componentDidUpdate(prevProps: TextProps) {\n const props = this.props;\n\n if (prevProps.value !== props.value) {\n this.setState({\n inputValue:\n props.multiple || props.creatable === false\n ? ''\n : this.valueToString(props.value)\n });\n }\n }\n\n componentWillUnmount() {\n this.unHook && this.unHook();\n }\n\n inputRef(ref: any) {\n this.input = ref;\n }\n\n focus() {\n if (!this.input) {\n return;\n }\n\n this.input.focus();\n\n // 光标放到最后\n const len = this.input.value.length;\n len && this.input.setSelectionRange(len, len);\n }\n\n clearValue() {\n const {onChange, resetValue} = this.props;\n\n onChange(resetValue);\n this.setState(\n {\n inputValue: resetValue\n },\n () => {\n this.focus();\n this.loadAutoComplete();\n }\n );\n }\n\n removeItem(index: number) {\n const {\n selectedOptions,\n onChange,\n joinValues,\n extractValue,\n delimiter,\n valueField\n } = this.props;\n\n const newValue = selectedOptions.concat();\n newValue.splice(index, 1);\n\n onChange(\n joinValues\n ? newValue\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',')\n : extractValue\n ? newValue.map(item => item[valueField || 'value'])\n : newValue\n );\n }\n\n handleClick() {\n this.focus();\n this.setState({\n isOpen: true\n });\n }\n\n handleFocus(e: any) {\n this.setState({\n isOpen: true,\n isFocused: true\n });\n\n this.props.onFocus && this.props.onFocus(e);\n }\n\n handleBlur(e: any) {\n const {onBlur, trimContents, value, onChange} = this.props;\n\n this.setState(\n {\n isFocused: false\n },\n () => {\n if (trimContents && value && typeof value === 'string') {\n onChange(value.trim());\n }\n }\n );\n\n onBlur && onBlur(e);\n }\n\n handleInputChange(evt: React.ChangeEvent<HTMLInputElement>) {\n let value = evt.currentTarget.value;\n const {creatable, multiple, onChange} = this.props;\n\n this.setState(\n {\n inputValue: value\n },\n () => {\n if (creatable !== false && !multiple) {\n onChange?.(value);\n }\n\n this.loadAutoComplete();\n }\n );\n }\n\n handleKeyDown(evt: React.KeyboardEvent<HTMLInputElement>) {\n const {\n selectedOptions,\n onChange,\n joinValues,\n extractValue,\n delimiter,\n multiple,\n valueField,\n creatable\n } = this.props;\n\n if (selectedOptions.length && !this.state.inputValue && evt.keyCode === 8) {\n evt.preventDefault();\n const newValue = selectedOptions.concat();\n newValue.pop();\n\n onChange(\n joinValues\n ? newValue\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',')\n : extractValue\n ? newValue.map(item => item[valueField || 'value'])\n : newValue\n );\n this.setState(\n {\n inputValue: ''\n },\n this.loadAutoComplete\n );\n } else if (\n evt.keyCode === 13 &&\n this.state.inputValue &&\n typeof this.highlightedIndex !== 'number'\n ) {\n evt.preventDefault();\n const value = this.state.inputValue;\n\n if (multiple) {\n if (value && !find(selectedOptions, item => item.value == value)) {\n const newValue = selectedOptions.concat();\n newValue.push({\n label: value,\n value: value\n });\n\n onChange(\n joinValues\n ? newValue\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',')\n : extractValue\n ? newValue.map(item => item[valueField || 'value'])\n : newValue\n );\n }\n } else {\n onChange(value);\n }\n\n if (creatable === false || multiple) {\n this.setState(\n {\n inputValue: '',\n isOpen: false\n },\n this.loadAutoComplete\n );\n }\n } else if (\n evt.keyCode === 13 &&\n this.state.isOpen &&\n typeof this.highlightedIndex !== 'number'\n ) {\n this.setState({\n isOpen: false\n });\n }\n }\n\n handleChange(value: any) {\n const {\n onChange,\n multiple,\n joinValues,\n extractValue,\n delimiter,\n selectedOptions,\n valueField,\n creatable\n } = this.props;\n\n if (multiple) {\n const newValue = selectedOptions.concat();\n newValue.push({\n label: value,\n value: value\n });\n\n onChange(\n joinValues\n ? newValue\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',')\n : extractValue\n ? newValue.map(item => item[valueField || 'value'])\n : newValue\n );\n } else {\n onChange(value);\n }\n\n if (multiple || creatable === false) {\n this.setState(\n {\n inputValue: ''\n },\n this.loadAutoComplete\n );\n }\n }\n\n handleStateChange(changes: StateChangeOptions<any>) {\n const creatable = this.props.creatable;\n const multiple = this.props.multiple || this.props.multi;\n switch (changes.type) {\n case Downshift.stateChangeTypes.itemMouseEnter:\n this.setState({\n isOpen: true\n });\n break;\n case Downshift.stateChangeTypes.changeInput:\n this.setState({\n isOpen: true\n });\n break;\n default:\n const state: TextState = {};\n if (typeof changes.isOpen !== 'undefined') {\n state.isOpen = changes.isOpen;\n }\n\n if (typeof changes.highlightedIndex !== 'undefined') {\n this.highlightedIndex = changes.highlightedIndex;\n }\n\n // 输入框清空\n if (\n !multiple &&\n creatable === false &&\n this.state.isOpen &&\n changes.isOpen === false\n ) {\n state.inputValue = '';\n }\n\n this.setState(state);\n break;\n }\n }\n\n @autobind\n handleNormalInputChange(e: React.ChangeEvent<HTMLInputElement>) {\n const {onChange} = this.props;\n\n let value = e.currentTarget.value;\n\n onChange(this.transformValue(value));\n }\n\n transformValue(value: string) {\n const {transform} = this.props;\n\n if (!transform) {\n return value;\n }\n\n Object.keys(transform).forEach((key: 'lowerCase' | 'upperCase') => {\n const propValue = transform[key];\n switch (key) {\n case 'lowerCase':\n propValue && (value = value.toLowerCase());\n break;\n case 'upperCase':\n propValue && (value = value.toUpperCase());\n break;\n }\n });\n\n return value;\n }\n\n loadAutoComplete() {\n const {formItem, autoComplete, data} = this.props;\n\n if (isEffectiveApi(autoComplete, data) && formItem) {\n formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: this.state.inputValue || '' // (multiple ? '' : selectedOptions[selectedOptions.length - 1]?.value)\n }),\n {\n extendsOptions: true\n }\n );\n }\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n valueToString(value: any) {\n return typeof value === 'undefined' || value === null\n ? ''\n : typeof value === 'string'\n ? value\n : JSON.stringify(value);\n }\n\n renderSugestMode() {\n const {\n className,\n inputOnly,\n value,\n placeholder,\n classnames: cx,\n disabled,\n name,\n loading,\n clearable,\n options,\n selectedOptions,\n autoComplete,\n labelField,\n valueField,\n multiple,\n creatable,\n borderMode,\n translate: __\n } = this.props;\n let type = this.props.type?.replace(/^(?:native|input)\\-/, '');\n\n return (\n <Downshift\n isOpen={this.state.isOpen && !disabled}\n inputValue={this.state.inputValue}\n onChange={this.handleChange}\n onStateChange={this.handleStateChange}\n selectedItem={selectedOptions.map(item => item[valueField || 'value'])}\n >\n {({\n getInputProps,\n getItemProps,\n isOpen,\n inputValue,\n selectedItem,\n highlightedIndex\n }) => {\n let filtedOptions =\n inputValue && isOpen && !autoComplete\n ? matchSorter(options, inputValue, {\n keys: [labelField || 'label', valueField || 'value']\n })\n : options;\n const indices = isOpen\n ? mapItemIndex(filtedOptions, selectedItem)\n : {};\n filtedOptions = filtedOptions.filter(\n (option: any) => !~selectedItem.indexOf(option.value)\n );\n\n return (\n <div\n className={cx(\n `TextControl-input TextControl-input--withAC`,\n inputOnly ? className : '',\n {\n 'is-opened': isOpen,\n 'TextControl-input--multiple': multiple,\n [`TextControl-input--border${ucFirst(borderMode)}`]:\n borderMode\n }\n )}\n onClick={this.handleClick}\n >\n <>\n {placeholder &&\n !selectedOptions.length &&\n !this.state.inputValue &&\n !this.state.isFocused ? (\n <div className={cx('TextControl-placeholder')}>\n {placeholder}\n </div>\n ) : null}\n\n {selectedOptions.map((item, index) =>\n multiple ? (\n <div className={cx('TextControl-value')} key={index}>\n <span\n className={cx('TextControl-valueIcon')}\n onClick={this.removeItem.bind(this, index)}\n >\n ×\n </span>\n <span className={cx('TextControl-valueLabel')}>\n {`${item[labelField || 'label']}`}\n </span>\n </div>\n ) : (inputValue && isOpen) || creatable !== false ? null : (\n <div className={cx('TextControl-value')} key={index}>\n {item.label}\n </div>\n )\n )}\n\n <Input\n {...getInputProps({\n name,\n ref: this.inputRef,\n disabled,\n type,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onChange: this.handleInputChange,\n onKeyDown: this.handleKeyDown\n })}\n autoComplete=\"off\"\n size={10}\n />\n </>\n\n {clearable && !disabled && value ? (\n <a\n onClick={this.clearValue}\n className={cx('TextControl-clear')}\n >\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n\n {loading ? (\n <Spinner\n show\n icon=\"reload\"\n spinnerClassName={cx('TextControl-spinner')}\n />\n ) : null}\n\n {isOpen && filtedOptions.length ? (\n <div className={cx('TextControl-sugs')}>\n {filtedOptions.map((option: any) => {\n return (\n <div\n {...getItemProps({\n item: option.value,\n disabled: option.disabled,\n className: cx(`TextControl-sugItem`, {\n 'is-highlight':\n highlightedIndex === indices[option.value],\n 'is-disabled': option.disabled\n })\n })}\n key={option.value}\n >\n <span>\n {option.disabled\n ? option.label\n : highlight(option.label, inputValue as string)}\n {option.tip}\n </span>\n </div>\n );\n })}\n </div>\n ) : null}\n </div>\n );\n }}\n </Downshift>\n );\n }\n\n renderNormal(): JSX.Element {\n const {\n classPrefix: ns,\n classnames: cx,\n className,\n inputOnly,\n value,\n placeholder,\n onChange,\n disabled,\n readOnly,\n max,\n min,\n step,\n clearable,\n name,\n borderMode,\n prefix,\n suffix,\n data,\n showCounter,\n maxLength\n } = this.props;\n\n const type = this.props.type?.replace(/^(?:native|input)\\-/, '');\n\n return (\n <div\n className={cx(\n 'TextControl-input',\n {\n [`TextControl-input--border${ucFirst(borderMode)}`]: borderMode\n },\n inputOnly ? className : ''\n )}\n >\n {prefix ? (\n <span className={cx('TextControl-inputPrefix')}>\n {filter(prefix, data)}\n </span>\n ) : null}\n <input\n name={name}\n placeholder={placeholder}\n ref={this.inputRef}\n disabled={disabled}\n readOnly={readOnly}\n type={type}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n max={max}\n min={min}\n autoComplete=\"off\"\n size={10}\n step={step}\n onChange={this.handleNormalInputChange}\n value={this.valueToString(value)}\n />\n {clearable && !disabled && value ? (\n <a onClick={this.clearValue} className={`${ns}TextControl-clear`}>\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n {showCounter ? (\n <span className={cx('TextControl-counter')}>\n {`${\n (typeof value === 'undefined' || value === null\n ? ''\n : typeof value === 'string'\n ? value\n : JSON.stringify(value)\n ).length\n }${\n typeof maxLength === 'number' && maxLength ? `/${maxLength}` : ''\n }`}\n </span>\n ) : null}\n {suffix ? (\n <span className={cx('TextControl-inputSuffix')}>\n {filter(suffix, data)}\n </span>\n ) : null}\n </div>\n );\n }\n\n render(): JSX.Element {\n const {\n classnames: cx,\n className,\n classPrefix: ns,\n options,\n source,\n autoComplete,\n addOn: addOnRaw,\n render,\n data,\n disabled,\n inputOnly\n } = this.props;\n\n const addOn: any =\n typeof addOnRaw === 'string'\n ? {\n label: addOnRaw,\n type: 'plain'\n }\n : addOnRaw;\n\n let input =\n autoComplete !== false && (source || options.length || autoComplete)\n ? this.renderSugestMode()\n : this.renderNormal();\n\n const iconElement = generateIcon(cx, addOn?.icon, 'Icon');\n\n let addOnDom = addOn ? (\n addOn.actionType ||\n ~['button', 'submit', 'reset', 'action'].indexOf(addOn.type) ? (\n <div className={cx(`${ns}TextControl-button`, addOn.className)}>\n {render('addOn', addOn, {\n disabled\n })}\n </div>\n ) : (\n <div className={cx(`${ns}TextControl-addOn`, addOn.className)}>\n {addOn.label ? filter(addOn.label, data) : null}\n {iconElement}\n </div>\n )\n ) : null;\n\n if (inputOnly) {\n return input;\n }\n\n return (\n <div\n className={cx(className, `${ns}TextControl`, {\n [`${ns}TextControl--withAddOn`]: !!addOnDom,\n 'is-focused': this.state.isFocused,\n 'is-disabled': disabled\n })}\n >\n {addOn && addOn.position === 'left' ? addOnDom : null}\n {input}\n {addOn && addOn.position !== 'left' ? addOnDom : null}\n </div>\n );\n }\n}\n\nexport function mapItemIndex(\n items: Array<any>,\n values: Array<any>,\n valueField: string = 'value'\n) {\n return items\n .filter(item => values.indexOf(item[valueField || 'value']) === -1)\n .reduce((prev, next, i) => {\n prev[next[valueField || 'value']] = i;\n return prev;\n }, {});\n}\n\n@OptionsControl({\n type: 'input-text'\n})\nexport class TextControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-password'\n})\nexport class PasswordControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-email',\n validations: 'isEmail'\n})\nexport class EmailControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-url',\n validations: 'isUrl'\n})\nexport class UrlControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-date'\n})\nexport class NativeDateControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-time'\n})\nexport class NativeTimeControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-number'\n})\nexport class NativeNumberControlRenderer extends TextControl {}\n"
12
12
  ]
13
13
  }
@@ -211,7 +211,7 @@ var PickerControl = /** @class */ (function (_super) {
211
211
  this.renderValues(),
212
212
  react_1.default.createElement("input", { onChange: helper_1.noop, value: '', ref: this.input, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur })),
213
213
  clearable && !disabled && selectedOptions.length ? (react_1.default.createElement("a", { onClick: this.clearValue, className: cx('Picker-clear') },
214
- react_1.default.createElement(icons_1.Icon, { icon: "close", className: "icon" }))) : null,
214
+ react_1.default.createElement(icons_1.Icon, { icon: "input-clear", className: "icon" }))) : null,
215
215
  react_1.default.createElement("span", { onClick: this.open, className: cx('Picker-btn') },
216
216
  react_1.default.createElement(icons_1.Icon, { icon: "window-restore", className: "icon" }))),
217
217
  render('modal', {
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/Picker.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 {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport cx from 'classnames';\nimport Button from '../../components/Button';\nimport {SchemaNode, Schema, Action, PlainObject} from '../../types';\nimport find from 'lodash/find';\nimport {\n anyChanged,\n autobind,\n getVariable,\n noop,\n createObject,\n isObjectShallowModified\n} from '../../utils/helper';\nimport findIndex from 'lodash/findIndex';\nimport Html from '../../components/Html';\nimport {filter} from '../../utils/tpl';\nimport {Icon} from '../../components/icons';\nimport {isEmpty} from '../../utils/helper';\nimport {dataMapping} from '../../utils/tpl-builtin';\nimport {SchemaCollection, SchemaTpl} from '../../Schema';\nimport {CRUDSchema} from '../CRUD';\nimport {isApiOutdated, isEffectiveApi} from '../../utils/api';\n\n/**\n * Picker\n * 文档:https://baidu.gitee.io/amis/docs/components/form/picker\n */\nexport interface PickerControlSchema extends FormOptionsControl {\n type: 'picker';\n\n /**\n * 可用来生成选中的值的描述文字\n */\n labelTpl?: SchemaTpl;\n\n /**\n * 建议用 labelTpl\n * 选中一个字段名用来作为值的描述文字\n */\n labelField?: string;\n\n /**\n * 选一个可以用来作为值的字段。\n */\n valueField?: string;\n\n /**\n * 弹窗选择框详情。\n */\n pickerSchema?: any; // Omit<CRUDSchema, 'type'>;\n\n /**\n * 弹窗模式,dialog 或者 drawer\n */\n modalMode?: 'dialog' | 'drawer';\n\n /**\n * 内嵌模式,也就是说不弹框了。\n */\n embed?: boolean;\n}\n\nexport interface PickerProps extends OptionsControlProps {\n modalMode: 'dialog' | 'drawer';\n pickerSchema: PlainObject;\n labelField: string;\n}\n\nexport interface PickerState {\n isOpened: boolean;\n isFocused: boolean;\n schema: SchemaNode;\n}\n\nexport default class PickerControl extends React.PureComponent<\n PickerProps,\n any\n> {\n static propsList: Array<string> = [\n 'modalMode',\n 'pickerSchema',\n 'labelField',\n 'onChange',\n 'options',\n 'value',\n 'inline',\n 'multiple',\n 'embed',\n 'resetValue',\n 'placeholder',\n 'onQuery' // 防止 Form 的 onQuery 事件透传下去,不然会导致 table 先后触发 Form 和 Crud 的 onQuery\n ];\n static defaultProps: Partial<PickerProps> = {\n modalMode: 'dialog',\n multiple: false,\n placeholder: '请点击右侧的图标',\n labelField: 'label',\n valueField: 'value',\n pickerSchema: {\n mode: 'list',\n listItem: {\n title: '${label|raw}'\n }\n },\n embed: false\n };\n\n state: PickerState = {\n isOpened: false,\n schema: this.buildSchema(this.props),\n isFocused: false\n };\n\n input: React.RefObject<HTMLInputElement> = React.createRef();\n\n componentDidMount() {\n this.fetchOptions();\n }\n\n componentDidUpdate(prevProps: PickerProps) {\n const props = this.props;\n\n if (anyChanged(['pickerSchema', 'multiple', 'source'], prevProps, props)) {\n this.setState({\n schema: this.buildSchema(props)\n });\n } else if (\n JSON.stringify(props.value) !== JSON.stringify(prevProps.value)\n ) {\n this.fetchOptions();\n } else if (\n isApiOutdated(prevProps.source, props.source, prevProps.data, props.data)\n ) {\n this.fetchOptions();\n }\n }\n\n fetchOptions() {\n const {value, formItem, valueField, labelField, source, data} = this.props;\n let selectedOptions: any;\n\n if (\n !source ||\n !formItem ||\n (valueField || 'value') === (labelField || 'label') ||\n ((selectedOptions = formItem.getSelectedOptions(value)) &&\n (!selectedOptions.length ||\n selectedOptions[0][valueField || 'value'] !==\n selectedOptions[0][labelField || 'label']))\n ) {\n return;\n }\n\n const ctx = createObject(data, {\n value: value,\n op: 'loadOptions'\n });\n\n isEffectiveApi(source, ctx) &&\n formItem.loadOptions(source, ctx, {\n autoAppend: true\n });\n }\n\n buildSchema(props: PickerProps) {\n return {\n checkOnItemClick: true,\n ...props.pickerSchema,\n labelTpl: props.pickerSchema?.labelTpl ?? props.labelTpl,\n type: 'crud',\n pickerMode: true,\n syncLocation: false,\n api: props.source,\n keepItemSelectionOnPageChange: true,\n valueField: props.valueField,\n labelField: props.labelField,\n\n // 不支持批量操作,会乱套\n bulkActions: props.multiple\n ? (props.pickerSchema as Schema).bulkActions\n : []\n };\n }\n\n crud: any;\n\n @autobind\n crudRef(ref: any) {\n while (ref && ref.getWrappedInstance) {\n ref = ref.getWrappedInstance();\n }\n this.crud = ref;\n }\n\n reload() {\n if (this.crud) {\n this.crud.search();\n } else {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n }\n\n @autobind\n open() {\n this.setState({\n isOpened: true\n });\n }\n\n @autobind\n close() {\n this.setState({\n isOpened: false\n });\n }\n\n @autobind\n handleModalConfirm(\n values: Array<any>,\n action: Action,\n ctx: any,\n components: Array<any>\n ) {\n const idx = findIndex(\n components,\n (item: any) => item.props.type === 'crud'\n );\n this.handleChange(values[idx].items);\n this.close();\n }\n\n @autobind\n handleChange(items: Array<any>) {\n const {\n joinValues,\n valueField,\n delimiter,\n extractValue,\n multiple,\n options,\n setOptions,\n onChange\n } = this.props;\n\n let value: any = items;\n\n if (joinValues) {\n value = items\n .map((item: any) => item[valueField || 'value'])\n .join(delimiter || ',');\n } else if (extractValue) {\n value = multiple\n ? items.map((item: any) => item[valueField || 'value'])\n : (items[0] && items[0][valueField || 'value']) || '';\n } else {\n value = multiple ? items : items[0];\n }\n\n let additionalOptions: Array<any> = [];\n items.forEach(item => {\n if (\n !find(\n options,\n option => item[valueField || 'value'] == option[valueField || 'value']\n )\n ) {\n additionalOptions.push(item);\n }\n });\n\n additionalOptions.length && setOptions(options.concat(additionalOptions));\n onChange(value);\n }\n\n removeItem(index: number) {\n const {\n selectedOptions,\n joinValues,\n extractValue,\n delimiter,\n valueField,\n onChange,\n multiple\n } = this.props;\n const items = selectedOptions.concat();\n items.splice(index, 1);\n\n let value: any = items;\n\n if (joinValues) {\n value = items\n .map((item: any) => item[valueField || 'value'])\n .join(delimiter || ',');\n } else if (extractValue) {\n value = multiple\n ? items.map((item: any) => item[valueField || 'value'])\n : (items[0] && items[0][valueField || 'value']) || '';\n } else {\n value = multiple ? items : items[0];\n }\n\n onChange(value);\n }\n\n @autobind\n handleKeyDown(e: React.KeyboardEvent) {\n const selectedOptions = this.props.selectedOptions;\n\n if (e.key === ' ') {\n this.open();\n e.preventDefault();\n } else if (selectedOptions.length && e.key == 'Backspace') {\n this.removeItem(selectedOptions.length - 1);\n }\n }\n\n @autobind\n handleFocus() {\n this.setState({\n isFocused: true\n });\n }\n\n @autobind\n handleBlur() {\n this.setState({\n isFocused: false\n });\n }\n\n @autobind\n handleClick() {\n this.input.current && this.input.current.focus();\n }\n\n @autobind\n clearValue() {\n const {onChange, resetValue} = this.props;\n\n onChange(resetValue !== void 0 ? resetValue : '');\n }\n\n renderValues() {\n const {\n classPrefix: ns,\n selectedOptions,\n labelField,\n labelTpl,\n disabled\n } = this.props;\n\n return (\n <div className={`${ns}Picker-values`}>\n {selectedOptions.map((item, index) => (\n <div\n key={index}\n className={cx(`${ns}Picker-value`, {\n 'is-disabled': disabled\n })}\n >\n <span\n data-tooltip=\"删除\"\n data-position=\"bottom\"\n className={`${ns}Picker-valueIcon`}\n onClick={this.removeItem.bind(this, index)}\n >\n ×\n </span>\n <span className={`${ns}Picker-valueLabel`}>\n {labelTpl ? (\n <Html html={filter(labelTpl, item)} />\n ) : (\n `${\n getVariable(item, labelField || 'label') ||\n getVariable(item, 'id')\n }`\n )}\n </span>\n </div>\n ))}\n </div>\n );\n }\n\n @autobind\n renderBody({popOverContainer}: any = {}) {\n const {\n render,\n selectedOptions,\n options,\n multiple,\n valueField,\n embed,\n source\n } = this.props;\n\n return render('modal-body', this.state.schema, {\n value: selectedOptions,\n valueField,\n primaryField: valueField,\n options: source ? [] : options,\n multiple,\n onSelect: embed ? this.handleChange : undefined,\n ref: this.crudRef,\n popOverContainer\n }) as JSX.Element;\n }\n\n render() {\n const {\n className,\n classnames: cx,\n disabled,\n render,\n modalMode,\n source,\n size,\n env,\n clearable,\n multiple,\n placeholder,\n embed,\n value,\n selectedOptions,\n translate: __,\n popOverContainer\n } = this.props;\n return (\n <div className={cx(`PickerControl`, className)}>\n {embed ? (\n <div className={cx('Picker')}>\n {this.renderBody({popOverContainer})}\n </div>\n ) : (\n <div\n className={cx(`Picker`, {\n 'Picker--single': !multiple,\n 'Picker--multi': multiple,\n 'is-focused': this.state.isFocused,\n 'is-disabled': disabled\n })}\n >\n <div onClick={this.handleClick} className={cx('Picker-input')}>\n {!selectedOptions.length && placeholder ? (\n <div className={cx('Picker-placeholder')}>\n {__(placeholder)}\n </div>\n ) : null}\n\n <div className={cx('Picker-valueWrap')}>\n {this.renderValues()}\n\n <input\n onChange={noop}\n value={''}\n ref={this.input}\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n </div>\n\n {clearable && !disabled && selectedOptions.length ? (\n <a onClick={this.clearValue} className={cx('Picker-clear')}>\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n\n <span onClick={this.open} className={cx('Picker-btn')}>\n <Icon icon=\"window-restore\" className=\"icon\" />\n </span>\n </div>\n\n {render(\n 'modal',\n {\n title: __('Select.placeholder'),\n size: size,\n type: modalMode,\n body: {\n children: this.renderBody\n }\n },\n {\n key: 'modal',\n lazyRender: !!source,\n onConfirm: this.handleModalConfirm,\n onClose: this.close,\n show: this.state.isOpened\n }\n )}\n </div>\n // <div className={`${ns}Picker`}>\n // {this.renderValues()}\n\n // <Button\n // classPrefix={ns}\n // className={`${ns}Picker-pickBtn`}\n // tooltip=\"点击选择\"\n // tooltipContainer={env && env.getModalContainer ? env.getModalContainer : undefined}\n // level=\"info\"\n // size=\"sm\"\n // disabled={disabled}\n // onClick={this.open}\n // iconOnly\n // >\n // 选定\n // </Button>\n\n // {render('modal', {\n // title: '请选择',\n // size: size,\n // type: modalMode,\n // body: {\n // children: this.renderBody\n // }\n // }, {\n // key: 'modal',\n // lazyRender: !!source,\n // onConfirm: this.handleModalConfirm,\n // onClose: this.close,\n // show: this.state.isOpened\n // })}\n // </div>\n )}\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'picker',\n autoLoadOptionsFromSource: false,\n sizeMutable: false\n})\nexport class PickerControlRenderer extends PickerControl {}\n"
11
+ "import React from 'react';\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport cx from 'classnames';\nimport Button from '../../components/Button';\nimport {SchemaNode, Schema, Action, PlainObject} from '../../types';\nimport find from 'lodash/find';\nimport {\n anyChanged,\n autobind,\n getVariable,\n noop,\n createObject,\n isObjectShallowModified\n} from '../../utils/helper';\nimport findIndex from 'lodash/findIndex';\nimport Html from '../../components/Html';\nimport {filter} from '../../utils/tpl';\nimport {Icon} from '../../components/icons';\nimport {isEmpty} from '../../utils/helper';\nimport {dataMapping} from '../../utils/tpl-builtin';\nimport {SchemaCollection, SchemaTpl} from '../../Schema';\nimport {CRUDSchema} from '../CRUD';\nimport {isApiOutdated, isEffectiveApi} from '../../utils/api';\n\n/**\n * Picker\n * 文档:https://baidu.gitee.io/amis/docs/components/form/picker\n */\nexport interface PickerControlSchema extends FormOptionsControl {\n type: 'picker';\n\n /**\n * 可用来生成选中的值的描述文字\n */\n labelTpl?: SchemaTpl;\n\n /**\n * 建议用 labelTpl\n * 选中一个字段名用来作为值的描述文字\n */\n labelField?: string;\n\n /**\n * 选一个可以用来作为值的字段。\n */\n valueField?: string;\n\n /**\n * 弹窗选择框详情。\n */\n pickerSchema?: any; // Omit<CRUDSchema, 'type'>;\n\n /**\n * 弹窗模式,dialog 或者 drawer\n */\n modalMode?: 'dialog' | 'drawer';\n\n /**\n * 内嵌模式,也就是说不弹框了。\n */\n embed?: boolean;\n}\n\nexport interface PickerProps extends OptionsControlProps {\n modalMode: 'dialog' | 'drawer';\n pickerSchema: PlainObject;\n labelField: string;\n}\n\nexport interface PickerState {\n isOpened: boolean;\n isFocused: boolean;\n schema: SchemaNode;\n}\n\nexport default class PickerControl extends React.PureComponent<\n PickerProps,\n any\n> {\n static propsList: Array<string> = [\n 'modalMode',\n 'pickerSchema',\n 'labelField',\n 'onChange',\n 'options',\n 'value',\n 'inline',\n 'multiple',\n 'embed',\n 'resetValue',\n 'placeholder',\n 'onQuery' // 防止 Form 的 onQuery 事件透传下去,不然会导致 table 先后触发 Form 和 Crud 的 onQuery\n ];\n static defaultProps: Partial<PickerProps> = {\n modalMode: 'dialog',\n multiple: false,\n placeholder: '请点击右侧的图标',\n labelField: 'label',\n valueField: 'value',\n pickerSchema: {\n mode: 'list',\n listItem: {\n title: '${label|raw}'\n }\n },\n embed: false\n };\n\n state: PickerState = {\n isOpened: false,\n schema: this.buildSchema(this.props),\n isFocused: false\n };\n\n input: React.RefObject<HTMLInputElement> = React.createRef();\n\n componentDidMount() {\n this.fetchOptions();\n }\n\n componentDidUpdate(prevProps: PickerProps) {\n const props = this.props;\n\n if (anyChanged(['pickerSchema', 'multiple', 'source'], prevProps, props)) {\n this.setState({\n schema: this.buildSchema(props)\n });\n } else if (\n JSON.stringify(props.value) !== JSON.stringify(prevProps.value)\n ) {\n this.fetchOptions();\n } else if (\n isApiOutdated(prevProps.source, props.source, prevProps.data, props.data)\n ) {\n this.fetchOptions();\n }\n }\n\n fetchOptions() {\n const {value, formItem, valueField, labelField, source, data} = this.props;\n let selectedOptions: any;\n\n if (\n !source ||\n !formItem ||\n (valueField || 'value') === (labelField || 'label') ||\n ((selectedOptions = formItem.getSelectedOptions(value)) &&\n (!selectedOptions.length ||\n selectedOptions[0][valueField || 'value'] !==\n selectedOptions[0][labelField || 'label']))\n ) {\n return;\n }\n\n const ctx = createObject(data, {\n value: value,\n op: 'loadOptions'\n });\n\n isEffectiveApi(source, ctx) &&\n formItem.loadOptions(source, ctx, {\n autoAppend: true\n });\n }\n\n buildSchema(props: PickerProps) {\n return {\n checkOnItemClick: true,\n ...props.pickerSchema,\n labelTpl: props.pickerSchema?.labelTpl ?? props.labelTpl,\n type: 'crud',\n pickerMode: true,\n syncLocation: false,\n api: props.source,\n keepItemSelectionOnPageChange: true,\n valueField: props.valueField,\n labelField: props.labelField,\n\n // 不支持批量操作,会乱套\n bulkActions: props.multiple\n ? (props.pickerSchema as Schema).bulkActions\n : []\n };\n }\n\n crud: any;\n\n @autobind\n crudRef(ref: any) {\n while (ref && ref.getWrappedInstance) {\n ref = ref.getWrappedInstance();\n }\n this.crud = ref;\n }\n\n reload() {\n if (this.crud) {\n this.crud.search();\n } else {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n }\n\n @autobind\n open() {\n this.setState({\n isOpened: true\n });\n }\n\n @autobind\n close() {\n this.setState({\n isOpened: false\n });\n }\n\n @autobind\n handleModalConfirm(\n values: Array<any>,\n action: Action,\n ctx: any,\n components: Array<any>\n ) {\n const idx = findIndex(\n components,\n (item: any) => item.props.type === 'crud'\n );\n this.handleChange(values[idx].items);\n this.close();\n }\n\n @autobind\n handleChange(items: Array<any>) {\n const {\n joinValues,\n valueField,\n delimiter,\n extractValue,\n multiple,\n options,\n setOptions,\n onChange\n } = this.props;\n\n let value: any = items;\n\n if (joinValues) {\n value = items\n .map((item: any) => item[valueField || 'value'])\n .join(delimiter || ',');\n } else if (extractValue) {\n value = multiple\n ? items.map((item: any) => item[valueField || 'value'])\n : (items[0] && items[0][valueField || 'value']) || '';\n } else {\n value = multiple ? items : items[0];\n }\n\n let additionalOptions: Array<any> = [];\n items.forEach(item => {\n if (\n !find(\n options,\n option => item[valueField || 'value'] == option[valueField || 'value']\n )\n ) {\n additionalOptions.push(item);\n }\n });\n\n additionalOptions.length && setOptions(options.concat(additionalOptions));\n onChange(value);\n }\n\n removeItem(index: number) {\n const {\n selectedOptions,\n joinValues,\n extractValue,\n delimiter,\n valueField,\n onChange,\n multiple\n } = this.props;\n const items = selectedOptions.concat();\n items.splice(index, 1);\n\n let value: any = items;\n\n if (joinValues) {\n value = items\n .map((item: any) => item[valueField || 'value'])\n .join(delimiter || ',');\n } else if (extractValue) {\n value = multiple\n ? items.map((item: any) => item[valueField || 'value'])\n : (items[0] && items[0][valueField || 'value']) || '';\n } else {\n value = multiple ? items : items[0];\n }\n\n onChange(value);\n }\n\n @autobind\n handleKeyDown(e: React.KeyboardEvent) {\n const selectedOptions = this.props.selectedOptions;\n\n if (e.key === ' ') {\n this.open();\n e.preventDefault();\n } else if (selectedOptions.length && e.key == 'Backspace') {\n this.removeItem(selectedOptions.length - 1);\n }\n }\n\n @autobind\n handleFocus() {\n this.setState({\n isFocused: true\n });\n }\n\n @autobind\n handleBlur() {\n this.setState({\n isFocused: false\n });\n }\n\n @autobind\n handleClick() {\n this.input.current && this.input.current.focus();\n }\n\n @autobind\n clearValue() {\n const {onChange, resetValue} = this.props;\n\n onChange(resetValue !== void 0 ? resetValue : '');\n }\n\n renderValues() {\n const {\n classPrefix: ns,\n selectedOptions,\n labelField,\n labelTpl,\n disabled\n } = this.props;\n\n return (\n <div className={`${ns}Picker-values`}>\n {selectedOptions.map((item, index) => (\n <div\n key={index}\n className={cx(`${ns}Picker-value`, {\n 'is-disabled': disabled\n })}\n >\n <span\n data-tooltip=\"删除\"\n data-position=\"bottom\"\n className={`${ns}Picker-valueIcon`}\n onClick={this.removeItem.bind(this, index)}\n >\n ×\n </span>\n <span className={`${ns}Picker-valueLabel`}>\n {labelTpl ? (\n <Html html={filter(labelTpl, item)} />\n ) : (\n `${\n getVariable(item, labelField || 'label') ||\n getVariable(item, 'id')\n }`\n )}\n </span>\n </div>\n ))}\n </div>\n );\n }\n\n @autobind\n renderBody({popOverContainer}: any = {}) {\n const {\n render,\n selectedOptions,\n options,\n multiple,\n valueField,\n embed,\n source\n } = this.props;\n\n return render('modal-body', this.state.schema, {\n value: selectedOptions,\n valueField,\n primaryField: valueField,\n options: source ? [] : options,\n multiple,\n onSelect: embed ? this.handleChange : undefined,\n ref: this.crudRef,\n popOverContainer\n }) as JSX.Element;\n }\n\n render() {\n const {\n className,\n classnames: cx,\n disabled,\n render,\n modalMode,\n source,\n size,\n env,\n clearable,\n multiple,\n placeholder,\n embed,\n value,\n selectedOptions,\n translate: __,\n popOverContainer\n } = this.props;\n return (\n <div className={cx(`PickerControl`, className)}>\n {embed ? (\n <div className={cx('Picker')}>\n {this.renderBody({popOverContainer})}\n </div>\n ) : (\n <div\n className={cx(`Picker`, {\n 'Picker--single': !multiple,\n 'Picker--multi': multiple,\n 'is-focused': this.state.isFocused,\n 'is-disabled': disabled\n })}\n >\n <div onClick={this.handleClick} className={cx('Picker-input')}>\n {!selectedOptions.length && placeholder ? (\n <div className={cx('Picker-placeholder')}>\n {__(placeholder)}\n </div>\n ) : null}\n\n <div className={cx('Picker-valueWrap')}>\n {this.renderValues()}\n\n <input\n onChange={noop}\n value={''}\n ref={this.input}\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n </div>\n\n {clearable && !disabled && selectedOptions.length ? (\n <a onClick={this.clearValue} className={cx('Picker-clear')}>\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n\n <span onClick={this.open} className={cx('Picker-btn')}>\n <Icon icon=\"window-restore\" className=\"icon\" />\n </span>\n </div>\n\n {render(\n 'modal',\n {\n title: __('Select.placeholder'),\n size: size,\n type: modalMode,\n body: {\n children: this.renderBody\n }\n },\n {\n key: 'modal',\n lazyRender: !!source,\n onConfirm: this.handleModalConfirm,\n onClose: this.close,\n show: this.state.isOpened\n }\n )}\n </div>\n // <div className={`${ns}Picker`}>\n // {this.renderValues()}\n\n // <Button\n // classPrefix={ns}\n // className={`${ns}Picker-pickBtn`}\n // tooltip=\"点击选择\"\n // tooltipContainer={env && env.getModalContainer ? env.getModalContainer : undefined}\n // level=\"info\"\n // size=\"sm\"\n // disabled={disabled}\n // onClick={this.open}\n // iconOnly\n // >\n // 选定\n // </Button>\n\n // {render('modal', {\n // title: '请选择',\n // size: size,\n // type: modalMode,\n // body: {\n // children: this.renderBody\n // }\n // }, {\n // key: 'modal',\n // lazyRender: !!source,\n // onConfirm: this.handleModalConfirm,\n // onClose: this.close,\n // show: this.state.isOpened\n // })}\n // </div>\n )}\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'picker',\n autoLoadOptionsFromSource: false,\n sizeMutable: false\n})\nexport class PickerControlRenderer extends PickerControl {}\n"
12
12
  ]
13
13
  }
@@ -33,11 +33,21 @@ export interface TextareaControlSchema extends FormBaseControl {
33
33
  * 是否显示计数
34
34
  */
35
35
  showCounter?: boolean;
36
+ /**
37
+ * 输入内容是否可清除
38
+ */
39
+ clearable?: boolean;
40
+ /**
41
+ * 重置值
42
+ */
43
+ resetValue?: string;
36
44
  }
37
45
  export interface TextAreaProps extends FormControlProps {
38
46
  placeholder?: string;
39
47
  minRows?: number;
40
48
  maxRows?: number;
49
+ clearable?: boolean;
50
+ resetValue?: string;
41
51
  }
42
52
  export default class TextAreaControl extends React.Component<TextAreaProps, {
43
53
  focused: boolean;
@@ -48,10 +58,12 @@ export default class TextAreaControl extends React.Component<TextAreaProps, {
48
58
  };
49
59
  input?: HTMLInputElement;
50
60
  inputRef: (ref: any) => HTMLInputElement;
61
+ valueToString(value: any): string;
51
62
  focus(): void;
52
63
  handleChange(e: React.ChangeEvent<any>): void;
53
64
  handleFocus(e: React.FocusEvent<HTMLTextAreaElement>): void;
54
65
  handleBlur(e: React.FocusEvent<HTMLTextAreaElement>): void;
66
+ handleClear(): void;
55
67
  render(): JSX.Element;
56
68
  }
57
69
  export declare class TextAreaControlRenderer extends TextAreaControl {
@@ -5,6 +5,7 @@ var tslib_1 = require("tslib");
5
5
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
6
  var Item_1 = require("./Item");
7
7
  var Textarea_1 = (0, tslib_1.__importDefault)(require("../../components/Textarea"));
8
+ var icons_1 = require("../../components/icons");
8
9
  var react_dom_1 = require("react-dom");
9
10
  var helper_1 = require("../../utils/helper");
10
11
  var TextAreaControl = /** @class */ (function (_super) {
@@ -17,6 +18,13 @@ var TextAreaControl = /** @class */ (function (_super) {
17
18
  _this.inputRef = function (ref) { return (_this.input = (0, react_dom_1.findDOMNode)(ref)); };
18
19
  return _this;
19
20
  }
21
+ TextAreaControl.prototype.valueToString = function (value) {
22
+ return typeof value === 'undefined' || value === null
23
+ ? ''
24
+ : typeof value === 'string'
25
+ ? value
26
+ : JSON.stringify(value);
27
+ };
20
28
  TextAreaControl.prototype.focus = function () {
21
29
  var _this = this;
22
30
  if (!this.input) {
@@ -58,32 +66,34 @@ var TextAreaControl = /** @class */ (function (_super) {
58
66
  onBlur && onBlur(e);
59
67
  });
60
68
  };
69
+ TextAreaControl.prototype.handleClear = function () {
70
+ var _a = this.props, onChange = _a.onChange, resetValue = _a.resetValue;
71
+ onChange === null || onChange === void 0 ? void 0 : onChange(resetValue);
72
+ this.focus();
73
+ };
61
74
  TextAreaControl.prototype.render = function () {
62
75
  var _a;
63
- var _b = this.props, className = _b.className, ns = _b.classPrefix, value = _b.value, type = _b.type, placeholder = _b.placeholder, disabled = _b.disabled, minRows = _b.minRows, maxRows = _b.maxRows, readOnly = _b.readOnly, name = _b.name, borderMode = _b.borderMode, cx = _b.classnames, maxLength = _b.maxLength, showCounter = _b.showCounter;
64
- var counter = showCounter
65
- ? (typeof value === 'undefined' || value === null
66
- ? ''
67
- : typeof value === 'string'
68
- ? value
69
- : JSON.stringify(value)).length
70
- : 0;
76
+ var _b = this.props, className = _b.className, ns = _b.classPrefix, value = _b.value, type = _b.type, placeholder = _b.placeholder, disabled = _b.disabled, minRows = _b.minRows, maxRows = _b.maxRows, readOnly = _b.readOnly, name = _b.name, borderMode = _b.borderMode, cx = _b.classnames, maxLength = _b.maxLength, showCounter = _b.showCounter, clearable = _b.clearable;
77
+ var counter = showCounter ? this.valueToString(value).length : 0;
71
78
  return (react_1.default.createElement("div", { className: cx("TextareaControl", (_a = {},
72
79
  _a["TextareaControl--border" + (0, helper_1.ucFirst)(borderMode)] = borderMode,
73
80
  _a['is-focused'] = this.state.focused,
74
81
  _a), className) },
75
- react_1.default.createElement(Textarea_1.default, { autoComplete: "off", ref: this.inputRef, name: name, disabled: disabled, value: typeof value === 'undefined' || value === null
76
- ? ''
77
- : typeof value === 'string'
78
- ? value
79
- : JSON.stringify(value), placeholder: placeholder, autoCorrect: "off", spellCheck: "false", readOnly: readOnly, minRows: minRows || undefined, maxRows: maxRows || undefined, onChange: this.handleChange, onFocus: this.handleFocus, onBlur: this.handleBlur }),
80
- showCounter ? (react_1.default.createElement("span", { className: cx('TextareaControl-counter', counter === 0 ? 'is-empty' : '') }, "" + counter + (typeof maxLength === 'number' && maxLength ? "/" + maxLength : ''))) : null));
82
+ react_1.default.createElement(Textarea_1.default, { autoComplete: "off", ref: this.inputRef, name: name, disabled: disabled, value: this.valueToString(value), placeholder: placeholder, autoCorrect: "off", spellCheck: "false", readOnly: readOnly, minRows: minRows || undefined, maxRows: maxRows || undefined, onChange: this.handleChange, onFocus: this.handleFocus, onBlur: this.handleBlur }),
83
+ clearable && !disabled && value ? (react_1.default.createElement("a", { onClick: this.handleClear, className: cx('TextareaControl-clear') },
84
+ react_1.default.createElement(icons_1.Icon, { icon: "input-clear", className: "icon" }))) : null,
85
+ showCounter ? (react_1.default.createElement("span", { className: cx('TextareaControl-counter', {
86
+ 'is-empty': counter === 0,
87
+ 'is-clearable': clearable && !disabled && value
88
+ }) }, "" + counter + (typeof maxLength === 'number' && maxLength ? "/" + maxLength : ''))) : null));
81
89
  };
82
90
  var _a, _b, _c;
83
91
  TextAreaControl.defaultProps = {
84
92
  minRows: 3,
85
93
  maxRows: 20,
86
- trimContents: true
94
+ trimContents: true,
95
+ resetValue: '',
96
+ clearable: false
87
97
  };
88
98
  (0, tslib_1.__decorate)([
89
99
  helper_1.autobind,
@@ -103,6 +113,12 @@ var TextAreaControl = /** @class */ (function (_super) {
103
113
  (0, tslib_1.__metadata)("design:paramtypes", [typeof (_c = typeof react_1.default !== "undefined" && react_1.default.FocusEvent) === "function" ? _c : Object]),
104
114
  (0, tslib_1.__metadata)("design:returntype", void 0)
105
115
  ], TextAreaControl.prototype, "handleBlur", null);
116
+ (0, tslib_1.__decorate)([
117
+ helper_1.autobind,
118
+ (0, tslib_1.__metadata)("design:type", Function),
119
+ (0, tslib_1.__metadata)("design:paramtypes", []),
120
+ (0, tslib_1.__metadata)("design:returntype", void 0)
121
+ ], TextAreaControl.prototype, "handleClear", null);
106
122
  return TextAreaControl;
107
123
  }(react_1.default.Component));
108
124
  exports.default = TextAreaControl;
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/Textarea.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 {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport Textarea from '../../components/Textarea';\nimport {findDOMNode} from 'react-dom';\nimport {autobind, ucFirst} from '../../utils/helper';\n/**\n * TextArea 多行文本输入框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/textarea\n */\nexport interface TextareaControlSchema extends FormBaseControl {\n /**\n * 指定为多行文本输入框\n */\n type: 'textarea';\n\n /**\n * 最大行数\n */\n maxRows?: number;\n\n /**\n * 最小行数\n */\n minRows?: number;\n\n /**\n * 是否只读\n */\n readOnly?: boolean;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 限制文字个数\n */\n maxLength?: number;\n\n /**\n * 是否显示计数\n */\n showCounter?: boolean;\n}\n\nexport interface TextAreaProps extends FormControlProps {\n placeholder?: string;\n minRows?: number;\n maxRows?: number;\n}\n\nexport default class TextAreaControl extends React.Component<\n TextAreaProps,\n {focused: boolean}\n> {\n static defaultProps: Partial<TextAreaProps> = {\n minRows: 3,\n maxRows: 20,\n trimContents: true\n };\n\n state = {\n focused: false\n };\n\n input?: HTMLInputElement;\n inputRef = (ref: any) => (this.input = findDOMNode(ref) as HTMLInputElement);\n\n focus() {\n if (!this.input) {\n return;\n }\n\n this.setState(\n {\n focused: true\n },\n () => {\n if (!this.input) {\n return;\n }\n\n this.input.focus();\n\n // 光标放到最后\n const len = this.input.value.length;\n len && this.input.setSelectionRange(len, len);\n }\n );\n }\n\n @autobind\n handleChange(e: React.ChangeEvent<any>) {\n const {onChange} = this.props;\n\n let value = e.currentTarget.value;\n\n onChange(value);\n }\n\n @autobind\n handleFocus(e: React.FocusEvent<HTMLTextAreaElement>) {\n const {onFocus} = this.props;\n\n this.setState(\n {\n focused: true\n },\n () => {\n onFocus && onFocus(e);\n }\n );\n }\n\n @autobind\n handleBlur(e: React.FocusEvent<HTMLTextAreaElement>) {\n const {onBlur, trimContents, value, onChange} = this.props;\n\n this.setState(\n {\n focused: false\n },\n () => {\n if (trimContents && value && typeof value === 'string') {\n onChange(value.trim());\n }\n\n onBlur && onBlur(e);\n }\n );\n }\n\n render() {\n const {\n className,\n classPrefix: ns,\n value,\n type,\n placeholder,\n disabled,\n minRows,\n maxRows,\n readOnly,\n name,\n borderMode,\n classnames: cx,\n maxLength,\n showCounter\n } = this.props;\n\n let counter = showCounter\n ? (typeof value === 'undefined' || value === null\n ? ''\n : typeof value === 'string'\n ? value\n : JSON.stringify(value)\n ).length\n : 0;\n\n return (\n <div\n className={cx(\n `TextareaControl`,\n {\n [`TextareaControl--border${ucFirst(borderMode)}`]: borderMode,\n 'is-focused': this.state.focused\n },\n className\n )}\n >\n <Textarea\n autoComplete=\"off\"\n ref={this.inputRef}\n name={name}\n disabled={disabled}\n value={\n typeof value === 'undefined' || value === null\n ? ''\n : typeof value === 'string'\n ? value\n : JSON.stringify(value)\n }\n placeholder={placeholder}\n autoCorrect=\"off\"\n spellCheck=\"false\"\n readOnly={readOnly}\n minRows={minRows || undefined}\n maxRows={maxRows || undefined}\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n\n {showCounter ? (\n <span\n className={cx(\n 'TextareaControl-counter',\n counter === 0 ? 'is-empty' : ''\n )}\n >\n {`${counter}${\n typeof maxLength === 'number' && maxLength ? `/${maxLength}` : ''\n }`}\n </span>\n ) : null}\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'textarea'\n})\nexport class TextAreaControlRenderer extends TextAreaControl {}\n"
11
+ "import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport Textarea from '../../components/Textarea';\nimport {Icon} from '../../components/icons';\nimport {findDOMNode} from 'react-dom';\nimport {autobind, ucFirst} from '../../utils/helper';\n/**\n * TextArea 多行文本输入框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/textarea\n */\nexport interface TextareaControlSchema extends FormBaseControl {\n /**\n * 指定为多行文本输入框\n */\n type: 'textarea';\n\n /**\n * 最大行数\n */\n maxRows?: number;\n\n /**\n * 最小行数\n */\n minRows?: number;\n\n /**\n * 是否只读\n */\n readOnly?: boolean;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 限制文字个数\n */\n maxLength?: number;\n\n /**\n * 是否显示计数\n */\n showCounter?: boolean;\n\n /**\n * 输入内容是否可清除\n */\n clearable?: boolean;\n\n /**\n * 重置值\n */\n resetValue?: string;\n}\n\nexport interface TextAreaProps extends FormControlProps {\n placeholder?: string;\n minRows?: number;\n maxRows?: number;\n clearable?: boolean;\n resetValue?: string;\n}\n\nexport default class TextAreaControl extends React.Component<\n TextAreaProps,\n {focused: boolean}\n> {\n static defaultProps: Partial<TextAreaProps> = {\n minRows: 3,\n maxRows: 20,\n trimContents: true,\n resetValue: '',\n clearable: false\n };\n\n state = {\n focused: false\n };\n\n input?: HTMLInputElement;\n inputRef = (ref: any) => (this.input = findDOMNode(ref) as HTMLInputElement);\n\n valueToString(value: any) {\n return typeof value === 'undefined' || value === null\n ? ''\n : typeof value === 'string'\n ? value\n : JSON.stringify(value);\n }\n\n focus() {\n if (!this.input) {\n return;\n }\n\n this.setState(\n {\n focused: true\n },\n () => {\n if (!this.input) {\n return;\n }\n\n this.input.focus();\n\n // 光标放到最后\n const len = this.input.value.length;\n len && this.input.setSelectionRange(len, len);\n }\n );\n }\n\n @autobind\n handleChange(e: React.ChangeEvent<any>) {\n const {onChange} = this.props;\n\n let value = e.currentTarget.value;\n\n onChange(value);\n }\n\n @autobind\n handleFocus(e: React.FocusEvent<HTMLTextAreaElement>) {\n const {onFocus} = this.props;\n\n this.setState(\n {\n focused: true\n },\n () => {\n onFocus && onFocus(e);\n }\n );\n }\n\n @autobind\n handleBlur(e: React.FocusEvent<HTMLTextAreaElement>) {\n const {onBlur, trimContents, value, onChange} = this.props;\n\n this.setState(\n {\n focused: false\n },\n () => {\n if (trimContents && value && typeof value === 'string') {\n onChange(value.trim());\n }\n\n onBlur && onBlur(e);\n }\n );\n }\n\n @autobind\n handleClear() {\n const {onChange, resetValue} = this.props;\n\n onChange?.(resetValue);\n this.focus();\n }\n\n render() {\n const {\n className,\n classPrefix: ns,\n value,\n type,\n placeholder,\n disabled,\n minRows,\n maxRows,\n readOnly,\n name,\n borderMode,\n classnames: cx,\n maxLength,\n showCounter,\n clearable\n } = this.props;\n const counter = showCounter ? this.valueToString(value).length : 0;\n\n return (\n <div\n className={cx(\n `TextareaControl`,\n {\n [`TextareaControl--border${ucFirst(borderMode)}`]: borderMode,\n 'is-focused': this.state.focused\n },\n className\n )}\n >\n <Textarea\n autoComplete=\"off\"\n ref={this.inputRef}\n name={name}\n disabled={disabled}\n value={this.valueToString(value)}\n placeholder={placeholder}\n autoCorrect=\"off\"\n spellCheck=\"false\"\n readOnly={readOnly}\n minRows={minRows || undefined}\n maxRows={maxRows || undefined}\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n\n {clearable && !disabled && value ? (\n <a onClick={this.handleClear} className={cx('TextareaControl-clear')}>\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n\n {showCounter ? (\n <span\n className={cx('TextareaControl-counter', {\n 'is-empty': counter === 0,\n 'is-clearable': clearable && !disabled && value\n })}\n >\n {`${counter}${\n typeof maxLength === 'number' && maxLength ? `/${maxLength}` : ''\n }`}\n </span>\n ) : null}\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'textarea'\n})\nexport class TextAreaControlRenderer extends TextAreaControl {}\n"
12
12
  ]
13
13
  }
@@ -75,7 +75,7 @@ export interface BaseTransferProps extends OptionsControlProps, Omit<TransferCon
75
75
  resultItemRender?: (option: Option) => JSX.Element;
76
76
  }
77
77
  export declare class BaseTransferRenderer<T extends OptionsControlProps = BaseTransferProps> extends React.Component<T> {
78
- handleChange(value: Array<Option>, optionModified?: boolean): void;
78
+ handleChange(value: Array<Option> | Option, optionModified?: boolean): void;
79
79
  option2value(option: Option): Option;
80
80
  handleSearch(term: string, cancelExecutor: Function): Promise<any[]>;
81
81
  optionItemRender(option: Option, states: ItemRenderStates): JSX.Element;
@@ -39,6 +39,12 @@ var BaseTransferRenderer = /** @class */ (function (_super) {
39
39
  newValue = newValue.join(delimiter || ',');
40
40
  }
41
41
  }
42
+ else if (value) {
43
+ newValue =
44
+ joinValues || extractValue
45
+ ? value[valueField || 'value']
46
+ : value;
47
+ }
42
48
  (newOptions.length > options.length || optionModified) &&
43
49
  setOptions(newOptions, true);
44
50
  onChange(newValue);
@@ -154,7 +160,7 @@ var BaseTransferRenderer = /** @class */ (function (_super) {
154
160
  (0, tslib_1.__decorate)([
155
161
  helper_1.autobind,
156
162
  (0, tslib_1.__metadata)("design:type", Function),
157
- (0, tslib_1.__metadata)("design:paramtypes", [typeof (_a = typeof Array !== "undefined" && Array) === "function" ? _a : Object, Boolean]),
163
+ (0, tslib_1.__metadata)("design:paramtypes", [Object, Boolean]),
158
164
  (0, tslib_1.__metadata)("design:returntype", void 0)
159
165
  ], BaseTransferRenderer.prototype, "handleChange", null);
160
166
  (0, tslib_1.__decorate)([