{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
#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.

#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'));

#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"

#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.

#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

#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?

#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.

#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;

#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.

#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).

#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.

#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.

#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.

#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.

#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.

#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;">


#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.

#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.

#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.

#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.

Adrian Vasiliu (2 matches)

Ticket Summary Component Milestone Type Severity Created
#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.

#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.

Bryan Forbes (2 matches)

Ticket Summary Component Milestone Type Severity Created
#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.

#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){




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
#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.

#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.

bill (14 matches)

Ticket Summary Component Milestone Type Severity Created
#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

#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.

#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);

#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);

#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.

#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.

#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?.

#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?

#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

#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.

#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.

#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.

#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.

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
#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.

#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.

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
#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

#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.

#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.

#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

#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

#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).

#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.


#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.

dylan (38 matches)

Ticket Summary Component Milestone Type Severity Created
#13958 Add HTML5 history support to dojo.hash Core 1.15 enhancement normal Sep 20, 2011

I've been working on adding HTML5 history support to dojo.hash to enable RESTful URLs in Ajax applications. I've come up with a set of overrides to dojo.hash that enable this to work in my app, but I'm wondering if there's value in pushing this into dojo so that the greater community can benefit.

Here's a blog post describing the solution:


#12327 Allow dojo.Animation to have a duration of zero or throw an error Core 1.14 defect minor Feb 21, 2011

If I setup an animation, e.g. using dojo.animatePropery(args) with args.duration = 0 I'm getting into a division by zero situation in the _cycle method. In my case I got a height of NaNpx which gave an error on the console in IE and failed silently in other browsers.

Why would you start an animation with duration = 0? Seems stupid but in my case the code intended to have all the corresponding callback called without a visually recognizable effect (of course only for a certain condition while the other branch of the code sets a number greater than zero as the duration). What I'm trying to say: It might happen so lets fix it.

In the _cycle method you get either a value for the step of Infinity or NaN depending if some milliseconds passed since "starting" the animation. Infinity is not a problem because step gets normalized to 1 then. NaN is not caught and passed on until it is written to the DOM in a way.

Attached patch checks if duration is 0 before division.

#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.

#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

#15112 Application-Controller-Pattern: Provide an example for shared methods of different page-level controllers Documentation 1.14 enhancement Apr 1, 2012


The tutorial on the application controller pattern (http://dojotoolkit.org/documentation/tutorials/1.7/recipes/app_controller/) is a very good and helpful one. I tried to use it in my first project so as to improve code structure and readability. But soon I came up with one limitation of that pattern: My application consists of several pages (and thus several separate page-level controllers). However there are some functions/methods which are always the same on each page (e.g. for initialization of the top navigation). I.e.: There are some "static" methods shared by all controllers. At the moment I have copied and pasted these functions. But that is surely not the way to go: If I have to change the code, I need to change it in all controllers.


Yet unclear - for me as Dojo newbie - how to implement this. I tried to introduce a _BaseController class, and all page controllers inherit from this base controller class now. This gives me the full power of class inheritance and the usual way to call functions (using this.myFunc() instead of just myFunc()).

#13021 Body text selection broken after GridContainer drag and drop DojoX Layout 1.15 defect critical May 20, 2011

After clicking or dragging a TitlePane? in a GridContainer?, text selection for the document body no longer works until the browser is refreshed.


1) Open demo example above 2) Select portlet text - works fine 3) Click/Drag? titlepane 4) Select portlet text - no longer works

To resolve this, remove line 90 in dojox/mdnd/Moveable.js or restore onselectstart.


Text selection does not occur with this line removed, so it is not necessary.

#12164 Browser back button has iframe history for dojo.io.iframe IO 1.15 defect normal Jan 15, 2011

After uploading files by dojo.io.iframe the browser requires some extra back-button presses to get to the previous page. The number of presses is the same as the number of files uploaded. This seems to be related to the iframe having it's own history.

I have hacked this for myself by deleting the iframe after the file has uploaded, thereby deleting the history; But I don't think this is the 'right' way (I have limited javascript experience).

NB dojo.io.iframe does multiple file uploads (queued?) that this will probably break..

window.dojoIoIframe=null; dojo.body().removeChild(dojo.io.iframe._frame); dojo.io.iframe._frame=null;

This is a problem in Firefox 3.68 and IE 8.0 for me.

#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'");	

#14636 Chained animation not so chained fx 1.15 defect major Jan 18, 2012

A chained animation works fine on the first run. But after it has finished once, calling .start() on it again, the chained animation is not working right. It appears to only ever play the last entry in the array (found that out after switching them around) anymore.

Demo by Karl Tiedt here: http://jsfiddle.net/W7sjf/ My code example: http://pastebin.com/PRWviFhf

#18981 Child popup closes parent popup when mouse left click duration reaches certain threshold value Dijit 1.14 defect Feb 22, 2017

Received this issue via email as trac was flagging it as spam:

Inside a tooltip dialog that is opened using a popup, I have a button that opens a color picker also using popup. If I click a color cell rapidly the color picker closes, and the parent dialog remains opened. If I hold the mouse button for a longer period of time on a color cell, when I release the mouse, the color picker popup closes and then the parent tooltip dialog closes along with it.

This issue does not occur if I debug the code and put a breakpoint in the color picker popup onExecute() method. Pausing the execution seems to prevent propagation of the close event to the parent popup.

Below is my code to open the color picker - where fontTextColorNode is a button in a parent popup dialog.

            on(this.fontTextColorNode, "click", function (event) {


                var myPalette = new ColorPalette(


                    palette: "7x10",

                    onChange: function (val) {


                        console.log("selected color", myPalette.value);


                        that._set("color", myPalette.value);


                        formElementController.setPropertyValue(that.parentWidgetId, "color", myPalette.value);




                myPalette.on("blur", function () {





                    parent: that,

                    popup: myPalette,

                    around: that.fontTextColorNode,

                    orient: ["below"],

                    onExecute: function () {



                        console.log("closed myPalette");


                    onCancel: function () {






#18708 Client-Side XSS Bug in Grid Filter DojoX Grid 1.14 defect Sep 16, 2015

I noticed this bug in 1.9.7, but other versions may be affected as well.

When you use a filter with an EnhancedGrid?, you can insert some JavaScript? as the value and it will be executed. This is because the value is being displayed at the top of the Filter dialog and isn't properly escaped.

#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.

#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

#12182 Dojox.charting.DataChart doesn't support x,y coordinants from server Charting 1.15 defect normal Jan 19, 2011

It appears that DataChart?.js has some typecasting that causes x,y coordinate data to not work even though they work in Chart2D.

Lines 400 (ar.push(Number(field));), 411 (this.seriesData[nm].push(Number(field));), and 413 (this.seriesDataBk[nm].push(Number(field));) all use a typecast to Number() which causes series that are in the format of {x:3,y:4} to not work in DataChart?.

Removing the Number conversion around field seems to fix the problem although for safety it may be better to check the data to see if it's a coordinate if so then cast both x and y to numbers, if not cast the whole object.

#18994 DropDownList pupup is in the wrong position on Windows 10 touchscreen laptop. Dijit 1.14 defect Apr 1, 2017

This problem is occurs on a Windows 10 touchscreen laptop.
There is a dropDownList on a page.

1.After the page is initialized,click the dropDownList using the touchscreen,and the menu pops up.
2.Use two fingers to zoom in the page,and move the dropDownList using the touchscreen.
3.Click the dropDownList using the touchscreen,and the popup is in the wrong position.

After step 2,the origin position has been changed,dojo should have recalculated the origin position,but in fact it didn’t do that,so that there is a origin offset.
I can't show real information in our product,but I made a picture to explain more clearly.

#18894 EnterKeyHandling forgets line indentation upon new line Editor 1.14 defect Sep 27, 2016

When in DIV mode the enterkeyhandling forgets line indentation upon new line. I was able to fix this by adding the code below to the handleEnterKey function :

if (this.editor.queryCommandState("justifyleft")) {

newblock.align = "left";

} else if (this.editor.queryCommandState("justifyright")) {

newblock.align = "right";

} else {

newblock.align = "center";


#18940 Error on programatticaly load of dojox.charting.widget.chart DojoX Widgets 1.14 defect Dec 19, 2016


Store is defined by dojo.data.itemFileReadStore or dojox.data.QueryReadStore?.

Error: dojo/parser::parse() error TypeError?: Cannot read property 'sort' of undefined.

#18729 Google's CDN - "latest" version pointers no longer work Documentation 1.14 defect Oct 6, 2015

See this page - https://developers.google.com/speed/libraries/#troubleshooting

Since 1.8.3 (ish), the automatic pointers no longer function. Consequently, specification of "1.9" or "1.10" won't work at all, and "1" still points to "1.6.1".

I'd suggest removal of the section recommending this usage, and aligning with Google's recommendation - specific version usage.

#12982 GridContainer offsets column index when manually organized DojoX Layout 1.15 defect normal May 18, 2011

When creating a manually organized dojox.layout.GridContainer? (isAutoOrganized: false) programmatically to place widgets in specific columns the error "Unable to insert child in GridContainer?" appears in the console for widgets placed in column 0.

It appears the addChild method assumes a zero-based column index, but the _organizeChildrenManually method assumes a one-based column and thus subtracts 1 from the column before calling _insertChild to re-arrange child widgets.

Another effect is that it's impossible to place widgets in the last column.

Example to reproduce:

dojo.addOnLoad(function() {

var cpane1 = new dijit.layout.ContentPane?({ title:"cpane1", content: "Content Pane 1 : Drag Me !" }),

cpane2 = new dijit.layout.ContentPane?({ title:"cpane2", content: "Content Pane 2 : Drag Me !" }), cpane3 = new dijit.layout.ContentPane?({ title:"cpane3", content: "Content Pane 3 : Drag Me !" });

var gridContainer = new dojox.layout.GridContainer?({

nbZones: 3, isAutoOrganized: false

}, dojo.byId("rootNode"));

gridContainer.addChild(cpane1, 0, 0); gridContainer.addChild(cpane2, 1, 0); gridContainer.addChild(cpane3, 2, 0); gridContainer.startup();


#18609 IE < 11: Loader inconsistently runs factory synchronously for module with no deps Loader 1.14 defect Jun 18, 2015

Most browsers, including IE 11, will run a module's factory function on the next turn, even if that module has no dependencies. This is not true for IE < 11, which takes a different code path.

Test case: https://gist.github.com/kfranqueiro/7e3c9594918dbc3bea32

On modern browsers, this logs:

after factory in factory all loaded

In IE < 11, this logs:

in factory all loaded after factory

(Note that I've only been testing this in async mode specifically.)

I played around initially with wrapping https://github.com/dojo/dojo/blob/1.10.4/dojo.js#L1860 in a setTimeout, which seemed to resolve the issue with no regressions... But then I noticed that even removing the line entirely resolves it with no regressions as well.

Wondering if Rawld could comment on whether this change seems sane.

#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.

#18966 Label placement in StackedBars and StackedColumns Charting 1.14 defect Jan 25, 2017

Ever since 1.11.1 label placement in the StackedBars? and StackedColumns? is centered based on the chart origin instead of the bar/column shape origin. In 1.10.4 the labels were placed as expected. I found this as I am trying to update an existing application.

#11525 Legend image for plot on graph shows nothing DojoX Widgets 1.15 defect normal Aug 3, 2010

The legend in version 1.5.0 isn't displaying properly under certain conditions. For example, add a plot to any graph like (must have lines: false for error to appear):

NOTE: the series description shows up in the legend but no image.

chart1.addPlot("test", {type: "Default", lines: false, markers: true});

See attached test.html file.

#18983 Mouse click activating DropDownButton: unable to use arrow keys for navigation Dijit 1.14 defect Feb 27, 2017

When using a mouse click a DropDownButton? that has a Menu associated with it, one cannot use the arrow keys to highlight the menu items.

After some analysis, I noticed this changed occurred for Dojo 1.9 (and later releases), and appears to be backported to a version of 1.8 (1.8.10 has same behavior as later releases). Using 1.7.5, the better (IMO) behavior occurs where one can use the arrow keys as keyboard focus is switched to the menu raised.

Examing the source, it appears the changes for ticket #11800,


is the culprit behind the behavior change.

Comparing with traditional applications, the behavior in 1.7 (and earlier) is consistent: regardless if menu was raised by a mouse click or a keyboard event, the keyboard can be used to navigate menu items. The newer behavior is not consistent with common practice.

Looking at the description of for #11800, I think the solution adopted goes contrary to behavior intent. First line of #11800 description:

If you right click on a page in Firefox, you get a context menu where no item is highlighted. The arrow keys still work; hitting down arrow hightlights the first item...

Note that, "arrow keys still work." With the code changes, they no longer do so. I think the original submitter was not asking for arrow key selection to no longer work, just that there is no initial item highlight.

Another related behavior change that occured between 1.8.x and 1.9.x is arrow key navigation does not work in 1.9 and later even if you hover mouse over a menu item. In versions 1.8 and prior, click to popup/dropdown menu, move mouse over first item. You can then use arrow keys move highlight to other menu items. In 1.9, this is no longer the case.

I have not been able to find the specific code changes between 1.8 and 1.9 that lead to this behavioral change.

This change a behavior goes contrary to normal GUI based applications. For example, in native GUI apps, arrow-key-based higlighting of a menu item will always work, regardless of how the menu was raised or how a menu item was highlighted (e.g. mouse hover).

The following messages to the mailing list were posted months ago regarding this issue, but no responses received: http://mail.dojotoolkit.org/pipermail/dojo-interest/2016-September/085272.html http://mail.dojotoolkit.org/pipermail/dojo-interest/2016-September/085274.html

#12747 Nested object serialization with objectToQuery IO 1.15 defect normal Apr 22, 2011

Apparently dojo has no ability by default to serialize regular nested objects via dojo.objectToQuery.

Right now doing this:

dojo.objectToQuery({user: {username: 'lyle', password: 'testing'}});

will generate the query:

user=[Object object]

This is useless to everybody. The generally accepted solution is the following:


This is how PHP and Rails expect nested objects, and it's how Zend and Rails build their forms by default. This is also how jQuery serializes nested objects.

This may not be the perfect solution, but you shouldn't get garbage when you put nested objects into objectToQuery.

Also, I noticed that in an older version of node.js this syntax was expected for nested objects, but at some point it has changed to no longer accept it in the way I've outlined. I don't know why that is but I'm plenty curious.

#10352 New DateTime Picker control Dijit 1.15 enhancement normal Nov 16, 2009

This control will function more like a dijit.form.DateTextBox. it includes Date selection and Time picker. Right now there is no support for different formats and no tests are being developed yet. I would appreciate if users can suggest me with necessary improvements.

#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.

#18386 No way to set progress callbacks for xhr.upload when using dojo/request/xhr IO 1.14 defect Nov 25, 2014

https://bugs.dojotoolkit.org/ticket/13375 mentioned that this support was in dojo/request/xhr but I took a look at the code today and found no way to add a progress callback to the xhr.upload object.

#18203 NumberTextBox: Type "-" and move focus out, the widget is not marked as invalid in some cases Dijit - Form 1.15 defect Aug 1, 2014

When "places" attribute in "constraints" is set, if typing "-" in NumberTextBox? widget and then moving focus out, the widget is marked as invalid - this is good.

However, when "places" attribute in "constraints" is not set, if typing "-" in NumberTextBox? widget and then moving focus out, the widget is not market as invalid - this is a bug.

This problem can be re-created on http://dojotoolkit.org/reference-guide/1.10/dijit/form/NumberTextBox.html. See attached screenshots.

There is a related bug (https://bugs.dojotoolkit.org/ticket/17382), but the problem I want to report here is different as the one reported in that bug. For that bug, I would consider the behavior is expected (or by design). When the focus is still in the widget, we should not mark the widget as invalid if the text is "-", as user may type number after "-", which will make the input valid. But when the widget loses focus, the widget needs to be marked as invalid if the input is "-", as "-" is not a valid number - this is the problem I want report in this bug.

Attached is a quick fix that we applied. The ideal fix would be fixing the regular expression when "places" attribute in "constraints" is not set.

#13357 ObjectStore: isItem(item) could also test for identity Data 1.15 defect minor Jul 3, 2011

Checking if object is a data.store.item in ObjectStore.isItem() could also use getIdentity(item) to determine if it belongs, e.g:

return (typeof item == 'object') && item && !(item instanceof Date) && this.getIdenty(item);

#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.

#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".

#18991 Port 18871 to 1.10 Core 1.13.1 defect Mar 20, 2017

Creating port request per Dylan's comment on 18871. We would be adding this to 1.10.4.

#18697 PortletInGridContainerColumns - DND Error in IE. DojoX Widgets 1.14 defect Sep 7, 2015

DND Error in IE.

In the example "https://github.com/dojo/dojox/blob/master/widget/tests/test_PortletInGridContainerColumns.html" for a portlet within a Bordercontainer (For the use with IE it has to be delivered by a webserver). In Firefox and Chrome the DND-Event works as it should:

  • Click on the portlet an keep the Mousebutton pressed to move the portlet around.
  • Release the Musebutton to drop the portlet at that place.

IE (version 11) shows a strange behaviour:

  • the portlet sticks to the cursor even after releasing the the mousebutton.
  • I need to click again to drop the portlet

With Dojo < 1.8 it does work within IE without any issues.

#18949 Select-Tag doesn't show Options, because it gets prevented (by gesture) H a p p y N e w Y e a r Dojox 1.14 enhancement Dec 29, 2016

dojox/gesture/Base.js ln:268

<select>-Tag is missing in following code. Would you Please include it until next release?

// invoking gesture.press()|move()|release()|cancel()
// #16900: same condition as in dojo/touch, to avoid breaking the editing of input fields.
	if ((e.target.tagName != "INPUT" || e.target.type == "radio" || e.target.type == "checkbox")
        && e.target.tagName != "TEXTAREA") {

I simple took previous code inside the following condition.

if (e.target.tagName != "SELECT") {


Now my select-tags show their options, again.

#12716 Selection error in dojox.widget.RollingList DojoX Widgets 1.15 defect normal Apr 19, 2011

When I link my FireFox version 4.0 to:


and click "North America", the first item ("Africa") stays highlighted (though it does open the correct secondary pane).

When I then click "United States of America", I get an error in FireBug: "ret is null" with a pointer to RollingList.xd.js (line 8)

Similar behaviors in IE 8. And it's also happening to me when I try to use the RollingList on my local pages using dojo 1.5 or 1.6.

I hope I gave enough information; and I hope I adequately searched the existing bugs. This is my first bug report.

#17772 Should dojo/store/Cache return in-flight promises? Data 1.14 enhancement Mar 3, 2014

I was thinking that the dojo/store/Cache should return any in-flight requests to the master Store.

The following small change works for me in my situation. I was thinking it could work for others.

#17512 Sniff android returns undefined on firefox android Core 1.14 defect Oct 16, 2013

While one firefox for the android, has("android") is returning undefined. It seems to be working fine on chrome and the android default browser.

I am running Firefox version 24.0. My tablet is Samsung Galaxy Note 10.1. Model Number: GT-N8013. Android version 4.1.2.

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