gojsはグループの一部である場合にのみパラメータを適用します

okwaves2024-01-25  5

gojs を使用して、オブジェクトが別のオブジェクト内に配置された場合にのみパラメータを適用したいと考えています。

たとえば、パネルは H グループ内に配置される場合にのみパディングを追加 (または値を 0 から 25 に変更) する必要があります。

これは可能ですか? gojs ドキュメントを見ると、SelectionGrouped が表示されますが、これにオブジェクトを H グループにドロップすることが含まれるかどうかはわかりません。

myDiagram.nodeTemplateMap.add("j2",
                $(go.Node, "Auto",
                    $(go.Panel, "auto", {padding:0},
                        $(go.Shape, "File"),
                        $(go.TextBlock,  "This\n is a\n file", textStyle(),
                            new go.Binding("text", "text").makeTwoWay())
                    )
                ));


------------------------

Group.memberAdded および memberRemoved を使用してグループにパーツが追加またはグループから削除されたときにイベントを発生させることができます` https://gojs.net/latest/api/symbols/Group.html#memberAdded

または、パーツ上でデータ バインディングを作成することもできます (つまり、は Group ではありません)、その containsGroup が null でない場合に別の処理を実行します。バインディングの例:

      new go.Binding("margin", "containingGroup", function(a) {
        if (a === null) return 5;
        // otherwise its in a group:
        return 15;
      }).ofObject(),

ここでライブをご覧ください: https://codepen.io/simonsarris/pen/LYNOpme?editors=1010

0

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。