Codebase list dojo / 1c472ef
New upstream version 1.15.2+dfsg1 Xavier Guimard 4 years ago
36 changed file(s) with 360 addition(s) and 240 deletion(s). Raw diff Collapse all Expand all
106106 this.editor = editor;
107107 this._initButton();
108108
109 // Filter the html content when it is set and retrieved in the editor.
110 this.removeValueFilterHandles();
111 this._setValueFilterHandle = aspect.before(this.editor, "setValue", lang.hitch(this, function (html) {
112 return [this._filter(html)];
113 }));
114 this._getValueFilterHandle = aspect.after(this.editor, "getValue", lang.hitch(this, function (html) {
115 return this._filter(html);
116 }));
117
109118 this.editor.addKeyHandler(keys.F12, true, true, lang.hitch(this, function(e){
110119 // Move the focus before switching
111120 // It'll focus back. Hiding a focused
151160 return cmd.toLowerCase() === "viewsource";
152161 };
153162 this.editor.onDisplayChanged();
154 html = ed.get("value");
155 html = this._filter(html);
156 ed.set("value", html);
157163 array.forEach(edPlugins, function(p){
158164 // Turn off any plugins not controlled by queryCommandenabled.
159165 if(p && !(p instanceof ViewSource) && p.isInstanceOf(_Plugin)){
169175 };
170176 }
171177
172 this.sourceArea.value = html;
178 this.sourceArea.value = ed.get("value");
173179
174180 // Since neither iframe nor textarea have margin, border, or padding,
175181 // just set sizes equal.
234240
235241 this._setListener = aspect.after(this.editor, "setValue", lang.hitch(this, function(htmlTxt){
236242 htmlTxt = htmlTxt || "";
237 htmlTxt = this._filter(htmlTxt);
243 // htmlTxt was filtered in setValue before aspect.
238244 this.sourceArea.value = htmlTxt;
239245 }), true);
240246 }else{
261267 ed.queryCommandEnabled = ed._sourceQueryCommandEnabled;
262268 if(!this._readOnly){
263269 html = this.sourceArea.value;
264 html = this._filter(html);
265270 ed.beginEditing();
271 // html will be filtered in setValue aspect.
266272 ed.set("value", html);
267273 ed.endEditing();
268274 }
522528 return html;
523529 },
524530
531 removeValueFilterHandles: function () {
532 if (this._setValueFilterHandle) {
533 this._setValueFilterHandle.remove();
534 delete this._setValueFilterHandle;
535 }
536 if (this._getValueFilterHandle) {
537 this._getValueFilterHandle.remove();
538 delete this._getValueFilterHandle;
539 }
540 },
541
525542 setSourceAreaCaret: function(){
526543 // summary:
527544 // Internal function to set the caret in the sourceArea
556573 this._setListener.remove();
557574 delete this._setListener;
558575 }
576 this.removeValueFilterHandles();
559577 this.inherited(arguments);
560578 }
561579 });
1414 "url": "https://github.com/dojo/dijit.git"
1515 },
1616 "dependencies": {
17 "dojo": "1.15.0"
17 "dojo": "1.15.2"
1818 },
1919 "devDependencies": {
2020 }
00 {
11 "name": "dijit",
2 "version": "1.15.0",
2 "version": "1.15.2",
33 "directories": {
44 "lib": "."
55 },
66 "main": "main",
77 "dependencies": {
8 "dojo": "1.15.0"
8 "dojo": "1.15.2"
99 },
1010 "description": "Dijit provides a complete collection of user interface controls based on Dojo, giving you the power to create web applications that are highly optimized for usability, performance, internationalization, accessibility, but above all deliver an incredible user experience.",
1111 "license" : "BSD-3-Clause OR AFL-2.1",
88 <script type="text/javascript">
99 require([
1010 "dojo/parser",
11 "dijit/registry",
1112 "dijit/Editor",
1213 "dijit/_editor/plugins/ViewSource",
1314 "dijit/_editor/plugins/FullScreen",
1415 "dojo/domReady!"
15 ], function(parser){
16 ], function(parser, registry){
1617 parser.parse();
18
19 var editor = registry.byId("editor7");
20 editor.set("value", "<h1>ViewSource Plugin with onmouseover in content set via setValue.</h1>" +
21 "<p onmouseover=\"alert('Mouse over foobar');\">foobar</p>" +
22 "<h2>Things to test:</h2>\n" +
23 "<ol>" +
24 "<li>Move mouse over \"foobar\" and make sure alert is not displayed.</li>" +
25 "</ol>");
1726 });
1827 </script>
1928 </head>
146155 </div>
147156 <br>
148157 <br>
158 <div>
159 <div id="editor6" data-dojo-type="dijit/Editor"
160 data-dojo-props='"aria-label":"editor3",extraPlugins:["fullScreen", "viewSource"],
161 style:"background-color: white; width: 800px;", height:"300px" '>
162 <h1>ViewSource Plugin with onmouseover in content.</h1>
163 <p onmouseover="alert('Mouse over foobar');">foobar</p>
164
165 <h2>Things to test:</h2>
166 <ol>
167 <li>Move mouse over "foobar" and make sure alert is not displayed.</li>
168 </ol>
169 </div>
170 </div>
171 <br>
172 <br>
173 <div>
174 <div id="editor7" data-dojo-type="dijit/Editor"
175 data-dojo-props='"aria-label":"editor3",extraPlugins:["fullScreen", "viewSource"],
176 style:"background-color: white; width: 800px;", height:"300px" '>
177 </div>
178 </div>
179 <br>
180 <br>
149181 <div>Content after the editors.</div>
150182 </body>
151183 </html>
00 {
11 "name": "dijit-themes",
2 "version": "1.15.0",
2 "version": "1.15.2",
33 "description": "Dojo 1.x modern themes",
44 "license" : "BSD-3-Clause OR AFL-2.1",
55 "bugs": "http://bugs.dojotoolkit.org/",
1111 },
1212 "dojoBuild": "themes.profile.js",
1313 "peerDependencies": {
14 "dojo": "1.15.0",
15 "dijit": "1.15.0"
14 "dojo": "1.15.2",
15 "dijit": "1.15.2"
1616 },
1717 "devDependencies": {
1818 "grunt": "^0.4",
7878 // define debug for console messages during dev instead of console.log
7979 // (node's heavy async makes console.log confusing sometimes)
8080 var util = require("util");
81 util.debug(util.inspect(item));
81 util.debuglog(util.inspect(item));
8282 },
8383
8484 eval: function(__text, __urlHint){
9191 // - flag: String: Descriptor flag. If total version is "1.2.0beta1", will be "beta1"
9292 // - revision: Number: The Git rev from which dojo was pulled
9393
94 major: 1, minor: 15, patch: 0, flag: "",
94 major: 1, minor: 15, patch: 2, flag: "",
9595 revision: rev ? rev[0] : NaN,
9696 toString: function(){
9797 var v = dojo.version;
410410 // returns: Object
411411
412412 doc = doc || win.doc;
413 var node = win.doc.parentWindow || win.doc.defaultView; // use UI window, not dojo.global window. TODO: use dojo/window::get() except for circular dependency problem
413 var node = doc.parentWindow || doc.defaultView; // use UI window, not dojo.global window. TODO: use dojo/window::get() except for circular dependency problem
414414 return "pageXOffset" in node ? {x: node.pageXOffset, y: node.pageYOffset } :
415415 (node = has("quirks") ? win.body(doc) : doc.documentElement) &&
416416 {x: geom.fixIeBiDiScrollLeft(node.scrollLeft || 0, doc), y: node.scrollTop || 0 };
00 {
11 "name": "dojo",
2 "version": "1.15.0",
2 "version": "1.15.2",
33 "directories": {
44 "lib": "."
55 },
1010 "jsgi-node": "0.3.1",
1111 "formidable": "1.0.17",
1212 "sinon": "1.12.2",
13 "dojo": "1.15.0"
13 "dojo": "1.15.2"
1414 },
1515 "main": "main",
1616 "scripts": {
1717 return has('native-blob') && value instanceof Blob
1818 }
1919
20 function isFormElement(value) {
21 if(typeof HTMLFormElement !== 'undefined') { //all other
22 return value instanceof HTMLFormElement;
23 } else { //IE<=7
24 value.tagName === "FORM"
25 }
20 function isElement(value) {
21 if(typeof Element !== 'undefined') { //all other
22 return value instanceof Element;
23 }
24
25 //IE<=7
26 return value.nodeType === 1;
2627 }
2728
2829 function isFormData(value) {
3334 return value &&
3435 typeof value === 'object' &&
3536 !isFormData(value) &&
36 !isFormElement(value) &&
37 !isElement(value) &&
3738 !isBlob(value) &&
3839 !isArrayBuffer(value)
3940 }
9797 } else {
9898 this.skip('Do not run test if Blob not available.');
9999 }
100 },
101
102 'deepCopy with Element, given Element is defined': function(){
103 if (typeof Element !== 'undefined') {
104 var element = document.createElement('span');
105 var object1 = {
106 apple: 0,
107 banana: {
108 weight: 52,
109 price: 100,
110 code: "B12345",
111 purchased: new Date(2016, 0, 1)
112 },
113 cherry: 97
114 };
115 var object2 = {
116 banana: {
117 price: 200,
118 code: "B98765",
119 purchased: new Date(2017, 0, 1)
120 },
121 element: element,
122 durian: 100
123 };
124 util.deepCopy(object1, object2);
125 assert.strictEqual(object1.banana.weight, 52);
126 assert.strictEqual(object1.banana.price, 200);
127 assert.strictEqual(object1.banana.code, "B98765");
128 assert.strictEqual(object1.element, element);
129 assert.equal(object1.banana.purchased.getTime(), new Date(2017, 0, 1).getTime());
130 } else {
131 this.skip('Do not run test if Element not available.');
132 }
133 },
134
135 'deepCopy with Element, given Element is not defined': function(){
136 if (typeof Element !== 'undefined') {
137 this.skip('Do not run test if Element is available.');
138 }
139
140 var element = {nodeType: 1, value: 'Orange'};
141 var object1 = {
142 apple: 0,
143 banana: {
144 weight: 52,
145 price: 100,
146 code: "B12345",
147 purchased: new Date(2016, 0, 1)
148 },
149 cherry: 97
150 };
151 var object2 = {
152 banana: {
153 price: 200,
154 code: "B98765",
155 purchased: new Date(2017, 0, 1)
156 },
157 element: element,
158 durian: 100
159 };
160 util.deepCopy(object1, object2);
161 assert.strictEqual(object1.banana.weight, 52);
162 assert.strictEqual(object1.banana.price, 200);
163 assert.strictEqual(object1.banana.code, "B98765");
164 assert.strictEqual(object1.element, element);
165 assert.equal(object1.banana.purchased.getTime(), new Date(2017, 0, 1).getTime());
100166 }
101167 });
102168 });
1414 "url": "https://github.com/dojo/dojox.git"
1515 },
1616 "dependencies": {
17 "dojo": "1.15.0",
18 "dijit": "1.15.0"
17 "dojo": "1.15.2",
18 "dijit": "1.15.2"
1919 },
2020 "devDependencies": {
2121 }
00 define(["../main", "dojo/_base/lang", "dojo/_base/array","dojo/_base/declare", "dojo/dom-style",
11 "dojo/dom", "dojo/dom-geometry", "dojo/dom-construct","dojo/_base/Color", "dojo/sniff",
2 "./Element", "./SimpleTheme", "./Series", "./axis2d/common", "dojox/gfx/shape",
2 "./Element", "./SimpleTheme", "./Series", "./axis2d/common", "./plot2d/common", "dojox/gfx/shape",
33 "dojox/gfx", "dojo/has!dojo-bidi?./bidi/Chart", "dojox/lang/functional", "dojox/lang/functional/fold", "dojox/lang/functional/reversed"],
44 function(dojox, lang, arr, declare, domStyle,
55 dom, domGeom, domConstruct, Color, has,
6 Element, SimpleTheme, Series, common, shape,
6 Element, SimpleTheme, Series, common, plot2dCommon, shape,
77 g, BidiChart, func){
88 /*=====
99 var __ChartCtorArgs = {
4343 =====*/
4444
4545 var dc = lang.getObject("charting", true, dojox),
46 clear = func.lambda("item.clear()"),
47 purge = func.lambda("item.purgeGroup()"),
48 destroy = func.lambda("item.destroy()"),
49 makeClean = func.lambda("item.dirty = false"),
50 makeDirty = func.lambda("item.dirty = true"),
51 getName = func.lambda("item.name"),
5246 defaultMargins = {l: 10, t: 10, r: 10, b: 10};
47
48 function clear (item) {
49 return item.clear();
50 }
51
52 function destroy (item) {
53 return item.destroy();
54 }
55
56 function makeClean (item) {
57 item.dirty = false;
58 return false;
59 }
60
61 function makeDirty (item) {
62 item.dirty = true;
63 return true;
64 }
65
66 function getName (item) {
67 return item.name;
68 }
5369
5470 var Chart = declare(has("dojo-bidi")? "dojox.charting.NonBidiChart" : "dojox.charting.Chart", null, {
5571 // summary:
123139 // | )
124140 // | .render();
125141 // | });
126
142
127143 // theme: dojox/charting/SimpleTheme?
128144 // An optional theme to use for styling the chart.
129145 // axes: dojox/charting/axis2d/Base{}?
170186 this.titlePos = kwArgs.titlePos;
171187 this.titleFont = kwArgs.titleFont;
172188 this.titleFontColor = kwArgs.titleFontColor;
173 this.titleAlign = kwArgs.titleAlign; // This can be middle, left, right, or edge
189 this.titleAlign = kwArgs.titleAlign; // This can be middle, left, right, or edge
174190 // edge is left or right aligned with chart plot edge depending on bidi.
175191 this.chartTitle = null;
176192 this.htmlLabels = true;
886902 clearTimeout(this._delayedRenderHandle);
887903 this._delayedRenderHandle = null;
888904 }
889
905
890906 if(this.theme){
891907 this.theme.clear();
892908 }
925941 //this.theme.defineColors({num: requiredColors, cache: false});
926942
927943 // clear old shapes
928 arr.forEach(this.series, purge);
929 func.forIn(this.axes, purge);
930 arr.forEach(this.stack, purge);
944 arr.forEach(this.series, plot2dCommon.purgeGroup);
945 func.forIn(this.axes, plot2dCommon.purgeGroup);
946 arr.forEach(this.stack, plot2dCommon.purgeGroup);
931947 var children = this.surface.children;
932948 // starting with 1.9 the registry is optional and thus dispose is
933949 if(shape.dispose){
981997 labelType = forceHtmlLabels || !has("ie") && !has("opera") && this.htmlLabels ? "html" : "gfx",
982998 tsize = g.normalizedLength(g.splitFontString(this.titleFont).size),
983999 tBox = g._base._getTextBox(this.title,{ font: this.titleFont });
984
1000
9851001 var titleAlign = this.titleAlign;
9861002 var isRtl = has("dojo-bidi") && this.isRightToLeft();
9871003 var posX = dim.width/2; // Default is middle.
11991215 }
12001216 },
12011217 setDir : function(dir){
1202 return this;
1218 return this;
12031219 },
12041220 _resetLeftBottom: function(axis){
12051221 },
1206 formatTruncatedLabel: function(element, label, labelType){
1222 formatTruncatedLabel: function(element, label, labelType){
12071223 }
12081224 });
12091225
12551271 plot.initializeScalers(plotArea, stats);
12561272 });
12571273 }
1258
1274
12591275 return has("dojo-bidi")? declare("dojox.charting.Chart", [Chart, BidiChart]) : Chart;
12601276 });
00 define(["dojo/_base/lang", "dojo/_base/array", "dojo/_base/declare", "dojo/has", "./CartesianBase", "./_PlotEvents", "./common",
1 "dojox/gfx/fx", "dojox/lang/utils", "dojox/lang/functional", "dojox/lang/functional/reversed"],
2 function(lang, arr, declare, has, CartesianBase, _PlotEvents, dc, fx, du, df, dfr){
3
1 "dojox/gfx/fx", "dojox/lang/utils", "dojox/lang/functional"],
2 function(lang, arr, declare, has, CartesianBase, _PlotEvents, dc, fx, du, df){
3
44 /*=====
55 declare("dojox.charting.plot2d.__BarCtorArgs", dojox.charting.plot2d.__DefaultCtorArgs, {
66 // summary:
77 // Additional keyword arguments for bar charts.
8
8
99 // minBarSize: Number?
1010 // The minimum size for a bar in pixels. Default is 1.
1111 minBarSize: 1,
12
12
1313 // maxBarSize: Number?
1414 // The maximum size for a bar in pixels. Default is 1.
1515 maxBarSize: 1,
4646 // fontColor: String|dojo.Color?
4747 // The color to be used for any text-based elements on the plot.
4848 fontColor: "",
49
49
5050 // enableCache: Boolean?
5151 // Whether the bars rect are cached from one rendering to another. This improves the rendering performance of
5252 // successive rendering but penalize the first rendering. Default false.
5353 enableCache: false
5454 });
5555 =====*/
56 var purgeGroup = dfr.lambda("item.purgeGroup()");
57
56
5857 var alwaysFalse = function(){ return false; }
5958
6059 return declare("dojox.charting.plot2d.Bars", [CartesianBase, _PlotEvents], {
105104 t = stats.hmax, stats.hmax = stats.vmax, stats.vmax = t;
106105 return stats; // Object
107106 },
108
107
109108 createRect: function(run, creator, params){
110109 var rect;
111110 if(this.opt.enableCache && run._rectFreePool.length > 0){
148147 this.resetEvents();
149148 var s;
150149 if(this.dirty){
151 arr.forEach(this.series, purgeGroup);
150 arr.forEach(this.series, dc.purgeGroup);
152151 this._eventSeries = {};
153152 this.cleanGroup();
154153 s = this.getGroup();
158157 ht = this._hScaler.scaler.getTransformerFromModel(this._hScaler),
159158 vt = this._vScaler.scaler.getTransformerFromModel(this._vScaler),
160159 baseline = Math.max(this._hScaler.bounds.lower,
161 this._hAxis ? this._hAxis.naturalBaseline : 0),
160 this._hAxis ? this._hAxis.naturalBaseline : 0),
162161 baselineWidth = ht(baseline),
163162 events = this.events();
164163 var bar = this.getBarProperties();
166165 var actualLength = this.series.length;
167166 arr.forEach(this.series, function(serie){if(serie.hidden){actualLength--;}});
168167 var z = actualLength;
169
168
170169 // Collect and calculate all values
171170 var extractedValues = this.extractValues(this._vScaler);
172171 extractedValues = this.rearrangeValues(extractedValues, ht, baselineWidth);
173
172
174173 for(var i = 0; i < this.series.length; i++){
175174 var run = this.series[i];
176175 if(!this.dirty && !run.dirty){
192191 z--;
193192
194193 var eventSeries = new Array(run.data.length);
195 s = run.group;
194 s = run.group;
196195 var indexed = arr.some(run.data, function(item){
197196 return typeof item == "number" || (item && !item.hasOwnProperty("x"));
198197 });
230229 this._animateBar(sshape, offsets.l + baselineWidth, -w);
231230 }
232231 }
233
232
234233 var specialFill = this._plotFill(finalTheme.series.fill, dim, offsets);
235234 specialFill = this._shapeFill(specialFill, rect);
236235 var shape = this.createRect(run, s, rect).setFill(specialFill).setStroke(finalTheme.series.stroke);
237236 if(shape.setFilter && finalTheme.series.filter){
238237 shape.setFilter(finalTheme.series.filter);
239 }
238 }
240239 run.dyn.fill = shape.getFill();
241240 run.dyn.stroke = shape.getStroke();
242241 if(events){
339338 return v(0.5) || h(value);
340339 }
341340 return v(isNaN(value.x) ? 0.5 : value.x + 0.5) || value.y === null || h(value.y);
342 },
341 },
343342 getBarProperties: function(){
344343 var f = dc.calculateBarSize(this._vScaler.bounds.scale, this.opt);
345344 return {gap: f.gap, height: f.size, thickness: 0};
0 define(["dojo/_base/lang", "dojo/_base/declare", "dojo/_base/array", "dojo/has",
1 "./CartesianBase", "./_PlotEvents", "./common", "dojox/lang/functional", "dojox/lang/functional/reversed",
2 "dojox/lang/utils", "dojox/gfx/fx"],
3 function(lang, declare, arr, has, CartesianBase, _PlotEvents, dc, df, dfr, du, fx){
4
5 var purgeGroup = dfr.lambda("item.purgeGroup()");
0 define(["dojo/_base/lang", "dojo/_base/declare", "dojo/_base/array", "dojo/has",
1 "./CartesianBase", "./_PlotEvents", "./common", "dojox/lang/functional",
2 "dojox/lang/utils", "dojox/gfx/fx"],
3 function(lang, declare, arr, has, CartesianBase, _PlotEvents, dc, df, du, fx){
64
75 return declare("dojox.charting.plot2d.Bubble", [CartesianBase, _PlotEvents], {
86 // summary:
5957 this.resetEvents();
6058 this.dirty = this.isDirty();
6159 if(this.dirty){
62 arr.forEach(this.series, purgeGroup);
60 arr.forEach(this.series, dc.purgeGroup);
6361 this._eventSeries = {};
6462 this.cleanGroup();
6563 s = this.getGroup();
105103 continue;
106104 }
107105 s = run.group;
108
106
109107 var frontCircles = null, outlineCircles = null, shadowCircles = null, styleFunc = this.opt.styleFunc;
110108
111109 var getFinalTheme = function(item){
00 define(["dojo/_base/lang", "dojo/_base/declare", "dojo/_base/array", "dojo/has", "./CartesianBase", "./_PlotEvents", "./common",
1 "dojox/lang/functional", "dojox/lang/functional/reversed", "dojox/lang/utils", "dojox/gfx/fx"],
2 function(lang, declare, arr, has, CartesianBase, _PlotEvents, dc, df, dfr, du, fx){
3
4 var purgeGroup = dfr.lambda("item.purgeGroup()");
1 "dojox/lang/functional", "dojox/lang/utils", "dojox/gfx/fx"],
2 function(lang, declare, arr, has, CartesianBase, _PlotEvents, dc, df, du, fx){
53
64 // Candlesticks are based on the Bars plot type; we expect the following passed
75 // as values in a series:
105103 this.dirty = this.isDirty();
106104 var s;
107105 if(this.dirty){
108 arr.forEach(this.series, purgeGroup);
106 arr.forEach(this.series, dc.purgeGroup);
109107 this._eventSeries = {};
110108 this.cleanGroup();
111109 s = this.getGroup();
135133 continue;
136134 }
137135 s = run.group;
138
136
139137 for(var j = 0; j < run.data.length; ++j){
140138 var v = run.data[j];
141139 if(!this.isNullValue(v)){
00 define(["dojo/_base/lang", "dojo/_base/array", "dojo/_base/declare", "dojo/has", "./CartesianBase", "./_PlotEvents", "./common",
1 "dojox/lang/functional", "dojox/lang/functional/reversed", "dojox/lang/utils", "dojox/gfx/fx"],
2 function(lang, arr, declare, has, CartesianBase, _PlotEvents, dc, df, dfr, du, fx){
3
4 var purgeGroup = dfr.lambda("item.purgeGroup()");
1 "dojox/lang/functional", "dojox/lang/utils", "dojox/gfx/fx"],
2 function(lang, arr, declare, has, CartesianBase, _PlotEvents, dc, df, du, fx){
53
64 var alwaysFalse = function(){ return false; };
75
8482 this.dirty = this.isDirty();
8583 var s;
8684 if(this.dirty){
87 arr.forEach(this.series, purgeGroup);
85 arr.forEach(this.series, dc.purgeGroup);
8886 this._eventSeries = {};
8987 this.cleanGroup();
9088 s = this.getGroup();
00 define(["dojo/_base/lang", "dojo/_base/declare", "dojo/_base/array", "dojo/has",
1 "./CartesianBase", "./_PlotEvents", "./common", "dojox/lang/functional", "dojox/lang/functional/reversed", "dojox/lang/utils", "dojox/gfx/fx"],
2 function(lang, declare, arr, has, CartesianBase, _PlotEvents, dc, df, dfr, du, fx){
1 "./CartesianBase", "./_PlotEvents", "./common", "dojox/lang/functional", "dojox/lang/utils", "dojox/gfx/fx"],
2 function(lang, declare, arr, has, CartesianBase, _PlotEvents, dc, df, du, fx){
33
44 /*=====
55 declare("dojox.charting.plot2d.__DefaultCtorArgs", dojox.charting.plot2d.__CartesianCtorArgs, {
103103 zeroLine: 0
104104 });
105105 =====*/
106
107 var purgeGroup = dfr.lambda("item.purgeGroup()");
108106
109107 var DEFAULT_ANIMATION_LENGTH = 1200; // in ms
110108
218216 this.dirty = this.isDirty();
219217 var s;
220218 if(this.dirty){
221 arr.forEach(this.series, purgeGroup);
219 arr.forEach(this.series, dc.purgeGroup);
222220 this._eventSeries = {};
223221 this.cleanGroup();
224222 this.getGroup().setTransform(null);
00 define(["dojo/_base/lang", "dojo/_base/array", "dojo/_base/declare", "dojo/has", "./CartesianBase", "./_PlotEvents", "./common",
1 "dojox/lang/functional", "dojox/lang/functional/reversed", "dojox/lang/utils", "dojox/gfx/fx"],
2 function(lang, arr, declare, has, CartesianBase, _PlotEvents, dc, df, dfr, du, fx){
3
4 var purgeGroup = dfr.lambda("item.purgeGroup()");
1 "dojox/lang/functional", "dojox/lang/utils", "dojox/gfx/fx"],
2 function(lang, arr, declare, has, CartesianBase, _PlotEvents, dc, df, du, fx){
53
64 // Candlesticks are based on the Bars plot type; we expect the following passed
75 // as values in a series:
104102 this.resetEvents();
105103 this.dirty = this.isDirty();
106104 if(this.dirty){
107 arr.forEach(this.series, purgeGroup);
105 arr.forEach(this.series, dc.purgeGroup);
108106 this._eventSeries = {};
109107 this.cleanGroup();
110108 var s = this.getGroup();
00 define(["dojo/_base/lang", "dojo/_base/array", "dojo/_base/declare", "dojo/has", "./CartesianBase", "./_PlotEvents", "./common",
1 "dojox/lang/functional", "dojox/lang/functional/reversed", "dojox/lang/utils", "dojox/gfx/fx", "dojox/gfx/gradutils"],
2 function(lang, arr, declare, has, CartesianBase, _PlotEvents, dc, df, dfr, du, fx, gradutils){
3
4 var purgeGroup = dfr.lambda("item.purgeGroup()");
1 "dojox/lang/functional", "dojox/lang/utils", "dojox/gfx/fx", "dojox/gfx/gradutils"],
2 function(lang, arr, declare, has, CartesianBase, _PlotEvents, dc, df, du, fx, gradutils){
53
64 return declare("dojox.charting.plot2d.Scatter", [CartesianBase, _PlotEvents], {
75 // summary:
5048 this.dirty = this.isDirty();
5149 var s;
5250 if(this.dirty){
53 arr.forEach(this.series, purgeGroup);
51 arr.forEach(this.series, dc.purgeGroup);
5452 this._eventSeries = {};
5553 this.cleanGroup();
5654 s = this.getGroup();
0 define(["dojo/_base/lang", "dojo/_base/array", "dojo/_base/Color",
1 "dojox/gfx", "dojox/lang/functional", "../scaler/common"],
0 define(["dojo/_base/lang", "dojo/_base/array", "dojo/_base/Color",
1 "dojox/gfx", "dojox/lang/functional", "../scaler/common"],
22 function(lang, arr, Color, g, df, sc){
3
3
44 var common = lang.getObject("dojox.charting.plot2d.common", true);
5
6 return lang.mixin(common, {
5
6 return lang.mixin(common, {
77 doIfLoaded: sc.doIfLoaded,
88 makeStroke: function(stroke){
99 if(!stroke){ return stroke; }
200200 });
201201 return p.join(" ");
202202 },
203
203
204204 getLabel: function(/*Number*/number, /*Boolean*/fixed, /*Number*/precision){
205205 return sc.doIfLoaded("dojo/number", function(numberLib){
206206 return (fixed ? numberLib.format(number, {places : precision}) :
208208 }, function(){
209209 return fixed ? number.toFixed(precision) : number.toString();
210210 });
211 },
212
213 purgeGroup: function (item) {
214 return item.purgeGroup();
211215 }
212216 });
213217 });
9393 var replacement = "";
9494 for(var p = 2, pl = pair.length; p < pl; p++){
9595 if(p == 2){
96 replacement += "<" + tag + ' dtlinstruction="{% ' + token[k].replace('"', '\\"') + ' %}">';
96 replacement += "<" + tag + ' dtlinstruction="{% ' + token[k].replace(/"/g, '\\"') + ' %}">';
9797 }else if(tag == pair[p]) {
9898 continue;
9999 }else{
77
88 var g = lang.getObject("dojox.gfx", true),
99 b = g._base = {};
10
10
1111 // candidates for dojox.style (work on VML and SVG nodes)
1212 g._hasClass = function(/*DomNode*/node, /*String*/classStr){
1313 // summary:
1414 // Returns whether or not the specified classes are a portion of the
1515 // class list currently applied to the node.
16
16
1717 // return (new RegExp('(^|\\s+)'+classStr+'(\\s+|$)')).test(node.className) // Boolean
1818 var cls = node.getAttribute("className");
1919 return cls && (" " + cls + " ").indexOf(" " + classStr + " ") >= 0; // Boolean
5151 'x-small': 0, 'small': 0, 'medium': 0, 'large': 0, 'x-large': 0,
5252 'xx-large': 0
5353 };
54 var p, oldStyle;
54 var p, oldStyle;
5555 if(has("ie")){
5656 // We do a font-size fix if and only if one isn't applied already.
5757 // NOTE: If someone set the fontSize on the HTML Element, this will kill it.
236236 // The join style to use when combining path segments. Default value 4.
237237 join: 4
238238 };
239
239
240240 g.Fill = {
241241 // summary:
242242 // Defines how to fill a shape. Four types of fills can be used: solid, linear gradient, radial gradient and pattern.
243243 // See dojox/gfx.LinearGradient, dojox/gfx.RadialGradient and dojox/gfx.Pattern respectively for more information about the properties supported by each type.
244
244
245245 // type: String?
246246 // The type of fill. One of 'linear', 'radial', 'pattern' or undefined. If not specified, a solid fill is assumed.
247247 type:"",
248
248
249249 // color: String|dojo/Color?
250250 // The color of a solid fill type.
251251 color:null,
252
253 };
254
252
253 };
254
255255 g.LinearGradient = {
256256 // summary:
257257 // An object defining the default stylistic properties used for Linear Gradient fills.
283283 // Default value, [{ offset: 0, color: 'black'},{offset: 1, color: 'white'}], is a gradient from black to white.
284284 colors: []
285285 };
286
286
287287 g.RadialGradient = {
288288 // summary:
289289 // Specifies the properties for RadialGradients using in fills patterns.
310310 // Default value, [{ offset: 0, color: 'black'},{offset: 1, color: 'white'}], is a gradient from black to white.
311311 colors: []
312312 };
313
313
314314 g.Pattern = {
315315 // summary:
316316 // An object specifying the default properties for a Pattern using in fill operations.
369369 g.Font = {
370370 // summary:
371371 // An object specifying the properties for a Font used in text operations.
372
372
373373 // type: String
374374 // Specifies this object is a Font, value 'font'.
375375 type: "font",
376
376
377377 // style: String
378378 // The font style, one of 'normal', 'bold', default value 'normal'.
379379 style: "normal",
380
380
381381 // variant: String
382382 // The font variant, one of 'normal', ... , default value 'normal'.
383383 variant: "normal",
384
384
385385 // weight: String
386386 // The font weight, one of 'normal', ..., default value 'normal'.
387387 weight: "normal",
388
388
389389 // size: String
390390 // The font size (including units), default value '10pt'.
391391 size: "10pt",
392
392
393393 // family: String
394394 // The font family, one of 'serif', 'sanserif', ..., default value 'serif'.
395395 family: "serif"
408408
409409 // type: String
410410 // Specifies this object is a Path, default value 'path'.
411 type: "path",
411 type: "path",
412412
413413 // path: String
414414 // The path commands. See W32C SVG 1.0 specification.
772772 if(t){
773773 return new t();
774774 }
775 t = typeCtorCache[type] = new Function();
775 t = typeCtorCache[type] = function () {};
776776 t.prototype = g[ "default" + type ];
777777 return new t();
778778 }
999999 }
10001000 }
10011001 });
1002
1002
10031003 /*=====
10041004 g.createSurface = function(parentNode, width, height){
10051005 // summary:
10181018 // private
10191019 };
10201020 =====*/
1021
1021
10221022 return g; // defaults object api
10231023 });
0 define(["dojo/_base/kernel", "dojo/_base/lang", "dojo/_base/declare", "dojo/_base/Color",
0 define(["dojo/_base/kernel", "dojo/_base/lang", "dojo/_base/declare", "dojo/_base/Color",
11 "dojo/on", "dojo/_base/array", "dojo/dom-geometry", "dojo/dom", "dojo/_base/sniff",
22 "./_base", "./shape", "./path", "./registry"],
33 function(kernel,lang,declare,color,on,arr,domGeom,dom,has,g,gs,pathLib){
255255 // returns the adjusted ("real") transformation matrix
256256 return this.matrix; // dojox/gfx/matrix.Matrix2D
257257 },
258
258
259259 setClip: function(clip){
260260 // summary:
261261 // sets the clipping area of this shape.
266266 this.inherited(arguments);
267267 var r = this.rawNode;
268268 if(clip){
269 var clipType = clip ? "width" in clip ? "rect" :
270 "cx" in clip ? "ellipse" :
269 var clipType = clip ? "width" in clip ? "rect" :
270 "cx" in clip ? "ellipse" :
271271 "points" in clip ? "polyline" : "d" in clip ? "path" : null : null;
272272 if(clip && !clipType){
273273 return this;
327327 // a Sliverlight node
328328 this.rawNode = rawNode;
329329 this.rawNode.tag = this.getUID();
330
330
331331 },
332332 destroy: function(){
333333 // summary:
640640 });
641641 sl.TextPath.nodeType = "text";
642642
643 var surfaces = {}, nullFunc = new Function;
643 var surfaces = {}, nullFunc = function () {};
644644
645645 sl.Surface = declare("dojox.gfx.silverlight.Surface", gs.Surface, {
646646 // summary:
888888 if(a.source){
889889 // support silverlight 2.0
890890 ev.target = a.source;
891 var gfxId = ev.target.tag;
891 var gfxId = ev.target.tag;
892892 ev.gfxTarget = gs.byId(gfxId);
893893 }
894894 }catch(e){
895895 // a.source does not exist in 1.0
896896 }
897
897
898898 if(a){
899899 try{
900900 ev.ctrlKey = a.ctrl;
913913 }
914914 return ev;
915915 }
916
916
917917 function keyFix(s, a){
918918 var ev = {
919919 keyCode: a.platformKeyCode,
931931 }
932932 return ev;
933933 }
934
934
935935 var eventNames = {
936936 onclick: {name: "MouseLeftButtonUp", fix: mouseFix},
937937 onmouseenter: {name: "MouseEnter", fix: mouseFix},
944944 onkeydown: {name: "KeyDown", fix: keyFix},
945945 onkeyup: {name: "KeyUp", fix: keyFix}
946946 };
947
947
948948 var eventsProcessing = {
949949 connect: function(name, object, method){
950950 return this.on(name, method ? lang.hitch(object, method) : object);
975975 return token.remove();
976976 }
977977 };
978
978
979979 lang.extend(sl.Shape, eventsProcessing);
980980 lang.extend(sl.Surface, eventsProcessing);
981
981
982982 // patch dojox/gfx
983983 g.equalSources = function(a, b){
984984 // summary:
985985 // compares event sources, returns true if they are equal
986986 return a && b && a.equals(b);
987987 };
988
988
989989 return sl;
990990 });
991
00 {
11 "name": "dojox",
2 "version": "1.15.0",
2 "version": "1.15.2",
33 "directories": {
44 "lib": "."
55 },
66 "main": "main",
77 "dependencies": {
8 "dojo": "1.15.0",
9 "dijit": "1.15.0"
8 "dojo": "1.15.2",
9 "dijit": "1.15.2"
1010 },
1111 "description": "Dojo eXtensions, a rollup of many useful sub-projects and varying states of maturity – from very stable and robust, to alpha and experimental. See individual projects contain README files for details.",
1212 "license" : "BSD-3-Clause OR AFL-2.1",
2929 // parentWidget: dojox.widget.RollingList
3030 // Our rolling list widget
3131 parentWidget: null,
32
32
3333 // parentPane: dojox.widget._RollingListPane
3434 // The pane that immediately precedes ours
3535 parentPane: null,
36
36
3737 // store: store
3838 // the store we must use
3939 store: null,
4545 // see if the pane needs to be reloaded (store notifications are handled)
4646 // by the pane
4747 items: null,
48
48
4949 // query: object
5050 // a query to pass to the datastore. This is only used if items are null
5151 query: null,
52
52
5353 // queryOptions: object
5454 // query options to be passed to the datastore
5555 queryOptions: null,
56
56
5757 // focusByNode: boolean
5858 // set to false if the subclass will handle its own node focusing
5959 _focusByNode: true,
60
60
6161 // minWidth: integer
6262 // the width (in px) for this pane
6363 minWidth: 0,
64
64
6565 _setContentAndScroll: function(/*String|DomNode|Nodelist*/cont, /*Boolean?*/isFakeContent){
6666 // summary:
6767 // sets the value of the content and scrolls it into view
7878 dojo.marginBox(n, {w: min});
7979 }
8080 },
81
81
8282 _onMinWidthChange: function(v){
8383 // Called when the min width of a pane has changed
8484 this._updateNodeWidth(this.domNode, v);
8585 },
86
86
8787 _setMinWidthAttr: function(v){
8888 if(v !== this.minWidth){
8989 this.minWidth = v;
9090 this._onMinWidthChange(v);
9191 }
9292 },
93
93
9494 startup: function(){
9595 if(this._started){ return; }
9696 if(this.store && this.store.getFeatures()["dojo.data.api.Notification"]){
122122 this.parentWidget._onExecute();
123123 }
124124 },
125
125
126126 focus: function(/*boolean*/force){
127127 // summary:
128128 // sets the focus to this current widget
155155 this._doQuery();
156156 }
157157 },
158
158
159159 _doLoadItems: function(/*item[]*/items, /*function*/callback){
160160 // summary:
161161 // loads the given items, and then calls the callback when they
180180 });
181181 }
182182 },
183
183
184184 _doQuery: function(){
185185 // summary:
186186 // either runs the query or loads potentially not-yet-loaded items.
217217 }
218218 return false;
219219 },
220
220
221221 _onSetItem: function(/* item */ item,
222222 /* attribute-name-string */ attribute,
223223 /* Object|Array */ oldValue,
228228 this.refresh();
229229 }
230230 },
231
231
232232 _onNewItem: function(/* item */ newItem, /*object?*/ parentInfo){
233233 // summary:
234234 // called when an item is added to the store
242242 this.refresh();
243243 }
244244 },
245
245
246246 _onDeleteItem: function(/* item */ deletedItem){
247247 // summary:
248248 // called when an item is removed from the store
253253 this.refresh();
254254 }
255255 },
256
256
257257 onFetchStart: function(){
258258 // summary:
259259 // called before a fetch starts
260260 return this.loadingMessage;
261261 },
262
262
263263 onFetchError: function(/*Error*/ error){
264264 // summary:
265265 // called when a fetch error occurs.
271271 // called before a load starts
272272 return this.loadingMessage;
273273 },
274
274
275275 onLoadError: function(/*Error*/ error){
276276 // summary:
277277 // called when a load error occurs.
278278 return this.errorMessage;
279279 },
280
280
281281 onItems: function(){
282282 // summary:
283283 // called after a fetch or load - at this point, this.items should be
288288 }
289289 this._onLoadHandler();
290290 }
291
291
292292 });
293293
294294 dojo.declare("dojox.widget._RollingListGroupPane",
295295 [dojox.widget._RollingListPane], {
296296 // summary:
297297 // a pane that will handle groups (treats them as menu items)
298
298
299299 // templateString: string
300300 // our template
301301 templateString: '<div><div dojoAttachPoint="containerNode"></div>' +
306306 // _menu: dijit.Menu
307307 // The menu that we will call addChild() on for adding items
308308 _menu: null,
309
309
310310 _setContent: function(/*String|DomNode|Nodelist*/cont){
311311 if(!this._menu){
312312 // Only set the content if we don't already have a menu
370370 this.inherited(arguments);
371371 this._onMinWidthChange(this.minWidth);
372372 },
373
373
374374 _checkScrollConnection: function(doLoad){
375375 // summary:
376376 // checks whether or not we need to connect to our onscroll
387387 this._scrollConn = this.connect(this.domNode, "onscroll", "_onScrollPane");
388388 }
389389 },
390
390
391391 startup: function(){
392392 this.inherited(arguments);
393393 this.parentWidget._updateClass(this.domNode, "GroupPane");
394394 },
395
395
396396 focus: function(/*boolean*/force){
397397 // summary:
398398 // sets the focus to this current widget
401401 this.disconnect(this._pendingFocus);
402402 }
403403 delete this._pendingFocus;
404
404
405405 // We focus the right widget - either the focusedChild, the
406406 // selected node, the first menu item, or the menu itself
407407 var focusWidget = this._menu.focusedChild;
436436 this._pendingFocus = this.connect(this, "onItems", "focus");
437437 }
438438 },
439
439
440440 _getMenu: function(){
441441 // summary:
442442 // returns a widget to be used for the container widget.
478478 }
479479 return menu;
480480 },
481
481
482482 _onScrollPane: function(){
483483 // summary:
484484 // called when the pane has been scrolled - it sets a timeout
489489 }
490490 this._visibleLoadPending = window.setTimeout(dojo.hitch(this, "_loadVisibleItems"), 500);
491491 },
492
492
493493 _loadVisibleItems: function(){
494494 // summary:
495495 // loads the items that are currently visible in the pane
544544 });
545545 this._doLoadItems(itemsToLoad, onItems);
546546 },
547
547
548548 _getSelected: function(/*dijit.Menu?*/ menu){
549549 // summary:
550550 // returns the selected menu item - or null if none are selected
559559 }
560560 return null;
561561 },
562
562
563563 _setSelected: function(/*dijit.MenuItem?*/ item, /*dijit.Menu?*/ menu){
564564 // summary:
565565 // selects the given item in the given menu (defaults to pane's menu)
576576 [dijit._Widget, dijit._Templated, dijit._Container], {
577577 // summary:
578578 // a rolling list that can be tied to a data store with children
579
579
580580 // templateString: String
581581 // The template to be used to construct the widget.
582582 templateString: dojo.cache("dojox.widget", "RollingList/RollingList.html"),
583583 widgetsInTemplate: true,
584
584
585585 // className: string
586586 // an additional class (or space-separated classes) to add for our widget
587587 className: "",
588
588
589589 // store: store
590590 // the store we must use
591591 store: null,
592
592
593593 // query: object
594594 // a query to pass to the datastore. This is only used if items are null
595595 query: null,
596
596
597597 // queryOptions: object
598598 // query options to be passed to the datastore
599599 queryOptions: null,
600
600
601601 // childrenAttrs: String[]
602602 // one ore more attributes that holds children of a node
603603 childrenAttrs: ["children"],
605605 // parentAttr: string
606606 // the attribute to read for finding our parent item (if any)
607607 parentAttr: "",
608
608
609609 // value: item
610610 // The value that has been selected
611611 value: null,
612
612
613613 // executeOnDblClick: boolean
614614 // Set to true if you want to call onExecute when an item is
615615 // double-clicked, false if you want to call onExecute yourself. (mainly
616616 // used for popups to control how they want to be handled)
617617 executeOnDblClick: true,
618
618
619619 // preloadItems: boolean or int
620620 // if set to true, then onItems will be called only *after* all items have
621621 // been loaded (ie store.isLoaded will return true for all of them). If
624624 // of the integer. The onItems function will need to be aware of handling
625625 // items that may not be loaded
626626 preloadItems: false,
627
627
628628 // showButtons: boolean
629629 // if set to true, then buttons for "OK" and "Cancel" will be provided
630630 showButtons: false,
631
631
632632 // okButtonLabel: string
633633 // The string to use for the OK button - will use dijit's common "OK" string
634634 // if not set
635635 okButtonLabel: "",
636
636
637637 // cancelButtonLabel: string
638638 // The string to use for the Cancel button - will use dijit's common
639639 // "Cancel" string if not set
643643 // the minimum pane width (in px) for all child panes. If they are narrower,
644644 // the width will be increased to this value.
645645 minPaneWidth: 0,
646
646
647647 postMixInProperties: function(){
648648 // summary:
649649 // Mix in our labels, if they are not set
652652 this.okButtonLabel = this.okButtonLabel || loc.buttonOk;
653653 this.cancelButtonLabel = this.cancelButtonLabel || loc.buttonCancel;
654654 },
655
655
656656 _setShowButtonsAttr: function(doShow){
657657 // summary:
658658 // Sets the visibility of the buttons for the widget
671671 }
672672 }
673673 },
674
674
675675 _itemsMatch: function(/*item*/ item1, /*item*/ item2){
676676 // summary:
677677 // returns whether or not the two items match - checks ID if
684684 return (item1 == item2 ||
685685 (this._isIdentity && this.store.getIdentity(item1) == this.store.getIdentity(item2)));
686686 },
687
687
688688 _removeAfter: function(/*Widget or int*/ idx){
689689 // summary:
690690 // removes all widgets after the given widget (or index)
712712 this._setValue(selItem);
713713 }
714714 },
715
715
716716 addChild: function(/*dijit._Widget*/ widget, /*int?*/ insertIndex){
717717 // summary:
718718 // adds a child to this rolling list - if passed an insertIndex,
731731 widget.focus();
732732 }
733733 },
734
734
735735 _setMinPaneWidthAttr: function(value){
736736 // summary:
737737 // Sets the min pane width of all children
742742 });
743743 }
744744 },
745
745
746746 _updateClass: function(/* Node */ node, /* String */ type, /* Object? */ options){
747747 // summary:
748748 // sets the state of the given node with the given type and options
765765 }
766766 });
767767 },
768
768
769769 scrollIntoView: function(/*dijit._Widget*/ childWidget){
770770 // summary:
771771 // scrolls the given widget into view
781781 return;
782782 }), 1);
783783 },
784
784
785785 resize: function(args){
786786 dijit.layout._LayoutWidget.prototype.resize.call(this, args);
787787 },
788
788
789789 layout: function(){
790790 var children = this.getChildren();
791791 if(this._contentBox){
808808 }
809809 }
810810 },
811
811
812812 _onChange: function(/*item*/ value){
813813 this.onChange(value);
814814 },
822822 this._onChange(value);
823823 }
824824 },
825
825
826826 _setValueAttr: function(/* item */ value){
827827 // summary:
828828 // sets the value of this widget to the given store item
835835 this._onItemClick(null, pane, null, null);
836836 return;
837837 }
838
838
839839 var fetchParentItems = dojo.hitch(this, function(/*item*/ item, /*function*/callback){
840840 // summary:
841841 // Fetches the parent items for the given item
879879 }, this);
880880 }
881881 });
882
882
883883 var setFromChain = dojo.hitch(this, function(/*item[]*/itemChain, /*integer*/idx){
884884 // summary:
885885 // Sets the value of the widget at the given index in the chain - onchanges are not
921921 this.set("value", null);
922922 }
923923 });
924
924
925925 var parentChain = [];
926926 var onParents = dojo.hitch(this, function(/*item[]*/ parents){
927927 // summary:
937937 setFromChain(parentChain, 0);
938938 }
939939 });
940
940
941941 // Only set the value in display if we are shown - if we are in a dropdown,
942942 // and are hidden, don't actually do the scrolling in the display (it can
943943 // mess up layouts)
948948 onParents([value]);
949949 }
950950 },
951
951
952952 _onItemClick: function(/* Event */ evt, /* dijit._Contained */ pane, /* item */ item, /* item[]? */ children){
953953 // summary:
954954 // internally called when a widget should pop up its child
955
955
956956 if(evt){
957957 var itemPane = this._getPaneForItem(item, pane, children);
958958 var alreadySelected = (evt.type == "click" && evt.alreadySelected);
983983 }
984984 this._visibleItem = item;
985985 },
986
986
987987 _getPaneForItem: function(/* item? */ item, /* dijit._Contained? */ parentPane, /* item[]? */ children){
988988 // summary:
989989 // gets the pane for the given item, and mixes in our needed parts
10031003 }
10041004 return ret;
10051005 },
1006
1006
10071007 _getMenuItemForItem: function(/*item*/ item, /* dijit._Contained */ parentPane){
10081008 // summary:
10091009 // returns a widget for the given store item. The returned
10491049 widgetItem.store = this.store;
10501050 widgetItem.item = item;
10511051 if(!widgetItem.label){
1052 widgetItem.attr("label", this.store.getLabel(item).replace(/</,"&lt;"));
1052 widgetItem.attr("label", this.store.getLabel(item).replace(/</g,"&lt;"));
10531053 }
10541054 if(widgetItem.focusNode){
10551055 var self = this;
10831083 return widgetItem;
10841084 }
10851085 },
1086
1086
10871087 _setStore: function(/* dojo/data/api/Read */ store){
10881088 // summary:
10891089 // sets the store for this widget */
10931093 var rootPane = this._getPaneForItem();
10941094 this.addChild(rootPane, 0);
10951095 },
1096
1096
10971097 _onKey: function(/*Event*/ e){
10981098 // summary:
10991099 // called when a keypress event happens on this widget
11101110 return;
11111111 }
11121112 },
1113
1113
11141114 _resetValue: function(){
11151115 // summary:
11161116 // function called when the value is reset.
11171117 this.set("value", this._lastExecutedValue);
11181118 },
1119
1119
11201120 _onCancel: function(){
11211121 // summary:
11221122 // function called when the cancel button is clicked. It
11241124 this._resetValue();
11251125 this.onCancel();
11261126 },
1127
1127
11281128 _onExecute: function(){
11291129 // summary:
11301130 // function called when the OK button is clicked or when an
11321132 this._lastExecutedValue = this.get("value");
11331133 this.onExecute();
11341134 },
1135
1135
11361136 focus: function(){
11371137 // summary:
11381138 // sets the focus state of this widget
11551155 }
11561156 }
11571157 },
1158
1158
11591159 handleKey:function(/*Event*/e){
11601160 // summary:
11611161 // handle the key for the given event - called by dropdown
11701170 }
11711171 return true;
11721172 },
1173
1173
11741174 _updateChildClasses: function(){
11751175 // summary:
11761176 // Called when a child is added or removed - so that we can
11971197 this.inherited(arguments);
11981198 this._lastExecutedValue = this.get("value");
11991199 },
1200
1200
12011201 getChildItems: function(/*item*/ item){
12021202 // summary:
12031203 // Returns the child items for the given store item
12101210 });
12111211 return childItems;
12121212 },
1213
1213
12141214 getMenuItemForItem: function(/*item*/ item, /* dijit._Contained */ parentPane, /* item[]? */ children){
12151215 // summary:
12161216 // user overridable function to return a widget for the given item
12361236 // summary:
12371237 // called when an item is clicked - it receives the store item
12381238 },
1239
1239
12401240 onExecute: function(){
12411241 // summary:
12421242 // exists so that popups don't disappear too soon
12431243 },
1244
1244
12451245 onCancel: function(){
12461246 // summary:
12471247 // exists so that we can close ourselves if we wish
12481248 },
1249
1249
12501250 onChange: function(/* item */ value){
12511251 // summary:
12521252 // called when the value of this widget has changed
12531253 }
1254
1254
12551255 });
22 dojo.require("dojox.encoding.base64");
33
44 dojox.xmpp.util.xmlEncode = function(str) {
5 if(str) {
6 str = str.replace("&", "&amp;").replace(">", "&gt;").replace("<", "&lt;").replace("'", "&apos;").replace('"', "&quot;");
7 }
8 return str;
5 return dojo.string.escape(str);
96 };
107
118 dojox.xmpp.util.encodeJid = function(jid) {
4845 };
4946
5047 dojox.xmpp.util.decodeJid = function(jid) {
51
48
5249 jid = jid.replace(/\\([23][02367acef])/g, function(match) {
5350 switch(match){
5451 case "\\20" :
7269 }
7370 return "ARG";
7471 });
75
72
7673 return jid;
7774 };
7875
8683 elem.append(attributes[attr]);
8784 elem.append('" ');
8885 }
89
86
9087 if (terminal){
9188 elem.append("/>");
9289 }else{
1313 "url": "https://github.com/dojo/util.git"
1414 },
1515 "dependencies": {
16 "dojo": "1.15.0",
17 "dijit": "1.15.0",
18 "dojox": "1.15.0",
16 "dojo": "1.15.2",
17 "dijit": "1.15.2",
18 "dojox": "1.15.2",
1919 "dijit-themes": "1.15.0-pre"
2020 },
2121 "devDependencies": {
3535
3636 if (useSourceMaps) {
3737 output += "//# sourceMappingURL=" + dest.split("/").pop() + ".map";
38 fs.writeFile(dest + ".map", gen_options.source_map.toString(), "utf-8");
38 fs.writeFile(dest + ".map", gen_options.source_map.toString(), "utf-8", function() {});
3939 }
4040
4141 return output;
00 define([], function(){
11 var
2 rev = "$Rev: d545ad7 $".match(/[0-9a-f]{7,}/),
2 rev = "$Rev: 7a1fe03 $".match(/[0-9a-f]{7,}/),
33 version= {
4 major: 1, minor: 15, patch: 0, flag: "",
4 major: 1, minor: 15, patch: 2, flag: "",
55 revision: rev ? rev[0] : NaN,
66 toString: function(){
77 var v= version;
2020 };
2121
2222 console.log("\n"+doh._line);
23 console.log("The Dojo Unit Test Harness, $Rev: d545ad7 $");
23 console.log("The Dojo Unit Test Harness, $Rev: 7a1fe03 $");
2424 console.log("Copyright (c) 2018, The JS Foundation, All Rights Reserved");
2525 console.log("Running with node.js");
2626 for (var tests= [], args= config["commandLineArgs"], i= 0, arg; i<args.length; i++) {
2020 };
2121
2222 print("\n"+doh._line);
23 print("The Dojo Unit Test Harness, $Rev: d545ad7 $");
23 print("The Dojo Unit Test Harness, $Rev: 7a1fe03 $");
2424 print("Copyright (c) 2018, The JS Foundation, All Rights Reserved");
2525 for (var tests= [], args= config["commandLineArgs"], i= 0, arg; i<args.length; i++) {
2626 arg= (args[i]+"").split("=");
00 <!DOCTYPE html>
11 <html style="height:100%;">
22 <head>
3 <title>The Dojo Unit Test Harness, $Rev: d545ad7 $</title>
3 <title>The Dojo Unit Test Harness, $Rev: 7a1fe03 $</title>
44 <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"/>
55 <meta name="apple-mobile-web-app-capable" content="yes">
66 <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
00 {
11 "name": "doh",
2 "version": "1.15.0",
2 "version": "1.15.2",
33 "directories": {
44 "lib": "."
55 },
00 <!DOCTYPE html>
11 <html style="height:100%;">
22 <head>
3 <title>The Dojo Unit Test Harness, $Rev: d545ad7 $</title>
3 <title>The Dojo Unit Test Harness, $Rev: 7a1fe03 $</title>
44
55 <script type="text/javascript" src="_parseURLargs.js"></script>
66
00 {
11 "name": "dojo-util",
2 "version": "1.15.0",
2 "version": "1.15.2",
33 "licenses": [
44 {
55 "type": "AFLv2.1",