removed mods directory from the ATutor codebase
[atutor.git] / mods / ldap / jscripts / jqgrid / js / grid.custom.js
diff --git a/mods/ldap/jscripts/jqgrid/js/grid.custom.js b/mods/ldap/jscripts/jqgrid/js/grid.custom.js
deleted file mode 100644 (file)
index 99a783d..0000000
+++ /dev/null
@@ -1,407 +0,0 @@
-;(function($){\r
-/**\r
- * jqGrid extension for custom methods\r
- * Tony Tomov tony@trirand.com\r
- * http://trirand.com/blog/ \r
- * Dual licensed under the MIT and GPL licenses:\r
- * http://www.opensource.org/licenses/mit-license.php\r
- * http://www.gnu.org/licenses/gpl.html\r
-**/ \r
-$.fn.extend({\r
-       getColProp : function(colname){\r
-               var ret ={}, $t = this[0];\r
-               if ( !$t.grid ) { return; }\r
-               var cM = $t.p.colModel;\r
-               for ( var i =0;i<cM.length;i++ ) {\r
-                       if ( cM[i].name == colname ) {\r
-                               ret = cM[i];\r
-                               break;\r
-                       }\r
-               };\r
-               return ret;\r
-       },\r
-       setColProp : function(colname, obj){\r
-               //do not set width will not work\r
-               return this.each(function(){\r
-                       if ( this.grid ) {\r
-                               if ( obj ) {\r
-                                       var cM = this.p.colModel;\r
-                                       for ( var i =0;i<cM.length;i++ ) {\r
-                                               if ( cM[i].name == colname ) {\r
-                                                       $.extend(this.p.colModel[i],obj);\r
-                                                       break;\r
-                                               }\r
-                                       }\r
-                               }\r
-                       }\r
-               });\r
-       },\r
-       sortGrid : function(colname,reload){\r
-               return this.each(function(){\r
-                       var $t=this,idx=-1;\r
-                       if ( !$t.grid ) { return;}\r
-                       if ( !colname ) { colname = $t.p.sortname; }\r
-                       for ( var i=0;i<$t.p.colModel.length;i++ ) {\r
-                               if ( $t.p.colModel[i].index == colname || $t.p.colModel[i].name==colname ) {\r
-                                       idx = i;\r
-                                       break;\r
-                               }\r
-                       }\r
-                       if ( idx!=-1 ){\r
-                               var sort = $t.p.colModel[idx].sortable;\r
-                               if ( typeof sort !== 'boolean' ) { sort =  true; }\r
-                               if ( typeof reload !=='boolean' ) { reload = false; }\r
-                               if ( sort ) { $t.sortData(colname, idx, reload); }\r
-                       }\r
-               });\r
-       },\r
-       GridDestroy : function () {\r
-               return this.each(function(){\r
-                       if ( this.grid ) { \r
-                               if ( this.p.pager ) {\r
-                                       $(this.p.pager).remove();\r
-                               }\r
-                               $("#lui_"+this.id).remove();\r
-                               $(this.grid.bDiv).remove();\r
-                               $(this.grid.hDiv).remove();\r
-                               $(this.grid.cDiv).remove();\r
-                               if(this.p.toolbar[0]) { $(this.grid.uDiv).remove(); }\r
-                               this.p = null;\r
-                               this.grid =null;\r
-                       }\r
-               });\r
-       },\r
-       GridUnload : function(){\r
-               return this.each(function(){\r
-                       if ( !this.grid ) {return;}\r
-                       var defgrid = {id: $(this).attr('id'),cl: $(this).attr('class')};\r
-                       if (this.p.pager) {\r
-                               $(this.p.pager).empty();\r
-                       }\r
-                       var newtable = document.createElement('table');\r
-                       $(newtable).attr({id:defgrid['id']});\r
-                       newtable.className = defgrid['cl'];\r
-                       $("#lui_"+this.id).remove();\r
-                       if(this.p.toolbar[0]) { $(this.grid.uDiv).remove(); }\r
-                       $(this.grid.cDiv).remove();\r
-                       $(this.grid.bDiv).remove();\r
-                       $(this.grid.hDiv).before(newtable).remove();\r
-                       this.p = null;\r
-                       this.grid =null;\r
-               });\r
-       },\r
-       filterGrid : function(gridid,p){\r
-               p = $.extend({\r
-                       gridModel : false,\r
-                       gridNames : false,\r
-                       gridToolbar : false,\r
-                       filterModel: [], // label/name/stype/defval/surl/sopt\r
-                       formtype : "horizontal", // horizontal/vertical\r
-                       autosearch: true, // if set to false a serch button should be enabled.\r
-                       formclass: "filterform",\r
-                       tableclass: "filtertable",\r
-                       buttonclass: "filterbutton",\r
-                       searchButton: "Search",\r
-                       clearButton: "Clear",\r
-                       enableSearch : false,\r
-                       enableClear: false,\r
-                       beforeSearch: null,\r
-                       afterSearch: null,\r
-                       beforeClear: null,\r
-                       afterClear: null,\r
-                       url : '',\r
-                       marksearched: true\r
-               },p  || {});\r
-               return this.each(function(){\r
-                       var self = this;\r
-                       this.p = p;\r
-                       if(this.p.filterModel.length == 0 && this.p.gridModel===false) { alert("No filter is set"); return;}\r
-                       if( !gridid) {alert("No target grid is set!"); return;}\r
-                       this.p.gridid = gridid.indexOf("#") != -1 ? gridid : "#"+gridid;\r
-                       var gcolMod = $(this.p.gridid).getGridParam('colModel');\r
-                       if(gcolMod) {\r
-                               if( this.p.gridModel === true) {\r
-                                       var thegrid = $(this.p.gridid)[0];\r
-                                       // we should use the options search, edittype, editoptions\r
-                                       // additionally surl and defval can be added in grid colModel\r
-                                       $.each(gcolMod, function (i,n) {\r
-                                               var tmpFil = [];\r
-                                               if(!this.search) {this.search = true;}\r
-                                               if( this.search === true && !this.hidden) {\r
-                                                       if(self.p.gridNames===true) {\r
-                                                               tmpFil.label = thegrid.p.colNames[i];\r
-                                                       } else {\r
-                                                               tmpFil.label = '';\r
-                                                       }\r
-                                                       tmpFil.name = this.name;\r
-                                                       tmpFil.index = this.index || this.name;\r
-                                                       // we support only text and selects, so all other to text\r
-                                                       tmpFil.stype = this.edittype || 'text';\r
-                                                       if(tmpFil.stype != 'select' || tmpFil.stype != 'select') {\r
-                                                               tmpFil.stype = 'text';\r
-                                                       }\r
-                                                       tmpFil.defval = this.defval || '';\r
-                                                       tmpFil.surl = this.surl || '';\r
-                                                       tmpFil.sopt = this.editoptions || {};\r
-                                                       tmpFil.width = this.width;\r
-                                                       self.p.filterModel.push(tmpFil);\r
-                                               }\r
-                                       });\r
-                               } else {\r
-                                       $.each(self.p.filterModel,function(i,n) {\r
-                                               for(var j=0;j<gcolMod.length;j++) {\r
-                                                       if(this.name == gcolMod[j].name) {\r
-                                                               this.index = gcolMod[j].index || this.name;\r
-                                                               break;\r
-                                                       }\r
-                                               }\r
-                                               if(!this.index) {\r
-                                                       this.index = this.name;\r
-                                               }\r
-                                       });\r
-                               }\r
-                       } else {\r
-                               alert("Could not get grid colModel"); return;\r
-                       }\r
-                       var triggerSearch = function() {\r
-                               var sdata={}, j=0, v;\r
-                               var gr = $(self.p.gridid)[0];\r
-                               if($.isFunction(self.p.beforeSearch)){self.p.beforeSearch();}\r
-                               $.each(self.p.filterModel,function(i,n){\r
-                                       switch (this.stype) {\r
-                                               case 'select' :\r
-                                                       v = $("select[@name="+this.name+"]",self).val();\r
-                                                       if(v) {\r
-                                                               sdata[this.index] = v;\r
-                                                               if(self.p.marksearched){\r
-                                                                       $("#jqgh_"+this.name,gr.grid.hDiv).addClass("dirty-cell");\r
-                                                               }\r
-                                                               j++;\r
-                                                       } else {\r
-                                                               if(self.p.marksearched){\r
-                                                                       $("#jqgh_"+this.name,gr.grid.hDiv).removeClass("dirty-cell");\r
-                                                               }\r
-                                                               // remove from postdata\r
-                                                               try {\r
-                                                                       delete gr.p.postData[this.index];\r
-                                                               } catch(e) {}\r
-                                                       }\r
-                                                       break;\r
-                                               default:\r
-                                                       v = $("input[@name="+this.name+"]",self).val();\r
-                                                       if(v) {\r
-                                                               sdata[this.index] = v;\r
-                                                               if(self.p.marksearched){\r
-                                                                       $("#jqgh_"+this.name,gr.grid.hDiv).addClass("dirty-cell");\r
-                                                               }\r
-                                                               j++;\r
-                                                       } else {\r
-                                                               if(self.p.marksearched){\r
-                                                                       $("#jqgh_"+this.name,gr.grid.hDiv).removeClass("dirty-cell");\r
-                                                               }\r
-                                                               // remove from postdata\r
-                                                               try {\r
-                                                                       delete gr.p.postData[this.index];\r
-                                                               } catch (e) {}\r
-                                                       }\r
-                                       }\r
-                               });\r
-                               var sd =  j>0 ? true : false;\r
-                               gr.p.postData = $.extend(gr.p.postData,sdata);\r
-                               var saveurl;\r
-                               if(self.p.url) {\r
-                                       saveurl = $(gr).getGridParam('url');\r
-                                       $(gr).setGridParam({url:self.p.url});\r
-                               }\r
-                               $(gr).setGridParam({search:sd,page:1}).trigger("reloadGrid");\r
-                               if(saveurl) {$(gr).setGridParam({url:saveurl});}\r
-                               if($.isFunction(self.p.afterSearch)){self.p.afterSearch();}\r
-                       };\r
-                       var clearSearch = function(){\r
-                               var sdata={}, v, j=0;\r
-                               var gr = $(self.p.gridid)[0];\r
-                               if($.isFunction(self.p.beforeClear)){self.p.beforeClear();}\r
-                               $.each(self.p.filterModel,function(i,n){\r
-                                       v = (this.defval) ? this.defval : "";\r
-                                       if(!this.stype){this.stype=='text';}\r
-                                       switch (this.stype) {\r
-                                               case 'select' :\r
-                                                       $("select[@name="+this.name+"]",self).val(v);\r
-                                                       if(v) {\r
-                                                               sdata[this.index] = v;\r
-                                                               if(self.p.marksearched){\r
-                                                                       $("#jqgh_"+this.name,gr.grid.hDiv).addClass("dirty-cell");\r
-                                                               }\r
-                                                               j++;\r
-                                                       } else {\r
-                                                               if(self.p.marksearched){\r
-                                                                       $("#jqgh_"+this.name,gr.grid.hDiv).removeClass("dirty-cell");\r
-                                                               }\r
-                                                               // remove from postdata\r
-                                                               try {\r
-                                                                       delete gr.p.postData[this.index];\r
-                                                               } catch(e) {}\r
-                                                       }\r
-                                                       break;\r
-                                               case 'text':\r
-                                                       $("input[@name="+this.name+"]",self).val(v);\r
-                                                       if(v) {\r
-                                                               sdata[this.index] = v;\r
-                                                               if(self.p.marksearched){\r
-                                                                       $("#jqgh_"+this.name,gr.grid.hDiv).addClass("dirty-cell");\r
-                                                               }\r
-                                                               j++;\r
-                                                       } else {\r
-                                                               if(self.p.marksearched){\r
-                                                                       $("#jqgh_"+this.name,gr.grid.hDiv).removeClass("dirty-cell");\r
-                                                               }\r
-                                                               // remove from postdata\r
-                                                               try {\r
-                                                                       delete gr.p.postData[this.index];\r
-                                                               } catch(e) {}\r
-                                                       }\r
-                                       }\r
-                               });\r
-                               var sd =  j>0 ? true : false;\r
-                               gr.p.postData = $.extend(gr.p.postData,sdata);\r
-                               var saveurl;\r
-                               if(self.p.url) {\r
-                                       saveurl = $(gr).getGridParam('url');\r
-                                       $(gr).setGridParam({url:self.p.url});\r
-                               }\r
-                               $(gr).setGridParam({search:sd,page:1}).trigger("reloadGrid");\r
-                               if(saveurl) {$(gr).setGridParam({url:saveurl});}\r
-                               if($.isFunction(self.p.afterClear)){self.p.afterClear();}\r
-                       };\r
-                       var formFill = function(){\r
-                               var tr = document.createElement("tr");\r
-                               var tr1, sb, cb,tl,td, td1;\r
-                               if(self.p.formtype=='horizontal'){\r
-                                       $(tbl).append(tr);\r
-                               }\r
-                               $.each(self.p.filterModel,function(i,n){\r
-                                       tl = document.createElement("td");\r
-                                       $(tl).append("<label for='"+this.name+"'>"+this.label+"</label>");\r
-                                       td = document.createElement("td");\r
-                                       var $t=this;\r
-                                       if(!this.stype) { this.stype='text';}\r
-                                       switch (this.stype)\r
-                                       {\r
-                                       case "select":\r
-                                               if(this.surl) {\r
-                                                       // data returned should have already constructed html select\r
-                                                       $(td).load(this.surl,function(){\r
-                                                               if($t.defval) $("select",this).val($t.defval);\r
-                                                               $("select",this).attr({name:$t.name, id: "sg_"+$t.name});\r
-                                                               if($t.sopt) $("select",this).attr($t.sopt);\r
-                                                               if(self.p.gridToolbar===true && $t.width) {\r
-                                                                       $("select",this).width($t.width);\r
-                                                               }\r
-                                                               if(self.p.autosearch===true){\r
-                                                                       $("select",this).change(function(e){\r
-                                                                               triggerSearch();\r
-                                                                               return false;\r
-                                                                       });\r
-                                                               }\r
-                                                       });\r
-                                               } else {\r
-                                                       // sopt to construct the values\r
-                                                       if($t.sopt.value) {\r
-                                                               var so = $t.sopt.value.split(";"), sv, ov;\r
-                                                               try {delete $t.sopt['value'];} catch (e) {}\r
-                                                               var elem = document.createElement("select");\r
-                                                               $(elem).attr({name:$t.name, id: "sg_"+$t.name}).attr($t.sopt);\r
-                                                               for(var k=0; k<so.length;k++){\r
-                                                                       sv = so[k].split(":");\r
-                                                                       ov = document.createElement("option");\r
-                                                                       ov.value = sv[0]; ov.innerHTML = sv[1];\r
-                                                                       if (sv[1]==$t.defval) ov.selected ="selected";\r
-                                                                       elem.appendChild(ov);\r
-                                                               }\r
-                                                               if(self.p.gridToolbar===true && $t.width) {\r
-                                                                       $(elem).width($t.width);\r
-                                                               }\r
-                                                               $(td).append(elem);\r
-                                                               if(self.p.autosearch===true){\r
-                                                                       $(elem).change(function(e){\r
-                                                                               triggerSearch();\r
-                                                                               return false;\r
-                                                                       });\r
-                                                               }\r
-                                                       }\r
-                                               }\r
-                                               break;\r
-                                       case 'text':\r
-                                               var df = this.defval ? this.defval: "";\r
-                                               $(td).append("<input type='text' name='"+this.name+"' id='sg_"+this.name+"' value='"+df+"'/>");\r
-                                               if($t.sopt) $("input",td).attr($t.sopt);\r
-                                               if(self.p.gridToolbar===true && $t.width) {\r
-                                                       if($.browser.msie) {\r
-                                                               $("input",td).width($t.width-4);\r
-                                                       } else {\r
-                                                               $("input",td).width($t.width-2);\r
-                                                       }\r
-                                               }\r
-                                               if(self.p.autosearch===true){\r
-                                                       $("input",td).keypress(function(e){\r
-                                                               var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;\r
-                                                               if(key == 13){\r
-                                                                       triggerSearch();\r
-                                                                       return false;\r
-                                                               }\r
-                                                               return this;\r
-                                                       });\r
-                                               }\r
-                                               break;\r
-                                       }\r
-                                       if(self.p.formtype=='horizontal'){\r
-                                               if(self.p.grodToolbar===true && self.p.gridNames===false) {\r
-                                                       $(tr).append(td);\r
-                                               } else {\r
-                                                       $(tr).append(tl).append(td);\r
-                                               }\r
-                                               $(tr).append(td);\r
-                                       } else {\r
-                                               tr1 = document.createElement("tr");\r
-                                               $(tr1).append(tl).append(td);\r
-                                               $(tbl).append(tr1);\r
-                                       }\r
-                               });\r
-                               td = document.createElement("td");\r
-                               if(self.p.enableSearch === true){\r
-                                       sb = "<input type='button' id='sButton' class='"+self.p.buttonclass+"' value='"+self.p.searchButton+"'/>";\r
-                                       $(td).append(sb);\r
-                                       $("input#sButton",td).click(function(){\r
-                                               triggerSearch();\r
-                                               return false;\r
-                                       });\r
-                               }\r
-                               if(self.p.enableClear === true) {\r
-                                       cb = "<input type='button' id='cButton' class='"+self.p.buttonclass+"' value='"+self.p.clearButton+"'/>";\r
-                                       $(td).append(cb);\r
-                                       $("input#cButton",td).click(function(){\r
-                                               clearSearch();\r
-                                               return false;\r
-                                       });\r
-                               }\r
-                               if(self.p.enableClear === true || self.p.enableSearch === true) {\r
-                                       if(self.p.formtype=='horizontal') {\r
-                                               $(tr).append(td);\r
-                                       } else {\r
-                                               tr1 = document.createElement("tr");\r
-                                               $(tr1).append("<td>&nbsp;</td>").append(td);\r
-                                               $(tbl).append(tr1);\r
-                                       }\r
-                               }\r
-                       };\r
-                       var frm = $("<form name='SearchForm' style=display:inline;' class='"+this.p.formclass+"'></form>");\r
-                       var tbl =$("<table class='"+this.p.tableclass+"' cellspacing='0' cellpading='0' border='0'><tbody></tbody></table>");\r
-                       $(frm).append(tbl);\r
-                       formFill();\r
-                       $(this).append(frm);\r
-                       this.triggerSearch = function () {triggerSearch();};\r
-                       this.clearSearch = function () {clearSearch();};\r
-               });\r
-       }\r
-});\r
-})(jQuery);
\ No newline at end of file