注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Copied!1 2 3 4 5 6 7 8
Event: slate.getMessage Action: slate.saveView # 「slEventValue」から「type」を取得 const type = {{slEventValue}}['type']; # もし「type」が "carbon-save-view-request" でなければ、アクションを無効にする if (type !== "carbon-save-view-request") { return {{slDisableAction}}; }
保存したビューの識別子をiframeの親(Carbon)にメッセージするイベント
Copied!1 2 3 4 5 6
Event: slate.viewSaved # イベント:スレートが保存されたビュー Action: slate.sendMessage # アクション:スレートからメッセージを送る return { type: "viewSaved", # 型:保存されたビュー payload: {{slEventValue}} # ペイロード:スレートイベントの値 };
Slateモジュール入力ではSlate変数を使用し、これらはCarbonモジュールのパラメーターに変換されて、メニューバーアイテムなどのCarbon機能を指定します。次のセクションでは、Slate変数をCarbonが受け入れる形式に変換して型付けする方法について詳しく説明します。
Slate変数:
Slateメニューバーアイテム:
Slateパラメーター
Slate変数のCarbonパラメータータイプ決定
Slate変数は型がなく、特定の変数が文字列、数値、またはオブジェクトであることを宣言するメカニズムはありません。そのため、Carbonは変数のデフォルト値をチェックしてそのタイプを決定します。上記のスクリーンショットでは、v_var3
はデフォルト値としてオブジェクトRIDを持っています。これにより、対応するCarbonパラメーターの値としてオブジェクトを指定することができます。あなたのSlateドキュメントの変数にデフォルト値を持たせることが適切でない場合、Carbonが自動的に型付けを行う2つの変数名があります:
Copied!1 2
v_objectSetPassedFromCarbon # Carbonから渡されるobjectSetとして自動的に型指定されます。 v_objectPassedFromCarbon # Carbonから渡されるobjectとして自動的に型指定されます。
Slateドキュメントで定義されている場合、これらの変数はデフォルト値に関係なく、上記のように常に型付けされます。これは、Slateモジュールを発見可能にし、オブジェクトの選択肢(または単一のオブジェクト)を別のモジュールやObject ExplorerのようなアプリケーションからCarbonのパラメーターを通じてモジュールに渡したい場合に特に役立ちます。
Slateモジュールは、単一のオブジェクトまたは単一のオブジェクトセット(バージョン管理されているかどうか)を入力としてサポートします。Slateドキュメントの変数がCarbonパラメーターとして解釈されることを確認することが重要で、そうでなければ対応するナビゲーションアクションは利用できません。
現在、別のSlateモジュール以外のUI要素からSlateモジュールへの移動をサポートしていません(以下のOutputセクションを参照)。
Slateモジュールは特定の方法でナビゲーションフレームワークと統合されています。Slateドキュメントでナビゲーションが発生すると(例えば、リンクをクリックすると)、Carbonはそのナビゲーションを妨害し、解釈しようとします。ナビゲーションが発生したアドレスがスタンドアロンのフロントエンドアプリケーションとして認識でき、そのアプリケーションに対応するCarbonモジュールがある場合、そのモジュールは新しいCarbonタブで開かれます。例えば:
workspace/hubble/objects/ri.phonograph2-objects.main.object.4202d614-bb6e-471d-80d2-2cf9c735caf3
は、Object ViewモジュールをオブジェクトRIDri.phonograph2-objects.main.object.4202d614-bb6e-471d-80d2-2cf9c735caf3
で開くと解釈されます。workspace/module/view/latest/ri.workshop.main.module.25b772f5-a095-48c6-a889-a960eeb93ce1?orderInput=ri.object-set.main.object-set.63417288-3e8d-4b34-a995-d6c2c6054e27
は、WorkshopモジュールをモジュールRIDri.workshop.main.module.a1838b32-448d-43f6-beff-3c9e40a34929
とパラメーターorderInput
がri.object-set.main.object-set.63417288-3e8d-4b34-a995-d6c2c6054e27
と等しい状態で開くと解釈されます。workspace/slate/documents/another-slate-doc
は、Slate permalink another-slate-doc
に対応するモジュールRIDを持つSlateモジュールを開くと解釈されます。workspace/quiver/template/view/ri.quiver.main.artifact.b5597828-d4a2-4fec-964f-304a3ad7f1a9
は、Quiver TemplateモジュールをモジュールRIDri.quiver.main.artifact.b5597828-d4a2-4fec-964f-304a3ad7f1a9
で開くと解釈されます。workspace/hubble/exploration/saved/ri.object-set.main.versioned-object-set.ba21a7b3-3407-4bb1-ae9f-aae3d70c4a40
は、Object ExplorerモジュールをオブジェクトセットRIDri.object-set.main.versioned-object-set.ba21a7b3-3407-4bb1-ae9f-aae3d70c4a40
で開くと解釈されます。したがって、Slateモジュールの出力はSlateドキュメント内のウィジェットの状態に基づいているわけではなく、各ナビゲーションアクションはユーザーのアクションの結果であり、出力はそのアクションに基づいて決定されます。
Slateには、ドキュメント内にiframeを埋め込む機能があります。そのようなiframe内のリンクを介した任意のナビゲーションは、次のカテゴリーのいずれかに該当します:
後者の場合、Slateモジュールのoutputセクションで説明されているメカニズムが有効になるためには、ネストされたiframe内のリンクは、最も外側のSlate iframe(CarbonがトップレベルのSlateモジュールを表示するもの)をそのtarget
として指定する必要があります。Carbonはそのiframeの名前をcarbon-navigation-target
と設定します。リンクのHTMLスニペットの例は以下の通りです:
<a
href="/workspace/hubble/objects/ri.phonograph2-objects.main.object.4202d614-bb6e-471d-80d2-2cf9c735caf3"
target="carbon-navigation-target"
>
<!-- target="carbon-navigation-target" を持つオブジェクトへのリンク -->
Link to an object with target="carbon-navigation-target"
</a>