/** * 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 "); }