@cloud-app-dev/vidc 2.0.0-alpha.1 → 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 (243) 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/AppRedirect/index.css +0 -0
  5. package/es/AppRedirect/index.d.ts +16 -0
  6. package/es/AppRedirect/index.js +38 -0
  7. package/es/AppRoute/Render.d.ts +23 -0
  8. package/es/AppRoute/Render.js +111 -0
  9. package/es/AppRoute/Rendered.d.ts +4 -0
  10. package/es/AppRoute/Rendered.js +11 -0
  11. package/es/AppRoute/index.css +0 -0
  12. package/es/AppRoute/index.d.ts +14 -0
  13. package/es/AppRoute/index.js +106 -0
  14. package/es/AppRoute/interface.d.ts +18 -0
  15. package/es/AppRoute/utils.d.ts +1 -0
  16. package/es/AppRoute/utils.js +28 -0
  17. package/es/Auth/index.d.ts +8 -0
  18. package/es/Auth/index.js +17 -0
  19. package/es/AutoExit/index.js +8 -5
  20. package/es/CheckGroupFixed/index.css +49 -0
  21. package/es/CheckGroupFixed/index.d.ts +17 -0
  22. package/es/CheckGroupFixed/index.js +146 -0
  23. package/es/Config/index.js +24 -3
  24. package/es/Config/interface.d.ts +9 -1
  25. package/es/Config/utils.d.ts +6 -1
  26. package/es/ConfigContext/index.d.ts +3 -0
  27. package/es/ContentBox/BetweenBox/index.css +5 -0
  28. package/es/ContentBox/BetweenBox/index.d.ts +12 -0
  29. package/es/ContentBox/BetweenBox/index.js +24 -0
  30. package/es/ContentBox/InfoBox/index.css +23 -0
  31. package/es/ContentBox/InfoBox/index.d.ts +12 -0
  32. package/es/ContentBox/InfoBox/index.js +26 -0
  33. package/es/ContentBox/TwoColumnBox/index.css +77 -0
  34. package/es/ContentBox/TwoColumnBox/index.d.ts +10 -0
  35. package/es/ContentBox/TwoColumnBox/index.js +50 -0
  36. package/es/ContentBox/deps/content-grid.d.ts +9 -0
  37. package/es/ContentBox/deps/content-grid.js +9 -0
  38. package/es/ContentBox/deps/grid-factory.d.ts +10 -0
  39. package/es/ContentBox/deps/grid-factory.js +72 -0
  40. package/es/ContentBox/deps/simple-grid.d.ts +9 -0
  41. package/es/ContentBox/deps/simple-grid.js +8 -0
  42. package/es/ContentBox/index.css +9 -0
  43. package/es/ContentBox/index.d.ts +14 -0
  44. package/es/ContentBox/index.js +28 -0
  45. package/es/DeviceIcon/icon.js +5 -5
  46. package/es/DeviceIcon/index.js +2 -2
  47. package/es/DeviceList/index.d.ts +1 -1
  48. package/es/DeviceList/index.js +4 -4
  49. package/es/DeviceSelect/index.js +2 -2
  50. package/es/Dict/cache.d.ts +3 -0
  51. package/es/Dict/cache.js +21 -0
  52. package/es/Dict/desc.d.ts +64 -0
  53. package/es/Dict/desc.js +162 -0
  54. package/es/Dict/device.d.ts +28 -0
  55. package/es/Dict/device.js +117 -0
  56. package/es/Dict/hook.d.ts +4 -0
  57. package/es/Dict/hook.js +114 -0
  58. package/es/Dict/index.d.ts +13 -0
  59. package/es/Dict/index.js +14 -0
  60. package/es/Dict/interface.d.ts +16 -0
  61. package/es/Dict/utils.d.ts +11 -0
  62. package/es/Dict/utils.js +51 -0
  63. package/es/Drag/DragAndDropItem.d.ts +4 -0
  64. package/es/Drag/DragAndDropItem.js +145 -0
  65. package/es/Drag/DropItem.d.ts +4 -0
  66. package/es/Drag/DropItem.js +54 -0
  67. package/es/Drag/index.css +0 -0
  68. package/es/Drag/index.d.ts +7 -0
  69. package/es/Drag/index.js +7 -0
  70. package/es/Drag/interface.d.ts +16 -0
  71. package/es/Drawer/Demo.d.ts +3 -0
  72. package/es/Drawer/Demo.js +52 -0
  73. package/es/Drawer/Footer.d.ts +4 -0
  74. package/es/Drawer/Footer.js +26 -0
  75. package/es/Drawer/index.css +39 -0
  76. package/es/Drawer/index.d.ts +12 -0
  77. package/es/Drawer/index.js +41 -0
  78. package/es/Drawer/interface.d.ts +191 -0
  79. package/es/DynamicDeviceList/CheckExt.js +3 -3
  80. package/es/DynamicDeviceList/index.js +2 -2
  81. package/es/DynamicDeviceList/utils.js +2 -2
  82. package/es/DynamicList/demo.d.ts +2 -0
  83. package/es/DynamicList/demo.js +71 -0
  84. package/es/DynamicList/index.css +7 -0
  85. package/es/DynamicList/index.d.ts +31 -0
  86. package/es/DynamicList/index.js +132 -0
  87. package/es/FullScreen/index.css +16 -0
  88. package/es/FullScreen/index.d.ts +10 -0
  89. package/es/FullScreen/index.js +68 -0
  90. package/es/HightLevel/index.css +3 -0
  91. package/es/HightLevel/index.d.ts +9 -0
  92. package/es/HightLevel/index.js +22 -0
  93. package/es/IconFont/index.css +0 -0
  94. package/es/IconFont/index.d.ts +13 -0
  95. package/es/IconFont/index.js +58 -0
  96. package/es/ImageView/index.css +6 -0
  97. package/es/ImageView/index.d.ts +17 -0
  98. package/es/ImageView/index.js +58 -0
  99. package/es/InitialConfig/index.js +5 -9
  100. package/es/InitialRequest/index.js +2 -2
  101. package/es/InitialRequest/utils.js +1 -1
  102. package/es/Input/index.css +8 -0
  103. package/es/Input/index.d.ts +18 -0
  104. package/es/Input/index.js +75 -0
  105. package/es/LabelValue/index.css +18 -0
  106. package/es/LabelValue/index.d.ts +23 -0
  107. package/es/LabelValue/index.js +32 -0
  108. package/es/List/CheckExt.d.ts +10 -0
  109. package/es/List/CheckExt.js +28 -0
  110. package/es/List/index.css +62 -6
  111. package/es/List/index.d.ts +73 -11
  112. package/es/List/index.js +162 -36
  113. package/es/List/renderItem.d.ts +20 -0
  114. package/es/List/renderItem.js +68 -0
  115. package/es/List/utils.d.ts +5 -0
  116. package/es/List/utils.js +18 -0
  117. package/es/ListExt/index.css +9 -0
  118. package/es/ListExt/index.d.ts +19 -0
  119. package/es/ListExt/index.js +44 -0
  120. package/es/LoaderScript/index.d.ts +26 -0
  121. package/es/LoaderScript/index.js +127 -0
  122. package/es/LoaderScript/interface.d.ts +26 -0
  123. package/es/LoaderScript/utils.d.ts +12 -0
  124. package/es/LoaderScript/utils.js +110 -0
  125. package/es/Modal/index.css +43 -0
  126. package/es/Modal/index.d.ts +17 -0
  127. package/es/Modal/index.js +34 -0
  128. package/es/Modal/interface.d.ts +339 -0
  129. package/es/Picture/component/DefaultRects/RectInfo.d.ts +7 -0
  130. package/es/Picture/component/DefaultRects/RectInfo.js +94 -0
  131. package/es/Picture/component/DefaultRects/index.css +247 -0
  132. package/es/Picture/component/DefaultRects/index.d.ts +12 -0
  133. package/es/Picture/component/DefaultRects/index.js +47 -0
  134. package/es/Picture/component/DefaultRects/utils.d.ts +2 -0
  135. package/es/Picture/component/DefaultRects/utils.js +11 -0
  136. package/es/Picture/component/DrawRect/index.css +8 -0
  137. package/es/Picture/component/DrawRect/index.d.ts +14 -0
  138. package/es/Picture/component/DrawRect/index.js +41 -0
  139. package/es/Picture/component/MoveContent/index.css +0 -0
  140. package/es/Picture/component/MoveContent/index.d.ts +39 -0
  141. package/es/Picture/component/MoveContent/index.js +240 -0
  142. package/es/Picture/component/MoveContent/utils.d.ts +4 -0
  143. package/es/Picture/component/MoveContent/utils.js +19 -0
  144. package/es/Picture/component/RectMenu/index.css +31 -0
  145. package/es/Picture/component/RectMenu/index.d.ts +13 -0
  146. package/es/Picture/component/RectMenu/index.js +81 -0
  147. package/es/Picture/component/RectMenu/utils.d.ts +12 -0
  148. package/es/Picture/component/RectMenu/utils.js +22 -0
  149. package/es/Picture/component/Tools/index.css +42 -0
  150. package/es/Picture/component/Tools/index.d.ts +13 -0
  151. package/es/Picture/component/Tools/index.js +83 -0
  152. package/es/Picture/component/WheelScale/index.d.ts +6 -0
  153. package/es/Picture/component/WheelScale/index.js +29 -0
  154. package/es/Picture/dragBound.d.ts +5 -0
  155. package/es/Picture/dragBound.js +77 -0
  156. package/es/Picture/index.css +12 -0
  157. package/es/Picture/index.d.ts +16 -0
  158. package/es/Picture/index.js +344 -0
  159. package/es/Picture/interface.d.ts +67 -0
  160. package/es/Picture/loadCaptureRectImage.d.ts +8 -0
  161. package/es/Picture/loadCaptureRectImage.js +119 -0
  162. package/es/Picture/useDraw.d.ts +1 -0
  163. package/es/Picture/useDraw.js +136 -0
  164. package/es/Picture/utils.d.ts +22 -0
  165. package/es/Picture/utils.js +90 -0
  166. package/es/Progress/index.css +20 -0
  167. package/es/Progress/index.d.ts +11 -0
  168. package/es/Progress/index.js +68 -0
  169. package/es/RefDrawer/index.js +4 -5
  170. package/es/RefModal/index.js +4 -5
  171. package/es/ScrollList/index.css +73 -0
  172. package/es/ScrollList/index.d.ts +24 -0
  173. package/es/ScrollList/index.js +261 -0
  174. package/es/ScrollList/utils.js +84 -0
  175. package/es/Service/http.js +0 -17
  176. package/es/TableLayout/index.css +4 -0
  177. package/es/TableLayout/index.d.ts +10 -0
  178. package/es/TableLayout/index.js +64 -0
  179. package/es/ThemeAntd/index.css +501 -0
  180. package/es/ThemeAntd/index.d.ts +7 -0
  181. package/es/ThemeAntd/index.js +6 -0
  182. package/es/ThemeAntd/style/button.css +46 -0
  183. package/es/ThemeAntd/style/checkbox.css +64 -0
  184. package/es/ThemeAntd/style/form.css +10 -0
  185. package/es/ThemeAntd/style/input.css +58 -0
  186. package/es/ThemeAntd/style/pagination.css +44 -0
  187. package/es/ThemeAntd/style/picker.css +86 -0
  188. package/es/ThemeAntd/style/popover.css +3 -0
  189. package/es/ThemeAntd/style/radio.css +71 -0
  190. package/es/ThemeAntd/style/scrollbar.css +19 -0
  191. package/es/ThemeAntd/style/select.css +57 -0
  192. package/es/ThemeAntd/style/table.css +36 -0
  193. package/es/ThemeAntd/style/tree.css +4 -0
  194. package/es/Tree/demo.d.ts +2 -0
  195. package/es/Tree/demo.js +69 -0
  196. package/es/Tree/index.css +64 -0
  197. package/es/Tree/index.d.ts +24 -0
  198. package/es/Tree/index.js +83 -0
  199. package/es/TreeMode/index.d.ts +1 -1
  200. package/es/TreeMode/index.js +6 -6
  201. package/es/TreeTitle/index.js +2 -2
  202. package/es/UserSelect/index.d.ts +3 -3
  203. package/es/UserSelect/index.js +13 -15
  204. package/es/VList/index.css +4 -0
  205. package/es/VList/index.d.ts +16 -0
  206. package/es/VList/index.js +56 -0
  207. package/es/VList/utils.d.ts +10 -0
  208. package/es/VList/utils.js +17 -0
  209. package/es/WorkerFlow/Form/Condition.js +6 -6
  210. package/es/WorkerFlow/Form/EmptyUserSet.js +2 -2
  211. package/es/WorkerFlow/Form/FormAuth.js +2 -2
  212. package/es/WorkerFlow/Form/GroupSelect.js +2 -2
  213. package/es/WorkerFlow/Form/GroupSelectModalContent.js +5 -5
  214. package/es/WorkerFlow/Form/LevelGroupSelect.js +3 -3
  215. package/es/WorkerFlow/Form/UserAndGroupSelect.js +2 -2
  216. package/es/WorkerFlow/Form/UserSelect.js +2 -2
  217. package/es/WorkerFlow/Form/UserSelectModalContent.js +3 -4
  218. package/es/WorkerFlow/Form/UserSet.js +2 -2
  219. package/es/WorkerFlow/Nodes/Add.js +2 -3
  220. package/es/WorkerFlow/Nodes/AddOption.js +2 -2
  221. package/es/WorkerFlow/Nodes/Approver.js +2 -2
  222. package/es/WorkerFlow/Nodes/Condition.js +2 -2
  223. package/es/WorkerFlow/Nodes/Handle.js +2 -2
  224. package/es/WorkerFlow/Nodes/Notifier.js +2 -2
  225. package/es/WorkerFlow/Nodes/TitleElement.js +5 -8
  226. package/es/WorkerFlow/index.js +2 -3
  227. package/es/core.d.ts +27 -0
  228. package/es/index.d.ts +30 -0
  229. package/es/index.js +30 -0
  230. package/es/useChangeEffect/index.d.ts +3 -0
  231. package/es/useChangeEffect/index.js +32 -0
  232. package/es/useDrawer/index.d.ts +14 -0
  233. package/es/useDrawer/index.js +90 -0
  234. package/es/useHistory/index.css +0 -0
  235. package/es/useHistory/index.d.ts +3 -0
  236. package/es/useHistory/index.js +14 -0
  237. package/es/useHttp/index.d.ts +8 -0
  238. package/es/useHttp/index.js +78 -0
  239. package/es/useModal/index.d.ts +14 -0
  240. package/es/useModal/index.js +92 -0
  241. package/es/utils.d.ts +2 -0
  242. package/es/utils.js +32 -0
  243. package/package.json +11 -5
@@ -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;
@@ -0,0 +1,83 @@
1
+ import "antd/lib/tooltip/style";
2
+ import _Tooltip from "antd/lib/tooltip";
3
+ import React from 'react';
4
+ import IconFont from '../../../IconFont';
5
+ import FullScreen from '../../../FullScreen';
6
+ import "./index.css";
7
+
8
+ function Tools(_ref) {
9
+ var scale = _ref.scale,
10
+ imgDownload = _ref.imgDownload,
11
+ setScale = _ref.setScale,
12
+ setRotate = _ref.setRotate,
13
+ containerEle = _ref.containerEle,
14
+ resetPicture = _ref.resetPicture,
15
+ fullScreenChange = _ref.fullScreenChange;
16
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
17
+ className: "picture-tools"
18
+ }, /*#__PURE__*/React.createElement(_Tooltip, {
19
+ placement: "left",
20
+ title: "\u590D\u4F4D"
21
+ }, /*#__PURE__*/React.createElement("div", {
22
+ onClick: resetPicture
23
+ }, /*#__PURE__*/React.createElement(IconFont, {
24
+ type: "icon-S_View_RotateMiddle"
25
+ }))), /*#__PURE__*/React.createElement(_Tooltip, {
26
+ placement: "left",
27
+ title: "\u653E\u5927"
28
+ }, /*#__PURE__*/React.createElement("div", {
29
+ onClick: function onClick() {
30
+ return setScale(0.2);
31
+ },
32
+ className: scale === 3 ? 'disabled' : ''
33
+ }, /*#__PURE__*/React.createElement(IconFont, {
34
+ type: "icon-S_View_ZoomIn"
35
+ }))), /*#__PURE__*/React.createElement(_Tooltip, {
36
+ placement: "left",
37
+ title: "\u7F29\u5C0F"
38
+ }, /*#__PURE__*/React.createElement("div", {
39
+ onClick: function onClick() {
40
+ return setScale(-0.2);
41
+ },
42
+ className: scale === 1 ? 'disabled' : ''
43
+ }, /*#__PURE__*/React.createElement(IconFont, {
44
+ type: "icon-S_View_ZoomOut"
45
+ }))), /*#__PURE__*/React.createElement(_Tooltip, {
46
+ placement: "left",
47
+ title: "\u5411\u5DE6"
48
+ }, /*#__PURE__*/React.createElement("div", {
49
+ onClick: function onClick() {
50
+ return setRotate(-90);
51
+ }
52
+ }, /*#__PURE__*/React.createElement(IconFont, {
53
+ type: "icon-S_View_RotateLeft"
54
+ }))), /*#__PURE__*/React.createElement(_Tooltip, {
55
+ placement: "left",
56
+ title: "\u5411\u53F3"
57
+ }, /*#__PURE__*/React.createElement("div", {
58
+ onClick: function onClick() {
59
+ return setRotate(90);
60
+ }
61
+ }, /*#__PURE__*/React.createElement(IconFont, {
62
+ type: "icon-S_View_RotateRight"
63
+ })))), /*#__PURE__*/React.createElement("div", {
64
+ className: "picture-actions"
65
+ }, imgDownload && /*#__PURE__*/React.createElement("div", {
66
+ onClick: imgDownload
67
+ }, /*#__PURE__*/React.createElement(IconFont, {
68
+ type: "icon-S_Edit_LoadDown"
69
+ })), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(FullScreen, {
70
+ className: "footer_window",
71
+ getContainer: function getContainer() {
72
+ return containerEle;
73
+ },
74
+ fullScreenChange: fullScreenChange
75
+ }, function (isFullscreen) {
76
+ return /*#__PURE__*/React.createElement(IconFont, {
77
+ title: !isFullscreen ? '全屏' : '退出全屏',
78
+ type: !isFullscreen ? 'icon-S_View_ScreenViewFull' : 'icon-S_View_ScreenViewExit'
79
+ });
80
+ }))));
81
+ }
82
+
83
+ export default Tools;
@@ -0,0 +1,6 @@
1
+ interface IWheelScaleProps {
2
+ dom: HTMLElement;
3
+ setScale: (scale: number) => void;
4
+ }
5
+ declare function WheelScale({ dom, setScale }: IWheelScaleProps): JSX.Element;
6
+ export default WheelScale;
@@ -0,0 +1,29 @@
1
+ import React, { useCallback, useEffect } from 'react';
2
+
3
+ function WheelScale(_ref) {
4
+ var dom = _ref.dom,
5
+ setScale = _ref.setScale;
6
+ var onWheel = useCallback(function (e) {
7
+ if (e.ctrlKey || e.metaKey) {
8
+ e.preventDefault();
9
+ e.stopPropagation();
10
+ setScale(e.deltaY > 0 ? -0.2 : 0.2);
11
+ }
12
+ }, [setScale]); //滚轮缩放
13
+
14
+ useEffect(function () {
15
+ if (!dom) {
16
+ return null;
17
+ }
18
+
19
+ dom.addEventListener('mousewheel', onWheel, {
20
+ passive: false
21
+ });
22
+ return function () {
23
+ return dom.removeEventListener('mousewheel', onWheel);
24
+ };
25
+ }, [dom, onWheel]);
26
+ return /*#__PURE__*/React.createElement(React.Fragment, null);
27
+ }
28
+
29
+ export default WheelScale;
@@ -0,0 +1,5 @@
1
+ import { PositionType } from './interface';
2
+ export declare function computedBound(ele: HTMLElement, currentPosition: PositionType, scale: number, rotate: number): {
3
+ x: number;
4
+ y: number;
5
+ };
@@ -0,0 +1,77 @@
1
+ export function computedBound(ele, currentPosition, scale, rotate) {
2
+ var data = currentPosition;
3
+ var eleRect = ele.getBoundingClientRect();
4
+ var isHorizontal = Math.abs(rotate) % 180 === 0;
5
+ var w = eleRect.width;
6
+ var h = eleRect.height;
7
+ var lx = 0,
8
+ ly = 0;
9
+
10
+ if (scale === 1 && isHorizontal) {
11
+ return {
12
+ x: 0,
13
+ y: 0
14
+ };
15
+ }
16
+
17
+ if (scale === 1 && !isHorizontal) {
18
+ lx = 0;
19
+ ly = (w - h) / 2;
20
+ } else {
21
+ //TODO 这是限制x区域,应该是使用原来高度的缩放大小来计算,
22
+ if (h * scale < w && !isHorizontal) {
23
+ //TODO 放大后竖向是 h*scale<w是 x = 0,
24
+ lx = 0;
25
+ } else {
26
+ //TODO 得到缩放后可移动区域 在减去误差 (w - h) / 2
27
+ lx = !isHorizontal ? Math.round(h * (scale - 1) / 2 - (w - h) / 2) : Math.round(w * (scale - 1) / 2);
28
+ } //TODO y的限制区域应该是原来宽度的限制区域计算后还要加上原始的(w-h)/2
29
+
30
+
31
+ ly = !isHorizontal ? Math.round(w * (scale - 1) / 2 + (w - h) / 2) : Math.round(h * (scale - 1) / 2);
32
+ }
33
+
34
+ var x = 0,
35
+ y = 0;
36
+
37
+ if (data.x >= 0 && data.x > lx) {
38
+ x = lx;
39
+ }
40
+
41
+ if (data.x >= 0 && data.x < lx) {
42
+ x = data.x;
43
+ }
44
+
45
+ if (data.x < 0 && data.x < -lx) {
46
+ x = -lx;
47
+ }
48
+
49
+ if (data.x < 0 && data.x > -lx) {
50
+ x = data.x;
51
+ }
52
+
53
+ if (data.y >= 0 && data.y > ly) {
54
+ y = ly;
55
+ }
56
+
57
+ if (data.y >= 0 && data.y < ly) {
58
+ y = data.y;
59
+ }
60
+
61
+ if (data.y < 0 && data.y < -ly) {
62
+ y = -ly;
63
+ }
64
+
65
+ if (data.y < 0 && data.y > -ly) {
66
+ y = data.y;
67
+ }
68
+
69
+ if (x !== data.x || y !== data.y) {
70
+ return {
71
+ x: x,
72
+ y: y
73
+ };
74
+ } else {
75
+ return undefined;
76
+ }
77
+ }
@@ -0,0 +1,12 @@
1
+ .picture-view-layout {
2
+ position: relative;
3
+ overflow: hidden;
4
+ user-select: none;
5
+ min-height: 300px;
6
+ }
7
+ .picture-view-layout .picture-move-layout > div {
8
+ width: 100%;
9
+ height: 100%;
10
+ transition: all 0.3s;
11
+ overflow: hidden;
12
+ }
@@ -0,0 +1,16 @@
1
+ import { IPictureProps } from './interface';
2
+ import './index.less';
3
+ declare function Picture({ className, width, height, minHeight, disabledDrag, imagePath, rects, isOpenSelect, disabledDrawMenu, menus, hasTool, fullScreenEle, ...props }: IPictureProps): JSX.Element;
4
+ declare namespace Picture {
5
+ var defaultProps: {
6
+ className: string;
7
+ minHeight: number;
8
+ disabledDrag: boolean;
9
+ isOpenSelect: boolean;
10
+ disabledDrawMenu: boolean;
11
+ menus: any[];
12
+ rects: any[];
13
+ hasTool: boolean;
14
+ };
15
+ }
16
+ export default Picture;