* fix: removed orgid from query options and updated dependent logic in tjdb operations service as well
* fix: On exporting tjdb table schema only tables used for respective operation is filtered and validated now it will not pick from join options json even if it is available for list row operation
* Add retry-toggle to app builder
* Add backend logic for number of retries
* Add retry-toggle to restAPI data-source
* Add margins between settings options in app builder
* Add changes for static-query toggle in app builder
* Initialise toggle value in store
* Change tooltip text
* Change classname for tooltip
* Add default value for toggle from manifest.json
* fix : rest api retry network toggle width issue
* Refactor: Setup retry initialization within restapi component (#10219)
* refactor to setup retry initialization within restapi component
* remove unused css class
* rename condition
* remove unused css
* Refactored: Merged RestAPIToggle into existing Toggle component
* Fix cookies support input render in querybuilder
* Add delayed initialization for retry_network_errors
---------
Co-authored-by: Abd-Rahman-1999 <s.rahmanabd1999@gmail.com>
Co-authored-by: Akshay Sasidharan <akshaysasidharan93@gmail.com>
* Fixed some issues
* Added error borders and fixed some more issues
* Added Tooltip for datatype label and added pill for create/edit row
* Resolved few more issues
* Resolved datetime input text colliding with clear button & create/edit row css collapsing
* Import/export for configurations added
* Minor Fixes
* Fixed calendar not being updated on keydown
* Fixed date formatting
* Bug fix: if option is undefined select dropdown is breaking application
* Hide Select section when one aggregate is added
* Deleting single aggregate will delete all the available group by values
* Wrapped showSelectSelection withing useCallback to avoid unnecessary re-renders
* Improved code readability of constructAggregateValue function
* Change the name of variable to columnList
* Updated the requested changes
* Removed duplicate condition
* Updated requested change
* Fixed : In Join operation, unable to select columns in aggregate condition
* Showing tooltip for truncated table name in group by section
* Disable the group by condition and and show tooltip if tableName is falsy value
* Fixed width issue of table name in group by section
Do not show dropdown if joining table is empty for the same
* show delete confirmation modal, when we are deleting last filled value and all other are half filled or empty, then discard all group by conditions
* fix : deleting aggregate with confirmation always deletes last avaialable aggregate whether its filled or empty
* Fix: editing aggregate change was not consistent
* Basic wrapper around Datetime picker component
* Cell Edit Menu for Datetime Picker
* Reverted Old Changes
* Added Datetime picker for Add/Edit Row
* Added datetime picker for create/edit column
* Added datetime picker for create/edit table
* Added datetime picker for create/edit table
* Disabled PK, FK, Unique and made some fixes
* Migration script added
* Internal table configuration update changes
* Updating internal table configuration based on timezone select
* Time display pill & support for changing & retrieving timezone from the frontend added
* Time bug partially resolved
* Time bug solved
* Minor Bugs Solved
* fix : datepicker closed when we select date from outside month which is not current month's date
* Minor Design Fixes
* Css & Comment Fixes
* Removed console.logs
* Fixed app import failing
* Changed datatype name and label
* Css Fixes and added clear button
* Minor fix
* Fixed create table breaking on null values
---------
Co-authored-by: Abd-Rahman-1999 <s.rahmanabd1999@gmail.com>
* Add cookies parameter to querybuilder frontend
* Add cookies parameter to datasource page
* Add cookies to the request headers in backend
* Change return type of sanitizeCookies function
* Change empty state styling in query-builder
* Add style changes for button
* fix : rounded corners in border for key field in rest api datasource
---------
Co-authored-by: Abd-Rahman-1999 <s.rahmanabd1999@gmail.com>
* Added no codition section when aggregates are not available
* Added feature to add aggregate condition and display it accordingly
* Added feature to change the aggregateFx option
* Added feature to update column option in the aggregate
* Added feature to delete the aggregate
* Disabling the group by according to valid condition but without tooltip
* Added flow for deleting aggregate
* feat: migration and configuration changes to support aggregation in tooljet database
* added functionality for join table operations
* Dropdown styles
* Showing section for aggregate dropdown for joinTable operation
* Added gap in multiple aggregate conditions
* Added table_id in aggregate condition
* Added custom placeholder
Adjusted width of add condition of aggregate
* Refactored logic for disable group_by field
Added tooltip when group by is disabled
* Updated aggregateFx to aggFx and groupBy to group_by
* feat: group_by and aggregate option in list rows
* added table name for aggregate dropdown value in joinTable operation
* Get the group by options
* value of aggregate column dropdown in join table operation
* Added error and success message for aggregate deletion
* Spacing adjustments
* Clear the unwanted code
* Updated the stucture of aggregate
* Updated the structure of group_by
* Fix: Query builder breaking due to undefined values
* feat: logic used to aggregate on joins
* Removing async
* fix: app is crashing
* feat: statement timeout at database level and user session level configuration can be done for ToolJet database
* Added min and max width to dropdown in tooljetdb query manager
* Added description
* Adding width as 80 percentage when description is not avaialable
* New Postgrest change for render related to Aggregate (#10175)
* New Postgrest change for render related to Aggregate and group by functionality
* correction in PGRST_DB_ENABLE_AGGREGATE value
* Adding the env variable PGRST_DB_PRE_CONFIG
* Adding the new postgrest related env changes to CE specific files
* fix: updated env variable naming for aggregates
* Showing description at the bottom for aggregate fx
* Fixing typo error
* Showing tick mark on selected item in dropdown when isMulti is false
* Updated requested changes
* Showing some description when option is not focused or selected
* Updated the component name to AggregateFilter
* fix: updated env variable to enable aggregation in tooljet database
* refactor: new wrapper to create migration connection for tooljet database
* fix: custom error message for aggregation errors has been handled for list_rows operation
* fix: code review fixes
* fix: aggregate function validation typo is updated
* fix: empty validation for Select and Aggregate fields
* postgrest changes for cypress
* removed PGRST_DB_ENABLE_AGGREGATE
---------
Co-authored-by: Ganesh Kumar <ganesh8056234@gmail.com>
Co-authored-by: Adish M <44204658+adishM98@users.noreply.github.com>
Co-authored-by: Adish M <adish.madhu@gmail.com>
* chore: moved fetching gds and lds from low priority calls
* Refactor: Optimize state updates by removing component dependencies on current state to avoid trade-offs
* clean up
* run on page queries after on app load queries are done executing
page load queries should be triggered even if the one or all the app load queries fails
* performance improvements:
- reduced calling resolver functions upto 50% times for components' rendering
- moved to new resolver function for resolving component properties: which 100 times more efficient as utitlises hash table to resolve references and only uses recursive function for resolving JS code by inferring the query
- reduced re-rendering of Box component upto 50-60%
- app load time improved by 30% : as resolver function is more efficient and 50% reduction on rendering of Box.jsx
* chore: removed currentState dependency from SubContainer and QueryManager
* chore: removed useCurrentState from old kanban component
* chore: filtered `false` from componentToRender array to avoid unwanted re-renders when there is an update in a component
* fix: minor improvement on buildAppDef function
* [performance] removes current state dependency from resolvers (#9934)
* Removes current state from function calls of resolver functions
* clean up
* remoes lodash clone deep to more efficient clone deep or copying utitlity method
* ts files to js
* replaced setTimeout to debounce method of lodash for more efficient delayed invocation and yielding mechanism to reschedule large number of tasks
* fixes file path for deepclone method
* fixes import file path for utils helpers
* fixes import file path for utils helpers
* clean up
* fixes: listView's custom resolvers are not getting updated
* chore: moved lastUpdatedRef state from Editor to the subscription of relsoverStore
* fixes: re-rendering of box component for trigger back resolvers
* fix: removing the delay as the runJS updates are not reaching to the components. While start running the query we are updated the componentIds that needs to be rendered. After running the query the same IDs are updated and this is stopping the re-render of the component
* Reverting commit 583460c
* fix: Table search event was not firing while clearing the search input
* fixes: mapping entites on clone page
* commit: Fixed issue on running query on app load with confirmation
* fix: we're mutating the data and which avoids the re-render to update the canvas bg colour. Added a deepClone to avoid it
* Bugfix - perf mapping (#10101)
* fixes: entity for compnent or query duplications with events
* maxDisplayLength for hinter's preview
* clean up
* fix: when multiple components are deleted, the codehinter has the deleted component as suggestion
* fixes: on typing fast the cursor postion changes its postion to first char of the line in multiline JS
* trial
* fix: moved currentValue state of codemirror to ref
* fix: the passed value to the codehinter was not updated properly
---------
Co-authored-by: Kavin Venkatachalam <kavin.saratha@gmail.com>
* fixes: evaluatin js code in codehinters with reserveed keyword
* fixes: reserved keywords string should be resolved and updated in the compnent
* re-rendering of componenrs in viewer
* fixes: resolving of refs
* added a timeout for filepicker
* removes 100s
* filepicker crashes (component) crash on page deleting
* fixes: app crash on adding file events
* fixes: hinter suggestions selection by keyboard
* [chore]: Show proper error message instead of app could not save (#10126)
* chore: show error message from BE instead of app could not save
* Added a fallback value
---------
Co-authored-by: arpitnath <arpitnath42@gmail.com>
* feat: Added a support for infinite scroll on searching foreign key data
* feat: added debounce for search in infinite scroll and refactored the infinite scroll logic on listing Foreign key data
* fix: while searching foriegn key values in the drop down of tooljet database for varchar datatype possible search results will be returned and for other datatype strict matching is followed
* fix: review comments for optional chaining has been fixed
* fix: typo error has been fixed
* fix: client search on foreign key drop down is disabled
* stylefix: menu height is fixed now for foreign key drop down
* fix: foreign key drop down scroll bar moves to top on each render fixed
* Fix : Caching the foreign key column options (#9828)
* Draft : Caching the fk options
* Refactored the code and use promise.all
* Used Promise.allSettled to ensure that all promises are processed regardless of whether they resolve or reject.
* Changed currentColumn to foreignKey
* Removed console
* Updated default value of cachedOptions state to empty object
* Updated the code with suggestion to uplift check condition
* Change the emptyError copyright to No values found
* Bug fixed : on mount api request failing
* Refactored code from calculations to data by removing optional chaning
* Fix: Remove null values from the foreign key drop-down list (#9895)
* fix: filtered out null values and brought empty string to top in the foreign key drop down
* fix: review comments addressed
* fix: while creating or editing FK relation the source column drop down will not list empty column names
* stylefix: cell was not clickable on empty string
* fix: empty values are not listed on Foreign key drop down used for cell edit
* fix: empty string can be added as default in create table operation
* Fixed : Fk options are not cached when source column name is updated
---------
Co-authored-by: Akshay <akshaysasidharan93@gmail.com>
Co-authored-by: Manish Kushare <37823141+manishkushare@users.noreply.github.com>
Co-authored-by: manishkushare <kushare.manish9@gmail.com>
* fix : foreign key dropdown width oversize issue in create and edit row
* fix : unable to read the menu text in fkr dropdown
* css classaname prefix changes
* fix : added tooltips for create and edit row in large fk values
* fix : Added max-width property for tooltip on create and edit row for foreign key fields
* fix :added tooltips for fkr dropdown in create and edit column
* fix : added tooltips for fkr dropdowns in create and edit table
* Prevent boolean datatype from being selected as a foreign key
* Change placeholder text
* Restrict foreign key relation for boolean datatype from edit/create column drawer
* Place disabled options together at the top
* Disable boolean datatype from dropdown
* Remove placeholder text and make it appear on hover
* Correct source-description text
* Correct the tooltip text for boolean data type
* Remove background colour from disabled options
* Change the tooltip text for boolean type in tableschema
* Disable cursor for disabled options
* Shows hover tooltip text on disabled options
* Change tooltip and placeholder text
* Change class name for Table schema header
* Add classname to heading
* Add styles for new & changed class
* Add styles for lightmode
* Add classnames for lightmode
* Change spacing and empty-foreign-key-container styles
* Add classname to text
* Add styles for the text
* Reduce gap between the icon and text
* Remove background colour when disabled in lightmode
* Remove button shadow
* Fix styles for create new column drawer
* Fix styles for create new row drawer
* Fix styles for edit row drawer
* Fix styles for edit column drawer
* Remove the background colour from column background
* Add scroll and fix font-size
* Remove errors
* Remove extra tooltip
* Loader added for foreign key dropdown
* Empty State text change
* Design Changes
* Loader added in Main Table Edit
* Minor Text Changes
* Added Loader in Edit/Create Column & Row
* added decode entity function
* added decode functions to resolve <> naming
* removed unnecessary fns
* Moved decodeEntities function to helpers/util
* Update frontend/src/_helpers/utils.js
Co-authored-by: Midhun G S <gsmithun4@gmail.com>
---------
Co-authored-by: Midhun G S <gsmithun4@gmail.com>
* fix : in actions dropdown from foreign key we make restrict as default options and changes text heading in source and target table
* fix : change of uppercase to lower case for text tile in foreign key drawer