"Show"処理について

サブビューを追加すると、その都度Show処理が自動的に作成されます。Show処理は処理バーに表示され、ユーザーが関連サブビューを表示できるようになります。Show処理はスマート処理ではなく、手動で作成する必要はありません。Show処理について変更が必要になる可能性があるのは、ラベルのみです。Show処理の各文字列はハードコードされていますが、翻訳可能な文字列に変更できます。

Show処理とは

Show処理は、処理バーから使用できるという点で、スマート処理と似ています。しかし、Show処理はスマート処理ではありません。Show処理は、ユーザーが様々なオブジェクトのサブビューにナビゲートできるようにすることを目的として、自動的に表示される処理です。

たとえば、次のShow処理は、次のオブジェクトのサブビューを追加したときに自動的に作成されます:

このスクリーンショットは、自動的に生成されるShow処理を示しています。

Show処理のラベル

Show処理のラベルは、各サブビューの表示プロパティから取得されます。表示プロパティは、セクションがサブビューに初めて追加されたときに指定されています。サブビューの表示プロパティは、詳細ページのJSONで確認できます。

このスクリーンショットは、サブビューの表示プロパティがどこにあるかを示しています。

Show処理のラベルは表示プロパティの文字列から自動的に取得されるため、ラベルはハードコードされ、翻訳できません。必要に応じて、これを翻訳可能にすることができます。

翻訳可能文字列の作成

次に例を示します。Wikipediaを表示するマッシュアップのサブビューを追加すると、ユーザー側の処理は必要なく、Wikipediaの表示処理が自動的に作成されます。

このスクリーンショットは、新しいマッシュアップ・スマート処理を示しています。

しかし、「Wikipediaの表示」という文字列を韓国語で表示する必要があるユーザーがいるなどの場合があります。その場合は、ハードコードされている文字列を翻訳可能な文字列に変更できます。

翻訳可能なShow処理を作成するには:

  1. 翻訳可能な文字列をカスタム翻訳バンドルに追加します。

    「翻訳バンドルの作成(まだない場合)」を参照してください。

  2. 翻訳バンドルの文字列を参照する定数を作成します。

    1. 「payment_c-detail」タブで、「変数」サブタブをクリックします。

    2. 「+ 変数」をクリックします。

    3. 変数の作成ダイアログで、「定数」オプションが選択されていることを確認し、「ID」フィールドにsubviewLabelと入力します。

    4. 「タイプ」フィールドで、「オブジェクト」を選択します。

    5. 「作成」をクリックします。

    6. 新しいsubviewLabel定数の「プロパティ」ペインで、「デフォルト値」フィールドに翻訳バンドルに追加した文字列への参照を入力します。

      次の形式を使用します。ここで、最初のWikipediaインスタンスはサブビューの表示プロパティとなり、2番目のwikipediaインスタンスは翻訳バンドルに追加した文字列キーです:

      {"Wikipedia":"[[ $translations.CustomBundle.wikipedia() ]]"}

      必要に応じて、翻訳バンドル名と文字列を独自の情報に置き換えてください。

      複数のサブビューがあり、各サブビューで翻訳可能なShow処理が必要である場合は、それをsubviewLabel定数のデフォルト値に追加できます。次に例を示します:

      {
         "PaymentContactMMInter_Src_Payment_cToPaymentContactMMInter_c_Tgt":"[[ $translations.CustomBundle.Contacts() ]]",
         "Wikipedia":"[[ $translations.CustomBundle.wikipedia() ]]"
      }
  3. 新しいsubviewLabel定数を「payment_c-detail」ページのcx-detailフラグメント・コードに追加します。
    1. 「payment_c-detail」タブで、ページ・デザイナ・サブタブをクリックします。

    2. 「コード」ボタンをクリックします。

      このスクリーンショットは、「コード」ボタンを示しています。
    3. 次のようにして、subviewLabel定数をフラグメント・コードの"actionBar"パラメータに追加します:

      "subviewLabelExtension": $page.constants.subviewLabel

      フラグメント・コードは、次のサンプルのようになります。必ず、Payment_cをカスタム・オブジェクトのREST API名に置き換えてください。

      
      <oj-vb-fragment bridge="[[vbBridge]]" name="oracle_cx_fragmentsUI:cx-detail" class="oj-flex-item oj-sm-12 oj-md-12">
          <oj-vb-fragment-param name="resources" value="[[ {'Payment_c' : {'puid': $variables.id, 'id': $variables.id, 'endpoint': $application.constants.serviceConnection }} ]]"></oj-vb-fragment-param>
          <oj-vb-fragment-param name="header" value="[[ {'resource': $flow.constants.objectName, 'extensionId': $application.constants.extensionId } ]]"></oj-vb-fragment-param>
          <oj-vb-fragment-param name="actionBar"
          value='[[ { "applicationId": "ORACLE-ISS-APP", "resource": {"name": $flow.constants.objectName, "primaryKey": "Id", "puid": "Id", "value": $variables.puid }, "subviewLabelExtension": $page.constants.subviewLabel } ]]'>
          </oj-vb-fragment-param>
          <oj-vb-fragment-param name="panels" value='[[ { "panelsMetadata": $metadata.dynamicContainerMetadata, "view": $page.variables.view } ]]'></oj-vb-fragment-param>
          <oj-vb-fragment-param name="context" value="[[ {'flowContext': $flow.variables.context} ]]"></oj-vb-fragment-param>
          <oj-vb-fragment-param name="row" value="{{ $page.variables.row }}"></oj-vb-fragment-param>
      </oj-vb-fragment>