インストール

モジュールをインストールします

  1. npm install @wordpress/interface --save

このパッケージは、あなたのコードがES2015+環境で実行されることを前提としています。このような言語機能やAPIのサポートが限られているか、まったくない環境を使用している場合は、コードに@wordpress/babel-preset-defaultで提供されるポリフィルを含める必要があります

APIの使用

補完領域

このコンポーネントは、補完的なランドマークにちなんで名付けられました。これは、DOM階層内のメインコンテンツと同じレベルで補完的に設計された文書のサポートセクションであり、メインコンテンツから分離されても意味を持ちます。

  1. ストアを使用して、どの補完が有効かを制御することが可能です。
  2. 以下は、ストアを使用してアクティブな補完領域を制御する方法のいくつかの例です:
  3. ``````bash
  4. wp.data
  5. .select( 'core/interface' )
  6. .getActiveComplementaryArea( 'core' );
  7. // -> "edit-post/document"
  8. wp.data
  9. .dispatch( 'core/interface' )
  10. .enableComplementaryArea( 'core', 'edit-post/block' );
  11. wp.data
  12. .select( 'core/interface' )
  13. .getActiveComplementaryArea( 'core' );
  14. // -> "edit-post/block"
  15. wp.data
  16. .dispatch( 'core/interface' )
  17. .disableComplementaryArea( 'core' );
  18. wp.data
  19. .select( 'core/interface' )
  20. .getActiveComplementaryArea( 'core' );
  21. // -> null
  22. `

ピン留めされたアイテム

  1. 使用例: `````ComplementaryArea`````コンポーネントは`````PinnedItems`````を利用し、お気に入りとしてマークされた補完領域のために自動的にピン留めされたアイテムを追加します。
  2. ``````bash
  3. wp.data.select( 'core/interface' ).isItemPinned( 'core', 'edit-post-block-patterns/block-patterns-sidebar' );
  4. // -> false
  5. wp.data.dispatch( 'core/interface' ).pinItem( 'core', 'edit-post-block-patterns/block-patterns-sidebar' );
  6. wp.data.select( 'core/interface' ).isItemPinned( 'core', 'edit-post-block-patterns/block-patterns-sidebar' );
  7. // -> true
  8. wp.data.dispatch( 'core/interface' ).unpinItem( 'core', 'edit-post-block-patterns/block-patterns-sidebar' );
  9. wp.data.select( 'core/interface' ).isItemPinned( 'core', 'edit-post-block-patterns/block-patterns-sidebar' ); -> false
  10. `

設定

インターフェースパッケージは、エディタの設定を実装するためのいくつかのヘルパーを提供します。

機能

機能は、特定のエディタ機能をオンまたはオフに切り替えるために使用されるブール値です。

エディタの初期化時に機能のデフォルト値を設定します:

  1. import { dispatch } from '@wordpress/data';
  2. import { store as interfaceStore } from '@wordpress/interface';
  3. function initialize() {
  4. // ...
  5. dispatch( interfaceStore ).setFeatureDefaults(
  6. 'namespace/editor-or-plugin-name',
  7. {
  8. myFeatureName: true,
  9. }
  10. );
  11. // ...
  12. }
  1. ``````bash
  2. wp.data
  3. .select( 'core/interface' )
  4. .isFeatureActive( 'namespace/editor-or-plugin-name', 'myFeatureName' ); // true
  5. wp.data
  6. .dispatch( 'core/interface' )
  7. .toggleFeature( 'namespace/editor-or-plugin-name', 'myFeatureName' );
  8. wp.data
  9. .select( 'core/interface' )
  10. .isFeatureActive( 'namespace/editor-or-plugin-name', 'myFeatureName' ); // false
  11. `

このパッケージへの貢献

これはGutenbergプロジェクトの一部である個別のパッケージです。このプロジェクトはモノレポとして整理されています。特定の目的を持つ複数の自己完結型ソフトウェアパッケージで構成されています。このモノレポ内のパッケージはnpmに公開され、WordPressや他のソフトウェアプロジェクトで使用されています。

このパッケージやGutenberg全体への貢献について詳しく知りたい場合は、プロジェクトの主要な貢献者ガイドをお読みください。