amis 1.9.1-beta.1 → 1.9.1-beta.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (248) hide show
  1. package/lib/RootRenderer.js +10 -2
  2. package/lib/RootRenderer.js.map +2 -2
  3. package/lib/Schema.d.ts +3 -2
  4. package/lib/Schema.js.map +1 -1
  5. package/lib/components/Alert2.d.ts +10 -10
  6. package/lib/components/Button.d.ts +11 -10
  7. package/lib/components/Button.js +2 -2
  8. package/lib/components/Button.js.map +2 -2
  9. package/lib/components/CalendarMobile.d.ts +40 -40
  10. package/lib/components/Checkbox.js +1 -1
  11. package/lib/components/Checkbox.js.map +2 -2
  12. package/lib/components/ContextMenu.d.ts +4 -0
  13. package/lib/components/ContextMenu.js +23 -7
  14. package/lib/components/ContextMenu.js.map +2 -2
  15. package/lib/components/DatePicker.d.ts +40 -40
  16. package/lib/components/DateRangePicker.d.ts +40 -40
  17. package/lib/components/Form.d.ts +22 -0
  18. package/lib/components/Form.js +44 -0
  19. package/lib/components/Form.js.map +13 -0
  20. package/lib/components/FormField.d.ts +65 -0
  21. package/lib/components/FormField.js +48 -0
  22. package/lib/components/FormField.js.map +13 -0
  23. package/lib/components/InputBox.d.ts +10 -10
  24. package/lib/components/InputBox.js +4 -3
  25. package/lib/components/InputBox.js.map +2 -2
  26. package/lib/components/InputBoxWithSuggestion.d.ts +280 -0
  27. package/lib/components/InputBoxWithSuggestion.js +65 -0
  28. package/lib/components/InputBoxWithSuggestion.js.map +13 -0
  29. package/lib/components/ListGroup.d.ts +10 -10
  30. package/lib/components/PickerContainer.d.ts +4 -2
  31. package/lib/components/PickerContainer.js +28 -5
  32. package/lib/components/PickerContainer.js.map +2 -2
  33. package/lib/components/Radios.d.ts +10 -10
  34. package/lib/components/ResultBox.d.ts +40 -40
  35. package/lib/components/SearchBox.d.ts +40 -40
  36. package/lib/components/Select.d.ts +195 -202
  37. package/lib/components/Select.js +7 -3
  38. package/lib/components/Select.js.map +2 -2
  39. package/lib/components/Textarea.d.ts +568 -2
  40. package/lib/components/Textarea.js +129 -1
  41. package/lib/components/Textarea.js.map +2 -2
  42. package/lib/components/Toast.js +11 -9
  43. package/lib/components/Toast.js.map +2 -2
  44. package/lib/components/UserSelect.d.ts +500 -0
  45. package/lib/components/UserSelect.js +559 -0
  46. package/lib/components/UserSelect.js.map +13 -0
  47. package/lib/components/UserTabSelect.d.ts +320 -0
  48. package/lib/components/UserTabSelect.js +163 -0
  49. package/lib/components/UserTabSelect.js.map +13 -0
  50. package/lib/components/WithRemoteConfig.d.ts +7 -0
  51. package/lib/components/WithRemoteConfig.js +17 -11
  52. package/lib/components/WithRemoteConfig.js.map +2 -2
  53. package/lib/components/calendar/DaysView.d.ts +26 -1
  54. package/lib/components/calendar/DaysView.js +48 -14
  55. package/lib/components/calendar/DaysView.js.map +2 -2
  56. package/lib/components/calendar/TimeView.d.ts +1 -1
  57. package/lib/components/calendar/TimeView.js +8 -2
  58. package/lib/components/calendar/TimeView.js.map +2 -2
  59. package/lib/components/icons.d.ts +7 -1
  60. package/lib/components/icons.js +17 -1
  61. package/lib/components/icons.js.map +2 -2
  62. package/lib/components/index.d.ts +2 -1
  63. package/lib/components/index.js +3 -1
  64. package/lib/components/index.js.map +2 -2
  65. package/lib/components/json-schema/Array.d.ts +3 -0
  66. package/lib/components/json-schema/Array.js +125 -0
  67. package/lib/components/json-schema/Array.js.map +13 -0
  68. package/lib/components/json-schema/Item.d.ts +3 -0
  69. package/lib/components/json-schema/Item.js +34 -0
  70. package/lib/components/json-schema/Item.js.map +13 -0
  71. package/lib/components/json-schema/Object.d.ts +3 -0
  72. package/lib/components/json-schema/Object.js +178 -0
  73. package/lib/components/json-schema/Object.js.map +13 -0
  74. package/lib/components/json-schema/index.d.ts +279 -0
  75. package/lib/components/json-schema/index.js +16 -0
  76. package/lib/components/json-schema/index.js.map +13 -0
  77. package/lib/components/schema-editor/Array.js +2 -2
  78. package/lib/components/schema-editor/Array.js.map +2 -2
  79. package/lib/components/schema-editor/Common.d.ts +2 -0
  80. package/lib/components/schema-editor/Common.js +39 -3
  81. package/lib/components/schema-editor/Common.js.map +2 -2
  82. package/lib/components/schema-editor/Object.js +2 -2
  83. package/lib/components/schema-editor/Object.js.map +2 -2
  84. package/lib/components/schema-editor/index.d.ts +45 -41
  85. package/lib/components/schema-editor/index.js +5 -5
  86. package/lib/components/schema-editor/index.js.map +2 -2
  87. package/lib/hooks/use-validation-resolver.d.ts +1 -0
  88. package/lib/hooks/use-validation-resolver.js +49 -0
  89. package/lib/hooks/use-validation-resolver.js.map +13 -0
  90. package/lib/icons/department.js +17 -0
  91. package/lib/icons/menu.js +9 -0
  92. package/lib/icons/post.js +15 -0
  93. package/lib/icons/role.js +14 -0
  94. package/lib/icons/user-remove.js +12 -0
  95. package/lib/index.d.ts +2 -0
  96. package/lib/index.js +3 -1
  97. package/lib/index.js.map +2 -2
  98. package/lib/locale/de-DE.js +11 -1
  99. package/lib/locale/de-DE.js.map +2 -2
  100. package/lib/locale/en-US.js +12 -1
  101. package/lib/locale/en-US.js.map +2 -2
  102. package/lib/locale/zh-CN.js +14 -3
  103. package/lib/locale/zh-CN.js.map +2 -2
  104. package/lib/renderers/Action.js +25 -11
  105. package/lib/renderers/Action.js.map +2 -2
  106. package/lib/renderers/CRUD.js +5 -1
  107. package/lib/renderers/CRUD.js.map +2 -2
  108. package/lib/renderers/Dialog.js +9 -3
  109. package/lib/renderers/Dialog.js.map +2 -2
  110. package/lib/renderers/Drawer.js +5 -1
  111. package/lib/renderers/Drawer.js.map +2 -2
  112. package/lib/renderers/Form/InputDate.d.ts +2 -2
  113. package/lib/renderers/Form/InputDate.js.map +2 -2
  114. package/lib/renderers/Form/JSONSchema.d.ts +23 -0
  115. package/lib/renderers/Form/JSONSchema.js +44 -0
  116. package/lib/renderers/Form/JSONSchema.js.map +13 -0
  117. package/lib/renderers/Form/JSONSchemaEditor.d.ts +2 -3
  118. package/lib/renderers/Form/JSONSchemaEditor.js +9 -24
  119. package/lib/renderers/Form/JSONSchemaEditor.js.map +2 -2
  120. package/lib/renderers/Form/Textarea.d.ts +1 -8
  121. package/lib/renderers/Form/Textarea.js +11 -75
  122. package/lib/renderers/Form/Textarea.js.map +2 -2
  123. package/lib/renderers/Form/UserSelect.d.ts +54 -0
  124. package/lib/renderers/Form/UserSelect.js +197 -0
  125. package/lib/renderers/Form/UserSelect.js.map +13 -0
  126. package/lib/renderers/Form/index.d.ts +1 -1
  127. package/lib/renderers/Form/index.js +88 -42
  128. package/lib/renderers/Form/index.js.map +2 -2
  129. package/lib/renderers/Log.d.ts +13 -1
  130. package/lib/renderers/Log.js +82 -16
  131. package/lib/renderers/Log.js.map +2 -2
  132. package/lib/renderers/Page.js +5 -1
  133. package/lib/renderers/Page.js.map +2 -2
  134. package/lib/renderers/Service.js +5 -1
  135. package/lib/renderers/Service.js.map +2 -2
  136. package/lib/renderers/Wizard.js +37 -14
  137. package/lib/renderers/Wizard.js.map +2 -2
  138. package/lib/store/form.js +65 -45
  139. package/lib/store/form.js.map +2 -2
  140. package/lib/themes/ang-ie11.css +561 -21
  141. package/lib/themes/ang.css +538 -9
  142. package/lib/themes/ang.css.map +1 -1
  143. package/lib/themes/antd-ie11.css +561 -21
  144. package/lib/themes/antd.css +538 -9
  145. package/lib/themes/antd.css.map +1 -1
  146. package/lib/themes/cxd-ie11.css +561 -21
  147. package/lib/themes/cxd.css +538 -9
  148. package/lib/themes/cxd.css.map +1 -1
  149. package/lib/themes/dark-ie11.css +561 -21
  150. package/lib/themes/dark.css +538 -9
  151. package/lib/themes/dark.css.map +1 -1
  152. package/lib/themes/default-ie11.css +561 -21
  153. package/lib/themes/default.css +538 -9
  154. package/lib/themes/default.css.map +1 -1
  155. package/lib/utils/api.js +1 -1
  156. package/lib/utils/api.js.map +2 -2
  157. package/lib/utils/renderer-event.js.map +2 -2
  158. package/package.json +2 -1
  159. package/schema.json +539 -3
  160. package/scss/_properties.scss +20 -8
  161. package/scss/components/_input-box.scss +22 -1
  162. package/scss/components/_json-schema.scss +124 -0
  163. package/scss/components/_log.scss +37 -5
  164. package/scss/components/form/_date-range.scss +1 -0
  165. package/scss/components/form/_select.scss +9 -0
  166. package/scss/components/form/_user-select.scss +422 -0
  167. package/scss/themes/_common.scss +2 -0
  168. package/sdk/ang-ie11.css +651 -21
  169. package/sdk/ang.css +628 -9
  170. package/sdk/antd-ie11.css +651 -21
  171. package/sdk/antd.css +628 -9
  172. package/sdk/barcode.js +51 -51
  173. package/sdk/charts.js +14 -14
  174. package/sdk/codemirror.js +7 -7
  175. package/sdk/color-picker.js +65 -65
  176. package/sdk/cropperjs.js +2 -2
  177. package/sdk/cxd-ie11.css +651 -21
  178. package/sdk/cxd.css +628 -9
  179. package/sdk/dark-ie11.css +651 -21
  180. package/sdk/dark.css +628 -9
  181. package/sdk/exceljs.js +1 -1
  182. package/sdk/locale/de-DE.js +11 -1
  183. package/sdk/markdown.js +69 -69
  184. package/sdk/papaparse.js +1 -1
  185. package/sdk/renderers/Form/CityDB.js +1 -1
  186. package/sdk/rest.js +16 -16
  187. package/sdk/rich-text.js +62 -62
  188. package/sdk/sdk-ie11.css +651 -21
  189. package/sdk/sdk.css +628 -9
  190. package/sdk/sdk.js +1655 -1643
  191. package/sdk/thirds/hls.js/hls.js +1 -1
  192. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  193. package/sdk/tinymce.js +57 -57
  194. package/src/RootRenderer.tsx +27 -15
  195. package/src/Schema.ts +5 -1
  196. package/src/components/Button.tsx +3 -0
  197. package/src/components/Checkbox.tsx +2 -1
  198. package/src/components/ContextMenu.tsx +25 -7
  199. package/src/components/Form.tsx +70 -0
  200. package/src/components/FormField.tsx +127 -0
  201. package/src/components/InputBox.tsx +4 -1
  202. package/src/components/InputBoxWithSuggestion.tsx +113 -0
  203. package/src/components/PickerContainer.tsx +20 -5
  204. package/src/components/Select.tsx +18 -10
  205. package/src/components/Textarea.tsx +234 -2
  206. package/src/components/Toast.tsx +19 -18
  207. package/src/components/UserSelect.tsx +850 -0
  208. package/src/components/UserTabSelect.tsx +261 -0
  209. package/src/components/WithRemoteConfig.tsx +22 -7
  210. package/src/components/calendar/DaysView.tsx +53 -16
  211. package/src/components/calendar/TimeView.tsx +10 -5
  212. package/src/components/icons.tsx +17 -1
  213. package/src/components/index.tsx +3 -1
  214. package/src/components/json-schema/Array.tsx +216 -0
  215. package/src/components/json-schema/Item.tsx +47 -0
  216. package/src/components/json-schema/Object.tsx +339 -0
  217. package/src/components/json-schema/index.tsx +44 -0
  218. package/src/components/schema-editor/Array.tsx +3 -1
  219. package/src/components/schema-editor/Common.tsx +61 -4
  220. package/src/components/schema-editor/Object.tsx +3 -1
  221. package/src/components/schema-editor/index.tsx +12 -5
  222. package/src/hooks/use-validation-resolver.ts +45 -0
  223. package/src/icons/department.svg +17 -0
  224. package/src/icons/menu.svg +2 -0
  225. package/src/icons/post.svg +15 -0
  226. package/src/icons/role.svg +14 -0
  227. package/src/icons/user-remove.svg +12 -0
  228. package/src/index.tsx +2 -0
  229. package/src/locale/de-DE.ts +11 -1
  230. package/src/locale/en-US.ts +12 -1
  231. package/src/locale/zh-CN.ts +14 -3
  232. package/src/renderers/Action.tsx +10 -9
  233. package/src/renderers/CRUD.tsx +5 -1
  234. package/src/renderers/Dialog.tsx +9 -3
  235. package/src/renderers/Drawer.tsx +5 -1
  236. package/src/renderers/Form/InputDate.tsx +9 -4
  237. package/src/renderers/Form/JSONSchema.tsx +56 -0
  238. package/src/renderers/Form/JSONSchemaEditor.tsx +8 -27
  239. package/src/renderers/Form/Textarea.tsx +7 -117
  240. package/src/renderers/Form/UserSelect.tsx +263 -0
  241. package/src/renderers/Form/index.tsx +28 -18
  242. package/src/renderers/Log.tsx +148 -13
  243. package/src/renderers/Page.tsx +6 -1
  244. package/src/renderers/Service.tsx +5 -1
  245. package/src/renderers/Wizard.tsx +24 -10
  246. package/src/store/form.ts +24 -17
  247. package/src/utils/api.ts +1 -1
  248. package/src/utils/renderer-event.ts +0 -2
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/InputDate.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AAEnE,uDAIiC;AACjC,+DAA4B;AAC5B,+BAA6B;AAC7B,qFAAqF;AAErF,6CAAgF;AAgRhF;IAAyC,4CAGxC;IAeC,qBAAY,KAAgB;QAA5B,YACE,kBAAM,KAAK,CAAC,SA+Bb;QA5BG,IAAA,OAAO,GAQL,KAAK,QARA,EACP,OAAO,GAOL,KAAK,QAPA,EACP,KAAK,GAMH,KAAK,MANF,EACL,YAAY,GAKV,KAAK,aALK,EACZ,iBAAiB,GAIf,KAAK,kBAJU,EACjB,IAAI,GAGF,KAAK,KAHH,EACJ,MAAM,GAEJ,KAAK,OAFD,EACN,GAAG,GACD,KAAK,IADJ,CACK;QAEV,IAAI,YAAY,IAAI,KAAK,KAAK,YAAY,EAAE;YAC1C,IAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACpD,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;SACnE;QAED,IAAI,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC;QACpC,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;YACrC,IAAM,QAAQ,GAAG,IAAA,sCAAwB,EAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YACxE,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC3B,aAAa,GAAG,QAAQ,CAAC;aAC1B;SACF;QAED,KAAI,CAAC,KAAK,GAAG;YACX,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAA,wBAAU,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YAChE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAA,wBAAU,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YAChE,SAAS,EAAE,aAAa;SACzB,CAAC;;IACJ,CAAC;IAED,wCAAkB,GAAlB,UAAmB,SAAoB;QACrC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,SAAS,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,EAAE;YACjD,IAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACtE,KAAK,CAAC,iBAAiB,CACrB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAC3D,CAAC;SACH;QAED,IACE,SAAS,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;YACnC,SAAS,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;YACnC,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAC7B;YACA,IAAI,CAAC,QAAQ,CAAC;gBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;oBACpB,CAAC,CAAC,IAAA,wBAAU,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC1D,CAAC,CAAC,SAAS;gBACb,OAAO,EAAE,KAAK,CAAC,OAAO;oBACpB,CAAC,CAAC,IAAA,wBAAU,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC1D,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;SACJ;QAED,IACE,IAAA,mBAAU,EAAC,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC;YACnD,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;YACnC,IAAA,4BAAc,EAAC,KAAK,CAAC,SAAS,CAAC,EAC/B;YACA,IAAM,aAAa,GAAG,IAAA,sCAAwB,EAC5C,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,IAAI,EACV,OAAO,CACR,CAAC;YACF,IAAM,gBAAgB,GAAG,IAAA,sCAAwB,EAC/C,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,IAAI,EACd,OAAO,CACR,CAAC;YACF,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,gBAAgB,KAAK,aAAa,EAAE;gBACtE,IAAI,CAAC,QAAQ,CAAC;oBACZ,SAAS,EAAE,aAAa;iBACzB,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IAED,SAAS;IACT,qCAAe,GAAf,UAAgB,YAAiB;QACzB,IAAA,KAAkD,IAAI,CAAC,KAAK,EAA3D,cAAc,oBAAA,EAAE,QAAQ,cAAA,EAAE,IAAI,UAAA,EAAa,EAAE,eAAc,CAAC;QACnE,IAAM,qBAAqB,GAAG;YAC5B,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE;gBACN,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC;gBACrB,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE;oBACJ,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC;yBAClB;wBACD;4BACE,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC;yBACrB;qBACF;oBACD,IAAI,EAAE,iBAAiB;iBACxB;aACF;SACF,CAAC;QAEF,QAAQ;YACN,QAAQ,CACN,IAAI,EACJ,cAAc,IAAI,qBAAqB,EACvC,IAAA,qBAAY,EAAC,IAAI,EAAE,YAAY,CAAC,CACjC,CAAC;IACN,CAAC;IAGD,4BAAM,GAAN,UAAO,GAAmB;QACxB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IACrB,CAAC;IAED,cAAc;IAEd,mCAAa,GAAb,UAAc,CAAoC;QAC1C,IAAA,KAAwB,IAAI,CAAC,KAAK,EAAjC,aAAa,mBAAA,EAAE,IAAI,UAAc,CAAC;QACzC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;IACL,8BAAQ,GAAR,UAAS,MAAc,EAAE,IAAY,EAAE,WAAoB;;QAClD,IAAA,UAAU,GAAI,IAAI,CAAC,KAAK,WAAd,CAAe;QAEhC,IAAI,MAAM,CAAC,UAAU,KAAK,OAAO,EAAE;YACjC,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;YACtB,OAAO;SACR;QAED,IAAI,MAAM,CAAC,UAAU,KAAK,OAAO,IAAI,UAAU,EAAE;YAC/C,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,CAAC,UAAU,CAAC,CAAC;SACjC;IACH,CAAC;IAED,OAAO;IAED,kCAAY,GAAlB,UAAmB,SAAc;;;;gBACzB,KAAwB,IAAI,CAAC,KAAK,EAAjC,aAAa,mBAAA,EAAE,IAAI,UAAA,CAAe;gBACnC,UAAU,GAAG,aAAa,CAAC,QAAQ,EAAE,IAAA,qBAAY,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC;gBACnF,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,EAAE;oBACzB,sBAAO;iBACR;gBACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;;;;KAChC;IAED,4BAAM,GAAN;QACE,IAAI,KAgBA,IAAI,CAAC,KAAK,EAfZ,SAAS,eAAA,EACT,YAAY,kBAAA,EACZ,WAAW,iBAAA,EACC,EAAE,gBAAA,EACd,OAAO,aAAA,EACP,OAAO,aAAA,EACP,IAAI,UAAA,EACJ,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,WAAW,iBAAA,EACX,GAAG,SAAA,EACH,SAAS,eAAA,EACT,MAAM,YAAA,EACN,WAAW,iBAAA,EACR,IAAI,2BAfL,4KAgBH,CAAa,CAAC;QACf,IAAM,QAAQ,GAAG,WAAW,IAAI,IAAA,iBAAQ,GAAE,CAAC;QAE3C,IAAI,IAAI,KAAK,MAAM,IAAI,UAAU,EAAE;YACjC,MAAM,GAAG,UAAU,CAAC;SACrB;QAED,OAAO,CACL,uCACE,SAAS,EAAE,EAAE,CACX,aAAa,EACb;gBACE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC7B,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;aACtC,EACD,SAAS,CACV;YAED,8BAAC,oBAAU,4BACL,IAAI,IACR,WAAW,EAAE,WAAW,EACxB,gBAAgB,EACd,QAAQ,IAAI,GAAG,IAAI,GAAG,CAAC,iBAAiB;oBACtC,CAAC,CAAC,GAAG,CAAC,iBAAiB;oBACvB,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAE3B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,WAAW,IAAI,MAAM,IACzB,IAAI,CAAC,KAAK,IACd,UAAU,EAAE,EAAE,EACd,KAAK,EAAE,IAAI,CAAC,MAAM,EAClB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAChD,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,MAAM,EAAE,IAAI,CAAC,aAAa,IAC1B,CACE,CACP,CAAC;IACJ,CAAC;;IAjOM,wBAAY,GAAG;QACpB,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,YAAY;QACzB,eAAe,EAAE;YACf,OAAO,EAAE;gBACP,IAAI,EAAE,CAAC;aACR;SACF;QACD,SAAS,EAAE,IAAI;KAChB,CAAC;IAwHF;QADC,iBAAQ;;0EACG,uBAAc,oBAAd,uBAAc;;6CAEzB;IAID;QADC,iBAAQ;;0EACQ,eAAK,oBAAL,eAAK,CAAC,cAAc;;oDAGpC;IAkBD;QADC,iBAAQ;;;;mDAQR;IA8DH,kBAAC;CAAA,AAtOD,CAAyC,eAAK,CAAC,aAAa,GAsO3D;kBAtOoB,WAAW;AA4OhC;IAAyC,oDAAW;IAApD;;IAQA,CAAC;IAPQ,gCAAY,mDACd,WAAW,CAAC,YAAY,KAC3B,WAAW,EAAE,kBAAkB,EAC/B,UAAU,EAAE,YAAY,EACxB,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,KAAK,IACjB;IAPS,mBAAmB;QAJ/B,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,CAAC,GAAG;SACb,CAAC;OACW,mBAAmB,CAQ/B;IAAD,0BAAC;CAAA,AARD,CAAyC,WAAW,GAQnD;AARY,kDAAmB;AAahC;IAA6C,wDAAW;IAAxD;;IAUA,CAAC;IATQ,oCAAY,mDACd,WAAW,CAAC,YAAY,KAC3B,WAAW,EAAE,sBAAsB,EACnC,WAAW,EAAE,qBAAqB,EAClC,UAAU,EAAE,IAAI,EAChB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,KAAK,EACpB,UAAU,EAAE,KAAK,IACjB;IATS,uBAAuB;QAHnC,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,gBAAgB;SACvB,CAAC;OACW,uBAAuB,CAUnC;IAAD,8BAAC;CAAA,AAVD,CAA6C,WAAW,GAUvD;AAVY,0DAAuB;AAepC;IAAyC,oDAAW;IAApD;;IAUA,CAAC;IATQ,gCAAY,mDACd,WAAW,CAAC,YAAY,KAC3B,WAAW,EAAE,kBAAkB,EAC/B,WAAW,EAAE,OAAO,EACpB,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,KAAK,IACpB;IATS,mBAAmB;QAH/B,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,YAAY;SACnB,CAAC;OACW,mBAAmB,CAU/B;IAAD,0BAAC;CAAA,AAVD,CAAyC,WAAW,GAUnD;AAVY,kDAAmB;AAehC;IAA0C,qDAAW;IAArD;;IAUA,CAAC;IATQ,iCAAY,mDACd,WAAW,CAAC,YAAY,KAC3B,WAAW,EAAE,mBAAmB,EAChC,WAAW,EAAE,SAAS,EACtB,UAAU,EAAE,IAAI,EAChB,UAAU,EAAE,EAAE,EACd,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,IAAI,IACnB;IATS,oBAAoB;QAHhC,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,aAAa;SACpB,CAAC;OACW,oBAAoB,CAUhC;IAAD,2BAAC;CAAA,AAVD,CAA0C,WAAW,GAUpD;AAVY,oDAAoB;AAejC;IAA4C,uDAAW;IAAvD;;IAUA,CAAC;IATQ,mCAAY,mDACd,WAAW,CAAC,YAAY,KAC3B,WAAW,EAAE,qBAAqB,EAClC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,EAAE,EACd,QAAQ,EAAE,UAAU,EACpB,aAAa,EAAE,IAAI,IACnB;IATS,sBAAsB;QAHlC,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,eAAe;SACtB,CAAC;OACW,sBAAsB,CAUlC;IAAD,6BAAC;CAAA,AAVD,CAA4C,WAAW,GAUtD;AAVY,wDAAsB;AAenC;IAAyC,oDAAW;IAApD;;IAUA,CAAC;IATQ,gCAAY,mDACd,WAAW,CAAC,YAAY,KAC3B,WAAW,EAAE,kBAAkB,EAC/B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,EAAE,EACd,QAAQ,EAAE,OAAO,EACjB,aAAa,EAAE,IAAI,IACnB;IATS,mBAAmB;QAH/B,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,YAAY;SACnB,CAAC;OACW,mBAAmB,CAU/B;IAAD,0BAAC;CAAA,AAVD,CAAyC,WAAW,GAUnD;AAVY,kDAAmB",
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 {\n filterDate,\n isPureVariable,\n resolveVariableAndFilter\n} from '../../utils/tpl-builtin';\nimport moment from 'moment';\nimport 'moment/locale/zh-cn';\nimport DatePicker, {DatePicker as BaseDatePicker} from '../../components/DatePicker';\nimport {SchemaObject} from '../../Schema';\nimport {createObject, anyChanged, isMobile, autobind} from '../../utils/helper';\nimport {Action} from '../../types';\n\nexport interface InputDateBaseControlSchema extends FormBaseControl {\n /**\n * 指定为日期选择控件\n */\n type:\n | 'input-date'\n | 'input-datetime'\n | 'input-time'\n | 'input-month'\n | 'input-quarter'\n | 'input-year';\n\n /**\n * 是否显示清除按钮\n */\n clearable?: boolean;\n\n /**\n * 日期存储格式\n */\n format?: string;\n\n /**\n * 日期展示格式\n */\n inputFormat?: string;\n\n /**\n * 设定是否存储 utc 时间。\n */\n utc?: boolean;\n\n /**\n * 是否为内联模式?\n */\n emebed?: boolean;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n}\n\n/**\n * Date日期选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/date\n */\nexport interface DateControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为日期选择控件\n */\n type: 'input-date';\n\n /**\n * 日期存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 日期展示格式\n * @default YYYY-MM-DD\n */\n inputFormat?: string;\n\n /**\n * 点选日期后是否关闭弹窗\n */\n closeOnSelect?: boolean;\n\n /**\n * 限制最小日期\n */\n minDate?: string;\n\n /**\n * 限制最大日期\n */\n maxDate?: string;\n}\n\n/**\n * Datetime日期时间选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/datetime\n */\nexport interface DateTimeControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为日期时间选择控件\n */\n type: 'input-datetime';\n\n /**\n * 日期存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 日期展示格式\n * @default YYYY-MM-DD HH:mm\n */\n inputFormat?: string;\n\n /**\n * 时间的格式。\n *\n * @default HH:mm\n */\n timeFormat?: string;\n\n /**\n * 限制最小日期\n */\n minDate?: string;\n\n /**\n * 限制最大日期\n */\n maxDate?: string;\n\n /**\n * 不记得了\n */\n timeConstraints?: any;\n}\n\n/**\n * Time 时间选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/time\n */\nexport interface TimeControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为日期时间选择控件\n */\n type: 'input-time';\n\n /**\n * 日期存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 日期展示格式\n * @default YYYY-MM-DD HH:mm\n */\n inputFormat?: string;\n\n /**\n * 时间的格式。\n *\n * @default HH:mm\n */\n timeFormat?: string;\n\n /**\n * 不记得了\n */\n timeConstraints?: any;\n}\n\n/**\n * Month 月份选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/Month\n */\nexport interface MonthControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为月份时间选择控件\n */\n type: 'input-month';\n\n /**\n * 月份存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 月份展示格式\n * @default YYYY-MM\n */\n inputFormat?: string;\n}\n\n/**\n * 季度选择控件\n */\nexport interface QuarterControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为月份时间选择控件\n */\n type: 'input-quarter';\n\n /**\n * 月份存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 月份展示格式\n * @default YYYY-MM\n */\n inputFormat?: string;\n}\n\n/**\n * 年份选择控件\n */\nexport interface YearControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为月份时间选择控件\n */\n type: 'input-year';\n\n /**\n * 月份存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 月份展示格式\n * @default YYYY-MM\n */\n inputFormat?: string;\n}\n\nexport interface DateProps extends FormControlProps {\n inputFormat?: string;\n timeFormat?: string;\n format?: string;\n valueFormat?: string;\n timeConstraints?: {\n hours?: {\n min: number;\n max: number;\n step: number;\n };\n minutes?: {\n min: number;\n max: number;\n step: number;\n };\n seconds: {\n min: number;\n max: number;\n step: number;\n };\n };\n closeOnSelect?: boolean;\n disabled: boolean;\n iconClassName?: string;\n utc?: boolean; // 设定是否存储 utc 时间。\n minDate?: string;\n maxDate?: string;\n}\n\ninterface DateControlState {\n minDate?: moment.Moment;\n maxDate?: moment.Moment;\n schedules?: Array<{\n startTime: Date;\n endTime: Date;\n content: any;\n className?: string;\n }>;\n}\n\nexport default class DateControl extends React.PureComponent<\n DateProps,\n DateControlState\n> {\n static defaultProps = {\n format: 'X',\n viewMode: 'days',\n inputFormat: 'YYYY-MM-DD',\n timeConstraints: {\n minutes: {\n step: 1\n }\n },\n clearable: true\n };\n\n dateRef?: BaseDatePicker;\n\n constructor(props: DateProps) {\n super(props);\n\n const {\n minDate,\n maxDate,\n value,\n defaultValue,\n setPrinstineValue,\n data,\n format,\n utc\n } = props;\n\n if (defaultValue && value === defaultValue) {\n const date = filterDate(defaultValue, data, format);\n setPrinstineValue((utc ? moment.utc(date) : date).format(format));\n }\n\n let schedulesData = props.schedules;\n if (typeof schedulesData === 'string') {\n const resolved = resolveVariableAndFilter(schedulesData, data, '| raw');\n if (Array.isArray(resolved)) {\n schedulesData = resolved;\n }\n }\n\n this.state = {\n minDate: minDate ? filterDate(minDate, data, format) : undefined,\n maxDate: maxDate ? filterDate(maxDate, data, format) : undefined,\n schedules: schedulesData\n };\n }\n\n componentDidUpdate(prevProps: DateProps) {\n const props = this.props;\n\n if (prevProps.defaultValue !== props.defaultValue) {\n const date = filterDate(props.defaultValue, props.data, props.format);\n props.setPrinstineValue(\n (props.utc ? moment.utc(date) : date).format(props.format)\n );\n }\n\n if (\n prevProps.minDate !== props.minDate ||\n prevProps.maxDate !== props.maxDate ||\n prevProps.data !== props.data\n ) {\n this.setState({\n minDate: props.minDate\n ? filterDate(props.minDate, props.data, this.props.format)\n : undefined,\n maxDate: props.maxDate\n ? filterDate(props.maxDate, props.data, this.props.format)\n : undefined\n });\n }\n\n if (\n anyChanged(['schedules', 'data'], prevProps, props) &&\n typeof props.schedules === 'string' &&\n isPureVariable(props.schedules)\n ) {\n const schedulesData = resolveVariableAndFilter(\n props.schedules,\n props.data,\n '| raw'\n );\n const preSchedulesData = resolveVariableAndFilter(\n prevProps.schedules,\n prevProps.data,\n '| raw'\n );\n if (Array.isArray(schedulesData) && preSchedulesData !== schedulesData) {\n this.setState({\n schedules: schedulesData\n });\n }\n }\n }\n\n // 日程点击事件\n onScheduleClick(scheduleData: any) {\n const {scheduleAction, onAction, data, translate: __} = this.props;\n const defaultscheduleAction = {\n actionType: 'dialog',\n dialog: {\n title: __('Schedule'),\n actions: [],\n body: {\n type: 'table',\n columns: [\n {\n name: 'time',\n label: __('Time')\n },\n {\n name: 'content',\n label: __('Content')\n }\n ],\n data: '${scheduleData}'\n }\n }\n };\n\n onAction &&\n onAction(\n null,\n scheduleAction || defaultscheduleAction,\n createObject(data, scheduleData)\n );\n }\n\n @autobind\n getRef(ref: BaseDatePicker) {\n this.dateRef = ref;\n }\n\n // 派发有event的事件\n @autobind\n dispatchEvent(e: React.SyntheticEvent<HTMLElement>) {\n const {dispatchEvent, data} = this.props;\n dispatchEvent(e, data);\n }\n\n // 动作\n doAction(action: Action, data: object, throwErrors: boolean) {\n const {resetValue} = this.props;\n\n if (action.actionType === 'clear') {\n this.dateRef?.clear();\n return;\n }\n\n if (action.actionType === 'reset' && resetValue) {\n this.dateRef?.reset(resetValue);\n }\n }\n\n // 值的变化\n @autobind\n async handleChange(nextValue: any) {\n const {dispatchEvent, data} = this.props;\n const dispatcher = dispatchEvent('change', createObject(data, {value: nextValue}));\n if (dispatcher?.prevented) {\n return;\n }\n this.props.onChange(nextValue);\n }\n\n render() {\n let {\n className,\n defaultValue,\n defaultData,\n classnames: cx,\n minDate,\n maxDate,\n type,\n format,\n timeFormat,\n valueFormat,\n env,\n largeMode,\n render,\n useMobileUI,\n ...rest\n } = this.props;\n const mobileUI = useMobileUI && isMobile();\n\n if (type === 'time' && timeFormat) {\n format = timeFormat;\n }\n\n return (\n <div\n className={cx(\n `DateControl`,\n {\n 'is-date': /date$/.test(type),\n 'is-datetime': /datetime$/.test(type)\n },\n className\n )}\n >\n <DatePicker\n {...rest}\n useMobileUI={useMobileUI}\n popOverContainer={\n mobileUI && env && env.getModalContainer\n ? env.getModalContainer\n : mobileUI\n ? undefined\n : rest.popOverContainer\n }\n timeFormat={timeFormat}\n format={valueFormat || format}\n {...this.state}\n classnames={cx}\n onRef={this.getRef}\n schedules={this.state.schedules}\n largeMode={largeMode}\n onScheduleClick={this.onScheduleClick.bind(this)}\n onChange={this.handleChange}\n onFocus={this.dispatchEvent}\n onBlur={this.dispatchEvent}\n />\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-date',\n weight: -150\n})\nexport class DateControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Date.placeholder',\n dateFormat: 'YYYY-MM-DD',\n timeFormat: '',\n strictMode: false\n };\n}\n\n@FormItem({\n type: 'input-datetime'\n})\nexport class DatetimeControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'DateTime.placeholder',\n inputFormat: 'YYYY-MM-DD HH:mm:ss',\n dateFormat: 'LL',\n timeFormat: 'HH:mm:ss',\n closeOnSelect: false,\n strictMode: false\n };\n}\n\n@FormItem({\n type: 'input-time'\n})\nexport class TimeControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Time.placeholder',\n inputFormat: 'HH:mm',\n dateFormat: '',\n timeFormat: 'HH:mm',\n viewMode: 'time',\n closeOnSelect: false\n };\n}\n\n@FormItem({\n type: 'input-month'\n})\nexport class MonthControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Month.placeholder',\n inputFormat: 'YYYY-MM',\n dateFormat: 'MM',\n timeFormat: '',\n viewMode: 'months',\n closeOnSelect: true\n };\n}\n\n@FormItem({\n type: 'input-quarter'\n})\nexport class QuarterControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Quarter.placeholder',\n inputFormat: 'YYYY [Q]Q',\n dateFormat: 'YYYY [Q]Q',\n timeFormat: '',\n viewMode: 'quarters',\n closeOnSelect: true\n };\n}\n\n@FormItem({\n type: 'input-year'\n})\nexport class YearControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Year.placeholder',\n inputFormat: 'YYYY',\n dateFormat: 'YYYY',\n timeFormat: '',\n viewMode: 'years',\n closeOnSelect: true\n };\n}\n"
11
+ "import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport {\n filterDate,\n isPureVariable,\n resolveVariableAndFilter\n} from '../../utils/tpl-builtin';\nimport moment from 'moment';\nimport 'moment/locale/zh-cn';\nimport DatePicker, {\n DatePicker as BaseDatePicker\n} from '../../components/DatePicker';\nimport {SchemaObject} from '../../Schema';\nimport {createObject, anyChanged, isMobile, autobind} from '../../utils/helper';\nimport {Action} from '../../types';\n\nexport interface InputDateBaseControlSchema extends FormBaseControl {\n /**\n * 指定为日期选择控件\n */\n type:\n | 'input-date'\n | 'input-datetime'\n | 'input-time'\n | 'input-month'\n | 'input-quarter'\n | 'input-year';\n\n /**\n * 是否显示清除按钮\n */\n clearable?: boolean;\n\n /**\n * 日期存储格式\n */\n format?: string;\n\n /**\n * 日期展示格式\n */\n inputFormat?: string;\n\n /**\n * 设定是否存储 utc 时间。\n */\n utc?: boolean;\n\n /**\n * 是否为内联模式?\n */\n emebed?: boolean;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n}\n\n/**\n * Date日期选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/date\n */\nexport interface DateControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为日期选择控件\n */\n type: 'input-date';\n\n /**\n * 日期存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 日期展示格式\n * @default YYYY-MM-DD\n */\n inputFormat?: string;\n\n /**\n * 点选日期后是否关闭弹窗\n */\n closeOnSelect?: boolean;\n\n /**\n * 限制最小日期\n */\n minDate?: string;\n\n /**\n * 限制最大日期\n */\n maxDate?: string;\n}\n\n/**\n * Datetime日期时间选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/datetime\n */\nexport interface DateTimeControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为日期时间选择控件\n */\n type: 'input-datetime';\n\n /**\n * 日期存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 日期展示格式\n * @default YYYY-MM-DD HH:mm\n */\n inputFormat?: string;\n\n /**\n * 时间的格式。\n *\n * @default HH:mm\n */\n timeFormat?: string;\n\n /**\n * 限制最小日期\n */\n minDate?: string;\n\n /**\n * 限制最大日期\n */\n maxDate?: string;\n\n /**\n * 时间输入范围限制\n */\n timeConstraints?: any;\n}\n\n/**\n * Time 时间选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/time\n */\nexport interface TimeControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为日期时间选择控件\n */\n type: 'input-time';\n\n /**\n * 日期存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 日期展示格式\n * @default YYYY-MM-DD HH:mm\n */\n inputFormat?: string;\n\n /**\n * 时间的格式。\n *\n * @default HH:mm\n */\n timeFormat?: string;\n\n /**\n * 时间输入范围限制\n */\n timeConstraints?: any;\n}\n\n/**\n * Month 月份选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/Month\n */\nexport interface MonthControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为月份时间选择控件\n */\n type: 'input-month';\n\n /**\n * 月份存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 月份展示格式\n * @default YYYY-MM\n */\n inputFormat?: string;\n}\n\n/**\n * 季度选择控件\n */\nexport interface QuarterControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为月份时间选择控件\n */\n type: 'input-quarter';\n\n /**\n * 月份存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 月份展示格式\n * @default YYYY-MM\n */\n inputFormat?: string;\n}\n\n/**\n * 年份选择控件\n */\nexport interface YearControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为月份时间选择控件\n */\n type: 'input-year';\n\n /**\n * 月份存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 月份展示格式\n * @default YYYY-MM\n */\n inputFormat?: string;\n}\n\nexport interface DateProps extends FormControlProps {\n inputFormat?: string;\n timeFormat?: string;\n format?: string;\n valueFormat?: string;\n timeConstraints?: {\n hours?: {\n min: number;\n max: number;\n step: number;\n };\n minutes?: {\n min: number;\n max: number;\n step: number;\n };\n seconds: {\n min: number;\n max: number;\n step: number;\n };\n };\n closeOnSelect?: boolean;\n disabled: boolean;\n iconClassName?: string;\n utc?: boolean; // 设定是否存储 utc 时间。\n minDate?: string;\n maxDate?: string;\n}\n\ninterface DateControlState {\n minDate?: moment.Moment;\n maxDate?: moment.Moment;\n schedules?: Array<{\n startTime: Date;\n endTime: Date;\n content: any;\n className?: string;\n }>;\n}\n\nexport default class DateControl extends React.PureComponent<\n DateProps,\n DateControlState\n> {\n static defaultProps = {\n format: 'X',\n viewMode: 'days',\n inputFormat: 'YYYY-MM-DD',\n timeConstraints: {\n minutes: {\n step: 1\n }\n },\n clearable: true\n };\n\n dateRef?: BaseDatePicker;\n\n constructor(props: DateProps) {\n super(props);\n\n const {\n minDate,\n maxDate,\n value,\n defaultValue,\n setPrinstineValue,\n data,\n format,\n utc\n } = props;\n\n if (defaultValue && value === defaultValue) {\n const date = filterDate(defaultValue, data, format);\n setPrinstineValue((utc ? moment.utc(date) : date).format(format));\n }\n\n let schedulesData = props.schedules;\n if (typeof schedulesData === 'string') {\n const resolved = resolveVariableAndFilter(schedulesData, data, '| raw');\n if (Array.isArray(resolved)) {\n schedulesData = resolved;\n }\n }\n\n this.state = {\n minDate: minDate ? filterDate(minDate, data, format) : undefined,\n maxDate: maxDate ? filterDate(maxDate, data, format) : undefined,\n schedules: schedulesData\n };\n }\n\n componentDidUpdate(prevProps: DateProps) {\n const props = this.props;\n\n if (prevProps.defaultValue !== props.defaultValue) {\n const date = filterDate(props.defaultValue, props.data, props.format);\n props.setPrinstineValue(\n (props.utc ? moment.utc(date) : date).format(props.format)\n );\n }\n\n if (\n prevProps.minDate !== props.minDate ||\n prevProps.maxDate !== props.maxDate ||\n prevProps.data !== props.data\n ) {\n this.setState({\n minDate: props.minDate\n ? filterDate(props.minDate, props.data, this.props.format)\n : undefined,\n maxDate: props.maxDate\n ? filterDate(props.maxDate, props.data, this.props.format)\n : undefined\n });\n }\n\n if (\n anyChanged(['schedules', 'data'], prevProps, props) &&\n typeof props.schedules === 'string' &&\n isPureVariable(props.schedules)\n ) {\n const schedulesData = resolveVariableAndFilter(\n props.schedules,\n props.data,\n '| raw'\n );\n const preSchedulesData = resolveVariableAndFilter(\n prevProps.schedules,\n prevProps.data,\n '| raw'\n );\n if (Array.isArray(schedulesData) && preSchedulesData !== schedulesData) {\n this.setState({\n schedules: schedulesData\n });\n }\n }\n }\n\n // 日程点击事件\n onScheduleClick(scheduleData: any) {\n const {scheduleAction, onAction, data, translate: __} = this.props;\n const defaultscheduleAction = {\n actionType: 'dialog',\n dialog: {\n title: __('Schedule'),\n actions: [],\n body: {\n type: 'table',\n columns: [\n {\n name: 'time',\n label: __('Time')\n },\n {\n name: 'content',\n label: __('Content')\n }\n ],\n data: '${scheduleData}'\n }\n }\n };\n\n onAction &&\n onAction(\n null,\n scheduleAction || defaultscheduleAction,\n createObject(data, scheduleData)\n );\n }\n\n @autobind\n getRef(ref: BaseDatePicker) {\n this.dateRef = ref;\n }\n\n // 派发有event的事件\n @autobind\n dispatchEvent(e: React.SyntheticEvent<HTMLElement>) {\n const {dispatchEvent, data} = this.props;\n dispatchEvent(e, data);\n }\n\n // 动作\n doAction(action: Action, data: object, throwErrors: boolean) {\n const {resetValue} = this.props;\n\n if (action.actionType === 'clear') {\n this.dateRef?.clear();\n return;\n }\n\n if (action.actionType === 'reset' && resetValue) {\n this.dateRef?.reset(resetValue);\n }\n }\n\n // 值的变化\n @autobind\n async handleChange(nextValue: any) {\n const {dispatchEvent, data} = this.props;\n const dispatcher = dispatchEvent(\n 'change',\n createObject(data, {value: nextValue})\n );\n if (dispatcher?.prevented) {\n return;\n }\n this.props.onChange(nextValue);\n }\n\n render() {\n let {\n className,\n defaultValue,\n defaultData,\n classnames: cx,\n minDate,\n maxDate,\n type,\n format,\n timeFormat,\n valueFormat,\n env,\n largeMode,\n render,\n useMobileUI,\n ...rest\n } = this.props;\n const mobileUI = useMobileUI && isMobile();\n\n if (type === 'time' && timeFormat) {\n format = timeFormat;\n }\n\n return (\n <div\n className={cx(\n `DateControl`,\n {\n 'is-date': /date$/.test(type),\n 'is-datetime': /datetime$/.test(type)\n },\n className\n )}\n >\n <DatePicker\n {...rest}\n useMobileUI={useMobileUI}\n popOverContainer={\n mobileUI && env && env.getModalContainer\n ? env.getModalContainer\n : mobileUI\n ? undefined\n : rest.popOverContainer\n }\n timeFormat={timeFormat}\n format={valueFormat || format}\n {...this.state}\n classnames={cx}\n onRef={this.getRef}\n schedules={this.state.schedules}\n largeMode={largeMode}\n onScheduleClick={this.onScheduleClick.bind(this)}\n onChange={this.handleChange}\n onFocus={this.dispatchEvent}\n onBlur={this.dispatchEvent}\n />\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-date',\n weight: -150\n})\nexport class DateControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Date.placeholder',\n dateFormat: 'YYYY-MM-DD',\n timeFormat: '',\n strictMode: false\n };\n}\n\n@FormItem({\n type: 'input-datetime'\n})\nexport class DatetimeControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'DateTime.placeholder',\n inputFormat: 'YYYY-MM-DD HH:mm:ss',\n dateFormat: 'LL',\n timeFormat: 'HH:mm:ss',\n closeOnSelect: false,\n strictMode: false\n };\n}\n\n@FormItem({\n type: 'input-time'\n})\nexport class TimeControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Time.placeholder',\n inputFormat: 'HH:mm',\n dateFormat: '',\n timeFormat: 'HH:mm',\n viewMode: 'time',\n closeOnSelect: false\n };\n}\n\n@FormItem({\n type: 'input-month'\n})\nexport class MonthControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Month.placeholder',\n inputFormat: 'YYYY-MM',\n dateFormat: 'MM',\n timeFormat: '',\n viewMode: 'months',\n closeOnSelect: true\n };\n}\n\n@FormItem({\n type: 'input-quarter'\n})\nexport class QuarterControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Quarter.placeholder',\n inputFormat: 'YYYY [Q]Q',\n dateFormat: 'YYYY [Q]Q',\n timeFormat: '',\n viewMode: 'quarters',\n closeOnSelect: true\n };\n}\n\n@FormItem({\n type: 'input-year'\n})\nexport class YearControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Year.placeholder',\n inputFormat: 'YYYY',\n dateFormat: 'YYYY',\n timeFormat: '',\n viewMode: 'years',\n closeOnSelect: true\n };\n}\n"
12
12
  ]
13
13
  }
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import { FormControlProps, FormBaseControl } from './Item';
3
+ /**
4
+ * JSON Schema
5
+ * 文档:https://baidu.gitee.io/amis/docs/components/form/json-schema
6
+ */
7
+ export interface JSONSchemaControlSchema extends FormBaseControl {
8
+ /**
9
+ * 指定为 JSON Schema
10
+ */
11
+ type: 'json-schema';
12
+ /**
13
+ * json-schema 详情,支持关联上下文数据
14
+ */
15
+ schema?: any;
16
+ }
17
+ export interface JSONSchemaProps extends FormControlProps, Omit<JSONSchemaControlSchema, 'type' | 'className' | 'descriptionClassName' | 'inputClassName'> {
18
+ }
19
+ export default class JSONSchemaControl extends React.PureComponent<JSONSchemaProps> {
20
+ render(): JSX.Element;
21
+ }
22
+ export declare class JSONSchemaRenderer extends JSONSchemaControl {
23
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JSONSchemaRenderer = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
+ var Item_1 = require("./Item");
7
+ var index_1 = (0, tslib_1.__importDefault)(require("../../components/json-schema/index"));
8
+ var WithRemoteConfig_1 = require("../../components/WithRemoteConfig");
9
+ var EnhancedInputJSONSchema = (0, WithRemoteConfig_1.withRemoteConfig)({
10
+ sourceField: 'schema',
11
+ injectedPropsFilter: function (props) {
12
+ return {
13
+ schema: props.config,
14
+ loading: props.loading
15
+ };
16
+ }
17
+ })(index_1.default);
18
+ var JSONSchemaControl = /** @class */ (function (_super) {
19
+ (0, tslib_1.__extends)(JSONSchemaControl, _super);
20
+ function JSONSchemaControl() {
21
+ return _super !== null && _super.apply(this, arguments) || this;
22
+ }
23
+ JSONSchemaControl.prototype.render = function () {
24
+ var rest = (0, tslib_1.__rest)(this.props, []);
25
+ return react_1.default.createElement(EnhancedInputJSONSchema, (0, tslib_1.__assign)({}, rest));
26
+ };
27
+ return JSONSchemaControl;
28
+ }(react_1.default.PureComponent));
29
+ exports.default = JSONSchemaControl;
30
+ var JSONSchemaRenderer = /** @class */ (function (_super) {
31
+ (0, tslib_1.__extends)(JSONSchemaRenderer, _super);
32
+ function JSONSchemaRenderer() {
33
+ return _super !== null && _super.apply(this, arguments) || this;
34
+ }
35
+ JSONSchemaRenderer = (0, tslib_1.__decorate)([
36
+ (0, Item_1.FormItem)({
37
+ type: 'json-schema',
38
+ strictMode: false
39
+ })
40
+ ], JSONSchemaRenderer);
41
+ return JSONSchemaRenderer;
42
+ }(JSONSchemaControl));
43
+ exports.JSONSchemaRenderer = JSONSchemaRenderer;
44
+ //# sourceMappingURL=./renderers/Form/JSONSchema.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "JSONSchema.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/renderers/Form/JSONSchema.tsx"
7
+ ],
8
+ "names": [],
9
+ "mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AAEnE,0FAAiE;AAMjE,sEAAmE;AAyBnE,IAAM,uBAAuB,GAAG,IAAA,mCAAgB,EAAC;IAC/C,WAAW,EAAE,QAAQ;IACrB,mBAAmB,EAAE,UAAA,KAAK;QACxB,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;IACJ,CAAC;CACF,CAAC,CAAC,eAAsB,CAAC,CAAC;AAC3B;IAA+C,kDAAoC;IAAnF;;IAMA,CAAC;IALC,kCAAM,GAAN;QACE,IAAU,IAAI,uBAAI,IAAI,CAAC,KAAK,EAAtB,EAAS,CAAa,CAAC;QAE7B,OAAO,8BAAC,uBAAuB,4BAAK,IAAI,EAAI,CAAC;IAC/C,CAAC;IACH,wBAAC;AAAD,CAAC,AAND,CAA+C,eAAK,CAAC,aAAa,GAMjE;;AAMD;IAAwC,mDAAiB;IAAzD;;IAA2D,CAAC;IAA/C,kBAAkB;QAJ9B,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,KAAK;SAClB,CAAC;OACW,kBAAkB,CAA6B;IAAD,yBAAC;CAAA,AAA5D,CAAwC,iBAAiB,GAAG;AAA/C,gDAAkB",
10
+ "sourcesContent": [
11
+ "import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport {autobind, isObjectShallowModified} from '../../utils/helper';\nimport InputJSONSchema from '../../components/json-schema/index';\nimport {\n isPureVariable,\n resolveVariableAndFilter\n} from '../../utils/tpl-builtin';\nimport {isApiOutdated, isEffectiveApi} from '../../utils/api';\nimport {withRemoteConfig} from '../../components/WithRemoteConfig';\n\n/**\n * JSON Schema\n * 文档:https://baidu.gitee.io/amis/docs/components/form/json-schema\n */\nexport interface JSONSchemaControlSchema extends FormBaseControl {\n /**\n * 指定为 JSON Schema\n */\n type: 'json-schema';\n\n /**\n * json-schema 详情,支持关联上下文数据\n */\n schema?: any;\n}\n\nexport interface JSONSchemaProps\n extends FormControlProps,\n Omit<\n JSONSchemaControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {}\n\nconst EnhancedInputJSONSchema = withRemoteConfig({\n sourceField: 'schema',\n injectedPropsFilter: props => {\n return {\n schema: props.config,\n loading: props.loading\n };\n }\n})(InputJSONSchema as any);\nexport default class JSONSchemaControl extends React.PureComponent<JSONSchemaProps> {\n render() {\n const {...rest} = this.props;\n\n return <EnhancedInputJSONSchema {...rest} />;\n }\n}\n\n@FormItem({\n type: 'json-schema',\n strictMode: false\n})\nexport class JSONSchemaRenderer extends JSONSchemaControl {}\n"
12
+ ]
13
+ }
@@ -15,7 +15,7 @@ export interface JSONSchemaEditorControlSchema extends FormBaseControl {
15
15
  definitions?: {
16
16
  [propName: string]: {
17
17
  title: string;
18
- type: 'string' | 'number' | 'interger' | 'object' | 'array' | 'boolean' | 'null';
18
+ type: 'string' | 'number' | 'integer' | 'object' | 'array' | 'boolean' | 'null';
19
19
  [propName: string]: any;
20
20
  };
21
21
  };
@@ -56,8 +56,7 @@ export default class JSONSchemaEditorControl extends React.PureComponent<JSONSch
56
56
  static defaultProps: {
57
57
  enableAdvancedSetting: boolean;
58
58
  };
59
- settings: any;
60
- renderModalProps({ value, onChange }: any): JSX.Element;
59
+ renderModalProps(value: any, onChange: (value: any) => void): JSX.Element;
61
60
  render(): JSX.Element;
62
61
  }
63
62
  export declare class JSONSchemaEditorRenderer extends JSONSchemaEditorControl {
@@ -9,39 +9,24 @@ var helper_1 = require("../../utils/helper");
9
9
  var JSONSchemaEditorControl = /** @class */ (function (_super) {
10
10
  (0, tslib_1.__extends)(JSONSchemaEditorControl, _super);
11
11
  function JSONSchemaEditorControl() {
12
- var _this = _super !== null && _super.apply(this, arguments) || this;
13
- // todo 完善这块配置
14
- _this.settings = {
15
- common: [
16
- {
17
- type: 'input-text',
18
- name: 'title',
19
- label: _this.props.translate('JSONSchema.title')
20
- },
21
- {
22
- type: 'textarea',
23
- name: 'description',
24
- label: _this.props.translate('JSONSchema.description')
25
- }
26
- ]
27
- };
28
- return _this;
12
+ return _super !== null && _super.apply(this, arguments) || this;
29
13
  }
30
- JSONSchemaEditorControl.prototype.renderModalProps = function (_a) {
31
- var value = _a.value, onChange = _a.onChange;
32
- var _b = this.props, render = _b.render, advancedSettings = _b.advancedSettings;
14
+ JSONSchemaEditorControl.prototype.renderModalProps = function (value, onChange) {
15
+ var _a = this.props, render = _a.render, advancedSettings = _a.advancedSettings;
16
+ var fields = (advancedSettings === null || advancedSettings === void 0 ? void 0 : advancedSettings[value === null || value === void 0 ? void 0 : value.type]) || [];
33
17
  return render("modal", {
34
18
  type: 'form',
35
19
  wrapWithPanel: false,
36
- body: (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], (this.settings[value === null || value === void 0 ? void 0 : value.type] || this.settings.common), true), ((advancedSettings === null || advancedSettings === void 0 ? void 0 : advancedSettings[value === null || value === void 0 ? void 0 : value.type]) || []), true)
20
+ body: fields,
21
+ submitOnChange: true
37
22
  }, {
38
23
  data: value,
39
- onChange: function (value) { return onChange(value); }
24
+ onSubmit: function (value) { return onChange(value); }
40
25
  });
41
26
  };
42
27
  JSONSchemaEditorControl.prototype.render = function () {
43
28
  var _a = this.props, enableAdvancedSetting = _a.enableAdvancedSetting, rest = (0, tslib_1.__rest)(_a, ["enableAdvancedSetting"]);
44
- return (react_1.default.createElement(index_1.default, (0, tslib_1.__assign)({}, rest, { renderModalProps: enableAdvancedSetting ? this.renderModalProps : undefined })));
29
+ return (react_1.default.createElement(index_1.default, (0, tslib_1.__assign)({}, rest, { enableAdvancedSetting: enableAdvancedSetting, renderModalProps: this.renderModalProps })));
45
30
  };
46
31
  JSONSchemaEditorControl.defaultProps = {
47
32
  enableAdvancedSetting: false
@@ -49,7 +34,7 @@ var JSONSchemaEditorControl = /** @class */ (function (_super) {
49
34
  (0, tslib_1.__decorate)([
50
35
  helper_1.autobind,
51
36
  (0, tslib_1.__metadata)("design:type", Function),
52
- (0, tslib_1.__metadata)("design:paramtypes", [Object]),
37
+ (0, tslib_1.__metadata)("design:paramtypes", [Object, Function]),
53
38
  (0, tslib_1.__metadata)("design:returntype", void 0)
54
39
  ], JSONSchemaEditorControl.prototype, "renderModalProps", null);
55
40
  return JSONSchemaEditorControl;
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/JSONSchemaEditor.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AACnE,4FAAoE;AACpE,6CAA4C;AAyE5C;IAAqD,wDAA0C;IAA/F;QAAA,qEAsDC;QAjDC,cAAc;QACd,cAAQ,GAAQ;YACd,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC;iBAChD;gBAED;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,wBAAwB,CAAC;iBACtD;aACF;SACF,CAAC;;IAkCJ,CAAC;IA/BC,kDAAgB,GAAhB,UAAiB,EAAsB;YAArB,KAAK,WAAA,EAAE,QAAQ,cAAA;QACzB,IAAA,KAA6B,IAAI,CAAC,KAAK,EAAtC,MAAM,YAAA,EAAE,gBAAgB,sBAAc,CAAC;QAC9C,OAAO,MAAM,CACX,OAAO,EACP;YACE,IAAI,EAAE,MAAM;YACZ,aAAa,EAAE,KAAK;YACpB,IAAI,4DACC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SACpD,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,KAAI,EAAE,CAAC,OAC3C;SACF,EACD;YACE,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,UAAC,KAAU,IAAK,OAAA,QAAQ,CAAC,KAAK,CAAC,EAAf,CAAe;SAC1C,CACF,CAAC;IACJ,CAAC;IAED,wCAAM,GAAN;QACE,IAAM,KAAmC,IAAI,CAAC,KAAK,EAA5C,qBAAqB,2BAAA,EAAK,IAAI,2BAA/B,yBAAgC,CAAa,CAAC;QAEpD,OAAO,CACL,8BAAC,eAAgB,4BACX,IAAI,IACR,gBAAgB,EACd,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,IAE3D,CACH,CAAC;IACJ,CAAC;IApDM,oCAAY,GAAG;QACpB,qBAAqB,EAAE,KAAK;KAC7B,CAAC;IAoBF;QADC,iBAAQ;;;;mEAkBR;IAcH,8BAAC;CAAA,AAtDD,CAAqD,eAAK,CAAC,aAAa,GAsDvE;kBAtDoB,uBAAuB;AA2D5C;IAA8C,yDAAuB;IAArE;;IAAuE,CAAC;IAA3D,wBAAwB;QAHpC,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,oBAAoB;SAC3B,CAAC;OACW,wBAAwB,CAAmC;IAAD,+BAAC;CAAA,AAAxE,CAA8C,uBAAuB,GAAG;AAA3D,4DAAwB",
9
+ "mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AACnE,4FAAoE;AACpE,6CAA4C;AAyE5C;IAAqD,wDAA0C;IAA/F;;IAmCA,CAAC;IA7BC,kDAAgB,GAAhB,UAAiB,KAAU,EAAE,QAA8B;QACnD,IAAA,KAA6B,IAAI,CAAC,KAAK,EAAtC,MAAM,YAAA,EAAE,gBAAgB,sBAAc,CAAC;QAC9C,IAAM,MAAM,GAAG,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,KAAI,EAAE,CAAC;QACrD,OAAO,MAAM,CACX,OAAO,EACP;YACE,IAAI,EAAE,MAAM;YACZ,aAAa,EAAE,KAAK;YACpB,IAAI,EAAE,MAAM;YACZ,cAAc,EAAE,IAAI;SACrB,EACD;YACE,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,UAAC,KAAU,IAAK,OAAA,QAAQ,CAAC,KAAK,CAAC,EAAf,CAAe;SAC1C,CACF,CAAC;IACJ,CAAC;IAED,wCAAM,GAAN;QACE,IAAM,KAAmC,IAAI,CAAC,KAAK,EAA5C,qBAAqB,2BAAA,EAAK,IAAI,2BAA/B,yBAAgC,CAAa,CAAC;QAEpD,OAAO,CACL,8BAAC,eAAgB,4BACX,IAAI,IACR,qBAAqB,EAAE,qBAAqB,EAC5C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IACvC,CACH,CAAC;IACJ,CAAC;IAjCM,oCAAY,GAAG;QACpB,qBAAqB,EAAE,KAAK;KAC7B,CAAC;IAGF;QADC,iBAAQ;;;;mEAiBR;IAaH,8BAAC;CAAA,AAnCD,CAAqD,eAAK,CAAC,aAAa,GAmCvE;kBAnCoB,uBAAuB;AAwC5C;IAA8C,yDAAuB;IAArE;;IAAuE,CAAC;IAA3D,wBAAwB;QAHpC,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,oBAAoB;SAC3B,CAAC;OACW,wBAAwB,CAAmC;IAAD,+BAAC;CAAA,AAAxE,CAA8C,uBAAuB,GAAG;AAA3D,4DAAwB",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport JSONSchemaEditor from '../../components/schema-editor/index';\nimport {autobind} from '../../utils/helper';\n\n/**\n * JSON Schema Editor\n * 文档:https://baidu.gitee.io/amis/docs/components/form/json-schema-editor\n */\nexport interface JSONSchemaEditorControlSchema extends FormBaseControl {\n /**\n * 指定为 JSON Schema Editor\n */\n type: 'json-schema-editor';\n\n /**\n * 可以理解为类型模板,方便快速定义复杂类型\n */\n definitions?: {\n [propName: string]: {\n title: string;\n type:\n | 'string'\n | 'number'\n | 'interger'\n | 'object'\n | 'array'\n | 'boolean'\n | 'null';\n [propName: string]: any;\n };\n };\n\n /**\n * 顶层是否允许修改类型\n */\n rootTypeMutable?: boolean;\n\n /**\n * 顶层类型信息是否隐藏\n */\n showRootInfo?: boolean;\n\n /**\n * 禁用类型,默认禁用了 null 类型\n */\n disabledTypes?: Array<string>;\n\n /**\n * 开启详情配置\n */\n enableAdvancedSetting?: boolean;\n\n /**\n * 自定义详情配置面板如:\n *\n * {\n * boolean: [\n * {type: \"input-text\", name: \"aa\", label: \"AA\" }\n * ]\n * }\n *\n * 当配置布尔字段详情时,就会出现以上配置\n */\n advancedSettings?: {\n [propName: string]: any;\n };\n}\n\nexport interface JSONSchemaEditorProps\n extends FormControlProps,\n Omit<\n JSONSchemaEditorControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {}\n\nexport default class JSONSchemaEditorControl extends React.PureComponent<JSONSchemaEditorProps> {\n static defaultProps = {\n enableAdvancedSetting: false\n };\n\n // todo 完善这块配置\n settings: any = {\n common: [\n {\n type: 'input-text',\n name: 'title',\n label: this.props.translate('JSONSchema.title')\n },\n\n {\n type: 'textarea',\n name: 'description',\n label: this.props.translate('JSONSchema.description')\n }\n ]\n };\n\n @autobind\n renderModalProps({value, onChange}: any) {\n const {render, advancedSettings} = this.props;\n return render(\n `modal`,\n {\n type: 'form',\n wrapWithPanel: false,\n body: [\n ...(this.settings[value?.type] || this.settings.common),\n ...(advancedSettings?.[value?.type] || [])\n ]\n },\n {\n data: value,\n onChange: (value: any) => onChange(value)\n }\n );\n }\n\n render() {\n const {enableAdvancedSetting, ...rest} = this.props;\n\n return (\n <JSONSchemaEditor\n {...rest}\n renderModalProps={\n enableAdvancedSetting ? this.renderModalProps : undefined\n }\n />\n );\n }\n}\n\n@FormItem({\n type: 'json-schema-editor'\n})\nexport class JSONSchemaEditorRenderer extends JSONSchemaEditorControl {}\n"
11
+ "import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport JSONSchemaEditor from '../../components/schema-editor/index';\nimport {autobind} from '../../utils/helper';\n\n/**\n * JSON Schema Editor\n * 文档:https://baidu.gitee.io/amis/docs/components/form/json-schema-editor\n */\nexport interface JSONSchemaEditorControlSchema extends FormBaseControl {\n /**\n * 指定为 JSON Schema Editor\n */\n type: 'json-schema-editor';\n\n /**\n * 可以理解为类型模板,方便快速定义复杂类型\n */\n definitions?: {\n [propName: string]: {\n title: string;\n type:\n | 'string'\n | 'number'\n | 'integer'\n | 'object'\n | 'array'\n | 'boolean'\n | 'null';\n [propName: string]: any;\n };\n };\n\n /**\n * 顶层是否允许修改类型\n */\n rootTypeMutable?: boolean;\n\n /**\n * 顶层类型信息是否隐藏\n */\n showRootInfo?: boolean;\n\n /**\n * 禁用类型,默认禁用了 null 类型\n */\n disabledTypes?: Array<string>;\n\n /**\n * 开启详情配置\n */\n enableAdvancedSetting?: boolean;\n\n /**\n * 自定义详情配置面板如:\n *\n * {\n * boolean: [\n * {type: \"input-text\", name: \"aa\", label: \"AA\" }\n * ]\n * }\n *\n * 当配置布尔字段详情时,就会出现以上配置\n */\n advancedSettings?: {\n [propName: string]: any;\n };\n}\n\nexport interface JSONSchemaEditorProps\n extends FormControlProps,\n Omit<\n JSONSchemaEditorControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {}\n\nexport default class JSONSchemaEditorControl extends React.PureComponent<JSONSchemaEditorProps> {\n static defaultProps = {\n enableAdvancedSetting: false\n };\n\n @autobind\n renderModalProps(value: any, onChange: (value: any) => void) {\n const {render, advancedSettings} = this.props;\n const fields = advancedSettings?.[value?.type] || [];\n return render(\n `modal`,\n {\n type: 'form',\n wrapWithPanel: false,\n body: fields,\n submitOnChange: true\n },\n {\n data: value,\n onSubmit: (value: any) => onChange(value)\n }\n );\n }\n\n render() {\n const {enableAdvancedSetting, ...rest} = this.props;\n\n return (\n <JSONSchemaEditor\n {...rest}\n enableAdvancedSetting={enableAdvancedSetting}\n renderModalProps={this.renderModalProps}\n />\n );\n }\n}\n\n@FormItem({\n type: 'json-schema-editor'\n})\nexport class JSONSchemaEditorRenderer extends JSONSchemaEditorControl {}\n"
12
12
  ]
13
13
  }
@@ -56,18 +56,11 @@ export interface TextAreaState {
56
56
  }
57
57
  export default class TextAreaControl extends React.Component<TextAreaProps, TextAreaState> {
58
58
  static defaultProps: Partial<TextAreaProps>;
59
- state: {
60
- focused: boolean;
61
- };
62
- input?: HTMLInputElement;
63
- inputRef: (ref: any) => HTMLInputElement;
59
+ inputRef: React.RefObject<any>;
64
60
  doAction(action: ListenerAction, args: any): void;
65
- valueToString(value: any): string;
66
61
  focus(): void;
67
- handleChange(e: React.ChangeEvent<HTMLTextAreaElement>): void;
68
62
  handleFocus(e: React.FocusEvent<HTMLTextAreaElement>): void;
69
63
  handleBlur(e: React.FocusEvent<HTMLTextAreaElement>): void;
70
- handleClear(): Promise<void>;
71
64
  render(): JSX.Element;
72
65
  }
73
66
  export declare class TextAreaControlRenderer extends TextAreaControl {
@@ -5,57 +5,29 @@ var tslib_1 = require("tslib");
5
5
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
6
  var Item_1 = require("./Item");
7
7
  var Textarea_1 = (0, tslib_1.__importDefault)(require("../../components/Textarea"));
8
- var icons_1 = require("../../components/icons");
9
- var react_dom_1 = require("react-dom");
10
8
  var helper_1 = require("../../utils/helper");
11
9
  var Decorators_1 = require("../../actions/Decorators");
12
10
  var TextAreaControl = /** @class */ (function (_super) {
13
11
  (0, tslib_1.__extends)(TextAreaControl, _super);
14
12
  function TextAreaControl() {
15
13
  var _this = _super !== null && _super.apply(this, arguments) || this;
16
- _this.state = {
17
- focused: false
18
- };
19
- _this.inputRef = function (ref) { return (_this.input = (0, react_dom_1.findDOMNode)(ref)); };
14
+ _this.inputRef = react_1.default.createRef();
20
15
  return _this;
21
16
  }
22
17
  TextAreaControl.prototype.doAction = function (action, args) {
23
18
  var actionType = action === null || action === void 0 ? void 0 : action.actionType;
19
+ var onChange = this.props.onChange;
24
20
  if (!!~['clear', 'reset'].indexOf(actionType)) {
25
- this.handleClear();
21
+ onChange === null || onChange === void 0 ? void 0 : onChange(this.props.resetValue);
22
+ this.focus();
26
23
  }
27
24
  else if (actionType === 'focus') {
28
25
  this.focus();
29
26
  }
30
27
  };
31
- TextAreaControl.prototype.valueToString = function (value) {
32
- return typeof value === 'undefined' || value === null
33
- ? ''
34
- : typeof value === 'string'
35
- ? value
36
- : JSON.stringify(value);
37
- };
38
28
  TextAreaControl.prototype.focus = function () {
39
- var _this = this;
40
- if (!this.input) {
41
- return;
42
- }
43
- this.setState({
44
- focused: true
45
- }, function () {
46
- if (!_this.input) {
47
- return;
48
- }
49
- _this.input.focus();
50
- // 光标放到最后
51
- var len = _this.input.value.length;
52
- len && _this.input.setSelectionRange(len, len);
53
- });
54
- };
55
- TextAreaControl.prototype.handleChange = function (e) {
56
- var onChange = this.props.onChange;
57
- var value = e.currentTarget.value;
58
- onChange === null || onChange === void 0 ? void 0 : onChange(value);
29
+ var _a;
30
+ (_a = this.inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
59
31
  };
60
32
  TextAreaControl.prototype.handleFocus = function (e) {
61
33
  var onFocus = this.props.onFocus;
@@ -76,35 +48,11 @@ var TextAreaControl = /** @class */ (function (_super) {
76
48
  onBlur && onBlur(e);
77
49
  });
78
50
  };
79
- TextAreaControl.prototype.handleClear = function () {
80
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
81
- var _a, onChange, resetValue;
82
- return (0, tslib_1.__generator)(this, function (_b) {
83
- _a = this.props, onChange = _a.onChange, resetValue = _a.resetValue;
84
- onChange === null || onChange === void 0 ? void 0 : onChange(resetValue);
85
- this.focus();
86
- return [2 /*return*/];
87
- });
88
- });
89
- };
90
51
  TextAreaControl.prototype.render = function () {
91
- var _a;
92
- var _b = this.props, className = _b.className, ns = _b.classPrefix, value = _b.value, type = _b.type, placeholder = _b.placeholder, disabled = _b.disabled, minRows = _b.minRows, maxRows = _b.maxRows, readOnly = _b.readOnly, name = _b.name, borderMode = _b.borderMode, cx = _b.classnames, maxLength = _b.maxLength, showCounter = _b.showCounter, clearable = _b.clearable;
93
- var counter = showCounter ? this.valueToString(value).length : 0;
94
- return (react_1.default.createElement("div", { className: cx("TextareaControl", (_a = {},
95
- _a["TextareaControl--border".concat((0, helper_1.ucFirst)(borderMode))] = borderMode,
96
- _a['is-focused'] = this.state.focused,
97
- _a['is-disabled'] = disabled,
98
- _a), className) },
99
- react_1.default.createElement(Textarea_1.default, { className: cx("TextareaControl-input"), autoComplete: "off", ref: this.inputRef, name: name, disabled: disabled, value: this.valueToString(value), placeholder: placeholder, autoCorrect: "off", spellCheck: "false", readOnly: readOnly, minRows: minRows || undefined, maxRows: maxRows || undefined, onChange: this.handleChange, onFocus: this.handleFocus, onBlur: this.handleBlur }),
100
- clearable && !disabled && value ? (react_1.default.createElement("a", { onClick: this.handleClear, className: cx('TextareaControl-clear') },
101
- react_1.default.createElement(icons_1.Icon, { icon: "input-clear", className: "icon" }))) : null,
102
- showCounter ? (react_1.default.createElement("span", { className: cx('TextareaControl-counter', {
103
- 'is-empty': counter === 0,
104
- 'is-clearable': clearable && !disabled && value
105
- }) }, "".concat(counter).concat(typeof maxLength === 'number' && maxLength ? "/".concat(maxLength) : ''))) : null));
52
+ var rest = (0, tslib_1.__rest)(this.props, []);
53
+ return (react_1.default.createElement(Textarea_1.default, (0, tslib_1.__assign)({}, rest, { onFocus: this.handleFocus, onBlur: this.handleBlur })));
106
54
  };
107
- var _a, _b, _c;
55
+ var _a, _b;
108
56
  TextAreaControl.defaultProps = {
109
57
  minRows: 3,
110
58
  maxRows: 20,
@@ -112,32 +60,20 @@ var TextAreaControl = /** @class */ (function (_super) {
112
60
  resetValue: '',
113
61
  clearable: false
114
62
  };
115
- (0, tslib_1.__decorate)([
116
- helper_1.autobind,
117
- (0, tslib_1.__metadata)("design:type", Function),
118
- (0, tslib_1.__metadata)("design:paramtypes", [typeof (_a = typeof react_1.default !== "undefined" && react_1.default.ChangeEvent) === "function" ? _a : Object]),
119
- (0, tslib_1.__metadata)("design:returntype", void 0)
120
- ], TextAreaControl.prototype, "handleChange", null);
121
63
  (0, tslib_1.__decorate)([
122
64
  helper_1.autobind,
123
65
  (0, Decorators_1.bindRendererEvent)('focus'),
124
66
  (0, tslib_1.__metadata)("design:type", Function),
125
- (0, tslib_1.__metadata)("design:paramtypes", [typeof (_b = typeof react_1.default !== "undefined" && react_1.default.FocusEvent) === "function" ? _b : Object]),
67
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_a = typeof react_1.default !== "undefined" && react_1.default.FocusEvent) === "function" ? _a : Object]),
126
68
  (0, tslib_1.__metadata)("design:returntype", void 0)
127
69
  ], TextAreaControl.prototype, "handleFocus", null);
128
70
  (0, tslib_1.__decorate)([
129
71
  helper_1.autobind,
130
72
  (0, Decorators_1.bindRendererEvent)('blur'),
131
73
  (0, tslib_1.__metadata)("design:type", Function),
132
- (0, tslib_1.__metadata)("design:paramtypes", [typeof (_c = typeof react_1.default !== "undefined" && react_1.default.FocusEvent) === "function" ? _c : Object]),
74
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_b = typeof react_1.default !== "undefined" && react_1.default.FocusEvent) === "function" ? _b : Object]),
133
75
  (0, tslib_1.__metadata)("design:returntype", void 0)
134
76
  ], TextAreaControl.prototype, "handleBlur", null);
135
- (0, tslib_1.__decorate)([
136
- helper_1.autobind,
137
- (0, tslib_1.__metadata)("design:type", Function),
138
- (0, tslib_1.__metadata)("design:paramtypes", []),
139
- (0, tslib_1.__metadata)("design:returntype", Promise)
140
- ], TextAreaControl.prototype, "handleClear", null);
141
77
  return TextAreaControl;
142
78
  }(react_1.default.Component));
143
79
  exports.default = TextAreaControl;
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/Textarea.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AAEnE,oFAAiD;AAGjD,6CAAqD;AAErD,uDAA2D;AAoE3D;IAA6C,gDAG5C;IAHD;QAAA,qEAuEC;QA3DC,cAAQ,GAAG,eAAK,CAAC,SAAS,EAAO,CAAC;;IA2DpC,CAAC;IAzDC,kCAAQ,GAAR,UAAS,MAAsB,EAAE,IAAS;QACxC,IAAM,UAAU,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAoB,CAAC;QAChD,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAErC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7C,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;aAAM,IAAI,UAAU,KAAK,OAAO,EAAE;YACjC,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;IACH,CAAC;IAED,+BAAK,GAAL;;QACE,MAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;IACjC,CAAC;IAID,qCAAW,GAAX,UAAY,CAAwC;QAC3C,IAAA,OAAO,GAAI,IAAI,CAAC,KAAK,QAAd,CAAe;QAE7B,IAAI,CAAC,QAAQ,CACX;YACE,OAAO,EAAE,IAAI;SACd,EACD;YACE,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,CACF,CAAC;IACJ,CAAC;IAID,oCAAU,GAAV,UAAW,CAAwC;QAC3C,IAAA,KAA0C,IAAI,CAAC,KAAK,EAAnD,MAAM,YAAA,EAAE,YAAY,kBAAA,EAAE,KAAK,WAAA,EAAE,QAAQ,cAAc,CAAC;QAE3D,IAAI,CAAC,QAAQ,CACX;YACE,OAAO,EAAE,KAAK;SACf,EACD;YACE,IAAI,YAAY,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBACtD,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;aACxB;YAED,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,gCAAM,GAAN;QACE,IAAU,IAAI,uBAAI,IAAI,CAAC,KAAK,EAAtB,EAAS,CAAa,CAAC;QAE7B,OAAO,CACL,8BAAC,kBAAQ,4BAAK,IAAI,IAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,IAAI,CAC3E,CAAC;IACJ,CAAC;;IAlEM,4BAAY,GAA2B;QAC5C,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,KAAK;KACjB,CAAC;IAsBF;QAFC,iBAAQ;QACR,IAAA,8BAAiB,EAAuC,OAAO,CAAC;;0EAClD,eAAK,oBAAL,eAAK,CAAC,UAAU;;sDAW9B;IAID;QAFC,iBAAQ;QACR,IAAA,8BAAiB,EAAuC,MAAM,CAAC;;0EAClD,eAAK,oBAAL,eAAK,CAAC,UAAU;;qDAe7B;IASH,sBAAC;CAAA,AAvED,CAA6C,eAAK,CAAC,SAAS,GAuE3D;kBAvEoB,eAAe;AA4EpC;IAA6C,wDAAe;IAA5D;;IAA8D,CAAC;IAAlD,uBAAuB;QAHnC,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,UAAU;SACjB,CAAC;OACW,uBAAuB,CAA2B;IAAD,8BAAC;CAAA,AAA/D,CAA6C,eAAe,GAAG;AAAlD,0DAAuB",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport Textarea from '../../components/Textarea';\nimport {Icon} from '../../components/icons';\nimport {findDOMNode} from 'react-dom';\nimport {autobind, ucFirst} from '../../utils/helper';\n\nimport {bindRendererEvent} from '../../actions/Decorators';\nimport type {ListenerAction} from '../../actions/Action';\n\n/**\n * TextArea 多行文本输入框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/textarea\n */\nexport interface TextareaControlSchema extends FormBaseControl {\n /**\n * 指定为多行文本输入框\n */\n type: 'textarea';\n\n /**\n * 最大行数\n */\n maxRows?: number;\n\n /**\n * 最小行数\n */\n minRows?: number;\n\n /**\n * 是否只读\n */\n readOnly?: boolean;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 限制文字个数\n */\n maxLength?: number;\n\n /**\n * 是否显示计数\n */\n showCounter?: boolean;\n\n /**\n * 输入内容是否可清除\n */\n clearable?: boolean;\n\n /**\n * 重置值\n */\n resetValue?: string;\n}\n\nexport type TextAreaRendererEvent = 'blur' | 'focus';\n\nexport interface TextAreaProps extends FormControlProps {\n placeholder?: string;\n minRows?: number;\n maxRows?: number;\n clearable?: boolean;\n resetValue?: string;\n}\n\nexport interface TextAreaState {\n focused: boolean;\n}\n\nexport default class TextAreaControl extends React.Component<\n TextAreaProps,\n TextAreaState\n> {\n static defaultProps: Partial<TextAreaProps> = {\n minRows: 3,\n maxRows: 20,\n trimContents: true,\n resetValue: '',\n clearable: false\n };\n\n state = {\n focused: false\n };\n\n input?: HTMLInputElement;\n inputRef = (ref: any) => (this.input = findDOMNode(ref) as HTMLInputElement);\n\n doAction(action: ListenerAction, args: any) {\n const actionType = action?.actionType as string;\n\n if (!!~['clear', 'reset'].indexOf(actionType)) {\n this.handleClear();\n } else if (actionType === 'focus') {\n this.focus();\n }\n }\n\n valueToString(value: any) {\n return typeof value === 'undefined' || value === null\n ? ''\n : typeof value === 'string'\n ? value\n : JSON.stringify(value);\n }\n\n focus() {\n if (!this.input) {\n return;\n }\n\n this.setState(\n {\n focused: true\n },\n () => {\n if (!this.input) {\n return;\n }\n\n this.input.focus();\n\n // 光标放到最后\n const len = this.input.value.length;\n len && this.input.setSelectionRange(len, len);\n }\n );\n }\n\n @autobind\n handleChange(e: React.ChangeEvent<HTMLTextAreaElement>) {\n const {onChange} = this.props;\n let value = e.currentTarget.value;\n\n onChange?.(value);\n }\n\n @autobind\n @bindRendererEvent<TextAreaProps, TextAreaRendererEvent>('focus')\n handleFocus(e: React.FocusEvent<HTMLTextAreaElement>) {\n const {onFocus} = this.props;\n\n this.setState(\n {\n focused: true\n },\n () => {\n onFocus && onFocus(e);\n }\n );\n }\n\n @autobind\n @bindRendererEvent<TextAreaProps, TextAreaRendererEvent>('blur')\n handleBlur(e: React.FocusEvent<HTMLTextAreaElement>) {\n const {onBlur, trimContents, value, onChange} = this.props;\n\n this.setState(\n {\n focused: false\n },\n () => {\n if (trimContents && value && typeof value === 'string') {\n onChange(value.trim());\n }\n\n onBlur && onBlur(e);\n }\n );\n }\n\n @autobind\n async handleClear() {\n const {onChange, resetValue} = this.props;\n\n onChange?.(resetValue);\n this.focus();\n }\n\n render() {\n const {\n className,\n classPrefix: ns,\n value,\n type,\n placeholder,\n disabled,\n minRows,\n maxRows,\n readOnly,\n name,\n borderMode,\n classnames: cx,\n maxLength,\n showCounter,\n clearable\n } = this.props;\n const counter = showCounter ? this.valueToString(value).length : 0;\n\n return (\n <div\n className={cx(\n `TextareaControl`,\n {\n [`TextareaControl--border${ucFirst(borderMode)}`]: borderMode,\n 'is-focused': this.state.focused,\n 'is-disabled': disabled\n },\n className\n )}\n >\n <Textarea\n className={cx(`TextareaControl-input`)}\n autoComplete=\"off\"\n ref={this.inputRef}\n name={name}\n disabled={disabled}\n value={this.valueToString(value)}\n placeholder={placeholder}\n autoCorrect=\"off\"\n spellCheck=\"false\"\n readOnly={readOnly}\n minRows={minRows || undefined}\n maxRows={maxRows || undefined}\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n\n {clearable && !disabled && value ? (\n <a onClick={this.handleClear} className={cx('TextareaControl-clear')}>\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n\n {showCounter ? (\n <span\n className={cx('TextareaControl-counter', {\n 'is-empty': counter === 0,\n 'is-clearable': clearable && !disabled && value\n })}\n >\n {`${counter}${\n typeof maxLength === 'number' && maxLength ? `/${maxLength}` : ''\n }`}\n </span>\n ) : null}\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'textarea'\n})\nexport class TextAreaControlRenderer extends TextAreaControl {}\n"
11
+ "import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport Textarea from '../../components/Textarea';\nimport {Icon} from '../../components/icons';\nimport {findDOMNode} from 'react-dom';\nimport {autobind, ucFirst} from '../../utils/helper';\n\nimport {bindRendererEvent} from '../../actions/Decorators';\nimport type {ListenerAction} from '../../actions/Action';\n\n/**\n * TextArea 多行文本输入框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/textarea\n */\nexport interface TextareaControlSchema extends FormBaseControl {\n /**\n * 指定为多行文本输入框\n */\n type: 'textarea';\n\n /**\n * 最大行数\n */\n maxRows?: number;\n\n /**\n * 最小行数\n */\n minRows?: number;\n\n /**\n * 是否只读\n */\n readOnly?: boolean;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 限制文字个数\n */\n maxLength?: number;\n\n /**\n * 是否显示计数\n */\n showCounter?: boolean;\n\n /**\n * 输入内容是否可清除\n */\n clearable?: boolean;\n\n /**\n * 重置值\n */\n resetValue?: string;\n}\n\nexport type TextAreaRendererEvent = 'blur' | 'focus';\n\nexport interface TextAreaProps extends FormControlProps {\n placeholder?: string;\n minRows?: number;\n maxRows?: number;\n clearable?: boolean;\n resetValue?: string;\n}\n\nexport interface TextAreaState {\n focused: boolean;\n}\n\nexport default class TextAreaControl extends React.Component<\n TextAreaProps,\n TextAreaState\n> {\n static defaultProps: Partial<TextAreaProps> = {\n minRows: 3,\n maxRows: 20,\n trimContents: true,\n resetValue: '',\n clearable: false\n };\n\n inputRef = React.createRef<any>();\n\n doAction(action: ListenerAction, args: any) {\n const actionType = action?.actionType as string;\n const onChange = this.props.onChange;\n\n if (!!~['clear', 'reset'].indexOf(actionType)) {\n onChange?.(this.props.resetValue);\n this.focus();\n } else if (actionType === 'focus') {\n this.focus();\n }\n }\n\n focus() {\n this.inputRef.current?.focus();\n }\n\n @autobind\n @bindRendererEvent<TextAreaProps, TextAreaRendererEvent>('focus')\n handleFocus(e: React.FocusEvent<HTMLTextAreaElement>) {\n const {onFocus} = this.props;\n\n this.setState(\n {\n focused: true\n },\n () => {\n onFocus && onFocus(e);\n }\n );\n }\n\n @autobind\n @bindRendererEvent<TextAreaProps, TextAreaRendererEvent>('blur')\n handleBlur(e: React.FocusEvent<HTMLTextAreaElement>) {\n const {onBlur, trimContents, value, onChange} = this.props;\n\n this.setState(\n {\n focused: false\n },\n () => {\n if (trimContents && value && typeof value === 'string') {\n onChange(value.trim());\n }\n\n onBlur && onBlur(e);\n }\n );\n }\n\n render() {\n const {...rest} = this.props;\n\n return (\n <Textarea {...rest} onFocus={this.handleFocus} onBlur={this.handleBlur} />\n );\n }\n}\n\n@FormItem({\n type: 'textarea'\n})\nexport class TextAreaControlRenderer extends TextAreaControl {}\n"
12
12
  ]
13
13
  }
@@ -0,0 +1,54 @@
1
+ import React from 'react';
2
+ import { OptionsControlProps, Option, FormOptionsControl } from './Options';
3
+ import { PlainObject } from '../../types';
4
+ /**
5
+ * UserSelect 移动端人员选择。
6
+ */
7
+ export interface UserSelectControlSchema extends FormOptionsControl {
8
+ type: 'users-select';
9
+ }
10
+ export interface UserSelectProps extends OptionsControlProps {
11
+ /**
12
+ * 部门可选
13
+ */
14
+ isDep?: boolean;
15
+ /**
16
+ * 人员可选
17
+ */
18
+ isRef?: boolean;
19
+ /**
20
+ *
21
+ */
22
+ showNav?: boolean;
23
+ /**
24
+ * 导航头标题
25
+ */
26
+ navTitle?: string;
27
+ /**
28
+ * 选项卡模式
29
+ */
30
+ tabMode?: boolean;
31
+ tabOptions?: Array<any>;
32
+ /**
33
+ * 搜索字段
34
+ */
35
+ searchTerm?: string;
36
+ /**
37
+ * 搜索携带的额外参数
38
+ */
39
+ searchParam?: PlainObject;
40
+ }
41
+ export default class UserSelectControl extends React.Component<UserSelectProps, any> {
42
+ static defaultProps: Partial<UserSelectProps>;
43
+ input?: HTMLInputElement;
44
+ unHook: Function;
45
+ lazyloadRemote: Function;
46
+ constructor(props: UserSelectProps);
47
+ componentWillUnmount(): void;
48
+ onSearch(input: string, cancelExecutor: Function, param?: PlainObject): Promise<any>;
49
+ deferLoad(data?: Object, isRef?: boolean, param?: PlainObject): Promise<any>;
50
+ changeValue(value: Option | Array<Option> | string | void): Promise<void>;
51
+ render(): JSX.Element;
52
+ }
53
+ export declare class UserSelectControlRenderer extends UserSelectControl {
54
+ }