Example #1
0
 /**
  * Prepare javscript code for save columns size data in cookies
  *
  * @return Expr
  */
 public function prepareSetColumnSizeCookie()
 {
     return new Expr("\n          function(newwidth, index) {\n                var colModel = \$('#" . $this->grid->getId() . "').jqGrid('getGridParam','colModel');\n                var columnName = colModel[index].name;\n                var columnSizesCookieName = '" . BaseGrid::COOKIE_COLUMNS_SIZES_PREFIX . $this->grid->getId() . "';\n                columnSizesCookieName = columnSizesCookieName.toLowerCase().replace(/\\//g,'_');\n                var currentValues = jQuery.cookie(columnSizesCookieName);\n                var found = false;\n                var newValue = '';\n                var colInfo = [];\n                if (currentValues) {\n                    var valuesArray = currentValues.split(';');\n                    for (i = 0; i < valuesArray.length; i++) {\n                        colInfo = valuesArray[i].split(':');\n                        if (colInfo[0] == columnName) {\n                            found = true;\n                            newValue += colInfo[0] + ':' + newwidth + ';';\n                        } else {\n                            newValue += colInfo[0] + ':' + colInfo[1] + ';';\n                        }\n                    }\n                }\n                if (!found) {\n                    newValue += columnName + ':' + newwidth;\n                } else {\n                    newValue = newValue.substr(0, newValue.length - 1);\n                }\n                jQuery.cookie(columnSizesCookieName, newValue, { expires: 30, path: '/' }); \n                " . ($this->grid->getReloadAfterResize() ? "window.document.location.reload();" : "") . "\n          }\n            ");
 }