@jotforminc/dnd-builder 2.9.0 → 2.9.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 +9 -0
- package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js +41 -29
- package/lib/cjs/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js +1 -3
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItem.js +1 -9
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItem.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemRenderer.js +1 -3
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageItemRenderer.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js +4 -8
- package/lib/cjs/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
- package/lib/cjs/utils/hooks.js +8 -5
- package/lib/cjs/utils/hooks.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js +41 -29
- package/lib/esm/components/Panels/SlidesPanel/ListWrapper.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js +1 -3
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItem.js +1 -5
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItem.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItemRenderer.js +1 -3
- package/lib/esm/components/Panels/SlidesPanel/SortablePageItemRenderer.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js +4 -8
- package/lib/esm/components/Panels/SlidesPanel/SortablePageList.js.map +1 -1
- package/lib/esm/utils/hooks.js +8 -5
- package/lib/esm/utils/hooks.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [2.9.2](https://github.com/jotform/dnd-builder/compare/v2.9.1...v2.9.2) (2024-01-16)
|
|
6
|
+
|
|
7
|
+
### [2.9.1](https://github.com/CemTunaKoc/dnd-builder/compare/v2.9.0...v2.9.1) (2024-01-15)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* **dnd-builder:** onPageAdd prop added ([8e44a13](https://github.com/CemTunaKoc/dnd-builder/commit/8e44a130297379a394999fd38618e3846537bbb9))
|
|
13
|
+
|
|
5
14
|
## [2.9.0](https://github.com/jotform/dnd-builder/compare/v2.8.2...v2.9.0) (2023-12-26)
|
|
6
15
|
|
|
7
16
|
|
|
@@ -47,18 +47,13 @@ var ListWrapper = function ListWrapper(_ref) {
|
|
|
47
47
|
reportSettings = _ref.reportSettings,
|
|
48
48
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
49
49
|
|
|
50
|
-
var
|
|
50
|
+
var listRef = React.useRef(null);
|
|
51
51
|
|
|
52
52
|
var _useState = React.useState(-1),
|
|
53
53
|
_useState2 = _slicedToArray(_useState, 2),
|
|
54
54
|
selectedPageIndex = _useState2[0],
|
|
55
55
|
setSelectedPageIndex = _useState2[1];
|
|
56
56
|
|
|
57
|
-
var _useState3 = React.useState(true),
|
|
58
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
59
|
-
scrollTracking = _useState4[0],
|
|
60
|
-
setScrollTracking = _useState4[1];
|
|
61
|
-
|
|
62
57
|
var reportBackgroundColor = reportSettings.reportBackgroundColor,
|
|
63
58
|
_reportSettings$repor = reportSettings.reportLayoutHeight,
|
|
64
59
|
reportLayoutHeight = _reportSettings$repor === void 0 ? 794 : _reportSettings$repor,
|
|
@@ -86,61 +81,78 @@ var ListWrapper = function ListWrapper(_ref) {
|
|
|
86
81
|
|
|
87
82
|
var _onSortEnd = React.useCallback(function (sortEvent, nativeEvent) {
|
|
88
83
|
if (onSortEnd) {
|
|
89
|
-
onSortEnd(sortEvent, nativeEvent,
|
|
84
|
+
onSortEnd(sortEvent, nativeEvent, listRef.current);
|
|
90
85
|
}
|
|
91
86
|
}, [onSortEnd]);
|
|
92
87
|
|
|
93
|
-
React.
|
|
94
|
-
if (
|
|
95
|
-
var instance = outerRef.
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
React.useEffect(function () {
|
|
101
|
-
// for page thumbnails actions
|
|
102
|
-
if (!scrollTracking) {
|
|
103
|
-
functions.scrollToTarget("pageActions-id-".concat(selectedPageIndex), 0, {});
|
|
104
|
-
setScrollTracking(true);
|
|
88
|
+
var refSetter = React.useCallback(function (outerRef) {
|
|
89
|
+
if (outerRef) {
|
|
90
|
+
var instance = outerRef.getWrappedInstance();
|
|
91
|
+
|
|
92
|
+
if (instance) {
|
|
93
|
+
listRef.current = instance.sortablePageListRef.current;
|
|
94
|
+
}
|
|
105
95
|
}
|
|
106
|
-
}, [
|
|
96
|
+
}, []);
|
|
107
97
|
hooks.usePageVisibility(function (index) {
|
|
108
|
-
if (
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
98
|
+
if (index && !Number.isNaN(index)) {
|
|
99
|
+
var _listRef$current;
|
|
100
|
+
|
|
101
|
+
(_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollToItem(index, 'center');
|
|
102
|
+
var prevSelectedThumbnail = document.querySelector('.thumbnailWrapper.isSelected');
|
|
103
|
+
|
|
104
|
+
if (prevSelectedThumbnail) {
|
|
105
|
+
prevSelectedThumbnail.classList.remove('isSelected');
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
var nextSelectedThumbnail = document.querySelector(".thumbnailWrapper[data-order=\"".concat(index, "\"]"));
|
|
109
|
+
|
|
110
|
+
if (nextSelectedThumbnail) {
|
|
111
|
+
nextSelectedThumbnail.classList.add('isSelected');
|
|
112
|
+
}
|
|
112
113
|
}
|
|
113
|
-
},
|
|
114
|
+
}, pageCount, selectedPageIndex); // TODO: could be better than now. scrollend listener is a choice for some cases
|
|
115
|
+
|
|
116
|
+
var resetSelectedPageIndex = React.useCallback(function () {
|
|
117
|
+
setTimeout(function () {
|
|
118
|
+
setSelectedPageIndex(-1);
|
|
119
|
+
}, 1000);
|
|
120
|
+
}, []);
|
|
114
121
|
var onPageClick = React.useCallback(function (e) {
|
|
115
122
|
var order = e.target.getAttribute('data-order');
|
|
116
|
-
setScrollTracking(false);
|
|
117
123
|
setSelectedPageIndex(parseInt(order, 10));
|
|
118
124
|
|
|
119
125
|
if (!e.target.classList.contains('controllerItem')) {
|
|
120
126
|
// for page thumbnails actions
|
|
121
127
|
functions.scrollToTarget("pageActions-id-".concat(order));
|
|
122
128
|
}
|
|
129
|
+
|
|
130
|
+
resetSelectedPageIndex();
|
|
123
131
|
}, []);
|
|
124
132
|
var handlePageAdd = React.useCallback(function (index) {
|
|
125
|
-
setScrollTracking(false);
|
|
126
133
|
setSelectedPageIndex(index);
|
|
127
134
|
onPageAdd(index);
|
|
128
135
|
}, [onPageAdd]);
|
|
136
|
+
React.useEffect(function () {
|
|
137
|
+
// after new page added
|
|
138
|
+
functions.scrollToTarget("pageActions-id-".concat(selectedPageIndex), 0, {});
|
|
139
|
+
resetSelectedPageIndex();
|
|
140
|
+
}, [pageCount]);
|
|
129
141
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
130
142
|
children: [/*#__PURE__*/jsxRuntime.jsx(recharts.ResponsiveContainer, {
|
|
131
143
|
children: /*#__PURE__*/jsxRuntime.jsx(ResponsiveContent, {
|
|
132
144
|
children: function children(containerWidth, containerHeight) {
|
|
133
145
|
return /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({
|
|
134
|
-
ref:
|
|
146
|
+
ref: refSetter,
|
|
135
147
|
distance: 50,
|
|
136
148
|
height: containerHeight,
|
|
137
149
|
helperClass: "pageThumbnailHelper",
|
|
138
150
|
lockAxis: "y",
|
|
151
|
+
onPageAdd: handlePageAdd,
|
|
139
152
|
onPageClick: onPageClick,
|
|
140
153
|
onSortEnd: _onSortEnd,
|
|
141
154
|
pageContainerStyle: pageContainerStyles,
|
|
142
155
|
pageCount: pageCount,
|
|
143
|
-
selectedPageIndex: selectedPageIndex,
|
|
144
156
|
width: containerWidth
|
|
145
157
|
}, otherProps));
|
|
146
158
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListWrapper.js","sources":["../../../../../src/components/Panels/SlidesPanel/ListWrapper.js"],"sourcesContent":["import {\n memo, useCallback, useRef, useState, useMemo, useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { ResponsiveContainer } from 'recharts';\nimport ResponsiveContent from '../../ResponsiveContent';\nimport PageAdder from '../../Builder/PageAdder';\nimport { getScaleForPageThumbnail, scrollToTarget } from '../../../utils/functions';\nimport { usePageVisibility } from '../../../utils/hooks';\n\nconst ListWrapper = ({\n component: Component,\n onPageAdd,\n onSortEnd,\n pageCount,\n reportSettings,\n ...otherProps\n}) => {\n const
|
|
1
|
+
{"version":3,"file":"ListWrapper.js","sources":["../../../../../src/components/Panels/SlidesPanel/ListWrapper.js"],"sourcesContent":["import {\n memo, useCallback, useRef, useState, useMemo, useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { ResponsiveContainer } from 'recharts';\nimport ResponsiveContent from '../../ResponsiveContent';\nimport PageAdder from '../../Builder/PageAdder';\nimport { getScaleForPageThumbnail, scrollToTarget } from '../../../utils/functions';\nimport { usePageVisibility } from '../../../utils/hooks';\n\nconst ListWrapper = ({\n component: Component,\n onPageAdd,\n onSortEnd,\n pageCount,\n reportSettings,\n ...otherProps\n}) => {\n const listRef = useRef(null);\n const [selectedPageIndex, setSelectedPageIndex] = useState(-1);\n const {\n reportBackgroundColor,\n reportLayoutHeight = 794,\n reportLayoutWidth = 1123,\n } = reportSettings;\n const width = parseInt(reportLayoutWidth, 10);\n const height = parseInt(reportLayoutHeight, 10);\n const { left, scale, top } = getScaleForPageThumbnail(width, height);\n\n const pageContainerStyles = useMemo(() => ({\n backgroundColor: reportBackgroundColor || '#fff',\n height: height,\n left,\n top,\n transform: `scale(${scale})`,\n transformOrigin: '0 0',\n width: width,\n }), [reportSettings]);\n\n const _onSortEnd = useCallback((sortEvent, nativeEvent) => {\n if (onSortEnd) {\n onSortEnd(sortEvent, nativeEvent, listRef.current);\n }\n }, [onSortEnd]);\n\n const refSetter = useCallback(outerRef => {\n if (outerRef) {\n const instance = outerRef.getWrappedInstance();\n if (instance) {\n listRef.current = instance.sortablePageListRef.current;\n }\n }\n }, []);\n\n usePageVisibility(index => {\n if (index && !Number.isNaN(index)) {\n listRef.current?.scrollToItem(index, 'center');\n\n const prevSelectedThumbnail = document.querySelector('.thumbnailWrapper.isSelected');\n if (prevSelectedThumbnail) {\n prevSelectedThumbnail.classList.remove('isSelected');\n }\n\n const nextSelectedThumbnail = document\n .querySelector(`.thumbnailWrapper[data-order=\"${index}\"]`);\n if (nextSelectedThumbnail) {\n nextSelectedThumbnail.classList.add('isSelected');\n }\n }\n }, pageCount, selectedPageIndex);\n\n // TODO: could be better than now. scrollend listener is a choice for some cases\n const resetSelectedPageIndex = useCallback(() => {\n setTimeout(() => {\n setSelectedPageIndex(-1);\n }, 1000);\n }, []);\n\n const onPageClick = useCallback(e => {\n const order = e.target.getAttribute('data-order');\n setSelectedPageIndex(parseInt(order, 10));\n if (!e.target.classList.contains('controllerItem')) { // for page thumbnails actions\n scrollToTarget(`pageActions-id-${order}`);\n }\n resetSelectedPageIndex();\n }, []);\n\n const handlePageAdd = useCallback(index => {\n setSelectedPageIndex(index);\n onPageAdd(index);\n }, [onPageAdd]);\n\n useEffect(() => { // after new page added\n scrollToTarget(`pageActions-id-${selectedPageIndex}`, 0, {});\n resetSelectedPageIndex();\n }, [pageCount]);\n\n return (\n <>\n <ResponsiveContainer>\n <ResponsiveContent>\n {(containerWidth, containerHeight) => (\n <Component\n ref={refSetter}\n distance={50}\n height={containerHeight}\n helperClass=\"pageThumbnailHelper\"\n lockAxis=\"y\"\n onPageAdd={handlePageAdd}\n onPageClick={onPageClick}\n onSortEnd={_onSortEnd}\n pageContainerStyle={pageContainerStyles}\n pageCount={pageCount}\n width={containerWidth}\n {...otherProps}\n />\n )}\n </ResponsiveContent>\n </ResponsiveContainer>\n <div className=\"jfReport-pane-footer\">\n <PageAdder\n additionalClass=\"forOptions\"\n onPageAdd={handlePageAdd}\n pageCount={pageCount}\n />\n </div>\n </>\n );\n};\n\nListWrapper.propTypes = {\n component: PropTypes.any,\n onPageAdd: PropTypes.func,\n onSortEnd: PropTypes.func,\n pageCount: PropTypes.number,\n reportSettings: PropTypes.shape({\n reportBackgroundColor: PropTypes.string,\n reportLayoutHeight: PropTypes.string,\n reportLayoutWidth: PropTypes.string,\n }),\n};\n\nListWrapper.defaultProps = {\n component: null,\n onPageAdd: () => {},\n onSortEnd: () => {},\n pageCount: 0,\n reportSettings: {},\n};\n\nexport default memo(ListWrapper);\n"],"names":["ListWrapper","Component","component","onPageAdd","onSortEnd","pageCount","reportSettings","otherProps","listRef","useRef","useState","selectedPageIndex","setSelectedPageIndex","reportBackgroundColor","reportLayoutHeight","reportLayoutWidth","width","parseInt","height","getScaleForPageThumbnail","left","scale","top","pageContainerStyles","useMemo","backgroundColor","transform","transformOrigin","_onSortEnd","useCallback","sortEvent","nativeEvent","current","refSetter","outerRef","instance","getWrappedInstance","sortablePageListRef","usePageVisibility","index","Number","isNaN","scrollToItem","prevSelectedThumbnail","document","querySelector","classList","remove","nextSelectedThumbnail","add","resetSelectedPageIndex","setTimeout","onPageClick","e","order","target","getAttribute","contains","scrollToTarget","handlePageAdd","useEffect","_jsxs","_jsx","ResponsiveContainer","containerWidth","containerHeight","propTypes","PropTypes","any","func","number","shape","string","defaultProps","memo"],"mappings":"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"}
|
|
@@ -64,11 +64,9 @@ var SlidesPanel = function SlidesPanel(_ref) {
|
|
|
64
64
|
var pageGetter = React.useCallback(function (index) {
|
|
65
65
|
return pages[index];
|
|
66
66
|
}, [pages]);
|
|
67
|
-
var onPageSort = React.useCallback(function (_ref2, nativeEvent,
|
|
67
|
+
var onPageSort = React.useCallback(function (_ref2, nativeEvent, list) {
|
|
68
68
|
var newIndex = _ref2.newIndex,
|
|
69
69
|
oldIndex = _ref2.oldIndex;
|
|
70
|
-
var instance = ref.getWrappedInstance();
|
|
71
|
-
var list = instance.sortablePageListRef.current;
|
|
72
70
|
var newPageOrders = functions.arrayMove(pages, oldIndex, newIndex).reduce(function (acc, page, index) {
|
|
73
71
|
acc[page.id] = {
|
|
74
72
|
order: index + 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlidesPanel.js","sources":["../../../../../src/components/Panels/SlidesPanel/SlidesPanel.js"],"sourcesContent":["import { memo, useCallback, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FixedSizeList } from 'react-window';\nimport Panel from '../../Builder/Panel';\nimport SortablePageList from './SortablePageList';\nimport Section from '../../Builder/Section';\nimport { useBuilderContext } from '../../../utils/builderContext';\nimport { usePropContext } from '../../../utils/propContext';\nimport { arrayMove } from '../../../utils/functions';\nimport SlidesPanelToggler from './SlidesPanelToggler';\nimport ListWrapper from './ListWrapper';\nimport Button from '../../Settings/Button';\nimport { useClickOutsideListener, useTranslatedTexts } from '../../../utils/hooks';\n\nconst SlidesPanel = ({\n additionalPageItems,\n hashCode,\n itemAccessor,\n onPageAdd,\n onPageDuplicate,\n onPageOrdersChange,\n onPageRemove,\n pages,\n}) => {\n const {\n isRightPanelOpen,\n isSlidesPanelOpen,\n setIsAllSlidesPanelOpen,\n setIsSlidesPanelOpen,\n } = useBuilderContext();\n const {\n acceptedItems,\n disableInteraction,\n onAnEventTrigger,\n settings: reportSettings,\n useExperimentalFeatures,\n } = usePropContext();\n const [animationEnd, setAnimationEnd] = useState(true);\n\n const pageGetter = useCallback(index => {\n return pages[index];\n }, [pages]);\n\n const onPageSort = useCallback(({ newIndex, oldIndex }, nativeEvent,
|
|
1
|
+
{"version":3,"file":"SlidesPanel.js","sources":["../../../../../src/components/Panels/SlidesPanel/SlidesPanel.js"],"sourcesContent":["import { memo, useCallback, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FixedSizeList } from 'react-window';\nimport Panel from '../../Builder/Panel';\nimport SortablePageList from './SortablePageList';\nimport Section from '../../Builder/Section';\nimport { useBuilderContext } from '../../../utils/builderContext';\nimport { usePropContext } from '../../../utils/propContext';\nimport { arrayMove } from '../../../utils/functions';\nimport SlidesPanelToggler from './SlidesPanelToggler';\nimport ListWrapper from './ListWrapper';\nimport Button from '../../Settings/Button';\nimport { useClickOutsideListener, useTranslatedTexts } from '../../../utils/hooks';\n\nconst SlidesPanel = ({\n additionalPageItems,\n hashCode,\n itemAccessor,\n onPageAdd,\n onPageDuplicate,\n onPageOrdersChange,\n onPageRemove,\n pages,\n}) => {\n const {\n isRightPanelOpen,\n isSlidesPanelOpen,\n setIsAllSlidesPanelOpen,\n setIsSlidesPanelOpen,\n } = useBuilderContext();\n const {\n acceptedItems,\n disableInteraction,\n onAnEventTrigger,\n settings: reportSettings,\n useExperimentalFeatures,\n } = usePropContext();\n const [animationEnd, setAnimationEnd] = useState(true);\n\n const pageGetter = useCallback(index => {\n return pages[index];\n }, [pages]);\n\n const onPageSort = useCallback(({ newIndex, oldIndex }, nativeEvent, list) => {\n const newPageOrders = arrayMove(pages, oldIndex, newIndex).reduce((acc, page, index) => {\n acc[page.id] = { order: index + 1 };\n return acc;\n }, {});\n\n onPageOrdersChange(newPageOrders);\n onAnEventTrigger('sortPageFromSlides');\n\n list.forceUpdate();\n }, [pages]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSlides f-height',\n {\n isIdle: !isSlidesPanelOpen,\n otherOpened: isRightPanelOpen,\n },\n );\n\n const onClosePanel = () => {\n setAnimationEnd(false);\n setIsSlidesPanelOpen(false);\n };\n\n const onAnimationEnd = useCallback(() => {\n if (!isSlidesPanelOpen) {\n setAnimationEnd(true);\n }\n }, [isSlidesPanelOpen]);\n\n useClickOutsideListener(\n ['jfReport-canvas', 'jfReport-viewport', 'jfReport-pageInfo'],\n isSlidesPanelOpen,\n onClosePanel,\n );\n\n const { SLIDES } = useTranslatedTexts();\n\n return (\n <Panel\n additionalClassName={panelAdditionalClassName}\n onAnimationEnd={onAnimationEnd}\n >\n {isRightPanelOpen\n ? null\n : <SlidesPanelToggler onClosePanel={onClosePanel} />}\n {(isSlidesPanelOpen || (!isSlidesPanelOpen && !animationEnd)) && (\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section\n additionalComponent={useExperimentalFeatures ? (\n <Button\n classNames=\"jfReportButton isAccent showAll\"\n icon=\"allSlides\"\n onClick={() => setIsAllSlidesPanelOpen(true)}\n title=\"Show All\"\n />\n ) : null}\n icon=\"slides\"\n title={SLIDES}\n >\n <div className=\"toolItem-tabContent hasInnerScroll\">\n <ListWrapper\n acceptedItems={acceptedItems}\n additionalPageItems={additionalPageItems}\n component={SortablePageList(FixedSizeList)}\n disableInteraction={disableInteraction}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n onAnEventTrigger={onAnEventTrigger}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageRemove={onPageRemove}\n onSortEnd={onPageSort}\n pageCount={pages.length}\n pageGetter={pageGetter}\n reportSettings={reportSettings}\n />\n </div>\n </Section>\n </div>\n )}\n </Panel>\n );\n};\n\nSlidesPanel.propTypes = {\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n hashCode: PropTypes.string,\n itemAccessor: PropTypes.func,\n onPageAdd: PropTypes.func,\n onPageDuplicate: PropTypes.func,\n onPageOrdersChange: PropTypes.func,\n onPageRemove: PropTypes.func,\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n};\n\nSlidesPanel.defaultProps = {\n additionalPageItems: [],\n hashCode: '',\n itemAccessor: () => { },\n onPageAdd: () => { },\n onPageDuplicate: () => { },\n onPageOrdersChange: () => { },\n onPageRemove: () => { },\n pages: [],\n};\n\nexport default memo(SlidesPanel);\n"],"names":["SlidesPanel","additionalPageItems","hashCode","itemAccessor","onPageAdd","onPageDuplicate","onPageOrdersChange","onPageRemove","pages","useBuilderContext","isRightPanelOpen","isSlidesPanelOpen","setIsAllSlidesPanelOpen","setIsSlidesPanelOpen","usePropContext","acceptedItems","disableInteraction","onAnEventTrigger","reportSettings","settings","useExperimentalFeatures","useState","animationEnd","setAnimationEnd","pageGetter","useCallback","index","onPageSort","nativeEvent","list","newIndex","oldIndex","newPageOrders","arrayMove","reduce","acc","page","id","order","forceUpdate","panelAdditionalClassName","classNames","isIdle","otherOpened","onClosePanel","onAnimationEnd","useClickOutsideListener","useTranslatedTexts","SLIDES","_jsxs","_jsx","SortablePageList","FixedSizeList","length","propTypes","PropTypes","arrayOf","node","string","func","shape","defaultProps","memo"],"mappings":"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"}
|
|
@@ -2,21 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var reactSortableHoc = require('react-sortable-hoc');
|
|
5
|
-
var classNames = require('classnames');
|
|
6
5
|
var StaticPage = require('../../Preview/StaticPage.js');
|
|
7
6
|
var PageThumbnailActions = require('./PageThumbnailActions.js');
|
|
8
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
8
|
|
|
10
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
|
-
|
|
12
|
-
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
|
13
|
-
|
|
14
9
|
var SortablePageItem = reactSortableHoc.SortableElement(function (_ref) {
|
|
15
10
|
var acceptedItems = _ref.acceptedItems,
|
|
16
11
|
additionalPageItems = _ref.additionalPageItems,
|
|
17
12
|
disableInteraction = _ref.disableInteraction,
|
|
18
13
|
hashCode = _ref.hashCode,
|
|
19
|
-
isSelected = _ref.isSelected,
|
|
20
14
|
itemAccessor = _ref.itemAccessor,
|
|
21
15
|
onAnEventTrigger = _ref.onAnEventTrigger,
|
|
22
16
|
onPageAdd = _ref.onPageAdd,
|
|
@@ -33,9 +27,7 @@ var SortablePageItem = reactSortableHoc.SortableElement(function (_ref) {
|
|
|
33
27
|
};
|
|
34
28
|
|
|
35
29
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
36
|
-
className:
|
|
37
|
-
isSelected: isSelected
|
|
38
|
-
}),
|
|
30
|
+
className: "thumbnailWrapper d-flex a-center j-between",
|
|
39
31
|
"data-id": page.id,
|
|
40
32
|
"data-order": order,
|
|
41
33
|
onClick: onPageClick,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortablePageItem.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageItem.js"],"sourcesContent":["import { memo } from 'react';\nimport { SortableElement } from 'react-sortable-hoc';\nimport
|
|
1
|
+
{"version":3,"file":"SortablePageItem.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageItem.js"],"sourcesContent":["import { memo } from 'react';\nimport { SortableElement } from 'react-sortable-hoc';\nimport StaticPage from '../../Preview/StaticPage';\nimport PageThumbnailActions from './PageThumbnailActions';\n\nconst SortablePageItem = SortableElement(({\n acceptedItems,\n additionalPageItems,\n disableInteraction,\n hashCode,\n itemAccessor,\n onAnEventTrigger,\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n order,\n page,\n pageContainerStyle,\n style,\n}) => {\n const onKeyDown = f => f;\n return (\n <div\n className=\"thumbnailWrapper d-flex a-center j-between\"\n data-id={page.id}\n data-order={order}\n onClick={onPageClick}\n onKeyDown={onKeyDown}\n style={style}\n >\n <div className=\"thumbnailOrder\">{order}</div>\n <div className=\"thumbnailFrame o-hidden\">\n <StaticPage\n acceptedItems={acceptedItems}\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n isThumbnail\n itemAccessor={itemAccessor}\n items={page.items}\n style={pageContainerStyle}\n />\n </div>\n <PageThumbnailActions\n disableInteraction={disableInteraction}\n onAnEventTrigger={onAnEventTrigger}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageRemove={onPageRemove}\n order={order}\n page={page}\n />\n </div>\n );\n});\n\nexport default memo(SortablePageItem);\n"],"names":["SortablePageItem","SortableElement","acceptedItems","additionalPageItems","disableInteraction","hashCode","itemAccessor","onAnEventTrigger","onPageAdd","onPageClick","onPageDuplicate","onPageRemove","order","page","pageContainerStyle","style","onKeyDown","f","_jsxs","id","_jsx","StaticPage","items","memo"],"mappings":";;;;;;;;AAKA,IAAMA,gBAAgB,GAAGC,gCAAe,CAAC,gBAenC;AAAA,MAdJC,aAcI,QAdJA,aAcI;AAAA,MAbJC,mBAaI,QAbJA,mBAaI;AAAA,MAZJC,kBAYI,QAZJA,kBAYI;AAAA,MAXJC,QAWI,QAXJA,QAWI;AAAA,MAVJC,YAUI,QAVJA,YAUI;AAAA,MATJC,gBASI,QATJA,gBASI;AAAA,MARJC,SAQI,QARJA,SAQI;AAAA,MAPJC,WAOI,QAPJA,WAOI;AAAA,MANJC,eAMI,QANJA,eAMI;AAAA,MALJC,YAKI,QALJA,YAKI;AAAA,MAJJC,KAII,QAJJA,KAII;AAAA,MAHJC,IAGI,QAHJA,IAGI;AAAA,MAFJC,kBAEI,QAFJA,kBAEI;AAAA,MADJC,KACI,QADJA,KACI;;AACJ,MAAMC,SAAS,GAAG,SAAZA,SAAY,CAAAC,CAAC;AAAA,WAAIA,CAAJ;AAAA,GAAnB;;AACA,sBACEC;AACE,IAAA,SAAS,EAAC,4CADZ;AAEE,eAASL,IAAI,CAACM,EAFhB;AAGE,kBAAYP,KAHd;AAIE,IAAA,OAAO,EAAEH,WAJX;AAKE,IAAA,SAAS,EAAEO,SALb;AAME,IAAA,KAAK,EAAED,KANT;AAAA,4BAQEK;AAAK,MAAA,SAAS,EAAC,gBAAf;AAAA,gBAAiCR;AAAjC,MARF,eASEQ;AAAK,MAAA,SAAS,EAAC,yBAAf;AAAA,6BACEA,eAACC,qBAAD;AACE,QAAA,aAAa,EAAEnB,aADjB;AAEE,QAAA,mBAAmB,EAAEC,mBAFvB;AAGE,QAAA,QAAQ,EAAEE,QAHZ;AAIE,QAAA,WAAW,MAJb;AAKE,QAAA,YAAY,EAAEC,YALhB;AAME,QAAA,KAAK,EAAEO,IAAI,CAACS,KANd;AAOE,QAAA,KAAK,EAAER;AAPT;AADF,MATF,eAoBEM,eAAC,oBAAD;AACE,MAAA,kBAAkB,EAAEhB,kBADtB;AAEE,MAAA,gBAAgB,EAAEG,gBAFpB;AAGE,MAAA,SAAS,EAAEC,SAHb;AAIE,MAAA,eAAe,EAAEE,eAJnB;AAKE,MAAA,YAAY,EAAEC,YALhB;AAME,MAAA,KAAK,EAAEC,KANT;AAOE,MAAA,IAAI,EAAEC;AAPR,MApBF;AAAA,IADF;AAgCD,CAjDuC,CAAxC;AAmDA,sCAAeU,UAAI,CAACvB,gBAAD,CAAnB;;;;"}
|
|
@@ -11,7 +11,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
11
11
|
|
|
12
12
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
13
13
|
|
|
14
|
-
var _excluded = ["pageContainerStyle", "pageGetter"
|
|
14
|
+
var _excluded = ["pageContainerStyle", "pageGetter"];
|
|
15
15
|
|
|
16
16
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
17
17
|
|
|
@@ -30,7 +30,6 @@ var SortablePageItemRenderer = function SortablePageItemRenderer(_ref) {
|
|
|
30
30
|
|
|
31
31
|
var pageContainerStyle = data.pageContainerStyle,
|
|
32
32
|
pageGetter = data.pageGetter,
|
|
33
|
-
selectedPageIndex = data.selectedPageIndex,
|
|
34
33
|
otherData = _objectWithoutProperties(data, _excluded);
|
|
35
34
|
|
|
36
35
|
var page = pageGetter(index);
|
|
@@ -41,7 +40,6 @@ var SortablePageItemRenderer = function SortablePageItemRenderer(_ref) {
|
|
|
41
40
|
|
|
42
41
|
return /*#__PURE__*/jsxRuntime.jsx(SortablePageItem, _objectSpread({
|
|
43
42
|
index: index,
|
|
44
|
-
isSelected: selectedPageIndex === page.order,
|
|
45
43
|
order: page.order,
|
|
46
44
|
page: page,
|
|
47
45
|
pageContainerStyle: pageContainerLastStyle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortablePageItemRenderer.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageItemRenderer.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { areEqual } from 'react-window';\nimport SortablePageItem from './SortablePageItem';\n\nconst SortablePageItemRenderer = ({ data, index, style }) => {\n const {\n pageContainerStyle, pageGetter,
|
|
1
|
+
{"version":3,"file":"SortablePageItemRenderer.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageItemRenderer.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { areEqual } from 'react-window';\nimport SortablePageItem from './SortablePageItem';\n\nconst SortablePageItemRenderer = ({ data, index, style }) => {\n const {\n pageContainerStyle, pageGetter, ...otherData\n } = data;\n const page = pageGetter(index);\n const pageContainerLastStyle = {\n ...pageContainerStyle,\n ...page.backgroundColor ? { backgroundColor: page.backgroundColor } : {},\n };\n return (\n <SortablePageItem\n key={`page-${index}-${page.id}`}\n index={index}\n order={page.order}\n page={page}\n pageContainerStyle={pageContainerLastStyle}\n style={style}\n {...otherData}\n />\n );\n};\n\nSortablePageItemRenderer.propTypes = {\n data: PropTypes.shape({\n pageContainerStyle: PropTypes.shape({\n backgroundColor: PropTypes.string,\n }),\n pageGetter: PropTypes.func,\n selectedPageIndex: PropTypes.number,\n }),\n index: PropTypes.number.isRequired,\n style: PropTypes.shape({\n top: PropTypes.number,\n }).isRequired,\n};\n\nSortablePageItemRenderer.defaultProps = {\n data: {},\n};\n\nexport default memo(SortablePageItemRenderer, areEqual);\n"],"names":["SortablePageItemRenderer","data","index","style","pageContainerStyle","pageGetter","otherData","page","pageContainerLastStyle","backgroundColor","_jsx","order","id","propTypes","PropTypes","shape","string","func","selectedPageIndex","number","isRequired","top","defaultProps","memo","areEqual"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,OAA4B;AAAA,MAAzBC,IAAyB,QAAzBA,IAAyB;AAAA,MAAnBC,KAAmB,QAAnBA,KAAmB;AAAA,MAAZC,KAAY,QAAZA,KAAY;;AAC3D,MACEC,kBADF,GAEIH,IAFJ,CACEG,kBADF;AAAA,MACsBC,UADtB,GAEIJ,IAFJ,CACsBI,UADtB;AAAA,MACqCC,SADrC,4BAEIL,IAFJ;;AAGA,MAAMM,IAAI,GAAGF,UAAU,CAACH,KAAD,CAAvB;;AACA,MAAMM,sBAAsB,mCACvBJ,kBADuB,GAEvBG,IAAI,CAACE,eAAL,GAAuB;AAAEA,IAAAA,eAAe,EAAEF,IAAI,CAACE;AAAxB,GAAvB,GAAmE,EAF5C,CAA5B;;AAIA,sBACEC,eAAC,gBAAD;AAEE,IAAA,KAAK,EAAER,KAFT;AAGE,IAAA,KAAK,EAAEK,IAAI,CAACI,KAHd;AAIE,IAAA,IAAI,EAAEJ,IAJR;AAKE,IAAA,kBAAkB,EAAEC,sBALtB;AAME,IAAA,KAAK,EAAEL;AANT,KAOMG,SAPN,kBACeJ,KADf,cACwBK,IAAI,CAACK,EAD7B,EADF;AAWD,CApBD;;AAsBAZ,wBAAwB,CAACa,SAAzB,GAAqC;AACnCZ,EAAAA,IAAI,EAAEa,6BAAS,CAACC,KAAV,CAAgB;AACpBX,IAAAA,kBAAkB,EAAEU,6BAAS,CAACC,KAAV,CAAgB;AAClCN,MAAAA,eAAe,EAAEK,6BAAS,CAACE;AADO,KAAhB,CADA;AAIpBX,IAAAA,UAAU,EAAES,6BAAS,CAACG,IAJF;AAKpBC,IAAAA,iBAAiB,EAAEJ,6BAAS,CAACK;AALT,GAAhB,CAD6B;AAQnCjB,EAAAA,KAAK,EAAEY,6BAAS,CAACK,MAAV,CAAiBC,UARW;AASnCjB,EAAAA,KAAK,EAAEW,6BAAS,CAACC,KAAV,CAAgB;AACrBM,IAAAA,GAAG,EAAEP,6BAAS,CAACK;AADM,GAAhB,EAEJC;AAXgC,CAArC;AAcApB,wBAAwB,CAACsB,YAAzB,GAAwC;AACtCrB,EAAAA,IAAI,EAAE;AADgC,CAAxC;AAIA,8CAAesB,UAAI,CAACvB,wBAAD,EAA2BwB,oBAA3B,CAAnB;;;;"}
|
|
@@ -34,7 +34,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
|
|
|
34
34
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
35
35
|
|
|
36
36
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
37
|
-
var createItemData = memoizeOne__default['default'](function (acceptedItems, additionalPageItems, disableInteraction, hashCode, itemAccessor, onAnEventTrigger, onPageAdd, onPageClick, onPageDuplicate, onPageRemove, pageContainerStyle, pageGetter
|
|
37
|
+
var createItemData = memoizeOne__default['default'](function (acceptedItems, additionalPageItems, disableInteraction, hashCode, itemAccessor, onAnEventTrigger, onPageAdd, onPageClick, onPageDuplicate, onPageRemove, pageContainerStyle, pageGetter) {
|
|
38
38
|
return {
|
|
39
39
|
acceptedItems: acceptedItems,
|
|
40
40
|
additionalPageItems: additionalPageItems,
|
|
@@ -47,8 +47,7 @@ var createItemData = memoizeOne__default['default'](function (acceptedItems, add
|
|
|
47
47
|
onPageDuplicate: onPageDuplicate,
|
|
48
48
|
onPageRemove: onPageRemove,
|
|
49
49
|
pageContainerStyle: pageContainerStyle,
|
|
50
|
-
pageGetter: pageGetter
|
|
51
|
-
selectedPageIndex: selectedPageIndex
|
|
50
|
+
pageGetter: pageGetter
|
|
52
51
|
};
|
|
53
52
|
});
|
|
54
53
|
|
|
@@ -83,9 +82,8 @@ var SortablePageList = function SortablePageList(Component) {
|
|
|
83
82
|
onPageDuplicate = _this$props.onPageDuplicate,
|
|
84
83
|
onPageRemove = _this$props.onPageRemove,
|
|
85
84
|
pageContainerStyle = _this$props.pageContainerStyle,
|
|
86
|
-
pageGetter = _this$props.pageGetter
|
|
87
|
-
|
|
88
|
-
return createItemData(acceptedItems, additionalPageItems, disableInteraction, hashCode, itemAccessor, onAnEventTrigger, onPageAdd, onPageClick, onPageDuplicate, onPageRemove, pageContainerStyle, pageGetter, selectedPageIndex);
|
|
85
|
+
pageGetter = _this$props.pageGetter;
|
|
86
|
+
return createItemData(acceptedItems, additionalPageItems, disableInteraction, hashCode, itemAccessor, onAnEventTrigger, onPageAdd, onPageClick, onPageDuplicate, onPageRemove, pageContainerStyle, pageGetter);
|
|
89
87
|
}
|
|
90
88
|
}, {
|
|
91
89
|
key: "render",
|
|
@@ -124,7 +122,6 @@ var SortablePageList = function SortablePageList(Component) {
|
|
|
124
122
|
pageContainerStyle: PropTypes__default['default'].shape({}),
|
|
125
123
|
pageCount: PropTypes__default['default'].number,
|
|
126
124
|
pageGetter: PropTypes__default['default'].func,
|
|
127
|
-
selectedPageIndex: PropTypes__default['default'].number,
|
|
128
125
|
width: PropTypes__default['default'].number
|
|
129
126
|
};
|
|
130
127
|
ReactWindowList.defaultProps = {
|
|
@@ -142,7 +139,6 @@ var SortablePageList = function SortablePageList(Component) {
|
|
|
142
139
|
pageContainerStyle: {},
|
|
143
140
|
pageCount: 0,
|
|
144
141
|
pageGetter: function pageGetter() {},
|
|
145
|
-
selectedPageIndex: 1,
|
|
146
142
|
width: 0
|
|
147
143
|
};
|
|
148
144
|
return reactSortableHoc.SortableContainer(ReactWindowList, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortablePageList.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageList.js"],"sourcesContent":["import { PureComponent, createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { SortableContainer } from 'react-sortable-hoc';\nimport memoize from 'memoize-one';\nimport SortablePageItemRenderer from './SortablePageItemRenderer';\n\nconst createItemData = memoize((\n acceptedItems,\n additionalPageItems,\n disableInteraction,\n hashCode,\n itemAccessor,\n onAnEventTrigger,\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n
|
|
1
|
+
{"version":3,"file":"SortablePageList.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageList.js"],"sourcesContent":["import { PureComponent, createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { SortableContainer } from 'react-sortable-hoc';\nimport memoize from 'memoize-one';\nimport SortablePageItemRenderer from './SortablePageItemRenderer';\n\nconst createItemData = memoize((\n acceptedItems,\n additionalPageItems,\n disableInteraction,\n hashCode,\n itemAccessor,\n onAnEventTrigger,\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n) => ({\n acceptedItems,\n additionalPageItems,\n disableInteraction,\n hashCode,\n itemAccessor,\n onAnEventTrigger,\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n}));\n\nconst SortablePageList = Component => {\n class ReactWindowList extends PureComponent {\n constructor(props) {\n super(props);\n\n this.sortablePageListRef = createRef();\n }\n\n get itemData() {\n const {\n acceptedItems,\n additionalPageItems,\n disableInteraction,\n hashCode,\n itemAccessor,\n onAnEventTrigger,\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n } = this.props;\n return createItemData(\n acceptedItems,\n additionalPageItems,\n disableInteraction,\n hashCode,\n itemAccessor,\n onAnEventTrigger,\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n );\n }\n\n render() {\n const { height, pageCount, width } = this.props;\n\n return (\n <Component\n ref={this.sortablePageListRef}\n height={height}\n itemCount={pageCount}\n itemData={this.itemData}\n itemSize={127}\n width={width}\n >\n {SortablePageItemRenderer}\n </Component>\n );\n }\n }\n\n ReactWindowList.propTypes = {\n acceptedItems: PropTypes.shape({}),\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n disableInteraction: PropTypes.arrayOf(PropTypes.string),\n hashCode: PropTypes.string,\n height: PropTypes.number,\n itemAccessor: PropTypes.func,\n onAnEventTrigger: PropTypes.func,\n onPageAdd: PropTypes.func,\n onPageClick: PropTypes.func,\n onPageDuplicate: PropTypes.func,\n onPageRemove: PropTypes.func,\n pageContainerStyle: PropTypes.shape({}),\n pageCount: PropTypes.number,\n pageGetter: PropTypes.func,\n width: PropTypes.number,\n };\n\n ReactWindowList.defaultProps = {\n acceptedItems: {},\n additionalPageItems: [],\n disableInteraction: [],\n hashCode: '',\n height: 0,\n itemAccessor: () => {},\n onAnEventTrigger: () => {},\n onPageAdd: () => {},\n onPageClick: () => {},\n onPageDuplicate: () => {},\n onPageRemove: () => {},\n pageContainerStyle: {},\n pageCount: 0,\n pageGetter: () => {},\n width: 0,\n };\n\n return SortableContainer(ReactWindowList, { withRef: true });\n};\n\nexport default memoize(SortablePageList);\n"],"names":["createItemData","memoize","acceptedItems","additionalPageItems","disableInteraction","hashCode","itemAccessor","onAnEventTrigger","onPageAdd","onPageClick","onPageDuplicate","onPageRemove","pageContainerStyle","pageGetter","SortablePageList","Component","ReactWindowList","props","sortablePageListRef","createRef","height","pageCount","width","_jsx","itemData","SortablePageItemRenderer","PureComponent","propTypes","PropTypes","shape","arrayOf","node","string","number","func","defaultProps","SortableContainer","withRef"],"mappings":"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"}
|
package/lib/cjs/utils/hooks.js
CHANGED
|
@@ -58,7 +58,7 @@ var useFitZoom = function useFitZoom(_ref) {
|
|
|
58
58
|
});
|
|
59
59
|
}, [settings.reportLayout]);
|
|
60
60
|
};
|
|
61
|
-
var usePageVisibility = function usePageVisibility(callback,
|
|
61
|
+
var usePageVisibility = function usePageVisibility(callback, pageCount, selectedPageIndex) {
|
|
62
62
|
var ratio = React.useRef({});
|
|
63
63
|
var pageRefs = React.useRef([]);
|
|
64
64
|
var observer = new window.IntersectionObserver(function (entries) {
|
|
@@ -84,15 +84,18 @@ var usePageVisibility = function usePageVisibility(callback, scrollTracking, pag
|
|
|
84
84
|
pageRefs.current = document.querySelectorAll('.jfReport-page');
|
|
85
85
|
}, [pageCount]);
|
|
86
86
|
React.useEffect(function () {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
if (selectedPageIndex === -1) {
|
|
88
|
+
pageRefs.current.forEach(function (page) {
|
|
89
|
+
observer.observe(page);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
|
|
90
93
|
return function () {
|
|
91
94
|
pageRefs.current.forEach(function (page) {
|
|
92
95
|
observer.unobserve(page);
|
|
93
96
|
});
|
|
94
97
|
};
|
|
95
|
-
}, [
|
|
98
|
+
}, [selectedPageIndex]);
|
|
96
99
|
};
|
|
97
100
|
var useFullscreenChange = function useFullscreenChange(isFullscreen, setIsFullscreen, fitToScreen) {
|
|
98
101
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sources":["../../../src/utils/hooks.js"],"sourcesContent":["import {\n useEffect,\n useRef,\n useState,\n useMemo,\n} from 'react';\nimport { zoomHandler } from './functions';\nimport { SharingTextsModule } from '../constants/texts';\n\nexport const useStateWithCallback = (initialState, callback) => {\n const [state, setState] = useState(initialState);\n\n useEffect(() => callback(state), [state, callback]);\n\n return [state, setState];\n};\n\nexport const useEventListener = (eventName, handler, element = global) => {\n const savedHandler = useRef();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(\n () => {\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n const eventListener = event => savedHandler.current(event);\n element.addEventListener(eventName, eventListener);\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n },\n [eventName, element],\n );\n};\n\nexport const useInterval = (callback, delay) => {\n const savedCallback = useRef();\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n};\n\nexport const usePrevious = value => {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\n\nexport const useFitZoom = ({\n handler,\n isModeCustomize,\n settings,\n}) => {\n useEffect(() => {\n zoomHandler({\n handler,\n isModeCustomize,\n limitZoom: true,\n onLoad: true, // while page is loading, some conditions should be not working in handler\n settings,\n });\n }, [settings.reportLayout]);\n};\n\nexport const usePageVisibility = (callback, scrollTracking, pageCount, selectedPageIndex) => {\n const ratio = useRef({});\n const pageRefs = useRef([]);\n const observer = new window.IntersectionObserver(entries => {\n entries.forEach(entry => {\n const order = entry.target.getAttribute('data-order');\n if (entry.intersectionRatio !== 0) {\n ratio.current[order] = entry.intersectionRatio;\n } else {\n delete ratio.current[order];\n }\n });\n callback(parseInt(\n Object.keys(ratio.current)\n .find(key => ratio.current[key] === Math.max(...Object.values(ratio.current))),\n 10,\n ));\n },\n {\n delay: 100,\n root: document.querySelector('.jfReport-viewport'),\n threshold: [0, 0.5, 1],\n });\n\n useEffect(() => {\n ratio.current = {};\n pageRefs.current = document.querySelectorAll('.jfReport-page');\n }, [pageCount]);\n\n useEffect(() => {\n pageRefs.current.forEach(page => {\n observer.observe(page);\n });\n\n return () => {\n pageRefs.current.forEach(page => {\n observer.unobserve(page);\n });\n };\n }, [pageRefs.current, scrollTracking, selectedPageIndex]);\n};\n\nexport const useFullscreenChange = (isFullscreen, setIsFullscreen, fitToScreen) => {\n /**\n * All this is just to cover if the user exits fullscreen via ESC key :(\n */\n const onFullscreenChange = () => {\n if (!(\n document.fullScreen\n || document.mozFullScreen\n || document.webkitIsFullScreen\n )) {\n if (isFullscreen) {\n setIsFullscreen(false);\n fitToScreen(600);\n }\n }\n };\n\n useEventListener('fullscreenchange', onFullscreenChange);\n useEventListener('webkitfullscreenchange', onFullscreenChange);\n useEventListener('mozfullscreenchange', onFullscreenChange);\n useEventListener('MSFullscreenChange', onFullscreenChange);\n};\n\nexport const useTranslatedTexts = () => {\n return useMemo(() => SharingTextsModule.Texts, [SharingTextsModule.Texts]);\n};\n\nexport const useClickOutsideListener = (classes, conditionValue, onClose) => {\n const onClickOutsideForPanel = ({ target: { classList } }) => {\n const shouldClose = classes.some(c => classList.contains(c));\n if (shouldClose) {\n onClose();\n }\n };\n\n useEffect(() => {\n if (conditionValue) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => window.removeEventListener('click', onClickOutsideForPanel, false);\n }, [conditionValue]);\n};\n\nexport const usePageTransition = (style, currentPage) => {\n const finalStyle = useMemo(() => {\n switch (style) {\n case 'verticalSlide':\n return { transform: `translateY(-${(currentPage * 100).toString()}%)` };\n case 'scaleAndFade':\n return {};\n case 'rotate':\n return { '-webkit-perspective': 1000 };\n case 'scaleAndSlide':\n case 'horizontalSlide':\n default:\n return { transform: `translateX(-${(currentPage * 100).toString()}%)` };\n }\n }, [style, currentPage]);\n\n return finalStyle;\n};\n"],"names":["useEventListener","eventName","handler","element","global","savedHandler","useRef","useEffect","current","isSupported","addEventListener","eventListener","event","removeEventListener","useFitZoom","isModeCustomize","settings","zoomHandler","limitZoom","onLoad","reportLayout","usePageVisibility","callback","scrollTracking","pageCount","selectedPageIndex","ratio","pageRefs","observer","window","IntersectionObserver","entries","forEach","entry","order","target","getAttribute","intersectionRatio","parseInt","Object","keys","find","key","Math","max","values","delay","root","document","querySelector","threshold","querySelectorAll","page","observe","unobserve","useFullscreenChange","isFullscreen","setIsFullscreen","fitToScreen","onFullscreenChange","fullScreen","mozFullScreen","webkitIsFullScreen","useTranslatedTexts","useMemo","SharingTextsModule","Texts","useClickOutsideListener","classes","conditionValue","onClose","onClickOutsideForPanel","classList","shouldClose","some","c","contains","usePageTransition","style","currentPage","finalStyle","transform","toString"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.js","sources":["../../../src/utils/hooks.js"],"sourcesContent":["import {\n useEffect,\n useRef,\n useState,\n useMemo,\n} from 'react';\nimport { zoomHandler } from './functions';\nimport { SharingTextsModule } from '../constants/texts';\n\nexport const useStateWithCallback = (initialState, callback) => {\n const [state, setState] = useState(initialState);\n\n useEffect(() => callback(state), [state, callback]);\n\n return [state, setState];\n};\n\nexport const useEventListener = (eventName, handler, element = global) => {\n const savedHandler = useRef();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(\n () => {\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n const eventListener = event => savedHandler.current(event);\n element.addEventListener(eventName, eventListener);\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n },\n [eventName, element],\n );\n};\n\nexport const useInterval = (callback, delay) => {\n const savedCallback = useRef();\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n};\n\nexport const usePrevious = value => {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\n\nexport const useFitZoom = ({\n handler,\n isModeCustomize,\n settings,\n}) => {\n useEffect(() => {\n zoomHandler({\n handler,\n isModeCustomize,\n limitZoom: true,\n onLoad: true, // while page is loading, some conditions should be not working in handler\n settings,\n });\n }, [settings.reportLayout]);\n};\n\nexport const usePageVisibility = (callback, pageCount, selectedPageIndex) => {\n const ratio = useRef({});\n const pageRefs = useRef([]);\n const observer = new window.IntersectionObserver(entries => {\n entries.forEach(entry => {\n const order = entry.target.getAttribute('data-order');\n if (entry.intersectionRatio !== 0) {\n ratio.current[order] = entry.intersectionRatio;\n } else {\n delete ratio.current[order];\n }\n });\n callback(parseInt(\n Object.keys(ratio.current)\n .find(key => ratio.current[key] === Math.max(...Object.values(ratio.current))),\n 10,\n ));\n },\n {\n delay: 100,\n root: document.querySelector('.jfReport-viewport'),\n threshold: [0, 0.5, 1],\n });\n\n useEffect(() => {\n ratio.current = {};\n pageRefs.current = document.querySelectorAll('.jfReport-page');\n }, [pageCount]);\n\n useEffect(() => {\n if (selectedPageIndex === -1) {\n pageRefs.current.forEach(page => {\n observer.observe(page);\n });\n }\n\n return () => {\n pageRefs.current.forEach(page => {\n observer.unobserve(page);\n });\n };\n }, [selectedPageIndex]);\n};\n\nexport const useFullscreenChange = (isFullscreen, setIsFullscreen, fitToScreen) => {\n /**\n * All this is just to cover if the user exits fullscreen via ESC key :(\n */\n const onFullscreenChange = () => {\n if (!(\n document.fullScreen\n || document.mozFullScreen\n || document.webkitIsFullScreen\n )) {\n if (isFullscreen) {\n setIsFullscreen(false);\n fitToScreen(600);\n }\n }\n };\n\n useEventListener('fullscreenchange', onFullscreenChange);\n useEventListener('webkitfullscreenchange', onFullscreenChange);\n useEventListener('mozfullscreenchange', onFullscreenChange);\n useEventListener('MSFullscreenChange', onFullscreenChange);\n};\n\nexport const useTranslatedTexts = () => {\n return useMemo(() => SharingTextsModule.Texts, [SharingTextsModule.Texts]);\n};\n\nexport const useClickOutsideListener = (classes, conditionValue, onClose) => {\n const onClickOutsideForPanel = ({ target: { classList } }) => {\n const shouldClose = classes.some(c => classList.contains(c));\n if (shouldClose) {\n onClose();\n }\n };\n\n useEffect(() => {\n if (conditionValue) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => window.removeEventListener('click', onClickOutsideForPanel, false);\n }, [conditionValue]);\n};\n\nexport const usePageTransition = (style, currentPage) => {\n const finalStyle = useMemo(() => {\n switch (style) {\n case 'verticalSlide':\n return { transform: `translateY(-${(currentPage * 100).toString()}%)` };\n case 'scaleAndFade':\n return {};\n case 'rotate':\n return { '-webkit-perspective': 1000 };\n case 'scaleAndSlide':\n case 'horizontalSlide':\n default:\n return { transform: `translateX(-${(currentPage * 100).toString()}%)` };\n }\n }, [style, currentPage]);\n\n return finalStyle;\n};\n"],"names":["useEventListener","eventName","handler","element","global","savedHandler","useRef","useEffect","current","isSupported","addEventListener","eventListener","event","removeEventListener","useFitZoom","isModeCustomize","settings","zoomHandler","limitZoom","onLoad","reportLayout","usePageVisibility","callback","pageCount","selectedPageIndex","ratio","pageRefs","observer","window","IntersectionObserver","entries","forEach","entry","order","target","getAttribute","intersectionRatio","parseInt","Object","keys","find","key","Math","max","values","delay","root","document","querySelector","threshold","querySelectorAll","page","observe","unobserve","useFullscreenChange","isFullscreen","setIsFullscreen","fitToScreen","onFullscreenChange","fullScreen","mozFullScreen","webkitIsFullScreen","useTranslatedTexts","useMemo","SharingTextsModule","Texts","useClickOutsideListener","classes","conditionValue","onClose","onClickOutsideForPanel","classList","shouldClose","some","c","contains","usePageTransition","style","currentPage","finalStyle","transform","toString"],"mappings":"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"}
|
|
@@ -41,18 +41,13 @@ var ListWrapper = function ListWrapper(_ref) {
|
|
|
41
41
|
reportSettings = _ref.reportSettings,
|
|
42
42
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
43
43
|
|
|
44
|
-
var
|
|
44
|
+
var listRef = useRef(null);
|
|
45
45
|
|
|
46
46
|
var _useState = useState(-1),
|
|
47
47
|
_useState2 = _slicedToArray(_useState, 2),
|
|
48
48
|
selectedPageIndex = _useState2[0],
|
|
49
49
|
setSelectedPageIndex = _useState2[1];
|
|
50
50
|
|
|
51
|
-
var _useState3 = useState(true),
|
|
52
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
53
|
-
scrollTracking = _useState4[0],
|
|
54
|
-
setScrollTracking = _useState4[1];
|
|
55
|
-
|
|
56
51
|
var reportBackgroundColor = reportSettings.reportBackgroundColor,
|
|
57
52
|
_reportSettings$repor = reportSettings.reportLayoutHeight,
|
|
58
53
|
reportLayoutHeight = _reportSettings$repor === void 0 ? 794 : _reportSettings$repor,
|
|
@@ -80,61 +75,78 @@ var ListWrapper = function ListWrapper(_ref) {
|
|
|
80
75
|
|
|
81
76
|
var _onSortEnd = useCallback(function (sortEvent, nativeEvent) {
|
|
82
77
|
if (onSortEnd) {
|
|
83
|
-
onSortEnd(sortEvent, nativeEvent,
|
|
78
|
+
onSortEnd(sortEvent, nativeEvent, listRef.current);
|
|
84
79
|
}
|
|
85
80
|
}, [onSortEnd]);
|
|
86
81
|
|
|
87
|
-
|
|
88
|
-
if (
|
|
89
|
-
var instance = outerRef.
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
useEffect(function () {
|
|
95
|
-
// for page thumbnails actions
|
|
96
|
-
if (!scrollTracking) {
|
|
97
|
-
scrollToTarget("pageActions-id-".concat(selectedPageIndex), 0, {});
|
|
98
|
-
setScrollTracking(true);
|
|
82
|
+
var refSetter = useCallback(function (outerRef) {
|
|
83
|
+
if (outerRef) {
|
|
84
|
+
var instance = outerRef.getWrappedInstance();
|
|
85
|
+
|
|
86
|
+
if (instance) {
|
|
87
|
+
listRef.current = instance.sortablePageListRef.current;
|
|
88
|
+
}
|
|
99
89
|
}
|
|
100
|
-
}, [
|
|
90
|
+
}, []);
|
|
101
91
|
usePageVisibility(function (index) {
|
|
102
|
-
if (
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
92
|
+
if (index && !Number.isNaN(index)) {
|
|
93
|
+
var _listRef$current;
|
|
94
|
+
|
|
95
|
+
(_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollToItem(index, 'center');
|
|
96
|
+
var prevSelectedThumbnail = document.querySelector('.thumbnailWrapper.isSelected');
|
|
97
|
+
|
|
98
|
+
if (prevSelectedThumbnail) {
|
|
99
|
+
prevSelectedThumbnail.classList.remove('isSelected');
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
var nextSelectedThumbnail = document.querySelector(".thumbnailWrapper[data-order=\"".concat(index, "\"]"));
|
|
103
|
+
|
|
104
|
+
if (nextSelectedThumbnail) {
|
|
105
|
+
nextSelectedThumbnail.classList.add('isSelected');
|
|
106
|
+
}
|
|
106
107
|
}
|
|
107
|
-
},
|
|
108
|
+
}, pageCount, selectedPageIndex); // TODO: could be better than now. scrollend listener is a choice for some cases
|
|
109
|
+
|
|
110
|
+
var resetSelectedPageIndex = useCallback(function () {
|
|
111
|
+
setTimeout(function () {
|
|
112
|
+
setSelectedPageIndex(-1);
|
|
113
|
+
}, 1000);
|
|
114
|
+
}, []);
|
|
108
115
|
var onPageClick = useCallback(function (e) {
|
|
109
116
|
var order = e.target.getAttribute('data-order');
|
|
110
|
-
setScrollTracking(false);
|
|
111
117
|
setSelectedPageIndex(parseInt(order, 10));
|
|
112
118
|
|
|
113
119
|
if (!e.target.classList.contains('controllerItem')) {
|
|
114
120
|
// for page thumbnails actions
|
|
115
121
|
scrollToTarget("pageActions-id-".concat(order));
|
|
116
122
|
}
|
|
123
|
+
|
|
124
|
+
resetSelectedPageIndex();
|
|
117
125
|
}, []);
|
|
118
126
|
var handlePageAdd = useCallback(function (index) {
|
|
119
|
-
setScrollTracking(false);
|
|
120
127
|
setSelectedPageIndex(index);
|
|
121
128
|
onPageAdd(index);
|
|
122
129
|
}, [onPageAdd]);
|
|
130
|
+
useEffect(function () {
|
|
131
|
+
// after new page added
|
|
132
|
+
scrollToTarget("pageActions-id-".concat(selectedPageIndex), 0, {});
|
|
133
|
+
resetSelectedPageIndex();
|
|
134
|
+
}, [pageCount]);
|
|
123
135
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
124
136
|
children: [/*#__PURE__*/jsx(ResponsiveContainer, {
|
|
125
137
|
children: /*#__PURE__*/jsx(ResponsiveContent, {
|
|
126
138
|
children: function children(containerWidth, containerHeight) {
|
|
127
139
|
return /*#__PURE__*/jsx(Component, _objectSpread({
|
|
128
|
-
ref:
|
|
140
|
+
ref: refSetter,
|
|
129
141
|
distance: 50,
|
|
130
142
|
height: containerHeight,
|
|
131
143
|
helperClass: "pageThumbnailHelper",
|
|
132
144
|
lockAxis: "y",
|
|
145
|
+
onPageAdd: handlePageAdd,
|
|
133
146
|
onPageClick: onPageClick,
|
|
134
147
|
onSortEnd: _onSortEnd,
|
|
135
148
|
pageContainerStyle: pageContainerStyles,
|
|
136
149
|
pageCount: pageCount,
|
|
137
|
-
selectedPageIndex: selectedPageIndex,
|
|
138
150
|
width: containerWidth
|
|
139
151
|
}, otherProps));
|
|
140
152
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListWrapper.js","sources":["../../../../../src/components/Panels/SlidesPanel/ListWrapper.js"],"sourcesContent":["import {\n memo, useCallback, useRef, useState, useMemo, useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { ResponsiveContainer } from 'recharts';\nimport ResponsiveContent from '../../ResponsiveContent';\nimport PageAdder from '../../Builder/PageAdder';\nimport { getScaleForPageThumbnail, scrollToTarget } from '../../../utils/functions';\nimport { usePageVisibility } from '../../../utils/hooks';\n\nconst ListWrapper = ({\n component: Component,\n onPageAdd,\n onSortEnd,\n pageCount,\n reportSettings,\n ...otherProps\n}) => {\n const
|
|
1
|
+
{"version":3,"file":"ListWrapper.js","sources":["../../../../../src/components/Panels/SlidesPanel/ListWrapper.js"],"sourcesContent":["import {\n memo, useCallback, useRef, useState, useMemo, useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { ResponsiveContainer } from 'recharts';\nimport ResponsiveContent from '../../ResponsiveContent';\nimport PageAdder from '../../Builder/PageAdder';\nimport { getScaleForPageThumbnail, scrollToTarget } from '../../../utils/functions';\nimport { usePageVisibility } from '../../../utils/hooks';\n\nconst ListWrapper = ({\n component: Component,\n onPageAdd,\n onSortEnd,\n pageCount,\n reportSettings,\n ...otherProps\n}) => {\n const listRef = useRef(null);\n const [selectedPageIndex, setSelectedPageIndex] = useState(-1);\n const {\n reportBackgroundColor,\n reportLayoutHeight = 794,\n reportLayoutWidth = 1123,\n } = reportSettings;\n const width = parseInt(reportLayoutWidth, 10);\n const height = parseInt(reportLayoutHeight, 10);\n const { left, scale, top } = getScaleForPageThumbnail(width, height);\n\n const pageContainerStyles = useMemo(() => ({\n backgroundColor: reportBackgroundColor || '#fff',\n height: height,\n left,\n top,\n transform: `scale(${scale})`,\n transformOrigin: '0 0',\n width: width,\n }), [reportSettings]);\n\n const _onSortEnd = useCallback((sortEvent, nativeEvent) => {\n if (onSortEnd) {\n onSortEnd(sortEvent, nativeEvent, listRef.current);\n }\n }, [onSortEnd]);\n\n const refSetter = useCallback(outerRef => {\n if (outerRef) {\n const instance = outerRef.getWrappedInstance();\n if (instance) {\n listRef.current = instance.sortablePageListRef.current;\n }\n }\n }, []);\n\n usePageVisibility(index => {\n if (index && !Number.isNaN(index)) {\n listRef.current?.scrollToItem(index, 'center');\n\n const prevSelectedThumbnail = document.querySelector('.thumbnailWrapper.isSelected');\n if (prevSelectedThumbnail) {\n prevSelectedThumbnail.classList.remove('isSelected');\n }\n\n const nextSelectedThumbnail = document\n .querySelector(`.thumbnailWrapper[data-order=\"${index}\"]`);\n if (nextSelectedThumbnail) {\n nextSelectedThumbnail.classList.add('isSelected');\n }\n }\n }, pageCount, selectedPageIndex);\n\n // TODO: could be better than now. scrollend listener is a choice for some cases\n const resetSelectedPageIndex = useCallback(() => {\n setTimeout(() => {\n setSelectedPageIndex(-1);\n }, 1000);\n }, []);\n\n const onPageClick = useCallback(e => {\n const order = e.target.getAttribute('data-order');\n setSelectedPageIndex(parseInt(order, 10));\n if (!e.target.classList.contains('controllerItem')) { // for page thumbnails actions\n scrollToTarget(`pageActions-id-${order}`);\n }\n resetSelectedPageIndex();\n }, []);\n\n const handlePageAdd = useCallback(index => {\n setSelectedPageIndex(index);\n onPageAdd(index);\n }, [onPageAdd]);\n\n useEffect(() => { // after new page added\n scrollToTarget(`pageActions-id-${selectedPageIndex}`, 0, {});\n resetSelectedPageIndex();\n }, [pageCount]);\n\n return (\n <>\n <ResponsiveContainer>\n <ResponsiveContent>\n {(containerWidth, containerHeight) => (\n <Component\n ref={refSetter}\n distance={50}\n height={containerHeight}\n helperClass=\"pageThumbnailHelper\"\n lockAxis=\"y\"\n onPageAdd={handlePageAdd}\n onPageClick={onPageClick}\n onSortEnd={_onSortEnd}\n pageContainerStyle={pageContainerStyles}\n pageCount={pageCount}\n width={containerWidth}\n {...otherProps}\n />\n )}\n </ResponsiveContent>\n </ResponsiveContainer>\n <div className=\"jfReport-pane-footer\">\n <PageAdder\n additionalClass=\"forOptions\"\n onPageAdd={handlePageAdd}\n pageCount={pageCount}\n />\n </div>\n </>\n );\n};\n\nListWrapper.propTypes = {\n component: PropTypes.any,\n onPageAdd: PropTypes.func,\n onSortEnd: PropTypes.func,\n pageCount: PropTypes.number,\n reportSettings: PropTypes.shape({\n reportBackgroundColor: PropTypes.string,\n reportLayoutHeight: PropTypes.string,\n reportLayoutWidth: PropTypes.string,\n }),\n};\n\nListWrapper.defaultProps = {\n component: null,\n onPageAdd: () => {},\n onSortEnd: () => {},\n pageCount: 0,\n reportSettings: {},\n};\n\nexport default memo(ListWrapper);\n"],"names":["ListWrapper","Component","component","onPageAdd","onSortEnd","pageCount","reportSettings","otherProps","listRef","useRef","useState","selectedPageIndex","setSelectedPageIndex","reportBackgroundColor","reportLayoutHeight","reportLayoutWidth","width","parseInt","height","getScaleForPageThumbnail","left","scale","top","pageContainerStyles","useMemo","backgroundColor","transform","transformOrigin","_onSortEnd","useCallback","sortEvent","nativeEvent","current","refSetter","outerRef","instance","getWrappedInstance","sortablePageListRef","usePageVisibility","index","Number","isNaN","scrollToItem","prevSelectedThumbnail","document","querySelector","classList","remove","nextSelectedThumbnail","add","resetSelectedPageIndex","setTimeout","onPageClick","e","order","target","getAttribute","contains","scrollToTarget","handlePageAdd","useEffect","_jsxs","_jsx","containerWidth","containerHeight","propTypes","PropTypes","any","func","number","shape","string","defaultProps","memo"],"mappings":"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"}
|
|
@@ -57,11 +57,9 @@ var SlidesPanel = function SlidesPanel(_ref) {
|
|
|
57
57
|
var pageGetter = useCallback(function (index) {
|
|
58
58
|
return pages[index];
|
|
59
59
|
}, [pages]);
|
|
60
|
-
var onPageSort = useCallback(function (_ref2, nativeEvent,
|
|
60
|
+
var onPageSort = useCallback(function (_ref2, nativeEvent, list) {
|
|
61
61
|
var newIndex = _ref2.newIndex,
|
|
62
62
|
oldIndex = _ref2.oldIndex;
|
|
63
|
-
var instance = ref.getWrappedInstance();
|
|
64
|
-
var list = instance.sortablePageListRef.current;
|
|
65
63
|
var newPageOrders = arrayMove(pages, oldIndex, newIndex).reduce(function (acc, page, index) {
|
|
66
64
|
acc[page.id] = {
|
|
67
65
|
order: index + 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlidesPanel.js","sources":["../../../../../src/components/Panels/SlidesPanel/SlidesPanel.js"],"sourcesContent":["import { memo, useCallback, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FixedSizeList } from 'react-window';\nimport Panel from '../../Builder/Panel';\nimport SortablePageList from './SortablePageList';\nimport Section from '../../Builder/Section';\nimport { useBuilderContext } from '../../../utils/builderContext';\nimport { usePropContext } from '../../../utils/propContext';\nimport { arrayMove } from '../../../utils/functions';\nimport SlidesPanelToggler from './SlidesPanelToggler';\nimport ListWrapper from './ListWrapper';\nimport Button from '../../Settings/Button';\nimport { useClickOutsideListener, useTranslatedTexts } from '../../../utils/hooks';\n\nconst SlidesPanel = ({\n additionalPageItems,\n hashCode,\n itemAccessor,\n onPageAdd,\n onPageDuplicate,\n onPageOrdersChange,\n onPageRemove,\n pages,\n}) => {\n const {\n isRightPanelOpen,\n isSlidesPanelOpen,\n setIsAllSlidesPanelOpen,\n setIsSlidesPanelOpen,\n } = useBuilderContext();\n const {\n acceptedItems,\n disableInteraction,\n onAnEventTrigger,\n settings: reportSettings,\n useExperimentalFeatures,\n } = usePropContext();\n const [animationEnd, setAnimationEnd] = useState(true);\n\n const pageGetter = useCallback(index => {\n return pages[index];\n }, [pages]);\n\n const onPageSort = useCallback(({ newIndex, oldIndex }, nativeEvent,
|
|
1
|
+
{"version":3,"file":"SlidesPanel.js","sources":["../../../../../src/components/Panels/SlidesPanel/SlidesPanel.js"],"sourcesContent":["import { memo, useCallback, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FixedSizeList } from 'react-window';\nimport Panel from '../../Builder/Panel';\nimport SortablePageList from './SortablePageList';\nimport Section from '../../Builder/Section';\nimport { useBuilderContext } from '../../../utils/builderContext';\nimport { usePropContext } from '../../../utils/propContext';\nimport { arrayMove } from '../../../utils/functions';\nimport SlidesPanelToggler from './SlidesPanelToggler';\nimport ListWrapper from './ListWrapper';\nimport Button from '../../Settings/Button';\nimport { useClickOutsideListener, useTranslatedTexts } from '../../../utils/hooks';\n\nconst SlidesPanel = ({\n additionalPageItems,\n hashCode,\n itemAccessor,\n onPageAdd,\n onPageDuplicate,\n onPageOrdersChange,\n onPageRemove,\n pages,\n}) => {\n const {\n isRightPanelOpen,\n isSlidesPanelOpen,\n setIsAllSlidesPanelOpen,\n setIsSlidesPanelOpen,\n } = useBuilderContext();\n const {\n acceptedItems,\n disableInteraction,\n onAnEventTrigger,\n settings: reportSettings,\n useExperimentalFeatures,\n } = usePropContext();\n const [animationEnd, setAnimationEnd] = useState(true);\n\n const pageGetter = useCallback(index => {\n return pages[index];\n }, [pages]);\n\n const onPageSort = useCallback(({ newIndex, oldIndex }, nativeEvent, list) => {\n const newPageOrders = arrayMove(pages, oldIndex, newIndex).reduce((acc, page, index) => {\n acc[page.id] = { order: index + 1 };\n return acc;\n }, {});\n\n onPageOrdersChange(newPageOrders);\n onAnEventTrigger('sortPageFromSlides');\n\n list.forceUpdate();\n }, [pages]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSlides f-height',\n {\n isIdle: !isSlidesPanelOpen,\n otherOpened: isRightPanelOpen,\n },\n );\n\n const onClosePanel = () => {\n setAnimationEnd(false);\n setIsSlidesPanelOpen(false);\n };\n\n const onAnimationEnd = useCallback(() => {\n if (!isSlidesPanelOpen) {\n setAnimationEnd(true);\n }\n }, [isSlidesPanelOpen]);\n\n useClickOutsideListener(\n ['jfReport-canvas', 'jfReport-viewport', 'jfReport-pageInfo'],\n isSlidesPanelOpen,\n onClosePanel,\n );\n\n const { SLIDES } = useTranslatedTexts();\n\n return (\n <Panel\n additionalClassName={panelAdditionalClassName}\n onAnimationEnd={onAnimationEnd}\n >\n {isRightPanelOpen\n ? null\n : <SlidesPanelToggler onClosePanel={onClosePanel} />}\n {(isSlidesPanelOpen || (!isSlidesPanelOpen && !animationEnd)) && (\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section\n additionalComponent={useExperimentalFeatures ? (\n <Button\n classNames=\"jfReportButton isAccent showAll\"\n icon=\"allSlides\"\n onClick={() => setIsAllSlidesPanelOpen(true)}\n title=\"Show All\"\n />\n ) : null}\n icon=\"slides\"\n title={SLIDES}\n >\n <div className=\"toolItem-tabContent hasInnerScroll\">\n <ListWrapper\n acceptedItems={acceptedItems}\n additionalPageItems={additionalPageItems}\n component={SortablePageList(FixedSizeList)}\n disableInteraction={disableInteraction}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n onAnEventTrigger={onAnEventTrigger}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageRemove={onPageRemove}\n onSortEnd={onPageSort}\n pageCount={pages.length}\n pageGetter={pageGetter}\n reportSettings={reportSettings}\n />\n </div>\n </Section>\n </div>\n )}\n </Panel>\n );\n};\n\nSlidesPanel.propTypes = {\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n hashCode: PropTypes.string,\n itemAccessor: PropTypes.func,\n onPageAdd: PropTypes.func,\n onPageDuplicate: PropTypes.func,\n onPageOrdersChange: PropTypes.func,\n onPageRemove: PropTypes.func,\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n};\n\nSlidesPanel.defaultProps = {\n additionalPageItems: [],\n hashCode: '',\n itemAccessor: () => { },\n onPageAdd: () => { },\n onPageDuplicate: () => { },\n onPageOrdersChange: () => { },\n onPageRemove: () => { },\n pages: [],\n};\n\nexport default memo(SlidesPanel);\n"],"names":["SlidesPanel","additionalPageItems","hashCode","itemAccessor","onPageAdd","onPageDuplicate","onPageOrdersChange","onPageRemove","pages","useBuilderContext","isRightPanelOpen","isSlidesPanelOpen","setIsAllSlidesPanelOpen","setIsSlidesPanelOpen","usePropContext","acceptedItems","disableInteraction","onAnEventTrigger","reportSettings","settings","useExperimentalFeatures","useState","animationEnd","setAnimationEnd","pageGetter","useCallback","index","onPageSort","nativeEvent","list","newIndex","oldIndex","newPageOrders","arrayMove","reduce","acc","page","id","order","forceUpdate","panelAdditionalClassName","classNames","isIdle","otherOpened","onClosePanel","onAnimationEnd","useClickOutsideListener","useTranslatedTexts","SLIDES","_jsxs","_jsx","SortablePageList","FixedSizeList","length","propTypes","PropTypes","arrayOf","node","string","func","shape","defaultProps","memo"],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { memo } from 'react';
|
|
2
2
|
import { SortableElement } from 'react-sortable-hoc';
|
|
3
|
-
import classNames from 'classnames';
|
|
4
3
|
import StaticPage from '../../Preview/StaticPage.js';
|
|
5
4
|
import PageThumbnailActions from './PageThumbnailActions.js';
|
|
6
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -10,7 +9,6 @@ var SortablePageItem = SortableElement(function (_ref) {
|
|
|
10
9
|
additionalPageItems = _ref.additionalPageItems,
|
|
11
10
|
disableInteraction = _ref.disableInteraction,
|
|
12
11
|
hashCode = _ref.hashCode,
|
|
13
|
-
isSelected = _ref.isSelected,
|
|
14
12
|
itemAccessor = _ref.itemAccessor,
|
|
15
13
|
onAnEventTrigger = _ref.onAnEventTrigger,
|
|
16
14
|
onPageAdd = _ref.onPageAdd,
|
|
@@ -27,9 +25,7 @@ var SortablePageItem = SortableElement(function (_ref) {
|
|
|
27
25
|
};
|
|
28
26
|
|
|
29
27
|
return /*#__PURE__*/jsxs("div", {
|
|
30
|
-
className:
|
|
31
|
-
isSelected: isSelected
|
|
32
|
-
}),
|
|
28
|
+
className: "thumbnailWrapper d-flex a-center j-between",
|
|
33
29
|
"data-id": page.id,
|
|
34
30
|
"data-order": order,
|
|
35
31
|
onClick: onPageClick,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortablePageItem.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageItem.js"],"sourcesContent":["import { memo } from 'react';\nimport { SortableElement } from 'react-sortable-hoc';\nimport
|
|
1
|
+
{"version":3,"file":"SortablePageItem.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageItem.js"],"sourcesContent":["import { memo } from 'react';\nimport { SortableElement } from 'react-sortable-hoc';\nimport StaticPage from '../../Preview/StaticPage';\nimport PageThumbnailActions from './PageThumbnailActions';\n\nconst SortablePageItem = SortableElement(({\n acceptedItems,\n additionalPageItems,\n disableInteraction,\n hashCode,\n itemAccessor,\n onAnEventTrigger,\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n order,\n page,\n pageContainerStyle,\n style,\n}) => {\n const onKeyDown = f => f;\n return (\n <div\n className=\"thumbnailWrapper d-flex a-center j-between\"\n data-id={page.id}\n data-order={order}\n onClick={onPageClick}\n onKeyDown={onKeyDown}\n style={style}\n >\n <div className=\"thumbnailOrder\">{order}</div>\n <div className=\"thumbnailFrame o-hidden\">\n <StaticPage\n acceptedItems={acceptedItems}\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n isThumbnail\n itemAccessor={itemAccessor}\n items={page.items}\n style={pageContainerStyle}\n />\n </div>\n <PageThumbnailActions\n disableInteraction={disableInteraction}\n onAnEventTrigger={onAnEventTrigger}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageRemove={onPageRemove}\n order={order}\n page={page}\n />\n </div>\n );\n});\n\nexport default memo(SortablePageItem);\n"],"names":["SortablePageItem","SortableElement","acceptedItems","additionalPageItems","disableInteraction","hashCode","itemAccessor","onAnEventTrigger","onPageAdd","onPageClick","onPageDuplicate","onPageRemove","order","page","pageContainerStyle","style","onKeyDown","f","_jsxs","id","_jsx","items","memo"],"mappings":";;;;;;AAKA,IAAMA,gBAAgB,GAAGC,eAAe,CAAC,gBAenC;AAAA,MAdJC,aAcI,QAdJA,aAcI;AAAA,MAbJC,mBAaI,QAbJA,mBAaI;AAAA,MAZJC,kBAYI,QAZJA,kBAYI;AAAA,MAXJC,QAWI,QAXJA,QAWI;AAAA,MAVJC,YAUI,QAVJA,YAUI;AAAA,MATJC,gBASI,QATJA,gBASI;AAAA,MARJC,SAQI,QARJA,SAQI;AAAA,MAPJC,WAOI,QAPJA,WAOI;AAAA,MANJC,eAMI,QANJA,eAMI;AAAA,MALJC,YAKI,QALJA,YAKI;AAAA,MAJJC,KAII,QAJJA,KAII;AAAA,MAHJC,IAGI,QAHJA,IAGI;AAAA,MAFJC,kBAEI,QAFJA,kBAEI;AAAA,MADJC,KACI,QADJA,KACI;;AACJ,MAAMC,SAAS,GAAG,SAAZA,SAAY,CAAAC,CAAC;AAAA,WAAIA,CAAJ;AAAA,GAAnB;;AACA,sBACEC;AACE,IAAA,SAAS,EAAC,4CADZ;AAEE,eAASL,IAAI,CAACM,EAFhB;AAGE,kBAAYP,KAHd;AAIE,IAAA,OAAO,EAAEH,WAJX;AAKE,IAAA,SAAS,EAAEO,SALb;AAME,IAAA,KAAK,EAAED,KANT;AAAA,4BAQEK;AAAK,MAAA,SAAS,EAAC,gBAAf;AAAA,gBAAiCR;AAAjC,MARF,eASEQ;AAAK,MAAA,SAAS,EAAC,yBAAf;AAAA,6BACEA,IAAC,UAAD;AACE,QAAA,aAAa,EAAElB,aADjB;AAEE,QAAA,mBAAmB,EAAEC,mBAFvB;AAGE,QAAA,QAAQ,EAAEE,QAHZ;AAIE,QAAA,WAAW,MAJb;AAKE,QAAA,YAAY,EAAEC,YALhB;AAME,QAAA,KAAK,EAAEO,IAAI,CAACQ,KANd;AAOE,QAAA,KAAK,EAAEP;AAPT;AADF,MATF,eAoBEM,IAAC,oBAAD;AACE,MAAA,kBAAkB,EAAEhB,kBADtB;AAEE,MAAA,gBAAgB,EAAEG,gBAFpB;AAGE,MAAA,SAAS,EAAEC,SAHb;AAIE,MAAA,eAAe,EAAEE,eAJnB;AAKE,MAAA,YAAY,EAAEC,YALhB;AAME,MAAA,KAAK,EAAEC,KANT;AAOE,MAAA,IAAI,EAAEC;AAPR,MApBF;AAAA,IADF;AAgCD,CAjDuC,CAAxC;AAmDA,sCAAeS,IAAI,CAACtB,gBAAD,CAAnB;;;;"}
|
|
@@ -5,7 +5,7 @@ import { areEqual } from 'react-window';
|
|
|
5
5
|
import SortablePageItem from './SortablePageItem.js';
|
|
6
6
|
import { jsx } from 'react/jsx-runtime';
|
|
7
7
|
|
|
8
|
-
var _excluded = ["pageContainerStyle", "pageGetter"
|
|
8
|
+
var _excluded = ["pageContainerStyle", "pageGetter"];
|
|
9
9
|
|
|
10
10
|
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; }
|
|
11
11
|
|
|
@@ -24,7 +24,6 @@ var SortablePageItemRenderer = function SortablePageItemRenderer(_ref) {
|
|
|
24
24
|
|
|
25
25
|
var pageContainerStyle = data.pageContainerStyle,
|
|
26
26
|
pageGetter = data.pageGetter,
|
|
27
|
-
selectedPageIndex = data.selectedPageIndex,
|
|
28
27
|
otherData = _objectWithoutProperties(data, _excluded);
|
|
29
28
|
|
|
30
29
|
var page = pageGetter(index);
|
|
@@ -35,7 +34,6 @@ var SortablePageItemRenderer = function SortablePageItemRenderer(_ref) {
|
|
|
35
34
|
|
|
36
35
|
return /*#__PURE__*/jsx(SortablePageItem, _objectSpread({
|
|
37
36
|
index: index,
|
|
38
|
-
isSelected: selectedPageIndex === page.order,
|
|
39
37
|
order: page.order,
|
|
40
38
|
page: page,
|
|
41
39
|
pageContainerStyle: pageContainerLastStyle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortablePageItemRenderer.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageItemRenderer.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { areEqual } from 'react-window';\nimport SortablePageItem from './SortablePageItem';\n\nconst SortablePageItemRenderer = ({ data, index, style }) => {\n const {\n pageContainerStyle, pageGetter,
|
|
1
|
+
{"version":3,"file":"SortablePageItemRenderer.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageItemRenderer.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { areEqual } from 'react-window';\nimport SortablePageItem from './SortablePageItem';\n\nconst SortablePageItemRenderer = ({ data, index, style }) => {\n const {\n pageContainerStyle, pageGetter, ...otherData\n } = data;\n const page = pageGetter(index);\n const pageContainerLastStyle = {\n ...pageContainerStyle,\n ...page.backgroundColor ? { backgroundColor: page.backgroundColor } : {},\n };\n return (\n <SortablePageItem\n key={`page-${index}-${page.id}`}\n index={index}\n order={page.order}\n page={page}\n pageContainerStyle={pageContainerLastStyle}\n style={style}\n {...otherData}\n />\n );\n};\n\nSortablePageItemRenderer.propTypes = {\n data: PropTypes.shape({\n pageContainerStyle: PropTypes.shape({\n backgroundColor: PropTypes.string,\n }),\n pageGetter: PropTypes.func,\n selectedPageIndex: PropTypes.number,\n }),\n index: PropTypes.number.isRequired,\n style: PropTypes.shape({\n top: PropTypes.number,\n }).isRequired,\n};\n\nSortablePageItemRenderer.defaultProps = {\n data: {},\n};\n\nexport default memo(SortablePageItemRenderer, areEqual);\n"],"names":["SortablePageItemRenderer","data","index","style","pageContainerStyle","pageGetter","otherData","page","pageContainerLastStyle","backgroundColor","_jsx","order","id","propTypes","PropTypes","shape","string","func","selectedPageIndex","number","isRequired","top","defaultProps","memo","areEqual"],"mappings":";;;;;;;;;;;;;;;;;;;AAKA,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,OAA4B;AAAA,MAAzBC,IAAyB,QAAzBA,IAAyB;AAAA,MAAnBC,KAAmB,QAAnBA,KAAmB;AAAA,MAAZC,KAAY,QAAZA,KAAY;;AAC3D,MACEC,kBADF,GAEIH,IAFJ,CACEG,kBADF;AAAA,MACsBC,UADtB,GAEIJ,IAFJ,CACsBI,UADtB;AAAA,MACqCC,SADrC,4BAEIL,IAFJ;;AAGA,MAAMM,IAAI,GAAGF,UAAU,CAACH,KAAD,CAAvB;;AACA,MAAMM,sBAAsB,mCACvBJ,kBADuB,GAEvBG,IAAI,CAACE,eAAL,GAAuB;AAAEA,IAAAA,eAAe,EAAEF,IAAI,CAACE;AAAxB,GAAvB,GAAmE,EAF5C,CAA5B;;AAIA,sBACEC,IAAC,gBAAD;AAEE,IAAA,KAAK,EAAER,KAFT;AAGE,IAAA,KAAK,EAAEK,IAAI,CAACI,KAHd;AAIE,IAAA,IAAI,EAAEJ,IAJR;AAKE,IAAA,kBAAkB,EAAEC,sBALtB;AAME,IAAA,KAAK,EAAEL;AANT,KAOMG,SAPN,kBACeJ,KADf,cACwBK,IAAI,CAACK,EAD7B,EADF;AAWD,CApBD;;AAsBAZ,wBAAwB,CAACa,SAAzB,GAAqC;AACnCZ,EAAAA,IAAI,EAAEa,SAAS,CAACC,KAAV,CAAgB;AACpBX,IAAAA,kBAAkB,EAAEU,SAAS,CAACC,KAAV,CAAgB;AAClCN,MAAAA,eAAe,EAAEK,SAAS,CAACE;AADO,KAAhB,CADA;AAIpBX,IAAAA,UAAU,EAAES,SAAS,CAACG,IAJF;AAKpBC,IAAAA,iBAAiB,EAAEJ,SAAS,CAACK;AALT,GAAhB,CAD6B;AAQnCjB,EAAAA,KAAK,EAAEY,SAAS,CAACK,MAAV,CAAiBC,UARW;AASnCjB,EAAAA,KAAK,EAAEW,SAAS,CAACC,KAAV,CAAgB;AACrBM,IAAAA,GAAG,EAAEP,SAAS,CAACK;AADM,GAAhB,EAEJC;AAXgC,CAArC;AAcApB,wBAAwB,CAACsB,YAAzB,GAAwC;AACtCrB,EAAAA,IAAI,EAAE;AADgC,CAAxC;AAIA,8CAAesB,IAAI,CAACvB,wBAAD,EAA2BwB,QAA3B,CAAnB;;;;"}
|
|
@@ -27,7 +27,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
|
|
|
27
27
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
28
28
|
|
|
29
29
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
30
|
-
var createItemData = memoizeOne(function (acceptedItems, additionalPageItems, disableInteraction, hashCode, itemAccessor, onAnEventTrigger, onPageAdd, onPageClick, onPageDuplicate, onPageRemove, pageContainerStyle, pageGetter
|
|
30
|
+
var createItemData = memoizeOne(function (acceptedItems, additionalPageItems, disableInteraction, hashCode, itemAccessor, onAnEventTrigger, onPageAdd, onPageClick, onPageDuplicate, onPageRemove, pageContainerStyle, pageGetter) {
|
|
31
31
|
return {
|
|
32
32
|
acceptedItems: acceptedItems,
|
|
33
33
|
additionalPageItems: additionalPageItems,
|
|
@@ -40,8 +40,7 @@ var createItemData = memoizeOne(function (acceptedItems, additionalPageItems, di
|
|
|
40
40
|
onPageDuplicate: onPageDuplicate,
|
|
41
41
|
onPageRemove: onPageRemove,
|
|
42
42
|
pageContainerStyle: pageContainerStyle,
|
|
43
|
-
pageGetter: pageGetter
|
|
44
|
-
selectedPageIndex: selectedPageIndex
|
|
43
|
+
pageGetter: pageGetter
|
|
45
44
|
};
|
|
46
45
|
});
|
|
47
46
|
|
|
@@ -76,9 +75,8 @@ var SortablePageList = function SortablePageList(Component) {
|
|
|
76
75
|
onPageDuplicate = _this$props.onPageDuplicate,
|
|
77
76
|
onPageRemove = _this$props.onPageRemove,
|
|
78
77
|
pageContainerStyle = _this$props.pageContainerStyle,
|
|
79
|
-
pageGetter = _this$props.pageGetter
|
|
80
|
-
|
|
81
|
-
return createItemData(acceptedItems, additionalPageItems, disableInteraction, hashCode, itemAccessor, onAnEventTrigger, onPageAdd, onPageClick, onPageDuplicate, onPageRemove, pageContainerStyle, pageGetter, selectedPageIndex);
|
|
78
|
+
pageGetter = _this$props.pageGetter;
|
|
79
|
+
return createItemData(acceptedItems, additionalPageItems, disableInteraction, hashCode, itemAccessor, onAnEventTrigger, onPageAdd, onPageClick, onPageDuplicate, onPageRemove, pageContainerStyle, pageGetter);
|
|
82
80
|
}
|
|
83
81
|
}, {
|
|
84
82
|
key: "render",
|
|
@@ -117,7 +115,6 @@ var SortablePageList = function SortablePageList(Component) {
|
|
|
117
115
|
pageContainerStyle: PropTypes.shape({}),
|
|
118
116
|
pageCount: PropTypes.number,
|
|
119
117
|
pageGetter: PropTypes.func,
|
|
120
|
-
selectedPageIndex: PropTypes.number,
|
|
121
118
|
width: PropTypes.number
|
|
122
119
|
};
|
|
123
120
|
ReactWindowList.defaultProps = {
|
|
@@ -135,7 +132,6 @@ var SortablePageList = function SortablePageList(Component) {
|
|
|
135
132
|
pageContainerStyle: {},
|
|
136
133
|
pageCount: 0,
|
|
137
134
|
pageGetter: function pageGetter() {},
|
|
138
|
-
selectedPageIndex: 1,
|
|
139
135
|
width: 0
|
|
140
136
|
};
|
|
141
137
|
return SortableContainer(ReactWindowList, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortablePageList.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageList.js"],"sourcesContent":["import { PureComponent, createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { SortableContainer } from 'react-sortable-hoc';\nimport memoize from 'memoize-one';\nimport SortablePageItemRenderer from './SortablePageItemRenderer';\n\nconst createItemData = memoize((\n acceptedItems,\n additionalPageItems,\n disableInteraction,\n hashCode,\n itemAccessor,\n onAnEventTrigger,\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n
|
|
1
|
+
{"version":3,"file":"SortablePageList.js","sources":["../../../../../src/components/Panels/SlidesPanel/SortablePageList.js"],"sourcesContent":["import { PureComponent, createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { SortableContainer } from 'react-sortable-hoc';\nimport memoize from 'memoize-one';\nimport SortablePageItemRenderer from './SortablePageItemRenderer';\n\nconst createItemData = memoize((\n acceptedItems,\n additionalPageItems,\n disableInteraction,\n hashCode,\n itemAccessor,\n onAnEventTrigger,\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n) => ({\n acceptedItems,\n additionalPageItems,\n disableInteraction,\n hashCode,\n itemAccessor,\n onAnEventTrigger,\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n}));\n\nconst SortablePageList = Component => {\n class ReactWindowList extends PureComponent {\n constructor(props) {\n super(props);\n\n this.sortablePageListRef = createRef();\n }\n\n get itemData() {\n const {\n acceptedItems,\n additionalPageItems,\n disableInteraction,\n hashCode,\n itemAccessor,\n onAnEventTrigger,\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n } = this.props;\n return createItemData(\n acceptedItems,\n additionalPageItems,\n disableInteraction,\n hashCode,\n itemAccessor,\n onAnEventTrigger,\n onPageAdd,\n onPageClick,\n onPageDuplicate,\n onPageRemove,\n pageContainerStyle,\n pageGetter,\n );\n }\n\n render() {\n const { height, pageCount, width } = this.props;\n\n return (\n <Component\n ref={this.sortablePageListRef}\n height={height}\n itemCount={pageCount}\n itemData={this.itemData}\n itemSize={127}\n width={width}\n >\n {SortablePageItemRenderer}\n </Component>\n );\n }\n }\n\n ReactWindowList.propTypes = {\n acceptedItems: PropTypes.shape({}),\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n disableInteraction: PropTypes.arrayOf(PropTypes.string),\n hashCode: PropTypes.string,\n height: PropTypes.number,\n itemAccessor: PropTypes.func,\n onAnEventTrigger: PropTypes.func,\n onPageAdd: PropTypes.func,\n onPageClick: PropTypes.func,\n onPageDuplicate: PropTypes.func,\n onPageRemove: PropTypes.func,\n pageContainerStyle: PropTypes.shape({}),\n pageCount: PropTypes.number,\n pageGetter: PropTypes.func,\n width: PropTypes.number,\n };\n\n ReactWindowList.defaultProps = {\n acceptedItems: {},\n additionalPageItems: [],\n disableInteraction: [],\n hashCode: '',\n height: 0,\n itemAccessor: () => {},\n onAnEventTrigger: () => {},\n onPageAdd: () => {},\n onPageClick: () => {},\n onPageDuplicate: () => {},\n onPageRemove: () => {},\n pageContainerStyle: {},\n pageCount: 0,\n pageGetter: () => {},\n width: 0,\n };\n\n return SortableContainer(ReactWindowList, { withRef: true });\n};\n\nexport default memoize(SortablePageList);\n"],"names":["createItemData","memoize","acceptedItems","additionalPageItems","disableInteraction","hashCode","itemAccessor","onAnEventTrigger","onPageAdd","onPageClick","onPageDuplicate","onPageRemove","pageContainerStyle","pageGetter","SortablePageList","Component","ReactWindowList","props","sortablePageListRef","createRef","height","pageCount","width","_jsx","itemData","SortablePageItemRenderer","PureComponent","propTypes","PropTypes","shape","arrayOf","node","string","number","func","defaultProps","SortableContainer","withRef"],"mappings":"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"}
|
package/lib/esm/utils/hooks.js
CHANGED
|
@@ -54,7 +54,7 @@ var useFitZoom = function useFitZoom(_ref) {
|
|
|
54
54
|
});
|
|
55
55
|
}, [settings.reportLayout]);
|
|
56
56
|
};
|
|
57
|
-
var usePageVisibility = function usePageVisibility(callback,
|
|
57
|
+
var usePageVisibility = function usePageVisibility(callback, pageCount, selectedPageIndex) {
|
|
58
58
|
var ratio = useRef({});
|
|
59
59
|
var pageRefs = useRef([]);
|
|
60
60
|
var observer = new window.IntersectionObserver(function (entries) {
|
|
@@ -80,15 +80,18 @@ var usePageVisibility = function usePageVisibility(callback, scrollTracking, pag
|
|
|
80
80
|
pageRefs.current = document.querySelectorAll('.jfReport-page');
|
|
81
81
|
}, [pageCount]);
|
|
82
82
|
useEffect(function () {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
if (selectedPageIndex === -1) {
|
|
84
|
+
pageRefs.current.forEach(function (page) {
|
|
85
|
+
observer.observe(page);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
|
|
86
89
|
return function () {
|
|
87
90
|
pageRefs.current.forEach(function (page) {
|
|
88
91
|
observer.unobserve(page);
|
|
89
92
|
});
|
|
90
93
|
};
|
|
91
|
-
}, [
|
|
94
|
+
}, [selectedPageIndex]);
|
|
92
95
|
};
|
|
93
96
|
var useFullscreenChange = function useFullscreenChange(isFullscreen, setIsFullscreen, fitToScreen) {
|
|
94
97
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sources":["../../../src/utils/hooks.js"],"sourcesContent":["import {\n useEffect,\n useRef,\n useState,\n useMemo,\n} from 'react';\nimport { zoomHandler } from './functions';\nimport { SharingTextsModule } from '../constants/texts';\n\nexport const useStateWithCallback = (initialState, callback) => {\n const [state, setState] = useState(initialState);\n\n useEffect(() => callback(state), [state, callback]);\n\n return [state, setState];\n};\n\nexport const useEventListener = (eventName, handler, element = global) => {\n const savedHandler = useRef();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(\n () => {\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n const eventListener = event => savedHandler.current(event);\n element.addEventListener(eventName, eventListener);\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n },\n [eventName, element],\n );\n};\n\nexport const useInterval = (callback, delay) => {\n const savedCallback = useRef();\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n};\n\nexport const usePrevious = value => {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\n\nexport const useFitZoom = ({\n handler,\n isModeCustomize,\n settings,\n}) => {\n useEffect(() => {\n zoomHandler({\n handler,\n isModeCustomize,\n limitZoom: true,\n onLoad: true, // while page is loading, some conditions should be not working in handler\n settings,\n });\n }, [settings.reportLayout]);\n};\n\nexport const usePageVisibility = (callback, scrollTracking, pageCount, selectedPageIndex) => {\n const ratio = useRef({});\n const pageRefs = useRef([]);\n const observer = new window.IntersectionObserver(entries => {\n entries.forEach(entry => {\n const order = entry.target.getAttribute('data-order');\n if (entry.intersectionRatio !== 0) {\n ratio.current[order] = entry.intersectionRatio;\n } else {\n delete ratio.current[order];\n }\n });\n callback(parseInt(\n Object.keys(ratio.current)\n .find(key => ratio.current[key] === Math.max(...Object.values(ratio.current))),\n 10,\n ));\n },\n {\n delay: 100,\n root: document.querySelector('.jfReport-viewport'),\n threshold: [0, 0.5, 1],\n });\n\n useEffect(() => {\n ratio.current = {};\n pageRefs.current = document.querySelectorAll('.jfReport-page');\n }, [pageCount]);\n\n useEffect(() => {\n pageRefs.current.forEach(page => {\n observer.observe(page);\n });\n\n return () => {\n pageRefs.current.forEach(page => {\n observer.unobserve(page);\n });\n };\n }, [pageRefs.current, scrollTracking, selectedPageIndex]);\n};\n\nexport const useFullscreenChange = (isFullscreen, setIsFullscreen, fitToScreen) => {\n /**\n * All this is just to cover if the user exits fullscreen via ESC key :(\n */\n const onFullscreenChange = () => {\n if (!(\n document.fullScreen\n || document.mozFullScreen\n || document.webkitIsFullScreen\n )) {\n if (isFullscreen) {\n setIsFullscreen(false);\n fitToScreen(600);\n }\n }\n };\n\n useEventListener('fullscreenchange', onFullscreenChange);\n useEventListener('webkitfullscreenchange', onFullscreenChange);\n useEventListener('mozfullscreenchange', onFullscreenChange);\n useEventListener('MSFullscreenChange', onFullscreenChange);\n};\n\nexport const useTranslatedTexts = () => {\n return useMemo(() => SharingTextsModule.Texts, [SharingTextsModule.Texts]);\n};\n\nexport const useClickOutsideListener = (classes, conditionValue, onClose) => {\n const onClickOutsideForPanel = ({ target: { classList } }) => {\n const shouldClose = classes.some(c => classList.contains(c));\n if (shouldClose) {\n onClose();\n }\n };\n\n useEffect(() => {\n if (conditionValue) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => window.removeEventListener('click', onClickOutsideForPanel, false);\n }, [conditionValue]);\n};\n\nexport const usePageTransition = (style, currentPage) => {\n const finalStyle = useMemo(() => {\n switch (style) {\n case 'verticalSlide':\n return { transform: `translateY(-${(currentPage * 100).toString()}%)` };\n case 'scaleAndFade':\n return {};\n case 'rotate':\n return { '-webkit-perspective': 1000 };\n case 'scaleAndSlide':\n case 'horizontalSlide':\n default:\n return { transform: `translateX(-${(currentPage * 100).toString()}%)` };\n }\n }, [style, currentPage]);\n\n return finalStyle;\n};\n"],"names":["useEventListener","eventName","handler","element","global","savedHandler","useRef","useEffect","current","isSupported","addEventListener","eventListener","event","removeEventListener","useFitZoom","isModeCustomize","settings","zoomHandler","limitZoom","onLoad","reportLayout","usePageVisibility","callback","scrollTracking","pageCount","selectedPageIndex","ratio","pageRefs","observer","window","IntersectionObserver","entries","forEach","entry","order","target","getAttribute","intersectionRatio","parseInt","Object","keys","find","key","Math","max","values","delay","root","document","querySelector","threshold","querySelectorAll","page","observe","unobserve","useFullscreenChange","isFullscreen","setIsFullscreen","fitToScreen","onFullscreenChange","fullScreen","mozFullScreen","webkitIsFullScreen","useTranslatedTexts","useMemo","SharingTextsModule","Texts","useClickOutsideListener","classes","conditionValue","onClose","onClickOutsideForPanel","classList","shouldClose","some","c","contains","usePageTransition","style","currentPage","finalStyle","transform","toString"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.js","sources":["../../../src/utils/hooks.js"],"sourcesContent":["import {\n useEffect,\n useRef,\n useState,\n useMemo,\n} from 'react';\nimport { zoomHandler } from './functions';\nimport { SharingTextsModule } from '../constants/texts';\n\nexport const useStateWithCallback = (initialState, callback) => {\n const [state, setState] = useState(initialState);\n\n useEffect(() => callback(state), [state, callback]);\n\n return [state, setState];\n};\n\nexport const useEventListener = (eventName, handler, element = global) => {\n const savedHandler = useRef();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(\n () => {\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n const eventListener = event => savedHandler.current(event);\n element.addEventListener(eventName, eventListener);\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n },\n [eventName, element],\n );\n};\n\nexport const useInterval = (callback, delay) => {\n const savedCallback = useRef();\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n};\n\nexport const usePrevious = value => {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\n\nexport const useFitZoom = ({\n handler,\n isModeCustomize,\n settings,\n}) => {\n useEffect(() => {\n zoomHandler({\n handler,\n isModeCustomize,\n limitZoom: true,\n onLoad: true, // while page is loading, some conditions should be not working in handler\n settings,\n });\n }, [settings.reportLayout]);\n};\n\nexport const usePageVisibility = (callback, pageCount, selectedPageIndex) => {\n const ratio = useRef({});\n const pageRefs = useRef([]);\n const observer = new window.IntersectionObserver(entries => {\n entries.forEach(entry => {\n const order = entry.target.getAttribute('data-order');\n if (entry.intersectionRatio !== 0) {\n ratio.current[order] = entry.intersectionRatio;\n } else {\n delete ratio.current[order];\n }\n });\n callback(parseInt(\n Object.keys(ratio.current)\n .find(key => ratio.current[key] === Math.max(...Object.values(ratio.current))),\n 10,\n ));\n },\n {\n delay: 100,\n root: document.querySelector('.jfReport-viewport'),\n threshold: [0, 0.5, 1],\n });\n\n useEffect(() => {\n ratio.current = {};\n pageRefs.current = document.querySelectorAll('.jfReport-page');\n }, [pageCount]);\n\n useEffect(() => {\n if (selectedPageIndex === -1) {\n pageRefs.current.forEach(page => {\n observer.observe(page);\n });\n }\n\n return () => {\n pageRefs.current.forEach(page => {\n observer.unobserve(page);\n });\n };\n }, [selectedPageIndex]);\n};\n\nexport const useFullscreenChange = (isFullscreen, setIsFullscreen, fitToScreen) => {\n /**\n * All this is just to cover if the user exits fullscreen via ESC key :(\n */\n const onFullscreenChange = () => {\n if (!(\n document.fullScreen\n || document.mozFullScreen\n || document.webkitIsFullScreen\n )) {\n if (isFullscreen) {\n setIsFullscreen(false);\n fitToScreen(600);\n }\n }\n };\n\n useEventListener('fullscreenchange', onFullscreenChange);\n useEventListener('webkitfullscreenchange', onFullscreenChange);\n useEventListener('mozfullscreenchange', onFullscreenChange);\n useEventListener('MSFullscreenChange', onFullscreenChange);\n};\n\nexport const useTranslatedTexts = () => {\n return useMemo(() => SharingTextsModule.Texts, [SharingTextsModule.Texts]);\n};\n\nexport const useClickOutsideListener = (classes, conditionValue, onClose) => {\n const onClickOutsideForPanel = ({ target: { classList } }) => {\n const shouldClose = classes.some(c => classList.contains(c));\n if (shouldClose) {\n onClose();\n }\n };\n\n useEffect(() => {\n if (conditionValue) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => window.removeEventListener('click', onClickOutsideForPanel, false);\n }, [conditionValue]);\n};\n\nexport const usePageTransition = (style, currentPage) => {\n const finalStyle = useMemo(() => {\n switch (style) {\n case 'verticalSlide':\n return { transform: `translateY(-${(currentPage * 100).toString()}%)` };\n case 'scaleAndFade':\n return {};\n case 'rotate':\n return { '-webkit-perspective': 1000 };\n case 'scaleAndSlide':\n case 'horizontalSlide':\n default:\n return { transform: `translateX(-${(currentPage * 100).toString()}%)` };\n }\n }, [style, currentPage]);\n\n return finalStyle;\n};\n"],"names":["useEventListener","eventName","handler","element","global","savedHandler","useRef","useEffect","current","isSupported","addEventListener","eventListener","event","removeEventListener","useFitZoom","isModeCustomize","settings","zoomHandler","limitZoom","onLoad","reportLayout","usePageVisibility","callback","pageCount","selectedPageIndex","ratio","pageRefs","observer","window","IntersectionObserver","entries","forEach","entry","order","target","getAttribute","intersectionRatio","parseInt","Object","keys","find","key","Math","max","values","delay","root","document","querySelector","threshold","querySelectorAll","page","observe","unobserve","useFullscreenChange","isFullscreen","setIsFullscreen","fitToScreen","onFullscreenChange","fullScreen","mozFullScreen","webkitIsFullScreen","useTranslatedTexts","useMemo","SharingTextsModule","Texts","useClickOutsideListener","classes","conditionValue","onClose","onClickOutsideForPanel","classList","shouldClose","some","c","contains","usePageTransition","style","currentPage","finalStyle","transform","toString"],"mappings":"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"}
|