2015-09-11 3 views
1

J'ai la définition suivante pour une contextMenu sur mon Go diagramvaleur Diagram.contextMenu n'est pas une instance de Adornment

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(); 
    } }) 
); 

Cependant quand j'écris ceci, je reçois l'erreur suivante:

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

Comment exactement est-ce le cas?

Voici ma définition de 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 
     }); 

Et est enfin là la page de référence sur ContextMenus dont je pris la définition contextMenu au niveau diagram.

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

Répondre

3

Parce que vous avez commencé à utiliser:

var GO = go.GraphObject.make; 

Au lieu de (commun dans les échantillons):

var $ = go.GraphObject.make; 

Vraisemblablement parce que vous utilisez jQuery aussi.

Il fonctionnera probablement si vous changez tous les $ à GO dans votre définition de Adornment

+0

@Simon_Sarris Merci. Non, cela ne génère qu'une erreur lorsque j'essaie d'appeler 'showContextMenu' sur' SeatingMapGraphicsRef'. De la façon suivante: 'SeatingMapGraphicsRef.toolManager.contextMenuTool.showContextMenu()' – Thalatta

+0

qui me donne cette erreur: en me référant à cette ligne: 'Erreur : ContextMenuTool.showContextMenu: la valeur de contextmenu n'est pas une instance d'Adornment: undefined' – Thalatta

+0

ah! On dirait que j'ai besoin de passer un ornement. Devrais-je simplement passer la définition 'GO' de la parure ci-dessus à la fonction? – Thalatta