amis 1.5.7 → 1.5.8-beta.2

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 (350) hide show
  1. package/.husky/pre-commit +1 -1
  2. package/lib/Schema.d.ts +3 -2
  3. package/lib/Schema.js.map +1 -1
  4. package/lib/components/AssociatedSelection.d.ts +84 -84
  5. package/lib/components/AssociatedSelection.js +2 -2
  6. package/lib/components/AssociatedSelection.js.map +2 -2
  7. package/lib/components/Avatar.d.ts +135 -0
  8. package/lib/components/Avatar.js +120 -0
  9. package/lib/components/Avatar.js.map +13 -0
  10. package/lib/components/BaiduMapPicker.js.map +2 -2
  11. package/lib/components/CalendarMobile.d.ts +547 -0
  12. package/lib/components/CalendarMobile.js +432 -0
  13. package/lib/components/CalendarMobile.js.map +13 -0
  14. package/lib/components/Card.d.ts +20 -20
  15. package/lib/components/ChainedSelection.d.ts +84 -84
  16. package/lib/components/ChainedSelection.js +15 -3
  17. package/lib/components/ChainedSelection.js.map +2 -2
  18. package/lib/components/ColorPicker.d.ts +84 -84
  19. package/lib/components/ColorPicker.js.map +2 -2
  20. package/lib/components/DatePicker.d.ts +84 -84
  21. package/lib/components/DatePicker.js +10 -4
  22. package/lib/components/DatePicker.js.map +2 -2
  23. package/lib/components/DateRangePicker.d.ts +85 -84
  24. package/lib/components/DateRangePicker.js +21 -6
  25. package/lib/components/DateRangePicker.js.map +2 -2
  26. package/lib/components/GroupedSelection.d.ts +84 -84
  27. package/lib/components/GroupedSelection.js +14 -2
  28. package/lib/components/GroupedSelection.js.map +2 -2
  29. package/lib/components/MonthRangePicker.d.ts +85 -84
  30. package/lib/components/MonthRangePicker.js +19 -6
  31. package/lib/components/MonthRangePicker.js.map +2 -2
  32. package/lib/components/Overlay.d.ts +1 -1
  33. package/lib/components/Overlay.js.map +1 -1
  34. package/lib/components/Picker.js +9 -4
  35. package/lib/components/Picker.js.map +2 -2
  36. package/lib/components/PickerColumn.js +0 -1
  37. package/lib/components/PickerColumn.js.map +2 -2
  38. package/lib/components/PickerContainer.d.ts +3 -0
  39. package/lib/components/PickerContainer.js +12 -5
  40. package/lib/components/PickerContainer.js.map +2 -2
  41. package/lib/components/PopUp.d.ts +1 -0
  42. package/lib/components/PopUp.js +5 -5
  43. package/lib/components/PopUp.js.map +2 -2
  44. package/lib/components/ResultBox.js +2 -1
  45. package/lib/components/ResultBox.js.map +2 -2
  46. package/lib/components/ResultList.d.ts +9 -2
  47. package/lib/components/ResultList.js +22 -2
  48. package/lib/components/ResultList.js.map +2 -2
  49. package/lib/components/Select.d.ts +237 -237
  50. package/lib/components/Select.js +1 -1
  51. package/lib/components/Select.js.map +1 -1
  52. package/lib/components/Selection.d.ts +94 -86
  53. package/lib/components/Selection.js +11 -2
  54. package/lib/components/Selection.js.map +2 -2
  55. package/lib/components/Steps.js.map +2 -2
  56. package/lib/components/TableSelection.d.ts +85 -85
  57. package/lib/components/TableSelection.js +1 -9
  58. package/lib/components/TableSelection.js.map +2 -2
  59. package/lib/components/Tabs.js +31 -33
  60. package/lib/components/Tabs.js.map +2 -2
  61. package/lib/components/TabsTransfer.d.ts +87 -256
  62. package/lib/components/TabsTransfer.js +52 -9
  63. package/lib/components/TabsTransfer.js.map +2 -2
  64. package/lib/components/TabsTransferPicker.d.ts +1 -1
  65. package/lib/components/TabsTransferPicker.js +20 -18
  66. package/lib/components/TabsTransferPicker.js.map +2 -2
  67. package/lib/components/Timeline.d.ts +69 -0
  68. package/lib/components/Timeline.js +16 -0
  69. package/lib/components/Timeline.js.map +13 -0
  70. package/lib/components/TimelineItem.d.ts +516 -0
  71. package/lib/components/TimelineItem.js +41 -0
  72. package/lib/components/TimelineItem.js.map +13 -0
  73. package/lib/components/Transfer.d.ts +100 -98
  74. package/lib/components/Transfer.js +2 -3
  75. package/lib/components/Transfer.js.map +2 -2
  76. package/lib/components/TransferDropDown.d.ts +84 -84
  77. package/lib/components/TransferDropDown.js +1 -5
  78. package/lib/components/TransferDropDown.js.map +2 -2
  79. package/lib/components/TransferPicker.d.ts +1 -0
  80. package/lib/components/TransferPicker.js +19 -4
  81. package/lib/components/TransferPicker.js.map +2 -2
  82. package/lib/components/TreeSelection.d.ts +85 -85
  83. package/lib/components/TreeSelection.js +7 -1
  84. package/lib/components/TreeSelection.js.map +2 -2
  85. package/lib/components/calendar/Calendar.d.ts +5 -0
  86. package/lib/components/calendar/Calendar.js +15 -2
  87. package/lib/components/calendar/Calendar.js.map +2 -2
  88. package/lib/components/calendar/DaysView.d.ts +1 -0
  89. package/lib/components/calendar/DaysView.js +25 -13
  90. package/lib/components/calendar/DaysView.js.map +2 -2
  91. package/lib/components/calendar/MonthsView.d.ts +28 -0
  92. package/lib/components/calendar/MonthsView.js +79 -3
  93. package/lib/components/calendar/MonthsView.js.map +2 -2
  94. package/lib/components/calendar/QuartersView.d.ts +1 -0
  95. package/lib/components/calendar/QuartersView.js +2 -2
  96. package/lib/components/calendar/QuartersView.js.map +2 -2
  97. package/lib/components/calendar/TimeView.d.ts +5 -0
  98. package/lib/components/calendar/TimeView.js +8 -5
  99. package/lib/components/calendar/TimeView.js.map +2 -2
  100. package/lib/components/calendar/YearsView.js +6 -4
  101. package/lib/components/calendar/YearsView.js.map +2 -2
  102. package/lib/components/condition-builder/Field.js +1 -4
  103. package/lib/components/condition-builder/Field.js.map +2 -2
  104. package/lib/components/condition-builder/Func.js +1 -1
  105. package/lib/components/condition-builder/Func.js.map +2 -2
  106. package/lib/components/formula/Editor.d.ts +3 -0
  107. package/lib/components/formula/Editor.js +3 -2
  108. package/lib/components/formula/Editor.js.map +2 -2
  109. package/lib/components/formula/FuncList.js +2 -1
  110. package/lib/components/formula/FuncList.js.map +2 -2
  111. package/lib/components/formula/Picker.js +1 -1
  112. package/lib/components/formula/Picker.js.map +2 -2
  113. package/lib/components/icons.js +2 -0
  114. package/lib/components/icons.js.map +2 -2
  115. package/lib/components/index.d.ts +2 -1
  116. package/lib/components/index.js +4 -2
  117. package/lib/components/index.js.map +2 -2
  118. package/lib/components/virtual-list/SizeAndPositionManager.js.map +2 -2
  119. package/lib/components/virtual-list/index.js +1 -2
  120. package/lib/components/virtual-list/index.js.map +2 -2
  121. package/lib/factory.js +5 -0
  122. package/lib/factory.js.map +2 -2
  123. package/lib/icons/tree-down.js +7 -0
  124. package/lib/index.d.ts +1 -0
  125. package/lib/index.js +2 -1
  126. package/lib/index.js.map +2 -2
  127. package/lib/locale/de-DE.js +13 -2
  128. package/lib/locale/de-DE.js.map +2 -2
  129. package/lib/locale/en-US.js +13 -2
  130. package/lib/locale/en-US.js.map +2 -2
  131. package/lib/locale/zh-CN.js +12 -1
  132. package/lib/locale/zh-CN.js.map +2 -2
  133. package/lib/renderers/Avatar.d.ts +35 -26
  134. package/lib/renderers/Avatar.js +14 -19
  135. package/lib/renderers/Avatar.js.map +2 -2
  136. package/lib/renderers/Card.js +6 -5
  137. package/lib/renderers/Card.js.map +2 -2
  138. package/lib/renderers/Custom.js.map +2 -2
  139. package/lib/renderers/Each.js +5 -2
  140. package/lib/renderers/Each.js.map +2 -2
  141. package/lib/renderers/Flex.js +1 -5
  142. package/lib/renderers/Flex.js.map +2 -2
  143. package/lib/renderers/Form/ChartRadios.js.map +2 -2
  144. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  145. package/lib/renderers/Form/DiffEditor.js +2 -1
  146. package/lib/renderers/Form/DiffEditor.js.map +2 -2
  147. package/lib/renderers/Form/InputCity.d.ts +84 -84
  148. package/lib/renderers/Form/InputColor.d.ts +84 -84
  149. package/lib/renderers/Form/InputColor.js +1 -1
  150. package/lib/renderers/Form/InputColor.js.map +2 -2
  151. package/lib/renderers/Form/InputDate.js +6 -4
  152. package/lib/renderers/Form/InputDate.js.map +2 -2
  153. package/lib/renderers/Form/InputDateRange.js +1 -1
  154. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  155. package/lib/renderers/Form/InputFormula.d.ts +4 -1
  156. package/lib/renderers/Form/InputFormula.js +2 -2
  157. package/lib/renderers/Form/InputFormula.js.map +2 -2
  158. package/lib/renderers/Form/InputImage.d.ts +1 -0
  159. package/lib/renderers/Form/InputImage.js +8 -4
  160. package/lib/renderers/Form/InputImage.js.map +2 -2
  161. package/lib/renderers/Form/InputMonthRange.js +1 -1
  162. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  163. package/lib/renderers/Form/InputQuarterRange.js +1 -1
  164. package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
  165. package/lib/renderers/Form/InputYearRange.js +1 -1
  166. package/lib/renderers/Form/InputYearRange.js.map +2 -2
  167. package/lib/renderers/Form/Item.js +11 -4
  168. package/lib/renderers/Form/Item.js.map +2 -2
  169. package/lib/renderers/Form/NestedSelect.js +1 -1
  170. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  171. package/lib/renderers/Form/Select.js +1 -1
  172. package/lib/renderers/Form/Select.js.map +2 -2
  173. package/lib/renderers/Form/TabsTransfer.d.ts +5 -32
  174. package/lib/renderers/Form/TabsTransfer.js +20 -1
  175. package/lib/renderers/Form/TabsTransfer.js.map +2 -2
  176. package/lib/renderers/Form/TabsTransferPicker.d.ts +5 -35
  177. package/lib/renderers/Form/TabsTransferPicker.js +21 -2
  178. package/lib/renderers/Form/TabsTransferPicker.js.map +2 -2
  179. package/lib/renderers/Form/Transfer.d.ts +15 -4
  180. package/lib/renderers/Form/Transfer.js +55 -18
  181. package/lib/renderers/Form/Transfer.js.map +2 -2
  182. package/lib/renderers/Form/TransferPicker.d.ts +3 -32
  183. package/lib/renderers/Form/TransferPicker.js +1 -1
  184. package/lib/renderers/Form/TransferPicker.js.map +2 -2
  185. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  186. package/lib/renderers/IFrame.js +0 -2
  187. package/lib/renderers/IFrame.js.map +2 -2
  188. package/lib/renderers/Remark.d.ts +4 -0
  189. package/lib/renderers/Remark.js +38 -7
  190. package/lib/renderers/Remark.js.map +2 -2
  191. package/lib/renderers/Steps.js +5 -5
  192. package/lib/renderers/Steps.js.map +2 -2
  193. package/lib/renderers/Table/index.js +4 -1
  194. package/lib/renderers/Table/index.js.map +2 -2
  195. package/lib/renderers/Tabs.js +1 -1
  196. package/lib/renderers/Tabs.js.map +2 -2
  197. package/lib/renderers/Timeline.d.ts +65 -0
  198. package/lib/renderers/Timeline.js +54 -0
  199. package/lib/renderers/Timeline.js.map +13 -0
  200. package/lib/renderers/Video.js.map +2 -2
  201. package/lib/store/combo.js.map +2 -2
  202. package/lib/themes/ang-ie11.css +659 -25
  203. package/lib/themes/ang.css +659 -25
  204. package/lib/themes/ang.css.map +1 -1
  205. package/lib/themes/antd-ie11.css +694 -25
  206. package/lib/themes/antd.css +694 -25
  207. package/lib/themes/antd.css.map +1 -1
  208. package/lib/themes/cxd-ie11.css +696 -25
  209. package/lib/themes/cxd.css +696 -25
  210. package/lib/themes/cxd.css.map +1 -1
  211. package/lib/themes/dark-ie11.css +660 -25
  212. package/lib/themes/dark.css +660 -25
  213. package/lib/themes/dark.css.map +1 -1
  214. package/lib/themes/default.css +696 -25
  215. package/lib/themes/default.css.map +1 -1
  216. package/lib/utils/RootClose.js +3 -1
  217. package/lib/utils/RootClose.js.map +2 -2
  218. package/lib/utils/helper.d.ts +1 -1
  219. package/lib/utils/helper.js +1 -1
  220. package/lib/utils/helper.js.map +2 -2
  221. package/package.json +13 -6
  222. package/schema.json +1042 -541
  223. package/scss/_properties.scss +8 -0
  224. package/scss/components/_avatar.scss +27 -9
  225. package/scss/components/_calendar.scss +280 -0
  226. package/scss/components/_card.scss +1 -1
  227. package/scss/components/_collapse-group.scss +1 -3
  228. package/scss/components/_formula.scss +30 -6
  229. package/scss/components/_modal.scss +18 -0
  230. package/scss/components/_panel.scss +45 -0
  231. package/scss/components/_popup.scss +10 -6
  232. package/scss/components/_timeline.scss +198 -0
  233. package/scss/components/form/_form.scss +168 -0
  234. package/scss/components/form/_result-list.scss +2 -0
  235. package/scss/components/form/_selection.scss +5 -4
  236. package/scss/themes/_antd-variables.scss +42 -0
  237. package/scss/themes/_common.scss +1 -0
  238. package/scss/themes/_cxd-variables.scss +47 -0
  239. package/scss/themes/_dark-variables.scss +1 -0
  240. package/sdk/ang-ie11.css +782 -23
  241. package/sdk/ang.css +791 -26
  242. package/sdk/antd-ie11.css +782 -23
  243. package/sdk/antd.css +826 -26
  244. package/sdk/charts.js +17 -17
  245. package/sdk/codemirror.js +7 -7
  246. package/sdk/color-picker.js +65 -65
  247. package/sdk/cropperjs.js +3 -3
  248. package/sdk/cxd-ie11.css +782 -23
  249. package/sdk/cxd.css +828 -26
  250. package/sdk/dark-ie11.css +783 -24
  251. package/sdk/dark.css +792 -26
  252. package/sdk/exceljs.js +1 -1
  253. package/sdk/locale/de-DE.js +13 -2
  254. package/sdk/markdown.js +69 -69
  255. package/sdk/papaparse.js +1 -1
  256. package/sdk/renderers/Form/CityDB.js +1 -1
  257. package/sdk/rest.js +18 -18
  258. package/sdk/rich-text.js +62 -62
  259. package/sdk/sdk-ie11.css +782 -23
  260. package/sdk/sdk.css +828 -26
  261. package/sdk/sdk.js +1225 -1285
  262. package/sdk/thirds/hls.js/hls.js +18 -18
  263. package/sdk/thirds/mpegts.js/mpegts.js +2 -2
  264. package/sdk/tinymce.js +57 -57
  265. package/src/Schema.ts +3 -0
  266. package/src/components/AssociatedSelection.tsx +5 -1
  267. package/src/components/Avatar.tsx +253 -0
  268. package/src/components/BaiduMapPicker.tsx +19 -14
  269. package/src/components/CalendarMobile.tsx +563 -0
  270. package/src/components/ChainedSelection.tsx +16 -3
  271. package/src/components/ColorPicker.tsx +37 -39
  272. package/src/components/DatePicker.tsx +41 -35
  273. package/src/components/DateRangePicker.tsx +61 -16
  274. package/src/components/GroupedSelection.tsx +14 -2
  275. package/src/components/MonthRangePicker.tsx +57 -17
  276. package/src/components/Overlay.tsx +1 -1
  277. package/src/components/Picker.tsx +41 -36
  278. package/src/components/PickerColumn.tsx +22 -25
  279. package/src/components/PickerContainer.tsx +13 -1
  280. package/src/components/PopUp.tsx +34 -49
  281. package/src/components/ResultBox.tsx +4 -1
  282. package/src/components/ResultList.tsx +36 -6
  283. package/src/components/Select.tsx +1 -1
  284. package/src/components/Selection.tsx +21 -3
  285. package/src/components/Steps.tsx +23 -10
  286. package/src/components/TableSelection.tsx +1 -44
  287. package/src/components/Tabs.tsx +65 -54
  288. package/src/components/TabsTransfer.tsx +78 -9
  289. package/src/components/TabsTransferPicker.tsx +25 -13
  290. package/src/components/Timeline.tsx +31 -0
  291. package/src/components/TimelineItem.tsx +107 -0
  292. package/src/components/Transfer.tsx +11 -8
  293. package/src/components/TransferDropDown.tsx +1 -7
  294. package/src/components/TransferPicker.tsx +25 -4
  295. package/src/components/TreeSelection.tsx +7 -1
  296. package/src/components/calendar/Calendar.tsx +26 -6
  297. package/src/components/calendar/DaysView.tsx +79 -31
  298. package/src/components/calendar/MonthsView.tsx +116 -2
  299. package/src/components/calendar/QuartersView.tsx +3 -2
  300. package/src/components/calendar/TimeView.tsx +26 -16
  301. package/src/components/calendar/YearsView.tsx +14 -16
  302. package/src/components/condition-builder/Field.tsx +1 -3
  303. package/src/components/condition-builder/Func.tsx +1 -1
  304. package/src/components/formula/Editor.tsx +16 -11
  305. package/src/components/formula/FuncList.tsx +3 -1
  306. package/src/components/formula/Picker.tsx +2 -1
  307. package/src/components/icons.tsx +2 -0
  308. package/src/components/index.tsx +2 -0
  309. package/src/components/virtual-list/SizeAndPositionManager.ts +6 -3
  310. package/src/components/virtual-list/index.tsx +4 -6
  311. package/src/factory.tsx +6 -0
  312. package/src/icons/tree-down.svg +5 -0
  313. package/src/index.tsx +1 -0
  314. package/src/locale/de-DE.ts +13 -2
  315. package/src/locale/en-US.ts +13 -2
  316. package/src/locale/zh-CN.ts +12 -1
  317. package/src/renderers/Avatar.tsx +83 -74
  318. package/src/renderers/Card.tsx +10 -6
  319. package/src/renderers/Custom.tsx +6 -3
  320. package/src/renderers/Each.tsx +4 -4
  321. package/src/renderers/Flex.tsx +3 -7
  322. package/src/renderers/Form/ChartRadios.tsx +2 -7
  323. package/src/renderers/Form/Checkboxes.tsx +1 -1
  324. package/src/renderers/Form/DiffEditor.tsx +2 -3
  325. package/src/renderers/Form/InputColor.tsx +1 -1
  326. package/src/renderers/Form/InputDate.tsx +38 -19
  327. package/src/renderers/Form/InputDateRange.tsx +0 -1
  328. package/src/renderers/Form/InputFormula.tsx +9 -4
  329. package/src/renderers/Form/InputImage.tsx +9 -4
  330. package/src/renderers/Form/InputMonthRange.tsx +0 -1
  331. package/src/renderers/Form/InputQuarterRange.tsx +0 -1
  332. package/src/renderers/Form/InputYearRange.tsx +0 -1
  333. package/src/renderers/Form/Item.tsx +15 -4
  334. package/src/renderers/Form/NestedSelect.tsx +1 -1
  335. package/src/renderers/Form/Select.tsx +0 -1
  336. package/src/renderers/Form/TabsTransfer.tsx +28 -38
  337. package/src/renderers/Form/TabsTransferPicker.tsx +28 -46
  338. package/src/renderers/Form/Transfer.tsx +75 -24
  339. package/src/renderers/Form/TransferPicker.tsx +6 -38
  340. package/src/renderers/Form/TreeSelect.tsx +12 -14
  341. package/src/renderers/IFrame.tsx +0 -2
  342. package/src/renderers/Remark.tsx +67 -18
  343. package/src/renderers/Steps.tsx +11 -13
  344. package/src/renderers/Table/index.tsx +7 -1
  345. package/src/renderers/Tabs.tsx +6 -2
  346. package/src/renderers/Timeline.tsx +141 -0
  347. package/src/renderers/Video.tsx +4 -20
  348. package/src/store/combo.ts +1 -3
  349. package/src/utils/RootClose.ts +5 -1
  350. package/src/utils/helper.ts +1 -1
package/src/Schema.ts CHANGED
@@ -56,6 +56,7 @@ import {PaginationSchema} from './renderers/Pagination';
56
56
  import {AnchorNavSchema} from './renderers/AnchorNav';
57
57
  import {AvatarSchema} from './renderers/Avatar';
58
58
  import {StepsSchema} from './renderers/Steps';
59
+ import {TimelineSchema} from './renderers/Timeline';
59
60
  import {ArrayControlSchema} from './renderers/Form/InputArray';
60
61
  import {ButtonGroupControlSchema} from './renderers/Form/ButtonGroupSelect';
61
62
  import {ChainedSelectControlSchema} from './renderers/Form/ChainedSelect';
@@ -201,6 +202,7 @@ export type SchemaType =
201
202
  | 'web-component'
202
203
  | 'anchor-nav'
203
204
  | 'steps'
205
+ | 'timeline'
204
206
  | 'control'
205
207
  | 'input-array'
206
208
  | 'button'
@@ -387,6 +389,7 @@ export type SchemaObject =
387
389
  | AnchorNavSchema
388
390
  | StepsSchema
389
391
  | PortletSchema
392
+ | TimelineSchema
390
393
 
391
394
  // 表单项
392
395
  | FormControlSchema
@@ -106,7 +106,8 @@ export class AssociatedSelection extends BaseSelection<
106
106
  leftMode,
107
107
  cellRender,
108
108
  multiple,
109
- onDeferLoad
109
+ onDeferLoad,
110
+ itemRender
110
111
  } = this.props;
111
112
 
112
113
  const selectdOption = BaseSelection.resolveSelected(
@@ -186,6 +187,7 @@ export class AssociatedSelection extends BaseSelection<
186
187
  onChange={onChange}
187
188
  option2value={option2value}
188
189
  multiple={multiple}
190
+ itemRender={itemRender}
189
191
  />
190
192
  ) : rightMode === 'chained' ? (
191
193
  <ChainedSelection
@@ -195,6 +197,7 @@ export class AssociatedSelection extends BaseSelection<
195
197
  onChange={onChange}
196
198
  option2value={option2value}
197
199
  multiple={multiple}
200
+ itemRender={itemRender}
198
201
  />
199
202
  ) : (
200
203
  <GroupedSelection
@@ -204,6 +207,7 @@ export class AssociatedSelection extends BaseSelection<
204
207
  onChange={onChange}
205
208
  option2value={option2value}
206
209
  multiple={multiple}
210
+ itemRender={itemRender}
207
211
  />
208
212
  )
209
213
  ) : (
@@ -0,0 +1,253 @@
1
+ import * as React from 'react';
2
+ import {ClassNamesFn, themeable, ThemeProps} from '../theme';
3
+
4
+ /**
5
+ * Avatar 属性
6
+ */
7
+ interface AvatarCmptProps extends ThemeProps {
8
+ style?: {
9
+ [prop: string]: any
10
+ };
11
+ className?: string;
12
+ classnames: ClassNamesFn;
13
+
14
+ /**
15
+ * 图片地址
16
+ */
17
+ src?: string | React.ReactNode;
18
+
19
+ /**
20
+ * 图标
21
+ */
22
+ icon?: string | React.ReactNode;
23
+
24
+ /**
25
+ * 图片相对于容器的缩放方式
26
+ */
27
+ fit?: 'fill' | 'contain' | 'cover' | 'none' | 'scale-down';
28
+
29
+ /**
30
+ * 形状
31
+ */
32
+ shape?: 'circle' | 'square' | 'rounded';
33
+
34
+ /**
35
+ * 大小
36
+ */
37
+ size?: number | 'small' | 'default' | 'large';
38
+
39
+ /**
40
+ * 文本
41
+ */
42
+ text?: string;
43
+
44
+ /**
45
+ * 字符类型距离左右两侧边界单位像素
46
+ */
47
+ gap?: number;
48
+
49
+ /**
50
+ * 图片无法显示时的替换文字地址
51
+ */
52
+ alt?: string;
53
+
54
+ /**
55
+ * 图片是否允许拖动
56
+ */
57
+ draggable?: boolean;
58
+
59
+ /**
60
+ * 图片CORS属性
61
+ */
62
+ crossOrigin?: 'anonymous' | 'use-credentials' | '';
63
+
64
+ /**
65
+ * 图片加载失败的事件,返回 false 会关闭组件默认的
66
+ */
67
+ onError?: (event: React.SyntheticEvent<HTMLImageElement, Event>) => boolean;
68
+
69
+ /**
70
+ *
71
+ */
72
+ children?: JSX.Element | ((props?: any) => JSX.Element)
73
+ }
74
+
75
+ const prefix = 'Avatar--';
76
+ const childPrefix = prefix + 'text';
77
+
78
+ export interface AvatarState {
79
+ scale: number;
80
+ hasImg: boolean;
81
+ }
82
+
83
+ export class Avatar extends React.Component<AvatarCmptProps, AvatarState> {
84
+ static defaultProps: Partial<AvatarCmptProps> = {
85
+ shape: 'circle',
86
+ size: 'default',
87
+ fit: 'cover',
88
+ gap: 4
89
+ };
90
+
91
+ state: AvatarState = {
92
+ scale: 1,
93
+ hasImg: true
94
+ };
95
+
96
+ avatarChildrenRef: React.RefObject<HTMLElement>;
97
+ avatarRef: React.RefObject<HTMLElement>;
98
+
99
+ constructor(props: AvatarCmptProps) {
100
+ super(props);
101
+
102
+ this.avatarChildrenRef = React.createRef();
103
+ this.avatarRef = React.createRef();
104
+
105
+ this.handleImageLoadError = this.handleImageLoadError.bind(this);
106
+ }
107
+
108
+ componentDidMount() {
109
+ this.setScaleByGap();
110
+ }
111
+
112
+ componentDidUpdate(prevProps: AvatarCmptProps, prevState: AvatarState) {
113
+ const {src, gap, text, children} = this.props;
114
+ const {hasImg} = this.state;
115
+ if (prevProps.src !== src) {
116
+ this.setState({
117
+ hasImg: !!src
118
+ });
119
+ }
120
+ if ((prevState.hasImg && !hasImg)
121
+ || (prevProps.text !== text)
122
+ || (prevProps.children !== children)
123
+ || (prevProps.gap !== gap)) {
124
+ this.setScaleByGap();
125
+ }
126
+ }
127
+
128
+ handleImageLoadError(event: React.SyntheticEvent<HTMLImageElement, Event>) {
129
+ const {onError} = this.props;
130
+ this.setState({
131
+ hasImg: onError ? !onError(event) : false
132
+ });
133
+ }
134
+
135
+ setScaleByGap() {
136
+ const {gap = 4} = this.props;
137
+ if (!this.avatarChildrenRef.current || !this.avatarRef.current) {
138
+ return;
139
+ }
140
+ const childrenWidth = this.avatarChildrenRef.current.offsetWidth;
141
+ const nodeWidth = this.avatarRef.current.offsetWidth;
142
+ if (childrenWidth && nodeWidth) {
143
+ if (gap * 2 < nodeWidth) {
144
+ const diff = nodeWidth - gap * 2;
145
+ this.setState({
146
+ scale: diff < childrenWidth ? diff / childrenWidth : 1
147
+ });
148
+ }
149
+ }
150
+ };
151
+
152
+ render() {
153
+ let {
154
+ style = {},
155
+ className,
156
+ shape,
157
+ size,
158
+ src,
159
+ icon,
160
+ alt,
161
+ draggable,
162
+ crossOrigin,
163
+ fit,
164
+ text,
165
+ children,
166
+ classnames: cx
167
+ } = this.props;
168
+
169
+ const {scale, hasImg} = this.state;
170
+
171
+ const isImgRender = React.isValidElement(src);
172
+ const isIconRender = React.isValidElement(icon);
173
+
174
+ let childrenRender;
175
+
176
+ let sizeStyle = {};
177
+ let sizeClass = '';
178
+
179
+ if (typeof size === 'number') {
180
+ sizeStyle = {
181
+ height: size,
182
+ width: size,
183
+ lineHeight: size + 'px'
184
+ };
185
+ }
186
+ else if (typeof size === 'string') {
187
+ sizeClass = size === 'large'
188
+ ? `${prefix}lg`
189
+ : size === 'small' ? `${prefix}sm` : '';
190
+ }
191
+
192
+ const scaleX = `scale(${scale}) translateX(-50%)`;
193
+ const scaleStyle = {
194
+ msTransform: scaleX,
195
+ WebkitTransform: scaleX,
196
+ transform: scaleX
197
+ };
198
+
199
+ if (typeof src === 'string' && hasImg) {
200
+ const imgStyle = fit ? {objectFit: fit} : {};
201
+ childrenRender = (
202
+ <img
203
+ style={imgStyle}
204
+ src={src}
205
+ alt={alt}
206
+ draggable={draggable}
207
+ onError={this.handleImageLoadError}
208
+ crossOrigin={crossOrigin}
209
+ />
210
+ );
211
+ }
212
+ else if (isImgRender) {
213
+ childrenRender = src;
214
+ }
215
+ else if (typeof text === 'string' || typeof text === 'number') {
216
+ childrenRender = (
217
+ <span
218
+ className={cx(childPrefix)}
219
+ ref={this.avatarChildrenRef}
220
+ style={scaleStyle}>
221
+ {text}
222
+ </span>
223
+ );
224
+ }
225
+ else if (typeof icon === 'string') {
226
+ childrenRender = (<i className={icon} />);
227
+ }
228
+ else if (isIconRender) {
229
+ childrenRender = icon;
230
+ }
231
+ else {
232
+ childrenRender = (
233
+ <span
234
+ className={cx(childPrefix)}
235
+ ref={this.avatarChildrenRef}
236
+ style={scaleStyle}>
237
+ {children}
238
+ </span>
239
+ );
240
+ }
241
+
242
+ return (
243
+ <span
244
+ className={cx(`Avatar`, className, prefix + shape, sizeClass)}
245
+ style={{...sizeStyle, ...style}}
246
+ ref={this.avatarRef}>
247
+ {childrenRender}
248
+ </span>
249
+ );
250
+ }
251
+ }
252
+
253
+ export default themeable(Avatar);
@@ -120,7 +120,11 @@ export class BaiduMapPicker extends React.Component<
120
120
  ? new BMap.Point(value.lng, value.lat)
121
121
  : new BMap.Point(116.404, 39.915);
122
122
  if (this.props.coordinatesType == 'gcj02') {
123
- point = await this.covertPoint(point, COORDINATES_GCJ02, COORDINATES_BD09);
123
+ point = await this.covertPoint(
124
+ point,
125
+ COORDINATES_GCJ02,
126
+ COORDINATES_BD09
127
+ );
124
128
  map.centerAndZoom(point, 15);
125
129
  } else {
126
130
  map.centerAndZoom(point, 15);
@@ -269,27 +273,29 @@ export class BaiduMapPicker extends React.Component<
269
273
 
270
274
  covertPoint(point: any, from: number, to: number) {
271
275
  return new Promise((resolve, reject) => {
272
- this.convertor.translate([point], from, to, (res:any)=> {
276
+ this.convertor.translate([point], from, to, (res: any) => {
273
277
  if (res.status === 0 && res.points.length) {
274
278
  resolve(new BMap.Point(res.points[0].lng, res.points[0].lat));
275
- } else {
279
+ } else {
276
280
  reject();
277
281
  }
278
- })
279
- })
282
+ });
283
+ });
280
284
  }
281
285
 
282
286
  triggerOnChange(loc: LocationItem) {
283
287
  const point = new BMap.Point(loc.lng, loc.lat);
284
288
  if (this.props.coordinatesType == 'gcj02') {
285
- this.covertPoint(point, COORDINATES_BD09, COORDINATES_GCJ02).then((convertedPoint:any)=>{
286
- this.props?.onChange({
287
- address: loc.address.trim() || loc.title,
288
- lat: convertedPoint.lat,
289
- lng: convertedPoint.lng,
290
- city: loc.city
291
- });
292
- })
289
+ this.covertPoint(point, COORDINATES_BD09, COORDINATES_GCJ02).then(
290
+ (convertedPoint: any) => {
291
+ this.props?.onChange({
292
+ address: loc.address.trim() || loc.title,
293
+ lat: convertedPoint.lat,
294
+ lng: convertedPoint.lng,
295
+ city: loc.city
296
+ });
297
+ }
298
+ );
293
299
  } else {
294
300
  this.props?.onChange({
295
301
  address: loc.address.trim() || loc.title,
@@ -298,7 +304,6 @@ export class BaiduMapPicker extends React.Component<
298
304
  city: loc.city
299
305
  });
300
306
  }
301
-
302
307
  }
303
308
 
304
309
  @autobind