19.2.3 プラグインの編集

プラグインを編集して、追加のカスタム属性の指定、イメージ、CSSおよびJavaScriptファイルなどのファイルのアップロード、またはイベントの追加を実行します。

19.2.3.1 プラグインの編集

「共有コンポーネント」に移動してプラグイン・ページでプラグインを選択して、プラグインを編集します。

プラグインを編集するには、次のようにします。

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。
  3. 編集するプラグインをクリックします。

    編集ページが表示されます。

  4. 変更を加えます。

    各オプションについてさらに学習するには、フィールドレベル・ヘルプを参照してください。

  5. 「変更の適用」をクリックします。

19.2.3.2 プラグインのサブスクライブ

「プラグイン」の「編集」ページでプラグインをサブスクライブします。

サブスクリプションにより、開発者はワークスペース内の複数のアプリケーション間で共有コンポーネントを再利用できます。共有コンポーネント・サブスクリプションの詳細は、「共有コンポーネント・サブスクリプションの使用」を参照してください。

ヒント:

LOVをコピーしてサブスクライブすることで、LOVをサブスクライブすることもできます。「プラグインのコピーまたはサブスクライブ」を参照してください。

プラグインをサブスクライブするには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。

    「プラグイン」ページが表示されます。レポート・ビューには、「サブスクライブ元」、「サブスクリプション・ステータス」および「サブスクライバ」の各列が含まれていることに注意してください。

  3. プラグインを選択します。
    「プラグイン」、「編集」ページが表示されます。
  4. プラグインをサブスクライブするには:
    1. 「サブスクリプション」リージョンを見つけます。
    2. サブスクリプション、サブスクライブ元 - サブスクライブするマスター・プラグインを選択して、「変更の適用」をクリックします。
    3. 選択内容を確認して、「サブスクライブ」をクリックします。

      サブスクライブされたコンポーネントは、選択したマスターから自動的にリフレッシュされます。

  5. プラグインをリフレッシュするには:
    1. 「サブスクリプション」リージョンを見つけます。
    2. サブスクリプション、プラグインのリフレッシュ - プラグインがすでにサブスクライブされている場合は、「プラグインのリフレッシュ」をクリックします。
    3. 「変更の適用」をクリックします。
  6. プラグインからサブスクライブ解除するには:
    1. 「サブスクリプション」リージョンを見つけます。
    2. サブスクリプション、サブスクライブ解除 - 「サブスクライブ解除」をクリックします。

19.2.3.3 プラグインへのカスタム属性の追加

プラグインを編集して、カスタム属性を追加します。

ヒント:

アイテム・タイプ・プラグインに追加できるカスタム属性の最大数は25です。
開発者が指定したカスタム属性に、置換構文で参照されるアイテムが含まれる場合があります。

プラグインにカスタム属性を追加するには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。
  3. 変更するプラグインをクリックします。

    編集ページが表示されます。

  4. カスタム属性 - 「代替属性値」を有効または無効にします。

    開発者が指定するカスタム属性値には、&P1_DNAMEなどの置換構文で参照されるアイテムを含めることができます。オプションは次のとおりです。

    • オン - APEXにより、自動的に置換構文が実際の値で置換されます。

    • オフ - 置換構文は、p_pluginp_itemp_regionなどのattribute_01からattribute_15までのレコード・タイプ属性に置換構文が変更されずに書き込まれます。プラグインの開発者は、これらの置換構文の参照をapex_plugin_util.replace_substitutionsのコールで置換するか、同様の置換を行う必要があります。

      さらに学習、および例を確認するには、フィールドレベル・ヘルプを参照してください。

  5. 属性を追加するには、「属性の追加」をクリックします。

    属性の編集ページが表示されます。対象となる属性を編集します。

  6. 名前:
    • スコープ - オプションは次のようになります。

      • アプリケーション - 属性はアプリケーションについて1回のみ定義できます。
      • コンポーネント - 属性は、コンポーネント内でプラグインが参照されるたびに定義できます。
      • レポート - 属性を定義できるのは、リージョンの表示属性が「複数」(レポート)に設定されている場合のみです。
      • レポート・グループ - この属性を定義できるのは、リージョンの表示属性が「複数(レポート)」に設定されている場合のみです。
    • 属性 - ATTRIBUTE_XX列(たとえばAPEX_APPLICATION_PAGE_ITEMS内)およびパッケージAPEX_PLUGINに定義されたPL/SQLタイプと関連するシーケンス。

    • 表示順序 - アプリケーション・ビルダー内でのこのプラグイン属性の表示順序を入力します。

    • 静的ID - この属性の静的IDを指定します。

      テンプレート・コンポーネント・プラグインでは、大文字のID (MY_PLACEHOLDERなど)を使用する必要があります。この属性値は、その後、置換構文#MY_PLACEHOLDER#を使用することでテンプレート内で参照できます。

      リージョン・プラグインとアイテム・プラグインでは、小文字のID (my_static_idなど)を使用する必要があります。この属性値は、その後、p_region.attributes.get_varchar2('my_static_id')またはp_item.attributes.get_varchar2('my_static_id')を使用してコード内で参照できます。

    • ラベル - アプリケーション・ビルダーに表示するその属性のラベルを指定します。

    • 属性グループ - この属性が表示されるページ・デザイナでグループを指定します。

  7. 設定:
    • タイプ - 属性がアプリケーション・ビルダーに表示される際のタイプを指定します。このタイプは、開発者が入力データを設定または変更するときに入力データを検証するためにも使用され、アドバイザによってアプリケーションを確認するときにも使用されます。

      特定の属性タイプの詳細は、プラグイン属性タイプを参照してください。

    • 共通 - この属性をページ・デザイナのプロパティ・エディタに常に表示するか、拡張属性が表示されている場合にのみ表示するかを指定します。
    • ウィザードに表示 - 新規コンポーネントを現在のプラグインに基づいて作成する場合、この属性を作成ウィザードで表示するかどうかを指定します。
    • 必須 - この属性に値を含める必要があるかどうかを指定します。
    • 翻訳可能 - この属性をXLIFF翻訳ファイルに含めるかどうかを指定します。
    • 表示幅 - App Builder内でこの属性に表示される長さ(文字数)を入力します。
    • 最大長 - この属性にユーザーが入力できる最大文字数を指定します。
    • テキストの大/小文字の設定 - 入力されたプラグイン属性値を常に大文字または小文字で格納するかどうかを指定します。
    • 単位 - ページ・デザイナの属性として表示されるテキストの値の単位(たとえばピクセル)を入力します。
  8. デフォルト値:
    • デフォルト値 - このプラグイン属性のデフォルト値を指定します。デフォルト値は、このプラグインを使用する新しいコンポーネントが作成されたときに使用されます。Yes/Noタイプの属性ではY and Nを使用します。
  9. 条件:
    • デフォルト値 - このプラグイン属性のデフォルト値を指定します。デフォルト値は、このプラグインを使用する新しいコンポーネントが作成されたときに使用されます。 Yes/Noタイプの属性ではY and Nを使用します。
  10. ヘルプ・テキストと例:
    • ヘルプ・テキスト - このプラグイン属性のヘルプ・テキストを指定します。ヘルプ・テキストは、アプリケーション・ビルダーで属性の状況依存ヘルプとして表示されます。
    • 例 -

      このプラグイン属性の例を指定します。これらの例は、アプリケーション・ビルダーでその属性についての状況依存ヘルプの一部として表示されます。

  11. 変更を発行します:
    • 「作成」をクリックして属性を作成し、編集ページに戻ります
    • 「作成後、さらに作成」をクリックして属性を作成し、別の属性を作成します。

ノート:

「作成」または「作成後、さらに作成」をクリックするとき、右側のパネルの「プラグイン」の下の「ページに戻る」チェック・ボックスが選択されていると、同じ属性の編集ページが表示されます。

19.2.3.4 プラグイン属性タイプ

アイテム・プラグインでサポートされている属性タイプを確認します。

次の表に、アイテム・プラグインでサポートされている属性タイプを示します。

属性タイプ 説明

チェック・ボックス

ユーザーが選択できる事前定義済のチェック・ボックスのリスト。すべてのチェック・ボックスの値は、コロンで区切られた文字列として格納されます。

ページ・デザイナでカラー・ピッカーがサポートされるHEXカラー・コードの場合(例: #FF0000または#000000)。

HTML

ページ・デザイナでコード・エディタをサポートするHTMLデータの場合。格納された値は翻訳することもできます。

Icon

ページ・デザイナでアイコン・ピッカーをサポートするアイコンCSSクラスの場合。

整数

小数コンポーネントのない数値(例: 15または-12)。

JavaScript

ページ・デザイナでコード・エディタをサポートするJavaScriptコードの場合。

ターゲット・ページ/URLにリンク

ページ・デザイナでリンク・ビルダーをサポートするリンクの場合。

数値

オプションの10進数コンポーネントを含む数値(例: 531.98-363.55214)。

PL/SQLコード

無名PL/SQLコード・ブロック。

たとえば:

begin
    update emp set sal=sal*1.1;
end;

たとえば:

case when :P7_CATEGORY='computer' then true else false end

VARCHAR2を返すPL/SQL式

結果文字列を返す単純なPL/SQLコード。次に例を示します。

たとえば:

case when :P7_CATEGORY='computer' then 'Y' else 'N' end

BOOLEANを返すPL/SQLファンクション本体

TRUEまたはFALSEを返す拡張PL/SQLコード。

たとえば:

declare
    l_price number;
begin
    select product_price
      into l_price
      from demo_products
     where id = :P7_ID;

    return case when calculate_new_price(l_price) > 1000 then true else false end;
end;

VARCHAR2を返すPL/SQLファンクション本体

:

結果文字列を返す拡張PL/SQLコード。

たとえば:

declare
    l_price number;
begin
    select product_price
      into l_price
      from demo_products
     where id = :P7_ID;

    return calculate_new_price(l_price);
end;

ページ・アイテム

ページ・アイテムの名前。

ページ・アイテム

ページ・アイテムのカンマ区切りリスト。

ページ番号

Oracle APEX内のページを識別します。

ページ番号

Oracle APEXのページのカンマ区切りリスト。

リージョンSQL文の列

ユーザーが選択できるリージョンSQL文で使用される列のリスト。この属性タイプは、リージョン・タイプ・プラグインにのみ使用できます。

SQL問合せ

文で指定された数の列を持つSQL文。

選択リスト

ユーザーが選択できる事前定義済の値のリスト。

Text

英数字データの場合。格納された値は翻訳することもできます。

テキスト領域

複数行の英数字データの場合。格納された値は翻訳することもできます。

XML

ページ・デザイナでコード・エディタをサポートするXMLデータの場合。格納された値は翻訳することもできます。

Yes/No

ブール決定のYes/Noが設定された事前定義済選択リスト。

19.2.3.5 プラグインに関連付けるファイルの作成

プラグインに関連付けるファイルを作成します。

ファイルを作成するには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。
  3. プラグインを選択します。

    編集ページが表示されます。

  4. 「ファイル」セクションを見つけます。

    「ファイルの接頭辞」は、Webサーバーがプラグインのファイルを指す場合に使用する仮想パスを特定します。プラグイン定義とともにデータベースに格納されているファイルを参照する場合は、何も指定しないでください。パフォーマンスの点から、プラグイン・ファイルをWebサーバーに格納することもできます。#APEX_FILES#または有効なURLを使用してそれらを参照します。

  5. ファイルをアップロードするには、「ファイルの作成」をクリックします。
  6. 作成ページで、次の項目を指定します。
    1. ディレクトリ - ファイルの格納先ディレクトリの名前を入力します。たとえば、csscss/imagesです。
      ディレクトリを指定しない場合、ファイルはルート・ディレクトリに格納されます。
    2. ファイル名 - 空白ファイル(script.jsなど)を作成する場合は、ファイルの名前を入力します。
    3. コンテンツ - ファイルをアップロードする場合は、次のいずれかを実行します。
      • ファイルを「コンテンツ」リージョンにドラッグ・アンド・ドロップします。

      • 「コンテンツ」リージョンをクリックし、ファイルを選択します。

    4. 「作成」または「作成後、別のものの作成」をクリックします。

19.2.3.6 CSSおよびJavaScriptファイルの自動ロード

プラグインがページで使用されている場合、CSSおよびJavaScriptファイルを自動的にロードします。

「ロードするファイルURL」の属性を構成すると、ページでプラグインが使用されるときに、CSSおよびJavaScriptファイルをAPEXで自動的にロードできます。どのアップロード済ファイルをどの順序でロードする必要があるかを指定するには、次のステップを実行します。

CSSまたはJavaScriptファイルを自動ロードするには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。
  3. プラグインを選択します。

    編集ページが表示されます。

  4. 「ロードするファイルURL」を見つけます:
    1. カスケード・スタイルシート - このプラグインでロードするカスケード・スタイルシート・ファイルURLを入力します。各URLは新規行に書き込む必要があります。

      ファイルの縮小バージョンを指定する場合、置換文字列#MIN#を使用して.minを、または#MIN_DIRECTORY#を使用してminified/を通常ページ・ビューのファイルURLに含めたり、ページをデバッグ・モードで表示する場合は空の文字列を含めることができます。また、置換文字列#PLUGIN_FILES#にアクセスして、プラグインのファイル接頭辞の値で置換することもできます。

      ここに入力したファイルURLは、ページ・テンプレートの#APEX_CSS#置換文字列内に出力されます。

      リンクの開始タグや閉じタグを含める必要はありません。ファイルURLのみです。

    2. JavaScript - このプラグインでロードするコードのJavaScriptファイルURLを入力します。

      このプラグインでロードするコードのJavaScriptファイルURLを入力します。各URLは新規行に書き込む必要があります。ファイルの縮小バージョンを指定する場合、置換文字列#MIN#を使用して.minを、または#MIN_DIRECTORY#を使用してminified/を通常ページ・ビューのファイルURLに含めたり、ページをデバッグ・モードで表示する場合は空の文字列を含めることができます。また、置換文字列#PLUGIN_FILES#にアクセスして、プラグインのファイル接頭辞の値を置換することもできます。

      ここに入力したJavaScriptファイルURLは、ページ・テンプレートの#GENERATED_JAVASCRIPT#置換文字列内に出力されます。

      scriptの開始タグや閉じタグを含める必要はありません。ファイルURLのみです。

    例を表示するには、フィールドレベル・ヘルプを参照してください。

  5. 「変更の適用」をクリックします。

19.2.3.7 属性グループの作成

プラグイン属性グループを定義し、カスタム・プラグイン属性に割り当てます。

次のプラグイン・タイプの属性グループを作成できます: アイテム、リージョン、プロセスおよび動的アクション。属性グループごとに、グループ名と順序を指定します。次に、カスタム属性を作成するときに、「属性グループ」を選択します。

属性グループのその他の機能は次のとおりです。

  • グループ名はプラグインごとに一意である必要があります
  • 属性は、表示順序の値に従って属性グループ内で順序付けされます。
  • 属性グループ「順序」は、ページ・デザイナでのグループの表示順序を定義します。
  • 属性グループに割り当てられていないプラグイン属性は、ページ・デザイナの「属性」タブの「設定」に直接表示されます

次の例は、グループAとグループBの2つの属性グループを示しています。属性3は属性グループに割り当てられず、「設定」に直接表示されます。

attribute_groups.pngの説明が続きます
図attribute_groups.pngの説明

属性グループを作成します。

  1. プラグインの作成の説明に従って、プラグインを作成します。
  2. プラグイン・ページで、編集するプラグインを選択します。

    編集ページが表示されます。

  3. 属性グループの追加:
    1. 「属性グループ」で、「グループの追加」をクリックします。

      「属性グループ」の下に新しい行が表示されます。

    2. 属性グループごとに、次を編集します。
      • タイトル - 属性グループのタイトルを入力します。
      • 順序 - 順序を入力します。
    3. 「変更の適用」をクリックします。
  4. プラグインへのカスタム属性の追加の説明に従って、カスタム属性を追加します。「名前」、「属性グループ」で、グループを選択します。ページ・デザイナでは、属性グループ「順序」によって属性の表示場所が決まります。

19.2.3.8 プラグインへのイベントの追加

イベントをアイテム、リージョンまたは動的アクション・タイプのプラグインに追加して、動的アクションに公開できるようにします。

たとえば、Start Slide、Sliding、Stop Slideなどのイベントを公開し、これらのイベントが発生したときに応答できる動的アクションの作成が可能なSliderプラグインがあるとします。

プラグインにイベントを追加するには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。
  3. 編集するプラグインをクリックします。

    編集ページが表示されます。

  4. 「イベント」を見つけて、「イベントの追加」をクリックします。

    「イベント」の下に新しい行が表示されます。

  5. 「イベント」で、次のように入力します。
    1. 名前: 動的アクション内でプラグイン・イベントが表示される表示名(たとえば: Start Slide)。
    2. 内部名: 動的アクションをトリガーする割り当てられたJavaScriptイベントの名前。たとえば: slidestart
  6. 「イベントの追加」をクリックします。
  7. ステップ3から4を繰り返して、別のイベントを追加します。
  8. 「変更の適用」をクリックします。