* adds support for set and unset page variables actions in runjs
* Ensure that page events are run on app load on viewer
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* Add routes for multi-page apps
* Modify Editor, Viewer and Inspector to accept new app structure
* Show a page selector on left side bar
* Align component deletion logic with new app schema
* Make subcontainer work with multi-page apps
* Load components state properly in viewer
* Use UUID instead of handle for pages
* Display sidebar on viewer to switch pages
* Add proper URL suffixing for pages in viewer
* Add action to switch page
* Revert translation file back to its pre-existing linting
* Fix bug that caused modal to not open/close
* Add support for query params in page switch
* Fix the issue that caused navigation to fail while accessed via slug
* Add missing SwitchPage file
* Add support for page level variables
* Add migration to convert existing apps to new schema
* Add rollback for converting multi-page definitions back to single-page
* Fix migration for multi-page apps
* Adapt import/export service for multi-pages
* [improvements] Multi-page applications (#4755)
* UI updates for page selector popup card
* delete page
* delete page check: if only one page exits
* switch to home page if the selected page is removed
* adds and switch to new page
* updating page name
* updates to home page and starting page
* handle updating the home page when home page is deleted
* search box for filtering pages and minor style updates for the page handler card
* header search box style fixes
* for creating a new page, page handle needs to be unique
* seperating into smaller components
* updated pinned icon for page selector styles and settinf styles
* Leftsidebar header ui component
* handle dark theme
* page handle ui and dark theme fixes for page menu
* page handler edit modal
* pinned state and update pinned state for menu options triggered
* dark theme fixes for edit modal
* handle on update should not be empty or prev
* page handler updater
* added loading state for saving
* handles cancels
* fixes slug ui
* fixes crash for older app versions
* updates the query params when handle gets an update
* update homePage to homePageId
* removes console.log
* go back to the popover for modal close
* fixes: Difficult to select page
* fixes: Difficult to select the three-dot menu
* fixes: on visiting the root url, navigate to homepage on viewer
* adds tooltip for url
* updates the page selector sidebar with sync with query manager
* refactor and cleanup
* refactor and cleanup
* Compute component state when page is switched
* modal should not close on click outside
* disable save button if there is not change in the page handle input
* should show/hide page menu when hovered
* page icon
* updates delete icon for disabled state
* query manager should always be on top of page selector
* checks if homePage key exists in pages def
* updates page handler menu
* updates the clear icon
* page handler menu position
* page handler menu position
* handle icon
* alert msg
* global settings handler for updating viewer page navigation
* show/hode page navigation for viewer
* info text for toggle
* Multipages:with sortable list [DnD] (#4783)
* applied sortable list
* on sort updates the definitions
* fixies: app crash for dnd
* viwer: canvas width should be 100% when navigation drawer is disbaled
* fixes: homepage/startpage reload
* clean up
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* Multipage UI viewer (#4801)
* new ui changes for viewer pages
* fixes postions for debugger and datasources popover
* removes console.log
* Multipage : hide page and unhide page feature (#4803)
* adds: ability to hide pages
* hides pages in viewer
* unhide page
* hide icon
* allow accessing hidden pages from url
* add: duplicate page (#4802)
* add: duplicate page
* do not copy the same references from the original page
* page name and page handler should be unique for duplicate pages too
* Add support for on-page-load events
* Add icon from page settings menu item
* Convert existing templates to multi-page schema
* error logs for page level and app level errors (#4842)
* Adapt comments feature for multi-pages
* [Bugfix] multipage - page menu interactions (#4844)
* fixes: menu popup interaction
* fixes: on modal input focus, we switch the page
* Adapt multi-player to multi-pages
* Add editingPageId to ymap
* Log self, others and editor props in real-time avatar generation
* Save editing page id to appDef
* Add editingPageId to presence in RealtimeCursors
* adds no results ui for empty search results (#4869)
* page icon updated (#4870)
* fixes:Version switching crashes if the target version does not contain the current page (#4868)
* Remove unnecessary setting of editingPageId on ymap
* Remove unnecessary console.log
* [Bugfix] Multipages: widget inspector event popover unmounts (#4887)
* introduced a local state for events
* cleaned up inspector.jsx
* fixes: table widget inspector event accordion
* Do not run switchPage twice when viewer is loaded
* Preview should open the currently editing page
* Properly place navigation and canvas in viewer
* Update app definition whenever event manager changes are made
* Add support for browser back and forward button in multi-pages
* Rename handleBackButton to handlePageSwitchingBasedOnURLparam
* Add support for cut/copy/paste and clone
* Fix the crash caused by boxShadow
* Add support for background colors in viewer in multi-pages
* Run queries to be run on load on viewer, in multi-pages
* Fix issue that caused inspector popovers to collapse
* resolves workspace vars in viewer mode (#4892)
* Multipage : Navigation for Mobile-ui (#4814)
* refactored to components
* burger menu for mobile ui
* merge conflict fix for hidden pages
* hamburger menu positioned in the header
* viewer header reafctored
* viewer mobile page manu styles
* handles dark theme
* mobile menu with dark mode toggle in the footer
* components are moved to page level, handle for mobile layout
* style fixes
* removing unwanted code block
* dark theme fixes
* style fixes
* fixes: events are sortable (#4895)
* fixes: events are sortable
* Remove uneccesarily repeated call of setEvents in EventManager
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* renamed settings to Event handlers (#4898)
* updates the page setting title to Page Events
* temp commit
* Add support for setting max width in percentage
* fixes: paramUpdates for boxes: 🙌🏻
* [Bugfix] Multipage - viewer canvas dark theme (#4897)
* fixes: darktheme bg for viewer canvas
* reverts canvas size
* Fix for inspector bouncing back to previous values
* resolves pages variables in pythong and js transformation (#4905)
* csa support to event manager for pages (#4907)
* Add support for setting canvas width in percentages
* Persist page level variables across page switches
* latest definitions is merged with the current appdef (#4914)
* latest definitions is merged with the current appdef
* mutating the local obj
* cleanup
* iterate through pages for new versions are created
Co-authored-by: Arpit <arpitnath42@gmail.com>
* Added localisation
* Closed modal after language selection
* updated transaltaion setup
* Updated language tooltip
* Added fallback language support
* Adding english library resource for translation (#3844)
* Adding English dictionary for the widget lists in the inspector
* added leftSideBar object in en.json and implemented it for leftSidebar icon text
* renamed leftSideBar to leftSidebar and added resources for tip in the left side bar
* added english translation resources for leftsidebar debugger
* added english language resources for the global settings
* added english language resources for data sources in left sidebar
* added english language resources for the share button and share modal in the editor
* added english language resources for release button, manageOrgUsers, appVersionManager
* added english language resources for Queries and Please select a widget to inspect in the editor
* added english language resources for data source list , data source manager, and query manager(partially)
* added english language resources for queryManager, transformation, preview
* added english language resources for dark mode toggle in the headers inside homepage
* added fallback message for dark mode toggle
* added resources for language change in the headers inside homepage
* added resources for notification center in the header inside homepage
* added resources for organization and manage users components in header inside homepage
* added resources in manageGroupPermission
* added resources for manageGroupPermissionsResources component
* added resources for manageSSO and generalSettings components
* added resources for google sso
* added resources for github sso
* added resources for environment variables in manageSSO
* added resources for profile and setting page
* added resources for app card and app card menu
* added resources for folder section and app list in homepage
* added resources for header section in the homepage
* added resources for pagination in homepage
* added resources for modals in the homepage
* added resources for blank page
* added resources for login page
* added resources for forgot password page
* added resources for sign up page
* added resources for onBoarding component
* added resources for reset password page
* deleted duplicate key for readDocumentation
* deleted duplicate key for cancel in en.json and added translation for cancel at few places
* removing duplicate copy of save key in en.json
* added translation for CommentActions.jsx components
* deleted duplicate copy of search key in en.json and added resources for create and search queries , select keys
* fix typo errors
* fixed typo errors
* shorten the key for loginAndSignUpAndForgotPassword to loginSignupPage in en.json file and related files
* shorten the key noLoginMethodsEnabledForThisWorkspace to noLoginMethodsEnabled
* shorten the key pleaseCheckYourEmailForConfirmationLink to emailConfirmLink
* shorten the key dontHaveAccountYet to dontHaveAccount
* shorten keys from loginSignupPage key in en.json
* shorten keys of shareModal nested object in en.json
* shorten the key in appVersionManager nested object
* shorten the keys for queryManager nested object in the en.json
* delete duplicate copy of environmentVar and shorten manageEnvironmentVariables,environmentVariables
* shorten keys in the organization nested object
* shorten keys in the homePage nested object in en.json file
* added inspector and eventManager empty object
* added resources to RedirectSSO component
* added resources for OAuth2
* added resources for TemplateCard.jsx
* added resources for TemplateLibraryModal.jsx
* added resources for ConfirmationPage.jsx
* added resources for ConfirmationPage component
* removed translation in App.jsx file
* added resources for Slack.jsx
* added resources for GoogleSheets.jsx
* added resources for CodeBuilder.jsx
* added resources for CommentBody and CommentFooter
* added resources for TestConnection component
* added resources for AllignButton.jsx
* added resources for Openapi and Stripe components
* added resources for ErrorBoundary
* added resources for Viewer.jsx
* Translation for widgets, table
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* Commented Language selection
* Fixed typos
* Updated fr.json file
Co-authored-by: Manish Kushare <kushare.manish9@gmail.com>
* Bug fixed : canvas background colour is not consistent with the applied theme
* bug fixed : canvas color is not consistent in the Viewer mode
* reverting back changes made earlier
* reverting back changes made earlier
* bug fixed : canvas background in editor is not consistent with the applied theme
* Bug fixed : Viewer component is not consistent with the applied theme
* Add and modify data-cy attribute for elements
* Modify faker file for random rgba hex code
* Add methods specific for button widget
* Add and modify common selector and text file
* Add and modify common widget methods
* Modify button text file
* Modify button widget happy path file
* Remove button selector file
* Modify multiselect widget happy with new methods
* Modify verify box shadow css method
* Add and modify common selector file
* Modify button text file
* add and modify specific methods for button widget
* Add and modify custom commands
* Add and modify common widget methods
* Add app preview and modify button widget happy path
* Add and modify data-cy attribute for elements
* Modify multiselect widget happy with new methods
* Modify data-cy attributes
* Add review changes
* Add data-cy attribute
* Add review changes
Co-authored-by: arpitnath <arpitnath42@gmail.com>
* reverse proxy
* reverse proxy
* Fix for yjs
* Fix for ws
* Fixes org switching
* Fixes org creation
* Fixes login logo
* Fixes download icon
* Construct use invite URL from base URI
* Fixes apiUrl if sub path is set
* Remove commented code
* Fix profile link
* invitation url changes
* Fixes dev env
* Use url-join lib to connect urls for goto app and invitation link
* Use useHistory instead of helper to get history for template modal
* Review changes
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
* fixes: On toggling on the **Run the query on page load** and **Request confirmation before running the query.**, toasts are displayed in the preview apps
* removes extra toast for request on confirm
* fixes: on runQuery resolved, an error or a success toast should be fired
* show toasts only in edit mode
* fixes: show query and transformations toasts only in editor
* fir toasts only in editor
* show transformation toasts on edit more only
* Fixed env vars 404 error while opening public apps
* Resolved the PR changes
- Replaced currentUser with isPublic
- Added a new guard to check if the current app is not public or not
* Refactored some code
* Removed orga variable dependency from org module
* Resolved all PR changes
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
* Added new page for env vars
* Changed a field name
* Added some backend files
- Entity, Dto, services
* Started working with api endpoints
- implmented create
- added ability
* Added fields validation
- Added env variables into module
* Added update, delete, get apis
- Also implemented delete feature in frontend
* Implemented update operation on frontend
- Solved an api problem
* Added encryption
* Added encryption to update operation
- Exposed env vars to editor
- working on viewer
* Exposed env vars in viewer also
- Resolved a bug
* Updated edit & delete icon sizes
* Added specs
- Resolved issues that occurred while testing
* removed logout code
* Changed api endpoint
* splitted page into 3 different parts, Form & table
* Now, non-admin users can see all org env vars
* Resolved divider missing issue
* Added variable_type field
* Now secret server values will be shown as 'SecureValue'
* Now you can't update variable_type
* Now server will resolve the secret env values
* Resolved variable name issue
* Added unique constraints
* Resolved some frontend bugs
* Changed error text
* Fixed failing specs
* Added group permissions for org env vars
* Added permission checking in the backend
* Implemented permission checking in the frontend
* Edited spec for new changes
* Changed some specs and fixed failing specs
* Resolved failing case that showed up after merging with the latest develop
* Added default admin seed permissions
* Refactored some code
* Changed value to organization_id
* Fixed a bug
* Resolved a failing case
* Resolved PR changes
- Changed permission name
- Changed column type to enum
- Fixed some errors
- Refactored the code
* minor code change
* added scope
* Fixed: hide table when 0 no of vars available
* Fixed table dark theme issues
* Fixed encryption switch style
* Fixed failing cases and updated a spec
* Added %% for environment variables
* Added code to resolve single variable
* Fixed multi-variable usage
* resolved an issue
* removed extra divider
* Suggestions will also show up for %% too
* now, suggestions dropdown will only show env variables results
* env vars suggestions will not be included in js search results
* You can't resolve env variables from js code
- Also, we can't resolve js code from env variable enclosures
* added an info text
* Resolved variables issue
* fixed Viewer issue
* Resolved a bug
- client variable was not working on query preview and run actions
* Update error message while using server variable on canvas
* Revert "Update error message while using server variable on canvas"
This reverts commit 081e1c9e29.
* Resolved all PR changes
- removed prefix 'environmentVariable'
- redefined variable evaluation
- removed environmentVariable object from inspector
- fixed a small bug
* Fixed a server side issue
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* Implmented toggle and confirmation modal
- Also maintenance state will store in db as a global setting
* Added is_maintenance_on column to apps table
* Now maintenance state will store in app entity
* Lauch btn will be disabled for on-maintenance apps
* Users can't see preview using shared links when app is on maintenance
* Changed toggle name
* Changed maintenance dialog message
- Changed button text
- Fixed some alignment
* fixes dropdown fireEvent for on select
* fixes value undefined at .then() chained to Promise?
* adds explicit return statement for viewer: onComponentOptionChanged
* github actions for PR and push to develop branch
* test workflow
* move to workflows folder
* add setup node action
* modify build
* specify npm version
* config unit test
* specify host postgres
* specify container to run on
* add postgresql dependency
* add specify ws adapter for test
* add e2e test
* fix linting
* only log errors on tests
* update eslint config
* fix linting
* run e2e test in silent mode
* fix library app spec
* dont send email on test env
* fix org scope
* mock env vars
* remove reset modules
* force colors
* explicitly close db connection
* add eslint rule for floating promises
* update workflow
* fix floating promise
* fix lint
* update workflow
* run on all push and pulls
* update lint check files
* simplify workflow
* increase js heap size on env
* separate lint and build
Co-authored-by: arpitnath <arpitnath42@gmail.com>
* Better canvas
* Better canvas
* Better canvas
* Fix for resize
* Fix for drag
* Fix for drag
* Fix for drag
* Adjust width of components by # of grid lines
* Adjust components to comply with gridline based width
* Fix the width of rigth sidebar
* Fix for subcontainer resize issue
* Fix for dropped widget width (sc)
* Fix subcontainer drag width
* Fix grid for sub container
* Fix viewer
* Fix
* Fix
* Use RnD for dragging within canvas
* bounds for subcontainers
* fix for subcontainers
* Fix for mouseover issue
* Fix
* Fix widget widths
* Fixes chart
* Fixes qr scanner and divider
* Remove scaleValue
* Mmerge fix
* Mmerge fix
* Fix for ormconfig
* Fixes for comments
* Add comment where the user clicked
* Disable dragging on viewer
* Max width for canvas
* Fix for widget click events
* Fix for radio button
* Rebase widget width and left offset for responsive canvas
* Fix
* Fix the width of file picker
* Fix for calendar widget
* Disable zoom selector
* Fixes comment positions
* css fixes
* Fix
* Recompute width and offset of subcontainer widgets based on its parent's width
* Calculate container width separately for modal children while migrating to responsive
* Refactor migration to responsive canvas whereinwhich all mutations are done only after all required changes are computed
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* Run queries only after componentState is fully computed
* Run queries in the editor after componentState is computed
* Use promise ensure queries run after state is fully computed
* Validate datepicker has a moment object before using it as one
This commit ensures that the value a date picker holds is a moment
object before it format it using moment function
* Set selectedComponent for Viewer whenever component is clicked
* add ability to preview and edit versions
* add specs for get app versions
* create new app versions from prev definition
* fixes
* move default slug creation outside typeorm transaction
* set slug as app id when null
* fix app creation response
* fix entities not loading on test env
* add e2e test for version creation scenarios
Co-authored-by: navaneeth <navaneethpk@outlook.com>
* Dark mode part 1
* Dark mode part 2
* Dark mode part 3
* Dark mode part 4
* Dark mode part 5
* Dark mode part 6
* Dark mode part 7
* Dark mode part 7
* Dark mode part 8
* set light mode as default
* Dark mode part 9
* Dark mode part 10
* Dark mode part 11
* add migration to create slug for apps
* update migration file to include default slug population
* update schemafile
* add capability to get app by slug
* add capability to frontend to set and fetch app by slug
* remove unrelated changes from lint
* respond default 204 itself when success else render error
* make input field to show error when slug taken
* wip: show error message
* Cleanup
* add new route to fetch app by slug
* add slug to show json jbuilder
* update react components to fetch app by both id and slug
* fix launch link not being set
Co-authored-by: navaneeth <navaneethpk@outlook.com>