問題タブ [gojs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - GoJS makeSVG が適切な HTML SVG オブジェクトを生成しない
このメソッドを使用してDiagram.makeSVG()
、ダイアグラムから SVG を生成しています。その後、このコードを使用してSVGを新しい空白のタブに追加しました(これdiagram
は私のDiagram Objectです):
Chrome と Firefox では問題なく動作しました。しかし、IE11では機能しませんでした。
デバッグを行ったところ、ブラウザのせいだけではないことがわかりました。SVG を生成するとき GoJS は適切な SVG を生成していません (私にはそう思われます) デバッガーでその Type を見ると
私が言ったように、FFとChromeでうまく動作します。これは、Chrome と Firefox が非公式の HTMLElement タイプを容認し、「うーん、とにかく追加してみよう」と言うのとは対照的に、IE 11 が「うわー、この要素を追加する方法はありません。それはいくつかのタイプでさえありません。 HTMLElement の ". それとも、ここで何か問題がありましたか?
現在、IE で動作させるための回避策を見つけようとしています。しかし、どうにかオブジェクトの型を変更する方法を見つけることができません。
助言がありますか?前もって感謝します。
javascript - GoJS で特定の要素をビューポートに移動する
GoJS でコンテキスト メニューを表示すると、そのメニューがビューポートを超えることがあります。
次の画像はこのケースを示しています。画像の上端は、canvas
GoJS が描画する境界です。
これが発生した場合、メニューが再び表示されるように、プログラムでダイアグラム全体を下に移動することは可能ですか?
gojs - gojsタイムラインでノードの正しい位置を設定するには?
私はgojsが初めてです
私は、日付に基づくデフォルトの機能である gojs タイムライン サンプルに取り組んでいます。しかし、日付を数値に変更しました。以下の範囲で
0,20,40,60.....380.しかし、私の問題は、ノードがラインバーの正確な位置を指していないことです。
convertDateToX(d) 関数に問題があると思います。
javascript - GoJS: itemArray を使用してテーブルを埋める
次のようなテンプレートがあります (jQuery も使用しているため、GraphObject.make は$
butではありません_
):
もちろん、その部分はテンプレート全体ではありません。重要なスニペットのみを含めます。
私が今やりたいことは、itemTemplate(_)
事実上次々に行を返す を作成することです (items
配列内の要素の量に応じて異なります)。
だから私はこのようなものを持ってitemTemplate()
みました
ここで、ふと気づいたことがあります。このメソッドでは、期待される出力を得るために 2 つのパネルを返す必要があります。
行に Binding がある理由を疑問に思う人がいる場合は、go.Binding
上記のコールバックを使用して、次のように説明しました。
ここで私の質問: itemTemplate の周りにラッパー Panel を配置することは可能ですか? そのようです?
- パネル : テーブル
- パネル : 行なし、列なし
- パネル: 行: 1、列: 1
- パネル: 行: 1、列: 2
- NextPanel : 行なし 列なし
- パネル : 行なし、列なし
または、列ごとに 2 つの個別のテンプレートを返すことは可能ですか?
または、私が認識していない別の解決策がありますか?
javascript - contextMenu の GoJS makeSvg
ノードを右クリックすると、ノードに追加の詳細が表示されます。ノードが選択されているだけで、右クリックされていないときに、これらの詳細を別の場所に表示したいと思います。
装飾/コンテキストメニューから SVG を作成する方法はありますか
contextMenu が通常の Node であるかのように振舞ってみました
私は呼びました
または
しかし、どちらも機能しませんでした。
「未定義のプロパティ「リセット」を設定できません」というエラーが常に表示されます
しようとしている
何とかエラーなしで動作しましたが、これは奇妙なことにadornments
、イテレータを提供します。これで、SVG が作成されました (後で配置した HTML を見てこれを見ました) が、コンテンツはありません。
contextMenu から適切に SVG を作成するにはどうすればよいですか?
javascript - すべての子の GoJS TreeLayout の異なるレベル
時限プロセスを表すグラフを表示したいと考えています。したがって、特定のタイムラインに従ってノードを整列させることが望ましいでしょう。
タイム スタンプは完全に正確です。そのため、タイム スタンプをグループのキーとして選択しました。2 つのノードのタイム スタンプが同じである場合、それらは同じグループに追加されます。
これらのグループは、TreeLayout によって整列されます。デフォルトでは、次のように配置されています。
(黒いボックスはグループとその配置を示していることに注意してください。赤いボックスは、どのグループがどのレベルにあるかをよりよく理解するために追加されました。
私が望むのは、次のようなダイアグラムのタイムライン ビューです。
を設定してみましたが、それに応じて をlayerStyle: go.TreeLayout.LayerUniform
設定しましたTreeVertex.level
が、GoJS はその位置を変更しませんでした。
私が望むものを達成するための他の可能性はありますか?
javascript - GoJS 使用時のパフォーマンスを改善する
最近、非常に大きなデータ ソースを処理する必要があり、GoJS のパフォーマンスを向上させる方法があるかどうか疑問に思っていました。
GoJS は非常に効率的にデータを処理してTreeView
おり、サイトが完全にロードされた直後に I'm going to make が表示されます。残念ながら、ビューをパンすると、ダイアグラムが少し遅れ始めます。
私は今、そのラグを最小限に抑える方法を探しています。
レイアウト オプションをいじってみましたが、パフォーマンスが大幅に向上することはありませんでした。
ダイアグラムには、「比較的」少数のノード (正確には 498) を持つダイアグラムがありますが、残念ながら私のテンプレートはかなり複雑です。ネストされた itemArray があり、その行内に行と列を生成します。もう 1 つのことは、「LayeredTreeView」モデルを少し変更したバージョンを使用していることです。
これらのノードは、388 個の非表示グループに属しています。クロスリダクションなどのレイアウトを使用せずに生成すると、適度な時間しかかかりません。
また、GoJS 紹介のパフォーマンスサイトを発見しました。そこでは、複雑なテンプレートが GoJS を遅くすることが言及されています。これはこの場合でしょうか?