@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.
- package/.umirc.ts +1 -2
- package/es/Api/index.d.ts +3 -4
- package/es/Api/index.js +7 -8
- package/es/AppContext/Sync.d.ts +6 -0
- package/es/AppContext/Sync.js +47 -0
- package/es/AppContext/index.d.ts +10 -0
- package/es/AppContext/index.js +117 -0
- package/es/AppContext/interface.d.ts +29 -0
- package/es/AppContext/static.d.ts +6 -0
- package/es/AppContext/static.js +6 -0
- package/es/{AppLayout/AppTools → 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/{DagInitialConfig → AppRoute}/index.css +0 -0
- package/es/AppRoute/index.d.ts +14 -0
- package/es/{AppLayout/Header/NotifyAlarm.js → AppRoute/index.js} +52 -68
- 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.d.ts +4 -0
- package/es/Config/index.js +44 -0
- package/es/Config/interface.d.ts +47 -0
- package/es/Config/utils.d.ts +16 -0
- package/es/Config/utils.js +54 -0
- package/es/ConfigContext/index.d.ts +9 -0
- package/es/ConfigContext/index.js +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/{DagInitialRequest → 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/{DagInitialRequest/index.js → DynamicList/demo.js} +49 -55
- 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/{Upload → 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.d.ts +5 -7
- package/es/InitialConfig/index.js +16 -51
- package/es/InitialConfig/utils.d.ts +15 -0
- package/es/InitialConfig/utils.js +40 -305
- package/es/InitialRequest/index.d.ts +5 -11
- package/es/InitialRequest/index.js +50 -67
- package/es/InitialRequest/utils.d.ts +8 -0
- package/es/InitialRequest/utils.js +28 -567
- package/es/Input/index.css +8 -0
- package/es/Input/index.d.ts +18 -0
- package/es/{DagInitialConfig → Input}/index.js +50 -45
- 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/{AppLayout/Header/ThemeTools.js → Progress/index.js} +46 -47
- 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.d.ts +4 -0
- package/es/Service/http.js +135 -0
- package/es/Service/index.d.ts +3 -0
- package/es/Service/index.js +14 -0
- package/es/Service/interface.d.ts +28 -0
- package/es/Service/logger.d.ts +3 -0
- package/es/Service/logger.js +13 -0
- package/es/Service/middleware.d.ts +5 -0
- package/es/Service/middleware.js +15 -0
- package/es/Service/utils.d.ts +3 -0
- package/es/Service/utils.js +11 -0
- 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/{OrgUserTree → Tree}/demo.d.ts +0 -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/Demo.js +1 -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/GroupList.d.ts +2 -1
- package/es/WorkerFlow/Form/GroupList.js +3 -2
- package/es/WorkerFlow/Form/GroupSelect.js +2 -2
- package/es/WorkerFlow/Form/GroupSelectModalContent.js +9 -7
- 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 +17 -13
- package/es/WorkerFlow/index.js +37 -9
- package/es/core.d.ts +27 -0
- package/es/index.d.ts +34 -8
- package/es/index.js +34 -8
- 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 +12 -6
- package/es/AppLayout/AppHeader/index.css +0 -4
- package/es/AppLayout/AppHeader/index.d.ts +0 -18
- package/es/AppLayout/AppHeader/index.js +0 -41
- package/es/AppLayout/AppHorizontalMenu/MenuEmptyBox.d.ts +0 -1
- package/es/AppLayout/AppHorizontalMenu/MenuEmptyBox.js +0 -10
- package/es/AppLayout/AppHorizontalMenu/SubGroup.d.ts +0 -9
- package/es/AppLayout/AppHorizontalMenu/SubGroup.js +0 -57
- package/es/AppLayout/AppHorizontalMenu/index.css +0 -152
- package/es/AppLayout/AppHorizontalMenu/index.d.ts +0 -13
- package/es/AppLayout/AppHorizontalMenu/index.js +0 -230
- package/es/AppLayout/AppInlineMenu/SubGroup.d.ts +0 -9
- package/es/AppLayout/AppInlineMenu/SubGroup.js +0 -34
- package/es/AppLayout/AppInlineMenu/index.css +0 -110
- package/es/AppLayout/AppInlineMenu/index.d.ts +0 -12
- package/es/AppLayout/AppInlineMenu/index.js +0 -194
- package/es/AppLayout/AppLogo/index.css +0 -74
- package/es/AppLayout/AppLogo/index.d.ts +0 -13
- package/es/AppLayout/AppLogo/index.js +0 -100
- package/es/AppLayout/AppTools/index.d.ts +0 -8
- package/es/AppLayout/AppTools/index.js +0 -10
- package/es/AppLayout/FunctionPreview/index.css +0 -128
- package/es/AppLayout/FunctionPreview/index.d.ts +0 -22
- package/es/AppLayout/FunctionPreview/index.js +0 -218
- package/es/AppLayout/Header/ListenceRoute.d.ts +0 -5
- package/es/AppLayout/Header/ListenceRoute.js +0 -28
- package/es/AppLayout/Header/ModifyPassword/index.d.ts +0 -6
- package/es/AppLayout/Header/ModifyPassword/index.js +0 -201
- package/es/AppLayout/Header/ModifyUserAvatar/index.css +0 -25
- package/es/AppLayout/Header/ModifyUserAvatar/index.d.ts +0 -10
- package/es/AppLayout/Header/ModifyUserAvatar/index.js +0 -97
- package/es/AppLayout/Header/Tools.d.ts +0 -11
- package/es/AppLayout/Header/Tools.js +0 -86
- package/es/AppLayout/Header/ToolsItem.d.ts +0 -1
- package/es/AppLayout/Header/ToolsItem.js +0 -12
- package/es/AppLayout/Header/UserAction.d.ts +0 -10
- package/es/AppLayout/Header/UserAction.js +0 -224
- package/es/AppLayout/Header/index.css +0 -136
- package/es/AppLayout/Header/index.d.ts +0 -9
- package/es/AppLayout/Header/index.js +0 -36
- package/es/AppLayout/index.css +0 -21
- package/es/AppLayout/index.d.ts +0 -12
- package/es/AppLayout/index.js +0 -38
- package/es/AppLayout/service/index.js +0 -174
- package/es/AppLayout/service/prefix.js +0 -4
- package/es/AppLayout/service/url.js +0 -35
- package/es/AppLayout/utils/menu.js +0 -24
- package/es/AppLayout/utils.d.ts +0 -4
- package/es/AppLayout/utils.js +0 -112
- package/es/DagInitialConfig/index.d.ts +0 -10
- package/es/DagInitialConfig/utils.js +0 -185
- package/es/DagInitialRequest/index.d.ts +0 -10
- package/es/DagInitialRequest/utils.js +0 -573
- package/es/FormContent/index.css +0 -27
- package/es/FormContent/index.d.ts +0 -19
- package/es/FormContent/index.js +0 -58
- package/es/OrgTree/index.css +0 -39
- package/es/OrgTree/index.d.ts +0 -16
- package/es/OrgTree/index.js +0 -176
- package/es/OrgUserTree/demo.js +0 -20
- package/es/OrgUserTree/index.css +0 -31
- package/es/OrgUserTree/index.d.ts +0 -28
- package/es/OrgUserTree/index.js +0 -131
- package/es/PlaceTree/demo.d.ts +0 -2
- package/es/PlaceTree/demo.js +0 -20
- package/es/PlaceTree/index.css +0 -40
- package/es/PlaceTree/index.d.ts +0 -26
- package/es/PlaceTree/index.js +0 -174
- package/es/Upload/AntUpload/index.css +0 -22
- package/es/Upload/AntUpload/index.d.ts +0 -19
- package/es/Upload/AntUpload/index.js +0 -226
- package/es/Upload/UploadChildren/index.css +0 -28
- package/es/Upload/UploadChildren/index.js +0 -26
- package/es/Upload/index.d.ts +0 -9
- 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,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,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;
|