Commit Graph

1955 Commits

Author SHA1 Message Date
Andrew Kingston eabd57d20b Add FAB for adding rows and inline row creation 2023-04-21 10:26:55 +01:00
Budibase Staging Release Bot 91e7fe8ec1 v2.5.6-alpha.13 2023-04-21 07:16:47 +00:00
Budibase Staging Release Bot 269cbc8b2c v2.5.6-alpha.12 2023-04-20 18:35:09 +00:00
mike12345567 060dc05afa Removing export all apps functionality from cloud - this was a very niche feature and often confusing, now there is a consistent flow for starting out in self host. 2023-04-20 17:19:17 +01:00
Andrew Kingston 55ce83c444 Grid UI in data section (#10329)
* Add WIP spreadsheet

* Add footer and improve styles

* Refactor to use IDs and support changing text values inline

* Add inline editing of options fields

* Add row deletion and fix sizing

* Add ability to add new rows

* Fix z-index issue with option cells

* Remove deletion notification and fix selection

* Add gap between items in an options cell

* Tweak options cell to be pixel perfect

* Fix padding around sheet not working when scrolling

* Add resizable columns and add support for all themes

* Allow multiselect component and field to support text values

* Generate inclusion schema when importing multiselect columns

* Add support for multiselect type

* Add number cell

* Add functional date cell

* Disable editing autocolumns

* Make sticky column the primary display and fix opening options cells

* Improve display of relationship cell and options cell

* Support empty dates and use CSS variables for easier styling

* Use more CSS variables and add utils to spreadsheets

* Add drag and drop column reordering

* Break out reordering logic into new stores

* Rename reordering to reorder

* Break out other components from spreadsheet for cleaner code

* Break out spreadsheet body into its own component

* Split into more modular components and try virtual rendering

* Test absolute positioning

* Optimise virtual rendering for both columns and rows to handle infinitely large datasets

* Optimise scrolling and virtual rendering performance

* Fix columnn reordering

* Migrate sheet to data section, improve reordering and reszing

* Clean up more sheet state and increase performance

* Fix multiple issues with z-index, reordering and resizing

* Fix date cells in sheets

* Separate data fetching logic from main sheet and tidy up

* Add infinite scroll, improve row fetching, add error handling, fix svelte store updates

* Fix overly thin scrollbars in firefox

* Use nicer checkboxes and fix some hover styles

* Fix issue reordering columns in firefox and increase performance

* Tidy up

* Use search endpoint instead of get endpoint to fetch individual rows so that relationship enrichment occurs

* Tidy up

* Fix relationship issues when creating rows

* Optimise resetting data to smoothly transition when changing datasource

* Add WIP virtual dom implementation to massively increase performance

* Refactor spreadsheet into more discreet components

* Fix multiple issues, clean up rendering, improve performance

* Tune cell sizes

* Fix some scroll issues and add shadow to sticky column

* Fix issue when no primary display is set

* Add padding to sheet

* Improve styles

* Allow reordering columns to be the first column after sticky column

* Fix row hover state not being removed

* Update hovered row on wheel

* Update scroll styles and z-index

* Improve scroll logic and handle horizontal wheel events

* Simplify and improve z index styles

* Fix styles when using no sticky columns

* Improve rendering performance

* Improve performance by removing keyed each blocks and fix reorder target styling

* Ensure scroll top is always properly reset and add config store

* Allow configuring selecting rows and adding rows

* Integrate sheet into data section better

* Add back in functional delete row button

* Refactor stores and make state more modular

* Lint and remove unused deps

* Remove add column button

* Fix options cells being unable to scroll

* Add WIP initial multi-user websocket implementation for sheets

* Add WIP multi-user UI for sheet interface

* Fix issues with not disconnecting users when swapping datasource and improve multi-user UI

* Update layout and remove logging

* WIP column popovers for dataspace sheets

* Add popovers to sheet column headers, improve mouse UX

* Tidy reordering stuff

* Refactor resizing logic into store and improve UX around hover events when resizing/reordering

* Add column sorting and reordering via popover

* Handle context menu events in header cells

* Fully integrates sheets with datasection and remove lots of old stuff

* Fix buttons being highlighted when filters are set

* Add flags for controlling editing and adding rows in sheets

* Count context menu clicks when considering the click outside handler

* Prevent adding rows to users table and remove log

* Expose loading state of sheet and improve column highlighting logic

* Small style updates

* Update delete button and allow horizontal scrolling

* Add context menu to sheets with deletion and duplication features

* Improve UX around selecting rows and cells

* Add basic keyboard interactions to dataspaces

* Improve keyboard navigation in sheets

* Remove unnecessary searching through large rows array

* Fix issue with deleting rows and fix relationship cells displaying undefined

* Improve loading state

* Update menu width

* Merge with new shared-core and moved lucene utils

* Improve rendering performance and simplify component props

* Remove new row component and improve mouse interactions

* Tidy up buttons above sheets and add FAB for adding rows

* Optimise sheet data loading and add sort button

* Update sorting and remove logs

* Add sheet button to control column visibilty, improve sorting, improve disabled states

* Fix bug with select placeholders and fix sorting loops causing endless refreshes

* Update filter button to look consistent and add double click to resize columns to default width

* Ensure all derived stores have default values

* Reset scrolling when datasource changes and fix wasted pagination calls

* Improve performance by removing searches through the full row array

* Add advanced key handling for spreadsheets and improve blur and focus UX

* Ensure the selected cell is always visible

* Add icons for all data types

* Add new long form text cell

* Add boolean cell

* Add ability to focus first cell via tab

* Add cells for formulae and JSON

* Remove console logs

* Add attachment cell

* Increase padding to account for attachment dropdown

* Prevent deleting autocolumns via keyboard

* Fix attachments overflowing

* Improve sort button, remove header more icons unless hovered and highlight sorted column

* Add functional relationship cell

* Improve relationship cell

* Fix race conditions and edge cases in relationship cell

* Update user avatar colours

* Improve preservation of column widths in sheets when making schema changes

* Remove redundant sheet schema context and fix issues with mutating table schema

* Disable websocket in sheets

* Rollback state changes when row saving fails

* Fix one-to-many relationships allowing selecting multiple rows on both sides

* Remove log

* Make sheet gutter width customisable

* Allow expanding rows using existing edit row modal

* Fix text cell not using full width

* Sort columns to put autocolumns last

* Add new footer for adding rows, improve store memoization, support inverting all data types

* Improve animations for adding rows and handle add row failure

* Ensure all sheet feature flags work as expected and fix multi row deletion

* Fix options ordering

* Fix add row button not appearing when horizontal scrollbar is hidden

* Fix selecting newly created rows

* Remove log and add notification when creating or editing columns

* Move new row component to top, automatically invert cell renderers when required

* Add resizable rows

* Fix overlapping long form text borders

* Fix scroll not working in new row

* Update new row component, fix z-index issues, improve UX

* Large refactors to row creation, naming and sheet APIs

* Refactor stores to fix dependency issues, use modals for adding rows, simplify sheet

* Fix resize overlays

* Add custom colors for drop shadows and blue-100 to all themes, fix sticky column shadow

* Increase horizontal padding when scrolling to a selected cell

* Add multiple validation improvements

* Add validation to duplicating rows

* Remove log

* Restore missing event handler

* Improve data fetch reset logic, fix issues with stale cache in spreadsheets

* Fix issue with cell colors, improve row API interactions to avoid relationship issues due to API response differences

* Fix filters not working

* Simplify logic for reordering and add new overlay. Simplify sheet cells

* Fix importing and exporting with sheets

* Fix reorder overlay z-index issue

* Fix issue when no display column exists

* Fix issue with display column not being able to be unset

* Add persitence to column size and order in sheets

* Improve sheet integration with data section and add horizontal cell inversion

* Fix double click resizing of sticky column

* Make column visibility persistent and refactor column updating

* Improve sheet loading states

* Add beta button to sheet, tidy up constants

* Work around table API inconsistencies to handle table schema updates

* Add additional reorder options and improve beta button

* Improve sorting

* Add copy and paste to spreadsheet and add immediate editing of cells without additional click

* Remove copy/paste rows, remove move to start/end, improve copy/paste for cell values

* Fix dependency ordering

* Refactor other sheet stores to improve dependency ordering

* Fix errors not showing in sticky column and clear cell value on backspace press

* Rewrite relationship cell and update default column widths

* Ensure dynamic row height is properly accounted for

* Update text cells, number cells, long form field cells and relationship cells to respect row height

* Fix row heights with sticky column

* Update JSON, boolean and date cells to respect row height

* Update attachment cell to respect row height

* Use unique background for focused cell

* Standardise shadows across cell types

* Persist row height as table metadata

* Improve a few design issues

* Clean up

* Fix relationship cells not being readonly

* Lint

* Fix icon padding in relationship picker

* Improve styles in relationship dropdown

* Update shadow

* Update relationship icons

* Update relationship icons

* Update error label max size and position

* Prevent using invalid data types as display columns

* Add menu option to edit rows in modal

* Prevent sheet handling key events sourcing from modals

* Standardise menu overlay shadow and add count to relationship cells when hovering

* Improve relationship cell performance

* Remove spellcheck from text fields

* Fix resize overlay handler height

* Fix reorder overlay height

* Remove unused code and change selected table faster in data section

* Fix table selection not working when on datasource page

* Improve sheet loading state

* Add rowHeight property to table types

* Restore builder middleware

* Remove any naming of dataspaces

* Lint

* Disable row import button for users table and add optional chaining to spreadsheetsocket invocations to fix tests

* Use unique user edit modal for editing users in sheets

* Add schemaOverrides prop to sheet and use it to customise user table schema

* Update number icon

* Fix primary display column not properly disabling certain menu options

* Merge

* Update beta button position slightly

* Update beta button text

* Fix HMR for custom plugins which was broken due to signed minio links

* Add maze link to grid

* Update koa <> socket.io integation to improve fake koa context and allow current app middleware

* Rename sheet to grid

* Fix menu postiion, fix copy and paste in menu not working

* Remove commented out usages of websocket emissions for grid
2023-04-20 15:56:24 +01:00
Andrew Kingston 7afd716e91 Merge branch 'develop' of github.com:Budibase/budibase into spreadsheet-integration 2023-04-20 15:24:25 +01:00
Andrew Kingston fe5ab61941 Fix menu postiion, fix copy and paste in menu not working 2023-04-20 08:58:49 +01:00
Andrew Kingston 6bf6d15849 Rename sheet to grid 2023-04-20 08:17:07 +01:00
Andrew Kingston c82451f888 Update koa <> socket.io integation to improve fake koa context and allow current app middleware 2023-04-20 08:02:49 +01:00
Budibase Staging Release Bot 34b3781b59 v2.5.6-alpha.6 2023-04-19 13:29:39 +00:00
Andrew Kingston d3827cdceb Add maze link to grid 2023-04-19 14:28:54 +01:00
Andrew Kingston 8c1d939276 Update beta button text 2023-04-18 21:20:08 +01:00
Andrew Kingston 71de911922 Update beta button position slightly 2023-04-18 21:18:26 +01:00
Andrew Kingston 9b2b071b88 Merge branch 'develop' of github.com:Budibase/budibase into spreadsheet-integration 2023-04-18 21:00:42 +01:00
Budibase Staging Release Bot 06ec04dcec v2.5.6-alpha.5 2023-04-18 16:40:23 +00:00
Budibase Staging Release Bot a13cdefd01 v2.5.6-alpha.4 2023-04-18 13:44:25 +00:00
Andrew Kingston 6d2c928e51 Fix primary display column not properly disabling certain menu options 2023-04-18 14:18:57 +01:00
Andrew Kingston dfd958a08e Update number icon 2023-04-18 14:06:11 +01:00
Andrew Kingston 06e1f2954a Add schemaOverrides prop to sheet and use it to customise user table schema 2023-04-18 13:41:17 +01:00
Andrew Kingston a06f584e7d Use unique user edit modal for editing users in sheets 2023-04-18 13:12:20 +01:00
Andrew Kingston d331072f9a Lint 2023-04-18 10:54:10 +01:00
Andrew Kingston 876522bf1e Merge branch 'develop' of github.com:Budibase/budibase into spreadsheet-integration 2023-04-18 10:48:53 +01:00
Andrew Kingston 083836a87b Remove any naming of dataspaces 2023-04-18 10:46:35 +01:00
Budibase Staging Release Bot 287ba01691 v2.5.6-alpha.3 2023-04-18 09:44:21 +00:00
Andrew Kingston 8aff208acd Improve sheet loading state 2023-04-18 09:08:38 +01:00
Andrew Kingston 140729b1d7 Remove unused code and change selected table faster in data section 2023-04-18 08:51:00 +01:00
Andrew Kingston a4515e1162 Merge branch 'develop' of github.com:Budibase/budibase into spreadsheet-integration 2023-04-18 08:29:27 +01:00
Andrew Kingston fef44737f8 Fix reorder overlay height 2023-04-18 08:23:14 +01:00
Andrew Kingston 420e0bb279 Fix resize overlay handler height 2023-04-18 08:22:28 +01:00
Andrew Kingston ccb02661c8 Remove spellcheck from text fields 2023-04-18 08:22:04 +01:00
Andrew Kingston 6f98bca393 Improve relationship cell performance 2023-04-18 08:21:54 +01:00
Andrew Kingston b21e22071e Standardise menu overlay shadow and add count to relationship cells when hovering 2023-04-18 08:05:13 +01:00
Andrew Kingston 2da07fb90c Prevent sheet handling key events sourcing from modals 2023-04-17 18:59:01 +01:00
Andrew Kingston 508cb6c58f Add menu option to edit rows in modal 2023-04-17 18:53:44 +01:00
Andrew Kingston 5d964a756c Prevent using invalid data types as display columns 2023-04-17 18:49:36 +01:00
Andrew Kingston 466e11aa57 Update error label max size and position 2023-04-17 18:29:54 +01:00
Budibase Staging Release Bot 443319f4a5 v2.5.6-alpha.2 2023-04-17 16:55:49 +00:00
Andrew Kingston 208e481bbc Merge branch 'develop' of github.com:Budibase/budibase into spreadsheet-integration 2023-04-17 17:00:56 +01:00
Andrew Kingston 51f873beb6 Update relationship icons 2023-04-17 16:42:53 +01:00
Andrew Kingston 091db0a144 Update relationship icons 2023-04-17 16:41:25 +01:00
Andrew Kingston b6877a6d7c Update shadow 2023-04-17 16:32:51 +01:00
Andrew Kingston e7482746c0 Improve styles in relationship dropdown 2023-04-17 16:31:42 +01:00
Andrew Kingston 5ae4c387db Fix icon padding in relationship picker 2023-04-17 16:29:22 +01:00
Andrew Kingston c614c0739f Lint 2023-04-17 16:22:59 +01:00
Andrew Kingston 666762a2c2 Fix relationship cells not being readonly 2023-04-17 16:06:20 +01:00
Andrew Kingston e48e2ff7f0 Clean up 2023-04-17 16:04:41 +01:00
Andrew Kingston 1c702d5f07 Improve a few design issues 2023-04-17 15:58:14 +01:00
Andrew Kingston 730fe0a8ea Persist row height as table metadata 2023-04-17 15:53:20 +01:00
Andrew Kingston 6c5ac00acb Standardise shadows across cell types 2023-04-17 15:41:55 +01:00
Andrew Kingston 4427b18466 Use unique background for focused cell 2023-04-17 14:58:09 +01:00
Andrew Kingston 53d3eaf465 Update attachment cell to respect row height 2023-04-17 14:54:58 +01:00
Andrew Kingston 0cede10867 Update JSON, boolean and date cells to respect row height 2023-04-17 14:50:36 +01:00
Andrew Kingston d38cf2d7f0 Fix row heights with sticky column 2023-04-17 13:53:24 +01:00
Andrew Kingston c4125b5a93 Update text cells, number cells, long form field cells and relationship cells to respect row height 2023-04-17 13:37:03 +01:00
Budibase Staging Release Bot b62633587f v2.5.6-alpha.1 2023-04-17 11:33:21 +00:00
Andrew Kingston bed6fe607c Ensure dynamic row height is properly accounted for 2023-04-17 12:28:34 +01:00
Andrew Kingston 6931436006 Rewrite relationship cell and update default column widths 2023-04-17 12:20:21 +01:00
Budibase Staging Release Bot b81be5d686 v2.5.5-alpha.4 2023-04-17 10:51:12 +00:00
Budibase Staging Release Bot f9c5fd489b v2.5.5-alpha.3 2023-04-17 10:30:38 +00:00
Budibase Staging Release Bot 457e1d7a1a v2.5.5-alpha.2 2023-04-17 09:34:23 +00:00
Budibase Staging Release Bot e60b09b03e v2.5.5-alpha.1 2023-04-17 09:01:24 +00:00
Andrew Kingston b867d359f4 Fix errors not showing in sticky column and clear cell value on backspace press 2023-04-16 11:56:27 +01:00
Andrew Kingston 6da9da4267 Refactor other sheet stores to improve dependency ordering 2023-04-16 11:50:47 +01:00
Budibase Staging Release Bot 8e87a5e700 v2.5.5-alpha.0 2023-04-14 16:45:33 +00:00
mike12345567 b36702ca72 Merge branch 'master' of github.com:Budibase/budibase into develop 2023-04-14 17:32:04 +01:00
Andrew Kingston c2de10c076 Fix dependency ordering 2023-04-14 15:35:47 +01:00
Andrew Kingston b1d227b65f Remove copy/paste rows, remove move to start/end, improve copy/paste for cell values 2023-04-14 15:11:52 +01:00
Budibase Staging Release Bot e8e704259e v2.4.44-alpha.26 2023-04-14 11:34:48 +00:00
Budibase Staging Release Bot 9f4a340927 v2.4.44-alpha.25 2023-04-14 11:18:12 +00:00
adrinr 1a26877f08 v2.4.44-alpha.24 2023-04-14 12:10:49 +01:00
Budibase Staging Release Bot 788b7b6492 v2.4.44-alpha.23 2023-04-14 11:03:56 +00:00
Budibase Staging Release Bot fc971ed3ad v2.4.44-alpha.22 2023-04-14 10:17:37 +00:00
Budibase Release Bot 52aa5f1a66 v2.5.4 2023-04-14 09:05:38 +00:00
Andrew Kingston ddc11ab88c Add copy and paste to spreadsheet and add immediate editing of cells without additional click 2023-04-14 09:19:47 +01:00
Andrew Kingston 6f20c3dff8 Improve sorting 2023-04-14 08:16:35 +01:00
Andrew Kingston dd24d7d9ee Add additional reorder options and improve beta button 2023-04-14 07:55:20 +01:00
Budibase Staging Release Bot a529556e07 v2.4.44-alpha.21 2023-04-13 18:55:33 +00:00
adrinr 0aa5b3da03 Merge branch 'develop' into chore/yarn_workspaces 2023-04-13 19:29:45 +01:00
Andrew Kingston 84a5739c53 Work around table API inconsistencies to handle table schema updates 2023-04-13 16:51:26 +01:00
Andrew Kingston f86c0ec36e Add beta button to sheet, tidy up constants 2023-04-13 15:52:07 +01:00
Andrew Kingston f7f1ee49a6 Improve sheet loading states 2023-04-13 14:30:01 +01:00
Andrew Kingston fa0cc17682 Make column visibility persistent and refactor column updating 2023-04-13 14:09:57 +01:00
Budibase Staging Release Bot c9ffbe46e1 v2.4.44-alpha.20 2023-04-13 12:39:28 +00:00
Andrew Kingston 8100737817 Fix double click resizing of sticky column 2023-04-13 12:05:47 +01:00
Andrew Kingston 69f6834886 Improve sheet integration with data section and add horizontal cell inversion 2023-04-13 12:01:16 +01:00
adrinr 36c412e57b Remove unused yarn.lock 2023-04-13 10:54:35 +01:00
Budibase Staging Release Bot a89b04203e v2.4.44-alpha.19 2023-04-13 09:27:17 +00:00
Budibase Staging Release Bot 1e9ae6aec1 v2.4.44-alpha.18 2023-04-12 21:27:37 +00:00
Budibase Staging Release Bot 4eb5201f6a v2.4.44-alpha.17 2023-04-12 15:38:04 +00:00
Andrew Kingston 724bff60f2 Add persitence to column size and order in sheets 2023-04-12 14:56:22 +01:00
Budibase Staging Release Bot 9afbb300fa v2.4.44-alpha.16 2023-04-12 13:07:38 +00:00
Budibase Staging Release Bot ad393a829d v2.4.44-alpha.15 2023-04-12 12:42:23 +00:00
Budibase Staging Release Bot f65a308ffd v2.4.44-alpha.14 2023-04-12 10:58:55 +00:00
Andrew Kingston 49611298b4 Fix issue with display column not being able to be unset 2023-04-12 10:38:35 +01:00
Andrew Kingston 76353c2e4d Fix issue when no display column exists 2023-04-12 10:34:33 +01:00
Andrew Kingston 68cd1fbe8e Fix reorder overlay z-index issue 2023-04-12 10:13:40 +01:00
Budibase Staging Release Bot a4e2c41c1c v2.4.44-alpha.13 2023-04-12 09:07:40 +00:00
Andrew Kingston 7fa976ba5e Simplify logic for reordering and add new overlay. Simplify sheet cells 2023-04-12 09:51:49 +01:00
Andrew Kingston 727d3d5b6d Fix issue with cell colors, improve row API interactions to avoid relationship issues due to API response differences 2023-04-11 22:55:13 +01:00
Andrew Kingston 6290112d06 Improve data fetch reset logic, fix issues with stale cache in spreadsheets 2023-04-11 22:21:07 +01:00