NocoBase 0.17:新しい SchemaInitializer と SchemaSettings

NocoBase 0.17 は、UI スキーマデザイナーを再構築し、新しい SchemaInitializer と SchemaSettings を導入し、ドキュメントを再整理し、フロントエンドの開発をより良くするためのいくつかの改善を行いました。

NocoBase team |

新機能

開発の学習コストを削減し、より良いフロントエンド開発体験を提供するために、私たちは過去数ヶ月にわたりフロントエンドコアの再構築を段階的に進めてきました。

nocobase-client

今回は、v0.17 では UI Schema デザイナーに関連する SchemaInitializer と SchemaSettings が再構築されました。

SchemaInitializer

SchemaSettings

ユーザーが始めやすくするために、私たちはドキュメントの各セクションを再整理しました。

  • プラグイン開発(全面改訂済み、公開済み)
  • API リファレンス / クライアント(新しいセクション、すでに公開)
  • ユーザーマニュアル(全面改訂、今後1~2週間以内に公開予定)
  • プラグイン一覧(新しいセクション、既存のすべてのプラグインの紹介、使用法、拡張開発の指示を含む、今後1~2週間以内に公開予定)

非互換の変更

SchemaInitializer の変更

  • SchemaInitializer を登録するための SchemaInitializerManager を追加
  • 元の useSchemaInitializer()render() を置き換えるために useSchemaInitializerRender() を追加
  • 現在の初期化アイテムのコンテキストを取得するための useSchemaInitializerItem() を追加
  • type: 'itemGroup' のデフォルトコンポーネントとして SchemaInitializerItemGroup コンポーネントを追加
  • type: 'subMenu' のデフォルトコンポーネントとして SchemaInitializerSubMenu コンポーネントを追加
  • type: 'divider' のデフォルトコンポーネントとして SchemaInitializerDivider コンポーネントを追加
  • 複数のリストアイテムをカスタムレンダリングするための SchemaInitializerChildren コンポーネントを追加
  • 単一のリストアイテムをカスタムレンダリングするための SchemaInitializerChild コンポーネントを追加
  • 現在の初期化器のコンテキストを保存するための SchemaInitializerContext の責任を変更
  • 現在の初期化器のコンテキストを取得するための useSchemaInitializer() の責任を変更
  • 初期化器を定義するために function SchemaInitializerclass SchemaInitializer に変更
  • SchemaInitializer のパラメータを変更
    • x-initializer の値のための必須パラメータ name を追加
    • カスタムレンダリングのボタンのための Component パラメータを追加。デフォルトは SchemaInitializerButton
    • Component のプロパティとスタイルを設定するための componentPropsstyle を追加。
    • リストのカスタムレンダリングのための ItemsComponent パラメータを追加。デフォルトは SchemaInitializerItems
    • ItemsComponent のプロパティとスタイルを設定するための itemsComponentPropsitemsComponentStyle を追加。
    • popover 効果を表示するかどうかを設定するための popover パラメータを追加。
    • insert 関数がフックを使用する必要がある場合のための useInsert パラメータを追加。
    • dropdown パラメータを popoverProps に変更し、Dropdown の代わりに Popover を使用。
  • SchemaInitializeritems パラメータを変更
    • 子アイテムを動的に制御するための useChildren 関数を追加。
    • コンポーネント自身のプロパティのための componentProps 関数を追加。
    • コンポーネントの props を動的に処理するための useComponentProps 関数を追加。
    • リストアイテムの一意の識別のために key パラメータを name に変更。
    • 表示の制御を動的に行うために visible パラメータを useVisible 関数に変更。
    • リストアイテムのレンダリング用に component パラメータを Component に変更。
  • SchemaInitializer.ButtonSchemaInitializerButton に変更し、SchemaInitializer の Component パラメータのデフォルト値に設定。
  • SchemaInitializer.ItemSchemaInitializerItem に変更し、パラメータは変更なし。
  • SchemaInitializer.ActionModalSchemaInitializerActionModal に変更し、パラメータは変更なし。
  • SchemaInitializer.SwitchItemSchemaInitializer.Switch に変更し、パラメータは変更なし。
  • SchemaInitializerProvider を削除し、SchemaInitializerManager に置き換え。
  • SchemaInitializer.itemWrap を削除し、item コンポーネントをラップする必要がなくなりました。

SchemaSettings の変更

  • SchemaSettings を登録するための SchemaSettingsManager を追加。
  • useSchemaSettingsItem() を追加。
  • useSchemaSettingsRender() を追加。
  • スキーマ設定のためのパラメータ x-settings を追加。
  • スキーマツールバーを設定するための x-toolbar パラメータを追加。
  • スキーマツールバーをカスタマイズするための SchemaToolbar コンポーネントを追加。
  • 元の useDesigner() を置き換えるために useSchemaToolbarRender() を追加。
  • 設定を定義するために function SchemaSettingsclass SchemaSettings に変更。
  • 元の SchemaSettingsSchemaSettingsDropdown に変更。
  • SchemaSettings.ItemSchemaSettingsItem に変更。
  • SchemaSettings.ItemGroupSchemaSettingsItemGroup に変更。
  • SchemaSettings.SubMenuSchemaSettingsSubMenu に変更。
  • SchemaSettings.DividerSchemaSettingsDivider に変更。
  • SchemaSettings.RemoveSchemaSettingsRemove に変更。
  • SchemaSettings.SelectItemSchemaSettingsSelectItem に変更。
  • SchemaSettings.CascaderItemSchemaSettingsCascaderItem に変更。
  • SchemaSettings.SwitchItemSchemaSettingsSwitchItem に変更。
  • SchemaSettings.ModalItemSchemaSettingsModalItem に変更。
  • SchemaSettings.ActionModalItemSchemaSettingsActionModalItem に変更。
  • 廃止された x-designer パラメータを削除し、将来的に削除される予定。代わりに x-toolbar を使用。
  • 廃止された useDesigner() を削除し、将来的に削除される予定。代わりに useSchemaToolbarRender() を使用。

詳細は NocoBase 0.17 の非互換性のある変更 を参照してください。