Commit Graph

642 Commits

Author SHA1 Message Date
Andrew Kingston b112995fd0 Disable hide column option in header cell context menu for sticky column 2023-05-16 15:26:20 +01:00
Andrew Kingston 1e48020001 Merge branch 'develop' of github.com:Budibase/budibase into data-section-multidev 2023-05-16 15:23:30 +01:00
Andrew Kingston e2bf3b32e1 Revert flatpickr version to fix bug in 3.3.2, improve display of time-only dates 2023-05-16 14:52:45 +01:00
Andrew Kingston 6ed691be1d Improve builder socket 2023-05-16 14:18:31 +01:00
Andrew Kingston cb9d35f6aa Fix validation error position for new rows 2023-05-16 08:24:23 +01:00
Andrew Kingston 913188052a Fix cell colours with multiple users 2023-05-16 08:18:26 +01:00
Andrew Kingston e2a860ea4c Fix visual issues with other users selecting cells 2023-05-15 16:43:37 +01:00
Peter Clement 007f5ca8a9 Merge remote-tracking branch 'origin/develop' into feature/sync-automations 2023-05-15 15:19:44 +01:00
Andrew Kingston 46d8ad2864 Restore proper functionality for showing other users inside grids 2023-05-15 14:51:54 +01:00
Adria Navarro deb73be17d Merge branch 'develop' into budi-6158/allow_searching_users
# Conflicts:
#	packages/pro
2023-05-15 13:02:03 +02:00
Andrew Kingston f8f970bf7e Update grid websocket to send actual changes down to reduce API load 2023-05-12 16:13:32 +01:00
Peter Clement c86c2b4096 add synchronous webhook functionality 2023-05-12 15:57:34 +01:00
Peter Clement dcfb65b92d sync / async automations go through one endpoint 2023-05-12 15:56:24 +01:00
Andrew Kingston d52983839d Merge pull request #10544 from Budibase/grid-id
Grid improvements and fixes
2023-05-11 17:23:35 +01:00
Andrew Kingston 5a0ae3ff01 Disable most context menu options for cells in the new row 2023-05-11 11:58:26 +01:00
Peter Clement 1626571081 Merge remote-tracking branch 'origin/develop' into feature/sync-automations 2023-05-11 11:53:12 +01:00
Andrew Kingston 59ea4460f9 Fix multiple issues with keypresses and date cells due to flatpickr 2023-05-11 10:51:44 +01:00
Andrew Kingston d146aae084 Treat formula cell as readonly! 2023-05-10 16:02:00 +01:00
Andrew Kingston 72a64d2378 Fix not properly updating row state for formula columns 2023-05-10 16:00:27 +01:00
Andrew Kingston 88c475e4cb Add grid menu items to copy row ID and rev 2023-05-10 16:00:12 +01:00
Adria Navarro 46963bca69 Search on frontend 2023-05-10 15:19:45 +02:00
Adria Navarro d33a06c89c Send search term to api call 2023-05-10 12:32:05 +02:00
Peter Clement 1539bf234b add ability to trigger synchronous automation from button action 2023-05-09 12:10:20 +01:00
Adria Navarro d79af79bf1 Comment 2023-05-05 16:33:02 +01:00
Adria Navarro 916edf47d4 Handling last page removed 2023-05-05 16:33:02 +01:00
Adria Navarro 5e8a2de089 Handle cursors on refresh 2023-05-05 16:33:02 +01:00
Adria Navarro 10fcca92f6 Paginate users on group views 2023-05-05 16:33:01 +01:00
Andrew Kingston 438afa03cf Remove commented out code 2023-05-05 10:46:36 +01:00
Andrew Kingston 1ec5df1299 Use magic icon for auto column and show icons in hide columns button 2023-05-05 08:56:45 +01:00
Andrew Kingston 9c811d1a3b Update position of new row buttons to reduce chance of z-index issues with dropdowns as the first new row column 2023-04-28 11:47:44 +01:00
Andrew Kingston ab0d859c82 Fix z-index of add column icon 2023-04-28 11:41:28 +01:00
Andrew Kingston 933545ccf7 Hide add column icon when disable column addition flag is set 2023-04-28 11:37:38 +01:00
Andrew Kingston b79f466324 Prevent selecting rows with keyboard when disable row deletion flag is set 2023-04-28 11:34:16 +01:00
Andrew Kingston 96fc70f29a Fix keyboard shortcuts circumventing disabling adding rows 2023-04-28 11:32:44 +01:00
Andrew Kingston 80da2fb93a Prevent row bulk deletion when delete rows flag is set to false 2023-04-28 11:30:18 +01:00
Andrew Kingston 023cb2b83b Replace bulk delete button with inline icons 2023-04-28 11:25:00 +01:00
Andrew Kingston b07e5095e9 Increase support for lower resolutions in the grid UI by using tooltips instead of text for some buttons at low horizontal breakpoints 2023-04-28 11:13:40 +01:00
Andrew Kingston 0e0ee590c8 Properly parse number cells as floats 2023-04-27 12:25:21 +01:00
Andrew Kingston 5728cf9b2a Add clickoutside handlers to options, long form and relationship cells 2023-04-27 11:55:03 +01:00
Andrew Kingston 46b079497a Use 'high-low' nomenclature for numerical columns in grid sort button 2023-04-27 10:03:23 +01:00
Andrew Kingston e239d1e559 Use 'high-low' nomenclature for sorting on numeric columns in header cells 2023-04-27 09:55:59 +01:00
Andrew Kingston d4b9531b95 Add keyboard shortcut indicators for adding new rows 2023-04-27 09:02:49 +01:00
Andrew Kingston 5b03ce0566 Add loading state to new row component 2023-04-26 19:23:06 +01:00
Andrew Kingston 78c50df4bd Add overlay to autocolumns when creating rows 2023-04-26 18:52:16 +01:00
Andrew Kingston 09ec898a4d Update readonly cell border to be gray 2023-04-26 18:43:56 +01:00
Andrew Kingston 44ef27299a Update grid keyboard handling to bring invalid origin consideration to be highest precedence 2023-04-26 16:04:14 +01:00
Andrew Kingston c691dafc39 Add default value to contentLines 2023-04-26 12:04:41 +01:00
Andrew Kingston 91b2f4165d Make it more obvious that multi select cells have overflow when using small line height 2023-04-25 14:28:18 +01:00
Andrew Kingston 2f97787dfb Fix hidden gutter cell expand icons still having a tooltip 2023-04-25 09:32:06 +01:00
Andrew Kingston 01ada56686 Use friendly name where possible when configuring column visibility 2023-04-25 09:23:16 +01:00
Andrew Kingston 8d21345d55 Add sticky columns as a permanent, disabled option in hide columns buttons 2023-04-25 09:22:30 +01:00
Andrew Kingston 6ab03289c5 Fix checkbox not having a blur method 2023-04-25 09:13:42 +01:00
Andrew Kingston 6c15471778 Fix tab browser behaviour 2023-04-25 09:05:00 +01:00
Andrew Kingston 45ac7d1850 Add hide column option to header cell menu 2023-04-25 09:04:51 +01:00
Andrew Kingston 81ec010732 Remove mousedown stop propagation on header cell icon 2023-04-24 17:36:38 +01:00
Andrew Kingston 98ca05d97f Merge pull request #10396 from Budibase/grid-tweaks
Grid tweaks
2023-04-24 16:53:46 +01:00
Andrew Kingston 10e64c0573 Fix a couple of pixel layout issues 2023-04-24 16:23:47 +01:00
Andrew Kingston 975cb867ee Fix showing 1px new row component when no columns exist 2023-04-24 16:14:47 +01:00
Andrew Kingston 4162600950 Remove commented out code 2023-04-24 16:12:25 +01:00
Andrew Kingston 31e0f99910 Lint 2023-04-24 14:55:00 +01:00
Andrew Kingston 6a3fcada9b Add background colour to sticky column to fix error label z-index issue 2023-04-24 13:50:00 +01:00
Andrew Kingston b0ce561383 Update z-index of beta button so that row creation goes on top 2023-04-24 13:47:55 +01:00
Andrew Kingston 357894d556 Fix select all checkbox state being wrong 2023-04-24 13:45:14 +01:00
Andrew Kingston 9594aae29d Update header cell hover cursor 2023-04-24 13:43:11 +01:00
Andrew Kingston 726945ea61 Allow bulk row deletion via keyboard even without a focused cell 2023-04-24 13:07:53 +01:00
Andrew Kingston 59a354e0c5 Simplify new row component logic 2023-04-24 13:06:37 +01:00
Andrew Kingston 3a42949b27 Update new row component icon color 2023-04-24 12:53:17 +01:00
Andrew Kingston 5cbaf2f58a Update new row component to render inline where possible 2023-04-24 12:50:35 +01:00
Andrew Kingston 98430138fe Improve gutter cell usage 2023-04-24 11:36:48 +01:00
Andrew Kingston 5155727b56 Update grid button text and refactor gutter cell into own component 2023-04-24 11:22:03 +01:00
Andrew Kingston 3bbf055401 Improve horizontal scrolling performance 2023-04-24 08:09:18 +01:00
Andrew Kingston 4e128c00f4 Add inline button for creating columns 2023-04-24 07:46:36 +01:00
Andrew Kingston 1edfd3b887 Improve grid keyboard shortcuts and allow sorting by any visible field to fix issues with refreshing data when hiding columns 2023-04-23 13:02:17 +01:00
Andrew Kingston 2972af6711 Update column width button sizes 2023-04-23 12:18:43 +01:00
Andrew Kingston 0eb66e7bc6 Add column width button 2023-04-22 23:18:50 +01:00
Andrew Kingston 0493fb5c03 Add space keybind for selecting rows and allow bulk deleting of rows via keypress when rows are selected 2023-04-22 17:03:56 +01:00
Andrew Kingston ace9bca81d Update textarea focus again 2023-04-22 16:42:26 +01:00
Andrew Kingston 0710a0c951 When focusing textarea cells, ensure the cursor is set to the end rather than the start 2023-04-22 16:41:10 +01:00
Andrew Kingston e54ea6661f Improve keyboard shortcuts for adding rows 2023-04-22 16:40:00 +01:00
Andrew Kingston 61f05492ad Improve new row top component and update new row bottom component 2023-04-22 15:09:49 +01:00
Andrew Kingston 9361c91ad4 Update new row top cell colour 2023-04-21 18:49:28 +01:00
Andrew Kingston 49f5aea19c Update new row top component to fix multiple z-index issues 2023-04-21 18:43:01 +01:00
Andrew Kingston 77406ac183 Improve new row top component and fix style issues with z-index with validation labels 2023-04-21 15:16:11 +01:00
Andrew Kingston ea78f7fede Prevent immediately cell mutation by typing for readonly cells 2023-04-21 11:00:03 +01:00
Andrew Kingston f8a9af2458 Disable pasting for readonly cells 2023-04-21 10:57:45 +01:00
Andrew Kingston aa98cf72f5 Use different background colour for readonly cells 2023-04-21 10:55:27 +01:00
Andrew Kingston b44e6ddea6 Use friendly names in sort dropdown£ 2023-04-21 10:53:05 +01:00
Andrew Kingston be3b2549a5 Use shift instead of ctrl/cmd for horizontal scrolling 2023-04-21 10:49:05 +01:00
Andrew Kingston 4cd5239612 Update relationship cell icon 2023-04-21 10:43:43 +01:00
Andrew Kingston 3e2fcf2f76 Make delete rows button more prominent 2023-04-21 10:38:07 +01:00
Andrew Kingston 574595c0af Remove background colour from header cell for sorted column 2023-04-21 10:27:33 +01:00
Andrew Kingston eabd57d20b Add FAB for adding rows and inline row creation 2023-04-21 10:26:55 +01: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 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
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