Значение Diagram.contextMenu не является экземпляром украшения

У меня есть следующее определение для contextMenu на моем пути diagram

SeatingMapGraphicsRef.contextMenu =
$(go.Adornment, "Vertical",
  // no binding, always visible button:
  $("ContextMenuButton",
    $(go.TextBlock, "Hold Seats"),
    { click: function(e, obj) {
      holdSeatsInDragSelect();
    } }),
           $("ContextMenuButton",
    $(go.TextBlock, "Select Seats"),
    { click: function(e, obj) {
    } }),
            $("ContextMenuButton",
    $(go.TextBlock, "Lock Seats"),
    { click: function(e, obj) {
    } }),
            $("ContextMenuButton",
    $(go.TextBlock, "Cancel"),
    { click: function(e, obj) {
      var diagram = e.diagram;
                diagram.hideContextMenu();
    } })
);

Однако, когда я пишу это, я получаю следующую ошибку:

Error: Diagram.contextMenu value is not an instance of Adornment

Как именно это так?

Вот мое определение SeatingMapGraphicsRef

    function generateMap() {
    SeatingMapGraphicsRef =
    GO(go.Diagram, "mapBodyDiv",  // the DIV HTML element
        {
            initialContentAlignment: go.Spot.Center,
            initialAutoScale:go.Diagram.Uniform,
            "toolManager.mouseWheelBehavior": go.ToolManager.WheelZoom
        });

И, наконец, вот справочная страница по ContextMenus, из которой я взял определение contextMenu для diagram уровень.

http://gojs.net/latest/intro/contextMenus.html

1 ответ

Решение

Потому что вы начали использовать:

var GO = go.GraphObject.make;

Вместо (обычно в образцах):

var $ = go.GraphObject.make;

Предположительно, потому что вы тоже используете jQuery.

Это, вероятно, будет работать, если вы измените все $ в GO в вашем определении украшения

Другие вопросы по тегам