@cloud-app-dev/vidc 4.0.19 → 4.0.21
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/es/AppContext/Sync.d.ts +8 -0
- package/es/AppContext/Sync.js +42 -0
- package/es/AppContext/index.d.ts +10 -0
- package/es/AppContext/index.js +141 -0
- package/es/AppContext/interface.d.ts +41 -0
- package/es/AppContext/static.d.ts +8 -0
- package/es/AppContext/static.js +9 -0
- package/es/Auth/index.d.ts +8 -0
- package/es/Auth/index.js +14 -0
- package/es/AutoExit/index.d.ts +6 -0
- package/es/AutoExit/index.js +19 -0
- package/es/CheckGroupFixed/demo.d.ts +3 -0
- package/es/CheckGroupFixed/demo.js +22 -0
- package/es/CheckGroupFixed/index.d.ts +24 -0
- package/es/CheckGroupFixed/index.js +140 -0
- package/es/CheckGroupFixed/index.less +56 -0
- package/es/Config/index.d.ts +4 -0
- package/es/Config/index.js +77 -0
- package/es/Config/interface.d.ts +65 -0
- package/es/Config/utils.d.ts +4 -0
- package/es/Config/utils.js +33 -0
- package/es/ConfigContext/index.d.ts +17 -0
- package/es/ConfigContext/index.js +21 -0
- package/es/CustomRenderSelect/index.d.ts +12 -0
- package/es/CustomRenderSelect/index.js +73 -0
- package/es/CustomRenderSelect/index.less +25 -0
- package/es/DBTools/index.d.ts +25 -0
- package/es/DBTools/index.js +336 -0
- package/es/DisableMark/index.d.ts +9 -0
- package/es/DisableMark/index.js +19 -0
- package/es/DisableMark/index.less +9 -0
- package/es/DomMove/demo.d.ts +2 -0
- package/es/DomMove/demo.js +16 -0
- package/es/DomMove/index.d.ts +16 -0
- package/es/DomMove/index.js +139 -0
- package/es/DomMove/utils.d.ts +8 -0
- package/es/DomMove/utils.js +32 -0
- package/es/Drag/DragAndDropItem.d.ts +4 -0
- package/es/Drag/DragAndDropItem.js +134 -0
- package/es/Drag/DropItem.d.ts +4 -0
- package/es/Drag/DropItem.js +50 -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/DynamicGridList/Demo.d.ts +3 -0
- package/es/DynamicGridList/Demo.js +77 -0
- package/es/DynamicGridList/index.d.ts +24 -0
- package/es/DynamicGridList/index.js +67 -0
- package/es/DynamicList/demo.d.ts +2 -0
- package/es/DynamicList/demo.js +44 -0
- package/es/DynamicList/index.d.ts +22 -0
- package/es/DynamicList/index.js +86 -0
- package/es/DynamicList/index.less +17 -0
- package/es/DynamicList/interface.d.ts +19 -0
- package/es/DynamicList/utils.d.ts +4 -0
- package/es/DynamicList/utils.js +6 -0
- package/es/ErrorFallback/index.d.ts +9 -0
- package/es/ErrorFallback/index.js +31 -0
- package/es/ErrorFallback/inerface.d.ts +48 -0
- package/es/EventTools/index.d.ts +3 -0
- package/es/EventTools/index.js +12 -0
- package/es/FrontendPlayer/index.d.ts +4 -0
- package/es/FrontendPlayer/index.js +2 -0
- package/es/FullScreen/index.d.ts +22 -0
- package/es/FullScreen/index.js +33 -0
- package/es/FullScreen/index.less +18 -0
- package/es/GridList/Demo.d.ts +3 -0
- package/es/GridList/Demo.js +80 -0
- package/es/GridList/data.d.ts +16 -0
- package/es/GridList/data.js +609 -0
- package/es/GridList/hook.d.ts +13 -0
- package/es/GridList/hook.js +270 -0
- package/es/GridList/index.d.ts +15 -0
- package/es/GridList/index.js +44 -0
- package/es/GridList/index.less +8 -0
- package/es/GridList/interface.d.ts +59 -0
- package/es/GridList/utils.d.ts +9 -0
- package/es/GridList/utils.js +42 -0
- package/es/HightLevel/index.d.ts +9 -0
- package/es/HightLevel/index.js +18 -0
- package/es/HightLevel/index.less +3 -0
- package/es/IconFont/index.d.ts +12 -0
- package/es/IconFont/index.js +54 -0
- package/es/ImageView/index.d.ts +20 -0
- package/es/ImageView/index.js +51 -0
- package/es/ImageView/index.less +11 -0
- package/es/InstanceHistory/index.d.ts +3 -0
- package/es/InstanceHistory/index.js +7 -0
- package/es/LabelPlayer/111.png +0 -0
- package/es/LabelPlayer/demo.d.ts +2 -0
- package/es/LabelPlayer/demo.js +115 -0
- package/es/LabelPlayer/index.d.ts +21 -0
- package/es/LabelPlayer/index.js +160 -0
- package/es/LabelPlayer/index.less +24 -0
- package/es/LabelValue/index.d.ts +15 -0
- package/es/LabelValue/index.js +27 -0
- package/es/LabelValue/index.less +23 -0
- package/es/List/demo.d.ts +3 -0
- package/es/List/demo.js +23 -0
- package/es/List/index.d.ts +28 -0
- package/es/List/index.js +28 -0
- package/es/List/index.less +20 -0
- package/es/ListWithSizeAnimate/demo.d.ts +2 -0
- package/es/ListWithSizeAnimate/demo.js +98 -0
- package/es/ListWithSizeAnimate/index.d.ts +14 -0
- package/es/ListWithSizeAnimate/index.js +85 -0
- package/es/ListWithSizeAnimate/index.less +23 -0
- package/es/LoaderScript/index.d.ts +47 -0
- package/es/LoaderScript/index.js +34 -0
- package/es/LoaderScript/utils.d.ts +13 -0
- package/es/LoaderScript/utils.js +179 -0
- package/es/Map/AMap.d.ts +7109 -0
- package/es/Map/BasicMap/AMapInstance.d.ts +19 -0
- package/es/Map/BasicMap/AMapInstance.js +98 -0
- package/es/Map/BasicMap/LeafletInstance.d.ts +18 -0
- package/es/Map/BasicMap/LeafletInstance.js +111 -0
- package/es/Map/BasicMap/index.d.ts +9 -0
- package/es/Map/BasicMap/index.js +90 -0
- package/es/Map/BasicMap/index.less +29 -0
- package/es/Map/ClusterLayer/demo.d.ts +3 -0
- package/es/Map/ClusterLayer/demo.js +18 -0
- package/es/Map/ClusterLayer/hook.d.ts +5 -0
- package/es/Map/ClusterLayer/hook.js +123 -0
- package/es/Map/ClusterLayer/index.d.ts +6 -0
- package/es/Map/ClusterLayer/index.js +28 -0
- package/es/Map/ClusterLayer/index.less +29 -0
- package/es/Map/ClusterLayer/props.d.ts +8 -0
- package/es/Map/Config/index.d.ts +9 -0
- package/es/Map/Config/index.js +48 -0
- package/es/Map/Config/utils.d.ts +2 -0
- package/es/Map/Config/utils.js +65 -0
- package/es/Map/Context/index.d.ts +11 -0
- package/es/Map/Context/index.js +51 -0
- package/es/Map/FindPio/index.d.ts +4 -0
- package/es/Map/FindPio/index.js +13 -0
- package/es/Map/FindPio/index.less +7 -0
- package/es/Map/InfoWindow/MakerLikeWindow.d.ts +4 -0
- package/es/Map/InfoWindow/MakerLikeWindow.js +112 -0
- package/es/Map/InfoWindow/demo.d.ts +3 -0
- package/es/Map/InfoWindow/demo.js +70 -0
- package/es/Map/InfoWindow/index.d.ts +11 -0
- package/es/Map/InfoWindow/index.js +66 -0
- package/es/Map/LevelCenter/DragMarker/index.d.ts +10 -0
- package/es/Map/LevelCenter/DragMarker/index.js +42 -0
- package/es/Map/LevelCenter/demo.d.ts +3 -0
- package/es/Map/LevelCenter/demo.js +38 -0
- package/es/Map/LevelCenter/index.d.ts +15 -0
- package/es/Map/LevelCenter/index.js +66 -0
- package/es/Map/LoaderMap/index.d.ts +7 -0
- package/es/Map/LoaderMap/index.js +62 -0
- package/es/Map/MapDrawSelect/demo.d.ts +3 -0
- package/es/Map/MapDrawSelect/demo.js +71 -0
- package/es/Map/MapDrawSelect/index.d.ts +15 -0
- package/es/Map/MapDrawSelect/index.js +56 -0
- package/es/Map/MouseTool/index.d.ts +10 -0
- package/es/Map/MouseTool/index.js +40 -0
- package/es/Map/MouseTool/useMouseTools.d.ts +7 -0
- package/es/Map/MouseTool/useMouseTools.js +83 -0
- package/es/Map/ResetTools/index.d.ts +10 -0
- package/es/Map/ResetTools/index.js +57 -0
- package/es/Map/ResetTools/index.less +39 -0
- package/es/Map/SinglePoint/demo.d.ts +3 -0
- package/es/Map/SinglePoint/demo.js +14 -0
- package/es/Map/SinglePoint/index.d.ts +27 -0
- package/es/Map/SinglePoint/index.js +52 -0
- package/es/Map/SinglePoint/index.less +41 -0
- package/es/Map/hook/useMapEvent.d.ts +2 -0
- package/es/Map/hook/useMapEvent.js +19 -0
- package/es/Map/hook/useMapType.d.ts +4 -0
- package/es/Map/hook/useMapType.js +12 -0
- package/es/Map/icon.d.ts +2 -0
- package/es/Map/icon.js +10 -0
- package/es/Map/index.d.ts +24 -0
- package/es/Map/index.js +25 -0
- package/es/Map/interface.d.ts +74 -0
- package/es/Map/points.d.ts +50 -0
- package/es/Map/points.js +1 -0
- package/es/Map/useMarker/index.d.ts +10 -0
- package/es/Map/useMarker/index.js +71 -0
- package/es/Map/withMap/index.d.ts +3 -0
- package/es/Map/withMap/index.js +10 -0
- package/es/Picture/component/DefaultRects/RectInfo.d.ts +8 -0
- package/es/Picture/component/DefaultRects/RectInfo.js +80 -0
- package/es/Picture/component/DefaultRects/index.d.ts +13 -0
- package/es/Picture/component/DefaultRects/index.js +52 -0
- package/es/Picture/component/DefaultRects/index.less +211 -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.d.ts +13 -0
- package/es/Picture/component/DrawRect/index.js +46 -0
- package/es/Picture/component/DrawRect/index.less +8 -0
- package/es/Picture/component/RectMenu/index.d.ts +12 -0
- package/es/Picture/component/RectMenu/index.js +76 -0
- package/es/Picture/component/RectMenu/index.less +36 -0
- package/es/Picture/component/RectMenu/utils.d.ts +12 -0
- package/es/Picture/component/RectMenu/utils.js +19 -0
- package/es/Picture/component/Tools/index.d.ts +12 -0
- package/es/Picture/component/Tools/index.js +73 -0
- package/es/Picture/component/Tools/index.less +49 -0
- package/es/Picture/component/WheelScale/index.d.ts +7 -0
- package/es/Picture/component/WheelScale/index.js +27 -0
- package/es/Picture/demo.d.ts +2 -0
- package/es/Picture/demo.js +105 -0
- package/es/Picture/index.d.ts +5 -0
- package/es/Picture/index.js +341 -0
- package/es/Picture/index.less +20 -0
- package/es/Picture/interface.d.ts +196 -0
- package/es/Picture/loadCaptureRectImage.d.ts +3 -0
- package/es/Picture/loadCaptureRectImage.js +99 -0
- package/es/Picture/useDraw.d.ts +1 -0
- package/es/Picture/useDraw.js +103 -0
- package/es/Picture/utils.d.ts +26 -0
- package/es/Picture/utils.js +143 -0
- package/es/Player/api/index.d.ts +68 -0
- package/es/Player/api/index.js +309 -0
- package/es/Player/context.d.ts +17 -0
- package/es/Player/context.js +24 -0
- package/es/Player/contraller_bar/bar.d.ts +8 -0
- package/es/Player/contraller_bar/bar.js +20 -0
- package/es/Player/contraller_bar/contraller_event.d.ts +6 -0
- package/es/Player/contraller_bar/contraller_event.js +50 -0
- package/es/Player/contraller_bar/index.d.ts +14 -0
- package/es/Player/contraller_bar/index.js +27 -0
- package/es/Player/contraller_bar/left_bar.d.ts +10 -0
- package/es/Player/contraller_bar/left_bar.js +83 -0
- package/es/Player/contraller_bar/right_bar.d.ts +8 -0
- package/es/Player/contraller_bar/right_bar.js +32 -0
- package/es/Player/contraller_bar/time.d.ts +3 -0
- package/es/Player/contraller_bar/time.js +19 -0
- package/es/Player/contraller_bar/useBarStatus.d.ts +2 -0
- package/es/Player/contraller_bar/useBarStatus.js +43 -0
- package/es/Player/contraller_bar/volume.d.ts +9 -0
- package/es/Player/contraller_bar/volume.js +62 -0
- package/es/Player/demo.d.ts +3 -0
- package/es/Player/demo.js +266 -0
- package/es/Player/empty.d.ts +2 -0
- package/es/Player/empty.js +4 -0
- package/es/Player/event/errorEvent.d.ts +14 -0
- package/es/Player/event/errorEvent.js +88 -0
- package/es/Player/event/eventName.d.ts +18 -0
- package/es/Player/event/eventName.js +29 -0
- package/es/Player/event/index.d.ts +24 -0
- package/es/Player/event/index.js +205 -0
- package/es/Player/fps_play.d.ts +11 -0
- package/es/Player/fps_play.js +83 -0
- package/es/Player/frontend_player.d.ts +8 -0
- package/es/Player/frontend_player.js +64 -0
- package/es/Player/frontend_timeline.d.ts +10 -0
- package/es/Player/frontend_timeline.js +132 -0
- package/es/Player/iconfont.d.ts +5 -0
- package/es/Player/iconfont.js +16 -0
- package/es/Player/index.d.ts +2 -0
- package/es/Player/index.js +2 -0
- package/es/Player/live_heart.d.ts +8 -0
- package/es/Player/live_heart.js +45 -0
- package/es/Player/message.d.ts +5 -0
- package/es/Player/message.js +137 -0
- package/es/Player/player.d.ts +233 -0
- package/es/Player/segment_player.d.ts +9 -0
- package/es/Player/segment_player.js +228 -0
- package/es/Player/segment_timeline.d.ts +12 -0
- package/es/Player/segment_timeline.js +173 -0
- package/es/Player/single_player.d.ts +5 -0
- package/es/Player/single_player.js +262 -0
- package/es/Player/style/bar.less +43 -0
- package/es/Player/style/iconfont.js +43 -0
- package/es/Player/style/index.less +34 -0
- package/es/Player/style/message.less +56 -0
- package/es/Player/style/slider.less +106 -0
- package/es/Player/style/timeline.less +117 -0
- package/es/Player/style/volume.less +24 -0
- package/es/Player/timeline.d.ts +5 -0
- package/es/Player/timeline.js +95 -0
- package/es/Player/util.d.ts +43 -0
- package/es/Player/util.js +189 -0
- package/es/PlayerExt/demo.d.ts +3 -0
- package/es/PlayerExt/demo.js +154 -0
- package/es/PlayerExt/index.d.ts +48 -0
- package/es/PlayerExt/index.js +188 -0
- package/es/PlayerExt/index.less +10 -0
- package/es/Progress/index.d.ts +7 -0
- package/es/Progress/index.js +53 -0
- package/es/Progress/index.less +21 -0
- package/es/ROI/demo.d.ts +3 -0
- package/es/ROI/demo.js +16 -0
- package/es/ROI/index.d.ts +33 -0
- package/es/ROI/index.js +54 -0
- package/es/ROI/index.less +33 -0
- package/es/RefDrawer/Footer.d.ts +9 -0
- package/es/RefDrawer/Footer.js +22 -0
- package/es/RefDrawer/demo.d.ts +3 -0
- package/es/RefDrawer/demo.js +18 -0
- package/es/RefDrawer/index.d.ts +26 -0
- package/es/RefDrawer/index.js +71 -0
- package/es/RefModal/demo.d.ts +3 -0
- package/es/RefModal/demo.js +18 -0
- package/es/RefModal/index.d.ts +17 -0
- package/es/RefModal/index.js +70 -0
- package/es/ScreenPlayer/Live.d.ts +5 -0
- package/es/ScreenPlayer/Live.js +212 -0
- package/es/ScreenPlayer/LiveTools.d.ts +29 -0
- package/es/ScreenPlayer/LiveTools.js +151 -0
- package/es/ScreenPlayer/PlayerWithExt.d.ts +34 -0
- package/es/ScreenPlayer/PlayerWithExt.js +231 -0
- package/es/ScreenPlayer/RatePick.d.ts +8 -0
- package/es/ScreenPlayer/RatePick.js +29 -0
- package/es/ScreenPlayer/Record.d.ts +10 -0
- package/es/ScreenPlayer/Record.js +442 -0
- package/es/ScreenPlayer/RecordTools.d.ts +38 -0
- package/es/ScreenPlayer/RecordTools.js +197 -0
- package/es/ScreenPlayer/ScreenSelect.d.ts +7 -0
- package/es/ScreenPlayer/ScreenSelect.js +46 -0
- package/es/ScreenPlayer/SegmentTimeLine.d.ts +17 -0
- package/es/ScreenPlayer/SegmentTimeLine.js +36 -0
- package/es/ScreenPlayer/TimeMode.d.ts +7 -0
- package/es/ScreenPlayer/TimeMode.js +26 -0
- package/es/ScreenPlayer/TimeSelect.d.ts +7 -0
- package/es/ScreenPlayer/TimeSelect.js +88 -0
- package/es/ScreenPlayer/demo.d.ts +2 -0
- package/es/ScreenPlayer/demo.js +21 -0
- package/es/ScreenPlayer/demo2.d.ts +2 -0
- package/es/ScreenPlayer/demo2.js +194 -0
- package/es/ScreenPlayer/index.d.ts +6 -0
- package/es/ScreenPlayer/index.js +9 -0
- package/es/ScreenPlayer/index.less +335 -0
- package/es/ScreenPlayer/interface.d.ts +216 -0
- package/es/ScreenPlayer/useTimeSlider.d.ts +25 -0
- package/es/ScreenPlayer/useTimeSlider.js +451 -0
- package/es/ScreenPlayer/useVideoFit.d.ts +5 -0
- package/es/ScreenPlayer/useVideoFit.js +35 -0
- package/es/ScreenPlayer/utils.d.ts +17 -0
- package/es/ScreenPlayer/utils.js +85 -0
- package/es/SegmentPlayer/index.d.ts +2 -0
- package/es/SegmentPlayer/index.js +2 -0
- package/es/Service/http.d.ts +6 -0
- package/es/Service/http.js +133 -0
- package/es/Service/index.d.ts +3 -0
- package/es/Service/index.js +11 -0
- package/es/Service/interface.d.ts +23 -0
- package/es/Service/middleware.d.ts +8 -0
- package/es/Service/middleware.js +22 -0
- package/es/SocketEmitter/eventEmitter.d.ts +27 -0
- package/es/SocketEmitter/eventEmitter.js +88 -0
- package/es/SocketEmitter/index.d.ts +24 -0
- package/es/SocketEmitter/index.js +125 -0
- package/es/SocketEmitter/interface.d.ts +4 -0
- package/es/TableLayout/index.d.ts +10 -0
- package/es/TableLayout/index.js +27 -0
- package/es/TableLayout/index.less +4 -0
- package/es/ThemeAntd/demo.d.ts +4 -0
- package/es/ThemeAntd/demo.js +81 -0
- package/es/ThemeAntd/demo.less +20 -0
- package/es/ThemeAntd/index.d.ts +7 -0
- package/es/ThemeAntd/index.js +21 -0
- package/es/ThemeAntd/index.less +4 -0
- package/es/Timeout/index.d.ts +26 -0
- package/es/Timeout/index.js +65 -0
- package/es/bigNumberTransformCN/index.d.ts +5 -0
- package/es/bigNumberTransformCN/index.js +58 -0
- package/es/cache/index.d.ts +34 -0
- package/es/cache/index.js +94 -0
- package/es/copy/index.d.ts +1 -0
- package/es/copy/index.js +9 -0
- package/es/core.d.ts +0 -0
- package/es/getThemeStyle/index.d.ts +2 -0
- package/es/getThemeStyle/index.js +5 -0
- package/es/index.d.ts +62 -0
- package/es/index.js +62 -0
- package/es/likeGo/index.d.ts +2 -0
- package/es/likeGo/index.js +31 -0
- package/es/likeGoSync/index.d.ts +2 -0
- package/es/likeGoSync/index.js +10 -0
- package/es/logger/index.d.ts +7 -0
- package/es/logger/index.js +30 -0
- package/es/nextTick/index.d.ts +1 -0
- package/es/nextTick/index.js +3 -0
- package/es/recorder/demo.d.ts +3 -0
- package/es/recorder/demo.js +181 -0
- package/es/recorder/index.d.ts +294 -0
- package/es/recorder/index.js +992 -0
- package/es/submidstr/index.d.ts +5 -0
- package/es/submidstr/index.js +14 -0
- package/es/treeHelper/index.d.ts +11 -0
- package/es/treeHelper/index.js +188 -0
- package/es/typings.d.ts +2 -0
- package/es/useDrawROI/index.d.ts +16 -0
- package/es/useDrawROI/index.js +318 -0
- package/es/useEventEmitterHandle/index.d.ts +2 -0
- package/es/useEventEmitterHandle/index.js +17 -0
- package/es/useFullscreen/demo.d.ts +2 -0
- package/es/useFullscreen/demo.js +43 -0
- package/es/useFullscreen/index.d.ts +12 -0
- package/es/useFullscreen/index.js +76 -0
- package/es/useHistory/index.d.ts +3 -0
- package/es/useHistory/index.js +9 -0
- package/es/useHistory/interface.d.ts +3 -0
- package/es/useInfiniteScroll/index.d.ts +16 -0
- package/es/useInfiniteScroll/index.js +102 -0
- package/es/useRafInterval/index.d.ts +5 -0
- package/es/useRafInterval/index.js +71 -0
- package/es/useSimpleState/index.d.ts +3 -0
- package/es/useSimpleState/index.js +35 -0
- package/es/useVirtualList/index.d.ts +13 -0
- package/es/useVirtualList/index.js +136 -0
- package/es/utils.d.ts +14 -0
- package/es/utils.js +46 -0
- package/es/uuid/index.d.ts +5 -0
- package/es/uuid/index.js +6 -0
- package/package.json +1 -1
- package/tsconfig.json +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import DomMove from "./index";
|
|
3
|
+
export default function App() {
|
|
4
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
5
|
+
style: {
|
|
6
|
+
width: 800,
|
|
7
|
+
height: 800
|
|
8
|
+
}
|
|
9
|
+
}, /*#__PURE__*/React.createElement(DomMove, null, /*#__PURE__*/React.createElement("div", {
|
|
10
|
+
style: {
|
|
11
|
+
width: 30,
|
|
12
|
+
height: 30,
|
|
13
|
+
background: 'red'
|
|
14
|
+
}
|
|
15
|
+
})));
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PositionType, SizeType } from '../Picture/interface';
|
|
3
|
+
interface IDomMoveProps {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
onDrag?: (e: MouseEvent, position: PositionType) => void;
|
|
6
|
+
onDragChange?: (position: PositionType) => void;
|
|
7
|
+
onDragEnd?: (e: MouseEvent, position: PositionType) => void;
|
|
8
|
+
position?: PositionType;
|
|
9
|
+
size?: SizeType;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
className?: string;
|
|
12
|
+
style?: React.CSSProperties;
|
|
13
|
+
forwordRef?: React.MutableRefObject<any>;
|
|
14
|
+
}
|
|
15
|
+
declare const _default: React.ForwardRefExoticComponent<IDomMoveProps & React.RefAttributes<unknown>>;
|
|
16
|
+
export default _default;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-unused-expressions */
|
|
3
|
+
import { useEventListener, useSize, useUpdate } from 'ahooks';
|
|
4
|
+
import React, { useEffect, useImperativeHandle, useRef } from 'react';
|
|
5
|
+
import { getMouseXY, getPosition } from "./utils";
|
|
6
|
+
function DomMove(_ref) {
|
|
7
|
+
var onDrag = _ref.onDrag,
|
|
8
|
+
position = _ref.position,
|
|
9
|
+
_ref$className = _ref.className,
|
|
10
|
+
className = _ref$className === void 0 ? '' : _ref$className,
|
|
11
|
+
_ref$size = _ref.size,
|
|
12
|
+
size = _ref$size === void 0 ? {
|
|
13
|
+
width: '100%',
|
|
14
|
+
height: '100%'
|
|
15
|
+
} : _ref$size,
|
|
16
|
+
children = _ref.children,
|
|
17
|
+
onDragChange = _ref.onDragChange,
|
|
18
|
+
onDragEnd = _ref.onDragEnd,
|
|
19
|
+
forwordRef = _ref.forwordRef,
|
|
20
|
+
disabled = _ref.disabled;
|
|
21
|
+
var dragRef = useRef(null);
|
|
22
|
+
var ref = useRef({
|
|
23
|
+
position: {
|
|
24
|
+
x: 0,
|
|
25
|
+
y: 0
|
|
26
|
+
},
|
|
27
|
+
DA: {
|
|
28
|
+
x: 0,
|
|
29
|
+
y: 0
|
|
30
|
+
},
|
|
31
|
+
isDrag: false,
|
|
32
|
+
deviation: {
|
|
33
|
+
offsetX: 0,
|
|
34
|
+
offsetY: 0,
|
|
35
|
+
width: 0,
|
|
36
|
+
height: 0
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
var reSize = useSize(dragRef) || {};
|
|
40
|
+
var update = useUpdate();
|
|
41
|
+
var updatePosition = function updatePosition(_ref2) {
|
|
42
|
+
var x = _ref2.x,
|
|
43
|
+
y = _ref2.y;
|
|
44
|
+
ref.current.position = {
|
|
45
|
+
x: x,
|
|
46
|
+
y: y
|
|
47
|
+
};
|
|
48
|
+
update();
|
|
49
|
+
onDragChange === null || onDragChange === void 0 || onDragChange({
|
|
50
|
+
x: x,
|
|
51
|
+
y: y
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
useEffect(function () {
|
|
55
|
+
var offset = getPosition(dragRef === null || dragRef === void 0 ? void 0 : dragRef.current);
|
|
56
|
+
ref.current.deviation = {
|
|
57
|
+
offsetX: offset.left,
|
|
58
|
+
offsetY: offset.top,
|
|
59
|
+
width: reSize.width,
|
|
60
|
+
height: reSize.height
|
|
61
|
+
};
|
|
62
|
+
}, [reSize.width, reSize.height]);
|
|
63
|
+
|
|
64
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
65
|
+
useImperativeHandle(forwordRef, function () {
|
|
66
|
+
return {
|
|
67
|
+
updatePosition: updatePosition
|
|
68
|
+
};
|
|
69
|
+
}, []);
|
|
70
|
+
useEventListener('mousemove', function (event) {
|
|
71
|
+
if (ref.current.isDrag) {
|
|
72
|
+
// let maxX, maxY;
|
|
73
|
+
var moveX, moveY;
|
|
74
|
+
var _getMouseXY = getMouseXY(event),
|
|
75
|
+
_x = _getMouseXY.x,
|
|
76
|
+
_y = _getMouseXY.y;
|
|
77
|
+
moveX = _x - ref.current.deviation.offsetX;
|
|
78
|
+
moveY = _y - ref.current.deviation.offsetY;
|
|
79
|
+
|
|
80
|
+
// 计算可移动位置的大小, 保证元素不会超过可移动范围
|
|
81
|
+
// maxX = document.documentElement.clientWidth - this.deviation.width;
|
|
82
|
+
// maxY = document.documentElement.clientHeight - this.deviation.height;
|
|
83
|
+
|
|
84
|
+
// min方法保证不会超过右边界,max保证不会超过左边界
|
|
85
|
+
// moveX = Math.min(Math.max(0, moveX), maxX);
|
|
86
|
+
// moveY = Math.min(Math.max(0, moveY), maxY);
|
|
87
|
+
var _position = {
|
|
88
|
+
x: moveX,
|
|
89
|
+
y: moveY
|
|
90
|
+
};
|
|
91
|
+
onDrag ? onDrag(event, _position) : updatePosition(_position);
|
|
92
|
+
}
|
|
93
|
+
}, {
|
|
94
|
+
target: document.body
|
|
95
|
+
});
|
|
96
|
+
useEventListener('mouseup', function (event) {
|
|
97
|
+
if (ref.current.isDrag) {
|
|
98
|
+
ref.current.isDrag = false;
|
|
99
|
+
onDragEnd === null || onDragEnd === void 0 || onDragEnd(event, ref.current.position);
|
|
100
|
+
}
|
|
101
|
+
}, {
|
|
102
|
+
target: document.body
|
|
103
|
+
});
|
|
104
|
+
useEventListener('mousedown', function (event) {
|
|
105
|
+
if (!disabled) {
|
|
106
|
+
var _getMouseXY2 = getMouseXY(event),
|
|
107
|
+
_x2 = _getMouseXY2.x,
|
|
108
|
+
_y2 = _getMouseXY2.y;
|
|
109
|
+
ref.current.deviation.offsetX = _x2 - ref.current.position.x;
|
|
110
|
+
ref.current.deviation.offsetY = _y2 - ref.current.position.y;
|
|
111
|
+
ref.current.isDrag = true;
|
|
112
|
+
}
|
|
113
|
+
}, {
|
|
114
|
+
target: dragRef
|
|
115
|
+
});
|
|
116
|
+
var _ref3 = onDrag ? {
|
|
117
|
+
x: position === null || position === void 0 ? void 0 : position.x,
|
|
118
|
+
y: position === null || position === void 0 ? void 0 : position.y
|
|
119
|
+
} : {
|
|
120
|
+
x: ref.current.position.x,
|
|
121
|
+
y: ref.current.position.y
|
|
122
|
+
},
|
|
123
|
+
x = _ref3.x,
|
|
124
|
+
y = _ref3.y;
|
|
125
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
126
|
+
ref: dragRef,
|
|
127
|
+
className: "drag-move-Content ".concat(className),
|
|
128
|
+
style: {
|
|
129
|
+
transform: "translate(".concat(x, "px,").concat(y, "px)"),
|
|
130
|
+
width: size === null || size === void 0 ? void 0 : size.width,
|
|
131
|
+
height: size === null || size === void 0 ? void 0 : size.height
|
|
132
|
+
}
|
|
133
|
+
}, children);
|
|
134
|
+
}
|
|
135
|
+
export default /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
136
|
+
return /*#__PURE__*/React.createElement(DomMove, _extends({}, props, {
|
|
137
|
+
forwordRef: ref
|
|
138
|
+
}));
|
|
139
|
+
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export function getPosition(obj) {
|
|
2
|
+
//获取某元素以浏览器左上角为原点的坐标
|
|
3
|
+
var t = obj.offsetTop; //获取该元素对应父容器的上边距
|
|
4
|
+
var l = obj.offsetLeft; //对应父容器的上边距
|
|
5
|
+
//判断是否有父容器,如果存在则累加其边距
|
|
6
|
+
while (obj = obj.offsetParent) {
|
|
7
|
+
//等效 obj = obj.offsetParent;while (obj != undefined)
|
|
8
|
+
t += obj.offsetTop; //叠加父容器的上边距
|
|
9
|
+
l += obj.offsetLeft; //叠加父容器的左边距
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
left: l,
|
|
13
|
+
top: t
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
// 函数用于获取鼠标的位置
|
|
17
|
+
export function getMouseXY(e) {
|
|
18
|
+
var x = 0,
|
|
19
|
+
y = 0;
|
|
20
|
+
e = e || window.event;
|
|
21
|
+
if (e.pageX) {
|
|
22
|
+
x = e.pageX;
|
|
23
|
+
y = e.pageY;
|
|
24
|
+
} else {
|
|
25
|
+
x = e.clientX + document.body.scrollLeft - document.body.clientLeft;
|
|
26
|
+
y = e.clientY + document.body.scrollTop - document.body.clientTop;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
x: x,
|
|
30
|
+
y: y
|
|
31
|
+
};
|
|
32
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IDragAndDropItemProps } from './interface';
|
|
3
|
+
declare function DragAndDropItem<T>({ children, dragData, dragId, style, onDropEnd, disabledCopyElement }: IDragAndDropItemProps<T>): React.FunctionComponentElement<any>;
|
|
4
|
+
export default DragAndDropItem;
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
+
/* eslint-disable @typescript-eslint/no-unused-expressions */
|
|
14
|
+
import React, { useCallback, useMemo, useRef, useState } from 'react';
|
|
15
|
+
import uuid from "../uuid";
|
|
16
|
+
function DragAndDropItem(_ref) {
|
|
17
|
+
var children = _ref.children,
|
|
18
|
+
dragData = _ref.dragData,
|
|
19
|
+
dragId = _ref.dragId,
|
|
20
|
+
style = _ref.style,
|
|
21
|
+
onDropEnd = _ref.onDropEnd,
|
|
22
|
+
_ref$disabledCopyElem = _ref.disabledCopyElement,
|
|
23
|
+
disabledCopyElement = _ref$disabledCopyElem === void 0 ? true : _ref$disabledCopyElem;
|
|
24
|
+
//@ts-ignore
|
|
25
|
+
var id = useMemo(function () {
|
|
26
|
+
return dragId || "dragId-".concat(uuid());
|
|
27
|
+
}, [dragId]);
|
|
28
|
+
var _useState = useState(['', '']),
|
|
29
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
30
|
+
status = _useState2[0],
|
|
31
|
+
setStatus = _useState2[1];
|
|
32
|
+
var _useState3 = useState([0, 0]),
|
|
33
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
34
|
+
offset = _useState4[0],
|
|
35
|
+
setOffset = _useState4[1];
|
|
36
|
+
var domRef = useRef(null);
|
|
37
|
+
var dragDomTemp = useRef(null);
|
|
38
|
+
var onDrop = useCallback(function (event) {
|
|
39
|
+
event.stopPropagation();
|
|
40
|
+
setStatus(function (old) {
|
|
41
|
+
return [old[0], 'droped'];
|
|
42
|
+
});
|
|
43
|
+
var data = JSON.parse(event.dataTransfer.getData('DATA'));
|
|
44
|
+
onDropEnd && onDropEnd(data);
|
|
45
|
+
}, [onDropEnd]);
|
|
46
|
+
var onDragEnter = useCallback(function (event) {
|
|
47
|
+
event.stopPropagation();
|
|
48
|
+
setStatus(function (old) {
|
|
49
|
+
return [old[0], 'dragenter'];
|
|
50
|
+
});
|
|
51
|
+
}, []);
|
|
52
|
+
var onDragLeave = useCallback(function (event) {
|
|
53
|
+
event.stopPropagation();
|
|
54
|
+
setStatus(function (old) {
|
|
55
|
+
return [old[0], 'dragleave'];
|
|
56
|
+
});
|
|
57
|
+
}, []);
|
|
58
|
+
var allowDrop = useCallback(function (event) {
|
|
59
|
+
return event.preventDefault();
|
|
60
|
+
}, []);
|
|
61
|
+
var onDragStart = useCallback(function (event) {
|
|
62
|
+
if (!domRef.current) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
if (!disabledCopyElement) {
|
|
66
|
+
var pageX = event.pageX,
|
|
67
|
+
pageY = event.pageY;
|
|
68
|
+
var _domRef$current$getBo = domRef.current.getBoundingClientRect(),
|
|
69
|
+
x = _domRef$current$getBo.x,
|
|
70
|
+
y = _domRef$current$getBo.y,
|
|
71
|
+
width = _domRef$current$getBo.width,
|
|
72
|
+
height = _domRef$current$getBo.height;
|
|
73
|
+
var offsetX = pageX - x;
|
|
74
|
+
var offsetY = pageY - y;
|
|
75
|
+
dragDomTemp.current = domRef.current.cloneNode(true);
|
|
76
|
+
domRef.current.after(dragDomTemp.current);
|
|
77
|
+
//初始化缓存dom位置
|
|
78
|
+
dragDomTemp.current.style.position = 'fixed';
|
|
79
|
+
dragDomTemp.current.style.left = "".concat(event.pageX - offsetX, "px");
|
|
80
|
+
dragDomTemp.current.style.top = "".concat(event.pageY - offsetY, "px");
|
|
81
|
+
dragDomTemp.current.style.draggable = false;
|
|
82
|
+
dragDomTemp.current.style.pointerEvents = 'none';
|
|
83
|
+
dragDomTemp.current.style.opacity = 0.5;
|
|
84
|
+
dragDomTemp.current.style.zIndex = 99;
|
|
85
|
+
dragDomTemp.current.style.width = "".concat(width, "px");
|
|
86
|
+
dragDomTemp.current.style.height = "".concat(height, "px");
|
|
87
|
+
setOffset([offsetX, offsetY]);
|
|
88
|
+
event.dataTransfer.setDragImage(new Image(), 0, 0);
|
|
89
|
+
}
|
|
90
|
+
setStatus(function (old) {
|
|
91
|
+
return ['draging', old[1]];
|
|
92
|
+
});
|
|
93
|
+
var res = {
|
|
94
|
+
data: dragData,
|
|
95
|
+
_id: id
|
|
96
|
+
};
|
|
97
|
+
event.dataTransfer.setData('DATA', JSON.stringify(res));
|
|
98
|
+
}, [disabledCopyElement, dragData, id]);
|
|
99
|
+
var onDragEnd = useCallback(function () {
|
|
100
|
+
dragDomTemp.current && dragDomTemp.current.remove();
|
|
101
|
+
setStatus(function (old) {
|
|
102
|
+
return ['dragEnd', old[1]];
|
|
103
|
+
});
|
|
104
|
+
}, []);
|
|
105
|
+
var onDrag = useCallback(function (e) {
|
|
106
|
+
if (dragDomTemp.current) {
|
|
107
|
+
if (e.pageX === 0 && e.pageY === 0) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
if (e.pageX < offset[2] || e.pageY < offset[3]) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
dragDomTemp.current.style.position = 'fixed';
|
|
114
|
+
dragDomTemp.current.style.left = "".concat(e.pageX - offset[0], "px");
|
|
115
|
+
dragDomTemp.current.style.top = "".concat(e.pageY - offset[1], "px");
|
|
116
|
+
}
|
|
117
|
+
}, [offset]);
|
|
118
|
+
return /*#__PURE__*/React.cloneElement(children, {
|
|
119
|
+
ref: domRef,
|
|
120
|
+
onDragStart: onDragStart,
|
|
121
|
+
onDrag: onDrag,
|
|
122
|
+
'data-dragId': id,
|
|
123
|
+
draggable: true,
|
|
124
|
+
onDragEnd: onDragEnd,
|
|
125
|
+
onDrop: onDrop,
|
|
126
|
+
onDragOver: allowDrop,
|
|
127
|
+
onDragEnter: onDragEnter,
|
|
128
|
+
onDragLeave: onDragLeave,
|
|
129
|
+
style: _objectSpread(_objectSpread({}, style), {}, {
|
|
130
|
+
opacity: status[0] === 'draging' || status[1] === 'dragenter' ? 0.5 : 1
|
|
131
|
+
})
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
export default DragAndDropItem;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
+
/* eslint-disable @typescript-eslint/no-unused-expressions */
|
|
14
|
+
import React, { useCallback, useRef, useState } from 'react';
|
|
15
|
+
function DropItem(_ref) {
|
|
16
|
+
var children = _ref.children,
|
|
17
|
+
style = _ref.style,
|
|
18
|
+
onDropEnd = _ref.onDropEnd;
|
|
19
|
+
var _useState = useState(''),
|
|
20
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
21
|
+
status = _useState2[0],
|
|
22
|
+
setStatus = _useState2[1];
|
|
23
|
+
var domRef = useRef(null);
|
|
24
|
+
var onDrop = useCallback(function (event) {
|
|
25
|
+
event.stopPropagation();
|
|
26
|
+
setStatus('droped');
|
|
27
|
+
var data = JSON.parse(event.dataTransfer.getData('DATA'));
|
|
28
|
+
onDropEnd && onDropEnd(data);
|
|
29
|
+
}, [onDropEnd]);
|
|
30
|
+
var onDragEnter = useCallback(function (event) {
|
|
31
|
+
event.stopPropagation();
|
|
32
|
+
setStatus('dragenter');
|
|
33
|
+
}, []);
|
|
34
|
+
var onDragLeave = useCallback(function (event) {
|
|
35
|
+
event.stopPropagation();
|
|
36
|
+
setStatus('dragleave');
|
|
37
|
+
}, []);
|
|
38
|
+
var allowDrop = useCallback(function (event) {
|
|
39
|
+
return event.preventDefault();
|
|
40
|
+
}, []);
|
|
41
|
+
return /*#__PURE__*/React.cloneElement(children, {
|
|
42
|
+
ref: domRef,
|
|
43
|
+
onDrop: onDrop,
|
|
44
|
+
onDragOver: allowDrop,
|
|
45
|
+
onDragEnter: onDragEnter,
|
|
46
|
+
onDragLeave: onDragLeave,
|
|
47
|
+
style: status === 'dragenter' ? _objectSpread({}, style) : undefined
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
export default DropItem;
|
package/es/Drag/index.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
export interface IDragAndDropItemProps<T> {
|
|
4
|
+
children: JSX.Element;
|
|
5
|
+
dragData: T;
|
|
6
|
+
dragId?: string;
|
|
7
|
+
style?: React.CSSProperties;
|
|
8
|
+
onDropEnd: (params: { data: T; _id: string }) => void;
|
|
9
|
+
disabledCopyElement?: boolean;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface IDropItemProps<T> {
|
|
13
|
+
children: JSX.Element;
|
|
14
|
+
style?: React.CSSProperties;
|
|
15
|
+
onDropEnd: (params: { data: T; _id?: string }) => void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
2
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
4
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
5
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
6
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
7
|
+
/* eslint-disable @typescript-eslint/no-unused-expressions */
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import GridList from "./index";
|
|
10
|
+
function random(low, high) {
|
|
11
|
+
return Math.floor(Math.random() * high) + low;
|
|
12
|
+
}
|
|
13
|
+
var IMAGES = function IMAGES() {
|
|
14
|
+
return Array.from({
|
|
15
|
+
length: 20
|
|
16
|
+
}, function (_, index) {
|
|
17
|
+
var width = 300;
|
|
18
|
+
var height = random(200, 300);
|
|
19
|
+
return {
|
|
20
|
+
url: "https://picsum.photos/id/".concat(index + 1, "/").concat(width, "/").concat(height, ".jpg"),
|
|
21
|
+
width: width,
|
|
22
|
+
height: height
|
|
23
|
+
};
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
function loadPage(d) {
|
|
27
|
+
if (!d) {
|
|
28
|
+
// eslint-disable-next-line no-param-reassign
|
|
29
|
+
d = {};
|
|
30
|
+
}
|
|
31
|
+
var resultData = IMAGES();
|
|
32
|
+
d.page ? d.page++ : d.page = 1;
|
|
33
|
+
d.list ? d.list = [].concat(_toConsumableArray(d.list), _toConsumableArray(resultData)) : d.list = resultData;
|
|
34
|
+
return new Promise(function (resolve) {
|
|
35
|
+
console.log(d.page);
|
|
36
|
+
setTimeout(function () {
|
|
37
|
+
return resolve(d);
|
|
38
|
+
}, 10);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
var App = function App() {
|
|
42
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
43
|
+
style: {
|
|
44
|
+
height: 400
|
|
45
|
+
}
|
|
46
|
+
}, /*#__PURE__*/React.createElement(GridList, {
|
|
47
|
+
itemKey: "url",
|
|
48
|
+
itemHeight: 400,
|
|
49
|
+
itemWidth: 250,
|
|
50
|
+
renderItem: function renderItem(image) {
|
|
51
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
52
|
+
style: {
|
|
53
|
+
border: '1px solid gray',
|
|
54
|
+
height: '100%',
|
|
55
|
+
display: 'flex',
|
|
56
|
+
flexDirection: 'column'
|
|
57
|
+
}
|
|
58
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
59
|
+
style: {
|
|
60
|
+
flex: 1,
|
|
61
|
+
overflow: 'hidden'
|
|
62
|
+
}
|
|
63
|
+
}, /*#__PURE__*/React.createElement("img", {
|
|
64
|
+
src: image.url,
|
|
65
|
+
alt: "",
|
|
66
|
+
style: {
|
|
67
|
+
objectFit: 'cover',
|
|
68
|
+
display: 'block',
|
|
69
|
+
width: '100%',
|
|
70
|
+
height: '100%'
|
|
71
|
+
}
|
|
72
|
+
})), /*#__PURE__*/React.createElement("p", null, "\u6807\u9898"), /*#__PURE__*/React.createElement("p", null, "\u63CF\u8FF0"));
|
|
73
|
+
},
|
|
74
|
+
loadPage: loadPage
|
|
75
|
+
}));
|
|
76
|
+
};
|
|
77
|
+
export default App;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { GridListCell } from '../GridList/interface';
|
|
3
|
+
import { TData } from '../useInfiniteScroll';
|
|
4
|
+
export interface IDynamicGridListProps<T> {
|
|
5
|
+
itemHeight?: number;
|
|
6
|
+
className?: string;
|
|
7
|
+
/**
|
|
8
|
+
* 重载条件
|
|
9
|
+
*/
|
|
10
|
+
reloadDeps?: any[];
|
|
11
|
+
/**
|
|
12
|
+
* render列表
|
|
13
|
+
* @param options
|
|
14
|
+
*/
|
|
15
|
+
renderItem: (item: T, cell: GridListCell<T>) => React.ReactNode;
|
|
16
|
+
loadPage(d?: TData<T>): Promise<TData<T>>;
|
|
17
|
+
itemWidth?: number;
|
|
18
|
+
itemKey: string;
|
|
19
|
+
getGridGap?: (...args: any) => number;
|
|
20
|
+
isNoMore?: (data?: TData<T>) => boolean;
|
|
21
|
+
threshold?: number;
|
|
22
|
+
}
|
|
23
|
+
declare function DynamicGridList<T>({ renderItem, itemHeight, itemKey, itemWidth, reloadDeps, getGridGap, loadPage, isNoMore, threshold, ...props }: IDynamicGridListProps<T>): React.JSX.Element;
|
|
24
|
+
export default DynamicGridList;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
var _excluded = ["renderItem", "itemHeight", "itemKey", "itemWidth", "reloadDeps", "getGridGap", "loadPage", "isNoMore", "threshold"];
|
|
2
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
3
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
4
|
+
import { useUpdateEffect } from 'ahooks';
|
|
5
|
+
import React, { useMemo, useRef } from 'react';
|
|
6
|
+
import GridList from "../GridList";
|
|
7
|
+
import useInfiniteScroll from "../useInfiniteScroll";
|
|
8
|
+
function DynamicGridList(_ref) {
|
|
9
|
+
var renderItem = _ref.renderItem,
|
|
10
|
+
_ref$itemHeight = _ref.itemHeight,
|
|
11
|
+
itemHeight = _ref$itemHeight === void 0 ? 300 : _ref$itemHeight,
|
|
12
|
+
itemKey = _ref.itemKey,
|
|
13
|
+
_ref$itemWidth = _ref.itemWidth,
|
|
14
|
+
itemWidth = _ref$itemWidth === void 0 ? 250 : _ref$itemWidth,
|
|
15
|
+
_ref$reloadDeps = _ref.reloadDeps,
|
|
16
|
+
reloadDeps = _ref$reloadDeps === void 0 ? [] : _ref$reloadDeps,
|
|
17
|
+
_ref$getGridGap = _ref.getGridGap,
|
|
18
|
+
getGridGap = _ref$getGridGap === void 0 ? function () {
|
|
19
|
+
return 20;
|
|
20
|
+
} : _ref$getGridGap,
|
|
21
|
+
loadPage = _ref.loadPage,
|
|
22
|
+
isNoMore = _ref.isNoMore,
|
|
23
|
+
_ref$threshold = _ref.threshold,
|
|
24
|
+
threshold = _ref$threshold === void 0 ? 50 : _ref$threshold,
|
|
25
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
26
|
+
var containerRef = useRef(null);
|
|
27
|
+
var _useInfiniteScroll = useInfiniteScroll(loadPage, {
|
|
28
|
+
target: containerRef,
|
|
29
|
+
threshold: threshold,
|
|
30
|
+
isNoMore: isNoMore,
|
|
31
|
+
reloadDeps: reloadDeps
|
|
32
|
+
}),
|
|
33
|
+
data = _useInfiniteScroll.data,
|
|
34
|
+
noMore = _useInfiniteScroll.noMore;
|
|
35
|
+
useUpdateEffect(function () {
|
|
36
|
+
if (noMore) {
|
|
37
|
+
console.warn('数据已全部加载完成');
|
|
38
|
+
}
|
|
39
|
+
}, [noMore]);
|
|
40
|
+
function getItemData(data) {
|
|
41
|
+
return {
|
|
42
|
+
key: data[itemKey],
|
|
43
|
+
height: itemHeight,
|
|
44
|
+
width: itemWidth
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function getColumnCount(elementWidth, gridGap) {
|
|
48
|
+
return Math.floor((elementWidth + gridGap) / ((itemWidth !== null && itemWidth !== void 0 ? itemWidth : 0) + gridGap));
|
|
49
|
+
}
|
|
50
|
+
function getWindowMargin(windowHeight) {
|
|
51
|
+
return Math.round(windowHeight * 1.5);
|
|
52
|
+
}
|
|
53
|
+
var dataList = useMemo(function () {
|
|
54
|
+
return data ? data.list || [] : [];
|
|
55
|
+
}, [data]);
|
|
56
|
+
return /*#__PURE__*/React.createElement(GridList, {
|
|
57
|
+
className: "cloudapp-dynamic-grid-list ".concat(props.className || ''),
|
|
58
|
+
items: dataList,
|
|
59
|
+
ref: containerRef,
|
|
60
|
+
getItemData: getItemData,
|
|
61
|
+
getColumnCount: getColumnCount,
|
|
62
|
+
getWindowMargin: getWindowMargin,
|
|
63
|
+
renderItem: renderItem,
|
|
64
|
+
getGridGap: getGridGap
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
export default DynamicGridList;
|