amis 1.6.5-beta.3 → 1.8.0-beta.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 (238) hide show
  1. package/lib/Schema.d.ts +3 -2
  2. package/lib/Schema.js +0 -1
  3. package/lib/Schema.js.map +2 -2
  4. package/lib/components/Alert2.js +4 -2
  5. package/lib/components/Alert2.js.map +2 -2
  6. package/lib/components/AssociatedSelection.d.ts +84 -84
  7. package/lib/components/Avatar.d.ts +20 -20
  8. package/lib/components/Breadcrumb.d.ts +130 -0
  9. package/lib/components/Breadcrumb.js +161 -0
  10. package/lib/components/Breadcrumb.js.map +13 -0
  11. package/lib/components/Card.d.ts +20 -20
  12. package/lib/components/ChainedSelection.d.ts +84 -84
  13. package/lib/components/CityArea.js +3 -0
  14. package/lib/components/CityArea.js.map +2 -2
  15. package/lib/components/Collapse.d.ts +20 -20
  16. package/lib/components/CollapseGroup.d.ts +20 -20
  17. package/lib/components/DatePicker.d.ts +84 -84
  18. package/lib/components/DateRangePicker.d.ts +2 -2
  19. package/lib/components/DateRangePicker.js +36 -45
  20. package/lib/components/DateRangePicker.js.map +2 -2
  21. package/lib/components/GroupedSelection.d.ts +84 -84
  22. package/lib/components/Layout.d.ts +21 -21
  23. package/lib/components/ListGroup.d.ts +21 -21
  24. package/lib/components/PopUp.js +2 -1
  25. package/lib/components/PopUp.js.map +2 -2
  26. package/lib/components/Radios.d.ts +21 -21
  27. package/lib/components/Range.js.map +2 -2
  28. package/lib/components/Selection.d.ts +84 -84
  29. package/lib/components/TableSelection.d.ts +84 -84
  30. package/lib/components/Tabs.d.ts +52 -23
  31. package/lib/components/Tabs.js +198 -46
  32. package/lib/components/Tabs.js.map +2 -2
  33. package/lib/components/TooltipWrapper.d.ts +21 -20
  34. package/lib/components/TooltipWrapper.js +2 -2
  35. package/lib/components/TooltipWrapper.js.map +2 -2
  36. package/lib/components/Transfer.d.ts +84 -84
  37. package/lib/components/TransferDropDown.d.ts +84 -84
  38. package/lib/components/Tree.d.ts +84 -84
  39. package/lib/components/TreeSelection.d.ts +84 -84
  40. package/lib/components/calendar/Calendar.js +5 -0
  41. package/lib/components/calendar/Calendar.js.map +2 -2
  42. package/lib/components/calendar/DaysView.js.map +1 -1
  43. package/lib/components/icons.js +8 -0
  44. package/lib/components/icons.js.map +2 -2
  45. package/lib/components/index.d.ts +2 -1
  46. package/lib/components/index.js +4 -2
  47. package/lib/components/index.js.map +2 -2
  48. package/lib/icons/cloud-upload.js +17 -0
  49. package/lib/icons/image.js +7 -0
  50. package/lib/icons/refresh.js +9 -0
  51. package/lib/icons/trash.js +10 -0
  52. package/lib/icons/upload.js +3 -8
  53. package/lib/index.d.ts +1 -0
  54. package/lib/index.js +2 -1
  55. package/lib/index.js.map +2 -2
  56. package/lib/locale/en-US.js +3 -1
  57. package/lib/locale/en-US.js.map +2 -2
  58. package/lib/locale/zh-CN.js +4 -2
  59. package/lib/locale/zh-CN.js.map +2 -2
  60. package/lib/renderers/Action.d.ts +1 -1
  61. package/lib/renderers/Action.js.map +2 -2
  62. package/lib/renderers/Breadcrumb.d.ts +41 -6
  63. package/lib/renderers/Breadcrumb.js +23 -19
  64. package/lib/renderers/Breadcrumb.js.map +2 -2
  65. package/lib/renderers/ButtonGroup.d.ts +2 -2
  66. package/lib/renderers/ButtonGroup.js.map +1 -1
  67. package/lib/renderers/Form/ChainedSelect.d.ts +4 -1
  68. package/lib/renderers/Form/ChainedSelect.js +83 -34
  69. package/lib/renderers/Form/ChainedSelect.js.map +2 -2
  70. package/lib/renderers/Form/Checkbox.d.ts +3 -0
  71. package/lib/renderers/Form/Checkbox.js +38 -1
  72. package/lib/renderers/Form/Checkbox.js.map +2 -2
  73. package/lib/renderers/Form/Combo.d.ts +4 -3
  74. package/lib/renderers/Form/Combo.js +81 -32
  75. package/lib/renderers/Form/Combo.js.map +2 -2
  76. package/lib/renderers/Form/DiffEditor.d.ts +1 -1
  77. package/lib/renderers/Form/InputCity.d.ts +84 -84
  78. package/lib/renderers/Form/InputCity.js +4 -1
  79. package/lib/renderers/Form/InputCity.js.map +2 -2
  80. package/lib/renderers/Form/InputColor.js +3 -1
  81. package/lib/renderers/Form/InputColor.js.map +2 -2
  82. package/lib/renderers/Form/InputDate.js +3 -1
  83. package/lib/renderers/Form/InputDate.js.map +2 -2
  84. package/lib/renderers/Form/InputDateRange.js +3 -1
  85. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  86. package/lib/renderers/Form/InputExcel.d.ts +4 -0
  87. package/lib/renderers/Form/InputExcel.js +33 -6
  88. package/lib/renderers/Form/InputExcel.js.map +2 -2
  89. package/lib/renderers/Form/InputFile.d.ts +8 -1
  90. package/lib/renderers/Form/InputFile.js +71 -42
  91. package/lib/renderers/Form/InputFile.js.map +2 -2
  92. package/lib/renderers/Form/InputImage.d.ts +4 -1
  93. package/lib/renderers/Form/InputImage.js +21 -9
  94. package/lib/renderers/Form/InputImage.js.map +2 -2
  95. package/lib/renderers/Form/InputRange.d.ts +27 -9
  96. package/lib/renderers/Form/InputRange.js +88 -23
  97. package/lib/renderers/Form/InputRange.js.map +2 -2
  98. package/lib/renderers/Form/InputSubForm.js +2 -1
  99. package/lib/renderers/Form/InputSubForm.js.map +2 -2
  100. package/lib/renderers/Form/InputTag.js +2 -1
  101. package/lib/renderers/Form/InputTag.js.map +2 -2
  102. package/lib/renderers/Form/MatrixCheckboxes.js +2 -1
  103. package/lib/renderers/Form/MatrixCheckboxes.js.map +2 -2
  104. package/lib/renderers/Form/NestedSelect.d.ts +9 -6
  105. package/lib/renderers/Form/NestedSelect.js +247 -130
  106. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  107. package/lib/renderers/Form/Options.js +2 -1
  108. package/lib/renderers/Form/Options.js.map +2 -2
  109. package/lib/renderers/Form/Radios.js +2 -1
  110. package/lib/renderers/Form/Radios.js.map +2 -2
  111. package/lib/renderers/Form/Select.js +6 -3
  112. package/lib/renderers/Form/Select.js.map +2 -2
  113. package/lib/renderers/Form/Switch.d.ts +7 -6
  114. package/lib/renderers/Form/Switch.js +4 -1
  115. package/lib/renderers/Form/Switch.js.map +2 -2
  116. package/lib/renderers/Log.js +2 -1
  117. package/lib/renderers/Log.js.map +2 -2
  118. package/lib/renderers/PopOver.js +1 -1
  119. package/lib/renderers/PopOver.js.map +2 -2
  120. package/lib/renderers/Tabs.d.ts +58 -5
  121. package/lib/renderers/Tabs.js +170 -58
  122. package/lib/renderers/Tabs.js.map +2 -2
  123. package/lib/renderers/TooltipWrapper.d.ts +104 -0
  124. package/lib/renderers/TooltipWrapper.js +59 -0
  125. package/lib/renderers/TooltipWrapper.js.map +13 -0
  126. package/lib/renderers/Video.d.ts +6 -0
  127. package/lib/renderers/Video.js +13 -6
  128. package/lib/renderers/Video.js.map +2 -2
  129. package/lib/store/form.js +4 -13
  130. package/lib/store/form.js.map +2 -2
  131. package/lib/store/table.js +1 -1
  132. package/lib/store/table.js.map +2 -2
  133. package/lib/themes/ang-ie11.css +742 -160
  134. package/lib/themes/ang.css +793 -163
  135. package/lib/themes/ang.css.map +1 -1
  136. package/lib/themes/antd-ie11.css +757 -175
  137. package/lib/themes/antd.css +793 -163
  138. package/lib/themes/antd.css.map +1 -1
  139. package/lib/themes/cxd-ie11.css +1249 -667
  140. package/lib/themes/cxd.css +970 -321
  141. package/lib/themes/cxd.css.map +1 -1
  142. package/lib/themes/dark-ie11.css +742 -160
  143. package/lib/themes/dark.css +793 -163
  144. package/lib/themes/dark.css.map +1 -1
  145. package/lib/themes/default-ie11.css +1249 -667
  146. package/lib/themes/default.css +970 -321
  147. package/lib/themes/default.css.map +1 -1
  148. package/package.json +1 -1
  149. package/schema.json +16012 -736
  150. package/scss/_properties.scss +56 -2
  151. package/scss/components/_alert.scss +1 -1
  152. package/scss/components/_breadcrumb.scss +90 -1
  153. package/scss/components/_button-group.scss +15 -0
  154. package/scss/components/_city-area.scss +2 -0
  155. package/scss/components/_popup.scss +13 -3
  156. package/scss/components/_tabs.scss +629 -132
  157. package/scss/components/_tooltip.scss +72 -0
  158. package/scss/components/form/_file.scss +82 -24
  159. package/scss/components/form/_image.scss +30 -25
  160. package/scss/components/form/_number.scss +2 -0
  161. package/scss/components/form/_switch.scss +1 -3
  162. package/scss/themes/_cxd-colors.scss +47 -47
  163. package/scss/themes/_cxd-variables.scss +20 -0
  164. package/sdk/ang-ie11.css +879 -196
  165. package/sdk/ang.css +931 -200
  166. package/sdk/antd-ie11.css +951 -268
  167. package/sdk/antd.css +931 -200
  168. package/sdk/barcode.js +51 -51
  169. package/sdk/charts.js +14 -14
  170. package/sdk/codemirror.js +7 -7
  171. package/sdk/color-picker.js +65 -65
  172. package/sdk/cropperjs.js +2 -2
  173. package/sdk/cxd-ie11.css +1386 -703
  174. package/sdk/cxd.css +1107 -357
  175. package/sdk/dark-ie11.css +879 -196
  176. package/sdk/dark.css +931 -200
  177. package/sdk/exceljs.js +1 -1
  178. package/sdk/markdown.js +69 -69
  179. package/sdk/papaparse.js +1 -1
  180. package/sdk/renderers/Form/CityDB.js +1 -1
  181. package/sdk/rest.js +17 -17
  182. package/sdk/rich-text.js +62 -62
  183. package/sdk/sdk-ie11.css +1386 -703
  184. package/sdk/sdk.css +1107 -357
  185. package/sdk/sdk.js +1260 -1248
  186. package/sdk/thirds/hls.js/hls.js +1 -1
  187. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  188. package/sdk/tinymce.js +57 -57
  189. package/src/Schema.ts +5 -2
  190. package/src/components/Alert2.tsx +9 -3
  191. package/src/components/Breadcrumb.tsx +294 -0
  192. package/src/components/CityArea.tsx +3 -0
  193. package/src/components/DateRangePicker.tsx +40 -68
  194. package/src/components/PopUp.tsx +6 -5
  195. package/src/components/Range.tsx +7 -1
  196. package/src/components/Tabs.tsx +300 -54
  197. package/src/components/TooltipWrapper.tsx +4 -1
  198. package/src/components/calendar/Calendar.tsx +5 -0
  199. package/src/components/calendar/DaysView.tsx +2 -2
  200. package/src/components/icons.tsx +8 -0
  201. package/src/components/index.tsx +2 -0
  202. package/src/icons/cloud-upload.svg +22 -0
  203. package/src/icons/image.svg +1 -0
  204. package/src/icons/refresh.svg +7 -0
  205. package/src/icons/trash.svg +8 -0
  206. package/src/icons/upload.svg +4 -9
  207. package/src/index.tsx +1 -0
  208. package/src/locale/en-US.ts +3 -1
  209. package/src/locale/zh-CN.ts +4 -2
  210. package/src/renderers/Action.tsx +2 -1
  211. package/src/renderers/Breadcrumb.tsx +89 -45
  212. package/src/renderers/ButtonGroup.tsx +2 -2
  213. package/src/renderers/Form/ChainedSelect.tsx +56 -12
  214. package/src/renderers/Form/Checkbox.tsx +30 -1
  215. package/src/renderers/Form/Combo.tsx +84 -26
  216. package/src/renderers/Form/InputCity.tsx +13 -1
  217. package/src/renderers/Form/InputColor.tsx +2 -0
  218. package/src/renderers/Form/InputDate.tsx +2 -0
  219. package/src/renderers/Form/InputDateRange.tsx +2 -0
  220. package/src/renderers/Form/InputExcel.tsx +27 -5
  221. package/src/renderers/Form/InputFile.tsx +167 -115
  222. package/src/renderers/Form/InputImage.tsx +61 -35
  223. package/src/renderers/Form/InputRange.tsx +95 -40
  224. package/src/renderers/Form/InputSubForm.tsx +2 -1
  225. package/src/renderers/Form/InputTag.tsx +3 -1
  226. package/src/renderers/Form/MatrixCheckboxes.tsx +3 -1
  227. package/src/renderers/Form/NestedSelect.tsx +75 -26
  228. package/src/renderers/Form/Options.tsx +3 -1
  229. package/src/renderers/Form/Radios.tsx +3 -1
  230. package/src/renderers/Form/Select.tsx +6 -2
  231. package/src/renderers/Form/Switch.tsx +16 -9
  232. package/src/renderers/Log.tsx +2 -1
  233. package/src/renderers/PopOver.tsx +1 -1
  234. package/src/renderers/Tabs.tsx +254 -93
  235. package/src/renderers/TooltipWrapper.tsx +219 -0
  236. package/src/renderers/Video.tsx +21 -6
  237. package/src/store/form.ts +0 -9
  238. package/src/store/table.ts +1 -1
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/Combo.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 {findDOMNode} from 'react-dom';\nimport {\n FormItem,\n FormControlProps,\n FormBaseControl,\n FormControlSchemaAlias\n} from './Item';\nimport {Schema, Action, Api} from '../../types';\nimport {ComboStore, IComboStore} from '../../store/combo';\nimport {default as CTabs, Tab} from '../../components/Tabs';\n\nimport {\n guid,\n anyChanged,\n isObject,\n createObject,\n extendObject,\n autobind,\n isObjectShallowModified\n} from '../../utils/helper';\nimport Sortable from 'sortablejs';\nimport {evalExpression, filter} from '../../utils/tpl';\nimport find from 'lodash/find';\nimport Select from '../../components/Select';\nimport {dataMapping, resolveVariable} from '../../utils/tpl-builtin';\nimport {isEffectiveApi} from '../../utils/api';\nimport {Alert2} from '../../components';\nimport memoize from 'lodash/memoize';\nimport {Icon} from '../../components/icons';\nimport {isAlive} from 'mobx-state-tree';\nimport {\n SchemaApi,\n SchemaClassName,\n SchemaCollection,\n SchemaIcon,\n SchemaObject,\n SchemaTpl\n} from '../../Schema';\n\nexport type ComboCondition = {\n test: string;\n items: Array<ComboSubControl>;\n label: string;\n scaffold?: any;\n mode?: string;\n};\n\nexport type ComboSubControl = SchemaObject & {\n /**\n * 是否唯一, 只有在 combo 里面才有用\n */\n unique?: boolean;\n\n /**\n * 列类名,可以用来修改这类宽度。\n */\n columnClassName?: SchemaClassName;\n};\n\n/**\n * Combo 组合输入框类型\n * 文档:https://baidu.gitee.io/amis/docs/components/form/combo\n */\nexport interface ComboControlSchema extends FormBaseControl {\n /**\n * 指定为组合输入框类型\n */\n type: 'combo';\n\n /**\n * 单组表单项初始值。默认为 `{}`\n *\n * @default {}\n */\n scaffold?: any;\n\n /**\n * 是否含有边框\n */\n noBorder?: boolean;\n\n /**\n * 确认删除时的提示\n */\n deleteConfirmText?: string;\n\n /**\n * 删除时调用的api\n */\n deleteApi?: SchemaApi;\n\n /**\n * 是否可切换条件,配合`conditions`使用\n */\n typeSwitchable?: boolean;\n\n /**\n * 符合某类条件后才渲染的schema\n */\n conditions?: Array<ComboCondition>;\n\n /**\n * 内部单组表单项的类名\n */\n formClassName?: SchemaClassName;\n\n /**\n * 新增按钮CSS类名\n */\n addButtonClassName?: SchemaClassName;\n\n /**\n * 新增按钮文字\n * @default 新增\n */\n addButtonText?: string;\n\n /**\n * 是否可新增\n */\n addable?: boolean;\n\n /**\n * 数组输入框的子项\n */\n items?: Array<ComboSubControl>;\n\n /**\n * 是否可拖拽排序\n */\n draggable?: boolean;\n\n /**\n * 可拖拽排序的提示信息。\n *\n * @default 可拖拽排序\n */\n draggableTip?: string;\n\n /**\n * 是否将结果扁平化(去掉name),只有当controls的length为1且multiple为true的时候才有效\n */\n flat?: boolean;\n\n /**\n * 当扁平化开启并且joinValues为true时,用什么分隔符\n *\n * @deprecated\n */\n delimiter?: string;\n\n /**\n * 当扁平化开启的时候,是否用分隔符的形式发送给后端,否则采用array的方式\n * @deprecated\n */\n joinValues?: boolean;\n\n /**\n * 限制最大个数\n */\n maxLength?: number;\n\n /**\n * 限制最小个数\n */\n minLength?: number;\n\n /**\n * 是否多行模式,默认一行展示完\n */\n multiLine?: boolean;\n\n /**\n * 是否可多选\n */\n multiple?: boolean;\n\n /**\n * 是否可删除\n */\n removable?: boolean;\n\n /**\n * 子表单的模式。\n */\n subFormMode?: 'normal' | 'horizontal' | 'inline';\n\n /**\n * 没有成员时显示。\n * @default empty\n */\n placeholder?: string;\n\n /**\n * 是否可以访问父级数据,正常 combo 已经关联到数组成员,是不能访问父级数据的。\n */\n canAccessSuperData?: boolean;\n\n /**\n * 采用 Tabs 展示方式?\n */\n tabsMode?: boolean;\n\n /**\n * Tabs 的展示模式。\n */\n tabsStyle?: '' | 'line' | 'card' | 'radio';\n\n /**\n * 选项卡标题的生成模板。\n */\n tabsLabelTpl?: SchemaTpl;\n\n /**\n * 数据比较多,比较卡时,可以试试开启。\n */\n lazyLoad?: boolean;\n\n /**\n * 严格模式,为了性能默认不开的。\n */\n strictMode?: boolean;\n\n /**\n * 配置同步字段。只有 `strictMode` 为 `false` 时有效。\n * 如果 Combo 层级比较深,底层的获取外层的数据可能不同步。\n * 但是给 combo 配置这个属性就能同步下来。输入格式:`[\"os\"]`\n */\n syncFields?: string[];\n\n /**\n * 允许为空,如果子表单项里面配置验证器,且又是单条模式。可以允许用户选择清空(不填)。\n */\n nullable?: boolean;\n\n /**\n * 提示信息\n */\n messages?: {\n /**\n * 验证错误提示\n */\n validateFailed?: string;\n\n /**\n * 最小值验证错误提示\n */\n minLengthValidateFailed?: string;\n\n /**\n * 最大值验证错误提示\n */\n maxLengthValidateFailed?: string;\n };\n}\n\nfunction pickVars(vars: any, fields: Array<string>) {\n return fields.reduce((data: any, key: string) => {\n data[key] = resolveVariable(key, vars);\n return data;\n }, {});\n}\n\nexport interface ComboProps\n extends FormControlProps,\n Omit<\n ComboControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {\n store: IComboStore;\n changeImmediately?: boolean;\n}\n\nexport default class ComboControl extends React.Component<ComboProps> {\n static defaultProps: Pick<\n ComboProps,\n | 'minLength'\n | 'maxLength'\n | 'multiple'\n | 'multiLine'\n | 'addButtonClassName'\n | 'formClassName'\n | 'subFormMode'\n | 'draggableTip'\n | 'addButtonText'\n | 'canAccessSuperData'\n | 'addIcon'\n | 'dragIcon'\n | 'deleteIcon'\n | 'tabsMode'\n | 'tabsStyle'\n | 'placeholder'\n > = {\n minLength: 0,\n maxLength: 0,\n multiple: false,\n multiLine: false,\n addButtonClassName: '',\n formClassName: '',\n subFormMode: 'normal',\n draggableTip: '',\n addButtonText: 'Combo.add',\n canAccessSuperData: false,\n addIcon: true,\n dragIcon: '',\n deleteIcon: '',\n tabsMode: false,\n tabsStyle: '',\n placeholder: 'placeholder.empty'\n };\n static propsList: Array<string> = [\n 'minLength',\n 'maxLength',\n 'multiple',\n 'multiLine',\n 'addButtonClassName',\n 'subFormMode',\n 'draggableTip',\n 'addButtonText',\n 'draggable',\n 'scaffold',\n 'canAccessSuperData',\n 'addIcon',\n 'dragIcon',\n 'deleteIcon',\n 'noBorder',\n 'conditions',\n 'tabsMode',\n 'tabsStyle',\n 'lazyLoad',\n 'changeImmediately',\n 'strictMode',\n 'items',\n 'conditions',\n 'messages',\n 'formStore'\n ];\n\n subForms: Array<any> = [];\n subFormDefaultValues: Array<{\n index: number;\n values: any;\n setted: boolean;\n }> = [];\n\n keys: Array<string> = [];\n dragTip?: HTMLElement;\n sortable?: Sortable;\n defaultValue?: any;\n toDispose: Array<Function> = [];\n id: string = guid();\n constructor(props: ComboProps) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n this.handleSingleFormChange = this.handleSingleFormChange.bind(this);\n this.handleSingleFormInit = this.handleSingleFormInit.bind(this);\n this.handleFormInit = this.handleFormInit.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.addItem = this.addItem.bind(this);\n this.removeItem = this.removeItem.bind(this);\n this.dragTipRef = this.dragTipRef.bind(this);\n this.flush = this.flush.bind(this);\n this.handleComboTypeChange = this.handleComboTypeChange.bind(this);\n this.defaultValue = {\n ...props.scaffold\n };\n\n const {store, value, multiple, minLength, maxLength, formItem, addHook} =\n props;\n\n store.config({\n multiple,\n minLength,\n maxLength,\n length: this.getValueAsArray(props).length\n });\n\n formItem && isAlive(formItem) && formItem.setSubStore(store);\n addHook && this.toDispose.push(addHook(this.flush, 'flush'));\n }\n\n componentDidUpdate(prevProps: ComboProps) {\n const props = this.props;\n\n if (anyChanged(['minLength', 'maxLength', 'value'], prevProps, props)) {\n const {store, minLength, maxLength, multiple} = props;\n const values = this.getValueAsArray(props);\n\n store.config({\n multiple,\n minLength,\n maxLength,\n length: values.length\n });\n\n if (store.activeKey >= values.length) {\n store.setActiveKey(Math.max(0, values.length - 1));\n }\n\n // combo 进来了新的值,且这次 form 初始化时带来的新值变化,但是之前的值已经 onInit 过了\n // 所以,之前 onInit 设置进去的初始值是过时了的。这个时候修复一下。\n if (\n props.value !== prevProps.value &&\n !prevProps.formInited &&\n this.subFormDefaultValues.length\n ) {\n this.subFormDefaultValues = this.subFormDefaultValues.map(\n (item, index) => {\n return {\n ...item,\n values: values[index]\n };\n }\n );\n }\n }\n }\n\n componentWillUnmount() {\n const {formItem} = this.props;\n\n formItem && isAlive(formItem) && formItem.setSubStore(null);\n\n this.toDispose.forEach(fn => fn());\n this.toDispose = [];\n this.memoizedFormatValue.cache.clear?.();\n this.makeFormRef.cache.clear?.();\n }\n\n getValueAsArray(props = this.props) {\n const {flat, joinValues, delimiter} = props;\n let value = props.value;\n\n if (joinValues && flat && typeof value === 'string') {\n value = value.split(delimiter || ',');\n } else if (!Array.isArray(value)) {\n value = [];\n } else {\n value = value.concat();\n }\n return value;\n }\n\n addItemWith(condition: ComboCondition) {\n const {flat, joinValues, delimiter, scaffold, disabled, submitOnChange} =\n this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n\n value.push(\n flat\n ? condition.scaffold || scaffold || ''\n : {\n ...(condition.scaffold || scaffold)\n }\n );\n this.keys.push(guid());\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value, submitOnChange, true);\n }\n\n addItem() {\n const {flat, joinValues, delimiter, scaffold, disabled, submitOnChange} =\n this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n\n value.push(\n flat\n ? scaffold || ''\n : {\n ...scaffold\n }\n );\n this.keys.push(guid());\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value, submitOnChange, true);\n }\n\n async removeItem(key: number) {\n const {\n flat,\n joinValues,\n delimiter,\n disabled,\n deleteApi,\n deleteConfirmText,\n data,\n env,\n translate: __\n } = this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n const ctx = createObject(data, value[key]);\n\n if (isEffectiveApi(deleteApi, ctx)) {\n const confirmed = await env.confirm(\n deleteConfirmText ? filter(deleteConfirmText, ctx) : __('deleteConfirm')\n );\n if (!confirmed) {\n // 如果不确认,则跳过!\n return;\n }\n\n const result = await env.fetcher(deleteApi as Api, ctx);\n\n if (!result.ok) {\n env.notify('error', __('deleteFailed'));\n return;\n }\n }\n\n value.splice(key, 1);\n this.keys.splice(key, 1);\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value);\n }\n\n handleChange(values: any, diff: any, {index}: any) {\n const {flat, store, joinValues, delimiter, disabled, submitOnChange} =\n this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n value[index] = flat ? values.flat : {...values};\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value, submitOnChange, true);\n\n store.forms.forEach(\n form =>\n isAlive(form) &&\n form.items.forEach(\n item => item.unique && item.syncOptions(undefined, form.data)\n )\n );\n }\n\n handleSingleFormChange(values: object) {\n this.props.onChange(\n {\n ...values\n },\n this.props.submitOnChange,\n true\n );\n }\n\n handleFormInit(values: any, {index}: any) {\n const {\n syncDefaultValue,\n flat,\n joinValues,\n delimiter,\n formInited,\n onChange,\n submitOnChange,\n setPrinstineValue\n } = this.props;\n\n this.subFormDefaultValues.push({\n index,\n values,\n setted: false\n });\n\n if (\n syncDefaultValue === false ||\n this.subFormDefaultValues.length !== this.subForms.length\n ) {\n return;\n }\n\n let value = this.getValueAsArray();\n let isModified = false;\n this.subFormDefaultValues = this.subFormDefaultValues.map(\n ({index, values, setted}) => {\n const newValue = flat ? values.flat : {...values};\n\n if (!setted && isObjectShallowModified(value[index], newValue)) {\n value[index] = flat ? values.flat : {...values};\n isModified = true;\n }\n\n return {\n index,\n values,\n setted: true\n };\n }\n );\n\n if (!isModified) {\n return;\n }\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n formInited\n ? onChange(value, submitOnChange, true)\n : setPrinstineValue(value);\n }\n\n handleSingleFormInit(values: any) {\n const {syncDefaultValue, setPrinstineValue, value, nullable} = this.props;\n\n if (\n syncDefaultValue !== false &&\n !nullable &&\n isObjectShallowModified(value, values) &&\n setPrinstineValue\n ) {\n setPrinstineValue({\n ...values\n });\n }\n }\n\n handleAction(action: Action): any {\n const {onAction} = this.props;\n\n if (action.actionType === 'delete') {\n action.index !== void 0 && this.removeItem(action.index);\n return;\n }\n\n onAction && onAction.apply(null, arguments);\n }\n\n validate(): any {\n const {\n value,\n minLength,\n maxLength,\n messages,\n nullable,\n translate: __\n } = this.props;\n\n if (minLength && (!Array.isArray(value) || value.length < minLength)) {\n return __(\n (messages && messages.minLengthValidateFailed) || 'Combo.minLength',\n {minLength}\n );\n } else if (maxLength && Array.isArray(value) && value.length > maxLength) {\n return __(\n (messages && messages.maxLengthValidateFailed) || 'Combo.maxLength',\n {maxLength}\n );\n } else if (this.subForms.length && (!nullable || value)) {\n return Promise.all(this.subForms.map(item => item.validate())).then(\n values => {\n if (~values.indexOf(false)) {\n return __(\n (messages && messages.validateFailed) || 'validateFailed'\n );\n }\n\n return;\n }\n );\n }\n }\n\n flush() {\n this.subForms.forEach(form => form.flush());\n }\n\n dragTipRef(ref: any) {\n if (!this.dragTip && ref) {\n this.initDragging();\n } else if (this.dragTip && !ref) {\n this.destroyDragging();\n }\n\n this.dragTip = ref;\n }\n\n initDragging() {\n const ns = this.props.classPrefix;\n const submitOnChange = this.props.submitOnChange;\n const dom = findDOMNode(this) as HTMLElement;\n this.sortable = new Sortable(\n dom.querySelector(`.${ns}Combo-items`) as HTMLElement,\n {\n group: `combo-${this.id}`,\n animation: 150,\n handle: `.${ns}Combo-itemDrager`,\n ghostClass: `${ns}Combo-item--dragging`,\n onEnd: (e: any) => {\n // 没有移动\n if (e.newIndex === e.oldIndex) {\n return;\n }\n\n // 换回来\n const parent = e.to as HTMLElement;\n if (e.oldIndex < parent.childNodes.length - 1) {\n parent.insertBefore(e.item, parent.childNodes[e.oldIndex]);\n } else {\n parent.appendChild(e.item);\n }\n\n const value = this.props.value;\n if (!Array.isArray(value)) {\n return;\n }\n const newValue = value.concat();\n newValue.splice(e.newIndex, 0, newValue.splice(e.oldIndex, 1)[0]);\n this.keys.splice(e.newIndex, 0, this.keys.splice(e.oldIndex, 1)[0]);\n this.props.onChange(newValue, submitOnChange, true);\n }\n }\n );\n }\n\n destroyDragging() {\n this.sortable && this.sortable.destroy();\n }\n\n refsMap: {\n [propName: number]: any;\n } = {};\n\n makeFormRef = memoize(\n (index: number) => (ref: any) => this.formRef(ref, index)\n );\n\n formRef(ref: any, index: number = 0) {\n if (ref) {\n while (ref && ref.getWrappedInstance) {\n ref = ref.getWrappedInstance();\n }\n this.subForms[index] = ref;\n this.refsMap[index] = ref;\n } else {\n const form = this.refsMap[index];\n this.subForms = this.subForms.filter(item => item !== form);\n this.subFormDefaultValues = this.subFormDefaultValues.filter(\n ({index: dIndex}) => dIndex !== index\n );\n delete this.refsMap[index];\n }\n }\n\n memoizedFormatValue = memoize(\n (\n strictMode: boolean,\n syncFields: Array<string> | void,\n value: any,\n index: number,\n data: any\n ) => {\n return createObject(\n extendObject(data, {index, __index: index, ...data}),\n {\n ...value,\n ...(Array.isArray(syncFields) ? pickVars(data, syncFields!) : null)\n }\n );\n },\n (\n strictMode: boolean,\n syncFields: Array<string> | void,\n value: any,\n index: number,\n data: any\n ) =>\n Array.isArray(syncFields)\n ? JSON.stringify([value, index, data, pickVars(data, syncFields)])\n : strictMode\n ? JSON.stringify([value, index])\n : JSON.stringify([value, index, data])\n );\n\n formatValue(value: any, index: number = -1) {\n const {flat, data, strictMode, syncFields} = this.props;\n\n if (flat) {\n value = {\n flat: value\n };\n }\n\n value = value || this.defaultValue;\n\n return this.memoizedFormatValue(\n strictMode !== false,\n syncFields,\n value,\n index,\n data\n );\n }\n\n pickCondition(value: any): ComboCondition | null {\n const conditions: Array<ComboCondition> = this.props.conditions!;\n return find(\n conditions,\n item => item.test && evalExpression(item.test, value)\n ) as ComboCondition | null;\n }\n\n handleComboTypeChange(index: number, selection: any) {\n const {multiple, onChange, value, flat, submitOnChange} = this.props;\n\n const conditions: Array<ComboCondition> = this.props\n .conditions as Array<ComboCondition>;\n const condition = find(conditions, item => item.label === selection.label);\n\n if (!condition) {\n return;\n }\n\n if (multiple) {\n const newValue = this.getValueAsArray();\n newValue.splice(index, 1, {\n ...dataMapping(condition.scaffold || {}, newValue[index])\n });\n\n // todo 支持 flat\n onChange(newValue, submitOnChange, true);\n } else {\n onChange(\n {\n ...dataMapping(condition.scaffold || {}, value)\n },\n submitOnChange,\n true\n );\n }\n }\n\n @autobind\n handleTabSelect(key: number) {\n const {store} = this.props;\n\n store.setActiveKey(key);\n }\n\n @autobind\n setNull(e: React.MouseEvent) {\n e.preventDefault();\n const {onChange} = this.props;\n onChange(null);\n\n Array.isArray(this.subForms) &&\n this.subForms.forEach(subForm => {\n subForm.clearErrors();\n });\n }\n\n renderPlaceholder() {\n const {placeholder, translate: __} = this.props;\n return (\n <span className=\"text-muted\">\n {__(placeholder || 'placeholder.noData')}\n </span>\n );\n }\n\n renderTabsMode() {\n const {\n classPrefix: ns,\n classnames: cx,\n tabsStyle,\n formClassName,\n render,\n disabled,\n store,\n flat,\n subFormMode,\n addButtonText,\n addable,\n removable,\n typeSwitchable,\n itemRemovableOn,\n delimiter,\n canAccessSuperData,\n addIcon,\n deleteIcon,\n tabsLabelTpl,\n conditions,\n changeImmediately,\n translate: __\n } = this.props;\n\n let items = this.props.items;\n let value = this.props.value;\n\n if (flat && typeof value === 'string') {\n value = value.split(delimiter || ',');\n }\n\n const finnalRemovable =\n store.removable !== false && // minLength ?\n !disabled && // 控件自身是否禁用\n removable !== false; // 是否可以删除\n\n if (!Array.isArray(value)) {\n value = []; // 让 tabs 输出,否则会没有新增按钮。\n }\n\n // todo 支持拖拽排序。\n\n return (\n <CTabs\n className={'ComboTabs'}\n mode={tabsStyle}\n activeKey={store.activeKey}\n onSelect={this.handleTabSelect}\n additionBtns={\n !disabled ? (\n <li className={cx(`Tabs-link ComboTabs-addLink`)}>\n {store.addable && addable !== false ? (\n Array.isArray(conditions) && conditions.length ? (\n render(\n 'add-button',\n {\n type: 'dropdown-button',\n icon: addIcon ? (\n <Icon icon=\"plus\" className=\"icon\" />\n ) : (\n ''\n ),\n label: __(addButtonText || 'Combo.add'),\n level: 'info',\n size: 'sm',\n closeOnClick: true\n },\n {\n buttons: conditions.map(item => ({\n label: item.label,\n onClick: (e: any) => {\n this.addItemWith(item);\n return false;\n }\n }))\n }\n )\n ) : (\n <a\n onClick={this.addItem}\n data-position=\"left\"\n data-tooltip={__('Combo.add')}\n >\n {addIcon ? <Icon icon=\"plus\" className=\"icon\" /> : null}\n <span>{__(addButtonText || 'Combo.add')}</span>\n </a>\n )\n ) : null}\n </li>\n ) : null\n }\n >\n {value.map((value: any, index: number) => {\n const data = this.formatValue(value, index);\n let condition: ComboCondition | null | undefined = null;\n let toolbar = undefined;\n if (\n finnalRemovable && // 表达式判断单条是否可删除\n (!itemRemovableOn ||\n evalExpression(itemRemovableOn, value) !== false)\n ) {\n toolbar = (\n <div\n onClick={this.removeItem.bind(this, index)}\n key=\"remove\"\n className={cx(\n `Combo-tab-delBtn ${!store.removable ? 'is-disabled' : ''}`\n )}\n data-tooltip={__('delete')}\n data-position=\"bottom\"\n >\n {deleteIcon ? (\n <i className={deleteIcon} />\n ) : (\n <Icon icon=\"status-close\" className=\"icon\" />\n )}\n </div>\n );\n }\n\n if (Array.isArray(conditions) && conditions.length) {\n condition = this.pickCondition(data);\n items = condition ? condition.items : undefined;\n }\n\n let finnalControls =\n flat && items\n ? [\n {\n ...(items && items[0]),\n name: 'flat'\n }\n ]\n : items;\n\n const hasUnique =\n Array.isArray(finnalControls) &&\n finnalControls.some((item: any) => item.unique);\n\n return (\n <Tab\n title={filter(\n tabsLabelTpl ||\n __('{{index}}', {index: (data as any).index + 1}),\n data\n )}\n key={this.keys[index] || (this.keys[index] = guid())}\n toolbar={toolbar}\n eventKey={index}\n // 不能按需渲染,因为 unique 会失效。\n mountOnEnter={!hasUnique}\n unmountOnExit={false}\n >\n {condition && typeSwitchable !== false ? (\n <div className={cx('Combo-itemTag')}>\n <label>{__('Combo.type')}</label>\n <Select\n onChange={this.handleComboTypeChange.bind(this, index)}\n options={(conditions as Array<ComboCondition>).map(\n item => ({\n label: item.label,\n value: item.label\n })\n )}\n value={condition.label}\n clearable={false}\n />\n </div>\n ) : null}\n <div className={cx(`Combo-itemInner`)}>\n {finnalControls ? (\n render(\n `multiple/${index}`,\n {\n type: 'form',\n body: finnalControls,\n wrapperComponent: 'div',\n wrapWithPanel: false,\n mode: subFormMode,\n className: cx(`Combo-form`, formClassName)\n },\n {\n index,\n disabled,\n data,\n onChange: this.handleChange,\n onInit: this.handleFormInit,\n onAction: this.handleAction,\n ref: this.makeFormRef(index),\n canAccessSuperData,\n lazyChange: changeImmediately ? false : true,\n formLazyChange: false,\n value: undefined,\n formItemValue: undefined,\n formStore: undefined\n }\n )\n ) : (\n <Alert2 level=\"warning\" className=\"m-b-none\">\n {__('Combo.invalidData')}\n </Alert2>\n )}\n </div>\n </Tab>\n );\n })}\n </CTabs>\n );\n }\n\n renderMultipe() {\n if (this.props.tabsMode) {\n return this.renderTabsMode();\n }\n\n const {\n classPrefix: ns,\n classnames: cx,\n formClassName,\n render,\n multiLine,\n addButtonClassName,\n disabled,\n store,\n flat,\n subFormMode,\n draggable,\n draggableTip,\n addButtonText,\n addable,\n removable,\n typeSwitchable,\n itemRemovableOn,\n delimiter,\n canAccessSuperData,\n addIcon,\n dragIcon,\n deleteIcon,\n noBorder,\n conditions,\n lazyLoad,\n changeImmediately,\n placeholder,\n translate: __\n } = this.props;\n\n let items = this.props.items;\n let value = this.props.value;\n\n if (flat && typeof value === 'string') {\n value = value.split(delimiter || ',');\n }\n\n const finnalRemovable =\n store.removable !== false && // minLength ?\n !disabled && // 控件自身是否禁用\n removable !== false; // 是否可以删除\n\n return (\n <div\n className={cx(\n `Combo Combo--multi`,\n multiLine ? `Combo--ver` : `Combo--hor`,\n noBorder ? `Combo--noBorder` : '',\n disabled ? 'is-disabled' : '',\n !disabled && draggable && Array.isArray(value) && value.length > 1\n ? 'is-draggable'\n : ''\n )}\n >\n <div className={cx(`Combo-items`)}>\n {Array.isArray(value) && value.length ? (\n value.map((value, index, thelist) => {\n let delBtn: any = null;\n\n if (\n finnalRemovable && // 表达式判断单条是否可删除\n (!itemRemovableOn ||\n evalExpression(itemRemovableOn, value) !== false)\n ) {\n delBtn = (\n <a\n onClick={this.removeItem.bind(this, index)}\n key=\"remove\"\n className={cx(\n `Combo-delBtn ${!store.removable ? 'is-disabled' : ''}`\n )}\n data-tooltip={__('delete')}\n data-position=\"bottom\"\n >\n {deleteIcon ? (\n <i className={deleteIcon} />\n ) : (\n <Icon icon=\"status-close\" className=\"icon\" />\n )}\n </a>\n );\n }\n\n const data = this.formatValue(value, index);\n let condition: ComboCondition | null = null;\n\n if (Array.isArray(conditions) && conditions.length) {\n condition = this.pickCondition(data);\n items = condition ? condition.items : undefined;\n }\n\n let finnalControls =\n flat && items\n ? [\n {\n ...(items && items[0]),\n name: 'flat'\n }\n ]\n : items;\n\n return (\n <div\n className={cx(`Combo-item`)}\n key={this.keys[index] || (this.keys[index] = guid())}\n >\n {!disabled && draggable && thelist.length > 1 ? (\n <div className={cx('Combo-itemDrager')}>\n <a\n key=\"drag\"\n data-tooltip={__('Combo.dragDropSort')}\n data-position=\"bottom\"\n >\n {dragIcon ? (\n <i className={dragIcon} />\n ) : (\n <Icon icon=\"drag-bar\" className=\"icon\" />\n )}\n </a>\n </div>\n ) : null}\n {condition && typeSwitchable !== false ? (\n <div className={cx('Combo-itemTag')}>\n <label>{__('Combo.type')}</label>\n <Select\n onChange={this.handleComboTypeChange.bind(this, index)}\n options={(conditions as Array<ComboCondition>).map(\n item => ({\n label: item.label,\n value: item.label\n })\n )}\n value={condition.label}\n clearable={false}\n />\n </div>\n ) : null}\n <div className={cx(`Combo-itemInner`)}>\n {finnalControls ? (\n render(\n `multiple/${index}`,\n {\n type: 'form',\n body: finnalControls,\n wrapperComponent: 'div',\n wrapWithPanel: false,\n mode: multiLine ? subFormMode : 'row',\n className: cx(`Combo-form`, formClassName)\n },\n {\n index,\n disabled,\n data,\n onChange: this.handleChange,\n onInit: this.handleFormInit,\n onAction: this.handleAction,\n ref: this.makeFormRef(index),\n lazyChange: changeImmediately ? false : true,\n formLazyChange: false,\n lazyLoad,\n canAccessSuperData,\n value: undefined,\n formItemValue: undefined,\n formStore: undefined\n }\n )\n ) : (\n <Alert2 level=\"warning\" className=\"m-b-none\">\n {__('Combo.invalidData')}\n </Alert2>\n )}\n </div>\n {delBtn}\n </div>\n );\n })\n ) : placeholder ? (\n <div className={cx(`Combo-placeholder`)}>{__(placeholder)}</div>\n ) : null}\n </div>\n {!disabled ? (\n <div className={cx(`Combo-toolbar`)}>\n {store.addable && addable !== false ? (\n Array.isArray(conditions) && conditions.length ? (\n render(\n 'add-button',\n {\n type: 'dropdown-button',\n label: __(addButtonText || 'Combo.add'),\n level: 'info',\n size: 'sm',\n closeOnClick: true\n },\n {\n buttons: conditions.map(item => ({\n label: item.label,\n onClick: (e: any) => {\n this.addItemWith(item);\n return false;\n }\n }))\n }\n )\n ) : (\n <button\n type=\"button\"\n onClick={this.addItem}\n className={cx(`Button Combo-addBtn`, addButtonClassName)}\n data-tooltip={__('Combo.add')}\n >\n {addIcon ? <Icon icon=\"plus\" className=\"icon\" /> : null}\n <span>{__(addButtonText || 'Combo.add')}</span>\n </button>\n )\n ) : null}\n {draggable ? (\n <span className={cx(`Combo-dragableTip`)} ref={this.dragTipRef}>\n {Array.isArray(value) && value.length > 1\n ? __(draggableTip)\n : ''}\n </span>\n ) : null}\n </div>\n ) : null}\n </div>\n );\n }\n\n renderSingle() {\n const {\n conditions,\n classnames: cx,\n render,\n value,\n multiLine,\n formClassName,\n canAccessSuperData,\n noBorder,\n disabled,\n typeSwitchable,\n nullable,\n translate: __\n } = this.props;\n\n let items = this.props.items;\n const data = isObject(value) ? this.formatValue(value) : this.defaultValue;\n let condition: ComboCondition | null = null;\n\n if (Array.isArray(conditions) && conditions.length) {\n condition = this.pickCondition(data);\n items = condition ? condition.items : undefined;\n }\n\n return (\n <div\n className={cx(\n `Combo Combo--single`,\n multiLine ? `Combo--ver` : `Combo--hor`,\n noBorder ? `Combo--noBorder` : '',\n disabled ? 'is-disabled' : ''\n )}\n >\n <div className={cx(`Combo-item`)}>\n {condition && typeSwitchable !== false ? (\n <div className={cx('Combo-itemTag')}>\n <label>{__('Combo.type')}</label>\n <Select\n onChange={this.handleComboTypeChange.bind(this, 0)}\n options={(conditions as Array<ComboCondition>).map(item => ({\n label: item.label,\n value: item.label\n }))}\n value={condition.label}\n clearable={false}\n />\n </div>\n ) : null}\n\n <div className={cx(`Combo-itemInner`)}>\n {items ? (\n render(\n 'single',\n {\n type: 'form',\n body: items,\n wrapperComponent: 'div',\n wrapWithPanel: false,\n mode: multiLine ? 'normal' : 'row',\n className: cx(`Combo-form`, formClassName)\n },\n {\n disabled: disabled,\n data: data,\n onChange: this.handleSingleFormChange,\n ref: this.makeFormRef(0),\n onInit: this.handleSingleFormInit,\n canAccessSuperData,\n formStore: undefined\n }\n )\n ) : (\n <Alert2 level=\"warning\" className=\"m-b-none\">\n {__('Combo.invalidData')}\n </Alert2>\n )}\n </div>\n </div>\n {value && nullable ? (\n <a className={cx('Combo-setNullBtn')} href=\"#\" onClick={this.setNull}>\n {__('clear')}\n </a>\n ) : null}\n </div>\n );\n }\n\n render() {\n const {\n formInited,\n multiple,\n className,\n classPrefix: ns,\n classnames: cx,\n disabled\n } = this.props;\n\n return formInited || typeof formInited === 'undefined' ? (\n <div className={cx(`ComboControl`, className)}>\n {multiple ? this.renderMultipe() : this.renderSingle()}\n </div>\n ) : null;\n }\n}\n\n@FormItem({\n type: 'combo',\n storeType: ComboStore.name,\n extendsData: false\n})\nexport class ComboControlRenderer extends ComboControl {}\n\n@FormItem({\n type: 'input-kv',\n storeType: ComboStore.name,\n extendsData: false\n})\nexport class KVControlRenderer extends ComboControl {}\n"
11
+ "import React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport cloneDeep from 'lodash/cloneDeep';\nimport {\n FormItem,\n FormControlProps,\n FormBaseControl,\n FormControlSchemaAlias\n} from './Item';\nimport {Schema, Action, Api} from '../../types';\nimport {ComboStore, IComboStore} from '../../store/combo';\nimport {default as CTabs, Tab} from '../../components/Tabs';\nimport Button from '../../components/Button';\n\nimport {\n guid,\n anyChanged,\n isObject,\n createObject,\n extendObject,\n autobind,\n isObjectShallowModified\n} from '../../utils/helper';\nimport Sortable from 'sortablejs';\nimport {evalExpression, filter} from '../../utils/tpl';\nimport find from 'lodash/find';\nimport Select from '../../components/Select';\nimport {dataMapping, resolveVariable} from '../../utils/tpl-builtin';\nimport {isEffectiveApi} from '../../utils/api';\nimport {Alert2} from '../../components';\nimport memoize from 'lodash/memoize';\nimport {Icon} from '../../components/icons';\nimport {isAlive} from 'mobx-state-tree';\nimport {\n SchemaApi,\n SchemaClassName,\n SchemaCollection,\n SchemaIcon,\n SchemaObject,\n SchemaTpl\n} from '../../Schema';\n\nexport type ComboCondition = {\n test: string;\n items: Array<ComboSubControl>;\n label: string;\n scaffold?: any;\n mode?: string;\n};\n\nexport type ComboSubControl = SchemaObject & {\n /**\n * 是否唯一, 只有在 combo 里面才有用\n */\n unique?: boolean;\n\n /**\n * 列类名,可以用来修改这类宽度。\n */\n columnClassName?: SchemaClassName;\n};\n\n/**\n * Combo 组合输入框类型\n * 文档:https://baidu.gitee.io/amis/docs/components/form/combo\n */\nexport interface ComboControlSchema extends FormBaseControl {\n /**\n * 指定为组合输入框类型\n */\n type: 'combo';\n\n /**\n * 单组表单项初始值。默认为 `{}`\n *\n * @default {}\n */\n scaffold?: any;\n\n /**\n * 是否含有边框\n */\n noBorder?: boolean;\n\n /**\n * 确认删除时的提示\n */\n deleteConfirmText?: string;\n\n /**\n * 删除时调用的api\n */\n deleteApi?: SchemaApi;\n\n /**\n * 是否可切换条件,配合`conditions`使用\n */\n typeSwitchable?: boolean;\n\n /**\n * 符合某类条件后才渲染的schema\n */\n conditions?: Array<ComboCondition>;\n\n /**\n * 内部单组表单项的类名\n */\n formClassName?: SchemaClassName;\n\n /**\n * 新增按钮CSS类名\n */\n addButtonClassName?: SchemaClassName;\n\n /**\n * 新增按钮文字\n * @default 新增\n */\n addButtonText?: string;\n\n /**\n * 是否可新增\n */\n addable?: boolean;\n\n /**\n * 数组输入框的子项\n */\n items?: Array<ComboSubControl>;\n\n /**\n * 是否可拖拽排序\n */\n draggable?: boolean;\n\n /**\n * 可拖拽排序的提示信息。\n *\n * @default 可拖拽排序\n */\n draggableTip?: string;\n\n /**\n * 是否将结果扁平化(去掉name),只有当controls的length为1且multiple为true的时候才有效\n */\n flat?: boolean;\n\n /**\n * 当扁平化开启并且joinValues为true时,用什么分隔符\n *\n * @deprecated\n */\n delimiter?: string;\n\n /**\n * 当扁平化开启的时候,是否用分隔符的形式发送给后端,否则采用array的方式\n * @deprecated\n */\n joinValues?: boolean;\n\n /**\n * 限制最大个数\n */\n maxLength?: number;\n\n /**\n * 限制最小个数\n */\n minLength?: number;\n\n /**\n * 是否多行模式,默认一行展示完\n */\n multiLine?: boolean;\n\n /**\n * 是否可多选\n */\n multiple?: boolean;\n\n /**\n * 是否可删除\n */\n removable?: boolean;\n\n /**\n * 子表单的模式。\n */\n subFormMode?: 'normal' | 'horizontal' | 'inline';\n\n /**\n * 没有成员时显示。\n * @default empty\n */\n placeholder?: string;\n\n /**\n * 是否可以访问父级数据,正常 combo 已经关联到数组成员,是不能访问父级数据的。\n */\n canAccessSuperData?: boolean;\n\n /**\n * 采用 Tabs 展示方式?\n */\n tabsMode?: boolean;\n\n /**\n * Tabs 的展示模式。\n */\n tabsStyle?: '' | 'line' | 'card' | 'radio';\n\n /**\n * 选项卡标题的生成模板。\n */\n tabsLabelTpl?: SchemaTpl;\n\n /**\n * 数据比较多,比较卡时,可以试试开启。\n */\n lazyLoad?: boolean;\n\n /**\n * 严格模式,为了性能默认不开的。\n */\n strictMode?: boolean;\n\n /**\n * 配置同步字段。只有 `strictMode` 为 `false` 时有效。\n * 如果 Combo 层级比较深,底层的获取外层的数据可能不同步。\n * 但是给 combo 配置这个属性就能同步下来。输入格式:`[\"os\"]`\n */\n syncFields?: string[];\n\n /**\n * 允许为空,如果子表单项里面配置验证器,且又是单条模式。可以允许用户选择清空(不填)。\n */\n nullable?: boolean;\n\n /**\n * 提示信息\n */\n messages?: {\n /**\n * 验证错误提示\n */\n validateFailed?: string;\n\n /**\n * 最小值验证错误提示\n */\n minLengthValidateFailed?: string;\n\n /**\n * 最大值验证错误提示\n */\n maxLengthValidateFailed?: string;\n };\n}\n\nexport type ComboRendererEvent = 'add' | 'delete' | 'tabsChange';\n\nfunction pickVars(vars: any, fields: Array<string>) {\n return fields.reduce((data: any, key: string) => {\n data[key] = resolveVariable(key, vars);\n return data;\n }, {});\n}\n\nexport interface ComboProps\n extends FormControlProps,\n Omit<\n ComboControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {\n store: IComboStore;\n changeImmediately?: boolean;\n}\n\nexport default class ComboControl extends React.Component<ComboProps> {\n static defaultProps: Pick<\n ComboProps,\n | 'minLength'\n | 'maxLength'\n | 'multiple'\n | 'multiLine'\n | 'addButtonClassName'\n | 'formClassName'\n | 'subFormMode'\n | 'draggableTip'\n | 'addButtonText'\n | 'canAccessSuperData'\n | 'addIcon'\n | 'dragIcon'\n | 'deleteIcon'\n | 'tabsMode'\n | 'tabsStyle'\n | 'placeholder'\n | 'itemClassName'\n | 'itemsWrapperClassName'\n > = {\n minLength: 0,\n maxLength: 0,\n multiple: false,\n multiLine: false,\n addButtonClassName: '',\n formClassName: '',\n subFormMode: 'normal',\n draggableTip: '',\n addButtonText: 'Combo.add',\n canAccessSuperData: false,\n addIcon: true,\n dragIcon: '',\n deleteIcon: '',\n tabsMode: false,\n tabsStyle: '',\n placeholder: 'placeholder.empty',\n itemClassName: '',\n itemsWrapperClassName: ''\n };\n static propsList: Array<string> = [\n 'minLength',\n 'maxLength',\n 'multiple',\n 'multiLine',\n 'addButtonClassName',\n 'subFormMode',\n 'draggableTip',\n 'addButtonText',\n 'draggable',\n 'scaffold',\n 'canAccessSuperData',\n 'addIcon',\n 'dragIcon',\n 'deleteIcon',\n 'noBorder',\n 'conditions',\n 'tabsMode',\n 'tabsStyle',\n 'lazyLoad',\n 'changeImmediately',\n 'strictMode',\n 'items',\n 'conditions',\n 'messages',\n 'formStore',\n 'itemClassName',\n 'itemsWrapperClassName'\n ];\n\n subForms: Array<any> = [];\n subFormDefaultValues: Array<{\n index: number;\n values: any;\n setted: boolean;\n }> = [];\n\n keys: Array<string> = [];\n dragTip?: HTMLElement;\n sortable?: Sortable;\n defaultValue?: any;\n toDispose: Array<Function> = [];\n id: string = guid();\n constructor(props: ComboProps) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n this.handleSingleFormChange = this.handleSingleFormChange.bind(this);\n this.handleSingleFormInit = this.handleSingleFormInit.bind(this);\n this.handleFormInit = this.handleFormInit.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.addItem = this.addItem.bind(this);\n this.removeItem = this.removeItem.bind(this);\n this.dragTipRef = this.dragTipRef.bind(this);\n this.flush = this.flush.bind(this);\n this.handleComboTypeChange = this.handleComboTypeChange.bind(this);\n this.defaultValue = {\n ...props.scaffold\n };\n\n const {store, value, multiple, minLength, maxLength, formItem, addHook} =\n props;\n\n store.config({\n multiple,\n minLength,\n maxLength,\n length: this.getValueAsArray(props).length\n });\n\n formItem && isAlive(formItem) && formItem.setSubStore(store);\n addHook && this.toDispose.push(addHook(this.flush, 'flush'));\n }\n\n componentDidUpdate(prevProps: ComboProps) {\n const props = this.props;\n\n if (anyChanged(['minLength', 'maxLength', 'value'], prevProps, props)) {\n const {store, minLength, maxLength, multiple} = props;\n const values = this.getValueAsArray(props);\n\n store.config({\n multiple,\n minLength,\n maxLength,\n length: values.length\n });\n\n if (store.activeKey >= values.length) {\n store.setActiveKey(Math.max(0, values.length - 1));\n }\n\n // combo 进来了新的值,且这次 form 初始化时带来的新值变化,但是之前的值已经 onInit 过了\n // 所以,之前 onInit 设置进去的初始值是过时了的。这个时候修复一下。\n if (\n props.value !== prevProps.value &&\n !prevProps.formInited &&\n this.subFormDefaultValues.length\n ) {\n this.subFormDefaultValues = this.subFormDefaultValues.map(\n (item, index) => {\n return {\n ...item,\n values: values[index]\n };\n }\n );\n }\n }\n }\n\n componentWillUnmount() {\n const {formItem} = this.props;\n\n formItem && isAlive(formItem) && formItem.setSubStore(null);\n\n this.toDispose.forEach(fn => fn());\n this.toDispose = [];\n this.memoizedFormatValue.cache.clear?.();\n this.makeFormRef.cache.clear?.();\n }\n\n getValueAsArray(props = this.props) {\n const {flat, joinValues, delimiter} = props;\n let value = props.value;\n\n if (joinValues && flat && typeof value === 'string') {\n value = value.split(delimiter || ',');\n } else if (!Array.isArray(value)) {\n value = [];\n } else {\n value = value.concat();\n }\n return value;\n }\n\n addItemWith(condition: ComboCondition) {\n const {flat, joinValues, delimiter, scaffold, disabled, submitOnChange} =\n this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n\n value.push(\n flat\n ? condition.scaffold || scaffold || ''\n : {\n ...(condition.scaffold || scaffold)\n }\n );\n this.keys.push(guid());\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value, submitOnChange, true);\n }\n\n async addItem() {\n const {\n flat,\n joinValues,\n delimiter,\n scaffold,\n disabled,\n submitOnChange,\n data,\n dispatchEvent\n } = this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n\n const rendererEvent = await dispatchEvent(\n 'add',\n createObject(data, {\n value:\n flat && joinValues ? value.join(delimiter || ',') : cloneDeep(value)\n })\n );\n\n if (rendererEvent?.prevented) {\n return;\n }\n\n value.push(\n flat\n ? scaffold || ''\n : {\n ...scaffold\n }\n );\n this.keys.push(guid());\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value, submitOnChange, true);\n }\n\n async removeItem(key: number) {\n const {\n flat,\n joinValues,\n delimiter,\n disabled,\n deleteApi,\n deleteConfirmText,\n data,\n env,\n translate: __,\n dispatchEvent\n } = this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n const ctx = createObject(data, value[key]);\n\n const rendererEvent = await dispatchEvent(\n 'delete',\n createObject(data, {\n key,\n value:\n flat && joinValues ? value.join(delimiter || ',') : cloneDeep(value)\n })\n );\n\n if (rendererEvent?.prevented) {\n return;\n }\n\n if (isEffectiveApi(deleteApi, ctx)) {\n const confirmed = await env.confirm(\n deleteConfirmText ? filter(deleteConfirmText, ctx) : __('deleteConfirm')\n );\n if (!confirmed) {\n // 如果不确认,则跳过!\n return;\n }\n\n const result = await env.fetcher(deleteApi as Api, ctx);\n\n if (!result.ok) {\n env.notify('error', __('deleteFailed'));\n return;\n }\n }\n\n value.splice(key, 1);\n this.keys.splice(key, 1);\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value);\n }\n\n handleChange(values: any, diff: any, {index}: any) {\n const {flat, store, joinValues, delimiter, disabled, submitOnChange} =\n this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n value[index] = flat ? values.flat : {...values};\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value, submitOnChange, true);\n\n store.forms.forEach(\n form =>\n isAlive(form) &&\n form.items.forEach(\n item => item.unique && item.syncOptions(undefined, form.data)\n )\n );\n }\n\n handleSingleFormChange(values: object) {\n this.props.onChange(\n {\n ...values\n },\n this.props.submitOnChange,\n true\n );\n }\n\n handleFormInit(values: any, {index}: any) {\n const {\n syncDefaultValue,\n flat,\n joinValues,\n delimiter,\n formInited,\n onChange,\n submitOnChange,\n setPrinstineValue\n } = this.props;\n\n this.subFormDefaultValues.push({\n index,\n values,\n setted: false\n });\n\n if (\n syncDefaultValue === false ||\n this.subFormDefaultValues.length !== this.subForms.length\n ) {\n return;\n }\n\n let value = this.getValueAsArray();\n let isModified = false;\n this.subFormDefaultValues = this.subFormDefaultValues.map(\n ({index, values, setted}) => {\n const newValue = flat ? values.flat : {...values};\n\n if (!setted && isObjectShallowModified(value[index], newValue)) {\n value[index] = flat ? values.flat : {...values};\n isModified = true;\n }\n\n return {\n index,\n values,\n setted: true\n };\n }\n );\n\n if (!isModified) {\n return;\n }\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n formInited\n ? onChange(value, submitOnChange, true)\n : setPrinstineValue(value);\n }\n\n handleSingleFormInit(values: any) {\n const {syncDefaultValue, setPrinstineValue, value, nullable} = this.props;\n\n if (\n syncDefaultValue !== false &&\n !nullable &&\n isObjectShallowModified(value, values) &&\n setPrinstineValue\n ) {\n setPrinstineValue({\n ...values\n });\n }\n }\n\n handleAction(action: Action): any {\n const {onAction} = this.props;\n\n if (action.actionType === 'delete') {\n action.index !== void 0 && this.removeItem(action.index);\n return;\n }\n\n onAction && onAction.apply(null, arguments);\n }\n\n validate(): any {\n const {\n value,\n minLength,\n maxLength,\n messages,\n nullable,\n translate: __\n } = this.props;\n\n if (minLength && (!Array.isArray(value) || value.length < minLength)) {\n return __(\n (messages && messages.minLengthValidateFailed) || 'Combo.minLength',\n {minLength}\n );\n } else if (maxLength && Array.isArray(value) && value.length > maxLength) {\n return __(\n (messages && messages.maxLengthValidateFailed) || 'Combo.maxLength',\n {maxLength}\n );\n } else if (this.subForms.length && (!nullable || value)) {\n return Promise.all(this.subForms.map(item => item.validate())).then(\n values => {\n if (~values.indexOf(false)) {\n return __(\n (messages && messages.validateFailed) || 'validateFailed'\n );\n }\n\n return;\n }\n );\n }\n }\n\n flush() {\n this.subForms.forEach(form => form.flush());\n }\n\n dragTipRef(ref: any) {\n if (!this.dragTip && ref) {\n this.initDragging();\n } else if (this.dragTip && !ref) {\n this.destroyDragging();\n }\n\n this.dragTip = ref;\n }\n\n initDragging() {\n const ns = this.props.classPrefix;\n const submitOnChange = this.props.submitOnChange;\n const dom = findDOMNode(this) as HTMLElement;\n this.sortable = new Sortable(\n dom.querySelector(`.${ns}Combo-items`) as HTMLElement,\n {\n group: `combo-${this.id}`,\n animation: 150,\n handle: `.${ns}Combo-itemDrager`,\n ghostClass: `${ns}Combo-item--dragging`,\n onEnd: (e: any) => {\n // 没有移动\n if (e.newIndex === e.oldIndex) {\n return;\n }\n\n // 换回来\n const parent = e.to as HTMLElement;\n if (e.oldIndex < parent.childNodes.length - 1) {\n parent.insertBefore(e.item, parent.childNodes[e.oldIndex]);\n } else {\n parent.appendChild(e.item);\n }\n\n const value = this.props.value;\n if (!Array.isArray(value)) {\n return;\n }\n const newValue = value.concat();\n newValue.splice(e.newIndex, 0, newValue.splice(e.oldIndex, 1)[0]);\n this.keys.splice(e.newIndex, 0, this.keys.splice(e.oldIndex, 1)[0]);\n this.props.onChange(newValue, submitOnChange, true);\n }\n }\n );\n }\n\n destroyDragging() {\n this.sortable && this.sortable.destroy();\n }\n\n refsMap: {\n [propName: number]: any;\n } = {};\n\n makeFormRef = memoize(\n (index: number) => (ref: any) => this.formRef(ref, index)\n );\n\n formRef(ref: any, index: number = 0) {\n if (ref) {\n while (ref && ref.getWrappedInstance) {\n ref = ref.getWrappedInstance();\n }\n this.subForms[index] = ref;\n this.refsMap[index] = ref;\n } else {\n const form = this.refsMap[index];\n this.subForms = this.subForms.filter(item => item !== form);\n this.subFormDefaultValues = this.subFormDefaultValues.filter(\n ({index: dIndex}) => dIndex !== index\n );\n delete this.refsMap[index];\n }\n }\n\n memoizedFormatValue = memoize(\n (\n strictMode: boolean,\n syncFields: Array<string> | void,\n value: any,\n index: number,\n data: any\n ) => {\n return createObject(\n extendObject(data, {index, __index: index, ...data}),\n {\n ...value,\n ...(Array.isArray(syncFields) ? pickVars(data, syncFields!) : null)\n }\n );\n },\n (\n strictMode: boolean,\n syncFields: Array<string> | void,\n value: any,\n index: number,\n data: any\n ) =>\n Array.isArray(syncFields)\n ? JSON.stringify([value, index, data, pickVars(data, syncFields)])\n : strictMode\n ? JSON.stringify([value, index])\n : JSON.stringify([value, index, data])\n );\n\n formatValue(value: any, index: number = -1) {\n const {flat, data, strictMode, syncFields} = this.props;\n\n if (flat) {\n value = {\n flat: value\n };\n }\n\n value = value || this.defaultValue;\n\n return this.memoizedFormatValue(\n strictMode !== false,\n syncFields,\n value,\n index,\n data\n );\n }\n\n pickCondition(value: any): ComboCondition | null {\n const conditions: Array<ComboCondition> = this.props.conditions!;\n return find(\n conditions,\n item => item.test && evalExpression(item.test, value)\n ) as ComboCondition | null;\n }\n\n handleComboTypeChange(index: number, selection: any) {\n const {multiple, onChange, value, flat, submitOnChange} = this.props;\n\n const conditions: Array<ComboCondition> = this.props\n .conditions as Array<ComboCondition>;\n const condition = find(conditions, item => item.label === selection.label);\n\n if (!condition) {\n return;\n }\n\n if (multiple) {\n const newValue = this.getValueAsArray();\n newValue.splice(index, 1, {\n ...dataMapping(condition.scaffold || {}, newValue[index])\n });\n\n // todo 支持 flat\n onChange(newValue, submitOnChange, true);\n } else {\n onChange(\n {\n ...dataMapping(condition.scaffold || {}, value)\n },\n submitOnChange,\n true\n );\n }\n }\n\n @autobind\n async handleTabSelect(key: number) {\n const {store, data, dispatchEvent} = this.props;\n\n const rendererEvent = await dispatchEvent(\n 'tabsChange',\n createObject(data, {\n key\n })\n );\n\n if (rendererEvent?.prevented) {\n return;\n }\n\n store.setActiveKey(key);\n }\n\n @autobind\n setNull(e: React.MouseEvent) {\n e.preventDefault();\n const {onChange} = this.props;\n onChange(null);\n\n Array.isArray(this.subForms) &&\n this.subForms.forEach(subForm => {\n subForm.clearErrors();\n });\n }\n\n renderPlaceholder() {\n const {placeholder, translate: __} = this.props;\n return (\n <span className=\"text-muted\">\n {__(placeholder || 'placeholder.noData')}\n </span>\n );\n }\n\n renderTabsMode() {\n const {\n classPrefix: ns,\n classnames: cx,\n tabsStyle,\n formClassName,\n render,\n disabled,\n store,\n flat,\n subFormMode,\n addButtonText,\n addable,\n removable,\n typeSwitchable,\n itemRemovableOn,\n delimiter,\n canAccessSuperData,\n addIcon,\n deleteIcon,\n tabsLabelTpl,\n conditions,\n changeImmediately,\n translate: __\n } = this.props;\n\n let items = this.props.items;\n let value = this.props.value;\n\n if (flat && typeof value === 'string') {\n value = value.split(delimiter || ',');\n }\n\n const finnalRemovable =\n store.removable !== false && // minLength ?\n !disabled && // 控件自身是否禁用\n removable !== false; // 是否可以删除\n\n if (!Array.isArray(value)) {\n value = []; // 让 tabs 输出,否则会没有新增按钮。\n }\n\n // todo 支持拖拽排序。\n\n return (\n <CTabs\n className={'ComboTabs'}\n mode={tabsStyle}\n activeKey={store.activeKey}\n onSelect={this.handleTabSelect}\n additionBtns={\n !disabled ? (\n <li className={cx(`Tabs-link ComboTabs-addLink`)}>\n {store.addable && addable !== false ? (\n Array.isArray(conditions) && conditions.length ? (\n render(\n 'add-button',\n {\n type: 'dropdown-button',\n icon: addIcon ? (\n <Icon icon=\"plus\" className=\"icon\" />\n ) : (\n ''\n ),\n label: __(addButtonText || 'Combo.add'),\n level: 'info',\n size: 'sm',\n closeOnClick: true\n },\n {\n buttons: conditions.map(item => ({\n label: item.label,\n onClick: (e: any) => {\n this.addItemWith(item);\n return false;\n }\n }))\n }\n )\n ) : (\n <a\n onClick={this.addItem}\n data-position=\"left\"\n data-tooltip={__('Combo.add')}\n >\n {addIcon ? <Icon icon=\"plus\" className=\"icon\" /> : null}\n <span>{__(addButtonText || 'Combo.add')}</span>\n </a>\n )\n ) : null}\n </li>\n ) : null\n }\n >\n {value.map((value: any, index: number) => {\n const data = this.formatValue(value, index);\n let condition: ComboCondition | null | undefined = null;\n let toolbar = undefined;\n if (\n finnalRemovable && // 表达式判断单条是否可删除\n (!itemRemovableOn ||\n evalExpression(itemRemovableOn, value) !== false)\n ) {\n toolbar = (\n <div\n onClick={this.removeItem.bind(this, index)}\n key=\"remove\"\n className={cx(\n `Combo-tab-delBtn ${!store.removable ? 'is-disabled' : ''}`\n )}\n data-tooltip={__('delete')}\n data-position=\"bottom\"\n >\n {deleteIcon ? (\n <i className={deleteIcon} />\n ) : (\n <Icon icon=\"status-close\" className=\"icon\" />\n )}\n </div>\n );\n }\n\n if (Array.isArray(conditions) && conditions.length) {\n condition = this.pickCondition(data);\n items = condition ? condition.items : undefined;\n }\n\n let finnalControls =\n flat && items\n ? [\n {\n ...(items && items[0]),\n name: 'flat'\n }\n ]\n : items;\n\n const hasUnique =\n Array.isArray(finnalControls) &&\n finnalControls.some((item: any) => item.unique);\n\n return (\n <Tab\n title={filter(\n tabsLabelTpl ||\n __('{{index}}', {index: (data as any).index + 1}),\n data\n )}\n key={this.keys[index] || (this.keys[index] = guid())}\n toolbar={toolbar}\n eventKey={index}\n // 不能按需渲染,因为 unique 会失效。\n mountOnEnter={!hasUnique}\n unmountOnExit={false}\n >\n {condition && typeSwitchable !== false ? (\n <div className={cx('Combo-itemTag')}>\n <label>{__('Combo.type')}</label>\n <Select\n onChange={this.handleComboTypeChange.bind(this, index)}\n options={(conditions as Array<ComboCondition>).map(\n item => ({\n label: item.label,\n value: item.label\n })\n )}\n value={condition.label}\n clearable={false}\n />\n </div>\n ) : null}\n <div className={cx(`Combo-itemInner`)}>\n {finnalControls ? (\n render(\n `multiple/${index}`,\n {\n type: 'form',\n body: finnalControls,\n wrapperComponent: 'div',\n wrapWithPanel: false,\n mode: subFormMode,\n className: cx(`Combo-form`, formClassName)\n },\n {\n index,\n disabled,\n data,\n onChange: this.handleChange,\n onInit: this.handleFormInit,\n onAction: this.handleAction,\n ref: this.makeFormRef(index),\n canAccessSuperData,\n lazyChange: changeImmediately ? false : true,\n formLazyChange: false,\n value: undefined,\n formItemValue: undefined,\n formStore: undefined\n }\n )\n ) : (\n <Alert2 level=\"warning\" className=\"m-b-none\">\n {__('Combo.invalidData')}\n </Alert2>\n )}\n </div>\n </Tab>\n );\n })}\n </CTabs>\n );\n }\n\n renderMultipe() {\n if (this.props.tabsMode) {\n return this.renderTabsMode();\n }\n\n const {\n classPrefix: ns,\n classnames: cx,\n formClassName,\n render,\n multiLine,\n addButtonClassName,\n disabled,\n store,\n flat,\n subFormMode,\n draggable,\n draggableTip,\n addButtonText,\n addable,\n removable,\n typeSwitchable,\n itemRemovableOn,\n delimiter,\n canAccessSuperData,\n addIcon,\n dragIcon,\n deleteIcon,\n noBorder,\n conditions,\n lazyLoad,\n changeImmediately,\n placeholder,\n translate: __,\n itemClassName,\n itemsWrapperClassName\n } = this.props;\n\n let items = this.props.items;\n let value = this.props.value;\n\n if (flat && typeof value === 'string') {\n value = value.split(delimiter || ',');\n }\n\n const finnalRemovable =\n store.removable !== false && // minLength ?\n !disabled && // 控件自身是否禁用\n removable !== false; // 是否可以删除\n\n return (\n <div\n className={cx(\n `Combo Combo--multi`,\n multiLine ? `Combo--ver` : `Combo--hor`,\n noBorder ? `Combo--noBorder` : '',\n disabled ? 'is-disabled' : '',\n !disabled && draggable && Array.isArray(value) && value.length > 1\n ? 'is-draggable'\n : ''\n )}\n >\n <div className={cx(`Combo-items`, itemsWrapperClassName)}>\n {Array.isArray(value) && value.length ? (\n value.map((value, index, thelist) => {\n let delBtn: any = null;\n\n if (\n finnalRemovable && // 表达式判断单条是否可删除\n (!itemRemovableOn ||\n evalExpression(itemRemovableOn, value) !== false)\n ) {\n delBtn = (\n <Button\n key=\"remove\"\n className={cx('Combo-delBtn')}\n disabled={!store.removable}\n tooltip={__('delete')}\n tooltipPlacement=\"bottom\"\n onClick={this.removeItem.bind(this, index)}\n >\n {deleteIcon ? (\n <i className={deleteIcon} />\n ) : (\n <Icon icon=\"status-close\" className=\"icon\" />\n )}\n </Button>\n );\n }\n\n const data = this.formatValue(value, index);\n let condition: ComboCondition | null = null;\n\n if (Array.isArray(conditions) && conditions.length) {\n condition = this.pickCondition(data);\n items = condition ? condition.items : undefined;\n }\n\n let finnalControls =\n flat && items\n ? [\n {\n ...(items && items[0]),\n name: 'flat'\n }\n ]\n : items;\n\n return (\n <div\n className={cx(`Combo-item`, itemClassName)}\n key={this.keys[index] || (this.keys[index] = guid())}\n >\n {!disabled && draggable && thelist.length > 1 ? (\n <div className={cx('Combo-itemDrager')}>\n <a\n key=\"drag\"\n data-tooltip={__('Combo.dragDropSort')}\n data-position=\"bottom\"\n >\n {dragIcon ? (\n <i className={dragIcon} />\n ) : (\n <Icon icon=\"drag-bar\" className=\"icon\" />\n )}\n </a>\n </div>\n ) : null}\n {condition && typeSwitchable !== false ? (\n <div className={cx('Combo-itemTag')}>\n <label>{__('Combo.type')}</label>\n <Select\n onChange={this.handleComboTypeChange.bind(this, index)}\n options={(conditions as Array<ComboCondition>).map(\n item => ({\n label: item.label,\n value: item.label\n })\n )}\n value={condition.label}\n clearable={false}\n />\n </div>\n ) : null}\n <div className={cx(`Combo-itemInner`)}>\n {finnalControls ? (\n render(\n `multiple/${index}`,\n {\n type: 'form',\n body: finnalControls,\n wrapperComponent: 'div',\n wrapWithPanel: false,\n mode: multiLine ? subFormMode : 'row',\n className: cx(`Combo-form`, formClassName)\n },\n {\n index,\n disabled,\n data,\n onChange: this.handleChange,\n onInit: this.handleFormInit,\n onAction: this.handleAction,\n ref: this.makeFormRef(index),\n lazyChange: changeImmediately ? false : true,\n formLazyChange: false,\n lazyLoad,\n canAccessSuperData,\n value: undefined,\n formItemValue: undefined,\n formStore: undefined\n }\n )\n ) : (\n <Alert2 level=\"warning\" className=\"m-b-none\">\n {__('Combo.invalidData')}\n </Alert2>\n )}\n </div>\n {delBtn}\n </div>\n );\n })\n ) : placeholder ? (\n <div className={cx(`Combo-placeholder`)}>{__(placeholder)}</div>\n ) : null}\n </div>\n {!disabled ? (\n <div className={cx(`Combo-toolbar`)}>\n {store.addable && addable !== false ? (\n Array.isArray(conditions) && conditions.length ? (\n render(\n 'add-button',\n {\n type: 'dropdown-button',\n label: __(addButtonText || 'Combo.add'),\n level: 'info',\n size: 'sm',\n closeOnClick: true\n },\n {\n buttons: conditions.map(item => ({\n label: item.label,\n onClick: (e: any) => {\n this.addItemWith(item);\n return false;\n }\n }))\n }\n )\n ) : (\n <Button\n level=\"default\"\n className={cx(`Combo-addBtn`, addButtonClassName)}\n block\n tooltip={__('Combo.add')}\n onClick={this.addItem}\n >\n {addIcon ? <Icon icon=\"plus\" className=\"icon\" /> : null}\n <span>{__(addButtonText || 'Combo.add')}</span>\n </Button>\n )\n ) : null}\n {draggable ? (\n <span className={cx(`Combo-dragableTip`)} ref={this.dragTipRef}>\n {Array.isArray(value) && value.length > 1\n ? __(draggableTip)\n : ''}\n </span>\n ) : null}\n </div>\n ) : null}\n </div>\n );\n }\n\n renderSingle() {\n const {\n conditions,\n classnames: cx,\n render,\n value,\n multiLine,\n formClassName,\n canAccessSuperData,\n noBorder,\n disabled,\n typeSwitchable,\n nullable,\n translate: __,\n itemClassName\n } = this.props;\n\n let items = this.props.items;\n const data = isObject(value) ? this.formatValue(value) : this.defaultValue;\n let condition: ComboCondition | null = null;\n\n if (Array.isArray(conditions) && conditions.length) {\n condition = this.pickCondition(data);\n items = condition ? condition.items : undefined;\n }\n\n return (\n <div\n className={cx(\n `Combo Combo--single`,\n multiLine ? `Combo--ver` : `Combo--hor`,\n noBorder ? `Combo--noBorder` : '',\n disabled ? 'is-disabled' : ''\n )}\n >\n <div className={cx(`Combo-item`, itemClassName)}>\n {condition && typeSwitchable !== false ? (\n <div className={cx('Combo-itemTag')}>\n <label>{__('Combo.type')}</label>\n <Select\n onChange={this.handleComboTypeChange.bind(this, 0)}\n options={(conditions as Array<ComboCondition>).map(item => ({\n label: item.label,\n value: item.label\n }))}\n value={condition.label}\n clearable={false}\n />\n </div>\n ) : null}\n\n <div className={cx(`Combo-itemInner`)}>\n {items ? (\n render(\n 'single',\n {\n type: 'form',\n body: items,\n wrapperComponent: 'div',\n wrapWithPanel: false,\n mode: multiLine ? 'normal' : 'row',\n className: cx(`Combo-form`, formClassName)\n },\n {\n disabled: disabled,\n data: data,\n onChange: this.handleSingleFormChange,\n ref: this.makeFormRef(0),\n onInit: this.handleSingleFormInit,\n canAccessSuperData,\n formStore: undefined\n }\n )\n ) : (\n <Alert2 level=\"warning\" className=\"m-b-none\">\n {__('Combo.invalidData')}\n </Alert2>\n )}\n </div>\n </div>\n {value && nullable ? (\n <a className={cx('Combo-setNullBtn')} href=\"#\" onClick={this.setNull}>\n {__('clear')}\n </a>\n ) : null}\n </div>\n );\n }\n\n render() {\n const {\n formInited,\n multiple,\n className,\n classPrefix: ns,\n classnames: cx,\n disabled\n } = this.props;\n\n return formInited || typeof formInited === 'undefined' ? (\n <div className={cx(`ComboControl`, className)}>\n {multiple ? this.renderMultipe() : this.renderSingle()}\n </div>\n ) : null;\n }\n}\n\n@FormItem({\n type: 'combo',\n storeType: ComboStore.name,\n extendsData: false\n})\nexport class ComboControlRenderer extends ComboControl {}\n\n@FormItem({\n type: 'input-kv',\n storeType: ComboStore.name,\n extendsData: false\n})\nexport class KVControlRenderer extends ComboControl {}\n"
12
12
  ]
13
13
  }
@@ -7682,11 +7682,11 @@ export declare class DiffEditorControlRenderer extends DiffEditor {
7682
7682
  placeholder?: string | undefined;
7683
7683
  readOnly?: boolean | undefined;
7684
7684
  mode?: "normal" | "inline" | "horizontal" | undefined;
7685
- labelClassName?: import("../../Schema").SchemaClassName | undefined;
7686
7685
  $ref?: string | undefined;
7687
7686
  disabledOn?: string | undefined;
7688
7687
  hiddenOn?: string | undefined;
7689
7688
  visibleOn?: string | undefined;
7689
+ labelClassName?: import("../../Schema").SchemaClassName | undefined;
7690
7690
  labelRemark?: import("../Remark").SchemaRemark | undefined;
7691
7691
  submitOnChange?: boolean | undefined;
7692
7692
  validationErrors?: {