すべてのプロダクト
Search
ドキュメントセンター

:用語

最終更新日:Mar 18, 2025

このトピックでは、Quick BI カスタムコンポーネントの基本概念について説明します。

カスタムコンポーネント

Quick BI では、カスタムコンポーネント (CustomComponent) は、bootstrapmountunmountupdate などのプロパティを持つオブジェクトです。これらのプロパティは、カスタムコンポーネントの具体的な実装ロジックを網羅しています。詳細については、「ライフサイクル」をご参照ください。

// これはカスタムコンポーネントです
const CustomComponent = {
    bootstrap: (props) => {},
  mount: (props) => {},
  unmount: (props) => {},
  update: (props) => {},
}
説明

通常、カスタムコンポーネントのライフサイクルを管理する必要はありません。bi-open-sdkbi-open-react-sdk は、createBIComponent 関数を提供しており、カスタムコンポーネントを作成するために直接呼び出すことができます。

カスタムコンポーネントメタデータ

カスタムコンポーネントメタデータ (ComponentMeta) は、propsSchema などのプロパティを含むオブジェクトです。メタデータを使用すると、Quick BI カスタムコンポーネントのデータパネル、スタイルパネル、および詳細パネルの機能をカスタマイズできます。詳細については、「ComponentMeta」をご参照ください。

const meta = {
    propsSchema: {
      dataSchema: {
        schema: {}
    },
    styleSchema: {
        schema: {}
    },
  }
}

プロジェクト構造

Quick BI カスタムコンポーネントを作成するための推奨方法は、create-qbi-app コマンドを使用してシードプロジェクトを生成することです。npm init qbi-app <project name> コマンドで作成できます。詳細については、「はじめに」をご参照ください。

  • ファイルディレクトリ

    シードプロジェクトを生成すると、ファイルディレクトリ構造は次のようになります。

    ├── build                # ビルド出力ディレクトリ
    ├── node_modules         # プロジェクト関連のパッケージ依存関係
    ├── public               # ローカルデバッグエントリ
    │    └──index.html
    ├── src                  # ソースコード
    │    ├──index.tsx        # コンポーネントエントリ
    │    ├──index.scss       # コンポーネントスタイルファイル
    │    └──meta.ts          # コンポーネントプロパティ構成(データ、スタイル、データとビューのマッピング関係を含む)
    ├── .eslintrc            # ESLint プラグイン構成ファイル
    ├── config-overrides.js  # Webpack 構成ファイル
    ├── package.json         # 依存パッケージ管理
    ├── README.md            # プロジェクトドキュメント
    └── tsconfig.json        # TypeScript 構成ファイル
  • 関連コマンド

    • npm run start: ローカルデバッグを開始します。

    • npm run build: プロジェクトをビルドします。

    • npm run pack: ビルド結果を Quick BI デプロイメントパッケージにパッケージ化します。デフォルトでは、このコマンドは最初に npm run build を実行します。

  • Src ディレクトリ

    このフォルダには、カスタムコンポーネントのソースコードが含まれています。これには以下が含まれます。

    • meta.ts: カスタムコンポーネントのメタデータ。データパネルとスタイルパネルを構成するために使用されます。

    • index.tsx: カスタムコンポーネント自体。

    • index.scss: カスタムコンポーネントのスタイルファイル。

  • Public ディレクトリ

    このフォルダには、devserver の HTML テンプレートとモックデータが含まれています。

  • Build ディレクトリ

    このフォルダには、ビルド出力とパッケージ化された結果が格納されます。

    npm run build を実行すると、次のモジュールが生成されます。

    ファイル名

    モジュールタイプ

    モジュール名

    main.js

    umd

    BIComponent

    meta.js

    umd

    BIComponentMeta

    main.css

    -

    -

    説明

    出力結果の精度を確保するために、webpack 構成を任意に変更しないでください。

カスタムコンポーネントの状態

Quick BI カスタムコンポーネントには、実行状態表示状態 の 2 つの状態ディメンションがあります。

実行状態

実行状態は、カスタムコンポーネントの作成から破棄までのライフサイクルを追跡し、コンポーネントの 開発モード に基づいて変化します。コンポーネントの実行状態は、オープン プラットフォーム > カスタム コンポーネント からアクセスできる カスタム コンポーネント 管理プラットフォームを介して管理します。

オンライン編集

  • 公開待ち - 新しく登録された、または更新された情報が公開されていますが、まだオンラインに同期されていません。

  • 公開済み - コンポーネントはオンラインで実行されています。

プロフェッショナルモード

  • 開発中 - 新しく登録され、開発パッケージのアップロードを待機しています。

  • 公開待ち - 開発パッケージがアップロードされた、または情報が調整されましたが、まだオンラインに同期されていません。

  • 公開済み - コンポーネントはオンラインで実行されています。

コンポーネントの登録

コンポーネントの登録確認 をクリックし、情報フィールドに入力して、 ボタンをクリックします。

image

登録が成功すると、コンポーネントのカードがページに表示されます。

image

選択した 開発モード は、カスタムコンポーネントの後続の開発プロセスに影響を与え、選択後は変更できません。ニーズに合わせて選択してください。

  • オンライン編集: ページ上で直接編集およびデバッグを行い、使いやすさと利便性を提供します。詳細については、「モード 1. オンライン編集」をご参照ください。

  • プロフェッショナルモード: SDK を使用してローカルデバッグを行い、複雑なコンポーネント開発に最適です。詳細については、「モード 2. プロフェッショナルモード」をご参照ください。

image

コンポーネントのデバッグ

コンポーネントリストで、コンポーネントカードの デバッグ ボタンをクリックしてデバッグを開始します。

image

コンポーネントデバッグのダイアログ ボックスが表示されます。

image.png

[Edit Online] 内には、コンポーネント用の 3 つのデバッグ環境があります。

  • オンライン開発環境 - コンポーネントソースコードのオンライン編集が可能で、構成は公開待ちパッケージに設定されています。

  • 公開待ち環境 - 公開待ちパッケージのリソースを使用し、構成はそれに応じて設定されています。

  • オンライン環境 - 公開済みパッケージのリソースを使用し、構成はそれに応じて設定されています。

プロフェッショナルモードでは、コンポーネント用に 3 つのデバッグ環境があります。

  • ローカル開発環境 - ローカル サービスからコンポーネントリソースを読み取り、構成は公開待ちパッケージに設定されています。

  • 公開待ち環境 - 公開待ちパッケージのリソースを使用し、構成はそれに応じて設定されています。

  • オンライン環境 - 公開済みパッケージのリソースを使用し、構成はそれに応じて設定されています。

コンポーネントデバッグ ダイアログボックスで、デバッグする デバッグ範囲ワークスペース、および対応するダッシュボードを選択し、[デバッグに移動] をクリックして該当のダッシュボードページに移動します。

オンライン編集

オンラインで編集実行 モードでは、コンポーネントのアイコンがページマテリアルバーに表示され、コードエディタがページの下部に表示されます。左側で src の下のファイルを選択して編集します。コードを変更した後、 ボタンをクリックしてリアルタイム実行を行います。

image.png

コード編集パネルは手動で閉じることができます。編集モードに再び入るには、カスタムコンポーネントカードの右上隅にあるドロップダウンメニューをクリックし、カスタム コンポーネントの編集 を選択します。

image.png

説明

注:

  • デバッグモードでは、表示状態に関係なく、カスタムコンポーネントは常にマテリアルバーに表示されます。

  • デバッグモード中は、ダッシュボードは保存できますが、公開できません。

[Edit Online] でコンポーネントの開発を完了した後、[保存] ボタンをクリックしてコードを保存します。コンポーネントは保留中の公開ステータスになります。

image.png

プロフェッショナルモード

プロフェッショナルモードで、ダッシュボードページの [グラフの追加] > [カスタム] を選択します。コンポーネントのアイコンが表示されます。ダッシュボードにドラッグし、データパネルを構成して、データを取得します。ローカルコードを変更した後、ページをリフレッシュして開発とデバッグを続行します。

image.png

説明

注:

  • プロフェッショナルモードでは、コンポーネントのローカルサービスが実行されていることを確認します。

  • デバッグモードでは、表示状態に関係なく、カスタムコンポーネントは常にマテリアルバーに表示されます。

  • デバッグモード中は、ダッシュボードは保存できますが、公開できません。

プロフェッショナルモードでの開発が完了したら、オープン プラットフォーム > カスタム コンポーネント からコンポーネントをパッケージ化してアップロードします。

image

[編集] ボタンをクリックすると、コンポーネント情報を変更するためのダイアログ ボックスが表示されます。

image.png

必要な情報を更新した後、[確認] ボタンをクリックします。コンポーネントは保留中の公開ステータスになります。

シードプロジェクトで yarn run pack を実行して、開発パッケージを作成します。

コンポーネントの公開

コンポーネントが公開待ち状態の場合、コンポーネントカードの 公開 ボタンがクリック可能になります。

image

公開 ボタンをクリックすると、コンポーネントの変更の詳細が表示され、変更されたプロパティは赤で強調表示されます。

image

オンライン編集 モードの場合は、[コード比較の表示] をクリックして、具体的なコードの変更を確認します。

image.png

[発行の確認] を選択して、コンポーネントを本番環境に正式にリリースし、状態を公開済みに変更します。

コンポーネントの削除

カスタムコンポーネントを削除するには、リスト内のコンポーネントカードにある [削除] ボタンをクリックします。

image

削除すると:

  • カスタムコンポーネントは、追加可能なアイテムのリストから削除されます。

  • 以前に保存された、カスタムコンポーネントを使用するチャートには、カスタムコンポーネントが表示されなくなり、「チャートメタデータが異常であるか、削除されています」というメッセージが代わりに表示されます。

image.png

表示状態

表示状態は、カスタムコンポーネントがダッシュボードに表示されるかどうかを決定し、2 つの設定が利用可能です。

  • 非表示: カスタム コンポーネントは、ダッシュボード編集ページの [グラフの追加] -> [カスタム] に表示されません。これにより、新しいグラフの作成はできなくなりますが、以前に保存されたグラフは引き続き表示されます。

  • 表示: カスタム コンポーネントは、ダッシュボード編集ページの [チャートの追加] -> [カスタム] に表示され、チャートの作成と切り替えを可能にします。

説明

注:

  • コンポーネントの表示状態を変更しても、公開待ち 状態はトリガーされず、すぐにオンラインで有効になります。

  • 開発モードでは、コンポーネントは常に表示されます。

カスタムコンポーネントプラットフォームで [非表示] または [表示] ボタンをクリックすることで、コンポーネントの表示ステータスを変更します。

image

この変更は、コンポーネントのエントリが表示または非表示になることで、ダッシュボードに反映されます。

image