フローチャート制御GoJS組み込みGraphObjectクラスインデックスの紹介(2)

GoJSは、JavaScriptおよびHTML5 Canvasプログラムでフローチャートを作成し、JavaScript / Canvasプログラムを大幅に簡素化するのに役立つ強力で高速かつ軽量のフローチャートコントロールです。

GoJSの最新版をダウンロード【Huidu.com】

バックグラウンドクリック:関数(é:InputEvent、thisObj:GraphObject):void | null

ユーザーがオブジェクトをクリックしたときに実行される関数を取得または設定します。通常、これにはマウスを下に移動してから、マウスの右ボタン(補助)を使用してマウスをほぼ同じ位置にすばやく上に移動する必要があります。ユーザーがGraphObjectをクリックすると、ClickSelectingToolはこのプロパティを使用します。名前によってトリガーされるDiagramEventに加えて、犯人も呼び出されます。「ObjectContextClicked」

この属性値が関数の場合は、InputEventとこのGraphObjectを使用して呼び出します。InputEvent.targetObjectは、このオブジェクトを取得するためにマウスがビジュアルツリーをクリックする前にGraphObjectGraphObject.panelが検出されることを規定しています。

2番目のパラメーターobjから、part属性を介してノードまたはリンクに到達できます。そこから、Panel.dataプロパティを介してバインドされたデータにアクセスできます。したがって、イベントハンドラからバインディングデータobj.part.dataを取得できます。

デフォルトでは、この属性はnullです。

Layer.isTemporaryのレイヤー内のオブジェクトは、クリックイベントを受け取りません。そのようなオブジェクトが本当にクリックに応答するようにしたい場合は、isActionableをtrueに設定してください。

ダイアグラムまたはそのモデルを変更できる関数が提供されている場合は、トランザクション内で実行する必要があります。Diagram.startTransactionおよびDiagram.commitTransactionを呼び出します。

コンテキストメニュー:装飾| HTMLInfo | null

このオブジェクトでコンテキストをクリックすると、この装飾またはHTMLInfoが表示されます。デフォルト値はnullです。これは、コンテキストメニューが表示されないことを意味します。

この値を変更しても、このオブジェクトに表示されている既存のメニューは変更または削除されません。

コンテキストメニューは、装飾されたパーツと同じデータバインディングに依存する場合もあります(つまり、Panel.dataの値は同じです)。

コンテキストメニューはコピーによってコピーされないため、コンテキストメニューはテンプレートのすべてのインスタンスで共有できます。

典型的なコンテキストメニューは、複数のボタンを備えた装飾として実装されています。たとえば、このコンテキストメニューは「動的ポート」の例で定義されています
。varnodeMenu= //各ノードのコンテキストメニュー
$( "ContextMenu"、
$( "ContextMenuButton"、
$(go.TextBlock、 "Add top port") 、
{クリック:function(e、obj){addPort( "top");}})、
$( "ContextMenuButton"、
$(go.TextBlock、 "左ポートの追加")、
{クリック:function(e、obj) {addPort( "left");}})、
$( "ContextMenuButton"、
$(go.TextBlock、 "右ポートを追加")、
{クリック:function(e、obj){addPort( "right");}} )、
$( "ContextMenuButton"、
$(go.TextBlock、 "ボトムポートの追加")、
{クリック:function(e、obj){addPort( "bottom");}}));




contextMenu:nodeMenu
}、
..。);
コンテキストメニューは通常、ContextMenuTool.positionContextMenuによって配置されます。ただし、コンテキストメニューにプレースホルダーがある場合は、プレースホルダーが装飾されたGraphObjectと同じ位置になるように、コンテキストメニュー(つまり装飾)が配置されます。
この基本的なサンプルは、コンテキストメニュー項目が存在するときに表示されないコマンドを無効にする方法も示しています。

この値を置き換えても、このオブジェクトに表示されている既存のコンテキストメニューは変更または削除されません。

コンテキストメニューの詳細については、「コンテキストメニュー」をご覧ください。

カーソル:文字列

マウスがこのオブジェクトの上にあり、マウスボタンが押されていないときに使用されるマウスカーソルを取得または設定します。このオブジェクトに特定のカーソルが指定されていない場合、値はnullです。実際のカーソルは、Panelを含むカーソルによって決定されます。

デフォルト値は空の文字列です。これは、現在のマウスカーソルがチャートによって決定されることを意味します。他の文字列は、カーソルを指定する有効なCSS文字列である必要があります。これにより、カーソル構文に関する詳細情報が提供されます:CSSカーソル(mozilla.org)。

必要なサイズ

このGraphObjectの目的のサイズ(ローカル座標)を取得または設定します。値はSize型である必要があります。デフォルト値はサイズ(NaN、NaN)です。この属性値の幅または高さを変更することはできません。目的のサイズを変更する場合は、この属性を別のサイズに設定する必要があります。

幅または高さを取得または設定することは、このプロパティの幅または高さを取得または設定することと同じです。

このサイズには、スケールや角度による変換や、Shape.strokeWidth(これがShapeの場合)によるペンの太さは含まれていません。パネルを含むパネルがある場合、パネルが実際のサイズを決定します。必要なサイズがGraphObjectのパネルで決定された許容サイズよりも大きい場合、GraphObjectは視覚的にクリップされる可能性があります。予想されるサイズがminSizeおよびmaxSizeの制約を満たさない場合、GraphObjectのサイズはそれらを満たすように調整されます。

読み取り専用図:図| null

この読み取り専用プロパティは、このGraphObjectが配置されているダイアグラムを返します(存在する場合)。

この属性は設定できません。通常のGraphObjectをダイアグラムに追加することはできませんが、Diagram.addを呼び出して、ダイアグラムにパーツを追加することができます。

ダブルクリック:関数(é:InputEvent、thisObj:GraphObject):void | null

ユーザーがオブジェクトをダブルクリックしたときに実行される関数を取得または設定します。通常、これには、マウスの左ボタン(プライマリボタン)を使用して、マウスをほぼ同じ位置ですばやく連続して下/下/上/下/上に移動することが含まれます。ユーザーがGraphObjectをクリックすると、ClickSelectingToolはこのプロパティを使用します。名前によってトリガーされるDiagramEventに加えて、この関数も呼び出されます。「ObjectDoubleClicked」

この属性値が関数の場合は、InputEventとこのGraphObjectを使用して呼び出します。InputEvent.targetObjectは、このオブジェクトを取得するためにマウスがビジュアルツリーをクリックする前にGraphObjectGraphObject.panelが検出されることを規定しています。

2番目のパラメーターobjから、part属性を介してノードまたはリンクに到達できます。そこから、Panel.dataプロパティを介してバインドされたデータにアクセスできます。したがって、イベントハンドラからバインディングデータobj.part.dataを取得できます。

デフォルトでは、この属性はnullです。

Layer.isTemporaryのレイヤー内のオブジェクトは、クリックイベントを受け取りません。そのようなオブジェクトが本当にクリックに応答するようにしたい場合は、isActionableをtrueに設定してください。

ダイアグラムまたはそのモデルを変更できる関数が提供されている場合は、トランザクション内で実行する必要があります。Diagram.startTransactionおよびDiagram.commitTransactionを呼び出します。

この階層クラスのサンプルは、このクラスのドキュメントWebページのダブルクリックイベントハンドラーの定義が開かれていることを示しています。diagram.nodeTemplate
=
$(go.Node、..。、
{
doubleClick://ここで2番目の引数はthisですオブジェクト、これはこのノード
関数(e、node){window.open( "../ api / symbols /" + node.data.key + ".html");}
}、
...
);
変更を有効にする: function(thisObj:GraphObject、enabled:boolean):void | null

Panel.isEnabledがPanelの値を変更したときに実行される関数を取得または設定します。通常、オブジェクトの外観を変更するために使用されます。この関数は、どのパネルのPanel.isEnabledの値も変更してはなりません。

この属性値が関数の場合は、2つのパラメーター(このGraphObjectと新しい値)を使用して呼び出します。デフォルトでは、このプロパティはnullです-関数は呼び出されません。

fromEndSegmentLength:数値

このポートからリンクの最初のセグメントの長さを取得または設定します。この値は、計算された「fromspot」がSpot.Noneでない場合に使用されます。デフォルト値は10です。この値は、Link.fromShortLengthを描画できる時間も制限します。

リンクのルートを決定するとき、Link.fromEndSegmentLengthの値(NaNでない場合)がこのポートの値よりも優先されます。

この属性の使用方法の例については、「リンクの終了長」を参照してください。

ノード全体が単一のポートとして機能しない限り、この属性は、portIdがnullではないGraphObjectに設定する必要があります。この場合、この属性はノードに設定する必要があります。

fromLinkable:ブール値| ヌル

ユーザーがこのポートからリンクを描画できるかどうかを取得または設定します。LinkingBaseTool.isValidFromはこのプロパティを使用します。

デフォルト値はnullです。これは、実際の値が親パネルから継承されることを意味します。親パネルが含まれていない場合は、falseになります。

ノード全体が単一のポートとして機能する場合を除き、ポートIDがnullでないGraphObjectにこのプロパティを設定する必要があります。この場合、このプロパティはノードに設定する必要があります。または、特定のオブジェクトの「リンク可能性」を無効にしない限り、パネルGraphObject fromLinkableがtrueに設定またはバインドされています。

リンク可能な複製から:ブール値

ユーザーがこのポートから重複リンクを描画できるかどうかを取得または設定します。LinkingBaseTool.isValidLinkはこのプロパティを使用します。デフォルト値はfalseです。

ノード全体が単一のポートとして機能しない限り、この属性は、portIdがnullではないGraphObjectに設定する必要があります。この場合、この属性はノードに設定する必要があります。

リンク可能な自己ノードから:ブール値

ユーザーがこのポートのノードから接続されたリンクを描画できるかどうかを取得または設定します。LinkingBaseTool.isValidLinkはこのプロパティを使用します。デフォルト値はfalseです。

ノード全体が単一のポートとして機能しない限り、この属性は、portIdがnullではないGraphObjectに設定する必要があります。この場合、この属性はノードに設定する必要があります。

本物のGoJSライセンスを購入したい場合、または製品情報の詳細については、[Huiduオンラインカスタマーサービスにご相談ください]

おすすめ

転載: blog.51cto.com/15078157/2605730