* fixes:component names should be generated uniquely
* refactor
* removed unwanted condition
* fire toast only when user presses enter or onBlur event fires
* error toast only one should be shown at once
* refactor
* removed not req change
* feat: add clone component functionality
* change to cmd + d
* use unique name for copied item
* fix container clone issues
* move naming logic to parent
* deprecate old method
* remove inspector after clone
* generate uuid from pkg
* use copy of appdefinition
* remove redundant if stmt
* Fixes for tabs
Co-authored-by: Navaneeth Pk <navaneeth@tooljet.io>
* Allow flipping non-code fields to code fields
* Revert "Allow flipping non-code fields to code fields"
This reverts commit 190e686994.
* Accept type prop to CodeHinter
* Allow CodeHinter to display UI elements instead of codebox
* Use style FxButton as flipper for code hinter
* Do not show Fx button on codehinter that allows only codebox
* Implement Select and Toggle flippable fields for code hinter
* Apply proper padding for Fx button on codehinter and its toggle component
* Make component properties remember their Fx status
* Avoid generating code when Fx is activated
* Add Fx to color field
* Add Fx to align property type
* Support json type for codehinter and remove unused Text type
* Extend codehinter width to 100%
* Fix bug that caused serverside pagination property to not work
* Remove unnecessary comments
* updating File picker
Text input
Text area
DateRangePicker
Datepicker
PasswordInput
NumberInput
TextInput
codeEditor, to include border radius style option
* change to number input
* theme file updated to remove override for border radius
* change to number input
* text input updated with border radius style
* updated with border radius
* date range picker border radius removed
* removing overiding class
* fixes: On clicking Go to all datasources, UI renders the same component again
* fixes: modal datasource state update issue
* removes unwanted comments
* Expose setPage action of table on application load itself
* Coalesce target pageIndex to 1 for set table page action
* Do not fire onPageChanged for set table page action
* Change exposed pageIndex when set table page action is fired
* Use setExposedVariable to set pageIndex on set table page action
* Do not display functions on side bar inspector
* add modal to create init version
* add init version and ability to auto save
* auto save only when editing version is set
* Feature: App version management ui revamp (#1873)
* add modal to create init version
* add init version and ability to auto save
* auto save only when editing version is set
* revamp version switching on editor
* skip save on app definition load
* handle click outside dropdown
* fix remove component and update styling
* fix auto save detail
* change wording of deployed to released
* remove console.log
* add spec for version creation from another version
* update version create model and hide save detail after shown
* enhancement : import option to dropdown in homepage
* updated style for dropdown item
* included hover styles
* custom hook for inline media query according to screen size
* updated position of dropdown to end align in large screen
* screen size updated
* pr review changes : cleanup and css moved to theme file from internal
* typo error updated
* fixing lint issues
* added circular progressbar widget
* added a basic documentation about the widget
* added progress attribute
* bounding issue is solved
* edited the widget doc
* Added new style
- Text color
- Text size
* Changed the documentation
* new modal body with sidebar
* sidebar list
* card ui component and render datasources in deck of cards
* style fixes-datasource modal
* modal card ui
* refactored cards
* Card refactored
* data source list modal
* modal margin topt
* modal datasource search bar
* styles fixes and searchbar
* style fixes for the search bar
* margin fixes
* added filter for datasources
* undo unwanted
* empty state ui
* handle back to all datasource from empty etate
* on type icon
* clear icon
* updated onexit
* refactored handlesearch
* suggestion datasource ui
* removes active class when suggestion ui is on
* styles fixes for suggestied ui
* added darkmode fixes
* styles fixes
* padding fixed for search box
* exp: hover effect on datsources card
* exp: hover effect on datsource tyes list
* fixes typos
* should not able to submit an empty value
* fixes unsued console.logs and white spaces
* plugin icon prop to card component
* fixed close icon
* fixes margintop for searchbar
* list size fix
* fixes datasource title
* fixes datasource list padding
* moving minio plugin to cloud storage type
* fixing typos and refactored
* improved search
* fixes search box sideeffect
* fixes back to all datasources list
* adding groups which lists all the groups the current user belongs in globals [inspector(leftsidebar))]
* adds a check for possibility exists for a missing ref
* added dark theme to querymanager dropdown lists
* set Operation dropdown to 100% width to match light mode
* removed filter on icons, removed commented out styling
* disabled rnd dragging on maps widget canvas
* fixed: initial location field doesn't update map on the fly if lat and lng changed
* Exposed googleMapUrl
* Added text alignment property
* Replaced dropdown list with image radio buttons
- Added list of action buttons
- Added tooltips
* changed colors and icons
* tooltip is redesigned
* Added Json description feature
* Added a toggle button for toggle from chart data to json data
* toggle effects for chart-data and json-data is added
* documentation about json part is added
* replaced the position of json toggle . changed the section and label name
* marker color field will hide if plotly is enabled
* implemented tags widget
* added text color option, changed default tags
* added scrollbar & space between tags
* Required changes are added:
- Changed colors of buttons as per the document
- Now scrollbar only shows if it is needed
- Tags height will be static
* Changed documentation
- Added gif file
* Removed text color style option from inspector
- Changed md text file
* add launch icon
* Set categories for app templates
* Display button with dropdown for create new app
* Show modal when "create from template" is chosen
* Implement template selection modal category list
* Filter and list app templates based on selected category
* Display template screenshot on templates modal
* Align template screenshot vertically and horizontally centered
* Deploy template app when deploy button of template modal is clicked
* Display data sources in template preview
* Add search functionality to template modal
* Show "no results" if templates are not found
* Display category counts on template list
* Add styles for darkmode
* Dark mode style updates for template modal
* Add dark mode template screenshots
* Correct template screenshot proportion
* Change text on deploy button of template modal
* Remove links to apps and library from dashboard
* Remove library apps
* Remove unnecessary import of deleted component Library
* Show loading icon when template is being created
Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
* list view initial commit
* More stuffs
* More stuffs
* Minor changes
* merge fixes
* Minor changes
* Fix misspelt variable name that caused data to not show up
* Merge conflicts
* Fix lint for ListView component
* Update ListView to new API
* Fixes
* Fixes
* Fix radio
* Fix
* Lint fixes
* Set icon for List View widget
* Fix list view within tabs
* Fix
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* feature-842 mongo support
* feature-842 fix
* json parse improvement
* Feature-842 date data type support
* feature-842 fix
* convert ejson to bson on mongo queries
* fix type on parse
* json parsing
* Typo error fix
* Insert Many Fix
Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
* [Chore] eslint fixes (#1704)
* lint fixes
* fixes lint errors
* Use react-select library for dropdown
* Support search event and loading state on dropdown
* Apply brand color to dropdown
* Apply brand coloring to dropdown options
* Remove unnecessary code
* Fix unnecessary firing of onSearchTextChange on dropdown
* Display blank on dropdown if value is undefined
* Fix bug that caused dropdown disable to not work
* If values passed to dropdown are not array, make it array
* Grey out dropdown text for disabled dropdown
Co-authored-by: Arpit <arpitnath42@gmail.com>
* add migrations for versioning datasources and dataqueries
* eslint migrations folder
* update ormconfig to use app context in migrations
* make app to make use versioned data sources and queries in editor
* app import should honor data source and query versioning
* register ts-node path on running migrations
* load data queries when finding versions
* update e2e tests
* handle for invalid oauth2 datasources
* update e2e tests
* introduce db migrations access lock to handle concurrent backfill
* scope migrations by missing version id
* fix import export without data source/query versions
* fix import
* fix spec
* handle invalid data on migration
* fix import
* remove console logs
* handle new app imports
* fix version check
* fix async creation
* explicitly add timestamps on version import
* make calendar week date formattable
* update version only if calendar is present
* Fix erroneous date format determination while migrating to custom week view date format
* Add documentation for calendar week view header date format style
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* Install typesense npm package
* Implement CRUD operations using TypeSense
* Add documentation for typesense integration
* Rename apiKey to api_key and make it encrypted for typesense
* Add logo for typesense data source
* Add delete operation to typesense
* Add documentation for delete document
* Make protocol field a dropdown for TypeSense
* Additional documentation for TypeSense data source
* new implementation/modal
* title fixed
* removed use of component for getting exposed variable
* renamed useState var
* Rename variable canShowModel to canShowModal on Modal component
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* new implementation/image
* Revert "new implementation/image"
This reverts commit 637bd83108.
* new implementation/container-widget
* resolved
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* new implementation/rich-text-editor
* Ensure that Rich text editor exposes its default value on load
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* new implementation/daterange-picker
* resolved
* Bump default width of range picker from 8 to 10
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* text-input widget
* button widget
* fix text input widget
* number input widget
* checkbox widget
* refactor checkbox
* radio btn widget
* dropdown widget
* refactor textinput and number input
* updated state variable
* Remove usage of component and currentState prop in dropdown
* Reset dropdown value whenever option set is changed
* Make text input respond to changed in its default value property
* Radio button component fix
* default value for number input: fixed
* Fix validation on Text Input component
* Use useState hook to manage value of text input component
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* new implementation/image
* Revert "new implementation/image"
This reverts commit 637bd83108.
* new implementation/chart widget
* Remove the usage of currentState from chart component
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* upddated to new api & multiselect labels fixed
* backfill properties
* Expose default value of multiselect once the component is loaded
* Make multiselect reset to empty whenever option set is changed
* Whenever option set of multiselect changes, set it to default value if default value fits inside the new set of options
* Avoid crash in multiselect using ? operator.
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* feat: add restore shortcut when component is deleted
* change toast messages to hot toast from toastify
* change toast messages to hot toast from toastify
* change toast messages to hot toast from toastify
* on key press match clear the pressed keys
* add react hotkeys hook and delete use-shortcuts custom hook
* change toast messages to hot toast from toastify
* add immer lib
* applyPatches from immer + add undo redo on appdefination changes
* remove notification on undo
* add can-undo + can-redo checks
* add missing can-redo to handlePatchAdd
* add component versioning on componentDefinitionChanged
* set default value of loading state to interpolated boolean false for table
* set canUndo on initial load to false
* fix last element not getting removed on undo
* Remove console log
* add migration to change loadingState for existing tables
* set loadingstate value based on the previous value
* fix: app crash on inspector opening
* add check for selectedComponentId inside components def
* update template definitions for loadingState
* fix alert for success, error, info for button notifications
* 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>
* portal for code hinter popup
* codehinter portal styles
* portal editor height
* update icons
* hinter changes
* refactoring to a separate dir
* code hinter - portal
* component details added in the portal header
* portal header: source name fixed
* portal header: inlcludes field name in the header
* display field names for rest api
* display field names for transformation
* handle for empty component names
* portal preview code bg
* foreUpdate
* foreUpdate
* refactored and using same codemirror component to render portal's editor
* clone codemirror to two different component
* fixed - need click to render the field data
* force update
* table component cell types: included
* chart component types: included
* alignment of the preview area
* btn color adapts to theme-fix
* remove console.logs
* disable portal editor for event manager
* scss unsued ruleset removed
* name fixes and remove unsued var
* .
* null check
* removed hardcode componentName
* app z-indexes: added z-index for suggestion-hints
* hook exhaustive-deps
* portal custom hook
* updated function name
* icon position fix
* hinter fails to open in certail scenarios: fixed
* updated to new api, fixed time-selection, and fixed enableDate
* fix typo
* fix validate arg
* Initiate datepicker value to defaultValue and validate without referring to currentState variable
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* Display apps as cards on dashboard
* Add alignment, border and font styles to app cards
* Arrange app cards in 3x5 grid on dashboard
* Fix bug with app list index calculation
* Remove overflow and scrollbar from homepage body
* Align homepage header with apps grid
* Display three-dots icon on top-left of app card
* Highlight app card on hover on dashboard
* Replace edit and launch buttons with new design on app card
* Align app cards along with folder panel
* Change three-dots image of app menu
* Align app name and details towards center of app card
* Support dark mode in dashboard
* Apply brand colors to app dashboard
* Set canvas container bg color to #2f3c4c for dark mode
* Hide scrollbar from app body
* Fix alignment issues on app dashboard when app create button is not shown
* Rename svg file for three-dots icon on app card
* Read file as dataURL or textString
* adds new properties to the file picker docs
* url -> URL encoded string
* typo fix
* docs update
* remove file reading options, and default file reading as textSting and dataURL
* remove docs: definations
* name variable should be empty string too by default
* data (exposed variable) updated to dataURL
* data (exposed variable) updated to dataURL
* SSO 🔥 (#2)
* Add rough implementation of google SSO
* Use env variables for storing Google Oauth client id
* Set organization user to active when a new user is created via sso
This commit also fetches first name and last name from the payload
received from google.
Also adds some refactoring.
* Apply proper styles to google login button
* Refactor oauth controller
* Move google specific logic to a separate service
* Fail sign-in if google could not verify idToken
* Refactoring update for GoogleOAuthService
* Change env variable name for google sso client id
* Show Google sign-in button only if client id env variable is given
* Add SSO_GOOGLE_OAUTH2_CLIENT_ID to app.json
* Whitelist apis.google.com in CSP
* Add accounts.google.com to CSP
* Add documentation for Google SSO
* Add e2e tests for Google SSO
* Resolve minor linting issues
* Avoid use of raw query in migration for SSO ID
This commit also adds an index for SSO ID
* Verify domain of user's email id for single sign on
* Add documentation for RESTRICTED_DOMAIN env variable in SSO
* Move SSO controllers and services to ee folder
* Move GoogleLoginButton to ee folder
* Test the restricted domain verification for Google SSO
* Remove unnecessary console.log
* Apply better styles to Sign in with google button
* Remove documentation for Google SSO
This will be added to the community edition repo
* Remove unnecessary static images
* Fetch Google OAuth2 client id from server instead of client env (#3)
* Check for existing email when signing in via SSO (#4)
* hotfix oauth service return type
* hotfix sso user creation
* Allow disabling sign-up via SSO (#5)
* hotfix file input change on import/export
* Align SSO button on login box center (#6)
* Fix: group permission not being set on sso (#7)
* fixes group permission not being set on sso
* update specs for sso
* lint fix
* add user id on login response
* decamelize keys on login response
* fix specs
Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
Co-authored-by: navaneeth <navaneethpk@outlook.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>
* Code Editor Widget
* code editor docs added
* updated to Code Mirror
* updated to Code Mirror
* Language resources do not need to be importe in @codemirror-v3.x
* code editor docs: updated with language mode info and link
* comment pkg.json for future ref - @uiw/react-codemirror versions
* docs: supported lang
* widget reference sidebar alphabetical order
* removed comment form pkg.json
* preview codeHinter default=true
* adding preview code for codeHinter for table widgets
* previw for codeHinter in eventManager and RestAPI headers tab fixed
* added classes to header tabs
* fixed preview for transformations
* widgets preview for title
* preview for advance tab QueryManager
* preview box for datasource queryeditor
* sql code hinter UI spaces fixed
* reset t0 default value when optin values gets an update
* reset the default value to empty string
* Revert "reset the default value to empty string"
This reverts commit 6845422613.
* Revert "reset the default value to empty string"
This reverts commit 6845422613.
* Reset to default value or to undefined when option values gets an update
* removed unused effects
* added tooltip
* Update frontend/src/Editor/LeftSidebar/SidebarComment.jsx
Co-authored-by: Sherfin Shamsudeen <sherfin94@gmail.com>
* Fix tooltip not showing up on sidebar item when disabled
Fix tooltip not showing up on sidebar item when disabled
* Remove if statement around onClick handler - sidebarcomment
* Fixing lint issues
* Add support for events for table toggle
* Await cell value change before firing table togle event
* Make execution of actions for column events and table button events serial
* Await execution of each table column/button event before executing the next
* add ability to list buckets/objects and create signed url fot GET and PUT
* ask to specify region when adding s3 buckets
* add ability to read file contents from s3
* add ability to upload to s3 bucket
* rename s3 dropdown options
* add abilty to read, write, list and generate signed url for gcs
* fix gcs query service
* remove paginated response
* make gcs private key as textarea
* revise gcs upload response
* Insert required boilerplate code for Calendar widget
* Display basic calendar
* Display events on calendar widget
* Pass JS date object as calendar default event date
* Add resource scheduling to Calendar widget
* Add icon for Calendar widget
* Allow configuration of views and default view for calendar
* Add onEventSelect event to Calendar widget
* Accept date as string for Calendar
* Option to disable/enable toolbar in Calendar
* Add default date to Calendar
* Add support for setting color of calendar events
* Set calendar cell size to 50px
* Allow spacious and compact cell sizes for Calendar
* Add support for "select slots" event for calendar
* Add support for custom event tooltip for Calendar
* Add support to not highlight today and now in Calendar
* Add visible border for Calendar events
* Set 14px font size for calendar toolbar
* Add dark mode styles for calendar
* Make calendar view mode controllable with logic
* Add documentation for calendar widget
* Add additional documentation for calendar events
* Expose default view instead of view for calendar
* Add documentation for changes in calendar
* Style updates to calendar
* Increase padding for calendar events
* ui: add a comment-loader while a comment is being added
* ui: add loader while notifications are being loaded
* add correct y co-ordinate for temp loader
* on tab change add loader for comment sidebar notifications
* Goto app handler, when run as the on-success event handler of query, it should not ask for confirmation, in the viewer
* Goto app handler, when run as the on-success event handler of query, it should not ask for confirmation, in the viewer
* add ability to list buckets/objects and create signed url fot GET and PUT
* ask to specify region when adding s3 buckets
* add ability to read file contents from s3
* add ability to upload to s3 bucket
* rename s3 dropdown options
* update region dropdown for s3
* feat: initial commit for collaboration feature
* add dnd to comments
* add positions endpoint
* feat: encapsulate all http common logic in http-client
* segregate sections and transfer responsibility of state
* feat: use-spring to add fade effect ⚡
* fix: open in right
* fix: left-right position css
* add footer for message
* integrate getcomment endpoint
* use fromnow for date ago
* add dnd
* - Add data trasfer object for comment
- Add class-validator package to check the response type from client
- Add comment repository class for persistance layer
- Add comment service with std. http methods
- Update controller with all http methods
- Update comment module
- Fix http-client bug when error is thrown
* fix http client bug when error is thrown
* feat: add entity thread
* feat: add migrations for thread and comment
* update entitites
* add tid to migration
* filter comments by tid(thread_id)
* fix: comment migration, add missing column comment
* feat: integrate in ui
* feat: split comments based on app_id
* fix: dnd to correct position
* package json engines
* engines update
* update npm
* npm 6 to 7
* fix: add user initials to thread
* fix: add firtname lastname to the comments
* - Return user object when save thread called
- Hide password field from user response
- Fix created_at date typo
- Instead of fetch all threads on new thread added, add the response to array of existing threads
* feat: update ui components
* change icon on comments view
* ui fixes
* fix: close icon close the popover
* temp: comment select: false
* use currentUser from localStorage
* fix: on click outside if comment is open, dont hit addThread
* fix: auth token issue in http-client
* on drag hide the comment if open
* add jwt auth
* spec: add test for comment & thread
* cleanup: remove console.log
* feat: add comment actions
* feat: add edit, delete, resolve options
* feat: add mentions component
* feat: add nestjs websockets
* temp
* websocket: establish client-server communication
* ws: add message listner to comments module in ui
* feat: add broadcast method to broadcast new events to all clients 💣
* ws: cleanup 🤙
* fix: remove max height from comment actions
* feat: add user mentions, emoji support
* fix: add static list of users - temp
* update and delete iterations
* - Rename comment, thread to comments, threads
- Add conditional actions
- Show edit, delete only if he is comment owner
- Show resolve only if he is thread owner
* reset engines
* move svgr webpack to deps
* fix: ui issues
* remove log stmt
* refactor: move resolved icon to comment-header
* feat: allow comments to be added on top of widgets
* feat: add keyboard shortcut
* scroll to bottom on comment add
* ui fixes
* feat: add react toast for notification display
* feat: add comment badge
* fix: ws connection
* fix: ws
* remove rvrse
* feat: add comment sidebar
* feat: add comment right sidebar
* fix: add missing foreign key elements
* - upgrade typeorm to 0.2.38
- comment sidebar ui
- added filter ui
* feat: on click of right sidebar notificaiton open the comment box
* reset engines
* fix: add organization id to the comment and thread module
* fix: add current version id
* add currentversion id
* disable comments if no id present
* temp:checking for heroku deploy
* fetch app on edit and deploy version
* rename current_version_id to app_versions_id
* ui fixes
* show mentioned user in blue color
* add ui changes
* add authorization for create thread
* change color to blue on click of comment, add auth for other endpoints of thread
* update threads, notifications using socket
* add auth for comments
* remove events spec file
* fix duplicate key error
* fix notificaitons updation on edit, delete, resolve buttons clicked
* update notifications for edit
* feature toggle changes for frontend
* add check for comments server
* add emoji mart package for emoji
* add reply count in comment sidebar
* subtract 1 from count in comment sidebar
* change empty text when no comments available