* 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
* add column app_create to group_permissions table
* add app create column to group permission entity
* backfill app_create permission as true for admin group
* add app delete permissions to group permissions
* update group permissions entity for app delete
* add ability to set group level permission for app creation
* refactor and fix app clone and imports
* fix created by user on homepage
* fix spinner on import
* update seeds service to set group level permission
* fix rollback query
* fix imported/cloned app timestamps
* honor logged in user permissions at UI
* remove console log
* fix data query id being replaced on import
* replace data query id within app versions on import
* Update table page data when page index is updated
* Pass pageIndex from useTable hook as lastActivePageIndex for pagination
* Goto last page in table whenever page count is less than current page index
* Add custom spacing for table cells
* Add migration to set every tables cell spacing compact
* Rename cellSpacing to cellSize
* Add documentation for table cellSize
* Add default value for text widget
* Revert "Add default value for text widget"
This reverts commit fc03b3bdcf.
t
* Remove extra space and add text widget
* add value at proper place and remove from display
* Make widget properties available as a prop to component
This commit also make the front-end app resolve widget properties
based on current state and definition, before passing in the final
resolved properties to the component
* Resolve unnecessary console.log and comments
* Provide styles as prop to component
* Give existing values precedence over definition values
* Serve properties and variables as separate props to components
* Remove the usage of separate directory for Box.jsx
* Remove unnecessary lint change
* Introduce fireEvent method to fire events
* Introduce validate function to validate a widgets value
* Rename "variables" to "exposedVariables"
* Add documentation for props and functions being passed to widgets
* Delete "id" from set of exposed variables presented to the widget
* Do not resolve exposed variables before passing to widget
* add ability to import and export apps
* copy credentials on imports if it already exists
* authorize exports for public apps with only authenticated users
* remove app auth guard for export
* make import as a separate button
* update import button styling
* handle prexisting slug while import
* set file input as null when file has been read
* add fix for slug updation on import
* create migrations for group permissions setup
* define new entities and relationships
* revise migrations
* rename columns
* add migration to populate permission groups for existing users
* Feature: User access permission group usage (#883)
* create migrations for group permissions setup
* define new entities and relationships
* revise migrations
* rename columns
* add migration to populate permission groups for existing users
* revise migrations
* hide roles usage
* setup group permissions for apps and users
* fix defaultChecked
* fix update permission checkbox
* fix casl ability check to have params passed
* fix casl apps abilities to check with app specific permission
* add ability to delete groups
* conditionally render edit and delete options for all and admin users
* fix user role to group migration
* revise group management pages to disallow updating default group
* move manage users and groups to navbar dropdown
* show only addable apps and users on dropdowns
* rename header as profile settings
* scope addable apps and users by organization
* scope viewable apps on homepage
* hide manage groups link from non admins
* make permissions to be used with radio input
* add loading state for add apps/users buttons
* revise unit tests
* revise migrations
* fix e2e tests
* comment out dead code
* fix seeds script
* handle folder count
* captalize error toast
* hide manage users dropdown for non admins
* show fobidden error on blank homepage
* fix folder app count
* fix invalid state set
* make group name clickable for edit instead
* users with edit permission can deploy apps
* not show edit link on homepage if user dont have update permission
* remove unused entity from merge
* remove roles usage from manage org users page
* fix folder count and blank slate on homepage
* disable add buttons if there is no selections
* humanize default groups on view
* make app added onto groups have read permission by default
* not show app menu if user is not admin
* remove admin users from group user addition dropdown
* create default permissions for app cloned
* fix querying index page without page params
* fix admin scoped out from group add
* remove apps from header
* fix invitation url not shown
* scope admin deletion check by org
* scope public apps by organization
* add specs for group permissions e2e
* removed unused entity and add group permissions spec
* remove console logs
* remove unused permission
* scope public app count by org
* remove console log
* refactor manage group permission resources component
* update group permssion in org scope