a:83:{s:9:"#provides";s:26:"dojox.layout.GridContainer";s:9:"#resource";s:23:"layout/GridContainer.js";s:9:"#requires";a:6:{i:0;a:3:{i:0;s:6:"common";i:1;s:17:"dijit._base.focus";i:2;s:5:"dijit";}i:1;a:3:{i:0;s:6:"common";i:1;s:16:"dijit._Templated";i:2;s:5:"dijit";}i:2;a:3:{i:0;s:6:"common";i:1;s:16:"dijit._Container";i:2;s:5:"dijit";}i:3;a:3:{i:0;s:6:"common";i:1;s:16:"dijit._Contained";i:2;s:5:"dijit";}i:4;a:3:{i:0;s:6:"common";i:1;s:13:"dojo.dnd.move";i:2;s:4:"dojo";}i:5;a:2:{i:0;s:6:"common";i:1;s:27:"dojox.layout.dnd.PlottedDnd";}}s:26:"dojox.layout.GridContainer";a:8:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:13:"dijit._Widget";}s:4:"call";a:4:{i:0;s:13:"dijit._Widget";i:1;s:16:"dijit._Templated";i:2;s:16:"dijit._Container";i:3;s:16:"dijit._Contained";}}s:6:"mixins";a:1:{s:9:"prototype";a:3:{i:0;s:26:"dijit._Templated.prototype";i:1;s:26:"dijit._Container.prototype";i:2;s:26:"dijit._Contained.prototype";}}s:7:"summary";s:86:"The Grid Container is a container of child elements that are placed in a kind of grid.";s:11:"description";s:286:"It displays the child elements by column (ie: the childs widths are fixed by the column width of the grid but the childs heights are free). Each child is movable by drag and drop inside the Grid Container. The position of other children is automatically calculated when a child is moved";s:10:"parameters";a:2:{s:5:"props";a:1:{s:4:"type";s:0:"";}s:4:"node";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:3720:"dojo.provide("dojox.layout.GridContainer"); dojo.experimental("dojox.layout.GridContainer"); dojo.require("dijit._base.focus"); dojo.require("dijit._Templated"); dojo.require("dijit._Container"); dojo.require("dijit._Contained"); dojo.require("dojo.dnd.move"); dojo.require("dojox.layout.dnd.PlottedDnd"); dojo.requireLocalization("dojox.layout", "GridContainer"); dojo.declare("dojox.layout.GridContainer", [dijit._Widget, dijit._Templated, dijit._Container, dijit._Contained], { // summary: // The Grid Container is a container of child elements that are placed in a kind of grid. // // description: // It displays the child elements by column (ie: the childs widths are fixed by the column width of the grid but the childs heights are free). // Each child is movable by drag and drop inside the Grid Container. // The position of other children is automatically calculated when a child is moved // templatePath: dojo.moduleUrl("dojox.layout", "resources/GridContainer.html"), isContainer: true, // i18n: Object // Contain i18n ressources. i18n: null, //isAutoOrganized: Boolean: // Define auto organisation of children into the grid container. isAutoOrganized : true, //isRightFixed: Boolean // Define if the right border has a fixed size. isRightFixed:false, //isLeftFixed: Boolean // Define if the left border has a fixed size. isLeftFixed:false, // hasResizableColumns: Boolean // Allow or not resizing of columns by a grip handle. hasResizableColumns:true, // nbZones: Integer // The number of dropped zones. nbZones:1, //opacity: Integer // Define the opacity of the DnD Avatar. opacity:1, // minColWidth: Integer // Minimum column width in percentage. minColWidth: 20, // minChildWidth: Integer // Minimun children with in pixel (only used for IE6 that doesn't handle min-width css property */ minChildWidth : 150, // acceptTypes: Array // The gridcontainer will only accept the children that fit to the types. // In order to do that, the child must have a widgetType or a dndType attribute corresponding to the accepted type.*/ acceptTypes: [], //mode: String // location to add columns, must be set to left or right(default) mode: "right", //allowAutoScroll: Boolean // auto-scrolling enable inside the GridContainer allowAutoScroll: false, //timeDisplayPopup: Integer // display time of popup in miliseconds timeDisplayPopup: 1500, //isOffset: Boolean // if true : Let the mouse to its original location when moving (allow to specify it proper offset) // if false : Current behavior, mouse in the upper left corner of the widget isOffset: false, //offsetDrag: Object // Allow to specify its own offset (x and y) onl when Parameter isOffset is true offsetDrag : {}, // //withHandles: Boolean // Specify if there is a specific drag handle on widgets withHandles: false, // handleClasses: Array // Array of classes of nodes that will act as drag handles handleClasses : [], //Contains the DnD widget _draggedWidget: null, //_isResized: Boolean // Determine if user can resizing the widget with the mouse. _isResized: false, //Contains the node grip to resize widget. _activeGrip: null, //_oldwidth: Integer // Save the old width size. _oldwidth: 0, //_oldheight: Integer // Save the old height size. _oldheight: 0, // a11y with keyboard is On/Off _a11yOn : false, // can display a popup _canDisplayPopup : true, constructor: function(props, node){ // FIXME: does this need a "scopeName" this.acceptTypes = props["acceptTypes"] || ["dijit.layout.ContentPane"]; this.dragOffset = props["dragOffset"] || { x:0, y:0 };";s:9:"classlike";b:1;}s:39:"dojox.layout.GridContainer.templatePath";a:2:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:38:"dojox.layout.GridContainer.isContainer";a:2:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:31:"dojox.layout.GridContainer.i18n";a:4:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:8:"instance";s:26:"dojox.layout.GridContainer";s:4:"type";s:6:"Object";s:7:"summary";s:24:"Contain i18n ressources.";}s:42:"dojox.layout.GridContainer.isAutoOrganized";a:3:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:7:"Boolean";s:7:"summary";s:61:"Define auto organisation of children into the grid container.";}s:39:"dojox.layout.GridContainer.isRightFixed";a:3:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:7:"Boolean";s:7:"summary";s:44:"Define if the right border has a fixed size.";}s:38:"dojox.layout.GridContainer.isLeftFixed";a:3:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:7:"Boolean";s:7:"summary";s:43:"Define if the left border has a fixed size.";}s:46:"dojox.layout.GridContainer.hasResizableColumns";a:3:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:7:"Boolean";s:7:"summary";s:50:"Allow or not resizing of columns by a grip handle.";}s:34:"dojox.layout.GridContainer.nbZones";a:4:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:8:"instance";s:26:"dojox.layout.GridContainer";s:4:"type";s:7:"Integer";s:7:"summary";s:28:"The number of dropped zones.";}s:34:"dojox.layout.GridContainer.opacity";a:3:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:7:"Integer";s:7:"summary";s:37:"Define the opacity of the DnD Avatar.";}s:38:"dojox.layout.GridContainer.minColWidth";a:3:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:7:"Integer";s:7:"summary";s:35:"Minimum column width in percentage.";}s:40:"dojox.layout.GridContainer.minChildWidth";a:3:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:7:"Integer";s:7:"summary";s:95:"Minimun children with in pixel (only used for IE6 that doesn't handle min-width css property */";}s:38:"dojox.layout.GridContainer.acceptTypes";a:4:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:5:"Array";s:7:"summary";s:185:"The gridcontainer will only accept the children that fit to the types. In order to do that, the child must have a widgetType or a dndType attribute corresponding to the accepted type.*/";s:8:"instance";s:26:"dojox.layout.GridContainer";}s:31:"dojox.layout.GridContainer.mode";a:4:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:8:"instance";s:26:"dojox.layout.GridContainer";s:4:"type";s:6:"String";s:7:"summary";s:62:"location to add columns, must be set to left or right(default)";}s:42:"dojox.layout.GridContainer.allowAutoScroll";a:3:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:7:"Boolean";s:7:"summary";s:46:"auto-scrolling enable inside the GridContainer";}s:43:"dojox.layout.GridContainer.timeDisplayPopup";a:3:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:7:"Integer";s:7:"summary";s:36:"display time of popup in miliseconds";}s:35:"dojox.layout.GridContainer.isOffset";a:3:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:7:"Boolean";s:7:"summary";s:170:"if true : Let the mouse to its original location when moving (allow to specify it proper offset) if false : Current behavior, mouse in the upper left corner of the widget";}s:37:"dojox.layout.GridContainer.offsetDrag";a:3:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:38:"dojox.layout.GridContainer.withHandles";a:3:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:7:"Boolean";s:7:"summary";s:53:"Specify if there is a specific drag handle on widgets";}s:40:"dojox.layout.GridContainer.handleClasses";a:3:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:5:"Array";s:7:"summary";s:81:"Array of classes of nodes that will act as drag handles Contains the DnD widget";}s:41:"dojox.layout.GridContainer._draggedWidget";a:3:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:7:"private";b:1;s:7:"summary";s:0:"";}s:37:"dojox.layout.GridContainer._isResized";a:5:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:8:"instance";s:26:"dojox.layout.GridContainer";s:4:"type";s:7:"Boolean";s:7:"summary";s:57:"Determine if user can resizing the widget with the mouse.";s:7:"private";b:1;}s:38:"dojox.layout.GridContainer._activeGrip";a:4:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"private";b:1;s:7:"summary";s:0:"";}s:36:"dojox.layout.GridContainer._oldwidth";a:5:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:8:"instance";s:26:"dojox.layout.GridContainer";s:4:"type";s:7:"Integer";s:7:"summary";s:24:"Save the old width size.";s:7:"private";b:1;}s:37:"dojox.layout.GridContainer._oldheight";a:5:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:8:"instance";s:26:"dojox.layout.GridContainer";s:4:"type";s:7:"Integer";s:7:"summary";s:25:"Save the old height size.";s:7:"private";b:1;}s:34:"dojox.layout.GridContainer._a11yOn";a:4:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"private";b:1;s:7:"summary";s:0:"";}s:43:"dojox.layout.GridContainer._canDisplayPopup";a:4:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"private";b:1;s:7:"summary";s:0:"";}s:46:"dojox.layout.GridContainer.postMixInProperties";a:4:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:6:"source";s:74:" this.i18n = dojo.i18n.getLocalization("dojox.layout", "GridContainer"); ";s:7:"summary";s:0:"";}s:39:"dojox.layout.GridContainer._createCells";a:5:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:6:"source";s:537:" if(this.nbZones === 0){ this.nbZones = 1; } var wCol = 100 / this.nbZones; if(dojo.isIE && dojo.marginBox(this.gridNode).height){ var space = document.createTextNode(" "); this.gridNode.appendChild(space); } var grid = []; this.cell = []; var i = 0; while(i < this.nbZones){ var node = dojo.doc.createElement("td"); dojo.addClass(node, "gridContainerZone"); node.id = this.id + "_dz" + i; node.style.width = wCol + "%"; var zone = this.gridNode.appendChild(node); this.cell[i] = zone; i++; }";s:7:"private";b:1;s:7:"summary";s:0:"";}s:34:"dojox.layout.GridContainer.startup";a:2:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:31:"dojox.layout.GridContainer.init";a:4:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:6:"source";s:338:" this.grid = this._createGrid(); this.connect(dojo.global, "onresize", "onResized"); this.connect(this, "onDndDrop", "_placeGrips"); this.dropHandler= dojo.subscribe("/dnd/drop", this, "_placeGrips"); this._oldwidth = this.domNode.offsetWidth; if(this.hasResizableColumns){ this._initPlaceGrips(); this._placeGrips(); }";s:7:"summary";s:42:"Initialization of the GridContainer widget";}s:34:"dojox.layout.GridContainer.destroy";a:4:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:6:"source";s:162:" for(var i = 0; i < this.handleDndStart; i++){ dojo.disconnect(this.handleDndStart[i]); } dojo.unsubscribe(this.dropHandler); this.inherited(arguments);";s:7:"summary";s:32:"destroy GridContainer Component.";}s:36:"dojox.layout.GridContainer.onResized";a:4:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:6:"source";s:152:" if(this.hasResizableColumns){ this._placeGrips(); this._oldwidth = this.domNode.offsetWidth; this._oldheight = this.domNode.offsetHeight; }";s:7:"summary";s:62:"Callback method to resize the GridContainer widget and columns";}s:44:"dojox.layout.GridContainer._organizeServices";a:5:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:6:"source";s:489:" var nbz = this.nbZones; var nbs = this.getChildren().length; var res = Math.floor(nbs / nbz); var mod = nbs % nbz; var i = 0; for(var z = 0; z < nbz; z++){ for(var r = 0; r < res; r++){ this._insertService(z, i++, 0, true); } if(mod>0){ try { this._insertService(z, i++, 0, true); } catch (e) { console.error("Unable to insert service in grid container", e, this.getChildren()); } mod--; }else if(res === 0){ break; } }";s:7:"summary";s:47:"List all zones and insert service into columns.";s:7:"private";b:1;}s:52:"dojox.layout.GridContainer._organizeServicesManually";a:5:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:6:"source";s:253:" var children = this.getChildren(); for(var i = 0; i < children.length; i++){ try{ this._insertService(children[i].column - 1, i, 0, true); }catch(e){ console.error("Unable to insert service in grid container", e, children[i]); } }";s:7:"summary";s:47:"Organize Services by column property of widget.";s:7:"private";b:1;}s:41:"dojox.layout.GridContainer._insertService";a:7:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:10:"parameters";a:4:{s:1:"z";a:1:{s:4:"type";s:7:"Integer";}s:1:"p";a:1:{s:4:"type";s:7:"Integer";}s:1:"i";a:1:{s:4:"type";s:7:"Integer";}s:5:"first";a:1:{s:4:"type";s:7:"Boolean";}}s:6:"source";s:914:" var zone = this.cell[z]; var kidsZone = zone.childNodes.length; var service = this.getChildren()[(i ? i : 0)]; if(typeof(p)=="undefined" || p > kidsZone){ p = kidsZone; } var toto = dojo.place(service.domNode,zone, p); service.domNode.setAttribute("tabIndex", 0); if(!service.dragRestriction) dojo.addClass(service.domNode,"dojoDndItem"); if (!service.domNode.getAttribute("dndType")) service.domNode.setAttribute("dndType",service.declaredClass); dojox.layout.dnd._setGcDndHandle(service,this.withHandles,this.handleClasses, first); if(this.hasResizableColumns){ if(service.onLoad){ this.connect(service, "onLoad", "_placeGrips"); } if(service.onExecError){ this.connect(service, "onExecError", "_placeGrips"); } if(service.onUnLoad){ this.connect(service, "onUnLoad", "_placeGrips"); } } this._placeGrips(); return service.id; // String";s:7:"summary";s:66:"Insert a service in a specific column of the GridContainer widget.";s:7:"returns";s:6:"String";s:7:"private";b:1;}s:37:"dojox.layout.GridContainer.addService";a:6:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:7:"service";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:16:"widget to insert";}s:1:"z";a:2:{s:4:"type";s:7:"Integer";s:7:"summary";s:20:"zone number (column)";}s:1:"p";a:2:{s:4:"type";s:7:"Integer";s:7:"summary";s:29:"place in the zone (first = 0)";}}s:6:"source";s:259:" service.domNode.id = service.id; this.addChild(service); if(p <= 0){ p = 0; } var result = this._insertService(z,p); this.grid[z].setItem(service.id,{data: service.domNode, type: [service.domNode.getAttribute("dndType")]}); return result; //Object";s:7:"summary";s:78:"Add a service (child widget) in a specific column of the GridContainer widget.";s:7:"returns";s:6:"Object";}s:38:"dojox.layout.GridContainer._createGrid";a:6:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:6:"source";s:959:" var grid = []; var i = 0; this.tabDZ = []; while(i < this.nbZones){ var zone = this.cell[i]; this.tabDZ[i] = this._createZone(zone); if(this.hasResizableColumns && i != (this.nbZones-1)) { this._createGrip(this.tabDZ[i]); } grid.push(this.tabDZ[i]); i++; } if(this.hasResizableColumns){ this.handleDndStart = []; for (var j = 0; j < this.tabDZ.length; j++) { var dz = this.tabDZ[j]; var self = this; this.handleDndStart.push(dojo.connect(dz, "onDndStart", dz, function(source){ if(source==this){ self.handleDndInsertNodes = []; for (i = 0; i < self.tabDZ.length; i++) { self.handleDndInsertNodes.push(dojo.connect(self.tabDZ[i], "insertNodes", self, function(){ self._disconnectDnd(); })); } self.handleDndInsertNodes.push(dojo.connect(dz,"onDndCancel", self, self._disconnectDnd)); self.onResized(); } })); } } return grid; // Object";s:7:"summary";s:32:"Create all grid (zones and grip)";s:7:"returns";s:6:"Object";s:7:"private";b:1;}s:41:"dojox.layout.GridContainer._disconnectDnd";a:5:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:6:"source";s:107:" dojo.forEach(this.handleDndInsertNodes, dojo.disconnect); setTimeout(dojo.hitch(this, "onResized"), 0);";s:7:"summary";s:36:"disconnect all events on insertNodes";s:7:"private";b:1;}s:38:"dojox.layout.GridContainer._createZone";a:7:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:4:"zone";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:505:" var dz = null; dz = new dojox.layout.dnd.PlottedDnd(zone.id, { accept:this.acceptTypes, withHandles:this.withHandles, handleClasses: this.handleClasses, singular: true, hideSource:true, opacity: this.opacity, dom: this.domNode, allowAutoScroll: this.allowAutoScroll, isOffset:this.isOffset, offsetDrag : this.offsetDrag }); this.connect(dz, "insertDashedZone", "_placeGrips"); this.connect(dz, "deleteDashedZone", "_placeGrips"); return dz; //plottedDnd Object";s:7:"summary";s:20:"Create a DnD column.";s:7:"returns";s:17:"plottedDnd Object";s:7:"private";b:1;}s:38:"dojox.layout.GridContainer._createGrip";a:6:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:2:"dz";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:989:" var grip = document.createElement("div"); grip.className = "gridContainerGrip"; grip.setAttribute("tabIndex", "0"); var _this= this; this.onMouseOver = this.connect(grip, "onmouseover", function(e){ var gridContainerGripShow = false; for(var i = 0; i < _this.grid.length - 1; i++){ if(dojo.hasClass(_this.grid[i].grip, "gridContainerGripShow")){ gridContainerGripShow = true; break; } } if(!gridContainerGripShow){ dojo.removeClass(e.target, "gridContainerGrip"); dojo.addClass(e.target, "gridContainerGripShow"); } } ); this.connect(grip,"onmouseout",function(e){ if(!_this._isResized){ dojo.removeClass(e.target, "gridContainerGripShow"); dojo.addClass(e.target, "gridContainerGrip"); } } ); this.connect(grip,"onmousedown",function(e){ _this._a11yOn = false; _this._activeGrip = e.target; _this.resizeColumnOn(e); }); this.domNode.appendChild(grip); dz.grip = grip; ";s:7:"summary";s:33:"Create a grip for a specific zone";s:7:"private";b:1;}s:42:"dojox.layout.GridContainer._initPlaceGrips";a:5:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:6:"source";s:605:" var dcs = dojo.getComputedStyle(this.domNode); var gcs = dojo.getComputedStyle(this.gridContainerTable); this._x = parseInt(dcs.paddingLeft); this._topGrip = parseInt(dcs.paddingTop); if(dojo.isIE || gcs.borderCollapse != "collapse"){ var ex = dojo._getBorderExtents(this.gridContainerTable); this._x += ex.l; this._topGrip += ex.t } this._topGrip += "px"; dojo.forEach(this.grid, function(zone){ if(zone.grip){ var grip = zone.grip; if (!dojo.isIE){ zone.pad = dojo._getPadBorderExtents(zone.node).w; } grip.style.top = this._topGrip; } }, this);";s:7:"summary";s:61:"Initialize the position of a grip which will not change (top)";s:7:"private";b:1;}s:38:"dojox.layout.GridContainer._placeGrips";a:5:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:6:"source";s:479:" var height; if (this.allowAutoScroll){ height = this.gridNode.scrollHeight; }else{ height = dojo.contentBox(this.gridNode).h; } var size = this._x; dojo.forEach(this.grid, function(zone){ if (zone.grip){ var grip = zone.grip; // Bug margin : IE size += dojo[(dojo.isIE ? "marginBox" : "contentBox")](zone.node).w + (dojo.isIE ? 0 : zone.pad); dojo.style(grip,{ left: size + "px", height: height + "px" }); } }, this);";s:7:"summary";s:51:"Define the position of a grip and place it on page.";s:7:"private";b:1;}s:42:"dojox.layout.GridContainer._getZoneByIndex";a:7:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:1:"n";a:1:{s:4:"type";s:7:"Integer";}}s:6:"source";s:71:" return this.grid[(n >= 0 && n < this.grid.length ? n : 0 )]; //number";s:7:"summary";s:53:"Return a DOM node containing a zone by given a index.";s:7:"returns";s:6:"number";s:7:"private";b:1;}s:39:"dojox.layout.GridContainer.getIndexZone";a:6:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:4:"zone";a:1:{s:4:"type";s:4:"Node";}}s:6:"source";s:139:" for(var z = 0; z < this.grid.length; z++){ if(this.grid[z].domNode == zone){ return z; // number } } return -1; // number";s:7:"summary";s:33:"Return an integer by given a zone";s:7:"returns";s:6:"number";}s:41:"dojox.layout.GridContainer.resizeColumnOn";a:5:{s:9:"prototype";s:26:"dojox.layout.GridContainer";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:2184:" var k = dojo.keys; if(this._a11yOn && e.keyCode != k.LEFT_ARROW && e.keyCode != k.RIGHT_ARROW){ return; } e.preventDefault(); dojo.body().style.cursor = "ew-resize"; this._isResized = true; this.initX = e.pageX; var tabSize = []; for(var i = 0; i < this.grid.length; i++){ tabSize[i] = dojo.contentBox(this.grid[i].node).w; } this.oldTabSize = tabSize; for(var i = 0; i< this.grid.length; i++){ if(this._activeGrip == this.grid[i].grip) { this.currentColumn = this.grid[i].node; this.currentColumnWidth = tabSize[i]; this.nextColumn = this.currentColumn.nextSibling; this.nextColumnWidth = tabSize[i+1]; } this.grid[i].node.style.width = tabSize[i] + "px"; } // calculate the minWidh of all children for current and next column var calculateChildMinWidth = function(childNodes, minChild){ var width = 0; var childMinWidth = 0; dojo.forEach(childNodes, function(child){ if(child.nodeType == 1){ var objectStyle = dojo.getComputedStyle(child); var minWidth = (dojo.isIE ? minChild : parseInt(objectStyle.minWidth)); childMinWidth = minWidth + parseInt(objectStyle.marginLeft)+ parseInt(objectStyle.marginRight); if(width < childMinWidth){ width = childMinWidth; } } }); return width; }; var currentColumnMinWidth = calculateChildMinWidth(this.currentColumn.childNodes, this.minChildWidth); var nextColumnMinWidth = calculateChildMinWidth(this.nextColumn.childNodes, this.minChildWidth); var minPix = Math.round((dojo.marginBox(this.gridContainerTable).w * this.minColWidth) / 100); this.currentMinCol = currentColumnMinWidth; this.nextMinCol = nextColumnMinWidth; if(minPix > this.currentMinCol){ this.currentMinCol = minPix; } if(minPix > this.nextMinCol){ this.nextMinCol = minPix; } if(this._a11yOn){ this.connectResizeColumnMove = this.connect(dojo.doc, "onkeypress", "resizeColumnMove"); }else{ this.connectResizeColumnMove = this.connect(dojo.doc, "onmousemove", "resizeColumnMove"); this.connectResizeColumnOff = this.connect(document, "onmouseup", "resizeColumnOff"); }";s:7:"summary";s:135:"Connect events to listen the resize action. Change the type of width columns (% to px) Calculate the minwidth according to the children";}s:43:"dojox.layout.GridContainer.resizeColumnMove";a:5:{s:9:"prototype";s:26:"dojox.layout.GridContainer";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:761:" var d = 0; if(this._a11yOn){ var k = dojo.keys; switch (e.keyCode){ case k.LEFT_ARROW: d = -10; break; case k.RIGHT_ARROW: d = 10; break; } }else{ e.preventDefault(); d = e.pageX - this.initX; } if(d == 0){ return; } if(!(this.currentColumnWidth + d < this.currentMinCol || this.nextColumnWidth - d < this.nextMinCol)) { this.currentColumnWidth += d; this.nextColumnWidth -= d; this.initX = e.pageX; this.currentColumn.style["width"] = this.currentColumnWidth + "px"; this.nextColumn.style["width"] = this.nextColumnWidth + "px"; this._activeGrip.style.left = parseInt(this._activeGrip.style.left) + d + "px"; this._placeGrips(); } if(this._a11yOn){ this.resizeColumnOff(e); }";s:7:"summary";s:20:"Change columns size.";}s:42:"dojox.layout.GridContainer.resizeColumnOff";a:5:{s:9:"prototype";s:26:"dojox.layout.GridContainer";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:1165:" dojo.body().style.cursor = "default"; if(this._a11yOn){ this.disconnect(this.connectResizeColumnMove); this._a11yOn = false; }else{ this.disconnect(this.connectResizeColumnMove); this.disconnect(this.connectResizeColumnOff); } var tabSize = []; var testSize = []; var tabWidth = this.gridContainerTable.clientWidth; for(var i = 0; i < this.grid.length; i++){ var _cb = dojo.contentBox(this.grid[i].node); if(dojo.isIE){ tabSize[i] = dojo.marginBox(this.grid[i].node).w; testSize[i] = _cb.w; }else{ tabSize[i] = _cb.w; testSize = tabSize; } } var update = false; for(var i = 0; i < testSize.length; i++){ if(testSize[i] != this.oldTabSize[i]){ update = true; break; } } if(update){ var mul = dojo.isIE ? 100 : 10000; for(var i = 0; i < this.grid.length; i++){ this.grid[i].node.style.width = Math.round((100 * mul * tabSize[i]) / tabWidth) / mul + "%"; } this._placeGrips(); } if (this._activeGrip){ dojo.removeClass(this._activeGrip, "gridContainerGripShow"); dojo.addClass(this._activeGrip, "gridContainerGrip"); } this._isResized= false;";s:7:"summary";s:68:"Disconnect resize events. Change the type of width columns (px to %)";}s:37:"dojox.layout.GridContainer.setColumns";a:5:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:9:"nbColumns";a:1:{s:4:"type";s:7:"Integer";}}s:6:"source";s:1953:" if(nbColumns > 0){ var delta = this.grid.length-nbColumns; if(delta > 0){ var count = []; var zone, start, end; /*Check if right or left columns are fixed*/ /*Columns are not taken in account and can't be deleted*/ if(this.mode == "right"){ end = (this.isLeftFixed && this.grid.length > 0) ? 1 : 0; start = this.grid.length - (this.isRightFixed ? 2 : 1); for(var z = start; z >= end; z--){ var nbChildren = 0; var zone = this.grid[z].node; for(var j = 0;j < zone.childNodes.length; j++){ if(zone.childNodes[j].nodeType==1 && !(zone.childNodes[j].id == "")){ //1 = dojo.html.ELEMENT_NODE nbChildren++; break; } } if(nbChildren == 0){ count[count.length] = z; } if(count.length>=delta){ this._deleteColumn(count); break; } } if(count.length < delta){ //Not enough empty columns console.error(this.i18n.err_onSetNbColsRightMode); } }else{ // mode="left" if(this.isLeftFixed&&this.grid.length>0){ start=1; }else{ start=0; } if(this.isRightFixed){ end=this.grid.length-1; }else{ end=this.grid.length; } for(var z=start;z=delta){ this._deleteColumn(count); break; } } if (count.length= 0; i--){ zone = this.gridNode.childNodes[i].lastChild; var found = false; while(!found){ if(zone != null){ if(zone.style.display !== "none"){ dijit.focus(zone); dojo.stopEvent(event); found = true; }else{ zone = zone[pos]; } }else{ break; } } if(found){ break; } } break; } }else{ if(focusNode.parentNode.parentNode == this.gridNode){ switch(e){ case k.UP_ARROW: case k.DOWN_ARROW: dojo.stopEvent(event); var nbDisplayChild = 0; dojo.forEach(focusNode.parentNode.childNodes, function(child){ if (child.style.display !== "none") nbDisplayChild++; }); if (nbDisplayChild == 1) return; var found = false; zone = focusNode[pos]; while(!found){ if(zone == null){ zone = focusNode.parentNode[child]; if(zone.style.display !== "none") found = true; else zone = zone[pos]; }else{ if(zone.style.display !== "none"){ found = true; }else{ zone = zone[pos]; } } } if(event.shiftKey){ if (dijit.byNode(focusNode).dragRestriction) return; var _dndType = focusNode.getAttribute("dndtype"); var accept = false; for(var i = 0; i < this.acceptTypes.length; i++){ if (_dndType == this.acceptTypes[i]){ var accept = true; break; } } if(accept){ var parent = focusNode.parentNode; var firstChild = parent.firstChild; var lastChild = parent.lastChild; while(firstChild.style.display == "none" || lastChild.style.display == "none"){ if(firstChild.style.display == "none"){ firstChild = firstChild.nextSibling; } if(lastChild.style.display == "none"){ lastChild = lastChild.previousSibling; } } if(e == k.UP_ARROW){ var r = parent.removeChild(focusNode); if(r == firstChild){ parent.appendChild(r); }else{ parent.insertBefore(r, zone); } r.setAttribute("tabIndex", "0"); dijit.focus(r); }else{ if(focusNode == lastChild){ var r = parent.removeChild(focusNode); parent.insertBefore(r, zone); r.setAttribute("tabIndex", "0"); dijit.focus(r); }else{ var r = parent.removeChild(zone); parent.insertBefore(r, focusNode); focusNode.setAttribute("tabIndex", "0"); dijit.focus(focusNode); } } }else{ this._displayPopup(); } }else{ dijit.focus(zone); } break; case k.RIGHT_ARROW: case k.LEFT_ARROW: dojo.stopEvent(event); if(event.shiftKey){ if(dijit.byNode(focusNode).dragRestriction){ return; } var z = 0; if(focusNode.parentNode[pos] == null){ if (e == k.LEFT_ARROW){ var z = this.gridNode.childNodes.length - 1; } }else if(focusNode.parentNode[pos].nodeType == 3){ z = this.gridNode.childNodes.length - 2; }else{ for(var i = 0; i < this.gridNode.childNodes.length; i++){ if(focusNode.parentNode[pos] == this.gridNode.childNodes[i]){ break; } z++; } } var _dndType = focusNode.getAttribute("dndtype"); var accept = false; for(var i = 0; i < this.acceptTypes.length; i++){ if(_dndType == this.acceptTypes[i]){ accept = true; break; } } if(accept){ var parentSource = focusNode.parentNode; var widget = dijit.byNode(focusNode); var r = parentSource.removeChild(focusNode); var place = (e == k.RIGHT_ARROW ? 0 : this.gridNode.childNodes[z].length); this.addService(widget, z, place); r.setAttribute("tabIndex", "0"); dijit.focus(r); this._placeGrips(); }else{ this._displayPopup(); } }else{ var node = focusNode.parentNode; while(zone === null){ if(node[pos] !== null && node[pos].nodeType !== 3){ node = node[pos]; }else{ if(pos === "previousSibling"){ node = node.parentNode.childNodes[node.parentNode.childNodes.length - 1]; }else{ node = node.parentNode.childNodes[0]; } } var found = false; var tempZone = node[child]; while(!found){ if(tempZone != null){ if(tempZone.style.display !== "none") { zone = tempZone; found = true; }else{ tempZone = tempZone[pos]; } }else{ break; } } } dijit.focus(zone); } break; } }else{ // focus on a grip ! if(dojo.hasClass(focusNode,"gridContainerGrip") || dojo.hasClass(focusNode,"gridContainerGripShow")){ this._activeGrip = event.target; this._a11yOn = true; this.resizeColumnOn(event); } } }";s:7:"summary";s:299:"Enable a11y into the GridContainer : - Possibility to move focus into the GridContainer (TAB, LEFT ARROW, RIGHT ARROW, UP ARROW, DOWN ARROW). - Possibility to move GridContainer's children (Drag and Drop) with keyboard. (SHIFT + ARROW). If the type of widget is not draggable, a popup is displayed.";s:7:"private";b:1;}s:40:"dojox.layout.GridContainer._displayPopup";a:5:{s:9:"prototype";s:26:"dojox.layout.GridContainer";s:4:"type";s:8:"Function";s:6:"source";s:450:" if(this._canDisplayPopup){ var popup = dojo.doc.createElement("div"); dojo.addClass(popup, "gridContainerPopup"); popup.innerHTML = this.i18n.alertPopup; var attachPopup = this.containerNode.appendChild(popup); this._canDisplayPopup = false; setTimeout(dojo.hitch(this, function(){ this.containerNode.removeChild(attachPopup); dojo.destroy(attachPopup); this._canDisplayPopup = true; }), this.timeDisplayPopup); }";s:7:"summary";s:47:"display a popup when a widget type can not move";s:7:"private";b:1;}s:31:"dojox.layout.GridContainer.cell";a:2:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:31:"dojox.layout.GridContainer.grid";a:2:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:38:"dojox.layout.GridContainer.dropHandler";a:2:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:32:"dojox.layout.GridContainer.tabDZ";a:2:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:41:"dojox.layout.GridContainer.handleDndStart";a:2:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:38:"dojox.layout.GridContainer.onMouseOver";a:2:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:29:"dojox.layout.GridContainer._x";a:3:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"private";b:1;s:7:"summary";s:0:"";}s:35:"dojox.layout.GridContainer._topGrip";a:3:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"private";b:1;s:7:"summary";s:0:"";}s:32:"dojox.layout.GridContainer.initX";a:2:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:37:"dojox.layout.GridContainer.oldTabSize";a:2:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:40:"dojox.layout.GridContainer.currentColumn";a:2:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:45:"dojox.layout.GridContainer.currentColumnWidth";a:2:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:37:"dojox.layout.GridContainer.nextColumn";a:2:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:42:"dojox.layout.GridContainer.nextColumnWidth";a:2:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:40:"dojox.layout.GridContainer.currentMinCol";a:2:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:37:"dojox.layout.GridContainer.nextMinCol";a:2:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:50:"dojox.layout.GridContainer.connectResizeColumnMove";a:2:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:49:"dojox.layout.GridContainer.connectResizeColumnOff";a:2:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:49:"dojox.layout.GridContainer._activeGrip.style.left";a:3:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:14:"private_parent";b:1;s:7:"summary";s:0:"";}s:38:"dojox.layout.GridContainer.grid.length";a:2:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:37:"dojox.layout.GridContainer.dragOffset";a:2:{s:8:"instance";s:26:"dojox.layout.GridContainer";s:7:"summary";s:0:"";}s:29:"dijit._Widget.dragRestriction";a:2:{s:9:"prototype";s:13:"dijit._Widget";s:7:"summary";s:0:"";}s:20:"dijit._Widget.column";a:2:{s:9:"prototype";s:13:"dijit._Widget";s:7:"summary";s:0:"";}s:19:"dijit._Widget.group";a:2:{s:9:"prototype";s:13:"dijit._Widget";s:7:"summary";s:0:"";}s:12:"dojox.layout";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:"";}}