ToolJet/frontend/src/Editor/LeftSidebar/index.jsx

324 lines
11 KiB
React
Raw Normal View History

import '@/_styles/left-sidebar.scss';
Improving user experience of left side drawer in app builder (#6659) * style: Store pinned state of left sidebar tabs in localstorgae to persist across refresh * style: Fixed popover width. Add scroll for canvas so for user view to remain same when popover is open * feat: added horizontal scrollbar for canvas when sidebar popup is open * feat: added logic to calculate canvas height on resize * feat: prevent flickering of popover when switching tabs * style: made modal width and position inside canvas relative to canvas container positon * fix: removed extra offset added to the dragged element placeholder. * fix: hide extra scroll bar added when dragging new component to canvas * fix: hide canvas scrollbar on dragging of new component * fix: removed extra margin to main container * fix: fixed canvas alignment when mobile screen is selected * fix: revert the debugger error notification badge behaviour * fix: fixed width issue for old apps * fix: fixed issue with width when user set max width in % * fix: resolved conflicts in style file * fix: fixed whitespace issue in large screen * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * refactor: removed unnecessory rerendering of Editor component * perf: unsubscribe to querypanelstore on unmount of editor component * perf: rerender editor only when query panel resizing over * refactor: removed unused logs * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * fix: added style to hide extrascrollbar in macbook screens when mouse connected --------- Co-authored-by: Johnson Cherian <johnsoncherian@Johnsons-MacBook-Pro.local> Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
2023-06-15 07:28:44 +00:00
import React, { useState, useImperativeHandle, forwardRef, useEffect, useRef } from 'react';
import _ from 'lodash';
import { LeftSidebarInspector } from './SidebarInspector';
import { LeftSidebarDataSources } from './SidebarDatasources';
import { DarkModeToggle } from '../../_components/DarkModeToggle';
import useRouter from '../../_hooks/use-router';
import { LeftSidebarDebugger } from './SidebarDebugger/SidebarDebugger';
Feature: Collaboration ( realtime comments for canvas ) 🔥 (#810) * feat: initial commit for collaboration feature * add dnd to comments * add positions endpoint * feat: encapsulate all http common logic in http-client * segregate sections and transfer responsibility of state * feat: use-spring to add fade effect :zap: * fix: open in right * fix: left-right position css * add footer for message * integrate getcomment endpoint * use fromnow for date ago * add dnd * - Add data trasfer object for comment - Add class-validator package to check the response type from client - Add comment repository class for persistance layer - Add comment service with std. http methods - Update controller with all http methods - Update comment module - Fix http-client bug when error is thrown * fix http client bug when error is thrown * feat: add entity thread * feat: add migrations for thread and comment * update entitites * add tid to migration * filter comments by tid(thread_id) * fix: comment migration, add missing column comment * feat: integrate in ui * feat: split comments based on app_id * fix: dnd to correct position * package json engines * engines update * update npm * npm 6 to 7 * fix: add user initials to thread * fix: add firtname lastname to the comments * - Return user object when save thread called - Hide password field from user response - Fix created_at date typo - Instead of fetch all threads on new thread added, add the response to array of existing threads * feat: update ui components * change icon on comments view * ui fixes * fix: close icon close the popover * temp: comment select: false * use currentUser from localStorage * fix: on click outside if comment is open, dont hit addThread * fix: auth token issue in http-client * on drag hide the comment if open * add jwt auth * spec: add test for comment & thread * cleanup: remove console.log * feat: add comment actions * feat: add edit, delete, resolve options * feat: add mentions component * feat: add nestjs websockets * temp * websocket: establish client-server communication * ws: add message listner to comments module in ui * feat: add broadcast method to broadcast new events to all clients :bomb: * ws: cleanup :call_me_hand: * fix: remove max height from comment actions * feat: add user mentions, emoji support * fix: add static list of users - temp * update and delete iterations * - Rename comment, thread to comments, threads - Add conditional actions - Show edit, delete only if he is comment owner - Show resolve only if he is thread owner * reset engines * move svgr webpack to deps * fix: ui issues * remove log stmt * refactor: move resolved icon to comment-header * feat: allow comments to be added on top of widgets * feat: add keyboard shortcut * scroll to bottom on comment add * ui fixes * feat: add react toast for notification display * feat: add comment badge * fix: ws connection * fix: ws * remove rvrse * feat: add comment sidebar * feat: add comment right sidebar * fix: add missing foreign key elements * - upgrade typeorm to 0.2.38 - comment sidebar ui - added filter ui * feat: on click of right sidebar notificaiton open the comment box * reset engines * fix: add organization id to the comment and thread module * fix: add current version id * add currentversion id * disable comments if no id present * temp:checking for heroku deploy * fetch app on edit and deploy version * rename current_version_id to app_versions_id * ui fixes * show mentioned user in blue color * add ui changes * add authorization for create thread * change color to blue on click of comment, add auth for other endpoints of thread * update threads, notifications using socket * add auth for comments * remove events spec file * fix duplicate key error * fix notificaitons updation on edit, delete, resolve buttons clicked * update notifications for edit * feature toggle changes for frontend * add check for comments server * add emoji mart package for emoji * add reply count in comment sidebar * subtract 1 from count in comment sidebar * change empty text when no comments available
2021-11-01 07:28:03 +00:00
import { LeftSidebarComment } from './SidebarComment';
Feature/multi page applications (Task ID - CU-2h1bfvw) (#4729) * Add routes for multi-page apps * Modify Editor, Viewer and Inspector to accept new app structure * Show a page selector on left side bar * Align component deletion logic with new app schema * Make subcontainer work with multi-page apps * Load components state properly in viewer * Use UUID instead of handle for pages * Display sidebar on viewer to switch pages * Add proper URL suffixing for pages in viewer * Add action to switch page * Revert translation file back to its pre-existing linting * Fix bug that caused modal to not open/close * Add support for query params in page switch * Fix the issue that caused navigation to fail while accessed via slug * Add missing SwitchPage file * Add support for page level variables * Add migration to convert existing apps to new schema * Add rollback for converting multi-page definitions back to single-page * Fix migration for multi-page apps * Adapt import/export service for multi-pages * [improvements] Multi-page applications (#4755) * UI updates for page selector popup card * delete page * delete page check: if only one page exits * switch to home page if the selected page is removed * adds and switch to new page * updating page name * updates to home page and starting page * handle updating the home page when home page is deleted * search box for filtering pages and minor style updates for the page handler card * header search box style fixes * for creating a new page, page handle needs to be unique * seperating into smaller components * updated pinned icon for page selector styles and settinf styles * Leftsidebar header ui component * handle dark theme * page handle ui and dark theme fixes for page menu * page handler edit modal * pinned state and update pinned state for menu options triggered * dark theme fixes for edit modal * handle on update should not be empty or prev * page handler updater * added loading state for saving * handles cancels * fixes slug ui * fixes crash for older app versions * updates the query params when handle gets an update * update homePage to homePageId * removes console.log * go back to the popover for modal close * fixes: Difficult to select page * fixes: Difficult to select the three-dot menu * fixes: on visiting the root url, navigate to homepage on viewer * adds tooltip for url * updates the page selector sidebar with sync with query manager * refactor and cleanup * refactor and cleanup * Compute component state when page is switched * modal should not close on click outside * disable save button if there is not change in the page handle input * should show/hide page menu when hovered * page icon * updates delete icon for disabled state * query manager should always be on top of page selector * checks if homePage key exists in pages def * updates page handler menu * updates the clear icon * page handler menu position * page handler menu position * handle icon * alert msg * global settings handler for updating viewer page navigation * show/hode page navigation for viewer * info text for toggle * Multipages:with sortable list [DnD] (#4783) * applied sortable list * on sort updates the definitions * fixies: app crash for dnd * viwer: canvas width should be 100% when navigation drawer is disbaled * fixes: homepage/startpage reload * clean up Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com> * Multipage UI viewer (#4801) * new ui changes for viewer pages * fixes postions for debugger and datasources popover * removes console.log * Multipage : hide page and unhide page feature (#4803) * adds: ability to hide pages * hides pages in viewer * unhide page * hide icon * allow accessing hidden pages from url * add: duplicate page (#4802) * add: duplicate page * do not copy the same references from the original page * page name and page handler should be unique for duplicate pages too * Add support for on-page-load events * Add icon from page settings menu item * Convert existing templates to multi-page schema * error logs for page level and app level errors (#4842) * Adapt comments feature for multi-pages * [Bugfix] multipage - page menu interactions (#4844) * fixes: menu popup interaction * fixes: on modal input focus, we switch the page * Adapt multi-player to multi-pages * Add editingPageId to ymap * Log self, others and editor props in real-time avatar generation * Save editing page id to appDef * Add editingPageId to presence in RealtimeCursors * adds no results ui for empty search results (#4869) * page icon updated (#4870) * fixes:Version switching crashes if the target version does not contain the current page (#4868) * Remove unnecessary setting of editingPageId on ymap * Remove unnecessary console.log * [Bugfix] Multipages: widget inspector event popover unmounts (#4887) * introduced a local state for events * cleaned up inspector.jsx * fixes: table widget inspector event accordion * Do not run switchPage twice when viewer is loaded * Preview should open the currently editing page * Properly place navigation and canvas in viewer * Update app definition whenever event manager changes are made * Add support for browser back and forward button in multi-pages * Rename handleBackButton to handlePageSwitchingBasedOnURLparam * Add support for cut/copy/paste and clone * Fix the crash caused by boxShadow * Add support for background colors in viewer in multi-pages * Run queries to be run on load on viewer, in multi-pages * Fix issue that caused inspector popovers to collapse * resolves workspace vars in viewer mode (#4892) * Multipage : Navigation for Mobile-ui (#4814) * refactored to components * burger menu for mobile ui * merge conflict fix for hidden pages * hamburger menu positioned in the header * viewer header reafctored * viewer mobile page manu styles * handles dark theme * mobile menu with dark mode toggle in the footer * components are moved to page level, handle for mobile layout * style fixes * removing unwanted code block * dark theme fixes * style fixes * fixes: events are sortable (#4895) * fixes: events are sortable * Remove uneccesarily repeated call of setEvents in EventManager Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com> * renamed settings to Event handlers (#4898) * updates the page setting title to Page Events * temp commit * Add support for setting max width in percentage * fixes: paramUpdates for boxes: 🙌🏻 * [Bugfix] Multipage - viewer canvas dark theme (#4897) * fixes: darktheme bg for viewer canvas * reverts canvas size * Fix for inspector bouncing back to previous values * resolves pages variables in pythong and js transformation (#4905) * csa support to event manager for pages (#4907) * Add support for setting canvas width in percentages * Persist page level variables across page switches * latest definitions is merged with the current appdef (#4914) * latest definitions is merged with the current appdef * mutating the local obj * cleanup * iterate through pages for new versions are created Co-authored-by: Arpit <arpitnath42@gmail.com>
2022-12-08 12:21:09 +00:00
import LeftSidebarPageSelector from './SidebarPageSelector';
import { ConfirmDialog } from '@/_components';
Feature: Collaboration ( realtime comments for canvas ) 🔥 (#810) * feat: initial commit for collaboration feature * add dnd to comments * add positions endpoint * feat: encapsulate all http common logic in http-client * segregate sections and transfer responsibility of state * feat: use-spring to add fade effect :zap: * fix: open in right * fix: left-right position css * add footer for message * integrate getcomment endpoint * use fromnow for date ago * add dnd * - Add data trasfer object for comment - Add class-validator package to check the response type from client - Add comment repository class for persistance layer - Add comment service with std. http methods - Update controller with all http methods - Update comment module - Fix http-client bug when error is thrown * fix http client bug when error is thrown * feat: add entity thread * feat: add migrations for thread and comment * update entitites * add tid to migration * filter comments by tid(thread_id) * fix: comment migration, add missing column comment * feat: integrate in ui * feat: split comments based on app_id * fix: dnd to correct position * package json engines * engines update * update npm * npm 6 to 7 * fix: add user initials to thread * fix: add firtname lastname to the comments * - Return user object when save thread called - Hide password field from user response - Fix created_at date typo - Instead of fetch all threads on new thread added, add the response to array of existing threads * feat: update ui components * change icon on comments view * ui fixes * fix: close icon close the popover * temp: comment select: false * use currentUser from localStorage * fix: on click outside if comment is open, dont hit addThread * fix: auth token issue in http-client * on drag hide the comment if open * add jwt auth * spec: add test for comment & thread * cleanup: remove console.log * feat: add comment actions * feat: add edit, delete, resolve options * feat: add mentions component * feat: add nestjs websockets * temp * websocket: establish client-server communication * ws: add message listner to comments module in ui * feat: add broadcast method to broadcast new events to all clients :bomb: * ws: cleanup :call_me_hand: * fix: remove max height from comment actions * feat: add user mentions, emoji support * fix: add static list of users - temp * update and delete iterations * - Rename comment, thread to comments, threads - Add conditional actions - Show edit, delete only if he is comment owner - Show resolve only if he is thread owner * reset engines * move svgr webpack to deps * fix: ui issues * remove log stmt * refactor: move resolved icon to comment-header * feat: allow comments to be added on top of widgets * feat: add keyboard shortcut * scroll to bottom on comment add * ui fixes * feat: add react toast for notification display * feat: add comment badge * fix: ws connection * fix: ws * remove rvrse * feat: add comment sidebar * feat: add comment right sidebar * fix: add missing foreign key elements * - upgrade typeorm to 0.2.38 - comment sidebar ui - added filter ui * feat: on click of right sidebar notificaiton open the comment box * reset engines * fix: add organization id to the comment and thread module * fix: add current version id * add currentversion id * disable comments if no id present * temp:checking for heroku deploy * fetch app on edit and deploy version * rename current_version_id to app_versions_id * ui fixes * show mentioned user in blue color * add ui changes * add authorization for create thread * change color to blue on click of comment, add auth for other endpoints of thread * update threads, notifications using socket * add auth for comments * remove events spec file * fix duplicate key error * fix notificaitons updation on edit, delete, resolve buttons clicked * update notifications for edit * feature toggle changes for frontend * add check for comments server * add emoji mart package for emoji * add reply count in comment sidebar * subtract 1 from count in comment sidebar * change empty text when no comments available
2021-11-01 07:28:03 +00:00
import config from 'config';
Improving user experience of left side drawer in app builder (#6659) * style: Store pinned state of left sidebar tabs in localstorgae to persist across refresh * style: Fixed popover width. Add scroll for canvas so for user view to remain same when popover is open * feat: added horizontal scrollbar for canvas when sidebar popup is open * feat: added logic to calculate canvas height on resize * feat: prevent flickering of popover when switching tabs * style: made modal width and position inside canvas relative to canvas container positon * fix: removed extra offset added to the dragged element placeholder. * fix: hide extra scroll bar added when dragging new component to canvas * fix: hide canvas scrollbar on dragging of new component * fix: removed extra margin to main container * fix: fixed canvas alignment when mobile screen is selected * fix: revert the debugger error notification badge behaviour * fix: fixed width issue for old apps * fix: fixed issue with width when user set max width in % * fix: resolved conflicts in style file * fix: fixed whitespace issue in large screen * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * refactor: removed unnecessory rerendering of Editor component * perf: unsubscribe to querypanelstore on unmount of editor component * perf: rerender editor only when query panel resizing over * refactor: removed unused logs * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * fix: added style to hide extrascrollbar in macbook screens when mouse connected --------- Co-authored-by: Johnson Cherian <johnsoncherian@Johnsons-MacBook-Pro.local> Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
2023-06-15 07:28:44 +00:00
import { LeftSidebarItem } from './SidebarItem';
import Popover from '@/_ui/Popover';
import { usePanelHeight } from '@/_stores/queryPanelStore';
import { useAppVersionStore } from '@/_stores/appVersionStore';
import { useEditorStore } from '@/_stores/editorStore';
import { useDataSources } from '@/_stores/dataSourcesStore';
import { shallow } from 'zustand/shallow';
import useDebugger from './SidebarDebugger/useDebugger';
Feat :: Editor UI revamp (#7275) * temp commit :: editor redesign * fix :: components panel ui * style updates * fix :: arrangement widget list * fix :: light mode widget list * style fixes query manager * updates * updates heaer styles * global settings fix * left sidebar states and icon change * cleanup * minor fixes :: review * fix opacity mode toggle * detailing in hover states , bugfixes * fix :: coloring whole app , debugger ui * cleanup * fix :: revert some changes , fix statistics widget * feat :: navbar with new layout * fix :: lint warnings * cleanup * cleanup * minor fixes * fix :: reusing serchbox * removed unwanted prop * Revert "cleanup" This reverts commit b18abe19fbd82246611153634c79934ad9012101. * fix :: icons sidebar * fix :: padding searchbar * style fix * radix :: dark theme for portals * fix :: icon styles * fix :: all codehinter styles * update :: base bg color app * fix :: viewer color * minor fixes :: icon left sidebar * typo * fix :: styling save message header * icon :: fix for layout and inspector queries * fix :: canvas and editor bg * fix :: release btn style * fix :: navbar border * undo redo tooltip * fix :: page input * remove released btn icon * fix :: for icon not loading proper in inspector * fix :: dark mode toggle icon size * fix :: share app ui * fix :: style fixes , inspector runpy icon * fix :: ui runpy codehinter * fix :: inputs in gds connection * cleanup * fix :: copilot codehinter ui * fix :: share modal button * fix :: canvas bg text * style fix debugger * fix :: whole dahsboard layout and border for all codehinters * fix :: icon fills * fix :: icon fill color sidebar * darkmode fill color * minor style fix * Widget inspector redesign (#7355) * Setup Storybook * Update storybook config * Add tab and toggle group component * Created list component * Properties tab * update codehinter dropdown components * Refactor styling * Inspector header changes * Fix es lint issue * Fix * feat :: styling color picker styles panel * Fix color picker alignment * feat :: remove alpha * Fix UI bugs * fix :: color picker * Ui fix * Backward compatible pagination changes * fix * Feedback changes * UI feedback * Check fix * Fix * fix :: canvas bg popover * Styles fix * Fix conflct issues * minor style fix style tab * Fix * review comments fix :: hovering in color picker * Code review and design feedback * UI feedback * Fix UI styles * Fix pagination issue * fix :: dark mode issues in select , number input * fix :: remove extra boreder * fix :: table column popover ui and component popover inspector * fix :: datepickre input table column * fix :: colopicker in table column inspector * fix :: link column type ui in table * fix :: column delete ui and delete not triggering * Fix list item not dragging * fix :: closing of popover on link column select * style fix table popover * Pass dark mode to Event manager button * fix :: ux event manager * cleanup * cleanup * fix :: delete page modal ui --------- Co-authored-by: stepinfwd <stepinfwd@gmail.com> * style fixes --------- Co-authored-by: Nakul Nagargade <133095394+nakulnagargade@users.noreply.github.com>
2023-09-04 08:00:39 +00:00
import { GlobalSettings } from '../Header/GlobalSettings';
import cx from 'classnames';
Performance release 0.1 (#9922) * chore: moved fetching gds and lds from low priority calls * Refactor: Optimize state updates by removing component dependencies on current state to avoid trade-offs * clean up * run on page queries after on app load queries are done executing page load queries should be triggered even if the one or all the app load queries fails * performance improvements: - reduced calling resolver functions upto 50% times for components' rendering - moved to new resolver function for resolving component properties: which 100 times more efficient as utitlises hash table to resolve references and only uses recursive function for resolving JS code by inferring the query - reduced re-rendering of Box component upto 50-60% - app load time improved by 30% : as resolver function is more efficient and 50% reduction on rendering of Box.jsx * chore: removed currentState dependency from SubContainer and QueryManager * chore: removed useCurrentState from old kanban component * chore: filtered `false` from componentToRender array to avoid unwanted re-renders when there is an update in a component * fix: minor improvement on buildAppDef function * [performance] removes current state dependency from resolvers (#9934) * Removes current state from function calls of resolver functions * clean up * remoes lodash clone deep to more efficient clone deep or copying utitlity method * ts files to js * replaced setTimeout to debounce method of lodash for more efficient delayed invocation and yielding mechanism to reschedule large number of tasks * fixes file path for deepclone method * fixes import file path for utils helpers * fixes import file path for utils helpers * clean up * fixes: listView's custom resolvers are not getting updated * chore: moved lastUpdatedRef state from Editor to the subscription of relsoverStore * fixes: re-rendering of box component for trigger back resolvers * fix: removing the delay as the runJS updates are not reaching to the components. While start running the query we are updated the componentIds that needs to be rendered. After running the query the same IDs are updated and this is stopping the re-render of the component * Reverting commit 583460c * fix: Table search event was not firing while clearing the search input * fixes: mapping entites on clone page * commit: Fixed issue on running query on app load with confirmation * fix: we're mutating the data and which avoids the re-render to update the canvas bg colour. Added a deepClone to avoid it * Bugfix - perf mapping (#10101) * fixes: entity for compnent or query duplications with events * maxDisplayLength for hinter's preview * clean up * fix: when multiple components are deleted, the codehinter has the deleted component as suggestion * fixes: on typing fast the cursor postion changes its postion to first char of the line in multiline JS * trial * fix: moved currentValue state of codemirror to ref * fix: the passed value to the codehinter was not updated properly --------- Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com> * fixes: evaluatin js code in codehinters with reserveed keyword * fixes: reserved keywords string should be resolved and updated in the compnent * re-rendering of componenrs in viewer * fixes: resolving of refs * added a timeout for filepicker * removes 100s * filepicker crashes (component) crash on page deleting * fixes: app crash on adding file events * fixes: hinter suggestions selection by keyboard * [chore]: Show proper error message instead of app could not save (#10126) * chore: show error message from BE instead of app could not save * Added a fallback value --------- Co-authored-by: arpitnath <arpitnath42@gmail.com>
2024-06-19 09:06:09 +00:00
import { deepClone } from '@/_helpers/utilities/utils.helpers';
export const LeftSidebar = forwardRef((props, ref) => {
const router = useRouter();
const {
appId,
switchDarkMode,
darkMode = false,
dataSourcesChanged,
[Feature] :: Global datasources (#5504) * add: columns and migrations for data queries and sources * add: migrations for app environments * fix: datasources and queries api * fix: import apis * add: radixui colors * create: global datasource page * fix: version creation not including global datasources queries * fix: version deletion failure * fix: ui and other bugs * add: check for abilities on global ds * fix: bugs * fix: existing test cases * fix: migration and bugs * fix: rest api oauthorize bugs * hide: add button for local ds * fix: query bugs * fix: new organization environment creation * fix: local ds label showing for new apps * fix: on page load queries for preview app and published app * fix: import bugs from v1 * fix: merge conflicts * fix: import apis * fix: apss with mulit envs * fix: ui bugs * fix: environments not being created on db:seed * fix: ui bugs * fix: route settings for global datasources * fix: customer dashboard template * fix: local ds queries not being saved * fix: runpy issues * changes: ui * fix: migration issues * fix: ui * hide datasources when no local datasources * fix: test cases * fix: unit test cases and global queries on app import/export * cleanup * add: package-lock file * undo: migration rename * cleanup * fix: ui bugs * migration fixes * fix: dark mode issues * fix: change datasource failing on query create mode * fix: workspace selector issues * fix: clickoutside for change scope option * migration changes * fix: open api issue * reverting configs changes * [Fix] Global datasources & Environment Id issue (#5830) * fix: oauth env id issue * code changes --------- Co-authored-by: gsmithun4 <gsmithun4@gmail.com> Co-authored-by: Muhsin Shah <muhsinshah21@gmail.com>
2023-03-24 16:11:21 +00:00
globalDataSourcesChanged,
dataQueriesChanged,
appDefinition,
setSelectedComponent,
removeComponent,
runQuery,
Feature/multi page applications (Task ID - CU-2h1bfvw) (#4729) * Add routes for multi-page apps * Modify Editor, Viewer and Inspector to accept new app structure * Show a page selector on left side bar * Align component deletion logic with new app schema * Make subcontainer work with multi-page apps * Load components state properly in viewer * Use UUID instead of handle for pages * Display sidebar on viewer to switch pages * Add proper URL suffixing for pages in viewer * Add action to switch page * Revert translation file back to its pre-existing linting * Fix bug that caused modal to not open/close * Add support for query params in page switch * Fix the issue that caused navigation to fail while accessed via slug * Add missing SwitchPage file * Add support for page level variables * Add migration to convert existing apps to new schema * Add rollback for converting multi-page definitions back to single-page * Fix migration for multi-page apps * Adapt import/export service for multi-pages * [improvements] Multi-page applications (#4755) * UI updates for page selector popup card * delete page * delete page check: if only one page exits * switch to home page if the selected page is removed * adds and switch to new page * updating page name * updates to home page and starting page * handle updating the home page when home page is deleted * search box for filtering pages and minor style updates for the page handler card * header search box style fixes * for creating a new page, page handle needs to be unique * seperating into smaller components * updated pinned icon for page selector styles and settinf styles * Leftsidebar header ui component * handle dark theme * page handle ui and dark theme fixes for page menu * page handler edit modal * pinned state and update pinned state for menu options triggered * dark theme fixes for edit modal * handle on update should not be empty or prev * page handler updater * added loading state for saving * handles cancels * fixes slug ui * fixes crash for older app versions * updates the query params when handle gets an update * update homePage to homePageId * removes console.log * go back to the popover for modal close * fixes: Difficult to select page * fixes: Difficult to select the three-dot menu * fixes: on visiting the root url, navigate to homepage on viewer * adds tooltip for url * updates the page selector sidebar with sync with query manager * refactor and cleanup * refactor and cleanup * Compute component state when page is switched * modal should not close on click outside * disable save button if there is not change in the page handle input * should show/hide page menu when hovered * page icon * updates delete icon for disabled state * query manager should always be on top of page selector * checks if homePage key exists in pages def * updates page handler menu * updates the clear icon * page handler menu position * page handler menu position * handle icon * alert msg * global settings handler for updating viewer page navigation * show/hode page navigation for viewer * info text for toggle * Multipages:with sortable list [DnD] (#4783) * applied sortable list * on sort updates the definitions * fixies: app crash for dnd * viwer: canvas width should be 100% when navigation drawer is disbaled * fixes: homepage/startpage reload * clean up Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com> * Multipage UI viewer (#4801) * new ui changes for viewer pages * fixes postions for debugger and datasources popover * removes console.log * Multipage : hide page and unhide page feature (#4803) * adds: ability to hide pages * hides pages in viewer * unhide page * hide icon * allow accessing hidden pages from url * add: duplicate page (#4802) * add: duplicate page * do not copy the same references from the original page * page name and page handler should be unique for duplicate pages too * Add support for on-page-load events * Add icon from page settings menu item * Convert existing templates to multi-page schema * error logs for page level and app level errors (#4842) * Adapt comments feature for multi-pages * [Bugfix] multipage - page menu interactions (#4844) * fixes: menu popup interaction * fixes: on modal input focus, we switch the page * Adapt multi-player to multi-pages * Add editingPageId to ymap * Log self, others and editor props in real-time avatar generation * Save editing page id to appDef * Add editingPageId to presence in RealtimeCursors * adds no results ui for empty search results (#4869) * page icon updated (#4870) * fixes:Version switching crashes if the target version does not contain the current page (#4868) * Remove unnecessary setting of editingPageId on ymap * Remove unnecessary console.log * [Bugfix] Multipages: widget inspector event popover unmounts (#4887) * introduced a local state for events * cleaned up inspector.jsx * fixes: table widget inspector event accordion * Do not run switchPage twice when viewer is loaded * Preview should open the currently editing page * Properly place navigation and canvas in viewer * Update app definition whenever event manager changes are made * Add support for browser back and forward button in multi-pages * Rename handleBackButton to handlePageSwitchingBasedOnURLparam * Add support for cut/copy/paste and clone * Fix the crash caused by boxShadow * Add support for background colors in viewer in multi-pages * Run queries to be run on load on viewer, in multi-pages * Fix issue that caused inspector popovers to collapse * resolves workspace vars in viewer mode (#4892) * Multipage : Navigation for Mobile-ui (#4814) * refactored to components * burger menu for mobile ui * merge conflict fix for hidden pages * hamburger menu positioned in the header * viewer header reafctored * viewer mobile page manu styles * handles dark theme * mobile menu with dark mode toggle in the footer * components are moved to page level, handle for mobile layout * style fixes * removing unwanted code block * dark theme fixes * style fixes * fixes: events are sortable (#4895) * fixes: events are sortable * Remove uneccesarily repeated call of setEvents in EventManager Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com> * renamed settings to Event handlers (#4898) * updates the page setting title to Page Events * temp commit * Add support for setting max width in percentage * fixes: paramUpdates for boxes: 🙌🏻 * [Bugfix] Multipage - viewer canvas dark theme (#4897) * fixes: darktheme bg for viewer canvas * reverts canvas size * Fix for inspector bouncing back to previous values * resolves pages variables in pythong and js transformation (#4905) * csa support to event manager for pages (#4907) * Add support for setting canvas width in percentages * Persist page level variables across page switches * latest definitions is merged with the current appdef (#4914) * latest definitions is merged with the current appdef * mutating the local obj * cleanup * iterate through pages for new versions are created Co-authored-by: Arpit <arpitnath42@gmail.com>
2022-12-08 12:21:09 +00:00
currentPageId,
addNewPage,
switchPage,
deletePage,
renamePage,
hidePage,
unHidePage,
updateHomePage,
updatePageHandle,
showHideViewerNavigationControls,
updateOnSortingPages,
apps,
clonePage,
Improving user experience of left side drawer in app builder (#6659) * style: Store pinned state of left sidebar tabs in localstorgae to persist across refresh * style: Fixed popover width. Add scroll for canvas so for user view to remain same when popover is open * feat: added horizontal scrollbar for canvas when sidebar popup is open * feat: added logic to calculate canvas height on resize * feat: prevent flickering of popover when switching tabs * style: made modal width and position inside canvas relative to canvas container positon * fix: removed extra offset added to the dragged element placeholder. * fix: hide extra scroll bar added when dragging new component to canvas * fix: hide canvas scrollbar on dragging of new component * fix: removed extra margin to main container * fix: fixed canvas alignment when mobile screen is selected * fix: revert the debugger error notification badge behaviour * fix: fixed width issue for old apps * fix: fixed issue with width when user set max width in % * fix: resolved conflicts in style file * fix: fixed whitespace issue in large screen * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * refactor: removed unnecessory rerendering of Editor component * perf: unsubscribe to querypanelstore on unmount of editor component * perf: rerender editor only when query panel resizing over * refactor: removed unused logs * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * fix: added style to hide extrascrollbar in macbook screens when mouse connected --------- Co-authored-by: Johnson Cherian <johnsoncherian@Johnsons-MacBook-Pro.local> Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
2023-06-15 07:28:44 +00:00
setEditorMarginLeft,
Feat :: Editor UI revamp (#7275) * temp commit :: editor redesign * fix :: components panel ui * style updates * fix :: arrangement widget list * fix :: light mode widget list * style fixes query manager * updates * updates heaer styles * global settings fix * left sidebar states and icon change * cleanup * minor fixes :: review * fix opacity mode toggle * detailing in hover states , bugfixes * fix :: coloring whole app , debugger ui * cleanup * fix :: revert some changes , fix statistics widget * feat :: navbar with new layout * fix :: lint warnings * cleanup * cleanup * minor fixes * fix :: reusing serchbox * removed unwanted prop * Revert "cleanup" This reverts commit b18abe19fbd82246611153634c79934ad9012101. * fix :: icons sidebar * fix :: padding searchbar * style fix * radix :: dark theme for portals * fix :: icon styles * fix :: all codehinter styles * update :: base bg color app * fix :: viewer color * minor fixes :: icon left sidebar * typo * fix :: styling save message header * icon :: fix for layout and inspector queries * fix :: canvas and editor bg * fix :: release btn style * fix :: navbar border * undo redo tooltip * fix :: page input * remove released btn icon * fix :: for icon not loading proper in inspector * fix :: dark mode toggle icon size * fix :: share app ui * fix :: style fixes , inspector runpy icon * fix :: ui runpy codehinter * fix :: inputs in gds connection * cleanup * fix :: copilot codehinter ui * fix :: share modal button * fix :: canvas bg text * style fix debugger * fix :: whole dahsboard layout and border for all codehinters * fix :: icon fills * fix :: icon fill color sidebar * darkmode fill color * minor style fix * Widget inspector redesign (#7355) * Setup Storybook * Update storybook config * Add tab and toggle group component * Created list component * Properties tab * update codehinter dropdown components * Refactor styling * Inspector header changes * Fix es lint issue * Fix * feat :: styling color picker styles panel * Fix color picker alignment * feat :: remove alpha * Fix UI bugs * fix :: color picker * Ui fix * Backward compatible pagination changes * fix * Feedback changes * UI feedback * Check fix * Fix * fix :: canvas bg popover * Styles fix * Fix conflct issues * minor style fix style tab * Fix * review comments fix :: hovering in color picker * Code review and design feedback * UI feedback * Fix UI styles * Fix pagination issue * fix :: dark mode issues in select , number input * fix :: remove extra boreder * fix :: table column popover ui and component popover inspector * fix :: datepickre input table column * fix :: colopicker in table column inspector * fix :: link column type ui in table * fix :: column delete ui and delete not triggering * Fix list item not dragging * fix :: closing of popover on link column select * style fix table popover * Pass dark mode to Event manager button * fix :: ux event manager * cleanup * cleanup * fix :: delete page modal ui --------- Co-authored-by: stepinfwd <stepinfwd@gmail.com> * style fixes --------- Co-authored-by: Nakul Nagargade <133095394+nakulnagargade@users.noreply.github.com>
2023-09-04 08:00:39 +00:00
globalSettingsChanged,
toggleAppMaintenance,
app,
disableEnablePage,
Release : Appbuilder - appdefinition architecture revamp (#7448) * importing service: updated * import service, categorize and update events with associations * fix: deleting events associated with pages on page delete * handle app version: creation, updates, switching versions from app builder * on version switch: no updates should be triggeted to server * versioning for query events * fixes: new components db transaction fails for newly created pages * fixes: query chaining with events * map older query ids to new for event action: run query * fixes: multi-editor support * fixes/multi-editor: users should be able to edit different version of the app at real time without sync * minor fixes * fixes: undo/redo savings with latest app def updates * fixes: execution of page switch action * fixes: csa events * fixes: csa selection dropdown * fixes: on csa action changed, the action params should also be updated correctly * fixes: event rendering actions * fixes: table event - row hovered * fixes: table event - on search * fixes: table event - onNewRowsAdded * fixes: table event - onBulkUpdate * fixes: table column updates * fixes: table column updates to component definition * re-order events * handle adding widgets to sub containers * fixes: csa for modals * fixes: deletes children components on deleting parent * fixes: components with default children * fixed events for imported app * gs- crash fix * fixes: global settings UI * fixes: header and user * fixes: page switch event * fixes: adapts to new event manager ui * import app * add event index for creating app versions * fixes: table rendering on viewer * fixes: event execution for viewer * fixes: loading app with slug * fixes: Page side bar is not rendered in viewer * fixes: version manager ui for released versions * fixes: tabs default children saving * fixes: app resource mapping for parent-child components * fixes: duplicate pages * fixes: page load events for viewer * fixes: enable and disable pages * fixes: hide and show pages * fixes: on maintaince toggle button * fixes: new version child components are not tied to its parent * fixes: redo breaks- on deleting a component and undo then redo (editor) * new export schema and handling apps impport with new and older schemas * table events: column and actions events * fixes: query confirmations popup * fixes: copy/paste * fixes: cut/paste * fixes: event mapping for newer versions for new components, pages and queries id * fixes: app resource mapping for imported apps * fixes: cascade events for table actions and colulmns * Migrates the existing JSON-based app definition schema to a structured table-based architecture. This enhancement introduces component and page-specific permissions, improves data organization, and enables fine-grained access control. Additionally, it adds the 'globalSettings' column to the 'appVersion' table. * cleanup * fixes: enable and disable pages * fixes: hide/show page and set saving state for cloning pages * cleanup * fixes: page disable menu * fixes: migrations for data query events * fixes: switching app version from version creation modal results in editor loading state * fixes: setting up the page title * fixes: Page duplication has same page handler name. * fixes: updating general styles of a component * fixes: delete component should trigger confirmations box for one widget and for multiple should process deletion * fixes: CSA for button(component) does not work for page event handler. * fixes: component name update [calendar] * fixes: Duplicating pages do not create child components * improves copy-paste mechanism of widgets * fix: calendar subcontainer components comes out of the parent container on copy/paste * fix:Form properties, no option for selecting submit button. * fixes: Dark mode issue with event handler. * fixes: display preferences for components * fixes:have to select the selected version again to create a new * fixes: Pages menu is not getting disabled when enabled and vice-versa * fixes: correct naming of duplicating pages * fixes: 2 action button even with no event attached to one, it gets attached to both. * fixes: event deletion for action btn removal * fixes: Keyboard action to move component is not saving * reduce outbound calls when widget re-positioned with keyboard * fixes: Not able to delete component from Inspector * fixes: cloning of widgets * fixes: Request confirmation before query run toggle is not visible on viewer mode. (can't run query if confirmation toggle is on) * fixes: event sorting * fixes: events mapping for versioning: queries and components * fixes: importing app bug - query running issue when importing apps * [appdef-2.0] fixes: event action linking for imported apps (#7627) * fixes: event action linking for imported apps * cleanup * fixes: Toggling display preferences is not saving for components. (#7629) * fixes: dnd issue for mobile view (#7632) * default page menu settings should be true * [appdef-2] event manager selector bug (#7631) * fixes: on selecting query - 3 outbound calls are done to the server, and event manager re-renders 3times resulting in flikering ui * reduces outbound calls for updating csa actions to 1 * [appdef] - copy associated events for cloned components (#7634) * fixes: Copying component is not coping the events associated with the component. * cleanup * [appdef-2] : Fixes frontend issues (#7636) * Fix UI issues * Fix Scrollbar is not available after we pin the inspector. * Fix button jumping places if switched from extended monitor to laptop. * Fix white background around canvas * fixes: Component inspector go blank after switching to different pages after dropping components (#7637) * fixes: general properties of widgets are not getting saved (#7638) * fixes: selecting the components via selecto (#7653) * fixes: multiple undo-redo simlut. (#7656) * fixes: copy associated events for cloned queries (#7657) * Fixes not able toggle of Listview pagination toggle (#7701) * Fix UI issues * Fix Scrollbar is not available after we pin the inspector. * Fix button jumping places if switched from extended monitor to laptop. * fix enable pagination not getting toggled in listview * Fix form children not being displayed * fixes: dnd fix for widgets dropped inside subcontainer (#7691) * [Appdef-2] copy-paste, cut and clone fix for widgets (#7687) * fixes: copy/cut/paste and cloning of widgets * cleanup * can copy/paste-clone in listview * fixes: on mulit-widget selected via mouse area selection: widget manager should be rendered (#7688) * fixes: on deleting tabs widgets should delete its children (#7692) * fixes: column data generated from restapi does not render correct columns in viewer (#7695) * [appdef-2] fixes: multiple query confirmations trigger (#7704) * fixes: multiple query confirmations trigger * fixes: multiple outbound calls in the inital load, run queries on app load with confirmations:editor&viewer * fixes: correct confirmations list to the stote * [appdef-2] fixes:Event handler are running twice for page load (#7705) * fixes:Event handler are running twice for page load(eg- add 2 show alert and change the page). * fixes: for viewer page events * fixes: container widget is not getting saved on drop (#7718) * fixes: Create app version from is empty if we delete another version. (#7720) * [appdef-2] fixes: on versioned app (switching or creating) version, the componet layout is wrongly updated to the container dnd (#7721) * fixes: on versioned app (switching or creating) version, the component layout is wrongly updated to the container dnd * fixes: container widget is not saving * fixes: triggering confirmation box for every query with on load trigger (#7728) * Fixes canvas background and go to app crashing (#7725) * Fix UI issues * Fix Scrollbar is not available after we pin the inspector. * Fix button jumping places if switched from extended monitor to laptop. * fix enable pagination not getting toggled in listview * Fix form children not being displayed * Fix Go to app is crashing the application. * Fix fx for canvas background color is not working. * fixes: cloned/copied table with actions (#7758) * fixes: calendar and form widgets (#7735) * fixes: rendering of components in viewer for mobile (#7759) * fixes: toggling, resizing, dropping widgets in both display preferences (#7760) * fixes: page switch action via runjs actions (#7762) * fixes: component validations do not get saved (#7766) * [appdef-2] subcontainer dnd height outbound fix (#7767) * fixes: listview children can be dragged outside its outbound limit * cleanup * fixes: widget inspector going to empty component (#7768) * fixes: goToApp not running from runjs in viewer mode (#7770) * fixes: multi-components cloning or copy/paste have same name (#7761) * Fix disabled page is being displayed on switch page event dropdown (#7769) * Fix kanban rendering leading to infinite look * Fix disabled page is being displayed on switch page event dropdown * Fix Kanban widget getting into infinite loop (#7808) * Fix kanban rendering leading to infinite look * Fix disabled page is being displayed on switch page event dropdown * Fix kanban getting into infinite loop * adds support of constants to current state of the ediotr (#7821) * removes loader added for testing (#7822) * [appdef] fixes - dnd container cloning edge cases (#7820) * fixes: copy/pasting components updating wrong display preferences * fixes: copy/pasting tabs and cloning components inside tabs * fixes: duplication of calendar component bug * if components in subcontainer(children) are selected via selecto along with its parent, children should not be going through duplication * if components in subcontainer(children) are selected via selecto along with its parent, children should not be going through duplication * fixes: Resolving App Version and Timestamp Update Challenges (#7863) * Fixes query confirmation issue on viewer (#7862) * [appdef ]fixes: components copied from template app to a new page or app do not render in canvas (#7867) * fixes: components copied from template app to a new page or app does not render in canvas * fixes: table crash on coping from other pages with columns * adds the column exists check * fixes: tables crash for imported apps with auto generated cols * appdefinition refactor/cleanup (#7872) * cleanup controllers and request calls from frontend * removing unwanted console logs and unused variables * revering v1 apis og * adding length validation for page dto * adding dtos for components * updated dtos for components and pages * added dto for event handlers * fixes event handler dto * fixes: page dto * adds/fixes event handlers creating dtp * fixes: event handler service and dtos * [appdef] fixes: Creating page not changing the slug (#7873) * fixes: Creating page not changing the slug * removes extra whitespace * [appdef] fixes: on importing a exported app child components are not present in the parent component (#7864) * fixes: on importing a exported app child components are not present in the parent component * handles parent component mapping for tabs and calendar component * handles parent component mapping for tabs and calendar component for new versions * [appdef] api endpoint fixes (#7888) * fixes: moved fetching app version to v2 api * fixes: app slug api * Fixes CurrentUser & Mode not present in globals in inspector (#7812) * Fix current user not being present in inspector * Add Mode in globas in inspector * Fix creating page not changing the slug. * Revert "Fix creating page not changing the slug." This reverts commit 0ff9c18ab8b622a0fa96f6d7b200898c19b060f4. * Fixes on adding query params in event handler, breaking the app (#7889) * Fix on version change if left sidebar is open canvas not scrolling right * Fix on adding query params in event handler, breaking the app * Fix * Fix on version change if left sidebar is open canvas not scrolling right (#7884) * fixes: fixes on on app load switch page action via run queires (#7858) * fixes: fixes on on app load switch page action via run queires * Fix * refactor * Fix on load event not appearing on viewer --------- Co-authored-by: Nakul Nagargade <nakul@tooljet.com> * [appdef] fixes: event actions mapping for import-export (#7895) * fixes: event actions mapping for import-export * fixes: updates organisation id * fixes: templates event mapping * do not app again for not normalized apps * [appdef]migrations fix (#7910) * fixes: page attributes * fixes: table action and column events for imported apps (prev) and app migrations * adds processDataInBatches * fixes: app data migrations * create a new queryBuilder instance for each batch to ensure that there's no interference between batches * fix: app migration * cleanup * cleanup * fixes: table column data not updated on boxes changes in container (#7919) * fixes: creating all pages from all versions (#7905) * Fix state not changing in chart (#7900) * Fix in chart, toggles are not working * Update Chart.jsx --------- Co-authored-by: Arpit <arpitnath42@gmail.com> * fix event param not updating (#7902) * [appdef] Pages attributes are missing on versioning or imported app (#7904) * fixes: on creating new version pages attributes are not copied * fixes: on importing apps with pages attributes are not copied * fixes: component double duplication issues * fixes: deleting children components via selecto (#7915) * fixes: component deletion fixes * fixes: cloning components to a new version should also create associated events * fixes: creating components on cloning with general styles or properties * fixes: creatinng general properties on version * fixes: imported app * fixes added to app migrations * fixes: mobile view * fixes: Created a new version with multiple pages from second page, the new version shows the homepage with second page URL * fixes: table crash due to columnDeletionHistory saved as an object instead of an array * fixes: on creating new version, data_queries should be created (#7975) * [appdef] fixes: migrations (#7951) * refactor migrations with batching * event actions: switch page should be mapped to correct new page id * fixes: importing json-schema app with multiple version: same components do not get render in the canvas * fixes: import/export of legecy apps * event actions mapping to correct page ids: migrations * fixes: migrations children not rendered in subcontainer components * adapts to main/viewer changes * fixes: viewer with #6698 * fixes: viewer route * fixes: page switch via validateRoutes * fixes: on delete version fetchApp fails * handle error on saving changes * skip name opts * typo fix * Instead of relying on the schema, we choose to use the Tooljet version as the determining factor for decoupling import flows * fixes: slug updates from global settings * fixes: slug app link (#8008) * fixes: on version changed the preview link should also update (#8009) * fixes: on cut and paste events should not cascade (#8010) * fixes: query options to new mapped ids * [appdef] fixes: cloning apps (#8012) * fixes: cloning apps * fixes: slug status from share modal * fixes: query confirmations list on viewer (#8017) * undo-fix * fixes: updates current state with page data on creating new page * Fix failing specs (#8031) * [appdef] fixes : ghost child components are being created on imported/cloned apps and while migrating (#8026) * fixes: ignore ghost components while importing * added the fix in migrations * fixes: adding other components * fixes: table column resizes * updates layout dto * update component dto * fixes: tabs children are not rendered as the are not in their repsective parent container (#8036) * moving editorFunc to Editor.jsx * cleanup * fixes: e2e test for clone * cleanup * fixes: toggle maintaince * bumping version * multi-edit: ymap-fix-1 * Revert "multi-edit: ymap-fix-1" This reverts commit 8b799c3c51bc45179d2ad4ef405d6a234083d475. * [appdef] fixes: viewer route: keeps on reloading for private apps (#8051) * fixes: viewer route: keeps on reloading for pribate apps * should return the response * test: ymap updates-1 * fixes: v1 apps with dq queries resuts in app crash * Updated import spec * Revert "Updated import spec" This reverts commit 802136cdc3f06ee6debe3612999593a872b65bb1. * Fixed failed platform test cases for app desinition re-design (#8053) * Fix failed platform test cases * Modify user permission test cases * fixes: trial-5: fixing vanishing of components * Revert "fixes: trial-5: fixing vanishing of components" This reverts commit a22aec12c789d5bd1c9c1e9cea7d9fb1eef87bfb. * fixes: trail-6: fix * fixes: trail-7: fix * Revert "fixes: trail-7: fix" This reverts commit 08f373c415b9f1599eff9e397f7c4ffbc3f364b8. * Revert "fixes: trail-6: fix" This reverts commit c4e19b5d05c94d8c1d5a6ad37263bcec7dcdccb1. * multi-edit: ymap-fix * Revert "multi-edit: ymap-fix" This reverts commit 92f49c0cde33818c9a85478f8dfc3b59a629c3d7. * fixes: multi-user updates: adding or removing * event handlers sycned for multi-user * should take slug instead of appid if slug is present * updating adding ymap logic * versioning with multi-user * fixes: saving issue * dont skip ymap * adds delay to ymap * ymap-update-order-fixed * ymap-update-order-fixed-1.1 * ymap-update-order-fixed-1.2 * test=fix * Updated import spec (#8061) * cleanup * lint fixed * fixes: cloning apps with tabs * veiwer on event should return * fixes: event should map with show/hide modal component id * Fix failing appbuilder specs (#8117) * cherrypicked ee/00195c064 * bumping version to v2.24.0 * fixed modal actionid typo * fixes: slugs issues for released an public apps (#8119) * Fix failed test cases (#8121) * reverting global slug input * fixes: versioning with cloned page and ghost components (#8122) --------- Co-authored-by: Nakul Nagargade <133095394+nakulnagargade@users.noreply.github.com> Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> Co-authored-by: Nakul Nagargade <nakul@tooljet.com> Co-authored-by: Midhun Kumar E <midhun752@gmail.com> Co-authored-by: nandinisaha13 <nandinisaha13@gmail.com> Co-authored-by: Mekhla Asopa <dadhichmekhla@gmail.com> Co-authored-by: Ajith KV <ajith.jaban@gmail.com> Co-authored-by: Mekhla Asopa <59684099+Mekhla-Asopa@users.noreply.github.com>
2023-11-08 05:39:47 +00:00
isMaintenanceOn,
} = props;
const dataSources = useDataSources();
const prevSelectedSidebarItem = localStorage.getItem('selectedSidebarItem');
const queryPanelHeight = usePanelHeight();
const [selectedSidebarItem, setSelectedSidebarItem] = useState(
Feat :: Editor UI revamp (#7275) * temp commit :: editor redesign * fix :: components panel ui * style updates * fix :: arrangement widget list * fix :: light mode widget list * style fixes query manager * updates * updates heaer styles * global settings fix * left sidebar states and icon change * cleanup * minor fixes :: review * fix opacity mode toggle * detailing in hover states , bugfixes * fix :: coloring whole app , debugger ui * cleanup * fix :: revert some changes , fix statistics widget * feat :: navbar with new layout * fix :: lint warnings * cleanup * cleanup * minor fixes * fix :: reusing serchbox * removed unwanted prop * Revert "cleanup" This reverts commit b18abe19fbd82246611153634c79934ad9012101. * fix :: icons sidebar * fix :: padding searchbar * style fix * radix :: dark theme for portals * fix :: icon styles * fix :: all codehinter styles * update :: base bg color app * fix :: viewer color * minor fixes :: icon left sidebar * typo * fix :: styling save message header * icon :: fix for layout and inspector queries * fix :: canvas and editor bg * fix :: release btn style * fix :: navbar border * undo redo tooltip * fix :: page input * remove released btn icon * fix :: for icon not loading proper in inspector * fix :: dark mode toggle icon size * fix :: share app ui * fix :: style fixes , inspector runpy icon * fix :: ui runpy codehinter * fix :: inputs in gds connection * cleanup * fix :: copilot codehinter ui * fix :: share modal button * fix :: canvas bg text * style fix debugger * fix :: whole dahsboard layout and border for all codehinters * fix :: icon fills * fix :: icon fill color sidebar * darkmode fill color * minor style fix * Widget inspector redesign (#7355) * Setup Storybook * Update storybook config * Add tab and toggle group component * Created list component * Properties tab * update codehinter dropdown components * Refactor styling * Inspector header changes * Fix es lint issue * Fix * feat :: styling color picker styles panel * Fix color picker alignment * feat :: remove alpha * Fix UI bugs * fix :: color picker * Ui fix * Backward compatible pagination changes * fix * Feedback changes * UI feedback * Check fix * Fix * fix :: canvas bg popover * Styles fix * Fix conflct issues * minor style fix style tab * Fix * review comments fix :: hovering in color picker * Code review and design feedback * UI feedback * Fix UI styles * Fix pagination issue * fix :: dark mode issues in select , number input * fix :: remove extra boreder * fix :: table column popover ui and component popover inspector * fix :: datepickre input table column * fix :: colopicker in table column inspector * fix :: link column type ui in table * fix :: column delete ui and delete not triggering * Fix list item not dragging * fix :: closing of popover on link column select * style fix table popover * Pass dark mode to Event manager button * fix :: ux event manager * cleanup * cleanup * fix :: delete page modal ui --------- Co-authored-by: stepinfwd <stepinfwd@gmail.com> * style fixes --------- Co-authored-by: Nakul Nagargade <133095394+nakulnagargade@users.noreply.github.com>
2023-09-04 08:00:39 +00:00
dataSources?.length === 0 && prevSelectedSidebarItem === 'datasource' ? 'inspect' : prevSelectedSidebarItem
);
const [showLeaveDialog, setShowLeaveDialog] = useState(false);
const [showDataSourceManagerModal, toggleDataSourceManagerModal] = useState(false);
const [popoverContentHeight, setPopoverContentHeight] = useState(queryPanelHeight);
const { isVersionReleased } = useAppVersionStore(
(state) => ({
isVersionReleased: state.isVersionReleased,
}),
shallow
);
const { showComments, appMode } = useEditorStore(
(state) => ({
showComments: state?.showComments,
appMode: state?.appMode,
}),
shallow
);
Release : Appbuilder - appdefinition architecture revamp (#7448) * importing service: updated * import service, categorize and update events with associations * fix: deleting events associated with pages on page delete * handle app version: creation, updates, switching versions from app builder * on version switch: no updates should be triggeted to server * versioning for query events * fixes: new components db transaction fails for newly created pages * fixes: query chaining with events * map older query ids to new for event action: run query * fixes: multi-editor support * fixes/multi-editor: users should be able to edit different version of the app at real time without sync * minor fixes * fixes: undo/redo savings with latest app def updates * fixes: execution of page switch action * fixes: csa events * fixes: csa selection dropdown * fixes: on csa action changed, the action params should also be updated correctly * fixes: event rendering actions * fixes: table event - row hovered * fixes: table event - on search * fixes: table event - onNewRowsAdded * fixes: table event - onBulkUpdate * fixes: table column updates * fixes: table column updates to component definition * re-order events * handle adding widgets to sub containers * fixes: csa for modals * fixes: deletes children components on deleting parent * fixes: components with default children * fixed events for imported app * gs- crash fix * fixes: global settings UI * fixes: header and user * fixes: page switch event * fixes: adapts to new event manager ui * import app * add event index for creating app versions * fixes: table rendering on viewer * fixes: event execution for viewer * fixes: loading app with slug * fixes: Page side bar is not rendered in viewer * fixes: version manager ui for released versions * fixes: tabs default children saving * fixes: app resource mapping for parent-child components * fixes: duplicate pages * fixes: page load events for viewer * fixes: enable and disable pages * fixes: hide and show pages * fixes: on maintaince toggle button * fixes: new version child components are not tied to its parent * fixes: redo breaks- on deleting a component and undo then redo (editor) * new export schema and handling apps impport with new and older schemas * table events: column and actions events * fixes: query confirmations popup * fixes: copy/paste * fixes: cut/paste * fixes: event mapping for newer versions for new components, pages and queries id * fixes: app resource mapping for imported apps * fixes: cascade events for table actions and colulmns * Migrates the existing JSON-based app definition schema to a structured table-based architecture. This enhancement introduces component and page-specific permissions, improves data organization, and enables fine-grained access control. Additionally, it adds the 'globalSettings' column to the 'appVersion' table. * cleanup * fixes: enable and disable pages * fixes: hide/show page and set saving state for cloning pages * cleanup * fixes: page disable menu * fixes: migrations for data query events * fixes: switching app version from version creation modal results in editor loading state * fixes: setting up the page title * fixes: Page duplication has same page handler name. * fixes: updating general styles of a component * fixes: delete component should trigger confirmations box for one widget and for multiple should process deletion * fixes: CSA for button(component) does not work for page event handler. * fixes: component name update [calendar] * fixes: Duplicating pages do not create child components * improves copy-paste mechanism of widgets * fix: calendar subcontainer components comes out of the parent container on copy/paste * fix:Form properties, no option for selecting submit button. * fixes: Dark mode issue with event handler. * fixes: display preferences for components * fixes:have to select the selected version again to create a new * fixes: Pages menu is not getting disabled when enabled and vice-versa * fixes: correct naming of duplicating pages * fixes: 2 action button even with no event attached to one, it gets attached to both. * fixes: event deletion for action btn removal * fixes: Keyboard action to move component is not saving * reduce outbound calls when widget re-positioned with keyboard * fixes: Not able to delete component from Inspector * fixes: cloning of widgets * fixes: Request confirmation before query run toggle is not visible on viewer mode. (can't run query if confirmation toggle is on) * fixes: event sorting * fixes: events mapping for versioning: queries and components * fixes: importing app bug - query running issue when importing apps * [appdef-2.0] fixes: event action linking for imported apps (#7627) * fixes: event action linking for imported apps * cleanup * fixes: Toggling display preferences is not saving for components. (#7629) * fixes: dnd issue for mobile view (#7632) * default page menu settings should be true * [appdef-2] event manager selector bug (#7631) * fixes: on selecting query - 3 outbound calls are done to the server, and event manager re-renders 3times resulting in flikering ui * reduces outbound calls for updating csa actions to 1 * [appdef] - copy associated events for cloned components (#7634) * fixes: Copying component is not coping the events associated with the component. * cleanup * [appdef-2] : Fixes frontend issues (#7636) * Fix UI issues * Fix Scrollbar is not available after we pin the inspector. * Fix button jumping places if switched from extended monitor to laptop. * Fix white background around canvas * fixes: Component inspector go blank after switching to different pages after dropping components (#7637) * fixes: general properties of widgets are not getting saved (#7638) * fixes: selecting the components via selecto (#7653) * fixes: multiple undo-redo simlut. (#7656) * fixes: copy associated events for cloned queries (#7657) * Fixes not able toggle of Listview pagination toggle (#7701) * Fix UI issues * Fix Scrollbar is not available after we pin the inspector. * Fix button jumping places if switched from extended monitor to laptop. * fix enable pagination not getting toggled in listview * Fix form children not being displayed * fixes: dnd fix for widgets dropped inside subcontainer (#7691) * [Appdef-2] copy-paste, cut and clone fix for widgets (#7687) * fixes: copy/cut/paste and cloning of widgets * cleanup * can copy/paste-clone in listview * fixes: on mulit-widget selected via mouse area selection: widget manager should be rendered (#7688) * fixes: on deleting tabs widgets should delete its children (#7692) * fixes: column data generated from restapi does not render correct columns in viewer (#7695) * [appdef-2] fixes: multiple query confirmations trigger (#7704) * fixes: multiple query confirmations trigger * fixes: multiple outbound calls in the inital load, run queries on app load with confirmations:editor&viewer * fixes: correct confirmations list to the stote * [appdef-2] fixes:Event handler are running twice for page load (#7705) * fixes:Event handler are running twice for page load(eg- add 2 show alert and change the page). * fixes: for viewer page events * fixes: container widget is not getting saved on drop (#7718) * fixes: Create app version from is empty if we delete another version. (#7720) * [appdef-2] fixes: on versioned app (switching or creating) version, the componet layout is wrongly updated to the container dnd (#7721) * fixes: on versioned app (switching or creating) version, the component layout is wrongly updated to the container dnd * fixes: container widget is not saving * fixes: triggering confirmation box for every query with on load trigger (#7728) * Fixes canvas background and go to app crashing (#7725) * Fix UI issues * Fix Scrollbar is not available after we pin the inspector. * Fix button jumping places if switched from extended monitor to laptop. * fix enable pagination not getting toggled in listview * Fix form children not being displayed * Fix Go to app is crashing the application. * Fix fx for canvas background color is not working. * fixes: cloned/copied table with actions (#7758) * fixes: calendar and form widgets (#7735) * fixes: rendering of components in viewer for mobile (#7759) * fixes: toggling, resizing, dropping widgets in both display preferences (#7760) * fixes: page switch action via runjs actions (#7762) * fixes: component validations do not get saved (#7766) * [appdef-2] subcontainer dnd height outbound fix (#7767) * fixes: listview children can be dragged outside its outbound limit * cleanup * fixes: widget inspector going to empty component (#7768) * fixes: goToApp not running from runjs in viewer mode (#7770) * fixes: multi-components cloning or copy/paste have same name (#7761) * Fix disabled page is being displayed on switch page event dropdown (#7769) * Fix kanban rendering leading to infinite look * Fix disabled page is being displayed on switch page event dropdown * Fix Kanban widget getting into infinite loop (#7808) * Fix kanban rendering leading to infinite look * Fix disabled page is being displayed on switch page event dropdown * Fix kanban getting into infinite loop * adds support of constants to current state of the ediotr (#7821) * removes loader added for testing (#7822) * [appdef] fixes - dnd container cloning edge cases (#7820) * fixes: copy/pasting components updating wrong display preferences * fixes: copy/pasting tabs and cloning components inside tabs * fixes: duplication of calendar component bug * if components in subcontainer(children) are selected via selecto along with its parent, children should not be going through duplication * if components in subcontainer(children) are selected via selecto along with its parent, children should not be going through duplication * fixes: Resolving App Version and Timestamp Update Challenges (#7863) * Fixes query confirmation issue on viewer (#7862) * [appdef ]fixes: components copied from template app to a new page or app do not render in canvas (#7867) * fixes: components copied from template app to a new page or app does not render in canvas * fixes: table crash on coping from other pages with columns * adds the column exists check * fixes: tables crash for imported apps with auto generated cols * appdefinition refactor/cleanup (#7872) * cleanup controllers and request calls from frontend * removing unwanted console logs and unused variables * revering v1 apis og * adding length validation for page dto * adding dtos for components * updated dtos for components and pages * added dto for event handlers * fixes event handler dto * fixes: page dto * adds/fixes event handlers creating dtp * fixes: event handler service and dtos * [appdef] fixes: Creating page not changing the slug (#7873) * fixes: Creating page not changing the slug * removes extra whitespace * [appdef] fixes: on importing a exported app child components are not present in the parent component (#7864) * fixes: on importing a exported app child components are not present in the parent component * handles parent component mapping for tabs and calendar component * handles parent component mapping for tabs and calendar component for new versions * [appdef] api endpoint fixes (#7888) * fixes: moved fetching app version to v2 api * fixes: app slug api * Fixes CurrentUser & Mode not present in globals in inspector (#7812) * Fix current user not being present in inspector * Add Mode in globas in inspector * Fix creating page not changing the slug. * Revert "Fix creating page not changing the slug." This reverts commit 0ff9c18ab8b622a0fa96f6d7b200898c19b060f4. * Fixes on adding query params in event handler, breaking the app (#7889) * Fix on version change if left sidebar is open canvas not scrolling right * Fix on adding query params in event handler, breaking the app * Fix * Fix on version change if left sidebar is open canvas not scrolling right (#7884) * fixes: fixes on on app load switch page action via run queires (#7858) * fixes: fixes on on app load switch page action via run queires * Fix * refactor * Fix on load event not appearing on viewer --------- Co-authored-by: Nakul Nagargade <nakul@tooljet.com> * [appdef] fixes: event actions mapping for import-export (#7895) * fixes: event actions mapping for import-export * fixes: updates organisation id * fixes: templates event mapping * do not app again for not normalized apps * [appdef]migrations fix (#7910) * fixes: page attributes * fixes: table action and column events for imported apps (prev) and app migrations * adds processDataInBatches * fixes: app data migrations * create a new queryBuilder instance for each batch to ensure that there's no interference between batches * fix: app migration * cleanup * cleanup * fixes: table column data not updated on boxes changes in container (#7919) * fixes: creating all pages from all versions (#7905) * Fix state not changing in chart (#7900) * Fix in chart, toggles are not working * Update Chart.jsx --------- Co-authored-by: Arpit <arpitnath42@gmail.com> * fix event param not updating (#7902) * [appdef] Pages attributes are missing on versioning or imported app (#7904) * fixes: on creating new version pages attributes are not copied * fixes: on importing apps with pages attributes are not copied * fixes: component double duplication issues * fixes: deleting children components via selecto (#7915) * fixes: component deletion fixes * fixes: cloning components to a new version should also create associated events * fixes: creating components on cloning with general styles or properties * fixes: creatinng general properties on version * fixes: imported app * fixes added to app migrations * fixes: mobile view * fixes: Created a new version with multiple pages from second page, the new version shows the homepage with second page URL * fixes: table crash due to columnDeletionHistory saved as an object instead of an array * fixes: on creating new version, data_queries should be created (#7975) * [appdef] fixes: migrations (#7951) * refactor migrations with batching * event actions: switch page should be mapped to correct new page id * fixes: importing json-schema app with multiple version: same components do not get render in the canvas * fixes: import/export of legecy apps * event actions mapping to correct page ids: migrations * fixes: migrations children not rendered in subcontainer components * adapts to main/viewer changes * fixes: viewer with #6698 * fixes: viewer route * fixes: page switch via validateRoutes * fixes: on delete version fetchApp fails * handle error on saving changes * skip name opts * typo fix * Instead of relying on the schema, we choose to use the Tooljet version as the determining factor for decoupling import flows * fixes: slug updates from global settings * fixes: slug app link (#8008) * fixes: on version changed the preview link should also update (#8009) * fixes: on cut and paste events should not cascade (#8010) * fixes: query options to new mapped ids * [appdef] fixes: cloning apps (#8012) * fixes: cloning apps * fixes: slug status from share modal * fixes: query confirmations list on viewer (#8017) * undo-fix * fixes: updates current state with page data on creating new page * Fix failing specs (#8031) * [appdef] fixes : ghost child components are being created on imported/cloned apps and while migrating (#8026) * fixes: ignore ghost components while importing * added the fix in migrations * fixes: adding other components * fixes: table column resizes * updates layout dto * update component dto * fixes: tabs children are not rendered as the are not in their repsective parent container (#8036) * moving editorFunc to Editor.jsx * cleanup * fixes: e2e test for clone * cleanup * fixes: toggle maintaince * bumping version * multi-edit: ymap-fix-1 * Revert "multi-edit: ymap-fix-1" This reverts commit 8b799c3c51bc45179d2ad4ef405d6a234083d475. * [appdef] fixes: viewer route: keeps on reloading for private apps (#8051) * fixes: viewer route: keeps on reloading for pribate apps * should return the response * test: ymap updates-1 * fixes: v1 apps with dq queries resuts in app crash * Updated import spec * Revert "Updated import spec" This reverts commit 802136cdc3f06ee6debe3612999593a872b65bb1. * Fixed failed platform test cases for app desinition re-design (#8053) * Fix failed platform test cases * Modify user permission test cases * fixes: trial-5: fixing vanishing of components * Revert "fixes: trial-5: fixing vanishing of components" This reverts commit a22aec12c789d5bd1c9c1e9cea7d9fb1eef87bfb. * fixes: trail-6: fix * fixes: trail-7: fix * Revert "fixes: trail-7: fix" This reverts commit 08f373c415b9f1599eff9e397f7c4ffbc3f364b8. * Revert "fixes: trail-6: fix" This reverts commit c4e19b5d05c94d8c1d5a6ad37263bcec7dcdccb1. * multi-edit: ymap-fix * Revert "multi-edit: ymap-fix" This reverts commit 92f49c0cde33818c9a85478f8dfc3b59a629c3d7. * fixes: multi-user updates: adding or removing * event handlers sycned for multi-user * should take slug instead of appid if slug is present * updating adding ymap logic * versioning with multi-user * fixes: saving issue * dont skip ymap * adds delay to ymap * ymap-update-order-fixed * ymap-update-order-fixed-1.1 * ymap-update-order-fixed-1.2 * test=fix * Updated import spec (#8061) * cleanup * lint fixed * fixes: cloning apps with tabs * veiwer on event should return * fixes: event should map with show/hide modal component id * Fix failing appbuilder specs (#8117) * cherrypicked ee/00195c064 * bumping version to v2.24.0 * fixed modal actionid typo * fixes: slugs issues for released an public apps (#8119) * Fix failed test cases (#8121) * reverting global slug input * fixes: versioning with cloned page and ghost components (#8122) --------- Co-authored-by: Nakul Nagargade <133095394+nakulnagargade@users.noreply.github.com> Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> Co-authored-by: Nakul Nagargade <nakul@tooljet.com> Co-authored-by: Midhun Kumar E <midhun752@gmail.com> Co-authored-by: nandinisaha13 <nandinisaha13@gmail.com> Co-authored-by: Mekhla Asopa <dadhichmekhla@gmail.com> Co-authored-by: Ajith KV <ajith.jaban@gmail.com> Co-authored-by: Mekhla Asopa <59684099+Mekhla-Asopa@users.noreply.github.com>
2023-11-08 05:39:47 +00:00
const [pinned, setPinned] = useState(!!localStorage.getItem('selectedSidebarItem'));
const { errorLogs, clearErrorLogs, unReadErrorCount, allLog } = useDebugger({
currentPageId,
isDebuggerOpen: !!selectedSidebarItem,
});
const sideBarBtnRefs = useRef({});
Improving user experience of left side drawer in app builder (#6659) * style: Store pinned state of left sidebar tabs in localstorgae to persist across refresh * style: Fixed popover width. Add scroll for canvas so for user view to remain same when popover is open * feat: added horizontal scrollbar for canvas when sidebar popup is open * feat: added logic to calculate canvas height on resize * feat: prevent flickering of popover when switching tabs * style: made modal width and position inside canvas relative to canvas container positon * fix: removed extra offset added to the dragged element placeholder. * fix: hide extra scroll bar added when dragging new component to canvas * fix: hide canvas scrollbar on dragging of new component * fix: removed extra margin to main container * fix: fixed canvas alignment when mobile screen is selected * fix: revert the debugger error notification badge behaviour * fix: fixed width issue for old apps * fix: fixed issue with width when user set max width in % * fix: resolved conflicts in style file * fix: fixed whitespace issue in large screen * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * refactor: removed unnecessory rerendering of Editor component * perf: unsubscribe to querypanelstore on unmount of editor component * perf: rerender editor only when query panel resizing over * refactor: removed unused logs * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * fix: added style to hide extrascrollbar in macbook screens when mouse connected --------- Co-authored-by: Johnson Cherian <johnsoncherian@Johnsons-MacBook-Pro.local> Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
2023-06-15 07:28:44 +00:00
useEffect(() => {
setPopoverContentHeight(((window.innerHeight - queryPanelHeight - 45) / window.innerHeight) * 100);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [queryPanelHeight]);
Improving user experience of left side drawer in app builder (#6659) * style: Store pinned state of left sidebar tabs in localstorgae to persist across refresh * style: Fixed popover width. Add scroll for canvas so for user view to remain same when popover is open * feat: added horizontal scrollbar for canvas when sidebar popup is open * feat: added logic to calculate canvas height on resize * feat: prevent flickering of popover when switching tabs * style: made modal width and position inside canvas relative to canvas container positon * fix: removed extra offset added to the dragged element placeholder. * fix: hide extra scroll bar added when dragging new component to canvas * fix: hide canvas scrollbar on dragging of new component * fix: removed extra margin to main container * fix: fixed canvas alignment when mobile screen is selected * fix: revert the debugger error notification badge behaviour * fix: fixed width issue for old apps * fix: fixed issue with width when user set max width in % * fix: resolved conflicts in style file * fix: fixed whitespace issue in large screen * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * refactor: removed unnecessory rerendering of Editor component * perf: unsubscribe to querypanelstore on unmount of editor component * perf: rerender editor only when query panel resizing over * refactor: removed unused logs * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * fix: added style to hide extrascrollbar in macbook screens when mouse connected --------- Co-authored-by: Johnson Cherian <johnsoncherian@Johnsons-MacBook-Pro.local> Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
2023-06-15 07:28:44 +00:00
useEffect(() => {
if (!selectedSidebarItem) {
setEditorMarginLeft(0);
} else {
setEditorMarginLeft(350);
}
// eslint-disable-next-line react-hooks/exhaustive-deps
Improving user experience of left side drawer in app builder (#6659) * style: Store pinned state of left sidebar tabs in localstorgae to persist across refresh * style: Fixed popover width. Add scroll for canvas so for user view to remain same when popover is open * feat: added horizontal scrollbar for canvas when sidebar popup is open * feat: added logic to calculate canvas height on resize * feat: prevent flickering of popover when switching tabs * style: made modal width and position inside canvas relative to canvas container positon * fix: removed extra offset added to the dragged element placeholder. * fix: hide extra scroll bar added when dragging new component to canvas * fix: hide canvas scrollbar on dragging of new component * fix: removed extra margin to main container * fix: fixed canvas alignment when mobile screen is selected * fix: revert the debugger error notification badge behaviour * fix: fixed width issue for old apps * fix: fixed issue with width when user set max width in % * fix: resolved conflicts in style file * fix: fixed whitespace issue in large screen * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * refactor: removed unnecessory rerendering of Editor component * perf: unsubscribe to querypanelstore on unmount of editor component * perf: rerender editor only when query panel resizing over * refactor: removed unused logs * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * fix: added style to hide extrascrollbar in macbook screens when mouse connected --------- Co-authored-by: Johnson Cherian <johnsoncherian@Johnsons-MacBook-Pro.local> Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
2023-06-15 07:28:44 +00:00
}, [selectedSidebarItem]);
useImperativeHandle(ref, () => ({
dataSourceModalToggleStateHandler() {
toggleDataSourceManagerModal(true);
},
}));
const handleSelectedSidebarItem = (item) => {
Improving user experience of left side drawer in app builder (#6659) * style: Store pinned state of left sidebar tabs in localstorgae to persist across refresh * style: Fixed popover width. Add scroll for canvas so for user view to remain same when popover is open * feat: added horizontal scrollbar for canvas when sidebar popup is open * feat: added logic to calculate canvas height on resize * feat: prevent flickering of popover when switching tabs * style: made modal width and position inside canvas relative to canvas container positon * fix: removed extra offset added to the dragged element placeholder. * fix: hide extra scroll bar added when dragging new component to canvas * fix: hide canvas scrollbar on dragging of new component * fix: removed extra margin to main container * fix: fixed canvas alignment when mobile screen is selected * fix: revert the debugger error notification badge behaviour * fix: fixed width issue for old apps * fix: fixed issue with width when user set max width in % * fix: resolved conflicts in style file * fix: fixed whitespace issue in large screen * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * refactor: removed unnecessory rerendering of Editor component * perf: unsubscribe to querypanelstore on unmount of editor component * perf: rerender editor only when query panel resizing over * refactor: removed unused logs * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * fix: added style to hide extrascrollbar in macbook screens when mouse connected --------- Co-authored-by: Johnson Cherian <johnsoncherian@Johnsons-MacBook-Pro.local> Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
2023-06-15 07:28:44 +00:00
if (item === selectedSidebarItem && !pinned) {
setSelectedSidebarItem(null);
} else {
setSelectedSidebarItem(item);
Improving user experience of left side drawer in app builder (#6659) * style: Store pinned state of left sidebar tabs in localstorgae to persist across refresh * style: Fixed popover width. Add scroll for canvas so for user view to remain same when popover is open * feat: added horizontal scrollbar for canvas when sidebar popup is open * feat: added logic to calculate canvas height on resize * feat: prevent flickering of popover when switching tabs * style: made modal width and position inside canvas relative to canvas container positon * fix: removed extra offset added to the dragged element placeholder. * fix: hide extra scroll bar added when dragging new component to canvas * fix: hide canvas scrollbar on dragging of new component * fix: removed extra margin to main container * fix: fixed canvas alignment when mobile screen is selected * fix: revert the debugger error notification badge behaviour * fix: fixed width issue for old apps * fix: fixed issue with width when user set max width in % * fix: resolved conflicts in style file * fix: fixed whitespace issue in large screen * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * refactor: removed unnecessory rerendering of Editor component * perf: unsubscribe to querypanelstore on unmount of editor component * perf: rerender editor only when query panel resizing over * refactor: removed unused logs * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * fix: added style to hide extrascrollbar in macbook screens when mouse connected --------- Co-authored-by: Johnson Cherian <johnsoncherian@Johnsons-MacBook-Pro.local> Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
2023-06-15 07:28:44 +00:00
pinned && localStorage.setItem('selectedSidebarItem', item);
}
};
Improving user experience of left side drawer in app builder (#6659) * style: Store pinned state of left sidebar tabs in localstorgae to persist across refresh * style: Fixed popover width. Add scroll for canvas so for user view to remain same when popover is open * feat: added horizontal scrollbar for canvas when sidebar popup is open * feat: added logic to calculate canvas height on resize * feat: prevent flickering of popover when switching tabs * style: made modal width and position inside canvas relative to canvas container positon * fix: removed extra offset added to the dragged element placeholder. * fix: hide extra scroll bar added when dragging new component to canvas * fix: hide canvas scrollbar on dragging of new component * fix: removed extra margin to main container * fix: fixed canvas alignment when mobile screen is selected * fix: revert the debugger error notification badge behaviour * fix: fixed width issue for old apps * fix: fixed issue with width when user set max width in % * fix: resolved conflicts in style file * fix: fixed whitespace issue in large screen * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * refactor: removed unnecessory rerendering of Editor component * perf: unsubscribe to querypanelstore on unmount of editor component * perf: rerender editor only when query panel resizing over * refactor: removed unused logs * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * fix: added style to hide extrascrollbar in macbook screens when mouse connected --------- Co-authored-by: Johnson Cherian <johnsoncherian@Johnsons-MacBook-Pro.local> Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
2023-06-15 07:28:44 +00:00
const handlePin = (isPin) => {
isPin
? localStorage.setItem('selectedSidebarItem', selectedSidebarItem)
: localStorage.removeItem('selectedSidebarItem');
setPinned(isPin);
};
const handleInteractOutside = (ev) => {
const isBtnClicked = Object.values(sideBarBtnRefs.current).some((btnRef) => {
return btnRef.contains(ev.target);
});
if (!isBtnClicked && !pinned) {
setSelectedSidebarItem(null);
}
};
const setSideBarBtnRefs = (page) => (ref) => {
sideBarBtnRefs.current[page] = ref;
};
Release : Appbuilder - appdefinition architecture revamp (#7448) * importing service: updated * import service, categorize and update events with associations * fix: deleting events associated with pages on page delete * handle app version: creation, updates, switching versions from app builder * on version switch: no updates should be triggeted to server * versioning for query events * fixes: new components db transaction fails for newly created pages * fixes: query chaining with events * map older query ids to new for event action: run query * fixes: multi-editor support * fixes/multi-editor: users should be able to edit different version of the app at real time without sync * minor fixes * fixes: undo/redo savings with latest app def updates * fixes: execution of page switch action * fixes: csa events * fixes: csa selection dropdown * fixes: on csa action changed, the action params should also be updated correctly * fixes: event rendering actions * fixes: table event - row hovered * fixes: table event - on search * fixes: table event - onNewRowsAdded * fixes: table event - onBulkUpdate * fixes: table column updates * fixes: table column updates to component definition * re-order events * handle adding widgets to sub containers * fixes: csa for modals * fixes: deletes children components on deleting parent * fixes: components with default children * fixed events for imported app * gs- crash fix * fixes: global settings UI * fixes: header and user * fixes: page switch event * fixes: adapts to new event manager ui * import app * add event index for creating app versions * fixes: table rendering on viewer * fixes: event execution for viewer * fixes: loading app with slug * fixes: Page side bar is not rendered in viewer * fixes: version manager ui for released versions * fixes: tabs default children saving * fixes: app resource mapping for parent-child components * fixes: duplicate pages * fixes: page load events for viewer * fixes: enable and disable pages * fixes: hide and show pages * fixes: on maintaince toggle button * fixes: new version child components are not tied to its parent * fixes: redo breaks- on deleting a component and undo then redo (editor) * new export schema and handling apps impport with new and older schemas * table events: column and actions events * fixes: query confirmations popup * fixes: copy/paste * fixes: cut/paste * fixes: event mapping for newer versions for new components, pages and queries id * fixes: app resource mapping for imported apps * fixes: cascade events for table actions and colulmns * Migrates the existing JSON-based app definition schema to a structured table-based architecture. This enhancement introduces component and page-specific permissions, improves data organization, and enables fine-grained access control. Additionally, it adds the 'globalSettings' column to the 'appVersion' table. * cleanup * fixes: enable and disable pages * fixes: hide/show page and set saving state for cloning pages * cleanup * fixes: page disable menu * fixes: migrations for data query events * fixes: switching app version from version creation modal results in editor loading state * fixes: setting up the page title * fixes: Page duplication has same page handler name. * fixes: updating general styles of a component * fixes: delete component should trigger confirmations box for one widget and for multiple should process deletion * fixes: CSA for button(component) does not work for page event handler. * fixes: component name update [calendar] * fixes: Duplicating pages do not create child components * improves copy-paste mechanism of widgets * fix: calendar subcontainer components comes out of the parent container on copy/paste * fix:Form properties, no option for selecting submit button. * fixes: Dark mode issue with event handler. * fixes: display preferences for components * fixes:have to select the selected version again to create a new * fixes: Pages menu is not getting disabled when enabled and vice-versa * fixes: correct naming of duplicating pages * fixes: 2 action button even with no event attached to one, it gets attached to both. * fixes: event deletion for action btn removal * fixes: Keyboard action to move component is not saving * reduce outbound calls when widget re-positioned with keyboard * fixes: Not able to delete component from Inspector * fixes: cloning of widgets * fixes: Request confirmation before query run toggle is not visible on viewer mode. (can't run query if confirmation toggle is on) * fixes: event sorting * fixes: events mapping for versioning: queries and components * fixes: importing app bug - query running issue when importing apps * [appdef-2.0] fixes: event action linking for imported apps (#7627) * fixes: event action linking for imported apps * cleanup * fixes: Toggling display preferences is not saving for components. (#7629) * fixes: dnd issue for mobile view (#7632) * default page menu settings should be true * [appdef-2] event manager selector bug (#7631) * fixes: on selecting query - 3 outbound calls are done to the server, and event manager re-renders 3times resulting in flikering ui * reduces outbound calls for updating csa actions to 1 * [appdef] - copy associated events for cloned components (#7634) * fixes: Copying component is not coping the events associated with the component. * cleanup * [appdef-2] : Fixes frontend issues (#7636) * Fix UI issues * Fix Scrollbar is not available after we pin the inspector. * Fix button jumping places if switched from extended monitor to laptop. * Fix white background around canvas * fixes: Component inspector go blank after switching to different pages after dropping components (#7637) * fixes: general properties of widgets are not getting saved (#7638) * fixes: selecting the components via selecto (#7653) * fixes: multiple undo-redo simlut. (#7656) * fixes: copy associated events for cloned queries (#7657) * Fixes not able toggle of Listview pagination toggle (#7701) * Fix UI issues * Fix Scrollbar is not available after we pin the inspector. * Fix button jumping places if switched from extended monitor to laptop. * fix enable pagination not getting toggled in listview * Fix form children not being displayed * fixes: dnd fix for widgets dropped inside subcontainer (#7691) * [Appdef-2] copy-paste, cut and clone fix for widgets (#7687) * fixes: copy/cut/paste and cloning of widgets * cleanup * can copy/paste-clone in listview * fixes: on mulit-widget selected via mouse area selection: widget manager should be rendered (#7688) * fixes: on deleting tabs widgets should delete its children (#7692) * fixes: column data generated from restapi does not render correct columns in viewer (#7695) * [appdef-2] fixes: multiple query confirmations trigger (#7704) * fixes: multiple query confirmations trigger * fixes: multiple outbound calls in the inital load, run queries on app load with confirmations:editor&viewer * fixes: correct confirmations list to the stote * [appdef-2] fixes:Event handler are running twice for page load (#7705) * fixes:Event handler are running twice for page load(eg- add 2 show alert and change the page). * fixes: for viewer page events * fixes: container widget is not getting saved on drop (#7718) * fixes: Create app version from is empty if we delete another version. (#7720) * [appdef-2] fixes: on versioned app (switching or creating) version, the componet layout is wrongly updated to the container dnd (#7721) * fixes: on versioned app (switching or creating) version, the component layout is wrongly updated to the container dnd * fixes: container widget is not saving * fixes: triggering confirmation box for every query with on load trigger (#7728) * Fixes canvas background and go to app crashing (#7725) * Fix UI issues * Fix Scrollbar is not available after we pin the inspector. * Fix button jumping places if switched from extended monitor to laptop. * fix enable pagination not getting toggled in listview * Fix form children not being displayed * Fix Go to app is crashing the application. * Fix fx for canvas background color is not working. * fixes: cloned/copied table with actions (#7758) * fixes: calendar and form widgets (#7735) * fixes: rendering of components in viewer for mobile (#7759) * fixes: toggling, resizing, dropping widgets in both display preferences (#7760) * fixes: page switch action via runjs actions (#7762) * fixes: component validations do not get saved (#7766) * [appdef-2] subcontainer dnd height outbound fix (#7767) * fixes: listview children can be dragged outside its outbound limit * cleanup * fixes: widget inspector going to empty component (#7768) * fixes: goToApp not running from runjs in viewer mode (#7770) * fixes: multi-components cloning or copy/paste have same name (#7761) * Fix disabled page is being displayed on switch page event dropdown (#7769) * Fix kanban rendering leading to infinite look * Fix disabled page is being displayed on switch page event dropdown * Fix Kanban widget getting into infinite loop (#7808) * Fix kanban rendering leading to infinite look * Fix disabled page is being displayed on switch page event dropdown * Fix kanban getting into infinite loop * adds support of constants to current state of the ediotr (#7821) * removes loader added for testing (#7822) * [appdef] fixes - dnd container cloning edge cases (#7820) * fixes: copy/pasting components updating wrong display preferences * fixes: copy/pasting tabs and cloning components inside tabs * fixes: duplication of calendar component bug * if components in subcontainer(children) are selected via selecto along with its parent, children should not be going through duplication * if components in subcontainer(children) are selected via selecto along with its parent, children should not be going through duplication * fixes: Resolving App Version and Timestamp Update Challenges (#7863) * Fixes query confirmation issue on viewer (#7862) * [appdef ]fixes: components copied from template app to a new page or app do not render in canvas (#7867) * fixes: components copied from template app to a new page or app does not render in canvas * fixes: table crash on coping from other pages with columns * adds the column exists check * fixes: tables crash for imported apps with auto generated cols * appdefinition refactor/cleanup (#7872) * cleanup controllers and request calls from frontend * removing unwanted console logs and unused variables * revering v1 apis og * adding length validation for page dto * adding dtos for components * updated dtos for components and pages * added dto for event handlers * fixes event handler dto * fixes: page dto * adds/fixes event handlers creating dtp * fixes: event handler service and dtos * [appdef] fixes: Creating page not changing the slug (#7873) * fixes: Creating page not changing the slug * removes extra whitespace * [appdef] fixes: on importing a exported app child components are not present in the parent component (#7864) * fixes: on importing a exported app child components are not present in the parent component * handles parent component mapping for tabs and calendar component * handles parent component mapping for tabs and calendar component for new versions * [appdef] api endpoint fixes (#7888) * fixes: moved fetching app version to v2 api * fixes: app slug api * Fixes CurrentUser & Mode not present in globals in inspector (#7812) * Fix current user not being present in inspector * Add Mode in globas in inspector * Fix creating page not changing the slug. * Revert "Fix creating page not changing the slug." This reverts commit 0ff9c18ab8b622a0fa96f6d7b200898c19b060f4. * Fixes on adding query params in event handler, breaking the app (#7889) * Fix on version change if left sidebar is open canvas not scrolling right * Fix on adding query params in event handler, breaking the app * Fix * Fix on version change if left sidebar is open canvas not scrolling right (#7884) * fixes: fixes on on app load switch page action via run queires (#7858) * fixes: fixes on on app load switch page action via run queires * Fix * refactor * Fix on load event not appearing on viewer --------- Co-authored-by: Nakul Nagargade <nakul@tooljet.com> * [appdef] fixes: event actions mapping for import-export (#7895) * fixes: event actions mapping for import-export * fixes: updates organisation id * fixes: templates event mapping * do not app again for not normalized apps * [appdef]migrations fix (#7910) * fixes: page attributes * fixes: table action and column events for imported apps (prev) and app migrations * adds processDataInBatches * fixes: app data migrations * create a new queryBuilder instance for each batch to ensure that there's no interference between batches * fix: app migration * cleanup * cleanup * fixes: table column data not updated on boxes changes in container (#7919) * fixes: creating all pages from all versions (#7905) * Fix state not changing in chart (#7900) * Fix in chart, toggles are not working * Update Chart.jsx --------- Co-authored-by: Arpit <arpitnath42@gmail.com> * fix event param not updating (#7902) * [appdef] Pages attributes are missing on versioning or imported app (#7904) * fixes: on creating new version pages attributes are not copied * fixes: on importing apps with pages attributes are not copied * fixes: component double duplication issues * fixes: deleting children components via selecto (#7915) * fixes: component deletion fixes * fixes: cloning components to a new version should also create associated events * fixes: creating components on cloning with general styles or properties * fixes: creatinng general properties on version * fixes: imported app * fixes added to app migrations * fixes: mobile view * fixes: Created a new version with multiple pages from second page, the new version shows the homepage with second page URL * fixes: table crash due to columnDeletionHistory saved as an object instead of an array * fixes: on creating new version, data_queries should be created (#7975) * [appdef] fixes: migrations (#7951) * refactor migrations with batching * event actions: switch page should be mapped to correct new page id * fixes: importing json-schema app with multiple version: same components do not get render in the canvas * fixes: import/export of legecy apps * event actions mapping to correct page ids: migrations * fixes: migrations children not rendered in subcontainer components * adapts to main/viewer changes * fixes: viewer with #6698 * fixes: viewer route * fixes: page switch via validateRoutes * fixes: on delete version fetchApp fails * handle error on saving changes * skip name opts * typo fix * Instead of relying on the schema, we choose to use the Tooljet version as the determining factor for decoupling import flows * fixes: slug updates from global settings * fixes: slug app link (#8008) * fixes: on version changed the preview link should also update (#8009) * fixes: on cut and paste events should not cascade (#8010) * fixes: query options to new mapped ids * [appdef] fixes: cloning apps (#8012) * fixes: cloning apps * fixes: slug status from share modal * fixes: query confirmations list on viewer (#8017) * undo-fix * fixes: updates current state with page data on creating new page * Fix failing specs (#8031) * [appdef] fixes : ghost child components are being created on imported/cloned apps and while migrating (#8026) * fixes: ignore ghost components while importing * added the fix in migrations * fixes: adding other components * fixes: table column resizes * updates layout dto * update component dto * fixes: tabs children are not rendered as the are not in their repsective parent container (#8036) * moving editorFunc to Editor.jsx * cleanup * fixes: e2e test for clone * cleanup * fixes: toggle maintaince * bumping version * multi-edit: ymap-fix-1 * Revert "multi-edit: ymap-fix-1" This reverts commit 8b799c3c51bc45179d2ad4ef405d6a234083d475. * [appdef] fixes: viewer route: keeps on reloading for private apps (#8051) * fixes: viewer route: keeps on reloading for pribate apps * should return the response * test: ymap updates-1 * fixes: v1 apps with dq queries resuts in app crash * Updated import spec * Revert "Updated import spec" This reverts commit 802136cdc3f06ee6debe3612999593a872b65bb1. * Fixed failed platform test cases for app desinition re-design (#8053) * Fix failed platform test cases * Modify user permission test cases * fixes: trial-5: fixing vanishing of components * Revert "fixes: trial-5: fixing vanishing of components" This reverts commit a22aec12c789d5bd1c9c1e9cea7d9fb1eef87bfb. * fixes: trail-6: fix * fixes: trail-7: fix * Revert "fixes: trail-7: fix" This reverts commit 08f373c415b9f1599eff9e397f7c4ffbc3f364b8. * Revert "fixes: trail-6: fix" This reverts commit c4e19b5d05c94d8c1d5a6ad37263bcec7dcdccb1. * multi-edit: ymap-fix * Revert "multi-edit: ymap-fix" This reverts commit 92f49c0cde33818c9a85478f8dfc3b59a629c3d7. * fixes: multi-user updates: adding or removing * event handlers sycned for multi-user * should take slug instead of appid if slug is present * updating adding ymap logic * versioning with multi-user * fixes: saving issue * dont skip ymap * adds delay to ymap * ymap-update-order-fixed * ymap-update-order-fixed-1.1 * ymap-update-order-fixed-1.2 * test=fix * Updated import spec (#8061) * cleanup * lint fixed * fixes: cloning apps with tabs * veiwer on event should return * fixes: event should map with show/hide modal component id * Fix failing appbuilder specs (#8117) * cherrypicked ee/00195c064 * bumping version to v2.24.0 * fixed modal actionid typo * fixes: slugs issues for released an public apps (#8119) * Fix failed test cases (#8121) * reverting global slug input * fixes: versioning with cloned page and ghost components (#8122) --------- Co-authored-by: Nakul Nagargade <133095394+nakulnagargade@users.noreply.github.com> Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> Co-authored-by: Nakul Nagargade <nakul@tooljet.com> Co-authored-by: Midhun Kumar E <midhun752@gmail.com> Co-authored-by: nandinisaha13 <nandinisaha13@gmail.com> Co-authored-by: Mekhla Asopa <dadhichmekhla@gmail.com> Co-authored-by: Ajith KV <ajith.jaban@gmail.com> Co-authored-by: Mekhla Asopa <59684099+Mekhla-Asopa@users.noreply.github.com>
2023-11-08 05:39:47 +00:00
const backgroundFxQuery = appDefinition?.globalSettings?.backgroundFxQuery;
Improving user experience of left side drawer in app builder (#6659) * style: Store pinned state of left sidebar tabs in localstorgae to persist across refresh * style: Fixed popover width. Add scroll for canvas so for user view to remain same when popover is open * feat: added horizontal scrollbar for canvas when sidebar popup is open * feat: added logic to calculate canvas height on resize * feat: prevent flickering of popover when switching tabs * style: made modal width and position inside canvas relative to canvas container positon * fix: removed extra offset added to the dragged element placeholder. * fix: hide extra scroll bar added when dragging new component to canvas * fix: hide canvas scrollbar on dragging of new component * fix: removed extra margin to main container * fix: fixed canvas alignment when mobile screen is selected * fix: revert the debugger error notification badge behaviour * fix: fixed width issue for old apps * fix: fixed issue with width when user set max width in % * fix: resolved conflicts in style file * fix: fixed whitespace issue in large screen * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * refactor: removed unnecessory rerendering of Editor component * perf: unsubscribe to querypanelstore on unmount of editor component * perf: rerender editor only when query panel resizing over * refactor: removed unused logs * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * fix: added style to hide extrascrollbar in macbook screens when mouse connected --------- Co-authored-by: Johnson Cherian <johnsoncherian@Johnsons-MacBook-Pro.local> Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
2023-06-15 07:28:44 +00:00
[wip] appbuilder - performance (#9216) * performance -init * fixes: child components getting replaced * child components should be able to added to target containers * feat: reduce rerender of Dragcontainer (#9217) * fixes component crash for height incremental * clean up * clean up * clean up * removes debouncing of currentState updater * cleanup * controls update on components' referenced changed * fixes: widget crash if references are found * Reduced the load time by combining the appLoad queries loading state * Debounced initial currentState updates * reduce debounced time for updating current state * clean up * on events updation, referenced component via source id or csa would undergo a new re-render * Optimize tab navigation by asynchronously handling event, reducing UI blockage * off load updating app suggestions until UI renders * off load app load an page load event to low priority tasks list, resulting in faster app load * Added blocking updates to macrotask queue and changed Leftsidebar * Revert "Merge branch 'feat/grid-appbuilder-improvement' into core-performance/appbuilder" This reverts commit 2e8374ac31aad607fa891beee59e63f6a19d7fed, reversing changes made to 23a86bfe6e3df9d28ef406bedf2d03ece971afb8. * fixes: component -extra re-rendering issue on current state changes. * fixes: extra re-render for each compoennt dnd updates * reverting computeComponentState back to autoSave callaback * Fixed showing default children * Reverted commit 9b88e9f which causes infinite loop * Removed debuggerStore & unwanted props * Added profiler hoc * Implement batch processing and selective flushing for efficient state… (#9278) * Implement batch processing and selective flushing for efficient state updates in React components, optimizing performance for large-scale applications. * clean up * fix: fixed issues with delay of rerender (#9291) * fix: fixed issues with delay of rerender * fix: removed unused logs * fix: removed unused logs * fix: removed unused logs * clean up --------- Co-authored-by: arpitnath <arpitnath42@gmail.com> --------- Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com> * clean up * Fixed the crash on Form component * Optimize reference update tracking by sourcing from direct modifications rather than state diff comparisons. * clean up * fix: update appdefinition to editorstore in viewert (#9297) * removing current state deps from editor and processing re-renders. and use new resolver inside components (#9298) * removing current state deps from editor and processing re-renders. Also use new resolver inside components * perf: update position before state update on dnd (#9301) --------- Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com> --------- Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com> Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
2024-04-05 09:49:05 +00:00
const renderPopoverContent = () => {
if (selectedSidebarItem === null) return null;
switch (selectedSidebarItem) {
case 'page':
return (
<LeftSidebarPageSelector
darkMode={darkMode}
selectedSidebarItem={selectedSidebarItem}
appDefinition={appDefinition}
currentPageId={currentPageId}
addNewPage={addNewPage}
switchPage={switchPage}
deletePage={deletePage}
renamePage={renamePage}
hidePage={hidePage}
unHidePage={unHidePage}
disableEnablePage={disableEnablePage}
updateHomePage={updateHomePage}
updatePageHandle={updatePageHandle}
clonePage={clonePage}
pages={
Performance release 0.1 (#9922) * chore: moved fetching gds and lds from low priority calls * Refactor: Optimize state updates by removing component dependencies on current state to avoid trade-offs * clean up * run on page queries after on app load queries are done executing page load queries should be triggered even if the one or all the app load queries fails * performance improvements: - reduced calling resolver functions upto 50% times for components' rendering - moved to new resolver function for resolving component properties: which 100 times more efficient as utitlises hash table to resolve references and only uses recursive function for resolving JS code by inferring the query - reduced re-rendering of Box component upto 50-60% - app load time improved by 30% : as resolver function is more efficient and 50% reduction on rendering of Box.jsx * chore: removed currentState dependency from SubContainer and QueryManager * chore: removed useCurrentState from old kanban component * chore: filtered `false` from componentToRender array to avoid unwanted re-renders when there is an update in a component * fix: minor improvement on buildAppDef function * [performance] removes current state dependency from resolvers (#9934) * Removes current state from function calls of resolver functions * clean up * remoes lodash clone deep to more efficient clone deep or copying utitlity method * ts files to js * replaced setTimeout to debounce method of lodash for more efficient delayed invocation and yielding mechanism to reschedule large number of tasks * fixes file path for deepclone method * fixes import file path for utils helpers * fixes import file path for utils helpers * clean up * fixes: listView's custom resolvers are not getting updated * chore: moved lastUpdatedRef state from Editor to the subscription of relsoverStore * fixes: re-rendering of box component for trigger back resolvers * fix: removing the delay as the runJS updates are not reaching to the components. While start running the query we are updated the componentIds that needs to be rendered. After running the query the same IDs are updated and this is stopping the re-render of the component * Reverting commit 583460c * fix: Table search event was not firing while clearing the search input * fixes: mapping entites on clone page * commit: Fixed issue on running query on app load with confirmation * fix: we're mutating the data and which avoids the re-render to update the canvas bg colour. Added a deepClone to avoid it * Bugfix - perf mapping (#10101) * fixes: entity for compnent or query duplications with events * maxDisplayLength for hinter's preview * clean up * fix: when multiple components are deleted, the codehinter has the deleted component as suggestion * fixes: on typing fast the cursor postion changes its postion to first char of the line in multiline JS * trial * fix: moved currentValue state of codemirror to ref * fix: the passed value to the codehinter was not updated properly --------- Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com> * fixes: evaluatin js code in codehinters with reserveed keyword * fixes: reserved keywords string should be resolved and updated in the compnent * re-rendering of componenrs in viewer * fixes: resolving of refs * added a timeout for filepicker * removes 100s * filepicker crashes (component) crash on page deleting * fixes: app crash on adding file events * fixes: hinter suggestions selection by keyboard * [chore]: Show proper error message instead of app could not save (#10126) * chore: show error message from BE instead of app could not save * Added a fallback value --------- Co-authored-by: arpitnath <arpitnath42@gmail.com>
2024-06-19 09:06:09 +00:00
Object.entries(deepClone(appDefinition).pages)
[wip] appbuilder - performance (#9216) * performance -init * fixes: child components getting replaced * child components should be able to added to target containers * feat: reduce rerender of Dragcontainer (#9217) * fixes component crash for height incremental * clean up * clean up * clean up * removes debouncing of currentState updater * cleanup * controls update on components' referenced changed * fixes: widget crash if references are found * Reduced the load time by combining the appLoad queries loading state * Debounced initial currentState updates * reduce debounced time for updating current state * clean up * on events updation, referenced component via source id or csa would undergo a new re-render * Optimize tab navigation by asynchronously handling event, reducing UI blockage * off load updating app suggestions until UI renders * off load app load an page load event to low priority tasks list, resulting in faster app load * Added blocking updates to macrotask queue and changed Leftsidebar * Revert "Merge branch 'feat/grid-appbuilder-improvement' into core-performance/appbuilder" This reverts commit 2e8374ac31aad607fa891beee59e63f6a19d7fed, reversing changes made to 23a86bfe6e3df9d28ef406bedf2d03ece971afb8. * fixes: component -extra re-rendering issue on current state changes. * fixes: extra re-render for each compoennt dnd updates * reverting computeComponentState back to autoSave callaback * Fixed showing default children * Reverted commit 9b88e9f which causes infinite loop * Removed debuggerStore & unwanted props * Added profiler hoc * Implement batch processing and selective flushing for efficient state… (#9278) * Implement batch processing and selective flushing for efficient state updates in React components, optimizing performance for large-scale applications. * clean up * fix: fixed issues with delay of rerender (#9291) * fix: fixed issues with delay of rerender * fix: removed unused logs * fix: removed unused logs * fix: removed unused logs * clean up --------- Co-authored-by: arpitnath <arpitnath42@gmail.com> --------- Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com> * clean up * Fixed the crash on Form component * Optimize reference update tracking by sourcing from direct modifications rather than state diff comparisons. * clean up * fix: update appdefinition to editorstore in viewert (#9297) * removing current state deps from editor and processing re-renders. and use new resolver inside components (#9298) * removing current state deps from editor and processing re-renders. Also use new resolver inside components * perf: update position before state update on dnd (#9301) --------- Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com> --------- Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com> Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
2024-04-05 09:49:05 +00:00
.map(([id, page]) => ({ id, ...page }))
.sort((a, b) => a.index - b.index) || []
}
homePageId={appDefinition.homePageId}
showHideViewerNavigationControls={showHideViewerNavigationControls}
updateOnSortingPages={updateOnSortingPages}
apps={apps}
setPinned={handlePin}
pinned={pinned}
/>
);
case 'inspect':
return (
<LeftSidebarInspector
darkMode={darkMode}
selectedSidebarItem={selectedSidebarItem}
appDefinition={appDefinition}
setSelectedComponent={setSelectedComponent}
removeComponent={removeComponent}
runQuery={runQuery}
popoverContentHeight={popoverContentHeight}
setPinned={handlePin}
pinned={pinned}
/>
);
case 'datasource':
return (
<LeftSidebarDataSources
darkMode={darkMode}
appId={appId}
dataSourcesChanged={dataSourcesChanged}
globalDataSourcesChanged={globalDataSourcesChanged}
dataQueriesChanged={dataQueriesChanged}
toggleDataSourceManagerModal={toggleDataSourceManagerModal}
showDataSourceManagerModal={showDataSourceManagerModal}
onDeleteofAllDataSources={() => {
handleSelectedSidebarItem(null);
handlePin(false);
delete sideBarBtnRefs.current['datasource'];
}}
setPinned={handlePin}
pinned={pinned}
/>
);
case 'debugger':
return (
<LeftSidebarDebugger
darkMode={darkMode}
errors={errorLogs}
clearErrorLogs={clearErrorLogs}
setPinned={handlePin}
pinned={pinned}
allLog={allLog}
/>
);
case 'settings':
return (
<GlobalSettings
globalSettingsChanged={globalSettingsChanged}
globalSettings={appDefinition.globalSettings}
darkMode={darkMode}
toggleAppMaintenance={toggleAppMaintenance}
isMaintenanceOn={isMaintenanceOn}
app={app}
backgroundFxQuery={backgroundFxQuery}
/>
);
}
Improving user experience of left side drawer in app builder (#6659) * style: Store pinned state of left sidebar tabs in localstorgae to persist across refresh * style: Fixed popover width. Add scroll for canvas so for user view to remain same when popover is open * feat: added horizontal scrollbar for canvas when sidebar popup is open * feat: added logic to calculate canvas height on resize * feat: prevent flickering of popover when switching tabs * style: made modal width and position inside canvas relative to canvas container positon * fix: removed extra offset added to the dragged element placeholder. * fix: hide extra scroll bar added when dragging new component to canvas * fix: hide canvas scrollbar on dragging of new component * fix: removed extra margin to main container * fix: fixed canvas alignment when mobile screen is selected * fix: revert the debugger error notification badge behaviour * fix: fixed width issue for old apps * fix: fixed issue with width when user set max width in % * fix: resolved conflicts in style file * fix: fixed whitespace issue in large screen * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * refactor: removed unnecessory rerendering of Editor component * perf: unsubscribe to querypanelstore on unmount of editor component * perf: rerender editor only when query panel resizing over * refactor: removed unused logs * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * fix: added style to hide extrascrollbar in macbook screens when mouse connected --------- Co-authored-by: Johnson Cherian <johnsoncherian@Johnsons-MacBook-Pro.local> Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
2023-06-15 07:28:44 +00:00
};
return (
<div className={cx('left-sidebar', { 'dark-theme theme-dark': darkMode })} data-cy="left-sidebar-inspector">
Improving user experience of left side drawer in app builder (#6659) * style: Store pinned state of left sidebar tabs in localstorgae to persist across refresh * style: Fixed popover width. Add scroll for canvas so for user view to remain same when popover is open * feat: added horizontal scrollbar for canvas when sidebar popup is open * feat: added logic to calculate canvas height on resize * feat: prevent flickering of popover when switching tabs * style: made modal width and position inside canvas relative to canvas container positon * fix: removed extra offset added to the dragged element placeholder. * fix: hide extra scroll bar added when dragging new component to canvas * fix: hide canvas scrollbar on dragging of new component * fix: removed extra margin to main container * fix: fixed canvas alignment when mobile screen is selected * fix: revert the debugger error notification badge behaviour * fix: fixed width issue for old apps * fix: fixed issue with width when user set max width in % * fix: resolved conflicts in style file * fix: fixed whitespace issue in large screen * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * refactor: removed unnecessory rerendering of Editor component * perf: unsubscribe to querypanelstore on unmount of editor component * perf: rerender editor only when query panel resizing over * refactor: removed unused logs * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * fix: added style to hide extrascrollbar in macbook screens when mouse connected --------- Co-authored-by: Johnson Cherian <johnsoncherian@Johnsons-MacBook-Pro.local> Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
2023-06-15 07:28:44 +00:00
<LeftSidebarItem
selectedSidebarItem={selectedSidebarItem}
onClick={() => handleSelectedSidebarItem('page')}
icon="page"
className={`left-sidebar-item left-sidebar-layout left-sidebar-page-selector`}
tip="Pages"
ref={setSideBarBtnRefs('page')}
/>
<LeftSidebarItem
selectedSidebarItem={selectedSidebarItem}
onClick={() => handleSelectedSidebarItem('inspect')}
icon="inspect"
className={`left-sidebar-item left-sidebar-layout left-sidebar-inspector`}
tip="Inspector"
ref={setSideBarBtnRefs('inspect')}
/>
Feat :: Editor UI revamp (#7275) * temp commit :: editor redesign * fix :: components panel ui * style updates * fix :: arrangement widget list * fix :: light mode widget list * style fixes query manager * updates * updates heaer styles * global settings fix * left sidebar states and icon change * cleanup * minor fixes :: review * fix opacity mode toggle * detailing in hover states , bugfixes * fix :: coloring whole app , debugger ui * cleanup * fix :: revert some changes , fix statistics widget * feat :: navbar with new layout * fix :: lint warnings * cleanup * cleanup * minor fixes * fix :: reusing serchbox * removed unwanted prop * Revert "cleanup" This reverts commit b18abe19fbd82246611153634c79934ad9012101. * fix :: icons sidebar * fix :: padding searchbar * style fix * radix :: dark theme for portals * fix :: icon styles * fix :: all codehinter styles * update :: base bg color app * fix :: viewer color * minor fixes :: icon left sidebar * typo * fix :: styling save message header * icon :: fix for layout and inspector queries * fix :: canvas and editor bg * fix :: release btn style * fix :: navbar border * undo redo tooltip * fix :: page input * remove released btn icon * fix :: for icon not loading proper in inspector * fix :: dark mode toggle icon size * fix :: share app ui * fix :: style fixes , inspector runpy icon * fix :: ui runpy codehinter * fix :: inputs in gds connection * cleanup * fix :: copilot codehinter ui * fix :: share modal button * fix :: canvas bg text * style fix debugger * fix :: whole dahsboard layout and border for all codehinters * fix :: icon fills * fix :: icon fill color sidebar * darkmode fill color * minor style fix * Widget inspector redesign (#7355) * Setup Storybook * Update storybook config * Add tab and toggle group component * Created list component * Properties tab * update codehinter dropdown components * Refactor styling * Inspector header changes * Fix es lint issue * Fix * feat :: styling color picker styles panel * Fix color picker alignment * feat :: remove alpha * Fix UI bugs * fix :: color picker * Ui fix * Backward compatible pagination changes * fix * Feedback changes * UI feedback * Check fix * Fix * fix :: canvas bg popover * Styles fix * Fix conflct issues * minor style fix style tab * Fix * review comments fix :: hovering in color picker * Code review and design feedback * UI feedback * Fix UI styles * Fix pagination issue * fix :: dark mode issues in select , number input * fix :: remove extra boreder * fix :: table column popover ui and component popover inspector * fix :: datepickre input table column * fix :: colopicker in table column inspector * fix :: link column type ui in table * fix :: column delete ui and delete not triggering * Fix list item not dragging * fix :: closing of popover on link column select * style fix table popover * Pass dark mode to Event manager button * fix :: ux event manager * cleanup * cleanup * fix :: delete page modal ui --------- Co-authored-by: stepinfwd <stepinfwd@gmail.com> * style fixes --------- Co-authored-by: Nakul Nagargade <133095394+nakulnagargade@users.noreply.github.com>
2023-09-04 08:00:39 +00:00
<LeftSidebarItem
icon="debugger"
selectedSidebarItem={selectedSidebarItem}
// eslint-disable-next-line no-unused-vars
onClick={(e) => handleSelectedSidebarItem('debugger')}
className={`left-sidebar-item left-sidebar-layout`}
badge={true}
count={unReadErrorCount.unread}
tip="Debugger"
ref={setSideBarBtnRefs('debugger')}
/>
Feat :: Editor UI revamp (#7275) * temp commit :: editor redesign * fix :: components panel ui * style updates * fix :: arrangement widget list * fix :: light mode widget list * style fixes query manager * updates * updates heaer styles * global settings fix * left sidebar states and icon change * cleanup * minor fixes :: review * fix opacity mode toggle * detailing in hover states , bugfixes * fix :: coloring whole app , debugger ui * cleanup * fix :: revert some changes , fix statistics widget * feat :: navbar with new layout * fix :: lint warnings * cleanup * cleanup * minor fixes * fix :: reusing serchbox * removed unwanted prop * Revert "cleanup" This reverts commit b18abe19fbd82246611153634c79934ad9012101. * fix :: icons sidebar * fix :: padding searchbar * style fix * radix :: dark theme for portals * fix :: icon styles * fix :: all codehinter styles * update :: base bg color app * fix :: viewer color * minor fixes :: icon left sidebar * typo * fix :: styling save message header * icon :: fix for layout and inspector queries * fix :: canvas and editor bg * fix :: release btn style * fix :: navbar border * undo redo tooltip * fix :: page input * remove released btn icon * fix :: for icon not loading proper in inspector * fix :: dark mode toggle icon size * fix :: share app ui * fix :: style fixes , inspector runpy icon * fix :: ui runpy codehinter * fix :: inputs in gds connection * cleanup * fix :: copilot codehinter ui * fix :: share modal button * fix :: canvas bg text * style fix debugger * fix :: whole dahsboard layout and border for all codehinters * fix :: icon fills * fix :: icon fill color sidebar * darkmode fill color * minor style fix * Widget inspector redesign (#7355) * Setup Storybook * Update storybook config * Add tab and toggle group component * Created list component * Properties tab * update codehinter dropdown components * Refactor styling * Inspector header changes * Fix es lint issue * Fix * feat :: styling color picker styles panel * Fix color picker alignment * feat :: remove alpha * Fix UI bugs * fix :: color picker * Ui fix * Backward compatible pagination changes * fix * Feedback changes * UI feedback * Check fix * Fix * fix :: canvas bg popover * Styles fix * Fix conflct issues * minor style fix style tab * Fix * review comments fix :: hovering in color picker * Code review and design feedback * UI feedback * Fix UI styles * Fix pagination issue * fix :: dark mode issues in select , number input * fix :: remove extra boreder * fix :: table column popover ui and component popover inspector * fix :: datepickre input table column * fix :: colopicker in table column inspector * fix :: link column type ui in table * fix :: column delete ui and delete not triggering * Fix list item not dragging * fix :: closing of popover on link column select * style fix table popover * Pass dark mode to Event manager button * fix :: ux event manager * cleanup * cleanup * fix :: delete page modal ui --------- Co-authored-by: stepinfwd <stepinfwd@gmail.com> * style fixes --------- Co-authored-by: Nakul Nagargade <133095394+nakulnagargade@users.noreply.github.com>
2023-09-04 08:00:39 +00:00
<LeftSidebarItem
icon="settings"
selectedSidebarItem={selectedSidebarItem}
// eslint-disable-next-line no-unused-vars
onClick={(e) => handleSelectedSidebarItem('settings')}
className={`left-sidebar-item left-sidebar-layout`}
badge={true}
tip="Settings"
ref={setSideBarBtnRefs('settings')}
/>
{dataSources?.length > 0 && (
<LeftSidebarItem
selectedSidebarItem={selectedSidebarItem}
Feat :: Editor UI revamp (#7275) * temp commit :: editor redesign * fix :: components panel ui * style updates * fix :: arrangement widget list * fix :: light mode widget list * style fixes query manager * updates * updates heaer styles * global settings fix * left sidebar states and icon change * cleanup * minor fixes :: review * fix opacity mode toggle * detailing in hover states , bugfixes * fix :: coloring whole app , debugger ui * cleanup * fix :: revert some changes , fix statistics widget * feat :: navbar with new layout * fix :: lint warnings * cleanup * cleanup * minor fixes * fix :: reusing serchbox * removed unwanted prop * Revert "cleanup" This reverts commit b18abe19fbd82246611153634c79934ad9012101. * fix :: icons sidebar * fix :: padding searchbar * style fix * radix :: dark theme for portals * fix :: icon styles * fix :: all codehinter styles * update :: base bg color app * fix :: viewer color * minor fixes :: icon left sidebar * typo * fix :: styling save message header * icon :: fix for layout and inspector queries * fix :: canvas and editor bg * fix :: release btn style * fix :: navbar border * undo redo tooltip * fix :: page input * remove released btn icon * fix :: for icon not loading proper in inspector * fix :: dark mode toggle icon size * fix :: share app ui * fix :: style fixes , inspector runpy icon * fix :: ui runpy codehinter * fix :: inputs in gds connection * cleanup * fix :: copilot codehinter ui * fix :: share modal button * fix :: canvas bg text * style fix debugger * fix :: whole dahsboard layout and border for all codehinters * fix :: icon fills * fix :: icon fill color sidebar * darkmode fill color * minor style fix * Widget inspector redesign (#7355) * Setup Storybook * Update storybook config * Add tab and toggle group component * Created list component * Properties tab * update codehinter dropdown components * Refactor styling * Inspector header changes * Fix es lint issue * Fix * feat :: styling color picker styles panel * Fix color picker alignment * feat :: remove alpha * Fix UI bugs * fix :: color picker * Ui fix * Backward compatible pagination changes * fix * Feedback changes * UI feedback * Check fix * Fix * fix :: canvas bg popover * Styles fix * Fix conflct issues * minor style fix style tab * Fix * review comments fix :: hovering in color picker * Code review and design feedback * UI feedback * Fix UI styles * Fix pagination issue * fix :: dark mode issues in select , number input * fix :: remove extra boreder * fix :: table column popover ui and component popover inspector * fix :: datepickre input table column * fix :: colopicker in table column inspector * fix :: link column type ui in table * fix :: column delete ui and delete not triggering * Fix list item not dragging * fix :: closing of popover on link column select * style fix table popover * Pass dark mode to Event manager button * fix :: ux event manager * cleanup * cleanup * fix :: delete page modal ui --------- Co-authored-by: stepinfwd <stepinfwd@gmail.com> * style fixes --------- Co-authored-by: Nakul Nagargade <133095394+nakulnagargade@users.noreply.github.com>
2023-09-04 08:00:39 +00:00
onClick={() => handleSelectedSidebarItem('datasource')}
icon="datasource"
className={`left-sidebar-item left-sidebar-layout sidebar-datasources`}
tip="Sources"
Feat :: Editor UI revamp (#7275) * temp commit :: editor redesign * fix :: components panel ui * style updates * fix :: arrangement widget list * fix :: light mode widget list * style fixes query manager * updates * updates heaer styles * global settings fix * left sidebar states and icon change * cleanup * minor fixes :: review * fix opacity mode toggle * detailing in hover states , bugfixes * fix :: coloring whole app , debugger ui * cleanup * fix :: revert some changes , fix statistics widget * feat :: navbar with new layout * fix :: lint warnings * cleanup * cleanup * minor fixes * fix :: reusing serchbox * removed unwanted prop * Revert "cleanup" This reverts commit b18abe19fbd82246611153634c79934ad9012101. * fix :: icons sidebar * fix :: padding searchbar * style fix * radix :: dark theme for portals * fix :: icon styles * fix :: all codehinter styles * update :: base bg color app * fix :: viewer color * minor fixes :: icon left sidebar * typo * fix :: styling save message header * icon :: fix for layout and inspector queries * fix :: canvas and editor bg * fix :: release btn style * fix :: navbar border * undo redo tooltip * fix :: page input * remove released btn icon * fix :: for icon not loading proper in inspector * fix :: dark mode toggle icon size * fix :: share app ui * fix :: style fixes , inspector runpy icon * fix :: ui runpy codehinter * fix :: inputs in gds connection * cleanup * fix :: copilot codehinter ui * fix :: share modal button * fix :: canvas bg text * style fix debugger * fix :: whole dahsboard layout and border for all codehinters * fix :: icon fills * fix :: icon fill color sidebar * darkmode fill color * minor style fix * Widget inspector redesign (#7355) * Setup Storybook * Update storybook config * Add tab and toggle group component * Created list component * Properties tab * update codehinter dropdown components * Refactor styling * Inspector header changes * Fix es lint issue * Fix * feat :: styling color picker styles panel * Fix color picker alignment * feat :: remove alpha * Fix UI bugs * fix :: color picker * Ui fix * Backward compatible pagination changes * fix * Feedback changes * UI feedback * Check fix * Fix * fix :: canvas bg popover * Styles fix * Fix conflct issues * minor style fix style tab * Fix * review comments fix :: hovering in color picker * Code review and design feedback * UI feedback * Fix UI styles * Fix pagination issue * fix :: dark mode issues in select , number input * fix :: remove extra boreder * fix :: table column popover ui and component popover inspector * fix :: datepickre input table column * fix :: colopicker in table column inspector * fix :: link column type ui in table * fix :: column delete ui and delete not triggering * Fix list item not dragging * fix :: closing of popover on link column select * style fix table popover * Pass dark mode to Event manager button * fix :: ux event manager * cleanup * cleanup * fix :: delete page modal ui --------- Co-authored-by: stepinfwd <stepinfwd@gmail.com> * style fixes --------- Co-authored-by: Nakul Nagargade <133095394+nakulnagargade@users.noreply.github.com>
2023-09-04 08:00:39 +00:00
ref={setSideBarBtnRefs('datasource')}
/>
)}
Feat :: Editor UI revamp (#7275) * temp commit :: editor redesign * fix :: components panel ui * style updates * fix :: arrangement widget list * fix :: light mode widget list * style fixes query manager * updates * updates heaer styles * global settings fix * left sidebar states and icon change * cleanup * minor fixes :: review * fix opacity mode toggle * detailing in hover states , bugfixes * fix :: coloring whole app , debugger ui * cleanup * fix :: revert some changes , fix statistics widget * feat :: navbar with new layout * fix :: lint warnings * cleanup * cleanup * minor fixes * fix :: reusing serchbox * removed unwanted prop * Revert "cleanup" This reverts commit b18abe19fbd82246611153634c79934ad9012101. * fix :: icons sidebar * fix :: padding searchbar * style fix * radix :: dark theme for portals * fix :: icon styles * fix :: all codehinter styles * update :: base bg color app * fix :: viewer color * minor fixes :: icon left sidebar * typo * fix :: styling save message header * icon :: fix for layout and inspector queries * fix :: canvas and editor bg * fix :: release btn style * fix :: navbar border * undo redo tooltip * fix :: page input * remove released btn icon * fix :: for icon not loading proper in inspector * fix :: dark mode toggle icon size * fix :: share app ui * fix :: style fixes , inspector runpy icon * fix :: ui runpy codehinter * fix :: inputs in gds connection * cleanup * fix :: copilot codehinter ui * fix :: share modal button * fix :: canvas bg text * style fix debugger * fix :: whole dahsboard layout and border for all codehinters * fix :: icon fills * fix :: icon fill color sidebar * darkmode fill color * minor style fix * Widget inspector redesign (#7355) * Setup Storybook * Update storybook config * Add tab and toggle group component * Created list component * Properties tab * update codehinter dropdown components * Refactor styling * Inspector header changes * Fix es lint issue * Fix * feat :: styling color picker styles panel * Fix color picker alignment * feat :: remove alpha * Fix UI bugs * fix :: color picker * Ui fix * Backward compatible pagination changes * fix * Feedback changes * UI feedback * Check fix * Fix * fix :: canvas bg popover * Styles fix * Fix conflct issues * minor style fix style tab * Fix * review comments fix :: hovering in color picker * Code review and design feedback * UI feedback * Fix UI styles * Fix pagination issue * fix :: dark mode issues in select , number input * fix :: remove extra boreder * fix :: table column popover ui and component popover inspector * fix :: datepickre input table column * fix :: colopicker in table column inspector * fix :: link column type ui in table * fix :: column delete ui and delete not triggering * Fix list item not dragging * fix :: closing of popover on link column select * style fix table popover * Pass dark mode to Event manager button * fix :: ux event manager * cleanup * cleanup * fix :: delete page modal ui --------- Co-authored-by: stepinfwd <stepinfwd@gmail.com> * style fixes --------- Co-authored-by: Nakul Nagargade <133095394+nakulnagargade@users.noreply.github.com>
2023-09-04 08:00:39 +00:00
Improving user experience of left side drawer in app builder (#6659) * style: Store pinned state of left sidebar tabs in localstorgae to persist across refresh * style: Fixed popover width. Add scroll for canvas so for user view to remain same when popover is open * feat: added horizontal scrollbar for canvas when sidebar popup is open * feat: added logic to calculate canvas height on resize * feat: prevent flickering of popover when switching tabs * style: made modal width and position inside canvas relative to canvas container positon * fix: removed extra offset added to the dragged element placeholder. * fix: hide extra scroll bar added when dragging new component to canvas * fix: hide canvas scrollbar on dragging of new component * fix: removed extra margin to main container * fix: fixed canvas alignment when mobile screen is selected * fix: revert the debugger error notification badge behaviour * fix: fixed width issue for old apps * fix: fixed issue with width when user set max width in % * fix: resolved conflicts in style file * fix: fixed whitespace issue in large screen * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * refactor: removed unnecessory rerendering of Editor component * perf: unsubscribe to querypanelstore on unmount of editor component * perf: rerender editor only when query panel resizing over * refactor: removed unused logs * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * fix: added style to hide extrascrollbar in macbook screens when mouse connected --------- Co-authored-by: Johnson Cherian <johnsoncherian@Johnsons-MacBook-Pro.local> Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
2023-06-15 07:28:44 +00:00
<Popover
onInteractOutside={handleInteractOutside}
open={pinned || !!selectedSidebarItem}
popoverContentClassName={`p-0 sidebar-h-100-popover ${selectedSidebarItem}`}
Improving user experience of left side drawer in app builder (#6659) * style: Store pinned state of left sidebar tabs in localstorgae to persist across refresh * style: Fixed popover width. Add scroll for canvas so for user view to remain same when popover is open * feat: added horizontal scrollbar for canvas when sidebar popup is open * feat: added logic to calculate canvas height on resize * feat: prevent flickering of popover when switching tabs * style: made modal width and position inside canvas relative to canvas container positon * fix: removed extra offset added to the dragged element placeholder. * fix: hide extra scroll bar added when dragging new component to canvas * fix: hide canvas scrollbar on dragging of new component * fix: removed extra margin to main container * fix: fixed canvas alignment when mobile screen is selected * fix: revert the debugger error notification badge behaviour * fix: fixed width issue for old apps * fix: fixed issue with width when user set max width in % * fix: resolved conflicts in style file * fix: fixed whitespace issue in large screen * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * refactor: removed unnecessory rerendering of Editor component * perf: unsubscribe to querypanelstore on unmount of editor component * perf: rerender editor only when query panel resizing over * refactor: removed unused logs * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * fix: added style to hide extrascrollbar in macbook screens when mouse connected --------- Co-authored-by: Johnson Cherian <johnsoncherian@Johnsons-MacBook-Pro.local> Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
2023-06-15 07:28:44 +00:00
side="right"
[wip] appbuilder - performance (#9216) * performance -init * fixes: child components getting replaced * child components should be able to added to target containers * feat: reduce rerender of Dragcontainer (#9217) * fixes component crash for height incremental * clean up * clean up * clean up * removes debouncing of currentState updater * cleanup * controls update on components' referenced changed * fixes: widget crash if references are found * Reduced the load time by combining the appLoad queries loading state * Debounced initial currentState updates * reduce debounced time for updating current state * clean up * on events updation, referenced component via source id or csa would undergo a new re-render * Optimize tab navigation by asynchronously handling event, reducing UI blockage * off load updating app suggestions until UI renders * off load app load an page load event to low priority tasks list, resulting in faster app load * Added blocking updates to macrotask queue and changed Leftsidebar * Revert "Merge branch 'feat/grid-appbuilder-improvement' into core-performance/appbuilder" This reverts commit 2e8374ac31aad607fa891beee59e63f6a19d7fed, reversing changes made to 23a86bfe6e3df9d28ef406bedf2d03ece971afb8. * fixes: component -extra re-rendering issue on current state changes. * fixes: extra re-render for each compoennt dnd updates * reverting computeComponentState back to autoSave callaback * Fixed showing default children * Reverted commit 9b88e9f which causes infinite loop * Removed debuggerStore & unwanted props * Added profiler hoc * Implement batch processing and selective flushing for efficient state… (#9278) * Implement batch processing and selective flushing for efficient state updates in React components, optimizing performance for large-scale applications. * clean up * fix: fixed issues with delay of rerender (#9291) * fix: fixed issues with delay of rerender * fix: removed unused logs * fix: removed unused logs * fix: removed unused logs * clean up --------- Co-authored-by: arpitnath <arpitnath42@gmail.com> --------- Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com> * clean up * Fixed the crash on Form component * Optimize reference update tracking by sourcing from direct modifications rather than state diff comparisons. * clean up * fix: update appdefinition to editorstore in viewert (#9297) * removing current state deps from editor and processing re-renders. and use new resolver inside components (#9298) * removing current state deps from editor and processing re-renders. Also use new resolver inside components * perf: update position before state update on dnd (#9301) --------- Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com> --------- Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com> Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
2024-04-05 09:49:05 +00:00
popoverContent={renderPopoverContent()}
Improving user experience of left side drawer in app builder (#6659) * style: Store pinned state of left sidebar tabs in localstorgae to persist across refresh * style: Fixed popover width. Add scroll for canvas so for user view to remain same when popover is open * feat: added horizontal scrollbar for canvas when sidebar popup is open * feat: added logic to calculate canvas height on resize * feat: prevent flickering of popover when switching tabs * style: made modal width and position inside canvas relative to canvas container positon * fix: removed extra offset added to the dragged element placeholder. * fix: hide extra scroll bar added when dragging new component to canvas * fix: hide canvas scrollbar on dragging of new component * fix: removed extra margin to main container * fix: fixed canvas alignment when mobile screen is selected * fix: revert the debugger error notification badge behaviour * fix: fixed width issue for old apps * fix: fixed issue with width when user set max width in % * fix: resolved conflicts in style file * fix: fixed whitespace issue in large screen * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/LeftSidebar/index.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * refactor: removed unnecessory rerendering of Editor component * perf: unsubscribe to querypanelstore on unmount of editor component * perf: rerender editor only when query panel resizing over * refactor: removed unused logs * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * Update frontend/src/Editor/Editor.jsx Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com> * fix: added style to hide extrascrollbar in macbook screens when mouse connected --------- Co-authored-by: Johnson Cherian <johnsoncherian@Johnsons-MacBook-Pro.local> Co-authored-by: Kavin Venkatachalam <50441969+kavinvenkatachalam@users.noreply.github.com>
2023-06-15 07:28:44 +00:00
popoverContentHeight={popoverContentHeight}
/>
<ConfirmDialog
show={showLeaveDialog}
Release: Appbuilder S1 (#10081) * fix : color for all new columns * revert * Fix: selection of copy of selected component for ease (#9818) * fix: selection of copy of selected component for ease * add pre selection for clonig as well * add clone check * fixes selection of components on empty canvas * Fix: sizing issues in horizontal divider (#9942) * fix horizontal divider sizing issues * fix dark mode color in horizontal divider and remove unused class * add custom fallback for images when not found (#9943) * cherry pick error message log changes and fix tjdb error logs in debugger (#9951) * Fix: mouse release on canvas when properties/styles values selected (#9732) * fix: mouse release on canvas when properties/styles values selected * fix: event name * fix: rest api headers empty state while creating new query (#9729) * fix: selection issue in table row while editing (#9944) * allow selection in table cell * update classname for selection * display date picker date as text instead of input in read only mode * Add new revamped multiselect widget (#9837) * init textinput revamp * updated styles panel * bugfix * updates * fix :: accordion * fix :: styling * add box shadow , additional property,tooltip * fix conditional render for styles * feat :: fixed order of each property and styles * feat :: styling input * bugfix * feat :: add option to add icon * add option to add icon * adding option to toggle visibility * updated password input with new design * chnaging component location * bugfix * style fixes * fix :: added loader * updated :: few detailing * few bugfixes * fix :: for form widget label * fixes * added option to add icon color * including label field for password input * fix for label * fix * test fix backward compatibility for height * updates * revert * adding key for distinguishing older and newer widgets * testing * test * test * update * update * migration testing * limit vertical resizing in textinput * testing * throw test * test * adding check for label length * fixing edge cases * removing resize * backward compatibility height * backward compatibility * number input review fixes * added exposed items * fixing csa * ui fixes * fix height compatibility * feat :: csa for all inputs and exposed variables * backward compatibility fixes and validation fixes * fixes :: textinput positioning of loader and icon * fix :: password input * cleanup and fixes * fixes * cleanup * fixes * review fixes * review fixes * typo fix * fix padding * review fixes styles component panel * fix naming * fix padding * feat :: toggle switch revamp * init checkbox * fixes * fixes * switch fixes * validation fix * fixes * cleanup * height fix * fix height toggle * updates * fix :: icons position * updates * cleanup * updates events , csa * cleanup * backward compatibility * clean * backward compatibility fix * label fixed to one line * feat :: change validation from properties * ui fixes * icon name * removed 'px' text from tooltip * added onchange event for checkbox * fixes placeholder * few updates :: removing label in form * ui in form * fire onchange * update :: number input validation behaviour * testing fixes * added side handlers * removing unwanted fx * disabling fx for padding field * ordering change * fix * label issue + restricted side handler * fix :: box shadow bug * fix * on change event doesnt propagate exposed vars correctly * adding debounce for slider value change * fix :: for modal ooen bug during onfocus event * test slider * fix :: bugs regarding state update in checbox , slider , slider bug * update slider with radix slider * bugfix * update tooltip * fix toggle switch * fixes : inspector * fix : checkbox label * Remove date-fns depedency from table datepicker * Revert Remove date-fns depedency from table datepicker * feat : checkbox completed * update checkbox review changes * feat : toggle component * feat : added new toggle component * fix : colors * updated review changes * update name for old and new version * update * case change * update * update icon * removed padding from checkbox and toggle * fix naming * product review and bugfixes : changes * fix : checkbox setvalue action * Update setvalue action in toggle * fixed: section for legacy and new components * add new version of dropdown * Add same styles as other input components * fix height issues * Add new revamped multiselect widget * Fix design review * fix design issues * Fix * Fix merge issues * Add menu portal target * resolve code comments * widget config changes * add hover for clear icon * fix * Fix review comments * Multiselect changes after dropdown merge * exposed variables * Delete unused components * Multiselect fixes * Dropdown CSS fixes and multiselect fixes * Fix merge issues * fix * Add highlight text * Change multiselect UI * fix error message * fix multiselect opening closing * placeholder fix * fix highlighting in multiselect * fix : testing bugs * fix : default value * Fix merge issues * Fix Qa bugs * Fix QA bugs * Fix codehinter default values * fix fireEvent on focus * Fixes * Provide minwidth to dropdown and multiselect * Fix search input value not getting updated --------- Co-authored-by: stepinfwd <stepinfwd@gmail.com> Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com> * Fix: remove mandatory key from password input (#9786) * Remove date-fns depedency from table datepicker * Revert Remove date-fns depedency from table datepicker * remove mandatory key from password input --------- Co-authored-by: Nakul Nagargade <nakul@tooljet.com> Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com> * feat : Query manager separated to different tabs (#9823) * change toggle for query manager and revamp preview * feat : query manger body revamp * updates * fix : tranformation switch * preview integration * loader safari changes and overflow fix * fix * fix : settings tab QM * revert few changes to fix datasources page * revert header options change * zindex fix for query-pane * fix : events ui * fix :events widget manager * code optimised for this file * QM header fixes * dark mode changes * fix : info icon * open preview drawer on run query * fix : query manager query section icons update * update color * design feedbacks and make preview panel resizable * update toggle for preview result & increate draggable area * fix :review changes * merge fixes * Merge branch 'appbuilder-1.8' into feature/query-manager-body * fix : codehinter in disabled state * ui fix * code refactor * cleanup * fix fontsize in datasource selector popup * fix border issue in preview container and increase draggable area * fix : review fixes * fix: fixed text css formatting for safari support * Revert "code refactor" This reverts commit 4763dd11a31f327e41b411b43f39cb422ee34674. * typo * fix : not able to select text in preview * fix : not able to view add params * fix selection issue in preview * fix : add scroll in query manager when preview is blocking view --------- Co-authored-by: Kartik Gupta <gupta.kartik18kg@gmail.com> * Fixes: select all click behaviour on label (#10108) * fixes: select all click behaviour on label * fix: legacy component names * fix: selecto issue (#10107) * Fix : Prevent component autofill (#10040) * fix : prevent other component from autofilling data when password is filled from browser suggestions * optimise * feat: skip onDragStop execution if drag event is empty (#10118) * feat: skip onDragStop execution if drag event is empty * fix: added additonal logs for error * display query preview data in preview panel and display transformation failure stacktrace data in previewpanel as well (#10129) * Fix while adding new rows in table components when ever entered the text and pressed enter it doubles the text (#10112) * Integration bugfixes appbuilder 1.8 (#10109) * fix : query maanager duplicate and preview issue * fix : multiselect breaking on making dynamic options null * fix : preview and query panel integration bugs * fix : placeholder * fix : doc links * fix : scroll in TJDB filter section * fix : portal for multiselect * fixes * fix : image column table alignment * fix : doc link for multiselect * fix : codehinter state being persited across components * fix :export app qery manager items not coming in correct order * fix: search icon position * code refactor --------- Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com> * add z-index to app name info header container (#10116) * Fix dropdown and multiselect crash on integer labels (#10128) * cast integer labels to string * add null check for label and provide default value for empty labels * empty and null handle for schemas and other values * revert changes * Fix: dark mode on preview names (#10136) * fix: dark mode of preview names * fix background color of preview * fix tjdb query import (#10134) * fix :revert radio button name change (#10153) * Fix: select issue on multiselect (#10137) * remove portal from multiselect * fix: dynamic values for options in dropdown/multiselect * remove fx from default option * Fix: delete on options delete in dropdown (#10192) * fix: delete on options delete * fix: overlapping of multiselect on parent container * fix: outside click of multiselect * hotfix : Table breaking on importing older apps with null value in column (#10185) * fix : table breaking on importing older apps with null value in column * fix : table crash , codehinter not saving values upon page change * remove low priority wrapper from autosave * remove logs * added delay to autosave as callback * fix: dropdown crash on invalid data (#10202) * revert to previous transformation code , fix darkmode color (#10216) * fix : doclink for dropdown (#10217) * fix : Transformations value getting cleared / not getting saved (#10218) * fix : transformation value not getting saved * remove dependency * chore: version update for release --------- Co-authored-by: stepinfwd <stepinfwd@gmail.com> Co-authored-by: vjaris42 <vjy239@gmail.com> Co-authored-by: Kartik Gupta <gupta.kartik18kg@gmail.com> Co-authored-by: Nakul Nagargade <133095394+nakulnagargade@users.noreply.github.com> Co-authored-by: Nakul Nagargade <nakul@tooljet.com> Co-authored-by: Akshay <akshaysasidharan93@gmail.com>
2024-07-01 03:16:22 +00:00
message={'The unsaved changes will be lost if you leave the editor, do you want to leave'}
onConfirm={() => router.push('/')}
onCancel={() => setShowLeaveDialog(false)}
darkMode={darkMode}
/>
<div className="left-sidebar-stack-bottom">
Feat :: Editor UI revamp (#7275) * temp commit :: editor redesign * fix :: components panel ui * style updates * fix :: arrangement widget list * fix :: light mode widget list * style fixes query manager * updates * updates heaer styles * global settings fix * left sidebar states and icon change * cleanup * minor fixes :: review * fix opacity mode toggle * detailing in hover states , bugfixes * fix :: coloring whole app , debugger ui * cleanup * fix :: revert some changes , fix statistics widget * feat :: navbar with new layout * fix :: lint warnings * cleanup * cleanup * minor fixes * fix :: reusing serchbox * removed unwanted prop * Revert "cleanup" This reverts commit b18abe19fbd82246611153634c79934ad9012101. * fix :: icons sidebar * fix :: padding searchbar * style fix * radix :: dark theme for portals * fix :: icon styles * fix :: all codehinter styles * update :: base bg color app * fix :: viewer color * minor fixes :: icon left sidebar * typo * fix :: styling save message header * icon :: fix for layout and inspector queries * fix :: canvas and editor bg * fix :: release btn style * fix :: navbar border * undo redo tooltip * fix :: page input * remove released btn icon * fix :: for icon not loading proper in inspector * fix :: dark mode toggle icon size * fix :: share app ui * fix :: style fixes , inspector runpy icon * fix :: ui runpy codehinter * fix :: inputs in gds connection * cleanup * fix :: copilot codehinter ui * fix :: share modal button * fix :: canvas bg text * style fix debugger * fix :: whole dahsboard layout and border for all codehinters * fix :: icon fills * fix :: icon fill color sidebar * darkmode fill color * minor style fix * Widget inspector redesign (#7355) * Setup Storybook * Update storybook config * Add tab and toggle group component * Created list component * Properties tab * update codehinter dropdown components * Refactor styling * Inspector header changes * Fix es lint issue * Fix * feat :: styling color picker styles panel * Fix color picker alignment * feat :: remove alpha * Fix UI bugs * fix :: color picker * Ui fix * Backward compatible pagination changes * fix * Feedback changes * UI feedback * Check fix * Fix * fix :: canvas bg popover * Styles fix * Fix conflct issues * minor style fix style tab * Fix * review comments fix :: hovering in color picker * Code review and design feedback * UI feedback * Fix UI styles * Fix pagination issue * fix :: dark mode issues in select , number input * fix :: remove extra boreder * fix :: table column popover ui and component popover inspector * fix :: datepickre input table column * fix :: colopicker in table column inspector * fix :: link column type ui in table * fix :: column delete ui and delete not triggering * Fix list item not dragging * fix :: closing of popover on link column select * style fix table popover * Pass dark mode to Event manager button * fix :: ux event manager * cleanup * cleanup * fix :: delete page modal ui --------- Co-authored-by: stepinfwd <stepinfwd@gmail.com> * style fixes --------- Co-authored-by: Nakul Nagargade <133095394+nakulnagargade@users.noreply.github.com>
2023-09-04 08:00:39 +00:00
<div className="">
{config.COMMENT_FEATURE_ENABLE && (
<div
className={`${isVersionReleased && 'disabled'}`}
style={{ maxHeight: '32px', maxWidth: '32px', marginBottom: '16px' }}
>
<LeftSidebarComment
selectedSidebarItem={showComments ? 'comments' : ''}
currentPageId={currentPageId}
ref={setSideBarBtnRefs('comments')}
/>
</div>
)}
<DarkModeToggle switchDarkMode={switchDarkMode} darkMode={darkMode} tooltipPlacement="right" />
</div>
</div>
</div>
);
});