データ内のテキストが特定の文字列と等しい場合にのみ、いくつかの textBlock を作成したいと考えています。そうでない場合 - textBlock を 1 つだけ作成したい。
var template = GO(go.Node, "Auto",{desiredSize: new go.Size(width, height) },
GO(go.Shape, shapeMap.getValue(shape), new go.Binding("fill", "fill")),
( ???? .includes("[UMS]")) ?
GO(go.Panel, "Vertical",
GO(go.TextBlock,{font: "7pt serif"}, new go.Binding("stroke", "color"), new go.Binding("text", "txtPart1")),
GO(go.TextBlock,{text: "[UMS]", font: "7pt serif", click: function(e, obj) {window.open("https://" + obj.part.data.key + ":8090")}}, new go.Binding("stroke", "color")),
GO(go.TextBlock,{font: "7pt serif"}, new go.Binding("stroke", "color"), new go.Binding("text", "txtPart2")))
:
GO(go.TextBlock,{font: "7pt serif"}, new go.Binding("stroke", "color"), new go.Binding("text", "txtPart1"))
);
含まれているかどうかを data.text でテストする方法は?
(関数内で取得する方法を知っています:クリック:関数(e、obj){return obj.part.data.key}
またはそれを宣言する方法 - バインディングを使用して - データはテンプレートごとではなくノードごとになります。しかし、テンプレート内のコードで??)