1. SPEAKのご紹介

準則

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

SPEAKのルールはフロントエンド (JavaScript) ルールです。これらのルールを使用して、SPEAKページにロジックを追加します。ルールは、RuleコンポーネントとRuleDefinitionアイテムを組み合わせて指定します。

Ruleコンポーネントは、SPEAKページ内の他のコンポーネントからのイベントをリッスンし、別のSPEAKコンポーネントがイベントを発生させるとルールをトリガーします。

ルールを作成するには、RuleDefinitionテンプレートに基づいてルール アイテムを作成し、このアイテムでルールを定義します。Ruleコンポーネントは、RuleコンポーネントのRuleItemIdプロパティのRuleDefinitionアイテムに接続します。

ルールは、条件とアクションで構成されます。ルールの1行目は条件で、2行目はアクションです。

たとえば、次のルールを指定した場合、次のようになります。

where ListControl1 has a selected item

set component Button1 enabled to true

その後、次のことが起こります。

  1. ユーザーがListControl1でアイテムを選択します。

  2. Ruleコンポーネントはこのイベントをキャッチし、ルールをトリガーします。

  3. SPEAKは条件を確認します。

  4. 条件がtrueであるため、SPEAKはアクションを実行します。

  5. SPEAKはButton1を有効にします。

関心のあるイベントごとにRuleコンポーネントをページに追加し、ページには複数のRuleコンポーネントを含めることができます。複数の異なるRuleコンポーネントが同じRuleアイテムを指すことができます。

SPEAKは、ページのPageCodeスクリプト ファイルの実行が完了した後に、ページのルールを実行します。

ルールコンポーネントの設定

ルールをトリガーするイベントは、次のように指定します。

  1. 「リッスン」するSPEAKコンポーネントのIDをTargetControlプロパティに指定します。

  2. Triggerプロパティでイベントを指定します。イベントのみを指定することも(例: changeclick)、イベントと属性を指定することもできます (例: change:facets)。たとえば、change:facetsを指定すると、Ruleコンポーネントは、facets属性のchangeイベントを発生させたときにルールをトリガーします。属性は、各SPEAKコンポーネントに固有です。

デフォルトのコンポーネントはwindowです。つまり、コンポーネントを指定しない場合、Ruleコンポーネントはwindowコンポーネントによって発生したイベントをリッスンします。 windowコンポーネントは、ダイアログ・ページ自体です。 resizeイベントがあります。

コンポーネントには特定のイベントを含めることができますが、すべてのコンポーネントにはchangeイベントがあります。 changeイベント、属性、およびRule条件 (次のセクションで説明) の組み合わせを使用して、ルールが実行されるタイミングを正確に指定できます。

ルールを作成する

ルールを作成するには、RuleDefinitionテンプレートを使用してRuleアイテムを作成します。

  • RuleフィールドのRule項目にルールを追加します。フィールドの横にあるEditをクリックして、Rule Editorダイアログを開きます。

    Rule Editorダイアログには、次の3つのペインがあります。

    ConditionsペインとActionsペインでは条件とアクションを選択し、Ruleペインではルールを表示および編集できます。

  • Rule Editorを開くときにルールがない場合、空のルールが作成されます。ルールがある場合は、既存のルールに条件とアクションを追加するか、新しいルールを作成できます。右クリックしてコンテキスト メニューからAdd New Ruleを選択し、新しいルールを作成します。

  • ルールに条件とアクションを追加するには、ConditionsペインまたはActionsペインをダブルクリックします。これにより、条件またはアクションがRuleペインに挿入されます。条件またはアクションがすでに存在する場合は、新しいものが追加されます。コンテキストメニューを使用して、Ruleペインから条件とアクションを削除できます。

条件

SPEAKがルールを実行するとき、最初に起こることは条件が評価されることです。条件は次のようになります。

このような条件をRuleペインに挿入した後、その条件を編集する必要があります。エディタには、プレースホルダーが青色で表示されます。この例では、wherenameはプレースホルダーです。プレースホルダーの値を指定するには、プレースホルダーをダブルクリックします。

whereプレースホルダーには、whereexcept whereの2つの値のみを指定できます。whereプレースホルダーをクリックすると、これら2つの値の間で値が前後に変化します。

名前プレースホルダーは、SPEAKコンポーネントの名前 (ID) です。プレースホルダーをクリックし、コンポーネントのIDを入力します。

別の条件を追加すると、その条件はandプレースホルダーと共に挿入されます。このプレースホルダーをクリックすると、値をandorの間で切り替えることができます。

ルールの条件は、trueまたはfalseに評価できます。ルールの条件がtrueと評価された場合、SPEAKはルールのアクションを実行します。条件がfalseと評価された場合、そのルールでは他に何も起こりません。

メモ

ルールをトリガーとして使用したイベントを発生させたコンポーネント以外のコンポーネントの条件を指定できます。

アクション

Ruleペインにアクションを追加するには、条件を追加するのと同様の方法を使用します。アクションにはプレースホルダーも含まれます。

アクションには、次のようなものがあります。

1つのルールに複数のアクションを追加できます。アクションは常に "and" を使用して加算されます。

使用可能な条件とアクションの完全なセットは、Rule Editorダイアログの2つのペインで確認できます。アクションと条件は、コンテンツ エディターのcoreデータベースのClient/Speak/Layouts/Renderings/Resources/Rule/Rulesで確認することもできます。

この記事を改善するための提案がある場合は、 お知らせください!