準則
このページの翻訳は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
その後、次のことが起こります。
-
ユーザーがListControl1でアイテムを選択します。
-
Ruleコンポーネントはこのイベントをキャッチし、ルールをトリガーします。
-
SPEAKは条件を確認します。
-
条件がtrueであるため、SPEAKはアクションを実行します。
-
SPEAKはButton1を有効にします。
関心のあるイベントごとにRuleコンポーネントをページに追加し、ページには複数のRuleコンポーネントを含めることができます。複数の異なるRuleコンポーネントが同じRuleアイテムを指すことができます。
SPEAKは、ページのPageCodeスクリプト ファイルの実行が完了した後に、ページのルールを実行します。
ルールコンポーネントの設定
ルールコンポーネントの設定
ルールをトリガーするイベントは、次のように指定します。
-
「リッスン」するSPEAKコンポーネントのIDをTargetControlプロパティに指定します。
-
Triggerプロパティでイベントを指定します。イベントのみを指定することも(例: change、click)、イベントと属性を指定することもできます (例: 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ペインに挿入した後、その条件を編集する必要があります。エディタには、プレースホルダーが青色で表示されます。この例では、whereとnameはプレースホルダーです。プレースホルダーの値を指定するには、プレースホルダーをダブルクリックします。
whereプレースホルダーには、whereとexcept whereの2つの値のみを指定できます。whereプレースホルダーをクリックすると、これら2つの値の間で値が前後に変化します。
名前プレースホルダーは、SPEAKコンポーネントの名前 (ID) です。プレースホルダーをクリックし、コンポーネントのIDを入力します。
別の条件を追加すると、その条件はandプレースホルダーと共に挿入されます。このプレースホルダーをクリックすると、値をandとorの間で切り替えることができます。
ルールの条件は、trueまたはfalseに評価できます。ルールの条件がtrueと評価された場合、SPEAKはルールのアクションを実行します。条件がfalseと評価された場合、そのルールでは他に何も起こりません。
ルールをトリガーとして使用したイベントを発生させたコンポーネント以外のコンポーネントの条件を指定できます。
アクション
Ruleペインにアクションを追加するには、条件を追加するのと同様の方法を使用します。アクションにはプレースホルダーも含まれます。
アクションには、次のようなものがあります。
1つのルールに複数のアクションを追加できます。アクションは常に "and" を使用して加算されます。
使用可能な条件とアクションの完全なセットは、Rule Editorダイアログの2つのペインで確認できます。アクションと条件は、コンテンツ エディターのcoreデータベースのClient/Speak/Layouts/Renderings/Resources/Rule/Rulesで確認することもできます。




