@jotforminc/dnd-builder 3.6.0 → 3.6.3
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 +24 -0
- package/lib/cjs/assets/svg/ellipsis-vertical.svg.js +22 -0
- package/lib/cjs/assets/svg/ellipsis-vertical.svg.js.map +1 -0
- package/lib/cjs/components/Builder/BuilderWrapper.js +10 -7
- package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -1
- package/lib/cjs/components/Builder/PageActions.js +52 -1
- package/lib/cjs/components/Builder/PageActions.js.map +1 -1
- package/lib/cjs/components/Builder/Scene.js +40 -30
- package/lib/cjs/components/Builder/Scene.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/AddSlideButton.js +48 -0
- package/lib/cjs/components/Panels/SlidesNavigator/AddSlideButton.js.map +1 -0
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +70 -27
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenuOverlay.js +20 -0
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenuOverlay.js.map +1 -0
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js +11 -9
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItemsList.js +11 -5
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItemsList.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/SlidesNavigator.js +2 -32
- package/lib/cjs/components/Panels/SlidesNavigator/SlidesNavigator.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
- package/lib/cjs/components/TextEditor/TextEditor.js +2 -2
- package/lib/cjs/components/TextEditor/TextEditor.js.map +1 -1
- package/lib/cjs/contexts/BuilderContext.js +97 -13
- package/lib/cjs/contexts/BuilderContext.js.map +1 -1
- package/lib/cjs/styles/_jfReportsFloatings.scss +12 -1
- package/lib/cjs/styles/slides-navigator.scss +40 -0
- package/lib/cjs/utils/functions.js +5 -7
- package/lib/cjs/utils/functions.js.map +1 -1
- package/lib/cjs/utils/hooks.js +29 -4
- package/lib/cjs/utils/hooks.js.map +1 -1
- package/lib/cjs/utils/icons.js +2 -0
- package/lib/cjs/utils/icons.js.map +1 -1
- package/lib/esm/assets/svg/ellipsis-vertical.svg.js +20 -0
- package/lib/esm/assets/svg/ellipsis-vertical.svg.js.map +1 -0
- package/lib/esm/components/Builder/BuilderWrapper.js +11 -8
- package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -1
- package/lib/esm/components/Builder/PageActions.js +53 -2
- package/lib/esm/components/Builder/PageActions.js.map +1 -1
- package/lib/esm/components/Builder/Scene.js +42 -32
- package/lib/esm/components/Builder/Scene.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/AddSlideButton.js +46 -0
- package/lib/esm/components/Panels/SlidesNavigator/AddSlideButton.js.map +1 -0
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +72 -29
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenuOverlay.js +18 -0
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenuOverlay.js.map +1 -0
- package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js +11 -9
- package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/SlideItemsList.js +12 -6
- package/lib/esm/components/Panels/SlidesNavigator/SlideItemsList.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/SlidesNavigator.js +2 -32
- package/lib/esm/components/Panels/SlidesNavigator/SlidesNavigator.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js +2 -2
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
- package/lib/esm/components/TextEditor/TextEditor.js +2 -2
- package/lib/esm/components/TextEditor/TextEditor.js.map +1 -1
- package/lib/esm/contexts/BuilderContext.js +97 -13
- package/lib/esm/contexts/BuilderContext.js.map +1 -1
- package/lib/esm/styles/_jfReportsFloatings.scss +12 -1
- package/lib/esm/styles/slides-navigator.scss +40 -0
- package/lib/esm/utils/functions.js +5 -6
- package/lib/esm/utils/functions.js.map +1 -1
- package/lib/esm/utils/hooks.js +29 -5
- package/lib/esm/utils/hooks.js.map +1 -1
- package/lib/esm/utils/icons.js +1 -0
- package/lib/esm/utils/icons.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuilderWrapper.js","sources":["../../../../src/components/Builder/BuilderWrapper.js"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport ReportWrapper from '../ReportWrapper';\nimport { usePropStore } from '../../contexts/PropContext';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport {\n useFitZoom, usePageVisibility, usePrevious, useSelectedElements,\n} from '../../utils/hooks';\nimport SlidesNavigator from '../Panels/SlidesNavigator/SlidesNavigator';\nimport {
|
|
1
|
+
{"version":3,"file":"BuilderWrapper.js","sources":["../../../../src/components/Builder/BuilderWrapper.js"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport ReportWrapper from '../ReportWrapper';\nimport { usePropStore } from '../../contexts/PropContext';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport {\n useFitZoom, usePageVisibility, usePrevious, useSelectedElements,\n} from '../../utils/hooks';\nimport SlidesNavigator from '../Panels/SlidesNavigator/SlidesNavigator';\nimport { isSlidesListType } from '../../utils/functions';\n\nconst BuilderWrapper = ({ children }) => {\n const decidedWhichPanelToOpen = useRef(false);\n\n const pageCount = usePropStore(state => state.pages.length);\n const isLeftPanelOpen = useBuilderStore(state => state.isLeftPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const isSlidesNavigatorOpen = useBuilderStore(state => state.isSlidesNavigatorOpen);\n const setIsLeftPanelOpen = useBuilderStore(state => state.setIsLeftPanelOpen);\n const setIsSlidesPanelOpen = useBuilderStore(state => state.setIsSlidesPanelOpen);\n const setIsSlidesNavigatorOpen = useBuilderStore(state => state.setIsSlidesNavigatorOpen);\n const shouldShowRightPanelInitially = useBuilderStore(state => state.shouldShowRightPanelInitially);\n const onSelectedItemsChanged = usePropStore(state => state.onSelectedItemsChanged);\n const onPageVisibilityChanged = usePropStore(state => state.onPageVisibilityChanged);\n const setVisiblePageOrder = useBuilderStore(state => state.setVisiblePageOrder);\n const slidesListType = useBuilderStore(state => state.slidesListType);\n const selectedItems = useSelectedElements();\n const prevSelectedItems = usePrevious(selectedItems);\n\n useEffect(() => {\n if (prevSelectedItems && !isEqual(prevSelectedItems, selectedItems)) {\n onSelectedItemsChanged(selectedItems);\n }\n }, [\n selectedItems,\n onSelectedItemsChanged,\n prevSelectedItems,\n ]);\n\n const handlePageVisibility = useCallback(index => {\n if (index && !Number.isNaN(index)) {\n setVisiblePageOrder(index);\n onPageVisibilityChanged(index);\n }\n }, [setVisiblePageOrder, onPageVisibilityChanged]);\n\n // for initial page visibility check and slides panel visibility usage\n const selectedPageIndexReference = isSlidesPanelOpen ? 0 : -1;\n usePageVisibility(handlePageVisibility, pageCount, selectedPageIndexReference);\n\n useFitZoom();\n\n useEffect(() => {\n if (!decidedWhichPanelToOpen.current) {\n if (pageCount > 1) {\n if (isLeftPanelOpen) {\n setIsLeftPanelOpen(false);\n }\n if (isSlidesListType(slidesListType, 'NAVIGATOR')) {\n setIsSlidesNavigatorOpen(true);\n }\n setIsSlidesPanelOpen(shouldShowRightPanelInitially);\n } else {\n if (isSlidesPanelOpen) {\n setIsSlidesPanelOpen(false);\n }\n if (isSlidesListType(slidesListType, 'NAVIGATOR') && isSlidesNavigatorOpen) {\n setIsSlidesNavigatorOpen(false);\n }\n setIsLeftPanelOpen(true);\n }\n\n decidedWhichPanelToOpen.current = true;\n }\n }, [pageCount, isLeftPanelOpen, isSlidesPanelOpen, isSlidesNavigatorOpen, setIsLeftPanelOpen, setIsSlidesPanelOpen, setIsSlidesNavigatorOpen, shouldShowRightPanelInitially, slidesListType]);\n\n return (\n <>\n {isSlidesListType(slidesListType, 'NAVIGATOR') && <SlidesNavigator />}\n <ReportWrapper mode=\"customize\">\n {children}\n </ReportWrapper>\n </>\n );\n};\n\nBuilderWrapper.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default BuilderWrapper;\n"],"names":["BuilderWrapper","children","decidedWhichPanelToOpen","useRef","pageCount","usePropStore","state","pages","length","isLeftPanelOpen","useBuilderStore","isSlidesPanelOpen","isSlidesNavigatorOpen","setIsLeftPanelOpen","setIsSlidesPanelOpen","setIsSlidesNavigatorOpen","shouldShowRightPanelInitially","onSelectedItemsChanged","onPageVisibilityChanged","setVisiblePageOrder","slidesListType","selectedItems","useSelectedElements","prevSelectedItems","usePrevious","useEffect","isEqual","handlePageVisibility","useCallback","index","Number","isNaN","selectedPageIndexReference","usePageVisibility","useFitZoom","current","isSlidesListType","_jsxs","_jsx","propTypes","PropTypes","node","isRequired"],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import 'core-js/modules/es.array.concat.js';
|
|
1
2
|
import 'core-js/modules/es.array.find.js';
|
|
2
3
|
import 'core-js/modules/es.array.find-index.js';
|
|
3
4
|
import PropTypes from 'prop-types';
|
|
4
|
-
import { useMemo } from 'react';
|
|
5
|
+
import { useMemo, useState, useEffect, useCallback } from 'react';
|
|
5
6
|
import { scrollToTarget } from '../../utils/functions.js';
|
|
6
7
|
import { useSelectedElements, useTranslatedTexts } from '../../utils/hooks.js';
|
|
7
8
|
import { useBuilderStore } from '../../contexts/BuilderContext.js';
|
|
@@ -12,6 +13,18 @@ import SvgDuplicate from '../../assets/svg/duplicate.svg.js';
|
|
|
12
13
|
import SvgTrash from '../../assets/svg/trash.svg.js';
|
|
13
14
|
import SvgPlus from '../../assets/svg/plus.svg.js';
|
|
14
15
|
|
|
16
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
17
|
+
|
|
18
|
+
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."); }
|
|
19
|
+
|
|
20
|
+
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); }
|
|
21
|
+
|
|
22
|
+
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; }
|
|
23
|
+
|
|
24
|
+
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; }
|
|
25
|
+
|
|
26
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
27
|
+
|
|
15
28
|
var PageActions = function PageActions(_ref) {
|
|
16
29
|
var _ref$order = _ref.order,
|
|
17
30
|
order = _ref$order === void 0 ? 0 : _ref$order,
|
|
@@ -49,6 +62,24 @@ var PageActions = function PageActions(_ref) {
|
|
|
49
62
|
var isSelectedItemExists = useMemo(function () {
|
|
50
63
|
return (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) > 0;
|
|
51
64
|
}, [selectedItems]);
|
|
65
|
+
var setOverPage = useBuilderStore(function (state) {
|
|
66
|
+
return state.setOverPage;
|
|
67
|
+
});
|
|
68
|
+
var setOutPage = useBuilderStore(function (state) {
|
|
69
|
+
return state.setOutPage;
|
|
70
|
+
});
|
|
71
|
+
var overPageId = useBuilderStore(function (state) {
|
|
72
|
+
return state.overedPageId;
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
var _useState = useState(isSelectedItemExists),
|
|
76
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
77
|
+
toolbarDisabled = _useState2[0],
|
|
78
|
+
setToolbarDisabled = _useState2[1];
|
|
79
|
+
|
|
80
|
+
useEffect(function () {
|
|
81
|
+
setToolbarDisabled(isSelectedItemExists);
|
|
82
|
+
}, [isSelectedItemExists]);
|
|
52
83
|
|
|
53
84
|
var pageSettings = function pageSettings() {
|
|
54
85
|
setEditedElement("p_".concat(pageID));
|
|
@@ -76,6 +107,24 @@ var PageActions = function PageActions(_ref) {
|
|
|
76
107
|
onAnEventTrigger('duplicatePage', order + 1);
|
|
77
108
|
};
|
|
78
109
|
|
|
110
|
+
var isOverPage = useMemo(function () {
|
|
111
|
+
return overPageId === pageID;
|
|
112
|
+
}, [overPageId, pageID]);
|
|
113
|
+
var pageToolbarMouseOver = useCallback(function () {
|
|
114
|
+
if (isSelectedItemExists) {
|
|
115
|
+
setToolbarDisabled(false);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
setOverPage(pageID);
|
|
119
|
+
}, [pageID, setToolbarDisabled, setOverPage, isSelectedItemExists]);
|
|
120
|
+
var pageToolbarMouseOut = useCallback(function () {
|
|
121
|
+
if (isSelectedItemExists) {
|
|
122
|
+
setToolbarDisabled(true);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
setOutPage(null);
|
|
126
|
+
}, [setOutPage, setToolbarDisabled, isSelectedItemExists]);
|
|
127
|
+
|
|
79
128
|
var _useTranslatedTexts = useTranslatedTexts(),
|
|
80
129
|
ADD_NEW_PAGE = _useTranslatedTexts.ADD_NEW_PAGE,
|
|
81
130
|
DUPLICATE_PAGE = _useTranslatedTexts.DUPLICATE_PAGE;
|
|
@@ -88,7 +137,9 @@ var PageActions = function PageActions(_ref) {
|
|
|
88
137
|
className: "jfReport-pageInfo d-flex j-center",
|
|
89
138
|
id: "pageActions-id-".concat(order),
|
|
90
139
|
children: /*#__PURE__*/jsxs("div", {
|
|
91
|
-
className: "floatingController page-toolbar".concat(
|
|
140
|
+
className: "floatingController page-toolbar".concat(toolbarDisabled ? ' disabled' : '').concat(isOverPage ? ' active' : ' inactive'),
|
|
141
|
+
onMouseOut: pageToolbarMouseOut,
|
|
142
|
+
onMouseOver: pageToolbarMouseOver,
|
|
92
143
|
children: [/*#__PURE__*/jsxs("div", {
|
|
93
144
|
className: "floatingController-container",
|
|
94
145
|
children: [/*#__PURE__*/jsx("button", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageActions.js","sources":["../../../../src/components/Builder/PageActions.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useMemo } from 'react';\nimport * as icons from '../../utils/icons';\nimport { moveItemInArrayFromIndexToIndex, scrollToTarget } from '../../utils/functions';\nimport { useSelectedElements, useTranslatedTexts } from '../../utils/hooks';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst PageActions = ({\n order = 0,\n pageID = '',\n}) => {\n const pages = usePropStore(state => state.pages);\n const pageCount = pages.length;\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onPageAdd = usePropStore(state => state.onPageAdd);\n const onPageDuplicate = usePropStore(state => state.onPageDuplicate);\n const onPageOrdersChange = usePropStore(state => state.onPageOrdersChange);\n const onPageRemove = usePropStore(state => state.onPageRemove);\n const disableInteraction = usePropStore(state => state.disableInteraction);\n\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const setEditedElement = useBuilderStore(state => state.setEditedElement);\n\n const selectedItems = useSelectedElements();\n const isSelectedItemExists = useMemo(() => selectedItems?.length > 0, [selectedItems]);\n\n const pageSettings = () => {\n setEditedElement(`p_${pageID}`);\n setIsRightPanelOpen(true);\n };\n\n const onPageAddClick = () => {\n const newPageIndex = order + 1;\n onPageAdd(newPageIndex);\n scrollToTarget(`pageActions-id-${newPageIndex}`, 350);\n onAnEventTrigger('addNewPage', newPageIndex);\n };\n\n const onPageRemoveClick = () => {\n onPageRemove(pageID);\n onAnEventTrigger('removePage', pageID);\n };\n\n const changeOrder = direction => {\n return () => {\n const pageIndex = pages.findIndex(page => page.id === pageID);\n const editedPages = moveItemInArrayFromIndexToIndex(\n pages,\n pageIndex,\n pageIndex + direction,\n );\n const pageOrders = editedPages.reduce((acc, page, index) => {\n const newOrder = index + 1;\n acc[page.id] = {\n order: newOrder,\n };\n return acc;\n }, {});\n onPageOrdersChange(pageOrders);\n scrollToTarget(`pageActions-id-${order + direction}`);\n onAnEventTrigger('changePageOrder', direction);\n };\n };\n\n const onPageDuplicateClick = () => {\n const foundPage = pages.find(page => page.id === pageID);\n onPageDuplicate(foundPage);\n scrollToTarget(`pageActions-id-${order + 1}`, 350);\n onAnEventTrigger('duplicatePage', order + 1);\n };\n\n const {\n ADD_NEW_PAGE, DUPLICATE_PAGE, MOVE_PAGE_DOWNWARDS,\n MOVE_PAGE_UPWARDS, PAGE_SETTINGS, REMOVE_PAGE,\n } = useTranslatedTexts();\n return (\n <div\n className=\"jfReport-pageInfo d-flex j-center\"\n id={`pageActions-id-${order}`}\n >\n <div className={`floatingController page-toolbar${isSelectedItemExists ? ' disabled' : ''}`}>\n <div className=\"floatingController-container\">\n <button\n key=\"Slide Settings\"\n className=\"controllerItem\"\n onClick={pageSettings}\n title={PAGE_SETTINGS}\n type=\"button\"\n >\n <icons.pageSettings className=\"toolbar-icon\" />\n </button>\n <button\n key=\"Duplicate Page\"\n className=\"controllerItem\"\n disabled={disableInteraction.indexOf('duplicate') > -1}\n onClick={onPageDuplicateClick}\n title={DUPLICATE_PAGE}\n type=\"button\"\n >\n <icons.duplicate className=\"toolbar-icon\" />\n </button>\n <button\n key=\"Remove Slide\"\n className=\"controllerItem error\"\n disabled={disableInteraction.indexOf('remove') > -1}\n onClick={onPageRemoveClick}\n title={REMOVE_PAGE}\n type=\"button\"\n >\n <icons.trash className=\"toolbar-icon\" />\n </button>\n </div>\n {false && (\n <div className=\"floatingController-container\">\n <button\n key=\"Move Page Upwards\"\n className={`controllerItem${order === 1 ? ' disabled' : ''}`}\n onClick={changeOrder(-1)}\n title={MOVE_PAGE_UPWARDS}\n type=\"button\"\n >\n <icons.angleUp className=\"toolbar-icon\" />\n </button>\n <button\n key=\"Move Page Downwards\"\n className={`controllerItem${order === pageCount ? ' disabled' : ''}`}\n onClick={changeOrder(1)}\n title={MOVE_PAGE_DOWNWARDS}\n type=\"button\"\n >\n <icons.angleDown className=\"toolbar-icon\" />\n </button>\n </div>\n )}\n <div className=\"floatingController-container\">\n <button\n key=\"Add Slide\"\n className=\"controllerItem primary\"\n disabled={disableInteraction.indexOf('add') > -1}\n onClick={onPageAddClick}\n title={ADD_NEW_PAGE}\n type=\"button\"\n >\n <icons.plus className=\"toolbar-icon\" />\n </button>\n </div>\n </div>\n </div>\n );\n};\n\nPageActions.propTypes = {\n order: PropTypes.number,\n pageID: PropTypes.string,\n};\n\nexport default PageActions;\n"],"names":["PageActions","order","pageID","pages","usePropStore","state","length","onAnEventTrigger","onPageAdd","onPageDuplicate","onPageOrdersChange","onPageRemove","disableInteraction","setIsRightPanelOpen","useBuilderStore","setEditedElement","selectedItems","useSelectedElements","isSelectedItemExists","useMemo","pageSettings","onPageAddClick","newPageIndex","scrollToTarget","onPageRemoveClick","onPageDuplicateClick","foundPage","find","page","id","useTranslatedTexts","ADD_NEW_PAGE","DUPLICATE_PAGE","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","PAGE_SETTINGS","REMOVE_PAGE","_jsx","_jsxs","icons.pageSettings","indexOf","icons.duplicate","icons.trash","icons.plus","propTypes","PropTypes","number","string"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PageActions.js","sources":["../../../../src/components/Builder/PageActions.js"],"sourcesContent":["/* eslint-disable jsx-a11y/mouse-events-have-key-events */\nimport PropTypes from 'prop-types';\nimport {\n useCallback, useEffect, useMemo, useState,\n} from 'react';\nimport * as icons from '../../utils/icons';\nimport { moveItemInArrayFromIndexToIndex, scrollToTarget } from '../../utils/functions';\nimport { useSelectedElements, useTranslatedTexts } from '../../utils/hooks';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst PageActions = ({\n order = 0,\n pageID = '',\n}) => {\n const pages = usePropStore(state => state.pages);\n const pageCount = pages.length;\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onPageAdd = usePropStore(state => state.onPageAdd);\n const onPageDuplicate = usePropStore(state => state.onPageDuplicate);\n const onPageOrdersChange = usePropStore(state => state.onPageOrdersChange);\n const onPageRemove = usePropStore(state => state.onPageRemove);\n const disableInteraction = usePropStore(state => state.disableInteraction);\n\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const setEditedElement = useBuilderStore(state => state.setEditedElement);\n\n const selectedItems = useSelectedElements();\n const isSelectedItemExists = useMemo(() => selectedItems?.length > 0, [selectedItems]);\n\n const setOverPage = useBuilderStore(state => state.setOverPage);\n const setOutPage = useBuilderStore(state => state.setOutPage);\n const overPageId = useBuilderStore(state => state.overedPageId);\n\n const [toolbarDisabled, setToolbarDisabled] = useState(isSelectedItemExists);\n\n useEffect(() => {\n setToolbarDisabled(isSelectedItemExists);\n }, [isSelectedItemExists]);\n\n const pageSettings = () => {\n setEditedElement(`p_${pageID}`);\n setIsRightPanelOpen(true);\n };\n\n const onPageAddClick = () => {\n const newPageIndex = order + 1;\n onPageAdd(newPageIndex);\n scrollToTarget(`pageActions-id-${newPageIndex}`, 350);\n onAnEventTrigger('addNewPage', newPageIndex);\n };\n\n const onPageRemoveClick = () => {\n onPageRemove(pageID);\n onAnEventTrigger('removePage', pageID);\n };\n\n const changeOrder = direction => {\n return () => {\n const pageIndex = pages.findIndex(page => page.id === pageID);\n const editedPages = moveItemInArrayFromIndexToIndex(\n pages,\n pageIndex,\n pageIndex + direction,\n );\n const pageOrders = editedPages.reduce((acc, page, index) => {\n const newOrder = index + 1;\n acc[page.id] = {\n order: newOrder,\n };\n return acc;\n }, {});\n onPageOrdersChange(pageOrders);\n scrollToTarget(`pageActions-id-${order + direction}`);\n onAnEventTrigger('changePageOrder', direction);\n };\n };\n\n const onPageDuplicateClick = () => {\n const foundPage = pages.find(page => page.id === pageID);\n onPageDuplicate(foundPage);\n scrollToTarget(`pageActions-id-${order + 1}`, 350);\n onAnEventTrigger('duplicatePage', order + 1);\n };\n\n const isOverPage = useMemo(() => overPageId === pageID, [overPageId, pageID]);\n\n const pageToolbarMouseOver = useCallback(() => {\n if (isSelectedItemExists) {\n setToolbarDisabled(false);\n }\n setOverPage(pageID);\n }, [pageID, setToolbarDisabled, setOverPage, isSelectedItemExists]);\n\n const pageToolbarMouseOut = useCallback(() => {\n if (isSelectedItemExists) {\n setToolbarDisabled(true);\n }\n setOutPage(null);\n }, [setOutPage, setToolbarDisabled, isSelectedItemExists]);\n\n const {\n ADD_NEW_PAGE, DUPLICATE_PAGE, MOVE_PAGE_DOWNWARDS,\n MOVE_PAGE_UPWARDS, PAGE_SETTINGS, REMOVE_PAGE,\n } = useTranslatedTexts();\n return (\n <div\n className=\"jfReport-pageInfo d-flex j-center\"\n id={`pageActions-id-${order}`}\n >\n <div\n className={`floatingController page-toolbar${toolbarDisabled ? ' disabled' : ''}${isOverPage ? ' active' : ' inactive'}`}\n onMouseOut={pageToolbarMouseOut}\n onMouseOver={pageToolbarMouseOver}\n >\n <div className=\"floatingController-container\">\n <button\n key=\"Slide Settings\"\n className=\"controllerItem\"\n onClick={pageSettings}\n title={PAGE_SETTINGS}\n type=\"button\"\n >\n <icons.pageSettings className=\"toolbar-icon\" />\n </button>\n <button\n key=\"Duplicate Page\"\n className=\"controllerItem\"\n disabled={disableInteraction.indexOf('duplicate') > -1}\n onClick={onPageDuplicateClick}\n title={DUPLICATE_PAGE}\n type=\"button\"\n >\n <icons.duplicate className=\"toolbar-icon\" />\n </button>\n <button\n key=\"Remove Slide\"\n className=\"controllerItem error\"\n disabled={disableInteraction.indexOf('remove') > -1}\n onClick={onPageRemoveClick}\n title={REMOVE_PAGE}\n type=\"button\"\n >\n <icons.trash className=\"toolbar-icon\" />\n </button>\n </div>\n {false && (\n <div className=\"floatingController-container\">\n <button\n key=\"Move Page Upwards\"\n className={`controllerItem${order === 1 ? ' disabled' : ''}`}\n onClick={changeOrder(-1)}\n title={MOVE_PAGE_UPWARDS}\n type=\"button\"\n >\n <icons.angleUp className=\"toolbar-icon\" />\n </button>\n <button\n key=\"Move Page Downwards\"\n className={`controllerItem${order === pageCount ? ' disabled' : ''}`}\n onClick={changeOrder(1)}\n title={MOVE_PAGE_DOWNWARDS}\n type=\"button\"\n >\n <icons.angleDown className=\"toolbar-icon\" />\n </button>\n </div>\n )}\n <div className=\"floatingController-container\">\n <button\n key=\"Add Slide\"\n className=\"controllerItem primary\"\n disabled={disableInteraction.indexOf('add') > -1}\n onClick={onPageAddClick}\n title={ADD_NEW_PAGE}\n type=\"button\"\n >\n <icons.plus className=\"toolbar-icon\" />\n </button>\n </div>\n </div>\n </div>\n );\n};\n\nPageActions.propTypes = {\n order: PropTypes.number,\n pageID: PropTypes.string,\n};\n\nexport default PageActions;\n"],"names":["PageActions","order","pageID","pages","usePropStore","state","length","onAnEventTrigger","onPageAdd","onPageDuplicate","onPageOrdersChange","onPageRemove","disableInteraction","setIsRightPanelOpen","useBuilderStore","setEditedElement","selectedItems","useSelectedElements","isSelectedItemExists","useMemo","setOverPage","setOutPage","overPageId","overedPageId","useState","toolbarDisabled","setToolbarDisabled","useEffect","pageSettings","onPageAddClick","newPageIndex","scrollToTarget","onPageRemoveClick","onPageDuplicateClick","foundPage","find","page","id","isOverPage","pageToolbarMouseOver","useCallback","pageToolbarMouseOut","useTranslatedTexts","ADD_NEW_PAGE","DUPLICATE_PAGE","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","PAGE_SETTINGS","REMOVE_PAGE","_jsx","_jsxs","icons.pageSettings","indexOf","icons.duplicate","icons.trash","icons.plus","propTypes","PropTypes","number","string"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import 'core-js/modules/es.number.to-fixed.js';
|
|
|
5
5
|
import 'core-js/modules/es.object.to-string.js';
|
|
6
6
|
import 'core-js/modules/es.regexp.to-string.js';
|
|
7
7
|
import 'core-js/modules/web.dom-collections.for-each.js';
|
|
8
|
-
import { useRef, createRef, useEffect,
|
|
8
|
+
import { useRef, createRef, useEffect, useCallback } from 'react';
|
|
9
9
|
import { mainWrapper, viewport, canvas, page } from '../../constants/classNames.js';
|
|
10
10
|
import ContextMenu from './ContextMenu.js';
|
|
11
11
|
import PageActions from './PageActions.js';
|
|
@@ -15,12 +15,11 @@ import SelectionBox from './SelectionBox.js';
|
|
|
15
15
|
import { useBuilderStore } from '../../contexts/BuilderContext.js';
|
|
16
16
|
import { usePropStore } from '../../contexts/PropContext.js';
|
|
17
17
|
import Page from './Page.js';
|
|
18
|
-
import { calculateGuidePositions, findItemById, findItemsOnPage } from '../../utils/functions.js';
|
|
18
|
+
import { calculateGuidePositions, isSlidesListType, findItemById, findItemsOnPage } from '../../utils/functions.js';
|
|
19
19
|
import DraggableLayer from './DraggableLayer.js';
|
|
20
20
|
import useKeyboardActions from '../../utils/useKeyboardActions.js';
|
|
21
21
|
import useMarqueeSelection from '../../utils/useMarqueeSelection.js';
|
|
22
22
|
import SlidesNavigatorToggle from './SlidesNavigatorToggle.js';
|
|
23
|
-
import { SLIDES_LIST_TYPE_MAP } from '../../constants/panel.js';
|
|
24
23
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
25
24
|
|
|
26
25
|
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; }
|
|
@@ -54,6 +53,12 @@ var Scene = function Scene() {
|
|
|
54
53
|
var slidesListType = useBuilderStore(function (state) {
|
|
55
54
|
return state.slidesListType;
|
|
56
55
|
});
|
|
56
|
+
var setOverPage = useBuilderStore(function (state) {
|
|
57
|
+
return state.setOverPage;
|
|
58
|
+
});
|
|
59
|
+
var setOutPage = useBuilderStore(function (state) {
|
|
60
|
+
return state.setOutPage;
|
|
61
|
+
});
|
|
57
62
|
var pageStyles = useRef({});
|
|
58
63
|
var pageContainerStyles = useRef({});
|
|
59
64
|
var viewPortRef = useRef({});
|
|
@@ -144,8 +149,13 @@ var Scene = function Scene() {
|
|
|
144
149
|
transformOrigin: '0 0',
|
|
145
150
|
width: width
|
|
146
151
|
};
|
|
152
|
+
var pageOverHandler = useCallback(function (pageId) {
|
|
153
|
+
setOverPage(pageId);
|
|
154
|
+
}, [setOverPage]);
|
|
155
|
+
var pageOutHandler = useCallback(function () {
|
|
156
|
+
setOutPage(null);
|
|
157
|
+
}, [setOutPage]);
|
|
147
158
|
return /*#__PURE__*/jsxs("main", {
|
|
148
|
-
// Builder.js
|
|
149
159
|
className: mainWrapper,
|
|
150
160
|
children: [/*#__PURE__*/jsx(DraggableLayer, {
|
|
151
161
|
pageRefs: refs.current
|
|
@@ -157,38 +167,38 @@ var Scene = function Scene() {
|
|
|
157
167
|
ref: canvasRef,
|
|
158
168
|
className: canvas,
|
|
159
169
|
children: [pages.map(function (page$1, index) {
|
|
160
|
-
return (
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
}
|
|
185
|
-
}, page$1.id)
|
|
186
|
-
);
|
|
170
|
+
return /*#__PURE__*/jsxs("div", {
|
|
171
|
+
onMouseOut: pageOutHandler,
|
|
172
|
+
onMouseOver: function onMouseOver() {
|
|
173
|
+
return pageOverHandler(page$1.id);
|
|
174
|
+
},
|
|
175
|
+
children: [/*#__PURE__*/jsx(PageActions, {
|
|
176
|
+
order: page$1.order,
|
|
177
|
+
pageID: page$1.id
|
|
178
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
179
|
+
ref: refs.current[page$1.id],
|
|
180
|
+
className: page,
|
|
181
|
+
"data-id": page$1.id,
|
|
182
|
+
"data-order": page$1.order,
|
|
183
|
+
id: "presentation-page-".concat(page$1.id.toString()),
|
|
184
|
+
style: _objectSpread(_objectSpread({}, pageStyles.current), {}, {
|
|
185
|
+
position: 'relative'
|
|
186
|
+
}),
|
|
187
|
+
children: [/*#__PURE__*/jsx(Page, {
|
|
188
|
+
items: page$1.items,
|
|
189
|
+
page: page$1,
|
|
190
|
+
pageIndex: index,
|
|
191
|
+
style: pageContainerStyles.current
|
|
192
|
+
}), selectionPageId === page$1.id && selectionBox && /*#__PURE__*/jsx(SelectionBox, {
|
|
193
|
+
selectionBox: selectionBox
|
|
194
|
+
})]
|
|
195
|
+
}, "page_".concat(page$1.id))]
|
|
196
|
+
}, page$1.id);
|
|
187
197
|
}), /*#__PURE__*/jsx(PageAdder, {})]
|
|
188
198
|
})
|
|
189
199
|
}), /*#__PURE__*/jsxs("div", {
|
|
190
200
|
className: "bottom-actions-container",
|
|
191
|
-
children: [slidesListType
|
|
201
|
+
children: [isSlidesListType(slidesListType, 'NAVIGATOR') && /*#__PURE__*/jsx(SlidesNavigatorToggle, {}), /*#__PURE__*/jsx(ZoomControls, {})]
|
|
192
202
|
}), contextMenuProps && /*#__PURE__*/jsx(ContextMenu, {
|
|
193
203
|
exceptionalClasses: ['contextMenu-button'],
|
|
194
204
|
height: height,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scene.js","sources":["../../../../src/components/Builder/Scene.js"],"sourcesContent":["/* eslint-disable complexity */\nimport {\n createRef,\n Fragment,\n useEffect,\n useRef,\n} from 'react';\nimport * as classNames from '../../constants/classNames';\nimport ContextMenu from './ContextMenu';\nimport PageActions from './PageActions';\nimport PageAdder from './PageAdder';\nimport ZoomControls from './ZoomControls';\nimport SelectionBox from './SelectionBox';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\nimport Page from './Page';\nimport {\n calculateGuidePositions,\n findItemById,\n findItemsOnPage,\n} from '../../utils/functions';\nimport DraggableLayer from './DraggableLayer';\nimport useKeyboardActions from '../../utils/useKeyboardActions';\nimport useMarqueeSelection from '../../utils/useMarqueeSelection';\nimport SlidesNavigatorToggle from './SlidesNavigatorToggle';\nimport { SLIDES_LIST_TYPE_MAP } from '../../constants/panel';\n\nconst Scene = () => {\n const pages = usePropStore(state => state.pages);\n const settings = usePropStore(state => state.settings);\n const contextMenuProps = useBuilderStore(state => state.contextMenuProps);\n const setContextMenuProps = useBuilderStore(state => state.setContextMenuProps);\n const setGuides = useBuilderStore(state => state.setGuides);\n const zoom = useBuilderStore(state => state.zoom);\n const lastScrollPosition = useBuilderStore(state => state.lastScrollPosition);\n const slidesListType = useBuilderStore(state => state.slidesListType);\n\n const pageStyles = useRef({});\n const pageContainerStyles = useRef({});\n const viewPortRef = useRef({});\n const canvasRef = useRef(null);\n\n /* Page Refs */\n const refs = useRef(pages.reduce((acc, curr) => {\n acc[curr.id] = createRef(null);\n return acc;\n }, {}));\n\n // Custom hooks\n useKeyboardActions();\n const { selectionBox, selectionPageId } = useMarqueeSelection(canvasRef);\n\n // Update refs when new pages are added\n useEffect(() => {\n pages.forEach(page => {\n if (!refs.current[page.id]) {\n refs.current[page.id] = createRef(null);\n }\n });\n }, [pages]);\n\n // Calculate guides for snap functionality\n useEffect(() => {\n setGuides(pages.reduce((acc, page) => {\n const _pageGuides = {};\n const pageRef = refs.current[page.id];\n if (pageRef && pageRef.current) {\n const {\n height, left, top, width,\n } = pageRef.current.getBoundingClientRect();\n const boundingBox = {\n height, left, top, width,\n };\n _pageGuides.boundingBox = {\n x: calculateGuidePositions(boundingBox, 'x').map(value => value - boundingBox.left),\n y: calculateGuidePositions(boundingBox, 'y').map(value => value - boundingBox.top),\n };\n page.items.forEach(item => {\n _pageGuides[item.id] = {\n x: calculateGuidePositions(item, 'x', zoom),\n y: calculateGuidePositions(item, 'y', zoom),\n };\n });\n }\n acc[page.id] = _pageGuides;\n return acc;\n }, {}));\n }, [pages, zoom, setGuides]);\n\n // Restore scroll position after mode change\n useEffect(() => {\n if (viewPortRef.current) {\n viewPortRef.current.scrollTop = lastScrollPosition;\n }\n }, [lastScrollPosition]);\n\n const { reportLayoutHeight = 794, reportLayoutWidth = 1123 } = settings;\n\n // TODO: Some strange shit is going on here on first render\n let width = parseInt(reportLayoutWidth, 10);\n let height = parseInt(reportLayoutHeight, 10);\n width = Number.isNaN(width) ? 1 : width;\n height = Number.isNaN(height) ? 1 : height;\n const zoomToUse = Number.isNaN(zoom) ? 1 : zoom;\n\n pageStyles.current = {\n height: parseFloat((height * zoomToUse).toFixed(1)),\n width: parseFloat((width * zoomToUse).toFixed(1)),\n };\n pageContainerStyles.current = {\n height,\n transform: `scale(${zoomToUse})`,\n transformOrigin: '0 0',\n width,\n };\n\n return (\n <main // Builder.js\n className={classNames.mainWrapper}\n >\n <DraggableLayer\n pageRefs={refs.current}\n />\n <div\n ref={viewPortRef}\n className={classNames.viewport}\n data-zoom={zoom}\n >\n <div\n ref={canvasRef}\n className={classNames.canvas}\n >\n {pages.map((page, index) => (\n // TODO: This part can be moved into a different component\n <Fragment key={page.id}>\n <PageActions\n order={page.order}\n pageID={page.id}\n />\n <div\n key={`page_${page.id}`}\n ref={refs.current[page.id]}\n className={classNames.page}\n data-id={page.id}\n data-order={page.order}\n id={`presentation-page-${page.id.toString()}`}\n style={{ ...pageStyles.current, position: 'relative' }}\n >\n <Page\n items={page.items}\n page={page}\n pageIndex={index}\n style={pageContainerStyles.current}\n />\n {selectionPageId === page.id && selectionBox && (\n <SelectionBox selectionBox={selectionBox} />\n )}\n </div>\n </Fragment>\n ))}\n <PageAdder />\n </div>\n </div>\n <div className=\"bottom-actions-container\">\n {slidesListType === SLIDES_LIST_TYPE_MAP.NAVIGATOR && <SlidesNavigatorToggle />}\n <ZoomControls />\n </div>\n {contextMenuProps\n && (\n <ContextMenu\n exceptionalClasses={['contextMenu-button']}\n height={height}\n item={findItemById(contextMenuProps.id, pages)}\n items={findItemsOnPage(contextMenuProps.pageID, pages)}\n onClickOutside={() => setContextMenuProps(null)}\n position={contextMenuProps.position}\n width={width}\n />\n )}\n </main>\n );\n};\n\nexport default Scene;\n"],"names":["Scene","pages","usePropStore","state","settings","contextMenuProps","useBuilderStore","setContextMenuProps","setGuides","zoom","lastScrollPosition","slidesListType","pageStyles","useRef","pageContainerStyles","viewPortRef","canvasRef","refs","reduce","acc","curr","id","createRef","useKeyboardActions","useMarqueeSelection","selectionBox","selectionPageId","useEffect","forEach","page","current","_pageGuides","pageRef","getBoundingClientRect","height","left","top","width","boundingBox","x","calculateGuidePositions","map","value","y","items","item","scrollTop","reportLayoutHeight","reportLayoutWidth","parseInt","Number","isNaN","zoomToUse","parseFloat","toFixed","transform","transformOrigin","_jsxs","classNames","_jsx","index","order","toString","position","SLIDES_LIST_TYPE_MAP","NAVIGATOR","findItemById","findItemsOnPage","pageID"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Scene.js","sources":["../../../../src/components/Builder/Scene.js"],"sourcesContent":["/* eslint-disable jsx-a11y/mouse-events-have-key-events */\n/* eslint-disable complexity */\nimport {\n createRef,\n useCallback,\n useEffect,\n useRef,\n} from 'react';\nimport * as classNames from '../../constants/classNames';\nimport ContextMenu from './ContextMenu';\nimport PageActions from './PageActions';\nimport PageAdder from './PageAdder';\nimport ZoomControls from './ZoomControls';\nimport SelectionBox from './SelectionBox';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\nimport Page from './Page';\nimport {\n calculateGuidePositions,\n findItemById,\n findItemsOnPage,\n isSlidesListType,\n} from '../../utils/functions';\nimport DraggableLayer from './DraggableLayer';\nimport useKeyboardActions from '../../utils/useKeyboardActions';\nimport useMarqueeSelection from '../../utils/useMarqueeSelection';\nimport SlidesNavigatorToggle from './SlidesNavigatorToggle';\n\nconst Scene = () => {\n const pages = usePropStore(state => state.pages);\n const settings = usePropStore(state => state.settings);\n const contextMenuProps = useBuilderStore(state => state.contextMenuProps);\n const setContextMenuProps = useBuilderStore(state => state.setContextMenuProps);\n const setGuides = useBuilderStore(state => state.setGuides);\n const zoom = useBuilderStore(state => state.zoom);\n const lastScrollPosition = useBuilderStore(state => state.lastScrollPosition);\n const slidesListType = useBuilderStore(state => state.slidesListType);\n const setOverPage = useBuilderStore(state => state.setOverPage);\n const setOutPage = useBuilderStore(state => state.setOutPage);\n\n const pageStyles = useRef({});\n const pageContainerStyles = useRef({});\n const viewPortRef = useRef({});\n const canvasRef = useRef(null);\n\n /* Page Refs */\n const refs = useRef(pages.reduce((acc, curr) => {\n acc[curr.id] = createRef(null);\n return acc;\n }, {}));\n\n // Custom hooks\n useKeyboardActions();\n const { selectionBox, selectionPageId } = useMarqueeSelection(canvasRef);\n\n // Update refs when new pages are added\n useEffect(() => {\n pages.forEach(page => {\n if (!refs.current[page.id]) {\n refs.current[page.id] = createRef(null);\n }\n });\n }, [pages]);\n\n // Calculate guides for snap functionality\n useEffect(() => {\n setGuides(pages.reduce((acc, page) => {\n const _pageGuides = {};\n const pageRef = refs.current[page.id];\n if (pageRef && pageRef.current) {\n const {\n height, left, top, width,\n } = pageRef.current.getBoundingClientRect();\n const boundingBox = {\n height, left, top, width,\n };\n _pageGuides.boundingBox = {\n x: calculateGuidePositions(boundingBox, 'x').map(value => value - boundingBox.left),\n y: calculateGuidePositions(boundingBox, 'y').map(value => value - boundingBox.top),\n };\n page.items.forEach(item => {\n _pageGuides[item.id] = {\n x: calculateGuidePositions(item, 'x', zoom),\n y: calculateGuidePositions(item, 'y', zoom),\n };\n });\n }\n acc[page.id] = _pageGuides;\n return acc;\n }, {}));\n }, [pages, zoom, setGuides]);\n\n // Restore scroll position after mode change\n useEffect(() => {\n if (viewPortRef.current) {\n viewPortRef.current.scrollTop = lastScrollPosition;\n }\n }, [lastScrollPosition]);\n\n const { reportLayoutHeight = 794, reportLayoutWidth = 1123 } = settings;\n\n // TODO: Some strange shit is going on here on first render\n let width = parseInt(reportLayoutWidth, 10);\n let height = parseInt(reportLayoutHeight, 10);\n width = Number.isNaN(width) ? 1 : width;\n height = Number.isNaN(height) ? 1 : height;\n const zoomToUse = Number.isNaN(zoom) ? 1 : zoom;\n\n pageStyles.current = {\n height: parseFloat((height * zoomToUse).toFixed(1)),\n width: parseFloat((width * zoomToUse).toFixed(1)),\n };\n pageContainerStyles.current = {\n height,\n transform: `scale(${zoomToUse})`,\n transformOrigin: '0 0',\n width,\n };\n\n const pageOverHandler = useCallback(pageId => {\n setOverPage(pageId);\n }, [setOverPage]);\n\n const pageOutHandler = useCallback(() => {\n setOutPage(null);\n }, [setOutPage]);\n\n return (\n <main\n className={classNames.mainWrapper}\n >\n <DraggableLayer\n pageRefs={refs.current}\n />\n <div\n ref={viewPortRef}\n className={classNames.viewport}\n data-zoom={zoom}\n >\n <div\n ref={canvasRef}\n className={classNames.canvas}\n >\n {pages.map((page, index) => (\n <div\n key={page.id}\n onMouseOut={pageOutHandler}\n onMouseOver={() => pageOverHandler(page.id)}\n >\n <PageActions\n order={page.order}\n pageID={page.id}\n />\n <div\n key={`page_${page.id}`}\n ref={refs.current[page.id]}\n className={classNames.page}\n data-id={page.id}\n data-order={page.order}\n id={`presentation-page-${page.id.toString()}`}\n style={{ ...pageStyles.current, position: 'relative' }}\n >\n <Page\n items={page.items}\n page={page}\n pageIndex={index}\n style={pageContainerStyles.current}\n />\n {selectionPageId === page.id && selectionBox && (\n <SelectionBox selectionBox={selectionBox} />\n )}\n </div>\n </div>\n ))}\n <PageAdder />\n </div>\n </div>\n <div className=\"bottom-actions-container\">\n {isSlidesListType(slidesListType, 'NAVIGATOR') && <SlidesNavigatorToggle />}\n <ZoomControls />\n </div>\n {contextMenuProps\n && (\n <ContextMenu\n exceptionalClasses={['contextMenu-button']}\n height={height}\n item={findItemById(contextMenuProps.id, pages)}\n items={findItemsOnPage(contextMenuProps.pageID, pages)}\n onClickOutside={() => setContextMenuProps(null)}\n position={contextMenuProps.position}\n width={width}\n />\n )}\n </main>\n );\n};\n\nexport default Scene;\n"],"names":["Scene","pages","usePropStore","state","settings","contextMenuProps","useBuilderStore","setContextMenuProps","setGuides","zoom","lastScrollPosition","slidesListType","setOverPage","setOutPage","pageStyles","useRef","pageContainerStyles","viewPortRef","canvasRef","refs","reduce","acc","curr","id","createRef","useKeyboardActions","useMarqueeSelection","selectionBox","selectionPageId","useEffect","forEach","page","current","_pageGuides","pageRef","getBoundingClientRect","height","left","top","width","boundingBox","x","calculateGuidePositions","map","value","y","items","item","scrollTop","reportLayoutHeight","reportLayoutWidth","parseInt","Number","isNaN","zoomToUse","parseFloat","toFixed","transform","transformOrigin","pageOverHandler","useCallback","pageId","pageOutHandler","_jsxs","classNames","_jsx","index","order","toString","position","isSlidesListType","findItemById","findItemsOnPage","pageID"],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { useTranslatedTexts } from '../../../utils/hooks.js';
|
|
2
|
+
import { usePropStore } from '../../../contexts/PropContext.js';
|
|
3
|
+
import { useBuilderStore } from '../../../contexts/BuilderContext.js';
|
|
4
|
+
import { scrollToTarget } from '../../../utils/functions.js';
|
|
5
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
|
+
import SvgPlus from '../../../assets/svg/plus.svg.js';
|
|
7
|
+
|
|
8
|
+
var AddSlideButton = function AddSlideButton() {
|
|
9
|
+
var _useTranslatedTexts = useTranslatedTexts(),
|
|
10
|
+
ADD_SLIDE = _useTranslatedTexts.ADD_SLIDE;
|
|
11
|
+
|
|
12
|
+
var onPageAdd = usePropStore(function (state) {
|
|
13
|
+
return state.onPageAdd;
|
|
14
|
+
});
|
|
15
|
+
var visiblePageOrder = useBuilderStore(function (state) {
|
|
16
|
+
return state.visiblePageOrder;
|
|
17
|
+
});
|
|
18
|
+
var setVisiblePageOrder = useBuilderStore(function (state) {
|
|
19
|
+
return state.setVisiblePageOrder;
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
var onAddItemClick = function onAddItemClick() {
|
|
23
|
+
var newPageIndex = visiblePageOrder + 1;
|
|
24
|
+
onPageAdd(newPageIndex);
|
|
25
|
+
scrollToTarget("pageActions-id-".concat(newPageIndex), 350);
|
|
26
|
+
window.setTimeout(function () {
|
|
27
|
+
setVisiblePageOrder(newPageIndex);
|
|
28
|
+
}, 100);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
return /*#__PURE__*/jsxs("button", {
|
|
32
|
+
className: "slides-navigator-add-item",
|
|
33
|
+
onClick: onAddItemClick,
|
|
34
|
+
title: ADD_SLIDE,
|
|
35
|
+
type: "button",
|
|
36
|
+
children: [/*#__PURE__*/jsx(SvgPlus, {
|
|
37
|
+
className: "slides-navigator-add-item-icon"
|
|
38
|
+
}), /*#__PURE__*/jsx("span", {
|
|
39
|
+
className: "slides-navigator-add-item-text",
|
|
40
|
+
children: ADD_SLIDE
|
|
41
|
+
})]
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export default AddSlideButton;
|
|
46
|
+
//# sourceMappingURL=AddSlideButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddSlideButton.js","sources":["../../../../../src/components/Panels/SlidesNavigator/AddSlideButton.js"],"sourcesContent":["import * as icons from '../../../utils/icons';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { scrollToTarget } from '../../../utils/functions';\n\nconst AddSlideButton = () => {\n const { ADD_SLIDE } = useTranslatedTexts();\n const onPageAdd = usePropStore(state => state.onPageAdd);\n const visiblePageOrder = useBuilderStore(state => state.visiblePageOrder);\n const setVisiblePageOrder = useBuilderStore(state => state.setVisiblePageOrder);\n\n const onAddItemClick = () => {\n const newPageIndex = visiblePageOrder + 1;\n onPageAdd(newPageIndex);\n scrollToTarget(`pageActions-id-${newPageIndex}`, 350);\n window.setTimeout(() => {\n setVisiblePageOrder(newPageIndex);\n }, 100);\n };\n\n return (\n <button\n className=\"slides-navigator-add-item\"\n onClick={onAddItemClick}\n title={ADD_SLIDE}\n type=\"button\"\n >\n <icons.plus className=\"slides-navigator-add-item-icon\" />\n <span className=\"slides-navigator-add-item-text\">{ADD_SLIDE}</span>\n </button>\n );\n};\n\nexport default AddSlideButton;\n"],"names":["AddSlideButton","useTranslatedTexts","ADD_SLIDE","onPageAdd","usePropStore","state","visiblePageOrder","useBuilderStore","setVisiblePageOrder","onAddItemClick","newPageIndex","scrollToTarget","window","setTimeout","_jsxs","_jsx","icons.plus"],"mappings":";;;;;;;IAMMA,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,4BAAsBC,kBAAkB,EAAxC;AAAA,MAAQC,SAAR,uBAAQA,SAAR;;AACA,MAAMC,SAAS,GAAGC,YAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,SAAV;AAAA,GAAN,CAA9B;AACA,MAAMG,gBAAgB,GAAGC,eAAe,CAAC,UAAAF,KAAK;AAAA,WAAIA,KAAK,CAACC,gBAAV;AAAA,GAAN,CAAxC;AACA,MAAME,mBAAmB,GAAGD,eAAe,CAAC,UAAAF,KAAK;AAAA,WAAIA,KAAK,CAACG,mBAAV;AAAA,GAAN,CAA3C;;AAEA,MAAMC,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,QAAMC,YAAY,GAAGJ,gBAAgB,GAAG,CAAxC;AACAH,IAAAA,SAAS,CAACO,YAAD,CAAT;AACAC,IAAAA,cAAc,0BAAmBD,YAAnB,GAAmC,GAAnC,CAAd;AACAE,IAAAA,MAAM,CAACC,UAAP,CAAkB,YAAM;AACtBL,MAAAA,mBAAmB,CAACE,YAAD,CAAnB;AACD,KAFD,EAEG,GAFH;AAGD,GAPD;;AASA,sBACEI;AACE,IAAA,SAAS,EAAC,2BADZ;AAEE,IAAA,OAAO,EAAEL,cAFX;AAGE,IAAA,KAAK,EAAEP,SAHT;AAIE,IAAA,IAAI,EAAC,QAJP;AAAA,4BAMEa,IAACC,OAAD;AAAY,MAAA,SAAS,EAAC;AAAtB,MANF,eAOED;AAAM,MAAA,SAAS,EAAC,gCAAhB;AAAA,gBAAkDb;AAAlD,MAPF;AAAA,IADF;AAWD;;;;"}
|
|
@@ -2,14 +2,15 @@ import 'core-js/modules/es.array.map.js';
|
|
|
2
2
|
import { forwardRef, useState, useCallback, useMemo, useImperativeHandle } from 'react';
|
|
3
3
|
import { useFloating, offset, flip, shift, autoPlacement, autoUpdate, useClick, useDismiss, useRole, useFocus, useInteractions, useId, FloatingPortal } from '@floating-ui/react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
|
-
import { useTranslatedTexts } from '../../../../utils/hooks.js';
|
|
5
|
+
import { useResizeListener, useTranslatedTexts } from '../../../../utils/hooks.js';
|
|
6
6
|
import { usePropStore } from '../../../../contexts/PropContext.js';
|
|
7
|
-
import { scrollToTarget } from '../../../../utils/functions.js';
|
|
8
7
|
import { useBuilderStore } from '../../../../contexts/BuilderContext.js';
|
|
9
|
-
import
|
|
8
|
+
import MoreMenuOverlay from '../MoreMenuOverlay.js';
|
|
9
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
10
10
|
import SvgPlus from '../../../../assets/svg/plus.svg.js';
|
|
11
11
|
import SvgDuplicate from '../../../../assets/svg/duplicate.svg.js';
|
|
12
12
|
import SvgTrash from '../../../../assets/svg/trash.svg.js';
|
|
13
|
+
import SvgEllipsisVertical from '../../../../assets/svg/ellipsis-vertical.svg.js';
|
|
13
14
|
|
|
14
15
|
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
16
|
|
|
@@ -28,9 +29,11 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
28
29
|
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; }
|
|
29
30
|
|
|
30
31
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
32
|
+
var PAGE_ACTIONS_SYNC_MS = 100;
|
|
31
33
|
var SlideItemMoreMenu = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
32
34
|
var order = _ref.order,
|
|
33
|
-
page = _ref.page
|
|
35
|
+
page = _ref.page,
|
|
36
|
+
selected = _ref.selected;
|
|
34
37
|
|
|
35
38
|
var _useState = useState(false),
|
|
36
39
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -48,6 +51,8 @@ var SlideItemMoreMenu = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
48
51
|
var setVisiblePageOrder = useBuilderStore(function (state) {
|
|
49
52
|
return state.setVisiblePageOrder;
|
|
50
53
|
});
|
|
54
|
+
var viewportWidth = useResizeListener(true);
|
|
55
|
+
var isMobile = viewportWidth > 0 && viewportWidth < 480;
|
|
51
56
|
var openCardContextMenu = useCallback(function (e) {
|
|
52
57
|
var useMousePointer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
53
58
|
if (isOpen) return;
|
|
@@ -131,7 +136,8 @@ var SlideItemMoreMenu = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
131
136
|
var focus = useFocus(context);
|
|
132
137
|
|
|
133
138
|
var _useInteractions = useInteractions([click, dismiss, role, focus]),
|
|
134
|
-
getFloatingProps = _useInteractions.getFloatingProps
|
|
139
|
+
getFloatingProps = _useInteractions.getFloatingProps,
|
|
140
|
+
getReferenceProps = _useInteractions.getReferenceProps;
|
|
135
141
|
|
|
136
142
|
var headingId = useId();
|
|
137
143
|
var customStyles = {
|
|
@@ -141,32 +147,52 @@ var SlideItemMoreMenu = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
141
147
|
transform: 'translate(9px, 0px)',
|
|
142
148
|
zIndex: '99999'
|
|
143
149
|
};
|
|
144
|
-
var
|
|
150
|
+
var mobileCustomStyles = {
|
|
151
|
+
animation: 'fadeInTop 200ms ease-in-out forwards',
|
|
152
|
+
borderBottomLeftRadius: '0px',
|
|
153
|
+
borderBottomRightRadius: '0px',
|
|
154
|
+
borderTopLeftRadius: '16px',
|
|
155
|
+
borderTopRightRadius: '16px',
|
|
156
|
+
bottom: 0,
|
|
157
|
+
boxShadow: 'rgba(37, 45, 91, 0.04) 0px 2px 4px 0px, rgba(84, 95, 111, 0.16) 0px 8px 16px 0px',
|
|
158
|
+
height: 'auto',
|
|
159
|
+
left: '0',
|
|
160
|
+
maxHeight: '100%',
|
|
161
|
+
maxWidth: '100%',
|
|
162
|
+
padding: '8px',
|
|
163
|
+
position: 'fixed',
|
|
164
|
+
top: 'unset',
|
|
165
|
+
transform: 'translate(0px, 0px)',
|
|
166
|
+
width: '100vw',
|
|
167
|
+
willChange: 'unset',
|
|
168
|
+
zIndex: '99999'
|
|
169
|
+
};
|
|
145
170
|
var handleAddNewSlide = useCallback(function () {
|
|
146
|
-
|
|
147
|
-
|
|
171
|
+
var nextPageOrder = order + 1;
|
|
172
|
+
onPageAdd(nextPageOrder);
|
|
173
|
+
onAnEventTrigger('addNewPageFromSlides', nextPageOrder);
|
|
148
174
|
setIsOpen(false);
|
|
149
|
-
setTimeout(function () {
|
|
150
|
-
setVisiblePageOrder(
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
}, [onPageAdd, nextPageIndex, onAnEventTrigger, setVisiblePageOrder]);
|
|
175
|
+
window.setTimeout(function () {
|
|
176
|
+
setVisiblePageOrder(nextPageOrder);
|
|
177
|
+
}, PAGE_ACTIONS_SYNC_MS);
|
|
178
|
+
}, [onPageAdd, order, onAnEventTrigger, setVisiblePageOrder]);
|
|
154
179
|
var handleDuplicateSlide = useCallback(function () {
|
|
180
|
+
var nextPageOrder = order + 1;
|
|
155
181
|
onPageDuplicate(page);
|
|
156
|
-
onAnEventTrigger('duplicatePage',
|
|
182
|
+
onAnEventTrigger('duplicatePage', nextPageOrder);
|
|
157
183
|
setIsOpen(false);
|
|
158
|
-
setTimeout(function () {
|
|
159
|
-
setVisiblePageOrder(
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
}, [onPageDuplicate, page, nextPageIndex, onAnEventTrigger, setVisiblePageOrder]);
|
|
184
|
+
window.setTimeout(function () {
|
|
185
|
+
setVisiblePageOrder(nextPageOrder);
|
|
186
|
+
}, PAGE_ACTIONS_SYNC_MS);
|
|
187
|
+
}, [onPageDuplicate, page, order, onAnEventTrigger, setVisiblePageOrder]);
|
|
163
188
|
var handleDeleteSlide = useCallback(function () {
|
|
164
189
|
onPageRemove(page.id);
|
|
165
190
|
onAnEventTrigger('removePageFromSlides', page.id);
|
|
166
191
|
setIsOpen(false);
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
192
|
+
var visibleOrderAfterDelete = Math.max(order - 1, 1);
|
|
193
|
+
window.setTimeout(function () {
|
|
194
|
+
setVisiblePageOrder(visibleOrderAfterDelete);
|
|
195
|
+
}, PAGE_ACTIONS_SYNC_MS);
|
|
170
196
|
}, [page, order, onPageRemove, onAnEventTrigger, setVisiblePageOrder]);
|
|
171
197
|
var schemaOptions = useMemo(function () {
|
|
172
198
|
return [{
|
|
@@ -210,16 +236,32 @@ var SlideItemMoreMenu = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
210
236
|
handleOpenMenu: handleOpenMenu
|
|
211
237
|
};
|
|
212
238
|
}, [handleOpenMenu]);
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
239
|
+
|
|
240
|
+
var styles = _objectSpread(_objectSpread({}, floatingStyles), isMobile ? mobileCustomStyles : customStyles);
|
|
241
|
+
|
|
242
|
+
return /*#__PURE__*/jsxs(Fragment, {
|
|
243
|
+
children: [isMobile && selected && /*#__PURE__*/jsx("button", _objectSpread(_objectSpread({
|
|
244
|
+
type: "button"
|
|
245
|
+
}, getReferenceProps()), {}, {
|
|
246
|
+
ref: refs.setReference,
|
|
247
|
+
className: "slides-navigator-context-menu-button",
|
|
248
|
+
"data-testid": "more-menu-button-".concat(page.id),
|
|
249
|
+
children: /*#__PURE__*/jsx(SvgEllipsisVertical, {
|
|
250
|
+
style: {
|
|
251
|
+
flexShrink: 0,
|
|
252
|
+
height: '16px',
|
|
253
|
+
width: '14px'
|
|
254
|
+
}
|
|
255
|
+
})
|
|
256
|
+
})), isOpen && /*#__PURE__*/jsxs(FloatingPortal, {
|
|
257
|
+
children: [/*#__PURE__*/jsx(MoreMenuOverlay, {}), /*#__PURE__*/jsx("div", _objectSpread(_objectSpread({
|
|
216
258
|
ref: refs.setFloating,
|
|
217
259
|
alignItems: "start",
|
|
218
260
|
"aria-labelledby": headingId,
|
|
219
261
|
className: "slides-navigator-context-menu",
|
|
220
262
|
direction: "column",
|
|
221
263
|
justifyContent: "start",
|
|
222
|
-
style:
|
|
264
|
+
style: styles
|
|
223
265
|
}, getFloatingProps()), {}, {
|
|
224
266
|
children: /*#__PURE__*/jsx("div", {
|
|
225
267
|
className: "slides-navigator-context-menu-items",
|
|
@@ -236,15 +278,16 @@ var SlideItemMoreMenu = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
236
278
|
}, schemaOption.id);
|
|
237
279
|
})
|
|
238
280
|
})
|
|
239
|
-
}))
|
|
240
|
-
})
|
|
281
|
+
}))]
|
|
282
|
+
})]
|
|
241
283
|
});
|
|
242
284
|
});
|
|
243
285
|
SlideItemMoreMenu.propTypes = {
|
|
244
286
|
order: PropTypes.number.isRequired,
|
|
245
287
|
page: PropTypes.shape({
|
|
246
288
|
id: PropTypes.string.isRequired
|
|
247
|
-
}).isRequired
|
|
289
|
+
}).isRequired,
|
|
290
|
+
selected: PropTypes.bool.isRequired
|
|
248
291
|
};
|
|
249
292
|
|
|
250
293
|
export default SlideItemMoreMenu;
|