New Features
To reduce development learning costs and provide a better frontend development experience, we have phased a reconstruction of the frontend core over the past few months, including:

This time, v0.17 has refactored the UI Schema designer-related SchemaInitializer and SchemaSettings.


To address the difficulty for users to get started, we have also reorganized various sections of the documentation:
- Plugin Development (completely revised and published)
- API Reference / Client (new section, already published)
- User Manual (completely revised, will be released in the next one to two weeks)
- Plugin List (new section, including introductions, usage, and extension development instructions for all existing plugins, will be released in the next one to two weeks)
Incompatible Changes
Changes to SchemaInitializer
- Added
SchemaInitializerManagerfor registeringSchemaInitializer - Added
useSchemaInitializerRender()to replace the originaluseSchemaInitializer()render() - Added
useSchemaInitializerItem()for obtaining the context of the current initialization item - Added
SchemaInitializerItemGroupcomponent as the default component fortype: 'itemGroup' - Added
SchemaInitializerSubMenucomponent as the default component fortype: 'subMenu' - Added
SchemaInitializerDividercomponent as the default component fortype: 'divider' - Added
SchemaInitializerChildrencomponent for custom rendering of multiple list items - Added
SchemaInitializerChildcomponent for custom rendering of a single list item - Changed the responsibilities of
SchemaInitializerContextfor storing the context of the current initializer - Changed the responsibilities of
useSchemaInitializer()for obtaining the context of the current initializer - Changed
function SchemaInitializertoclass SchemaInitializerfor defining initializer - Changed parameters of
SchemaInitializer- Added
namerequired parameter for the value ofx-initializer - Added
Componentparameter for custom rendering of the button. Default isSchemaInitializerButton. - Added
componentProps,stylefor configuring the properties and style ofComponent - Added
ItemsComponentparameter for custom rendering of the list. Default isSchemaInitializerItems. - Added
itemsComponentProps,itemsComponentStylefor configuring the properties and style ofItemsComponent - Added
popoverparameter for configuring whether to display thepopovereffect - Added
useInsertparameter for when theinsertfunction needs to use hooks - Changed
dropdownparameter topopoverProps, usingPopoverinstead ofDropdown
- Added
- Changed parameters of
itemsforSchemaInitializer- Added
useChildrenfunction for dynamically controlling child items - Added
componentPropsfunction for the properties of the component itself - Added
useComponentPropsfunction for dynamically processing the props of the component - Changed
keyparameter tonamefor the unique identification of list items - Changed
visibleparameter touseVisiblefunction for dynamically controlling whether to display - Changed
componentparameter toComponentfor rendering list items
- Added
- Changed
SchemaInitializer.ButtontoSchemaInitializerButton, the default value for the Component parameter of SchemaInitializer - Changed
SchemaInitializer.ItemtoSchemaInitializerItem, with unchanged parameters - Changed
SchemaInitializer.ActionModaltoSchemaInitializerActionModal, with unchanged parameters - Changed
SchemaInitializer.SwitchItemtoSchemaInitializer.Switch, with unchanged parameters - Deleted
SchemaInitializerProvider, replaced bySchemaInitializerManager - Deleted
SchemaInitializer.itemWrap, no longer need to wrap theitemcomponent
Changes to SchemaSettings
- Added
SchemaSettingsManagerfor registeringSchemaSettings - Added
useSchemaSettingsItem() - Added
useSchemaSettingsRender() - Added
x-settingsparameter for configuring schema settings - Added
x-toolbarparameter for configuring schema toolbar - Added
SchemaToolbarcomponent for customizing schema toolbar - Added
useSchemaToolbarRender()to replace the originaluseDesigner() - Changed
function SchemaSettingstoclass SchemaSettingsfor defining settings - Changed the original
SchemaSettingstoSchemaSettingsDropdown - Changed
SchemaSettings.ItemtoSchemaSettingsItem - Changed
SchemaSettings.ItemGrouptoSchemaSettingsItemGroup - Changed
SchemaSettings.SubMenutoSchemaSettingsSubMenu - Changed
SchemaSettings.DividertoSchemaSettingsDivider - Changed
SchemaSettings.RemovetoSchemaSettingsRemove - Changed
SchemaSettings.SelectItemtoSchemaSettingsSelectItem - Changed
SchemaSettings.CascaderItemtoSchemaSettingsCascaderItem - Changed
SchemaSettings.SwitchItemtoSchemaSettingsSwitchItem - Changed
SchemaSettings.ModalItemtoSchemaSettingsModalItem - Changed
SchemaSettings.ActionModalItemtoSchemaSettingsActionModalItem - Deleted
x-designerparameter, deprecated, will be removed in the future, usex-toolbarinstead - Deleted
useDesigner(), deprecated, will be removed in the future, useuseSchemaToolbarRender()instead
For more details, see Incompatible Changes in NocoBase 0.17