a:37:{s:9:"#provides";s:28:"dojox.form.FilePickerTextBox";s:9:"#resource";s:25:"form/FilePickerTextBox.js";s:9:"#requires";a:3:{i:0;a:2:{i:0;s:6:"common";i:1;s:23:"dojox.widget.FilePicker";}i:1;a:3:{i:0;s:6:"common";i:1;s:28:"dijit.form.ValidationTextBox";i:2;s:5:"dijit";}i:2;a:2:{i:0;s:6:"common";i:1;s:23:"dojox.form._HasDropDown";}}s:28:"dojox.form.FilePickerTextBox";a:5:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:28:"dijit.form.ValidationTextBox";}s:4:"call";a:2:{i:0;s:28:"dijit.form.ValidationTextBox";i:1;s:23:"dojox.form._HasDropDown";}}s:6:"mixins";a:1:{s:9:"prototype";a:1:{i:0;s:33:"dojox.form._HasDropDown.prototype";}}s:7:"summary";s:49:"A validating text box tied to a file picker popup";s:9:"classlike";b:1;}s:38:"dojox.form.FilePickerTextBox.baseClass";a:2:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:7:"summary";s:0:"";}s:41:"dojox.form.FilePickerTextBox.templatePath";a:2:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:7:"summary";s:0:"";}s:40:"dojox.form.FilePickerTextBox.searchDelay";a:3:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:4:"type";s:7:"Integer";s:7:"summary";s:183:"Delay in milliseconds between when user types something and we start searching based on that value _stopClickEvent: boolean Set to false since we want to handle our own click events";}s:45:"dojox.form.FilePickerTextBox._stopClickEvents";a:3:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:7:"private";b:1;s:7:"summary";s:0:"";}s:38:"dojox.form.FilePickerTextBox.valueItem";a:4:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:8:"instance";s:28:"dojox.form.FilePickerTextBox";s:4:"type";s:4:"item";s:7:"summary";s:62:"The item, in our store, of the directory relating to our value";}s:37:"dojox.form.FilePickerTextBox.numPanes";a:3:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:4:"type";s:6:"number";s:7:"summary";s:106:"The number of panes to display in our box (if we don't have any minPaneWidth specified by our constraints)";}s:48:"dojox.form.FilePickerTextBox.postMixInProperties";a:4:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:4:"type";s:8:"Function";s:6:"source";s:95:" this.inherited(arguments); this.dropDown = new dojox.widget.FilePicker(this.constraints);";s:7:"summary";s:0:"";}s:39:"dojox.form.FilePickerTextBox.postCreate";a:4:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:4:"type";s:8:"Function";s:6:"source";s:354:" this.inherited(arguments); // Make our connections we want this.connect(this.dropDown, "onChange", this._onWidgetChange); this.connect(this.focusNode, "onblur", "_focusBlur"); this.connect(this.focusNode, "onfocus", "_focusFocus"); this.connect(this.focusNode, "ondblclick", function(){ dijit.selectInputText(this.focusNode); });";s:7:"summary";s:0:"";}s:42:"dojox.form.FilePickerTextBox._setValueAttr";a:6:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:5:"value";a:1:{s:4:"type";s:6:"string";}s:14:"priorityChange";a:1:{s:4:"type";s:0:"";}s:10:"fromWidget";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:351:" if(!this._searchInProgress){ this.inherited(arguments); value = value||""; var tVal = this.dropDown.attr("pathValue")||""; if(value !== tVal){ this._skip = true; var fx = dojo.hitch(this, "_setBlurValue"); this.dropDown._setPathValueAttr(value, !fromWidget, this._settingBlurValue ? fx : null); } }";s:7:"summary";s:29:"sets the value of this widget";s:7:"private";b:1;}s:44:"dojox.form.FilePickerTextBox._onWidgetChange";a:6:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:4:"item";a:1:{s:4:"type";s:4:"item";}}s:6:"source";s:369:" if(!item && this.focusNode.value){ this._hasValidPath = false; this.focusNode.value = ""; }else{ this.valueItem = item; var value = this.dropDown._getPathValueAttr(item); if(value){ this._hasValidPath = true; } if(!this._skip){ this._setValueAttr(value, undefined, true); } delete this._skip; } this.validate();";s:7:"summary";s:49:"called when the path gets changed in the dropdown";s:7:"private";b:1;}s:36:"dojox.form.FilePickerTextBox.startup";a:4:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:4:"type";s:8:"Function";s:6:"source";s:95:" if(!this.dropDown._started){ this.dropDown.startup(); } this.inherited(arguments);";s:7:"summary";s:0:"";}s:41:"dojox.form.FilePickerTextBox.openDropDown";a:4:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:4:"type";s:8:"Function";s:6:"source";s:2968:"dojo.provide("dojox.form.FilePickerTextBox"); dojo.require("dojox.widget.FilePicker"); dojo.require("dijit.form.ValidationTextBox"); dojo.require("dojox.form._HasDropDown"); dojo.declare( "dojox.form.FilePickerTextBox", [dijit.form.ValidationTextBox, dojox.form._HasDropDown], { // summary: // A validating text box tied to a file picker popup baseClass: "dojoxFilePickerTextBox", templatePath: dojo.moduleUrl("dojox.form", "resources/FilePickerTextBox.html"), // searchDelay: Integer // Delay in milliseconds between when user types something and we start // searching based on that value searchDelay: 500, // _stopClickEvent: boolean // Set to false since we want to handle our own click events _stopClickEvents: false, // valueItem: item // The item, in our store, of the directory relating to our value valueItem: null, // numPanes: number // The number of panes to display in our box (if we don't have any // minPaneWidth specified by our constraints) numPanes: 2.25, postMixInProperties: function(){ this.inherited(arguments); this.dropDown = new dojox.widget.FilePicker(this.constraints); }, postCreate: function(){ this.inherited(arguments); // Make our connections we want this.connect(this.dropDown, "onChange", this._onWidgetChange); this.connect(this.focusNode, "onblur", "_focusBlur"); this.connect(this.focusNode, "onfocus", "_focusFocus"); this.connect(this.focusNode, "ondblclick", function(){ dijit.selectInputText(this.focusNode); }); }, _setValueAttr: function(/*string*/value, priorityChange, fromWidget){ // summary: sets the value of this widget if(!this._searchInProgress){ this.inherited(arguments); value = value||""; var tVal = this.dropDown.attr("pathValue")||""; if(value !== tVal){ this._skip = true; var fx = dojo.hitch(this, "_setBlurValue"); this.dropDown._setPathValueAttr(value, !fromWidget, this._settingBlurValue ? fx : null); } } }, _onWidgetChange: function(/*item*/item){ // summary: called when the path gets changed in the dropdown if(!item && this.focusNode.value){ this._hasValidPath = false; this.focusNode.value = ""; }else{ this.valueItem = item; var value = this.dropDown._getPathValueAttr(item); if(value){ this._hasValidPath = true; } if(!this._skip){ this._setValueAttr(value, undefined, true); } delete this._skip; } this.validate(); }, startup: function(){ if(!this.dropDown._started){ this.dropDown.startup(); } this.inherited(arguments); }, openDropDown: function(){ // set width to 0 so that it will resize automatically this.dropDown.domNode.style.width="0px"; if(!("minPaneWidth" in (this.constraints||{}))){ this.dropDown.attr("minPaneWidth", (this.domNode.offsetWidth / this.numPanes)); } this.inherited(arguments);";s:7:"summary";s:0:"";}s:43:"dojox.form.FilePickerTextBox.toggleDropDown";a:4:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:4:"type";s:8:"Function";s:6:"source";s:170:" this.inherited(arguments); // Make sure our display is up-to-date with our value if(this._opened){ this.dropDown.attr("pathValue", this.attr("value")); }";s:7:"summary";s:0:"";}s:39:"dojox.form.FilePickerTextBox._focusBlur";a:6:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:1:"e";a:1:{s:4:"type";s:5:"Event";}}s:6:"source";s:325:" if(e.explicitOriginalTarget == this.focusNode && !this._allowBlur){ window.setTimeout(dojo.hitch(this, function(){ if(!this._allowBlur){ this.focus(); } }), 1); }else if(this._menuFocus){ this.dropDown._updateClass(this._menuFocus, "Item", {"Hover": false}); delete this._menuFocus; }";s:7:"summary";s:39:"called when the focus node gets blurred";s:7:"private";b:1;}s:40:"dojox.form.FilePickerTextBox._focusFocus";a:6:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:1:"e";a:1:{s:4:"type";s:5:"Event";}}s:6:"source";s:455:" if(this._menuFocus){ this.dropDown._updateClass(this._menuFocus, "Item", {"Hover": false}); } delete this._menuFocus; var focusNode = dijit.getFocus(this); if(focusNode && focusNode.node){ focusNode = dijit.byNode(focusNode.node); if(focusNode){ this._menuFocus = focusNode.domNode; } } if(this._menuFocus){ this.dropDown._updateClass(this._menuFocus, "Item", {"Hover": true}); } delete this._allowBlur;";s:7:"summary";s:37:"called when the focus node gets focus";s:7:"private";b:1;}s:36:"dojox.form.FilePickerTextBox._onBlur";a:5:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:4:"type";s:8:"Function";s:6:"source";s:93:" this._allowBlur = true; delete this.dropDown._savedFocus; this.inherited(arguments);";s:7:"summary";s:50:"called when focus is shifted away from this widget";s:7:"private";b:1;}s:42:"dojox.form.FilePickerTextBox._setBlurValue";a:5:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:4:"type";s:8:"Function";s:6:"source";s:210:" if(this.dropDown && !this._settingBlurValue){ this._settingBlurValue = true; this.attr("value", this.focusNode.value); }else{ delete this._settingBlurValue; this.inherited(arguments); }";s:7:"summary";s:48:"sets the value of the widget once focus has left";s:7:"private";b:1;}s:34:"dojox.form.FilePickerTextBox.parse";a:5:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:5:"value";a:1:{s:4:"type";s:6:"String";}s:11:"constraints";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:518:" if(this._hasValidPath || this._hasSelection){ return value; } var dd = this.dropDown, topDir = dd.topDir, sep = dd.pathSeparator; var ddVal = dd.attr("pathValue"); var norm = function(v){ if(topDir.length && v.indexOf(topDir) === 0){ v = v.substring(topDir.length); } if(sep && v[v.length - 1] == sep){ v = v.substring(0, v.length - 1); } return v; }; ddVal = norm(ddVal); var val = norm(value); if(val == ddVal){ return value; } return undefined;";s:7:"summary";s:105:"Function to convert a formatted string to a value - we use it to verify that it *really* is a valid value";}s:50:"dojox.form.FilePickerTextBox._startSearchFromInput";a:5:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:4:"type";s:8:"Function";s:6:"source";s:2616:" var dd = this.dropDown, fn = this.focusNode; var val = fn.value, oVal = val, topDir = dd.topDir; if(this._hasSelection){ dijit.selectInputText(fn, oVal.length); } this._hasSelection = false; if(topDir.length && val.indexOf(topDir) === 0){ val = val.substring(topDir.length); } var dirs = val.split(dd.pathSeparator); var setFromChain = dojo.hitch(this, function(idx){ var dir = dirs[idx]; var child = dd.getChildren()[idx]; var conn; this._searchInProgress = true; var _cleanup = dojo.hitch(this, function(){ delete this._searchInProgress; }); if((dir || child) && !this._opened){ this.toggleDropDown(); } if(dir && child){ var fx = dojo.hitch(this, function(){ if(conn){ this.disconnect(conn); } delete conn; var children = child._menu.getChildren(); var exact = dojo.filter(children, function(i){ return i.label == dir; })[0]; var first = dojo.filter(children, function(i){ return (i.label.indexOf(dir) === 0); })[0]; if(exact && ((dirs.length > idx + 1 && exact.children) || (!exact.children))){ idx++; child._menu.onItemClick(exact, {type: "internal", stopPropagation: function(){}, preventDefault: function(){}}); if(dirs[idx]){ setFromChain(idx); }else{ _cleanup(); } }else{ child._setSelected(null); if(first && dirs.length === idx + 1){ dd._setInProgress = true; dd._removeAfter(child); delete dd._setInProgress; var targetString = first.label; if(first.children){ targetString += dd.pathSeparator; } targetString = targetString.substring(dir.length); window.setTimeout(function(){ dijit.scrollIntoView(first.domNode); }, 1); fn.value = oVal + targetString; dijit.selectInputText(fn, oVal.length); this._hasSelection = true; try{first.focusNode.focus();}catch(e){} }else{ if(this._menuFocus){ this.dropDown._updateClass(this._menuFocus, "Item", {"Hover": false, "Focus": false}); } delete this._menuFocus; } _cleanup(); } }); if(!child.isLoaded){ conn = this.connect(child, "onLoad", fx); }else{ fx(); } }else{ if(child){ child._setSelected(null); dd._setInProgress = true; dd._removeAfter(child); delete dd._setInProgress; } _cleanup(); } }); setFromChain(0);";s:7:"summary";s:65:"kicks off a search based off the current text value of the widget";s:7:"private";b:1;}s:35:"dojox.form.FilePickerTextBox._onKey";a:6:{s:9:"prototype";s:28:"dojox.form.FilePickerTextBox";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:1:"e";a:1:{s:4:"type";s:5:"Event";}}s:6:"source";s:1096:" if(this.disabled || this.readOnly){ return; } var dk = dojo.keys; var c = e.charOrCode; if(c==dk.DOWN_ARROW){ this._allowBlur = true; } if(c==dk.ENTER && this._opened){ this.dropDown.onExecute(); dijit.selectInputText(this.focusNode, this.focusNode.value.length); this._hasSelection = false; dojo.stopEvent(e); return; } if((c==dk.RIGHT_ARROW || c==dk.LEFT_ARROW || c==dk.TAB) && this._hasSelection){ this._startSearchFromInput(); dojo.stopEvent(e); return; } this.inherited(arguments); var doSearch = false; if((c==dk.BACKSPACE || c==dk.DELETE) && this._hasSelection){ this._hasSelection = false; }else if(c==dk.BACKSPACE || c==dk.DELETE || c==" "){ doSearch = true; }else{ doSearch = e.keyChar !== ""; } if(this._searchTimer){ window.clearTimeout(this._searchTimer); } delete this._searchTimer; if(doSearch){ this._hasValidPath = false; this._hasSelection = false; this._searchTimer = window.setTimeout(dojo.hitch(this, "_startSearchFromInput"), this.searchDelay + 1); }";s:7:"summary";s:55:"callback when the user presses a key on menu popup node";s:7:"private";b:1;}s:37:"dojox.form.FilePickerTextBox.dropDown";a:2:{s:8:"instance";s:28:"dojox.form.FilePickerTextBox";s:7:"summary";s:0:"";}s:34:"dojox.form.FilePickerTextBox._skip";a:3:{s:8:"instance";s:28:"dojox.form.FilePickerTextBox";s:7:"private";b:1;s:7:"summary";s:0:"";}s:42:"dojox.form.FilePickerTextBox._hasValidPath";a:3:{s:8:"instance";s:28:"dojox.form.FilePickerTextBox";s:7:"private";b:1;s:7:"summary";s:0:"";}s:44:"dojox.form.FilePickerTextBox.focusNode.value";a:2:{s:8:"instance";s:28:"dojox.form.FilePickerTextBox";s:7:"summary";s:0:"";}s:57:"dojox.form.FilePickerTextBox.dropDown.domNode.style.width";a:2:{s:8:"instance";s:28:"dojox.form.FilePickerTextBox";s:7:"summary";s:0:"";}s:39:"dojox.form.FilePickerTextBox._menuFocus";a:3:{s:8:"instance";s:28:"dojox.form.FilePickerTextBox";s:7:"private";b:1;s:7:"summary";s:0:"";}s:39:"dojox.form.FilePickerTextBox._allowBlur";a:3:{s:8:"instance";s:28:"dojox.form.FilePickerTextBox";s:7:"private";b:1;s:7:"summary";s:0:"";}s:46:"dojox.form.FilePickerTextBox._settingBlurValue";a:3:{s:8:"instance";s:28:"dojox.form.FilePickerTextBox";s:7:"private";b:1;s:7:"summary";s:0:"";}s:42:"dojox.form.FilePickerTextBox._hasSelection";a:3:{s:8:"instance";s:28:"dojox.form.FilePickerTextBox";s:7:"private";b:1;s:7:"summary";s:0:"";}s:46:"dojox.form.FilePickerTextBox._searchInProgress";a:3:{s:8:"instance";s:28:"dojox.form.FilePickerTextBox";s:7:"private";b:1;s:7:"summary";s:0:"";}s:41:"dojox.form.FilePickerTextBox._searchTimer";a:3:{s:8:"instance";s:28:"dojox.form.FilePickerTextBox";s:7:"private";b:1;s:7:"summary";s:0:"";}s:10:"dojox.form";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:5:"dojox";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}}