1
0
Fork 0
mirror of synced 2024-10-06 04:54:52 +13:00
Commit graph

212 commits

Author SHA1 Message Date
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
melohagan
3073fcfc63 Add empty text property to all blocks (#10332)
* Add noRowsMessage for Table

* CardsBlock noRowsMessage setting

* RowExplorer noRowsMessage setting

* Add noRowsMessage setting for FormBlock

* Fix default noRowsMessage
2023-04-20 10:36:43 +01:00
Andrew Kingston
9025e18f15 Misc fixes (#10345)
* Fix some issues with component and screen settings layout

* Fix issue with component setting labels when multi-line

* Remove early termination of form validation when encountering an errored field

* Update free logo badge to be a sticky footer

* Close side panels when clicking on links
2023-04-19 14:21:11 +01:00
Maurits Lourens
2cc2b94346 fix small typo (#10252) 2023-04-10 19:45:29 +01:00
Rory Powell
d6992bbf94 Merge branch 'master' into merge-master-develop 2023-03-29 11:52:09 +01:00
Andrew Kingston
f2b12bcf45 Component error state improvements (#10136)
* Tidy logic for creating initial component instances

* Add initial implementation of enriching empty settings

* Fix regression that prevented custom placeholders from working (#9994)

* Tidy up

* Add automatic naming of form fields when added

* Update missing required setting placeholder

* Improve error states and add ability to automatically wrap a component in a required parent type

* Fix crash in column editor and rename component placeholder to error state

* Select the parent component after adding it when wrapping a component with a missing ancestor

* Fix blocks and make fields require forms

* Improve empty component placeholder

* Lint
2023-03-28 21:11:33 +01:00
Martin McKeaveney
bcbed08a40 Merge pull request #9951 from Budibase/settings-panel-update
Settings panel layout update
2023-03-28 18:36:58 +01:00
Andrew Kingston
1b2b4dba88 Revert skeleton loaders and restore required setting functionality (#9979) 2023-03-27 14:43:29 +01:00
Andrew Kingston
8d79a23700 Fix component settings which have no labels appearing as undefined in the conditional UI drawer 2023-03-16 08:30:16 +00:00
melohagan
956d8f1ae3 Background image component can have children (#9981) 2023-03-13 11:44:15 +00:00
Andrew Kingston
1508d4aea3 Update all setting labels to be correctly cased and sized to fit new layout 2023-03-09 08:47:32 +00:00
Andrew Kingston
db7f267887 Update component settings to be left aligned and update long component settings labels to be shorter 2023-03-08 19:22:19 +00:00
Dean
8e78b075fd Feedback updates. Backed out parsing and simply renamed the field config property 2023-02-03 10:22:36 +00:00
Andrew Kingston
2a2466fbda More fixes (#9387)
* Mark filters as nested settings to support persisting bindings post block ejection

* Add support for searching on linked fields in blocks

* Fix multi-select pickers closing on every click

* Target spectrum root element by default when rendering popovers, and allow customisation via context for client library

* Don't send up invalid HBS expressions when filtering on dates in blocks with empty date value

* Move profile above theme in user dropdown
2023-01-19 16:09:40 +00:00
melohagan
f5c902fb57 Add compact setting to AttachmentField (#9052) 2022-12-15 13:59:03 +00:00
Gerard Burns
8eccee030a Fix Skeleton Loader Jumping 2022-12-05 14:24:53 +00:00
Gerard Burns
d0d73a8b51 Multifield Input Autoselect All Fields (#8884)
* Multifield Input Autoselect All Fields

* PR Feedback

* PR Feedback

* Linting
2022-12-05 12:09:27 +00:00
Andrew Kingston
ba01656e6b Add side panel as an illegal child of itself 2022-12-02 09:10:00 +00:00
Andrew Kingston
27845336b7 Add ability to show component info above the settings panel and add info to side panels 2022-11-30 14:18:31 +00:00
Andrew Kingston
86fc2217a1 Enable capturing events for certain setting changes, and track usage of side panels inside table blocks 2022-11-29 18:28:26 +00:00
Andrew Kingston
abedb5d9eb Merge branch 'develop' of github.com:Budibase/budibase into side-panel 2022-11-25 11:24:57 +00:00
Gerard Burns
a2889ec1a3 Skeleton Loading States (#8719)
* Loading Skeletons

* PR Feedback
2022-11-25 10:02:43 +00:00
Andrew Kingston
1ec197ce8f Update side panel icon 2022-11-24 10:33:57 +00:00
Andrew Kingston
ade595e4a0 Fix context not being provided for table block row click action 2022-11-23 16:47:54 +00:00
Andrew Kingston
13b8ccc582 Default to running button actions for table blocks and add info 2022-11-23 16:14:43 +00:00
Andrew Kingston
c01b9af1f0 Merge branch 'develop' of github.com:Budibase/budibase into side-panel 2022-11-22 16:52:09 +00:00
Andrew Kingston
44fdc5efb5 Remove static key from side panel manifest and add draggable key 2022-11-22 16:44:14 +00:00
Mel O'Hagan
f1c6d15999 Merge branch 'develop' into feature/dynamic-filter-custom-labels 2022-11-21 16:20:05 +00:00
Mel O'Hagan
e7becbf849 Remove duplication 2022-11-21 14:48:26 +00:00
Andrew Kingston
b71b5704da Use overlay side panel and update table block side panel heading 2022-11-21 11:05:06 +00:00
Mel O'Hagan
79dc972c56 Don't allow cell edit for dynamic filter col conf 2022-11-18 16:19:49 +00:00
Mel O'Hagan
68d0a4c336 Allow custom labels for dynamic filter 2022-11-18 15:52:30 +00:00
Andrew Kingston
4e519d75b4 Ensure side panel ejection works properly and tidy up table block structure 2022-11-17 14:18:55 +00:00
Dean
dd065c0f55 Component settings bar now on by default. Manifest config cleared of showSettingsBar properties 2022-11-17 11:08:23 +00:00
Andrew Kingston
e8b993b14c Add working side panels to table blocks 2022-11-17 10:16:45 +00:00
Andrew Kingston
4e6ba2dc30 Fix table block manifest entry after settings migration 2022-11-15 11:58:10 +00:00
Andrew Kingston
8b941df5ff Update tables to use button actions rather than link settings 2022-11-14 15:47:14 +00:00
Andrew Kingston
aa81e0451a Add button action for showing/hiding side panels 2022-11-14 15:02:57 +00:00
Andrew Kingston
222f002039 Merge branch 'develop' of github.com:Budibase/budibase into side-panel 2022-11-14 13:24:47 +00:00
Gerard Burns
e70710f7b9 Add Row Explorer Block (#8454)
* Add Row Explorer Block and Row Details Component

* PR Feedback

* adding showSaveButton prop to formblock in row explorer

* PR Feedback

* PR Feedback

* Change row explorer name in manifest

Co-authored-by: Martin McKeaveney <martinmckeaveney@gmail.com>
2022-11-14 11:54:44 +00:00
Andrew Kingston
ce4f8ef5f9 Merge branch 'develop' of github.com:Budibase/budibase into side-panel 2022-11-09 16:57:24 +00:00
Martin McKeaveney
69c3b1e169 removing grid from manifest 2022-11-01 09:30:10 +00:00
Andrew Kingston
058547fd67 Add initial version of side panel component 2022-10-27 08:08:35 +01:00
Andrew Kingston
603c8744a5 Merge branch 'master' into master-develop 2022-10-25 12:03:33 +01:00
Andrew Kingston
cf7a4a4e6d Merge pull request #8376 from Budibase/cheeks-lab-day-grid
Grid component + builder performance improvements
2022-10-25 08:20:37 +01:00
Andrew Kingston
6568e40267 Rename grid component as beta 2022-10-25 08:01:42 +01:00
Andrew Kingston
c76ca029ce Add sensible max number of rows and columns in a grid 2022-10-24 12:15:50 +01:00
Andrew Kingston
3951550074 Make grid rows and columns configurable and simplify grid style application 2022-10-24 12:05:59 +01:00
Dean
cdcfbc6dce Initial commit for chart block component 2022-10-21 14:20:40 +01:00
Andrew Kingston
73a229b9ec Add proper validation for nesting illegal combinations of components 2022-10-20 16:03:53 +01:00