@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.
- package/.umirc.ts +1 -2
- package/es/Api/index.d.ts +3 -4
- package/es/Api/index.js +7 -8
- package/es/AppRedirect/index.css +0 -0
- package/es/AppRedirect/index.d.ts +16 -0
- package/es/AppRedirect/index.js +38 -0
- package/es/AppRoute/Render.d.ts +23 -0
- package/es/AppRoute/Render.js +111 -0
- package/es/AppRoute/Rendered.d.ts +4 -0
- package/es/AppRoute/Rendered.js +11 -0
- package/es/AppRoute/index.css +0 -0
- package/es/AppRoute/index.d.ts +14 -0
- package/es/AppRoute/index.js +106 -0
- package/es/AppRoute/interface.d.ts +18 -0
- package/es/AppRoute/utils.d.ts +1 -0
- package/es/AppRoute/utils.js +28 -0
- package/es/Auth/index.d.ts +8 -0
- package/es/Auth/index.js +17 -0
- package/es/AutoExit/index.js +8 -5
- package/es/CheckGroupFixed/index.css +49 -0
- package/es/CheckGroupFixed/index.d.ts +17 -0
- package/es/CheckGroupFixed/index.js +146 -0
- package/es/Config/index.js +24 -3
- package/es/Config/interface.d.ts +9 -1
- package/es/Config/utils.d.ts +6 -1
- package/es/ConfigContext/index.d.ts +3 -0
- package/es/ContentBox/BetweenBox/index.css +5 -0
- package/es/ContentBox/BetweenBox/index.d.ts +12 -0
- package/es/ContentBox/BetweenBox/index.js +24 -0
- package/es/ContentBox/InfoBox/index.css +23 -0
- package/es/ContentBox/InfoBox/index.d.ts +12 -0
- package/es/ContentBox/InfoBox/index.js +26 -0
- package/es/ContentBox/TwoColumnBox/index.css +77 -0
- package/es/ContentBox/TwoColumnBox/index.d.ts +10 -0
- package/es/ContentBox/TwoColumnBox/index.js +50 -0
- package/es/ContentBox/deps/content-grid.d.ts +9 -0
- package/es/ContentBox/deps/content-grid.js +9 -0
- package/es/ContentBox/deps/grid-factory.d.ts +10 -0
- package/es/ContentBox/deps/grid-factory.js +72 -0
- package/es/ContentBox/deps/simple-grid.d.ts +9 -0
- package/es/ContentBox/deps/simple-grid.js +8 -0
- package/es/ContentBox/index.css +9 -0
- package/es/ContentBox/index.d.ts +14 -0
- package/es/ContentBox/index.js +28 -0
- package/es/DeviceIcon/icon.js +5 -5
- package/es/DeviceIcon/index.js +2 -2
- package/es/DeviceList/index.d.ts +1 -1
- package/es/DeviceList/index.js +4 -4
- package/es/DeviceSelect/index.js +2 -2
- package/es/Dict/cache.d.ts +3 -0
- package/es/Dict/cache.js +21 -0
- package/es/Dict/desc.d.ts +64 -0
- package/es/Dict/desc.js +162 -0
- package/es/Dict/device.d.ts +28 -0
- package/es/Dict/device.js +117 -0
- package/es/Dict/hook.d.ts +4 -0
- package/es/Dict/hook.js +114 -0
- package/es/Dict/index.d.ts +13 -0
- package/es/Dict/index.js +14 -0
- package/es/Dict/interface.d.ts +16 -0
- package/es/Dict/utils.d.ts +11 -0
- package/es/Dict/utils.js +51 -0
- package/es/Drag/DragAndDropItem.d.ts +4 -0
- package/es/Drag/DragAndDropItem.js +145 -0
- package/es/Drag/DropItem.d.ts +4 -0
- package/es/Drag/DropItem.js +54 -0
- package/es/Drag/index.css +0 -0
- package/es/Drag/index.d.ts +7 -0
- package/es/Drag/index.js +7 -0
- package/es/Drag/interface.d.ts +16 -0
- package/es/Drawer/Demo.d.ts +3 -0
- package/es/Drawer/Demo.js +52 -0
- package/es/Drawer/Footer.d.ts +4 -0
- package/es/Drawer/Footer.js +26 -0
- package/es/Drawer/index.css +39 -0
- package/es/Drawer/index.d.ts +12 -0
- package/es/Drawer/index.js +41 -0
- package/es/Drawer/interface.d.ts +191 -0
- package/es/DynamicDeviceList/CheckExt.js +3 -3
- package/es/DynamicDeviceList/index.js +2 -2
- package/es/DynamicDeviceList/utils.js +2 -2
- package/es/DynamicList/demo.d.ts +2 -0
- package/es/DynamicList/demo.js +71 -0
- package/es/DynamicList/index.css +7 -0
- package/es/DynamicList/index.d.ts +31 -0
- package/es/DynamicList/index.js +132 -0
- package/es/FullScreen/index.css +16 -0
- package/es/FullScreen/index.d.ts +10 -0
- package/es/FullScreen/index.js +68 -0
- package/es/HightLevel/index.css +3 -0
- package/es/HightLevel/index.d.ts +9 -0
- package/es/HightLevel/index.js +22 -0
- package/es/IconFont/index.css +0 -0
- package/es/IconFont/index.d.ts +13 -0
- package/es/IconFont/index.js +58 -0
- package/es/ImageView/index.css +6 -0
- package/es/ImageView/index.d.ts +17 -0
- package/es/ImageView/index.js +58 -0
- package/es/InitialConfig/index.js +5 -9
- package/es/InitialRequest/index.js +2 -2
- package/es/InitialRequest/utils.js +1 -1
- package/es/Input/index.css +8 -0
- package/es/Input/index.d.ts +18 -0
- package/es/Input/index.js +75 -0
- package/es/LabelValue/index.css +18 -0
- package/es/LabelValue/index.d.ts +23 -0
- package/es/LabelValue/index.js +32 -0
- package/es/List/CheckExt.d.ts +10 -0
- package/es/List/CheckExt.js +28 -0
- package/es/List/index.css +62 -6
- package/es/List/index.d.ts +73 -11
- package/es/List/index.js +162 -36
- package/es/List/renderItem.d.ts +20 -0
- package/es/List/renderItem.js +68 -0
- package/es/List/utils.d.ts +5 -0
- package/es/List/utils.js +18 -0
- package/es/ListExt/index.css +9 -0
- package/es/ListExt/index.d.ts +19 -0
- package/es/ListExt/index.js +44 -0
- package/es/LoaderScript/index.d.ts +26 -0
- package/es/LoaderScript/index.js +127 -0
- package/es/LoaderScript/interface.d.ts +26 -0
- package/es/LoaderScript/utils.d.ts +12 -0
- package/es/LoaderScript/utils.js +110 -0
- package/es/Modal/index.css +43 -0
- package/es/Modal/index.d.ts +17 -0
- package/es/Modal/index.js +34 -0
- package/es/Modal/interface.d.ts +339 -0
- package/es/Picture/component/DefaultRects/RectInfo.d.ts +7 -0
- package/es/Picture/component/DefaultRects/RectInfo.js +94 -0
- package/es/Picture/component/DefaultRects/index.css +247 -0
- package/es/Picture/component/DefaultRects/index.d.ts +12 -0
- package/es/Picture/component/DefaultRects/index.js +47 -0
- package/es/Picture/component/DefaultRects/utils.d.ts +2 -0
- package/es/Picture/component/DefaultRects/utils.js +11 -0
- package/es/Picture/component/DrawRect/index.css +8 -0
- package/es/Picture/component/DrawRect/index.d.ts +14 -0
- package/es/Picture/component/DrawRect/index.js +41 -0
- package/es/Picture/component/MoveContent/index.css +0 -0
- package/es/Picture/component/MoveContent/index.d.ts +39 -0
- package/es/Picture/component/MoveContent/index.js +240 -0
- package/es/Picture/component/MoveContent/utils.d.ts +4 -0
- package/es/Picture/component/MoveContent/utils.js +19 -0
- package/es/Picture/component/RectMenu/index.css +31 -0
- package/es/Picture/component/RectMenu/index.d.ts +13 -0
- package/es/Picture/component/RectMenu/index.js +81 -0
- package/es/Picture/component/RectMenu/utils.d.ts +12 -0
- package/es/Picture/component/RectMenu/utils.js +22 -0
- package/es/Picture/component/Tools/index.css +42 -0
- package/es/Picture/component/Tools/index.d.ts +13 -0
- package/es/Picture/component/Tools/index.js +83 -0
- package/es/Picture/component/WheelScale/index.d.ts +6 -0
- package/es/Picture/component/WheelScale/index.js +29 -0
- package/es/Picture/dragBound.d.ts +5 -0
- package/es/Picture/dragBound.js +77 -0
- package/es/Picture/index.css +12 -0
- package/es/Picture/index.d.ts +16 -0
- package/es/Picture/index.js +344 -0
- package/es/Picture/interface.d.ts +67 -0
- package/es/Picture/loadCaptureRectImage.d.ts +8 -0
- package/es/Picture/loadCaptureRectImage.js +119 -0
- package/es/Picture/useDraw.d.ts +1 -0
- package/es/Picture/useDraw.js +136 -0
- package/es/Picture/utils.d.ts +22 -0
- package/es/Picture/utils.js +90 -0
- package/es/Progress/index.css +20 -0
- package/es/Progress/index.d.ts +11 -0
- package/es/Progress/index.js +68 -0
- package/es/RefDrawer/index.js +4 -5
- package/es/RefModal/index.js +4 -5
- package/es/ScrollList/index.css +73 -0
- package/es/ScrollList/index.d.ts +24 -0
- package/es/ScrollList/index.js +261 -0
- package/es/ScrollList/utils.js +84 -0
- package/es/Service/http.js +0 -17
- package/es/TableLayout/index.css +4 -0
- package/es/TableLayout/index.d.ts +10 -0
- package/es/TableLayout/index.js +64 -0
- package/es/ThemeAntd/index.css +501 -0
- package/es/ThemeAntd/index.d.ts +7 -0
- package/es/ThemeAntd/index.js +6 -0
- package/es/ThemeAntd/style/button.css +46 -0
- package/es/ThemeAntd/style/checkbox.css +64 -0
- package/es/ThemeAntd/style/form.css +10 -0
- package/es/ThemeAntd/style/input.css +58 -0
- package/es/ThemeAntd/style/pagination.css +44 -0
- package/es/ThemeAntd/style/picker.css +86 -0
- package/es/ThemeAntd/style/popover.css +3 -0
- package/es/ThemeAntd/style/radio.css +71 -0
- package/es/ThemeAntd/style/scrollbar.css +19 -0
- package/es/ThemeAntd/style/select.css +57 -0
- package/es/ThemeAntd/style/table.css +36 -0
- package/es/ThemeAntd/style/tree.css +4 -0
- package/es/Tree/demo.d.ts +2 -0
- package/es/Tree/demo.js +69 -0
- package/es/Tree/index.css +64 -0
- package/es/Tree/index.d.ts +24 -0
- package/es/Tree/index.js +83 -0
- package/es/TreeMode/index.d.ts +1 -1
- package/es/TreeMode/index.js +6 -6
- package/es/TreeTitle/index.js +2 -2
- package/es/UserSelect/index.d.ts +3 -3
- package/es/UserSelect/index.js +13 -15
- package/es/VList/index.css +4 -0
- package/es/VList/index.d.ts +16 -0
- package/es/VList/index.js +56 -0
- package/es/VList/utils.d.ts +10 -0
- package/es/VList/utils.js +17 -0
- package/es/WorkerFlow/Form/Condition.js +6 -6
- package/es/WorkerFlow/Form/EmptyUserSet.js +2 -2
- package/es/WorkerFlow/Form/FormAuth.js +2 -2
- package/es/WorkerFlow/Form/GroupSelect.js +2 -2
- package/es/WorkerFlow/Form/GroupSelectModalContent.js +5 -5
- package/es/WorkerFlow/Form/LevelGroupSelect.js +3 -3
- package/es/WorkerFlow/Form/UserAndGroupSelect.js +2 -2
- package/es/WorkerFlow/Form/UserSelect.js +2 -2
- package/es/WorkerFlow/Form/UserSelectModalContent.js +3 -4
- package/es/WorkerFlow/Form/UserSet.js +2 -2
- package/es/WorkerFlow/Nodes/Add.js +2 -3
- package/es/WorkerFlow/Nodes/AddOption.js +2 -2
- package/es/WorkerFlow/Nodes/Approver.js +2 -2
- package/es/WorkerFlow/Nodes/Condition.js +2 -2
- package/es/WorkerFlow/Nodes/Handle.js +2 -2
- package/es/WorkerFlow/Nodes/Notifier.js +2 -2
- package/es/WorkerFlow/Nodes/TitleElement.js +5 -8
- package/es/WorkerFlow/index.js +2 -3
- package/es/core.d.ts +27 -0
- package/es/index.d.ts +30 -0
- package/es/index.js +30 -0
- package/es/useChangeEffect/index.d.ts +3 -0
- package/es/useChangeEffect/index.js +32 -0
- package/es/useDrawer/index.d.ts +14 -0
- package/es/useDrawer/index.js +90 -0
- package/es/useHistory/index.css +0 -0
- package/es/useHistory/index.d.ts +3 -0
- package/es/useHistory/index.js +14 -0
- package/es/useHttp/index.d.ts +8 -0
- package/es/useHttp/index.js +78 -0
- package/es/useModal/index.d.ts +14 -0
- package/es/useModal/index.js +92 -0
- package/es/utils.d.ts +2 -0
- package/es/utils.js +32 -0
- 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,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,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,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,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;
|