@jotforminc/dnd-builder 3.6.0 → 3.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/lib/cjs/components/Builder/BuilderWrapper.js +9 -6
- 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 +36 -30
- package/lib/cjs/components/Builder/Scene.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +18 -18
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js +1 -5
- 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/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 +1 -0
- package/lib/esm/components/Builder/BuilderWrapper.js +9 -6
- 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 +38 -32
- package/lib/esm/components/Builder/Scene.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +18 -18
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js +1 -5
- 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/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 +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [3.6.2](https://github.com/jotform/dnd-builder/compare/v3.6.0...v3.6.2) (2026-04-07)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **dnd-builder:** enable text edit in double click ([78c134b](https://github.com/jotform/dnd-builder/commit/78c134b2b9b9c9730114c55001755560272baced))
|
|
11
|
+
* **dnd-builder:** improve panel management and slide item interactions ([b7366f5](https://github.com/jotform/dnd-builder/commit/b7366f5a73e783bfbacf5989678ecabb8506888a))
|
|
12
|
+
* **dnd-builder:** page actions visibility changes ([2ce60e4](https://github.com/jotform/dnd-builder/commit/2ce60e46ad84c9ae37feb244120055943b276cb2))
|
|
13
|
+
|
|
14
|
+
## [3.6.1](https://github.com/jotform/dnd-builder/compare/v3.6.0...v3.6.1) (2026-04-07)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **dnd-builder:** enable rich text edit in double click ([78c134b](https://github.com/jotform/dnd-builder/commit/78c134b2b9b9c9730114c55001755560272baced))
|
|
20
|
+
|
|
5
21
|
## [3.6.0](https://github.com/jotform/dnd-builder/compare/v3.5.6...v3.6.0) (2026-04-06)
|
|
6
22
|
|
|
7
23
|
|
|
@@ -74,11 +74,6 @@ var BuilderWrapper = function BuilderWrapper(_ref) {
|
|
|
74
74
|
var selectedPageIndexReference = isSlidesPanelOpen ? 0 : -1;
|
|
75
75
|
hooks.usePageVisibility(handlePageVisibility, pageCount, selectedPageIndexReference);
|
|
76
76
|
hooks.useFitZoom();
|
|
77
|
-
React.useEffect(function () {
|
|
78
|
-
if (functions.slidesAsNavigator(slidesListType)) {
|
|
79
|
-
setIsSlidesNavigatorOpen(true);
|
|
80
|
-
}
|
|
81
|
-
}, [slidesListType, setIsSlidesNavigatorOpen]);
|
|
82
77
|
React.useEffect(function () {
|
|
83
78
|
if (!decidedWhichPanelToOpen.current) {
|
|
84
79
|
if (pageCount > 1) {
|
|
@@ -86,18 +81,26 @@ var BuilderWrapper = function BuilderWrapper(_ref) {
|
|
|
86
81
|
setIsLeftPanelOpen(false);
|
|
87
82
|
}
|
|
88
83
|
|
|
84
|
+
if (functions.slidesAsNavigator(slidesListType)) {
|
|
85
|
+
setIsSlidesNavigatorOpen(true);
|
|
86
|
+
}
|
|
87
|
+
|
|
89
88
|
setIsSlidesPanelOpen(shouldShowRightPanelInitially);
|
|
90
89
|
} else {
|
|
91
90
|
if (isSlidesPanelOpen) {
|
|
92
91
|
setIsSlidesPanelOpen(false);
|
|
93
92
|
}
|
|
94
93
|
|
|
94
|
+
if (functions.slidesAsNavigator(slidesListType) && isSlidesNavigatorOpen) {
|
|
95
|
+
setIsSlidesNavigatorOpen(false);
|
|
96
|
+
}
|
|
97
|
+
|
|
95
98
|
setIsLeftPanelOpen(true);
|
|
96
99
|
}
|
|
97
100
|
|
|
98
101
|
decidedWhichPanelToOpen.current = true;
|
|
99
102
|
}
|
|
100
|
-
}, [pageCount, isLeftPanelOpen, isSlidesPanelOpen, isSlidesNavigatorOpen, setIsLeftPanelOpen, setIsSlidesPanelOpen, setIsSlidesNavigatorOpen, shouldShowRightPanelInitially]);
|
|
103
|
+
}, [pageCount, isLeftPanelOpen, isSlidesPanelOpen, isSlidesNavigatorOpen, setIsLeftPanelOpen, setIsSlidesPanelOpen, setIsSlidesNavigatorOpen, shouldShowRightPanelInitially, slidesListType]);
|
|
101
104
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
102
105
|
children: [functions.slidesAsNavigator(slidesListType) && /*#__PURE__*/jsxRuntime.jsx(SlidesNavigator, {}), /*#__PURE__*/jsxRuntime.jsx(ReportWrapper, {
|
|
103
106
|
mode: "customize",
|
|
@@ -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 { slidesAsNavigator } 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 (
|
|
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 { slidesAsNavigator } 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 (slidesAsNavigator(slidesListType)) {\n setIsSlidesNavigatorOpen(true);\n }\n setIsSlidesPanelOpen(shouldShowRightPanelInitially);\n } else {\n if (isSlidesPanelOpen) {\n setIsSlidesPanelOpen(false);\n }\n if (slidesAsNavigator(slidesListType) && 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 {slidesAsNavigator(slidesListType) && <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","slidesAsNavigator","_jsxs","_jsx","propTypes","PropTypes","node","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;IAYMA,cAAc,GAAG,SAAjBA,cAAiB,OAAkB;AAAA,MAAfC,QAAe,QAAfA,QAAe;AACvC,MAAMC,uBAAuB,GAAGC,YAAM,CAAC,KAAD,CAAtC;AAEA,MAAMC,SAAS,GAAGC,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,KAAN,CAAYC,MAAhB;AAAA,GAAN,CAA9B;AACA,MAAMC,eAAe,GAAGC,8BAAe,CAAC,UAAAJ,KAAK;AAAA,WAAIA,KAAK,CAACG,eAAV;AAAA,GAAN,CAAvC;AACA,MAAME,iBAAiB,GAAGD,8BAAe,CAAC,UAAAJ,KAAK;AAAA,WAAIA,KAAK,CAACK,iBAAV;AAAA,GAAN,CAAzC;AACA,MAAMC,qBAAqB,GAAGF,8BAAe,CAAC,UAAAJ,KAAK;AAAA,WAAIA,KAAK,CAACM,qBAAV;AAAA,GAAN,CAA7C;AACA,MAAMC,kBAAkB,GAAGH,8BAAe,CAAC,UAAAJ,KAAK;AAAA,WAAIA,KAAK,CAACO,kBAAV;AAAA,GAAN,CAA1C;AACA,MAAMC,oBAAoB,GAAGJ,8BAAe,CAAC,UAAAJ,KAAK;AAAA,WAAIA,KAAK,CAACQ,oBAAV;AAAA,GAAN,CAA5C;AACA,MAAMC,wBAAwB,GAAGL,8BAAe,CAAC,UAAAJ,KAAK;AAAA,WAAIA,KAAK,CAACS,wBAAV;AAAA,GAAN,CAAhD;AACA,MAAMC,6BAA6B,GAAGN,8BAAe,CAAC,UAAAJ,KAAK;AAAA,WAAIA,KAAK,CAACU,6BAAV;AAAA,GAAN,CAArD;AACA,MAAMC,sBAAsB,GAAGZ,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACW,sBAAV;AAAA,GAAN,CAA3C;AACA,MAAMC,uBAAuB,GAAGb,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACY,uBAAV;AAAA,GAAN,CAA5C;AACA,MAAMC,mBAAmB,GAAGT,8BAAe,CAAC,UAAAJ,KAAK;AAAA,WAAIA,KAAK,CAACa,mBAAV;AAAA,GAAN,CAA3C;AACA,MAAMC,cAAc,GAAGV,8BAAe,CAAC,UAAAJ,KAAK;AAAA,WAAIA,KAAK,CAACc,cAAV;AAAA,GAAN,CAAtC;AACA,MAAMC,aAAa,GAAGC,yBAAmB,EAAzC;AACA,MAAMC,iBAAiB,GAAGC,iBAAW,CAACH,aAAD,CAArC;AAEAI,EAAAA,eAAS,CAAC,YAAM;AACd,QAAIF,iBAAiB,IAAI,CAACG,2BAAO,CAACH,iBAAD,EAAoBF,aAApB,CAAjC,EAAqE;AACnEJ,MAAAA,sBAAsB,CAACI,aAAD,CAAtB;AACD;AACF,GAJQ,EAIN,CACDA,aADC,EAEDJ,sBAFC,EAGDM,iBAHC,CAJM,CAAT;AAUA,MAAMI,oBAAoB,GAAGC,iBAAW,CAAC,UAAAC,KAAK,EAAI;AAChD,QAAIA,KAAK,IAAI,CAACC,MAAM,CAACC,KAAP,CAAaF,KAAb,CAAd,EAAmC;AACjCV,MAAAA,mBAAmB,CAACU,KAAD,CAAnB;AACAX,MAAAA,uBAAuB,CAACW,KAAD,CAAvB;AACD;AACF,GALuC,EAKrC,CAACV,mBAAD,EAAsBD,uBAAtB,CALqC,CAAxC,CA5BuC;;AAoCvC,MAAMc,0BAA0B,GAAGrB,iBAAiB,GAAG,CAAH,GAAO,CAAC,CAA5D;AACAsB,EAAAA,uBAAiB,CAACN,oBAAD,EAAuBvB,SAAvB,EAAkC4B,0BAAlC,CAAjB;AAEAE,EAAAA,gBAAU;AAEVT,EAAAA,eAAS,CAAC,YAAM;AACd,QAAI,CAACvB,uBAAuB,CAACiC,OAA7B,EAAsC;AACpC,UAAI/B,SAAS,GAAG,CAAhB,EAAmB;AACjB,YAAIK,eAAJ,EAAqB;AACnBI,UAAAA,kBAAkB,CAAC,KAAD,CAAlB;AACD;;AACD,YAAIuB,2BAAiB,CAAChB,cAAD,CAArB,EAAuC;AACrCL,UAAAA,wBAAwB,CAAC,IAAD,CAAxB;AACD;;AACDD,QAAAA,oBAAoB,CAACE,6BAAD,CAApB;AACD,OARD,MAQO;AACL,YAAIL,iBAAJ,EAAuB;AACrBG,UAAAA,oBAAoB,CAAC,KAAD,CAApB;AACD;;AACD,YAAIsB,2BAAiB,CAAChB,cAAD,CAAjB,IAAqCR,qBAAzC,EAAgE;AAC9DG,UAAAA,wBAAwB,CAAC,KAAD,CAAxB;AACD;;AACDF,QAAAA,kBAAkB,CAAC,IAAD,CAAlB;AACD;;AAEDX,MAAAA,uBAAuB,CAACiC,OAAxB,GAAkC,IAAlC;AACD;AACF,GAtBQ,EAsBN,CAAC/B,SAAD,EAAYK,eAAZ,EAA6BE,iBAA7B,EAAgDC,qBAAhD,EAAuEC,kBAAvE,EAA2FC,oBAA3F,EAAiHC,wBAAjH,EAA2IC,6BAA3I,EAA0KI,cAA1K,CAtBM,CAAT;AAwBA,sBACEiB;AAAA,eACGD,2BAAiB,CAAChB,cAAD,CAAjB,iBAAqCkB,eAAC,eAAD,KADxC,eAEEA,eAAC,aAAD;AAAe,MAAA,IAAI,EAAC,WAApB;AAAA,gBACGrC;AADH,MAFF;AAAA,IADF;AAQD;;AAEDD,cAAc,CAACuC,SAAf,GAA2B;AACzBtC,EAAAA,QAAQ,EAAEuC,6BAAS,CAACC,IAAV,CAAeC;AADA,CAA3B;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('core-js/modules/es.array.concat.js');
|
|
3
4
|
require('core-js/modules/es.array.find.js');
|
|
4
5
|
require('core-js/modules/es.array.find-index.js');
|
|
5
6
|
var PropTypes = require('prop-types');
|
|
@@ -18,6 +19,18 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
18
19
|
|
|
19
20
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
20
21
|
|
|
22
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
23
|
+
|
|
24
|
+
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."); }
|
|
25
|
+
|
|
26
|
+
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); }
|
|
27
|
+
|
|
28
|
+
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; }
|
|
29
|
+
|
|
30
|
+
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; }
|
|
31
|
+
|
|
32
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
33
|
+
|
|
21
34
|
var PageActions = function PageActions(_ref) {
|
|
22
35
|
var _ref$order = _ref.order,
|
|
23
36
|
order = _ref$order === void 0 ? 0 : _ref$order,
|
|
@@ -55,6 +68,24 @@ var PageActions = function PageActions(_ref) {
|
|
|
55
68
|
var isSelectedItemExists = React.useMemo(function () {
|
|
56
69
|
return (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) > 0;
|
|
57
70
|
}, [selectedItems]);
|
|
71
|
+
var setOverPage = BuilderContext.useBuilderStore(function (state) {
|
|
72
|
+
return state.setOverPage;
|
|
73
|
+
});
|
|
74
|
+
var setOutPage = BuilderContext.useBuilderStore(function (state) {
|
|
75
|
+
return state.setOutPage;
|
|
76
|
+
});
|
|
77
|
+
var overPageId = BuilderContext.useBuilderStore(function (state) {
|
|
78
|
+
return state.overedPageId;
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
var _useState = React.useState(isSelectedItemExists),
|
|
82
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
83
|
+
toolbarDisabled = _useState2[0],
|
|
84
|
+
setToolbarDisabled = _useState2[1];
|
|
85
|
+
|
|
86
|
+
React.useEffect(function () {
|
|
87
|
+
setToolbarDisabled(isSelectedItemExists);
|
|
88
|
+
}, [isSelectedItemExists]);
|
|
58
89
|
|
|
59
90
|
var pageSettings = function pageSettings() {
|
|
60
91
|
setEditedElement("p_".concat(pageID));
|
|
@@ -82,6 +113,24 @@ var PageActions = function PageActions(_ref) {
|
|
|
82
113
|
onAnEventTrigger('duplicatePage', order + 1);
|
|
83
114
|
};
|
|
84
115
|
|
|
116
|
+
var isOverPage = React.useMemo(function () {
|
|
117
|
+
return overPageId === pageID;
|
|
118
|
+
}, [overPageId, pageID]);
|
|
119
|
+
var pageToolbarMouseOver = React.useCallback(function () {
|
|
120
|
+
if (isSelectedItemExists) {
|
|
121
|
+
setToolbarDisabled(false);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
setOverPage(pageID);
|
|
125
|
+
}, [pageID, setToolbarDisabled, setOverPage, isSelectedItemExists]);
|
|
126
|
+
var pageToolbarMouseOut = React.useCallback(function () {
|
|
127
|
+
if (isSelectedItemExists) {
|
|
128
|
+
setToolbarDisabled(true);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
setOutPage(null);
|
|
132
|
+
}, [setOutPage, setToolbarDisabled, isSelectedItemExists]);
|
|
133
|
+
|
|
85
134
|
var _useTranslatedTexts = hooks.useTranslatedTexts(),
|
|
86
135
|
ADD_NEW_PAGE = _useTranslatedTexts.ADD_NEW_PAGE,
|
|
87
136
|
DUPLICATE_PAGE = _useTranslatedTexts.DUPLICATE_PAGE;
|
|
@@ -94,7 +143,9 @@ var PageActions = function PageActions(_ref) {
|
|
|
94
143
|
className: "jfReport-pageInfo d-flex j-center",
|
|
95
144
|
id: "pageActions-id-".concat(order),
|
|
96
145
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
97
|
-
className: "floatingController page-toolbar".concat(
|
|
146
|
+
className: "floatingController page-toolbar".concat(toolbarDisabled ? ' disabled' : '').concat(isOverPage ? ' active' : ' inactive'),
|
|
147
|
+
onMouseOut: pageToolbarMouseOut,
|
|
148
|
+
onMouseOver: pageToolbarMouseOver,
|
|
98
149
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
99
150
|
className: "floatingController-container",
|
|
100
151
|
children: [/*#__PURE__*/jsxRuntime.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":";;;;;;;;;;;;;;;;;;;;IAQMA,WAAW,GAAG,SAAdA,WAAc,OAGd;AAAA,wBAFJC,KAEI;AAAA,MAFJA,KAEI,2BAFI,CAEJ;AAAA,yBADJC,MACI;AAAA,MADJA,MACI,4BADK,EACL;AACJ,MAAMC,KAAK,GAAGC,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,KAAV;AAAA,GAAN,CAA1B;AACA,EAAkBA,KAAK,CAACG;AACxB,MAAMC,gBAAgB,GAAGH,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACE,gBAAV;AAAA,GAAN,CAArC;AACA,MAAMC,SAAS,GAAGJ,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACG,SAAV;AAAA,GAAN,CAA9B;AACA,MAAMC,eAAe,GAAGL,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACI,eAAV;AAAA,GAAN,CAApC;AACA,EAA2BL,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACK,kBAAV;AAAA,GAAN;AACvC,MAAMC,YAAY,GAAGP,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACM,YAAV;AAAA,GAAN,CAAjC;AACA,MAAMC,kBAAkB,GAAGR,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACO,kBAAV;AAAA,GAAN,CAAvC;AAEA,MAAMC,mBAAmB,GAAGC,8BAAe,CAAC,UAAAT,KAAK;AAAA,WAAIA,KAAK,CAACQ,mBAAV;AAAA,GAAN,CAA3C;AACA,MAAME,gBAAgB,GAAGD,8BAAe,CAAC,UAAAT,KAAK;AAAA,WAAIA,KAAK,CAACU,gBAAV;AAAA,GAAN,CAAxC;AAEA,MAAMC,aAAa,GAAGC,yBAAmB,EAAzC;AACA,MAAMC,oBAAoB,GAAGC,aAAO,CAAC;AAAA,WAAM,CAAAH,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAEV,MAAf,IAAwB,CAA9B;AAAA,GAAD,EAAkC,CAACU,aAAD,CAAlC,CAApC;;AAEA,MAAMI,YAAY,GAAG,SAAfA,YAAe,GAAM;AACzBL,IAAAA,gBAAgB,aAAMb,MAAN,EAAhB;AACAW,IAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD,GAHD;;AAKA,MAAMQ,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,QAAMC,YAAY,GAAGrB,KAAK,GAAG,CAA7B;AACAO,IAAAA,SAAS,CAACc,YAAD,CAAT;AACAC,IAAAA,wBAAc,0BAAmBD,YAAnB,GAAmC,GAAnC,CAAd;AACAf,IAAAA,gBAAgB,CAAC,YAAD,EAAee,YAAf,CAAhB;AACD,GALD;;AAOA,MAAME,iBAAiB,GAAG,SAApBA,iBAAoB,GAAM;AAC9Bb,IAAAA,YAAY,CAACT,MAAD,CAAZ;AACAK,IAAAA,gBAAgB,CAAC,YAAD,EAAeL,MAAf,CAAhB;AACD,GAHD;;AA0BA,MAAMuB,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;AACjC,QAAMC,SAAS,GAAGvB,KAAK,CAACwB,IAAN,CAAW,UAAAC,IAAI;AAAA,aAAIA,IAAI,CAACC,EAAL,KAAY3B,MAAhB;AAAA,KAAf,CAAlB;AACAO,IAAAA,eAAe,CAACiB,SAAD,CAAf;AACAH,IAAAA,wBAAc,0BAAmBtB,KAAK,GAAG,CAA3B,GAAgC,GAAhC,CAAd;AACAM,IAAAA,gBAAgB,CAAC,eAAD,EAAkBN,KAAK,GAAG,CAA1B,CAAhB;AACD,GALD;;AAOA,4BAGI6B,wBAAkB,EAHtB;AAAA,MACEC,YADF,uBACEA,YADF;AAAA,MACgBC,cADhB,uBACgBA,cADhB;AAAA,0BACgCC,mBADhC;AAAA,0BAEEC,iBAFF;AAAA,UAEqBC,aAFrB,uBAEqBA,aAFrB;AAAA,MAEoCC,WAFpC,uBAEoCA;;AAEpC,sBACEC;AACE,IAAA,SAAS,EAAC,mCADZ;AAEE,IAAA,EAAE,2BAAoBpC,KAApB,CAFJ;AAAA,2BAIEqC;AAAK,MAAA,SAAS,2CAAoCpB,oBAAoB,GAAG,WAAH,GAAiB,EAAzE,CAAd;AAAA,8BACEoB;AAAK,QAAA,SAAS,EAAC,8BAAf;AAAA,gCACED;AAEE,UAAA,SAAS,EAAC,gBAFZ;AAGE,UAAA,OAAO,EAAEjB,YAHX;AAIE,UAAA,KAAK,EAAEe,aAJT;AAKE,UAAA,IAAI,EAAC,QALP;AAAA,iCAOEE,eAACE,aAAD;AAAoB,YAAA,SAAS,EAAC;AAA9B;AAPF,WACM,gBADN,CADF,eAUEF;AAEE,UAAA,SAAS,EAAC,gBAFZ;AAGE,UAAA,QAAQ,EAAEzB,kBAAkB,CAAC4B,OAAnB,CAA2B,WAA3B,IAA0C,CAAC,CAHvD;AAIE,UAAA,OAAO,EAAEf,oBAJX;AAKE,UAAA,KAAK,EAAEO,cALT;AAME,UAAA,IAAI,EAAC,QANP;AAAA,iCAQEK,eAACI,SAAD;AAAiB,YAAA,SAAS,EAAC;AAA3B;AARF,WACM,gBADN,CAVF,eAoBEJ;AAEE,UAAA,SAAS,EAAC,sBAFZ;AAGE,UAAA,QAAQ,EAAEzB,kBAAkB,CAAC4B,OAAnB,CAA2B,QAA3B,IAAuC,CAAC,CAHpD;AAIE,UAAA,OAAO,EAAEhB,iBAJX;AAKE,UAAA,KAAK,EAAEY,WALT;AAME,UAAA,IAAI,EAAC,QANP;AAAA,iCAQEC,eAACK,KAAD;AAAa,YAAA,SAAS,EAAC;AAAvB;AARF,WACM,cADN,CApBF;AAAA,QADF,EAgCG,MAhCH,eAsDEL;AAAK,QAAA,SAAS,EAAC,8BAAf;AAAA,+BACEA;AAEE,UAAA,SAAS,EAAC,wBAFZ;AAGE,UAAA,QAAQ,EAAEzB,kBAAkB,CAAC4B,OAAnB,CAA2B,KAA3B,IAAoC,CAAC,CAHjD;AAIE,UAAA,OAAO,EAAEnB,cAJX;AAKE,UAAA,KAAK,EAAEU,YALT;AAME,UAAA,IAAI,EAAC,QANP;AAAA,iCAQEM,eAACM,IAAD;AAAY,YAAA,SAAS,EAAC;AAAtB;AARF,WACM,WADN;AADF,QAtDF;AAAA;AAJF,IADF;AA0ED;;AAED3C,WAAW,CAAC4C,SAAZ,GAAwB;AACtB3C,EAAAA,KAAK,EAAE4C,6BAAS,CAACC,MADK;AAEtB5C,EAAAA,MAAM,EAAE2C,6BAAS,CAACE;AAFI,CAAxB;;;;"}
|
|
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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"}
|
|
@@ -22,7 +22,6 @@ var DraggableLayer = require('./DraggableLayer.js');
|
|
|
22
22
|
var useKeyboardActions = require('../../utils/useKeyboardActions.js');
|
|
23
23
|
var useMarqueeSelection = require('../../utils/useMarqueeSelection.js');
|
|
24
24
|
var SlidesNavigatorToggle = require('./SlidesNavigatorToggle.js');
|
|
25
|
-
var panel = require('../../constants/panel.js');
|
|
26
25
|
var jsxRuntime = require('react/jsx-runtime');
|
|
27
26
|
|
|
28
27
|
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; }
|
|
@@ -56,6 +55,12 @@ var Scene = function Scene() {
|
|
|
56
55
|
var slidesListType = BuilderContext.useBuilderStore(function (state) {
|
|
57
56
|
return state.slidesListType;
|
|
58
57
|
});
|
|
58
|
+
var setOverPage = BuilderContext.useBuilderStore(function (state) {
|
|
59
|
+
return state.setOverPage;
|
|
60
|
+
});
|
|
61
|
+
var setOutPage = BuilderContext.useBuilderStore(function (state) {
|
|
62
|
+
return state.setOutPage;
|
|
63
|
+
});
|
|
59
64
|
var pageStyles = React.useRef({});
|
|
60
65
|
var pageContainerStyles = React.useRef({});
|
|
61
66
|
var viewPortRef = React.useRef({});
|
|
@@ -147,7 +152,6 @@ var Scene = function Scene() {
|
|
|
147
152
|
width: width
|
|
148
153
|
};
|
|
149
154
|
return /*#__PURE__*/jsxRuntime.jsxs("main", {
|
|
150
|
-
// Builder.js
|
|
151
155
|
className: classNames.mainWrapper,
|
|
152
156
|
children: [/*#__PURE__*/jsxRuntime.jsx(DraggableLayer, {
|
|
153
157
|
pageRefs: refs.current
|
|
@@ -159,38 +163,40 @@ var Scene = function Scene() {
|
|
|
159
163
|
ref: canvasRef,
|
|
160
164
|
className: classNames.canvas,
|
|
161
165
|
children: [pages.map(function (page, index) {
|
|
162
|
-
return (
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
},
|
|
187
|
-
|
|
188
|
-
|
|
166
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
167
|
+
onMouseOut: function onMouseOut() {
|
|
168
|
+
return setOutPage(null);
|
|
169
|
+
},
|
|
170
|
+
onMouseOver: function onMouseOver() {
|
|
171
|
+
return setOverPage(page.id);
|
|
172
|
+
},
|
|
173
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(PageActions, {
|
|
174
|
+
order: page.order,
|
|
175
|
+
pageID: page.id
|
|
176
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
177
|
+
ref: refs.current[page.id],
|
|
178
|
+
className: classNames.page,
|
|
179
|
+
"data-id": page.id,
|
|
180
|
+
"data-order": page.order,
|
|
181
|
+
id: "presentation-page-".concat(page.id.toString()),
|
|
182
|
+
style: _objectSpread(_objectSpread({}, pageStyles.current), {}, {
|
|
183
|
+
position: 'relative'
|
|
184
|
+
}),
|
|
185
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Page, {
|
|
186
|
+
items: page.items,
|
|
187
|
+
page: page,
|
|
188
|
+
pageIndex: index,
|
|
189
|
+
style: pageContainerStyles.current
|
|
190
|
+
}), selectionPageId === page.id && selectionBox && /*#__PURE__*/jsxRuntime.jsx(SelectionBox, {
|
|
191
|
+
selectionBox: selectionBox
|
|
192
|
+
})]
|
|
193
|
+
}, "page_".concat(page.id))]
|
|
194
|
+
}, page.id);
|
|
189
195
|
}), /*#__PURE__*/jsxRuntime.jsx(PageAdder, {})]
|
|
190
196
|
})
|
|
191
197
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
192
198
|
className: "bottom-actions-container",
|
|
193
|
-
children: [slidesListType
|
|
199
|
+
children: [functions.slidesAsNavigator(slidesListType) && /*#__PURE__*/jsxRuntime.jsx(SlidesNavigatorToggle, {}), /*#__PURE__*/jsxRuntime.jsx(ZoomControls, {})]
|
|
194
200
|
}), contextMenuProps && /*#__PURE__*/jsxRuntime.jsx(ContextMenu, {
|
|
195
201
|
exceptionalClasses: ['contextMenu-button'],
|
|
196
202
|
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","Fragment","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 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 slidesAsNavigator,\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 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={() => setOutPage(null)}\n onMouseOver={() => setOverPage(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 {slidesAsNavigator(slidesListType) && <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","_jsxs","classNames","_jsx","index","order","toString","position","slidesAsNavigator","findItemById","findItemsOnPage","pageID"],"mappings":"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"}
|
|
@@ -6,7 +6,6 @@ var react = require('@floating-ui/react');
|
|
|
6
6
|
var PropTypes = require('prop-types');
|
|
7
7
|
var hooks = require('../../../../utils/hooks.js');
|
|
8
8
|
var PropContext = require('../../../../contexts/PropContext.js');
|
|
9
|
-
var functions = require('../../../../utils/functions.js');
|
|
10
9
|
var BuilderContext = require('../../../../contexts/BuilderContext.js');
|
|
11
10
|
var jsxRuntime = require('react/jsx-runtime');
|
|
12
11
|
var plus = require('../../../../assets/svg/plus.svg.js');
|
|
@@ -34,6 +33,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
34
33
|
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; }
|
|
35
34
|
|
|
36
35
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
36
|
+
var PAGE_ACTIONS_SYNC_MS = 100;
|
|
37
37
|
var SlideItemMoreMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
38
38
|
var order = _ref.order,
|
|
39
39
|
page = _ref.page;
|
|
@@ -147,32 +147,32 @@ var SlideItemMoreMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
147
147
|
transform: 'translate(9px, 0px)',
|
|
148
148
|
zIndex: '99999'
|
|
149
149
|
};
|
|
150
|
-
var nextPageIndex = order + 1;
|
|
151
150
|
var handleAddNewSlide = React.useCallback(function () {
|
|
152
|
-
|
|
153
|
-
|
|
151
|
+
var nextPageOrder = order + 1;
|
|
152
|
+
onPageAdd(nextPageOrder);
|
|
153
|
+
onAnEventTrigger('addNewPageFromSlides', nextPageOrder);
|
|
154
154
|
setIsOpen(false);
|
|
155
|
-
setTimeout(function () {
|
|
156
|
-
setVisiblePageOrder(
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
}, [onPageAdd, nextPageIndex, onAnEventTrigger, setVisiblePageOrder]);
|
|
155
|
+
window.setTimeout(function () {
|
|
156
|
+
setVisiblePageOrder(nextPageOrder);
|
|
157
|
+
}, PAGE_ACTIONS_SYNC_MS);
|
|
158
|
+
}, [onPageAdd, order, onAnEventTrigger, setVisiblePageOrder]);
|
|
160
159
|
var handleDuplicateSlide = React.useCallback(function () {
|
|
160
|
+
var nextPageOrder = order + 1;
|
|
161
161
|
onPageDuplicate(page);
|
|
162
|
-
onAnEventTrigger('duplicatePage',
|
|
162
|
+
onAnEventTrigger('duplicatePage', nextPageOrder);
|
|
163
163
|
setIsOpen(false);
|
|
164
|
-
setTimeout(function () {
|
|
165
|
-
setVisiblePageOrder(
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
}, [onPageDuplicate, page, nextPageIndex, onAnEventTrigger, setVisiblePageOrder]);
|
|
164
|
+
window.setTimeout(function () {
|
|
165
|
+
setVisiblePageOrder(nextPageOrder);
|
|
166
|
+
}, PAGE_ACTIONS_SYNC_MS);
|
|
167
|
+
}, [onPageDuplicate, page, order, onAnEventTrigger, setVisiblePageOrder]);
|
|
169
168
|
var handleDeleteSlide = React.useCallback(function () {
|
|
170
169
|
onPageRemove(page.id);
|
|
171
170
|
onAnEventTrigger('removePageFromSlides', page.id);
|
|
172
171
|
setIsOpen(false);
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
172
|
+
var visibleOrderAfterDelete = Math.max(order - 1, 1);
|
|
173
|
+
window.setTimeout(function () {
|
|
174
|
+
setVisiblePageOrder(visibleOrderAfterDelete);
|
|
175
|
+
}, PAGE_ACTIONS_SYNC_MS);
|
|
176
176
|
}, [page, order, onPageRemove, onAnEventTrigger, setVisiblePageOrder]);
|
|
177
177
|
var schemaOptions = React.useMemo(function () {
|
|
178
178
|
return [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlideItemMoreMenu.js","sources":["../../../../../../src/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js"],"sourcesContent":["import {\n forwardRef, useCallback, useImperativeHandle, useMemo, useState,\n} from 'react';\nimport {\n useFloating,\n autoUpdate,\n offset,\n flip,\n shift,\n useDismiss,\n useRole,\n useClick,\n useInteractions,\n useId,\n useFocus,\n FloatingPortal,\n autoPlacement,\n} from '@floating-ui/react';\nimport PropTypes from 'prop-types';\nimport * as icons from '../../../../utils/icons';\nimport { useTranslatedTexts } from '../../../../utils/hooks';\nimport { usePropStore } from '../../../../contexts/PropContext';\nimport { scrollToTarget } from '../../../../utils/functions';\nimport { useBuilderStore } from '../../../../contexts/BuilderContext';\n\nconst SlideItemMoreMenu = forwardRef(({ order, page }, ref) => {\n const [isOpen, setIsOpen] = useState(false);\n const [rectPosition, setRectPosition] = useState({ left: 0, top: 0 });\n const setVisiblePageOrder = useBuilderStore(state => state.setVisiblePageOrder);\n\n const openCardContextMenu = useCallback((e, useMousePointer = false) => {\n if (isOpen) return;\n e.preventDefault();\n const cursorTarget = e.target;\n let { top } = cursorTarget.getBoundingClientRect();\n let { left } = cursorTarget.getBoundingClientRect();\n if (useMousePointer) {\n top = e.clientY;\n left = e.clientX;\n }\n const { innerHeight, innerWidth } = window;\n const floatingHeight = 196;\n const floatingWidth = 224;\n const innerLeftDecrement = (innerWidth - left) > floatingWidth;\n const innerTopDecrement = (innerHeight - top) > floatingHeight;\n const leftVal = !innerLeftDecrement ? left - floatingWidth : left;\n const topVal = !innerTopDecrement ? top - (floatingHeight) : top + (!useMousePointer ? 24 : 0);\n setRectPosition({ left: leftVal, top: topVal });\n }, [isOpen]);\n\n const onPageAdd = usePropStore(state => state.onPageAdd);\n const onPageDuplicate = usePropStore(state => state.onPageDuplicate);\n const onPageRemove = usePropStore(state => state.onPageRemove);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n\n const { ADD_NEW_SLIDE, DELETE_SLIDE, DUPLICATE_SLIDE } = useTranslatedTexts();\n\n const { context, floatingStyles, refs } = useFloating({\n middleware: [\n offset({\n crossAxis: 10000,\n mainAxis: 5,\n }),\n flip({\n crossAxis: true,\n fallbackAxisSideDirection: 'none',\n }),\n shift(),\n autoPlacement({\n alignment: 'start',\n crossAxis: true,\n }),\n ],\n onOpenChange: nextOpen => {\n setIsOpen(nextOpen);\n },\n open: isOpen,\n placement: 'bottom',\n strategy: 'fixed',\n transform: true,\n whileElementsMounted: autoUpdate,\n });\n\n const click = useClick(context, {\n event: 'click',\n });\n const dismiss = useDismiss(context, { ancestorScroll: true });\n const role = useRole(context);\n const focus = useFocus(context);\n\n const { getFloatingProps } = useInteractions([\n click,\n dismiss,\n role,\n focus,\n ]);\n\n const headingId = useId();\n\n const customStyles = {\n boxShadow: '0px 2px 4px 0px rgba(37, 45, 91, 0.04), 0px 8px 16px 0px rgba(84, 95, 111, 0.16)',\n left: rectPosition.left,\n top: rectPosition.top,\n transform: 'translate(9px, 0px)',\n zIndex: '99999',\n };\n\n const nextPageIndex = order + 1;\n\n const handleAddNewSlide = useCallback(() => {\n onPageAdd(nextPageIndex);\n onAnEventTrigger('addNewPageFromSlides', nextPageIndex);\n setIsOpen(false);\n setTimeout(() => {\n setVisiblePageOrder(nextPageIndex);\n scrollToTarget(`pageActions-id-${nextPageIndex}`, 350);\n }, 100);\n }, [onPageAdd, nextPageIndex, onAnEventTrigger, setVisiblePageOrder]);\n\n const handleDuplicateSlide = useCallback(() => {\n onPageDuplicate(page);\n onAnEventTrigger('duplicatePage', nextPageIndex);\n setIsOpen(false);\n setTimeout(() => {\n setVisiblePageOrder(nextPageIndex);\n scrollToTarget(`pageActions-id-${nextPageIndex}`, 350);\n }, 100);\n }, [onPageDuplicate, page, nextPageIndex, onAnEventTrigger, setVisiblePageOrder]);\n\n const handleDeleteSlide = useCallback(() => {\n onPageRemove(page.id);\n onAnEventTrigger('removePageFromSlides', page.id);\n setIsOpen(false);\n setTimeout(() => {\n setVisiblePageOrder(Math.max(order - 1, 1));\n }, 100);\n }, [page, order, onPageRemove, onAnEventTrigger, setVisiblePageOrder]);\n\n const schemaOptions = useMemo(() => {\n return (\n [\n {\n className: 'slides-navigator-context-menu-item',\n icon: <icons.plus className=\"slides-navigator-context-menu-item-icon\" />,\n id: 'add_new_slide',\n isVisible: true,\n onClick: handleAddNewSlide,\n textClassName: 'slides-navigator-context-menu-item-text add',\n title: ADD_NEW_SLIDE,\n },\n {\n className: 'slides-navigator-context-menu-item',\n icon: <icons.duplicate className=\"slides-navigator-context-menu-item-icon\" />,\n id: 'duplicate_slide',\n isVisible: true,\n onClick: handleDuplicateSlide,\n textClassName: 'slides-navigator-context-menu-item-text duplicate',\n title: DUPLICATE_SLIDE,\n },\n {\n className: 'slides-navigator-context-menu-item',\n icon: <icons.trash className=\"slides-navigator-context-menu-item-icon delete\" />,\n id: 'delete_slide',\n isVisible: true,\n onClick: handleDeleteSlide,\n textClassName: 'slides-navigator-context-menu-item-text delete',\n title: DELETE_SLIDE,\n },\n ]\n );\n }, [handleAddNewSlide, handleDuplicateSlide, handleDeleteSlide, ADD_NEW_SLIDE, DUPLICATE_SLIDE, DELETE_SLIDE]);\n\n const handleOpenMenu = useCallback(e => {\n setIsOpen(true);\n openCardContextMenu(e, true);\n }, [openCardContextMenu]);\n\n useImperativeHandle(ref, () => {\n return {\n handleOpenMenu,\n };\n }, [handleOpenMenu]);\n\n return (\n <>\n {isOpen && (\n <FloatingPortal>\n {/* <PopoverOverlay /> */}\n <div\n ref={refs.setFloating}\n alignItems=\"start\"\n aria-labelledby={headingId}\n className=\"slides-navigator-context-menu\"\n direction=\"column\"\n justifyContent=\"start\"\n style={{\n ...floatingStyles,\n ...customStyles,\n }}\n {...getFloatingProps()}\n >\n <div\n className=\"slides-navigator-context-menu-items\"\n >\n {schemaOptions.map(schemaOption => {\n return (\n schemaOption.isVisible\n && (\n <button\n key={schemaOption.id}\n className={schemaOption.className}\n id={schemaOption.id}\n onClick={schemaOption.onClick}\n type=\"button\"\n >\n {schemaOption.icon}\n <span className={` ${schemaOption.textClassName}`}>{schemaOption.title}</span>\n </button>\n )\n );\n })}\n </div>\n </div>\n </FloatingPortal>\n )}\n </>\n );\n});\n\nSlideItemMoreMenu.propTypes = {\n order: PropTypes.number.isRequired,\n page: PropTypes.shape({\n id: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nexport default SlideItemMoreMenu;\n"],"names":["SlideItemMoreMenu","forwardRef","ref","order","page","useState","isOpen","setIsOpen","left","top","rectPosition","setRectPosition","setVisiblePageOrder","useBuilderStore","state","openCardContextMenu","useCallback","e","useMousePointer","preventDefault","cursorTarget","target","getBoundingClientRect","clientY","clientX","window","innerHeight","innerWidth","floatingHeight","floatingWidth","innerLeftDecrement","innerTopDecrement","leftVal","topVal","onPageAdd","usePropStore","onPageDuplicate","onPageRemove","onAnEventTrigger","useTranslatedTexts","ADD_NEW_SLIDE","DELETE_SLIDE","DUPLICATE_SLIDE","useFloating","middleware","offset","crossAxis","mainAxis","flip","fallbackAxisSideDirection","shift","autoPlacement","alignment","onOpenChange","nextOpen","open","placement","strategy","transform","whileElementsMounted","autoUpdate","context","floatingStyles","refs","click","useClick","event","dismiss","useDismiss","ancestorScroll","role","useRole","focus","useFocus","useInteractions","getFloatingProps","headingId","useId","customStyles","boxShadow","zIndex","nextPageIndex","handleAddNewSlide","setTimeout","scrollToTarget","handleDuplicateSlide","handleDeleteSlide","id","Math","max","schemaOptions","useMemo","className","icon","_jsx","icons.plus","isVisible","onClick","textClassName","title","icons.duplicate","icons.trash","handleOpenMenu","useImperativeHandle","FloatingPortal","setFloating","map","schemaOption","_jsxs","propTypes","PropTypes","number","isRequired","shape","string"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SlideItemMoreMenu.js","sources":["../../../../../../src/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js"],"sourcesContent":["import {\n forwardRef, useCallback, useImperativeHandle, useMemo, useState,\n} from 'react';\nimport {\n useFloating,\n autoUpdate,\n offset,\n flip,\n shift,\n useDismiss,\n useRole,\n useClick,\n useInteractions,\n useId,\n useFocus,\n FloatingPortal,\n autoPlacement,\n} from '@floating-ui/react';\nimport PropTypes from 'prop-types';\nimport * as icons from '../../../../utils/icons';\nimport { useTranslatedTexts } from '../../../../utils/hooks';\nimport { usePropStore } from '../../../../contexts/PropContext';\nimport { useBuilderStore } from '../../../../contexts/BuilderContext';\n\nconst PAGE_ACTIONS_SYNC_MS = 100;\n\nconst SlideItemMoreMenu = forwardRef(({ order, page }, ref) => {\n const [isOpen, setIsOpen] = useState(false);\n const [rectPosition, setRectPosition] = useState({ left: 0, top: 0 });\n const setVisiblePageOrder = useBuilderStore(state => state.setVisiblePageOrder);\n\n const openCardContextMenu = useCallback((e, useMousePointer = false) => {\n if (isOpen) return;\n e.preventDefault();\n const cursorTarget = e.target;\n let { top } = cursorTarget.getBoundingClientRect();\n let { left } = cursorTarget.getBoundingClientRect();\n if (useMousePointer) {\n top = e.clientY;\n left = e.clientX;\n }\n const { innerHeight, innerWidth } = window;\n const floatingHeight = 196;\n const floatingWidth = 224;\n const innerLeftDecrement = (innerWidth - left) > floatingWidth;\n const innerTopDecrement = (innerHeight - top) > floatingHeight;\n const leftVal = !innerLeftDecrement ? left - floatingWidth : left;\n const topVal = !innerTopDecrement ? top - (floatingHeight) : top + (!useMousePointer ? 24 : 0);\n setRectPosition({ left: leftVal, top: topVal });\n }, [isOpen]);\n\n const onPageAdd = usePropStore(state => state.onPageAdd);\n const onPageDuplicate = usePropStore(state => state.onPageDuplicate);\n const onPageRemove = usePropStore(state => state.onPageRemove);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n\n const { ADD_NEW_SLIDE, DELETE_SLIDE, DUPLICATE_SLIDE } = useTranslatedTexts();\n\n const { context, floatingStyles, refs } = useFloating({\n middleware: [\n offset({\n crossAxis: 10000,\n mainAxis: 5,\n }),\n flip({\n crossAxis: true,\n fallbackAxisSideDirection: 'none',\n }),\n shift(),\n autoPlacement({\n alignment: 'start',\n crossAxis: true,\n }),\n ],\n onOpenChange: nextOpen => {\n setIsOpen(nextOpen);\n },\n open: isOpen,\n placement: 'bottom',\n strategy: 'fixed',\n transform: true,\n whileElementsMounted: autoUpdate,\n });\n\n const click = useClick(context, {\n event: 'click',\n });\n const dismiss = useDismiss(context, { ancestorScroll: true });\n const role = useRole(context);\n const focus = useFocus(context);\n\n const { getFloatingProps } = useInteractions([\n click,\n dismiss,\n role,\n focus,\n ]);\n\n const headingId = useId();\n\n const customStyles = {\n boxShadow: '0px 2px 4px 0px rgba(37, 45, 91, 0.04), 0px 8px 16px 0px rgba(84, 95, 111, 0.16)',\n left: rectPosition.left,\n top: rectPosition.top,\n transform: 'translate(9px, 0px)',\n zIndex: '99999',\n };\n\n const handleAddNewSlide = useCallback(() => {\n const nextPageOrder = order + 1;\n onPageAdd(nextPageOrder);\n onAnEventTrigger('addNewPageFromSlides', nextPageOrder);\n setIsOpen(false);\n window.setTimeout(() => {\n setVisiblePageOrder(nextPageOrder);\n }, PAGE_ACTIONS_SYNC_MS);\n }, [onPageAdd, order, onAnEventTrigger, setVisiblePageOrder]);\n\n const handleDuplicateSlide = useCallback(() => {\n const nextPageOrder = order + 1;\n onPageDuplicate(page);\n onAnEventTrigger('duplicatePage', nextPageOrder);\n setIsOpen(false);\n window.setTimeout(() => {\n setVisiblePageOrder(nextPageOrder);\n }, PAGE_ACTIONS_SYNC_MS);\n }, [onPageDuplicate, page, order, onAnEventTrigger, setVisiblePageOrder]);\n\n const handleDeleteSlide = useCallback(() => {\n onPageRemove(page.id);\n onAnEventTrigger('removePageFromSlides', page.id);\n setIsOpen(false);\n const visibleOrderAfterDelete = Math.max(order - 1, 1);\n window.setTimeout(() => {\n setVisiblePageOrder(visibleOrderAfterDelete);\n }, PAGE_ACTIONS_SYNC_MS);\n }, [page, order, onPageRemove, onAnEventTrigger, setVisiblePageOrder]);\n\n const schemaOptions = useMemo(() => {\n return (\n [\n {\n className: 'slides-navigator-context-menu-item',\n icon: <icons.plus className=\"slides-navigator-context-menu-item-icon\" />,\n id: 'add_new_slide',\n isVisible: true,\n onClick: handleAddNewSlide,\n textClassName: 'slides-navigator-context-menu-item-text add',\n title: ADD_NEW_SLIDE,\n },\n {\n className: 'slides-navigator-context-menu-item',\n icon: <icons.duplicate className=\"slides-navigator-context-menu-item-icon\" />,\n id: 'duplicate_slide',\n isVisible: true,\n onClick: handleDuplicateSlide,\n textClassName: 'slides-navigator-context-menu-item-text duplicate',\n title: DUPLICATE_SLIDE,\n },\n {\n className: 'slides-navigator-context-menu-item',\n icon: <icons.trash className=\"slides-navigator-context-menu-item-icon delete\" />,\n id: 'delete_slide',\n isVisible: true,\n onClick: handleDeleteSlide,\n textClassName: 'slides-navigator-context-menu-item-text delete',\n title: DELETE_SLIDE,\n },\n ]\n );\n }, [handleAddNewSlide, handleDuplicateSlide, handleDeleteSlide, ADD_NEW_SLIDE, DUPLICATE_SLIDE, DELETE_SLIDE]);\n\n const handleOpenMenu = useCallback(e => {\n setIsOpen(true);\n openCardContextMenu(e, true);\n }, [openCardContextMenu]);\n\n useImperativeHandle(ref, () => {\n return {\n handleOpenMenu,\n };\n }, [handleOpenMenu]);\n\n return (\n <>\n {isOpen && (\n <FloatingPortal>\n {/* <PopoverOverlay /> */}\n <div\n ref={refs.setFloating}\n alignItems=\"start\"\n aria-labelledby={headingId}\n className=\"slides-navigator-context-menu\"\n direction=\"column\"\n justifyContent=\"start\"\n style={{\n ...floatingStyles,\n ...customStyles,\n }}\n {...getFloatingProps()}\n >\n <div\n className=\"slides-navigator-context-menu-items\"\n >\n {schemaOptions.map(schemaOption => {\n return (\n schemaOption.isVisible\n && (\n <button\n key={schemaOption.id}\n className={schemaOption.className}\n id={schemaOption.id}\n onClick={schemaOption.onClick}\n type=\"button\"\n >\n {schemaOption.icon}\n <span className={` ${schemaOption.textClassName}`}>{schemaOption.title}</span>\n </button>\n )\n );\n })}\n </div>\n </div>\n </FloatingPortal>\n )}\n </>\n );\n});\n\nSlideItemMoreMenu.propTypes = {\n order: PropTypes.number.isRequired,\n page: PropTypes.shape({\n id: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nexport default SlideItemMoreMenu;\n"],"names":["PAGE_ACTIONS_SYNC_MS","SlideItemMoreMenu","forwardRef","ref","order","page","useState","isOpen","setIsOpen","left","top","rectPosition","setRectPosition","setVisiblePageOrder","useBuilderStore","state","openCardContextMenu","useCallback","e","useMousePointer","preventDefault","cursorTarget","target","getBoundingClientRect","clientY","clientX","window","innerHeight","innerWidth","floatingHeight","floatingWidth","innerLeftDecrement","innerTopDecrement","leftVal","topVal","onPageAdd","usePropStore","onPageDuplicate","onPageRemove","onAnEventTrigger","useTranslatedTexts","ADD_NEW_SLIDE","DELETE_SLIDE","DUPLICATE_SLIDE","useFloating","middleware","offset","crossAxis","mainAxis","flip","fallbackAxisSideDirection","shift","autoPlacement","alignment","onOpenChange","nextOpen","open","placement","strategy","transform","whileElementsMounted","autoUpdate","context","floatingStyles","refs","click","useClick","event","dismiss","useDismiss","ancestorScroll","role","useRole","focus","useFocus","useInteractions","getFloatingProps","headingId","useId","customStyles","boxShadow","zIndex","handleAddNewSlide","nextPageOrder","setTimeout","handleDuplicateSlide","handleDeleteSlide","id","visibleOrderAfterDelete","Math","max","schemaOptions","useMemo","className","icon","_jsx","icons.plus","isVisible","onClick","textClassName","title","icons.duplicate","icons.trash","handleOpenMenu","useImperativeHandle","FloatingPortal","setFloating","map","schemaOption","_jsxs","propTypes","PropTypes","number","isRequired","shape","string"],"mappings":"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"}
|
|
@@ -50,13 +50,9 @@ var SlideItem = function SlideItem(_ref) {
|
|
|
50
50
|
var selected = BuilderContext.useBuilderStore(React.useCallback(function (state) {
|
|
51
51
|
return state.visiblePageOrder.toString() === order.toString();
|
|
52
52
|
}, [order]));
|
|
53
|
-
var setVisiblePageOrder = BuilderContext.useBuilderStore(function (state) {
|
|
54
|
-
return state.setVisiblePageOrder;
|
|
55
|
-
});
|
|
56
53
|
var itemClickHandler = React.useCallback(function (e) {
|
|
57
54
|
onPageClick === null || onPageClick === void 0 ? void 0 : onPageClick(e);
|
|
58
|
-
|
|
59
|
-
}, [order, onPageClick, setVisiblePageOrder]);
|
|
55
|
+
}, [onPageClick]);
|
|
60
56
|
var handleContextMenu = React.useCallback(function (e) {
|
|
61
57
|
var _moreMenuRef$current;
|
|
62
58
|
|