amis 1.3.4 → 1.4.0

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 (270) hide show
  1. package/README.md +2 -1
  2. package/lib/RootRenderer.js +4 -1
  3. package/lib/RootRenderer.js.map +2 -2
  4. package/lib/components/Badge.d.ts +13 -1
  5. package/lib/components/Badge.js +16 -2
  6. package/lib/components/Badge.js.map +2 -2
  7. package/lib/components/Checkbox.d.ts +1 -1
  8. package/lib/components/Checkbox.js +1 -1
  9. package/lib/components/Checkbox.js.map +2 -2
  10. package/lib/components/Drawer.js +1 -1
  11. package/lib/components/Drawer.js.map +2 -2
  12. package/lib/components/Modal.js +1 -1
  13. package/lib/components/Modal.js.map +2 -2
  14. package/lib/components/RichText.d.ts +0 -3
  15. package/lib/components/RichText.js +1 -22
  16. package/lib/components/RichText.js.map +2 -2
  17. package/lib/components/Select.d.ts +7 -0
  18. package/lib/components/Select.js.map +2 -2
  19. package/lib/components/Steps.d.ts +3 -3
  20. package/lib/components/Steps.js.map +1 -1
  21. package/lib/components/WithRemoteConfig.d.ts +8 -0
  22. package/lib/components/WithRemoteConfig.js +28 -2
  23. package/lib/components/WithRemoteConfig.js.map +2 -2
  24. package/lib/components/condition-builder/Field.js +0 -1
  25. package/lib/components/condition-builder/Field.js.map +2 -2
  26. package/lib/components/condition-builder/Value.js +2 -1
  27. package/lib/components/condition-builder/Value.js.map +2 -2
  28. package/lib/components/condition-builder/types.d.ts +5 -0
  29. package/lib/components/condition-builder/types.js.map +1 -1
  30. package/lib/env.d.ts +1 -1
  31. package/lib/env.js.map +1 -1
  32. package/lib/factory.d.ts +6 -2
  33. package/lib/factory.js +9 -4
  34. package/lib/factory.js.map +2 -2
  35. package/lib/index.d.ts +1 -0
  36. package/lib/index.js +2 -1
  37. package/lib/index.js.map +2 -2
  38. package/lib/locale/de-DE.js +1 -0
  39. package/lib/locale/de-DE.js.map +2 -2
  40. package/lib/locale/en-US.js +2 -1
  41. package/lib/locale/en-US.js.map +2 -2
  42. package/lib/locale/zh-CN.js +2 -1
  43. package/lib/locale/zh-CN.js.map +2 -2
  44. package/lib/renderers/Action.d.ts +6 -0
  45. package/lib/renderers/Action.js +9 -1
  46. package/lib/renderers/Action.js.map +2 -2
  47. package/lib/renderers/CRUD.d.ts +2 -2
  48. package/lib/renderers/CRUD.js +13 -21
  49. package/lib/renderers/CRUD.js.map +2 -2
  50. package/lib/renderers/Card.js +11 -11
  51. package/lib/renderers/Card.js.map +2 -2
  52. package/lib/renderers/Collapse.d.ts +1 -1
  53. package/lib/renderers/Collapse.js +5 -1
  54. package/lib/renderers/Collapse.js.map +2 -2
  55. package/lib/renderers/Copyable.js +30 -28
  56. package/lib/renderers/Copyable.js.map +2 -2
  57. package/lib/renderers/Dialog.d.ts +0 -252
  58. package/lib/renderers/Dialog.js +3 -2
  59. package/lib/renderers/Dialog.js.map +2 -2
  60. package/lib/renderers/Drawer.js +2 -1
  61. package/lib/renderers/Drawer.js.map +2 -2
  62. package/lib/renderers/DropDownButton.d.ts +4 -0
  63. package/lib/renderers/DropDownButton.js +2 -2
  64. package/lib/renderers/DropDownButton.js.map +2 -2
  65. package/lib/renderers/Form/ButtonGroupSelect.js +3 -0
  66. package/lib/renderers/Form/ButtonGroupSelect.js.map +2 -2
  67. package/lib/renderers/Form/Combo.d.ts +2 -0
  68. package/lib/renderers/Form/Combo.js +16 -1
  69. package/lib/renderers/Form/Combo.js.map +2 -2
  70. package/lib/renderers/Form/DiffEditor.d.ts +0 -2
  71. package/lib/renderers/Form/Editor.d.ts +0 -2
  72. package/lib/renderers/Form/Editor.js +1 -1
  73. package/lib/renderers/Form/Editor.js.map +2 -2
  74. package/lib/renderers/Form/InputExcel.d.ts +5 -0
  75. package/lib/renderers/Form/InputExcel.js +24 -3
  76. package/lib/renderers/Form/InputExcel.js.map +2 -2
  77. package/lib/renderers/Form/InputImage.d.ts +8 -0
  78. package/lib/renderers/Form/InputImage.js +2 -1
  79. package/lib/renderers/Form/InputImage.js.map +2 -2
  80. package/lib/renderers/Form/InputNumber.d.ts +19 -5
  81. package/lib/renderers/Form/InputNumber.js +69 -7
  82. package/lib/renderers/Form/InputNumber.js.map +2 -2
  83. package/lib/renderers/Form/InputRange.js +7 -2
  84. package/lib/renderers/Form/InputRange.js.map +2 -2
  85. package/lib/renderers/Form/InputTable.d.ts +23 -5
  86. package/lib/renderers/Form/InputTable.js +32 -3
  87. package/lib/renderers/Form/InputTable.js.map +2 -2
  88. package/lib/renderers/Form/NestedSelect.js +2 -3
  89. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  90. package/lib/renderers/Form/Options.js +3 -1
  91. package/lib/renderers/Form/Options.js.map +2 -2
  92. package/lib/renderers/Form/index.js +0 -10
  93. package/lib/renderers/Form/index.js.map +2 -2
  94. package/lib/renderers/Form/wrapControl.js +3 -3
  95. package/lib/renderers/Form/wrapControl.js.map +2 -2
  96. package/lib/renderers/Json.js +5 -1
  97. package/lib/renderers/Json.js.map +2 -2
  98. package/lib/renderers/List.d.ts +5 -0
  99. package/lib/renderers/List.js +20 -14
  100. package/lib/renderers/List.js.map +2 -2
  101. package/lib/renderers/Page.d.ts +6 -0
  102. package/lib/renderers/Page.js +10 -2
  103. package/lib/renderers/Page.js.map +2 -2
  104. package/lib/renderers/Service.d.ts +10 -1
  105. package/lib/renderers/Service.js +85 -3
  106. package/lib/renderers/Service.js.map +2 -2
  107. package/lib/renderers/Steps.d.ts +4 -4
  108. package/lib/renderers/Steps.js +5 -2
  109. package/lib/renderers/Steps.js.map +2 -2
  110. package/lib/renderers/Table/TableBody.d.ts +5 -3
  111. package/lib/renderers/Table/TableBody.js +17 -11
  112. package/lib/renderers/Table/TableBody.js.map +2 -2
  113. package/lib/renderers/Table/TableCell.js +6 -2
  114. package/lib/renderers/Table/TableCell.js.map +2 -2
  115. package/lib/renderers/Table/TableContent.d.ts +3 -1
  116. package/lib/renderers/Table/TableContent.js +6 -2
  117. package/lib/renderers/Table/TableContent.js.map +2 -2
  118. package/lib/renderers/Table/TableRow.d.ts +1 -1
  119. package/lib/renderers/Table/TableRow.js +14 -13
  120. package/lib/renderers/Table/TableRow.js.map +2 -2
  121. package/lib/renderers/Table/index.d.ts +28 -3
  122. package/lib/renderers/Table/index.js +97 -54
  123. package/lib/renderers/Table/index.js.map +2 -2
  124. package/lib/schemaExtend.d.ts +1 -0
  125. package/lib/schemaExtend.js +59 -0
  126. package/lib/schemaExtend.js.map +13 -0
  127. package/lib/store/app.d.ts +0 -1
  128. package/lib/store/combo.d.ts +0 -2
  129. package/lib/store/crud.d.ts +3 -3
  130. package/lib/store/crud.js +41 -36
  131. package/lib/store/crud.js.map +2 -2
  132. package/lib/store/form.d.ts +0 -1
  133. package/lib/store/formItem.js +10 -6
  134. package/lib/store/formItem.js.map +2 -2
  135. package/lib/store/modal.d.ts +1 -1
  136. package/lib/store/modal.js +4 -0
  137. package/lib/store/modal.js.map +2 -2
  138. package/lib/store/root.d.ts +0 -1
  139. package/lib/store/service.d.ts +0 -1
  140. package/lib/store/service.js +0 -13
  141. package/lib/store/service.js.map +2 -2
  142. package/lib/store/table.d.ts +1 -2
  143. package/lib/store/table.js +44 -3
  144. package/lib/store/table.js.map +2 -2
  145. package/lib/themes/ang-ie11.css +278 -17
  146. package/lib/themes/ang.css +278 -17
  147. package/lib/themes/ang.css.map +1 -1
  148. package/lib/themes/antd-ie11.css +278 -17
  149. package/lib/themes/antd.css +278 -17
  150. package/lib/themes/antd.css.map +1 -1
  151. package/lib/themes/cxd-ie11.css +278 -17
  152. package/lib/themes/cxd.css +278 -17
  153. package/lib/themes/cxd.css.map +1 -1
  154. package/lib/themes/dark-ie11.css +278 -17
  155. package/lib/themes/dark.css +278 -17
  156. package/lib/themes/dark.css.map +1 -1
  157. package/lib/themes/default.css +278 -17
  158. package/lib/themes/default.css.map +1 -1
  159. package/lib/utils/api.js +12 -0
  160. package/lib/utils/api.js.map +2 -2
  161. package/lib/utils/attachmentAdpator.d.ts +7 -0
  162. package/lib/utils/attachmentAdpator.js +82 -0
  163. package/lib/utils/attachmentAdpator.js.map +13 -0
  164. package/lib/utils/helper.d.ts +2 -0
  165. package/lib/utils/helper.js +14 -1
  166. package/lib/utils/helper.js.map +2 -2
  167. package/lib/utils/resize-sensor.js +6 -0
  168. package/lib/utils/resize-sensor.js.map +2 -2
  169. package/lib/utils/tpl-builtin.d.ts +1 -0
  170. package/lib/utils/tpl-builtin.js +24 -8
  171. package/lib/utils/tpl-builtin.js.map +2 -2
  172. package/lib/utils/validations.js +62 -5
  173. package/lib/utils/validations.js.map +2 -2
  174. package/package.json +1 -1
  175. package/schema.json +369 -164
  176. package/scss/_properties.scss +6 -0
  177. package/scss/components/_badge.scss +15 -1
  178. package/scss/components/_list.scss +8 -0
  179. package/scss/components/_markdown.scss +266 -0
  180. package/scss/components/_spinner.scss +6 -2
  181. package/scss/components/_table.scss +4 -0
  182. package/scss/components/form/_form.scss +3 -17
  183. package/scss/components/form/_group.scss +4 -0
  184. package/scss/components/form/_nested-select.scss +4 -0
  185. package/scss/components/form/_number.scss +12 -1
  186. package/scss/themes/_common.scss +1 -0
  187. package/sdk/ang-ie11.css +324 -20
  188. package/sdk/ang.css +330 -20
  189. package/sdk/antd-ie11.css +324 -20
  190. package/sdk/antd.css +330 -20
  191. package/sdk/charts.js +15 -15
  192. package/sdk/color-picker.js +65 -69
  193. package/sdk/cropperjs.js +2 -2
  194. package/sdk/cxd-ie11.css +324 -20
  195. package/sdk/cxd.css +330 -20
  196. package/sdk/dark-ie11.css +324 -20
  197. package/sdk/dark.css +330 -20
  198. package/sdk/exceljs.js +1 -1
  199. package/sdk/locale/de-DE.js +1 -0
  200. package/sdk/markdown.js +69 -69
  201. package/sdk/papaparse.js +1 -1
  202. package/sdk/renderers/Form/CityDB.js +1 -1
  203. package/sdk/rest.js +27 -23
  204. package/sdk/rich-text.js +63 -63
  205. package/sdk/sdk-ie11.css +324 -20
  206. package/sdk/sdk.css +330 -20
  207. package/sdk/sdk.js +1146 -1138
  208. package/sdk/thirds/hls.js/hls.js +1 -1
  209. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  210. package/sdk/tinymce.js +57 -57
  211. package/src/RootRenderer.tsx +8 -3
  212. package/src/components/Badge.tsx +41 -6
  213. package/src/components/Checkbox.tsx +5 -2
  214. package/src/components/Drawer.tsx +3 -2
  215. package/src/components/Modal.tsx +3 -2
  216. package/src/components/RichText.tsx +2 -27
  217. package/src/components/Select.tsx +1 -0
  218. package/src/components/Steps.tsx +3 -3
  219. package/src/components/WithRemoteConfig.tsx +37 -2
  220. package/src/components/condition-builder/Field.tsx +1 -2
  221. package/src/components/condition-builder/Value.tsx +3 -0
  222. package/src/components/condition-builder/types.ts +6 -0
  223. package/src/env.tsx +1 -1
  224. package/src/factory.tsx +14 -4
  225. package/src/index.tsx +2 -0
  226. package/src/locale/de-DE.ts +1 -0
  227. package/src/locale/en-US.ts +2 -1
  228. package/src/locale/zh-CN.ts +2 -1
  229. package/src/renderers/Action.tsx +19 -1
  230. package/src/renderers/CRUD.tsx +15 -34
  231. package/src/renderers/Card.tsx +21 -15
  232. package/src/renderers/Collapse.tsx +5 -1
  233. package/src/renderers/Copyable.tsx +46 -44
  234. package/src/renderers/Dialog.tsx +3 -2
  235. package/src/renderers/Drawer.tsx +2 -1
  236. package/src/renderers/DropDownButton.tsx +8 -0
  237. package/src/renderers/Form/ButtonGroupSelect.tsx +3 -0
  238. package/src/renderers/Form/Combo.tsx +7 -0
  239. package/src/renderers/Form/Editor.tsx +19 -20
  240. package/src/renderers/Form/InputExcel.tsx +28 -3
  241. package/src/renderers/Form/InputImage.tsx +23 -8
  242. package/src/renderers/Form/InputNumber.tsx +113 -18
  243. package/src/renderers/Form/InputRange.tsx +5 -2
  244. package/src/renderers/Form/InputTable.tsx +88 -9
  245. package/src/renderers/Form/NestedSelect.tsx +1 -1
  246. package/src/renderers/Form/Options.tsx +3 -1
  247. package/src/renderers/Form/index.tsx +0 -15
  248. package/src/renderers/Form/wrapControl.tsx +2 -2
  249. package/src/renderers/Json.tsx +10 -1
  250. package/src/renderers/List.tsx +32 -19
  251. package/src/renderers/Page.tsx +19 -0
  252. package/src/renderers/Service.tsx +101 -3
  253. package/src/renderers/Steps.tsx +12 -9
  254. package/src/renderers/Table/TableBody.tsx +29 -10
  255. package/src/renderers/Table/TableCell.tsx +15 -1
  256. package/src/renderers/Table/TableContent.tsx +7 -1
  257. package/src/renderers/Table/TableRow.tsx +18 -17
  258. package/src/renderers/Table/index.tsx +117 -28
  259. package/src/schemaExtend.ts +66 -0
  260. package/src/store/crud.ts +34 -38
  261. package/src/store/formItem.ts +10 -6
  262. package/src/store/modal.ts +4 -0
  263. package/src/store/service.ts +0 -19
  264. package/src/store/table.ts +48 -0
  265. package/src/utils/api.ts +11 -0
  266. package/src/utils/attachmentAdpator.ts +90 -0
  267. package/src/utils/helper.ts +15 -0
  268. package/src/utils/resize-sensor.ts +7 -0
  269. package/src/utils/tpl-builtin.ts +36 -17
  270. package/src/utils/validations.ts +80 -12
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/InputNumber.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 {filter} from '../../utils/tpl';\nimport NumberInput from '../../components/NumberInput';\nimport {FormOptionsControl} from './Options';\n\n/**\n * 数字输入框\n * 文档:https://baidu.gitee.io/amis/docs/components/form/number\n */\nexport interface NumberControlSchema extends FormBaseControl {\n type: 'input-number';\n\n /**\n * 最大值\n */\n max?: number;\n\n /**\n * 最小值\n */\n min?: number;\n\n /**\n * 步长\n */\n step?: number;\n\n /**\n * 精度\n */\n precision?: number;\n\n /**\n * 默认当然是\n */\n showSteps?: boolean;\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n /**\n * 前缀\n */\n prefix?: string;\n /**\n * 后缀\n */\n suffix?: string;\n /**\n * 是否千分分隔\n */\n kilobitSeparator?: boolean;\n /**\n * 只读\n */\n readOnly?: boolean\n}\n\nexport interface NumberProps extends FormControlProps {\n placeholder?: string;\n max?: number | string;\n min?: number | string;\n step?: number;\n precision?: number;\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n /**\n * 前缀\n */\n prefix?: string;\n /**\n * 后缀\n */\n suffix?: string;\n /**\n * 是否千分分隔\n */\n kilobitSeparator?: boolean;\n /**\n * 只读\n */\n readOnly?: boolean\n}\n\nexport default class NumberControl extends React.Component<NumberProps, any> {\n static defaultProps: Partial<NumberProps> = {\n step: 1,\n resetValue: ''\n };\n\n constructor(props: NumberProps) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n }\n\n handleChange(inputValue: any) {\n const {classPrefix: ns, onChange, resetValue} = this.props;\n\n if (inputValue && typeof inputValue !== 'number') {\n return;\n }\n\n onChange(inputValue === null ? resetValue ?? null : inputValue);\n }\n\n filterNum(value: number | string | undefined) {\n if (typeof value !== 'number') {\n value = filter(value, this.props.data);\n value = /^[-]?\\d+/.test(value) ? +value : undefined;\n }\n return value;\n }\n\n render(): JSX.Element {\n const {\n className,\n classPrefix: ns,\n value,\n step,\n precision,\n max,\n min,\n disabled,\n placeholder,\n showSteps,\n borderMode,\n suffix,\n prefix,\n kilobitSeparator,\n readOnly\n } = this.props;\n\n let precisionProps: any = {};\n\n const finalPrecision = this.filterNum(precision);\n if (typeof finalPrecision === 'number') {\n precisionProps.precision = finalPrecision;\n }\n // 数据格式化\n const formatter = (value: string | number) => {\n // 增加千分分隔\n if (kilobitSeparator && value) {\n value = (value + '').replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n }\n return (prefix ? prefix : '')\n + value\n + (suffix ? suffix : '');\n }\n // 将数字还原\n const parser = (value: string) => {\n if (value) {\n prefix && (value = value.replace(prefix, ''));\n suffix && (value = value.replace(suffix, ''));\n kilobitSeparator && (value = value.replace(/,/g, ''));\n }\n return value;\n }\n return (\n <div className={cx(`${ns}NumberControl`, className)}>\n <NumberInput\n value={value}\n step={step}\n max={this.filterNum(max)}\n min={this.filterNum(min)}\n formatter={formatter}\n parser={parser}\n onChange={this.handleChange}\n disabled={disabled}\n placeholder={placeholder}\n precision={finalPrecision}\n showSteps={showSteps}\n borderMode={borderMode}\n readOnly={readOnly}\n />\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-number'\n})\nexport class NumberControlRenderer extends NumberControl {\n static defaultProps: Partial<FormControlProps> = {\n validations: 'isNumeric',\n ...NumberControl.defaultProps\n };\n}\n"
11
+ "import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport {filter} from '../../utils/tpl';\nimport NumberInput from '../../components/NumberInput';\nimport {FormOptionsControl} from './Options';\nimport Select, {normalizeOptions, Option} from '../../components/Select';\nimport {PlainObject} from '../../types';\n/**\n * 数字输入框\n * 文档:https://baidu.gitee.io/amis/docs/components/form/number\n */\nexport interface NumberControlSchema extends FormBaseControl {\n type: 'input-number';\n\n /**\n * 最大值\n */\n max?: number;\n\n /**\n * 最小值\n */\n min?: number;\n\n /**\n * 步长\n */\n step?: number;\n\n /**\n * 精度\n */\n precision?: number;\n\n /**\n * 默认当然是\n */\n showSteps?: boolean;\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n /**\n * 前缀\n */\n prefix?: string;\n /**\n * 后缀\n */\n suffix?: string;\n\n /**\n * 单位列表\n */\n unitOptions?: string | Array<Option> | string[] | PlainObject;\n\n /**\n * 是否千分分隔\n */\n kilobitSeparator?: boolean;\n /**\n * 只读\n */\n readOnly?: boolean;\n}\n\nexport interface NumberProps extends FormControlProps {\n placeholder?: string;\n max?: number | string;\n min?: number | string;\n step?: number;\n precision?: number;\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n /**\n * 前缀\n */\n prefix?: string;\n /**\n * 后缀\n */\n suffix?: string;\n /**\n * 是否千分分隔\n */\n kilobitSeparator?: boolean;\n /**\n * 只读\n */\n readOnly?: boolean;\n}\n\ninterface NumberState {\n // 数字单位,将会影响输出\n unit?: string;\n unitOptions?: Option[];\n}\n\nexport default class NumberControl extends React.Component<\n NumberProps,\n NumberState\n> {\n static defaultProps: Partial<NumberProps> = {\n step: 1,\n resetValue: ''\n };\n\n constructor(props: NumberProps) {\n super(props);\n this.handleChange = this.handleChange.bind(this);\n this.handleChangeUnit = this.handleChangeUnit.bind(this);\n const unit = this.getUnit();\n const unitOptions = normalizeOptions(props.unitOptions);\n this.state = {unit, unitOptions};\n }\n\n // 解析出单位\n getUnit() {\n const props = this.props;\n if (props.unitOptions && props.unitOptions.length) {\n const optionValues = normalizeOptions(props.unitOptions).map(\n option => option.value\n );\n // 如果有值就解析出来作为单位\n if (props.value && typeof props.value === 'string') {\n let unit = optionValues[0];\n // 先找长的字符,这样如果有 ab 和 b 两种后缀相同的也能识别\n optionValues.sort((a, b) => b.length - a.length);\n for (const optionValue of optionValues) {\n if (props.value.endsWith(optionValue)) {\n unit = optionValue;\n break;\n }\n }\n return unit;\n } else {\n // 没有值就使用第一个单位\n return optionValues[0];\n }\n }\n return undefined;\n }\n\n handleChange(inputValue: any) {\n const {classPrefix: ns, onChange, resetValue, unitOptions} = this.props;\n\n if (inputValue && typeof inputValue !== 'number') {\n return;\n }\n\n if (inputValue !== null && unitOptions && this.state.unit) {\n inputValue = inputValue + this.state.unit;\n }\n\n onChange(inputValue === null ? resetValue ?? null : inputValue);\n }\n\n filterNum(value: number | string | undefined) {\n if (typeof value !== 'number') {\n value = filter(value, this.props.data);\n value = /^[-]?\\d+/.test(value) ? +value : undefined;\n }\n return value;\n }\n\n // 单位选项的变更\n handleChangeUnit(option: Option) {\n let value = this.props.value;\n const prevUnitValue = this.state.unit;\n this.setState({unit: option.value}, () => {\n if (value) {\n value = value.replace(prevUnitValue, '');\n this.props.onChange(value + this.state.unit);\n }\n });\n }\n\n componentDidUpdate(prevProps: NumberProps) {\n if (this.props.value !== prevProps.value) {\n const unit = this.getUnit();\n this.setState({unit: unit});\n }\n if (this.props.unitOptions !== prevProps.unitOptions) {\n this.setState({unitOptions: normalizeOptions(this.props.unitOptions)});\n }\n }\n\n render(): JSX.Element {\n const {\n className,\n classPrefix: ns,\n value,\n step,\n precision,\n max,\n min,\n disabled,\n placeholder,\n showSteps,\n borderMode,\n suffix,\n prefix,\n kilobitSeparator,\n unitOptions,\n readOnly\n } = this.props;\n\n let precisionProps: any = {};\n\n const finalPrecision = this.filterNum(precision);\n if (typeof finalPrecision === 'number') {\n precisionProps.precision = finalPrecision;\n }\n\n const unit = this.state?.unit;\n // 数据格式化\n const formatter = (value: string | number) => {\n // 增加千分分隔\n if (kilobitSeparator && value) {\n value = (value + '').replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n }\n return (prefix ? prefix : '') + value + (suffix ? suffix : '');\n };\n // 将数字还原\n const parser = (value: string) => {\n if (value) {\n prefix && (value = value.replace(prefix, ''));\n suffix && (value = value.replace(suffix, ''));\n kilobitSeparator && (value = value.replace(/,/g, ''));\n }\n return value;\n };\n\n const finalValue =\n unit && value && typeof value === 'string'\n ? value.replace(unit, '')\n : value;\n\n return (\n <div\n className={cx(\n `${ns}NumberControl`,\n {\n [`${ns}NumberControl--withUnit`]: unitOptions\n },\n className\n )}\n >\n <NumberInput\n value={finalValue}\n step={step}\n max={this.filterNum(max)}\n min={this.filterNum(min)}\n formatter={formatter}\n parser={parser}\n onChange={this.handleChange}\n disabled={disabled}\n placeholder={placeholder}\n precision={finalPrecision}\n showSteps={showSteps}\n borderMode={borderMode}\n readOnly={readOnly}\n />\n {unitOptions ? (\n <Select\n value={unit}\n clearable={false}\n options={this.state.unitOptions || []}\n onChange={this.handleChangeUnit}\n />\n ) : null}\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-number'\n})\nexport class NumberControlRenderer extends NumberControl {\n static defaultProps: Partial<FormControlProps> = {\n validations: 'isNumeric',\n ...NumberControl.defaultProps\n };\n}\n"
12
12
  ]
13
13
  }
@@ -9,6 +9,7 @@ var isEqual_1 = (0, tslib_1.__importDefault)(require("lodash/isEqual"));
9
9
  var Item_1 = require("./Item");
10
10
  var Range_1 = (0, tslib_1.__importDefault)(require("../../components/Range"));
11
11
  var icons_1 = require("../../components/icons");
12
+ var tpl_builtin_1 = require("../../utils/tpl-builtin");
12
13
  function formatValue(value, props) {
13
14
  if (props.multiple) {
14
15
  if (typeof value === 'string') {
@@ -100,7 +101,7 @@ var RangeControl = /** @class */ (function (_super) {
100
101
  };
101
102
  RangeControl.prototype.handleChange = function (value) {
102
103
  this.setState({
103
- value: value,
104
+ value: (0, tpl_builtin_1.stripNumber)(value),
104
105
  minValue: value.min,
105
106
  maxValue: value.max
106
107
  });
@@ -141,16 +142,20 @@ var RangeControl = /** @class */ (function (_super) {
141
142
  max: value.max
142
143
  };
143
144
  }
145
+ else {
146
+ endValue = (0, tpl_builtin_1.stripNumber)(value);
147
+ }
144
148
  var onChange = this.props.onChange;
145
149
  this.setState({
146
150
  value: value
147
151
  }, function () { return onChange(endValue); });
148
152
  };
149
153
  RangeControl.prototype.getStepPrecision = function () {
154
+ var _a;
150
155
  var step = this.props.step;
151
156
  return typeof step !== 'number' || step >= 1 || step < 0
152
157
  ? 0
153
- : step.toString().split('.')[1].length;
158
+ : (_a = step.toString().split('.')[1]) === null || _a === void 0 ? void 0 : _a.length;
154
159
  };
155
160
  RangeControl.prototype.getValue = function (value, type) {
156
161
  var _a = this.props, max = _a.max, min = _a.min, step = _a.step;
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/InputRange.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 isNumber from 'lodash/isNumber';\nimport isObject from 'lodash/isObject';\nimport isEqual from 'lodash/isEqual';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\n\nimport InputRange from '../../components/Range';\nimport {Icon} from '../../components/icons';\nimport {FormOptionsControl} from './Options';\n\n/**\n * Range\n * 文档:https://baidu.gitee.io/amis/docs/components/form/range\n */\nexport interface RangeControlSchema extends FormBaseControl {\n type: 'input-range';\n\n /**\n * 最大值\n */\n max?: number;\n\n /**\n * 最小值\n */\n min?: number;\n\n /**\n * 步长\n */\n step?: number;\n\n /**\n * 单位\n */\n unit?: string;\n}\n\nexport interface RangeProps extends FormControlProps {\n max?: number;\n min?: number;\n step?: number;\n unit?: string;\n clearable?: boolean;\n name?: string;\n showInput?: boolean;\n className?: string;\n value: any;\n onChange: (value: any) => void;\n multiple?: boolean;\n joinValues?: boolean;\n delimiter?: string;\n}\n\nexport interface DefaultProps {\n max: number;\n min: number;\n step: number;\n unit: string;\n clearable: boolean;\n disabled: boolean;\n showInput: boolean;\n multiple: boolean;\n joinValues: boolean;\n delimiter: string;\n}\n\nexport function formatValue(\n value: string | number | {min: number; max: number},\n props: Partial<RangeProps>\n) {\n if (props.multiple) {\n if (typeof value === 'string') {\n const [minValue, maxValue] = value\n .split(props.delimiter || ',')\n .map(v => Number(v));\n return {\n min:\n (props.min && minValue < props.min && props.min) ||\n minValue ||\n props.min,\n max:\n (props.max && maxValue > props.max && props.max) ||\n maxValue ||\n props.max\n };\n } else if (typeof value === 'object') {\n return {\n min:\n (props.min && value.min < props.min && props.min) ||\n value.min ||\n props.min,\n max:\n (props.max && value.max > props.max && props.max) ||\n value.max ||\n props.max\n };\n }\n }\n return value ?? props.min;\n}\n\ntype PropsWithDefaults = RangeProps & DefaultProps;\n\nexport interface RangeState {\n value:\n | {\n min?: number;\n max?: number;\n }\n | number\n | string\n | undefined;\n minValue?: any;\n maxValue?: any;\n}\n\nexport default class RangeControl extends React.PureComponent<\n RangeProps,\n RangeState\n> {\n midLabel?: HTMLSpanElement;\n\n static defaultProps: DefaultProps = {\n max: 100,\n min: 0,\n step: 1,\n unit: '',\n clearable: true,\n disabled: false,\n showInput: false,\n multiple: false,\n joinValues: true,\n delimiter: ','\n };\n\n constructor(props: RangeProps) {\n super(props);\n const {value: propsValue, multiple, delimiter, min, max} = this.props;\n const value = formatValue(propsValue, {\n multiple,\n delimiter,\n min,\n max\n });\n\n this.state = {\n value: value,\n minValue: isObject(value) ? value.min : min,\n maxValue: isObject(value) ? value.max : max\n };\n this.handleChange = this.handleChange.bind(this);\n this.handleEnd = this.handleEnd.bind(this);\n this.handleInputChange = this.handleInputChange.bind(this);\n this.midLabelRef = this.midLabelRef.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.handleMinInputBlur = this.handleMinInputBlur.bind(this);\n this.handleMaxInputBlur = this.handleMaxInputBlur.bind(this);\n this.handleMinInputChange = this.handleMinInputChange.bind(this);\n this.handleMaxInputChange = this.handleMaxInputChange.bind(this);\n }\n\n componentDidMount() {\n this.updateStyle();\n }\n\n componentDidUpdate(prevProps: RangeProps) {\n const {value} = prevProps;\n const {value: nextPropsValue, multiple, delimiter, min, max} = this.props;\n if (value !== nextPropsValue) {\n const value = formatValue(nextPropsValue, {\n multiple,\n delimiter,\n min,\n max\n });\n\n this.setState({\n value: value,\n minValue: isObject(value) ? value.min : min,\n maxValue: isObject(value) ? value.max : max\n });\n }\n\n if (prevProps.showInput !== this.props.showInput) {\n this.updateStyle();\n }\n }\n\n updateStyle() {\n const {showInput, classPrefix: ns, max, min} = this.props;\n\n let offsetWidth = (this.midLabel as HTMLSpanElement).offsetWidth;\n const midValue = parseFloat(\n ((max! + min! - 0.000001) / 2).toFixed(this.getStepPrecision())\n );\n\n let left = `${100 * ((midValue - min!) / (max! - min!))}%`;\n (this.midLabel as HTMLSpanElement).style.left = left;\n }\n\n midLabelRef(ref: any) {\n this.midLabel = ref;\n }\n\n handleChange(value: any) {\n this.setState({\n value: value,\n minValue: value.min,\n maxValue: value.max\n });\n }\n\n clearValue() {\n const {multiple, joinValues, delimiter, min, max, onChange} = this.props;\n if (multiple) {\n this.setState(\n {\n value: {\n min: min,\n max: max\n },\n minValue: min,\n maxValue: max\n },\n () =>\n onChange(\n joinValues\n ? [min, max].join(delimiter || ',')\n : {\n min: min,\n max: max\n }\n )\n );\n } else {\n this.setState(\n {\n value: min\n },\n () => onChange(min)\n );\n }\n }\n\n handleEnd(value: any) {\n const {multiple, joinValues, delimiter} = this.props;\n let endValue = value;\n if (multiple) {\n endValue = joinValues\n ? [value.min, value.max].join(delimiter || ',')\n : {\n min: value.min,\n max: value.max\n };\n }\n const {onChange} = this.props;\n this.setState(\n {\n value\n },\n () => onChange(endValue)\n );\n }\n\n getStepPrecision() {\n const {step} = this.props;\n\n return typeof step !== 'number' || step >= 1 || step < 0\n ? 0\n : step.toString().split('.')[1].length;\n }\n\n getValue(value: any, type?: string) {\n const {max, min, step} = this.props as PropsWithDefaults;\n const {value: stateValue} = this.state;\n\n if (\n value === '' ||\n value === '-' ||\n new RegExp('^[-]?\\\\d+[.]{1}[0]{0,' + this.getStepPrecision() + '}$').test(\n value\n )\n ) {\n return value;\n }\n\n value = Math.round(parseFloat(value) / step) * step;\n value =\n step < 1 ? parseFloat(value.toFixed(this.getStepPrecision())) : ~~value;\n\n switch (type) {\n case 'min': {\n if (isObject(stateValue) && isNumber(stateValue.max)) {\n if (value >= stateValue.max && min <= stateValue.max - step) {\n return stateValue.max - step;\n }\n if (value < stateValue.max - step) {\n return value;\n }\n }\n return min;\n }\n case 'max':\n return isObject(stateValue) && isNumber(stateValue.min)\n ? (value > max && max) ||\n (value <= stateValue.min && stateValue.min + step) ||\n value\n : max;\n default:\n return (value < min && min) || (value > max && max) || value;\n }\n }\n\n handleInputChange(evt: React.ChangeEvent<HTMLInputElement>) {\n const value = this.getValue(evt.target.value);\n this.setState(\n {\n value\n },\n () => this.props.onChange(value)\n );\n }\n\n handleMinInputBlur(evt: React.ChangeEvent<HTMLInputElement>) {\n const {joinValues, delimiter} = this.props;\n const minValue = this.getValue(evt.target.value, 'min');\n const {value} = this.state;\n isObject(value)\n ? this.setState(\n {\n value: {\n min: minValue,\n max: value.max\n },\n minValue: minValue\n },\n () =>\n this.props.onChange(\n joinValues\n ? [minValue, value.max].join(delimiter || ',')\n : {\n min: minValue,\n max: value.max\n }\n )\n )\n : null;\n }\n\n handleMaxInputBlur(evt: React.ChangeEvent<HTMLInputElement>) {\n const {joinValues, delimiter} = this.props;\n const maxValue = this.getValue(evt.target.value, 'max');\n const {value} = this.state;\n\n if (isObject(value)) {\n this.setState(\n {\n value: {\n min: value.min,\n max: maxValue\n },\n maxValue: maxValue\n },\n () =>\n this.props.onChange(\n joinValues\n ? [value.min, maxValue].join(delimiter || ',')\n : {\n min: value.min,\n max: maxValue\n }\n )\n );\n }\n }\n\n handleMinInputChange(evt: React.ChangeEvent<HTMLInputElement>) {\n this.setState({\n minValue: evt.target.value\n });\n }\n\n handleMaxInputChange(evt: React.ChangeEvent<HTMLInputElement>) {\n this.setState({\n maxValue: evt.target.value\n });\n }\n\n render() {\n const {\n max,\n min,\n step,\n unit,\n clearable,\n name,\n disabled,\n className,\n showInput,\n multiple,\n classnames: cx,\n classPrefix: ns\n } = this.props as PropsWithDefaults;\n const midValue = ((max + min - 0.000001) / 2).toFixed(\n this.getStepPrecision()\n );\n\n return (\n <div\n className={cx(\n 'RangeControl',\n {\n 'RangeControl--withInput': showInput,\n 'RangeControl--clearable': clearable,\n 'is-multiple': multiple\n },\n className\n )}\n >\n <InputRange\n classPrefix={ns}\n value={this.state.value}\n disabled={disabled}\n onChange={this.handleChange}\n onChangeComplete={this.handleEnd}\n max={max}\n min={min}\n step={step}\n formatLabel={(value: any) => value + unit}\n multiple={multiple}\n />\n\n <span\n className={cx('InputRange-label InputRange-label--mid')}\n ref={this.midLabelRef}\n >\n <span className={cx('InputRange-labelContainer')}>\n {midValue}\n {unit}\n </span>\n </span>\n\n {showInput ? (\n multiple && isObject(this.state.value) ? (\n <div className={cx('InputRange-input is-multiple')}>\n <input\n className={this.state.value.min !== min ? 'is-active' : ''}\n type=\"text\"\n name={name}\n value={this.state.minValue}\n disabled={disabled}\n onChange={this.handleMinInputChange}\n onBlur={this.handleMinInputBlur}\n />\n <span className={cx('InputRange-input-separator')}> - </span>\n <input\n className={this.state.value.max !== max ? 'is-active' : ''}\n type=\"text\"\n name={name}\n value={this.state.maxValue}\n disabled={disabled}\n onChange={this.handleMaxInputChange}\n onBlur={this.handleMaxInputBlur}\n />\n </div>\n ) : (\n <div className={cx('InputRange-input')}>\n <input\n className={this.state.value !== min ? 'is-active' : ''}\n type=\"text\"\n name={name}\n value={!isObject(this.state.value) ? this.state.value : 0}\n disabled={disabled}\n onChange={this.handleInputChange}\n />\n </div>\n )\n ) : null}\n\n {clearable && !disabled && showInput ? (\n <a\n onClick={() => this.clearValue()}\n className={cx('InputRange-clear', {\n 'is-active': multiple\n ? isEqual(this.state.value, {min: min, max: max})\n : this.state.value !== min\n })}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-range'\n})\nexport class RangeControlRenderer extends RangeControl {}\n"
11
+ "import React from 'react';\nimport isNumber from 'lodash/isNumber';\nimport isObject from 'lodash/isObject';\nimport isEqual from 'lodash/isEqual';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\n\nimport InputRange from '../../components/Range';\nimport {Icon} from '../../components/icons';\nimport {FormOptionsControl} from './Options';\nimport {stripNumber} from '../../utils/tpl-builtin';\n\n/**\n * Range\n * 文档:https://baidu.gitee.io/amis/docs/components/form/range\n */\nexport interface RangeControlSchema extends FormBaseControl {\n type: 'input-range';\n\n /**\n * 最大值\n */\n max?: number;\n\n /**\n * 最小值\n */\n min?: number;\n\n /**\n * 步长\n */\n step?: number;\n\n /**\n * 单位\n */\n unit?: string;\n}\n\nexport interface RangeProps extends FormControlProps {\n max?: number;\n min?: number;\n step?: number;\n unit?: string;\n clearable?: boolean;\n name?: string;\n showInput?: boolean;\n className?: string;\n value: any;\n onChange: (value: any) => void;\n multiple?: boolean;\n joinValues?: boolean;\n delimiter?: string;\n}\n\nexport interface DefaultProps {\n max: number;\n min: number;\n step: number;\n unit: string;\n clearable: boolean;\n disabled: boolean;\n showInput: boolean;\n multiple: boolean;\n joinValues: boolean;\n delimiter: string;\n}\n\nexport function formatValue(\n value: string | number | {min: number; max: number},\n props: Partial<RangeProps>\n) {\n if (props.multiple) {\n if (typeof value === 'string') {\n const [minValue, maxValue] = value\n .split(props.delimiter || ',')\n .map(v => Number(v));\n return {\n min:\n (props.min && minValue < props.min && props.min) ||\n minValue ||\n props.min,\n max:\n (props.max && maxValue > props.max && props.max) ||\n maxValue ||\n props.max\n };\n } else if (typeof value === 'object') {\n return {\n min:\n (props.min && value.min < props.min && props.min) ||\n value.min ||\n props.min,\n max:\n (props.max && value.max > props.max && props.max) ||\n value.max ||\n props.max\n };\n }\n }\n return value ?? props.min;\n}\n\ntype PropsWithDefaults = RangeProps & DefaultProps;\n\nexport interface RangeState {\n value:\n | {\n min?: number;\n max?: number;\n }\n | number\n | string\n | undefined;\n minValue?: any;\n maxValue?: any;\n}\n\nexport default class RangeControl extends React.PureComponent<\n RangeProps,\n RangeState\n> {\n midLabel?: HTMLSpanElement;\n\n static defaultProps: DefaultProps = {\n max: 100,\n min: 0,\n step: 1,\n unit: '',\n clearable: true,\n disabled: false,\n showInput: false,\n multiple: false,\n joinValues: true,\n delimiter: ','\n };\n\n constructor(props: RangeProps) {\n super(props);\n const {value: propsValue, multiple, delimiter, min, max} = this.props;\n const value = formatValue(propsValue, {\n multiple,\n delimiter,\n min,\n max\n });\n\n this.state = {\n value: value,\n minValue: isObject(value) ? value.min : min,\n maxValue: isObject(value) ? value.max : max\n };\n this.handleChange = this.handleChange.bind(this);\n this.handleEnd = this.handleEnd.bind(this);\n this.handleInputChange = this.handleInputChange.bind(this);\n this.midLabelRef = this.midLabelRef.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.handleMinInputBlur = this.handleMinInputBlur.bind(this);\n this.handleMaxInputBlur = this.handleMaxInputBlur.bind(this);\n this.handleMinInputChange = this.handleMinInputChange.bind(this);\n this.handleMaxInputChange = this.handleMaxInputChange.bind(this);\n }\n\n componentDidMount() {\n this.updateStyle();\n }\n\n componentDidUpdate(prevProps: RangeProps) {\n const {value} = prevProps;\n const {value: nextPropsValue, multiple, delimiter, min, max} = this.props;\n if (value !== nextPropsValue) {\n const value = formatValue(nextPropsValue, {\n multiple,\n delimiter,\n min,\n max\n });\n\n this.setState({\n value: value,\n minValue: isObject(value) ? value.min : min,\n maxValue: isObject(value) ? value.max : max\n });\n }\n\n if (prevProps.showInput !== this.props.showInput) {\n this.updateStyle();\n }\n }\n\n updateStyle() {\n const {showInput, classPrefix: ns, max, min} = this.props;\n\n let offsetWidth = (this.midLabel as HTMLSpanElement).offsetWidth;\n const midValue = parseFloat(\n ((max! + min! - 0.000001) / 2).toFixed(this.getStepPrecision())\n );\n\n let left = `${100 * ((midValue - min!) / (max! - min!))}%`;\n (this.midLabel as HTMLSpanElement).style.left = left;\n }\n\n midLabelRef(ref: any) {\n this.midLabel = ref;\n }\n\n handleChange(value: any) {\n this.setState({\n value: stripNumber(value),\n minValue: value.min,\n maxValue: value.max\n });\n }\n\n clearValue() {\n const {multiple, joinValues, delimiter, min, max, onChange} = this.props;\n if (multiple) {\n this.setState(\n {\n value: {\n min: min,\n max: max\n },\n minValue: min,\n maxValue: max\n },\n () =>\n onChange(\n joinValues\n ? [min, max].join(delimiter || ',')\n : {\n min: min,\n max: max\n }\n )\n );\n } else {\n this.setState(\n {\n value: min\n },\n () => onChange(min)\n );\n }\n }\n\n handleEnd(value: any) {\n const {multiple, joinValues, delimiter} = this.props;\n let endValue = value;\n if (multiple) {\n endValue = joinValues\n ? [value.min, value.max].join(delimiter || ',')\n : {\n min: value.min,\n max: value.max\n };\n } else {\n endValue = stripNumber(value);\n }\n const {onChange} = this.props;\n this.setState(\n {\n value\n },\n () => onChange(endValue)\n );\n }\n\n getStepPrecision() {\n const {step} = this.props;\n\n return typeof step !== 'number' || step >= 1 || step < 0\n ? 0\n : step.toString().split('.')[1]?.length;\n }\n\n getValue(value: any, type?: string) {\n const {max, min, step} = this.props as PropsWithDefaults;\n const {value: stateValue} = this.state;\n\n if (\n value === '' ||\n value === '-' ||\n new RegExp('^[-]?\\\\d+[.]{1}[0]{0,' + this.getStepPrecision() + '}$').test(\n value\n )\n ) {\n return value;\n }\n\n value = Math.round(parseFloat(value) / step) * step;\n value =\n step < 1 ? parseFloat(value.toFixed(this.getStepPrecision())) : ~~value;\n\n switch (type) {\n case 'min': {\n if (isObject(stateValue) && isNumber(stateValue.max)) {\n if (value >= stateValue.max && min <= stateValue.max - step) {\n return stateValue.max - step;\n }\n if (value < stateValue.max - step) {\n return value;\n }\n }\n return min;\n }\n case 'max':\n return isObject(stateValue) && isNumber(stateValue.min)\n ? (value > max && max) ||\n (value <= stateValue.min && stateValue.min + step) ||\n value\n : max;\n default:\n return (value < min && min) || (value > max && max) || value;\n }\n }\n\n handleInputChange(evt: React.ChangeEvent<HTMLInputElement>) {\n const value = this.getValue(evt.target.value);\n this.setState(\n {\n value\n },\n () => this.props.onChange(value)\n );\n }\n\n handleMinInputBlur(evt: React.ChangeEvent<HTMLInputElement>) {\n const {joinValues, delimiter} = this.props;\n const minValue = this.getValue(evt.target.value, 'min');\n const {value} = this.state;\n isObject(value)\n ? this.setState(\n {\n value: {\n min: minValue,\n max: value.max\n },\n minValue: minValue\n },\n () =>\n this.props.onChange(\n joinValues\n ? [minValue, value.max].join(delimiter || ',')\n : {\n min: minValue,\n max: value.max\n }\n )\n )\n : null;\n }\n\n handleMaxInputBlur(evt: React.ChangeEvent<HTMLInputElement>) {\n const {joinValues, delimiter} = this.props;\n const maxValue = this.getValue(evt.target.value, 'max');\n const {value} = this.state;\n\n if (isObject(value)) {\n this.setState(\n {\n value: {\n min: value.min,\n max: maxValue\n },\n maxValue: maxValue\n },\n () =>\n this.props.onChange(\n joinValues\n ? [value.min, maxValue].join(delimiter || ',')\n : {\n min: value.min,\n max: maxValue\n }\n )\n );\n }\n }\n\n handleMinInputChange(evt: React.ChangeEvent<HTMLInputElement>) {\n this.setState({\n minValue: evt.target.value\n });\n }\n\n handleMaxInputChange(evt: React.ChangeEvent<HTMLInputElement>) {\n this.setState({\n maxValue: evt.target.value\n });\n }\n\n render() {\n const {\n max,\n min,\n step,\n unit,\n clearable,\n name,\n disabled,\n className,\n showInput,\n multiple,\n classnames: cx,\n classPrefix: ns\n } = this.props as PropsWithDefaults;\n const midValue = ((max + min - 0.000001) / 2).toFixed(\n this.getStepPrecision()\n );\n\n return (\n <div\n className={cx(\n 'RangeControl',\n {\n 'RangeControl--withInput': showInput,\n 'RangeControl--clearable': clearable,\n 'is-multiple': multiple\n },\n className\n )}\n >\n <InputRange\n classPrefix={ns}\n value={this.state.value}\n disabled={disabled}\n onChange={this.handleChange}\n onChangeComplete={this.handleEnd}\n max={max}\n min={min}\n step={step}\n formatLabel={(value: any) => value + unit}\n multiple={multiple}\n />\n\n <span\n className={cx('InputRange-label InputRange-label--mid')}\n ref={this.midLabelRef}\n >\n <span className={cx('InputRange-labelContainer')}>\n {midValue}\n {unit}\n </span>\n </span>\n\n {showInput ? (\n multiple && isObject(this.state.value) ? (\n <div className={cx('InputRange-input is-multiple')}>\n <input\n className={this.state.value.min !== min ? 'is-active' : ''}\n type=\"text\"\n name={name}\n value={this.state.minValue}\n disabled={disabled}\n onChange={this.handleMinInputChange}\n onBlur={this.handleMinInputBlur}\n />\n <span className={cx('InputRange-input-separator')}> - </span>\n <input\n className={this.state.value.max !== max ? 'is-active' : ''}\n type=\"text\"\n name={name}\n value={this.state.maxValue}\n disabled={disabled}\n onChange={this.handleMaxInputChange}\n onBlur={this.handleMaxInputBlur}\n />\n </div>\n ) : (\n <div className={cx('InputRange-input')}>\n <input\n className={this.state.value !== min ? 'is-active' : ''}\n type=\"text\"\n name={name}\n value={!isObject(this.state.value) ? this.state.value : 0}\n disabled={disabled}\n onChange={this.handleInputChange}\n />\n </div>\n )\n ) : null}\n\n {clearable && !disabled && showInput ? (\n <a\n onClick={() => this.clearValue()}\n className={cx('InputRange-clear', {\n 'is-active': multiple\n ? isEqual(this.state.value, {min: min, max: max})\n : this.state.value !== min\n })}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-range'\n})\nexport class RangeControlRenderer extends RangeControl {}\n"
12
12
  ]
13
13
  }
@@ -10,6 +10,22 @@ export interface TableControlSchema extends FormBaseControl, Omit<TableSchema, '
10
10
  * 可新增
11
11
  */
12
12
  addable?: boolean;
13
+ /**
14
+ * 可复制新增
15
+ */
16
+ copyable?: boolean;
17
+ /**
18
+ * 复制按钮文字
19
+ */
20
+ copyBtnLabel?: string;
21
+ /**
22
+ * 复制按钮图标
23
+ */
24
+ copyBtnIcon?: string;
25
+ /**
26
+ * 是否显示复制按钮
27
+ */
28
+ copyAddBtn?: boolean;
13
29
  /**
14
30
  * 是否可以拖拽排序
15
31
  */
@@ -19,11 +35,11 @@ export interface TableControlSchema extends FormBaseControl, Omit<TableSchema, '
19
35
  */
20
36
  addApi?: SchemaApi;
21
37
  /**
22
- * 新增按钮
38
+ * 新增按钮文字
23
39
  */
24
40
  addBtnLabel?: string;
25
41
  /**
26
- * 新增图标
42
+ * 新增按钮图标
27
43
  */
28
44
  addBtnIcon?: string;
29
45
  /**
@@ -45,11 +61,11 @@ export interface TableControlSchema extends FormBaseControl, Omit<TableSchema, '
45
61
  /**
46
62
  * 更新按钮名称
47
63
  */
48
- updateBtnLabel?: string;
64
+ editBtnLabel?: string;
49
65
  /**
50
66
  * 更新按钮图标
51
67
  */
52
- updateBtnIcon?: string;
68
+ editBtnIcon?: string;
53
69
  /**
54
70
  * 确认按钮文字
55
71
  */
@@ -122,7 +138,8 @@ export default class FormTable extends React.Component<TableProps, TableState> {
122
138
  placeholder: string;
123
139
  scaffold: {};
124
140
  addBtnIcon: string;
125
- updateBtnIcon: string;
141
+ copyBtnIcon: string;
142
+ editBtnIcon: string;
126
143
  deleteBtnIcon: string;
127
144
  confirmBtnIcon: string;
128
145
  cancelBtnIcon: string;
@@ -141,6 +158,7 @@ export default class FormTable extends React.Component<TableProps, TableState> {
141
158
  validate(): Promise<string | void>;
142
159
  emitValue(): void;
143
160
  doAction(action: Action, ctx: RendererData, ...rest: Array<any>): Promise<any>;
161
+ copyItem(index: number): void;
144
162
  addItem(index: number): void;
145
163
  startEdit(index: number, isCreate?: boolean): void;
146
164
  confirmEdit(): Promise<void>;
@@ -199,6 +199,23 @@ var FormTable = /** @class */ (function (_super) {
199
199
  });
200
200
  });
201
201
  };
202
+ FormTable.prototype.copyItem = function (index) {
203
+ var _this = this;
204
+ var needConfirm = this.props.needConfirm;
205
+ var items = this.state.items.concat();
206
+ items.splice(index + 1, 0, items[index]);
207
+ index = Math.min(index + 1, items.length - 1);
208
+ this.setState({
209
+ items: items
210
+ }, function () {
211
+ if (needConfirm === false) {
212
+ _this.emitValue();
213
+ }
214
+ else {
215
+ _this.startEdit(index, true);
216
+ }
217
+ });
218
+ };
202
219
  FormTable.prototype.addItem = function (index) {
203
220
  var _this = this;
204
221
  var _a = this.props, needConfirm = _a.needConfirm, scaffold = _a.scaffold, columns = _a.columns;
@@ -383,6 +400,16 @@ var FormTable = /** @class */ (function (_super) {
383
400
  }
384
401
  });
385
402
  }
403
+ if (props.copyable && props.showCopyBtn !== false) {
404
+ btns.push({
405
+ children: function (_a) {
406
+ var key = _a.key, rowIndex = _a.rowIndex, offset = _a.offset;
407
+ return ~_this.state.editIndex && needConfirm !== false ? null : (react_1.default.createElement(Button_1.default, { classPrefix: ns, size: "sm", key: key, level: "link", tooltip: __('Table.copyRow'), tooltipContainer: env && env.getModalContainer ? env.getModalContainer : undefined, onClick: _this.copyItem.bind(_this, rowIndex + offset, undefined) },
408
+ props.copyBtnLabel ? react_1.default.createElement("span", null, props.copyBtnLabel) : null,
409
+ props.copyBtnIcon ? (react_1.default.createElement(icons_1.Icon, { icon: props.copyBtnIcon, className: "icon" })) : null));
410
+ }
411
+ });
412
+ }
386
413
  if (props.needConfirm === false) {
387
414
  columns = columns.map(function (column) {
388
415
  var quickEdit = column.quickEdit;
@@ -407,8 +434,8 @@ var FormTable = /** @class */ (function (_super) {
407
434
  return ~_this.state.editIndex || (data && data.__isPlaceholder) ? null : (react_1.default.createElement(Button_1.default, { classPrefix: ns, size: "sm", key: key, level: "link", tooltip: __('Table.editRow'), tooltipContainer: env && env.getModalContainer
408
435
  ? env.getModalContainer
409
436
  : undefined, onClick: function () { return _this.startEdit(rowIndex + offset); } },
410
- props.updateBtnLabel ? (react_1.default.createElement("span", null, props.updateBtnLabel)) : null,
411
- props.updateBtnIcon ? (react_1.default.createElement(icons_1.Icon, { icon: props.updateBtnIcon, className: "icon" })) : null));
437
+ props.updateBtnLabel || props.editBtnLabel ? (react_1.default.createElement("span", null, props.updateBtnLabel || props.editBtnLabel)) : null,
438
+ typeof props.updateBtnIcon !== 'undefined' ? (props.updateBtnIcon ? (react_1.default.createElement(icons_1.Icon, { icon: props.updateBtnIcon, className: "icon" })) : null) : props.editBtnIcon ? (react_1.default.createElement(icons_1.Icon, { icon: props.editBtnIcon, className: "icon" })) : null));
412
439
  }
413
440
  });
414
441
  btns.push({
@@ -608,7 +635,8 @@ var FormTable = /** @class */ (function (_super) {
608
635
  placeholder: '空',
609
636
  scaffold: {},
610
637
  addBtnIcon: 'plus',
611
- updateBtnIcon: 'pencil',
638
+ copyBtnIcon: 'copy',
639
+ editBtnIcon: 'pencil',
612
640
  deleteBtnIcon: 'minus',
613
641
  confirmBtnIcon: 'check',
614
642
  cancelBtnIcon: 'close',
@@ -623,6 +651,7 @@ var FormTable = /** @class */ (function (_super) {
623
651
  'showAddBtn',
624
652
  'addable',
625
653
  'removable',
654
+ 'copyable',
626
655
  'editable',
627
656
  'addApi',
628
657
  'updateApi',