@jotforminc/dnd-builder 3.0.0-alpha.2 → 3.1.0
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/CHANGELOG.md +207 -0
- package/lib/cjs/components/AlignmentGuides.js +11 -12
- package/lib/cjs/components/AlignmentGuides.js.map +1 -1
- package/lib/cjs/components/Builder/Builder.js +21 -131
- package/lib/cjs/components/Builder/Builder.js.map +1 -1
- package/lib/cjs/components/Builder/BuilderWrapper.js +64 -0
- package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -0
- package/lib/cjs/components/Builder/ContextMenu.js +31 -30
- package/lib/cjs/components/Builder/ContextMenu.js.map +1 -1
- package/lib/cjs/components/Builder/DndWrapper.js +16 -19
- package/lib/cjs/components/Builder/DndWrapper.js.map +1 -1
- package/lib/cjs/components/Builder/Element.js +51 -44
- package/lib/cjs/components/Builder/Element.js.map +1 -1
- package/lib/cjs/components/Builder/Page.js +154 -102
- package/lib/cjs/components/Builder/Page.js.map +1 -1
- package/lib/cjs/components/Builder/PageActions.js +35 -37
- package/lib/cjs/components/Builder/PageActions.js.map +1 -1
- package/lib/cjs/components/Builder/PageAdder.js +10 -11
- package/lib/cjs/components/Builder/PageAdder.js.map +1 -1
- package/lib/cjs/components/Builder/Panel.js +8 -10
- package/lib/cjs/components/Builder/Panel.js.map +1 -1
- package/lib/cjs/components/Builder/ReportItemRenderer.js +7 -6
- package/lib/cjs/components/Builder/ReportItemRenderer.js.map +1 -1
- package/lib/cjs/components/Builder/Scene.js +80 -225
- package/lib/cjs/components/Builder/Scene.js.map +1 -1
- package/lib/cjs/components/Builder/SearchInput.js +27 -58
- package/lib/cjs/components/Builder/SearchInput.js.map +1 -1
- package/lib/cjs/components/Builder/Section.js +8 -10
- package/lib/cjs/components/Builder/Section.js.map +1 -1
- package/lib/cjs/components/Builder/Tabs.js +19 -16
- package/lib/cjs/components/Builder/Tabs.js.map +1 -1
- package/lib/cjs/components/Builder/ZoomControls.js +20 -34
- package/lib/cjs/components/Builder/ZoomControls.js.map +1 -1
- package/lib/cjs/components/DraggableItem/DraggableItem.js +165 -204
- package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
- package/lib/cjs/components/DraggableItem/DraggableItemActions.js +12 -14
- package/lib/cjs/components/DraggableItem/DraggableItemActions.js.map +1 -1
- package/lib/cjs/components/DraggableItem/DraggableItemLayer.js +25 -22
- package/lib/cjs/components/DraggableItem/DraggableItemLayer.js.map +1 -1
- package/lib/cjs/components/Elements/Chart.js +3 -4
- package/lib/cjs/components/Elements/Chart.js.map +1 -1
- package/lib/cjs/components/Elements/Icon.js +3 -5
- package/lib/cjs/components/Elements/Icon.js.map +1 -1
- package/lib/cjs/components/Elements/Image.js +11 -12
- package/lib/cjs/components/Elements/Image.js.map +1 -1
- package/lib/cjs/components/Elements/RichText.js +16 -14
- package/lib/cjs/components/Elements/RichText.js.map +1 -1
- package/lib/cjs/components/Elements/Shapes.js +2 -4
- package/lib/cjs/components/Elements/Shapes.js.map +1 -1
- package/lib/cjs/components/ItemPositioner.js +6 -8
- package/lib/cjs/components/ItemPositioner.js.map +1 -1
- package/lib/cjs/components/PageItemResizer.js +24 -15
- package/lib/cjs/components/PageItemResizer.js.map +1 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js +25 -60
- package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +2 -4
- package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +1 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/PageActionsBar.js +8 -15
- package/lib/cjs/components/Panels/AllSlidesPanel/PageActionsBar.js.map +1 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/PageItem.js +56 -21
- package/lib/cjs/components/Panels/AllSlidesPanel/PageItem.js.map +1 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/PageItemDragOverlay.js +54 -0
- package/lib/cjs/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +1 -0
- package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js +143 -47
- package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/PageThumbnailActions.js +17 -18
- package/lib/cjs/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +1 -1
- package/lib/cjs/components/Panels/LeftPanel/Elements.js +48 -52
- package/lib/cjs/components/Panels/LeftPanel/Elements.js.map +1 -1
- package/lib/cjs/components/Panels/LeftPanel/LeftPanel.js +6 -35
- package/lib/cjs/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
- package/lib/cjs/components/Panels/LeftPanel/LeftPanelCloser.js +4 -4
- package/lib/cjs/components/Panels/LeftPanel/LeftPanelCloser.js.map +1 -1
- package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js +4 -3
- package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
- package/lib/cjs/components/Panels/RightPanel/RightPanel.js +139 -144
- package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
- package/lib/cjs/components/Panels/RightPanel/RightPanelToggler.js +7 -4
- package/lib/cjs/components/Panels/RightPanel/RightPanelToggler.js.map +1 -1
- package/lib/cjs/components/Panels/RightPanel/Settings.js +21 -22
- package/lib/cjs/components/Panels/RightPanel/Settings.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js +105 -95
- package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/PageThumbnailActions.js +17 -18
- package/lib/cjs/components/Panels/SlidesPanel/PageThumbnailActions.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js +33 -67
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanelToggler.js +9 -9
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItem.js +62 -28
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItem.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js +54 -0
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js.map +1 -0
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemRenderer.js +8 -9
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemRenderer.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js +161 -109
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
- package/lib/cjs/components/Presentation/Presentation.js +19 -70
- package/lib/cjs/components/Presentation/Presentation.js.map +1 -1
- package/lib/cjs/components/Presentation/PresentationBar/PageNavigation.js +8 -10
- package/lib/cjs/components/Presentation/PresentationBar/PageNavigation.js.map +1 -1
- package/lib/cjs/components/Presentation/PresentationBar/PresentationActions.js +45 -12
- package/lib/cjs/components/Presentation/PresentationBar/PresentationActions.js.map +1 -1
- package/lib/cjs/components/Presentation/PresentationBar/PresentationBar.js +44 -86
- package/lib/cjs/components/Presentation/PresentationBar/PresentationBar.js.map +1 -1
- package/lib/cjs/components/Presentation/PresentationBar/SelectZoom.js +8 -10
- package/lib/cjs/components/Presentation/PresentationBar/SelectZoom.js.map +1 -1
- package/lib/cjs/components/Presentation/PresentationWrapper.js +56 -59
- package/lib/cjs/components/Presentation/PresentationWrapper.js.map +1 -1
- package/lib/cjs/components/Presentation/ProgressBar.js +4 -6
- package/lib/cjs/components/Presentation/ProgressBar.js.map +1 -1
- package/lib/cjs/components/Preview/Preview.js +14 -69
- package/lib/cjs/components/Preview/Preview.js.map +1 -1
- package/lib/cjs/components/Preview/StaticItem.js +7 -28
- package/lib/cjs/components/Preview/StaticItem.js.map +1 -1
- package/lib/cjs/components/Preview/StaticPage.js +19 -33
- package/lib/cjs/components/Preview/StaticPage.js.map +1 -1
- package/lib/cjs/components/Preview/StaticScene.js +34 -56
- package/lib/cjs/components/Preview/StaticScene.js.map +1 -1
- package/lib/cjs/components/Print/Print.js +18 -62
- package/lib/cjs/components/Print/Print.js.map +1 -1
- package/lib/cjs/components/Print/PrintModal.js +55 -0
- package/lib/cjs/components/Print/PrintModal.js.map +1 -0
- package/lib/cjs/components/Print/{PrintModeWithoutContext.js → PrintWrapper.js} +11 -42
- package/lib/cjs/components/Print/PrintWrapper.js.map +1 -0
- package/lib/cjs/components/Report.js +29 -47
- package/lib/cjs/components/Report.js.map +1 -1
- package/lib/cjs/components/ReportItemsWrapper.js +35 -48
- package/lib/cjs/components/ReportItemsWrapper.js.map +1 -1
- package/lib/cjs/components/ReportWrapper.js +28 -57
- package/lib/cjs/components/ReportWrapper.js.map +1 -1
- package/lib/cjs/components/Settings/Button.js +8 -10
- package/lib/cjs/components/Settings/Button.js.map +1 -1
- package/lib/cjs/components/Settings/CheckboxGroup.js +8 -10
- package/lib/cjs/components/Settings/CheckboxGroup.js.map +1 -1
- package/lib/cjs/components/Settings/ColorPicker.js +18 -13
- package/lib/cjs/components/Settings/ColorPicker.js.map +1 -1
- package/lib/cjs/components/Settings/Dropdown.js +10 -12
- package/lib/cjs/components/Settings/Dropdown.js.map +1 -1
- package/lib/cjs/components/Settings/FieldSet.js +3 -4
- package/lib/cjs/components/Settings/FieldSet.js.map +1 -1
- package/lib/cjs/components/Settings/IconSelectBox.js +8 -10
- package/lib/cjs/components/Settings/IconSelectBox.js.map +1 -1
- package/lib/cjs/components/Settings/ImagePicker/EnterURL.js +4 -6
- package/lib/cjs/components/Settings/ImagePicker/EnterURL.js.map +1 -1
- package/lib/cjs/components/Settings/ImagePicker/ImageThumbnailWithDelete.js +6 -8
- package/lib/cjs/components/Settings/ImagePicker/ImageThumbnailWithDelete.js.map +1 -1
- package/lib/cjs/components/Settings/ImageUrl.js +8 -10
- package/lib/cjs/components/Settings/ImageUrl.js.map +1 -1
- package/lib/cjs/components/Settings/LayoutSizeSettings.js +4 -6
- package/lib/cjs/components/Settings/LayoutSizeSettings.js.map +1 -1
- package/lib/cjs/components/Settings/Orientation.js +8 -10
- package/lib/cjs/components/Settings/Orientation.js.map +1 -1
- package/lib/cjs/components/Settings/PageLayer/LayerDragOverlay.js +128 -0
- package/lib/cjs/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -0
- package/lib/cjs/components/Settings/PageLayer/LayerItem.js +91 -32
- package/lib/cjs/components/Settings/PageLayer/LayerItem.js.map +1 -1
- package/lib/cjs/components/Settings/PageLayer/PageLayer.js +115 -50
- package/lib/cjs/components/Settings/PageLayer/PageLayer.js.map +1 -1
- package/lib/cjs/components/Settings/SegmentControl.js +8 -10
- package/lib/cjs/components/Settings/SegmentControl.js.map +1 -1
- package/lib/cjs/components/Settings/SelectBox.js +8 -10
- package/lib/cjs/components/Settings/SelectBox.js.map +1 -1
- package/lib/cjs/components/Settings/SettingsItemRenderer.js +9 -11
- package/lib/cjs/components/Settings/SettingsItemRenderer.js.map +1 -1
- package/lib/cjs/components/Settings/SizeSettings.js +5 -7
- package/lib/cjs/components/Settings/SizeSettings.js.map +1 -1
- package/lib/cjs/components/Settings/Slider.js +8 -10
- package/lib/cjs/components/Settings/Slider.js.map +1 -1
- package/lib/cjs/components/Settings/Switch.js +8 -10
- package/lib/cjs/components/Settings/Switch.js.map +1 -1
- package/lib/cjs/components/Settings/Textbox.js +12 -14
- package/lib/cjs/components/Settings/Textbox.js.map +1 -1
- package/lib/cjs/components/Settings/Toggle.js +8 -10
- package/lib/cjs/components/Settings/Toggle.js.map +1 -1
- package/lib/cjs/components/StaticElements/StaticRichText.js +26 -30
- package/lib/cjs/components/StaticElements/StaticRichText.js.map +1 -1
- package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbar.js +2 -4
- package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbar.js.map +1 -1
- package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +4 -6
- package/lib/cjs/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
- package/lib/cjs/components/TextEditor/QuillEditor.js +6 -11
- package/lib/cjs/components/TextEditor/QuillEditor.js.map +1 -1
- package/lib/cjs/components/TextEditor/TextEditor.js +17 -18
- package/lib/cjs/components/TextEditor/TextEditor.js.map +1 -1
- package/lib/cjs/components/withClickOutside.js +10 -11
- package/lib/cjs/components/withClickOutside.js.map +1 -1
- package/lib/cjs/components/withZoomPanPinchHOC.js +10 -12
- package/lib/cjs/components/withZoomPanPinchHOC.js.map +1 -1
- package/lib/cjs/constants/eventIgnoredRoles.js +13 -0
- package/lib/cjs/constants/eventIgnoredRoles.js.map +1 -0
- package/lib/cjs/constants/texts.js +12 -0
- package/lib/cjs/constants/texts.js.map +1 -1
- package/lib/cjs/contexts/BuilderContext.js +214 -0
- package/lib/cjs/contexts/BuilderContext.js.map +1 -0
- package/lib/cjs/contexts/PresentationContext.js +140 -0
- package/lib/cjs/contexts/PresentationContext.js.map +1 -0
- package/lib/cjs/contexts/PropContext.js +144 -0
- package/lib/cjs/contexts/PropContext.js.map +1 -0
- package/lib/cjs/contexts/Providers.js +70 -0
- package/lib/cjs/contexts/Providers.js.map +1 -0
- package/lib/cjs/index.js +0 -2
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/styles/_jfPresentation.scss +0 -18
- package/lib/cjs/styles/_jfPrint.scss +17 -1
- package/lib/cjs/styles/_jfReportsModal.scss +9 -9
- package/lib/cjs/styles/_jfReportsPanels.scss +4 -1
- package/lib/cjs/styles/_jfReportsReportItem.scss +1 -1
- package/lib/cjs/styles/_jfReportsSVG.scss +0 -1
- package/lib/cjs/styles/_jfReportsTextEditor.scss +5 -0
- package/lib/cjs/styles/_jfReportsViewModes.scss +2 -5
- package/lib/cjs/styles/_jfSearchInput.scss +2 -2
- package/lib/cjs/utils/functions.js +47 -45
- package/lib/cjs/utils/functions.js.map +1 -1
- package/lib/cjs/utils/getDefaultPresentationActions.js +1 -1
- package/lib/cjs/utils/getDefaultPresentationActions.js.map +1 -1
- package/lib/cjs/utils/hooks.js +64 -47
- package/lib/cjs/utils/hooks.js.map +1 -1
- package/lib/esm/components/AlignmentGuides.js +11 -12
- package/lib/esm/components/AlignmentGuides.js.map +1 -1
- package/lib/esm/components/Builder/Builder.js +20 -129
- package/lib/esm/components/Builder/Builder.js.map +1 -1
- package/lib/esm/components/Builder/BuilderWrapper.js +58 -0
- package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -0
- package/lib/esm/components/Builder/ContextMenu.js +31 -30
- package/lib/esm/components/Builder/ContextMenu.js.map +1 -1
- package/lib/esm/components/Builder/DndWrapper.js +10 -10
- package/lib/esm/components/Builder/DndWrapper.js.map +1 -1
- package/lib/esm/components/Builder/Element.js +50 -43
- package/lib/esm/components/Builder/Element.js.map +1 -1
- package/lib/esm/components/Builder/Page.js +156 -104
- package/lib/esm/components/Builder/Page.js.map +1 -1
- package/lib/esm/components/Builder/PageActions.js +35 -37
- package/lib/esm/components/Builder/PageActions.js.map +1 -1
- package/lib/esm/components/Builder/PageAdder.js +11 -12
- package/lib/esm/components/Builder/PageAdder.js.map +1 -1
- package/lib/esm/components/Builder/Panel.js +8 -10
- package/lib/esm/components/Builder/Panel.js.map +1 -1
- package/lib/esm/components/Builder/ReportItemRenderer.js +7 -6
- package/lib/esm/components/Builder/ReportItemRenderer.js.map +1 -1
- package/lib/esm/components/Builder/Scene.js +82 -223
- package/lib/esm/components/Builder/Scene.js.map +1 -1
- package/lib/esm/components/Builder/SearchInput.js +28 -58
- package/lib/esm/components/Builder/SearchInput.js.map +1 -1
- package/lib/esm/components/Builder/Section.js +8 -10
- package/lib/esm/components/Builder/Section.js.map +1 -1
- package/lib/esm/components/Builder/Tabs.js +19 -16
- package/lib/esm/components/Builder/Tabs.js.map +1 -1
- package/lib/esm/components/Builder/ZoomControls.js +20 -30
- package/lib/esm/components/Builder/ZoomControls.js.map +1 -1
- package/lib/esm/components/DraggableItem/DraggableItem.js +166 -204
- package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
- package/lib/esm/components/DraggableItem/DraggableItemActions.js +12 -14
- package/lib/esm/components/DraggableItem/DraggableItemActions.js.map +1 -1
- package/lib/esm/components/DraggableItem/DraggableItemLayer.js +23 -20
- package/lib/esm/components/DraggableItem/DraggableItemLayer.js.map +1 -1
- package/lib/esm/components/Elements/Chart.js +3 -4
- package/lib/esm/components/Elements/Chart.js.map +1 -1
- package/lib/esm/components/Elements/Icon.js +3 -5
- package/lib/esm/components/Elements/Icon.js.map +1 -1
- package/lib/esm/components/Elements/Image.js +11 -12
- package/lib/esm/components/Elements/Image.js.map +1 -1
- package/lib/esm/components/Elements/RichText.js +16 -14
- package/lib/esm/components/Elements/RichText.js.map +1 -1
- package/lib/esm/components/Elements/Shapes.js +2 -4
- package/lib/esm/components/Elements/Shapes.js.map +1 -1
- package/lib/esm/components/ItemPositioner.js +6 -8
- package/lib/esm/components/ItemPositioner.js.map +1 -1
- package/lib/esm/components/PageItemResizer.js +24 -15
- package/lib/esm/components/PageItemResizer.js.map +1 -1
- package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js +25 -59
- package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +1 -1
- package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +2 -4
- package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +1 -1
- package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js +8 -15
- package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js.map +1 -1
- package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js +56 -22
- package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js.map +1 -1
- package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js +48 -0
- package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +1 -0
- package/lib/esm/components/Panels/AllSlidesPanel/PageList.js +140 -48
- package/lib/esm/components/Panels/AllSlidesPanel/PageList.js.map +1 -1
- package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js +17 -18
- package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +1 -1
- package/lib/esm/components/Panels/LeftPanel/Elements.js +49 -53
- package/lib/esm/components/Panels/LeftPanel/Elements.js.map +1 -1
- package/lib/esm/components/Panels/LeftPanel/LeftPanel.js +6 -34
- package/lib/esm/components/Panels/LeftPanel/LeftPanel.js.map +1 -1
- package/lib/esm/components/Panels/LeftPanel/LeftPanelCloser.js +4 -4
- package/lib/esm/components/Panels/LeftPanel/LeftPanelCloser.js.map +1 -1
- package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js +4 -3
- package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
- package/lib/esm/components/Panels/RightPanel/RightPanel.js +141 -145
- package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
- package/lib/esm/components/Panels/RightPanel/RightPanelToggler.js +7 -4
- package/lib/esm/components/Panels/RightPanel/RightPanelToggler.js.map +1 -1
- package/lib/esm/components/Panels/RightPanel/Settings.js +21 -22
- package/lib/esm/components/Panels/RightPanel/Settings.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js +106 -96
- package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/PageThumbnailActions.js +17 -18
- package/lib/esm/components/Panels/SlidesPanel/PageThumbnailActions.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js +33 -66
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js +9 -9
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanelToggler.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItem.js +62 -28
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItem.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js +48 -0
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItemDragOverlay.js.map +1 -0
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItemRenderer.js +8 -9
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItemRenderer.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js +163 -111
- package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
- package/lib/esm/components/Presentation/Presentation.js +19 -69
- package/lib/esm/components/Presentation/Presentation.js.map +1 -1
- package/lib/esm/components/Presentation/PresentationBar/PageNavigation.js +8 -10
- package/lib/esm/components/Presentation/PresentationBar/PageNavigation.js.map +1 -1
- package/lib/esm/components/Presentation/PresentationBar/PresentationActions.js +46 -13
- package/lib/esm/components/Presentation/PresentationBar/PresentationActions.js.map +1 -1
- package/lib/esm/components/Presentation/PresentationBar/PresentationBar.js +45 -87
- package/lib/esm/components/Presentation/PresentationBar/PresentationBar.js.map +1 -1
- package/lib/esm/components/Presentation/PresentationBar/SelectZoom.js +8 -10
- package/lib/esm/components/Presentation/PresentationBar/SelectZoom.js.map +1 -1
- package/lib/esm/components/Presentation/PresentationWrapper.js +57 -60
- package/lib/esm/components/Presentation/PresentationWrapper.js.map +1 -1
- package/lib/esm/components/Presentation/ProgressBar.js +4 -6
- package/lib/esm/components/Presentation/ProgressBar.js.map +1 -1
- package/lib/esm/components/Preview/Preview.js +14 -68
- package/lib/esm/components/Preview/Preview.js.map +1 -1
- package/lib/esm/components/Preview/StaticItem.js +8 -28
- package/lib/esm/components/Preview/StaticItem.js.map +1 -1
- package/lib/esm/components/Preview/StaticPage.js +17 -30
- package/lib/esm/components/Preview/StaticPage.js.map +1 -1
- package/lib/esm/components/Preview/StaticScene.js +34 -56
- package/lib/esm/components/Preview/StaticScene.js.map +1 -1
- package/lib/esm/components/Print/Print.js +18 -57
- package/lib/esm/components/Print/Print.js.map +1 -1
- package/lib/esm/components/Print/PrintModal.js +49 -0
- package/lib/esm/components/Print/PrintModal.js.map +1 -0
- package/lib/esm/components/Print/{PrintModeWithoutContext.js → PrintWrapper.js} +11 -42
- package/lib/esm/components/Print/PrintWrapper.js.map +1 -0
- package/lib/esm/components/Report.js +30 -48
- package/lib/esm/components/Report.js.map +1 -1
- package/lib/esm/components/ReportItemsWrapper.js +32 -49
- package/lib/esm/components/ReportItemsWrapper.js.map +1 -1
- package/lib/esm/components/ReportWrapper.js +29 -58
- package/lib/esm/components/ReportWrapper.js.map +1 -1
- package/lib/esm/components/Settings/Button.js +8 -10
- package/lib/esm/components/Settings/Button.js.map +1 -1
- package/lib/esm/components/Settings/CheckboxGroup.js +8 -10
- package/lib/esm/components/Settings/CheckboxGroup.js.map +1 -1
- package/lib/esm/components/Settings/ColorPicker.js +18 -13
- package/lib/esm/components/Settings/ColorPicker.js.map +1 -1
- package/lib/esm/components/Settings/Dropdown.js +10 -12
- package/lib/esm/components/Settings/Dropdown.js.map +1 -1
- package/lib/esm/components/Settings/FieldSet.js +3 -4
- package/lib/esm/components/Settings/FieldSet.js.map +1 -1
- package/lib/esm/components/Settings/IconSelectBox.js +8 -10
- package/lib/esm/components/Settings/IconSelectBox.js.map +1 -1
- package/lib/esm/components/Settings/ImagePicker/EnterURL.js +4 -6
- package/lib/esm/components/Settings/ImagePicker/EnterURL.js.map +1 -1
- package/lib/esm/components/Settings/ImagePicker/ImageThumbnailWithDelete.js +6 -8
- package/lib/esm/components/Settings/ImagePicker/ImageThumbnailWithDelete.js.map +1 -1
- package/lib/esm/components/Settings/ImageUrl.js +8 -10
- package/lib/esm/components/Settings/ImageUrl.js.map +1 -1
- package/lib/esm/components/Settings/LayoutSizeSettings.js +4 -6
- package/lib/esm/components/Settings/LayoutSizeSettings.js.map +1 -1
- package/lib/esm/components/Settings/Orientation.js +8 -10
- package/lib/esm/components/Settings/Orientation.js.map +1 -1
- package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js +121 -0
- package/lib/esm/components/Settings/PageLayer/LayerDragOverlay.js.map +1 -0
- package/lib/esm/components/Settings/PageLayer/LayerItem.js +92 -34
- package/lib/esm/components/Settings/PageLayer/LayerItem.js.map +1 -1
- package/lib/esm/components/Settings/PageLayer/PageLayer.js +117 -52
- package/lib/esm/components/Settings/PageLayer/PageLayer.js.map +1 -1
- package/lib/esm/components/Settings/SegmentControl.js +8 -10
- package/lib/esm/components/Settings/SegmentControl.js.map +1 -1
- package/lib/esm/components/Settings/SelectBox.js +8 -10
- package/lib/esm/components/Settings/SelectBox.js.map +1 -1
- package/lib/esm/components/Settings/SettingsItemRenderer.js +9 -11
- package/lib/esm/components/Settings/SettingsItemRenderer.js.map +1 -1
- package/lib/esm/components/Settings/SizeSettings.js +5 -7
- package/lib/esm/components/Settings/SizeSettings.js.map +1 -1
- package/lib/esm/components/Settings/Slider.js +8 -10
- package/lib/esm/components/Settings/Slider.js.map +1 -1
- package/lib/esm/components/Settings/Switch.js +8 -10
- package/lib/esm/components/Settings/Switch.js.map +1 -1
- package/lib/esm/components/Settings/Textbox.js +12 -14
- package/lib/esm/components/Settings/Textbox.js.map +1 -1
- package/lib/esm/components/Settings/Toggle.js +8 -10
- package/lib/esm/components/Settings/Toggle.js.map +1 -1
- package/lib/esm/components/StaticElements/StaticRichText.js +26 -30
- package/lib/esm/components/StaticElements/StaticRichText.js.map +1 -1
- package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbar.js +2 -4
- package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbar.js.map +1 -1
- package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js +4 -6
- package/lib/esm/components/TextEditor/CustomToolbar/CustomToolbarWrapper.js.map +1 -1
- package/lib/esm/components/TextEditor/QuillEditor.js +6 -11
- package/lib/esm/components/TextEditor/QuillEditor.js.map +1 -1
- package/lib/esm/components/TextEditor/TextEditor.js +17 -18
- package/lib/esm/components/TextEditor/TextEditor.js.map +1 -1
- package/lib/esm/components/withClickOutside.js +11 -12
- package/lib/esm/components/withClickOutside.js.map +1 -1
- package/lib/esm/components/withZoomPanPinchHOC.js +10 -12
- package/lib/esm/components/withZoomPanPinchHOC.js.map +1 -1
- package/lib/esm/constants/eventIgnoredRoles.js +9 -0
- package/lib/esm/constants/eventIgnoredRoles.js.map +1 -0
- package/lib/esm/constants/texts.js +12 -0
- package/lib/esm/constants/texts.js.map +1 -1
- package/lib/esm/contexts/BuilderContext.js +205 -0
- package/lib/esm/contexts/BuilderContext.js.map +1 -0
- package/lib/esm/contexts/PresentationContext.js +131 -0
- package/lib/esm/contexts/PresentationContext.js.map +1 -0
- package/lib/esm/contexts/PropContext.js +135 -0
- package/lib/esm/contexts/PropContext.js.map +1 -0
- package/lib/esm/contexts/Providers.js +64 -0
- package/lib/esm/contexts/Providers.js.map +1 -0
- package/lib/esm/index.js +0 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/styles/_jfPresentation.scss +0 -18
- package/lib/esm/styles/_jfPrint.scss +17 -1
- package/lib/esm/styles/_jfReportsModal.scss +9 -9
- package/lib/esm/styles/_jfReportsPanels.scss +4 -1
- package/lib/esm/styles/_jfReportsReportItem.scss +1 -1
- package/lib/esm/styles/_jfReportsSVG.scss +0 -1
- package/lib/esm/styles/_jfReportsTextEditor.scss +5 -0
- package/lib/esm/styles/_jfReportsViewModes.scss +2 -5
- package/lib/esm/styles/_jfSearchInput.scss +2 -2
- package/lib/esm/utils/functions.js +41 -44
- package/lib/esm/utils/functions.js.map +1 -1
- package/lib/esm/utils/getDefaultPresentationActions.js +1 -1
- package/lib/esm/utils/getDefaultPresentationActions.js.map +1 -1
- package/lib/esm/utils/hooks.js +66 -49
- package/lib/esm/utils/hooks.js.map +1 -1
- package/package.json +18 -14
- package/lib/cjs/components/Print/PrintMode.js +0 -59
- package/lib/cjs/components/Print/PrintMode.js.map +0 -1
- package/lib/cjs/components/Print/PrintModeWithoutContext.js.map +0 -1
- package/lib/cjs/components/Responsive/index.js +0 -107
- package/lib/cjs/components/Responsive/index.js.map +0 -1
- package/lib/cjs/components/ResponsiveContent.js +0 -15
- package/lib/cjs/components/ResponsiveContent.js.map +0 -1
- package/lib/cjs/utils/builderContext.js +0 -308
- package/lib/cjs/utils/builderContext.js.map +0 -1
- package/lib/cjs/utils/presentationContext.js +0 -144
- package/lib/cjs/utils/presentationContext.js.map +0 -1
- package/lib/cjs/utils/propContext.js +0 -133
- package/lib/cjs/utils/propContext.js.map +0 -1
- package/lib/esm/components/Print/PrintMode.js +0 -52
- package/lib/esm/components/Print/PrintMode.js.map +0 -1
- package/lib/esm/components/Print/PrintModeWithoutContext.js.map +0 -1
- package/lib/esm/components/Responsive/index.js +0 -100
- package/lib/esm/components/Responsive/index.js.map +0 -1
- package/lib/esm/components/ResponsiveContent.js +0 -13
- package/lib/esm/components/ResponsiveContent.js.map +0 -1
- package/lib/esm/utils/builderContext.js +0 -297
- package/lib/esm/utils/builderContext.js.map +0 -1
- package/lib/esm/utils/presentationContext.js +0 -133
- package/lib/esm/utils/presentationContext.js.map +0 -1
- package/lib/esm/utils/propContext.js +0 -122
- package/lib/esm/utils/propContext.js.map +0 -1
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { memo, useEffect } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import { useDrag } from 'react-dnd
|
|
4
|
-
import { getEmptyImage } from 'react-dnd-html5-backend
|
|
3
|
+
import { useDrag } from 'react-dnd';
|
|
4
|
+
import { getEmptyImage } from 'react-dnd-html5-backend';
|
|
5
5
|
import { DROPPABLE_ITEM_TYPE } from '../../constants/itemTypes.js';
|
|
6
6
|
import { getExactIconType, getMostVisiblePage, getAvailableCoordinate } from '../../utils/functions.js';
|
|
7
7
|
import generateId from '../../utils/generateId.js';
|
|
8
8
|
import * as icons from '../../utils/icons.js';
|
|
9
|
+
import { useBuilderStore } from '../../contexts/BuilderContext.js';
|
|
10
|
+
import { usePropStore } from '../../contexts/PropContext.js';
|
|
9
11
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
10
12
|
import SvgLabel from '../../assets/svg/toolbox/label.svg.js';
|
|
11
13
|
|
|
12
|
-
var _excluded = ["
|
|
14
|
+
var _excluded = ["icon", "iconType", "itemType", "title"];
|
|
13
15
|
|
|
14
16
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
15
17
|
|
|
@@ -34,29 +36,51 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
34
36
|
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; }
|
|
35
37
|
|
|
36
38
|
var Element = function Element(_ref) {
|
|
37
|
-
var
|
|
38
|
-
icon = _ref
|
|
39
|
-
iconType = _ref.iconType,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
title = _ref.title,
|
|
46
|
-
zoom = _ref.zoom,
|
|
39
|
+
var _ref$icon = _ref.icon,
|
|
40
|
+
icon = _ref$icon === void 0 ? null : _ref$icon,
|
|
41
|
+
_ref$iconType = _ref.iconType,
|
|
42
|
+
iconType = _ref$iconType === void 0 ? '' : _ref$iconType,
|
|
43
|
+
_ref$itemType = _ref.itemType,
|
|
44
|
+
itemType = _ref$itemType === void 0 ? '' : _ref$itemType,
|
|
45
|
+
_ref$title = _ref.title,
|
|
46
|
+
title = _ref$title === void 0 ? '' : _ref$title,
|
|
47
47
|
additionalData = _objectWithoutProperties(_ref, _excluded);
|
|
48
48
|
|
|
49
|
-
var
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
49
|
+
var acceptedItems = usePropStore(function (state) {
|
|
50
|
+
return state.acceptedItems;
|
|
51
|
+
});
|
|
52
|
+
var onAnEventTrigger = usePropStore(function (state) {
|
|
53
|
+
return state.onAnEventTrigger;
|
|
54
|
+
});
|
|
55
|
+
var onItemAdd = usePropStore(function (state) {
|
|
56
|
+
return state.onItemAdd;
|
|
57
|
+
});
|
|
58
|
+
var setActiveElement = useBuilderStore(function (state) {
|
|
59
|
+
return state.setActiveElement;
|
|
60
|
+
});
|
|
61
|
+
var setIsRightPanelOpen = useBuilderStore(function (state) {
|
|
62
|
+
return state.setIsRightPanelOpen;
|
|
63
|
+
});
|
|
64
|
+
var zoom = useBuilderStore(function (state) {
|
|
65
|
+
return state.zoom;
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
var _useDrag = useDrag(function () {
|
|
69
|
+
return {
|
|
70
|
+
collect: function collect(monitor) {
|
|
71
|
+
return {
|
|
72
|
+
isDragging: monitor.isDragging()
|
|
73
|
+
};
|
|
74
|
+
},
|
|
75
|
+
item: function item() {
|
|
76
|
+
return _objectSpread({
|
|
77
|
+
itemType: itemType,
|
|
78
|
+
type: DROPPABLE_ITEM_TYPE
|
|
79
|
+
}, additionalData);
|
|
80
|
+
},
|
|
57
81
|
type: DROPPABLE_ITEM_TYPE
|
|
58
|
-
}
|
|
59
|
-
}),
|
|
82
|
+
};
|
|
83
|
+
}, [itemType, additionalData]),
|
|
60
84
|
_useDrag2 = _slicedToArray(_useDrag, 3),
|
|
61
85
|
isDragging = _useDrag2[0].isDragging,
|
|
62
86
|
drag = _useDrag2[1],
|
|
@@ -66,7 +90,7 @@ var Element = function Element(_ref) {
|
|
|
66
90
|
preview(getEmptyImage(), {
|
|
67
91
|
captureDraggingState: true
|
|
68
92
|
});
|
|
69
|
-
});
|
|
93
|
+
}, [preview]);
|
|
70
94
|
|
|
71
95
|
var onElementClick = function onElementClick() {
|
|
72
96
|
var itemID = generateId();
|
|
@@ -106,6 +130,7 @@ var Element = function Element(_ref) {
|
|
|
106
130
|
onClick: onElementClick,
|
|
107
131
|
onKeyDown: onElementOtherActions,
|
|
108
132
|
style: {
|
|
133
|
+
cursor: isDragging ? 'grabbing' : 'pointer',
|
|
109
134
|
opacity: isDragging ? 0.5 : 1
|
|
110
135
|
},
|
|
111
136
|
title: title,
|
|
@@ -123,28 +148,10 @@ var Element = function Element(_ref) {
|
|
|
123
148
|
};
|
|
124
149
|
|
|
125
150
|
Element.propTypes = {
|
|
126
|
-
acceptedItems: PropTypes.shape({}),
|
|
127
151
|
icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),
|
|
128
152
|
iconType: PropTypes.string,
|
|
129
153
|
itemType: PropTypes.string,
|
|
130
|
-
|
|
131
|
-
onItemAdd: PropTypes.func,
|
|
132
|
-
setActiveElement: PropTypes.func,
|
|
133
|
-
setIsRightPanelOpen: PropTypes.func,
|
|
134
|
-
title: PropTypes.string,
|
|
135
|
-
zoom: PropTypes.number
|
|
136
|
-
};
|
|
137
|
-
Element.defaultProps = {
|
|
138
|
-
acceptedItems: {},
|
|
139
|
-
icon: null,
|
|
140
|
-
iconType: '',
|
|
141
|
-
itemType: '',
|
|
142
|
-
onAnEventTrigger: function onAnEventTrigger() {},
|
|
143
|
-
onItemAdd: function onItemAdd() {},
|
|
144
|
-
setActiveElement: function setActiveElement() {},
|
|
145
|
-
setIsRightPanelOpen: function setIsRightPanelOpen() {},
|
|
146
|
-
title: '',
|
|
147
|
-
zoom: 1
|
|
154
|
+
title: PropTypes.string
|
|
148
155
|
};
|
|
149
156
|
var Element$1 = /*#__PURE__*/memo(Element);
|
|
150
157
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Element.js","sources":["../../../../src/components/Builder/Element.js"],"sourcesContent":["import { useEffect, memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDrag } from 'react-dnd
|
|
1
|
+
{"version":3,"file":"Element.js","sources":["../../../../src/components/Builder/Element.js"],"sourcesContent":["import { useEffect, memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDrag } from 'react-dnd';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport { DROPPABLE_ITEM_TYPE } from '../../constants/itemTypes';\nimport {\n getMostVisiblePage, getExactIconType, getAvailableCoordinate,\n} from '../../utils/functions';\nimport generateId from '../../utils/generateId';\nimport * as icons from '../../utils/icons';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst Element = ({\n icon = null,\n iconType = '',\n itemType = '',\n title = '',\n ...additionalData\n}) => {\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemAdd = usePropStore(state => state.onItemAdd);\n const setActiveElement = useBuilderStore(state => state.setActiveElement);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const zoom = useBuilderStore(state => state.zoom);\n\n const [{ isDragging }, drag, preview] = useDrag(() => ({\n collect: monitor => ({\n isDragging: monitor.isDragging(),\n }),\n\n item: () => ({\n itemType,\n type: DROPPABLE_ITEM_TYPE,\n ...additionalData,\n }),\n\n type: DROPPABLE_ITEM_TYPE,\n }), [itemType, additionalData]);\n\n useEffect(() => {\n preview(getEmptyImage(), { captureDraggingState: true });\n }, [preview]);\n\n const onElementClick = () => {\n const itemID = generateId();\n const page = getMostVisiblePage();\n let left = 0;\n let top = 0;\n if (page) { // for test\n [left, top] = getAvailableCoordinate(page, zoom);\n }\n onItemAdd({\n ...acceptedItems[itemType].details,\n ...additionalData,\n id: itemID,\n left,\n pageID: page.id,\n top,\n });\n onAnEventTrigger('reportItemAdd', itemType);\n setActiveElement(itemID);\n setIsRightPanelOpen(true);\n };\n\n const onElementOtherActions = () => {};\n\n const exactIconType = getExactIconType(iconType);\n const Icon = icons[exactIconType] ? icons[exactIconType] : icons.label;\n return (\n <>\n <div\n ref={drag}\n className=\"toolItem d-flex a-center js-toolItem\"\n onClick={onElementClick}\n onKeyDown={onElementOtherActions}\n style={{ cursor: isDragging ? 'grabbing' : 'pointer', opacity: isDragging ? 0.5 : 1 }}\n title={title}\n >\n <span className=\"toolItem-icon d-flex j-center a-center\">\n {icon ? icon : (\n <Icon className={`jfReportSVG icon-question icon-${iconType}`} />\n )}\n </span>\n <span className=\"js-toolItemName toolItem-name d-flex a-center\">\n { title }\n </span>\n </div>\n </>\n );\n};\n\nElement.propTypes = {\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n iconType: PropTypes.string,\n itemType: PropTypes.string,\n title: PropTypes.string,\n};\n\nexport default memo(Element);\n"],"names":["Element","icon","iconType","itemType","title","additionalData","acceptedItems","usePropStore","state","onAnEventTrigger","onItemAdd","setActiveElement","useBuilderStore","setIsRightPanelOpen","zoom","useDrag","collect","monitor","isDragging","item","type","DROPPABLE_ITEM_TYPE","drag","preview","useEffect","getEmptyImage","captureDraggingState","onElementClick","itemID","generateId","page","getMostVisiblePage","left","top","getAvailableCoordinate","details","id","pageID","onElementOtherActions","exactIconType","getExactIconType","Icon","icons","_jsx","_jsxs","cursor","opacity","propTypes","PropTypes","oneOfType","element","func","string","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAMV;AAAA,uBALJC,IAKI;AAAA,MALJA,IAKI,0BALG,IAKH;AAAA,2BAJJC,QAII;AAAA,MAJJA,QAII,8BAJO,EAIP;AAAA,2BAHJC,QAGI;AAAA,MAHJA,QAGI,8BAHO,EAGP;AAAA,wBAFJC,KAEI;AAAA,MAFJA,KAEI,2BAFI,EAEJ;AAAA,MADDC,cACC;;AACJ,MAAMC,aAAa,GAAGC,YAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,aAAV;AAAA,GAAN,CAAlC;AACA,MAAMG,gBAAgB,GAAGF,YAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,gBAAV;AAAA,GAAN,CAArC;AACA,MAAMC,SAAS,GAAGH,YAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACE,SAAV;AAAA,GAAN,CAA9B;AACA,MAAMC,gBAAgB,GAAGC,eAAe,CAAC,UAAAJ,KAAK;AAAA,WAAIA,KAAK,CAACG,gBAAV;AAAA,GAAN,CAAxC;AACA,MAAME,mBAAmB,GAAGD,eAAe,CAAC,UAAAJ,KAAK;AAAA,WAAIA,KAAK,CAACK,mBAAV;AAAA,GAAN,CAA3C;AACA,MAAMC,IAAI,GAAGF,eAAe,CAAC,UAAAJ,KAAK;AAAA,WAAIA,KAAK,CAACM,IAAV;AAAA,GAAN,CAA5B;;AAEA,iBAAwCC,OAAO,CAAC;AAAA,WAAO;AACrDC,MAAAA,OAAO,EAAE,iBAAAC,OAAO;AAAA,eAAK;AACnBC,UAAAA,UAAU,EAAED,OAAO,CAACC,UAAR;AADO,SAAL;AAAA,OADqC;AAKrDC,MAAAA,IAAI,EAAE;AAAA;AACJhB,UAAAA,QAAQ,EAARA,QADI;AAEJiB,UAAAA,IAAI,EAAEC;AAFF,WAGDhB,cAHC;AAAA,OAL+C;AAWrDe,MAAAA,IAAI,EAAEC;AAX+C,KAAP;AAAA,GAAD,EAY3C,CAAClB,QAAD,EAAWE,cAAX,CAZ2C,CAA/C;AAAA;AAAA,MAASa,UAAT,gBAASA,UAAT;AAAA,MAAuBI,IAAvB;AAAA,MAA6BC,OAA7B;;AAcAC,EAAAA,SAAS,CAAC,YAAM;AACdD,IAAAA,OAAO,CAACE,aAAa,EAAd,EAAkB;AAAEC,MAAAA,oBAAoB,EAAE;AAAxB,KAAlB,CAAP;AACD,GAFQ,EAEN,CAACH,OAAD,CAFM,CAAT;;AAIA,MAAMI,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,QAAMC,MAAM,GAAGC,UAAU,EAAzB;AACA,QAAMC,IAAI,GAAGC,kBAAkB,EAA/B;AACA,QAAIC,IAAI,GAAG,CAAX;AACA,QAAIC,GAAG,GAAG,CAAV;;AACA,QAAIH,IAAJ,EAAU;AAAE;AAAF,kCACMI,sBAAsB,CAACJ,IAAD,EAAOhB,IAAP,CAD5B;;AAAA;;AACPkB,MAAAA,IADO;AACDC,MAAAA,GADC;AAET;;AACDvB,IAAAA,SAAS,+CACJJ,aAAa,CAACH,QAAD,CAAb,CAAwBgC,OADpB,GAEJ9B,cAFI;AAGP+B,MAAAA,EAAE,EAAER,MAHG;AAIPI,MAAAA,IAAI,EAAJA,IAJO;AAKPK,MAAAA,MAAM,EAAEP,IAAI,CAACM,EALN;AAMPH,MAAAA,GAAG,EAAHA;AANO,OAAT;AAQAxB,IAAAA,gBAAgB,CAAC,eAAD,EAAkBN,QAAlB,CAAhB;AACAQ,IAAAA,gBAAgB,CAACiB,MAAD,CAAhB;AACAf,IAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD,GAnBD;;AAqBA,MAAMyB,qBAAqB,GAAG,SAAxBA,qBAAwB,GAAM,EAApC;;AAEA,MAAMC,aAAa,GAAGC,gBAAgB,CAACtC,QAAD,CAAtC;AACA,MAAMuC,IAAI,GAAGC,KAAK,CAACH,aAAD,CAAL,GAAuBG,KAAK,CAACH,aAAD,CAA5B,GAA8CG,QAA3D;AACA,sBACEC;AAAA,2BACEC;AACE,MAAA,GAAG,EAAEtB,IADP;AAEE,MAAA,SAAS,EAAC,sCAFZ;AAGE,MAAA,OAAO,EAAEK,cAHX;AAIE,MAAA,SAAS,EAAEW,qBAJb;AAKE,MAAA,KAAK,EAAE;AAAEO,QAAAA,MAAM,EAAE3B,UAAU,GAAG,UAAH,GAAgB,SAApC;AAA+C4B,QAAAA,OAAO,EAAE5B,UAAU,GAAG,GAAH,GAAS;AAA3E,OALT;AAME,MAAA,KAAK,EAAEd,KANT;AAAA,8BAQEuC;AAAM,QAAA,SAAS,EAAC,wCAAhB;AAAA,kBACG1C,IAAI,GAAGA,IAAH,gBACH0C,IAAC,IAAD;AAAM,UAAA,SAAS,2CAAoCzC,QAApC;AAAf;AAFJ,QARF,eAaEyC;AAAM,QAAA,SAAS,EAAC,+CAAhB;AAAA,kBACIvC;AADJ,QAbF;AAAA;AADF,IADF;AAqBD,CA9ED;;AAgFAJ,OAAO,CAAC+C,SAAR,GAAoB;AAClB9C,EAAAA,IAAI,EAAE+C,SAAS,CAACC,SAAV,CAAoB,CAACD,SAAS,CAACE,OAAX,EAAoBF,SAAS,CAACG,IAA9B,CAApB,CADY;AAElBjD,EAAAA,QAAQ,EAAE8C,SAAS,CAACI,MAFF;AAGlBjD,EAAAA,QAAQ,EAAE6C,SAAS,CAACI,MAHF;AAIlBhD,EAAAA,KAAK,EAAE4C,SAAS,CAACI;AAJC,CAApB;AAOA,6BAAeC,IAAI,CAACrD,OAAD,CAAnB;;;;"}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
|
-
import { memo, useState, useRef } from 'react';
|
|
1
|
+
import { memo, useState, useRef, useCallback } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import { useDrop } from 'react-dnd
|
|
4
|
-
import { ACCEPTED_TYPES } from '../../constants/itemTypes.js';
|
|
3
|
+
import { useDrop } from 'react-dnd';
|
|
4
|
+
import { ACCEPTED_TYPES, DROPPABLE_ITEM_TYPE, DRAGGABLE_ITEM_TYPE } from '../../constants/itemTypes.js';
|
|
5
5
|
import AlignmentGuides from '../AlignmentGuides.js';
|
|
6
6
|
import ReportItemsWrapper from '../ReportItemsWrapper.js';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { getCorrectDroppedOffsetValue,
|
|
7
|
+
import { useBuilderStore } from '../../contexts/BuilderContext.js';
|
|
8
|
+
import { usePropStore } from '../../contexts/PropContext.js';
|
|
9
|
+
import { getMatchesForItem, getCorrectDroppedOffsetValue, getCorrectDroppedOffsetValueBySnap, findItemById, getCoordinatesFromMatches } from '../../utils/functions.js';
|
|
10
10
|
import { pageContainer } from '../../constants/classNames.js';
|
|
11
|
+
import generateId from '../../utils/generateId.js';
|
|
11
12
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
12
13
|
|
|
14
|
+
var _excluded = ["id", "itemType", "pageID"];
|
|
15
|
+
|
|
16
|
+
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; }
|
|
17
|
+
|
|
18
|
+
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; }
|
|
19
|
+
|
|
13
20
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
14
21
|
|
|
15
22
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
@@ -27,48 +34,68 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
27
34
|
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
28
35
|
|
|
29
36
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
30
|
-
var emptyObject = {};
|
|
31
37
|
|
|
32
38
|
var Page = function Page(_ref) {
|
|
33
|
-
var
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
var
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
39
|
+
var _ref$guides = _ref.guides,
|
|
40
|
+
guides = _ref$guides === void 0 ? {} : _ref$guides,
|
|
41
|
+
_ref$items = _ref.items,
|
|
42
|
+
items = _ref$items === void 0 ? [] : _ref$items,
|
|
43
|
+
_ref$page = _ref.page,
|
|
44
|
+
page = _ref$page === void 0 ? {} : _ref$page,
|
|
45
|
+
_ref$style = _ref.style,
|
|
46
|
+
style = _ref$style === void 0 ? {} : _ref$style;
|
|
47
|
+
var activeElement = useBuilderStore(function (state) {
|
|
48
|
+
return state.activeElement;
|
|
49
|
+
});
|
|
50
|
+
var setActiveElement = useBuilderStore(function (state) {
|
|
51
|
+
return state.setActiveElement;
|
|
52
|
+
});
|
|
53
|
+
var setIsRightPanelOpen = useBuilderStore(function (state) {
|
|
54
|
+
return state.setIsRightPanelOpen;
|
|
55
|
+
});
|
|
56
|
+
var zoom = useBuilderStore(function (state) {
|
|
57
|
+
return state.zoom;
|
|
58
|
+
});
|
|
59
|
+
var isResize = useBuilderStore(function (state) {
|
|
60
|
+
return state.isResize;
|
|
61
|
+
});
|
|
62
|
+
var onItemAdd = usePropStore(function (state) {
|
|
63
|
+
return state.onItemAdd;
|
|
64
|
+
});
|
|
65
|
+
var onItemMove = usePropStore(function (state) {
|
|
66
|
+
return state.onItemMove;
|
|
67
|
+
});
|
|
68
|
+
var onItemsMove = usePropStore(function (state) {
|
|
69
|
+
return state.onItemsMove;
|
|
70
|
+
});
|
|
71
|
+
var additionalPageItems = usePropStore(function (state) {
|
|
72
|
+
return state.additionalPageItems;
|
|
73
|
+
});
|
|
74
|
+
var onAnEventTrigger = usePropStore(function (state) {
|
|
75
|
+
return state.onAnEventTrigger;
|
|
76
|
+
});
|
|
77
|
+
var settings = usePropStore(function (state) {
|
|
78
|
+
return state.settings;
|
|
79
|
+
});
|
|
80
|
+
var acceptedItems = usePropStore(function (state) {
|
|
81
|
+
return state.acceptedItems;
|
|
82
|
+
});
|
|
83
|
+
var pages = usePropStore(function (state) {
|
|
84
|
+
return state.pages;
|
|
85
|
+
});
|
|
60
86
|
|
|
61
87
|
var _useState = useState({}),
|
|
62
88
|
_useState2 = _slicedToArray(_useState, 2),
|
|
63
89
|
matches = _useState2[0],
|
|
64
90
|
setMatches = _useState2[1];
|
|
65
91
|
|
|
66
|
-
var _useState3 = useState(false),
|
|
67
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
68
|
-
isResize = _useState4[0],
|
|
69
|
-
setIsResize = _useState4[1];
|
|
70
|
-
|
|
71
92
|
var requestRef = useRef();
|
|
93
|
+
var dropRef = useRef(null); // for getting the bounding client rect
|
|
94
|
+
|
|
95
|
+
var handleMatches = useCallback(function (item) {
|
|
96
|
+
var newMatches = getMatchesForItem(item, guides, zoom);
|
|
97
|
+
setMatches(newMatches);
|
|
98
|
+
}, [guides, zoom]);
|
|
72
99
|
|
|
73
100
|
var drawAlignmentGuides = function drawAlignmentGuides(item, monitor) {
|
|
74
101
|
return function () {
|
|
@@ -78,17 +105,14 @@ var Page = function Page(_ref) {
|
|
|
78
105
|
return;
|
|
79
106
|
}
|
|
80
107
|
|
|
81
|
-
var coords = getCorrectDroppedOffsetValue(monitor,
|
|
108
|
+
var coords = getCorrectDroppedOffsetValue(monitor, dropRef.current.getBoundingClientRect(), zoom);
|
|
82
109
|
|
|
83
110
|
var activeItem = _objectSpread(_objectSpread({}, item), coords);
|
|
84
111
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
})));
|
|
112
|
+
if (activeItem.id && activeItem.pageID) {
|
|
113
|
+
handleMatches(activeItem);
|
|
114
|
+
}
|
|
89
115
|
|
|
90
|
-
var match = proximityListener(item.id, _guides);
|
|
91
|
-
setMatches(match);
|
|
92
116
|
requestRef.current = undefined;
|
|
93
117
|
} catch (error) {
|
|
94
118
|
setMatches({});
|
|
@@ -96,6 +120,8 @@ var Page = function Page(_ref) {
|
|
|
96
120
|
};
|
|
97
121
|
};
|
|
98
122
|
|
|
123
|
+
var isMultipleItemSelected = activeElement !== null && activeElement.length > 1;
|
|
124
|
+
|
|
99
125
|
var onHover = function onHover(item, monitor) {
|
|
100
126
|
if (!requestRef.current) {
|
|
101
127
|
requestRef.current = global.requestAnimationFrame(drawAlignmentGuides(item, monitor));
|
|
@@ -109,19 +135,94 @@ var Page = function Page(_ref) {
|
|
|
109
135
|
isOver: monitor.isOver()
|
|
110
136
|
};
|
|
111
137
|
},
|
|
112
|
-
drop:
|
|
138
|
+
drop: function drop(item, monitor) {
|
|
139
|
+
var _dropRef$current;
|
|
140
|
+
|
|
141
|
+
var pageClient = (_dropRef$current = dropRef.current) === null || _dropRef$current === void 0 ? void 0 : _dropRef$current.getBoundingClientRect();
|
|
142
|
+
var coords = getCorrectDroppedOffsetValue(monitor, pageClient, zoom);
|
|
143
|
+
var type = monitor.getItemType();
|
|
144
|
+
|
|
145
|
+
var id = item.id,
|
|
146
|
+
itemType = item.itemType;
|
|
147
|
+
item.pageID;
|
|
148
|
+
var additionalData = _objectWithoutProperties(item, _excluded);
|
|
149
|
+
|
|
150
|
+
var newCoords = {};
|
|
151
|
+
|
|
152
|
+
if (type === DROPPABLE_ITEM_TYPE) {
|
|
153
|
+
var itemID = generateId();
|
|
154
|
+
onItemAdd(_objectSpread(_objectSpread(_objectSpread({}, acceptedItems[itemType].details), {}, {
|
|
155
|
+
id: itemID,
|
|
156
|
+
pageID: page.id
|
|
157
|
+
}, coords), additionalData));
|
|
158
|
+
onAnEventTrigger('reportItemAdd', itemType);
|
|
159
|
+
setActiveElement(itemID);
|
|
160
|
+
setIsRightPanelOpen(true);
|
|
161
|
+
newCoords[itemID] = coords;
|
|
162
|
+
} else if (type === DRAGGABLE_ITEM_TYPE) {
|
|
163
|
+
var newItem = _objectSpread(_objectSpread({}, item), coords);
|
|
164
|
+
|
|
165
|
+
var dragCoords = getCorrectDroppedOffsetValueBySnap(newItem, guides, zoom);
|
|
166
|
+
|
|
167
|
+
if (isMultipleItemSelected) {
|
|
168
|
+
var leftDifference = additionalData.left - dragCoords.left;
|
|
169
|
+
var topDifference = additionalData.top - dragCoords.top;
|
|
170
|
+
|
|
171
|
+
var _items = activeElement.reduce(function (acc, curr) {
|
|
172
|
+
var tempItem = findItemById(curr, pages);
|
|
173
|
+
acc[curr] = {
|
|
174
|
+
id: curr,
|
|
175
|
+
left: tempItem.left - leftDifference,
|
|
176
|
+
pageID: page.id,
|
|
177
|
+
top: tempItem.top - topDifference
|
|
178
|
+
};
|
|
179
|
+
newCoords[curr] = {
|
|
180
|
+
left: tempItem.left - leftDifference,
|
|
181
|
+
top: tempItem.top - topDifference
|
|
182
|
+
};
|
|
183
|
+
return acc;
|
|
184
|
+
}, {});
|
|
185
|
+
|
|
186
|
+
onItemsMove({
|
|
187
|
+
items: _items
|
|
188
|
+
});
|
|
189
|
+
} else {
|
|
190
|
+
onItemMove(_objectSpread({
|
|
191
|
+
id: id,
|
|
192
|
+
pageID: page.id
|
|
193
|
+
}, dragCoords));
|
|
194
|
+
newCoords[id] = dragCoords;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
return newCoords;
|
|
199
|
+
},
|
|
113
200
|
hover: onHover
|
|
114
201
|
}),
|
|
115
202
|
_useDrop2 = _slicedToArray(_useDrop, 2),
|
|
116
203
|
isOver = _useDrop2[0].isOver,
|
|
117
204
|
drop = _useDrop2[1];
|
|
118
205
|
|
|
206
|
+
var getIntersectionsFromMatches = useCallback(function (item) {
|
|
207
|
+
var _getCoordinatesFromMa = getCoordinatesFromMatches(item, matches),
|
|
208
|
+
newActiveBoxLeft = _getCoordinatesFromMa.left,
|
|
209
|
+
newActiveBoxTop = _getCoordinatesFromMa.top;
|
|
210
|
+
|
|
211
|
+
return {
|
|
212
|
+
newActiveBoxLeft: newActiveBoxLeft,
|
|
213
|
+
newActiveBoxTop: newActiveBoxTop
|
|
214
|
+
};
|
|
215
|
+
}, [matches]);
|
|
216
|
+
var combinedRef = useCallback(function (node) {
|
|
217
|
+
dropRef.current = node;
|
|
218
|
+
drop(node);
|
|
219
|
+
}, [drop]);
|
|
119
220
|
var reportBackgroundColor = settings.reportBackgroundColor;
|
|
120
221
|
var backgroundColor = page.backgroundColor;
|
|
121
222
|
var bgColor = backgroundColor ? backgroundColor : reportBackgroundColor || '#fff';
|
|
122
223
|
return /*#__PURE__*/jsx(Fragment, {
|
|
123
224
|
children: /*#__PURE__*/jsx("div", {
|
|
124
|
-
ref:
|
|
225
|
+
ref: combinedRef,
|
|
125
226
|
className: pageContainer,
|
|
126
227
|
style: _objectSpread({
|
|
127
228
|
backgroundColor: bgColor
|
|
@@ -129,40 +230,19 @@ var Page = function Page(_ref) {
|
|
|
129
230
|
children: /*#__PURE__*/jsxs("div", {
|
|
130
231
|
className: "jfReport-hider o-hidden f-all p-relative",
|
|
131
232
|
children: [/*#__PURE__*/jsx(ReportItemsWrapper, {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
hashCode: hashCode,
|
|
136
|
-
isResize: isResize,
|
|
137
|
-
isRightPanelOpen: isRightPanelOpen,
|
|
138
|
-
isTextEditorOpen: isTextEditorOpen,
|
|
139
|
-
itemAccessor: itemAccessor // if we send matches all the time, DraggableItems are also rendered on dragging
|
|
140
|
-
,
|
|
141
|
-
items: items,
|
|
142
|
-
matches: isResize ? matches : emptyObject,
|
|
143
|
-
onAnEventTrigger: onAnEventTrigger,
|
|
144
|
-
onItemAdd: onItemAdd,
|
|
145
|
-
onItemChange: onItemChange,
|
|
146
|
-
onItemRemove: onItemRemove,
|
|
147
|
-
onItemResize: onItemResize,
|
|
148
|
-
setActiveElement: setActiveElement,
|
|
149
|
-
setContextMenuProps: setContextMenuProps,
|
|
150
|
-
setIsResize: setIsResize,
|
|
151
|
-
setIsRightPanelOpen: setIsRightPanelOpen,
|
|
152
|
-
setMatches: setMatches,
|
|
153
|
-
zoom: zoom
|
|
233
|
+
getIntersectionsFromMatches: getIntersectionsFromMatches,
|
|
234
|
+
handleMatches: handleMatches,
|
|
235
|
+
items: items
|
|
154
236
|
}), additionalPageItems, /*#__PURE__*/jsx(AlignmentGuides, {
|
|
155
237
|
axis: "x",
|
|
156
|
-
guides: guides,
|
|
238
|
+
guides: guides[page.id],
|
|
157
239
|
matches: matches,
|
|
158
|
-
show: isOver || isResize
|
|
159
|
-
zoom: zoom
|
|
240
|
+
show: isOver || isResize
|
|
160
241
|
}), /*#__PURE__*/jsx(AlignmentGuides, {
|
|
161
242
|
axis: "y",
|
|
162
|
-
guides: guides,
|
|
243
|
+
guides: guides[page.id],
|
|
163
244
|
matches: matches,
|
|
164
|
-
show: isOver || isResize
|
|
165
|
-
zoom: zoom
|
|
245
|
+
show: isOver || isResize
|
|
166
246
|
})]
|
|
167
247
|
})
|
|
168
248
|
})
|
|
@@ -170,41 +250,13 @@ var Page = function Page(_ref) {
|
|
|
170
250
|
};
|
|
171
251
|
|
|
172
252
|
Page.propTypes = {
|
|
173
|
-
activeElement: PropTypes.arrayOf(PropTypes.string),
|
|
174
|
-
additionalPageItems: PropTypes.arrayOf(PropTypes.node),
|
|
175
253
|
guides: PropTypes.shape({}),
|
|
176
|
-
hashCode: PropTypes.string,
|
|
177
|
-
itemAccessor: PropTypes.func,
|
|
178
254
|
items: PropTypes.arrayOf(PropTypes.shape({})),
|
|
179
|
-
onDrop: PropTypes.func,
|
|
180
|
-
onItemAdd: PropTypes.func,
|
|
181
|
-
onItemChange: PropTypes.func,
|
|
182
|
-
onItemRemove: PropTypes.func,
|
|
183
|
-
onItemResize: PropTypes.func,
|
|
184
255
|
page: PropTypes.shape({
|
|
185
256
|
backgroundColor: PropTypes.string
|
|
186
257
|
}),
|
|
187
|
-
pageRef: PropTypes.shape({
|
|
188
|
-
current: PropTypes.any
|
|
189
|
-
}),
|
|
190
258
|
style: PropTypes.shape({})
|
|
191
259
|
};
|
|
192
|
-
Page.defaultProps = {
|
|
193
|
-
activeElement: null,
|
|
194
|
-
additionalPageItems: [],
|
|
195
|
-
guides: {},
|
|
196
|
-
hashCode: '',
|
|
197
|
-
itemAccessor: function itemAccessor() {},
|
|
198
|
-
items: [],
|
|
199
|
-
onDrop: function onDrop() {},
|
|
200
|
-
onItemAdd: function onItemAdd() {},
|
|
201
|
-
onItemChange: function onItemChange() {},
|
|
202
|
-
onItemRemove: function onItemRemove() {},
|
|
203
|
-
onItemResize: function onItemResize() {},
|
|
204
|
-
page: {},
|
|
205
|
-
pageRef: {},
|
|
206
|
-
style: {}
|
|
207
|
-
};
|
|
208
260
|
var Page$1 = /*#__PURE__*/memo(Page);
|
|
209
261
|
|
|
210
262
|
export default Page$1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Page.js","sources":["../../../../src/components/Builder/Page.js"],"sourcesContent":["import {\n useState,\n useRef,\n memo,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { useDrop } from 'react-dnd-cjs';\nimport { ACCEPTED_TYPES } from '../../constants/itemTypes';\nimport AlignmentGuides from '../AlignmentGuides';\nimport ReportItemsWrapper from '../ReportItemsWrapper';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { usePropContext } from '../../utils/propContext';\nimport {\n proximityListener,\n calculateGuidePositions,\n getCorrectDroppedOffsetValue,\n} from '../../utils/functions';\nimport * as classNames from '../../constants/classNames';\n\nconst emptyObject = {};\n\nconst Page = ({\n activeElement,\n additionalPageItems,\n guides,\n hashCode,\n itemAccessor,\n items,\n onDrop,\n onItemAdd,\n onItemChange,\n onItemRemove,\n onItemResize,\n page,\n pageRef,\n style,\n}) => {\n const {\n isRightPanelOpen,\n isTextEditorOpen,\n setActiveElement,\n setContextMenuProps,\n setIsRightPanelOpen,\n zoom,\n } = useBuilderContext();\n const { acceptedItems, onAnEventTrigger, settings } = usePropContext();\n const [matches, setMatches] = useState({});\n const [isResize, setIsResize] = useState(false);\n const requestRef = useRef();\n\n const drawAlignmentGuides = (item, monitor) => {\n return () => {\n try {\n if (!monitor || monitor.getSourceClientOffset() === null) {\n requestRef.current = undefined;\n return;\n }\n const coords = getCorrectDroppedOffsetValue(\n monitor,\n pageRef.current.getBoundingClientRect(),\n zoom,\n );\n const activeItem = {\n ...item, ...coords,\n };\n const _guides = {\n ...guides,\n [item.id]: {\n ...guides[item.id],\n x: calculateGuidePositions(activeItem, 'x', zoom),\n y: calculateGuidePositions(activeItem, 'y', zoom),\n },\n };\n const match = proximityListener(item.id, _guides);\n setMatches(match);\n requestRef.current = undefined;\n } catch (error) {\n setMatches({});\n }\n };\n };\n\n const onHover = (item, monitor) => {\n if (!requestRef.current) {\n requestRef.current = global.requestAnimationFrame(drawAlignmentGuides(item, monitor));\n }\n };\n\n const [{ isOver }, drop] = useDrop({\n accept: ACCEPTED_TYPES,\n collect: monitor => {\n return {\n isOver: monitor.isOver(),\n };\n },\n drop: onDrop,\n hover: onHover,\n });\n\n const { reportBackgroundColor } = settings;\n const { backgroundColor } = page;\n const bgColor = backgroundColor ? backgroundColor : reportBackgroundColor || '#fff';\n\n return (\n <>\n <div\n ref={drop}\n className={classNames.pageContainer}\n style={{\n backgroundColor: bgColor,\n ...style,\n }}\n >\n <div className=\"jfReport-hider o-hidden f-all p-relative\">\n <ReportItemsWrapper\n acceptedItems={acceptedItems}\n activeElement={activeElement}\n guides={guides}\n hashCode={hashCode}\n isResize={isResize}\n isRightPanelOpen={isRightPanelOpen}\n isTextEditorOpen={isTextEditorOpen}\n itemAccessor={itemAccessor}\n // if we send matches all the time, DraggableItems are also rendered on dragging\n items={items}\n matches={isResize ? matches : emptyObject}\n onAnEventTrigger={onAnEventTrigger}\n onItemAdd={onItemAdd}\n onItemChange={onItemChange}\n onItemRemove={onItemRemove}\n onItemResize={onItemResize}\n setActiveElement={setActiveElement}\n setContextMenuProps={setContextMenuProps}\n setIsResize={setIsResize}\n setIsRightPanelOpen={setIsRightPanelOpen}\n setMatches={setMatches}\n zoom={zoom}\n />\n {additionalPageItems}\n <AlignmentGuides\n axis=\"x\"\n guides={guides}\n matches={matches}\n show={(isOver || isResize)}\n zoom={zoom}\n />\n <AlignmentGuides\n axis=\"y\"\n guides={guides}\n matches={matches}\n show={(isOver || isResize)}\n zoom={zoom}\n />\n </div>\n </div>\n </>\n );\n};\n\nPage.propTypes = {\n activeElement: PropTypes.arrayOf(PropTypes.string),\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n guides: PropTypes.shape({}),\n hashCode: PropTypes.string,\n itemAccessor: PropTypes.func,\n items: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n onDrop: PropTypes.func,\n onItemAdd: PropTypes.func,\n onItemChange: PropTypes.func,\n onItemRemove: PropTypes.func,\n onItemResize: PropTypes.func,\n page: PropTypes.shape({\n backgroundColor: PropTypes.string,\n }),\n pageRef: PropTypes.shape({\n current: PropTypes.any,\n }),\n style: PropTypes.shape({}),\n};\n\nPage.defaultProps = {\n activeElement: null,\n additionalPageItems: [],\n guides: {},\n hashCode: '',\n itemAccessor: () => {},\n items: [],\n onDrop: () => {},\n onItemAdd: () => {},\n onItemChange: () => {},\n onItemRemove: () => {},\n onItemResize: () => {},\n page: {},\n pageRef: {},\n style: {},\n};\n\nexport default memo(Page);\n"],"names":["emptyObject","Page","activeElement","additionalPageItems","guides","hashCode","itemAccessor","items","onDrop","onItemAdd","onItemChange","onItemRemove","onItemResize","page","pageRef","style","useBuilderContext","isRightPanelOpen","isTextEditorOpen","setActiveElement","setContextMenuProps","setIsRightPanelOpen","zoom","usePropContext","acceptedItems","onAnEventTrigger","settings","useState","matches","setMatches","isResize","setIsResize","requestRef","useRef","drawAlignmentGuides","item","monitor","getSourceClientOffset","current","undefined","coords","getCorrectDroppedOffsetValue","getBoundingClientRect","activeItem","_guides","id","x","calculateGuidePositions","y","match","proximityListener","error","onHover","global","requestAnimationFrame","useDrop","accept","ACCEPTED_TYPES","collect","isOver","drop","hover","reportBackgroundColor","backgroundColor","bgColor","_jsx","classNames","_jsxs","propTypes","PropTypes","arrayOf","string","node","shape","func","any","defaultProps","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Page.js","sources":["../../../../src/components/Builder/Page.js"],"sourcesContent":["import {\n useState,\n useRef,\n memo,\n useCallback,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { useDrop } from 'react-dnd';\nimport {\n ACCEPTED_TYPES,\n DRAGGABLE_ITEM_TYPE,\n DROPPABLE_ITEM_TYPE,\n} from '../../constants/itemTypes';\nimport AlignmentGuides from '../AlignmentGuides';\nimport ReportItemsWrapper from '../ReportItemsWrapper';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\nimport {\n getCorrectDroppedOffsetValue,\n getCorrectDroppedOffsetValueBySnap,\n findItemById,\n getMatchesForItem,\n getCoordinatesFromMatches,\n} from '../../utils/functions';\nimport * as classNames from '../../constants/classNames';\nimport generateId from '../../utils/generateId';\n\nconst Page = ({\n guides = {},\n items = [],\n page = {},\n style = {},\n}) => {\n const activeElement = useBuilderStore(state => state.activeElement);\n const setActiveElement = useBuilderStore(state => state.setActiveElement);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const zoom = useBuilderStore(state => state.zoom);\n const isResize = useBuilderStore(state => state.isResize);\n\n const onItemAdd = usePropStore(state => state.onItemAdd);\n const onItemMove = usePropStore(state => state.onItemMove);\n const onItemsMove = usePropStore(state => state.onItemsMove);\n const additionalPageItems = usePropStore(state => state.additionalPageItems);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const settings = usePropStore(state => state.settings);\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const pages = usePropStore(state => state.pages);\n\n const [matches, setMatches] = useState({});\n const requestRef = useRef();\n const dropRef = useRef(null); // for getting the bounding client rect\n\n const handleMatches = useCallback(item => {\n const newMatches = getMatchesForItem(item, guides, zoom);\n setMatches(newMatches);\n }, [guides, zoom]);\n\n const drawAlignmentGuides = (item, monitor) => {\n return () => {\n try {\n if (!monitor || monitor.getSourceClientOffset() === null) {\n requestRef.current = undefined;\n return;\n }\n const coords = getCorrectDroppedOffsetValue(\n monitor,\n dropRef.current.getBoundingClientRect(),\n zoom,\n );\n const activeItem = {\n ...item, ...coords,\n };\n if (activeItem.id && activeItem.pageID) {\n handleMatches(activeItem);\n }\n requestRef.current = undefined;\n } catch (error) {\n setMatches({});\n }\n };\n };\n\n const isMultipleItemSelected = activeElement !== null && activeElement.length > 1;\n\n const onHover = (item, monitor) => {\n if (!requestRef.current) {\n requestRef.current = global.requestAnimationFrame(drawAlignmentGuides(item, monitor));\n }\n };\n\n const [{ isOver }, drop] = useDrop({\n accept: ACCEPTED_TYPES,\n collect: monitor => {\n return {\n isOver: monitor.isOver(),\n };\n },\n drop: (item, monitor) => {\n const pageClient = dropRef.current?.getBoundingClientRect();\n const coords = getCorrectDroppedOffsetValue(\n monitor,\n pageClient,\n zoom,\n );\n const type = monitor.getItemType();\n const {\n id, itemType, pageID, ...additionalData\n } = item;\n const newCoords = {};\n if (type === DROPPABLE_ITEM_TYPE) {\n const itemID = generateId();\n onItemAdd({\n ...acceptedItems[itemType].details,\n id: itemID,\n pageID: page.id,\n ...coords,\n ...additionalData,\n });\n onAnEventTrigger('reportItemAdd', itemType);\n setActiveElement(itemID);\n setIsRightPanelOpen(true);\n newCoords[itemID] = coords;\n } else if (type === DRAGGABLE_ITEM_TYPE) {\n const newItem = { ...item, ...coords };\n const dragCoords = getCorrectDroppedOffsetValueBySnap(newItem, guides, zoom);\n if (isMultipleItemSelected) {\n const leftDifference = additionalData.left - dragCoords.left;\n const topDifference = additionalData.top - dragCoords.top;\n const _items = activeElement.reduce((acc, curr) => {\n const tempItem = findItemById(curr, pages);\n acc[curr] = {\n id: curr,\n left: tempItem.left - leftDifference,\n pageID: page.id,\n top: tempItem.top - topDifference,\n };\n newCoords[curr] = {\n left: tempItem.left - leftDifference,\n top: tempItem.top - topDifference,\n };\n return acc;\n }, {});\n onItemsMove({ items: _items });\n } else {\n onItemMove({\n id,\n pageID: page.id,\n ...dragCoords,\n });\n newCoords[id] = dragCoords;\n }\n }\n\n return newCoords;\n },\n hover: onHover,\n });\n\n const getIntersectionsFromMatches = useCallback(item => {\n const {\n left: newActiveBoxLeft,\n top: newActiveBoxTop,\n } = getCoordinatesFromMatches(item, matches);\n\n return { newActiveBoxLeft, newActiveBoxTop };\n }, [matches]);\n\n const combinedRef = useCallback(node => {\n dropRef.current = node;\n drop(node);\n }, [drop]);\n\n const { reportBackgroundColor } = settings;\n const { backgroundColor } = page;\n const bgColor = backgroundColor ? backgroundColor : reportBackgroundColor || '#fff';\n\n return (\n <>\n <div\n ref={combinedRef}\n className={classNames.pageContainer}\n style={{\n backgroundColor: bgColor,\n ...style,\n }}\n >\n <div className=\"jfReport-hider o-hidden f-all p-relative\">\n <ReportItemsWrapper\n getIntersectionsFromMatches={getIntersectionsFromMatches}\n handleMatches={handleMatches}\n items={items}\n />\n {additionalPageItems}\n <AlignmentGuides\n axis=\"x\"\n guides={guides[page.id]}\n matches={matches}\n show={(isOver || isResize)}\n />\n <AlignmentGuides\n axis=\"y\"\n guides={guides[page.id]}\n matches={matches}\n show={(isOver || isResize)}\n />\n </div>\n </div>\n </>\n );\n};\n\nPage.propTypes = {\n guides: PropTypes.shape({}),\n items: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n page: PropTypes.shape({\n backgroundColor: PropTypes.string,\n }),\n style: PropTypes.shape({}),\n};\n\nexport default memo(Page);\n"],"names":["Page","guides","items","page","style","activeElement","useBuilderStore","state","setActiveElement","setIsRightPanelOpen","zoom","isResize","onItemAdd","usePropStore","onItemMove","onItemsMove","additionalPageItems","onAnEventTrigger","settings","acceptedItems","pages","useState","matches","setMatches","requestRef","useRef","dropRef","handleMatches","useCallback","item","newMatches","getMatchesForItem","drawAlignmentGuides","monitor","getSourceClientOffset","current","undefined","coords","getCorrectDroppedOffsetValue","getBoundingClientRect","activeItem","id","pageID","error","isMultipleItemSelected","length","onHover","global","requestAnimationFrame","useDrop","accept","ACCEPTED_TYPES","collect","isOver","drop","pageClient","type","getItemType","itemType","additionalData","newCoords","DROPPABLE_ITEM_TYPE","itemID","generateId","details","DRAGGABLE_ITEM_TYPE","newItem","dragCoords","getCorrectDroppedOffsetValueBySnap","leftDifference","left","topDifference","top","_items","reduce","acc","curr","tempItem","findItemById","hover","getIntersectionsFromMatches","getCoordinatesFromMatches","newActiveBoxLeft","newActiveBoxTop","combinedRef","node","reportBackgroundColor","backgroundColor","bgColor","_jsx","classNames","_jsxs","propTypes","PropTypes","shape","arrayOf","string","memo"],"mappings":"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"}
|