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