{5} Assigned, Active Tickets by Owner (Full Description) (244 matches)

List tickets assigned, group by ticket owner. This report demonstrates the use of full-row display.

Results (1 - 100 of 244)

1 2 3
Ticket Summary Component Milestone Type Severity Created
#14734 a11yclick event for DOM elements Events 1.15 feature Feb 5, 2012

Description So as to faciliate the rapid development of accesible rich internet applications, providing an "a11yclick" event like

on(node, "a11yclick", handle);

for native DOM elements should expand in the background to

on(node, "click", handle);

on(node, "keypress", function(e){
  if(e.keyCode == keys.ENTER) {

Discussion From the point of view of accessibility, simple click events are not of much use. There must be ways to trigger an action by mouse and keyboard. Rarely are there cases in which only a "click" event is used (although the use of click-events only is a widespread phenomena in the internet). In most cases you have to set up both handlers, for click and keypress (if you want to do it correctly, as the webstandards say). The Dojo toolkit should support the programmer in this task. a11yclick should expand in the background always to a click and keypress handler.

#16944 portable gesture events Events 2.0 feature Mar 30, 2013

dojox/gesture only works on webkit browsers. It depends on evt.touches[] being defined, which is not defined for Microsoft Surface events. We should have a module with synthetic gesture events that works on all touch devices.

On Microsoft, you should use MSGesture* events for tracking zoom, rotation, etc. See http://blogs.msdn.com/b/ie/archive/2011/09/20/touch-input-for-ie10-and-metro-style-apps.aspx for details.

If you need to define some non-standard gesture behavior, then you would have to monitor MSPointerMove events, but that's quite different from touchmove events because IIUC each finger on the screen generates independent MSPointerMove events, rather than having a single touchmove event with information about each finger. Thus, the code and API of dojox/gesture/Base likely needs to be redesigned.

#17175 dom-geometry.normalizeEvent does not normalize offsetX/Y HTML 1.15 defect May 20, 2013

The reference guide and code comments claim that normalizeEvent normalizes offsetX and offsetY. These properties are not provided in Firefox, and they are not normalized by normalizeEvent.

#17191 wrong constraints for parentConstrainedMoveable in a parent with position: absolute; DnD 1.15 defect May 23, 2013

a parentConstrainedMoveable that is in a parent that is absolutely positioned has it's constraints offset by the parent's position - see http://jsbin.com/ajimef/1/edit for an example.

i was expecting that the constraints would not have been affected by the parent's position.

my use case for this was a widget in the center region of a BorderContainer? that has a moveable node constrained to the domNode of the widget. the BC will use absolute positioning to position the domNode which results in the situation you see in the link above.

#17538 [patch] Locale not being set in Windows 8.1 Internationalization 1.15 defect Oct 30, 2013

Dojo is not detecting the locale at startup under Windows 8.1. It is likely due to the OS being responsible for the locale (rather than the browser) although we are unsure as to how to get around it. It is throwing an error:

0x800a138f - JavaScript? runtime error: Unable to set property '$locale' of undefined or null reference

When we run the non minified codebase it seems to be being thrown from:

current.$locale = availableLocales.specificity;

#18228 [patch][test] dijit BackgroundIframe does not cover scrolled menu popup Dijit 1.14 defect Aug 20, 2014

When opening a popup containing a popup menu with a scroll-bar, part of the background can seep through. Also, when the content is scrolled, the background seeps through the part that was not visible before. See attached screenshots.

The cause of this problem is that the BackgroundIframe? that is attached to the popup wrapper does not cover the entire content of the wrapped node, nor does it cover the scrollbar.

Adding a second wrapper to handle the scrolling leaves the attached BackgroundIframe? inplace and makes sure it also covers the scrollbar. Please look at attached diff for the solution.

#18615 In SelectableLegend, need an option for automatic wrap / multi line support Charting 1.14 defect Jun 25, 2015

I am using dojo charts and added legend as new dojox.charting.widget.SelectableLegend?({

chart: c, outline: false, horizontal: true

}, divLegend.id);

Now if we have many entries or the name of the series parameters are big, legend unable to show all of them. Automatic multi-line support for SelectableLegend? is required.

#18622 Cannot single-select after multi-selecting (dojox/Selection.js) Dojox 1.14 defect Jun 30, 2015

Widgets using dojox/Selection.js, such as dojox/Calendar, suffer from an issue when multi-selecting. Once you've multi-selected an item, the last item cannot be single-selected with left-click.

Steps to reproduce: 1) Pull up a calendar with three items Foo, Bar and Baz. 2) Left-click Foo 3) Control-click Bar 4) Control-click Baz 5) Decide you want to un-select Foo and Bar, and only have Baz selected. So normal-left-click Baz.

Expected: Only Baz is selected. Actual: Foo, Bar, Baz are all selected. You must click on something else (e.g. Foo) then click Baz in order to select Baz only.

Here's a demo: http://jsfiddle.net/inanutshellus/eL7ykcyj/

FWIW, the problem is in dojox/widget/Selection's selectFromEvent function. It does this:

    this.dispatchChange(oldSelectedItem, this.get("selectedItem"), renderer, e);

The problem is that oldSelectedItem and this.get("selectedItem") are Baz. Thus, everyone relying on dispatchChange says "Oh, the old thing was Baz, the new thing is Baz, so no change happened."

Instead, dispatchChange should send all of the previously-selected items, not just the last-selected element.

#18627 Editor/SafePastePlugin: Paste to wrong position onIE11, Edge Editor 1.14 defect Jul 6, 2015
  1. open https://dojotoolkit.org/reference-guide/1.10/dojox/editor/plugins/SafePaste.html#examples in IE11
  1. open Basic Usage Example
  2. clear editor content
  3. type "a 1 b"
  4. mark "b", copy with CTRL+C

6.1 CTRL+V to open SafePasteDialog? 6.2 CTRL+V again to paste "b" into SafePaste? Dialog 6.3 Click Paste button

  1. set cursor to the end

8.1 Press CTRL+V => SafePaste? Dialog opens 8.2 Press CTRL+V to Paste "b" in SafePaste? Dialog 8.3 Click Paste button

=> expected result "a 1 bbb" Current Result is "ab 1 bb"

#18641 Max and min value in line graph nor drawn properly Charting 1.14 defect Jul 14, 2015

I am making a line graph using below details, but the max and min points are not plotted as part of the graph but are being plotted as different points.

var chart;var minValue;var maxValue;chart = new dojox.charting.Chart('defaultPCMchart782824634Id',{ margins: {l: 0,r: 0, t: 0, b: 0}});chart.addAxis('x', {includeZero:false,leftBottom:true,vertical:false,type:'Invisible',fixUpper:'major',fixLower:'major',stroke: {color:'#000000',width :2},labelFunc : function(timeInMilliSeconds){var date=calcLocalTime(timeInMilliSeconds,0.0);var formattedDate=dojo.date.locale.format(date,{locale:'en-us'});return formattedDate;}});chart.addAxis('y', {includeZero:true,leftBottom:true,vertical:true,type:'Invisible',fixUpper:'major',fixLower:'major',stroke: {color:'#000000',width :2},labelFunc: formatAxisLabel});chart.addPlot('procUtilTrendSparkLineByLpar', {type: 'Lines',tension:5, markers:true,hAxis: 'x',vAxis: 'y',styleFunc: function(item) {if(item.y == maxValue){return {stroke: {color:'#F04E37', width:2}, fill: '#F04E37' };}else if(item.y == minValue){return {stroke: {color:'#FFE34F', width:2}, fill: '#FFE34F' };}else {return {stroke: {color:'#EDEDED', width:1}, fill: '#4682b3' };}}});chart.addSeries('procUtilServerUsageTrafficLine',[{x:1436263200000.000,y:0.002,tooltip:null},{x:1436270400000.000,y:0.003,tooltip:null},{x:1436277600000.000,y:0.002,tooltip:null},{x:1436284800000.000,y:0.003,tooltip:null},{x:1436292000000.000,y:0.003,tooltip:null},{x:1436299200000.000,y:0.003,tooltip:null},{x:1436306400000.000,y:0.009,tooltip:null},{x:1436313600000.000,y:0.002,tooltip:null},{x:1436320800000.000,y:0.002,tooltip:null},{x:1436328000000.000,y:0.002,tooltip:null},{x:1436335200000.000,y:0.003,tooltip:null},{x:1436342400000.000,y:0.003,tooltip:null},{x:1436349600000.000,y:0.003,tooltip:null},{x:1436356800000.000,y:0.003,tooltip:null},{x:1436364000000.000,y:null,tooltip:null},{x:1436371200000.000,y:null,tooltip:null},{x:1436378400000.000,y:null,tooltip:null},{x:1436385600000.000,y:null,tooltip:null},{x:1436392800000.000,y:null,tooltip:n

#18736 Double input node in FileInput widget DojoX Form 1.14 defect Oct 16, 2015

Using dojox.form.FileInput? widhet results in doubled input tag. This node:

<input data-dojo-type="dojox.form.FileInput?" id="user_logo" name="user[logo]" />

is expanded to the following block:

<div widgetid="user_logo" class="dijitFileInput ">

<input id="user_logo" class="dijitFileInputReal" dojoattachpoint="fileInput" name="user[logo]" type="file"> <div class="dijitFakeInput">

<input id="user_logo" name="user[logo]" tabindex="0" class="dijitFileInputVisible" dojoattachpoint="focusNode, inputNode" type="text"> <div class="dijitInline dijitFileInputText" dojoattachpoint="titleNode">Browse ...</div> <div class="dijitInline dijitFileInputButton" dojoattachpoint="cancelNode" dojoattachevent="onclick:reset">Cancel</div>



Final block contains 2 input HTML elements with same is and name:

<input id="user_logo" name="user[logo]" type="file" class="dijitFileInputReal" dojoattachpoint="fileInput" > <input id="user_logo" name="user[logo]" type="text" class="dijitFileInputVisible" dojoattachpoint="focusNode, inputNode" tabindex="0" >

Submitting of the form with this HTML block leads to sending incorrect data to form handler and the file is not uploaded to a server.

My workaround:

this.inputNode.setAttribute('name', 'fake-' + this.inputNode.getAttribute('name'));

#18745 Threshold Indicator vertical fill fails Charting 1.14 defect Oct 29, 2015

In the threshold chart, configuring a vertical threshold fails to fill between the lines.

If you change thresholdual to "vertical: true" the fill does not appear as expected. http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/charting/tests/test_threshold.html

This seems to be due to the fill not properly accounting for the differences between vertical and horizontal cases. The issue may be in Indicator.js:_updateIndicator where the rectangle for linefill is created. It could also be in _renderIndicator, the return may just need to swap x1/x2 and y1/y2 in the vertical case.

#10774 [patch]Selecting dropped option in dNd MultiSelect widget DnD 1.15 defect minor Feb 22, 2010

Target is created from dijit.form.MultiSelect. Source is defined in markup on the top of div tag using dojo.dnd.Source (from test_dnd.html example).

Expected result:

Drop some item(s) on the select widget. Behavior of dropped item(s)/option(s) does not differ from the behavior of options defined in markup.

Actual result:

Dropped options cannot be selected using Google Chrome. Actually there is a workaround. One needs to set focus on the select widget and then dropped option can be selected/unselected. Problem is not present in FireFox.

Tested in Google Chrome 5.0.322.2 dev and FireFox 3.5.8 on Ubuntu Karmic Koala x64.

#14029 [patch][cla]dojox.mdnd Moveable throwning error Dojox 1.15 defect minor Sep 30, 2011

Moving DnD items when the onDrop event is fired requires you to first un-register them and then re-register them after moved. In this scenario dojox.mdnd.Moveable was throwning an error onMouseUp that 'this.node' is null (destroy was called on unregister).

#9411 Remove dojo.indexOf() call in dojo.NodeList-traverse's _getUniqueAsNodeList Query 1.15 enhancement normal Jun 15, 2009

The for loop in the code fragment below could be further optimized. According to this article loop #3 is faster compared to loop #2. There are other places in dojo where loop #3 could be used instead of loop #2.

	_getUniqueAsNodeList: function(nodes){
		// summary:
		// 		given a list of nodes, make sure only unique
		// 		elements are returned as our NodeList object.
		// 		Does not call _stash().
		var ary = [];
		//Using for loop for better speed.
		for(var i = 0, node; node = nodes[i]; i++){
			//Should be a faster way to do this. dojo.query has a private
			//_zip function that may be inspirational, but there are pathways
			//in query that force nozip?
			if(node.nodeType == 1 && dojo.indexOf(ary, node) == -1){
		return dojo._NodeListCtor._wrap(ary);	 //dojo.NodeList

#10075 Stale dojox.fx.slideBy Parameters fx 1.15 defect normal Oct 10, 2009

It seems that if dojox.fx.slideBy calculates where the node should end up during animation construction.

I attached two tests (A and B). In test A both animations are cached on an instance of the Animation class. CLicking on the blue box slides the node up (Expands it upward). Clicking the orange box slides it down (Actually collapses it downward).

In test B the result is as expected. The node just collapses back down to 0 height.

In test A the node collapses, but moves further than originally expected. It slides 200 units, instead of 100 units.

SIDE NOTE: Should it be possible to do this: var animation = dojox.fx.wipeTo();

And then just set the parameters later, prior to playing the animation?

#10077 dojox.fx.wipeTo Cannot Wipe to 0 width fx 1.15 defect normal Oct 10, 2009

This does not work:

var currentNodeWipeOutParameters =

{ node: "currentNode", height: 100, width: 0, duration: 300


var currentNodeWipeOutAnimation =



But this does:

var currentNodeWipeOutParameters =

{ node: "currentNode", height: 100, width: 1, duration: 300


var currentNodeWipeOutAnimation =



Applied to this node:

<div id="currentNode"

style=" background-color: black;

top: 200px; left: 100px; width: 100px; height: 100px; position: absolute;">


#10536 [test case] dojox.json.ref: resolveJson should merge attributes from $ref objects to index instances Dojox 1.15 enhancement normal Dec 18, 2009

Suppose we have a partially loaded object in the index, e.g.

index["1"] = {a: 2, _loadObject: ...}

Now, in a subsequent JSON message, the same id is used in another reference, but with different eagerly-provided attributes, e.g.

{$ref: "1", b: 3}

Currently, resolveJson will not add attribute "b" to the instance already in the index, so the information about attribute "b" is essentially lost. I believe it is a common use case to supply references to the same object with different eagerly-provided attributes in each reference.

Attached is a patch to dojox/json/tests/ref.js that includes a small test case for this issue.

#10724 dojo.position return different values on WebKit based platforms HTML 1.15 defect normal Feb 5, 2010


  • Create a group shape -> shape = owner.createGroup();
  • transform the shape (x, y) ->

shape.setTransform(null); var matrix = { xx: 1.0, yy: 1.0, dx: 100, dy: 100 }; shape.setTransform(matrix);

  • Query for it's position -> dojo.position(shape.rawNode, true);

In FireFox? it returns the translated value relative to it's parent. In WebKit? browsers (Safari / Chrome) it is unchanged.

#11190 dojo.date.locale.parse handles 'S' token incorrectly Date 1.15 defect normal May 21, 2010

according to http://www.unicode.org/reports/tr35/tr35-4.html#Date_Format_Patterns 'S' is supposed to be "Fractional Second - rounds to the count of letters" but it is currently always being handled as milliseconds only.

if you look carefully at something like this

dojo.date.locale.parse("2010-05-21 09:39:03.455229", {datePattern: 'yyyy-MM-dd', timePattern: 'HH:mm:ss.SSSSSS'})

you will find that it's treating '455229' as milliseconds which then becomes equivalent to 455.229 seconds and so in firefox (didn't try other browsers) the resulting time becomes 9:46:38.229.

there is a note in dojo.date.locale.parse (line 446)

	// Check for overflow.  The Date() constructor normalizes things like April 32nd...
	//TODO: why isn't this done for times as well?

but i couldn't find an open bug so since i've stumbled across this problem i thought i'd open a ticket.

the same problem also causes

dojo.date.locale.parse("2010-05-21 09:39:03.4", {datePattern: 'yyyy-MM-dd', timePattern: 'HH:mm:ss.S'})

to treat the '4' as milliseconds rather than as tenths and so the time ends up with 03.004 seconds when it should be 03.4 seconds.

the way the code is currently, the 'S' token is only handled properly when it is used as 'SSS'.

currently i work around it by using a timePattern like 'HH:mm:ss.X' which causes all the fractions of a second to be ignored since 'X' (or any other token not having meaning) will be ignored. this works out ok because i don't really care about fractions of a second (or seconds) except for when they overflow and throw off the minutes.

#14078 [patch] [cla] dojo.hash doesn't work on IE for sites using document.domain Core 1.15 defect normal Oct 10, 2011

Some corporate sites use document.domain to become allow cross-site access between frames with different host names but same domain name. When used together with dojo.hash, this throws a Permission Denied error in IE 6-8 as these are using the IE workaround with a hidden iframe.

What's happening is that the page is then on another security domain than the hidden iframe, and the page is not allowed to access the window.location property on the iframe. Example:

    document.domain = "dojotoolkit.org";
    <iframe src="www.dojotoolkit.org/dojo/resources/blank.html">

The error can be verified with the following test case when deploying on a sub-domain such as www.dojotoolkit.org:

<!DOCTYPE html>
<!-- This test to be served on www.dojotoolkit.org and opened in IE 6/7/8 -->
			document.domain = "dojotoolkit.org";
		<script src="dojo/1.6.1/dojo/dojo.js"></script>

			dojo.ready(function() {

The solution is to make sure the hidden iframe sets the same document.domain as its parent page.

I have provided a patch that supplies the desired domain as a parameter to the iframe, and then also makes sure to wait for onload in the iframe before doing anything with it, to make sure that the domain has been set.

We are currently running with this tweak in production on 1.6.1 so it would be great to see it included in 1.6.2.

#13214 enhance builder to execute subset rebuild BuildSystem 2.0 enhancement normal Jun 9, 2011

The v1.6- has the option buildLayers that allowed just rebuilding certain layers. This option could result in errors if changes were made to the code outside the layers directed to rebuild.

The 1.7+ builder should be enhanced to write out an internal state of a build (say a big file including all resources in various states of transition), and then have an update option where it reads the previous internal state, finds any changes in the sources, and then outputs a new, clean build. This should make builds during dev go much faster.

Adrian Vasiliu (2 matches)

Ticket Summary Component Milestone Type Severity Created
#18814 dojox/mobile/RadioButton: dot-circle misalignment for selected radio buttons on some browsers DojoX Mobile 1.14 defect Mar 16, 2016

The rendering of dojox/mobile/RadioButton shows in some browsers a misalignment between the internal dot marking that a radio button is selected and the external circle. See attached screenshot.

Reproduced with current 1.10 branch (future 1.10.5) on :

  • FF 38.5 ESR / Win7 (also hurts with Dojo 1.10.1).
  • Safari / iOS 9.2.1 (iPhone 6) (also hurts with Dojo 1.10.1).
  • Chrome / Nexus 5 / Android 6.0.1 (does NOT hurt with Dojo 1.10.1 where selected radios show a checkmark, not a blue dot...)

Does not hurt on Chrome / Win7 and IE11 / Win7.

Note that version field of this ticket is set to 1.10.4 because there's no available option for current 1.10 branch or future 1.10.5.

#18815 dojox/mobile/RadioButton: circle misaligned with label on some browsers DojoX Mobile 1.14 defect Mar 16, 2016

The rendering of dojox/mobile/RadioButton shows in some browsers a vertical misalignment between the circle of each radio and the label near it. This holds regardless the selection state of the radio button. See attached screenshot.

How to reproduce: open for instance dojox/mobile/tests/testFormLayout.html and check the rendering of the RadioButton?.

Reproduced with current 1.10 branch (future 1.10.5) but also with Dojo 1.10.1 on :

  • IE11 / Win7
  • FF 38.5 / Win7
  • FF 45.0.2 / Mac OS X 10.11.4

For comparison, the issue does NOT hurt Chrome 48 / Win7, Chrome 49 / Mac OS X 10.11.4, Safari / Mac OS X 10.11.4.

Bryan Forbes (2 matches)

Ticket Summary Component Milestone Type Severity Created
#16483 dojox.io.windowName broken in IE10 Dojox 1.15 defect Dec 18, 2012


When I make a cross domain GET (From Http -> To Https) call using windowName in IE10 I don't get any results back. The frame.contentWindow.name upon onload is the blank page url: https://mydomain/dojo18/dojo/resources/blank.html#0 and not the returned string from the request page. I tested my example in FF, IE9, and Chrome all are ok.

sample code:

var dfd = windowName.send("GET", {

url: "https://mydomain/dojo18/datatest.jsp", handleAs:"text"

}); dfd.addBoth(function(result){




#18385 "dojo/text" not work on Windows Phone 8 platform. Core 1.15 defect Nov 25, 2014

On Windows Phone 8 platform when using "dojo/text" to load local resource, dojo will automatically choose normal XMLHttpRequest object(through new XMLHttpRequest()) to perform the AJAX call. While for some reason this seems not worked by default and we need change to Microsoft specific object instead(ActiveXObject("Microfost.XMLHTTP"))

I managed to make dojo/text works as expected on WP8 by replacing the XHR object to "Microfost.XMLHTTP", but I don't think this is a good workaround since it's not official fix and may bring unexpected behaviors.

Test sample code (with other devices it works):

require(dojo/text!something.html?, function(something){

something = contents of something.html


Note: this issue only happends within WP8 app(through Cordova for example), the "dojo/text" feature works normally if you use system embeded IE directly.

Evan (1 match)

Ticket Summary Component Milestone Type Severity Created
#16676 dojox/gesture/tap causes later events to fail on Android < 4.1 and IOS Dojox 1.14 defect Feb 5, 2013

When an application listens to tap events, for example:

 on(node, tap.hold, handler);

no "click" events are fired after that on the node.

This can be reproduced with the attached test case (modified version of dojox\gesture\tests\test_gesture.html): on a mobile browser (for example an iphone/ipad), press and release over the inner/outer node, no "click" log is displayed, whereas it is correctly displayed on a desktop browser, or an Android 4.1+ device.

What causes this is the preventDefault() call in dojox/gesture/Base::_process. On most mobile OS's, this has the effect that the browser will not perform its default action of (among others) firing a "click" after a "touchstart"/"touchend" sequence. Android 4.1, on the other hand, still fires a click even if preventDefault() was called.

Feneric (2 matches)

Ticket Summary Component Milestone Type Severity Created
#14640 svg2gfx.xsl fails to detect exsl:node-set capability DojoX GFX 1.15 defect normal Jan 18, 2012


while debugging svg2gfx in Eclipse Indigo using Xalan 2.7.1 as processor, gradient stop colors weren't processed correctly, but a message "exslt:node-set is required for processing the style attribute." is thrown in line 698 (within <xsl:template match="@style">). Xalan, however, does support this extension; at least, the stop colors do get processed fine when changing the test condition in line 681 from

<xsl:when test="function-available('exsl:node-set')">


<xsl:when test="function-available('exsl:nodeSet')">.

Please find attached the file I was working on when stepping into this issue.

#11427 Incremental Improvements to svg2gfx.xsl DojoX GFX 1.15 enhancement minor Jul 7, 2010

I have attached a patch to svg2gfx.xsl that removes some of the unnecessary trailing commas left by the conversion. It does not (yet) remove all of them, just the simple cases with elements.

bill (14 matches)

Ticket Summary Component Milestone Type Severity Created
#15104 auto-detect border-box box model HTML 1.15 enhancement Mar 29, 2012

setMarginBox has incorrect results on an element with box-sizing: border-box,

in firefox 10, shrinks the box by the size of padding + border in chrome 19, it also moves the box.

open the attached file in a browser and call box("a") through box("c") in the console.

#16791 [Patch CLA] dijit/form/Select: Support placeHolder for empty selects Dijit - Form 1.14 enhancement Mar 4, 2013


There is currently no way to specify some kind of placeholder text for empty selects (as it is easily possible for FilteringSelects by textbox's placeHolder attribute). The added patch adds such capabilities.


My problem was, that _setDisplay is not called for initially empty selects. So I added some code to startup(). Or should rather _FormSelectWidget's _setValue be changed?

#17659 ValidationTextBox: don't fire onchange when trimmed value hasn't changed Dijit - Form 1.15 defect Jan 6, 2014

Don't fire the onchange event when only pasting \t to ValidationTextBox?.

#17803 Select set("options", ...) doesn't work Dijit - Form 1.14 defect Mar 22, 2014

If I set data manually, selected value is not displayed. I must call startup() method after setting.

<select id="select" data-dojo-type="dijit/form/Select" name="values"></select>

var data = [{label: "Label 1", value: 1}, {label: "Label 2", value: 2, selected : true}]; var select = registry.byId("select"); select.set("options", data);

#18101 popup.js miscalculates height unless position == "above", "below" Dijit 1.15 defect Jun 20, 2014

dijit/popup#open() has code to limit the height of a popup so it fits within the viewport. It works well in the common case where the positions to try are the default ["below", "below-alt", "above", "above-alt"].

However, if the positions are just ["below"], then it may make the dropdown too tall. See the popup.html test case, the "show tall drop down" button, after making your browser window small enough so that the button is near the bottom.

That button is configured to always put the drop down below the button, even when there's more room above the button than below it. However, this code in popup.js calculates the maximum height for the dropdown under the assumption that position == above *or* below:

maxHeight = Math.floor(Math.max(aroundPos.y, viewport.h - (aroundPos.y + aroundPos.h)));

Looks like it's also wrong when the position is "left" or "right" because in that case, it will make the height smaller than necessary.

#18145 _HasDropDown: provide a maxWidth property Dijit 1.15 enhancement Jul 1, 2014

The forceWidth and autoWidth properties do not cover all usability cases. In some of this cases it has been necessary to limit, with autoWidth property enabled, the drop-down horizontal extent inside a viewport and avoid going beyond the right edge.

#18150 dojo/touch still emits synthetic click after touchstart/touchend.preventDefault() Events 1.15 defect Jul 7, 2014

Calling evt.preventDefault() on a touchstart, touchmove, or touchend event generally cancels the click event from occurring. Albeit, as documented in #15878, that didn't happen on Android 4.1.

However, dojo/touch still fires a synthetic click when the touchstart, touchmove, or touchend were prevented.

Seems like a bug, but it's hard to change because judging from #15878, dojox/mobile is depending on this behavior. Likewise, the code added in #17816 depends on it too.

#18238 TooltipDialog + dojox/layout/ContentPane loads drop-down content twice on first show Dijit 1.15 defect Aug 23, 2014

When clicking on the button to display the drop-down, the dijit/form/DropDownButton#isLoaded method is called by dijit/_HasDropDown to determine how to interact with the drop-down component. When this method returns true, the drop-down is simply shown and its _onShow method is called. When this method returns false, DropDownButton#loadDropDown is called instead, which calls the refresh method of the drop-down component, which in the case of ContentPane? causes it to load its content.

Once the content is loaded, ContentPane#_onShow is called. When refreshOnShow is false, this is fine, because _onShow doesn’t do anything extra. However, when refreshOnShow is true, TooltipDialog#refresh gets called again, triggering the duplicate request. This only happens the first request because the DropDownButton#isLoaded method returns true for subsequent clicks on the drop-down button. It also only occurs with the dojox ContentPane? because it introduces an asynchronous rendering codepath. Whereas the default content setter operates synchronously from the time the XHR completes and the time the content is actually rendered, and therefore ContentPane#_xhrDfd exists to prevent the duplicate call to refresh, dojox ContentPane?’s content setter performs additional asynchronous operations (parsing and loading modules), and so the XHR object is deleted (because the XHR is done) before the content is “shown”.

PR forthcoming, since there are zero non-robot tests for this component, and I don’t have time to write something from scratch.

#18303 Regression : onkeypress not triggered on Firefox if focus is on an input Field Dijit - Form 1.15 defect Oct 7, 2014

I noticed a regression since V1.10.0, on Firefox only. The onkeypress connected on document (or on window) does not trigger when the focus is in an input field. If focus is outside an inout field, it works fine. Works fine with IE and Chrome. Also worked fine on V1.9.3. (I tested with V1.10.1 : issue still exists)

Here is a js exemple. Try and add a validationTextBox :

if focus in the textbox, then onkeypress is not triggered if focus outside the textbox, then onkeypress is not triggered

      var onKeyPressFunc = function(event) {
console.log("onKeyPressFunc Window for key '"+event.keyChar+"'");
        if(event.ctrlKey && event.keyChar == 's'){
        } else if (event.keyCode==dojo.keys.F1 && ! event.keyChar) {
      dojo.connect(document, "onkeypress", null, onKeyPressFunc);

#18325 FilteringSelect shows a validation error for async stores when pressing enter in IE Dijit 1.15 defect Oct 21, 2014

When using an asynchronous store in Internet Explorer, when you enter a valid value in a FilteringSelect?, and press enter before the async store has completed its query, the FilteringSelect? shows a validation error. This is readily reproducible in all versions of Internet Explorer (that I have tested) with the test_FilteringSelect.html, by entering a valid state in the "Artificially slowed-down data store" FilteringSelect?, and quickly pressing enter.

The problem is due to the fact that when you press enter in a textbox in IE, it will immediately move focus to the submit button of the form. Normally, the enter key will end up triggering a _AutoCompleteMixin#_setBlurValue call from _onKey. However, when the enter causes a change in focus, a blur event also triggers the _setBlurValue method call a second time. The _setBlurValue method is not prepared to handle two rapid sequential calls. The this.item value is expected to be undefined if the fetch for the item is in process, but the line https://github.com/dojo/dijit/blob/master/form/_AutoCompleterMixin.js#L335 sets item to null, so the second time through, item is null and this is understood to mean that the fetch has completed and not found any matching item, and triggers the _refreshState method which then performs validation while the fetch is actually still in flight.

As far as I can tell, the correct solution here is simply to remove line 335 (this.item = null) from _AutoCompleterMixin.js, so that the item is still undefined, denoting that it is still in flight. With this line removed, the issues seems to be resolved and all the other tests seem to work properly.

#18559 Dijit/Dialog sticks to mouse after right click on header in Chrome Dijit 1.14 defect Apr 14, 2015

If you do a right click on a dialog in Chrome, the Dialog sticks to the mouse (like when you're dragging it). This can be tested in http://livedocs.dojotoolkit.org/dijit/Dialog, and just run the first sample. Then right click on the head of the dialog, and then outside of the (browser) context menu.

I cannot reproduce this in Firefox or Internet Explorer.

Dojo version 1.10.4 Chrome Version 41.0.2272.118 (64-bit) OS: Ubuntu 14

#13769 [patch][cla]Circular dependency in dojo/dom-attr HTML 1.15 defect major Aug 29, 2011

I'm seeing a circular dependency in dojo/dom-attr. Here is the dependency chain :


#10819 [patch][cla][needs update to AMD] add function to return selected value in a checkbox/radio Dijit - Form 1.14 enhancement normal Mar 5, 2010

Currently there is no API method that allows to return the selected value of a radio button or of a checkbox easily. One must use dojo.query/filter/map. While it seems I was able to obtain one recipe to obtain the said information or another, a built in method that allowed to do that would be very convenient and more straight forward to use to the average user. I believe Karl Tiedt/tk/Tekky has a patch handy that would allow to return the selected value in a radio/checkbox. JR

#11145 TextArea: placeHolder parameter does not work for dijit.form.SimpleTextarea widgets Dijit - Form 2.0 defect normal May 14, 2010

Hi, in the release notes it says that the placeholder HTML5 parameter has been implemented for all textbox widgets. dijit.form.SimpleTextarea is a textbox widgets but the placeholder parameter doesn't seem to be working for it. See attached test file. This ticket should be assigned to LiuCougar.

bpayton (1 match)

Ticket Summary Component Milestone Type Severity Created
#17801 [patch][cla] Convert dojox/image/* and dojox/widget/RollingList to AMD DojoX Widgets 1.15 defect Mar 21, 2014


cjolif (3 matches)

Ticket Summary Component Milestone Type Severity Created
#17381 [cla][partial pr] Incorrect (asymmetric) margins with rotation option set for labels Charting 1.15 enhancement Aug 14, 2013

The chart's margins are calculated incorrectly if tick labels are rotated. Sample code demonstrating the issue is attached.


#12548 [patch][ccla]Chart: Legend is not ordered correctly with Clustered Horizontal Bar chart Charting 1.15 defect normal Mar 28, 2011

(1) Use dojox.charting.widget.Legend to add legend to Clustered Horizontal Bar Chart.

(2) The visually order of legend is not correct, the legend show with a reversed order of the bars.

Please look at the attached charting image.

#14648 Enhance dojox.charting widget markup to respect latest standards (AMD MID, data-* attributes) Charting 1.15 enhancement normal Jan 20, 2012

Currently the dojox.charting.widget.Chart does itself the "parsing" of its sub elements and does not support:

1/ data-dojo-type, data-dojo-props attributes

2/ mid when a class is expected in an attribute (includes theme attribute at Chart level, see also: http://bugs.dojotoolkit.org/ticket/13778#comment:30)

Also maybe the widget should leverage parser markupFactory feature instead of doing the parsing in buildRenderering.

Colin Snover (1 match)

Ticket Summary Component Milestone Type Severity Created
#17155 The content of a flattened _ROOT nls bundle is not taken into account Loader 1.15 defect May 15, 2013

We found something very strange regarding how dojo treat nls modules included in a _Root flattened bundle compare to the case of _<locale> flattened bundles. For example, my dojo build does not have "en" or "en_us" included in the generated locales. So, when the page loads up with "en" or "en_us" locale, dojo will fallback to load the _Root flattened bundle for the nls. Compare to other locale, e.g., fr, which is one of the generated locales, when page loads up with "fr" locale, dojo will load the _fr flattened bundle, and not the individual files. However, whenever dojo falls back to use the _Root nls flattened bundle, it does not seem to recognize the nls modules inside the layer _ROOT, in fact, it tries to load individual nls file again.

From what I see in the dojo/i18n code, the problem seems to be due to the fact that, in the case the current locale is not in the list of the preloaded locales, the i18n plugin will load the _ROOT bundle, and a root bundle contained in a flattened bundle is cached in the loader cache with a mid like "myapp/nls/mybundle/ROOT" (done in the i18n.preload() function). But then, when a require for this bundle is done, (e.g requiredojo/i18n!myapp/nls/mybundle?), the i18n plugin will falls back to its "new 1.7 default" behavior implemented in doLoad(). Which means, it first requires the root bundle before iterating over the possible locales:

doLoad = function(require, bundlePathAndName, bundlePath, bundleName, locale, load){
  require([bundlePathAndName], function(root){
    var current = lang.clone(root.root),
	availableLocales = getAvailableLocales(!root._v1x && root, locale, bundlePath, bundleName);
    require(availableLocales, function(){

The problem here is that the root bundle is loaded using its "original" mid (aka "myapp/nls/mybundle") instead of the one used during the preload phase (aka "myapp/nls/bundle/ROOT").

To summarize, it seems to me there's an inconsistency in the ways a root bundle is identified when it is loaded via a preloaded flattened bundle (cached using the "myapp/nls/bundle/ROOT" id) and when it is loaded during the fallback path in doLoad().

Dasa Paddock (1 match)

Ticket Summary Component Milestone Type Severity Created
#18129 [patch][cla] multiple dojo instance does not work as expected when using layers Loader 1.14 defect Jun 26, 2014

Let's consider the following config:

map: {
    'application1': {
        'dojo': 'dojo1.9'
    'application2': {
        'dojo': 'dojo1.10'
packages: [
        name: 'application1',
        location '/apps/1'
        name: 'dojo1.9',
        location '/apps/1/dojo'
        name: 'application2',
        location '/apps/2'
        name: 'dojo1.10',
        location '/apps/2/dojo'

Consider now that application1 is loaded first. In this application you have a button that load application2.

When I use non-builded code, requiring dojo/string from application2/myWidget load the file '/apps/2/dojo/string.js' as expected.

However, if application1 is a layer and application2 is also a layer, then requiring dojo/string from application2/myWidget resolve as '/apps/1/dojo/string.js'

This is due to the exclusion of mapProg in getModuleInfo: the change: https://github.com/dojo/dojo/commit/1d414f3b24fe22cc8f3ae8c3326d9693d3e70d47 the bug: #17475 the reason of that choice is described here : https://bugs.dojotoolkit.org/ticket/17475#comment:6

As a result: if the application1's layer does not contains the module required by application2, then it will be loaded from the separate file (it resolve to the right URL, but the layer become useless). Even worse if application1's layer contains the module it loads it from here, but the version might be totally different!

I think the maps should always be passed.

Note: it affect dojo 1.8+

dg (13 matches)

Ticket Summary Component Milestone Type Severity Created
#16987 dojox.calendar.Calendar, cannot declare a '1-col' columnView from 'endDate' and 'startDate' data-dojo-props DojoX Widgets 1.15 defect Apr 9, 2013


Currently the dojox.calendar.Calendar cannot be configured with startDate and endDate properties such that it results in one-column columnView.

In the following code, endDate == startDate. We can reasonably expect that the columnView displays only one column.

<div data-dojo-id="calendar"

data-dojo-type="dojox.calendar.Calendar" data-dojo-props="startDate: new Date(2013,0,1), endDate: new Date(2013,0,1)"></div>

But the columnView displays 2 columns.

I found that dojox.calendar.CalendarBase? increments the "endDate" property twice (instead of once): [1] at line 379 _validateProperties(), [2] at line 499 computeTimeInterval()

Hope that it will help.


Claude Guyomard

#17009 dojox.calendar class files vs. common conventions Classes implement DojoX Widgets 1.15 enhancement Apr 11, 2013

Many class/mixin definition files in dojox.calendar do not conform the following (http://livedocs.dojotoolkit.org/dojo/_base/declare#common-conventions) :

The class name (first argument of declare()) is omitted in new development. This ensures that the global namespace does not become polluted with classes and reduces the chances of name collisions. Classes in Dojo Toolkit introduced prior to Dojo 1.7 will include the class name for backwards compatability reasons.

#17010 Should dojox.calendar class declarations specify the class name ? Dojox 2.0 enhancement Apr 11, 2013

Many class/mixin definition files in dojox.calendar do not conform the following (http://livedocs.dojotoolkit.org/dojo/_base/declare#common-conventions) :

The class name (first argument of declare()) is omitted in new development. This ensures that the global namespace does not become polluted with classes and reduces the chances of name collisions. Classes in Dojo Toolkit introduced prior to Dojo 1.7 will include the class name for backwards compatability reasons.

#17289 dijit.layout.ContentPane breaks render of dojox.calendar.MatrixView Dojox 1.15 defect Jun 30, 2013

I am inserting a dojox.calendar.MatrixView? within a TabContainer/ContentPane?. When the page loads, the first Tab container displays a dojox.calendar/SimpleColumnView, but when I click on the second tab (containing a dojox.calendar.MatrxView?), dojo becomes unresponsive with the following alerts:

Script: https://parkes-ops.atnf.csiro.au/PORTAL/dev/jslib/dojo/dojo/dojo.js:58

Also seen at lines 126, 423, ...

A bare-bones example of the issue is attached.

Thanks for your time. Cheers, Stacy.

#17479 dojox.Calendar doesn't deal with possible failure while puting an item in a store Dojox 1.15 defect Sep 30, 2013

To be more specific: in order to perform some validation while modifying(dragging, resizing) an event(item) in a dojox.Calendar, I tried to override Store's "put" function and add the validating code there. However, I see no possibility to notify the Calendar that data has not been correctly updated in the store. Moreover, in


I spotted something as simple as: store.put(storeItem),

which, at first glance, have no concern about whether the data has been updated or not. Consequently, if "put" call fails (for example returns null), the visual item in the calendar remains modified, but will be "decoupled" from the store (no more drag and drop for it).

Is this an impossible scenario or a wrong approach on my side?

Kind Regards, Razvan.

#18087 dojox.calendar.Calendar event columnHeaderClick wont't work on iPad Dojox 1.15 defect Jun 12, 2014


the event of the columnView from dojox.calendar.Calendar won't work with safari on iPad. tested with iPad 1 iOS 5. testable with current 1.10 release http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/calendar/tests/calendar.html with a click on a day-column

best, wuhi

#18330 Chrome Timezone and daylight saving time change day Core 1.15 defect Oct 24, 2014

From what i've seen this is happening only in chrome. My situation is the one related on #8521. I'm opening this for another thing but i think it's related. To reproduce: Broser: Chrome

  1. Set your time zone to Brasilia.
  2. Go to http://demos.dojotoolkit.org/demos/calendar/demo.html

And if we try to select the days where the daylight saving time starts we will problems. Some days: 2014-10-19 2015-10-18 2015-10-16

#18458 dojox.calendar.calendar startTimeAttr not work Dojox 1.14 defect Jan 16, 2015

it works perfect in the following case.

var store = new Observable(new Memory({data: [

new Calendar({
	decodeDate: function(s){return stamp.fromISOString(s);},
	encodeDate: function(d){return stamp.toISOString(d);},

but it fail once I change the startTimeAttr and endTimeAttr like this.

var store = new Observable(new Memory({data: [

new Calendar({
	startTimeAttr: "begin",
	endTimeAttr: "end",
	decodeDate: function(s){return stamp.fromISOString(s);},
	encodeDate: function(d){return stamp.toISOString(d);}

#18596 dojox/Calendar next/previous buttons break when used with minDate/maxDate Dojox 1.14 defect May 28, 2015

There's some strange behavior with the next/previous buttons on the Month view when you use minDate/maxDate.

If you click Next, the view stops changing (which is desirable). If you click Next again, however, you'll notice it now takes you 2 clicks of the Previous button to be able to change months again.

For example:

Let's say December is the last viewable month, and you're currently on NOV.

NEXT DEC  <-- You hit the max, and can't continue. This is desired.
PREV DEC  <-- PREV at this point should send you back to NOV
PREV NOV  <-- After a second PREV you go to NOV

     NOV  <-- Another example to show it gets progressively worse as you click.
NEXT DEC  <-- Must click PREV 4 times to get to NOV. Should be 1.

I have an example of the behavior here:


There's also a proposed solution there (uncomment line 31).

#18662 dojox/calendar/SimpleColumnView creates wrong Date-objects Dojox 1.14 defect Aug 11, 2015

when constructing the column labels (line 1231), a new Date() is constructed - instead the newDate() function from ViewBase? or the dateClassObj (as in _layoutTimeIndicator-function) should be used to allow custom date-object-types

var d = this.newDate(new Date());

we are using the calender in a timezone-aware environment (we are not using the client timezone). therefore we are using a custom date implementation (via datePackage) which correctly handles setHours() etc.

#18663 dojox/calendar/Calendar should propagate datePackage to views Dojox 1.14 enhancement Aug 12, 2015

If a custom datePackage has been set, it's value should be automatically propagated to the nested Views.

#18688 dojox/calendar/CalendarBase constructor handles properties oddly Dojox 1.14 defect Aug 31, 2015

The constructor function for dojox/calendar/CalendarBase reads some values from args (for example, look in dojox/calendar/CalendarBase.js.uncompressed.js around line 295 and following, and see that we're reading DatePackage? from args. But what if we wanted to sublcass Calendar, and the subclass declaration provided a value for DatePackage? -- it wouldn't be picked up here.

On IRC, kgf suggested doing this in "postMixInProperties".

#18764 dojox/calendar/MatrixView Error after inserting new Item in store Dojox 1.14 defect Dec 6, 2015

After inserting a new item in the observable memorystore while the calendar is open on a hidden tab in my tabContainer I click on the calendartab and while its coming into view my browser console shows an error in line 680 of src-version of MatrixView?:

var d = renderData.dates[i][0];

I fixed this by switching the array indices into what I think is the correct order:

var d = renderData.dates[0][i];

I didn't dig into this deeper, so I would appreciate if this bugfix could be confirmed by someone more experienced in troubleshooting dojox/calendar.


dylan (38 matches)

Ticket Summary Component Milestone Type Severity Created
#15121 [patch] "allowNamed" does not work when using with dojox.validate.regexp.emailAddress Dojox 1.15 defect Apr 3, 2012

The flag "allowNamed" is ignored when using it for validating e-mail addresses.

The problem is in file dojox.validate.regexp.js
Ln 114:

 if(flags.allowNamed){ hostNameRE += "|^[^-][a-zA-Z0-9_-]*"; }

This works fine, if you are validating host names, but can never succeed for email addresses.

Change to:

if(flags.allowNamed){ hostNameRE += "|[^-][a-zA-Z0-9_-]*"; }

works fine when using in email addresses. But I have no idea if it produces side effects. But since also flag "allowLocal" is not defined by starting/ending metatag it should be fine.

regards, Philipp

#15177 DataStore, Observable combo doesn't report item updates Data 1.15 defect Apr 14, 2012

Given new dojo.store.Observable(new dojo.store.DataStore(new dojo.dataItemFileWriteStore)), direct updates to the ItemFileWriteStore will not be reported.

If app code calls (for example):

myItemFileWriteStore.setValue(item, "label", "North Pole");

That will trigger a call to dojo.data.store.onSet(). However, there's no call to put(), and thus Observable does not report anything.

#15226 domConstruct.create() optional document parameter HTML 1.15 enhancement Apr 21, 2012

Most of the methods in the dom* modules allow optionally explicitly or implicitly specifying a document. For example:

  • dom.byId(id, doc) looks up "id" in document "doc"
  • domConstruct.place("<div>hi</div>", refNode) creates the <div> in refNode.ownerDocument

However, domConstruct.create() doesn't take an optional document parameter, so you can't easily specify a document for a case like:

domConstruct.create("div", {role: "dialog", innerHTML: "hi"});

If your code has a refNode, the document is implied by the refNode:

domConstruct.create("div", {role: "dialog", innerHTML: "hi"}, refNode);

However, sometimes there's no refNode, in which case you either need to stop using domConstruct.create(), ex:

var div = myDoc.createElement("div");
domAttr.set(div, {role: "dialog", innerHTML: "hi"});


var div = domConstruct.toDom("<div role=dialog>hi</div>")[0];

or use the dojo/_base/window withDoc() mechanism, which is a little clunky:

win.withDoc(myDoc, function(){
   domConstruct.create("div", {role: "dialog", innerHTML: "hi"});

(I'm also not sure if withDoc() will be around in 2.0.)

So, this is a ticket to consider adding an optional document parameter to the create() method. I'm not sure what the signature would be though, since create() already has a number of optional parameters.

#15272 [patch] dojox.widget.Standby raises error if target is removed in IE8 DojoX Widgets 1.15 defect Apr 27, 2012

If the target of a dojox.widget.Standby is removed via removeChild(), IE8 raises an error:

dojo/dom-style.js line 306
Error: Unable to get value of the property 'zIndex': object is null or undefined

-> Dojo script is searching parents of target to get top z-index. Removed element exists in DOM but it hasn't parent.

It happens only in IE8. In IE7 and IE9 works fine.

This bug similar to http://bugs.dojotoolkit.org/ticket/14984 but it is not same.

#15294 dojox.validate.us.isPhoneNumber won't accept valid phone format Dojox 1.15 defect May 1, 2012

dojox.validate.us.isPhoneNumber() won't accept a phone number of the format

(NNN)NNN-NNNN it requires a space between the ) and the first digit of the prefix. It should accept the non-spaced version as valid.

#15477 [patch][cla] Chart: Bars/Columns width Charting 1.15 enhancement Jun 7, 2012

Now, bar/columns accept x,y value for series. But bar width is compute depending on scale. In some case, specially on periodic values (eg: a point every 5 "x") bar are small even if it could take around 5 x larger

I add a test case.

I will submit patch later. My code need cleaning. And it also include other submitted patch. If you interested to put in 1.8 I will do quicker.

#15537 vml.js fails if dom is not ready yet DojoX GFX 1.15 defect Jun 20, 2012

If I require "dojox/gfx" in IE7, it loads: dojox/gfx -> dojox/gfx/renderer -> dojox/gfx/vml and in the factory function of vml.js is this piece of code:

document.namespaces.add("v", vml.xmlns);

which fails if dom is not ready yet, because none of mentioned modules waits for domReady.

I think that vml.js should require of "dojo/domReady!".

Note: This didn't happen before I have built the sources using Dojo build system. But I don't think that it is build related error. Just the scripts load now faster which causes vml.js load before dom is ready.

#15549 [patch][cla] Chart - Action: Allow multiple Indicators Charting 1.15 enhancement Jun 22, 2012

Actually you could add only one indicator on one series. Even if there is multiple plots or stacked plot.

This patch allow to draw more than one indicator. You only need to remove series indicator options. If you let it it keep backward compat. It draws only one indicator

#15718 has("dojo-debug-messages") instead of config.isDebug Core 1.15 enhancement Jul 19, 2012

There are several parts of the code that are not using has("dojo-debug-messages") for detecting if Dojo is in debug mode or not and instead are using config.isDebug. These should be refactored.

The modules affected are:

  • dijit/_Widget
  • dojo/main
  • dojo/_base/configFirefoxExtension
  • dojo/_base/declare
  • dojo/_firebug/firebug
  • dojo/gfx/renderer

#16157 dnd: replace evt.stop with evt.preventDefault in Selector.onMouseDown DnD 1.15 defect Oct 12, 2012

dnd.Selector.onMouseDown() calls event.stop(e) on line 268/196 (to prevent the browser from selecting text when the user drags?).

But this prevents using the event mousedown higher up in the DOM hierarchy (e.g. event delegation) and should therefore be replaced with event.preventDefault() instead, which does not cancel the bubbling up. Also see fixed ticket #13994.

#16191 Calls to dojo.io.script.get with resulting data of null or 0 do not trigger jsonp callback. IO 1.15 defect Oct 17, 2012

I'm using the dojo.io.script.get to retrieve some data from a web service, I include the jsonp parameter to have a callback called with the results. The resulting data is always stored in ioArgs.json, but the callback is never triggered if the results are null or 0. The problem is the _ioCheck never returns true for this data as null/0 will return false in a conditional. Comparing with undefined instead seems to fix the issue. The fix I implemented to the _ioCheck function is below:

	dojo.io.script._ioCheck = function(/*Deferred*/dfd){
		//summary: inflight check function to see if IO finished.
		var ioArgs = dfd.ioArgs;
		//Check for finished jsonp

		//if( ioArgs.json || (ioArgs.scriptLoaded && !ioArgs.args.checkString)){
		if( (ioArgs.json !== undefined) || (ioArgs.scriptLoaded && !ioArgs.args.checkString)){
			return true;

		//Check for finished "checkString" case.
		var checkString = ioArgs.args.checkString;
		return checkString && eval("typeof(" + checkString + ") != 'undefined'");	

#16203 [patch][ccla] DateTextBox: does not validate correctly when using a Hebrew date. DojoX Form 1.15 defect Oct 18, 2012

Typing words, not numbers, in a DateTextBox? does not trigger the validation correctly because the regular expression provided by dojox.date.hebrew.locale is wrong.

From my investigation

_buildDateTimeRE : function(tokens, bundle, options, pattern){

line 372: s = '\\S+'; //in my opinion this should probably be replaced with s = '\\d+'
//because "\S" means "Find a non-whitespace character" (w3schools)



Let me know if you need more details.

#16357 tablecontainer addchild method not rerendering ? DojoX Layout 1.15 defect Nov 18, 2012

Browsers: FF 16.0.2, IE 8.0.6001 OS: XP SP3

  1. create a TableContainer?
  2. add some rows
  3. startup
  4. add another row
  5. new row not rendered in table container unless I use tableContainer.layout)():

<body class="claro"> <div id="telBlock"></div> <script>



"dijit/form/TextBox","dijit/form/Select","dojo/_base/lang","dojo/dom","dojo/dom-attr", "dojox/layout/TableContainer","dijit/registry", "dijit/_Widget" ], function(TabContainer?, ready,domConstruct, TextBox?, Select, lang, dom, attr, TableContainer?, Memory, registry){

ready(function(){ create a table,

var phoneTab = new TableContainer?( {

cols: 2, customClass:"phoneTab", "labelWidth": "150"


phoneTab.placeAt("telBlock"); add a child to it

var tel3 = new dijit.form.TextBox?({label: "Tel3 ", id:"tel3"}); phoneTab.addChild(tel3);

render phoneTab.startup();

add another child var tel4 = new dijit.form.TextBox?({label: "Tel4 ", id:"tel4"});


phoneTab.layout(); will not render without this

}); end ready

}); end require


#16440 dojo/request/iframe.js, xmlText is undefined error in FF and IE9 IO 1.15 defect Dec 7, 2012

I use dojo.io.iframe.send to upload attachment, after upgrading Dojo from 160 to 181, there is a "xmlText is undefined" error in FF or IE9, but works well in IE8. I compare codes between Dojo 160 and 181 and find, the error is in dojo/request/iframe.js, handleResponse method

if(handleAs !== 'html'){

if(handleAs === 'xml'){

IE6-8 have to parse the XML manually. See http://bugs.dojotoolkit.org/ticket/6334

if(doc.documentElement.tagName.toLowerCase() === 'html'){

query('a', doc.documentElement).orphan();

var xmlText = doc.documentElement.innerText;

xmlText = xmlText.replace(/>\s+</g, '><');

response.text = lang.trim(xmlText);


response.data = doc;



in FF, IE9 or Chrome, doc.documentElement.innerText is undefined. Dojo 160, dojo/io/iframe.js, send method

if(handleAs != "html"){

if(handleAs == "xml"){

FF, Saf 3+ and Opera all seem to be fine with ifd being xml. We have to

do it manually for IE6-8. Refs #6334.

if(dojo.isIE < 9
(dojo.isIE && dojo.isQuirks)){

dojo.query("a", dii._frame.contentWindow.document.documentElement).orphan();

var xmlText=(dii._frame.contentWindow.document).documentElement.innerText;

xmlText=xmlText.replace(/>\s+</g, "><");



to prevent this kind of error, but in Dojo 181 it changes to

if(doc.documentElement.tagName.toLowerCase() === 'html')

is it a bug? if not, is there a document about how to use this feature? Thanks!

#16537 json.parse and reviver vs. strict Core 1.15 enhancement Jan 3, 2013

behavior of second parameter is inconsistent:

MDC: JSON.parse(text[, reviver]) dojo: parse: function(str, strict)

now it is not very clear from API docs, that second param is used as reviver.

  1. with native-parser and ommited it parses with "unknown strictness", depending on browser implementation.
  2. with native-parser set to true it is ignored (not a function)
  3. with non-native when true supplied parses in "strict"
  4. with non-native and function, parsing in strict and ingoring the reviver function

little bit less confusing is this documentation: dojo: http://dojotoolkit.org/reference-guide/1.8/dojo/json.html#dojo-json

it is more clear that strict is used only with non-native.

Suggestion 0: please update API docs to clearly explain this. maybe rename the parameter and name it reviverOrString and explain usage in both modes

Suggestion 1: extract regexp literal out of function for better performance. (see http://jsperf.com/regexp-test-search-vs-indexof/14)

Suggestion 2: please fix the test case with few more mustThrow, and test for NaN, Infinities and other Border values, in both native and non-native.

#16539 dojox.widget.Wizard passFunction Not Called DojoX Widgets 1.15 defect Jan 4, 2013

On the last WizardPane? in a Wizard, the passFunction specified on the pane is not called -- only the doneFunction. Instead, passFunction should be called, followed by doneFunction, but only if passFunction passes.

#16542 VectorText - Accented Characters IE8 DojoX GFX 1.15 defect Jan 4, 2013

Antialiased text is really a good thing. dojox/gfx/VectorText provides this feature. But Accented characters (french language) don't work with Internet Explorer 8.

#16661 Allow registering for "all" events that object/element emits Events 1.15 feature Feb 1, 2013

Backbone has a feature to register for all events on an object using the special event "all" like so:

model.on("all", myCallback);

myCallback will now be called whenever model emits an event. This is handy when trying to build complex collections of objects that need to propagate all events that its components emit. Patch is attached. Docs would need to be updated too.

#16711 Tutorials: it would be useful to redirect to latest version just as it is done already for the reference guide Website 1.15 enhancement Feb 14, 2013

For the reference guide, the site redirects URLs without Dojo version number to the latest release. For instance, http://dojotoolkit.org/reference-guide/dojo/on.html redirects to http://dojotoolkit.org/reference-guide/1.8/dojo/on.html . But this does not hold for tutorials. For instance, http://dojotoolkit.org/documentation/tutorials/modern_dojo/ gives "page not found" instead of redirecting to http://dojotoolkit.org/documentation/tutorials/1.8/modern_dojo/ .

Since the redirect doesn't work for tutorials, when writing a documentation (reference or tutorial) which wants to point to a tutorial, the link needs to include the version number, for instance in RST files of the reference guide:

.. _`Classy JavaScript with dojo/declare`: http://dojotoolkit.org/documentation/tutorials/1.7/declare/

Supporting a similar redirection mechanism for both reference guide and tutorials would make the documentation easier to maintain, avoiding the need to update the version numbers in the URLs. In particular, when writing new documentation for the next release (currently 1.9), you can't point to the 1.9 version of the tutorials as long as they don't exist yet, so you need to refer to the 1.8 and update it later...

Side-remark, in an ideal world it would be possible to use relative (not absolute) cross links between reference and tutorials. This would allow writing in the doc generic links (without version number), while ensuring for instance that a given version of the refguide points to the matching version of the tutorial.

#16778 dojox.validate.isEmailAddress validates domain names that conform to RFC5890, Internationalized Domain Names, as invalid Dojox 1.15 defect Mar 1, 2013

dojox.validate.isEmailAddress validates e-mail addresses that contain internationalized characters as invalid.

To reproduce:

  1. Create a dijit.form.ValidationTextBox, use a dojox.validate.isEmailAddress for validation.
  2. Type an e-mail address with internationalized characters in the text box. For example jon@øyvind.no.

Expected result: The dojox.validate.isEmailAddress returns true, as this is a valid e-mail address.

Actual result: The dojox.validate.isEmailAddress false.

Browser type: FireFox
Browser version: 19.0 OS and OS Version: Windows 7

Support for RFC6530, Framework for International Mail, is however not yet widely supported. Thus, ideally there should be a switch for turning support for internationalized characters on or off.

#16800 Tooltip position configuration Charting 1.15 enhancement Mar 5, 2013

Position of chart tooltips is hardcoded. It would be nice to have it configurable, especially for line/area charts. Attached is prototype of path.

#16803 Support for donut charts Charting 1.15 enhancement Mar 5, 2013

Extending charting module by adding support for donut (doughnut) type of charts, special type of pie chart. Examples:

#16876 JsonRest store fails to encodeURIComponent() sort direction in URL Data 1.15 defect Mar 18, 2013

The sort direction, by default, is indicated with '-' or '+'.

+ is a sign that needs to be encodeURIComponent()'d.

Patch attached.

#17059 Path resolving in dojox/json/ref is incorrect Dojox 1.15 defect Apr 22, 2013

Path resolving in dojox/json/ref module is realized using this regex

var pathResolveRegex = /^(.*\/)?(\w+:\/\/)|[^\/\.]+\/\.\.\/|^.*\/(\/)/
(prefix + id).replace(pathResolveRegex,'$2$3');

It can handle resolving of situation where ID starts with one pair of 'dots'. E.g. "/a/b/c/../d" is corretly resolved as "/a/b/d". (Let assume that prefix is "/a/b/c/".)

But if ID starts with more pairs of "dots", the path is resolved incorrectly, e.g. "/a/b/c/../../d" is resolved as "/a/b/../d".

Also IDs starting with single dot are not handled correctly, e.g. "/a/b/c/./d" is resolved as "/a/b/c/./d".

#17241 Parameter missing in JsonRest documentation Documentation 1.15 defect Jun 8, 2013

In the store/JsonRest documentation at http://dojotoolkit.org/reference-guide/1.9/dojo/store/JsonRest.html, the get and remove methods are listed without the options parameter which they actually have for sending customized headers. The parameter is missing in both the section Usage and in the section Method and restful mapping, but it is mentioned properly in the section Headers.

#17273 [patch][cla] dojo/dnd/Target containing multiple drop targets unable to drop. DnD 1.15 defect Jun 19, 2013

See the attached test case. Drag the TIE Fighter from the left to the right outer target. The cursor turns green. With the mouse still held down, drag to one of the inner targets. The cursor goes red.

But if you try to drag back to the outer target, the cursor STAYS red. It should turn green.

#17296 dojox/widget/Standby does not consider CSS attribute overflow DojoX Widgets 1.15 defect Jul 2, 2013

Currently, the Standby widget does not consider the CSS attribute overflow. Thus it leaves space for a scrollbar although no scrollbar is visible. This happens for overflow=visible|hidden if I am correct.

Here a demonstration of the problem: http://jsfiddle.net/2xW4H/2/

#17300 safeMixin fails if source contains reference to window in different domain Documentation 1.15 defect Jul 5, 2013

safeMixin fails in Firefox if the source contains a reference to a window in a different domain. For example:

var a = {
   target : window.top
var b = declare.safeMixin({}, a);

will fail if 'top' is in a different domain. This is do to the isFunction type check trigging a cross-domain access issue (currently only in FF..tested FF21).

If safeMixin is indirectly used in declare(), then this is easily worked around (this "defect" may just to be a documentation of the workaround...):

declare(null, {
   target: null,
   constructor: function(kwargs) {
      this.target = kwargs.target || window.top;

#17315 stamp.fromISOString returns a time that is 10 minutes earlier than the supplied string Date 1.15 defect Jul 10, 2013

I will supply a string to the function and the resulting date will be 10 minutes earlier. For example, I will submit ISO formatted string with the time of 10:30 and the resulting time will be at 10:20

#17473 dojo.store.Cache not handling 304 with dojo.store.Memory Data 1.15 defect Sep 26, 2013


When wrapping a Jsonrest, along with Memory store, into a Cache store, 304 returns from server are not handled properly upon updating entity. One gets : "TypeError?: Cannot use 'in' operator to search for 'key' in null" line 70 of uncompressed Memory.js file :

var id = object[idProperty] = (options && "id" in options) ? options.id : idProperty in object ? object[idProperty] : Math.random();

Thanks in advance for your help

Here is the code :

<script src="ajax.googleapis.com/ajax/libs/dojo/1.9.1/dojo/dojo.js"></script>


require( [ 'dojo/parser', 'dojo/store/JsonRest', 'dojo/store/Memory', 'dojo/store/Cache' ], function(parser, JsonRest?, Memory, Cache) {


var cachedStore = new Cache(

new JsonRest?({

target: "/mypath", idProperty: "key"


new Memory({idProperty:"key"})








#17555 New Svg2Gfx DojoX GFX 1.15 enhancement Nov 7, 2013

I created a dojoSvg2Gfx project on GitHub? https://github.com/brownarn/dojoSvg2Gfx. It's all javascipt and written in dojo style for 1.9.1 and could possibly replace the xsl/xslt version currently included in the toolkit.

In it I've included patches to gfx/_base, svg, and utils, and would like to get the changes currently in patches into the upstream.

#17574 Dojo XMLHttpRequest.withCredentials support IO 1.15 enhancement Nov 15, 2013

I'm building REST API server with role based subdomains, e.g. api.admin.example.com, api.client.example.com. REST API authentication server currenly supports only 2 ways to authenticate - session based authentication for example.com and http basic authentication. That's why I want to use CORS requests with withCredentials. There is related closed ticket to add withCredentials support to dojo https://bugs.dojotoolkit.org/ticket/11820 and 1.9.1 already has it. But I don't see any information about browsers support. In tests I can see some notes like

Note: this isn't really testing much unless you are using IE8 (XDomainRequest)

. There are also discussions on stackoverflow like this http://stackoverflow.com/questions/14587347/dojo-cross-domain-access-is-denied. Does dojo fully supports withCredentials including IE8, IE9, IE10? Or what broswers are supported?

Another question. From http://dojotoolkit.org/reference-guide/1.9/dojo/store.html

The following two core stores based on the typical pattern of in-memory and server-based data stores:


How can I use JsonRest? with CORS withCredentials if I can't pass withCredentials option to request?

return xhr("GET", {                                                                                    
            url: this.target + id,                                                                             
            handleAs: "json",                                                                                  
            headers: headers                                                                                   

Should I implement my own store? I can't find any info about this at http://dojotoolkit.org/

I have tried to ask these questions at dojo IRC but with no answer.

I set ticket type to enhancement

  1. withCredentials support including IE browsers
  2. JsonRest? store withCredentials support

#17729 dojox/form/manager/_NodeMixin::unregisterNodeDescendants() is broken DojoX Form 1.14 defect Feb 13, 2014

Line 208 is incorrect, as 'node' refers to the top-level node passed to the function, not to the input, select, textarea or button node passes by query() to the map function.

207 query("input, select, textarea, button", node).

208 map(function(n){ return domAttr.get(node, "name")
null; }).

A suggested fix is:

207 query("input, select, textarea, button", node).

208 map(function(n){ return domAttr.get(n, "name")
null; }).

#17783 dojo/store/JsonRest + Observable: add/put new item not observed Data 1.15 defect Mar 11, 2014

Both removedFrom and insertedInto are -1 in Observable line 120, callback is ignored.

Simple test added (adapted from dijit/tree/ObjectStoreModel).

#18057 xhr.del (dojo/request/xhr) doesn't automatically handle json response IO 1.14 defect May 28, 2014

Hi all,

When I use this code for example:

    handleAs : "json",
    headers : {
      "Accept": "application/javascript, application/json"
  function (data) {
    var rowId = json.parse(data)[0].id; // why json.parse is needed !!!! 

I need to use json.parse because data is a string.

This is different as in xhr.get or xhr.put because response data in those cases are automatically parsed.

For my point of view, as handleAs is set to 'json', the automatic parsing functionnality must be made in xhr.del.

Thx for your answer

#18096 Application Controller tutorial's final demo does not work fully Documentation 1.15 defect Jun 17, 2014

Application Controller tutorial: http://dojotoolkit.org/documentation/tutorials/1.10/recipes/app_controller/

In the "Getting Started" section of the tutorial, part of the goal is for a user to "be able [to] click to see a large version of each image." But this part of the demo does not work; clicking on a thumbnail does not bring up a larger version of the image.

Final demo: http://dojotoolkit.org/documentation/tutorials/1.10/recipes/app_controller/demo/demo.php

#18128 query.NodeList() is not a function when !css3 is specified Query 1.15 defect Jun 26, 2014

Apparently something is going wrong - if "!css3" is left out, everything works as expected.

This code breaks, resulting in "TypeError?: query.NodeList? is not a function"

require(["dojo/query!css3"], function(query) {

but this works just fine:

require(["dojo/query"], function(query) {

I created a jsfiddle:


Note that "query.NodeList?()" is explicitly mentioned in the docs:


However, dojo.NodeList?() still works in both cases. Is dojo.NodeList?() recommended? I only found this when looking at the source code...

#18174 dojox/geo/openlayers/widget/map Dojox 1.15 defect Jul 15, 2014

When creating an openlayers map widget of dojox/geo/openlayers the non-osm properties (like baseLayerOptions or openLayersMapOptions) are not passed through. In the method "buildRendering" only baseLayerType and baseLayerName are forwarded to the Map constructor.


var map = new Map(div, {
	baseLayerType: this.baseLayerType,
	baseLayerName: this.baseLayerName,
	baseLayerUrl: this.baseLayerUrl,
	baseLayerOptions: this.baseLayerOptions,
	touchHandler: this.touchHandler,
	initialLocation: this.initialLocation,
	openLayersMapOptions: this.openLayersMapOptions

1 2 3
Note: See TracReports for help on using and creating reports.