amis 1.5.7 → 1.6.1

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 (533) hide show
  1. package/.husky/pre-commit +1 -1
  2. package/README.md +1 -0
  3. package/lib/RootRenderer.d.ts +2 -0
  4. package/lib/RootRenderer.js +19 -1
  5. package/lib/RootRenderer.js.map +2 -2
  6. package/lib/Schema.d.ts +3 -2
  7. package/lib/Schema.js.map +1 -1
  8. package/lib/SchemaRenderer.js +52 -1
  9. package/lib/SchemaRenderer.js.map +2 -2
  10. package/lib/Scoped.d.ts +2 -0
  11. package/lib/Scoped.js +27 -1
  12. package/lib/Scoped.js.map +2 -2
  13. package/lib/actions/Action.d.ts +33 -0
  14. package/lib/actions/Action.js +100 -0
  15. package/lib/actions/Action.js.map +13 -0
  16. package/lib/actions/AjaxAction.d.ts +14 -0
  17. package/lib/actions/AjaxAction.js +68 -0
  18. package/lib/actions/AjaxAction.js.map +13 -0
  19. package/lib/actions/BreakAction.d.ts +12 -0
  20. package/lib/actions/BreakAction.js +28 -0
  21. package/lib/actions/BreakAction.js.map +13 -0
  22. package/lib/actions/BroadcastAction.d.ts +12 -0
  23. package/lib/actions/BroadcastAction.js +40 -0
  24. package/lib/actions/BroadcastAction.js.map +13 -0
  25. package/lib/actions/CmptAction.d.ts +12 -0
  26. package/lib/actions/CmptAction.js +40 -0
  27. package/lib/actions/CmptAction.js.map +13 -0
  28. package/lib/actions/ContinueAction.d.ts +12 -0
  29. package/lib/actions/ContinueAction.js +28 -0
  30. package/lib/actions/ContinueAction.js.map +13 -0
  31. package/lib/actions/CopyAction.d.ts +12 -0
  32. package/lib/actions/CopyAction.js +35 -0
  33. package/lib/actions/CopyAction.js.map +13 -0
  34. package/lib/actions/CustomAction.d.ts +12 -0
  35. package/lib/actions/CustomAction.js +43 -0
  36. package/lib/actions/CustomAction.js.map +13 -0
  37. package/lib/actions/DialogAction.d.ts +12 -0
  38. package/lib/actions/DialogAction.js +31 -0
  39. package/lib/actions/DialogAction.js.map +13 -0
  40. package/lib/actions/DrawerAction.d.ts +12 -0
  41. package/lib/actions/DrawerAction.js +31 -0
  42. package/lib/actions/DrawerAction.js.map +13 -0
  43. package/lib/actions/EmailAction.d.ts +12 -0
  44. package/lib/actions/EmailAction.js +37 -0
  45. package/lib/actions/EmailAction.js.map +13 -0
  46. package/lib/actions/LoopAction.d.ts +12 -0
  47. package/lib/actions/LoopAction.js +93 -0
  48. package/lib/actions/LoopAction.js.map +13 -0
  49. package/lib/actions/OpenPageAction.d.ts +12 -0
  50. package/lib/actions/OpenPageAction.js +33 -0
  51. package/lib/actions/OpenPageAction.js.map +13 -0
  52. package/lib/actions/ParallelAction.d.ts +5 -0
  53. package/lib/actions/ParallelAction.js +33 -0
  54. package/lib/actions/ParallelAction.js.map +13 -0
  55. package/lib/actions/SwitchAction.d.ts +8 -0
  56. package/lib/actions/SwitchAction.js +45 -0
  57. package/lib/actions/SwitchAction.js.map +13 -0
  58. package/lib/actions/index.d.ts +18 -0
  59. package/lib/actions/index.js +22 -0
  60. package/lib/actions/index.js.map +13 -0
  61. package/lib/components/AnchorNav.d.ts +20 -20
  62. package/lib/components/AssociatedSelection.d.ts +84 -84
  63. package/lib/components/AssociatedSelection.js +2 -2
  64. package/lib/components/AssociatedSelection.js.map +2 -2
  65. package/lib/components/Avatar.d.ts +135 -0
  66. package/lib/components/Avatar.js +120 -0
  67. package/lib/components/Avatar.js.map +13 -0
  68. package/lib/components/BaiduMapPicker.js.map +2 -2
  69. package/lib/components/Button.d.ts +20 -20
  70. package/lib/components/CalendarMobile.d.ts +573 -0
  71. package/lib/components/CalendarMobile.js +486 -0
  72. package/lib/components/CalendarMobile.js.map +13 -0
  73. package/lib/components/Cascader.d.ts +123 -0
  74. package/lib/components/Cascader.js +487 -0
  75. package/lib/components/Cascader.js.map +13 -0
  76. package/lib/components/ChainedSelection.d.ts +84 -84
  77. package/lib/components/ChainedSelection.js +15 -3
  78. package/lib/components/ChainedSelection.js.map +2 -2
  79. package/lib/components/CityArea.d.ts +527 -0
  80. package/lib/components/CityArea.js +177 -0
  81. package/lib/components/CityArea.js.map +13 -0
  82. package/lib/components/Collapse.d.ts +20 -20
  83. package/lib/components/ColorPicker.d.ts +84 -84
  84. package/lib/components/ColorPicker.js +4 -3
  85. package/lib/components/ColorPicker.js.map +2 -2
  86. package/lib/components/DatePicker.d.ts +85 -84
  87. package/lib/components/DatePicker.js +21 -8
  88. package/lib/components/DatePicker.js.map +2 -2
  89. package/lib/components/DateRangePicker.d.ts +85 -84
  90. package/lib/components/DateRangePicker.js +19 -6
  91. package/lib/components/DateRangePicker.js.map +2 -2
  92. package/lib/components/GroupedSelection.d.ts +84 -84
  93. package/lib/components/GroupedSelection.js +14 -2
  94. package/lib/components/GroupedSelection.js.map +2 -2
  95. package/lib/components/InputBox.d.ts +21 -21
  96. package/lib/components/ListGroup.d.ts +21 -21
  97. package/lib/components/ListMenu.d.ts +84 -84
  98. package/lib/components/MonthRangePicker.d.ts +85 -84
  99. package/lib/components/MonthRangePicker.js +18 -7
  100. package/lib/components/MonthRangePicker.js.map +2 -2
  101. package/lib/components/Overlay.d.ts +1 -1
  102. package/lib/components/Overlay.js.map +1 -1
  103. package/lib/components/Picker.d.ts +1 -0
  104. package/lib/components/Picker.js +16 -7
  105. package/lib/components/Picker.js.map +2 -2
  106. package/lib/components/PickerColumn.d.ts +1 -0
  107. package/lib/components/PickerColumn.js +21 -18
  108. package/lib/components/PickerColumn.js.map +2 -2
  109. package/lib/components/PickerContainer.d.ts +3 -0
  110. package/lib/components/PickerContainer.js +12 -5
  111. package/lib/components/PickerContainer.js.map +2 -2
  112. package/lib/components/PopOverContainer.d.ts +1 -0
  113. package/lib/components/PopOverContainer.js +5 -3
  114. package/lib/components/PopOverContainer.js.map +2 -2
  115. package/lib/components/PopUp.d.ts +1041 -28
  116. package/lib/components/PopUp.js +32 -8
  117. package/lib/components/PopUp.js.map +2 -2
  118. package/lib/components/Radios.d.ts +21 -21
  119. package/lib/components/Rating.d.ts +21 -21
  120. package/lib/components/ResultBox.d.ts +85 -84
  121. package/lib/components/ResultBox.js +9 -4
  122. package/lib/components/ResultBox.js.map +2 -2
  123. package/lib/components/ResultList.d.ts +9 -2
  124. package/lib/components/ResultList.js +22 -2
  125. package/lib/components/ResultList.js.map +2 -2
  126. package/lib/components/Select.d.ts +238 -238
  127. package/lib/components/Select.js +13 -9
  128. package/lib/components/Select.js.map +2 -2
  129. package/lib/components/Selection.d.ts +94 -86
  130. package/lib/components/Selection.js +11 -2
  131. package/lib/components/Selection.js.map +2 -2
  132. package/lib/components/Steps.js.map +2 -2
  133. package/lib/components/TableSelection.d.ts +85 -85
  134. package/lib/components/TableSelection.js +1 -9
  135. package/lib/components/TableSelection.js.map +2 -2
  136. package/lib/components/Tabs.js +31 -33
  137. package/lib/components/Tabs.js.map +2 -2
  138. package/lib/components/TabsTransfer.d.ts +87 -256
  139. package/lib/components/TabsTransfer.js +52 -9
  140. package/lib/components/TabsTransfer.js.map +2 -2
  141. package/lib/components/TabsTransferPicker.d.ts +1 -1
  142. package/lib/components/TabsTransferPicker.js +20 -18
  143. package/lib/components/TabsTransferPicker.js.map +2 -2
  144. package/lib/components/Timeline.d.ts +69 -0
  145. package/lib/components/Timeline.js +16 -0
  146. package/lib/components/Timeline.js.map +13 -0
  147. package/lib/components/TimelineItem.d.ts +517 -0
  148. package/lib/components/TimelineItem.js +40 -0
  149. package/lib/components/TimelineItem.js.map +13 -0
  150. package/lib/components/Transfer.d.ts +100 -98
  151. package/lib/components/Transfer.js +2 -3
  152. package/lib/components/Transfer.js.map +2 -2
  153. package/lib/components/TransferDropDown.d.ts +85 -84
  154. package/lib/components/TransferDropDown.js +9 -10
  155. package/lib/components/TransferDropDown.js.map +2 -2
  156. package/lib/components/TransferPicker.d.ts +1 -0
  157. package/lib/components/TransferPicker.js +19 -4
  158. package/lib/components/TransferPicker.js.map +2 -2
  159. package/lib/components/Tree.d.ts +84 -84
  160. package/lib/components/TreeSelection.d.ts +85 -85
  161. package/lib/components/TreeSelection.js +7 -1
  162. package/lib/components/TreeSelection.js.map +2 -2
  163. package/lib/components/calendar/Calendar.d.ts +19 -0
  164. package/lib/components/calendar/Calendar.js +71 -1
  165. package/lib/components/calendar/Calendar.js.map +2 -2
  166. package/lib/components/calendar/DaysView.d.ts +21 -0
  167. package/lib/components/calendar/DaysView.js +76 -17
  168. package/lib/components/calendar/DaysView.js.map +2 -2
  169. package/lib/components/calendar/MonthsView.d.ts +34 -0
  170. package/lib/components/calendar/MonthsView.js +68 -3
  171. package/lib/components/calendar/MonthsView.js.map +2 -2
  172. package/lib/components/calendar/QuartersView.d.ts +1 -0
  173. package/lib/components/calendar/QuartersView.js +2 -2
  174. package/lib/components/calendar/QuartersView.js.map +2 -2
  175. package/lib/components/calendar/TimeView.d.ts +30 -18
  176. package/lib/components/calendar/TimeView.js +47 -8
  177. package/lib/components/calendar/TimeView.js.map +2 -2
  178. package/lib/components/calendar/YearsView.d.ts +6 -0
  179. package/lib/components/calendar/YearsView.js +21 -10
  180. package/lib/components/calendar/YearsView.js.map +2 -2
  181. package/lib/components/condition-builder/Field.js +1 -4
  182. package/lib/components/condition-builder/Field.js.map +2 -2
  183. package/lib/components/condition-builder/Func.js +1 -1
  184. package/lib/components/condition-builder/Func.js.map +2 -2
  185. package/lib/components/formula/Editor.d.ts +3 -0
  186. package/lib/components/formula/Editor.js +3 -2
  187. package/lib/components/formula/Editor.js.map +2 -2
  188. package/lib/components/formula/FuncList.js +2 -1
  189. package/lib/components/formula/FuncList.js.map +2 -2
  190. package/lib/components/formula/Picker.js +1 -1
  191. package/lib/components/formula/Picker.js.map +2 -2
  192. package/lib/components/formula/plugin.js +0 -1
  193. package/lib/components/formula/plugin.js.map +2 -2
  194. package/lib/components/icons.js +2 -0
  195. package/lib/components/icons.js.map +2 -2
  196. package/lib/components/index.d.ts +2 -1
  197. package/lib/components/index.js +4 -2
  198. package/lib/components/index.js.map +2 -2
  199. package/lib/components/virtual-list/SizeAndPositionManager.js.map +2 -2
  200. package/lib/components/virtual-list/index.js +1 -2
  201. package/lib/components/virtual-list/index.js.map +2 -2
  202. package/lib/env.d.ts +4 -0
  203. package/lib/env.js.map +2 -2
  204. package/lib/factory.d.ts +2 -1
  205. package/lib/factory.js +83 -0
  206. package/lib/factory.js.map +2 -2
  207. package/lib/helper.css.map +1 -1
  208. package/lib/icons/tree-down.js +7 -0
  209. package/lib/index.d.ts +3 -0
  210. package/lib/index.js +4 -1
  211. package/lib/index.js.map +2 -2
  212. package/lib/locale/de-DE.js +17 -2
  213. package/lib/locale/de-DE.js.map +2 -2
  214. package/lib/locale/en-US.js +17 -2
  215. package/lib/locale/en-US.js.map +2 -2
  216. package/lib/locale/zh-CN.js +16 -1
  217. package/lib/locale/zh-CN.js.map +2 -2
  218. package/lib/renderers/Action.d.ts +1 -1
  219. package/lib/renderers/Action.js +26 -10
  220. package/lib/renderers/Action.js.map +2 -2
  221. package/lib/renderers/Avatar.d.ts +35 -26
  222. package/lib/renderers/Avatar.js +14 -19
  223. package/lib/renderers/Avatar.js.map +2 -2
  224. package/lib/renderers/Card.js +6 -5
  225. package/lib/renderers/Card.js.map +2 -2
  226. package/lib/renderers/Custom.d.ts +1 -1
  227. package/lib/renderers/Custom.js +1 -1
  228. package/lib/renderers/Custom.js.map +2 -2
  229. package/lib/renderers/DropDownButton.d.ts +11 -2
  230. package/lib/renderers/DropDownButton.js +30 -12
  231. package/lib/renderers/DropDownButton.js.map +2 -2
  232. package/lib/renderers/Each.js +5 -2
  233. package/lib/renderers/Each.js.map +2 -2
  234. package/lib/renderers/Flex.js +1 -5
  235. package/lib/renderers/Flex.js.map +2 -2
  236. package/lib/renderers/Form/ChartRadios.js.map +2 -2
  237. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  238. package/lib/renderers/Form/CityDB.js +526 -2
  239. package/lib/renderers/Form/CityDB.js.map +2 -2
  240. package/lib/renderers/Form/DiffEditor.d.ts +6 -0
  241. package/lib/renderers/Form/DiffEditor.js +2 -1
  242. package/lib/renderers/Form/DiffEditor.js.map +2 -2
  243. package/lib/renderers/Form/Editor.d.ts +6 -0
  244. package/lib/renderers/Form/InputCity.d.ts +85 -84
  245. package/lib/renderers/Form/InputCity.js +4 -2
  246. package/lib/renderers/Form/InputCity.js.map +2 -2
  247. package/lib/renderers/Form/InputColor.d.ts +84 -84
  248. package/lib/renderers/Form/InputColor.js +6 -2
  249. package/lib/renderers/Form/InputColor.js.map +2 -2
  250. package/lib/renderers/Form/InputDate.js +10 -5
  251. package/lib/renderers/Form/InputDate.js.map +2 -2
  252. package/lib/renderers/Form/InputDateRange.js +6 -2
  253. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  254. package/lib/renderers/Form/InputFormula.d.ts +4 -1
  255. package/lib/renderers/Form/InputFormula.js +2 -2
  256. package/lib/renderers/Form/InputFormula.js.map +2 -2
  257. package/lib/renderers/Form/InputImage.d.ts +1 -0
  258. package/lib/renderers/Form/InputImage.js +8 -4
  259. package/lib/renderers/Form/InputImage.js.map +2 -2
  260. package/lib/renderers/Form/InputMonthRange.js +1 -1
  261. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  262. package/lib/renderers/Form/InputQuarterRange.js +1 -1
  263. package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
  264. package/lib/renderers/Form/InputRichText.d.ts +4 -0
  265. package/lib/renderers/Form/InputRichText.js +2 -1
  266. package/lib/renderers/Form/InputRichText.js.map +2 -2
  267. package/lib/renderers/Form/InputYearRange.js +1 -1
  268. package/lib/renderers/Form/InputYearRange.js.map +2 -2
  269. package/lib/renderers/Form/Item.d.ts +10 -14
  270. package/lib/renderers/Form/Item.js +18 -9
  271. package/lib/renderers/Form/Item.js.map +2 -2
  272. package/lib/renderers/Form/NestedSelect.d.ts +1 -0
  273. package/lib/renderers/Form/NestedSelect.js +8 -4
  274. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  275. package/lib/renderers/Form/Options.js +9 -7
  276. package/lib/renderers/Form/Options.js.map +2 -2
  277. package/lib/renderers/Form/Select.d.ts +2 -0
  278. package/lib/renderers/Form/Select.js +9 -6
  279. package/lib/renderers/Form/Select.js.map +2 -2
  280. package/lib/renderers/Form/TabsTransfer.d.ts +5 -32
  281. package/lib/renderers/Form/TabsTransfer.js +20 -1
  282. package/lib/renderers/Form/TabsTransfer.js.map +2 -2
  283. package/lib/renderers/Form/TabsTransferPicker.d.ts +5 -35
  284. package/lib/renderers/Form/TabsTransferPicker.js +21 -2
  285. package/lib/renderers/Form/TabsTransferPicker.js.map +2 -2
  286. package/lib/renderers/Form/Transfer.d.ts +15 -4
  287. package/lib/renderers/Form/Transfer.js +55 -18
  288. package/lib/renderers/Form/Transfer.js.map +2 -2
  289. package/lib/renderers/Form/TransferPicker.d.ts +3 -32
  290. package/lib/renderers/Form/TransferPicker.js +1 -1
  291. package/lib/renderers/Form/TransferPicker.js.map +2 -2
  292. package/lib/renderers/Form/TreeSelect.js +4 -4
  293. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  294. package/lib/renderers/Form/index.js +8 -1
  295. package/lib/renderers/Form/index.js.map +2 -2
  296. package/lib/renderers/IFrame.js +0 -2
  297. package/lib/renderers/IFrame.js.map +2 -2
  298. package/lib/renderers/Link.d.ts +1 -1
  299. package/lib/renderers/Link.js +27 -6
  300. package/lib/renderers/Link.js.map +2 -2
  301. package/lib/renderers/Log.js +15 -10
  302. package/lib/renderers/Log.js.map +2 -2
  303. package/lib/renderers/Nav.d.ts +21 -21
  304. package/lib/renderers/Remark.d.ts +5 -1
  305. package/lib/renderers/Remark.js +39 -7
  306. package/lib/renderers/Remark.js.map +2 -2
  307. package/lib/renderers/Steps.js +5 -5
  308. package/lib/renderers/Steps.js.map +2 -2
  309. package/lib/renderers/Table/index.js +4 -1
  310. package/lib/renderers/Table/index.js.map +2 -2
  311. package/lib/renderers/Tabs.js +1 -1
  312. package/lib/renderers/Tabs.js.map +2 -2
  313. package/lib/renderers/Timeline.d.ts +65 -0
  314. package/lib/renderers/Timeline.js +54 -0
  315. package/lib/renderers/Timeline.js.map +13 -0
  316. package/lib/renderers/Video.js.map +2 -2
  317. package/lib/schemaExtend.js +23 -9
  318. package/lib/schemaExtend.js.map +2 -2
  319. package/lib/store/combo.js.map +2 -2
  320. package/lib/store/formItem.js +1 -1
  321. package/lib/store/formItem.js.map +2 -2
  322. package/lib/themes/ang-ie11.css +1149 -53
  323. package/lib/themes/ang.css +1149 -53
  324. package/lib/themes/ang.css.map +1 -1
  325. package/lib/themes/antd-ie11.css +1187 -53
  326. package/lib/themes/antd.css +1187 -53
  327. package/lib/themes/antd.css.map +1 -1
  328. package/lib/themes/cxd-ie11.css +1189 -70
  329. package/lib/themes/cxd.css +1189 -70
  330. package/lib/themes/cxd.css.map +1 -1
  331. package/lib/themes/dark-ie11.css +1152 -53
  332. package/lib/themes/dark.css +1152 -53
  333. package/lib/themes/dark.css.map +1 -1
  334. package/lib/themes/default.css +1189 -70
  335. package/lib/themes/default.css.map +1 -1
  336. package/lib/utils/RootClose.js +3 -1
  337. package/lib/utils/RootClose.js.map +2 -2
  338. package/lib/utils/api.js +14 -3
  339. package/lib/utils/api.js.map +2 -2
  340. package/lib/utils/debug.d.ts +26 -0
  341. package/lib/utils/debug.js +351 -0
  342. package/lib/utils/debug.js.map +13 -0
  343. package/lib/utils/helper.d.ts +1 -6
  344. package/lib/utils/helper.js +6 -17
  345. package/lib/utils/helper.js.map +2 -2
  346. package/lib/utils/renderer-event.d.ts +38 -0
  347. package/lib/utils/renderer-event.js +28 -0
  348. package/lib/utils/renderer-event.js.map +13 -0
  349. package/package.json +12 -6
  350. package/schema.json +3516 -839
  351. package/scss/_properties.scss +20 -6
  352. package/scss/_variables.scss +1 -0
  353. package/scss/components/_avatar.scss +27 -9
  354. package/scss/components/_calendar.scss +291 -0
  355. package/scss/components/_card.scss +1 -1
  356. package/scss/components/_cascader.scss +102 -0
  357. package/scss/components/_city-area.scss +27 -0
  358. package/scss/components/_collapse-group.scss +1 -3
  359. package/scss/components/_debug.scss +167 -0
  360. package/scss/components/_dropdown.scss +39 -9
  361. package/scss/components/_formula.scss +30 -6
  362. package/scss/components/_modal.scss +18 -0
  363. package/scss/components/_panel.scss +45 -0
  364. package/scss/components/_picker-columns.scss +15 -5
  365. package/scss/components/_popup.scss +43 -16
  366. package/scss/components/_result-box.scss +31 -0
  367. package/scss/components/_timeline.scss +198 -0
  368. package/scss/components/form/_checks.scss +2 -0
  369. package/scss/components/form/_color.scss +2 -2
  370. package/scss/components/form/_date-range.scss +34 -1
  371. package/scss/components/form/_date.scss +46 -1
  372. package/scss/components/form/_form.scss +170 -0
  373. package/scss/components/form/_nested-select.scss +3 -0
  374. package/scss/components/form/_result-list.scss +2 -0
  375. package/scss/components/form/_select.scss +32 -3
  376. package/scss/components/form/_selection.scss +5 -4
  377. package/scss/components/form/_transfer.scss +3 -0
  378. package/scss/components/form/_tree-select.scss +1 -1
  379. package/scss/themes/_antd-variables.scss +45 -0
  380. package/scss/themes/_common.scss +5 -0
  381. package/scss/themes/_cxd-variables.scss +50 -1
  382. package/scss/themes/_dark-variables.scss +4 -0
  383. package/scss/themes/cxd.scss +0 -19
  384. package/sdk/ang-ie11.css +1450 -142
  385. package/sdk/ang.css +1473 -159
  386. package/sdk/antd-ie11.css +1451 -142
  387. package/sdk/antd.css +1511 -159
  388. package/sdk/charts.js +15 -15
  389. package/sdk/codemirror.js +7 -7
  390. package/sdk/color-picker.js +65 -65
  391. package/sdk/cropperjs.js +2 -2
  392. package/sdk/cxd-ie11.css +1448 -158
  393. package/sdk/cxd.css +1513 -178
  394. package/sdk/dark-ie11.css +1450 -142
  395. package/sdk/dark.css +1476 -159
  396. package/sdk/exceljs.js +1 -1
  397. package/sdk/helper.css.map +1 -1
  398. package/sdk/locale/de-DE.js +17 -2
  399. package/sdk/markdown.js +69 -69
  400. package/sdk/papaparse.js +1 -1
  401. package/sdk/renderers/Form/CityDB.js +1 -1
  402. package/sdk/rest.js +18 -18
  403. package/sdk/rich-text.js +62 -62
  404. package/sdk/sdk-ie11.css +1448 -158
  405. package/sdk/sdk.css +1513 -178
  406. package/sdk/sdk.js +1309 -1251
  407. package/sdk/thirds/hls.js/hls.js +1 -1
  408. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  409. package/sdk/tinymce.js +57 -57
  410. package/src/RootRenderer.tsx +27 -1
  411. package/src/Schema.ts +3 -0
  412. package/src/SchemaRenderer.tsx +70 -4
  413. package/src/Scoped.tsx +46 -4
  414. package/src/actions/Action.ts +138 -0
  415. package/src/actions/AjaxAction.ts +58 -0
  416. package/src/actions/BreakAction.ts +27 -0
  417. package/src/actions/BroadcastAction.ts +41 -0
  418. package/src/actions/CmptAction.ts +36 -0
  419. package/src/actions/ContinueAction.ts +27 -0
  420. package/src/actions/CopyAction.ts +41 -0
  421. package/src/actions/CustomAction.ts +46 -0
  422. package/src/actions/DialogAction.ts +28 -0
  423. package/src/actions/DrawerAction.ts +28 -0
  424. package/src/actions/EmailAction.ts +38 -0
  425. package/src/actions/LoopAction.ts +77 -0
  426. package/src/actions/OpenPageAction.ts +39 -0
  427. package/src/actions/ParallelAction.ts +26 -0
  428. package/src/actions/SwitchAction.ts +35 -0
  429. package/src/actions/index.ts +20 -0
  430. package/src/components/AssociatedSelection.tsx +5 -1
  431. package/src/components/Avatar.tsx +253 -0
  432. package/src/components/BaiduMapPicker.tsx +19 -14
  433. package/src/components/CalendarMobile.tsx +658 -0
  434. package/src/components/Cascader.tsx +564 -0
  435. package/src/components/ChainedSelection.tsx +16 -3
  436. package/src/components/CityArea.tsx +315 -0
  437. package/src/components/ColorPicker.tsx +41 -40
  438. package/src/components/DatePicker.tsx +80 -34
  439. package/src/components/DateRangePicker.tsx +85 -30
  440. package/src/components/GroupedSelection.tsx +14 -2
  441. package/src/components/MonthRangePicker.tsx +78 -31
  442. package/src/components/Overlay.tsx +1 -1
  443. package/src/components/Picker.tsx +55 -35
  444. package/src/components/PickerColumn.tsx +43 -36
  445. package/src/components/PickerContainer.tsx +13 -1
  446. package/src/components/PopOverContainer.tsx +31 -17
  447. package/src/components/PopUp.tsx +84 -57
  448. package/src/components/ResultBox.tsx +14 -2
  449. package/src/components/ResultList.tsx +36 -6
  450. package/src/components/Select.tsx +24 -26
  451. package/src/components/Selection.tsx +21 -3
  452. package/src/components/Steps.tsx +23 -10
  453. package/src/components/TableSelection.tsx +1 -44
  454. package/src/components/Tabs.tsx +65 -54
  455. package/src/components/TabsTransfer.tsx +78 -9
  456. package/src/components/TabsTransferPicker.tsx +25 -13
  457. package/src/components/Timeline.tsx +36 -0
  458. package/src/components/TimelineItem.tsx +140 -0
  459. package/src/components/Transfer.tsx +11 -8
  460. package/src/components/TransferDropDown.tsx +20 -12
  461. package/src/components/TransferPicker.tsx +25 -4
  462. package/src/components/TreeSelection.tsx +7 -1
  463. package/src/components/calendar/Calendar.tsx +101 -4
  464. package/src/components/calendar/DaysView.tsx +165 -33
  465. package/src/components/calendar/MonthsView.tsx +108 -1
  466. package/src/components/calendar/QuartersView.tsx +3 -2
  467. package/src/components/calendar/TimeView.tsx +104 -41
  468. package/src/components/calendar/YearsView.tsx +34 -17
  469. package/src/components/condition-builder/Field.tsx +1 -3
  470. package/src/components/condition-builder/Func.tsx +1 -1
  471. package/src/components/formula/Editor.tsx +16 -11
  472. package/src/components/formula/FuncList.tsx +3 -1
  473. package/src/components/formula/Picker.tsx +2 -1
  474. package/src/components/formula/plugin.ts +0 -2
  475. package/src/components/icons.tsx +2 -0
  476. package/src/components/index.tsx +2 -0
  477. package/src/components/virtual-list/SizeAndPositionManager.ts +6 -3
  478. package/src/components/virtual-list/index.tsx +4 -6
  479. package/src/env.tsx +22 -0
  480. package/src/factory.tsx +93 -1
  481. package/src/icons/tree-down.svg +5 -0
  482. package/src/index.tsx +5 -0
  483. package/src/locale/de-DE.ts +17 -2
  484. package/src/locale/en-US.ts +17 -2
  485. package/src/locale/zh-CN.ts +16 -1
  486. package/src/renderers/Action.tsx +11 -2
  487. package/src/renderers/Avatar.tsx +83 -74
  488. package/src/renderers/Card.tsx +10 -6
  489. package/src/renderers/Custom.tsx +7 -4
  490. package/src/renderers/DropDownButton.tsx +69 -35
  491. package/src/renderers/Each.tsx +4 -4
  492. package/src/renderers/Flex.tsx +3 -7
  493. package/src/renderers/Form/ChartRadios.tsx +2 -7
  494. package/src/renderers/Form/Checkboxes.tsx +1 -1
  495. package/src/renderers/Form/CityDB.ts +526 -2
  496. package/src/renderers/Form/DiffEditor.tsx +2 -3
  497. package/src/renderers/Form/InputCity.tsx +23 -3
  498. package/src/renderers/Form/InputColor.tsx +21 -2
  499. package/src/renderers/Form/InputDate.tsx +48 -20
  500. package/src/renderers/Form/InputDateRange.tsx +9 -2
  501. package/src/renderers/Form/InputFormula.tsx +9 -4
  502. package/src/renderers/Form/InputImage.tsx +9 -4
  503. package/src/renderers/Form/InputMonthRange.tsx +0 -1
  504. package/src/renderers/Form/InputQuarterRange.tsx +0 -1
  505. package/src/renderers/Form/InputRichText.tsx +11 -1
  506. package/src/renderers/Form/InputYearRange.tsx +0 -1
  507. package/src/renderers/Form/Item.tsx +29 -8
  508. package/src/renderers/Form/NestedSelect.tsx +32 -4
  509. package/src/renderers/Form/Options.tsx +15 -7
  510. package/src/renderers/Form/Select.tsx +21 -5
  511. package/src/renderers/Form/TabsTransfer.tsx +28 -38
  512. package/src/renderers/Form/TabsTransferPicker.tsx +28 -46
  513. package/src/renderers/Form/Transfer.tsx +75 -24
  514. package/src/renderers/Form/TransferPicker.tsx +6 -38
  515. package/src/renderers/Form/TreeSelect.tsx +18 -16
  516. package/src/renderers/Form/index.tsx +7 -1
  517. package/src/renderers/IFrame.tsx +0 -2
  518. package/src/renderers/Link.tsx +18 -3
  519. package/src/renderers/Log.tsx +5 -1
  520. package/src/renderers/Remark.tsx +68 -18
  521. package/src/renderers/Steps.tsx +11 -13
  522. package/src/renderers/Table/index.tsx +7 -1
  523. package/src/renderers/Tabs.tsx +6 -2
  524. package/src/renderers/Timeline.tsx +141 -0
  525. package/src/renderers/Video.tsx +4 -20
  526. package/src/schemaExtend.ts +22 -10
  527. package/src/store/combo.ts +1 -3
  528. package/src/store/formItem.ts +1 -1
  529. package/src/utils/RootClose.ts +5 -1
  530. package/src/utils/api.ts +15 -2
  531. package/src/utils/debug.tsx +438 -0
  532. package/src/utils/helper.ts +6 -16
  533. package/src/utils/renderer-event.ts +75 -0
@@ -0,0 +1,486 @@
1
+ "use strict";
2
+ /**
3
+ * @file CalendarMobile
4
+ * @description 移动端日历组件
5
+ * @author hongyang03
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.CalendarMobile = void 0;
9
+ var tslib_1 = require("tslib");
10
+ var react_1 = (0, tslib_1.__importDefault)(require("react"));
11
+ var moment_1 = (0, tslib_1.__importDefault)(require("moment"));
12
+ var Calendar_1 = (0, tslib_1.__importDefault)(require("./calendar/Calendar"));
13
+ var theme_1 = require("../theme");
14
+ var locale_1 = require("../locale");
15
+ var helper_1 = require("../utils/helper");
16
+ var CalendarMobile = /** @class */ (function (_super) {
17
+ (0, tslib_1.__extends)(CalendarMobile, _super);
18
+ function CalendarMobile(props) {
19
+ var _this = _super.call(this, props) || this;
20
+ _this.mobileBody = react_1.default.createRef();
21
+ _this.mobileHeader = react_1.default.createRef();
22
+ var _a = _this.props, startDate = _a.startDate, endDate = _a.endDate, defaultDate = _a.defaultDate, minDate = _a.minDate, maxDate = _a.maxDate;
23
+ var dateRange = _this.getDateRange(minDate, maxDate, defaultDate);
24
+ _this.state = {
25
+ minDate: dateRange.minDate,
26
+ maxDate: dateRange.maxDate,
27
+ startDate: startDate,
28
+ endDate: endDate,
29
+ showToast: false,
30
+ currentDate: dateRange.currentDate,
31
+ isScrollToBottom: false,
32
+ dateTime: endDate ? [endDate.hour(), endDate.minute()] : [0, 0]
33
+ };
34
+ return _this;
35
+ }
36
+ CalendarMobile.prototype.getDateRange = function (minDate, maxDate, defaultDate) {
37
+ !moment_1.default.isMoment(minDate) || !minDate.isValid() && (minDate = undefined);
38
+ !moment_1.default.isMoment(maxDate) || !maxDate.isValid() && (maxDate = undefined);
39
+ var currentDate = defaultDate || (0, moment_1.default)();
40
+ var dateRange = {
41
+ minDate: currentDate.clone().subtract(1, 'year').startOf('months'),
42
+ maxDate: currentDate.clone().add(1, 'year').endOf('months')
43
+ };
44
+ if (minDate && maxDate) {
45
+ dateRange = {
46
+ minDate: minDate,
47
+ maxDate: maxDate
48
+ };
49
+ }
50
+ else if (minDate && !maxDate) {
51
+ dateRange = {
52
+ minDate: minDate,
53
+ maxDate: (0, moment_1.default)(minDate).add(2, 'year')
54
+ };
55
+ currentDate = minDate.clone();
56
+ }
57
+ else if (!minDate && maxDate) {
58
+ dateRange = {
59
+ minDate: (0, moment_1.default)(maxDate).subtract(2, 'year'),
60
+ maxDate: maxDate
61
+ };
62
+ currentDate = maxDate.clone();
63
+ }
64
+ if (!currentDate.isBetween(dateRange.minDate, dateRange.maxDate, 'days', '[]')) {
65
+ currentDate = dateRange.minDate.clone();
66
+ }
67
+ return (0, tslib_1.__assign)((0, tslib_1.__assign)({}, dateRange), { currentDate: currentDate });
68
+ };
69
+ CalendarMobile.prototype.componentDidMount = function () {
70
+ this.initMonths();
71
+ };
72
+ CalendarMobile.prototype.componentDidUpdate = function (prevProps) {
73
+ var _this = this;
74
+ var props = this.props;
75
+ if (prevProps.minDate !== props.minDate || prevProps.maxDate !== props.maxDate) {
76
+ var currentDate = this.state.currentDate;
77
+ var dateRange = this.getDateRange(props.minDate, props.maxDate, (0, moment_1.default)(currentDate));
78
+ this.setState({
79
+ minDate: dateRange.minDate,
80
+ maxDate: dateRange.maxDate,
81
+ currentDate: dateRange.currentDate,
82
+ }, function () { return _this.initMonths(); });
83
+ }
84
+ };
85
+ CalendarMobile.prototype.componentWillUnmount = function () {
86
+ this.setState({ showToast: false });
87
+ clearTimeout(this.timer);
88
+ };
89
+ CalendarMobile.prototype.initMonths = function () {
90
+ if (this.mobileBody.current) {
91
+ var header = this.mobileHeader.current;
92
+ var monthHeights = [];
93
+ var monthCollection = this.mobileBody.current.children;
94
+ for (var i = 0; i < monthCollection.length; i++) {
95
+ monthHeights[i] = monthCollection[i].offsetTop - header.clientHeight;
96
+ }
97
+ this.setState({
98
+ monthHeights: monthHeights
99
+ });
100
+ var defaultDate = this.props.defaultDate || this.state.currentDate;
101
+ this.scollToDate(defaultDate ? (0, moment_1.default)(defaultDate) : (0, moment_1.default)());
102
+ }
103
+ };
104
+ CalendarMobile.prototype.scollToDate = function (date) {
105
+ var showViewMode = this.props.showViewMode;
106
+ var minDate = this.state.minDate;
107
+ var index = date.diff(minDate, showViewMode);
108
+ var currentEl = this.mobileBody.current.children[index];
109
+ if (!currentEl) {
110
+ return;
111
+ }
112
+ var header = this.mobileHeader.current;
113
+ this.mobileBody.current.scrollBy(0, currentEl.offsetTop - this.mobileBody.current.scrollTop - header.clientHeight);
114
+ };
115
+ CalendarMobile.prototype.onMobileBodyScroll = function (e) {
116
+ var _a, _b;
117
+ var showViewMode = this.props.showViewMode;
118
+ var monthHeights = this.state.monthHeights;
119
+ var minDate = (_a = this.state.minDate) === null || _a === void 0 ? void 0 : _a.clone();
120
+ if (!((_b = this.mobileBody) === null || _b === void 0 ? void 0 : _b.current) || !monthHeights || !minDate) {
121
+ return;
122
+ }
123
+ var scrollTop = this.mobileBody.current.scrollTop;
124
+ var clientHeight = this.mobileBody.current.clientHeight;
125
+ var scrollHeight = this.mobileBody.current.scrollHeight;
126
+ var i = 0;
127
+ for (i; i < monthHeights.length; i++) {
128
+ if (scrollTop < monthHeights[i]) {
129
+ break;
130
+ }
131
+ }
132
+ i--;
133
+ i < 0 && (i = 0);
134
+ var currentDate = minDate.add(i, showViewMode);
135
+ this.setState({
136
+ currentDate: currentDate,
137
+ isScrollToBottom: scrollTop + clientHeight === scrollHeight
138
+ });
139
+ };
140
+ CalendarMobile.prototype.scrollPreYear = function () {
141
+ if (!this.state.currentDate) {
142
+ return;
143
+ }
144
+ var _a = this.state, currentDate = _a.currentDate, minDate = _a.minDate;
145
+ currentDate = currentDate.clone().subtract(1, 'years');
146
+ if (minDate && currentDate.isBefore(minDate)) {
147
+ currentDate = minDate;
148
+ }
149
+ this.setState({
150
+ currentDate: currentDate
151
+ });
152
+ this.scollToDate(currentDate);
153
+ };
154
+ CalendarMobile.prototype.scrollAfterYear = function () {
155
+ if (!this.state.currentDate) {
156
+ return;
157
+ }
158
+ var _a = this.state, currentDate = _a.currentDate, maxDate = _a.maxDate;
159
+ currentDate = currentDate.clone().add(1, 'years');
160
+ if (maxDate && currentDate.isAfter(maxDate)) {
161
+ currentDate = maxDate;
162
+ }
163
+ this.setState({
164
+ currentDate: currentDate
165
+ });
166
+ this.scollToDate(currentDate);
167
+ };
168
+ CalendarMobile.prototype.getDaysOfWeek = function () {
169
+ var locale = (0, moment_1.default)().localeData();
170
+ var days = locale.weekdaysMin();
171
+ var first = locale.firstDayOfWeek();
172
+ var dow = [];
173
+ var i = 0;
174
+ days.forEach(function (day) {
175
+ dow[(7 + (i++) - first) % 7] = day;
176
+ });
177
+ return dow;
178
+ };
179
+ CalendarMobile.prototype.handleCalendarClick = function (isDisabled) {
180
+ var _this = this;
181
+ if (isDisabled) {
182
+ this.setState({ showToast: true });
183
+ this.timer = setTimeout(function () {
184
+ _this.setState({ showToast: false });
185
+ }, 2000);
186
+ }
187
+ };
188
+ CalendarMobile.prototype.getRenderProps = function (props, currentDate) {
189
+ var _a = this.state, startDate = _a.startDate, endDate = _a.endDate;
190
+ var _b = this.props, __ = _b.translate, viewMode = _b.viewMode, isDatePicker = _b.isDatePicker;
191
+ var precision = viewMode === 'time' ? 'hours' : viewMode || 'day';
192
+ var footerText = '';
193
+ if (startDate &&
194
+ endDate &&
195
+ currentDate.isBetween(startDate, endDate, precision, '()')) {
196
+ props.className += ' rdtBetween';
197
+ }
198
+ else if (startDate
199
+ && endDate
200
+ && startDate.isSame(endDate, precision)
201
+ && currentDate.isSame(startDate, precision)) {
202
+ props.className += ' rdtRangeStart';
203
+ footerText = __('Calendar.beginAndEnd');
204
+ }
205
+ else if (startDate && currentDate.isSame(startDate, precision)) {
206
+ props.className += ' rdtRangeStart';
207
+ footerText = __('Calendar.begin');
208
+ if (endDate) {
209
+ props.className += ' rdtRangeHasEnd';
210
+ }
211
+ }
212
+ else if (endDate && currentDate.isSame(endDate, precision)) {
213
+ props.className += ' rdtRangeEnd';
214
+ footerText = __('Calendar.end');
215
+ }
216
+ if (precision === 'day' && currentDate.date() === 1 && currentDate.day() === 1) {
217
+ props.className += ' rdtOldNone';
218
+ }
219
+ if (isDatePicker) {
220
+ footerText = '';
221
+ }
222
+ var rdtDisabled = props.className.indexOf('rdtDisabled') > -1;
223
+ return {
224
+ props: props,
225
+ footerText: footerText,
226
+ rdtDisabled: rdtDisabled
227
+ };
228
+ };
229
+ CalendarMobile.prototype.handleTimeChange = function (newTime) {
230
+ var _this = this;
231
+ if (!newTime) {
232
+ return;
233
+ }
234
+ var onChange = this.props.onChange;
235
+ var _a = this.state, startDate = _a.startDate, endDate = _a.endDate;
236
+ if (startDate) {
237
+ var obj = {
238
+ dateTime: newTime,
239
+ startDate: endDate ? startDate : startDate === null || startDate === void 0 ? void 0 : startDate.clone().set({ hour: newTime[0], minute: newTime[1], second: newTime[2] || 0 }),
240
+ endDate: !endDate ? endDate : endDate === null || endDate === void 0 ? void 0 : endDate.clone().set({ hour: newTime[0], minute: newTime[1], second: newTime[2] || 0 })
241
+ };
242
+ this.setState(obj, function () {
243
+ onChange && onChange(_this.state);
244
+ });
245
+ }
246
+ };
247
+ CalendarMobile.prototype.checkIsValidDate = function (currentDate) {
248
+ var _a = this.state, startDate = _a.startDate, endDate = _a.endDate, minDate = _a.minDate, maxDate = _a.maxDate;
249
+ var _b = this.props, minDuration = _b.minDuration, maxDuration = _b.maxDuration, viewMode = _b.viewMode;
250
+ var precision = viewMode === 'time' ? 'hours' : viewMode || 'day';
251
+ if (minDate && currentDate.isBefore(minDate, precision)) {
252
+ return false;
253
+ }
254
+ else if (maxDate && currentDate.isAfter(maxDate, precision)) {
255
+ return false;
256
+ }
257
+ else if (startDate && !endDate) {
258
+ if (minDuration
259
+ && currentDate.isBefore(startDate.clone().add(minDuration))
260
+ && currentDate.isSameOrAfter(startDate)) {
261
+ return false;
262
+ }
263
+ else if (maxDuration && currentDate.isAfter(startDate.clone().add(maxDuration))) {
264
+ return false;
265
+ }
266
+ }
267
+ return true;
268
+ };
269
+ CalendarMobile.prototype.renderMobileDay = function (props, currentDate) {
270
+ var _this = this;
271
+ var cx = this.props.classnames;
272
+ var renderProps = this.getRenderProps(props, currentDate);
273
+ return react_1.default.createElement("td", (0, tslib_1.__assign)({}, renderProps.props),
274
+ react_1.default.createElement("div", { className: "calendar-wrap", onClick: function () { return _this.handleCalendarClick(renderProps.rdtDisabled); } },
275
+ currentDate.date(),
276
+ react_1.default.createElement("div", { className: cx('CalendarMobile-range-text') }, renderProps.footerText)));
277
+ };
278
+ CalendarMobile.prototype.renderMonth = function (props, month, year) {
279
+ var _this = this;
280
+ var cx = this.props.classnames;
281
+ var currentDate = (0, moment_1.default)().year(year).month(month);
282
+ var monthStr = currentDate
283
+ .localeData()
284
+ .monthsShort(currentDate.month(month));
285
+ var strLength = 3;
286
+ var monthStrFixedLength = monthStr.substring(0, strLength);
287
+ var renderProps = this.getRenderProps(props, currentDate);
288
+ return (react_1.default.createElement("td", (0, tslib_1.__assign)({}, renderProps.props),
289
+ react_1.default.createElement("div", { className: "calendar-wrap", onClick: function () { return _this.handleCalendarClick(renderProps.rdtDisabled); } },
290
+ monthStrFixedLength,
291
+ react_1.default.createElement("div", { className: cx('CalendarMobile-range-text') }, renderProps.footerText))));
292
+ };
293
+ CalendarMobile.prototype.renderQuarter = function (props, quarter, year) {
294
+ var _this = this;
295
+ var cx = this.props.classnames;
296
+ var currentDate = (0, moment_1.default)().year(year).quarter(quarter);
297
+ var renderProps = this.getRenderProps(props, currentDate);
298
+ return (react_1.default.createElement("td", (0, tslib_1.__assign)({}, props),
299
+ react_1.default.createElement("div", { className: "calendar-wrap", onClick: function () { return _this.handleCalendarClick(renderProps.rdtDisabled); } },
300
+ "Q",
301
+ quarter,
302
+ react_1.default.createElement("div", { className: cx('CalendarMobile-range-text') }, renderProps.footerText))));
303
+ };
304
+ CalendarMobile.prototype.handleMobileChange = function (newValue) {
305
+ var _this = this;
306
+ var _a = this.props, embed = _a.embed, minDuration = _a.minDuration, maxDuration = _a.maxDuration, confirm = _a.confirm, onChange = _a.onChange, viewMode = _a.viewMode, isDatePicker = _a.isDatePicker;
307
+ var _b = this.state, startDate = _b.startDate, endDate = _b.endDate, dateTime = _b.dateTime, minDate = _b.minDate, maxDate = _b.maxDate;
308
+ var precision = viewMode === 'time' ? 'hours' : viewMode || 'day';
309
+ if (minDate && newValue && newValue.isBefore(minDate, 'second')) {
310
+ newValue = minDate;
311
+ }
312
+ if (maxDate && newValue && newValue.isAfter(maxDate, 'second')) {
313
+ newValue = maxDate;
314
+ }
315
+ if (!isDatePicker &&
316
+ startDate &&
317
+ !endDate &&
318
+ newValue.isSameOrAfter(startDate) &&
319
+ (!minDuration || newValue.isSameOrAfter(startDate.clone().add(minDuration))) &&
320
+ (!maxDuration || newValue.isSameOrBefore(startDate.clone().add(maxDuration)))) {
321
+ return this.setState({
322
+ endDate: newValue.clone().endOf(precision).set({ hour: dateTime[0], minute: dateTime[1], second: dateTime[2] || 0 })
323
+ }, function () {
324
+ onChange && onChange(_this.state, function () { return embed && confirm && confirm(startDate, endDate); });
325
+ });
326
+ }
327
+ this.setState({
328
+ startDate: newValue.clone().startOf(precision).set({ hour: dateTime[0], minute: dateTime[1], second: dateTime[2] || 0 }),
329
+ endDate: undefined
330
+ }, function () {
331
+ onChange && onChange(_this.state);
332
+ });
333
+ };
334
+ CalendarMobile.prototype.renderMobileCalendarBody = function () {
335
+ var _this = this;
336
+ var _a = this.props, cx = _a.classnames, dateFormat = _a.dateFormat, timeFormat = _a.timeFormat, inputFormat = _a.inputFormat, locale = _a.locale, _b = _a.viewMode, viewMode = _b === void 0 ? 'days' : _b, close = _a.close, defaultDate = _a.defaultDate, showViewMode = _a.showViewMode;
337
+ var __ = this.props.translate;
338
+ var _c = this.state, minDate = _c.minDate, maxDate = _c.maxDate;
339
+ if (!minDate || !maxDate) {
340
+ return;
341
+ }
342
+ var calendarDates = [];
343
+ for (var minDateClone = minDate.clone(); minDateClone.isSameOrBefore(maxDate); minDateClone.add(1, showViewMode)) {
344
+ var date = minDateClone.clone();
345
+ if (defaultDate) {
346
+ date = (0, moment_1.default)(defaultDate).set({ year: date.get('year'), month: date.get('month') });
347
+ }
348
+ calendarDates.push(date);
349
+ }
350
+ return (react_1.default.createElement("div", { className: cx('CalendarMobile-body'), ref: this.mobileBody, onScroll: this.onMobileBodyScroll }, calendarDates.map(function (calendarDate, index) {
351
+ var rdtOldNone = showViewMode === 'months'
352
+ && calendarDate.clone().startOf('month').day() === 1
353
+ ? 'rdtOldNone' : '';
354
+ return react_1.default.createElement("div", { className: cx('CalendarMobile-calendar-wrap', rdtOldNone), key: 'calendar-wrap' + index },
355
+ showViewMode === 'months' && react_1.default.createElement("div", { className: cx('CalendarMobile-calendar-mark'), key: 'calendar-mark' + index }, calendarDate.month() + 1),
356
+ react_1.default.createElement("div", { className: cx('CalendarMobile-calendar-header') },
357
+ react_1.default.createElement("span", { className: "rdtSwitch" }, calendarDate.format(__('dateformat.year'))),
358
+ showViewMode === 'months' && react_1.default.createElement("span", { className: "rdtSwitch" }, calendarDate.format(__('MMM')))),
359
+ react_1.default.createElement(Calendar_1.default, { className: cx('CalendarMobile-calendar', rdtOldNone), viewDate: calendarDate, value: calendarDate, onChange: _this.handleMobileChange, requiredConfirm: false, dateFormat: dateFormat, inputFormat: inputFormat, timeFormat: '', isValidDate: _this.checkIsValidDate, viewMode: viewMode, input: false, onClose: close, renderDay: _this.renderMobileDay, renderMonth: _this.renderMonth, renderQuarter: _this.renderQuarter, locale: locale, hideHeader: true, updateOn: viewMode, key: 'calendar' + index }));
360
+ })));
361
+ };
362
+ CalendarMobile.prototype.renderMobileTimePicker = function () {
363
+ var _a = this.props, cx = _a.classnames, timeFormat = _a.timeFormat, locale = _a.locale, close = _a.close, timeConstraints = _a.timeConstraints, defaultDate = _a.defaultDate, isDatePicker = _a.isDatePicker;
364
+ var __ = this.props.translate;
365
+ var _b = this.state, startDate = _b.startDate, endDate = _b.endDate, dateTime = _b.dateTime;
366
+ return (react_1.default.createElement("div", { className: cx('CalendarMobile-time') },
367
+ react_1.default.createElement("div", { className: cx('CalendarMobile-time-title') }, isDatePicker ? __('Date.titleTime') : startDate && endDate ? __('Calendar.endPick') : __('Calendar.startPick')),
368
+ react_1.default.createElement(Calendar_1.default, { className: cx('CalendarMobile-time-calendar'), value: defaultDate, onChange: this.handleTimeChange, requiredConfirm: false, timeFormat: timeFormat, viewMode: "time", input: false, onClose: close, locale: locale, useMobileUI: true, showToolbar: false, viewDate: (0, moment_1.default)().set({ hour: dateTime[0], minute: dateTime[1], second: dateTime[2] || 0 }), timeConstraints: timeConstraints, isValidDate: this.checkIsValidDate })));
369
+ };
370
+ CalendarMobile.prototype.render = function () {
371
+ var _a = this.props, className = _a.className, cx = _a.classnames, embed = _a.embed, close = _a.close, confirm = _a.confirm, footerExtra = _a.footerExtra, timeFormat = _a.timeFormat, showViewMode = _a.showViewMode, isDatePicker = _a.isDatePicker;
372
+ var __ = this.props.translate;
373
+ var _b = this.state, startDate = _b.startDate, endDate = _b.endDate, currentDate = _b.currentDate, showToast = _b.showToast, isScrollToBottom = _b.isScrollToBottom, minDate = _b.minDate, maxDate = _b.maxDate;
374
+ var dateNow = currentDate
375
+ ? currentDate.format(__("Calendar." + (showViewMode === 'months' ? 'yearmonth' : 'year')))
376
+ : (0, moment_1.default)().format(__("Calendar." + (showViewMode === 'months' ? 'yearmonth' : 'year')));
377
+ var header = (react_1.default.createElement("div", { className: cx('CalendarMobile-header'), ref: this.mobileHeader },
378
+ react_1.default.createElement("div", { className: cx('CalendarMobile-subtitle') },
379
+ react_1.default.createElement("span", { className: "subtitle-text" },
380
+ currentDate && currentDate.isSameOrBefore(minDate, showViewMode)
381
+ ? null
382
+ : react_1.default.createElement("a", { className: "rdtPrev", onClick: this.scrollPreYear }, "\u2039"),
383
+ dateNow,
384
+ currentDate && currentDate.isSameOrAfter(maxDate, showViewMode) || isScrollToBottom
385
+ ? null
386
+ : react_1.default.createElement("a", { className: "rdtNext", onClick: this.scrollAfterYear }, "\u203A"))),
387
+ showViewMode === 'months' ? react_1.default.createElement("div", { className: cx('CalendarMobile-weekdays') }, this.getDaysOfWeek().map(function (day, index) { return (react_1.default.createElement("span", { key: day + index, className: "weekday" }, day)); })) : null));
388
+ var footer = (react_1.default.createElement("div", { className: cx('CalendarMobile-footer') },
389
+ timeFormat && startDate && this.renderMobileTimePicker(),
390
+ react_1.default.createElement("div", { className: cx('CalendarMobile-footer-toolbar') },
391
+ react_1.default.createElement("div", { className: cx('CalendarMobile-footer-ranges') }, footerExtra),
392
+ confirm && !embed && react_1.default.createElement("a", { className: cx('Button', 'Button--primary', 'date-range-confirm', {
393
+ 'is-disabled': !startDate || !(endDate || isDatePicker)
394
+ }), onClick: function () {
395
+ confirm(startDate, endDate);
396
+ close && close();
397
+ } }, __('confirm')))));
398
+ return (react_1.default.createElement("div", { className: cx('CalendarMobile', embed ? 'CalendarMobile-embed' : '', className) },
399
+ react_1.default.createElement("div", { className: cx('CalendarMobile-wrap') },
400
+ header,
401
+ this.renderMobileCalendarBody(),
402
+ footer),
403
+ showToast ? react_1.default.createElement("div", { className: cx('CalendarMobile-toast') }, __('Calendar.toast')) : null));
404
+ };
405
+ var _a, _b, _c;
406
+ CalendarMobile.defaultProps = {
407
+ showViewMode: 'months'
408
+ };
409
+ (0, tslib_1.__decorate)([
410
+ helper_1.autobind,
411
+ (0, tslib_1.__metadata)("design:type", Function),
412
+ (0, tslib_1.__metadata)("design:paramtypes", [Object]),
413
+ (0, tslib_1.__metadata)("design:returntype", void 0)
414
+ ], CalendarMobile.prototype, "onMobileBodyScroll", null);
415
+ (0, tslib_1.__decorate)([
416
+ helper_1.autobind,
417
+ (0, tslib_1.__metadata)("design:type", Function),
418
+ (0, tslib_1.__metadata)("design:paramtypes", []),
419
+ (0, tslib_1.__metadata)("design:returntype", void 0)
420
+ ], CalendarMobile.prototype, "scrollPreYear", null);
421
+ (0, tslib_1.__decorate)([
422
+ helper_1.autobind,
423
+ (0, tslib_1.__metadata)("design:type", Function),
424
+ (0, tslib_1.__metadata)("design:paramtypes", []),
425
+ (0, tslib_1.__metadata)("design:returntype", void 0)
426
+ ], CalendarMobile.prototype, "scrollAfterYear", null);
427
+ (0, tslib_1.__decorate)([
428
+ helper_1.autobind,
429
+ (0, tslib_1.__metadata)("design:type", Function),
430
+ (0, tslib_1.__metadata)("design:paramtypes", [Boolean]),
431
+ (0, tslib_1.__metadata)("design:returntype", void 0)
432
+ ], CalendarMobile.prototype, "handleCalendarClick", null);
433
+ (0, tslib_1.__decorate)([
434
+ helper_1.autobind,
435
+ (0, tslib_1.__metadata)("design:type", Function),
436
+ (0, tslib_1.__metadata)("design:paramtypes", [Object]),
437
+ (0, tslib_1.__metadata)("design:returntype", void 0)
438
+ ], CalendarMobile.prototype, "handleTimeChange", null);
439
+ (0, tslib_1.__decorate)([
440
+ helper_1.autobind,
441
+ (0, tslib_1.__metadata)("design:type", Function),
442
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_a = typeof moment_1.default !== "undefined" && moment_1.default.Moment) === "function" ? _a : Object]),
443
+ (0, tslib_1.__metadata)("design:returntype", void 0)
444
+ ], CalendarMobile.prototype, "checkIsValidDate", null);
445
+ (0, tslib_1.__decorate)([
446
+ helper_1.autobind,
447
+ (0, tslib_1.__metadata)("design:type", Function),
448
+ (0, tslib_1.__metadata)("design:paramtypes", [Object, typeof (_b = typeof moment_1.default !== "undefined" && moment_1.default.Moment) === "function" ? _b : Object]),
449
+ (0, tslib_1.__metadata)("design:returntype", void 0)
450
+ ], CalendarMobile.prototype, "renderMobileDay", null);
451
+ (0, tslib_1.__decorate)([
452
+ helper_1.autobind,
453
+ (0, tslib_1.__metadata)("design:type", Function),
454
+ (0, tslib_1.__metadata)("design:paramtypes", [Object, Number, Number]),
455
+ (0, tslib_1.__metadata)("design:returntype", void 0)
456
+ ], CalendarMobile.prototype, "renderMonth", null);
457
+ (0, tslib_1.__decorate)([
458
+ helper_1.autobind,
459
+ (0, tslib_1.__metadata)("design:type", Function),
460
+ (0, tslib_1.__metadata)("design:paramtypes", [Object, Number, Number]),
461
+ (0, tslib_1.__metadata)("design:returntype", void 0)
462
+ ], CalendarMobile.prototype, "renderQuarter", null);
463
+ (0, tslib_1.__decorate)([
464
+ helper_1.autobind,
465
+ (0, tslib_1.__metadata)("design:type", Function),
466
+ (0, tslib_1.__metadata)("design:paramtypes", [typeof (_c = typeof moment_1.default !== "undefined" && moment_1.default.Moment) === "function" ? _c : Object]),
467
+ (0, tslib_1.__metadata)("design:returntype", void 0)
468
+ ], CalendarMobile.prototype, "handleMobileChange", null);
469
+ (0, tslib_1.__decorate)([
470
+ helper_1.autobind,
471
+ (0, tslib_1.__metadata)("design:type", Function),
472
+ (0, tslib_1.__metadata)("design:paramtypes", []),
473
+ (0, tslib_1.__metadata)("design:returntype", void 0)
474
+ ], CalendarMobile.prototype, "renderMobileCalendarBody", null);
475
+ (0, tslib_1.__decorate)([
476
+ helper_1.autobind,
477
+ (0, tslib_1.__metadata)("design:type", Function),
478
+ (0, tslib_1.__metadata)("design:paramtypes", []),
479
+ (0, tslib_1.__metadata)("design:returntype", void 0)
480
+ ], CalendarMobile.prototype, "renderMobileTimePicker", null);
481
+ return CalendarMobile;
482
+ }(react_1.default.Component));
483
+ exports.CalendarMobile = CalendarMobile;
484
+ ;
485
+ exports.default = (0, theme_1.themeable)((0, locale_1.localeable)(CalendarMobile));
486
+ //# sourceMappingURL=./components/CalendarMobile.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "CalendarMobile.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/components/CalendarMobile.tsx"
7
+ ],
8
+ "names": [],
9
+ "mappings": "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",
10
+ "sourcesContent": [
11
+ "/**\n * @file CalendarMobile\n * @description 移动端日历组件\n * @author hongyang03\n */\n\nimport React from 'react';\nimport moment from 'moment';\nimport Calendar from './calendar/Calendar';\nimport {themeable, ThemeProps} from '../theme';\nimport {LocaleProps, localeable} from '../locale';\nimport {autobind} from '../utils/helper';\n\nexport interface CalendarMobileProps extends ThemeProps, LocaleProps {\n className?: string;\n timeFormat?: string;\n inputFormat?: string;\n startDate?: moment.Moment;\n endDate?: moment.Moment;\n minDate?: moment.Moment;\n maxDate?: moment.Moment;\n minDuration?: moment.Duration;\n maxDuration?: moment.Duration;\n dateFormat?: string;\n embed?: boolean;\n viewMode?: 'days' | 'months' | 'years' | 'time' | 'quarters';\n close?: () => void;\n confirm?: (startDate?: any, endTime?: any) => void;\n onChange?: (data: any, callback?: () => void) => void;\n footerExtra?: JSX.Element | null;\n showViewMode?: 'years' | 'months';\n isDatePicker?: boolean;\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 defaultDate?: moment.Moment;\n}\n\nexport interface CalendarMobileState {\n startDate?: moment.Moment;\n endDate?: moment.Moment;\n monthHeights?: number[];\n currentDate: moment.Moment;\n showToast: boolean;\n isScrollToBottom: boolean;\n dateTime: any;\n minDate?: moment.Moment;\n maxDate?: moment.Moment;\n}\n\nexport class CalendarMobile extends React.Component<\n CalendarMobileProps,\n CalendarMobileState\n> {\n\n mobileBody: any;\n mobileHeader: any;\n timer: any;\n\n static defaultProps: Pick<CalendarMobileProps, 'showViewMode'> = {\n showViewMode: 'months'\n };\n\n constructor(props: CalendarMobileProps) {\n super(props);\n\n this.mobileBody = React.createRef();\n this.mobileHeader = React.createRef();\n\n const {startDate, endDate, defaultDate, minDate, maxDate} = this.props;\n const dateRange = this.getDateRange(minDate, maxDate, defaultDate);\n\n this.state = {\n minDate: dateRange.minDate,\n maxDate: dateRange.maxDate,\n startDate,\n endDate,\n showToast: false,\n currentDate: dateRange.currentDate,\n isScrollToBottom: false,\n dateTime: endDate ? [endDate.hour(), endDate.minute()] : [0, 0]\n };\n }\n\n getDateRange(minDate?: moment.Moment, maxDate?: moment.Moment, defaultDate?: moment.Moment) {\n !moment.isMoment(minDate) || !minDate.isValid() && (minDate = undefined);\n !moment.isMoment(maxDate) || !maxDate.isValid() && (maxDate = undefined);\n\n let currentDate = defaultDate || moment();\n let dateRange: {\n minDate: moment.Moment,\n maxDate: moment.Moment\n } = {\n minDate: currentDate.clone().subtract(1, 'year').startOf('months'),\n maxDate: currentDate.clone().add(1, 'year').endOf('months')\n };\n if (minDate && maxDate) {\n dateRange = {\n minDate,\n maxDate\n };\n }\n else if (minDate && !maxDate) {\n dateRange = {\n minDate,\n maxDate: moment(minDate).add(2, 'year')\n };\n currentDate = minDate.clone();\n }\n else if (!minDate && maxDate) {\n dateRange = {\n minDate: moment(maxDate).subtract(2, 'year'),\n maxDate\n };\n currentDate = maxDate.clone();\n }\n\n if (!currentDate.isBetween(dateRange.minDate, dateRange.maxDate, 'days', '[]')) {\n currentDate = dateRange.minDate.clone();\n }\n return {\n ...dateRange,\n currentDate\n };\n }\n\n componentDidMount() {\n this.initMonths();\n }\n\n componentDidUpdate(prevProps: CalendarMobileProps) {\n const props = this.props;\n\n if (prevProps.minDate !== props.minDate || prevProps.maxDate !== props.maxDate) {\n const currentDate = this.state.currentDate;\n const dateRange = this.getDateRange(props.minDate, props.maxDate, moment(currentDate));\n this.setState(\n {\n minDate: dateRange.minDate,\n maxDate: dateRange.maxDate,\n currentDate: dateRange.currentDate,\n },\n () => this.initMonths()\n );\n }\n }\n\n componentWillUnmount() {\n this.setState({showToast: false});\n clearTimeout(this.timer);\n }\n\n initMonths() {\n if (this.mobileBody.current) {\n const header = this.mobileHeader.current;\n let monthHeights: number[] = [];\n const monthCollection = this.mobileBody.current.children;\n for (let i = 0; i < monthCollection.length; i++) {\n monthHeights[i] = monthCollection[i].offsetTop - header.clientHeight;\n }\n this.setState({\n monthHeights\n });\n const defaultDate = this.props.defaultDate || this.state.currentDate;\n this.scollToDate(defaultDate ? moment(defaultDate) : moment());\n }\n }\n\n scollToDate(date: moment.Moment) {\n const {showViewMode} = this.props;\n const {minDate} = this.state;\n const index = date.diff(minDate, showViewMode);\n const currentEl = this.mobileBody.current.children[index];\n if (!currentEl) {\n return;\n }\n const header = this.mobileHeader.current;\n this.mobileBody.current.scrollBy(0, currentEl.offsetTop - this.mobileBody.current.scrollTop - header.clientHeight);\n }\n\n @autobind\n onMobileBodyScroll(e: any) {\n const {showViewMode} = this.props;\n const {monthHeights} = this.state;\n let minDate = this.state.minDate?.clone();\n if (!this.mobileBody?.current || !monthHeights || !minDate) {\n return;\n }\n const scrollTop = this.mobileBody.current.scrollTop;\n const clientHeight = this.mobileBody.current.clientHeight;\n const scrollHeight = this.mobileBody.current.scrollHeight;\n \n let i = 0;\n for(i; i < monthHeights.length; i++) {\n if (scrollTop < monthHeights[i]) {\n break;\n }\n }\n i--;\n i < 0 && (i = 0);\n const currentDate = minDate.add(i, showViewMode);\n this.setState({\n currentDate,\n isScrollToBottom: scrollTop + clientHeight === scrollHeight\n });\n }\n\n @autobind\n scrollPreYear() {\n if (!this.state.currentDate) {\n return;\n }\n let {currentDate, minDate} = this.state;\n currentDate = currentDate.clone().subtract(1, 'years');\n if (minDate && currentDate.isBefore(minDate)) {\n currentDate = minDate;\n }\n this.setState({\n currentDate\n });\n this.scollToDate(currentDate);\n }\n\n @autobind\n scrollAfterYear() {\n if (!this.state.currentDate) {\n return;\n }\n let {currentDate, maxDate} = this.state;\n currentDate = currentDate.clone().add(1, 'years');\n if (maxDate && currentDate.isAfter(maxDate)) {\n currentDate = maxDate;\n }\n this.setState({\n currentDate\n });\n this.scollToDate(currentDate);\n }\n\n getDaysOfWeek() {\n const locale = moment().localeData();\n const days = locale.weekdaysMin();\n const first = locale.firstDayOfWeek();\n const\tdow: string[] = [];\n let\ti = 0;\n\n days.forEach((day: string) => {\n dow[ (7 + ( i++ ) - first) % 7 ] = day;\n });\n\n return dow;\n }\n\n @autobind\n handleCalendarClick(isDisabled: boolean) {\n if (isDisabled) {\n this.setState({showToast: true});\n this.timer = setTimeout(() => {\n this.setState({showToast: false});\n }, 2000);\n }\n }\n\n getRenderProps(props: any, currentDate: moment.Moment) {\n let {startDate, endDate} = this.state;\n const {translate: __, viewMode, isDatePicker} = this.props;\n const precision = viewMode === 'time' ? 'hours' : viewMode || 'day';\n let footerText = '';\n\n if (startDate &&\n endDate &&\n currentDate.isBetween(startDate, endDate, precision, '()')) {\n props.className += ' rdtBetween';\n }\n else if (startDate\n && endDate\n && startDate.isSame(endDate, precision)\n && currentDate.isSame(startDate, precision)) {\n props.className += ' rdtRangeStart';\n footerText = __('Calendar.beginAndEnd');\n }\n else if (startDate && currentDate.isSame(startDate, precision)) {\n props.className += ' rdtRangeStart';\n footerText = __('Calendar.begin');\n if (endDate) {\n props.className += ' rdtRangeHasEnd';\n }\n }\n else if (endDate && currentDate.isSame(endDate, precision)) {\n props.className += ' rdtRangeEnd';\n footerText = __('Calendar.end');\n }\n\n if (precision === 'day' && currentDate.date() === 1 && currentDate.day() === 1) {\n props.className += ' rdtOldNone';\n }\n\n if (isDatePicker) {\n footerText = '';\n }\n\n const rdtDisabled = props.className.indexOf('rdtDisabled') > -1;\n\n return {\n props,\n footerText,\n rdtDisabled\n };\n }\n\n @autobind\n handleTimeChange(newTime: any) {\n if (!newTime) {\n return;\n }\n const {onChange} = this.props;\n let {startDate, endDate} = this.state;\n if (startDate) {\n let obj = {\n dateTime: newTime,\n startDate: endDate ? startDate : startDate?.clone().set({hour: newTime[0], minute: newTime[1], second: newTime[2] || 0}),\n endDate: !endDate ? endDate : endDate?.clone().set({hour: newTime[0], minute: newTime[1], second: newTime[2] || 0})\n };\n this.setState(obj, () => {\n onChange && onChange(this.state);\n });\n }\n }\n\n @autobind\n checkIsValidDate(currentDate: moment.Moment) {\n const {startDate, endDate, minDate, maxDate} = this.state;\n let {minDuration, maxDuration, viewMode} = this.props;\n const precision = viewMode === 'time' ? 'hours' : viewMode || 'day';\n\n if (minDate && currentDate.isBefore(minDate, precision)) {\n return false;\n }\n else if (maxDate && currentDate.isAfter(maxDate, precision)) {\n return false;\n }\n else if (startDate && !endDate) {\n if (minDuration\n && currentDate.isBefore(startDate.clone().add(minDuration))\n && currentDate.isSameOrAfter(startDate)) {\n return false;\n }\n else if (maxDuration && currentDate.isAfter(startDate.clone().add(maxDuration))) {\n return false;\n }\n }\n\n return true;\n }\n\n @autobind\n renderMobileDay(props: any, currentDate: moment.Moment) {\n const cx = this.props.classnames;\n const renderProps = this.getRenderProps(props, currentDate);\n\n return <td {...renderProps.props}>\n <div className=\"calendar-wrap\" onClick={() => this.handleCalendarClick(renderProps.rdtDisabled)}>\n {currentDate.date()}\n <div className={cx('CalendarMobile-range-text')}>{renderProps.footerText}</div>\n </div>\n </td>;\n }\n\n @autobind\n renderMonth(props: any, month: number, year: number) {\n const cx = this.props.classnames;\n const currentDate = moment().year(year).month(month);\n const monthStr = currentDate\n .localeData()\n .monthsShort(currentDate.month(month));\n const strLength = 3;\n const monthStrFixedLength = monthStr.substring(0, strLength);\n const renderProps = this.getRenderProps(props, currentDate);\n\n return (\n <td {...renderProps.props}>\n <div className=\"calendar-wrap\" onClick={() => this.handleCalendarClick(renderProps.rdtDisabled)}>\n {monthStrFixedLength}\n <div className={cx('CalendarMobile-range-text')}>{renderProps.footerText}</div>\n </div>\n </td>\n );\n }\n\n @autobind\n renderQuarter(props: any, quarter: number, year: number) {\n const cx = this.props.classnames;\n const currentDate = moment().year(year).quarter(quarter);\n const renderProps = this.getRenderProps(props, currentDate);\n\n return (\n <td {...props}>\n <div className=\"calendar-wrap\" onClick={() => this.handleCalendarClick(renderProps.rdtDisabled)}>\n Q{quarter}\n <div className={cx('CalendarMobile-range-text')}>{renderProps.footerText}</div>\n </div>\n </td>\n );\n }\n\n @autobind\n handleMobileChange(newValue: moment.Moment) {\n const {embed, minDuration, maxDuration, confirm, onChange, viewMode, isDatePicker} = this.props;\n const {startDate, endDate, dateTime, minDate, maxDate} = this.state;\n const precision = viewMode === 'time' ? 'hours' : viewMode || 'day';\n\n if (minDate && newValue && newValue.isBefore(minDate, 'second')) {\n newValue = minDate;\n }\n\n if (maxDate && newValue && newValue.isAfter(maxDate, 'second')) {\n newValue = maxDate;\n }\n\n if (\n !isDatePicker &&\n startDate &&\n !endDate &&\n newValue.isSameOrAfter(startDate) &&\n (!minDuration || newValue.isSameOrAfter(startDate.clone().add(minDuration))) &&\n (!maxDuration || newValue.isSameOrBefore(startDate.clone().add(maxDuration)))\n ) {\n return this.setState(\n {\n endDate: newValue.clone().endOf(precision).set({hour: dateTime[0], minute: dateTime[1], second: dateTime[2] || 0})\n },\n () => {\n onChange && onChange(this.state, () => embed && confirm && confirm(startDate, endDate));\n }\n );\n }\n\n this.setState(\n {\n startDate: newValue.clone().startOf(precision).set({hour: dateTime[0], minute: dateTime[1], second: dateTime[2] || 0}),\n endDate: undefined\n },\n () => {\n onChange && onChange(this.state);\n }\n );\n }\n\n @autobind\n renderMobileCalendarBody() {\n const {\n classnames: cx,\n dateFormat,\n timeFormat,\n inputFormat,\n locale,\n viewMode = 'days',\n close,\n defaultDate,\n showViewMode\n } = this.props;\n const __ = this.props.translate;\n\n const {minDate, maxDate} = this.state;\n if (!minDate || !maxDate) {\n return;\n }\n let calendarDates: moment.Moment[] = [];\n for(let minDateClone = minDate.clone(); minDateClone.isSameOrBefore(maxDate); minDateClone.add(1, showViewMode)) {\n let date = minDateClone.clone();\n if (defaultDate) {\n date = moment(defaultDate).set({year: date.get('year'), month: date.get('month')});\n }\n calendarDates.push(date);\n }\n\n return (\n <div className={cx('CalendarMobile-body')} ref={this.mobileBody}\n onScroll={this.onMobileBodyScroll}>\n {calendarDates.map((calendarDate: moment.Moment, index: number) => {\n const rdtOldNone = showViewMode === 'months'\n && calendarDate.clone().startOf('month').day() === 1\n ? 'rdtOldNone' : '';\n\n return <div className={cx('CalendarMobile-calendar-wrap', rdtOldNone)} key={'calendar-wrap' + index}>\n {showViewMode === 'months' && <div className={cx('CalendarMobile-calendar-mark')} key={'calendar-mark' + index}>\n {calendarDate.month() + 1}\n </div>}\n <div className={cx('CalendarMobile-calendar-header')}>\n <span className=\"rdtSwitch\">\n {calendarDate.format(__('dateformat.year'))}\n </span>\n {showViewMode === 'months' && <span className=\"rdtSwitch\">\n {calendarDate.format(__('MMM'))}\n </span>}\n </div>\n <Calendar\n className={cx('CalendarMobile-calendar', rdtOldNone)}\n viewDate={calendarDate}\n value={calendarDate}\n onChange={this.handleMobileChange}\n requiredConfirm={false}\n dateFormat={dateFormat}\n inputFormat={inputFormat}\n timeFormat=''\n isValidDate={this.checkIsValidDate}\n viewMode={viewMode}\n input={false}\n onClose={close}\n renderDay={this.renderMobileDay}\n renderMonth={this.renderMonth}\n renderQuarter={this.renderQuarter}\n locale={locale}\n hideHeader={true}\n updateOn={viewMode}\n key={'calendar' + index}\n />\n </div>\n })}\n </div>\n );\n }\n\n @autobind\n renderMobileTimePicker() {\n const {\n classnames: cx,\n timeFormat,\n locale,\n close,\n timeConstraints,\n defaultDate,\n isDatePicker\n } = this.props;\n const __ = this.props.translate;\n\n const {startDate, endDate, dateTime} = this.state;\n\n return (\n <div className={cx('CalendarMobile-time')}>\n <div className={cx('CalendarMobile-time-title')}>\n {isDatePicker ? __('Date.titleTime') : startDate && endDate ? __('Calendar.endPick') : __('Calendar.startPick')}\n </div>\n <Calendar\n className={cx('CalendarMobile-time-calendar')}\n value={defaultDate}\n onChange={this.handleTimeChange}\n requiredConfirm={false}\n timeFormat={timeFormat}\n viewMode=\"time\"\n input={false}\n onClose={close}\n locale={locale}\n useMobileUI={true}\n showToolbar={false}\n viewDate={moment().set({hour: dateTime[0], minute: dateTime[1], second: dateTime[2] || 0})}\n timeConstraints={timeConstraints}\n isValidDate={this.checkIsValidDate}\n />\n </div>\n );\n }\n\n\n render() {\n const {\n className,\n classnames: cx,\n embed,\n close,\n confirm,\n footerExtra,\n timeFormat,\n showViewMode,\n isDatePicker\n } = this.props;\n const __ = this.props.translate;\n\n const {startDate, endDate, currentDate, showToast, isScrollToBottom, minDate, maxDate} = this.state;\n let dateNow = currentDate\n ? currentDate.format(__(`Calendar.${showViewMode === 'months' ? 'yearmonth' : 'year'}`))\n : moment().format(__(`Calendar.${showViewMode === 'months' ? 'yearmonth' : 'year'}`));\n\n const header = (\n <div className={cx('CalendarMobile-header')} ref={this.mobileHeader}>\n <div className={cx('CalendarMobile-subtitle')}>\n <span className=\"subtitle-text\">\n {currentDate && currentDate.isSameOrBefore(minDate, showViewMode)\n ? null\n : <a className=\"rdtPrev\" onClick={this.scrollPreYear}>&lsaquo;</a>}\n {dateNow}\n {currentDate && currentDate.isSameOrAfter(maxDate, showViewMode) || isScrollToBottom\n ? null\n : <a className=\"rdtNext\" onClick={this.scrollAfterYear}>&rsaquo;</a>}\n </span>\n </div>\n {showViewMode === 'months' ? <div className={cx('CalendarMobile-weekdays')}>\n {this.getDaysOfWeek().map((day: string, index: number) => (\n <span key={day + index} className=\"weekday\">\n {day}\n </span>\n ))}\n </div> : null}\n </div>\n );\n\n const footer = (\n <div className={cx('CalendarMobile-footer')}>\n {timeFormat && startDate && this.renderMobileTimePicker()}\n <div className={cx('CalendarMobile-footer-toolbar')}>\n <div className={cx('CalendarMobile-footer-ranges')}>\n {footerExtra}\n </div>\n {confirm && !embed && <a\n className={cx('Button', 'Button--primary', 'date-range-confirm', {\n 'is-disabled': !startDate || !(endDate || isDatePicker)\n })}\n onClick={() => {\n confirm(startDate, endDate);\n close && close();\n }}\n >\n {__('confirm')}\n </a>}\n </div>\n </div>\n );\n\n return (\n <div className={cx('CalendarMobile',\n embed ? 'CalendarMobile-embed' : '',\n className)}>\n <div className={cx('CalendarMobile-wrap')}>\n {header}\n {this.renderMobileCalendarBody()}\n {footer}\n </div>\n {showToast? <div className={cx('CalendarMobile-toast')}>{__('Calendar.toast')}</div> : null}\n </div>\n );\n }\n};\n\nexport default themeable(localeable(CalendarMobile));"
12
+ ]
13
+ }