@jotforminc/dnd-builder 3.4.6 → 3.5.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 +36 -0
- package/lib/cjs/components/Builder/BuilderWrapper.js +13 -0
- package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -1
- package/lib/cjs/components/Builder/PageActions.js +6 -1
- package/lib/cjs/components/Builder/PageActions.js.map +1 -1
- package/lib/cjs/components/DraggableItem/DraggableItemActions.js +10 -3
- package/lib/cjs/components/DraggableItem/DraggableItemActions.js.map +1 -1
- package/lib/cjs/components/Panels/RightPanel/RightPanel.js +30 -1
- package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
- package/lib/cjs/contexts/PropContext.js +1 -0
- package/lib/cjs/contexts/PropContext.js.map +1 -1
- package/lib/cjs/styles/_jfReportsFloatings.scss +6 -0
- package/lib/cjs/styles/_jfReportsReportItem.scss +54 -10
- package/lib/esm/components/Builder/BuilderWrapper.js +15 -2
- package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -1
- package/lib/esm/components/Builder/PageActions.js +7 -2
- package/lib/esm/components/Builder/PageActions.js.map +1 -1
- package/lib/esm/components/DraggableItem/DraggableItemActions.js +10 -3
- package/lib/esm/components/DraggableItem/DraggableItemActions.js.map +1 -1
- package/lib/esm/components/Panels/RightPanel/RightPanel.js +31 -2
- package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
- package/lib/esm/contexts/PropContext.js +1 -0
- package/lib/esm/contexts/PropContext.js.map +1 -1
- package/lib/esm/styles/_jfReportsFloatings.scss +6 -0
- package/lib/esm/styles/_jfReportsReportItem.scss +54 -10
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,42 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [3.5.2](https://github.com/jotform/dnd-builder/compare/v3.5.1...v3.5.2) (2026-03-11)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **dnd-builder:** enhance page actions and draggable item toolbar positioning ([f61d1e0](https://github.com/jotform/dnd-builder/commit/f61d1e0deb3c534c81420fdff26b73705afe3312))
|
|
11
|
+
|
|
12
|
+
## [3.5.1](https://github.com/jotform/dnd-builder/compare/v3.4.6...v3.5.1) (2026-03-03)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* **dnd-builder:** add page visibility handling to BuilderWrapper ([9e11ea5](https://github.com/jotform/dnd-builder/commit/9e11ea5451778c07209042651d18c954b79d40ca))
|
|
18
|
+
* **dnd-builder:** reset right panel tab when different element selected ([23d8b20](https://github.com/jotform/dnd-builder/commit/23d8b20cb5542e4fce8496a4dca66a2646a82b0b))
|
|
19
|
+
* **dnd-builder:** typo fix ([bd91cb8](https://github.com/jotform/dnd-builder/commit/bd91cb89373f7fd1acd06f2fbbfb8011cae9ecfb))
|
|
20
|
+
|
|
21
|
+
## [3.4.9](https://github.com/jotform/dnd-builder/compare/v3.4.8...v3.4.9) (2026-03-03)
|
|
22
|
+
|
|
23
|
+
## [3.4.8](https://github.com/jotform/dnd-builder/compare/v3.4.6...v3.4.8) (2026-03-03)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
* **dnd-builder:** add page visibility handling to BuilderWrapper ([9e11ea5](https://github.com/jotform/dnd-builder/commit/9e11ea5451778c07209042651d18c954b79d40ca))
|
|
29
|
+
* **dnd-builder:** reset right panel tab when different element selected ([23d8b20](https://github.com/jotform/dnd-builder/commit/23d8b20cb5542e4fce8496a4dca66a2646a82b0b))
|
|
30
|
+
* **dnd-builder:** typo fix ([bd91cb8](https://github.com/jotform/dnd-builder/commit/bd91cb89373f7fd1acd06f2fbbfb8011cae9ecfb))
|
|
31
|
+
|
|
32
|
+
## [3.4.7](https://github.com/jotform/dnd-builder/compare/v3.4.6...v3.4.7) (2026-03-03)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### Bug Fixes
|
|
36
|
+
|
|
37
|
+
* **dnd-builder:** add page visibility handling to BuilderWrapper ([9e11ea5](https://github.com/jotform/dnd-builder/commit/9e11ea5451778c07209042651d18c954b79d40ca))
|
|
38
|
+
* **dnd-builder:** reset right panel tab when different element selected ([23d8b20](https://github.com/jotform/dnd-builder/commit/23d8b20cb5542e4fce8496a4dca66a2646a82b0b))
|
|
39
|
+
* **dnd-builder:** typo fix ([bd91cb8](https://github.com/jotform/dnd-builder/commit/bd91cb89373f7fd1acd06f2fbbfb8011cae9ecfb))
|
|
40
|
+
|
|
5
41
|
## [3.4.6](https://github.com/jotform/dnd-builder/compare/v3.4.5...v3.4.6) (2026-02-25)
|
|
6
42
|
|
|
7
43
|
## [3.4.5](https://github.com/jotform/dnd-builder/compare/v3.4.4...v3.4.5) (2026-02-25)
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('core-js/modules/es.number.constructor.js');
|
|
4
|
+
require('core-js/modules/es.number.is-nan.js');
|
|
3
5
|
var React = require('react');
|
|
4
6
|
var PropTypes = require('prop-types');
|
|
5
7
|
var isEqual = require('lodash.isequal');
|
|
@@ -38,6 +40,9 @@ var BuilderWrapper = function BuilderWrapper(_ref) {
|
|
|
38
40
|
var onSelectedItemsChanged = PropContext.usePropStore(function (state) {
|
|
39
41
|
return state.onSelectedItemsChanged;
|
|
40
42
|
});
|
|
43
|
+
var onPageVisibilityChanged = PropContext.usePropStore(function (state) {
|
|
44
|
+
return state.onPageVisibilityChanged;
|
|
45
|
+
});
|
|
41
46
|
var selectedItems = hooks.useSelectedElements();
|
|
42
47
|
var prevSelectedItems = hooks.usePrevious(selectedItems);
|
|
43
48
|
React.useEffect(function () {
|
|
@@ -45,6 +50,14 @@ var BuilderWrapper = function BuilderWrapper(_ref) {
|
|
|
45
50
|
onSelectedItemsChanged(selectedItems);
|
|
46
51
|
}
|
|
47
52
|
}, [selectedItems, onSelectedItemsChanged, prevSelectedItems]);
|
|
53
|
+
var handlePageVisibility = React.useCallback(function (index) {
|
|
54
|
+
if (index && !Number.isNaN(index)) {
|
|
55
|
+
onPageVisibilityChanged(index);
|
|
56
|
+
}
|
|
57
|
+
}, [onPageVisibilityChanged]); // for initial page visibility check and slides panel visibility usage
|
|
58
|
+
|
|
59
|
+
var selectedPageIndexReference = isSlidesPanelOpen ? 0 : -1;
|
|
60
|
+
hooks.usePageVisibility(handlePageVisibility, pageCount, selectedPageIndexReference);
|
|
48
61
|
hooks.useFitZoom();
|
|
49
62
|
React.useEffect(function () {
|
|
50
63
|
if (!decidedWhichPanelToOpen.current) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuilderWrapper.js","sources":["../../../../src/components/Builder/BuilderWrapper.js"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport ReportWrapper from '../ReportWrapper';\nimport { usePropStore } from '../../contexts/PropContext';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport {
|
|
1
|
+
{"version":3,"file":"BuilderWrapper.js","sources":["../../../../src/components/Builder/BuilderWrapper.js"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport ReportWrapper from '../ReportWrapper';\nimport { usePropStore } from '../../contexts/PropContext';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport {\n useFitZoom, usePageVisibility, usePrevious, useSelectedElements,\n} from '../../utils/hooks';\n\nconst BuilderWrapper = ({ children }) => {\n const decidedWhichPanelToOpen = useRef(false);\n\n const pageCount = usePropStore(state => state.pages.length);\n const isLeftPanelOpen = useBuilderStore(state => state.isLeftPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const setIsLeftPanelOpen = useBuilderStore(state => state.setIsLeftPanelOpen);\n const setIsSlidesPanelOpen = useBuilderStore(state => state.setIsSlidesPanelOpen);\n const shouldShowRightPanelInitially = useBuilderStore(state => state.shouldShowRightPanelInitially);\n const onSelectedItemsChanged = usePropStore(state => state.onSelectedItemsChanged);\n const onPageVisibilityChanged = usePropStore(state => state.onPageVisibilityChanged);\n const selectedItems = useSelectedElements();\n const prevSelectedItems = usePrevious(selectedItems);\n\n useEffect(() => {\n if (prevSelectedItems && !isEqual(prevSelectedItems, selectedItems)) {\n onSelectedItemsChanged(selectedItems);\n }\n }, [\n selectedItems,\n onSelectedItemsChanged,\n prevSelectedItems,\n ]);\n\n const handlePageVisibility = useCallback(index => {\n if (index && !Number.isNaN(index)) {\n onPageVisibilityChanged(index);\n }\n }, [onPageVisibilityChanged]);\n\n // for initial page visibility check and slides panel visibility usage\n const selectedPageIndexReference = isSlidesPanelOpen ? 0 : -1;\n usePageVisibility(handlePageVisibility, pageCount, selectedPageIndexReference);\n\n useFitZoom();\n\n useEffect(() => {\n if (!decidedWhichPanelToOpen.current) {\n if (pageCount > 1) {\n if (isLeftPanelOpen) {\n setIsLeftPanelOpen(false);\n }\n setIsSlidesPanelOpen(shouldShowRightPanelInitially);\n } else {\n if (isSlidesPanelOpen) {\n setIsSlidesPanelOpen(false);\n }\n setIsLeftPanelOpen(true);\n }\n\n decidedWhichPanelToOpen.current = true;\n }\n }, [\n pageCount,\n isLeftPanelOpen,\n isSlidesPanelOpen,\n setIsLeftPanelOpen,\n setIsSlidesPanelOpen,\n shouldShowRightPanelInitially,\n ]);\n\n return (\n <ReportWrapper mode=\"customize\">\n {children}\n </ReportWrapper>\n );\n};\n\nBuilderWrapper.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default BuilderWrapper;\n"],"names":["BuilderWrapper","children","decidedWhichPanelToOpen","useRef","pageCount","usePropStore","state","pages","length","isLeftPanelOpen","useBuilderStore","isSlidesPanelOpen","setIsLeftPanelOpen","setIsSlidesPanelOpen","shouldShowRightPanelInitially","onSelectedItemsChanged","onPageVisibilityChanged","selectedItems","useSelectedElements","prevSelectedItems","usePrevious","useEffect","isEqual","handlePageVisibility","useCallback","index","Number","isNaN","selectedPageIndexReference","usePageVisibility","useFitZoom","current","_jsx","propTypes","PropTypes","node","isRequired"],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
require('core-js/modules/es.array.find.js');
|
|
4
4
|
require('core-js/modules/es.array.find-index.js');
|
|
5
5
|
var PropTypes = require('prop-types');
|
|
6
|
+
var React = require('react');
|
|
6
7
|
var functions = require('../../utils/functions.js');
|
|
7
8
|
var hooks = require('../../utils/hooks.js');
|
|
8
9
|
var BuilderContext = require('../../contexts/BuilderContext.js');
|
|
@@ -52,6 +53,10 @@ var PageActions = function PageActions(_ref) {
|
|
|
52
53
|
var setEditedElement = BuilderContext.useBuilderStore(function (state) {
|
|
53
54
|
return state.setEditedElement;
|
|
54
55
|
});
|
|
56
|
+
var selectedItems = hooks.useSelectedElements();
|
|
57
|
+
var isSelectedItemExists = React.useMemo(function () {
|
|
58
|
+
return (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) > 0;
|
|
59
|
+
}, [selectedItems]);
|
|
55
60
|
|
|
56
61
|
var pageSettings = function pageSettings() {
|
|
57
62
|
setEditedElement("p_".concat(pageID));
|
|
@@ -113,7 +118,7 @@ var PageActions = function PageActions(_ref) {
|
|
|
113
118
|
className: "pageCounter p-relative d-flex",
|
|
114
119
|
children: "".concat(order)
|
|
115
120
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
116
|
-
className: "floatingController page-toolbar",
|
|
121
|
+
className: "floatingController page-toolbar".concat(isSelectedItemExists ? ' disabled' : ''),
|
|
117
122
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
118
123
|
className: "floatingController-container",
|
|
119
124
|
children: [/*#__PURE__*/jsxRuntime.jsx("button", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageActions.js","sources":["../../../../src/components/Builder/PageActions.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport * as icons from '../../utils/icons';\nimport { moveItemInArrayFromIndexToIndex, scrollToTarget } from '../../utils/functions';\nimport { useTranslatedTexts } from '../../utils/hooks';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst PageActions = ({\n order = 0,\n pageID = '',\n}) => {\n const pages = usePropStore(state => state.pages);\n const pageCount = pages.length;\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onPageAdd = usePropStore(state => state.onPageAdd);\n const onPageDuplicate = usePropStore(state => state.onPageDuplicate);\n const onPageOrdersChange = usePropStore(state => state.onPageOrdersChange);\n const onPageRemove = usePropStore(state => state.onPageRemove);\n const disableInteraction = usePropStore(state => state.disableInteraction);\n\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const setEditedElement = useBuilderStore(state => state.setEditedElement);\n\n const pageSettings = () => {\n setEditedElement(`p_${pageID}`);\n setIsRightPanelOpen(true);\n };\n\n const onPageAddClick = () => {\n const newPageIndex = order + 1;\n onPageAdd(newPageIndex);\n scrollToTarget(`pageActions-id-${newPageIndex}`, 350);\n onAnEventTrigger('addNewPage', newPageIndex);\n };\n\n const onPageRemoveClick = () => {\n onPageRemove(pageID);\n onAnEventTrigger('removePage', pageID);\n };\n\n const changeOrder = direction => {\n return () => {\n const pageIndex = pages.findIndex(page => page.id === pageID);\n const editedPages = moveItemInArrayFromIndexToIndex(\n pages,\n pageIndex,\n pageIndex + direction,\n );\n const pageOrders = editedPages.reduce((acc, page, index) => {\n const newOrder = index + 1;\n acc[page.id] = {\n order: newOrder,\n };\n return acc;\n }, {});\n onPageOrdersChange(pageOrders);\n scrollToTarget(`pageActions-id-${order + direction}`);\n onAnEventTrigger('changePageOrder', direction);\n };\n };\n\n const onPageDuplicateClick = () => {\n const foundPage = pages.find(page => page.id === pageID);\n onPageDuplicate(foundPage);\n scrollToTarget(`pageActions-id-${order + 1}`, 350);\n onAnEventTrigger('duplicatePage', order + 1);\n };\n\n const {\n ADD_NEW_PAGE, DUPLICATE_PAGE, MOVE_PAGE_DOWNWARDS,\n MOVE_PAGE_UPWARDS, PAGE_SETTINGS, REMOVE_PAGE,\n } = useTranslatedTexts();\n return (\n <div\n className=\"jfReport-pageInfo d-flex j-center\"\n id={`pageActions-id-${order}`}\n >\n <div className=\"pageCounter p-relative d-flex\">\n {`${order}`}\n </div>\n <div className=\"floatingController page-toolbar\">\n <div className=\"floatingController-container\">\n <button\n key=\"Slide Settings\"\n className=\"controllerItem\"\n onClick={pageSettings}\n title={PAGE_SETTINGS}\n type=\"button\"\n >\n <icons.pageSettings className=\"toolbar-icon\" />\n </button>\n <button\n key=\"Duplicate Page\"\n className=\"controllerItem\"\n disabled={disableInteraction.indexOf('duplicate') > -1}\n onClick={onPageDuplicateClick}\n title={DUPLICATE_PAGE}\n type=\"button\"\n >\n <icons.duplicate className=\"toolbar-icon\" />\n </button>\n <button\n key=\"Remove Slide\"\n className=\"controllerItem error\"\n disabled={disableInteraction.indexOf('remove') > -1}\n onClick={onPageRemoveClick}\n title={REMOVE_PAGE}\n type=\"button\"\n >\n <icons.trash className=\"toolbar-icon\" />\n </button>\n </div>\n <div className=\"floatingController-container\">\n <button\n key=\"Move Page Upwards\"\n className={`controllerItem${order === 1 ? ' disabled' : ''}`}\n onClick={changeOrder(-1)}\n title={MOVE_PAGE_UPWARDS}\n type=\"button\"\n >\n <icons.angleUp className=\"toolbar-icon\" />\n </button>\n <button\n key=\"Move Page Downwards\"\n className={`controllerItem${order === pageCount ? ' disabled' : ''}`}\n onClick={changeOrder(1)}\n title={MOVE_PAGE_DOWNWARDS}\n type=\"button\"\n >\n <icons.angleDown className=\"toolbar-icon\" />\n </button>\n </div>\n <div className=\"floatingController-container\">\n <button\n key=\"Add Slide\"\n className=\"controllerItem primary\"\n disabled={disableInteraction.indexOf('add') > -1}\n onClick={onPageAddClick}\n title={ADD_NEW_PAGE}\n type=\"button\"\n >\n <icons.plus className=\"toolbar-icon\" />\n </button>\n </div>\n </div>\n </div>\n );\n};\n\nPageActions.propTypes = {\n order: PropTypes.number,\n pageID: PropTypes.string,\n};\n\nexport default PageActions;\n"],"names":["PageActions","order","pageID","pages","usePropStore","state","pageCount","length","onAnEventTrigger","onPageAdd","onPageDuplicate","onPageOrdersChange","onPageRemove","disableInteraction","setIsRightPanelOpen","useBuilderStore","setEditedElement","pageSettings","onPageAddClick","newPageIndex","scrollToTarget","onPageRemoveClick","changeOrder","direction","pageIndex","findIndex","page","id","editedPages","moveItemInArrayFromIndexToIndex","pageOrders","reduce","acc","index","newOrder","onPageDuplicateClick","foundPage","find","useTranslatedTexts","ADD_NEW_PAGE","DUPLICATE_PAGE","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","PAGE_SETTINGS","REMOVE_PAGE","_jsxs","_jsx","icons.pageSettings","indexOf","icons.duplicate","icons.trash","icons.angleUp","icons.angleDown","icons.plus","propTypes","PropTypes","number","string"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PageActions.js","sources":["../../../../src/components/Builder/PageActions.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useMemo } from 'react';\nimport * as icons from '../../utils/icons';\nimport { moveItemInArrayFromIndexToIndex, scrollToTarget } from '../../utils/functions';\nimport { useSelectedElements, useTranslatedTexts } from '../../utils/hooks';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropStore } from '../../contexts/PropContext';\n\nconst PageActions = ({\n order = 0,\n pageID = '',\n}) => {\n const pages = usePropStore(state => state.pages);\n const pageCount = pages.length;\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onPageAdd = usePropStore(state => state.onPageAdd);\n const onPageDuplicate = usePropStore(state => state.onPageDuplicate);\n const onPageOrdersChange = usePropStore(state => state.onPageOrdersChange);\n const onPageRemove = usePropStore(state => state.onPageRemove);\n const disableInteraction = usePropStore(state => state.disableInteraction);\n\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const setEditedElement = useBuilderStore(state => state.setEditedElement);\n\n const selectedItems = useSelectedElements();\n const isSelectedItemExists = useMemo(() => selectedItems?.length > 0, [selectedItems]);\n\n const pageSettings = () => {\n setEditedElement(`p_${pageID}`);\n setIsRightPanelOpen(true);\n };\n\n const onPageAddClick = () => {\n const newPageIndex = order + 1;\n onPageAdd(newPageIndex);\n scrollToTarget(`pageActions-id-${newPageIndex}`, 350);\n onAnEventTrigger('addNewPage', newPageIndex);\n };\n\n const onPageRemoveClick = () => {\n onPageRemove(pageID);\n onAnEventTrigger('removePage', pageID);\n };\n\n const changeOrder = direction => {\n return () => {\n const pageIndex = pages.findIndex(page => page.id === pageID);\n const editedPages = moveItemInArrayFromIndexToIndex(\n pages,\n pageIndex,\n pageIndex + direction,\n );\n const pageOrders = editedPages.reduce((acc, page, index) => {\n const newOrder = index + 1;\n acc[page.id] = {\n order: newOrder,\n };\n return acc;\n }, {});\n onPageOrdersChange(pageOrders);\n scrollToTarget(`pageActions-id-${order + direction}`);\n onAnEventTrigger('changePageOrder', direction);\n };\n };\n\n const onPageDuplicateClick = () => {\n const foundPage = pages.find(page => page.id === pageID);\n onPageDuplicate(foundPage);\n scrollToTarget(`pageActions-id-${order + 1}`, 350);\n onAnEventTrigger('duplicatePage', order + 1);\n };\n\n const {\n ADD_NEW_PAGE, DUPLICATE_PAGE, MOVE_PAGE_DOWNWARDS,\n MOVE_PAGE_UPWARDS, PAGE_SETTINGS, REMOVE_PAGE,\n } = useTranslatedTexts();\n return (\n <div\n className=\"jfReport-pageInfo d-flex j-center\"\n id={`pageActions-id-${order}`}\n >\n <div className=\"pageCounter p-relative d-flex\">\n {`${order}`}\n </div>\n <div className={`floatingController page-toolbar${isSelectedItemExists ? ' disabled' : ''}`}>\n <div className=\"floatingController-container\">\n <button\n key=\"Slide Settings\"\n className=\"controllerItem\"\n onClick={pageSettings}\n title={PAGE_SETTINGS}\n type=\"button\"\n >\n <icons.pageSettings className=\"toolbar-icon\" />\n </button>\n <button\n key=\"Duplicate Page\"\n className=\"controllerItem\"\n disabled={disableInteraction.indexOf('duplicate') > -1}\n onClick={onPageDuplicateClick}\n title={DUPLICATE_PAGE}\n type=\"button\"\n >\n <icons.duplicate className=\"toolbar-icon\" />\n </button>\n <button\n key=\"Remove Slide\"\n className=\"controllerItem error\"\n disabled={disableInteraction.indexOf('remove') > -1}\n onClick={onPageRemoveClick}\n title={REMOVE_PAGE}\n type=\"button\"\n >\n <icons.trash className=\"toolbar-icon\" />\n </button>\n </div>\n <div className=\"floatingController-container\">\n <button\n key=\"Move Page Upwards\"\n className={`controllerItem${order === 1 ? ' disabled' : ''}`}\n onClick={changeOrder(-1)}\n title={MOVE_PAGE_UPWARDS}\n type=\"button\"\n >\n <icons.angleUp className=\"toolbar-icon\" />\n </button>\n <button\n key=\"Move Page Downwards\"\n className={`controllerItem${order === pageCount ? ' disabled' : ''}`}\n onClick={changeOrder(1)}\n title={MOVE_PAGE_DOWNWARDS}\n type=\"button\"\n >\n <icons.angleDown className=\"toolbar-icon\" />\n </button>\n </div>\n <div className=\"floatingController-container\">\n <button\n key=\"Add Slide\"\n className=\"controllerItem primary\"\n disabled={disableInteraction.indexOf('add') > -1}\n onClick={onPageAddClick}\n title={ADD_NEW_PAGE}\n type=\"button\"\n >\n <icons.plus className=\"toolbar-icon\" />\n </button>\n </div>\n </div>\n </div>\n );\n};\n\nPageActions.propTypes = {\n order: PropTypes.number,\n pageID: PropTypes.string,\n};\n\nexport default PageActions;\n"],"names":["PageActions","order","pageID","pages","usePropStore","state","pageCount","length","onAnEventTrigger","onPageAdd","onPageDuplicate","onPageOrdersChange","onPageRemove","disableInteraction","setIsRightPanelOpen","useBuilderStore","setEditedElement","selectedItems","useSelectedElements","isSelectedItemExists","useMemo","pageSettings","onPageAddClick","newPageIndex","scrollToTarget","onPageRemoveClick","changeOrder","direction","pageIndex","findIndex","page","id","editedPages","moveItemInArrayFromIndexToIndex","pageOrders","reduce","acc","index","newOrder","onPageDuplicateClick","foundPage","find","useTranslatedTexts","ADD_NEW_PAGE","DUPLICATE_PAGE","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","PAGE_SETTINGS","REMOVE_PAGE","_jsxs","_jsx","icons.pageSettings","indexOf","icons.duplicate","icons.trash","icons.angleUp","icons.angleDown","icons.plus","propTypes","PropTypes","number","string"],"mappings":"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"}
|
|
@@ -18,6 +18,8 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
18
18
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
19
|
|
|
20
20
|
var DraggableItemActions = function DraggableItemActions() {
|
|
21
|
+
var _reportItemToolbarPos;
|
|
22
|
+
|
|
21
23
|
var _useTranslatedTexts = hooks.useTranslatedTexts(),
|
|
22
24
|
DELETE_ITEM = _useTranslatedTexts.DELETE_ITEM,
|
|
23
25
|
DUPLICATE_ITEM = _useTranslatedTexts.DUPLICATE_ITEM,
|
|
@@ -48,7 +50,12 @@ var DraggableItemActions = function DraggableItemActions() {
|
|
|
48
50
|
var selectedElements = hooks.useSelectedElements();
|
|
49
51
|
var item = selectedElements[0]; // ACTIONS WORKS ONLY FOR ONE ITEM
|
|
50
52
|
|
|
51
|
-
var isLocked = item.isLocked
|
|
53
|
+
var isLocked = item.isLocked,
|
|
54
|
+
itemType = item.itemType;
|
|
55
|
+
var reportItemToolbarPosition = PropContext.usePropStore(function (state) {
|
|
56
|
+
return state.reportItemToolbarPosition;
|
|
57
|
+
});
|
|
58
|
+
var toolbarPosition = (reportItemToolbarPosition === null || reportItemToolbarPosition === void 0 ? void 0 : (_reportItemToolbarPos = reportItemToolbarPosition.toolbarPositionByItemType) === null || _reportItemToolbarPos === void 0 ? void 0 : _reportItemToolbarPos[itemType]) || 'right-align';
|
|
52
59
|
|
|
53
60
|
var changeLockStatus = function changeLockStatus() {
|
|
54
61
|
onAnEventTrigger(isLocked ? 'unlockReportItem' : 'lockReportItem', item.itemType);
|
|
@@ -88,7 +95,7 @@ var DraggableItemActions = function DraggableItemActions() {
|
|
|
88
95
|
|
|
89
96
|
if (isLocked) {
|
|
90
97
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
91
|
-
className: "report-item-toolbar isLocked forLocked",
|
|
98
|
+
className: "report-item-toolbar isLocked forLocked ".concat(toolbarPosition),
|
|
92
99
|
children: /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
93
100
|
className: "report-item-toolbar-item",
|
|
94
101
|
onClick: changeLockStatus,
|
|
@@ -101,7 +108,7 @@ var DraggableItemActions = function DraggableItemActions() {
|
|
|
101
108
|
}
|
|
102
109
|
|
|
103
110
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
104
|
-
className: "report-item-toolbar",
|
|
111
|
+
className: "report-item-toolbar ".concat(toolbarPosition),
|
|
105
112
|
children: [/*#__PURE__*/jsxRuntime.jsx("button", {
|
|
106
113
|
className: "report-item-toolbar-item",
|
|
107
114
|
onClick: openSettings,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DraggableItemActions.js","sources":["../../../../src/components/DraggableItem/DraggableItemActions.js"],"sourcesContent":["import * as icons from '../../utils/icons';\nimport { useSelectedElements, useTranslatedTexts } from '../../utils/hooks';\nimport { usePropStore } from '../../contexts/PropContext';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport generateId from '../../utils/generateId';\n\nconst DraggableItemActions = () => {\n const {\n DELETE_ITEM,\n DUPLICATE_ITEM,\n ITEM_SETTINGS,\n LOCK_ITEM,\n } = useTranslatedTexts();\n\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onItemRemove = usePropStore(state => state.onItemRemove);\n const onItemAdd = usePropStore(state => state.onItemAdd);\n\n const setActiveElements = useBuilderStore(state => state.setActiveElements);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n\n const selectedElements = useSelectedElements();\n const item = selectedElements[0]; // ACTIONS WORKS ONLY FOR ONE ITEM\n\n const { isLocked } = item;\n\n const changeLockStatus = () => {\n onAnEventTrigger(isLocked ? 'unlockReportItem' : 'lockReportItem', item.itemType);\n onItemChange({ id: item.id }, { isLocked: isLocked ? false : true });\n if (!isLocked) {\n setIsRightPanelOpen(false);\n }\n };\n\n const deleteItem = () => {\n setIsRightPanelOpen(false);\n resetActiveElements();\n onItemRemove(item);\n onAnEventTrigger('removeItem', item.itemType);\n };\n\n const duplicateItem = () => {\n const itemID = generateId();\n onItemAdd({\n ...item,\n id: itemID,\n left: item.left + 50,\n top: item.top + 50,\n });\n onAnEventTrigger('duplicateItem', item.itemType);\n setActiveElements(itemID, true);\n setIsRightPanelOpen(true);\n };\n\n const openSettings = () => {\n setIsRightPanelOpen(true);\n };\n\n if (isLocked) {\n return (\n <div className
|
|
1
|
+
{"version":3,"file":"DraggableItemActions.js","sources":["../../../../src/components/DraggableItem/DraggableItemActions.js"],"sourcesContent":["import * as icons from '../../utils/icons';\nimport { useSelectedElements, useTranslatedTexts } from '../../utils/hooks';\nimport { usePropStore } from '../../contexts/PropContext';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport generateId from '../../utils/generateId';\n\nconst DraggableItemActions = () => {\n const {\n DELETE_ITEM,\n DUPLICATE_ITEM,\n ITEM_SETTINGS,\n LOCK_ITEM,\n } = useTranslatedTexts();\n\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onItemRemove = usePropStore(state => state.onItemRemove);\n const onItemAdd = usePropStore(state => state.onItemAdd);\n\n const setActiveElements = useBuilderStore(state => state.setActiveElements);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n\n const selectedElements = useSelectedElements();\n const item = selectedElements[0]; // ACTIONS WORKS ONLY FOR ONE ITEM\n\n const { isLocked, itemType } = item;\n\n const reportItemToolbarPosition = usePropStore(state => state.reportItemToolbarPosition);\n const toolbarPosition = reportItemToolbarPosition?.toolbarPositionByItemType?.[itemType] || 'right-align';\n\n const changeLockStatus = () => {\n onAnEventTrigger(isLocked ? 'unlockReportItem' : 'lockReportItem', item.itemType);\n onItemChange({ id: item.id }, { isLocked: isLocked ? false : true });\n if (!isLocked) {\n setIsRightPanelOpen(false);\n }\n };\n\n const deleteItem = () => {\n setIsRightPanelOpen(false);\n resetActiveElements();\n onItemRemove(item);\n onAnEventTrigger('removeItem', item.itemType);\n };\n\n const duplicateItem = () => {\n const itemID = generateId();\n onItemAdd({\n ...item,\n id: itemID,\n left: item.left + 50,\n top: item.top + 50,\n });\n onAnEventTrigger('duplicateItem', item.itemType);\n setActiveElements(itemID, true);\n setIsRightPanelOpen(true);\n };\n\n const openSettings = () => {\n setIsRightPanelOpen(true);\n };\n\n if (isLocked) {\n return (\n <div className={`report-item-toolbar isLocked forLocked ${toolbarPosition}`}>\n <button\n className=\"report-item-toolbar-item\"\n onClick={changeLockStatus}\n type=\"button\"\n >\n <icons.lock className=\"toolbar-icon\" />\n </button>\n </div>\n );\n }\n return (\n <div className={`report-item-toolbar ${toolbarPosition}`}>\n <button\n className=\"report-item-toolbar-item\"\n onClick={openSettings}\n title={ITEM_SETTINGS}\n type=\"button\"\n >\n <icons.settings className=\"toolbar-icon\" />\n </button>\n <button\n className=\"report-item-toolbar-item\"\n onClick={duplicateItem}\n title={DUPLICATE_ITEM}\n type=\"button\"\n >\n <icons.duplicate className=\"toolbar-icon\" />\n </button>\n <button\n className=\"report-item-toolbar-item\"\n onClick={changeLockStatus}\n title={LOCK_ITEM}\n type=\"button\"\n >\n <icons.unlock className=\"toolbar-icon\" />\n </button>\n <button\n className=\"report-item-toolbar-item error\"\n onClick={deleteItem}\n title={DELETE_ITEM}\n type=\"button\"\n >\n <icons.trash className=\"toolbar-icon\" />\n </button>\n </div>\n );\n};\n\nexport default DraggableItemActions;\n"],"names":["DraggableItemActions","useTranslatedTexts","DELETE_ITEM","DUPLICATE_ITEM","ITEM_SETTINGS","LOCK_ITEM","onAnEventTrigger","usePropStore","state","onItemChange","onItemRemove","onItemAdd","setActiveElements","useBuilderStore","resetActiveElements","setIsRightPanelOpen","selectedElements","useSelectedElements","item","isLocked","itemType","reportItemToolbarPosition","toolbarPosition","toolbarPositionByItemType","changeLockStatus","id","deleteItem","duplicateItem","itemID","generateId","left","top","openSettings","_jsx","icons.lock","_jsxs","icons.settings","icons.duplicate","icons.unlock","icons.trash"],"mappings":"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"}
|
|
@@ -31,6 +31,18 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
31
31
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
32
32
|
|
|
33
33
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
34
|
+
|
|
35
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
36
|
+
|
|
37
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
38
|
+
|
|
39
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
40
|
+
|
|
41
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
42
|
+
|
|
43
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
44
|
+
|
|
45
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
34
46
|
var exceptionalClasses = ['pageSettingSideBtn', 'paneClose', 'paneToggler', 'forZoom', 'jSheetContextMenu', 'page-toolbar', 'report-item-toolbar', 'zoom-toolbar', 'controllerItem'];
|
|
35
47
|
|
|
36
48
|
var RightPanel = function RightPanel() {
|
|
@@ -58,6 +70,12 @@ var RightPanel = function RightPanel() {
|
|
|
58
70
|
var clickOutsideIgnoreSelectors = BuilderContext.useBuilderStore(function (state) {
|
|
59
71
|
return state.clickOutsideIgnoreSelectors;
|
|
60
72
|
});
|
|
73
|
+
|
|
74
|
+
var _useState = React.useState(null),
|
|
75
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
76
|
+
selectedItemID = _useState2[0],
|
|
77
|
+
setSelectedItemID = _useState2[1];
|
|
78
|
+
|
|
61
79
|
var acceptedItems = PropContext.usePropStore(function (state) {
|
|
62
80
|
return state.acceptedItems;
|
|
63
81
|
});
|
|
@@ -172,8 +190,19 @@ var RightPanel = function RightPanel() {
|
|
|
172
190
|
element = _useMemo.element,
|
|
173
191
|
selectedItem = _useMemo.selectedItem,
|
|
174
192
|
title = _useMemo.title,
|
|
175
|
-
updateFunc = _useMemo.updateFunc;
|
|
193
|
+
updateFunc = _useMemo.updateFunc;
|
|
176
194
|
|
|
195
|
+
React.useEffect(function () {
|
|
196
|
+
if (selectedItemID !== selectedItem.id) {
|
|
197
|
+
setSelectedItemID(function (prev) {
|
|
198
|
+
if (prev) {
|
|
199
|
+
setActiveTab('right', 0);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
return selectedItem.id;
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
}, [selectedItem, selectedItemID, setActiveTab]); // Tabs
|
|
177
206
|
|
|
178
207
|
var tabsWithSettings = functions.getTabsWithSettings(element, selectedItem, itemAccessor);
|
|
179
208
|
var tabs = Object.keys(tabsWithSettings);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RightPanel.js","sources":["../../../../../src/components/Panels/RightPanel/RightPanel.js"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport Section from '../../Builder/Section';\nimport Layout from '../../../constants/reportSettings';\nimport Page from '../../../constants/pageSettings';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { findItemById, getTabsWithSettings } from '../../../utils/functions';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport {\n REPORT_SETTINGS_ITEM_TYPE, PAGE_SETTINGS_ITEM_TYPE,\n} from '../../../constants/itemTypes';\nimport Tabs from '../../Builder/Tabs';\nimport Settings from './Settings';\nimport RightPanelToggler from './RightPanelToggler';\n\nconst exceptionalClasses = [\n 'pageSettingSideBtn',\n 'paneClose',\n 'paneToggler',\n 'forZoom',\n 'jSheetContextMenu',\n 'page-toolbar',\n 'report-item-toolbar',\n 'zoom-toolbar',\n 'controllerItem',\n];\n\nconst RightPanel = () => {\n const activeTab = useBuilderStore(state => state.activeTab);\n const editedElement = useBuilderStore(state => state.editedElement);\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const setActiveTab = useBuilderStore(state => state.setActiveTab);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const clickOutsideIgnoreSelectors = useBuilderStore(state => state.clickOutsideIgnoreSelectors);\n\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const layoutSettings = usePropStore(state => state.settings);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onPageChange = usePropStore(state => state.onPageChange);\n const onSettingChange = usePropStore(state => state.onSettingChange);\n const pages = usePropStore(state => state.pages);\n const itemAccessor = usePropStore(state => state.itemAccessor);\n\n const panelRef = useRef(null);\n const translatedTexts = useTranslatedTexts();\n\n const settingMap = useMemo(() => ({\n i_: {\n details: id => {\n const item = findItemById(id, pages);\n return item;\n },\n settings: item => {\n return acceptedItems[item.itemType];\n },\n title: item => {\n const textKey = `${(acceptedItems[item.itemType].title || item.itemType).toLocaleUpperCase()}_SETTINGS`;\n return translatedTexts[textKey] || acceptedItems[item.itemType].title;\n },\n updater: onItemChange,\n },\n l_: {\n details: () => {\n return {\n ...layoutSettings,\n id: REPORT_SETTINGS_ITEM_TYPE,\n itemType: REPORT_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n return acceptedItems[REPORT_SETTINGS_ITEM_TYPE] || Layout;\n },\n title: () => translatedTexts.LAYOUT_SETTINGS,\n updater: onSettingChange,\n },\n p_: {\n details: id => {\n return {\n backgroundColor: layoutSettings.reportBackgroundColor,\n ...pages.find(page => page.id === id),\n itemType: PAGE_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n const pageItem = acceptedItems[PAGE_SETTINGS_ITEM_TYPE] || Page;\n return {\n ...pageItem,\n settings: pageItem.settings.map(setting => {\n if (setting.key === 'pageLayer') {\n return { ...setting, updater: onItemChange };\n }\n return setting;\n }) || Page.settings,\n };\n },\n title: () => translatedTexts.PAGE_SETTINGS,\n updater: onPageChange,\n },\n }), [\n acceptedItems,\n layoutSettings,\n onItemChange,\n onPageChange,\n onSettingChange,\n translatedTexts,\n pages,\n ]);\n\n const editedEl = useMemo(() => {\n return settingMap[editedElement.substr(0, 2)] || settingMap.l_;\n }, [editedElement, settingMap]);\n\n const {\n element, selectedItem, title, updateFunc,\n } = useMemo(() => {\n const editedElId = editedElement.substr(2);\n const _selectedItem = editedEl.details(editedElId);\n\n if (!_selectedItem) {\n const fallbackEditedEl = settingMap.l_;\n return {\n element: fallbackEditedEl.settings(),\n selectedItem: fallbackEditedEl.details(),\n title: fallbackEditedEl.title(),\n updateFunc: fallbackEditedEl.updater,\n };\n }\n\n return {\n element: editedEl.settings(_selectedItem),\n selectedItem: _selectedItem,\n title: editedEl.title(_selectedItem),\n updateFunc: editedEl.updater,\n };\n }, [editedEl, editedElement, settingMap.l_]);\n\n // Tabs\n const tabsWithSettings = getTabsWithSettings(element, selectedItem, itemAccessor);\n const tabs = Object.keys(tabsWithSettings);\n\n useEffect(() => {\n const currentTab = tabs[activeTab.right];\n if (!tabsWithSettings[currentTab]) {\n // This is due to conditionaly hiding tabs\n setActiveTab('right', 0);\n }\n }, [activeTab, tabs, tabsWithSettings, setActiveTab]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSettings f-height',\n {\n isIdle: !isRightPanelOpen,\n otherOpened: isSlidesPanelOpen,\n },\n );\n\n const onClickOutsideForPanel = useCallback(e => {\n const isIgnoredBySelector = clickOutsideIgnoreSelectors.some(selector => selector && e.target.closest(selector));\n\n if (editedElement.substr(0, 2) === 'i_'\n || panelRef.current.contains(e.target)\n || panelRef.current.contains(document.activeElement)\n || isIgnoredBySelector\n || Array.from(e.target.classList).some(xClass => exceptionalClasses.includes(xClass))\n || exceptionalClasses.some(xClass => e.target.closest(`.${xClass}`))\n ) {\n return;\n }\n setIsRightPanelOpen(false);\n resetActiveElements();\n }, [clickOutsideIgnoreSelectors, editedElement, setIsRightPanelOpen, resetActiveElements]);\n\n useEffect(() => {\n if (isRightPanelOpen) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => {\n window.removeEventListener('click', onClickOutsideForPanel, false);\n };\n }, [isRightPanelOpen, onClickOutsideForPanel]);\n\n return (\n <>\n <Panel\n ref={panelRef}\n additionalClassName={panelAdditionalClassName}\n >\n {isSlidesPanelOpen ? null : <RightPanelToggler />}\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section title={title}>\n <Tabs\n panel=\"right\"\n tabs={tabs}\n />\n <Settings\n key={selectedItem.id}\n element={element}\n item={selectedItem}\n onChange={updateFunc}\n settings={tabsWithSettings}\n tabs={tabs}\n />\n </Section>\n </div>\n </Panel>\n </>\n );\n};\n\nexport default RightPanel;\n"],"names":["exceptionalClasses","RightPanel","activeTab","useBuilderStore","state","editedElement","isRightPanelOpen","isSlidesPanelOpen","resetActiveElements","setActiveTab","setIsRightPanelOpen","clickOutsideIgnoreSelectors","acceptedItems","usePropStore","layoutSettings","settings","onItemChange","onPageChange","onSettingChange","pages","itemAccessor","panelRef","useRef","translatedTexts","useTranslatedTexts","settingMap","useMemo","i_","details","id","item","findItemById","itemType","title","textKey","toLocaleUpperCase","updater","l_","REPORT_SETTINGS_ITEM_TYPE","Layout","LAYOUT_SETTINGS","p_","backgroundColor","reportBackgroundColor","find","page","PAGE_SETTINGS_ITEM_TYPE","pageItem","Page","map","setting","key","PAGE_SETTINGS","editedEl","substr","editedElId","_selectedItem","fallbackEditedEl","element","selectedItem","updateFunc","tabsWithSettings","getTabsWithSettings","tabs","Object","keys","useEffect","currentTab","right","panelAdditionalClassName","classNames","isIdle","otherOpened","onClickOutsideForPanel","useCallback","e","isIgnoredBySelector","some","selector","target","closest","current","contains","document","activeElement","Array","from","classList","xClass","includes","window","addEventListener","removeEventListener","_jsx","_jsxs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RightPanel.js","sources":["../../../../../src/components/Panels/RightPanel/RightPanel.js"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport Section from '../../Builder/Section';\nimport Layout from '../../../constants/reportSettings';\nimport Page from '../../../constants/pageSettings';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { findItemById, getTabsWithSettings } from '../../../utils/functions';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport {\n REPORT_SETTINGS_ITEM_TYPE, PAGE_SETTINGS_ITEM_TYPE,\n} from '../../../constants/itemTypes';\nimport Tabs from '../../Builder/Tabs';\nimport Settings from './Settings';\nimport RightPanelToggler from './RightPanelToggler';\n\nconst exceptionalClasses = [\n 'pageSettingSideBtn',\n 'paneClose',\n 'paneToggler',\n 'forZoom',\n 'jSheetContextMenu',\n 'page-toolbar',\n 'report-item-toolbar',\n 'zoom-toolbar',\n 'controllerItem',\n];\n\nconst RightPanel = () => {\n const activeTab = useBuilderStore(state => state.activeTab);\n const editedElement = useBuilderStore(state => state.editedElement);\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const setActiveTab = useBuilderStore(state => state.setActiveTab);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const clickOutsideIgnoreSelectors = useBuilderStore(state => state.clickOutsideIgnoreSelectors);\n const [selectedItemID, setSelectedItemID] = useState(null);\n\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const layoutSettings = usePropStore(state => state.settings);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onPageChange = usePropStore(state => state.onPageChange);\n const onSettingChange = usePropStore(state => state.onSettingChange);\n const pages = usePropStore(state => state.pages);\n const itemAccessor = usePropStore(state => state.itemAccessor);\n\n const panelRef = useRef(null);\n const translatedTexts = useTranslatedTexts();\n\n const settingMap = useMemo(() => ({\n i_: {\n details: id => {\n const item = findItemById(id, pages);\n return item;\n },\n settings: item => {\n return acceptedItems[item.itemType];\n },\n title: item => {\n const textKey = `${(acceptedItems[item.itemType].title || item.itemType).toLocaleUpperCase()}_SETTINGS`;\n return translatedTexts[textKey] || acceptedItems[item.itemType].title;\n },\n updater: onItemChange,\n },\n l_: {\n details: () => {\n return {\n ...layoutSettings,\n id: REPORT_SETTINGS_ITEM_TYPE,\n itemType: REPORT_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n return acceptedItems[REPORT_SETTINGS_ITEM_TYPE] || Layout;\n },\n title: () => translatedTexts.LAYOUT_SETTINGS,\n updater: onSettingChange,\n },\n p_: {\n details: id => {\n return {\n backgroundColor: layoutSettings.reportBackgroundColor,\n ...pages.find(page => page.id === id),\n itemType: PAGE_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n const pageItem = acceptedItems[PAGE_SETTINGS_ITEM_TYPE] || Page;\n return {\n ...pageItem,\n settings: pageItem.settings.map(setting => {\n if (setting.key === 'pageLayer') {\n return { ...setting, updater: onItemChange };\n }\n return setting;\n }) || Page.settings,\n };\n },\n title: () => translatedTexts.PAGE_SETTINGS,\n updater: onPageChange,\n },\n }), [\n acceptedItems,\n layoutSettings,\n onItemChange,\n onPageChange,\n onSettingChange,\n translatedTexts,\n pages,\n ]);\n\n const editedEl = useMemo(() => {\n return settingMap[editedElement.substr(0, 2)] || settingMap.l_;\n }, [editedElement, settingMap]);\n\n const {\n element, selectedItem, title, updateFunc,\n } = useMemo(() => {\n const editedElId = editedElement.substr(2);\n const _selectedItem = editedEl.details(editedElId);\n\n if (!_selectedItem) {\n const fallbackEditedEl = settingMap.l_;\n return {\n element: fallbackEditedEl.settings(),\n selectedItem: fallbackEditedEl.details(),\n title: fallbackEditedEl.title(),\n updateFunc: fallbackEditedEl.updater,\n };\n }\n\n return {\n element: editedEl.settings(_selectedItem),\n selectedItem: _selectedItem,\n title: editedEl.title(_selectedItem),\n updateFunc: editedEl.updater,\n };\n }, [editedEl, editedElement, settingMap.l_]);\n\n useEffect(() => {\n if (selectedItemID !== selectedItem.id) {\n setSelectedItemID(prev => {\n if (prev) {\n setActiveTab('right', 0);\n }\n return selectedItem.id;\n });\n }\n }, [selectedItem, selectedItemID, setActiveTab]);\n\n // Tabs\n const tabsWithSettings = getTabsWithSettings(element, selectedItem, itemAccessor);\n const tabs = Object.keys(tabsWithSettings);\n\n useEffect(() => {\n const currentTab = tabs[activeTab.right];\n if (!tabsWithSettings[currentTab]) {\n // This is due to conditionaly hiding tabs\n setActiveTab('right', 0);\n }\n }, [activeTab, tabs, tabsWithSettings, setActiveTab]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSettings f-height',\n {\n isIdle: !isRightPanelOpen,\n otherOpened: isSlidesPanelOpen,\n },\n );\n\n const onClickOutsideForPanel = useCallback(e => {\n const isIgnoredBySelector = clickOutsideIgnoreSelectors.some(selector => selector && e.target.closest(selector));\n\n if (editedElement.substr(0, 2) === 'i_'\n || panelRef.current.contains(e.target)\n || panelRef.current.contains(document.activeElement)\n || isIgnoredBySelector\n || Array.from(e.target.classList).some(xClass => exceptionalClasses.includes(xClass))\n || exceptionalClasses.some(xClass => e.target.closest(`.${xClass}`))\n ) {\n return;\n }\n setIsRightPanelOpen(false);\n resetActiveElements();\n }, [clickOutsideIgnoreSelectors, editedElement, setIsRightPanelOpen, resetActiveElements]);\n\n useEffect(() => {\n if (isRightPanelOpen) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => {\n window.removeEventListener('click', onClickOutsideForPanel, false);\n };\n }, [isRightPanelOpen, onClickOutsideForPanel]);\n\n return (\n <>\n <Panel\n ref={panelRef}\n additionalClassName={panelAdditionalClassName}\n >\n {isSlidesPanelOpen ? null : <RightPanelToggler />}\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section title={title}>\n <Tabs\n panel=\"right\"\n tabs={tabs}\n />\n <Settings\n key={selectedItem.id}\n element={element}\n item={selectedItem}\n onChange={updateFunc}\n settings={tabsWithSettings}\n tabs={tabs}\n />\n </Section>\n </div>\n </Panel>\n </>\n );\n};\n\nexport default RightPanel;\n"],"names":["exceptionalClasses","RightPanel","activeTab","useBuilderStore","state","editedElement","isRightPanelOpen","isSlidesPanelOpen","resetActiveElements","setActiveTab","setIsRightPanelOpen","clickOutsideIgnoreSelectors","useState","selectedItemID","setSelectedItemID","acceptedItems","usePropStore","layoutSettings","settings","onItemChange","onPageChange","onSettingChange","pages","itemAccessor","panelRef","useRef","translatedTexts","useTranslatedTexts","settingMap","useMemo","i_","details","id","item","findItemById","itemType","title","textKey","toLocaleUpperCase","updater","l_","REPORT_SETTINGS_ITEM_TYPE","Layout","LAYOUT_SETTINGS","p_","backgroundColor","reportBackgroundColor","find","page","PAGE_SETTINGS_ITEM_TYPE","pageItem","Page","map","setting","key","PAGE_SETTINGS","editedEl","substr","editedElId","_selectedItem","fallbackEditedEl","element","selectedItem","updateFunc","useEffect","prev","tabsWithSettings","getTabsWithSettings","tabs","Object","keys","currentTab","right","panelAdditionalClassName","classNames","isIdle","otherOpened","onClickOutsideForPanel","useCallback","e","isIgnoredBySelector","some","selector","target","closest","current","contains","document","activeElement","Array","from","classList","xClass","includes","window","addEventListener","removeEventListener","_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -46,6 +46,7 @@ var propStore = function propStore(props) {
|
|
|
46
46
|
onSelectedItemsChanged: props.onSelectedItemsChanged || fn,
|
|
47
47
|
onSettingChange: props.onSettingChange || fn,
|
|
48
48
|
pages: props.pages || [],
|
|
49
|
+
reportItemToolbarPosition: props.reportItemToolbarPosition || {},
|
|
49
50
|
setAcceptedItems: function setAcceptedItems(acceptedItems) {
|
|
50
51
|
set({
|
|
51
52
|
acceptedItems: acceptedItems
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropContext.js","sources":["../../../src/contexts/PropContext.js"],"sourcesContent":["import {\n createContext, useContext, useEffect, useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport { createStore, useStore } from 'zustand';\n\nconst fn = () => {};\n\nconst propStore = props => {\n // eslint-disable-next-line complexity\n return createStore(set => ({\n acceptedItems: props.acceptedItems || {},\n additionalPageItems: props.additionalPageItems || [],\n disableInteraction: props.disableInteraction || [],\n itemAccessor: props.itemAccessor || fn,\n leftPanelConfig: props.leftPanelConfig || [],\n onAnEventTrigger: props.onAnEventTrigger || (() => {}),\n onItemAdd: props.onItemAdd || fn,\n onItemChange: props.onItemChange || fn,\n onItemMove: props.onItemMove || fn,\n onItemRemove: props.onItemRemove || fn,\n onItemResize: props.onItemResize || fn,\n onItemsMove: props.onItemsMove || fn,\n onPageAdd: props.onPageAdd || fn,\n onPageChange: props.onPageChange || fn,\n onPageDuplicate: props.onPageDuplicate || fn,\n onPageOrdersChange: props.onPageOrdersChange || fn,\n onPageRemove: props.onPageRemove || fn,\n onPageVisibilityChanged: props.onPageVisibilityChanged || fn,\n onSelectedItemsChanged: props.onSelectedItemsChanged || fn,\n onSettingChange: props.onSettingChange || fn,\n pages: props.pages || [],\n setAcceptedItems: acceptedItems => { set({ acceptedItems }); },\n setItemAccessor: itemAccessor => { set({ itemAccessor }); },\n setPages: pages => { set({ pages }); },\n setSettings: settings => { set({ settings }); },\n settings: props.settings || {\n reportLayout: 'A4 Landscape',\n },\n theme: props.theme || 'lightMode',\n useExperimentalFeatures: props.useExperimentalFeatures || false,\n }));\n};\n\nconst PropContext = createContext(null);\n\nexport const PropProvider = ({ children, ...props }) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = propStore(props);\n }\n\n const {\n acceptedItems, itemAccessor, pages, settings,\n } = props;\n\n useEffect(() => {\n const state = storeRef.current.getState();\n if (!pages || isEqual(state.pages, pages)) return;\n state.setPages(pages);\n }, [pages]);\n\n useEffect(() => {\n const { setItemAccessor } = storeRef.current.getState();\n setItemAccessor(itemAccessor);\n }, [itemAccessor]);\n\n useEffect(() => {\n const state = storeRef.current.getState();\n if (!acceptedItems || isEqual(state.acceptedItems, acceptedItems)) return;\n state.setAcceptedItems(acceptedItems);\n }, [acceptedItems]);\n\n useEffect(() => {\n const state = storeRef.current.getState();\n if (!settings || isEqual(state.settings, settings)) return;\n state.setSettings(settings);\n }, [settings]);\n\n return (\n <PropContext.Provider value={storeRef.current}>\n {children}\n </PropContext.Provider>\n );\n};\n\nPropProvider.propTypes = {\n acceptedItems: PropTypes.shape({}),\n children: PropTypes.any,\n itemAccessor: PropTypes.func,\n pages: PropTypes.arrayOf(PropTypes.object),\n settings: PropTypes.shape({}),\n};\n\nexport const PropConsumer = PropContext.Consumer;\n\nexport const usePropStore = selector => {\n const context = useContext(PropContext);\n if (!context) {\n throw new Error('usePropStore must be used with PropProvider!');\n }\n return useStore(context, selector);\n};\n"],"names":["fn","propStore","props","createStore","set","acceptedItems","additionalPageItems","disableInteraction","itemAccessor","leftPanelConfig","onAnEventTrigger","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","onPageVisibilityChanged","onSelectedItemsChanged","onSettingChange","pages","setAcceptedItems","setItemAccessor","setPages","setSettings","settings","reportLayout","theme","useExperimentalFeatures","PropContext","createContext","PropProvider","children","storeRef","useRef","current","useEffect","state","getState","isEqual","_jsx","propTypes","PropTypes","shape","any","func","arrayOf","object","Consumer","usePropStore","selector","context","useContext","Error","useStore"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAOA,IAAMA,EAAE,GAAG,SAALA,EAAK,GAAM,EAAjB;;AAEA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAAAC,KAAK,EAAI;AACzB;AACA,SAAOC,mBAAW,CAAC,UAAAC,GAAG;AAAA,WAAK;AACzBC,MAAAA,aAAa,EAAEH,KAAK,CAACG,aAAN,IAAuB,EADb;AAEzBC,MAAAA,mBAAmB,EAAEJ,KAAK,CAACI,mBAAN,IAA6B,EAFzB;AAGzBC,MAAAA,kBAAkB,EAAEL,KAAK,CAACK,kBAAN,IAA4B,EAHvB;AAIzBC,MAAAA,YAAY,EAAEN,KAAK,CAACM,YAAN,IAAsBR,EAJX;AAKzBS,MAAAA,eAAe,EAAEP,KAAK,CAACO,eAAN,IAAyB,EALjB;AAMzBC,MAAAA,gBAAgB,EAAER,KAAK,CAACQ,gBAAN,IAA2B,YAAM,EAN1B;AAOzBC,MAAAA,SAAS,EAAET,KAAK,CAACS,SAAN,IAAmBX,EAPL;AAQzBY,MAAAA,YAAY,EAAEV,KAAK,CAACU,YAAN,IAAsBZ,EARX;AASzBa,MAAAA,UAAU,EAAEX,KAAK,CAACW,UAAN,IAAoBb,EATP;AAUzBc,MAAAA,YAAY,EAAEZ,KAAK,CAACY,YAAN,IAAsBd,EAVX;AAWzBe,MAAAA,YAAY,EAAEb,KAAK,CAACa,YAAN,IAAsBf,EAXX;AAYzBgB,MAAAA,WAAW,EAAEd,KAAK,CAACc,WAAN,IAAqBhB,EAZT;AAazBiB,MAAAA,SAAS,EAAEf,KAAK,CAACe,SAAN,IAAmBjB,EAbL;AAczBkB,MAAAA,YAAY,EAAEhB,KAAK,CAACgB,YAAN,IAAsBlB,EAdX;AAezBmB,MAAAA,eAAe,EAAEjB,KAAK,CAACiB,eAAN,IAAyBnB,EAfjB;AAgBzBoB,MAAAA,kBAAkB,EAAElB,KAAK,CAACkB,kBAAN,IAA4BpB,EAhBvB;AAiBzBqB,MAAAA,YAAY,EAAEnB,KAAK,CAACmB,YAAN,IAAsBrB,EAjBX;AAkBzBsB,MAAAA,uBAAuB,EAAEpB,KAAK,CAACoB,uBAAN,IAAiCtB,EAlBjC;AAmBzBuB,MAAAA,sBAAsB,EAAErB,KAAK,CAACqB,sBAAN,IAAgCvB,EAnB/B;AAoBzBwB,MAAAA,eAAe,EAAEtB,KAAK,CAACsB,eAAN,IAAyBxB,EApBjB;AAqBzByB,MAAAA,KAAK,EAAEvB,KAAK,CAACuB,KAAN,IAAe,EArBG;AAsBzBC,MAAAA,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"PropContext.js","sources":["../../../src/contexts/PropContext.js"],"sourcesContent":["import {\n createContext, useContext, useEffect, useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport { createStore, useStore } from 'zustand';\n\nconst fn = () => {};\n\nconst propStore = props => {\n // eslint-disable-next-line complexity\n return createStore(set => ({\n acceptedItems: props.acceptedItems || {},\n additionalPageItems: props.additionalPageItems || [],\n disableInteraction: props.disableInteraction || [],\n itemAccessor: props.itemAccessor || fn,\n leftPanelConfig: props.leftPanelConfig || [],\n onAnEventTrigger: props.onAnEventTrigger || (() => {}),\n onItemAdd: props.onItemAdd || fn,\n onItemChange: props.onItemChange || fn,\n onItemMove: props.onItemMove || fn,\n onItemRemove: props.onItemRemove || fn,\n onItemResize: props.onItemResize || fn,\n onItemsMove: props.onItemsMove || fn,\n onPageAdd: props.onPageAdd || fn,\n onPageChange: props.onPageChange || fn,\n onPageDuplicate: props.onPageDuplicate || fn,\n onPageOrdersChange: props.onPageOrdersChange || fn,\n onPageRemove: props.onPageRemove || fn,\n onPageVisibilityChanged: props.onPageVisibilityChanged || fn,\n onSelectedItemsChanged: props.onSelectedItemsChanged || fn,\n onSettingChange: props.onSettingChange || fn,\n pages: props.pages || [],\n reportItemToolbarPosition: props.reportItemToolbarPosition || {},\n setAcceptedItems: acceptedItems => { set({ acceptedItems }); },\n setItemAccessor: itemAccessor => { set({ itemAccessor }); },\n setPages: pages => { set({ pages }); },\n setSettings: settings => { set({ settings }); },\n settings: props.settings || {\n reportLayout: 'A4 Landscape',\n },\n theme: props.theme || 'lightMode',\n useExperimentalFeatures: props.useExperimentalFeatures || false,\n }));\n};\n\nconst PropContext = createContext(null);\n\nexport const PropProvider = ({ children, ...props }) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = propStore(props);\n }\n\n const {\n acceptedItems, itemAccessor, pages, settings,\n } = props;\n\n useEffect(() => {\n const state = storeRef.current.getState();\n if (!pages || isEqual(state.pages, pages)) return;\n state.setPages(pages);\n }, [pages]);\n\n useEffect(() => {\n const { setItemAccessor } = storeRef.current.getState();\n setItemAccessor(itemAccessor);\n }, [itemAccessor]);\n\n useEffect(() => {\n const state = storeRef.current.getState();\n if (!acceptedItems || isEqual(state.acceptedItems, acceptedItems)) return;\n state.setAcceptedItems(acceptedItems);\n }, [acceptedItems]);\n\n useEffect(() => {\n const state = storeRef.current.getState();\n if (!settings || isEqual(state.settings, settings)) return;\n state.setSettings(settings);\n }, [settings]);\n\n return (\n <PropContext.Provider value={storeRef.current}>\n {children}\n </PropContext.Provider>\n );\n};\n\nPropProvider.propTypes = {\n acceptedItems: PropTypes.shape({}),\n children: PropTypes.any,\n itemAccessor: PropTypes.func,\n pages: PropTypes.arrayOf(PropTypes.object),\n settings: PropTypes.shape({}),\n};\n\nexport const PropConsumer = PropContext.Consumer;\n\nexport const usePropStore = selector => {\n const context = useContext(PropContext);\n if (!context) {\n throw new Error('usePropStore must be used with PropProvider!');\n }\n return useStore(context, selector);\n};\n"],"names":["fn","propStore","props","createStore","set","acceptedItems","additionalPageItems","disableInteraction","itemAccessor","leftPanelConfig","onAnEventTrigger","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","onPageVisibilityChanged","onSelectedItemsChanged","onSettingChange","pages","reportItemToolbarPosition","setAcceptedItems","setItemAccessor","setPages","setSettings","settings","reportLayout","theme","useExperimentalFeatures","PropContext","createContext","PropProvider","children","storeRef","useRef","current","useEffect","state","getState","isEqual","_jsx","propTypes","PropTypes","shape","any","func","arrayOf","object","Consumer","usePropStore","selector","context","useContext","Error","useStore"],"mappings":"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"}
|
|
@@ -75,20 +75,25 @@
|
|
|
75
75
|
position: absolute;
|
|
76
76
|
display: block;
|
|
77
77
|
background-color: #FFFFFF;
|
|
78
|
-
border:
|
|
78
|
+
border: 2.5px solid #0099FF;
|
|
79
79
|
transition: .3s ease-in-out;
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
&:not(.forLine):after {
|
|
83
|
-
|
|
83
|
+
top: 2px;
|
|
84
|
+
left: 1.5px;
|
|
84
85
|
width: 3px;
|
|
85
86
|
height: 3px;
|
|
87
|
+
min-width: 3px;
|
|
88
|
+
min-height: 3px;
|
|
89
|
+
max-height: 3px;
|
|
90
|
+
max-width: 3px;
|
|
86
91
|
border-radius: 3px;
|
|
87
92
|
}
|
|
88
93
|
|
|
89
94
|
&.forLine {
|
|
90
95
|
&:after {
|
|
91
|
-
border-radius:
|
|
96
|
+
border-radius: 4px;
|
|
92
97
|
}
|
|
93
98
|
&:not(.isVertical) {
|
|
94
99
|
&:after {
|
|
@@ -97,16 +102,24 @@
|
|
|
97
102
|
left: calc(50% - 6px);
|
|
98
103
|
width: 8px;
|
|
99
104
|
height: 4px;
|
|
105
|
+
max-width: 8px;
|
|
106
|
+
min-width: 8px;
|
|
107
|
+
min-height: 4px;
|
|
108
|
+
max-height: 4px;
|
|
100
109
|
}
|
|
101
110
|
}
|
|
102
111
|
|
|
103
112
|
&.isVertical {
|
|
104
113
|
&:after {
|
|
105
114
|
top: calc(50% - 6px);
|
|
106
|
-
left: -
|
|
107
|
-
right:
|
|
115
|
+
left: -1px;
|
|
116
|
+
right: 1px;
|
|
108
117
|
height: 8px;
|
|
109
118
|
width: 4px;
|
|
119
|
+
min-width: 4px;
|
|
120
|
+
max-width: 4px;
|
|
121
|
+
min-height: 8px;
|
|
122
|
+
max-height: 8px;
|
|
110
123
|
}
|
|
111
124
|
}
|
|
112
125
|
}
|
|
@@ -151,6 +164,7 @@
|
|
|
151
164
|
.reportItemResizer {
|
|
152
165
|
border: 3px solid #0099FF;
|
|
153
166
|
border-radius: 3px;
|
|
167
|
+
transition: all .3s;
|
|
154
168
|
|
|
155
169
|
&.hideVerticalHandle {
|
|
156
170
|
.forLine.isVertical:after {
|
|
@@ -163,6 +177,14 @@
|
|
|
163
177
|
opacity: 0;
|
|
164
178
|
}
|
|
165
179
|
}
|
|
180
|
+
|
|
181
|
+
&-wrapper {
|
|
182
|
+
&:hover {
|
|
183
|
+
.reportItemResizer {
|
|
184
|
+
border: 3px solid #0099FF;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
166
188
|
}
|
|
167
189
|
}
|
|
168
190
|
|
|
@@ -218,23 +240,34 @@
|
|
|
218
240
|
.jfReport {
|
|
219
241
|
.report-item-toolbar {
|
|
220
242
|
position: absolute;
|
|
221
|
-
top: 50%;
|
|
222
|
-
transform: translateY(-50%);
|
|
223
|
-
right: -24px;
|
|
224
243
|
background-color: #FFFFFF;
|
|
225
244
|
padding: 4px;
|
|
226
245
|
border-radius: 3px;
|
|
227
246
|
display: flex;
|
|
228
|
-
flex-direction: column;
|
|
229
247
|
align-items: center;
|
|
230
248
|
justify-content: center;
|
|
231
249
|
text-align: center;
|
|
232
250
|
pointer-events: all;
|
|
233
251
|
z-index: 2;
|
|
234
|
-
animation: .2s fadeRight forwards;
|
|
235
252
|
gap: 4px;
|
|
236
253
|
box-shadow: 0 4px 8px 0 rgba(84, 95, 111, 0.15), 0 0 2px 0 rgba(37, 45, 91, 0.1);
|
|
237
254
|
|
|
255
|
+
&.right-align {
|
|
256
|
+
flex-direction: column;
|
|
257
|
+
top: 50%;
|
|
258
|
+
transform: translateY(-50%);
|
|
259
|
+
right: -24px;
|
|
260
|
+
animation: .2s fadeRight forwards;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
&.top-align {
|
|
264
|
+
flex-direction: row;
|
|
265
|
+
top: calc(100% + 8px);
|
|
266
|
+
transform: translateX(50%);
|
|
267
|
+
right: 50% !important;
|
|
268
|
+
animation: .2s fadeTop forwards;
|
|
269
|
+
}
|
|
270
|
+
|
|
238
271
|
&-item {
|
|
239
272
|
max-width: 24px;
|
|
240
273
|
max-height: 24px;
|
|
@@ -307,4 +340,15 @@
|
|
|
307
340
|
opacity: 1;
|
|
308
341
|
}
|
|
309
342
|
}
|
|
343
|
+
|
|
344
|
+
@keyframes fadeTop {
|
|
345
|
+
0% {
|
|
346
|
+
top: -24px;
|
|
347
|
+
opacity: 0;
|
|
348
|
+
}
|
|
349
|
+
100% {
|
|
350
|
+
top: -38px;
|
|
351
|
+
opacity: 1;
|
|
352
|
+
}
|
|
353
|
+
}
|
|
310
354
|
}
|