1
0
Fork 0
mirror of synced 2024-09-08 21:51:58 +12:00
budibase/packages/client
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
..
src Optimise client library performance with skeleton loaders (#9256) 2023-01-11 08:01:41 +00:00
.gitignore Remove lodash and sort dependencies out 2022-01-31 09:32:06 +00:00
.npmignore
LICENSE License cleanup 2021-11-17 14:21:16 +00:00
manifest.json Fix Skeleton Loader Jumping 2022-12-05 14:24:53 +00:00
package.json v2.2.13 2023-01-10 16:38:33 +00:00
README.md fix: update README.md 2021-11-03 02:42:44 -03:00
rollup.config.js UX/UI updates and rollup config changes to exclude common warnings 2022-10-06 09:54:43 +01:00
yarn.lock Merge branch 'master' into develop 2022-12-01 14:39:05 +00:00

Manifest

The manifest.json file exports the definitions of all components available in this version of the client library. The manifest is used by the builder to correctly display components and their settings, and know how to correctly interact with them.

Component Definitions

The object key is the name of the component, as exported by index.js.

  • name - the name displayed in the builder
  • description - not currently used
  • icon - the icon displayed in the builder
  • hasChildren - whether the component accepts children or not
  • styleable - whether the component accepts design props or not
  • dataProvider - whether the component provides a data context or not
  • bindable - whether the components provides a bindable value or not
  • settings - array of settings displayed in the builder

Settings Definitions

The type field in each setting is used by the builder to know which component to use to display the setting, so it's important that this field is correct. The valid options are:

  • text - A text field
  • select - A select dropdown. Accompany these with an options field to provide options
  • datasource - A datasource (e.g. a table or a view)
  • boolean - A boolean field
  • number - A numeric text field
  • detailURL - A URL to a page which displays details about a row. Exclusively used for grids which link to row details.

The available fields in each setting definition are:

  • type - the type of field which determines which component the builder will use to display the setting
  • key - the key of this setting in the component
  • label - the label displayed in the builder
  • defaultValue - the default value of the setting
  • placeholder - the placeholder for the setting