Commit Graph

759 Commits

Author SHA1 Message Date
Andrew Kingston b31bb9be1d Fix datasource invalidation proxying from peek modals not working 2021-12-14 14:04:37 +00:00
Andrew Kingston 43fe2407e1 Proxy state updates back from peek modals 2021-12-14 14:04:10 +00:00
Andrew Kingston 6524b871b0 Expose whole form value as a data binding 2021-12-13 09:34:27 +00:00
Andrew Kingston 6fd53b134a Ensure JSON schema generated in client apps is identical to builder generated schema 2021-12-10 15:11:01 +00:00
Andrew Kingston 5793cc3bbd Add support for binding forms to deep json fields 2021-12-10 14:18:01 +00:00
Andrew Kingston cd0acacb69 Fix blocks not filtering properly on number fields 2021-12-09 19:36:53 +00:00
Andrew Kingston e7899d7f22 Fix border radius rounding on hover and selection indicators in builder preview 2021-12-09 17:22:46 +00:00
Andrew Kingston 3f1d3328e2 Add button context to execute query action 2021-12-09 16:48:19 +00:00
Andrew Kingston cc3facd1b8 Add output context to duplicate row action 2021-12-09 16:29:22 +00:00
Andrew Kingston ff246de1cb Reset field value to default value if default value changes 2021-12-09 14:51:19 +00:00
Andrew Kingston 62fc8d45f6 Fix bug where save duplicate action was mutating the real context 2021-12-09 14:36:57 +00:00
Andrew Kingston 3e8cd19e7b Fix bug where save row action was mutating the real context 2021-12-09 14:36:24 +00:00
Andrew Kingston d9f4c3a4b0 Dynamically enrich button actions at runtime and provide additional ephemeral button action output context 2021-12-09 11:25:32 +00:00
Andrew Kingston c71ad0cdec Merge branch 'develop' of github.com:Budibase/budibase into feature/json-backend 2021-12-08 13:08:28 +00:00
Andrew Kingston f2445226d5 Add new tag component to client apps 2021-12-08 13:06:15 +00:00
Andrew Kingston 42995a33c5 Allow internal links to be opened in a new tab 2021-12-08 09:03:56 +00:00
Andrew Kingston 7886b383f5 Key links by URL as the svelte-spa-router link svelte action does not update correctly 2021-12-08 08:35:19 +00:00
Andrew Kingston ba2588d44e Add support for accessing unlimited levels of nested JSON arrays 2021-12-07 21:19:14 +00:00
Andrew Kingston fb23bf5674 Fix datasource invalidations not propagating through peek modals 2021-12-07 15:11:13 +00:00
Andrew Kingston 20f3f41327 Add button action for duplicating a row 2021-12-07 13:59:12 +00:00
Andrew Kingston 39e1e84512 Enable support for handling shallow non-object arrays in JSON fields 2021-12-06 18:12:27 +00:00
Andrew Kingston 1bb6fb37e5 Flatten JSON schema in apps to allow filtering and display of nested values 2021-12-06 12:37:50 +00:00
Andrew Kingston b0732846d0 Update client side lucene searching to work with nested JSON fields and fix bug with flattening nested JSON schema 2021-12-06 12:04:22 +00:00
Andrew Kingston f898b8c94d Allow using JSON field arrays as a data provider source and add data bindings for nested JSON fields 2021-12-06 11:41:17 +00:00
Andrew Kingston b362068d47 Add new form field component for JSON fields, JSON validation and update autoscreen generation 2021-12-03 09:20:45 +00:00
Andrew Kingston 1aa6b0bdd6 Merge branch 'feature/json-backend' of github.com:Budibase/budibase into feature/json-backend 2021-11-30 13:41:58 +00:00
Andrew Kingston c39b7c5afd Merge branch 'develop' of github.com:Budibase/budibase into feature/json-backend 2021-11-30 08:48:40 +00:00
Andrew Kingston 27327ae2a1 Expose static repeater context for row index 2021-11-30 08:47:21 +00:00
Andrew Kingston b44772b136 Fix layout navigation not scrolling when required 2021-11-29 09:05:46 +00:00
Andrew Kingston f0da6d9fd3 Ensure horizontal cards in the card block don't exceed the width of the screen 2021-11-25 11:35:19 +00:00
Andrew Kingston 837e70c9a8 Remove text setting from dynamic filter component 2021-11-24 08:20:23 +00:00
Andrew Kingston 07d45d8039 Update dynamic filter component styles and remove lots of settings 2021-11-23 17:40:49 +00:00
Andrew Kingston ae19581288 Add button variant, size and quiet settings to dynamic filter. Allow dyanmic filter button text to be edited inline 2021-11-22 14:48:34 +00:00
Andrew Kingston 067e5d3a7d Removing log statement 2021-11-22 14:09:54 +00:00
Andrew Kingston 6f37fc27e1 Fix issue with not correctly removing dynamic filters when clearing all filters 2021-11-22 13:42:09 +00:00
Andrew Kingston 2ab40d51dc Update logic for determining whether to show empty state or not 2021-11-18 20:38:55 +00:00
Andrew Kingston 90b3e2a16d Update editable components to trim whitespace when editing inline 2021-11-18 20:32:57 +00:00
Andrew Kingston df29ad1092 Be more explicit about the boolean nature of component settings in the manifest and add back in a render key to fix toggling contenteditable attribute on dom elements 2021-11-18 20:32:42 +00:00
Andrew Kingston 0aa0f6a07d Enable dynamic filter component to update data provider queries 2021-11-18 20:32:00 +00:00
Andrew Kingston b2a58d1c35 Ensure important builder store variables do not get unassigned when setting the builder store state 2021-11-18 20:31:25 +00:00
Andrew Kingston c432c86419 Add modal container to top level of client apps 2021-11-18 20:31:00 +00:00
Andrew Kingston e1021f429c Refactor how extending data provider queries works to support multiple extensions per key 2021-11-18 18:41:37 +00:00
Andrew Kingston 2bf6c951fd Merge branch 'cheeks-lab-day' of github.com:Budibase/budibase into multi-filter-component 2021-11-18 15:58:04 +00:00
Andrew Kingston e43d5ba158 Fix default form step context not being a svelte store 2021-11-18 15:57:29 +00:00
Andrew Kingston b47a25a273 Add settings to dynamic filter to control button text and allowed filter fields 2021-11-18 15:43:51 +00:00
Andrew Kingston 038ec39143 Add dynamic filter component 2021-11-18 15:36:16 +00:00
Andrew Kingston 661c2abd39 Remove log statement 2021-11-18 14:47:59 +00:00
Andrew Kingston d3407a2444 Fix bug with duplication of fields when re-registering existing fields 2021-11-18 14:43:02 +00:00
Andrew Kingston 6e3044f7c9 Make form step number dynamic 2021-11-18 14:42:49 +00:00
Andrew Kingston c2bf1de547 Fix crash when component definition is not found 2021-11-18 14:24:10 +00:00
Andrew Kingston 4ce25fdf0b Allow dynamic re-registration of form field components 2021-11-18 14:18:06 +00:00
Andrew Kingston 53c7da348b Fix issue with data provider query not updating 2021-11-16 17:55:24 +00:00
Andrew Kingston 9fea436cc2 Remove log statements 2021-11-16 17:52:14 +00:00
Andrew Kingston 69422f374b Refactor some app components to remove dependency on static props 2021-11-16 17:52:00 +00:00
Andrew Kingston cc5e42e933 Update table to handle dynamic data provider prop 2021-11-16 17:51:05 +00:00
Andrew Kingston fa70eb540a Update forms to handle a dynamic schema prop 2021-11-16 17:42:27 +00:00
Andrew Kingston 9aa03c39ba Optimise core memoization of client component props to improve performance significantly 2021-11-16 16:29:31 +00:00
Andrew Kingston 1432cbec72 Refactor how client app actions programmatically mutate data provider queries to allow for correctly handling removal of query extensions 2021-11-16 16:28:48 +00:00
Andrew Kingston 3acdf56679 Precent unecessary client app builder store updates to improve performance 2021-11-16 13:35:20 +00:00
Andrew Kingston e5f49c87f6 Ensure button is focused when starting to edit text 2021-11-16 13:22:31 +00:00
Andrew Kingston d13170ff57 Disable drag and drop for components in the selected path when edit mode is enabled to fix firefox issue with text selection when draggable attribute is set 2021-11-16 13:17:34 +00:00
Andrew Kingston c43927e863 Remove focus style on contenteditable components in chrome 2021-11-16 11:47:03 +00:00
Andrew Kingston 1cfb0f467d Prevent dragging of a component while being edited 2021-11-16 11:46:46 +00:00
Andrew Kingston 638972804d Merge develop into editable text lab day 2021-11-16 11:14:46 +00:00
Andrew Kingston b1a2bb59a6 Rename data block to repeater block 2021-11-15 18:07:51 +00:00
Andrew Kingston 1b4e95ed3c Be even more explicit about expecting an array data type for data provider rows 2021-11-15 12:26:13 +00:00
Andrew Kingston cd94f72faa Replace manual usage of square brackets with string-templates makePropSafe util 2021-11-12 15:28:08 +00:00
Andrew Kingston 04e8c4a932 Clafify comments 2021-11-12 15:27:42 +00:00
Andrew Kingston 07f15c5759 Add data block component 2021-11-12 15:19:25 +00:00
Andrew Kingston 65111272b8 Allow blocks which take children to work with DND 2021-11-12 15:18:55 +00:00
Andrew Kingston 8b3edeea3b Update settings bar to account for new block settings structure 2021-11-12 14:48:53 +00:00
Andrew Kingston e0c88597a7 Enable data providers to use array and attachment fields as their source 2021-11-12 13:42:55 +00:00
Andrew Kingston 7fd5f60ecc
Merge pull request #3299 from Budibase/full-bindings
Full bindings for relationships and attachments
2021-11-11 11:01:27 +00:00
Andrew Kingston 3ebf44d1f7 Rename blocks to be shorter 2021-11-10 15:56:51 +00:00
Andrew Kingston 32c3788a53 Refactor all block link settings to be URLs rather than onclick handlers. Add settings for linking card titles in card list blocks 2021-11-10 15:52:36 +00:00
Andrew Kingston 143510ceb8
Merge pull request #3311 from Budibase/block-search-improvements
Improve block searching
2021-11-10 12:08:10 +00:00
Andrew Kingston dd28adbf68 Update block search so that string fields do a 'starts with' search rather than an exact match 2021-11-10 11:48:02 +00:00
Andrew Kingston b0e0b61527 Add comment to client rows API 2021-11-09 15:48:04 +00:00
Andrew Kingston 7aa337f7d2 Disable links when in builder preview 2021-11-09 15:24:13 +00:00
mike12345567 2155e5f5eb Merge branch 'develop' of github.com:Budibase/budibase into feature/mssql-plus 2021-11-09 11:20:17 +00:00
Andrew Kingston d0755ce8ac
Merge pull request #3249 from Budibase/blocks
Core blocks implementation + table with search block
2021-11-08 20:46:21 +00:00
mike12345567 15907280b2 Fixing #3182 so that sorting is disabled for certain column types that we cannot use, as well as fixing some issues with MS-SQL plus tables. 2021-11-08 17:25:05 +00:00
Andrew Kingston de9c038150 Fix card list block empty state and update size 2021-11-08 16:40:45 +00:00
Andrew Kingston 3e5980082f Fix card button text potentially showing as undefined 2021-11-08 14:51:13 +00:00
Andrew Kingston aa56d6fd63 Add card list with search block. Add concept of nested settings which can consume their own contexts and are not enriched at the top level 2021-11-08 14:35:58 +00:00
Andrew Kingston 2f949bad85 Lint 2021-11-05 12:43:26 +00:00
Andrew Kingston f8f906b9de Add ability to link rows in tables, and link rows in the table with search block 2021-11-05 12:38:33 +00:00
Martin McKeaveney 37ddd416c0 tidy up 2021-11-04 17:28:07 +01:00
Martin McKeaveney a48f8434eb fix safari 2021-11-04 17:24:56 +01:00
Andrew Kingston 9d473e9a34 Lint 2021-11-04 11:31:43 +00:00
Andrew Kingston dc9b1a2a8c Add button to table with search block and support defining multiple settings sections in component manifest entries 2021-11-04 11:30:43 +00:00
Andrew Kingston 3acc937ddc Fix picker width in table with search block and enable autosizing of other search components 2021-11-03 15:53:45 +00:00
Andrew Kingston c5433e6ef8 Add support for tables updating server-side sorting 2021-11-03 15:26:15 +00:00
Andrew Kingston 7ec5c2b1f2 Allow table with search block to render correct components for all relevant field types 2021-11-03 11:58:06 +00:00
Andrew Kingston 73d5d1289b Standardise fetching schema from client apps to fix issues with determing schema for certain data sources 2021-11-03 11:57:47 +00:00
Andrew Kingston 212e62b62e Simplify some block logic 2021-11-02 12:58:38 +00:00
Andrew Kingston ee7ab70f4d Comment some parts of blocks implementation for clarity 2021-11-02 08:58:50 +00:00
Andrew Kingston 4cbe82c1db Add title setting to table with search block and fix import paths 2021-11-02 08:51:48 +00:00
Andrew Kingston 7bd46a6ecb Remove old files and tidy up 2021-11-02 08:47:19 +00:00
Andrew Kingston 808d2d0f73 Add generic block structure with support for writing blocks like normal svelte components rather than a JSON builder 2021-11-02 08:45:27 +00:00
Andrew Kingston 6ad3df2e7f Add initial structure of table with search block 2021-11-01 17:18:38 +00:00
Andrew Kingston f682e7e4ac Add in-preview editing for all field labels 2021-10-28 16:31:22 +01:00
Andrew Kingston 90403948dd Fix issue editing components in the preview when nested inside another draggable component 2021-10-28 15:52:07 +01:00
Andrew Kingston 232957f610 Add in-preview editing of buttons and add settings bar for buttons 2021-10-28 15:29:48 +01:00
Andrew Kingston d3839f2f91 Focus contenteditable node when starting editing a component in the preview 2021-10-28 13:28:43 +01:00
Andrew Kingston 9bf5d50d4f Add in-preview editing of link text and improve placeholder usage when combined with in-preview editing 2021-10-28 13:20:04 +01:00
Andrew Kingston 1333844a2c Move keyboard handling into client library so that component deletion via keyboard can reference client app state 2021-10-28 13:00:55 +01:00
Andrew Kingston 7c16a1423b Allow in-preview editing of paragraphs and headings 2021-10-28 12:43:31 +01:00
Andrew Kingston 6b69ce4eb9 Use explicity onDestroy calls rather than an onMount return value to ensure callbacks are actually executed to fix data provider cleanup issues 2021-10-27 14:24:36 +01:00
Andrew Kingston 5d5a35fd32 Don't invalidate users table due to autocolumn fields in schema when hot reloading data in the client library 2021-10-27 08:37:51 +01:00
Andrew Kingston 870219722a Invalidate related tables automatically via client library and fix issue with data source invalidation from modals 2021-10-26 19:12:55 +01:00
Andrew Kingston 8cf672252a Update field disabled state when disabled prop changes 2021-10-26 11:05:48 +01:00
Andrew Kingston f85b9ed52d
Merge pull request #3083 from Budibase/fix/date-sorting
Fix date format of dates created with Flatpickr (the date picker in apps)
2021-10-20 13:20:26 +01:00
Andrew Kingston bf74a750f2 Give flatpickr its own root component in client apps to avoid it hijacking key events on the whole page 2021-10-19 15:11:14 +01:00
Andrew Kingston f5f2611a3e Remove date parsing from client date picker as it has moved to the core date picker 2021-10-18 17:12:02 +01:00
Rory Powell 63aaad4812 Merge branch 'develop' into options-text-columns 2021-10-18 11:25:35 +01:00
Rory Powell 88cdc7c1bd Allow options picker to be used on text columns 2021-10-14 16:36:45 +01:00
Andrew Kingston 96a723d838 Fix issue with button roundness when using other sizes than medium 2021-10-14 10:43:17 +01:00
Martin McKeaveney 43d3c2af4d adding made in budibase tag 2021-10-07 20:57:50 +01:00
Andrew Kingston 67543ef9be Fix drag and drop indicator positioning when not using desktop preview 2021-10-06 13:59:25 +01:00
Andrew Kingston 2a736c16d7 Fix padding being added to empty layouts in mobile view 2021-10-06 13:33:37 +01:00
Martin McKeaveney 7a7fd6c02f fixing import 2021-09-30 16:52:21 +01:00
Martin McKeaveney 665a9620a4 lint 2021-09-30 16:39:10 +01:00
Martin McKeaveney a251c8bfd0 merge with develop 2021-09-30 16:05:06 +01:00
Martin McKeaveney b8fef9965d end user ping for client apps 2021-09-30 15:03:57 +01:00
Martin McKeaveney 2f491f3b6f
Merge branch 'develop' into dnd 2021-09-30 14:56:23 +01:00
Andrew Kingston 5c6c21aeef Move all lucene logic into central builder helpers file 2021-09-27 12:59:49 +01:00
Andrew Kingston 78e4f00e11 Add button action for manually refreshing a data provider 2021-09-23 19:34:01 +01:00
Andrew Kingston c89e198bf8 Simplify some DND style rules 2021-09-21 08:47:43 +01:00
Andrew Kingston ee2e2799d9 Enable left/right side targetting for DND 2021-09-21 08:36:02 +01:00
Andrew Kingston 7663bdb534 Revert preservation of base component styles by styleable helper to fix stale styles being applied after removal 2021-09-20 16:47:53 +01:00
Andrew Kingston 18506f1235 Reduce DND snap to edge threshold to prevent unwanted target spamming on the edges of the parent component 2021-09-20 16:11:42 +01:00
Andrew Kingston cae514ca06 Simplify client app component re-render keying 2021-09-20 15:41:20 +01:00
Andrew Kingston 392a1f05ee Refactor DND labels to before and after rather then above and below 2021-09-20 15:35:27 +01:00
Andrew Kingston 9634b021a5 Refactor client app data tags to be classnames and simplify logic 2021-09-20 15:34:51 +01:00
Andrew Kingston 8defbd1ed2 Remove old and no longer needed component-id data tag applied by styleable helper 2021-09-20 12:20:34 +01:00
Andrew Kingston f65b374622 Remove preview specific data tags from components when running real apps 2021-09-20 12:16:23 +01:00
Andrew Kingston 0aedd8d802 Fix spectrum button not being able to be dragged 2021-09-20 12:14:40 +01:00
Andrew Kingston 03be8ee153 Prevent DND targetting either above or below the screen/layout, and fix bug determinging whether a drop target is valid 2021-09-20 09:12:35 +01:00
Andrew Kingston c2aeefae7b Only allow dropping inside empty components that accept children to massively reduce the amount of unwanted drop targets due to parent container components 2021-09-20 08:26:44 +01:00
Andrew Kingston 2c7e93423e Fix a few possible crashes by dragging in certain ways, and display on screen when an invalid drop target is hovered over 2021-09-20 08:06:01 +01:00
Andrew Kingston 8460744e68 Apply grab cursor when hovering over a draggable component 2021-09-17 14:30:54 +01:00
Andrew Kingston a6186dbd39 Refactor to use generic flag for dragging and hide settings bar when dragging 2021-09-17 14:17:50 +01:00
Andrew Kingston 53053c0ea2 Ensure hover indicator is correctly hidden when using DND and improve DND labels 2021-09-16 16:02:45 +01:00
Andrew Kingston 52c4beda8f Ensure transitions work properly when showing and hiding DND candidate positions 2021-09-16 15:49:58 +01:00
Andrew Kingston 2fc9672bfa Add labels to DND to describe where the component will be dropped 2021-09-16 15:08:42 +01:00
Andrew Kingston a05dc7e295 Add above/below dnd and support for dropping above/below components which also allow dropping inside 2021-09-16 14:28:44 +01:00
Andrew Kingston ebf783caee Fix progress circle never animating because of wrong default prop 2021-09-16 14:11:05 +01:00
Andrew Kingston b0f6bd9e76 Prevent dragging the screen or layout components, and prevent dragging any layout components when previewing a screen 2021-09-16 07:52:49 +01:00
Andrew Kingston 4be4dd014d Add initial DND implementation with working functionality for dropping inside components 2021-09-16 07:28:59 +01:00