@cloud-app-dev/vidc 1.0.49 → 2.0.0-alpha.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 (345) hide show
  1. package/.umirc.ts +1 -2
  2. package/es/Api/index.d.ts +3 -4
  3. package/es/Api/index.js +7 -8
  4. package/es/AppContext/Sync.d.ts +6 -0
  5. package/es/AppContext/Sync.js +47 -0
  6. package/es/AppContext/index.d.ts +10 -0
  7. package/es/AppContext/index.js +117 -0
  8. package/es/AppContext/interface.d.ts +29 -0
  9. package/es/AppContext/static.d.ts +6 -0
  10. package/es/AppContext/static.js +6 -0
  11. package/es/{AppLayout/AppTools → AppRedirect}/index.css +0 -0
  12. package/es/AppRedirect/index.d.ts +16 -0
  13. package/es/AppRedirect/index.js +38 -0
  14. package/es/AppRoute/Render.d.ts +23 -0
  15. package/es/AppRoute/Render.js +111 -0
  16. package/es/AppRoute/Rendered.d.ts +4 -0
  17. package/es/AppRoute/Rendered.js +11 -0
  18. package/es/{DagInitialConfig → AppRoute}/index.css +0 -0
  19. package/es/AppRoute/index.d.ts +14 -0
  20. package/es/{AppLayout/Header/NotifyAlarm.js → AppRoute/index.js} +52 -68
  21. package/es/AppRoute/interface.d.ts +18 -0
  22. package/es/AppRoute/utils.d.ts +1 -0
  23. package/es/AppRoute/utils.js +28 -0
  24. package/es/Auth/index.d.ts +8 -0
  25. package/es/Auth/index.js +17 -0
  26. package/es/AutoExit/index.js +8 -5
  27. package/es/CheckGroupFixed/index.css +49 -0
  28. package/es/CheckGroupFixed/index.d.ts +17 -0
  29. package/es/CheckGroupFixed/index.js +146 -0
  30. package/es/Config/index.d.ts +4 -0
  31. package/es/Config/index.js +44 -0
  32. package/es/Config/interface.d.ts +47 -0
  33. package/es/Config/utils.d.ts +16 -0
  34. package/es/Config/utils.js +54 -0
  35. package/es/ConfigContext/index.d.ts +9 -0
  36. package/es/ConfigContext/index.js +3 -0
  37. package/es/ContentBox/BetweenBox/index.css +5 -0
  38. package/es/ContentBox/BetweenBox/index.d.ts +12 -0
  39. package/es/ContentBox/BetweenBox/index.js +24 -0
  40. package/es/ContentBox/InfoBox/index.css +23 -0
  41. package/es/ContentBox/InfoBox/index.d.ts +12 -0
  42. package/es/ContentBox/InfoBox/index.js +26 -0
  43. package/es/ContentBox/TwoColumnBox/index.css +77 -0
  44. package/es/ContentBox/TwoColumnBox/index.d.ts +10 -0
  45. package/es/ContentBox/TwoColumnBox/index.js +50 -0
  46. package/es/ContentBox/deps/content-grid.d.ts +9 -0
  47. package/es/ContentBox/deps/content-grid.js +9 -0
  48. package/es/ContentBox/deps/grid-factory.d.ts +10 -0
  49. package/es/ContentBox/deps/grid-factory.js +72 -0
  50. package/es/ContentBox/deps/simple-grid.d.ts +9 -0
  51. package/es/ContentBox/deps/simple-grid.js +8 -0
  52. package/es/ContentBox/index.css +9 -0
  53. package/es/ContentBox/index.d.ts +14 -0
  54. package/es/ContentBox/index.js +28 -0
  55. package/es/DeviceIcon/icon.js +5 -5
  56. package/es/DeviceIcon/index.js +2 -2
  57. package/es/DeviceList/index.d.ts +1 -1
  58. package/es/DeviceList/index.js +4 -4
  59. package/es/DeviceSelect/index.js +2 -2
  60. package/es/Dict/cache.d.ts +3 -0
  61. package/es/Dict/cache.js +21 -0
  62. package/es/Dict/desc.d.ts +64 -0
  63. package/es/Dict/desc.js +162 -0
  64. package/es/Dict/device.d.ts +28 -0
  65. package/es/Dict/device.js +117 -0
  66. package/es/Dict/hook.d.ts +4 -0
  67. package/es/Dict/hook.js +114 -0
  68. package/es/Dict/index.d.ts +13 -0
  69. package/es/Dict/index.js +14 -0
  70. package/es/Dict/interface.d.ts +16 -0
  71. package/es/Dict/utils.d.ts +11 -0
  72. package/es/Dict/utils.js +51 -0
  73. package/es/Drag/DragAndDropItem.d.ts +4 -0
  74. package/es/Drag/DragAndDropItem.js +145 -0
  75. package/es/Drag/DropItem.d.ts +4 -0
  76. package/es/Drag/DropItem.js +54 -0
  77. package/es/{DagInitialRequest → Drag}/index.css +0 -0
  78. package/es/Drag/index.d.ts +7 -0
  79. package/es/Drag/index.js +7 -0
  80. package/es/Drag/interface.d.ts +16 -0
  81. package/es/Drawer/Demo.d.ts +3 -0
  82. package/es/Drawer/Demo.js +52 -0
  83. package/es/Drawer/Footer.d.ts +4 -0
  84. package/es/Drawer/Footer.js +26 -0
  85. package/es/Drawer/index.css +39 -0
  86. package/es/Drawer/index.d.ts +12 -0
  87. package/es/Drawer/index.js +41 -0
  88. package/es/Drawer/interface.d.ts +191 -0
  89. package/es/DynamicDeviceList/CheckExt.js +3 -3
  90. package/es/DynamicDeviceList/index.js +2 -2
  91. package/es/DynamicDeviceList/utils.js +2 -2
  92. package/es/DynamicList/demo.d.ts +2 -0
  93. package/es/{DagInitialRequest/index.js → DynamicList/demo.js} +49 -55
  94. package/es/DynamicList/index.css +7 -0
  95. package/es/DynamicList/index.d.ts +31 -0
  96. package/es/DynamicList/index.js +132 -0
  97. package/es/FullScreen/index.css +16 -0
  98. package/es/FullScreen/index.d.ts +10 -0
  99. package/es/FullScreen/index.js +68 -0
  100. package/es/HightLevel/index.css +3 -0
  101. package/es/HightLevel/index.d.ts +9 -0
  102. package/es/HightLevel/index.js +22 -0
  103. package/es/{Upload → IconFont}/index.css +0 -0
  104. package/es/IconFont/index.d.ts +13 -0
  105. package/es/IconFont/index.js +58 -0
  106. package/es/ImageView/index.css +6 -0
  107. package/es/ImageView/index.d.ts +17 -0
  108. package/es/ImageView/index.js +58 -0
  109. package/es/InitialConfig/index.d.ts +5 -7
  110. package/es/InitialConfig/index.js +16 -51
  111. package/es/InitialConfig/utils.d.ts +15 -0
  112. package/es/InitialConfig/utils.js +40 -305
  113. package/es/InitialRequest/index.d.ts +5 -11
  114. package/es/InitialRequest/index.js +50 -67
  115. package/es/InitialRequest/utils.d.ts +8 -0
  116. package/es/InitialRequest/utils.js +28 -567
  117. package/es/Input/index.css +8 -0
  118. package/es/Input/index.d.ts +18 -0
  119. package/es/{DagInitialConfig → Input}/index.js +50 -45
  120. package/es/LabelValue/index.css +18 -0
  121. package/es/LabelValue/index.d.ts +23 -0
  122. package/es/LabelValue/index.js +32 -0
  123. package/es/List/CheckExt.d.ts +10 -0
  124. package/es/List/CheckExt.js +28 -0
  125. package/es/List/index.css +62 -6
  126. package/es/List/index.d.ts +73 -11
  127. package/es/List/index.js +162 -36
  128. package/es/List/renderItem.d.ts +20 -0
  129. package/es/List/renderItem.js +68 -0
  130. package/es/List/utils.d.ts +5 -0
  131. package/es/List/utils.js +18 -0
  132. package/es/ListExt/index.css +9 -0
  133. package/es/ListExt/index.d.ts +19 -0
  134. package/es/ListExt/index.js +44 -0
  135. package/es/LoaderScript/index.d.ts +26 -0
  136. package/es/LoaderScript/index.js +127 -0
  137. package/es/LoaderScript/interface.d.ts +26 -0
  138. package/es/LoaderScript/utils.d.ts +12 -0
  139. package/es/LoaderScript/utils.js +110 -0
  140. package/es/Modal/index.css +43 -0
  141. package/es/Modal/index.d.ts +17 -0
  142. package/es/Modal/index.js +34 -0
  143. package/es/Modal/interface.d.ts +339 -0
  144. package/es/Picture/component/DefaultRects/RectInfo.d.ts +7 -0
  145. package/es/Picture/component/DefaultRects/RectInfo.js +94 -0
  146. package/es/Picture/component/DefaultRects/index.css +247 -0
  147. package/es/Picture/component/DefaultRects/index.d.ts +12 -0
  148. package/es/Picture/component/DefaultRects/index.js +47 -0
  149. package/es/Picture/component/DefaultRects/utils.d.ts +2 -0
  150. package/es/Picture/component/DefaultRects/utils.js +11 -0
  151. package/es/Picture/component/DrawRect/index.css +8 -0
  152. package/es/Picture/component/DrawRect/index.d.ts +14 -0
  153. package/es/Picture/component/DrawRect/index.js +41 -0
  154. package/es/Picture/component/MoveContent/index.css +0 -0
  155. package/es/Picture/component/MoveContent/index.d.ts +39 -0
  156. package/es/Picture/component/MoveContent/index.js +240 -0
  157. package/es/Picture/component/MoveContent/utils.d.ts +4 -0
  158. package/es/Picture/component/MoveContent/utils.js +19 -0
  159. package/es/Picture/component/RectMenu/index.css +31 -0
  160. package/es/Picture/component/RectMenu/index.d.ts +13 -0
  161. package/es/Picture/component/RectMenu/index.js +81 -0
  162. package/es/Picture/component/RectMenu/utils.d.ts +12 -0
  163. package/es/Picture/component/RectMenu/utils.js +22 -0
  164. package/es/Picture/component/Tools/index.css +42 -0
  165. package/es/Picture/component/Tools/index.d.ts +13 -0
  166. package/es/Picture/component/Tools/index.js +83 -0
  167. package/es/Picture/component/WheelScale/index.d.ts +6 -0
  168. package/es/Picture/component/WheelScale/index.js +29 -0
  169. package/es/Picture/dragBound.d.ts +5 -0
  170. package/es/Picture/dragBound.js +77 -0
  171. package/es/Picture/index.css +12 -0
  172. package/es/Picture/index.d.ts +16 -0
  173. package/es/Picture/index.js +344 -0
  174. package/es/Picture/interface.d.ts +67 -0
  175. package/es/Picture/loadCaptureRectImage.d.ts +8 -0
  176. package/es/Picture/loadCaptureRectImage.js +119 -0
  177. package/es/Picture/useDraw.d.ts +1 -0
  178. package/es/Picture/useDraw.js +136 -0
  179. package/es/Picture/utils.d.ts +22 -0
  180. package/es/Picture/utils.js +90 -0
  181. package/es/Progress/index.css +20 -0
  182. package/es/Progress/index.d.ts +11 -0
  183. package/es/{AppLayout/Header/ThemeTools.js → Progress/index.js} +46 -47
  184. package/es/RefDrawer/index.js +4 -5
  185. package/es/RefModal/index.js +4 -5
  186. package/es/ScrollList/index.css +73 -0
  187. package/es/ScrollList/index.d.ts +24 -0
  188. package/es/ScrollList/index.js +261 -0
  189. package/es/ScrollList/utils.js +84 -0
  190. package/es/Service/http.d.ts +4 -0
  191. package/es/Service/http.js +135 -0
  192. package/es/Service/index.d.ts +3 -0
  193. package/es/Service/index.js +14 -0
  194. package/es/Service/interface.d.ts +28 -0
  195. package/es/Service/logger.d.ts +3 -0
  196. package/es/Service/logger.js +13 -0
  197. package/es/Service/middleware.d.ts +5 -0
  198. package/es/Service/middleware.js +15 -0
  199. package/es/Service/utils.d.ts +3 -0
  200. package/es/Service/utils.js +11 -0
  201. package/es/TableLayout/index.css +4 -0
  202. package/es/TableLayout/index.d.ts +10 -0
  203. package/es/TableLayout/index.js +64 -0
  204. package/es/ThemeAntd/index.css +501 -0
  205. package/es/ThemeAntd/index.d.ts +7 -0
  206. package/es/ThemeAntd/index.js +6 -0
  207. package/es/ThemeAntd/style/button.css +46 -0
  208. package/es/ThemeAntd/style/checkbox.css +64 -0
  209. package/es/ThemeAntd/style/form.css +10 -0
  210. package/es/ThemeAntd/style/input.css +58 -0
  211. package/es/ThemeAntd/style/pagination.css +44 -0
  212. package/es/ThemeAntd/style/picker.css +86 -0
  213. package/es/ThemeAntd/style/popover.css +3 -0
  214. package/es/ThemeAntd/style/radio.css +71 -0
  215. package/es/ThemeAntd/style/scrollbar.css +19 -0
  216. package/es/ThemeAntd/style/select.css +57 -0
  217. package/es/ThemeAntd/style/table.css +36 -0
  218. package/es/ThemeAntd/style/tree.css +4 -0
  219. package/es/{OrgUserTree → Tree}/demo.d.ts +0 -0
  220. package/es/Tree/demo.js +69 -0
  221. package/es/Tree/index.css +64 -0
  222. package/es/Tree/index.d.ts +24 -0
  223. package/es/Tree/index.js +83 -0
  224. package/es/TreeMode/index.d.ts +1 -1
  225. package/es/TreeMode/index.js +6 -6
  226. package/es/TreeTitle/index.js +2 -2
  227. package/es/UserSelect/index.d.ts +3 -3
  228. package/es/UserSelect/index.js +13 -15
  229. package/es/VList/index.css +4 -0
  230. package/es/VList/index.d.ts +16 -0
  231. package/es/VList/index.js +56 -0
  232. package/es/VList/utils.d.ts +10 -0
  233. package/es/VList/utils.js +17 -0
  234. package/es/WorkerFlow/Demo.js +1 -0
  235. package/es/WorkerFlow/Form/Condition.js +6 -6
  236. package/es/WorkerFlow/Form/EmptyUserSet.js +2 -2
  237. package/es/WorkerFlow/Form/FormAuth.js +2 -2
  238. package/es/WorkerFlow/Form/GroupList.d.ts +2 -1
  239. package/es/WorkerFlow/Form/GroupList.js +3 -2
  240. package/es/WorkerFlow/Form/GroupSelect.js +2 -2
  241. package/es/WorkerFlow/Form/GroupSelectModalContent.js +9 -7
  242. package/es/WorkerFlow/Form/LevelGroupSelect.js +3 -3
  243. package/es/WorkerFlow/Form/UserAndGroupSelect.js +2 -2
  244. package/es/WorkerFlow/Form/UserSelect.js +2 -2
  245. package/es/WorkerFlow/Form/UserSelectModalContent.js +3 -4
  246. package/es/WorkerFlow/Form/UserSet.js +2 -2
  247. package/es/WorkerFlow/Nodes/Add.js +2 -3
  248. package/es/WorkerFlow/Nodes/AddOption.js +2 -2
  249. package/es/WorkerFlow/Nodes/Approver.js +2 -2
  250. package/es/WorkerFlow/Nodes/Condition.js +2 -2
  251. package/es/WorkerFlow/Nodes/Handle.js +2 -2
  252. package/es/WorkerFlow/Nodes/Notifier.js +2 -2
  253. package/es/WorkerFlow/Nodes/TitleElement.js +17 -13
  254. package/es/WorkerFlow/index.js +37 -9
  255. package/es/core.d.ts +27 -0
  256. package/es/index.d.ts +34 -8
  257. package/es/index.js +34 -8
  258. package/es/useChangeEffect/index.d.ts +3 -0
  259. package/es/useChangeEffect/index.js +32 -0
  260. package/es/useDrawer/index.d.ts +14 -0
  261. package/es/useDrawer/index.js +90 -0
  262. package/es/useHistory/index.css +0 -0
  263. package/es/useHistory/index.d.ts +3 -0
  264. package/es/useHistory/index.js +14 -0
  265. package/es/useHttp/index.d.ts +8 -0
  266. package/es/useHttp/index.js +78 -0
  267. package/es/useModal/index.d.ts +14 -0
  268. package/es/useModal/index.js +92 -0
  269. package/es/utils.d.ts +2 -0
  270. package/es/utils.js +32 -0
  271. package/package.json +12 -6
  272. package/es/AppLayout/AppHeader/index.css +0 -4
  273. package/es/AppLayout/AppHeader/index.d.ts +0 -18
  274. package/es/AppLayout/AppHeader/index.js +0 -41
  275. package/es/AppLayout/AppHorizontalMenu/MenuEmptyBox.d.ts +0 -1
  276. package/es/AppLayout/AppHorizontalMenu/MenuEmptyBox.js +0 -10
  277. package/es/AppLayout/AppHorizontalMenu/SubGroup.d.ts +0 -9
  278. package/es/AppLayout/AppHorizontalMenu/SubGroup.js +0 -57
  279. package/es/AppLayout/AppHorizontalMenu/index.css +0 -152
  280. package/es/AppLayout/AppHorizontalMenu/index.d.ts +0 -13
  281. package/es/AppLayout/AppHorizontalMenu/index.js +0 -230
  282. package/es/AppLayout/AppInlineMenu/SubGroup.d.ts +0 -9
  283. package/es/AppLayout/AppInlineMenu/SubGroup.js +0 -34
  284. package/es/AppLayout/AppInlineMenu/index.css +0 -110
  285. package/es/AppLayout/AppInlineMenu/index.d.ts +0 -12
  286. package/es/AppLayout/AppInlineMenu/index.js +0 -194
  287. package/es/AppLayout/AppLogo/index.css +0 -74
  288. package/es/AppLayout/AppLogo/index.d.ts +0 -13
  289. package/es/AppLayout/AppLogo/index.js +0 -100
  290. package/es/AppLayout/AppTools/index.d.ts +0 -8
  291. package/es/AppLayout/AppTools/index.js +0 -10
  292. package/es/AppLayout/FunctionPreview/index.css +0 -128
  293. package/es/AppLayout/FunctionPreview/index.d.ts +0 -22
  294. package/es/AppLayout/FunctionPreview/index.js +0 -218
  295. package/es/AppLayout/Header/ListenceRoute.d.ts +0 -5
  296. package/es/AppLayout/Header/ListenceRoute.js +0 -28
  297. package/es/AppLayout/Header/ModifyPassword/index.d.ts +0 -6
  298. package/es/AppLayout/Header/ModifyPassword/index.js +0 -201
  299. package/es/AppLayout/Header/ModifyUserAvatar/index.css +0 -25
  300. package/es/AppLayout/Header/ModifyUserAvatar/index.d.ts +0 -10
  301. package/es/AppLayout/Header/ModifyUserAvatar/index.js +0 -97
  302. package/es/AppLayout/Header/Tools.d.ts +0 -11
  303. package/es/AppLayout/Header/Tools.js +0 -86
  304. package/es/AppLayout/Header/ToolsItem.d.ts +0 -1
  305. package/es/AppLayout/Header/ToolsItem.js +0 -12
  306. package/es/AppLayout/Header/UserAction.d.ts +0 -10
  307. package/es/AppLayout/Header/UserAction.js +0 -224
  308. package/es/AppLayout/Header/index.css +0 -136
  309. package/es/AppLayout/Header/index.d.ts +0 -9
  310. package/es/AppLayout/Header/index.js +0 -36
  311. package/es/AppLayout/index.css +0 -21
  312. package/es/AppLayout/index.d.ts +0 -12
  313. package/es/AppLayout/index.js +0 -38
  314. package/es/AppLayout/service/index.js +0 -174
  315. package/es/AppLayout/service/prefix.js +0 -4
  316. package/es/AppLayout/service/url.js +0 -35
  317. package/es/AppLayout/utils/menu.js +0 -24
  318. package/es/AppLayout/utils.d.ts +0 -4
  319. package/es/AppLayout/utils.js +0 -112
  320. package/es/DagInitialConfig/index.d.ts +0 -10
  321. package/es/DagInitialConfig/utils.js +0 -185
  322. package/es/DagInitialRequest/index.d.ts +0 -10
  323. package/es/DagInitialRequest/utils.js +0 -573
  324. package/es/FormContent/index.css +0 -27
  325. package/es/FormContent/index.d.ts +0 -19
  326. package/es/FormContent/index.js +0 -58
  327. package/es/OrgTree/index.css +0 -39
  328. package/es/OrgTree/index.d.ts +0 -16
  329. package/es/OrgTree/index.js +0 -176
  330. package/es/OrgUserTree/demo.js +0 -20
  331. package/es/OrgUserTree/index.css +0 -31
  332. package/es/OrgUserTree/index.d.ts +0 -28
  333. package/es/OrgUserTree/index.js +0 -131
  334. package/es/PlaceTree/demo.d.ts +0 -2
  335. package/es/PlaceTree/demo.js +0 -20
  336. package/es/PlaceTree/index.css +0 -40
  337. package/es/PlaceTree/index.d.ts +0 -26
  338. package/es/PlaceTree/index.js +0 -174
  339. package/es/Upload/AntUpload/index.css +0 -22
  340. package/es/Upload/AntUpload/index.d.ts +0 -19
  341. package/es/Upload/AntUpload/index.js +0 -226
  342. package/es/Upload/UploadChildren/index.css +0 -28
  343. package/es/Upload/UploadChildren/index.js +0 -26
  344. package/es/Upload/index.d.ts +0 -9
  345. package/es/Upload/index.js +0 -7
@@ -0,0 +1,47 @@
1
+ import React, { useCallback, useMemo } from 'react';
2
+ import RectInfo from './RectInfo';
3
+ import { computedZIndex } from './utils';
4
+ import "./index.css";
5
+
6
+ function DefaultRects(_ref) {
7
+ var rects = _ref.rects,
8
+ containerDom = _ref.containerDom,
9
+ onClickRect = _ref.onClickRect,
10
+ getRectImage = _ref.getRectImage;
11
+ var renderRects = useMemo(function () {
12
+ return computedZIndex(rects);
13
+ }, [rects]);
14
+ var rectClick = useCallback(function (e, item) {
15
+ e.stopPropagation();
16
+ onClickRect && onClickRect(Object.assign(Object.assign({}, item), {
17
+ base64: getRectImage(item.rect)
18
+ }));
19
+ }, [getRectImage, onClickRect]);
20
+ return /*#__PURE__*/React.createElement(React.Fragment, null, renderRects.map(function (v, k) {
21
+ return /*#__PURE__*/React.createElement("div", {
22
+ className: "rect-item-wrapper rect-item-".concat(v.type, "-wrapper"),
23
+ key: k
24
+ }, /*#__PURE__*/React.createElement("div", {
25
+ className: 'rect-item',
26
+ onDoubleClick: function onDoubleClick(e) {
27
+ return rectClick(e, v);
28
+ },
29
+ style: {
30
+ left: v.rect[0],
31
+ top: v.rect[1],
32
+ width: v.rect[2],
33
+ height: v.rect[3],
34
+ zIndex: k
35
+ }
36
+ }, /*#__PURE__*/React.createElement("div", {
37
+ className: "border-top-decorator"
38
+ }), /*#__PURE__*/React.createElement("div", {
39
+ className: "border-bottom-decorator"
40
+ })), Array.isArray(v.tags) && v.tags.length > 0 && /*#__PURE__*/React.createElement(RectInfo, {
41
+ item: v,
42
+ containerDom: containerDom
43
+ }));
44
+ }));
45
+ }
46
+
47
+ export default DefaultRects;
@@ -0,0 +1,2 @@
1
+ import { RectType } from '../../interface';
2
+ export declare function computedZIndex(rects: RectType[]): RectType[];
@@ -0,0 +1,11 @@
1
+ export function computedZIndex(rects) {
2
+ var areas = rects.map(function (v) {
3
+ var width = v.rect[2];
4
+ var height = v.rect[3];
5
+ v.area = width * height;
6
+ return v;
7
+ });
8
+ return areas.sort(function (a, b) {
9
+ return b.area - a.area;
10
+ });
11
+ }
@@ -0,0 +1,8 @@
1
+ .select-rect-layout {
2
+ box-shadow: 0 0 0 9999em rgba(0, 0, 0, 0.4);
3
+ border: 1px solid;
4
+ border-image-source: url('data:image/gif;base64,R0lGODlhCgAKAJECAAAAAP///////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OEI5RDc5MTFDNkE2MTFFM0JCMDZEODI2QTI4MzJBOTIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OEI5RDc5MTBDNkE2MTFFM0JCMDZEODI2QTI4MzJBOTIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuZGlkOjAyODAxMTc0MDcyMDY4MTE4MDgzQzNDMjA5MzREQ0ZDIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAyODAxMTc0MDcyMDY4MTE4MDgzQzNDMjA5MzREQ0ZDIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEBQoAAgAsAAAAAAoACgAAAhWEERkn7W3ei7KlagMWF/dKgYeyGAUAIfkEBQoAAgAsAAAAAAoACgAAAg+UYwLJ7RnQm7QmsCyVKhUAIfkEBQoAAgAsAAAAAAoACgAAAhCUYgLJHdiinNSAVfOEKoUCACH5BAUKAAIALAAAAAAKAAoAAAIRVISAdusPo3RAzYtjaMIaUQAAIfkEBQoAAgAsAAAAAAoACgAAAg+MDiem7Q8bSLFaG5il6xQAIfkEBQoAAgAsAAAAAAoACgAAAg+UYRLJ7QnQm7SmsCyVKhUAIfkEBQoAAgAsAAAAAAoACgAAAhCUYBLJDdiinNSEVfOEKoECACH5BAUKAAIALAAAAAAKAAoAAAIRFISBdusPo3RBzYsjaMIaUQAAOw==');
5
+ border-image-repeat: repeat;
6
+ border-image-slice: 1;
7
+ position: absolute;
8
+ }
@@ -0,0 +1,14 @@
1
+ import { MenuRectType } from '../../interface';
2
+ import './index.less';
3
+ interface IDrawRectProps {
4
+ rect: number[];
5
+ canRenderMenu?: boolean;
6
+ containerDom: HTMLDivElement;
7
+ onMenuClick: (options: MenuRectType & {
8
+ base64: string;
9
+ }) => void;
10
+ menus: MenuRectType[];
11
+ getRectImage: (rect: number[]) => void;
12
+ }
13
+ declare function DrawRect({ rect, canRenderMenu, containerDom, onMenuClick, menus, getRectImage }: IDrawRectProps): JSX.Element;
14
+ export default DrawRect;
@@ -0,0 +1,41 @@
1
+ import React, { useCallback, useMemo } from 'react';
2
+ import RectMenu from '../RectMenu';
3
+ import "./index.css";
4
+
5
+ function DrawRect(_ref) {
6
+ var _ref$rect = _ref.rect,
7
+ rect = _ref$rect === void 0 ? [] : _ref$rect,
8
+ canRenderMenu = _ref.canRenderMenu,
9
+ containerDom = _ref.containerDom,
10
+ onMenuClick = _ref.onMenuClick,
11
+ menus = _ref.menus,
12
+ getRectImage = _ref.getRectImage;
13
+ var x = useMemo(function () {
14
+ return rect[0] + rect[2];
15
+ }, [rect]);
16
+ var y = useMemo(function () {
17
+ return rect[1] + rect[3];
18
+ }, [rect]);
19
+ var onMenuClickAction = useCallback(function (item) {
20
+ onMenuClick && onMenuClick(Object.assign(Object.assign({}, item), {
21
+ base64: getRectImage(rect)
22
+ }));
23
+ }, [getRectImage, onMenuClick, rect]);
24
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
25
+ className: "select-rect-layout",
26
+ style: {
27
+ left: rect[0],
28
+ top: rect[1],
29
+ width: rect[2],
30
+ height: rect[3]
31
+ }
32
+ }), canRenderMenu && /*#__PURE__*/React.createElement(RectMenu, {
33
+ x: x,
34
+ y: y,
35
+ containerDom: containerDom,
36
+ onMenuClick: onMenuClickAction,
37
+ menus: menus
38
+ }));
39
+ }
40
+
41
+ export default DrawRect;
File without changes
@@ -0,0 +1,39 @@
1
+ import React from 'react';
2
+ import { DeviationType, PositionType, SizeType } from '../../interface';
3
+ import './index.less';
4
+ interface MoveContentProps {
5
+ children: React.ReactNode;
6
+ onDrag?: (e: React.MouseEvent, position: PositionType) => void;
7
+ onDragChange?: (position: PositionType) => void;
8
+ onDragEnd?: (e: React.MouseEvent, position: PositionType) => void;
9
+ position?: PositionType;
10
+ size?: SizeType;
11
+ disabled?: boolean;
12
+ className?: string;
13
+ style?: React.CSSProperties;
14
+ }
15
+ declare class MoveContentView extends React.Component<MoveContentProps> {
16
+ position: PositionType;
17
+ DA: PositionType;
18
+ moveEvents: any[];
19
+ isDrag: boolean;
20
+ dragRef: React.RefObject<HTMLElement>;
21
+ deviation: DeviationType;
22
+ constructor(props: MoveContentProps);
23
+ componentDidMount(): void;
24
+ initDomInfo(info?: SizeType): void;
25
+ componentWillUnmount(): void;
26
+ bindMoveEvent(): void;
27
+ removeMoveEvent(): void;
28
+ onMouseMove: (event: React.MouseEvent) => void;
29
+ updatePosition: ({ x, y }: PositionType) => void;
30
+ updateSize: ({ width, height }: SizeType) => void;
31
+ onMouseUp: (event: React.MouseEvent) => void;
32
+ onMouseDown(event: React.MouseEvent): void;
33
+ getMouseXY(e: MouseEvent): {
34
+ x: number;
35
+ y: number;
36
+ };
37
+ render(): JSX.Element;
38
+ }
39
+ export default MoveContentView;
@@ -0,0 +1,240 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
2
+
3
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
4
+
5
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
6
+
7
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
8
+
9
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
10
+
11
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
12
+
13
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
14
+
15
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
16
+
17
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
18
+
19
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
20
+
21
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
22
+
23
+ import React from 'react';
24
+ import addEventListener from 'add-dom-event-listener';
25
+ import { getPosition } from './utils';
26
+ import "./index.css";
27
+
28
+ var MoveContentView = /*#__PURE__*/function (_React$Component) {
29
+ _inherits(MoveContentView, _React$Component);
30
+
31
+ var _super = _createSuper(MoveContentView);
32
+
33
+ function MoveContentView(props) {
34
+ var _this;
35
+
36
+ _classCallCheck(this, MoveContentView);
37
+
38
+ _this = _super.call(this, props);
39
+ _this.dragRef = /*#__PURE__*/React.createRef();
40
+
41
+ _this.onMouseMove = function (event) {
42
+ if (_this.isDrag) {
43
+ // let maxX, maxY;
44
+ var moveX, moveY;
45
+
46
+ var _this$getMouseXY = _this.getMouseXY(event),
47
+ x = _this$getMouseXY.x,
48
+ y = _this$getMouseXY.y;
49
+
50
+ moveX = x - _this.deviation.offsetX;
51
+ moveY = y - _this.deviation.offsetY; // 计算可移动位置的大小, 保证元素不会超过可移动范围
52
+ // maxX = document.documentElement.clientWidth - this.deviation.width;
53
+ // maxY = document.documentElement.clientHeight - this.deviation.height;
54
+ // min方法保证不会超过右边界,max保证不会超过左边界
55
+ // moveX = Math.min(Math.max(0, moveX), maxX);
56
+ // moveY = Math.min(Math.max(0, moveY), maxY);
57
+
58
+ var position = {
59
+ x: moveX,
60
+ y: moveY
61
+ };
62
+
63
+ if (_this.props.onDrag) {
64
+ _this.props.onDrag(event, position);
65
+ } else {
66
+ _this.updatePosition(position);
67
+ }
68
+ }
69
+ };
70
+
71
+ _this.updatePosition = function (_ref) {
72
+ var x = _ref.x,
73
+ y = _ref.y;
74
+ _this.position = {
75
+ x: x,
76
+ y: y
77
+ };
78
+
79
+ _this.forceUpdate();
80
+
81
+ _this.props.onDragChange && _this.props.onDragChange({
82
+ x: x,
83
+ y: y
84
+ });
85
+ };
86
+
87
+ _this.updateSize = function (_ref2) {
88
+ var width = _ref2.width,
89
+ height = _ref2.height;
90
+
91
+ _this.initDomInfo({
92
+ width: width,
93
+ height: height
94
+ });
95
+ };
96
+
97
+ _this.onMouseUp = function (event) {
98
+ _this.isDrag = false;
99
+
100
+ _this.removeMoveEvent();
101
+
102
+ if (_this.props.onDragEnd) {
103
+ _this.props.onDragEnd(event, _this.position);
104
+ }
105
+ };
106
+
107
+ _this.isDrag = false;
108
+ _this.DA = {
109
+ x: 0,
110
+ y: 0
111
+ };
112
+ _this.moveEvents = [];
113
+ _this.deviation = {
114
+ offsetX: 0,
115
+ offsetY: 0,
116
+ width: 0,
117
+ height: 0
118
+ };
119
+ return _this;
120
+ }
121
+
122
+ _createClass(MoveContentView, [{
123
+ key: "componentDidMount",
124
+ value: function componentDidMount() {
125
+ this.initDomInfo();
126
+ }
127
+ }, {
128
+ key: "initDomInfo",
129
+ value: function initDomInfo(info) {
130
+ var _a;
131
+
132
+ var offset = getPosition((_a = this.dragRef) === null || _a === void 0 ? void 0 : _a.current);
133
+ var size = this.dragRef.current.getBoundingClientRect();
134
+ this.deviation = {
135
+ offsetX: offset.left,
136
+ offsetY: offset.top,
137
+ width: info ? info.width : size.width,
138
+ height: info ? info.height : size.height
139
+ };
140
+ }
141
+ }, {
142
+ key: "componentWillUnmount",
143
+ value: function componentWillUnmount() {
144
+ this.removeMoveEvent();
145
+ this.isDrag = null;
146
+ this.dragRef = null;
147
+ this.moveEvents = null;
148
+ this.deviation = null;
149
+ this.moveEvents = null;
150
+ }
151
+ }, {
152
+ key: "bindMoveEvent",
153
+ value: function bindMoveEvent() {
154
+ this.moveEvents = [addEventListener(document.body, 'mousemove', this.onMouseMove), addEventListener(document.body, 'mouseup', this.onMouseUp)];
155
+ }
156
+ }, {
157
+ key: "removeMoveEvent",
158
+ value: function removeMoveEvent() {
159
+ this.moveEvents && this.moveEvents.forEach(function (v) {
160
+ v.remove && v.remove();
161
+ });
162
+ this.moveEvents = [];
163
+ }
164
+ }, {
165
+ key: "onMouseDown",
166
+ value: function onMouseDown(event) {
167
+ var _this$getMouseXY2 = this.getMouseXY(event.nativeEvent),
168
+ x = _this$getMouseXY2.x,
169
+ y = _this$getMouseXY2.y;
170
+
171
+ this.deviation.offsetX = x - this.position.x;
172
+ this.deviation.offsetY = y - this.position.y;
173
+ this.isDrag = true;
174
+ this.bindMoveEvent();
175
+ } // 函数用于获取鼠标的位置
176
+
177
+ }, {
178
+ key: "getMouseXY",
179
+ value: function getMouseXY(e) {
180
+ var x = 0,
181
+ y = 0;
182
+ e = e || window.event;
183
+
184
+ if (e.pageX) {
185
+ x = e.pageX;
186
+ y = e.pageY;
187
+ } else {
188
+ x = e.clientX + document.body.scrollLeft - document.body.clientLeft;
189
+ y = e.clientY + document.body.scrollTop - document.body.clientTop;
190
+ }
191
+
192
+ return {
193
+ x: x,
194
+ y: y
195
+ };
196
+ }
197
+ }, {
198
+ key: "render",
199
+ value: function render() {
200
+ var _this2 = this;
201
+
202
+ var x, y;
203
+
204
+ if (this.props.onDrag) {
205
+ x = this.props.position.x;
206
+ y = this.props.position.y;
207
+ } else {
208
+ x = this.position.x;
209
+ y = this.position.y;
210
+ }
211
+
212
+ var _this$props = this.props,
213
+ _this$props$className = _this$props.className,
214
+ className = _this$props$className === void 0 ? '' : _this$props$className,
215
+ _this$props$disabled = _this$props.disabled,
216
+ disabled = _this$props$disabled === void 0 ? false : _this$props$disabled,
217
+ _this$props$size = _this$props.size,
218
+ size = _this$props$size === void 0 ? {
219
+ width: '100%',
220
+ height: '100%'
221
+ } : _this$props$size;
222
+ return /*#__PURE__*/React.createElement("div", {
223
+ ref: this.dragRef,
224
+ className: "drag-move-Content ".concat(className),
225
+ style: {
226
+ transform: "translate(".concat(x, "px,").concat(y, "px)"),
227
+ width: size.width,
228
+ height: size.height
229
+ },
230
+ onMouseDown: function onMouseDown(event) {
231
+ return !disabled && _this2.onMouseDown(event);
232
+ }
233
+ }, this.props.children);
234
+ }
235
+ }]);
236
+
237
+ return MoveContentView;
238
+ }(React.Component);
239
+
240
+ export default MoveContentView;
@@ -0,0 +1,4 @@
1
+ export declare function getPosition(obj: any): {
2
+ left: any;
3
+ top: any;
4
+ };
@@ -0,0 +1,19 @@
1
+ export function getPosition(obj) {
2
+ //获取某元素以浏览器左上角为原点的坐标
3
+ var t = obj.offsetTop; //获取该元素对应父容器的上边距
4
+
5
+ var l = obj.offsetLeft; //对应父容器的上边距
6
+ //判断是否有父容器,如果存在则累加其边距
7
+
8
+ while (obj = obj.offsetParent) {
9
+ //等效 obj = obj.offsetParent;while (obj != undefined)
10
+ t += obj.offsetTop; //叠加父容器的上边距
11
+
12
+ l += obj.offsetLeft; //叠加父容器的左边距
13
+ }
14
+
15
+ return {
16
+ left: l,
17
+ top: t
18
+ };
19
+ }
@@ -0,0 +1,31 @@
1
+ .select-rect-menu-layout {
2
+ position: absolute;
3
+ font-size: var(--fs-small);
4
+ width: 105px;
5
+ overflow: hidden;
6
+ }
7
+ .select-rect-menu-layout .menu-action-item {
8
+ padding: 4px 10px;
9
+ background: #ffffff;
10
+ margin-bottom: 4px;
11
+ border-radius: 15px;
12
+ box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
13
+ color: rgba(0, 0, 0, 0.65);
14
+ white-space: nowrap;
15
+ }
16
+ .select-rect-menu-layout .menu-action-item .anticon {
17
+ padding-right: 2px;
18
+ font-size: 16px;
19
+ color: #89b;
20
+ }
21
+ .select-rect-menu-layout .menu-action-item:hover {
22
+ background: #ffaa00;
23
+ color: #fff;
24
+ cursor: pointer;
25
+ }
26
+ .select-rect-menu-layout .menu-action-item:hover .anticon {
27
+ color: #fff;
28
+ }
29
+ .select-rect-menu-layout .menu-action-item:last-child {
30
+ margin-bottom: 0;
31
+ }
@@ -0,0 +1,13 @@
1
+ import './index.less';
2
+ import { MenuRectType } from 'src/Picture/interface';
3
+ interface IRectMenuProps {
4
+ x: number;
5
+ y: number;
6
+ menus: MenuRectType[];
7
+ containerDom: HTMLDivElement;
8
+ onMenuClick: (options: MenuRectType & {
9
+ base64: string;
10
+ }) => void;
11
+ }
12
+ declare function RectMenu({ x, y, menus, containerDom, onMenuClick }: IRectMenuProps): JSX.Element;
13
+ export default RectMenu;
@@ -0,0 +1,81 @@
1
+ import React, { useCallback, useMemo, useRef, useEffect } from 'react';
2
+ import IconFont from '../../../IconFont';
3
+ import { computedMenuPosition } from './utils';
4
+ import "./index.css";
5
+ var MENU_WIDTH = 110;
6
+ var MENU_HEIGHT = 30;
7
+
8
+ function RectMenu(_ref) {
9
+ var x = _ref.x,
10
+ y = _ref.y,
11
+ menus = _ref.menus,
12
+ containerDom = _ref.containerDom,
13
+ onMenuClick = _ref.onMenuClick;
14
+
15
+ var _useMemo = useMemo(function () {
16
+ return containerDom.getBoundingClientRect();
17
+ }, [containerDom]),
18
+ width = _useMemo.width,
19
+ height = _useMemo.height;
20
+
21
+ var size = useMemo(function () {
22
+ return {
23
+ w: MENU_WIDTH,
24
+ h: MENU_HEIGHT * menus.length
25
+ };
26
+ }, [menus.length]);
27
+ var position = useMemo(function () {
28
+ return computedMenuPosition({
29
+ width: width,
30
+ height: height,
31
+ size: size,
32
+ position: [x, y]
33
+ });
34
+ }, [height, size, width, x, y]);
35
+ var domRef = useRef(null);
36
+ var handleCancelB = useCallback(function (e) {
37
+ return e.stopPropagation();
38
+ }, []); //防止click事件冒泡到查看器
39
+
40
+ useEffect(function () {
41
+ var dom = domRef.current;
42
+
43
+ if (dom) {
44
+ dom.addEventListener('mousedown', handleCancelB, false);
45
+ dom.addEventListener('mousemove', handleCancelB, false);
46
+ dom.addEventListener('mouseup', handleCancelB, false);
47
+ }
48
+
49
+ return function () {
50
+ if (dom) {
51
+ dom.removeEventListener('mousedown', handleCancelB, false);
52
+ dom.removeEventListener('mousemove', handleCancelB, false);
53
+ dom.removeEventListener('mouseup', handleCancelB, false);
54
+ }
55
+ };
56
+ }, [handleCancelB]);
57
+ var onClickMenu = useCallback(function (e, item) {
58
+ e.stopPropagation();
59
+ onMenuClick && onMenuClick(item);
60
+ }, [onMenuClick]);
61
+ return /*#__PURE__*/React.createElement("div", {
62
+ className: "select-rect-menu-layout",
63
+ style: {
64
+ left: position.x,
65
+ top: position.y
66
+ },
67
+ ref: domRef
68
+ }, menus.map(function (v) {
69
+ return /*#__PURE__*/React.createElement("div", {
70
+ className: "menu-action-item",
71
+ key: v.pathname,
72
+ onClick: function onClick(e) {
73
+ return onClickMenu(e, v);
74
+ }
75
+ }, /*#__PURE__*/React.createElement(IconFont, {
76
+ type: v.icon
77
+ }), v.title);
78
+ }));
79
+ }
80
+
81
+ export default RectMenu;
@@ -0,0 +1,12 @@
1
+ export declare function computedMenuPosition({ width, height, position, size }: {
2
+ width: number;
3
+ height: number;
4
+ position: number[];
5
+ size: {
6
+ w: number;
7
+ h: number;
8
+ };
9
+ }): {
10
+ x: number;
11
+ y: number;
12
+ };
@@ -0,0 +1,22 @@
1
+ export function computedMenuPosition(_ref) {
2
+ var width = _ref.width,
3
+ height = _ref.height,
4
+ position = _ref.position,
5
+ size = _ref.size;
6
+ var x, y;
7
+ x = position[0];
8
+ y = position[1];
9
+
10
+ if (width - x < size.w) {
11
+ x = width - size.w;
12
+ }
13
+
14
+ if (height - y < size.h) {
15
+ y = height - size.h;
16
+ }
17
+
18
+ return {
19
+ x: x,
20
+ y: y
21
+ };
22
+ }
@@ -0,0 +1,42 @@
1
+ .picture-tools {
2
+ position: absolute;
3
+ bottom: 10px;
4
+ right: 10px;
5
+ background: #fff;
6
+ box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.3);
7
+ }
8
+ .picture-tools.actions-change-rotate {
9
+ bottom: 150px;
10
+ }
11
+ .picture-tools > div {
12
+ width: 30px;
13
+ height: 25px;
14
+ line-height: 25px;
15
+ text-align: center;
16
+ cursor: pointer;
17
+ }
18
+ .picture-tools > div.disabled {
19
+ cursor: not-allowed;
20
+ color: #999;
21
+ }
22
+ .picture-tools > div.disabled .anticon {
23
+ color: #999;
24
+ }
25
+ .picture-actions {
26
+ position: absolute;
27
+ top: 8px;
28
+ right: 8px;
29
+ }
30
+ .picture-actions > div {
31
+ width: 28px;
32
+ height: 28px;
33
+ line-height: 28px;
34
+ background: #fff;
35
+ float: left;
36
+ text-align: center;
37
+ margin-left: 4px;
38
+ cursor: pointer;
39
+ }
40
+ .picture-actions .tools-screen-layer .anticon {
41
+ padding-right: 0;
42
+ }
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import './index.less';
3
+ interface IToolsProps {
4
+ scale: number;
5
+ imgDownload: () => void;
6
+ setScale: (scale: number) => void;
7
+ setRotate: (rotate: number) => void;
8
+ containerEle: HTMLDivElement;
9
+ resetPicture: (event: React.MouseEvent) => void;
10
+ fullScreenChange: (flag: boolean) => void;
11
+ }
12
+ declare function Tools({ scale, imgDownload, setScale, setRotate, containerEle, resetPicture, fullScreenChange }: IToolsProps): JSX.Element;
13
+ export default Tools;