2022-05-24 10:19:33 +00:00
|
|
|
/* eslint-disable import/no-named-as-default */
|
2022-10-21 08:21:32 +00:00
|
|
|
import React, { useCallback, useState, useEffect, useRef } from 'react';
|
2021-05-09 18:06:11 +00:00
|
|
|
import { useDrop, useDragLayer } from 'react-dnd';
|
|
|
|
|
import { ItemTypes } from './ItemTypes';
|
|
|
|
|
import { DraggableBox } from './DraggableBox';
|
|
|
|
|
import update from 'immutability-helper';
|
2023-02-06 12:08:44 +00:00
|
|
|
const produce = require('immer').default;
|
2022-07-07 12:55:22 +00:00
|
|
|
import _ from 'lodash';
|
2022-08-09 10:15:19 +00:00
|
|
|
import { componentTypes } from './WidgetManager/components';
|
|
|
|
|
import { addNewWidgetToTheEditor } from '@/_helpers/appUtils';
|
2023-02-23 06:33:53 +00:00
|
|
|
import { resolveReferences } from '@/_helpers/utils';
|
2023-07-20 08:21:43 +00:00
|
|
|
import { toast } from 'react-hot-toast';
|
|
|
|
|
import { restrictedWidgetsObj } from '@/Editor/WidgetManager/restrictedWidgetsConfig';
|
2023-07-19 06:12:28 +00:00
|
|
|
import { useCurrentState } from '@/_stores/currentStateStore';
|
2023-06-29 10:00:10 +00:00
|
|
|
import { useAppVersionStore } from '@/_stores/appVersionStore';
|
|
|
|
|
import { shallow } from 'zustand/shallow';
|
2023-07-18 07:41:31 +00:00
|
|
|
import { useMounted } from '@/_hooks/use-mount';
|
2023-12-08 10:05:30 +00:00
|
|
|
import { useEditorStore } from '@/_stores/editorStore';
|
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
|
|
|
// eslint-disable-next-line import/no-unresolved
|
|
|
|
|
import { diff } from 'deep-object-diff';
|
2022-08-11 11:52:06 +00:00
|
|
|
|
2023-07-18 09:58:49 +00:00
|
|
|
const NO_OF_GRIDS = 43;
|
|
|
|
|
|
2021-05-09 18:06:11 +00:00
|
|
|
export const SubContainer = ({
|
|
|
|
|
mode,
|
|
|
|
|
snapToGrid,
|
|
|
|
|
onComponentClick,
|
|
|
|
|
onEvent,
|
|
|
|
|
appDefinition,
|
|
|
|
|
appDefinitionChanged,
|
|
|
|
|
onComponentOptionChanged,
|
|
|
|
|
onComponentOptionsChanged,
|
|
|
|
|
appLoading,
|
|
|
|
|
zoomLevel,
|
|
|
|
|
parent,
|
|
|
|
|
parentRef,
|
2022-02-06 13:15:38 +00:00
|
|
|
setSelectedComponent,
|
2021-06-04 14:51:36 +00:00
|
|
|
deviceWindowWidth,
|
|
|
|
|
selectedComponent,
|
2021-08-30 13:23:58 +00:00
|
|
|
currentLayout,
|
2021-09-21 13:48:28 +00:00
|
|
|
removeComponent,
|
2021-11-23 07:59:22 +00:00
|
|
|
darkMode,
|
2021-12-10 03:13:05 +00:00
|
|
|
containerCanvasWidth,
|
2022-01-14 08:27:31 +00:00
|
|
|
readOnly,
|
|
|
|
|
customResolvables,
|
|
|
|
|
parentComponent,
|
2022-02-03 07:07:34 +00:00
|
|
|
onComponentHover,
|
|
|
|
|
hoveredComponent,
|
2022-07-19 13:21:45 +00:00
|
|
|
sideBarDebugger,
|
2022-07-02 12:30:30 +00:00
|
|
|
onOptionChange,
|
2022-07-07 12:55:22 +00:00
|
|
|
exposedVariables,
|
2022-08-11 11:52:06 +00:00
|
|
|
addDefaultChildren = false,
|
2022-10-06 09:14:57 +00:00
|
|
|
height = '100%',
|
2022-12-08 12:21:09 +00:00
|
|
|
currentPageId,
|
2022-12-20 11:38:36 +00:00
|
|
|
childComponents = null,
|
2023-07-11 09:00:54 +00:00
|
|
|
listmode = null,
|
|
|
|
|
columns = 1,
|
2021-05-09 18:06:11 +00:00
|
|
|
}) => {
|
2022-08-11 11:52:06 +00:00
|
|
|
//Todo add custom resolve vars for other widgets too
|
|
|
|
|
const mounted = useMounted();
|
|
|
|
|
const widgetResolvables = Object.freeze({
|
|
|
|
|
Listview: 'listItem',
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const customResolverVariable = widgetResolvables[parentComponent?.component];
|
2023-07-19 06:12:28 +00:00
|
|
|
const currentState = useCurrentState();
|
2023-06-29 10:00:10 +00:00
|
|
|
const { enableReleasedVersionPopupState, isVersionReleased } = useAppVersionStore(
|
|
|
|
|
(state) => ({
|
|
|
|
|
enableReleasedVersionPopupState: state.actions.enableReleasedVersionPopupState,
|
|
|
|
|
isVersionReleased: state.isVersionReleased,
|
|
|
|
|
}),
|
|
|
|
|
shallow
|
|
|
|
|
);
|
2022-08-11 11:52:06 +00:00
|
|
|
|
2023-07-18 09:58:49 +00:00
|
|
|
const gridWidth = getContainerCanvasWidth() / NO_OF_GRIDS;
|
|
|
|
|
|
2022-03-10 11:51:46 +00:00
|
|
|
const [_containerCanvasWidth, setContainerCanvasWidth] = useState(0);
|
2021-11-23 07:59:22 +00:00
|
|
|
useEffect(() => {
|
2022-03-17 12:46:28 +00:00
|
|
|
if (parentRef.current) {
|
|
|
|
|
const canvasWidth = getContainerCanvasWidth();
|
|
|
|
|
setContainerCanvasWidth(canvasWidth);
|
|
|
|
|
}
|
2022-03-10 11:51:46 +00:00
|
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
2023-07-11 09:00:54 +00:00
|
|
|
}, [parentRef, getContainerCanvasWidth(), listmode]);
|
2021-11-23 07:59:22 +00:00
|
|
|
|
2021-05-09 18:06:11 +00:00
|
|
|
zoomLevel = zoomLevel || 1;
|
|
|
|
|
|
2021-09-21 13:48:28 +00:00
|
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
2022-12-08 12:21:09 +00:00
|
|
|
const allComponents = appDefinition ? appDefinition.pages[currentPageId].components : {};
|
2022-12-08 09:11:02 +00:00
|
|
|
const isParentModal =
|
|
|
|
|
(allComponents[parent]?.component?.component === 'Modal' ||
|
2023-04-11 10:35:19 +00:00
|
|
|
allComponents[parent]?.component?.component === 'Form' ||
|
|
|
|
|
allComponents[parent]?.component?.component === 'Container') ??
|
2022-12-08 09:11:02 +00:00
|
|
|
false;
|
2021-05-09 18:06:11 +00:00
|
|
|
|
2023-03-20 11:34:24 +00:00
|
|
|
const getChildWidgets = (components) => {
|
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
|
|
|
let childWidgets = {};
|
2023-03-20 11:34:24 +00:00
|
|
|
Object.keys(components).forEach((key) => {
|
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 componentParent = components[key].component.parent;
|
|
|
|
|
if (componentParent === parent) {
|
2023-03-20 11:34:24 +00:00
|
|
|
childWidgets[key] = { ...components[key], component: { ...components[key]['component'], parent } };
|
|
|
|
|
}
|
|
|
|
|
});
|
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
|
|
|
|
2023-03-20 11:34:24 +00:00
|
|
|
return childWidgets;
|
|
|
|
|
};
|
2021-05-09 18:06:11 +00:00
|
|
|
|
|
|
|
|
const [boxes, setBoxes] = useState(allComponents);
|
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 [childWidgets, setChildWidgets] = useState([]);
|
2021-05-09 18:06:11 +00:00
|
|
|
const [isDragging, setIsDragging] = useState(false);
|
|
|
|
|
const [isResizing, setIsResizing] = useState(false);
|
2022-10-21 08:21:32 +00:00
|
|
|
// const [subContainerHeight, setSubContainerHeight] = useState('100%'); //used to determine the height of the sub container for modal
|
|
|
|
|
const subContainerHeightRef = useRef(height ?? '100%');
|
2021-05-09 18:06:11 +00:00
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
setBoxes(allComponents);
|
2023-03-20 11:34:24 +00:00
|
|
|
setChildWidgets(() => getChildWidgets(allComponents));
|
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
|
|
|
|
2023-03-20 11:34:24 +00:00
|
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
|
|
|
}, [allComponents, parent]);
|
2021-05-09 18:06:11 +00:00
|
|
|
|
2022-08-11 11:52:06 +00:00
|
|
|
useEffect(() => {
|
|
|
|
|
if (mounted) {
|
|
|
|
|
//find children with parent prop
|
|
|
|
|
const children = Object.keys(allComponents).filter((key) => {
|
|
|
|
|
if (key === parent) return false;
|
|
|
|
|
return allComponents[key].parent === parent;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (children.length === 0 && addDefaultChildren === true) {
|
|
|
|
|
const defaultChildren = _.cloneDeep(parentComponent)['defaultChildren'];
|
|
|
|
|
const childrenBoxes = {};
|
2022-08-19 04:48:18 +00:00
|
|
|
const parentId =
|
|
|
|
|
parentComponent.component !== 'Tabs'
|
|
|
|
|
? parentRef.current.id
|
|
|
|
|
: parentRef.current.id?.substring(0, parentRef.current.id.lastIndexOf('-'));
|
|
|
|
|
|
2022-12-08 09:11:02 +00:00
|
|
|
const _allComponents = JSON.parse(JSON.stringify(allComponents));
|
|
|
|
|
|
2022-08-11 11:52:06 +00:00
|
|
|
defaultChildren.forEach((child) => {
|
2022-12-08 09:11:02 +00:00
|
|
|
const { componentName, layout, incrementWidth, properties, accessorKey, tab, defaultValue, styles } = child;
|
2022-08-11 11:52:06 +00:00
|
|
|
|
2023-11-10 11:25:43 +00:00
|
|
|
const componentMeta = _.cloneDeep(componentTypes.find((component) => component.component === componentName));
|
2022-08-11 11:52:06 +00:00
|
|
|
const componentData = JSON.parse(JSON.stringify(componentMeta));
|
2023-07-18 09:58:49 +00:00
|
|
|
|
|
|
|
|
const width = layout.width ? layout.width : (componentMeta.defaultSize.width * 100) / NO_OF_GRIDS;
|
2022-08-19 04:48:18 +00:00
|
|
|
const height = layout.height ? layout.height : componentMeta.defaultSize.height;
|
2022-08-11 11:52:06 +00:00
|
|
|
const newComponentDefinition = {
|
|
|
|
|
...componentData.definition.properties,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
if (_.isArray(properties) && properties.length > 0) {
|
|
|
|
|
properties.forEach((prop) => {
|
2022-08-19 04:48:18 +00:00
|
|
|
const accessor = customResolverVariable
|
|
|
|
|
? `{{${customResolverVariable}.${accessorKey}}}`
|
|
|
|
|
: defaultValue[prop] || '';
|
|
|
|
|
|
2022-08-11 11:52:06 +00:00
|
|
|
_.set(newComponentDefinition, prop, {
|
2022-08-19 04:48:18 +00:00
|
|
|
value: accessor,
|
2022-08-11 11:52:06 +00:00
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
_.set(componentData, 'definition.properties', newComponentDefinition);
|
|
|
|
|
}
|
|
|
|
|
|
2022-12-08 09:11:02 +00:00
|
|
|
if (_.isArray(styles) && styles.length > 0) {
|
|
|
|
|
styles.forEach((prop) => {
|
|
|
|
|
const accessor = customResolverVariable
|
|
|
|
|
? `{{${customResolverVariable}.${accessorKey}}}`
|
|
|
|
|
: defaultValue[prop] || '';
|
|
|
|
|
|
|
|
|
|
_.set(newComponentDefinition, prop, {
|
|
|
|
|
value: accessor,
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
_.set(componentData, 'definition.styles', newComponentDefinition);
|
|
|
|
|
}
|
|
|
|
|
|
2022-08-11 11:52:06 +00:00
|
|
|
const newComponent = addNewWidgetToTheEditor(
|
|
|
|
|
componentData,
|
|
|
|
|
{},
|
2022-12-08 09:11:02 +00:00
|
|
|
{ ..._allComponents, ...childrenBoxes },
|
2022-08-11 11:52:06 +00:00
|
|
|
{},
|
|
|
|
|
currentLayout,
|
|
|
|
|
snapToGrid,
|
|
|
|
|
zoomLevel,
|
|
|
|
|
true,
|
|
|
|
|
true
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
_.set(childrenBoxes, newComponent.id, {
|
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
|
|
|
component: {
|
|
|
|
|
...newComponent.component,
|
|
|
|
|
parent: parentComponent.component === 'Tabs' ? parentId + '-' + tab : parentId,
|
|
|
|
|
},
|
|
|
|
|
|
2022-08-11 11:52:06 +00:00
|
|
|
layouts: {
|
|
|
|
|
[currentLayout]: {
|
|
|
|
|
...layout,
|
|
|
|
|
width: incrementWidth ? width * incrementWidth : width,
|
|
|
|
|
height: height,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
2022-08-19 04:48:18 +00:00
|
|
|
_allComponents[parentId] = {
|
|
|
|
|
...allComponents[parentId],
|
2022-08-11 11:52:06 +00:00
|
|
|
withDefaultChildren: false,
|
|
|
|
|
};
|
|
|
|
|
setBoxes({
|
|
|
|
|
..._allComponents,
|
|
|
|
|
...childrenBoxes,
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
|
|
|
}, [mounted]);
|
|
|
|
|
|
2021-05-09 18:06:11 +00:00
|
|
|
const moveBox = useCallback(
|
|
|
|
|
(id, left, top) => {
|
|
|
|
|
setBoxes(
|
|
|
|
|
update(boxes, {
|
|
|
|
|
[id]: {
|
2021-09-21 13:48:28 +00:00
|
|
|
$merge: { left, top },
|
|
|
|
|
},
|
2021-05-09 18:06:11 +00:00
|
|
|
})
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
[boxes]
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
useEffect(() => {
|
2021-09-21 13:48:28 +00:00
|
|
|
if (appDefinitionChanged) {
|
2022-12-08 12:21:09 +00:00
|
|
|
const newDefinition = {
|
|
|
|
|
...appDefinition,
|
|
|
|
|
pages: {
|
|
|
|
|
...appDefinition.pages,
|
|
|
|
|
[currentPageId]: {
|
|
|
|
|
...appDefinition.pages[currentPageId],
|
|
|
|
|
components: boxes,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
};
|
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 oldComponents = appDefinition.pages[currentPageId]?.components ?? {};
|
|
|
|
|
const newComponents = boxes;
|
|
|
|
|
|
|
|
|
|
const componendAdded = Object.keys(newComponents).length > Object.keys(oldComponents).length;
|
|
|
|
|
|
|
|
|
|
const opts = { containerChanges: true };
|
|
|
|
|
|
|
|
|
|
if (componendAdded) {
|
|
|
|
|
opts.componentAdded = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const shouldUpdate = !_.isEmpty(diff(appDefinition, newDefinition));
|
|
|
|
|
|
|
|
|
|
if (shouldUpdate) {
|
|
|
|
|
appDefinitionChanged(newDefinition, opts);
|
|
|
|
|
}
|
2021-05-09 18:06:11 +00:00
|
|
|
}
|
2021-09-21 13:48:28 +00:00
|
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
2021-05-09 18:06:11 +00:00
|
|
|
}, [boxes]);
|
|
|
|
|
|
2021-05-11 17:47:39 +00:00
|
|
|
const { draggingState } = useDragLayer((monitor) => {
|
2021-05-15 15:09:37 +00:00
|
|
|
// TODO: Need to move to a performant version of the block below
|
2021-09-21 13:48:28 +00:00
|
|
|
if (monitor.getItem()) {
|
|
|
|
|
if (monitor.getItem().id === undefined) {
|
|
|
|
|
if (parentRef.current) {
|
2021-05-15 15:09:37 +00:00
|
|
|
const currentOffset = monitor.getSourceClientOffset();
|
2021-09-21 13:48:28 +00:00
|
|
|
if (currentOffset) {
|
2023-03-24 09:52:25 +00:00
|
|
|
const canvasBoundingRect = parentRef?.current
|
|
|
|
|
?.getElementsByClassName('real-canvas')[0]
|
|
|
|
|
?.getBoundingClientRect();
|
|
|
|
|
if (!canvasBoundingRect) return { draggingState: false };
|
2021-09-21 13:48:28 +00:00
|
|
|
if (
|
|
|
|
|
currentOffset.x > canvasBoundingRect.x &&
|
|
|
|
|
currentOffset.x < canvasBoundingRect.x + canvasBoundingRect.width
|
|
|
|
|
) {
|
|
|
|
|
return { draggingState: true };
|
2021-05-15 15:09:37 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-09-21 13:48:28 +00:00
|
|
|
if (monitor.isDragging() && monitor.getItem().parent) {
|
|
|
|
|
if (monitor.getItem().parent === parent) {
|
|
|
|
|
return { draggingState: true };
|
|
|
|
|
} else {
|
|
|
|
|
return { draggingState: false };
|
2021-05-11 17:47:39 +00:00
|
|
|
}
|
2021-09-21 13:48:28 +00:00
|
|
|
} else {
|
|
|
|
|
return { draggingState: false };
|
2021-05-11 17:47:39 +00:00
|
|
|
}
|
|
|
|
|
});
|
2021-05-09 18:06:11 +00:00
|
|
|
|
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
|
|
|
//!Todo: need to check: this never gets called as draggingState is always false
|
2021-05-09 18:06:11 +00:00
|
|
|
useEffect(() => {
|
|
|
|
|
setIsDragging(draggingState);
|
|
|
|
|
}, [draggingState]);
|
|
|
|
|
|
2021-11-16 11:44:09 +00:00
|
|
|
function convertXToPercentage(x, canvasWidth) {
|
|
|
|
|
return (x * 100) / canvasWidth;
|
|
|
|
|
}
|
|
|
|
|
|
2021-05-09 18:06:11 +00:00
|
|
|
const [, drop] = useDrop(
|
|
|
|
|
() => ({
|
|
|
|
|
accept: ItemTypes.BOX,
|
|
|
|
|
drop(item, monitor) {
|
2023-11-10 11:25:43 +00:00
|
|
|
const componentMeta = _.cloneDeep(
|
|
|
|
|
componentTypes.find((component) => component.component === item.component.component)
|
|
|
|
|
);
|
2021-05-09 18:06:11 +00:00
|
|
|
const canvasBoundingRect = parentRef.current.getElementsByClassName('real-canvas')[0].getBoundingClientRect();
|
2023-07-20 08:21:43 +00:00
|
|
|
const parentComp =
|
|
|
|
|
parentComponent?.component === 'Kanban'
|
|
|
|
|
? parent.includes('modal')
|
|
|
|
|
? 'Kanban_popout'
|
|
|
|
|
: 'Kanban_card'
|
|
|
|
|
: parentComponent.component;
|
|
|
|
|
if (!restrictedWidgetsObj[parentComp].includes(componentMeta?.component)) {
|
|
|
|
|
const newComponent = addNewWidgetToTheEditor(
|
|
|
|
|
componentMeta,
|
|
|
|
|
monitor,
|
|
|
|
|
boxes,
|
|
|
|
|
canvasBoundingRect,
|
|
|
|
|
item.currentLayout,
|
|
|
|
|
snapToGrid,
|
|
|
|
|
zoomLevel,
|
|
|
|
|
true
|
|
|
|
|
);
|
2021-05-09 18:06:11 +00:00
|
|
|
|
2023-07-20 08:21:43 +00:00
|
|
|
setBoxes({
|
|
|
|
|
...boxes,
|
|
|
|
|
[newComponent.id]: {
|
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
|
|
|
component: {
|
|
|
|
|
...newComponent.component,
|
|
|
|
|
parent: parentRef.current.id,
|
|
|
|
|
},
|
2023-07-20 08:21:43 +00:00
|
|
|
layouts: {
|
|
|
|
|
...newComponent.layout,
|
|
|
|
|
},
|
|
|
|
|
withDefaultChildren: newComponent.withDefaultChildren,
|
2021-09-21 13:48:28 +00:00
|
|
|
},
|
2023-07-20 08:21:43 +00:00
|
|
|
});
|
2022-12-05 11:28:47 +00:00
|
|
|
|
2023-07-20 08:21:43 +00:00
|
|
|
setSelectedComponent(newComponent.id, newComponent.component);
|
|
|
|
|
|
|
|
|
|
return undefined;
|
|
|
|
|
} else {
|
|
|
|
|
toast.error(
|
|
|
|
|
` ${componentMeta?.component} is not compatible as a child component of ${parentComp
|
|
|
|
|
.replace(/_/g, ' ')
|
|
|
|
|
.toLowerCase()}`,
|
|
|
|
|
{
|
|
|
|
|
style: {
|
|
|
|
|
wordBreak: 'break-word',
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
}
|
2021-09-21 13:48:28 +00:00
|
|
|
},
|
2021-05-09 18:06:11 +00:00
|
|
|
}),
|
|
|
|
|
[moveBox]
|
|
|
|
|
);
|
|
|
|
|
|
2021-11-16 11:44:09 +00:00
|
|
|
function getContainerCanvasWidth() {
|
2021-11-23 07:59:22 +00:00
|
|
|
if (containerCanvasWidth !== undefined) {
|
2023-07-11 09:00:54 +00:00
|
|
|
if (listmode == 'grid') return containerCanvasWidth / columns - 2;
|
|
|
|
|
else return containerCanvasWidth - 2;
|
2021-11-23 07:59:22 +00:00
|
|
|
}
|
2023-07-11 09:00:54 +00:00
|
|
|
|
2021-11-16 11:44:09 +00:00
|
|
|
let width = 0;
|
|
|
|
|
if (parentRef.current) {
|
2021-11-23 07:59:22 +00:00
|
|
|
const realCanvas = parentRef.current.getElementsByClassName('real-canvas')[0];
|
|
|
|
|
if (realCanvas) {
|
|
|
|
|
const canvasBoundingRect = realCanvas.getBoundingClientRect();
|
|
|
|
|
width = canvasBoundingRect.width;
|
|
|
|
|
}
|
2021-11-16 11:44:09 +00:00
|
|
|
}
|
|
|
|
|
return width;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function onDragStop(e, componentId, direction, currentLayout) {
|
2023-05-11 07:02:21 +00:00
|
|
|
if (isVersionReleased) {
|
2023-06-29 10:00:10 +00:00
|
|
|
enableReleasedVersionPopupState();
|
2023-05-11 07:02:21 +00:00
|
|
|
return;
|
|
|
|
|
}
|
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
|
|
|
|
2021-11-16 11:44:09 +00:00
|
|
|
const canvasWidth = getContainerCanvasWidth();
|
|
|
|
|
const nodeBounds = direction.node.getBoundingClientRect();
|
|
|
|
|
|
|
|
|
|
const canvasBounds = parentRef.current.getElementsByClassName('real-canvas')[0].getBoundingClientRect();
|
|
|
|
|
|
|
|
|
|
// Computing the left offset
|
|
|
|
|
const leftOffset = nodeBounds.x - canvasBounds.x;
|
2022-05-11 09:13:13 +00:00
|
|
|
const currentLeftOffset = boxes[componentId].layouts[currentLayout].left;
|
|
|
|
|
const leftDiff = currentLeftOffset - convertXToPercentage(leftOffset, canvasWidth);
|
2021-11-16 11:44:09 +00:00
|
|
|
|
2022-05-11 09:13:13 +00:00
|
|
|
const topDiff = boxes[componentId].layouts[currentLayout].top - (nodeBounds.y - canvasBounds.y);
|
2021-11-16 11:44:09 +00:00
|
|
|
|
2022-05-11 09:13:13 +00:00
|
|
|
let newBoxes = { ...boxes };
|
|
|
|
|
|
2022-10-21 08:21:32 +00:00
|
|
|
const subContainerHeight = canvasBounds.height - 30;
|
2023-12-08 10:05:30 +00:00
|
|
|
const selectedComponents = useEditorStore.getState().selectedComponents;
|
2022-10-21 08:21:32 +00:00
|
|
|
|
2022-05-11 09:13:13 +00:00
|
|
|
if (selectedComponents) {
|
|
|
|
|
for (const selectedComponent of selectedComponents) {
|
|
|
|
|
newBoxes = produce(newBoxes, (draft) => {
|
|
|
|
|
const topOffset = draft[selectedComponent.id].layouts[currentLayout].top;
|
|
|
|
|
const leftOffset = draft[selectedComponent.id].layouts[currentLayout].left;
|
|
|
|
|
|
|
|
|
|
draft[selectedComponent.id].layouts[currentLayout].top = topOffset - topDiff;
|
|
|
|
|
draft[selectedComponent.id].layouts[currentLayout].left = leftOffset - leftDiff;
|
|
|
|
|
});
|
2022-10-21 08:21:32 +00:00
|
|
|
|
|
|
|
|
const componentBottom =
|
|
|
|
|
newBoxes[selectedComponent.id].layouts[currentLayout].top +
|
|
|
|
|
newBoxes[selectedComponent.id].layouts[currentLayout].height;
|
|
|
|
|
|
|
|
|
|
if (isParentModal && subContainerHeight <= componentBottom) {
|
|
|
|
|
subContainerHeightRef.current = subContainerHeight + 100;
|
|
|
|
|
}
|
2022-05-11 09:13:13 +00:00
|
|
|
}
|
|
|
|
|
}
|
2021-11-16 11:44:09 +00:00
|
|
|
|
2023-03-20 11:34:24 +00:00
|
|
|
setChildWidgets(() => getChildWidgets(newBoxes));
|
2021-11-16 11:44:09 +00:00
|
|
|
setBoxes(newBoxes);
|
|
|
|
|
}
|
|
|
|
|
|
2021-05-26 05:19:05 +00:00
|
|
|
function onResizeStop(id, e, direction, ref, d, position) {
|
2023-05-11 07:02:21 +00:00
|
|
|
if (isVersionReleased) {
|
2023-06-29 10:00:10 +00:00
|
|
|
enableReleasedVersionPopupState();
|
2023-05-11 07:02:21 +00:00
|
|
|
return;
|
|
|
|
|
}
|
2023-07-24 11:21:03 +00:00
|
|
|
|
|
|
|
|
const deltaWidth = Math.round(d.width / gridWidth) * gridWidth; //rounding of width of element to nearest mulitple of gridWidth
|
2021-05-09 18:06:11 +00:00
|
|
|
const deltaHeight = d.height;
|
|
|
|
|
|
2023-07-18 09:58:49 +00:00
|
|
|
if (deltaWidth === 0 && deltaHeight === 0) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2021-05-26 05:19:05 +00:00
|
|
|
let { x, y } = position;
|
2023-07-18 09:58:49 +00:00
|
|
|
x = Math.round(x / gridWidth) * gridWidth;
|
2021-05-26 05:19:05 +00:00
|
|
|
|
2021-06-04 14:51:36 +00:00
|
|
|
const defaultData = {
|
|
|
|
|
top: 100,
|
|
|
|
|
left: 0,
|
|
|
|
|
width: 445,
|
2021-09-21 13:48:28 +00:00
|
|
|
height: 500,
|
2021-06-04 14:51:36 +00:00
|
|
|
};
|
|
|
|
|
|
2021-09-21 13:48:28 +00:00
|
|
|
let { left, top, width, height } = boxes[id]['layouts'][currentLayout] || defaultData;
|
|
|
|
|
|
2021-05-26 05:19:05 +00:00
|
|
|
top = y;
|
2022-06-09 05:46:19 +00:00
|
|
|
if (deltaWidth !== 0) {
|
|
|
|
|
// onResizeStop is triggered for a single click on the border, therefore this conditional logic
|
|
|
|
|
// should not be removed.
|
2023-07-18 09:58:49 +00:00
|
|
|
left = (x * 100) / _containerCanvasWidth;
|
2022-06-09 05:46:19 +00:00
|
|
|
}
|
2023-07-18 09:58:49 +00:00
|
|
|
|
2023-07-24 11:21:03 +00:00
|
|
|
//round the width to nearest multiple of gridwidth before converting to %
|
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
|
|
|
let currentWidth = (_containerCanvasWidth * width) / NO_OF_GRIDS;
|
|
|
|
|
|
|
|
|
|
if (currentWidth > _containerCanvasWidth) {
|
|
|
|
|
currentWidth = _containerCanvasWidth;
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-24 11:21:03 +00:00
|
|
|
let newWidth = currentWidth + deltaWidth;
|
|
|
|
|
newWidth = Math.round(newWidth / gridWidth) * gridWidth;
|
|
|
|
|
width = (newWidth * NO_OF_GRIDS) / _containerCanvasWidth;
|
|
|
|
|
|
2021-09-21 13:48:28 +00:00
|
|
|
height = height + deltaHeight;
|
2021-05-26 05:19:05 +00:00
|
|
|
|
2021-09-21 13:48:28 +00:00
|
|
|
let newBoxes = {
|
2021-06-04 14:51:36 +00:00
|
|
|
...boxes,
|
|
|
|
|
[id]: {
|
|
|
|
|
...boxes[id],
|
2021-09-21 13:48:28 +00:00
|
|
|
layouts: {
|
2021-06-04 14:51:36 +00:00
|
|
|
...boxes[id]['layouts'],
|
|
|
|
|
[currentLayout]: {
|
|
|
|
|
...boxes[id]['layouts'][currentLayout],
|
2021-09-21 13:48:28 +00:00
|
|
|
width,
|
|
|
|
|
height,
|
|
|
|
|
top,
|
|
|
|
|
left,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
2021-06-04 14:51:36 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
setBoxes(newBoxes);
|
2021-05-09 18:06:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function paramUpdated(id, param, value) {
|
|
|
|
|
if (Object.keys(value).length > 0) {
|
2022-12-08 12:21:09 +00:00
|
|
|
setBoxes((boxes) => {
|
|
|
|
|
return update(boxes, {
|
2021-05-09 18:06:11 +00:00
|
|
|
[id]: {
|
|
|
|
|
$merge: {
|
|
|
|
|
component: {
|
|
|
|
|
...boxes[id].component,
|
|
|
|
|
definition: {
|
|
|
|
|
...boxes[id].component.definition,
|
|
|
|
|
properties: {
|
|
|
|
|
...boxes[id].component.definition.properties,
|
2021-09-21 13:48:28 +00:00
|
|
|
[param]: value,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
2022-12-08 12:21:09 +00:00
|
|
|
});
|
|
|
|
|
});
|
2021-05-09 18:06:11 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-11-16 11:44:09 +00:00
|
|
|
const styles = {
|
|
|
|
|
width: '100%',
|
2022-10-21 08:21:32 +00:00
|
|
|
height: subContainerHeightRef.current,
|
2021-11-16 11:44:09 +00:00
|
|
|
position: 'absolute',
|
2023-07-18 09:58:49 +00:00
|
|
|
backgroundSize: `${gridWidth}px 10px`,
|
2021-11-16 11:44:09 +00:00
|
|
|
};
|
|
|
|
|
|
2023-12-11 09:41:00 +00:00
|
|
|
//check if parent is listview or form return false is so
|
2023-09-01 08:25:03 +00:00
|
|
|
const checkParent = (box) => {
|
|
|
|
|
let isListView = false,
|
|
|
|
|
isForm = false;
|
|
|
|
|
try {
|
|
|
|
|
isListView =
|
|
|
|
|
appDefinition.pages[currentPageId].components[box?.component?.parent]?.component?.component === 'Listview';
|
|
|
|
|
isForm = appDefinition.pages[currentPageId].components[box?.component?.parent]?.component?.component === 'Form';
|
|
|
|
|
} catch {
|
|
|
|
|
console.log('error');
|
|
|
|
|
}
|
|
|
|
|
if (!isListView && !isForm) {
|
|
|
|
|
return true;
|
|
|
|
|
} else {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
2022-12-08 09:11:02 +00:00
|
|
|
function onComponentOptionChangedForSubcontainer(component, optionName, value, componentId = '') {
|
2022-07-07 12:55:22 +00:00
|
|
|
if (typeof value === 'function' && _.findKey(exposedVariables, optionName)) {
|
|
|
|
|
return Promise.resolve();
|
|
|
|
|
}
|
2022-12-08 09:11:02 +00:00
|
|
|
onOptionChange && onOptionChange({ component, optionName, value, componentId });
|
2022-07-02 12:30:30 +00:00
|
|
|
return onComponentOptionChanged(component, optionName, value);
|
2022-01-14 08:27:31 +00:00
|
|
|
}
|
|
|
|
|
|
2022-01-31 11:18:58 +00:00
|
|
|
function customRemoveComponent(component) {
|
|
|
|
|
removeComponent(component);
|
|
|
|
|
}
|
|
|
|
|
|
2023-03-07 07:08:40 +00:00
|
|
|
function checkParentVisibility() {
|
|
|
|
|
let elem = parentRef.current;
|
|
|
|
|
if (elem?.className === 'tab-content') {
|
|
|
|
|
elem = parentRef.current?.parentElement;
|
|
|
|
|
}
|
|
|
|
|
if (elem?.style?.display !== 'none') return true;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
2021-05-09 18:06:11 +00:00
|
|
|
return (
|
2021-12-10 03:13:05 +00:00
|
|
|
<div
|
|
|
|
|
ref={drop}
|
|
|
|
|
style={styles}
|
|
|
|
|
id={`canvas-${parent}`}
|
2023-04-11 10:35:19 +00:00
|
|
|
className={`real-canvas ${(isDragging || isResizing) && !readOnly ? 'show-grid' : ''}`}
|
2021-12-10 03:13:05 +00:00
|
|
|
>
|
2023-03-07 07:08:40 +00:00
|
|
|
{checkParentVisibility() &&
|
|
|
|
|
Object.keys(childWidgets).map((key) => {
|
|
|
|
|
const addDefaultChildren = childWidgets[key]['withDefaultChildren'] || false;
|
|
|
|
|
const box = childWidgets[key];
|
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
|
|
|
|
2023-03-07 07:08:40 +00:00
|
|
|
const canShowInCurrentLayout =
|
|
|
|
|
box.component.definition.others[currentLayout === 'mobile' ? 'showOnMobile' : 'showOnDesktop'].value;
|
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
|
|
|
|
|
|
|
|
if (box.component.parent && resolveReferences(canShowInCurrentLayout, currentState)) {
|
2023-03-07 07:08:40 +00:00
|
|
|
return (
|
|
|
|
|
<DraggableBox
|
|
|
|
|
onComponentClick={onComponentClick}
|
|
|
|
|
onEvent={onEvent}
|
2023-09-01 08:25:03 +00:00
|
|
|
onComponentOptionChanged={
|
|
|
|
|
checkParent(box)
|
|
|
|
|
? onComponentOptionChangedForSubcontainer
|
|
|
|
|
: (component, optionName, value, componentId = '') => {
|
|
|
|
|
if (typeof value === 'function' && _.findKey(exposedVariables, optionName)) {
|
|
|
|
|
return Promise.resolve();
|
|
|
|
|
}
|
|
|
|
|
onOptionChange && onOptionChange({ component, optionName, value, componentId });
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-12-11 09:41:00 +00:00
|
|
|
onComponentOptionsChanged={(component, variableSet, id) => {
|
|
|
|
|
checkParent(box)
|
|
|
|
|
? onComponentOptionsChanged(component, variableSet)
|
|
|
|
|
: variableSet.map((item) => {
|
|
|
|
|
onOptionChange &&
|
|
|
|
|
onOptionChange({
|
|
|
|
|
component,
|
|
|
|
|
optionName: item[0],
|
|
|
|
|
value: item[1],
|
|
|
|
|
componentId: id,
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}}
|
2023-03-07 07:08:40 +00:00
|
|
|
key={key}
|
|
|
|
|
onResizeStop={onResizeStop}
|
|
|
|
|
onDragStop={onDragStop}
|
|
|
|
|
paramUpdated={paramUpdated}
|
|
|
|
|
id={key}
|
|
|
|
|
allComponents={allComponents}
|
|
|
|
|
{...childWidgets[key]}
|
|
|
|
|
mode={mode}
|
|
|
|
|
resizingStatusChanged={(status) => setIsResizing(status)}
|
|
|
|
|
draggingStatusChanged={(status) => setIsDragging(status)}
|
|
|
|
|
inCanvas={true}
|
|
|
|
|
zoomLevel={zoomLevel}
|
|
|
|
|
setSelectedComponent={setSelectedComponent}
|
|
|
|
|
selectedComponent={selectedComponent}
|
|
|
|
|
deviceWindowWidth={deviceWindowWidth}
|
|
|
|
|
removeComponent={customRemoveComponent}
|
|
|
|
|
canvasWidth={_containerCanvasWidth}
|
|
|
|
|
readOnly={readOnly}
|
|
|
|
|
darkMode={darkMode}
|
|
|
|
|
customResolvables={customResolvables}
|
|
|
|
|
onComponentHover={onComponentHover}
|
|
|
|
|
hoveredComponent={hoveredComponent}
|
|
|
|
|
parentId={parentComponent?.name}
|
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
|
|
|
parent={parent}
|
2023-03-07 07:08:40 +00:00
|
|
|
sideBarDebugger={sideBarDebugger}
|
|
|
|
|
exposedVariables={exposedVariables ?? {}}
|
|
|
|
|
childComponents={childComponents[key]}
|
|
|
|
|
containerProps={{
|
|
|
|
|
mode,
|
|
|
|
|
snapToGrid,
|
|
|
|
|
onComponentClick,
|
|
|
|
|
onEvent,
|
|
|
|
|
appDefinition,
|
|
|
|
|
appDefinitionChanged,
|
|
|
|
|
currentState,
|
|
|
|
|
onComponentOptionChanged,
|
|
|
|
|
onComponentOptionsChanged,
|
|
|
|
|
appLoading,
|
|
|
|
|
zoomLevel,
|
|
|
|
|
setSelectedComponent,
|
|
|
|
|
removeComponent,
|
|
|
|
|
currentLayout,
|
|
|
|
|
deviceWindowWidth,
|
|
|
|
|
darkMode,
|
|
|
|
|
readOnly,
|
|
|
|
|
onComponentHover,
|
|
|
|
|
hoveredComponent,
|
|
|
|
|
sideBarDebugger,
|
|
|
|
|
addDefaultChildren,
|
|
|
|
|
currentPageId,
|
|
|
|
|
childComponents,
|
|
|
|
|
}}
|
|
|
|
|
/>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
})}
|
2021-05-09 18:06:11 +00:00
|
|
|
{appLoading && (
|
|
|
|
|
<div className="mx-auto mt-5 w-50 p-5">
|
|
|
|
|
<center>
|
|
|
|
|
<div className="progress progress-sm w-50">
|
|
|
|
|
<div className="progress-bar progress-bar-indeterminate"></div>
|
|
|
|
|
</div>
|
|
|
|
|
</center>
|
|
|
|
|
</div>
|
|
|
|
|
)}
|
|
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
};
|