Andrew Kingston
f58e05b509
Improve performance
2024-07-29 14:45:33 +01:00
Andrew Kingston
a3431e6884
Add initial work on grid layouts in containers
2024-07-26 15:41:07 +01:00
Andrew Kingston
a13d60f7c9
Don't show hidden settings in the settings bar
2024-06-26 07:45:12 +01:00
Gerard Burns
e88ffea1a4
Modal component ( #13848 )
...
* wip
* wip
* wip
* wip
* wip
* add note for illegalChildren reset behavior
* on close working
* wip
* lint
* wip
* Fix potential remounting loop caused by spreading props and unnecessary component keying
* theme
* user prompt
* dotted border for empty
* PR Feedback
* lint
* fix modal background color
* use bbui modal
* lint
* fix indicator and prevent closing modal in builder
* pr feedback
* pr feedback
* fix fullscreen
---------
Co-authored-by: deanhannigan <deanhannigan@gmail.com>
Co-authored-by: Andrew Kingston <andrew@kingston.dev>
2024-06-18 11:18:05 +01:00
Andrew Kingston
07f8e1981a
Improve client indicators by properly caching all properties to avoid inconsistent and stale states
2024-03-21 13:22:03 +00:00
Andrew Kingston
5acfc3143d
Multiple performance improvements to component selection and hovering
2024-03-20 17:01:23 +00:00
Gerard Burns
de0414afbe
Update Svelte Major Version to 4 ( #13036 )
...
* update svelte versions
* temporarilly disable svelte warnings
* change bbap version pointed to
* remove sub module specifying svelte version
* point at updated account-portal
* add type declaration for svelte in the server
* add svelte transformer for server jest tests
* remove svelte from bbui package.json
* get builder tests working
* linting fixes
* prettier fixes
* fix server test
* fix another server test
* fix server serverlog test
* account-portal-version
* pin master version of pro
* revert hbs doc file in server to use triple braces, ensures nothing gets escaped
2024-02-22 13:19:29 +00:00
Andrew Kingston
4aafb1ed9e
Massively improve performance of hovering components
2023-12-14 15:19:23 +00:00
Gerard Burns
56cb92aa34
Hover component tree preview ( #12465 )
...
* wip
* wip
* linting
* remove console log
* highlighting a selected component in nav
* PR feeddback
* wip
* pr feedback
---------
Co-authored-by: Andrew Kingston <andrew@kingston.dev>
2023-12-08 09:41:12 +00:00
Andrew Kingston
aa3840833e
Fix selection indicators inside side panels
2023-08-25 09:20:00 +01:00
Gerard Burns
6886a312c5
New Left Panel for Design
2023-08-18 12:46:41 +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
9ec58ca401
Use the new DOM ID method of determining the correct DOM node for a component
2022-11-23 12:32:40 +00:00
Andrew Kingston
c01b9af1f0
Merge branch 'develop' of github.com:Budibase/budibase into side-panel
2022-11-22 16:52:09 +00:00
Dean
a69bccae24
Ensure the navigation does not show the settings bar
2022-11-17 14:40:16 +00:00
Dean
c33e13fa4b
Don't show delete or duplicate actions in the component settings bar
2022-11-17 14:10: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
058547fd67
Add initial version of side panel component
2022-10-27 08:08:35 +01:00
Andrew Kingston
c888b703dd
Improve comments and namimg conventions
2022-10-24 13:32:48 +01:00
Andrew Kingston
6615027403
Fix selection indicator appearing while dragging
2022-10-24 13:24:19 +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
fb0866f0d9
Tidy up
2022-10-24 09:43:45 +01:00
Andrew Kingston
c111f02e70
Improve client grid DND event handling
2022-10-24 09:38:07 +01:00
Andrew Kingston
ce78c5ecb9
Refactor app preview event sending to support async callbacks in client library
2022-10-24 09:02:50 +01:00
Andrew Kingston
b26ab6f8b3
Fix flashing settings bar in stale position
2022-10-21 17:51:35 +01:00
Andrew Kingston
24cc71267c
Fix stale hover indiciator
2022-10-21 17:51:25 +01:00
Andrew Kingston
794db1a7db
Make DND feel much smoother by persisting the end position of drops, and more performance by properly memoizing some state values
2022-10-21 16:54:34 +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
645235be96
Fix resizing not working inside grids
2022-10-19 13:16:42 +01:00
Andrew Kingston
a367863d43
Allow normal DND in and out of grid children
2022-10-18 18:49:24 +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
8c1c84e9aa
Use requestAnimationFrame for DND overlay placeholder updates to further improve performance
2022-10-17 08:48:32 +01:00
Andrew Kingston
fecb8bb1a6
Fix DND not working in field groups and any other component where children are not rendered inside the first DOM node
2022-10-14 19:34:23 +01:00
Andrew Kingston
ef28b10def
Prevent showing placeholder dot when placeholder is invisible
2022-10-14 19:04:05 +01:00
Andrew Kingston
1a210e3ee6
Fix issues dropping components from new component panel
2022-10-14 18:24:47 +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
a71a553ee6
Add ability to drag new components into the preview
2022-10-14 13:37:14 +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
e90a79257f
Remove dragged component from consideration of drop target
2022-10-10 14:00:37 +01:00
Andrew Kingston
73a206e2f1
Fully remove source component from client tree while dragging
2022-10-10 09:51:13 +01:00
Andrew Kingston
b2be069ef1
Make DND work again by converting new parent+index params into old target+mode
2022-10-10 09:36:17 +01:00
Andrew Kingston
7d72cee304
Tune DND throttle rate
2022-10-10 09:22:47 +01:00
Andrew Kingston
0d35e03bdf
Rename DND state variables for clarity
2022-10-08 15:28:22 +01:00
Andrew Kingston
234d8953f2
Fix row/column detection, add comments and remove old code
2022-10-08 15:18:05 +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
5beb6819ec
Fix issue with layout determination
2022-10-07 12:45:22 +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
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
166064f6df
Don't clear grid dnd state when loading client library
2022-08-26 14:47:29 +01:00
Andrew Kingston
b839325a86
Add initial work on grid layout
2022-08-26 08:47:50 +01:00
Andrew Kingston
98864c9614
Merge branch 'develop' of github.com:Budibase/budibase into cheeks-lab-day-keyboard-shortcuts-develop
2022-08-01 19:08:30 +01:00
Andrew Kingston
a9a4b6ee44
Add keybindings to component context menu. Add duplicate keybinding. Simplify pasting
2022-07-29 13:33:04 +01:00
Andrew Kingston
a4847a471c
Add keyboard shortcuts for components. Improve component reordering
2022-07-29 13:33:02 +01:00
Andrew Kingston
b76000f828
Fix issue showing selected component indicators on initial load sometimes due to null reference
2022-07-27 12:55:20 +01:00
Andrew Kingston
c9ee465507
Replace incorrect usages of element.childNodes with element.children
2022-07-15 13:47:39 +01:00
Andrew Kingston
7940d4997a
Lint
2022-06-07 15:19:51 +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
2ff85212eb
Slightly update sizes and styles of indicators and navigation to look better
2022-05-19 21:16:26 +01:00
Andrew Kingston
0484a8a976
Allow indicator to be shown for hovering and selecting navigation section, including title and icon
2022-05-19 21:03:20 +01:00
Andrew Kingston
27788626ec
Remove some log statements
2022-05-19 09:17:09 +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
cc08c263c8
Fix duplicate component action in settings bar
2022-05-05 08:57:49 +01:00
Andrew Kingston
f6eef900ad
Merge pull request #5272 from Budibase/cheeks-lab-day-devtools
...
DevTools
2022-04-14 12:57:01 +01:00
Mel O'Hagan
bf4b2f65d8
Only apply to small components (button, headline)
2022-04-13 15:53:26 +01:00
Mel O'Hagan
eb4206cc55
Move settings bar below element if at very top
2022-04-06 17:31:59 +01:00
Andrew Kingston
923973f1ab
Account for builder preview 2px offset when rendering indicator sets so that indicators are accurate for devtools
2022-04-06 14:32:25 +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
e84e4f9899
Add duplicate action to settings bar
2022-03-07 14:05:26 +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
86e0e8acc2
Fix DND throwing errors due to browser API updates
2022-01-20 11:52:29 +00:00
Andrew Kingston
c97852d0ff
Fix border radius rounding on hover and selection indicators in builder preview
2021-12-09 17:22:46 +00:00
Andrew Kingston
1b3317a114
Add devtools to app preview and add ability to preview apps as different roles
2021-11-26 13:25:02 +00:00
Andrew Kingston
2adbaea026
Merge develop into editable text lab day
2021-11-16 11:14:46 +00:00
Andrew Kingston
c4bbaa6617
Allow blocks which take children to work with DND
2021-11-12 15:18:55 +00:00
Andrew Kingston
aaa448cca8
Update settings bar to account for new block settings structure
2021-11-12 14:48:53 +00:00
Andrew Kingston
387831b799
Add in-preview editing of buttons and add settings bar for buttons
2021-10-28 15:29:48 +01:00
Andrew Kingston
de163567f5
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
b522726afc
Allow in-preview editing of paragraphs and headings
2021-10-28 12:43:31 +01:00
Andrew Kingston
25bafc15d2
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
fe35d08422
Fix drag and drop indicator positioning when not using desktop preview
2021-10-06 13:59:25 +01:00
Andrew Kingston
0297b3de3f
Simplify some DND style rules
2021-09-21 08:47:43 +01:00
Andrew Kingston
eeb0617d2b
Enable left/right side targetting for DND
2021-09-21 08:36:02 +01:00
Andrew Kingston
dc3df10c58
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
9febe391bb
Refactor DND labels to before and after rather then above and below
2021-09-20 15:35:27 +01:00
Andrew Kingston
488ec4d988
Refactor client app data tags to be classnames and simplify logic
2021-09-20 15:34:51 +01:00
Andrew Kingston
e19d17c4f5
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
8cf3971b47
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
f0dde4a4a4
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
7eeb215e51
Refactor to use generic flag for dragging and hide settings bar when dragging
2021-09-17 14:17:50 +01:00
Andrew Kingston
cb04b3fa7d
Ensure hover indicator is correctly hidden when using DND and improve DND labels
2021-09-16 16:02:45 +01:00
Andrew Kingston
601a4935a9
Ensure transitions work properly when showing and hiding DND candidate positions
2021-09-16 15:49:58 +01:00