From 1e5f46d5b77f04f1b2b6ab29c3df40d093eaab9b Mon Sep 17 00:00:00 2001 From: arpitnath Date: Thu, 24 Aug 2023 14:10:08 +0530 Subject: [PATCH] update/handle page events --- frontend/src/Editor/EditorFunc.jsx | 47 +++++-------------- .../src/Editor/Inspector/EventManager.jsx | 3 +- .../SidebarPageSelector/PageHandler.jsx | 3 +- .../SidebarPageSelector/SettingsModal.jsx | 3 +- .../LeftSidebar/SidebarPageSelector/index.jsx | 3 +- frontend/src/Editor/LeftSidebar/index.jsx | 3 +- 6 files changed, 18 insertions(+), 44 deletions(-) diff --git a/frontend/src/Editor/EditorFunc.jsx b/frontend/src/Editor/EditorFunc.jsx index 261e3d0b0b..c86b678271 100644 --- a/frontend/src/Editor/EditorFunc.jsx +++ b/frontend/src/Editor/EditorFunc.jsx @@ -682,8 +682,11 @@ const EditorComponent = (props) => { }); //! need to handle - for (const event of appJson.pages[homePageId]?.events ?? []) { - await handleEvent(event.eventId, event); + + const currentPageEvents = data.events.filter((event) => event.target === 'page' && event.sourceId === homePageId); + + for (const currentEvent of currentPageEvents ?? []) { + await handleEvent(currentEvent.name, currentPageEvents); } }; @@ -811,7 +814,7 @@ const EditorComponent = (props) => { const updateDiff = computeAppDiff(appDefinitionDiff, currentPageId, appDiffOptions); updateAppVersion(appId, props.editingVersion?.id, currentPageId, updateDiff, isUserSwitchedVersion) - .then((data) => { + .then(() => { const _editingVersion = { ...props.editingVersion, ...{ definition: appDefinition }, @@ -830,25 +833,12 @@ const EditorComponent = (props) => { }); } - if (updateDiff?.type === 'events') { - const appEvents = JSON.parse(JSON.stringify(events)); - - if (updateDiff?.operation === 'create') { - appEvents.push(data); - } - - updateState({ - events: appEvents, - }); - } - updateEditorState({ saveError: false, isSaving: false, }); }) - .catch((e) => { - console.log('--piku error', e); + .catch(() => { updateEditorState({ saveError: true, isSaving: false, @@ -1159,7 +1149,7 @@ const EditorComponent = (props) => { if (currentPageId === pageId && currentState.page.handle === appDefinition?.pages[pageId]?.handle) { return; } - const { name, handle, events } = appDefinition.pages[pageId]; + const { name, handle } = appDefinition.pages[pageId]; if (!name || !handle) return; @@ -1186,9 +1176,11 @@ const EditorComponent = (props) => { setCurrentPageId(pageId); handleInspectorView(); + const currentPageEvents = events.filter((event) => event.target === 'page' && event.sourceId === page.id); + (async () => { - for (const event of events ?? []) { - await handleEvent(event.eventId, event); + for (const currentEvent of currentPageEvents ?? []) { + await handleEvent(currentEvent.name, currentPageEvents); } })(); }; @@ -1428,20 +1420,6 @@ const EditorComponent = (props) => { }); }; - //!will remove this - const updateOnPageLoadEvents = (pageId, events) => { - const copyOfAppDefinition = JSON.parse(JSON.stringify(appDefinition)); - - const newAppDefinition = _.cloneDeep(copyOfAppDefinition); - - newAppDefinition.pages[pageId].events = events; - - appDefinitionChanged(newAppDefinition, { - pageDefinitionChanged: true, - pageEventsChanged: true, - }); - }; - // !------- const currentState = props?.currentState; @@ -1549,7 +1527,6 @@ const EditorComponent = (props) => { unHidePage={unHidePage} updateHomePage={updateHomePage} updatePageHandle={updatePageHandle} - updateOnPageLoadEvents={updateOnPageLoadEvents} showHideViewerNavigationControls={showHideViewerNavigation} updateOnSortingPages={updateOnSortingPages} setEditorMarginLeft={handleEditorMarginLeftChange} diff --git a/frontend/src/Editor/Inspector/EventManager.jsx b/frontend/src/Editor/Inspector/EventManager.jsx index fb9274af78..0a00a11b36 100644 --- a/frontend/src/Editor/Inspector/EventManager.jsx +++ b/frontend/src/Editor/Inspector/EventManager.jsx @@ -50,7 +50,8 @@ export const EventManager = ({ useAppDataActions(); const currentEvents = allAppEvents.filter((event) => event.sourceId === sourceId); - console.log('----arpit currentEvents ', { currentEvents }); + + // console.log('----arpit currentEvents ', { currentEvents, allAppEvents, sourceId, eventSourceType }); const [events, setEvents] = useState([]); const [focusedEventIndex, setFocusedEventIndex] = useState(null); diff --git a/frontend/src/Editor/LeftSidebar/SidebarPageSelector/PageHandler.jsx b/frontend/src/Editor/LeftSidebar/SidebarPageSelector/PageHandler.jsx index 6527b2cfae..10f22f681f 100644 --- a/frontend/src/Editor/LeftSidebar/SidebarPageSelector/PageHandler.jsx +++ b/frontend/src/Editor/LeftSidebar/SidebarPageSelector/PageHandler.jsx @@ -22,7 +22,7 @@ export const PageHandler = ({ currentPageId, updateHomePage, updatePageHandle, - updateOnPageLoadEvents, + apps, pages, components, @@ -186,7 +186,6 @@ export const PageHandler = ({ !haveUserPinned && pinPagesPopover(false); }} darkMode={darkMode} - updateOnPageLoadEvents={updateOnPageLoadEvents} apps={apps} pages={pages} components={components} diff --git a/frontend/src/Editor/LeftSidebar/SidebarPageSelector/SettingsModal.jsx b/frontend/src/Editor/LeftSidebar/SidebarPageSelector/SettingsModal.jsx index 214a4d12c9..6e1660237a 100644 --- a/frontend/src/Editor/LeftSidebar/SidebarPageSelector/SettingsModal.jsx +++ b/frontend/src/Editor/LeftSidebar/SidebarPageSelector/SettingsModal.jsx @@ -8,7 +8,7 @@ export const SettingsModal = ({ show, handleClose, darkMode, - updateOnPageLoadEvents, + apps, pages, components, @@ -69,7 +69,6 @@ export const SettingsModal = ({ components={components} apps={apps} pages={allpages} - eventsChanged={(events) => updateOnPageLoadEvents(page.id, events)} popOverCallback={(showing) => showing} /> diff --git a/frontend/src/Editor/LeftSidebar/SidebarPageSelector/index.jsx b/frontend/src/Editor/LeftSidebar/SidebarPageSelector/index.jsx index 833e02a177..17f7299dd2 100644 --- a/frontend/src/Editor/LeftSidebar/SidebarPageSelector/index.jsx +++ b/frontend/src/Editor/LeftSidebar/SidebarPageSelector/index.jsx @@ -28,7 +28,7 @@ const LeftSidebarPageSelector = ({ homePageId, showHideViewerNavigationControls, updateOnSortingPages, - updateOnPageLoadEvents, + apps, pinned, setPinned, @@ -159,7 +159,6 @@ const LeftSidebarPageSelector = ({ updatePageHandle={updatePageHandle} classNames="page-handler" onSort={updateOnSortingPages} - updateOnPageLoadEvents={updateOnPageLoadEvents} currentState={currentState} apps={apps} allpages={pages} diff --git a/frontend/src/Editor/LeftSidebar/index.jsx b/frontend/src/Editor/LeftSidebar/index.jsx index f672d4832a..529db090e2 100644 --- a/frontend/src/Editor/LeftSidebar/index.jsx +++ b/frontend/src/Editor/LeftSidebar/index.jsx @@ -43,7 +43,7 @@ export const LeftSidebar = forwardRef((props, ref) => { updatePageHandle, showHideViewerNavigationControls, updateOnSortingPages, - updateOnPageLoadEvents, + apps, clonePage, setEditorMarginLeft, @@ -152,7 +152,6 @@ export const LeftSidebar = forwardRef((props, ref) => { homePageId={appDefinition.homePageId} showHideViewerNavigationControls={showHideViewerNavigationControls} updateOnSortingPages={updateOnSortingPages} - updateOnPageLoadEvents={updateOnPageLoadEvents} apps={apps} setPinned={handlePin} pinned={pinned}