dijit/PopupMenuItem.js

  • Provides:

    • dijit.PopupMenuItem
  • dijit.PopupMenuItem

    • type
      Function
    • chains:
      • dijit.MenuItem: (prototype)
      • dijit.MenuItem: (call)
    • summary
  • dijit.PopupMenuItem._fillContent

    • type
      Function
    • source: [view]
         if(this.srcNodeRef){
          var nodes = dojo.query("*", this.srcNodeRef);
          dijit.PopupMenuItem.superclass._fillContent.call(this, nodes[0]);


          // save pointer to srcNode so we can grab the drop down widget after it's instantiated
          this.dropDownContainer = this.srcNodeRef;
         }
    • summary
      When Menu is declared in markup, this code gets the menu label and
      the popup widget from the srcNodeRef.
    • description
      srcNodeRefinnerHTML contains both the menu item text and a popup widget
      The first part holds the menu item text and the second part is the popup
    • tags:
    • example
      
      	<div dojoType="dijit.PopupMenuItem">
      		<span>pick me</span>
      		<popup> ... </popup>
      	</div>
    • chains:
      • dijit.PopupMenuItem.superclass._fillContent: (call)
  • dijit.PopupMenuItem.startup

    • type
      Function
    • source: [view]
         if(this._started){ return; }
         this.inherited(arguments);


         // we didn't copy the dropdown widget from the this.srcNodeRef, so it's in no-man's
         // land now. move it to dojo.doc.body.
         if(!this.popup){
          var node = dojo.query("[widgetId]", this.dropDownContainer)[0];
          this.popup = dijit.byNode(node);
         }
         dojo.body().appendChild(this.popup.domNode);
         this.popup.startup();


         this.popup.domNode.style.display="none";
         if(this.arrowWrapper){
          dojo.style(this.arrowWrapper, "visibility", "");
         }
         dijit.setWaiState(this.focusNode, "haspopup", "true");
    • summary
  • dijit.PopupMenuItem.destroyDescendants

    • type
      Function
    • source: [view]
         if(this.popup){
          // Destroy the popup, unless it's already been destroyed. This can happen because
          // the popup is a direct child of even though it's logically my child.
          if(!this.popup._destroyed){
           this.popup.destroyRecursive();
          }
          delete this.popup;
         }
         this.inherited(arguments);
    • summary
  • dijit.PopupMenuItem.dropDownContainer

    • summary
  • dijit.PopupMenuItem.popup

    • summary
  • dijit.PopupMenuItem.popup.domNode.style.display

    • summary
  • dijit

    • type
      Object
    • summary