Custom Query (18300 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (94 - 96 of 18300)

Ticket Resolution Summary Owner Reporter
#17275 fixed (1.8.4 +) dijit._HasDropDown.destroy should notify popupManager to clean dead refs Bill Keese <[email protected]…> Claude Guyomard
Description

dijit._HasDropDown exposes methods to open and close a popup containing the dropDown content. These methods delegate to the popup manager. When a _HasDropDown instance is being destroyed, it should help the popup manager to remove its own references on this disappearing _HasDropDown.

An use-case of this is Single Page Applications.

But also, more generally, just the simple case of destroying such a _HasDropDown instance should notify the popup manager about its destruction simply in order to avoid to keep dead references.

Another a warning : Here we met another problem with a child class. I did not check whether this problem occurs on pure Dojo components : When opening a new DropDown?, the previous popup on the stack is processed (closing, properties change, ...). But data of the previous popup is now incomplete and produce an error in the following lines :

onClose: function(){

domAttr.set(self._popupStateNode, "popupActive", false); domClass.remove(self._popupStateNode, "dijitHasDropDownOpen");

self._set("_opened", false); use set() because _CssStateMixin is watching

}

because self._popupStateNode is null now.

An simple idea to solve this : dijit._HasDropDown.destroy() should call "this.closeDropDown()".

Hope that it helps.

Regards

#5197 fixed (Firefox only) hidden iframes can throw exceptions when testing dojo._isBodyLtr() Douglas Hays guest
Description

the dojo._isBodyLtr() is added to my custom code base when I build (presumably by dijit), i'm not sure where this added:

if(!dojo._hasResource["dijit._base.bidi"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
dojo._hasResource["dijit._base.bidi"] = true;
dojo.provide("dijit._base.bidi");

// summary: applies a class to the top of the document for right-to-left stylesheet rules

dojo.addOnLoad(function(){
	if(!dojo._isBodyLtr()){
		dojo.addClass(dojo.body(), "dijitRtl");
	}
});

In anycase when this is called the subsequent dojo._bodyLtr = dojo.getComputedStyle(dojo.body()).direction == "ltr" returns null on an iframe that is wrapped in a hidden div (see attached test files).

#11413 worksforme (Fixed Code Provided) AccordionContainer fails when removing selectedChildWidget grimmy102
Description

I needed to empty my AccordionContainer? to reload w/ new data. When I remove the child which was selected, it failed in StackContainer?.js in removeChild(), in this block of code (line 144, I believe):

if(this._started){
			// in case the tab titles now take up one line instead of two lines
			// TODO: this is overkill in most cases since ScrollingTabController never changes size (for >= 1 tab)
			this.layout();
		}

layout() eventually results in a check to see if there's a selectedChildWidget, and if so, it resizes it. Because this call to layout() happens before selectedChildWidget is set to undefined, but after the selectedChildWidget's been partially deleted, the attempt to resize the half-deleted selectedChildWidget fails.

My proposed solution is to move the block of code pasted above to be below this block of code:

if(this.selectedChildWidget === page){
			this.selectedChildWidget = undefined;
			if(this._started){
				var children = this.getChildren();
				if(children.length){
					this.selectChild(children[0]);
				}
			}
		}

I'm planning to go live w/ my dojo-based site soon, so I have set this to "blocker."

Note: See TracQuery for help on using queries.