Commit Graph

223 Commits

Author SHA1 Message Date
Andrew Kingston b3cf3fa636 Improve how snippets are handled in client apps 2024-03-14 16:16:24 +00:00
Andrew Kingston bb953d3bc4 Shorten duplicate key value 2024-03-11 13:32:27 +00:00
Andrew Kingston 5f6b846937 Add ability for components to provide example data context that they provide so that more bindings work with live eval 2024-02-16 13:25:41 +00:00
Andrew Kingston f52379853f Observe context changes in client components immediately after the first enrichment 2024-02-09 16:44:11 +00:00
deanhannigan d246adca9c
Revert "Revert "Global bindings"" 2024-01-22 11:10:03 +00:00
deanhannigan b2c790650b
Revert "Global bindings" 2024-01-22 11:03:05 +00:00
Andrew Kingston 7806591b82 Merge branch 'master' of github.com:Budibase/budibase into global-bindings 2023-11-20 14:47:37 +00:00
Andrew Kingston 77fa373a90 Remove ability to select fields in preview because it is not compatible with field configuration changes 2023-10-27 15:09:17 +01:00
Andrew Kingston 43663c6fbf Prevent dragging interactive block components 2023-10-20 09:39:15 +01:00
Andrew Kingston 291ecd45fe Allow form block fields to be clicked from within the preview 2023-10-20 09:38:55 +01:00
Andrew Kingston 917e837ffc Make update type forms to work with global bindings 2023-09-18 18:27:58 +01:00
Andrew Kingston f78cc26a68 Integrate actions into new global context and greatly improve performance by only enriching when required 2023-09-15 11:52:35 +01:00
Andrew Kingston 46a9f98fe5 Lint 2023-09-15 08:02:14 +01:00
Andrew Kingston 1995a2860f Merge branch 'develop' of github.com:Budibase/budibase into global-bindings 2023-09-12 11:35:54 +01:00
Andrew Kingston 4bdc35eec2 Remove extraneous check if view ID exists 2023-08-30 15:46:48 +01:00
Andrew Kingston c78fcb2ba6 Ensure 'table' type settings are migrated and handled properly. Allow deleting rows from views 2023-08-24 15:50:57 +01:00
Andrew Kingston a83e987dcd Stop preview jumping when scrolling to components, and improve scrolling behaviour 2023-08-22 18:55:36 +01:00
Gerard Burns 6886a312c5 New Left Panel for Design 2023-08-18 12:46:41 +01:00
Andrew Kingston b82a34d7e1 Tidy up 2023-07-25 15:35:58 +01:00
Andrew Kingston b8bc25a39a Merge branch 'develop' of github.com:Budibase/budibase into global-bindings 2023-07-25 09:43:58 +01:00
Gerard Burns 808e0d1ef2 Linting improvements (#11119) 2023-07-05 18:00:50 +01:00
Andrew Kingston d03f96ceb8 Make all blindings global and improve client component performance 2023-04-28 09:03: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
Andrew Kingston 1b2b4dba88 Revert skeleton loaders and restore required setting functionality (#9979) 2023-03-27 14:43:29 +01:00
Andrew Kingston fee091b081 Allow updating nested settings via conditional UI (#9748)
* Allow updating nested settings via conditional UI

* Tidy up comments

* Improve safety when generating conditions

---------

Co-authored-by: Rory Powell <rory.codes@gmail.com>
2023-02-22 13:22:59 +00:00
Rory Powell bb1faac62a Merge master into develop 2023-02-15 15:10:02 +00:00
Andrew Kingston b06c6852a3 Optimise client library performance with skeleton loaders (#9256)
* Treat empty string default values as nullish when considering whether field default values should be applied to the real field value

* Add flag to allow not loading data immediately upon creation of a data fetch object

* Use loading context inside forms to avoid wasted renders while form schema are loading

* Wait for parent data providers to finish loading before loading their own data

* Optimise data provider to reduce updates as much as possible

* Allow forms to render content immediately again, but use the loading context to inform data providers to wait for them

* Remove fetchOnCreation flag for data fetches as now redundant

* Fix issue with deleting the selected button action when the next action has no parameters

* Lint
2023-01-11 08:01:41 +00:00
Gerard Burns 6e4f560948 Skeleton Fixes (#8845) 2022-12-02 09:24:05 +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 fb9dd20c11 Update side panel styles and ensure side panel properly reveals itself in the builder 2022-11-10 14:34:23 +00:00
Andrew Kingston db55041c44 Slightly reduce DND padding between nested layers 2022-10-25 16:18:33 +01:00
Andrew Kingston 729c4d082e Remove unnecessary code 2022-10-24 13:33:33 +01:00
Andrew Kingston 1a37e1fc95 Remove some unnecessary code 2022-10-24 13:28:22 +01:00
Andrew Kingston 3951550074 Make grid rows and columns configurable and simplify grid style application 2022-10-24 12:05:59 +01:00
Andrew Kingston c111f02e70 Improve client grid DND event handling 2022-10-24 09:38:07 +01:00
Andrew Kingston 67b6821b37 Fix components being selected when starting dragging 2022-10-21 16:52:46 +01:00
Andrew Kingston 73a229b9ec Add proper validation for nesting illegal combinations of components 2022-10-20 16:03:53 +01:00
Andrew Kingston 1dffcd8d6c Update how grid DND styles are applied to remove flashing 2022-10-20 08:43:33 +01:00
Andrew Kingston 9a94e9da7c Use a container as the DND placeholder and use approx size when dragging into grids 2022-10-19 14:39:28 +01:00
Andrew Kingston a870d2473d Allow grid DND without selecting components 2022-10-18 18:29:21 +01:00
Andrew Kingston 15bbc78847 Add grid functionality separately to DND 2022-10-18 16:18:22 +01:00
Andrew Kingston 774566d03b Merge branch 'dnd-improvements' of github.com:Budibase/budibase into cheeks-lab-day-grid 2022-10-18 08:12:11 +01:00
Andrew Kingston 682203fbda Only transition padding when expanding components during DND, but remove it immediately on drop to avoid layout thrashing 2022-10-17 09:00:55 +01:00
Andrew Kingston 0e83bcfe9e Update styles of padded DND components 2022-10-14 20:30:58 +01:00
Andrew Kingston 3f429ff3ce Lint and prevent scrolling to selected component when starting dragging 2022-10-14 19:45:47 +01:00
Andrew Kingston 1b08e88c6f Fix double empty state around blocks 2022-10-14 18:59:32 +01:00
Andrew Kingston 2ffb29dddf Invert some client store dependencies to improve performance and prevent dependency cycles 2022-10-14 18:16:19 +01:00
Andrew Kingston 4e94b6633f Don't reset component padded state for DND until dragging stops, to prevent jankiness due to losing space 2022-10-14 15:45:02 +01:00
Andrew Kingston f7d6e8db60 Improve DND experience, use correct size of drop placeholder and don't drop if the position is unchanged 2022-10-11 16:02:09 +01:00
Andrew Kingston efe9425d3d Improve column/row detection by appending an ephemeral child component and tune timings 2022-10-11 08:52:45 +01:00
Andrew Kingston 608e41277a Reduce padding when dragging over a component tree and remove unused component class names 2022-10-08 15:32:36 +01:00
Andrew Kingston c2b32f8c5e Throttle updates to prevent all jank and revert to component center breakboints for DND candidates 2022-10-08 15:04:18 +01:00
Andrew Kingston 09f2cc1f72 Reduce jank by computing symmetrical component breakpoint whens considering DND candidate positions and ignoring the hidden selected component 2022-10-07 20:00:25 +01:00
Andrew Kingston d4a767f93e Improve row vs column detection to fix any edge cases 2022-10-07 08:46:38 +01:00
Andrew Kingston c4bb3ac014 Only explode components when dragging over them 2022-10-07 08:20:51 +01:00
Andrew Kingston bb8388133a Rewrite drag and drop from scratch using mouse position heuristics 2022-10-07 08:05:44 +01:00
Andrew Kingston 9c82a9d073 Don't clear drop target on invalid selection 2022-10-06 09:17:26 +01:00
Andrew Kingston e0fcb20fbe Expand component trees with padding when dragging and dropping 2022-09-28 14:16:09 +01:00
Andrew Kingston 0a80947b51 Merge branch 'develop' of github.com:Budibase/budibase into cheeks-lab-day-grid 2022-09-26 16:22:13 +01:00
Martin McKeaveney 45e9da64e2 Merge pull request #7644 from Budibase/custom-css-upgrades
Custom CSS upgrades
2022-09-21 15:35:42 +01:00
Andrew Kingston 45627661f1 Merge branch 'develop' of github.com:Budibase/budibase into cheeks-lab-day-grid 2022-09-20 17:23:52 +01:00
Rory Powell 45a43baee2 Merge branch 'master' into develop 2022-09-12 14:05:36 +01:00
Andrew Kingston 1bc6f30b6c Fix component empty state and invalid state styling 2022-09-12 08:50:22 +01:00
Andrew Kingston e07cffbc59 Remove log 2022-09-06 12:26:56 +01:00
Andrew Kingston d6d26e126c Allow custom CSS to be bindable and allow overriding via conditional UI 2022-09-05 16:35:25 +01:00
Andrew Kingston b839325a86 Add initial work on grid layout 2022-08-26 08:47:50 +01:00
Mel O'Hagan 075611b2fa Update CSS conditional UI 2022-08-22 16:45:59 +01:00
Andrew Kingston 3b3d48196e Transparently hot reload app preview when inserting a custom component bundle and reload relevant components 2022-08-11 17:05:42 +01:00
Andrew Kingston eab1b93c24 Update client library to full handle custom components 2022-08-10 15:34:00 +01:00
Andrew Kingston 6b9898f9ad Merge pull request #6735 from Budibase/fix/dom-children
Replace incorrect usages of element.childNodes with element.children
2022-07-21 09:24:47 +01:00
Andrew Kingston c9ee465507 Replace incorrect usages of element.childNodes with element.children 2022-07-15 13:47:39 +01:00
Andrew Kingston 80018e9668 Visually hide components when cutting but do not remove from real definition 2022-07-15 13:09:43 +01:00
Andrew Kingston b5d635c83f Merge branch 'develop' of github.com:Budibase/budibase into new-design-ui 2022-06-15 15:32:33 +01:00
Andrew Kingston 2bef536e9a Fix issue where required settings that depend on other settings were still blocking rendering 2022-06-15 10:17:34 +01:00
Andrew Kingston b0fcb0f339 Prevent inline editing of components with missing required settings 2022-06-14 15:34:33 +01:00
Andrew Kingston e097f82b5d Update client library so that component placeholders are always shown when required settings are missing 2022-06-13 12:09:29 +01:00
Andrew Kingston 6e83c96236 Show empty screen placeholder with a CTA to add a component 2022-06-07 13:41:17 +01:00
Dean f1111fffca Updated approach to focus behaviour. Placeholder now updates to direct the user to the next required field they haven't entered 2022-05-30 12:57:10 +01:00
Andrew Kingston fd532a88d5 Improve performance when determining client component icons and update layout to allow for a better visual selection of the navigation section 2022-05-23 12:22:42 +01:00
Andrew Kingston 3c8558e1a0 Update preview indicator offsets 2022-05-17 14:34:54 +01:00
Andrew Kingston 8cdbb690eb Add icons to app preview selection indicators 2022-05-17 14:33:12 +01:00
Andrew Kingston ff47e8acd3 Scroll to the selected component inside the app preview 2022-05-17 14:10:21 +01:00
Andrew Kingston 550511d404 Render screenslot when showing legacy layouts and remove concept of preview type 2022-05-12 09:42:25 +01:00
Andrew Kingston f66f3b7935 Use 'Screen' for the name when selecting the root screen component 2022-05-10 14:10:26 +01:00
Andrew Kingston c2d61d8ebc Merge branch 'develop' of github.com:Budibase/budibase into cheeks-lab-day-devtools 2022-04-06 11:50:43 +01:00
Andrew Kingston 9500203515 Add event context to button actions to allow passing in params at run time and add corresponding data bindings 2022-03-15 11:16:51 +00:00
Dean b67b34928a Initial Commit for Issue/3819. World map component added and a small change to the Component draggable behaviour to accomodate it. 2022-03-08 16:41:21 +00:00
Andrew Kingston 755e12a24d Add full featured component settings and bindings devtools tabs 2022-02-24 21:48:54 +00:00
Andrew Kingston c944d1fdf5 Update devtools with new features 2022-02-24 15:36:21 +00:00
Andrew Kingston 0fcfa43790 Fix className autocorrect and make client load time optional 2022-02-24 14:14:55 +00:00
Andrew Kingston 66715b8290 Merge branch 'develop' of github.com:Budibase/budibase into cheeks-lab-day-devtools 2022-02-24 14:03:29 +00:00
Andrew Kingston eb1edcd1cc Simply and improve core client library logic 2022-02-01 16:32:37 +00:00
Andrew Kingston 27c2b62223 Remove log statements 2022-02-01 11:55:31 +00:00
Andrew Kingston caf8991d92 Cache the determination of client component settings and simplify initialisationlogic 2022-01-31 18:54:04 +00:00
Andrew Kingston 4b7fe15598 Add experimental support for caching the creation of HBS template functions 2022-01-29 18:53:21 +00:00
Andrew Kingston 604788a244 Fix issue with multiple enrichments before components mount without affecting other components 2022-01-25 11:22:26 +00:00
Andrew Kingston 7656887c1a Fix rare issue which could occur when enriching component props twice before an initial render has taken place 2022-01-24 19:25:19 +00:00
Andrew Kingston aab7adce03 Update remaining dependency issues in client 2022-01-20 10:16:13 +00:00
Andrew Kingston 5fad127f94 Update remaining usage of API in client library 2022-01-20 09:57:57 +00:00