r166 - in sandbox/nuiton-js-jqgrid: . src/main/resources/META-INF/nuiton-js src/main/resources/nuiton-js-jqgrid/css src/main/resources/nuiton-js-jqgrid/js src/main/resources/nuiton-js-jqgrid/js/i18n src/main/resources/nuiton-js-jqgrid/plugins src/site src/site/rst
Author: echatellier Date: 2013-07-19 23:45:03 +0200 (Fri, 19 Jul 2013) New Revision: 166 Url: http://nuiton.org/projects/nuiton-js/repository/revisions/166 Log: Update jqgrid Added: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-id.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-vi.js Removed: sandbox/nuiton-js-jqgrid/changelog.txt Modified: sandbox/nuiton-js-jqgrid/.classpath sandbox/nuiton-js-jqgrid/LICENSE.txt sandbox/nuiton-js-jqgrid/README.txt sandbox/nuiton-js-jqgrid/generate-i18n-group.sh sandbox/nuiton-js-jqgrid/pom.xml sandbox/nuiton-js-jqgrid/src/main/resources/META-INF/nuiton-js/wro-jqgrid.xml sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/css/ellipsis-xbl.xml sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/css/ui.jqgrid.css sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ar.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-bg.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-bg1251.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-cat.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-cn.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-cs.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-da.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-de.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-dk.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-el.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-en.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-es.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-fa.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-fi.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-fr.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-gl.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-he.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-hr.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-hr1250.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-hu.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-is.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-it.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ja.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-kr.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-lt.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-mne.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-nl.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-no.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-pl.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-pt-br.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-pt.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ro.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ru.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sk.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sr-latin.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sr.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sv.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-th.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-tr.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-tw.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ua.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/jquery.jqGrid.src.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/grid.addons.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/grid.postext.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/grid.setcolumns.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/jquery.contextmenu.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/jquery.searchFilter.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/jquery.tablednd.js sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/searchFilter.css sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/ui.multiselect.css sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/ui.multiselect.js sandbox/nuiton-js-jqgrid/src/site/rst/index.rst.vm sandbox/nuiton-js-jqgrid/src/site/site_en.xml Property changes on: sandbox/nuiton-js-jqgrid/.classpath ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Property changes on: sandbox/nuiton-js-jqgrid/LICENSE.txt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/README.txt =================================================================== --- sandbox/nuiton-js-jqgrid/README.txt 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/README.txt 2013-07-19 21:45:03 UTC (rev 166) @@ -1 +1,2 @@ +for f in src/main/resources/nuiton-js-jqgrid/js/i18n/*.js; do sed -i '1i// %%Ignore-License' $f; done Property changes on: sandbox/nuiton-js-jqgrid/README.txt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Deleted: sandbox/nuiton-js-jqgrid/changelog.txt =================================================================== --- sandbox/nuiton-js-jqgrid/changelog.txt 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/changelog.txt 2013-07-19 21:45:03 UTC (rev 166) @@ -1,2 +0,0 @@ -Please refer to the release note : - http://maven-site.nuiton.org/nuiton-js/changes-report.html Property changes on: sandbox/nuiton-js-jqgrid/generate-i18n-group.sh ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/pom.xml =================================================================== --- sandbox/nuiton-js-jqgrid/pom.xml 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/pom.xml 2013-07-19 21:45:03 UTC (rev 166) @@ -14,7 +14,7 @@ </parent> <artifactId>nuiton-js-jqgrid</artifactId> - <version>4.4.1-1</version> + <version>4.5.2-1-SNAPSHOT</version> <name>Nuiton JS :: jqGrid</name> <description>jqGrid jar packaging</description> @@ -29,9 +29,9 @@ </licenses> <scm> - <connection>scm:svn:http://svn.nuiton.org/svn/nuiton-js/tags/nuiton-js-jqgrid-4.4.1-1</connection> - <developerConnection>scm:svn:http://svn.nuiton.org/svn/nuiton-js/tags/nuiton-js-jqgrid-4.4.1-1</developerConnection> - <url>http://www.nuiton.org/repositories/browse/nuiton-js/tags/nuiton-js-jqgrid-4.4.1-1</url> + <connection>scm:svn:http://svn.nuiton.org/svn/nuiton-js/tags/nuiton-js-jqgrid-4.5.2-1</connection> + <developerConnection>scm:svn:http://svn.nuiton.org/svn/nuiton-js/tags/nuiton-js-jqgrid-4.5.2-1</developerConnection> + <url>http://www.nuiton.org/repositories/browse/nuiton-js/tags/nuiton-js-jqgrid-4.5.2-1</url> </scm> <dependencies> Property changes on: sandbox/nuiton-js-jqgrid/pom.xml ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/META-INF/nuiton-js/wro-jqgrid.xml =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/META-INF/nuiton-js/wro-jqgrid.xml 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/META-INF/nuiton-js/wro-jqgrid.xml 2013-07-19 21:45:03 UTC (rev 166) @@ -1,8 +1,8 @@ <!-- #%L Nuiton JS :: jqGrid - $Id:$ - $HeadURL:$ + $Id$ + $HeadURL$ %% Copyright (C) 2012 - 2013 CodeLutin %% @@ -154,6 +154,10 @@ <group name='jqgrid-hu'> <css>classpath:nuiton-js-jqgrid/js/i18n/grid.locale-hu.js</css> </group> + + <group name='jqgrid-id'> + <css>classpath:nuiton-js-jqgrid/js/i18n/grid.locale-id.js</css> + </group> <group name='jqgrid-is'> <css>classpath:nuiton-js-jqgrid/js/i18n/grid.locale-is.js</css> @@ -239,4 +243,8 @@ <css>classpath:nuiton-js-jqgrid/js/i18n/grid.locale-ua.js</css> </group> + <group name='jqgrid-vi'> + <css>classpath:nuiton-js-jqgrid/js/i18n/grid.locale-vi.js</css> + </group> + </groups> Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/META-INF/nuiton-js/wro-jqgrid.xml ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/css/ellipsis-xbl.xml ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/css/ui.jqgrid.css =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/css/ui.jqgrid.css 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/css/ui.jqgrid.css 2013-07-19 21:45:03 UTC (rev 166) @@ -1,20 +1,20 @@ -/*%%Ignore-License Grid*/ +/*Grid %%Ignore-License */ .ui-jqgrid {position: relative;} -.ui-jqgrid .ui-jqgrid-view {position: relative;left:0px; top: 0px; padding: .0em; font-size:11px;} +.ui-jqgrid .ui-jqgrid-view {position: relative;left:0; top: 0; padding: 0; font-size:11px;} /* caption*/ -.ui-jqgrid .ui-jqgrid-titlebar {padding: .3em .2em .2em .3em; position: relative; border-left: 0px none;border-right: 0px none; border-top: 0px none;} +.ui-jqgrid .ui-jqgrid-titlebar {padding: .3em .2em .2em .3em; position: relative; border-left: 0 none;border-right: 0 none; border-top: 0 none;} .ui-jqgrid .ui-jqgrid-title { float: left; margin: .1em 0 .2em; } .ui-jqgrid .ui-jqgrid-titlebar-close { position: absolute;top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height:18px;}.ui-jqgrid .ui-jqgrid-titlebar-close span { display: block; margin: 1px; } .ui-jqgrid .ui-jqgrid-titlebar-close:hover { padding: 0; } /* header*/ -.ui-jqgrid .ui-jqgrid-hdiv {position: relative; margin: 0em;padding: 0em; overflow-x: hidden; border-left: 0px none !important; border-top : 0px none !important; border-right : 0px none !important;} +.ui-jqgrid .ui-jqgrid-hdiv {position: relative; margin: 0;padding: 0; overflow-x: hidden; border-left: 0 none !important; border-top : 0 none !important; border-right : 0 none !important;} .ui-jqgrid .ui-jqgrid-hbox {float: left; padding-right: 20px;} -.ui-jqgrid .ui-jqgrid-htable {table-layout:fixed;margin:0em;} +.ui-jqgrid .ui-jqgrid-htable {table-layout:fixed;margin:0;} .ui-jqgrid .ui-jqgrid-htable th {height:22px;padding: 0 2px 0 2px;} .ui-jqgrid .ui-jqgrid-htable th div {overflow: hidden; position:relative; height:17px;} -.ui-th-column, .ui-jqgrid .ui-jqgrid-htable th.ui-th-column {overflow: hidden;white-space: nowrap;text-align:center;border-top : 0px none;border-bottom : 0px none;} -.ui-th-ltr, .ui-jqgrid .ui-jqgrid-htable th.ui-th-ltr {border-left : 0px none;} -.ui-th-rtl, .ui-jqgrid .ui-jqgrid-htable th.ui-th-rtl {border-right : 0px none;} +.ui-th-column, .ui-jqgrid .ui-jqgrid-htable th.ui-th-column {overflow: hidden;white-space: nowrap;text-align:center;border-top : 0 none;border-bottom : 0 none;} +.ui-th-ltr, .ui-jqgrid .ui-jqgrid-htable th.ui-th-ltr {border-left : 0 none;} +.ui-th-rtl, .ui-jqgrid .ui-jqgrid-htable th.ui-th-rtl {border-right : 0 none;} .ui-first-th-ltr {border-right: 1px solid; } .ui-first-th-rtl {border-left: 1px solid; } .ui-jqgrid .ui-th-div-ie {white-space: nowrap; zoom :1; height:17px;} @@ -22,15 +22,15 @@ .ui-jqgrid .ui-grid-ico-sort {overflow:hidden;position:absolute;display:inline; cursor: pointer !important;} .ui-jqgrid .ui-icon-asc {margin-top:-3px; height:12px;} .ui-jqgrid .ui-icon-desc {margin-top:3px;height:12px;} -.ui-jqgrid .ui-i-asc {margin-top:0px;height:16px;} -.ui-jqgrid .ui-i-desc {margin-top:0px;margin-left:13px;height:16px;} +.ui-jqgrid .ui-i-asc {margin-top:0;height:16px;} +.ui-jqgrid .ui-i-desc {margin-top:0;margin-left:13px;height:16px;} .ui-jqgrid .ui-jqgrid-sortable {cursor:pointer;} .ui-jqgrid tr.ui-search-toolbar th { border-top-width: 1px !important; border-top-color: inherit !important; border-top-style: ridge !important } -tr.ui-search-toolbar input {margin: 1px 0px 0px 0px} -tr.ui-search-toolbar select {margin: 1px 0px 0px 0px} +tr.ui-search-toolbar input {margin: 1px 0 0 0} +tr.ui-search-toolbar select {margin: 1px 0 0 0} /* body */ -.ui-jqgrid .ui-jqgrid-bdiv {position: relative; margin: 0em; padding:0; overflow: auto; text-align:left;} -.ui-jqgrid .ui-jqgrid-btable {table-layout:fixed; margin:0em; outline-style: none; } +.ui-jqgrid .ui-jqgrid-bdiv {position: relative; margin: 0; padding:0; overflow: auto; text-align:left;} +.ui-jqgrid .ui-jqgrid-btable {table-layout:fixed; margin:0; outline-style: none; } .ui-jqgrid tr.jqgrow { outline-style: none; } .ui-jqgrid tr.jqgroup { outline-style: none; } .ui-jqgrid tr.jqgrow td {font-weight: normal; overflow: hidden; white-space: pre; height: 22px;padding: 0 2px 0 2px;border-bottom-width: 1px; border-bottom-color: inherit; border-bottom-style: solid;} @@ -39,43 +39,43 @@ .ui-jqgrid tr.jqfoot td {font-weight: bold; overflow: hidden; white-space: pre; height: 22px;padding: 0 2px 0 2px;border-bottom-width: 1px; border-bottom-color: inherit; border-bottom-style: solid;} .ui-jqgrid tr.ui-row-ltr td {text-align:left;border-right-width: 1px; border-right-color: inherit; border-right-style: solid;} .ui-jqgrid tr.ui-row-rtl td {text-align:right;border-left-width: 1px; border-left-color: inherit; border-left-style: solid;} -.ui-jqgrid td.jqgrid-rownum { padding: 0 2px 0 2px; margin: 0px; border: 0px none;} +.ui-jqgrid td.jqgrid-rownum { padding: 0 2px 0 2px; margin: 0; border: 0 none;} .ui-jqgrid .ui-jqgrid-resize-mark { width:2px; left:0; background-color:#777; cursor: e-resize; cursor: col-resize; position:absolute; top:0; height:100px; overflow:hidden; display:none; border:0 none; z-index: 99999;} /* footer */ -.ui-jqgrid .ui-jqgrid-sdiv {position: relative; margin: 0em;padding: 0em; overflow: hidden; border-left: 0px none !important; border-top : 0px none !important; border-right : 0px none !important;} -.ui-jqgrid .ui-jqgrid-ftable {table-layout:fixed; margin-bottom:0em;} +.ui-jqgrid .ui-jqgrid-sdiv {position: relative; margin: 0;padding: 0; overflow: hidden; border-left: 0 none !important; border-top : 0 none !important; border-right : 0 none !important;} +.ui-jqgrid .ui-jqgrid-ftable {table-layout:fixed; margin-bottom:0;} .ui-jqgrid tr.footrow td {font-weight: bold; overflow: hidden; white-space:nowrap; height: 21px;padding: 0 2px 0 2px;border-top-width: 1px; border-top-color: inherit; border-top-style: solid;} .ui-jqgrid tr.footrow-ltr td {text-align:left;border-right-width: 1px; border-right-color: inherit; border-right-style: solid;} .ui-jqgrid tr.footrow-rtl td {text-align:right;border-left-width: 1px; border-left-color: inherit; border-left-style: solid;} /* Pager*/ -.ui-jqgrid .ui-jqgrid-pager { border-left: 0px none !important;border-right: 0px none !important; border-bottom: 0px none !important; margin: 0px !important; padding: 0px !important; position: relative; height: 25px;white-space: nowrap;overflow: hidden;font-size:11px;} +.ui-jqgrid .ui-jqgrid-pager { border-left: 0 none !important;border-right: 0 none !important; border-bottom: 0 none !important; margin: 0 !important; padding: 0 !important; position: relative; height: 25px;white-space: nowrap;overflow: hidden;font-size:11px;} .ui-jqgrid .ui-pager-control {position: relative;} -.ui-jqgrid .ui-pg-table {position: relative; padding-bottom:2px; width:auto; margin: 0em;} +.ui-jqgrid .ui-pg-table {position: relative; padding-bottom:2px; width:auto; margin: 0;} .ui-jqgrid .ui-pg-table td {font-weight:normal; vertical-align:middle; padding:1px;} .ui-jqgrid .ui-pg-button { height:19px !important;} .ui-jqgrid .ui-pg-button span { display: block; margin: 1px; float:left;} -.ui-jqgrid .ui-pg-button:hover { padding: 0px; } +.ui-jqgrid .ui-pg-button:hover { padding: 0; } .ui-jqgrid .ui-state-disabled:hover {padding:1px;} -.ui-jqgrid .ui-pg-input { height:13px;font-size:.8em; margin: 0em;} -.ui-jqgrid .ui-pg-selbox {font-size:.8em; line-height:18px; display:block; height:18px; margin: 0em;} +.ui-jqgrid .ui-pg-input { height:13px;font-size:.8em; margin: 0;} +.ui-jqgrid .ui-pg-selbox {font-size:.8em; line-height:18px; display:block; height:18px; margin: 0;} .ui-jqgrid .ui-separator {height: 18px; border-left: 1px solid #ccc ; border-right: 1px solid #ccc ; margin: 1px; float: right;} .ui-jqgrid .ui-paging-info {font-weight: normal;height:19px; margin-top:3px;margin-right:4px;} .ui-jqgrid .ui-jqgrid-pager .ui-pg-div {padding:1px 0;float:left;position:relative;} .ui-jqgrid .ui-jqgrid-pager .ui-pg-button { cursor:pointer; } .ui-jqgrid .ui-jqgrid-pager .ui-pg-div span.ui-icon {float:left;margin:0 2px;} -.ui-jqgrid td input, .ui-jqgrid td select .ui-jqgrid td textarea { margin: 0em;} +.ui-jqgrid td input, .ui-jqgrid td select .ui-jqgrid td textarea { margin: 0;} .ui-jqgrid td textarea {width:auto;height:auto;} -.ui-jqgrid .ui-jqgrid-toppager {border-left: 0px none !important;border-right: 0px none !important; border-top: 0px none !important; margin: 0px !important; padding: 0px !important; position: relative; height: 25px !important;white-space: nowrap;overflow: hidden;} +.ui-jqgrid .ui-jqgrid-toppager {border-left: 0 none !important;border-right: 0 none !important; border-top: 0 none !important; margin: 0 !important; padding: 0 !important; position: relative; height: 25px !important;white-space: nowrap;overflow: hidden;} .ui-jqgrid .ui-jqgrid-toppager .ui-pg-div {padding:1px 0;float:left;position:relative;} .ui-jqgrid .ui-jqgrid-toppager .ui-pg-button { cursor:pointer; } .ui-jqgrid .ui-jqgrid-toppager .ui-pg-div span.ui-icon {float:left;margin:0 2px;} /*subgrid*/ .ui-jqgrid .ui-jqgrid-btable .ui-sgcollapsed span {display: block;} -.ui-jqgrid .ui-subgrid {margin:0em;padding:0em; width:100%;} +.ui-jqgrid .ui-subgrid {margin:0;padding:0; width:100%;} .ui-jqgrid .ui-subgrid table {table-layout: fixed;} .ui-jqgrid .ui-subgrid tr.ui-subtblcell td {height:18px;border-right-width: 1px; border-right-color: inherit; border-right-style: solid;border-bottom-width: 1px; border-bottom-color: inherit; border-bottom-style: solid;} -.ui-jqgrid .ui-subgrid td.subgrid-data {border-top: 0px none !important;} -.ui-jqgrid .ui-subgrid td.subgrid-cell {border-width: 0px 0px 1px 0px;} +.ui-jqgrid .ui-subgrid td.subgrid-data {border-top: 0 none !important;} +.ui-jqgrid .ui-subgrid td.subgrid-cell {border-width: 0 0 1px 0;} .ui-jqgrid .ui-th-subgrid {height:20px;} /* loading */ .ui-jqgrid .loading {position: absolute; top: 45%;left: 45%;width: auto;z-index:101;padding: 6px; margin: 5px;text-align: center;font-weight: bold;display: none;border-width: 2px !important; font-size:11px;} @@ -84,7 +84,7 @@ * .jqgrid-overlay iframe {position:absolute;top:0;left:0;z-index:-1;width: expression(this.parentNode.offsetWidth+'px');height: expression(this.parentNode.offsetHeight+'px');} /* end loading div */ /* toolbar */ -.ui-jqgrid .ui-userdata {border-left: 0px none; border-right: 0px none; height : 21px;overflow: hidden; } +.ui-jqgrid .ui-userdata {border-left: 0 none; border-right: 0 none; height : 21px;overflow: hidden; } /*Modal Window */ .ui-jqdialog { display: none; width: 300px; position: absolute; padding: .2em; font-size:11px; overflow:visible;} .ui-jqdialog .ui-jqdialog-titlebar { padding: .3em .2em; position: relative; } @@ -95,20 +95,22 @@ .ui-jqdialog .ui-jqdialog-titlebar-close:hover, .ui-jqdialog .ui-jqdialog-titlebar-close:focus { padding: 0; } .ui-jqdialog-content, .ui-jqdialog .ui-jqdialog-content { border: 0; padding: .3em .2em; background: none; height:auto;} .ui-jqdialog .ui-jqconfirm {padding: .4em 1em; border-width:3px;position:absolute;bottom:10px;right:10px;overflow:visible;display:none;height:80px;width:220px;text-align:center;} +.ui-jqdialog>.ui-resizable-se { bottom: -3px; right: -3px} /* end Modal window*/ /* Form edit */ -.ui-jqdialog-content .FormGrid {margin: 0px;} -.ui-jqdialog-content .EditTable { width: 100%; margin-bottom:0em;} -.ui-jqdialog-content .DelTable { width: 100%; margin-bottom:0em;} -.EditTable td input, .EditTable td select, .EditTable td textarea {margin: 0em;} +.ui-jqdialog-content .FormGrid {margin: 0;} +.ui-jqdialog-content .EditTable { width: 100%; margin-bottom:0;} +.ui-jqdialog-content .DelTable { width: 100%; margin-bottom:0;} +.EditTable td input, .EditTable td select, .EditTable td textarea {margin: 0;} .EditTable td textarea { width:auto; height:auto;} -.ui-jqdialog-content td.EditButton {text-align: right;border-top: 0px none;border-left: 0px none;border-right: 0px none; padding-bottom:5px; padding-top:5px;} -.ui-jqdialog-content td.navButton {text-align: center; border-left: 0px none;border-top: 0px none;border-right: 0px none; padding-bottom:5px; padding-top:5px;} +.ui-jqdialog-content td.EditButton {text-align: right;border-top: 0 none;border-left: 0 none;border-right: 0 none; padding-bottom:5px; padding-top:5px;} +.ui-jqdialog-content td.navButton {text-align: center; border-left: 0 none;border-top: 0 none;border-right: 0 none; padding-bottom:5px; padding-top:5px;} .ui-jqdialog-content input.FormElement {padding:.3em} -.ui-jqdialog-content .data-line {padding-top:.1em;border: 0px none;} +.ui-jqdialog-content select.FormElement {padding:.3em} +.ui-jqdialog-content .data-line {padding-top:.1em;border: 0 none;} -.ui-jqdialog-content .CaptionTD {vertical-align: middle;border: 0px none; padding: 2px;white-space: nowrap;} -.ui-jqdialog-content .DataTD {padding: 2px; border: 0px none; vertical-align: top;} +.ui-jqdialog-content .CaptionTD {vertical-align: middle;border: 0 none; padding: 2px;white-space: nowrap;} +.ui-jqdialog-content .DataTD {padding: 2px; border: 0 none; vertical-align: top;} .ui-jqdialog-content .form-view-data {white-space:pre} .fm-button { display: inline-block; margin:0 4px 0 0; padding: .4em .5em; text-decoration:none !important; cursor:pointer; position: relative; text-align: center; zoom: 1; } .fm-button-icon-left { padding-left: 1.9em; } @@ -118,7 +120,7 @@ #nData, #pData { float: left; margin:3px;padding: 0; width: 15px; } /* End Eorm edit */ /*.ui-jqgrid .edit-cell {}*/ -.ui-jqgrid .selected-row, div.ui-jqgrid .selected-row td {font-style : normal;border-left: 0px none;} +.ui-jqgrid .selected-row, div.ui-jqgrid .selected-row td {font-style : normal;border-left: 0 none;} /* inline edit actions button*/ .ui-inline-del.ui-state-hover span, .ui-inline-edit.ui-state-hover span, .ui-inline-save.ui-state-hover span, .ui-inline-cancel.ui-state-hover span { @@ -136,9 +138,14 @@ /* RTL Support */ .ui-jqgrid .ui-jqgrid-title-rtl {float:right;margin: .1em 0 .2em; } .ui-jqgrid .ui-jqgrid-hbox-rtl {float: right; padding-left: 20px;} -.ui-jqgrid .ui-jqgrid-resize-ltr {float: right;margin: -2px -2px -2px 0px;} -.ui-jqgrid .ui-jqgrid-resize-rtl {float: left;margin: -2px 0px -1px -3px;} -.ui-jqgrid .ui-sort-rtl {left:0px;} +.ui-jqgrid .ui-jqgrid-resize-ltr {float: right;margin: -2px -2px -2px 0;} +.ui-jqgrid .ui-jqgrid-resize-rtl {float: left;margin: -2px 0 -1px -3px;} +.ui-jqgrid .ui-sort-rtl {left:0;} .ui-jqgrid .tree-wrap-ltr {float: left;} .ui-jqgrid .tree-wrap-rtl {float: right;} .ui-jqgrid .ui-ellipsis {text-overflow:ellipsis;} + +/* Toolbar Search Menu */ +.ui-search-menu { position: absolute; padding: 2px 5px;} +.ui-jqgrid .ui-search-table { padding: 0px 0px; border: 0px none; height:20px; width:100%;} +.ui-jqgrid .ui-search-table .ui-search-oper { width:20px; } \ No newline at end of file Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/css/ui.jqgrid.css ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ar.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ar.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ar.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Arabic Translation * * http://trirand.com/blog/ @@ -20,10 +20,8 @@ caption: "بحث...", Find: "بحث", Reset: "إلغاء", - odata : ['يساوي', 'يختلف', 'أقل', 'أقل أو يساوي','أكبر','أكبر أو يساوي', 'يبدأ بـ','لا يبدأ بـ','est dans',"n'est pas dans",'ينته بـ','لا ينته بـ','يحتوي','لا يحتوي'], - groupOps: [ { op: "مع", text: "الكل" }, { op: "أو", text: "لا أحد" } ], - matchText: " توافق", - rulesText: " قواعد" + odata: [{ oper:'eq', text:"يساوي"},{ oper:'ne', text:"يختلف"},{ oper:'lt', text:"أقل"},{ oper:'le', text:"أقل أو يساوي"},{ oper:'gt', text:"أكبر"},{ oper:'ge', text:"أكبر أو يساوي"},{ oper:'bw', text:"يبدأ بـ"},{ oper:'bn', text:"لا يبدأ بـ"},{ oper:'in', text:"est dans"},{ oper:'ni', text:"n'est pas dans"},{ oper:'ew', text:"ينته بـ"},{ oper:'en', text:"لا ينته بـ"},{ oper:'cn', text:"يحتوي"},{ oper:'nc', text:"لا يحتوي"}], + groupOps: [ { op: "مع", text: "الكل" }, { op: "أو", text: "لا أحد" } ] }, edit : { addCaption: "اضافة", @@ -103,6 +101,7 @@ S: function (j) {return j == 1 ? 'er' : 'e';}, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ar.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-bg.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-bg.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-bg.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Bulgarian Translation * Tony Tomov tony@trirand.com * http://trirand.com/blog/ @@ -20,10 +20,8 @@ caption: "Търсене...", Find: "Намери", Reset: "Изчисти", - odata : ['равно', 'различно', 'по-малко', 'по-малко или=','по-голямо','по-голямо или =', 'започва с','не започва с','се намира в','не се намира в','завършва с','не завършава с','съдържа', 'не съдържа' ], - groupOps: [ { op: "AND", text: " И " }, { op: "OR", text: "ИЛИ" } ], - matchText: " включи", - rulesText: " клауза" + odata: [{ oper:'eq', text:"равно"},{ oper:'ne', text:"различно"},{ oper:'lt', text:"по-малко"},{ oper:'le', text:"по-малко или="},{ oper:'gt', text:"по-голямо"},{ oper:'ge', text:"по-голямо или ="},{ oper:'bw', text:"започва с"},{ oper:'bn', text:"не започва с"},{ oper:'in', text:"се намира в"},{ oper:'ni', text:"не се намира в"},{ oper:'ew', text:"завършва с"},{ oper:'en', text:"не завършава с"},{ oper:'cn', text:"съдържа"},{ oper:'nc', text:"не съдържа"}], + groupOps: [ { op: "AND", text: " И " }, { op: "OR", text: "ИЛИ" } ] }, edit : { addCaption: "Нов Запис", @@ -109,6 +107,7 @@ }, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-bg.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-bg1251.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-bg1251.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-bg1251.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Bulgarian Translation * Tony Tomov tony@trirand.com * http://trirand.com/blog/ @@ -20,10 +20,8 @@ caption: "�������...", Find: "������", Reset: "�������", - odata : ['�����', '��������', '��-�����', '��-����� ���=','��-������','��-������ ��� =', '������� �','�� ������� �','�� ������ �','�� �� ������ �','�������� �','�� ��������� �','�������', '�� �������' ], - groupOps: [ { op: "AND", text: " � " }, { op: "OR", text: "���" } ], - matchText: " ������", - rulesText: " ������" + odata : [{ oper:'eq', text:'�����'}, { oper:'ne', text:'��������'}, { oper:'lt', text:'��-�����'}, { oper:'le', text:'��-����� ���='},{ oper:'gt', text:'��-������'},{ oper:'ge', text:'��-������ ��� ='}, { oper:'bw', text:'������� �'},{ oper:'bn', text:'�� ������� �'},{ oper:'in', text:'�� ������ �'},{ oper:'ni', text:'�� �� ������ �'},{ oper:'ew', text:'�������� �'},{ oper:'en', text:'�� ��������� �'},,{ oper:'cn', text:'�������'}, ,{ oper:'nc', text:'�� �������'} ], + groupOps: [ { op: "AND", text: " � " }, { op: "OR", text: "���" } ] }, edit : { addCaption: "��� �����", @@ -109,6 +107,7 @@ }, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-bg1251.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-cat.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-cat.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-cat.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Catalan Translation * Traducció jqGrid en Catatà per Faserline, S.L. * http://www.faserline.com @@ -20,10 +20,8 @@ caption: "Cerca...", Find: "Cercar", Reset: "Buidar", - odata : ['equal', 'not equal', 'less', 'less or equal','greater','greater or equal', 'begins with','does not begin with','is in','is not in','ends with','does not end with','contains','does not contain'], - groupOps: [ { op: "AND", text: "tot" }, { op: "OR", text: "qualsevol" } ], - matchText: " match", - rulesText: " rules" + odata: [{ oper:'eq', text:"equal"},{ oper:'ne', text:"not equal"},{ oper:'lt', text:"less"},{ oper:'le', text:"less or equal"},{ oper:'gt', text:"greater"},{ oper:'ge', text:"greater or equal"},{ oper:'bw', text:"begins with"},{ oper:'bn', text:"does not begin with"},{ oper:'in', text:"is in"},{ oper:'ni', text:"is not in"},{ oper:'ew', text:"ends with"},{ oper:'en', text:"does not end with"},{ oper:'cn', text:"contains"},{ oper:'nc', text:"does not contain"}], + groupOps: [ { op: "AND", text: "tot" }, { op: "OR", text: "qualsevol" } ] }, edit : { addCaption: "Afegir registre", @@ -105,6 +103,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'd-m-Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-cat.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-cn.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-cn.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-cn.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Chinese Translation for v4.2 * henryyan 2011.11.30 * http://www.wsria.com @@ -23,11 +23,9 @@ caption: "搜索...", Find: "查找", Reset: "重置", - odata : ['等于\u3000\u3000', '不等\u3000\u3000', '小于\u3000\u3000', '小于等于','大于\u3000\u3000','大于等于', - '开始于','不开始于','属于\u3000\u3000','不属于','结束于','不结束于','包含\u3000\u3000','不包含','空值于\u3000\u3000','非空值'], - groupOps: [ { op: "AND", text: "所有" }, { op: "OR", text: "任一" } ], - matchText: " 匹配", - rulesText: " 规则" + odata : [{oper:'eq', text:'等于\u3000\u3000'},{oper:'ne', text: '不等\u3000\u3000'}, { oper:'lt', text:'小于\u3000\u3000'},{ oper:'le', text: '小于等于'},{ oper:'gt', text:'大于\u3000\u3000'},{ oper:'ge', text:'大于等于'}, + {oper:'bw', text:'开始于'},{ oper:'bn', text:'不开始于'},{ oper:'in', text:'属于\u3000\u3000'},{ oper:'ni', text:'不属于'},{ oper:'ew', text:'结束于'},{ oper:'en', text:'不结束于'},{ oper:'cn', text:'包含\u3000\u3000'},{ oper:'nc', text:'不包含'},{ oper:'nu', text:'空值于\u3000\u3000'},{ oper:'nn', text:'非空值'}], + groupOps: [ { op: "AND", text: "所有" }, { op: "OR", text: "任一" } ] }, edit : { addCaption: "添加记录", @@ -109,6 +107,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'm-d-Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-cn.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-cs.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-cs.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-cs.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Czech Translation * Pavel Jirak pavel.jirak@jipas.cz * doplnil Thomas Wagner xwagne01@stud.fit.vutbr.cz @@ -21,10 +21,8 @@ caption: "Vyhledávám...", Find: "Hledat", Reset: "Reset", - odata : ['rovno', 'nerovono', 'menší', 'menší nebo rovno','větší', 'větší nebo rovno', 'začíná s', 'nezačíná s', 'je v', 'není v', 'končí s', 'nekončí s', 'obahuje', 'neobsahuje'], - groupOps: [ { op: "AND", text: "všech" }, { op: "OR", text: "některého z" } ], - matchText: " hledat podle", - rulesText: " pravidel" + odata: [{ oper:'eq', text:"rovno"},{ oper:'ne', text:"nerovono"},{ oper:'lt', text:"menší"},{ oper:'le', text:"menší nebo rovno"},{ oper:'gt', text:"větší"},{ oper:'ge', text:"větší nebo rovno"},{ oper:'bw', text:"začíná s"},{ oper:'bn', text:"nezačíná s"},{ oper:'in', text:"je v"},{ oper:'ni', text:"není v"},{ oper:'ew', text:"končí s"},{ oper:'en', text:"nekončí s"},{ oper:'cn', text:"obahuje"},{ oper:'nc', text:"neobsahuje"}], + groupOps: [ { op: "AND", text: "všech" }, { op: "OR", text: "některého z" } ] }, edit : { addCaption: "Přidat záznam", @@ -105,6 +103,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-cs.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-da.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-da.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-da.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Danish Translation * Aesiras A/S * http://www.aesiras.dk @@ -20,10 +20,8 @@ caption: "Søg...", Find: "Find", Reset: "Nulstil", - odata : ['lig', 'forskellige fra', 'mindre', 'mindre eller lig','større','større eller lig', 'begynder med','begynder ikke med','findes i','findes ikke i','ender med','ender ikke med','indeholder','indeholder ikke'], - groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ], - matchText: " lig", - rulesText: " regler" + odata: [{ oper:'eq', text:"lig"},{ oper:'ne', text:"forskellige fra"},{ oper:'lt', text:"mindre"},{ oper:'le', text:"mindre eller lig"},{ oper:'gt', text:"større"},{ oper:'ge', text:"større eller lig"},{ oper:'bw', text:"begynder med"},{ oper:'bn', text:"begynder ikke med"},{ oper:'in', text:"findes i"},{ oper:'ni', text:"findes ikke i"},{ oper:'ew', text:"ender med"},{ oper:'en', text:"ender ikke med"},{ oper:'cn', text:"indeholder"},{ oper:'nc', text:"indeholder ikke"}], + groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ] }, edit : { addCaption: "Tilføj", @@ -104,6 +102,7 @@ S: function (j) {return '.'}, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-da.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-de.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-de.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-de.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid German Translation * Version 1.0.0 (developed for jQuery Grid 3.3.1) * Olaf Klöppel opensource@blue-hit.de @@ -31,10 +31,8 @@ caption: "Suche...", Find: "Suchen", Reset: "Zurücksetzen", - odata : ['gleich', 'ungleich', 'kleiner', 'kleiner gleich','größer','größer gleich', 'beginnt mit','beginnt nicht mit','ist in','ist nicht in','endet mit','endet nicht mit','enthält','enthält nicht'], - groupOps: [ { op: "AND", text: "alle" }, { op: "OR", text: "mindestens eine" } ], - matchText: " erfülle", - rulesText: " Bedingung(en)" + odata: [{ oper:'eq', text:"gleich"},{ oper:'ne', text:"ungleich"},{ oper:'lt', text:"kleiner"},{ oper:'le', text:"kleiner gleich"},{ oper:'gt', text:"größer"},{ oper:'ge', text:"größer gleich"},{ oper:'bw', text:"beginnt mit"},{ oper:'bn', text:"beginnt nicht mit"},{ oper:'in', text:"ist in"},{ oper:'ni', text:"ist nicht in"},{ oper:'ew', text:"endet mit"},{ oper:'en', text:"endet nicht mit"},{ oper:'cn', text:"enthält"},{ oper:'nc', text:"enthält nicht"}], + groupOps: [ { op: "AND", text: "alle" }, { op: "OR", text: "mindestens eine" } ] }, edit : { addCaption: "Datensatz hinzufügen", @@ -115,6 +113,7 @@ S: function (j) {return '.';}, // one can also use 'er' instead of '.' but one have to use additional word like 'der' or 'den' before srcformat: 'Y-m-d', newformat: 'd.m.Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { // see http://php.net/manual/en/function.date.php for PHP format used in jqGrid // and see http://docs.jquery.com/UI/Datepicker/formatDate Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-de.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-dk.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-dk.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-dk.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,129 +1,128 @@ -;(function($){ -/** - * %%Ignore-License - * jqGrid Danish Translation - * Kaare Rasmussen kjs@jasonic.dk - * http://jasonic.dk/blog - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html -**/ -$.jgrid = { - defaults : { - recordtext: "View {0} - {1} of {2}", - emptyrecords: "No records to view", - loadtext: "Loading...", - pgtext : "Page {0} of {1}" - }, - search : { - caption: "Søg...", - Find: "Find", - Reset: "Nulstil", - odata : ['equal', 'not equal', 'less', 'less or equal','greater','greater or equal', 'begins with','does not begin with','is in','is not in','ends with','does not end with','contains','does not contain'], - groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ], - matchText: " match", - rulesText: " rules" - }, - edit : { - addCaption: "Tilføj", - editCaption: "Ret", - bSubmit: "Send", - bCancel: "Annuller", - bClose: "Luk", - saveData: "Data has been changed! Save changes?", - bYes : "Yes", - bNo : "No", - bExit : "Cancel", - msg: { - required:"Felt er nødvendigt", - number:"Indtast venligst et validt tal", - minValue:"værdi skal være større end eller lig med", - maxValue:"værdi skal være mindre end eller lig med", - email: "er ikke en valid email", - integer: "Indtast venligst et validt heltalt", - date: "Indtast venligst en valid datoværdi", - url: "is not a valid URL. Prefix required ('http://' or 'https://')", - nodefined : " is not defined!", - novalue : " return value is required!", - customarray : "Custom function should return array!", - customfcheck : "Custom function should be present in case of custom checking!" - } - }, - view : { - caption: "View Record", - bClose: "Close" - }, - del : { - caption: "Slet", - msg: "Slet valgte række(r)?", - bSubmit: "Slet", - bCancel: "Annuller" - }, - nav : { - edittext: " ", - edittitle: "Rediger valgte række", - addtext:" ", - addtitle: "Tilføj ny række", - deltext: " ", - deltitle: "Slet valgte række", - searchtext: " ", - searchtitle: "Find poster", - refreshtext: "", - refreshtitle: "Indlæs igen", - alertcap: "Advarsel", - alerttext: "Vælg venligst række", - viewtext: "", - viewtitle: "View selected row" - }, - col : { - caption: "Vis/skjul kolonner", - bSubmit: "Send", - bCancel: "Annuller" - }, - errors : { - errcap : "Fejl", - nourl : "Ingel url valgt", - norecords: "Ingen poster at behandle", - model : "colNames og colModel har ikke samme længde!" - }, - formatter : { - integer : {thousandsSeparator: " ", defaultValue: '0'}, - number : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0,00'}, - currency : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0,00'}, - date : { - dayNames: [ - "Søn", "Man", "Tirs", "Ons", "Tors", "Fre", "Lør", - "Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag" - ], - monthNames: [ - "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec", - "Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December" - ], - AmPm : ["","","",""], - S: function (j) {return '.'}, - srcformat: 'Y-m-d', - newformat: 'd/m/Y', - masks : { - ISO8601Long:"Y-m-d H:i:s", - ISO8601Short:"Y-m-d", - ShortDate: "j/n/Y", - LongDate: "l d. F Y", - FullDateTime: "l d F Y G:i:s", - MonthDay: "d. F", - ShortTime: "G:i", - LongTime: "G:i:s", - SortableDateTime: "Y-m-d\\TH:i:s", - UniversalSortableDateTime: "Y-m-d H:i:sO", - YearMonth: "F Y" - }, - reformatAfterEdit : false - }, - baseLinkUrl: '', - showAction: '', - target: '', - checkbox : {disabled:true}, - idName : 'id' - } -}; -// DK -})(jQuery); +// %%Ignore-License +;(function($){ +/** + * jqGrid Danish Translation + * Kaare Rasmussen kjs@jasonic.dk + * http://jasonic.dk/blog + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +$.jgrid = { + defaults : { + recordtext: "View {0} - {1} of {2}", + emptyrecords: "No records to view", + loadtext: "Loading...", + pgtext : "Page {0} of {1}" + }, + search : { + caption: "Søg...", + Find: "Find", + Reset: "Nulstil", + odata: [{ oper:'eq', text:'equal'},{ oper:'ne', text:'not equal'},{ oper:'lt', text:'less'},{ oper:'le', text:'less or equal'},{ oper:'gt', text:'greater'},{ oper:'ge', text:'greater or equal'},{ oper:'bw', text:'begins with'},{ oper:'bn', text:'does not begin with'},{ oper:'in', text:'is in'},{ oper:'ni', text:'is not in'},{ oper:'ew', text:'ends with'},{ oper:'en', text:'does not end with'},{ oper:'cn', text:'contains'},{ oper:'nc', text:'does not contain'}], + groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ] + }, + edit : { + addCaption: "Tilføj", + editCaption: "Ret", + bSubmit: "Send", + bCancel: "Annuller", + bClose: "Luk", + saveData: "Data has been changed! Save changes?", + bYes : "Yes", + bNo : "No", + bExit : "Cancel", + msg: { + required:"Felt er nødvendigt", + number:"Indtast venligst et validt tal", + minValue:"værdi skal være større end eller lig med", + maxValue:"værdi skal være mindre end eller lig med", + email: "er ikke en valid email", + integer: "Indtast venligst et validt heltalt", + date: "Indtast venligst en valid datoværdi", + url: "is not a valid URL. Prefix required ('http://' or 'https://')", + nodefined : " is not defined!", + novalue : " return value is required!", + customarray : "Custom function should return array!", + customfcheck : "Custom function should be present in case of custom checking!" + } + }, + view : { + caption: "View Record", + bClose: "Close" + }, + del : { + caption: "Slet", + msg: "Slet valgte række(r)?", + bSubmit: "Slet", + bCancel: "Annuller" + }, + nav : { + edittext: " ", + edittitle: "Rediger valgte række", + addtext:" ", + addtitle: "Tilføj ny række", + deltext: " ", + deltitle: "Slet valgte række", + searchtext: " ", + searchtitle: "Find poster", + refreshtext: "", + refreshtitle: "Indlæs igen", + alertcap: "Advarsel", + alerttext: "Vælg venligst række", + viewtext: "", + viewtitle: "View selected row" + }, + col : { + caption: "Vis/skjul kolonner", + bSubmit: "Send", + bCancel: "Annuller" + }, + errors : { + errcap : "Fejl", + nourl : "Ingel url valgt", + norecords: "Ingen poster at behandle", + model : "colNames og colModel har ikke samme længde!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0,00'}, + date : { + dayNames: [ + "Søn", "Man", "Tirs", "Ons", "Tors", "Fre", "Lør", + "Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag" + ], + monthNames: [ + "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec", + "Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December" + ], + AmPm : ["","","",""], + S: function (j) {return '.'}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "j/n/Y", + LongDate: "l d. F Y", + FullDateTime: "l d F Y G:i:s", + MonthDay: "d. F", + ShortTime: "G:i", + LongTime: "G:i:s", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F Y" + }, + reformatAfterEdit : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +// DK +})(jQuery); Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-dk.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-el.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-el.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-el.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Greek (el) Translation * Alex Cicovic * http://www.alexcicovic.com @@ -20,10 +20,8 @@ caption: "Αναζήτηση...", Find: "Εύρεση", Reset: "Επαναφορά", - odata : ['equal', 'not equal', 'less', 'less or equal','greater','greater or equal', 'begins with','does not begin with','is in','is not in','ends with','does not end with','contains','does not contain'], - groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ], - matchText: " match", - rulesText: " rules" + odata: [{ oper:'eq', text:'equal'},{ oper:'ne', text:'not equal'},{ oper:'lt', text:'less'},{ oper:'le', text:'less or equal'},{ oper:'gt', text:'greater'},{ oper:'ge', text:'greater or equal'},{ oper:'bw', text:'begins with'},{ oper:'bn', text:'does not begin with'},{ oper:'in', text:'is in'},{ oper:'ni', text:'is not in'},{ oper:'ew', text:'ends with'},{ oper:'en', text:'does not end with'},{ oper:'cn', text:'contains'},{ oper:'nc', text:'does not contain'}], + groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ] }, edit : { addCaption: "Εισαγωγή Εγγραφής", @@ -103,6 +101,7 @@ S: function (j) {return j == 1 || j > 1 ? ['η'][Math.min((j - 1) % 10, 3)] : ''}, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-el.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-en.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-en.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-en.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid English Translation * Tony Tomov tony@trirand.com * http://trirand.com/blog/ @@ -20,10 +20,8 @@ caption: "Search...", Find: "Find", Reset: "Reset", - odata : ['equal', 'not equal', 'less', 'less or equal','greater','greater or equal', 'begins with','does not begin with','is in','is not in','ends with','does not end with','contains','does not contain'], - groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ], - matchText: " match", - rulesText: " rules" + odata: [{ oper:'eq', text:'equal'},{ oper:'ne', text:'not equal'},{ oper:'lt', text:'less'},{ oper:'le', text:'less or equal'},{ oper:'gt', text:'greater'},{ oper:'ge', text:'greater or equal'},{ oper:'bw', text:'begins with'},{ oper:'bn', text:'does not begin with'},{ oper:'in', text:'is in'},{ oper:'ni', text:'is not in'},{ oper:'ew', text:'ends with'},{ oper:'en', text:'does not end with'},{ oper:'cn', text:'contains'},{ oper:'nc', text:'does not contain'}], + groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ] }, edit : { addCaption: "Add Record", @@ -105,6 +103,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th';}, srcformat: 'Y-m-d', newformat: 'n/j/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { // see http://php.net/manual/en/function.date.php for PHP format used in jqGrid // and see http://docs.jquery.com/UI/Datepicker/formatDate Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-en.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-es.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-es.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-es.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Spanish Translation * Traduccion jqGrid en Español por Yamil Bracho * Traduccion corregida y ampliada por Faserline, S.L. @@ -21,10 +21,8 @@ caption: "Búsqueda...", Find: "Buscar", Reset: "Limpiar", - odata : ['igual ', 'no igual a', 'menor que', 'menor o igual que','mayor que','mayor o igual a', 'empiece por','no empiece por','está en','no está en','termina por','no termina por','contiene','no contiene'], - groupOps: [ { op: "AND", text: "todo" }, { op: "OR", text: "cualquier" } ], - matchText: " match", - rulesText: " reglas" + odata: [{ oper:'eq', text:"igual "},{ oper:'ne', text:"no igual a"},{ oper:'lt', text:"menor que"},{ oper:'le', text:"menor o igual que"},{ oper:'gt', text:"mayor que"},{ oper:'ge', text:"mayor o igual a"},{ oper:'bw', text:"empiece por"},{ oper:'bn', text:"no empiece por"},{ oper:'in', text:"está en"},{ oper:'ni', text:"no está en"},{ oper:'ew', text:"termina por"},{ oper:'en', text:"no termina por"},{ oper:'cn', text:"contiene"},{ oper:'nc', text:"no contiene"}], + groupOps: [ { op: "AND", text: "todo" }, { op: "OR", text: "cualquier" } ] }, edit : { addCaption: "Agregar registro", @@ -105,6 +103,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'd-m-Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-es.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-fa.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-fa.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-fa.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function ($) { /** - * %%Ignore-License * jqGrid Persian Translation * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php @@ -18,7 +18,7 @@ caption: "جستجو...", Find: "يافته ها", Reset: "از نو", - odata: ['برابر', 'نا برابر', 'به', 'کوچکتر', 'از', 'بزرگتر', 'شروع با', 'شروع نشود با', 'نباشد', 'عضو این نباشد', 'اتمام با', 'تمام نشود با', 'حاوی', 'نباشد حاوی'], + odata: [{ oper:'eq', text:"برابر"},{ oper:'ne', text:"نا برابر"},{ oper:'lt', text:"به"},{ oper:'le', text:"کوچکتر"},{ oper:'gt', text:"از"},{ oper:'ge', text:"بزرگتر"},{ oper:'bw', text:"شروع با"},{ oper:'bn', text:"شروع نشود با"},{ oper:'in', text:"نباشد"},{ oper:'ni', text:"عضو این نباشد"},{ oper:'ew', text:"اتمام با"},{ oper:'en', text:"تمام نشود با"},{ oper:'cn', text:"حاوی"},{ oper:'nc', text:"نباشد حاوی"}], groupOps: [{ op: "AND", text: "کل" @@ -26,9 +26,7 @@ { op: "OR", text: "مجموع" - }], - matchText: " حاوی", - rulesText: " اطلاعات" + }] }, edit: { addCaption: "اضافه کردن رکورد", @@ -71,7 +69,7 @@ addtext: " ", addtitle: "افزودن رديف جديد", deltext: " ", - deltitle: "حذف ردبف هاي انتخاب شده", + deltitle: "حذف ردبف هاي انتیاب شده", searchtext: " ", searchtitle: "جستجوي رديف", refreshtext: "", @@ -120,6 +118,7 @@ }, srcformat: "Y-m-d", newformat: "d/m/Y", + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks: { ISO8601Long: "Y-m-d H:i:s", ISO8601Short: "Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-fa.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-fi.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-fi.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-fi.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid (fi) Finnish Translation * Jukka Inkeri awot.fi 2010-05-19 * Alex Grönholm alex.gronholm@nextday.fi 2011-05-18 @@ -21,10 +21,8 @@ caption: "Etsi...", Find: "Etsi", Reset: "Tyhjennä", - odata: ['on', 'ei ole', 'pienempi', 'pienempi tai yhtäsuuri','suurempi','suurempi tai yhtäsuuri', 'alkaa','ei ala','joukossa','ei joukossa','loppuu','ei lopu','sisältää','ei sisällä','on tyhjä','ei ole tyhjä'], - groupOps: [ { op: "AND", text: "kaikki" }, { op: "OR", text: "mikä tahansa" } ], - matchText: " täytä ehdot:", - rulesText: "" + odata: [{ oper:'eq', text:"on"},{ oper:'ne', text:"ei ole"},{ oper:'lt', text:"pienempi"},{ oper:'le', text:"pienempi tai yhtäsuuri"},{ oper:'gt', text:"suurempi"},{ oper:'ge', text:"suurempi tai yhtäsuuri"},{ oper:'bw', text:"alkaa"},{ oper:'bn', text:"ei ala"},{ oper:'in', text:"joukossa"},{ oper:'ni', text:"ei joukossa"},{ oper:'ew', text:"loppuu"},{ oper:'en', text:"ei lopu"},{ oper:'cn', text:"sisältää"},{ oper:'nc', text:"ei sisällä"},{ oper:'nu', text:"on tyhjä"},{ oper:'nn', text:"ei ole tyhjä"}], + groupOps: [ { op: "AND", text: "kaikki" }, { op: "OR", text: "mikä tahansa" } ] }, edit: { addCaption: "Uusi rivi", @@ -105,6 +103,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'd.m.Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks: { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-fi.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-fr.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-fr.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-fr.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid French Translation * Tony Tomov tony@trirand.com * http://trirand.com/blog/ @@ -20,10 +20,8 @@ caption: "Recherche...", Find: "Chercher", Reset: "Réinitialiser", - odata : ['égal', 'différent', 'inférieur', 'inférieur ou égal','supérieur','supérieur ou égal', 'commence par','ne commence pas par','est dans',"n'est pas dans",'finit par','ne finit pas par','contient','ne contient pas'], - groupOps: [ { op: "AND", text: "tous" }, { op: "OR", text: "au moins un" } ], - matchText: " correspondance", - rulesText: " règles" + odata: [{ oper:'eq', text:"égal"},{ oper:'ne', text:"différent"},{ oper:'lt', text:"inférieur"},{ oper:'le', text:"inférieur ou égal"},{ oper:'gt', text:"supérieur"},{ oper:'ge', text:"supérieur ou égal"},{ oper:'bw', text:"commence par"},{ oper:'bn', text:"ne commence pas par"},{ oper:'in', text:"est dans"},{ oper:'ni', text:"n'est pas dans"},{ oper:'ew', text:"finit par"},{ oper:'en', text:"ne finit pas par"},{ oper:'cn', text:"contient"},{ oper:'nc', text:"ne contient pas"}], + groupOps: [ { op: "AND", text: "tous" }, { op: "OR", text: "au moins un" } ] }, edit : { addCaption: "Ajouter", @@ -103,6 +101,7 @@ S: function (j) {return j == 1 ? 'er' : 'e';}, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-fr.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-gl.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-gl.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-gl.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Galician Translation * Translated by Jorge Barreiro <yortx.barry@gmail.com> * Dual licensed under the MIT and GPL licenses: @@ -19,10 +19,8 @@ caption: "Búsqueda...", Find: "Buscar", Reset: "Limpar", - odata : ['igual ', 'diferente a', 'menor que', 'menor ou igual que','maior que','maior ou igual a', 'empece por','non empece por','está en','non está en','termina por','non termina por','contén','non contén'], - groupOps: [ { op: "AND", text: "todo" }, { op: "OR", text: "calquera" } ], - matchText: " match", - rulesText: " regras" + odata: [{ oper:'eq', text:"igual "},{ oper:'ne', text:"diferente a"},{ oper:'lt', text:"menor que"},{ oper:'le', text:"menor ou igual que"},{ oper:'gt', text:"maior que"},{ oper:'ge', text:"maior ou igual a"},{ oper:'bw', text:"empece por"},{ oper:'bn', text:"non empece por"},{ oper:'in', text:"está en"},{ oper:'ni', text:"non está en"},{ oper:'ew', text:"termina por"},{ oper:'en', text:"non termina por"},{ oper:'cn', text:"contén"},{ oper:'nc', text:"non contén"}], + groupOps: [ { op: "AND", text: "todo" }, { op: "OR", text: "calquera" } ] }, edit : { addCaption: "Engadir rexistro", @@ -103,6 +101,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'd-m-Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-gl.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-he.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-he.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-he.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Hebrew Translation * Shuki Shukrun shukrun.shuki@gmail.com * http://trirand.com/blog/ @@ -20,10 +20,8 @@ caption: "מחפש...", Find: "חפש", Reset: "התחל", - odata : ['שווה', 'לא שווה', 'קטן', 'קטן או שווה','גדול','גדול או שווה', 'מתחיל ב','לא מתחיל ב','נמצא ב','לא נמצא ב','מסתיים ב','לא מסתיים ב','מכיל','לא מכיל'], - groupOps: [ { op: "AND", text: "הכל" }, { op: "OR", text: "אחד מ" } ], - matchText: " תואם", - rulesText: " חוקים" + odata: [{ oper:'eq', text:"שווה"},{ oper:'ne', text:"לא שווה"},{ oper:'lt', text:"קטן"},{ oper:'le', text:"קטן או שווה"},{ oper:'gt', text:"גדול"},{ oper:'ge', text:"גדול או שווה"},{ oper:'bw', text:"מתחיל ב"},{ oper:'bn', text:"לא מתחיל ב"},{ oper:'in', text:"נמצא ב"},{ oper:'ni', text:"לא נמצא ב"},{ oper:'ew', text:"מסתיים ב"},{ oper:'en', text:"לא מסתיים ב"},{ oper:'cn', text:"מכיל"},{ oper:'nc', text:"לא מכיל"}], + groupOps: [ { op: "AND", text: "הכל" }, { op: "OR", text: "אחד מ" } ] }, edit : { addCaption: "הוסף רשומה", @@ -104,6 +102,7 @@ S: function (j) {return j < 11 || j > 13 ? ['', '', '', ''][Math.min((j - 1) % 10, 3)] : ''}, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-he.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-hr.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-hr.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-hr.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,9 +1,10 @@ -;(function($){ +// %%Ignore-License +;(function($){ /** - * %%Ignore-License - * jqGrid Translation - * Tony Tomov tony@trirand.com - * http://trirand.com/blog/ + * jqGrid Croatian Translation + * Version 1.0.1 (developed for jQuery Grid 4.4) + * msajko@gmail.com + * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html @@ -17,13 +18,11 @@ pgtext : "Stranica {0} od {1}" }, search : { - caption: "pretraživanje...", - Find: "Traži", + caption: "Traži...", + Find: "Pretraživanje", Reset: "Poništi", - odata : ['jednak', 'nije identičan', 'manje', 'manje ili identično','veće','veše ili identično', 'počinje sa','ne počinje sa ','je u','nije u','završava sa','ne završava sa','sadrži','ne sadrži'], - groupOps: [ { op: "U", text: "sve" }, { op: "ILI", text: "bilo koji" } ], - matchText: " podudata se", - rulesText: " pravila" + odata: [{ oper:'eq', text:"jednak"},{ oper:'ne', text:"nije identičan"},{ oper:'lt', text:"manje"},{ oper:'le', text:"manje ili identično"},{ oper:'gt', text:"veće"},{ oper:'ge', text:"veše ili identično"},{ oper:'bw', text:"počinje sa"},{ oper:'bn', text:"ne počinje sa "},{ oper:'in', text:"je u"},{ oper:'ni', text:"nije u"},{ oper:'ew', text:"završava sa"},{ oper:'en', text:"ne završava sa"},{ oper:'cn', text:"sadrži"},{ oper:'nc', text:"ne sadrži"}], + groupOps: [ { op: "I", text: "sve" }, { op: "ILI", text: "bilo koji" } ] }, edit : { addCaption: "Dodaj zapis", @@ -38,8 +37,8 @@ msg: { required:"Polje je obavezno", number:"Molim, unesite ispravan broj", - minValue:"vrijednost mora biti veća ili identična ", - maxValue:"vrijednost mora biti manja ili identična", + minValue:"Vrijednost mora biti veća ili identična ", + maxValue:"Vrijednost mora biti manja ili identična", email: "neispravan e-mail", integer: "Molim, unjeti ispravan cijeli broj (integer)", date: "Molim, unjeti ispravan datum ", @@ -62,13 +61,13 @@ bCancel: "Odustani" }, nav : { - edittext: "", + edittext: " ", edittitle: "Promijeni obilježeni red", - addtext:"", + addtext:" ", addtitle: "Dodaj novi red", - deltext: "", + deltext: " ", deltitle: "Obriši obilježeni red", - searchtext: "", + searchtext: " ", searchtitle: "Potraži zapise", refreshtext: "", refreshtitle: "Ponovo preuzmi podatke", @@ -86,12 +85,12 @@ errcap : "Greška", nourl : "Nedostaje URL", norecords: "Bez zapisa za obradu", - model : "Duljina colNames <> colModel!" + model : "colNames i colModel imaju različitu duljinu!" }, formatter : { - integer : {thousandsSeparator: " ", defaultValue: '0'}, - number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'}, - currency : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + integer : {thousandsSeparator: ".", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, prefix: "", suffix:" Kn", defaultValue: '0,00'}, date : { dayNames: [ "Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub", @@ -105,18 +104,52 @@ S: function (j) {return ''}, srcformat: 'Y-m-d', newformat: 'd.m.Y.', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { - ISO8601Long:"Y-m-d H:i:s", - ISO8601Short:"Y-m-d", - ShortDate: "j.n.Y.", - LongDate: "l, j. F Y", - FullDateTime: "l, d. F Y G:i:s", - MonthDay: "d. F", - ShortTime: "G:i", - LongTime: "G:i:s", + // see http://php.net/manual/en/function.date.php for PHP format used in jqGrid + // and see http://docs.jquery.com/UI/Datepicker/formatDate + // and https://github.com/jquery/globalize#dates for alternative formats used frequently + ISO8601Long: "Y-m-d H:i:s", + ISO8601Short: "Y-m-d", + // short date: + // d - Day of the month, 2 digits with leading zeros + // m - Numeric representation of a month, with leading zeros + // Y - A full numeric representation of a year, 4 digits + ShortDate: "d.m.Y.", // in jQuery UI Datepicker: "dd.mm.yy." + // long date: + // l - A full textual representation of the day of the week + // j - Day of the month without leading zeros + // F - A full textual representation of a month + // Y - A full numeric representation of a year, 4 digits + LongDate: "l, j. F Y", // in jQuery UI Datepicker: "dddd, d. MMMM yyyy" + // long date with long time: + // l - A full textual representation of the day of the week + // j - Day of the month without leading zeros + // F - A full textual representation of a month + // Y - A full numeric representation of a year, 4 digits + // H - 24-hour format of an hour with leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + FullDateTime: "l, j. F Y H:i:s", // in jQuery UI Datepicker: "dddd, d. MMMM yyyy HH:mm:ss" + // month day: + // d - Day of the month, 2 digits with leading zeros + // F - A full textual representation of a month + MonthDay: "d F", // in jQuery UI Datepicker: "dd MMMM" + // short time (without seconds) + // H - 24-hour format of an hour with leading zeros + // i - Minutes with leading zeros + ShortTime: "H:i", // in jQuery UI Datepicker: "HH:mm" + // long time (with seconds) + // H - 24-hour format of an hour with leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + LongTime: "H:i:s", // in jQuery UI Datepicker: "HH:mm:ss" SortableDateTime: "Y-m-d\\TH:i:s", UniversalSortableDateTime: "Y-m-d H:i:sO", - YearMonth: "F, Y" + // month with year + // F - A full textual representation of a month + // Y - A full numeric representation of a year, 4 digits + YearMonth: "F Y" // in jQuery UI Datepicker: "MMMM yyyy" }, reformatAfterEdit : false }, @@ -127,4 +160,4 @@ idName : 'id' } }); -})(jQuery); +})(jQuery); \ No newline at end of file Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-hr.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-hr1250.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-hr1250.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-hr1250.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,9 +1,10 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License - * jqGrid Translation - * Tony Tomov tony@trirand.com - * http://trirand.com/blog/ + * jqGrid Croatian Translation (charset windows-1250) + * Version 1.0.1 (developed for jQuery Grid 4.4) + * msajko@gmail.com + * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html @@ -17,13 +18,11 @@ pgtext : "Stranica {0} od {1}" }, search : { - caption: "pretra�ivanje...", - Find: "Tra�i", + caption: "Tra�i...", + Find: "Pretra�ivanje", Reset: "Poni�ti", - odata : ['jednak', 'nije identi�an', 'manje', 'manje ili identi�no','ve�e','ve�e ili identi�no', 'po�inje sa','ne po�inje sa ','je u','nije u','zavr�ava sa','ne zavr�ava sa','sadr�i','ne sadr�i'], - groupOps: [ { op: "U", text: "sve" }, { op: "ILI", text: "bilo koji" } ], - matchText: " podudata se", - rulesText: " pravila" + odata : [{ oper:'eq', text:'jednak'}, { oper:'ne', text:'nije identi�an'}, { oper:'lt', text:'manje'}, { oper:'le', text:'manje ili identi�no'},{ oper:'gt', text:'ve�e'},{ oper:'ge', text:'ve�e ili identi�no'}, { oper:'bw', text:'po�inje sa'},{ oper:'bn', text:'ne po�inje sa '},{ oper:'in', text:'je u'},{ oper:'ni', text:'nije u'},{ oper:'ew', text:'zavr�ava sa'},{ oper:'en', text:'ne zavr�ava sa'},{ oper:'cn', text:'sadr�i'},{ oper:'nc', text:'ne sadr�i'}], + groupOps: [ { op: "I", text: "sve" }, { op: "ILI", text: "bilo koji" } ] }, edit : { addCaption: "Dodaj zapis", @@ -38,8 +37,8 @@ msg: { required:"Polje je obavezno", number:"Molim, unesite ispravan broj", - minValue:"vrijednost mora biti ve�a ili identi�na ", - maxValue:"vrijednost mora biti manja ili identi�na", + minValue:"Vrijednost mora biti ve�a ili identi�na ", + maxValue:"Vrijednost mora biti manja ili identi�na", email: "neispravan e-mail", integer: "Molim, unjeti ispravan cijeli broj (integer)", date: "Molim, unjeti ispravan datum ", @@ -62,13 +61,13 @@ bCancel: "Odustani" }, nav : { - edittext: "", + edittext: " ", edittitle: "Promijeni obilje�eni red", - addtext:"", + addtext:" ", addtitle: "Dodaj novi red", - deltext: "", + deltext: " ", deltitle: "Obri�i obilje�eni red", - searchtext: "", + searchtext: " ", searchtitle: "Potra�i zapise", refreshtext: "", refreshtitle: "Ponovo preuzmi podatke", @@ -86,12 +85,12 @@ errcap : "Gre�ka", nourl : "Nedostaje URL", norecords: "Bez zapisa za obradu", - model : "Duljina colNames <> colModel!" + model : "colNames i colModel imaju razli�itu duljinu!" }, formatter : { - integer : {thousandsSeparator: " ", defaultValue: '0'}, - number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'}, - currency : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + integer : {thousandsSeparator: ".", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, prefix: "", suffix:" Kn", defaultValue: '0,00'}, date : { dayNames: [ "Ned", "Pon", "Uto", "Sri", "�et", "Pet", "Sub", @@ -105,18 +104,52 @@ S: function (j) {return ''}, srcformat: 'Y-m-d', newformat: 'd.m.Y.', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { - ISO8601Long:"Y-m-d H:i:s", - ISO8601Short:"Y-m-d", - ShortDate: "j.n.Y.", - LongDate: "l, j. F Y", - FullDateTime: "l, d. F Y G:i:s", - MonthDay: "d. F", - ShortTime: "G:i", - LongTime: "G:i:s", + // see http://php.net/manual/en/function.date.php for PHP format used in jqGrid + // and see http://docs.jquery.com/UI/Datepicker/formatDate + // and https://github.com/jquery/globalize#dates for alternative formats used frequently + ISO8601Long: "Y-m-d H:i:s", + ISO8601Short: "Y-m-d", + // short date: + // d - Day of the month, 2 digits with leading zeros + // m - Numeric representation of a month, with leading zeros + // Y - A full numeric representation of a year, 4 digits + ShortDate: "d.m.Y.", // in jQuery UI Datepicker: "dd.mm.yy." + // long date: + // l - A full textual representation of the day of the week + // j - Day of the month without leading zeros + // F - A full textual representation of a month + // Y - A full numeric representation of a year, 4 digits + LongDate: "l, j. F Y", // in jQuery UI Datepicker: "dddd, d. MMMM yyyy" + // long date with long time: + // l - A full textual representation of the day of the week + // j - Day of the month without leading zeros + // F - A full textual representation of a month + // Y - A full numeric representation of a year, 4 digits + // H - 24-hour format of an hour with leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + FullDateTime: "l, j. F Y H:i:s", // in jQuery UI Datepicker: "dddd, d. MMMM yyyy HH:mm:ss" + // month day: + // d - Day of the month, 2 digits with leading zeros + // F - A full textual representation of a month + MonthDay: "d F", // in jQuery UI Datepicker: "dd MMMM" + // short time (without seconds) + // H - 24-hour format of an hour with leading zeros + // i - Minutes with leading zeros + ShortTime: "H:i", // in jQuery UI Datepicker: "HH:mm" + // long time (with seconds) + // H - 24-hour format of an hour with leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + LongTime: "H:i:s", // in jQuery UI Datepicker: "HH:mm:ss" SortableDateTime: "Y-m-d\\TH:i:s", UniversalSortableDateTime: "Y-m-d H:i:sO", - YearMonth: "F, Y" + // month with year + // F - A full textual representation of a month + // Y - A full numeric representation of a year, 4 digits + YearMonth: "F Y" // in jQuery UI Datepicker: "MMMM yyyy" }, reformatAfterEdit : false }, @@ -127,4 +160,4 @@ idName : 'id' } }); -})(jQuery); +})(jQuery); \ No newline at end of file Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-hr1250.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-hu.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-hu.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-hu.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Hungarian Translation * Őrszigety Ádám udx6bs@freemail.hu * http://trirand.com/blog/ @@ -21,10 +21,8 @@ caption: "Keresés...", Find: "Keres", Reset: "Alapértelmezett", - odata : ['egyenlő', 'nem egyenlő', 'kevesebb', 'kevesebb vagy egyenlő','nagyobb','nagyobb vagy egyenlő', 'ezzel kezdődik','nem ezzel kezdődik','tartalmaz','nem tartalmaz','végződik','nem végződik','tartalmaz','nem tartalmaz'], - groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ], - matchText: " match", - rulesText: " rules" + odata: [{ oper:'eq', text:"egyenlő"},{ oper:'ne', text:"nem egyenlő"},{ oper:'lt', text:"kevesebb"},{ oper:'le', text:"kevesebb vagy egyenlő"},{ oper:'gt', text:"nagyobb"},{ oper:'ge', text:"nagyobb vagy egyenlő"},{ oper:'bw', text:"ezzel kezdődik"},{ oper:'bn', text:"nem ezzel kezdődik"},{ oper:'in', text:"tartalmaz"},{ oper:'ni', text:"nem tartalmaz"},{ oper:'ew', text:"végződik"},{ oper:'en', text:"nem végződik"},{ oper:'cn', text:"tartalmaz"},{ oper:'nc', text:"nem tartalmaz"}], + groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ] }, edit : { addCaption: "Új tétel", @@ -106,6 +104,7 @@ S: function (j) {return '.-ik';}, srcformat: 'Y-m-d', newformat: 'Y/m/d', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-hu.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-id.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-id.js (rev 0) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-id.js 2013-07-19 21:45:03 UTC (rev 166) @@ -0,0 +1,169 @@ +// %%Ignore-License +;(function($){ +/** + * jqGrid English Translation + * Tony Tomov tony@trirand.com + * http://trirand.com/blog/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +$.jgrid = $.jgrid || {}; +$.extend($.jgrid,{ + defaults : { + recordtext: "Data {0} - {1} dari {2}", + emptyrecords: "Tidak ada data", + loadtext: "Memuat...", + pgtext : "Halaman {0} dari {1}" + }, + search : { + caption: "Pencarian", + Find: "Cari !", + Reset: "Segarkan", + odata: [{ oper:'eq', text:"sama dengan"},{ oper:'ne', text:"tidak sama dengan"},{ oper:'lt', text:"kurang dari"},{ oper:'le', text:"kurang dari atau sama dengan"},{ oper:'gt', text:"lebih besar"},{ oper:'ge', text:"lebih besar atau sama dengan"},{ oper:'bw', text:"dimulai dengan"},{ oper:'bn', text:"tidak dimulai dengan"},{ oper:'in', text:"di dalam"},{ oper:'ni', text:"tidak di dalam"},{ oper:'ew', text:"diakhiri dengan"},{ oper:'en', text:"tidak diakhiri dengan"},{ oper:'cn', text:"mengandung"},{ oper:'nc', text:"tidak mengandung"}], + groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ] + }, + edit : { + addCaption: "Tambah Data", + editCaption: "Sunting Data", + bSubmit: "Submit", + bCancel: "Tutup", + bClose: "Tutup", + saveData: "Data telah berubah! Simpan perubahan?", + bYes : "Ya", + bNo : "Tidak", + bExit : "Tutup", + msg: { + required:"kolom wajib diisi", + number:"hanya nomer yang diperbolehkan", + minValue:"kolom harus lebih besar dari atau sama dengan", + maxValue:"kolom harus lebih kecil atau sama dengan", + email: "alamat e-mail tidak valid", + integer: "hanya nilai integer yang diperbolehkan", + date: "nilai tanggal tidak valid", + url: "Bukan URL yang valid. Harap gunakan ('http://' or 'https://')", + nodefined : " belum didefinisikan!", + novalue : " return value is required!", + customarray : "Custom function should return array!", + customfcheck : "Custom function should be present in case of custom checking!" + + } + }, + view : { + caption: "Menampilkan data", + bClose: "Tutup" + }, + del : { + caption: "Hapus", + msg: "Hapus data terpilih?", + bSubmit: "Hapus", + bCancel: "Batalkan" + }, + nav : { + edittext: "", + edittitle: "Sunting data terpilih", + addtext:"", + addtitle: "Tambah baris baru", + deltext: "", + deltitle: "Hapus baris terpilih", + searchtext: "", + searchtitle: "Temukan data", + refreshtext: "", + refreshtitle: "Segarkan Grid", + alertcap: "Warning", + alerttext: "Harap pilih baris", + viewtext: "", + viewtitle: "Tampilkan baris terpilih" + }, + col : { + caption: "Pilih Kolom", + bSubmit: "Ok", + bCancel: "Batal" + }, + errors : { + errcap : "Error", + nourl : "Tidak ada url yang diset", + norecords: "Tidak ada data untuk diproses", + model : "Lebar dari colNames <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: ".", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, defaultValue: '0'}, + currency : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, prefix: "Rp. ", suffix:"", defaultValue: '0'}, + date : { + dayNames: [ + "Ming", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", + "Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu" + ], + monthNames: [ + "Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agu", "Sep", "Okt", "Nov", "Des", + "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th';}, + srcformat: 'Y-m-d', + newformat: 'n/j/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, + masks : { + // see http://php.net/manual/en/function.date.php for PHP format used in jqGrid + // and see http://docs.jquery.com/UI/Datepicker/formatDate + // and https://github.com/jquery/globalize#dates for alternative formats used frequently + // one can find on https://github.com/jquery/globalize/tree/master/lib/cultures many + // information about date, time, numbers and currency formats used in different countries + // one should just convert the information in PHP format + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + // short date: + // n - Numeric representation of a month, without leading zeros + // j - Day of the month without leading zeros + // Y - A full numeric representation of a year, 4 digits + // example: 3/1/2012 which means 1 March 2012 + ShortDate: "n/j/Y", // in jQuery UI Datepicker: "M/d/yyyy" + // long date: + // l - A full textual representation of the day of the week + // F - A full textual representation of a month + // d - Day of the month, 2 digits with leading zeros + // Y - A full numeric representation of a year, 4 digits + LongDate: "l, F d, Y", // in jQuery UI Datepicker: "dddd, MMMM dd, yyyy" + // long date with long time: + // l - A full textual representation of the day of the week + // F - A full textual representation of a month + // d - Day of the month, 2 digits with leading zeros + // Y - A full numeric representation of a year, 4 digits + // g - 12-hour format of an hour without leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + // A - Uppercase Ante meridiem and Post meridiem (AM or PM) + FullDateTime: "l, F d, Y g:i:s A", // in jQuery UI Datepicker: "dddd, MMMM dd, yyyy h:mm:ss tt" + // month day: + // F - A full textual representation of a month + // d - Day of the month, 2 digits with leading zeros + MonthDay: "F d", // in jQuery UI Datepicker: "MMMM dd" + // short time (without seconds) + // g - 12-hour format of an hour without leading zeros + // i - Minutes with leading zeros + // A - Uppercase Ante meridiem and Post meridiem (AM or PM) + ShortTime: "g:i A", // in jQuery UI Datepicker: "h:mm tt" + // long time (with seconds) + // g - 12-hour format of an hour without leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + // A - Uppercase Ante meridiem and Post meridiem (AM or PM) + LongTime: "g:i:s A", // in jQuery UI Datepicker: "h:mm:ss tt" + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + // month with year + // Y - A full numeric representation of a year, 4 digits + // F - A full textual representation of a month + YearMonth: "F, Y" // in jQuery UI Datepicker: "MMMM, yyyy" + }, + reformatAfterEdit : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}); +})(jQuery); Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-is.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-is.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-is.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Icelandic Translation * jtm@hi.is Univercity of Iceland * Dual licensed under the MIT and GPL licenses: @@ -19,10 +19,8 @@ caption: "Leita...", Find: "Leita", Reset: "Endursetja", - odata : ['sama og', 'ekki sama og', 'minna en', 'minna eða jafnt og','stærra en','stærra eða jafnt og', 'byrjar á','byrjar ekki á','er í','er ekki í','endar á','endar ekki á','inniheldur','inniheldur ekki'], - groupOps: [ { op: "AND", text: "allt" }, { op: "OR", text: "eða" } ], - matchText: " passar", - rulesText: " reglur" + odata: [{ oper:'eq', text:"sama og"},{ oper:'ne', text:"ekki sama og"},{ oper:'lt', text:"minna en"},{ oper:'le', text:"minna eða jafnt og"},{ oper:'gt', text:"stærra en"},{ oper:'ge', text:"stærra eða jafnt og"},{ oper:'bw', text:"byrjar á"},{ oper:'bn', text:"byrjar ekki á"},{ oper:'in', text:"er í"},{ oper:'ni', text:"er ekki í"},{ oper:'ew', text:"endar á"},{ oper:'en', text:"endar ekki á"},{ oper:'cn', text:"inniheldur"},{ oper:'nc', text:"inniheldur ekki"}], + groupOps: [ { op: "AND", text: "allt" }, { op: "OR", text: "eða" } ] }, edit : { addCaption: "Bæta við færslu", @@ -103,6 +101,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-is.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-it.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-it.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-it.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,2 +1,2 @@ -/** %%Ignore-License */ -(function(a){a.jgrid = a.jgrid || {};a.extend(a.jgrid,{ defaults:{recordtext:"Visualizzati {0} - {1} di {2}",emptyrecords:"Nessun record da visualizzare",loadtext:"Caricamento...",pgtext:"Pagina {0} di {1}"},search:{caption:"Ricerca...",Find:"Cerca",Reset:"Pulisci",odata:["uguale","diverso","minore","minore o uguale","maggiore","maggiore o uguale","inizia con","non inizia con","in","non in","termina con","non termina con","contiene","non contiene"],groupOps:[{op:"AND",text:"tutto"},{op:"OR",text:"almeno uno"}],matchText:" corrisponde",rulesText:" regole"},edit:{addCaption:"Aggiungi Record",editCaption:"Modifica Record",bSubmit:"Invia",bCancel:"Chiudi",bClose:"Chiudi",saveData:"Alcuni dati modificati! Salvare i cambiamenti?",bYes:"Si",bNo:"No",bExit:"Esci",msg:{required:"Campo richiesto",number:"Per favore, inserisci un valore valido",minValue:"il valore deve essere maggiore o uguale a ",maxValue:"il valore deve essere minore o uguale a",email:"e-mail non corretta",integer:"Per favore, inserisci un numero intero valido",date:"Per favore, inserisci una data valida",url:"URL non valido. Prefisso richiesto ('http://' or 'https://')",nodefined:" non � definito!",novalue:" valore di ritorno richiesto!",customarray:"La function custon deve tornare un array!",customfcheck:"La function custom deve esistere per il custom checking!"}},view:{caption:"Visualizzazione Record",bClose:"Chiudi"},del:{caption:"Cancella",msg:"Cancellare record selezionato/i?",bSubmit:"Cancella",bCancel:"Annulla"},nav:{edittext:" ",edittitle:"Modifica record selezionato",addtext:" ",addtitle:"Aggiungi nuovo record",deltext:" ",deltitle:"Cancella record selezionato",searchtext:" ",searchtitle:"Ricerca record",refreshtext:"",refreshtitle:"Aggiorna griglia",alertcap:"Attenzione",alerttext:"Per favore, seleziona un record",viewtext:"",viewtitle:"Visualizza riga selezionata"},col:{caption:"Mostra/Nascondi Colonne",bSubmit:"Invia",bCancel:"Annulla"},errors:{errcap:"Errore",nourl:"Url non settata",norecords:"Nessun record da elaborare",model:"Lunghezza di colNames <> colModel!"},formatter:{integer:{thousandsSeparator:" ",defaultValue:"0"},number:{decimalSeparator:",",thousandsSeparator:" ",decimalPlaces:2,defaultValue:"0,00"},currency:{decimalSeparator:",",thousandsSeparator:" ",decimalPlaces:2,prefix:"",suffix:"",defaultValue:"0,00"},date:{dayNames:["Dom","Lun","Mar","Mer","Gio","Ven","Sab","Domenica","Luned�","Marted�","Mercoled�","Gioved�","Venerd�","Sabato"],monthNames:["Gen","Feb","Mar","Apr","Mag","Gui","Lug","Ago","Set","Ott","Nov","Dic","Genneio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Movembre","Dicembre"],AmPm:["am","pm","AM","PM"],S:function(b){return b<11||b>13?["st","nd","rd","th"][Math.min((b-1)%10,3)]:"th"},srcformat:"Y-m-d",newformat:"d/m/Y",masks:{ISO8601Long:"Y-m-d H:i:s",ISO8601Short:"Y-m-d",ShortDate:"n/j/Y",LongDate:"l, F d, Y",FullDateTime:"l, F d, Y g:i:s A",MonthDay:"F d",ShortTime:"g:i A",LongTime:"g:i:s A",SortableDateTime:"Y-m-d\\TH:i:s",UniversalSortableDateTime:"Y-m-d H:i:sO",YearMonth:"F, Y"},reformatAfterEdit:false},baseLinkUrl:"",showAction:"",target:"",checkbox:{disabled:true},idName:"id"}});})(jQuery); \ No newline at end of file +// %%Ignore-License +(function(a){a.jgrid = a.jgrid || {};a.extend(a.jgrid,{ defaults:{recordtext:"Visualizzati {0} - {1} di {2}",emptyrecords:"Nessun record da visualizzare",loadtext:"Caricamento...",pgtext:"Pagina {0} di {1}"},search:{caption:"Ricerca...",Find:"Cerca",Reset:"Pulisci", odata: [{ oper:'eq', text:"uguale"},{ oper:'ne', text:"diverso"},{ oper:'lt', text:"minore"},{ oper:'le', text:"minore o uguale"},{ oper:'gt', text:"maggiore"},{ oper:'ge', text:"maggiore o uguale"},{ oper:'bw', text:"inizia con"},{ oper:'bn', text:"non inizia con"},{ oper:'in', text:"in"},{ oper:'ni', text:"non in"},{ oper:'ew', text:"termina con"},{ oper:'en', text:"non termina con"},{ oper:'cn', text:"contiene"},{ oper:'nc', text:"non contiene"}],groupOps:[{op:"AND",text:"tutto"},{op:"OR",text:"almeno uno"}]},edit:{addCaption:"Aggiungi Record",editCaption:"Modifica Record",bSubmit:"Invia",bCancel:"Chiudi",bClose:"Chiudi",saveData:"Alcuni dati modificati! Salvare i cambiamenti?",bYes:"Si",bNo:"No",bExit:"Esci",msg:{required:"Campo richiesto",number:"Per favore, inserisci un valore valido",minValue:"il valore deve essere maggiore o uguale a ",maxValue:"il valore deve essere minore o uguale a",email:"e-mail non corretta",integer:"Per favore, inserisci un numero intero valido",date:"Per favore, inserisci una data valida",url:"URL non valido. Prefisso richiesto ('http://' or 'https://')",nodefined:" non � definito!",novalue:" valore di ritorno richiesto!",customarray:"La function custon deve tornare un array!",customfcheck:"La function custom deve esistere per il custom checking!"}},view:{caption:"Visualizzazione Record",bClose:"Chiudi"},del:{caption:"Cancella",msg:"Cancellare record selezionato/i?",bSubmit:"Cancella",bCancel:"Annulla"},nav:{edittext:" ",edittitle:"Modifica record selezionato",addtext:" ",addtitle:"Aggiungi nuovo record",deltext:" ",deltitle:"Cancella record selezionato",searchtext:" ",searchtitle:"Ricerca record",refreshtext:"",refreshtitle:"Aggiorna griglia",alertcap:"Attenzione",alerttext:"Per favore, seleziona un record",viewtext:"",viewtitle:"Visualizza riga selezionata"},col:{caption:"Mostra/Nascondi Colonne",bSubmit:"Invia",bCancel:"Annulla"},errors:{errcap:"Errore",nourl:"Url non settata",norecords:"Nessun record da elaborare",model:"Lunghezza di colNames <> colModel!"},formatter:{integer:{thousandsSeparator:" ",defaultValue:"0"},number:{decimalSeparator:",",thousandsSeparator:" ",decimalPlaces:2,defaultValue:"0,00"},currency:{decimalSeparator:",",thousandsSeparator:" ",decimalPlaces:2,prefix:"",suffix:"",defaultValue:"0,00"},date:{dayNames:["Dom","Lun","Mar","Mer","Gio","Ven","Sab","Domenica","Luned�","Marted�","Mercoled�","Gioved�","Venerd�","Sabato"],monthNames:["Gen","Feb","Mar","Apr","Mag","Gui","Lug","Ago","Set","Ott","Nov","Dic","Genneio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Movembre","Dicembre"],AmPm:["am","pm","AM","PM"],S:function(b){return b<11||b>13?["st","nd","rd","th"][Math.min((b-1)%10,3)]:"th"},srcformat:"Y-m-d",newformat:"d/m/Y",parseRe : /[Tt\\\/:_;.,\t\s-]/,masks:{ISO8601Long:"Y-m-d H:i:s",ISO8601Short:"Y-m-d",ShortDate:"n/j/Y",LongDate:"l, F d, Y",FullDateTime:"l, F d, Y g:i:s A",MonthDay:"F d",ShortTime:"g:i A",LongTime:"g:i:s A",SortableDateTime:"Y-m-d\\TH:i:s",UniversalSortableDateTime:"Y-m-d H:i:sO",YearMonth:"F, Y"},reformatAfterEdit:false},baseLinkUrl:"",showAction:"",target:"",checkbox:{disabled:true},idName:"id"}});})(jQuery); \ No newline at end of file Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-it.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ja.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ja.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ja.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Japanese Translation * OKADA Yoshitada okada.dev@sth.jp * http://trirand.com/blog/ @@ -20,13 +20,13 @@ caption: "\u691c\u7d22...", Find: "\u691c\u7d22", Reset: "\u30ea\u30bb\u30c3\u30c8", - odata: ["\u6B21\u306B\u7B49\u3057\u3044", "\u6B21\u306B\u7B49\u3057\u304F\u306A\u3044", - "\u6B21\u3088\u308A\u5C0F\u3055\u3044", "\u6B21\u306B\u7B49\u3057\u3044\u304B\u5C0F\u3055\u3044", - "\u6B21\u3088\u308A\u5927\u304D\u3044", "\u6B21\u306B\u7B49\u3057\u3044\u304B\u5927\u304D\u3044", - "\u6B21\u3067\u59CB\u307E\u308B", "\u6B21\u3067\u59CB\u307E\u3089\u306A\u3044", - "\u6B21\u306B\u542B\u307E\u308C\u308B", "\u6B21\u306B\u542B\u307E\u308C\u306A\u3044", - "\u6B21\u3067\u7D42\u308F\u308B", "\u6B21\u3067\u7D42\u308F\u3089\u306A\u3044", - "\u6B21\u3092\u542B\u3080", "\u6B21\u3092\u542B\u307E\u306A\u3044"], + odata: [{ oper:'eq', text:"\u6B21\u306B\u7B49\u3057\u3044"}, { oper:'ne', text:"\u6B21\u306B\u7B49\u3057\u304F\u306A\u3044"}, + { oper:'lt', text:"\u6B21\u3088\u308A\u5C0F\u3055\u3044"}, { oper:'le', text:"\u6B21\u306B\u7B49\u3057\u3044\u304B\u5C0F\u3055\u3044"}, + { oper:'gt', text:"\u6B21\u3088\u308A\u5927\u304D\u3044"}, { oper:'ge', text:"\u6B21\u306B\u7B49\u3057\u3044\u304B\u5927\u304D\u3044"}, + { oper:'bw', text:"\u6B21\u3067\u59CB\u307E\u308B"}, { oper:'bn', text:"\u6B21\u3067\u59CB\u307E\u3089\u306A\u3044"}, + { oper:'in', text:"\u6B21\u306B\u542B\u307E\u308C\u308B"}, { oper:'ni', text:"\u6B21\u306B\u542B\u307E\u308C\u306A\u3044"}, + { oper:'ew', text:"\u6B21\u3067\u7D42\u308F\u308B"}, { oper:'en', text:"\u6B21\u3067\u7D42\u308F\u3089\u306A\u3044"}, + { oper:'cn', text:"\u6B21\u3092\u542B\u3080"}, { oper:'nc', text:"\u6B21\u3092\u542B\u307E\u306A\u3044"}], groupOps: [{ op: "AND", text: "\u3059\u3079\u3066\u306E" @@ -34,9 +34,7 @@ { op: "OR", text: "\u3044\u305A\u308C\u304B\u306E" - }], - matchText: " \u6B21\u306E", - rulesText: " \u6761\u4EF6\u3092\u6E80\u305F\u3059" + }] }, edit : { addCaption: "\u30ec\u30b3\u30fc\u30c9\u8ffd\u52a0", @@ -132,6 +130,7 @@ S: function (j) { return "\u756a\u76ee"; }, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ja.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-kr.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-kr.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-kr.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid English Translation * Tony Tomov tony@trirand.com * http://trirand.com/blog/ @@ -20,10 +20,8 @@ caption: "검색...", Find: "찾기", Reset: "초기화", - odata : ['같다', '같지 않다', '작다', '작거나 같다','크다','크거나 같다', '로 시작한다','로 시작하지 않는다','내에 있다','내에 있지 않다','로 끝난다','로 끝나지 않는다','내에 존재한다','내에 존재하지 않는다'], - groupOps: [ { op: "AND", text: "전부" }, { op: "OR", text: "임의" } ], - matchText: " 일치하다", - rulesText: " 적용하다" + odata: [{ oper:'eq', text:"같다"},{ oper:'ne', text:"같지 않다"},{ oper:'lt', text:"작다"},{ oper:'le', text:"작거나 같다"},{ oper:'gt', text:"크다"},{ oper:'ge', text:"크거나 같다"},{ oper:'bw', text:"로 시작한다"},{ oper:'bn', text:"로 시작하지 않는다"},{ oper:'in', text:"내에 있다"},{ oper:'ni', text:"내에 있지 않다"},{ oper:'ew', text:"로 끝난다"},{ oper:'en', text:"로 끝나지 않는다"},{ oper:'cn', text:"내에 존재한다"},{ oper:'nc', text:"내에 존재하지 않는다"}], + groupOps: [ { op: "AND", text: "전부" }, { op: "OR", text: "임의" } ] }, edit : { addCaption: "행 추가", @@ -105,6 +103,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'm-d-Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-kr.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-lt.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-lt.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-lt.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Lithuanian Translation * aur1mas aur1mas@devnet.lt * http://aur1mas.devnet.lt @@ -20,10 +20,8 @@ caption: "Paieška...", Find: "Ieškoti", Reset: "Atstatyti", - odata : ['lygu', 'nelygu', 'mažiau', 'mažiau arba lygu','daugiau','daugiau arba lygu', 'prasideda','neprasideda','reikšmė yra','reikšmės nėra','baigiasi','nesibaigia','yra sudarytas','nėra sudarytas'], - groupOps: [ { op: "AND", text: "visi" }, { op: "OR", text: "bet kuris" } ], - matchText: " match", - rulesText: " rules" + odata: [{ oper:'eq', text:"lygu"},{ oper:'ne', text:"nelygu"},{ oper:'lt', text:"mažiau"},{ oper:'le', text:"mažiau arba lygu"},{ oper:'gt', text:"daugiau"},{ oper:'ge', text:"daugiau arba lygu"},{ oper:'bw', text:"prasideda"},{ oper:'bn', text:"neprasideda"},{ oper:'in', text:"reikšmė yra"},{ oper:'ni', text:"reikšmės nėra"},{ oper:'ew', text:"baigiasi"},{ oper:'en', text:"nesibaigia"},{ oper:'cn', text:"yra sudarytas"},{ oper:'nc', text:"nėra sudarytas"}], + groupOps: [ { op: "AND", text: "visi" }, { op: "OR", text: "bet kuris" } ] }, edit : { addCaption: "Sukurti įrašą", @@ -105,6 +103,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-lt.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-mne.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-mne.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-mne.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Montenegrian Translation * Bild Studio info@bild-studio.net * http://www.bild-studio.com @@ -20,10 +20,8 @@ caption: "Traženje...", Find: "Traži", Reset: "Resetuj", - odata : ['jednako', 'nije jednako', 'manje', 'manje ili jednako','veće','veće ili jednako', 'počinje sa','ne počinje sa','je u','nije u','završava sa','ne završava sa','sadrži','ne sadrži'], - groupOps: [ { op: "AND", text: "sva" }, { op: "OR", text: "bilo koje" } ], - matchText: " primjeni", - rulesText: " pravila" + odata: [{ oper:'eq', text:"jednako"},{ oper:'ne', text:"nije jednako"},{ oper:'lt', text:"manje"},{ oper:'le', text:"manje ili jednako"},{ oper:'gt', text:"veće"},{ oper:'ge', text:"veće ili jednako"},{ oper:'bw', text:"počinje sa"},{ oper:'bn', text:"ne počinje sa"},{ oper:'in', text:"je u"},{ oper:'ni', text:"nije u"},{ oper:'ew', text:"završava sa"},{ oper:'en', text:"ne završava sa"},{ oper:'cn', text:"sadrži"},{ oper:'nc', text:"ne sadrži"}], + groupOps: [ { op: "AND", text: "sva" }, { op: "OR", text: "bilo koje" } ] }, edit : { addCaption: "Dodaj zapis", @@ -105,6 +103,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-mne.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-nl.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-nl.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-nl.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,4 +1,4 @@ -/**%%Ignore-License */ +// %%Ignore-License (function(a) { a.jgrid = a.jgrid || {}; a.extend(a.jgrid,{ @@ -14,10 +14,8 @@ caption: "Zoeken...", Find: "Zoek", Reset: "Herstellen", - odata: ["gelijk aan", "niet gelijk aan", "kleiner dan", "kleiner dan of gelijk aan", "groter dan", "groter dan of gelijk aan", "begint met", "begint niet met", "is in", "is niet in", "eindigd met", "eindigd niet met", "bevat", "bevat niet"], - groupOps: [{ op: "AND", text: "alle" }, { op: "OR", text: "een van de"}], - matchText: " match", - rulesText: " regels" + odata: [{ oper:'eq', text:"gelijk aan"},{ oper:'ne', text:"niet gelijk aan"},{ oper:'lt', text:"kleiner dan"},{ oper:'le', text:"kleiner dan of gelijk aan"},{ oper:'gt', text:"groter dan"},{ oper:'ge', text:"groter dan of gelijk aan"},{ oper:'bw', text:"begint met"},{ oper:'bn', text:"begint niet met"},{ oper:'in', text:"is in"},{ oper:'ni', text:"is niet in"},{ oper:'ew', text:"eindigd met"},{ oper:'en', text:"eindigd niet met"},{ oper:'cn', text:"bevat"},{ oper:'nc', text:"bevat niet"}], + groupOps: [{ op: "AND", text: "alle" }, { op: "OR", text: "een van de"}] }, edit: { @@ -121,6 +119,7 @@ }, srcformat: "Y-m-d", newformat: "d/m/Y", + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks: { ISO8601Long: "Y-m-d H:i:s", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-nl.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-no.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-no.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-no.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,2 +1,2 @@ -/** %%Ignore-License */ -(function(a){a.jgrid= a.jgrid || {};a.jgrid.defaults={recordtext:"Rad {0} - {1}, totalt {2}",loadtext:"Laster...",pgtext:"Side {0} av {1}"};a.jgrid.search={caption:"S�k...",Find:"Finn",Reset:"Nullstill",odata:["lik","forskjellig fra","mindre enn","mindre eller lik","st�rre enn"," st�rre eller lik","starter med","slutter med","inneholder"]};a.jgrid.edit={addCaption:"Ny rad",editCaption:"Rediger",bSubmit:"Send",bCancel:"Avbryt",bClose:"Lukk",processData:"Laster...",msg:{required:"Felt er obligatorisk",number:"Legg inn et gyldig tall",minValue:"verdi m� v�re st�rre enn eller lik",maxValue:"verdi m� v�re mindre enn eller lik",email:"er ikke en gyldig e-post adresse",integer:"Legg inn et gyldig heltall",date:"Legg inn en gyldig dato",url:"er ikke en gyldig URL. Prefiks p�krevd ('http://' eller 'https://')",nodefined:" er ikke definert!",novalue:" returverdi er p�krevd!",customarray:"Tilpasset funksjon m� returnere en tabell!",customfcheck:"Tilpasset funksjon m� eksistere!"}};a.jgrid.view={caption:"�pne post",bClose:"Lukk"};a.jgrid.del={caption:"Slett",msg:"Slett valgte rad(er)?",bSubmit:"Slett",bCancel:"Avbryt",processData:"Behandler..."};a.jgrid.nav={edittext:" ",edittitle:"Rediger valgte rad(er)",addtext:" ",addtitle:"Legg til ny rad",deltext:" ",deltitle:"Slett valgte rad(er)",searchtext:" ",searchtitle:"S�k",refreshtext:"",refreshtitle:"Oppdater tabell",alertcap:"Advarsel",alerttext:"Velg rad",viewtext:" ",viewtitle:"�pne valgt rad"};a.jgrid.col={caption:"Vis/skjul kolonner",bSubmit:"Utf�r",bCancel:"Avbryt"};a.jgrid.errors={errcap:"Feil",nourl:"Ingen url er satt",norecords:"Ingen poster � behandle",model:"colNames og colModel har forskjellig lengde!"};a.jgrid.formatter={integer:{thousandsSeparator:" ",defaulValue:0},number:{decimalSeparator:",",thousandsSeparator:" ",decimalPlaces:2,defaulValue:0},currency:{decimalSeparator:",",thousandsSeparator:" ",decimalPlaces:2,prefix:"",suffix:"",defaulValue:0},date:{dayNames:["s�.","ma.","ti.","on.","to.","fr.","l�.","S�ndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","L�rdag"],monthNames:["jan.","feb.","mars","april","mai","juni","juli","aug.","sep.","okt.","nov.","des.","januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],AmPm:["","","",""],S:function(b){return"."},srcformat:"Y-m-d H:i:s",newformat:"Y-m-d H:i:s",masks:{ISO8601Long:"Y-m-d H:i:s",ISO8601Short:"Y-m-d",ShortDate:"j.n.Y",LongDate:"l j. F Y",FullDateTime:"l j. F Y kl. G.i.s",MonthDay:"j. F",ShortTime:"H:i",LongTime:"H:i:s",SortableDateTime:"Y-m-d\\TH:i:s",UniversalSortableDateTime:"Y-m-d H:i:sO",YearMonth:"F Y"},reformatAfterEdit:false},baseLinkUrl:"",showAction:"show",addParam:"",checkbox:{disabled:true}}})(jQuery); +// %%Ignore-License +(function(a){a.jgrid= a.jgrid || {};a.jgrid.defaults={recordtext:"Rad {0} - {1}, totalt {2}",loadtext:"Laster...",pgtext:"Side {0} av {1}"};a.jgrid.search={caption:"S�k...",Find:"Finn",Reset:"Nullstill",odata:[{oper:'eq', text:"lik"},{oper:'ne', text:"forskjellig fra"},{oper:'lt', text:"mindre enn"},{oper:'le', text:"mindre eller lik"},{oper:'gt', text:"st�rre enn"},{oper:'ge', text:" st�rre eller lik"},{oper:'bw', text:"starter med"},{oper:'ew', text:"slutter med"},{oper:'cn', text:"inneholder"}]};a.jgrid.edit={addCaption:"Ny rad",editCaption:"Rediger",bSubmit:"Send",bCancel:"Avbryt",bClose:"Lukk",processData:"Laster...",msg:{required:"Felt er obligatorisk",number:"Legg inn et gyldig tall",minValue:"verdi m� v�re st�rre enn eller lik",maxValue:"verdi m� v�re mindre enn eller lik",email:"er ikke en gyldig e-post adresse",integer:"Legg inn et gyldig heltall",date:"Legg inn en gyldig dato",url:"er ikke en gyldig URL. Prefiks p�krevd ('http://' eller 'https://')",nodefined:" er ikke definert!",novalue:" returverdi er p�krevd!",customarray:"Tilpasset funksjon m� returnere en tabell!",customfcheck:"Tilpasset funksjon m� eksistere!"}};a.jgrid.view={caption:"�pne post",bClose:"Lukk"};a.jgrid.del={caption:"Slett",msg:"Slett valgte rad(er)?",bSubmit:"Slett",bCancel:"Avbryt",processData:"Behandler..."};a.jgrid.nav={edittext:" ",edittitle:"Rediger valgte rad(er)",addtext:" ",addtitle:"Legg til ny rad",deltext:" ",deltitle:"Slett valgte rad(er)",searchtext:" ",searchtitle:"S�k",refreshtext:"",refreshtitle:"Oppdater tabell",alertcap:"Advarsel",alerttext:"Velg rad",viewtext:" ",viewtitle:"�pne valgt rad"};a.jgrid.col={caption:"Vis/skjul kolonner",bSubmit:"Utf�r",bCancel:"Avbryt"};a.jgrid.errors={errcap:"Feil",nourl:"Ingen url er satt",norecords:"Ingen poster � behandle",model:"colNames og colModel har forskjellig lengde!"};a.jgrid.formatter={integer:{thousandsSeparator:" ",defaultValue:0},number:{decimalSeparator:",",thousandsSeparator:" ",decimalPlaces:2,defaulValue:0},currency:{decimalSeparator:",",thousandsSeparator:" ",decimalPlaces:2,prefix:"",suffix:"",defaulValue:0},date:{dayNames:["s�.","ma.","ti.","on.","to.","fr.","l�.","S�ndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","L�rdag"],monthNames:["jan.","feb.","mars","april","mai","juni","juli","aug.","sep.","okt.","nov.","des.","januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],AmPm:["","","",""],S:function(b){return"."},srcformat:"Y-m-d H:i:s",newformat:"Y-m-d H:i:s",parseRe : /[Tt\\\/:_;.,\t\s-]/,masks:{ISO8601Long:"Y-m-d H:i:s",ISO8601Short:"Y-m-d",ShortDate:"j.n.Y",LongDate:"l j. F Y",FullDateTime:"l j. F Y kl. G.i.s",MonthDay:"j. F",ShortTime:"H:i",LongTime:"H:i:s",SortableDateTime:"Y-m-d\\TH:i:s",UniversalSortableDateTime:"Y-m-d H:i:sO",YearMonth:"F Y"},reformatAfterEdit:false},baseLinkUrl:"",showAction:"show",addParam:"",checkbox:{disabled:true}}})(jQuery); Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-no.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-pl.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-pl.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-pl.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,134 +1,133 @@ -;(function($){ -/** - * %%Ignore-License - * jqGrid Polish Translation - * Łukasz Schab lukasz@freetree.pl - * http://FreeTree.pl - * - * Updated names, abbreviations, currency and date/time formats for Polish norms (also corresponding with CLDR v21.0.1 --> http://cldr.unicode.org/index) - * Tomasz Pęczek tpeczek@gmail.com - * http://tpeczek.blogspot.com; http://tpeczek.codeplex.com - * - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html -**/ -$.jgrid = $.jgrid || {}; -$.extend($.jgrid,{ - defaults : { - recordtext: "Pokaż {0} - {1} z {2}", - emptyrecords: "Brak rekordów do pokazania", - loadtext: "Ładowanie...", - pgtext : "Strona {0} z {1}" - }, - search : { - caption: "Wyszukiwanie...", - Find: "Szukaj", - Reset: "Czyść", - odata : ['dokładnie', 'różne od', 'mniejsze od', 'mniejsze lub równe', 'większe od', 'większe lub równe', 'zaczyna się od', 'nie zaczyna się od', 'jest w', 'nie jest w', 'kończy się na', 'nie kończy się na', 'zawiera', 'nie zawiera'], - groupOps: [ { op: "AND", text: "oraz" }, { op: "OR", text: "lub" } ], - matchText: " pasuje", - rulesText: " reguły" - }, - edit : { - addCaption: "Dodaj rekord", - editCaption: "Edytuj rekord", - bSubmit: "Zapisz", - bCancel: "Anuluj", - bClose: "Zamknij", - saveData: "Dane zostały zmienione! Zapisać zmiany?", - bYes: "Tak", - bNo: "Nie", - bExit: "Anuluj", - msg: { - required: "Pole jest wymagane", - number: "Proszę wpisać poprawną liczbę", - minValue: "wartość musi być większa lub równa od", - maxValue: "wartość musi być mniejsza lub równa od", - email: "nie jest poprawnym adresem e-mail", - integer: "Proszę wpisać poprawną liczbę", - date: "Proszę podaj poprawną datę", - url: "jest niewłaściwym adresem URL. Pamiętaj o prefiksie ('http://' lub 'https://')", - nodefined: " niezdefiniowane!", - novalue: " wymagana jest wartość zwracana!", - customarray: "Funkcja niestandardowa powinna zwracać tablicę!", - customfcheck: "Funkcja niestandardowa powinna być obecna w przypadku niestandardowego sprawdzania!" - } - }, - view : { - caption: "Pokaż rekord", - bClose: "Zamknij" - }, - del : { - caption: "Usuń", - msg: "Czy usunąć wybrany rekord(y)?", - bSubmit: "Usuń", - bCancel: "Anuluj" - }, - nav : { - edittext: "", - edittitle: "Edytuj wybrany wiersz", - addtext: "", - addtitle: "Dodaj nowy wiersz", - deltext: "", - deltitle: "Usuń wybrany wiersz", - searchtext: "", - searchtitle: "Wyszukaj rekord", - refreshtext: "", - refreshtitle: "Przeładuj", - alertcap: "Uwaga", - alerttext: "Proszę wybrać wiersz", - viewtext: "", - viewtitle: "Pokaż wybrany wiersz" - }, - col : { - caption: "Pokaż/Ukryj kolumny", - bSubmit: "Zatwierdź", - bCancel: "Anuluj" - }, - errors : { - errcap: "Błąd", - nourl: "Brak adresu url", - norecords: "Brak danych", - model : "Długość colNames <> colModel!" - }, - formatter : { - integer : {thousandsSeparator: " ", defaultValue: '0'}, - number : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0,00'}, - currency : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:" zł", defaultValue: '0,00'}, - date : { - dayNames: [ - "niedz.", "pon.", "wt.", "śr.", "czw.", "pt.", "sob.", - "niedziela", "poniedziałek", "wtorek", "środa", "czwartek", "piątek", "sobota" - ], - monthNames: [ - "sty", "lut", "mar", "kwi", "maj", "cze", "lip", "sie", "wrz", "paź", "lis", "gru", - "styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień", "wrzesień", "październik", "listopad", "grudzień" - ], - AmPm : ["","","",""], - S: function (j) {return '';}, - srcformat: 'Y-m-d', - newformat: 'd.m.Y', - masks : { - ISO8601Long: "Y-m-d H:i:s", - ISO8601Short: "Y-m-d", - ShortDate: "d.m.y", - LongDate: "l, j F Y", - FullDateTime: "l, j F Y H:i:s", - MonthDay: "j F", - ShortTime: "H:i", - LongTime: "H:i:s", - SortableDateTime: "Y-m-d\\TH:i:s", - UniversalSortableDateTime: "Y-m-d H:i:sO", - YearMonth: "F Y" - }, - reformatAfterEdit : false - }, - baseLinkUrl: '', - showAction: '', - target: '', - checkbox : {disabled:true}, - idName : 'id' - } -}); +// %%Ignore-License +;(function($){ +/** + * jqGrid Polish Translation + * Łukasz Schab lukasz@freetree.pl + * http://FreeTree.pl + * + * Updated names, abbreviations, currency and date/time formats for Polish norms (also corresponding with CLDR v21.0.1 --> http://cldr.unicode.org/index) + * Tomasz Pęczek tpeczek@gmail.com + * http://tpeczek.blogspot.com; http://tpeczek.codeplex.com + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +$.jgrid = $.jgrid || {}; +$.extend($.jgrid,{ + defaults : { + recordtext: "Pokaż {0} - {1} z {2}", + emptyrecords: "Brak rekordów do pokazania", + loadtext: "Ładowanie...", + pgtext : "Strona {0} z {1}" + }, + search : { + caption: "Wyszukiwanie...", + Find: "Szukaj", + Reset: "Czyść", + odata: [{ oper:'eq', text:"dokładnie"},{ oper:'ne', text:"różne od"},{ oper:'lt', text:"mniejsze od"},{ oper:'le', text:"mniejsze lub równe"},{ oper:'gt', text:"większe od"},{ oper:'ge', text:"większe lub równe"},{ oper:'bw', text:"zaczyna się od"},{ oper:'bn', text:"nie zaczyna się od"},{ oper:'in', text:"jest w"},{ oper:'ni', text:"nie jest w"},{ oper:'ew', text:"kończy się na"},{ oper:'en', text:"nie kończy się na"},{ oper:'cn', text:"zawiera"},{ oper:'nc', text:"nie zawiera"}], + groupOps: [ { op: "AND", text: "oraz" }, { op: "OR", text: "lub" } ] + }, + edit : { + addCaption: "Dodaj rekord", + editCaption: "Edytuj rekord", + bSubmit: "Zapisz", + bCancel: "Anuluj", + bClose: "Zamknij", + saveData: "Dane zostały zmienione! Zapisać zmiany?", + bYes: "Tak", + bNo: "Nie", + bExit: "Anuluj", + msg: { + required: "Pole jest wymagane", + number: "Proszę wpisać poprawną liczbę", + minValue: "wartość musi być większa lub równa od", + maxValue: "wartość musi być mniejsza lub równa od", + email: "nie jest poprawnym adresem e-mail", + integer: "Proszę wpisać poprawną liczbę", + date: "Proszę podaj poprawną datę", + url: "jest niewłaściwym adresem URL. Pamiętaj o prefiksie ('http://' lub 'https://')", + nodefined: " niezdefiniowane!", + novalue: " wymagana jest wartość zwracana!", + customarray: "Funkcja niestandardowa powinna zwracać tablicę!", + customfcheck: "Funkcja niestandardowa powinna być obecna w przypadku niestandardowego sprawdzania!" + } + }, + view : { + caption: "Pokaż rekord", + bClose: "Zamknij" + }, + del : { + caption: "Usuń", + msg: "Czy usunąć wybrany rekord(y)?", + bSubmit: "Usuń", + bCancel: "Anuluj" + }, + nav : { + edittext: "", + edittitle: "Edytuj wybrany wiersz", + addtext: "", + addtitle: "Dodaj nowy wiersz", + deltext: "", + deltitle: "Usuń wybrany wiersz", + searchtext: "", + searchtitle: "Wyszukaj rekord", + refreshtext: "", + refreshtitle: "Przeładuj", + alertcap: "Uwaga", + alerttext: "Proszę wybrać wiersz", + viewtext: "", + viewtitle: "Pokaż wybrany wiersz" + }, + col : { + caption: "Pokaż/Ukryj kolumny", + bSubmit: "Zatwierdź", + bCancel: "Anuluj" + }, + errors : { + errcap: "Błąd", + nourl: "Brak adresu url", + norecords: "Brak danych", + model : "Długość colNames <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:" zł", defaultValue: '0,00'}, + date : { + dayNames: [ + "niedz.", "pon.", "wt.", "śr.", "czw.", "pt.", "sob.", + "niedziela", "poniedziałek", "wtorek", "środa", "czwartek", "piątek", "sobota" + ], + monthNames: [ + "sty", "lut", "mar", "kwi", "maj", "cze", "lip", "sie", "wrz", "paź", "lis", "gru", + "styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień", "wrzesień", "październik", "listopad", "grudzień" + ], + AmPm : ["","","",""], + S: function (j) {return '';}, + srcformat: 'Y-m-d', + newformat: 'd.m.Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long: "Y-m-d H:i:s", + ISO8601Short: "Y-m-d", + ShortDate: "d.m.y", + LongDate: "l, j F Y", + FullDateTime: "l, j F Y H:i:s", + MonthDay: "j F", + ShortTime: "H:i", + LongTime: "H:i:s", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F Y" + }, + reformatAfterEdit : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}); })(jQuery); \ No newline at end of file Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-pl.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-pt-br.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-pt-br.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-pt-br.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Brazilian-Portuguese Translation * Sergio Righi sergio.righi@gmail.com * http://curve.com.br @@ -23,10 +23,8 @@ caption: "Procurar...", Find: "Procurar", Reset: "Resetar", - odata : ['igual', 'diferente', 'menor', 'menor ou igual','maior','maior ou igual', 'inicia com','não inicia com','está em','não está em','termina com','não termina com','contém','não contém','nulo','não nulo'], - groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ], - matchText: " igual a", - rulesText: " regras" + odata: [{ oper:'eq', text:"igual"},{ oper:'ne', text:"diferente"},{ oper:'lt', text:"menor"},{ oper:'le', text:"menor ou igual"},{ oper:'gt', text:"maior"},{ oper:'ge', text:"maior ou igual"},{ oper:'bw', text:"inicia com"},{ oper:'bn', text:"não inicia com"},{ oper:'in', text:"está em"},{ oper:'ni', text:"não está em"},{ oper:'ew', text:"termina com"},{ oper:'en', text:"não termina com"},{ oper:'cn', text:"contém"},{ oper:'nc', text:"não contém"},{ oper:'nu', text:"nulo"},{ oper:'nn', text:"não nulo"}], + groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ] }, edit : { addCaption: "Incluir", @@ -107,6 +105,7 @@ S: function (j) {return j < 11 || j > 13 ? ['º', 'º', 'º', 'º'][Math.min((j - 1) % 10, 3)] : 'º'}, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-pt-br.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-pt.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-pt.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-pt.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Portuguese Translation * Tradu��o da jqGrid em Portugues por Frederico Carvalho, http://www.eyeviewdesign.pt * Dual licensed under the MIT and GPL licenses: @@ -19,10 +19,8 @@ caption: "Busca...", Find: "Procurar", Reset: "Limpar", - odata : ['equal', 'not equal', 'less', 'less or equal','greater','greater or equal', 'begins with','does not begin with','is in','is not in','ends with','does not end with','contains','does not contain'], - groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ], - matchText: " match", - rulesText: " rules" + odata: [{ oper:'eq', text:'equal'},{ oper:'ne', text:'not equal'},{ oper:'lt', text:'less'},{ oper:'le', text:'less or equal'},{ oper:'gt', text:'greater'},{ oper:'ge', text:'greater or equal'},{ oper:'bw', text:'begins with'},{ oper:'bn', text:'does not begin with'},{ oper:'in', text:'is in'},{ oper:'ni', text:'is not in'},{ oper:'ew', text:'ends with'},{ oper:'en', text:'does not end with'},{ oper:'cn', text:'contains'},{ oper:'nc', text:'does not contain'}], + groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ] }, edit : { addCaption: "Adicionar Registo", @@ -102,6 +100,7 @@ S: function (j) {return j < 11 || j > 13 ? ['�', '�', '�', '�'][Math.min((j - 1) % 10, 3)] : '�'}, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-pt.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ro.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ro.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ro.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Romanian Translation * Alexandru Emil Lupu contact@alecslupu.ro * http://www.alecslupu.ro/ @@ -20,10 +20,8 @@ caption: "Caută...", Find: "Caută", Reset: "Resetare", - odata : ['egal', 'diferit', 'mai mic', 'mai mic sau egal','mai mare','mai mare sau egal', 'începe cu','nu începe cu','se găsește în','nu se găsește în','se termină cu','nu se termină cu','conține',''], - groupOps: [ { op: "AND", text: "toate" }, { op: "OR", text: "oricare" } ], - matchText: " găsite", - rulesText: " reguli" + odata: [{ oper:'eq', text:"egal"},{ oper:'ne', text:"diferit"},{ oper:'lt', text:"mai mic"},{ oper:'le', text:"mai mic sau egal"},{ oper:'gt', text:"mai mare"},{ oper:'ge', text:"mai mare sau egal"},{ oper:'bw', text:"începe cu"},{ oper:'bn', text:"nu începe cu"},{ oper:'in', text:"se găsește în"},{ oper:'ni', text:"nu se găsește în"},{ oper:'ew', text:"se termină cu"},{ oper:'en', text:"nu se termină cu"},{ oper:'cn', text:"conține"},{ oper:'nc', text:""}], + groupOps: [ { op: "AND", text: "toate" }, { op: "OR", text: "oricare" } ] }, edit : { addCaption: "Adăugare înregistrare", @@ -116,6 +114,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ro.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ru.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ru.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ru.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Russian Translation v1.0 02.07.2009 (based on translation by Alexey Kanaev v1.1 21.01.2009, http://softcore.com.ru) * Sergey Dyagovchenko * http://d.sumy.ua @@ -20,10 +20,8 @@ caption: "Поиск...", Find: "Найти", Reset: "Сброс", - odata : ['равно', 'не равно', 'меньше', 'меньше или равно','больше','больше или равно', 'начинается с','не начинается с','находится в','не находится в','заканчивается на','не заканчивается на','содержит','не содержит'], - groupOps: [ { op: "AND", text: "все" }, { op: "OR", text: "любой" } ], - matchText: " совпадает", - rulesText: " правила" + odata: [{ oper:'eq', text:"равно"},{ oper:'ne', text:"не равно"},{ oper:'lt', text:"меньше"},{ oper:'le', text:"меньше или равно"},{ oper:'gt', text:"больше"},{ oper:'ge', text:"больше или равно"},{ oper:'bw', text:"начинается с"},{ oper:'bn', text:"не начинается с"},{ oper:'in', text:"находится в"},{ oper:'ni', text:"не находится в"},{ oper:'ew', text:"заканчивается на"},{ oper:'en', text:"не заканчивается на"},{ oper:'cn', text:"содержит"},{ oper:'nc', text:"не содержит"}], + groupOps: [ { op: "AND", text: "все" }, { op: "OR", text: "любой" } ] }, edit : { addCaption: "Добавить запись", @@ -43,11 +41,11 @@ email: "некорректное значение e-mail", integer: "Пожалуйста, введите целое число", date: "Пожалуйста, введите правильную дату", - url: "неверная ссылка. Необходимо ввести префикс ('http://' or 'https://')", - nodefined : " is not defined!", - novalue : " return value is required!", - customarray : "Custom function should return array!", - customfcheck : "Custom function should be present in case of custom checking!" + url: "неверная ссылка. Необходимо ввести префикс ('http://' или 'https://')", + nodefined : " не определено!", + novalue : " возвращаемое значение обязательно!", + customarray : "Пользовательская функция должна возвращать массив!", + customfcheck : "Пользовательская функция должна присутствовать в случаи пользовательской проверки!" } }, view : { @@ -104,6 +102,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'd.m.Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ru.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sk.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sk.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sk.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Slovak Translation * Milan Cibulka * http://trirand.com/blog/ @@ -20,10 +20,8 @@ caption: "Vyhľadávam...", Find: "Hľadať", Reset: "Reset", - odata : ['rovná sa', 'nerovná sa', 'menšie', 'menšie alebo rovnajúce sa','väčšie', 'väčšie alebo rovnajúce sa', 'začína s', 'nezačína s', 'je v', 'nie je v', 'končí s', 'nekončí s', 'obahuje', 'neobsahuje'], - groupOps: [ { op: "AND", text: "všetkých" }, { op: "OR", text: "niektorého z" } ], - matchText: " hľadať podla", - rulesText: " pravidiel" + odata: [{ oper:'eq', text:"rovná sa"},{ oper:'ne', text:"nerovná sa"},{ oper:'lt', text:"menšie"},{ oper:'le', text:"menšie alebo rovnajúce sa"},{ oper:'gt', text:"väčšie"},{ oper:'ge', text:"väčšie alebo rovnajúce sa"},{ oper:'bw', text:"začína s"},{ oper:'bn', text:"nezačína s"},{ oper:'in', text:"je v"},{ oper:'ni', text:"nie je v"},{ oper:'ew', text:"končí s"},{ oper:'en', text:"nekončí s"},{ oper:'cn', text:"obahuje"},{ oper:'nc', text:"neobsahuje"}], + groupOps: [ { op: "AND", text: "všetkých" }, { op: "OR", text: "niektorého z" } ] }, edit : { addCaption: "Pridať záznam", @@ -104,6 +102,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sk.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sr-latin.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sr-latin.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sr-latin.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Serbian latin Translation * Bild Studio info@bild-studio.net * http://www.bild-studio.com @@ -13,17 +13,15 @@ defaults : { recordtext: "Pregled {0} - {1} od {2}", emptyrecords: "Ne postoji nijedan zapis", - loadtext: "Učitivanje...", + loadtext: "Učitavanje…", pgtext : "Strana {0} od {1}" }, search : { caption: "Traženje...", Find: "Traži", Reset: "Resetuj", - odata : ['jednako', 'nije jednako', 'manje', 'manje ili jednako','veće','veće ili jednako', 'počinje sa','ne počinje sa','je u','nije u','završava sa','ne završava sa','sadrži','ne sadrži'], - groupOps: [ { op: "AND", text: "sva" }, { op: "OR", text: "bilo koje" } ], - matchText: " primeni", - rulesText: " pravila" + odata: [{ oper:'eq', text:"jednako"},{ oper:'ne', text:"nije jednako"},{ oper:'lt', text:"manje"},{ oper:'le', text:"manje ili jednako"},{ oper:'gt', text:"veće"},{ oper:'ge', text:"veće ili jednako"},{ oper:'bw', text:"počinje sa"},{ oper:'bn', text:"ne počinje sa"},{ oper:'in', text:"je u"},{ oper:'ni', text:"nije u"},{ oper:'ew', text:"završava sa"},{ oper:'en', text:"ne završava sa"},{ oper:'cn', text:"sadrži"},{ oper:'nc', text:"ne sadrži"}], + groupOps: [ { op: "AND", text: "sva" }, { op: "OR", text: "bilo koje" } ] }, edit : { addCaption: "Dodaj zapis", @@ -105,6 +103,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sr-latin.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sr.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sr.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sr.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Serbian Translation * Александар Миловац(Aleksandar Milovac) aleksandar.milovac@gmail.com * http://trirand.com/blog/ @@ -20,10 +20,8 @@ caption: "Тражење...", Find: "Тражи", Reset: "Ресетуј", - odata : ['једнако', 'није једнако', 'мање', 'мање или једнако','веће','веће или једнако', 'почиње са','не почиње са','је у','није у','завршава са','не завршава са','садржи','не садржи'], - groupOps: [ { op: "И", text: "сви" }, { op: "ИЛИ", text: "сваки" } ], - matchText: " match", - rulesText: " правила" + odata: [{ oper:'eq', text:"једнако"},{ oper:'ne', text:"није једнако"},{ oper:'lt', text:"мање"},{ oper:'le', text:"мање или једнако"},{ oper:'gt', text:"веће"},{ oper:'ge', text:"веће или једнако"},{ oper:'bw', text:"почиње са"},{ oper:'bn', text:"не почиње са"},{ oper:'in', text:"је у"},{ oper:'ni', text:"није у"},{ oper:'ew', text:"завршава са"},{ oper:'en', text:"не завршава са"},{ oper:'cn', text:"садржи"},{ oper:'nc', text:"не садржи"}], + groupOps: [ { op: "И", text: "сви" }, { op: "ИЛИ", text: "сваки" } ] }, edit : { addCaption: "Додај запис", @@ -105,6 +103,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sr.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sv.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sv.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sv.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Swedish Translation * Harald Normann harald.normann@wts.se, harald.normann@gmail.com * http://www.worldteamsoftware.com @@ -20,10 +20,8 @@ caption: "Sök Poster - Ange sökvillkor", Find: "Sök", Reset: "Nollställ Villkor", - odata : ['lika', 'ej lika', 'mindre', 'mindre eller lika','större','större eller lika', 'börjar med','börjar inte med','tillhör','tillhör inte','slutar med','slutar inte med','innehåller','innehåller inte'], - groupOps: [ { op: "AND", text: "alla" }, { op: "OR", text: "eller" } ], - matchText: " träff", - rulesText: " regler" + odata: [{ oper:'eq', text:"lika"},{ oper:'ne', text:"ej lika"},{ oper:'lt', text:"mindre"},{ oper:'le', text:"mindre eller lika"},{ oper:'gt', text:"större"},{ oper:'ge', text:"större eller lika"},{ oper:'bw', text:"börjar med"},{ oper:'bn', text:"börjar inte med"},{ oper:'in', text:"tillhör"},{ oper:'ni', text:"tillhör inte"},{ oper:'ew', text:"slutar med"},{ oper:'en', text:"slutar inte med"},{ oper:'cn', text:"innehåller"},{ oper:'nc', text:"innehåller inte"}], + groupOps: [ { op: "AND", text: "alla" }, { op: "OR", text: "eller" } ] }, edit : { addCaption: "Ny Post", @@ -104,6 +102,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'Y-m-d', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-sv.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-th.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-th.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-th.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Thai Translation * Kittituch Manakul m.kittituch@Gmail.com * http://trirand.com/blog/ @@ -20,10 +20,8 @@ caption: "กำลังค้นหา...", Find: "ค้นหา", Reset: "คืนค่ากลับ", - odata : ['เท่ากับ', 'ไม่เท่ากับ', 'น้อยกว่า', 'ไม่มากกว่า','มากกกว่า','ไม่น้อยกว่า', 'ขึ้นต้นด้วย','ไม่ขึ้นต้นด้วย','มีคำใดคำหนึ่งใน','ไม่มีคำใดคำหนึ่งใน','ลงท้ายด้วย','ไม่ลงท้ายด้วย','มีคำว่า','ไม่มีคำว่า'], - groupOps: [ { op: "และ", text: "ทั้งหมด" }, { op: "หรือ", text: "ใดๆ" } ], - matchText: " ตรงกันกับ", - rulesText: " ตามกฏ" + odata: [{ oper:'eq', text:"เท่ากับ"},{ oper:'ne', text:"ไม่เท่ากับ"},{ oper:'lt', text:"น้อยกว่า"},{ oper:'le', text:"ไม่มากกว่า"},{ oper:'gt', text:"มากกกว่า"},{ oper:'ge', text:"ไม่น้อยกว่า"},{ oper:'bw', text:"ขึ้นต้นด้วย"},{ oper:'bn', text:"ไม่ขึ้นต้นด้วย"},{ oper:'in', text:"มีคำใดคำหนึ่งใน"},{ oper:'ni', text:"ไม่มีคำใดคำหนึ่งใน"},{ oper:'ew', text:"ลงท้ายด้วย"},{ oper:'en', text:"ไม่ลงท้ายด้วย"},{ oper:'cn', text:"มีคำว่า"},{ oper:'nc', text:"ไม่มีคำว่า"}], + groupOps: [ { op: "และ", text: "ทั้งหมด" }, { op: "หรือ", text: "ใดๆ" } ] }, edit : { addCaption: "เพิ่มข้อมูล", @@ -105,6 +103,7 @@ S: function (j) {return ''}, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-th.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-tr.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-tr.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-tr.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Turkish Translation * Erhan Gündoğan (erhan@trposta.net) * http://blog.zakkum.com @@ -20,10 +20,8 @@ caption: "Arama...", Find: "Bul", Reset: "Temizle", - odata : ['eşit', 'eşit değil', 'daha az', 'daha az veya eşit', 'daha fazla', 'daha fazla veya eşit', 'ile başlayan', 'ile başlamayan', 'içinde', 'içinde değil', 'ile biten', 'ile bitmeyen', 'içeren', 'içermeyen'], - groupOps: [ { op: "VE", text: "tüm" }, { op: "VEYA", text: "herhangi" } ], - matchText: " uyan", - rulesText: " kurallar" + odata: [{ oper:'eq', text:"eşit"},{ oper:'ne', text:"eşit değil"},{ oper:'lt', text:"daha az"},{ oper:'le', text:"daha az veya eşit"},{ oper:'gt', text:"daha fazla"},{ oper:'ge', text:"daha fazla veya eşit"},{ oper:'bw', text:"ile başlayan"},{ oper:'bn', text:"ile başlamayan"},{ oper:'in', text:"içinde"},{ oper:'ni', text:"içinde değil"},{ oper:'ew', text:"ile biten"},{ oper:'en', text:"ile bitmeyen"},{ oper:'cn', text:"içeren"},{ oper:'nc', text:"içermeyen"}], + groupOps: [ { op: "VE", text: "tüm" }, { op: "VEYA", text: "herhangi" } ] }, edit : { addCaption: "Kayıt Ekle", @@ -103,6 +101,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'd/m/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-tr.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-tw.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-tw.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-tw.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Chinese (Taiwan) Translation for v4.2 * linquize * https://github.com/linquize/jqGrid @@ -21,10 +21,8 @@ caption: "搜尋...", Find: "搜尋", Reset: "重設", - odata : ['等於 ', '不等於 ', '小於 ', '小於等於 ','大於 ','大於等於 ', '開始於 ','不開始於 ','在其中 ','不在其中 ','結束於 ','不結束於 ','包含 ','不包含 '], - groupOps: [ { op: "AND", text: "所有" }, { op: "OR", text: "任一" } ], - matchText: " 匹配", - rulesText: " 規則" + odata: [{ oper:'eq', text:"等於 "},{ oper:'ne', text:"不等於 "},{ oper:'lt', text:"小於 "},{ oper:'le', text:"小於等於 "},{ oper:'gt', text:"大於 "},{ oper:'ge', text:"大於等於 "},{ oper:'bw', text:"開始於 "},{ oper:'bn', text:"不開始於 "},{ oper:'in', text:"在其中 "},{ oper:'ni', text:"不在其中 "},{ oper:'ew', text:"結束於 "},{ oper:'en', text:"不結束於 "},{ oper:'cn', text:"包含 "},{ oper:'nc', text:"不包含 "}], + groupOps: [ { op: "AND", text: "所有" }, { op: "OR", text: "任一" } ] }, edit : { addCaption: "新增記錄", @@ -106,6 +104,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'm-d-Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-tw.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ua.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ua.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ua.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,6 @@ +// %%Ignore-License ;(function($){ /** - * %%Ignore-License * jqGrid Ukrainian Translation v1.0 02.07.2009 * Sergey Dyagovchenko * http://d.sumy.ua @@ -20,10 +20,8 @@ caption: "Пошук...", Find: "Знайти", Reset: "Скидання", - odata : ['рівно', 'не рівно', 'менше', 'менше або рівне','більше','більше або рівне', 'починається з','не починається з','знаходиться в','не знаходиться в','закінчується на','не закінчується на','містить','не містить'], - groupOps: [ { op: "AND", text: "все" }, { op: "OR", text: "будь-який" } ], - matchText: " збігається", - rulesText: " правила" + odata: [{ oper:'eq', text:"рівно"},{ oper:'ne', text:"не рівно"},{ oper:'lt', text:"менше"},{ oper:'le', text:"менше або рівне"},{ oper:'gt', text:"більше"},{ oper:'ge', text:"більше або рівне"},{ oper:'bw', text:"починається з"},{ oper:'bn', text:"не починається з"},{ oper:'in', text:"знаходиться в"},{ oper:'ni', text:"не знаходиться в"},{ oper:'ew', text:"закінчується на"},{ oper:'en', text:"не закінчується на"},{ oper:'cn', text:"містить"},{ oper:'nc', text:"не містить"}], + groupOps: [ { op: "AND", text: "все" }, { op: "OR", text: "будь-який" } ] }, edit : { addCaption: "Додати запис", @@ -104,6 +102,7 @@ S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, srcformat: 'Y-m-d', newformat: 'd.m.Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, masks : { ISO8601Long:"Y-m-d H:i:s", ISO8601Short:"Y-m-d", Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-ua.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-vi.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-vi.js (rev 0) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/i18n/grid.locale-vi.js 2013-07-19 21:45:03 UTC (rev 166) @@ -0,0 +1,169 @@ +// %%Ignore-License +;(function($){ +/** + * jqGrid Vietnamese Translation + * Lê Đình Dũng dungtdc@gmail.com + * http://trirand.com/blog/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +$.jgrid = $.jgrid || {}; +$.extend($.jgrid,{ + defaults : { + recordtext: "View {0} - {1} of {2}", + emptyrecords: "Không có dữ liệu", + loadtext: "Đang nạp dữ liệu...", + pgtext : "Trang {0} trong tổng số {1}" + }, + search : { + caption: "Tìm kiếm...", + Find: "Tìm", + Reset: "Khởi tạo lại", + odata: [{ oper:'eq', text:"bằng"},{ oper:'ne', text:"không bằng"},{ oper:'lt', text:"bé hơn"},{ oper:'le', text:"bé hơn hoặc bằng"},{ oper:'gt', text:"lớn hơn"},{ oper:'ge', text:"lớn hơn hoặc bằng"},{ oper:'bw', text:"bắt đầu với"},{ oper:'bn', text:"không bắt đầu với"},{ oper:'in', text:"trong"},{ oper:'ni', text:"không nằm trong"},{ oper:'ew', text:"kết thúc với"},{ oper:'en', text:"không kết thúc với"},{ oper:'cn', text:"chứa"},{ oper:'nc', text:"không chứa"}], + groupOps: [ { op: "VÀ", text: "tất cả" }, { op: "HOẶC", text: "bất kỳ" } ] + }, + edit : { + addCaption: "Thêm bản ghi", + editCaption: "Sửa bản ghi", + bSubmit: "Gửi", + bCancel: "Hủy bỏ", + bClose: "Đóng", + saveData: "Dữ liệu đã thay đổi! Có lưu thay đổi không?", + bYes : "Có", + bNo : "Không", + bExit : "Hủy bỏ", + msg: { + required:"Trường dữ liệu bắt buộc có", + number:"Hãy điền đúng số", + minValue:"giá trị phải lớn hơn hoặc bằng với ", + maxValue:"giá trị phải bé hơn hoặc bằng", + email: "không phải là một email đúng", + integer: "Hãy điền đúng số nguyên", + date: "Hãy điền đúng ngày tháng", + url: "không phải là URL. Khởi đầu bắt buộc là ('http://' hoặc 'https://')", + nodefined : " chưa được định nghĩa!", + novalue : " giá trị trả về bắt buộc phải có!", + customarray : "Hàm nên trả về một mảng!", + customfcheck : "Custom function should be present in case of custom checking!" + + } + }, + view : { + caption: "Xem bản ghi", + bClose: "Đóng" + }, + del : { + caption: "Xóa", + msg: "Xóa bản ghi đã chọn?", + bSubmit: "Xóa", + bCancel: "Hủy bỏ" + }, + nav : { + edittext: "", + edittitle: "Sửa dòng đã chọn", + addtext:"", + addtitle: "Thêm mới 1 dòng", + deltext: "", + deltitle: "Xóa dòng đã chọn", + searchtext: "", + searchtitle: "Tìm bản ghi", + refreshtext: "", + refreshtitle: "Nạp lại lưới", + alertcap: "Cảnh báo", + alerttext: "Hãy chọn một dòng", + viewtext: "", + viewtitle: "Xem dòng đã chọn" + }, + col : { + caption: "Chọn cột", + bSubmit: "OK", + bCancel: "Hủy bỏ" + }, + errors : { + errcap : "Lỗi", + nourl : "không url được đặt", + norecords: "Không có bản ghi để xử lý", + model : "Chiều dài của colNames <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: ".", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, defaultValue: '0'}, + currency : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0'}, + date : { + dayNames: [ + "CN", "T2", "T3", "T4", "T5", "T6", "T7", + "Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy" + ], + monthNames: [ + "Th1", "Th2", "Th3", "Th4", "Th5", "Th6", "Th7", "Th8", "Th9", "Th10", "Th11", "Th12", + "Tháng một", "Tháng hai", "Tháng ba", "Tháng tư", "Tháng năm", "Tháng sáu", "Tháng bảy", "Tháng tám", "Tháng chín", "Tháng mười", "Tháng mười một", "Tháng mười hai" + ], + AmPm : ["sáng","chiều","SÁNG","CHIỀU"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th';}, + srcformat: 'Y-m-d', + newformat: 'n/j/Y', + parseRe : /[Tt\\\/:_;.,\t\s-]/, + masks : { + // see http://php.net/manual/en/function.date.php for PHP format used in jqGrid + // and see http://docs.jquery.com/UI/Datepicker/formatDate + // and https://github.com/jquery/globalize#dates for alternative formats used frequently + // one can find on https://github.com/jquery/globalize/tree/master/lib/cultures many + // information about date, time, numbers and currency formats used in different countries + // one should just convert the information in PHP format + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + // short date: + // n - Numeric representation of a month, without leading zeros + // j - Day of the month without leading zeros + // Y - A full numeric representation of a year, 4 digits + // example: 3/1/2012 which means 1 March 2012 + ShortDate: "n/j/Y", // in jQuery UI Datepicker: "M/d/yyyy" + // long date: + // l - A full textual representation of the day of the week + // F - A full textual representation of a month + // d - Day of the month, 2 digits with leading zeros + // Y - A full numeric representation of a year, 4 digits + LongDate: "l, F d, Y", // in jQuery UI Datepicker: "dddd, MMMM dd, yyyy" + // long date with long time: + // l - A full textual representation of the day of the week + // F - A full textual representation of a month + // d - Day of the month, 2 digits with leading zeros + // Y - A full numeric representation of a year, 4 digits + // g - 12-hour format of an hour without leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + // A - Uppercase Ante meridiem and Post meridiem (AM or PM) + FullDateTime: "l, F d, Y g:i:s A", // in jQuery UI Datepicker: "dddd, MMMM dd, yyyy h:mm:ss tt" + // month day: + // F - A full textual representation of a month + // d - Day of the month, 2 digits with leading zeros + MonthDay: "F d", // in jQuery UI Datepicker: "MMMM dd" + // short time (without seconds) + // g - 12-hour format of an hour without leading zeros + // i - Minutes with leading zeros + // A - Uppercase Ante meridiem and Post meridiem (AM or PM) + ShortTime: "g:i A", // in jQuery UI Datepicker: "h:mm tt" + // long time (with seconds) + // g - 12-hour format of an hour without leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + // A - Uppercase Ante meridiem and Post meridiem (AM or PM) + LongTime: "g:i:s A", // in jQuery UI Datepicker: "h:mm:ss tt" + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + // month with year + // Y - A full numeric representation of a year, 4 digits + // F - A full textual representation of a month + YearMonth: "F, Y" // in jQuery UI Datepicker: "MMMM, yyyy" + }, + reformatAfterEdit : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}); +})(jQuery); Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/jquery.jqGrid.src.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/jquery.jqGrid.src.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/jquery.jqGrid.src.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,3 +1,4 @@ +// %%Ignore-License // ==ClosureCompiler== // @compilation_level SIMPLE_OPTIMIZATIONS @@ -2,12 +3,12 @@ /** - * %%Ignore-License - * @license jqGrid 4.4.1 - jQuery Grid + * @license jqGrid 4.5.2 - jQuery Grid * Copyright (c) 2008, Tony Tomov, tony@trirand.com * Dual licensed under the MIT and GPL licenses * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl-2.0.html - * Date: 2012-08-28 + * Date: 2013-05-21 */ //jsHint options -/*global document, window, jQuery, DOMParser, ActiveXObject, $, alert */ +/*jshint evil:true, eqeqeq:false, eqnull:true, devel:true */ +/*global jQuery */ @@ -17,9 +18,9 @@ "use strict"; $.jgrid = $.jgrid || {}; $.extend($.jgrid,{ - version : "4.4.1", + version : "4.5.2", htmlDecode : function(value){ - if(value && (value==' ' || value==' ' || (value.length===1 && value.charCodeAt(0)===160))) { return "";} + if(value && (value===' ' || value===' ' || (value.length===1 && value.charCodeAt(0)===160))) { return "";} return !value ? value : String(value).replace(/>/g, ">").replace(/</g, "<").replace(/"/g, '"').replace(/&/g, "&"); }, htmlEncode : function (value){ @@ -27,127 +28,221 @@ }, format : function(format){ //jqgformat var args = $.makeArray(arguments).slice(1); - if(format===undefined) { format = ""; } + if(format==null) { format = ""; } return format.replace(/\{(\d+)\}/g, function(m, i){ return args[i]; }); }, + msie : navigator.appName === 'Microsoft Internet Explorer', + msiever : function () { + var rv = -1; + var ua = navigator.userAgent; + var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})"); + if (re.exec(ua) != null) { + rv = parseFloat( RegExp.$1 ); + } + return rv; + }, getCellIndex : function (cell) { var c = $(cell); if (c.is('tr')) { return -1; } c = (!c.is('td') && !c.is('th') ? c.closest("td,th") : c)[0]; - if ($.browser.msie) { return $.inArray(c, c.parentNode.cells); } + if ($.jgrid.msie) { return $.inArray(c, c.parentNode.cells); } return c.cellIndex; }, stripHtml : function(v) { - v = v+""; + v = String(v); var regexp = /<("[^"]*"|'[^']*'|[^'">])*>/gi; if (v) { v = v.replace(regexp,""); return (v && v !== ' ' && v !== ' ') ? v.replace(/\"/g,"'") : ""; - } else { + } return v; - } }, stripPref : function (pref, id) { var obj = $.type( pref ); - if( obj == "string" || obj =="number") { + if( obj === "string" || obj === "number") { pref = String(pref); id = pref !== "" ? String(id).replace(String(pref), "") : id; } return id; }, - stringToDoc : function (xmlString) { - var xmlDoc; - if(typeof xmlString !== 'string') { return xmlString; } - try { - var parser = new DOMParser(); - xmlDoc = parser.parseFromString(xmlString,"text/xml"); - } - catch(e) { - xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); - xmlDoc.async=false; - xmlDoc.loadXML(xmlString); - } - return (xmlDoc && xmlDoc.documentElement && xmlDoc.documentElement.tagName != 'parsererror') ? xmlDoc : null; - }, parse : function(jsonString) { var js = jsonString; - if (js.substr(0,9) == "while(1);") { js = js.substr(9); } - if (js.substr(0,2) == "/*") { js = js.substr(2,js.length-4); } + if (js.substr(0,9) === "while(1);") { js = js.substr(9); } + if (js.substr(0,2) === "/*") { js = js.substr(2,js.length-4); } if(!js) { js = "{}"; } - return ($.jgrid.useJSON===true && typeof (JSON) === 'object' && typeof (JSON.parse) === 'function') ? + return ($.jgrid.useJSON===true && typeof JSON === 'object' && typeof JSON.parse === 'function') ? JSON.parse(js) : eval('(' + js + ')'); }, - parseDate : function(format, date) { - var tsp = {m : 1, d : 1, y : 1970, h : 0, i : 0, s : 0, u:0},k,hl,dM, regdate = /[\\\/:_;.,\t\T\s-]/; - if(date && date !== null && date !== undefined){ - date = $.trim(date); - date = date.split(regdate); - if ($.jgrid.formatter.date.masks[format] !== undefined) { - format = $.jgrid.formatter.date.masks[format]; - } - format = format.split(regdate); - var dfmt = $.jgrid.formatter.date.monthNames; - var afmt = $.jgrid.formatter.date.AmPm; - var h12to24 = function(ampm, h){ - if (ampm === 0){ if (h === 12) { h = 0;} } - else { if (h !== 12) { h += 12; } } - return h; - }; - for(k=0,hl=format.length;k<hl;k++){ - if(format[k] == 'M') { - dM = $.inArray(date[k],dfmt); - if(dM !== -1 && dM < 12){ - date[k] = dM+1; - tsp.m = date[k]; - } + parseDate : function(format, date, newformat, opts) { + var token = /\\.|[dDjlNSwzWFmMntLoYyaABgGhHisueIOPTZcrU]/g, + timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g, + timezoneClip = /[^-+\dA-Z]/g, + msDateRegExp = new RegExp("^\/Date\\((([-+])?[0-9]+)(([-+])([0-9]{2})([0-9]{2}))?\\)\/$"), + msMatch = ((typeof date === 'string') ? date.match(msDateRegExp): null), + pad = function (value, length) { + value = String(value); + length = parseInt(length,10) || 2; + while (value.length < length) { value = '0' + value; } + return value; + }, + ts = {m : 1, d : 1, y : 1970, h : 0, i : 0, s : 0, u:0}, + timestamp=0, dM, k,hl, + h12to24 = function(ampm, h){ + if (ampm === 0){ if (h === 12) { h = 0;} } + else { if (h !== 12) { h += 12; } } + return h; + }; + if(opts === undefined) { + opts = $.jgrid.formatter.date; + } + // old lang files + if(opts.parseRe === undefined ) { + opts.parseRe = /[Tt\\\/:_;.,\t\s-]/; + } + if( opts.masks.hasOwnProperty(format) ) { format = opts.masks[format]; } + if(date && date != null) { + if( !isNaN( date - 0 ) && String(format).toLowerCase() === "u") { + //Unix timestamp + timestamp = new Date( parseFloat(date)*1000 ); + } else if(date.constructor === Date) { + timestamp = date; + // Microsoft date format support + } else if( msMatch !== null ) { + timestamp = new Date(parseInt(msMatch[1], 10)); + if (msMatch[3]) { + var offset = Number(msMatch[5]) * 60 + Number(msMatch[6]); + offset *= ((msMatch[4] === '-') ? 1 : -1); + offset -= timestamp.getTimezoneOffset(); + timestamp.setTime(Number(Number(timestamp) + (offset * 60 * 1000))); } - if(format[k] == 'F') { - dM = $.inArray(date[k],dfmt); - if(dM !== -1 && dM > 11){ - date[k] = dM+1-12; - tsp.m = date[k]; + } else { + date = String(date).replace(/\\T/g,"T").replace(/\\t/,"t").split(opts.parseRe); + format = format.replace(/\\T/g,"T").replace(/\\t/,"t").split(opts.parseRe); + // parsing for month names + for(k=0,hl=format.length;k<hl;k++){ + if(format[k] === 'M') { + dM = $.inArray(date[k],opts.monthNames); + if(dM !== -1 && dM < 12){date[k] = dM+1; ts.m = date[k];} } - } - if(format[k] == 'a') { - dM = $.inArray(date[k],afmt); - if(dM !== -1 && dM < 2 && date[k] == afmt[dM]){ - date[k] = dM; - tsp.h = h12to24(date[k], tsp.h); + if(format[k] === 'F') { + dM = $.inArray(date[k],opts.monthNames,12); + if(dM !== -1 && dM > 11){date[k] = dM+1-12; ts.m = date[k];} } - } - if(format[k] == 'A') { - dM = $.inArray(date[k],afmt); - if(dM !== -1 && dM > 1 && date[k] == afmt[dM]){ - date[k] = dM-2; - tsp.h = h12to24(date[k], tsp.h); + if(format[k] === 'a') { + dM = $.inArray(date[k],opts.AmPm); + if(dM !== -1 && dM < 2 && date[k] === opts.AmPm[dM]){ + date[k] = dM; + ts.h = h12to24(date[k], ts.h); + } } + if(format[k] === 'A') { + dM = $.inArray(date[k],opts.AmPm); + if(dM !== -1 && dM > 1 && date[k] === opts.AmPm[dM]){ + date[k] = dM-2; + ts.h = h12to24(date[k], ts.h); + } + } + if (format[k] === 'g') { + ts.h = parseInt(date[k], 10); + } + if(date[k] !== undefined) { + ts[format[k].toLowerCase()] = parseInt(date[k],10); + } } - if (format[k] === 'g') { - tsp.h = parseInt(date[k], 10); + if(ts.f) {ts.m = ts.f;} + if( ts.m === 0 && ts.y === 0 && ts.d === 0) { + return " " ; } - if(date[k] !== undefined) { - tsp[format[k].toLowerCase()] = parseInt(date[k],10); - } + ts.m = parseInt(ts.m,10)-1; + var ty = ts.y; + if (ty >= 70 && ty <= 99) {ts.y = 1900+ts.y;} + else if (ty >=0 && ty <=69) {ts.y= 2000+ts.y;} + timestamp = new Date(ts.y, ts.m, ts.d, ts.h, ts.i, ts.s, ts.u); } - tsp.m = parseInt(tsp.m,10)-1; - var ty = tsp.y; - if (ty >= 70 && ty <= 99) {tsp.y = 1900+tsp.y;} - else if (ty >=0 && ty <=69) {tsp.y= 2000+tsp.y;} - if(tsp.j !== undefined) { tsp.d = tsp.j; } - if(tsp.n !== undefined) { tsp.m = parseInt(tsp.n,10)-1; } + } else { + timestamp = new Date(ts.y, ts.m, ts.d, ts.h, ts.i, ts.s, ts.u); } - return new Date(tsp.y, tsp.m, tsp.d, tsp.h, tsp.i, tsp.s, tsp.u); + if( newformat === undefined ) { + return timestamp; + } + if( opts.masks.hasOwnProperty(newformat) ) { + newformat = opts.masks[newformat]; + } else if ( !newformat ) { + newformat = 'Y-m-d'; + } + var + G = timestamp.getHours(), + i = timestamp.getMinutes(), + j = timestamp.getDate(), + n = timestamp.getMonth() + 1, + o = timestamp.getTimezoneOffset(), + s = timestamp.getSeconds(), + u = timestamp.getMilliseconds(), + w = timestamp.getDay(), + Y = timestamp.getFullYear(), + N = (w + 6) % 7 + 1, + z = (new Date(Y, n - 1, j) - new Date(Y, 0, 1)) / 86400000, + flags = { + // Day + d: pad(j), + D: opts.dayNames[w], + j: j, + l: opts.dayNames[w + 7], + N: N, + S: opts.S(j), + //j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th', + w: w, + z: z, + // Week + W: N < 5 ? Math.floor((z + N - 1) / 7) + 1 : Math.floor((z + N - 1) / 7) || ((new Date(Y - 1, 0, 1).getDay() + 6) % 7 < 4 ? 53 : 52), + // Month + F: opts.monthNames[n - 1 + 12], + m: pad(n), + M: opts.monthNames[n - 1], + n: n, + t: '?', + // Year + L: '?', + o: '?', + Y: Y, + y: String(Y).substring(2), + // Time + a: G < 12 ? opts.AmPm[0] : opts.AmPm[1], + A: G < 12 ? opts.AmPm[2] : opts.AmPm[3], + B: '?', + g: G % 12 || 12, + G: G, + h: pad(G % 12 || 12), + H: pad(G), + i: pad(i), + s: pad(s), + u: u, + // Timezone + e: '?', + I: '?', + O: (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4), + P: '?', + T: (String(timestamp).match(timezone) || [""]).pop().replace(timezoneClip, ""), + Z: '?', + // Full Date/Time + c: '?', + r: '?', + U: Math.floor(timestamp / 1000) + }; + return newformat.replace(token, function ($0) { + return flags.hasOwnProperty($0) ? flags[$0] : $0.substring(1); + }); }, jqID : function(sid){ - return String(sid).replace(/[!"#$%&'()*+,.\/:;<=>?@\[\\\]\^`{|}~]/g,"\\$&"); + return String(sid).replace(/[!"#$%&'()*+,.\/:; <=>?@\[\\\]\^`{|}~]/g,"\\$&"); }, guid : 1, uidPref: 'jqg', randId : function( prefix ) { - return (prefix? prefix: $.jgrid.uidPref) + ($.jgrid.guid++); + return (prefix || $.jgrid.uidPref) + ($.jgrid.guid++); }, getAccessor : function(obj, expr) { var ret,p,prm = [], i; @@ -171,19 +266,18 @@ return ret; }, getXmlData: function (obj, expr, returnObj) { - var ret, m = typeof (expr) === 'string' ? expr.match(/^(.*)\[(\w+)\]$/) : null; - if (typeof (expr) === 'function') { return expr(obj); } + var ret, m = typeof expr === 'string' ? expr.match(/^(.*)\[(\w+)\]$/) : null; + if (typeof expr === 'function') { return expr(obj); } if (m && m[2]) { // m[2] is the attribute selector // m[1] is an optional element selector // examples: "[id]", "rows[page]" return m[1] ? $(m[1], obj).attr(m[2]) : $(obj).attr(m[2]); - } else { + } ret = $(expr, obj); if (returnObj) { return ret; } //$(expr, obj).filter(':last'); // we use ':last' to be more compatible with old version of jqGrid return ret.length > 0 ? $(ret).text() : undefined; - } }, cellWidth : function () { var $testDiv = $("<div class='ui-jqgrid' style='left:10000px'><table class='ui-jqgrid-btable' style='width:5px;'><tr class='jqgrow'><td style='width:5px;'></td></tr></table></div>"), @@ -193,12 +287,13 @@ $testDiv.remove(); return testCell !== 5; }, + cell_width : true, ajaxOptions: {}, from : function(source){ // Original Author Hugo Bonacci // License MIT http://jlinq.codeplex.com/license var QueryObject=function(d,q){ - if(typeof(d)=="string"){ + if(typeof d==="string"){ d=$.data(d); } var self=this, @@ -214,9 +309,9 @@ _queuedOperator="", _sorting=[], _useProperties=true; - if(typeof(d)=="object"&&d.push) { + if(typeof d==="object"&&d.push) { if(d.length>0){ - if(typeof(d[0])!="object"){ + if(typeof d[0]!=="object"){ _useProperties=false; }else{ _useProperties=true; @@ -243,11 +338,10 @@ return phrase.join(""); }; this._strComp=function(val){ - if(typeof(val)=="string"){ + if(typeof val==="string"){ return".toString()"; - }else{ - return""; } + return""; }; this._group=function(f,u){ return({field:f.toString(),unique:u,items:[]}); @@ -328,9 +422,9 @@ if (a > b) { return d; } return 0; } - if(!_usecase && typeof(a) !== "number" && typeof(b) !== "number" ) { - a=String(a).toLowerCase(); - b=String(b).toLowerCase(); + if(!_usecase && typeof a !== "number" && typeof b !== "number" ) { + a=String(a); + b=String(b); } if(a<b){return -d;} if(a>b){return d;} @@ -345,35 +439,34 @@ dir=_sorting[q].dir, type = _sorting[q].type, dfmt = _sorting[q].datefmt; - if(q==_sorting.length-1){ + if(q===_sorting.length-1){ return self._getOrder(d, by, dir, type, dfmt); } q++; - var values=self._getGroup(d,by,dir,type,dfmt); - var results=[]; - for(var i=0;i<values.length;i++){ - var sorted=self._doSort(values[i].items,q); - for(var j=0;j<sorted.length;j++){ + var values=self._getGroup(d,by,dir,type,dfmt), results=[], i, j, sorted; + for(i=0;i<values.length;i++){ + sorted=self._doSort(values[i].items,q); + for(j=0;j<sorted.length;j++){ results.push(sorted[j]); } } return results; }; this._getOrder=function(data,by,dir,type, dfmt){ - var sortData=[],_sortData=[], newDir = dir=="a" ? 1 : -1, i,ab,j, + var sortData=[],_sortData=[], newDir = dir==="a" ? 1 : -1, i,ab,j, findSortKey; if(type === undefined ) { type = "text"; } - if (type == 'float' || type== 'number' || type== 'currency' || type== 'numeric') { + if (type === 'float' || type=== 'number' || type=== 'currency' || type=== 'numeric') { findSortKey = function($cell) { var key = parseFloat( String($cell).replace(_stripNum, '')); return isNaN(key) ? 0.00 : key; }; - } else if (type=='int' || type=='integer') { + } else if (type==='int' || type==='integer') { findSortKey = function($cell) { return $cell ? parseFloat(String($cell).replace(_stripNum, '')) : 0; }; - } else if(type == 'date' || type == 'datetime') { + } else if(type === 'date' || type === 'datetime') { findSortKey = function($cell) { return $.jgrid.parseDate(dfmt,$cell).getTime(); }; @@ -381,8 +474,8 @@ findSortKey = type; } else { findSortKey = function($cell) { - if(!$cell) {$cell ="";} - return $.trim(String($cell).toUpperCase()); + $cell = $cell ? $.trim(String($cell)) : ""; + return _usecase ? $cell : $cell.toLowerCase(); }; } $.each(data,function(i,v){ @@ -413,7 +506,7 @@ last=null, val; $.each(self._getOrder(data,by,dir,type, dfmt),function(i,v){ val = $.jgrid.getAccessor(v, by); - if(val === undefined) { val = ""; } + if(val == null) { val = ""; } if(!self._equals(last,val)){ last=val; if(group !== null){ @@ -582,7 +675,7 @@ return self._compareValues(self.lessOrEquals,f,v,"<=",t); }; this.startsWith=function(f,v){ - var val = (v===undefined || v===null) ? f: v, + var val = (v==null) ? f: v, length=_trim ? $.trim(val.toString()).length : val.toString().length; if(_useProperties){ self._append(self._getStr('jQuery.jgrid.getAccessor(this,\''+f+'\')')+'.substr(0,'+length+') == '+self._getStr('"'+self._toStr(v)+'"')); @@ -595,7 +688,7 @@ return self; }; this.endsWith=function(f,v){ - var val = (v===undefined || v===null) ? f: v, + var val = (v==null) ? f: v, length=_trim ? $.trim(val.toString()).length:val.toString().length; if(_useProperties){ self._append(self._getStr('jQuery.jgrid.getAccessor(this,\''+f+'\')')+'.substr('+self._getStr('jQuery.jgrid.getAccessor(this,\''+f+'\')')+'.length-'+length+','+length+') == "'+self._toStr(v)+'"'); @@ -622,11 +715,11 @@ return self._getGroup(_data,by,dir,type, datefmt); }; this.orderBy=function(by,dir,stype, dfmt){ - dir = dir === undefined || dir === null ? "a" :$.trim(dir.toString().toLowerCase()); - if(stype === null || stype === undefined) { stype = "text"; } - if(dfmt === null || dfmt === undefined) { dfmt = "Y-m-d"; } - if(dir=="desc"||dir=="descending"){dir="d";} - if(dir=="asc"||dir=="ascending"){dir="a";} + dir = dir == null ? "a" :$.trim(dir.toString().toLowerCase()); + if(stype == null) { stype = "text"; } + if(dfmt == null) { dfmt = "Y-m-d"; } + if(dir==="desc"||dir==="descending"){dir="d";} + if(dir==="asc"||dir==="ascending"){dir="a";} _sorting.push({by:by,dir:dir,type:stype, datefmt: dfmt}); return self; }; @@ -634,6 +727,9 @@ }; return new QueryObject(source,null); }, + getMethod: function (name) { + return this.getAccessor($.fn.jqGrid, name); + }, extend : function(methods) { $.extend($.fn.jqGrid,methods); if (!this.no_legacy_api) { @@ -643,9 +739,8 @@ }); $.fn.jqGrid = function( pin ) { - if (typeof pin == 'string') { - //var fn = $.fn.jqGrid[pin]; - var fn = $.jgrid.getAccessor($.fn.jqGrid,pin); + if (typeof pin === 'string') { + var fn = $.jgrid.getMethod(pin); if (!fn) { throw ("jqGrid - No such method: " + pin); } @@ -691,6 +786,7 @@ onRightClickRow: null, onPaging: null, onSelectAll: null, + onInitGrid : null, loadComplete: null, gridComplete: null, loadError: null, @@ -754,10 +850,11 @@ data : [], _index : {}, grouping : false, - groupingView : {groupField:[],groupOrder:[], groupText:[],groupColumnShow:[],groupSummary:[], showSummaryOnHide: false, sortitems:[], sortnames:[], summary:[],summaryval:[], plusicon: 'ui-icon-circlesmall-plus', minusicon: 'ui-icon-circlesmall-minus'}, + groupingView : {groupField:[],groupOrder:[], groupText:[],groupColumnShow:[],groupSummary:[], showSummaryOnHide: false, sortitems:[], sortnames:[], summary:[],summaryval:[], plusicon: 'ui-icon-circlesmall-plus', minusicon: 'ui-icon-circlesmall-minus', displayField: []}, ignoreCase : false, cmTemplate : {}, - idPrefix : "" + idPrefix : "", + multiSort : false }, $.jgrid.defaults, pin || {}); var ts= this, grid={ headers:[], @@ -769,7 +866,7 @@ this.curGbox = $("#rs_m"+$.jgrid.jqID(p.id),"#gbox_"+$.jgrid.jqID(p.id)); this.curGbox.css({display:"block",left:y[0],top:y[1],height:y[2]}); $(ts).triggerHandler("jqGridResizeStart", [x, i]); - if($.isFunction(p.resizeStart)) { p.resizeStart.call(this,x,i); } + if($.isFunction(p.resizeStart)) { p.resizeStart.call(ts,x,i); } document.onselectstart=function(){return false;}; }, dragMove: function(x) { @@ -824,7 +921,7 @@ } } $(ts).triggerHandler("jqGridResizeStop", [nw, idx]); - if($.isFunction(p.resizeStop)) { p.resizeStop.call(this,nw,idx); } + if($.isFunction(p.resizeStop)) { p.resizeStop.call(ts,nw,idx); } } this.curGbox = null; document.onselectstart=function(){return true;}; @@ -869,7 +966,7 @@ empty = true; } if (npage) { - if (p.lastpage && page > p.lastpage || p.lastpage==1 || (page === p.page && page===p.lastpage) ) { + if (p.lastpage && (page > p.lastpage || p.lastpage===1 || (page === p.page && page===p.lastpage)) ) { return; } if (grid.hDiv.loading) { @@ -888,7 +985,7 @@ if(p.scroll) { var scrollTop = grid.bDiv.scrollTop; if(grid.scrollTop === undefined) { grid.scrollTop = 0; } - if (scrollTop != grid.scrollTop) { + if (scrollTop !== grid.scrollTop) { grid.scrollTop = scrollTop; if (grid.timer) { clearTimeout(grid.timer); } grid.timer = setTimeout(grid.populateVisible, p.scrollTimeout); @@ -910,7 +1007,7 @@ p.selarrrow = []; if(p.multiselect && sra && sra.length>0) { for(i=0;i<sra.length;i++){ - if (sra[i] != sr) { + if (sra[i] !== sr) { $(ts).jqGrid("setSelection",sra[i],false, null); } } @@ -924,7 +1021,7 @@ $(ts).bind('jqGridGridComplete.selectionPreserver', restoreSelection); } }; - if(this.tagName.toUpperCase()!='TABLE') { + if(this.tagName.toUpperCase() !== 'TABLE') { alert("Element is not a table"); return; } @@ -934,7 +1031,7 @@ return; } } - $(this).empty().attr("tabindex","1"); + $(this).empty().attr("tabindex","0"); this.p = p ; this.p.useProp = !!$.fn.prop; var i, dir; @@ -947,28 +1044,25 @@ alert($.jgrid.errors.model); return; } - var gv = $("<div class='ui-jqgrid-view'></div>"), ii, - isMSIE = $.browser.msie ? true:false; + var gv = $("<div class='ui-jqgrid-view'></div>"), + isMSIE = $.jgrid.msie; ts.p.direction = $.trim(ts.p.direction.toLowerCase()); - if($.inArray(ts.p.direction,["ltr","rtl"]) == -1) { ts.p.direction = "ltr"; } + if($.inArray(ts.p.direction,["ltr","rtl"]) === -1) { ts.p.direction = "ltr"; } dir = ts.p.direction; $(gv).insertBefore(this); - $(this).appendTo(gv).removeClass("scroll"); + $(this).removeClass("scroll").appendTo(gv); var eg = $("<div class='ui-jqgrid ui-widget ui-widget-content ui-corner-all'></div>"); - $(eg).insertBefore(gv).attr({"id" : "gbox_"+this.id,"dir":dir}); - $(gv).appendTo(eg).attr("id","gview_"+this.id); - if (isMSIE && $.browser.version <= 6) { - ii = '<iframe style="display:block;position:absolute;z-index:-1;filter:Alpha(Opacity=\'0\');" src="javascript:false;"></iframe>'; - } else { ii="";} - $("<div class='ui-widget-overlay jqgrid-overlay' id='lui_"+this.id+"'></div>").append(ii).insertBefore(gv); + $(eg).attr({"id" : "gbox_"+this.id,"dir":dir}).insertBefore(gv); + $(gv).attr("id","gview_"+this.id).appendTo(eg); + $("<div class='ui-widget-overlay jqgrid-overlay' id='lui_"+this.id+"'></div>").insertBefore(gv); $("<div class='loading ui-state-default ui-state-active' id='load_"+this.id+"'>"+this.p.loadtext+"</div>").insertBefore(gv); $(this).attr({cellspacing:"0",cellpadding:"0",border:"0","role":"grid","aria-multiselectable":!!this.p.multiselect,"aria-labelledby":"gbox_"+this.id}); var sortkeys = ["shiftKey","altKey","ctrlKey"], intNum = function(val,defval) { val = parseInt(val,10); - if (isNaN(val)) { return defval ? defval : 0;} - else {return val;} + if (isNaN(val)) { return defval || 0;} + return val; }, formatCol = function (pos, rowInd, tv, rawObject, rowId, rdata){ var cm = ts.p.colModel[pos], @@ -980,11 +1074,11 @@ } else if (cm.cellattr && $.isFunction(cm.cellattr)) { celp = cm.cellattr.call(ts, rowId, tv, rawObject, cm, rdata); - if(celp && typeof(celp) === "string") { + if(celp && typeof celp === "string") { celp = celp.replace(/style/i,'style').replace(/title/i,'title'); if(celp.indexOf('title') > -1) { cm.title=false;} if(celp.indexOf('class') > -1) { clas = undefined;} - acp = celp.split("style"); + acp = celp.split(/[^-]style/); if(acp.length === 2 ) { acp[1] = $.trim(acp[1].replace("=","")); if(acp[1].indexOf("'") === 0 || acp[1].indexOf('"') === 0) { @@ -1002,11 +1096,12 @@ return result + acp[0]; }, cellVal = function (val) { - return val === undefined || val === null || val === "" ? " " : (ts.p.autoencode ? $.jgrid.htmlEncode(val) : val+""); + return val == null || val === "" ? " " : (ts.p.autoencode ? $.jgrid.htmlEncode(val) : String(val)); }, formatter = function (rowId, cellval , colpos, rwdat, _act){ var cm = ts.p.colModel[colpos],v; - if(typeof cm.formatter !== 'undefined') { + if(cm.formatter !== undefined) { + rowId = String(ts.p.idPrefix) !== "" ? $.jgrid.stripPref(ts.p.idPrefix, rowId) : rowId; var opts= {rowId: rowId, colModel:cm, gid:ts.p.id, pos:colpos }; if($.isFunction( cm.formatter ) ) { v = cm.formatter.call(ts,cellval,opts,rwdat,_act); @@ -1020,14 +1115,14 @@ } return v; }, - addCell = function(rowId,cell,pos,irow, srvr) { + addCell = function(rowId,cell,pos,irow, srvr, rdata) { var v,prp; v = formatter(rowId,cell,pos,srvr,'add'); - prp = formatCol( pos,irow, v, srvr, rowId, true); + prp = formatCol( pos,irow, v, srvr, rowId, rdata); return "<td role=\"gridcell\" "+prp+">"+v+"</td>"; }, addMulti = function(rowid,pos,irow,checked){ - var v = "<input role=\"checkbox\" type=\"checkbox\""+" id=\"jqg_"+ts.p.id+"_"+rowid+"\" class=\"cbox\" name=\"jqg_"+ts.p.id+"_"+rowid+"\"" + ((checked) ? "checked=\"checked\"" : "")+"/>", + var v = "<input role=\"checkbox\" type=\"checkbox\""+" id=\"jqg_"+ts.p.id+"_"+rowid+"\" class=\"cbox\" name=\"jqg_"+ts.p.id+"_"+rowid+"\"" + (checked ? "checked=\"checked\"" : "")+"/>", prp = formatCol( pos,irow,'',null, rowid, true); return "<td role=\"gridcell\" "+prp+">"+v+"</td>"; }, @@ -1041,9 +1136,9 @@ for(i =0; i<ts.p.colModel.length; i++){ field = ts.p.colModel[i]; if (field.name !== 'cb' && field.name !=='subgrid' && field.name !=='rn') { - f[j]= datatype == "local" ? + f[j]= datatype === "local" ? field.name : - ( (datatype=="xml" || datatype === "xmlstring") ? field.xmlmap || field.name : field.jsonmap || field.name ); + ( (datatype==="xml" || datatype === "xmlstring") ? field.xmlmap || field.name : field.jsonmap || field.name ); j++; } } @@ -1091,13 +1186,17 @@ } for(i =0;i < datalen; i++) { val = $.jgrid.getAccessor(ts.p.data[i],idname); + if (val === undefined) { val=String(i+1); } ts.p._index[val] = i; } }, constructTr = function(id, hide, altClass, rd, cur, selected) { var tabindex = '-1', restAttr = '', attrName, style = hide ? 'display:none;' : '', - classes = 'ui-widget-content jqgrow ui-row-' + ts.p.direction + altClass + ((selected) ? ' ui-state-highlight' : ''), - rowAttrObj = $.isFunction(ts.p.rowattr) ? ts.p.rowattr.call(ts, rd, cur) : {}; + classes = 'ui-widget-content jqgrow ui-row-' + ts.p.direction + (altClass ? ' ' + altClass : '') + (selected ? ' ui-state-highlight' : ''), + rowAttrObj = $(ts).triggerHandler("jqGridRowAttr", [rd, cur, id]); + if( typeof rowAttrObj !== "object" ) { + rowAttrObj = $.isFunction(ts.p.rowattr) ? ts.p.rowattr.call(ts, rd, cur, id) :{}; + } if(!$.isEmptyObject( rowAttrObj )) { if (rowAttrObj.hasOwnProperty("id")) { id = rowAttrObj.id; @@ -1128,9 +1227,9 @@ }, addXmlData = function (xml,t, rcnt, more, adjust) { var startReq = new Date(), - locdata = (ts.p.datatype != "local" && ts.p.loadonce) || ts.p.datatype == "xmlstring", + locdata = (ts.p.datatype !== "local" && ts.p.loadonce) || ts.p.datatype === "xmlstring", xmlid = "_id_", xmlRd = ts.p.xmlReader, - frd = ts.p.datatype == "local" ? "local" : "xml"; + frd = ts.p.datatype === "local" ? "local" : "xml"; if(locdata) { ts.p.data = []; ts.p._index = {}; @@ -1143,7 +1242,11 @@ rcnt=1; } else { rcnt = rcnt > 1 ? rcnt :1; } } else { return; } - var i,fpos,ir=0,v,gi=ts.p.multiselect===true?1:0,si=ts.p.subGrid===true?1:0,ni=ts.p.rownumbers===true?1:0,idn, getId,f=[],F,rd ={}, xmlr,rid, rowData=[], cn=(ts.p.altRows === true) ? " "+ts.p.altclass:"",cn1; + var self= $(ts), i,fpos,ir=0,v,gi=ts.p.multiselect===true?1:0,si=0,addSubGridCell,ni=ts.p.rownumbers===true?1:0,idn, getId,f=[],F,rd ={}, xmlr,rid, rowData=[], cn=(ts.p.altRows === true) ? ts.p.altclass:"",cn1; + if(ts.p.subGrid===true) { + si = 1; + addSubGridCell = $.jgrid.getMethod("addSubGridCell"); + } if(!xmlRd.repeatitems) {f = reader(frd);} if( ts.p.keyIndex===false) { idn = $.isFunction( xmlRd.id ) ? xmlRd.id.call(ts, xml) : xmlRd.id; @@ -1156,7 +1259,7 @@ } idn=f[idn]; } - if( (idn+"").indexOf("[") === -1 ) { + if( String(idn).indexOf("[") === -1 ) { if (f.length) { getId = function( trow, k) {return $(idn,trow).text() || k;}; } else { @@ -1179,18 +1282,21 @@ var gxml = $.jgrid.getXmlData( xml, xmlRd.root, true); gxml = $.jgrid.getXmlData( gxml, xmlRd.row, true); if (!gxml) { gxml = []; } - var gl = gxml.length, j=0, grpdata=[], rn = parseInt(ts.p.rowNum,10); + var gl = gxml.length, j=0, grpdata=[], rn = parseInt(ts.p.rowNum,10), br=ts.p.scroll?$.jgrid.randId():1, altr; if (gl > 0 && ts.p.page <= 0) { ts.p.page = 1; } if(gxml && gl){ - var br=ts.p.scroll?$.jgrid.randId():1,altr; if (adjust) { rn *= adjust+1; } - var afterInsRow = $.isFunction(ts.p.afterInsertRow), hiderow=ts.p.grouping && ts.p.groupingView.groupCollapse === true; + var afterInsRow = $.isFunction(ts.p.afterInsertRow), hiderow=false, groupingPrepare; + if(ts.p.grouping) { + hiderow = ts.p.groupingView.groupCollapse === true; + groupingPrepare = $.jgrid.getMethod("groupingPrepare"); + } while (j<gl) { xmlr = gxml[j]; rid = getId(xmlr,br+j); rid = ts.p.idPrefix + rid; altr = rcnt === 0 ? 0 : rcnt+1; - cn1 = (altr+j)%2 == 1 ? cn : ''; + cn1 = (altr+j)%2 === 1 ? cn : ''; var iStartTrTag = rowData.length; rowData.push(""); if( ni ) { @@ -1200,7 +1306,7 @@ rowData.push( addMulti(rid,ni,j, false) ); } if( si ) { - rowData.push( $(ts).jqGrid("addSubGridCell",gi+ni,j+rcnt) ); + rowData.push( addSubGridCell.call(self,gi+ni,j+rcnt) ); } if(xmlRd.repeatitems){ if (!F) { F=orderedCols(gi+si+ni); } @@ -1210,42 +1316,42 @@ if (!cell) { return false; } v = cell.textContent || cell.text; rd[ts.p.colModel[k+gi+si+ni].name] = v; - rowData.push( addCell(rid,v,k+gi+si+ni,j+rcnt,xmlr) ); + rowData.push( addCell(rid,v,k+gi+si+ni,j+rcnt,xmlr, rd) ); }); } else { for(i = 0; i < f.length;i++) { v = $.jgrid.getXmlData( xmlr, f[i]); rd[ts.p.colModel[i+gi+si+ni].name] = v; - rowData.push( addCell(rid, v, i+gi+si+ni, j+rcnt, xmlr) ); + rowData.push( addCell(rid, v, i+gi+si+ni, j+rcnt, xmlr, rd) ); } } rowData[iStartTrTag] = constructTr(rid, hiderow, cn1, rd, xmlr, false); rowData.push("</tr>"); if(ts.p.grouping) { - grpdata = $(ts).jqGrid('groupingPrepare',rowData, grpdata, rd, j); + grpdata = groupingPrepare.call(self,rowData, grpdata, rd, j); rowData = []; } if(locdata || ts.p.treeGrid === true) { - rd[xmlid] = rid; + rd[xmlid] = $.jgrid.stripPref(ts.p.idPrefix, rid); ts.p.data.push(rd); - ts.p._index[rid] = ts.p.data.length-1; + ts.p._index[rd[xmlid]] = ts.p.data.length-1; } if(ts.p.gridview === false ) { $("tbody:first",t).append(rowData.join('')); - $(ts).triggerHandler("jqGridAfterInsertRow", [rid, rd, xmlr]); + self.triggerHandler("jqGridAfterInsertRow", [rid, rd, xmlr]); if(afterInsRow) {ts.p.afterInsertRow.call(ts,rid,rd,xmlr);} rowData=[]; } rd={}; ir++; j++; - if(ir==rn) {break;} + if(ir===rn) {break;} } } if(ts.p.gridview === true) { fpos = ts.p.treeANode > -1 ? ts.p.treeANode: 0; if(ts.p.grouping) { - $(ts).jqGrid('groupingRender',grpdata,ts.p.colModel.length); + self.jqGrid('groupingRender',grpdata,ts.p.colModel.length); grpdata = null; } else if(ts.p.treeGrid === true && fpos > 0) { $(ts.rows[fpos]).after(rowData.join('')); @@ -1254,18 +1360,18 @@ } } if(ts.p.subGrid === true ) { - try {$(ts).jqGrid("addSubGrid",gi+ni);} catch (_){} + try {self.jqGrid("addSubGrid",gi+ni);} catch (_){} } ts.p.totaltime = new Date() - startReq; if(ir>0) { if(ts.p.records===0) { ts.p.records=gl;} } rowData =null; if( ts.p.treeGrid === true) { - try {$(ts).jqGrid("setTreeNode", fpos+1, ir+fpos+1);} catch (e) {} + try {self.jqGrid("setTreeNode", fpos+1, ir+fpos+1);} catch (e) {} } if(!ts.p.treeGrid && !ts.p.scroll) {ts.grid.bDiv.scrollTop = 0;} ts.p.reccount=ir; ts.p.treeANode = -1; - if(ts.p.userDataOnFooter) { $(ts).jqGrid("footerData","set",ts.p.userData,true); } + if(ts.p.userDataOnFooter) { self.jqGrid("footerData","set",ts.p.userData,true); } if(locdata) { ts.p.records = gl; ts.p.lastpage = Math.ceil(gl/ rn); @@ -1291,9 +1397,9 @@ rd[ts.p.colModel[i+gi+si+ni].name] = v; } } - rd[xmlid] = rid; + rd[xmlid] = $.jgrid.stripPref(ts.p.idPrefix, rid); ts.p.data.push(rd); - ts.p._index[rid] = ts.p.data.length-1; + ts.p._index[rd[xmlid]] = ts.p.data.length-1; rd = {}; ir++; } @@ -1309,37 +1415,41 @@ } else { return; } var dReader, locid = "_id_", frd, - locdata = (ts.p.datatype != "local" && ts.p.loadonce) || ts.p.datatype == "jsonstring"; + locdata = (ts.p.datatype !== "local" && ts.p.loadonce) || ts.p.datatype === "jsonstring"; if(locdata) { ts.p.data = []; ts.p._index = {}; ts.p.localReader.id = locid;} ts.p.reccount = 0; - if(ts.p.datatype == "local") { + if(ts.p.datatype === "local") { dReader = ts.p.localReader; frd= 'local'; } else { dReader = ts.p.jsonReader; frd='json'; } - var ir=0,v,i,j,f=[],F,cur,gi=ts.p.multiselect?1:0,si=ts.p.subGrid?1:0,ni=ts.p.rownumbers===true?1:0,len,drows,idn,rd={}, fpos, idr,rowData=[],cn=(ts.p.altRows === true) ? " "+ts.p.altclass:"",cn1,lp; + var self = $(ts), ir=0,v,i,j,f=[],cur,gi=ts.p.multiselect?1:0,si=ts.p.subGrid===true?1:0,addSubGridCell,ni=ts.p.rownumbers===true?1:0,arrayReader=orderedCols(gi+si+ni),objectReader=reader(frd),rowReader,len,drows,idn,rd={}, fpos, idr,rowData=[],cn=(ts.p.altRows === true) ? ts.p.altclass:"",cn1,lp; ts.p.page = $.jgrid.getAccessor(data,dReader.page) || ts.p.page || 0; lp = $.jgrid.getAccessor(data,dReader.total); + if(si) { + addSubGridCell = $.jgrid.getMethod("addSubGridCell"); + } ts.p.lastpage = lp === undefined ? 1 : lp; ts.p.records = $.jgrid.getAccessor(data,dReader.records) || 0; ts.p.userData = $.jgrid.getAccessor(data,dReader.userdata) || {}; - if(!dReader.repeatitems) { - F = f = reader(frd); - } if( ts.p.keyIndex===false ) { idn = $.isFunction(dReader.id) ? dReader.id.call(ts, data) : dReader.id; } else { idn = ts.p.keyIndex; } - if(f.length>0 && !isNaN(idn)) { - if (ts.p.remapColumns && ts.p.remapColumns.length) { - idn = $.inArray(idn, ts.p.remapColumns); + if(!dReader.repeatitems) { + f = objectReader; + if(f.length>0 && !isNaN(idn)) { + if (ts.p.remapColumns && ts.p.remapColumns.length) { + idn = $.inArray(idn, ts.p.remapColumns); + } + idn=f[idn]; } - idn=f[idn]; } drows = $.jgrid.getAccessor(data,dReader.root); + if (drows == null && $.isArray(data)) { drows = data; } if (!drows) { drows = []; } len = drows.length; i=0; if (len > 0 && ts.p.page <= 0) { ts.p.page = 1; } @@ -1348,23 +1458,33 @@ if(ts.p.datatype === "local" && !ts.p.deselectAfterSort) { selected = true; } - var afterInsRow = $.isFunction(ts.p.afterInsertRow), grpdata=[], hiderow=ts.p.grouping && ts.p.groupingView.groupCollapse === true; + var afterInsRow = $.isFunction(ts.p.afterInsertRow), grpdata=[],hiderow=false, groupingPrepare; + if(ts.p.grouping) { + hiderow = ts.p.groupingView.groupCollapse === true; + groupingPrepare = $.jgrid.getMethod("groupingPrepare"); + } while (i<len) { cur = drows[i]; idr = $.jgrid.getAccessor(cur,idn); if(idr === undefined) { - idr = br+i; - if(f.length===0){ - if(dReader.cell){ - var ccur = $.jgrid.getAccessor(cur,dReader.cell); - idr = ccur !== undefined ? ccur[idn] || idr : idr; - ccur=null; + if (typeof idn === "number" && ts.p.colModel[idn+gi+si+ni] != null) { + // reread id by name + idr = $.jgrid.getAccessor(cur,ts.p.colModel[idn+gi+si+ni].name); + } + if(idr === undefined) { + idr = br+i; + if(f.length===0){ + if(dReader.cell){ + var ccur = $.jgrid.getAccessor(cur,dReader.cell) || cur; + idr = ccur != null && ccur[idn] !== undefined ? ccur[idn] : idr; + ccur=null; + } } } } idr = ts.p.idPrefix + idr; altr = rcnt === 1 ? 0 : rcnt; - cn1 = (altr+i)%2 == 1 ? cn : ''; + cn1 = (altr+i)%2 === 1 ? cn : ''; if( selected) { if( ts.p.multiselect) { selr = ($.inArray(idr, ts.p.selarrrow) !== -1); @@ -1381,43 +1501,44 @@ rowData.push( addMulti(idr,ni,i,selr) ); } if( si ) { - rowData.push( $(ts).jqGrid("addSubGridCell",gi+ni,i+rcnt) ); + rowData.push( addSubGridCell.call(self,gi+ni,i+rcnt) ); } + rowReader=objectReader; if (dReader.repeatitems) { - if(dReader.cell) {cur = $.jgrid.getAccessor(cur,dReader.cell);} - if (!F) { F=orderedCols(gi+si+ni); } + if(dReader.cell) {cur = $.jgrid.getAccessor(cur,dReader.cell) || cur;} + if ($.isArray(cur)) { rowReader=arrayReader; } } - for (j=0;j<F.length;j++) { - v = $.jgrid.getAccessor(cur,F[j]); - rowData.push( addCell(idr,v,j+gi+si+ni,i+rcnt,cur) ); + for (j=0;j<rowReader.length;j++) { + v = $.jgrid.getAccessor(cur,rowReader[j]); rd[ts.p.colModel[j+gi+si+ni].name] = v; + rowData.push( addCell(idr,v,j+gi+si+ni,i+rcnt,cur, rd) ); } rowData[iStartTrTag] = constructTr(idr, hiderow, cn1, rd, cur, selr); rowData.push( "</tr>" ); if(ts.p.grouping) { - grpdata = $(ts).jqGrid('groupingPrepare',rowData, grpdata, rd, i); + grpdata = groupingPrepare.call(self,rowData, grpdata, rd, i); rowData = []; } if(locdata || ts.p.treeGrid===true) { - rd[locid] = idr; + rd[locid] = $.jgrid.stripPref(ts.p.idPrefix, idr); ts.p.data.push(rd); - ts.p._index[idr] = ts.p.data.length-1; + ts.p._index[rd[locid]] = ts.p.data.length-1; } if(ts.p.gridview === false ) { $("#"+$.jgrid.jqID(ts.p.id)+" tbody:first").append(rowData.join('')); - $(ts).triggerHandler("jqGridAfterInsertRow", [idr, rd, cur]); + self.triggerHandler("jqGridAfterInsertRow", [idr, rd, cur]); if(afterInsRow) {ts.p.afterInsertRow.call(ts,idr,rd,cur);} rowData=[];//ari=0; } rd={}; ir++; i++; - if(ir==rn) { break; } + if(ir===rn) { break; } } if(ts.p.gridview === true ) { fpos = ts.p.treeANode > -1 ? ts.p.treeANode: 0; if(ts.p.grouping) { - $(ts).jqGrid('groupingRender',grpdata,ts.p.colModel.length); + self.jqGrid('groupingRender',grpdata,ts.p.colModel.length); grpdata = null; } else if(ts.p.treeGrid === true && fpos > 0) { $(ts.rows[fpos]).after(rowData.join('')); @@ -1426,7 +1547,7 @@ } } if(ts.p.subGrid === true ) { - try { $(ts).jqGrid("addSubGrid",gi+ni);} catch (_){} + try { self.jqGrid("addSubGrid",gi+ni);} catch (_){} } ts.p.totaltime = new Date() - startReq; if(ir>0) { @@ -1434,12 +1555,12 @@ } rowData = null; if( ts.p.treeGrid === true) { - try {$(ts).jqGrid("setTreeNode", fpos+1, ir+fpos+1);} catch (e) {} + try {self.jqGrid("setTreeNode", fpos+1, ir+fpos+1);} catch (e) {} } if(!ts.p.treeGrid && !ts.p.scroll) {ts.grid.bDiv.scrollTop = 0;} ts.p.reccount=ir; ts.p.treeANode = -1; - if(ts.p.userDataOnFooter) { $(ts).jqGrid("footerData","set",ts.p.userData,true); } + if(ts.p.userDataOnFooter) { self.jqGrid("footerData","set",ts.p.userData,true); } if(locdata) { ts.p.records = len; ts.p.lastpage = Math.ceil(len/ rn); @@ -1450,29 +1571,35 @@ cur = drows[ir]; idr = $.jgrid.getAccessor(cur,idn); if(idr === undefined) { - idr = br+ir; - if(f.length===0){ - if(dReader.cell){ - var ccur2 = $.jgrid.getAccessor(cur,dReader.cell); - idr = ccur2[idn] || idr; - ccur2=null; + if (typeof idn === "number" && ts.p.colModel[idn+gi+si+ni] != null) { + // reread id by name + idr = $.jgrid.getAccessor(cur,ts.p.colModel[idn+gi+si+ni].name); + } + if(idr === undefined) { + idr = br+ir; + if(f.length===0){ + if(dReader.cell){ + var ccur2 = $.jgrid.getAccessor(cur,dReader.cell) || cur; + idr = ccur2 != null && ccur2[idn] !== undefined ? ccur2[idn] : idr; + ccur2=null; + } } } } if(cur) { idr = ts.p.idPrefix + idr; + rowReader=objectReader; if (dReader.repeatitems) { - if(dReader.cell) {cur = $.jgrid.getAccessor(cur,dReader.cell);} - if (!F) { F=orderedCols(gi+si+ni); } + if(dReader.cell) {cur = $.jgrid.getAccessor(cur,dReader.cell) || cur;} + if ($.isArray(cur)) { rowReader=arrayReader; } } - for (j=0;j<F.length;j++) { - v = $.jgrid.getAccessor(cur,F[j]); - rd[ts.p.colModel[j+gi+si+ni].name] = v; + for (j=0;j<rowReader.length;j++) { + rd[ts.p.colModel[j+gi+si+ni].name] = $.jgrid.getAccessor(cur,rowReader[j]); } - rd[locid] = idr; + rd[locid] = $.jgrid.stripPref(ts.p.idPrefix, idr); ts.p.data.push(rd); - ts.p._index[idr] = ts.p.data.length-1; + ts.p._index[rd[locid]] = ts.p.data.length-1; rd = {}; } ir++; @@ -1480,15 +1607,15 @@ } }, addLocalData = function() { - var st, fndsort=false, cmtypes={}, grtypes=[], grindexes=[], srcformat, sorttype, newformat; + var st = ts.p.multiSort ? [] : "", sto=[], fndsort=false, cmtypes={}, grtypes=[], grindexes=[], srcformat, sorttype, newformat; if(!$.isArray(ts.p.data)) { return; } var grpview = ts.p.grouping ? ts.p.groupingView : false, lengrp, gin; $.each(ts.p.colModel,function(){ sorttype = this.sorttype || "text"; - if(sorttype == "date" || sorttype == "datetime") { - if(this.formatter && typeof(this.formatter) === 'string' && this.formatter == 'date') { + if(sorttype === "date" || sorttype === "datetime") { + if(this.formatter && typeof this.formatter === 'string' && this.formatter === 'date') { if(this.formatoptions && this.formatoptions.srcformat) { srcformat = this.formatoptions.srcformat; } else { @@ -1508,9 +1635,9 @@ } if(ts.p.grouping ) { for(gin =0, lengrp = grpview.groupField.length; gin< lengrp; gin++) { - if( this.name == grpview.groupField[gin]) { + if( this.name === grpview.groupField[gin]) { var grindex = this.name; - if (typeof this.index != 'undefined') { + if (this.index) { grindex = this.index; } grtypes[gin] = cmtypes[grindex]; @@ -1518,9 +1645,17 @@ } } } - if(!fndsort && (this.index == ts.p.sortname || this.name == ts.p.sortname)){ - st = this.name; // ??? - fndsort = true; + if(ts.p.multiSort) { + if(this.lso) { + st.push(this.name); + var tmplso= this.lso.split("-"); + sto.push( tmplso[tmplso.length-1] ); + } + } else { + if(!fndsort && (this.index === ts.p.sortname || this.name === ts.p.sortname)){ + st = this.name; // ??? + fndsort = true; + } } }); if(ts.p.treeGrid) { @@ -1550,7 +1685,7 @@ if (ts.p.ignoreCase) { query = query.ignoreCase(); } function tojLinq ( group ) { var s = 0, index, gor, ror, opr, rule; - if (group.groups !== undefined) { + if (group.groups != null) { gor = group.groups.length && group.groupOp.toString().toUpperCase() === "OR"; if (gor) { query.orBegin(); @@ -1568,12 +1703,12 @@ query.orEnd(); } } - if (group.rules !== undefined) { - if(s>0) { - var result = query.select(); - query = $.jgrid.from( result); - if (ts.p.ignoreCase) { query = query.ignoreCase(); } - } + if (group.rules != null) { + //if(s>0) { + // var result = query.select(); + // query = $.jgrid.from( result); + // if (ts.p.ignoreCase) { query = query.ignoreCase(); } + //} try{ ror = group.rules.length && group.groupOp.toString().toUpperCase() === "OR"; if (ror) { @@ -1600,7 +1735,7 @@ if (ts.p.search === true) { var srules = ts.p.postData.filters; if(srules) { - if(typeof srules == "string") { srules = $.jgrid.parse(srules);} + if(typeof srules === "string") { srules = $.jgrid.parse(srules);} tojLinq( srules ); } else { try { @@ -1613,11 +1748,17 @@ query.orderBy(grindexes[gin],grpview.groupOrder[gin],grtypes[gin].stype, grtypes[gin].srcfmt); } } - if (st && ts.p.sortorder && fndsort) { - if(ts.p.sortorder.toUpperCase() == "DESC") { - query.orderBy(ts.p.sortname, "d", cmtypes[st].stype, cmtypes[st].srcfmt); - } else { - query.orderBy(ts.p.sortname, "a", cmtypes[st].stype, cmtypes[st].srcfmt); + if(ts.p.multiSort) { + $.each(st,function(i){ + query.orderBy(this, sto[i], cmtypes[this].stype, cmtypes[this].srcfmt); + }); + } else { + if (st && ts.p.sortorder && fndsort) { + if(ts.p.sortorder.toUpperCase() === "DESC") { + query.orderBy(ts.p.sortname, "d", cmtypes[st].stype, cmtypes[st].srcfmt); + } else { + query.orderBy(ts.p.sortname, "a", cmtypes[st].stype, cmtypes[st].srcfmt); + } } } var queryResults = query.select(), @@ -1654,10 +1795,13 @@ var top = base * rh; var height = parseInt(ts.p.records,10) * rh; $(">div:first",ts.grid.bDiv).css({height : height}).children("div:first").css({height:top,display:top?"":"none"}); + if (ts.grid.bDiv.scrollTop == 0 && ts.p.page > 1) { + ts.grid.bDiv.scrollTop = ts.p.rowNum * (ts.p.page - 1) * rh; + } } ts.grid.bDiv.scrollLeft = ts.grid.hDiv.scrollLeft; } - pgboxes = ts.p.pager ? ts.p.pager : ""; + pgboxes = ts.p.pager || ""; pgboxes += ts.p.toppager ? (pgboxes ? "," + ts.p.toppager : ts.p.toppager) : ""; if(pgboxes) { fmt = $.jgrid.formatter.integer || {}; @@ -1686,14 +1830,14 @@ } if(ts.p.pgbuttons===true) { if(cp<=0) {cp = last = 0;} - if(cp==1 || cp === 0) { + if(cp===1 || cp === 0) { $("#first"+tspg+", #prev"+tspg).addClass('ui-state-disabled').removeClass('ui-state-hover'); if(ts.p.toppager) { $("#first_t"+tspg_t+", #prev_t"+tspg_t).addClass('ui-state-disabled').removeClass('ui-state-hover'); } } else { $("#first"+tspg+", #prev"+tspg).removeClass('ui-state-disabled'); if(ts.p.toppager) { $("#first_t"+tspg_t+", #prev_t"+tspg_t).removeClass('ui-state-disabled'); } } - if(cp==last || cp === 0) { + if(cp===last || cp === 0) { $("#next"+tspg+", #last"+tspg).addClass('ui-state-disabled').removeClass('ui-state-hover'); if(ts.p.toppager) { $("#next_t"+tspg_t+", #last_t"+tspg_t).addClass('ui-state-disabled').removeClass('ui-state-hover'); } } else { @@ -1703,7 +1847,7 @@ } } if(rn===true && ts.p.rownumbers === true) { - $("td.jqgrid-rownum",ts.rows).each(function(i){ + $(">td.jqgrid-rownum",ts.rows).each(function(i){ $(this).html(base+1+i); }); } @@ -1777,7 +1921,7 @@ for(gi=0;gi<grp.groupField.length;gi++) { var index = grp.groupField[gi]; $.each(ts.p.colModel, function(cmIndex, cmValue) { - if (cmValue.name == index && cmValue.index){ + if (cmValue.name === index && cmValue.index){ index = cmValue.index; } } ); @@ -1790,7 +1934,7 @@ var bfr = $(ts).triggerHandler("jqGridBeforeRequest"); if (bfr === false || bfr === 'stop') { return; } if ($.isFunction(ts.p.datatype)) { ts.p.datatype.call(ts,ts.p.postData,"load_"+ts.p.id); return;} - else if($.isFunction(ts.p.beforeRequest)) { + if ($.isFunction(ts.p.beforeRequest)) { bfr = ts.p.beforeRequest.call(ts); if(bfr === undefined) { bfr = true; } if ( bfr === false ) { return; } @@ -1837,15 +1981,14 @@ if(gotoreq === undefined) { gotoreq = true; } if(gotoreq === false) { return false; - } else { + } beginReq(); } - } },$.jgrid.ajaxOptions, ts.p.ajaxGridOptions)); break; case "xmlstring": beginReq(); - dstr = $.jgrid.stringToDoc(ts.p.datastr); + dstr = typeof ts.p.datastr !== 'string' ? ts.p.datastr : $.parseXML(ts.p.datastr); addXmlData(dstr,ts.grid.bDiv); $(ts).triggerHandler("jqGridLoadComplete", [dstr]); if(lcf) {ts.p.loadComplete.call(ts,dstr);} @@ -1856,7 +1999,7 @@ break; case "jsonstring": beginReq(); - if(typeof ts.p.datastr == 'string') { dstr = $.jgrid.parse(ts.p.datastr); } + if(typeof ts.p.datastr === 'string') { dstr = $.jgrid.parse(ts.p.datastr); } else { dstr = ts.p.datastr; } addJSONData(dstr,ts.grid.bDiv); $(ts).triggerHandler("jqGridLoadComplete", [dstr]); @@ -1900,7 +2043,7 @@ ts.p.selrow = null; if(ts.p.multiselect) {ts.p.selarrrow =[]; setHeadCheckBox( false );} ts.p.savedRow = []; - if(ret=='stop') {return false;} + if(ret==='stop') {return false;} return true; }; pgid = pgid.substr(1); @@ -1914,21 +2057,21 @@ str = "<td dir='"+dir+"'>"; str +="<select class='ui-pg-selbox' role='listbox'>"; for(i=0;i<ts.p.rowList.length;i++){ - str +="<option role=\"option\" value=\""+ts.p.rowList[i]+"\""+((ts.p.rowNum == ts.p.rowList[i])?" selected=\"selected\"":"")+">"+ts.p.rowList[i]+"</option>"; + str +="<option role=\"option\" value=\""+ts.p.rowList[i]+"\""+((ts.p.rowNum === ts.p.rowList[i])?" selected=\"selected\"":"")+">"+ts.p.rowList[i]+"</option>"; } str +="</select></td>"; } - if(dir=="rtl") { pgl += str; } + if(dir==="rtl") { pgl += str; } if(ts.p.pginput===true) { pginp= "<td dir='"+dir+"'>"+$.jgrid.format(ts.p.pgtext || "","<input class='ui-pg-input' type='text' size='2' maxlength='7' value='0' role='textbox'/>","<span id='sp_1_"+$.jgrid.jqID(pgid)+"'></span>")+"</td>";} if(ts.p.pgbuttons===true) { - var po=["first"+tp,"prev"+tp, "next"+tp,"last"+tp]; if(dir=="rtl") { po.reverse(); } + var po=["first"+tp,"prev"+tp, "next"+tp,"last"+tp]; if(dir==="rtl") { po.reverse(); } pgl += "<td id='"+po[0]+"' class='ui-pg-button ui-corner-all'><span class='ui-icon ui-icon-seek-first'></span></td>"; pgl += "<td id='"+po[1]+"' class='ui-pg-button ui-corner-all'><span class='ui-icon ui-icon-seek-prev'></span></td>"; pgl += pginp !== "" ? sep+pginp+sep:""; pgl += "<td id='"+po[2]+"' class='ui-pg-button ui-corner-all'><span class='ui-icon ui-icon-seek-next'></span></td>"; pgl += "<td id='"+po[3]+"' class='ui-pg-button ui-corner-all'><span class='ui-icon ui-icon-seek-end'></span></td>"; } else if (pginp !== "") { pgl += pginp; } - if(dir=="ltr") { pgl += str; } + if(dir==="ltr") { pgl += str; } pgl += "</tr></tbody></table>"; if(ts.p.viewrecords===true) {$("td#"+pgid+"_"+ts.p.recordpos,"#"+pgcnt).append("<div dir='"+dir+"' style='text-align:"+ts.p.recordpos+"' class='ui-paging-info'></div>");} $("td#"+pgid+"_"+ts.p.pagerpos,"#"+pgcnt).append(pgl); @@ -1945,11 +2088,11 @@ ts.p._nvtd[1] = 0; pgl=null; $('.ui-pg-selbox',"#"+pgcnt).bind('change',function() { + if(!clearVals('records')) { return false; } ts.p.page = Math.round(ts.p.rowNum*(ts.p.page-1)/this.value-0.5)+1; ts.p.rowNum = this.value; if(ts.p.pager) { $('.ui-pg-selbox',ts.p.pager).val(this.value); } if(ts.p.toppager) { $('.ui-pg-selbox',ts.p.toppager).val(this.value); } - if(!clearVals('records')) { return false; } populate(); return false; }); @@ -1977,12 +2120,12 @@ //else if( cp>1 && cp <last){ } else if( cp===last){ np=false;lp=false; } } else if( last>1 && cp===0 ) { np=false;lp=false; cp=last-1;} + if(!clearVals(this.id)) { return false; } if( this.id === 'first'+tp && fp ) { ts.p.page=1; selclick=true;} if( this.id === 'prev'+tp && pp) { ts.p.page=(cp-1); selclick=true;} if( this.id === 'next'+tp && np) { ts.p.page=(cp+1); selclick=true;} if( this.id === 'last'+tp && lp) { ts.p.page=last; selclick=true;} if(selclick) { - if(!clearVals(this.id)) { return false; } populate(); } return false; @@ -1990,10 +2133,11 @@ } if(ts.p.pginput===true) { $('input.ui-pg-input',"#"+pgcnt).keypress( function(e) { - var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0; - if(key == 13) { + var key = e.charCode || e.keyCode || 0; + if(key === 13) { + if(!clearVals('user')) { return false; } + $(this).val( intNum( $(this).val(), 1)); ts.p.page = ($(this).val()>0) ? $(this).val():ts.p.page; - if(!clearVals('user')) { return false; } populate(); return false; } @@ -2001,43 +2145,99 @@ }); } }, - sortData = function (index, idxcol,reload,sor){ + multiSort = function(iCol, obj ) { + var splas, sort="", cm = ts.p.colModel, fs=false, ls, + selTh = ts.p.frozenColumns ? obj : ts.grid.headers[iCol].el, so=""; + $("span.ui-grid-ico-sort",selTh).addClass('ui-state-disabled'); + $(selTh).attr("aria-selected","false"); + + if(cm[iCol].lso) { + if(cm[iCol].lso==="asc") { + cm[iCol].lso += "-desc"; + so = "desc"; + } else if(cm[iCol].lso==="desc") { + cm[iCol].lso += "-asc"; + so = "asc"; + } else if(cm[iCol].lso==="asc-desc" || cm[iCol].lso==="desc-asc") { + cm[iCol].lso=""; + } + } else { + cm[iCol].lso = so = cm.firstsortorder || 'asc'; + } + if( so ) { + $("span.s-ico",selTh).show(); + $("span.ui-icon-"+so,selTh).removeClass('ui-state-disabled'); + $(selTh).attr("aria-selected","true"); + } else { + if(!ts.p.viewsortcols[0]) { + $("span.s-ico",selTh).hide(); + } + } + ts.p.sortorder = ""; + $.each(cm, function(i){ + if(this.lso) { + if(i>0 && fs) { + sort += ", "; + } + splas = this.lso.split("-"); + sort += cm[i].index || cm[i].name; + sort += " "+splas[splas.length-1]; + fs = true; + ts.p.sortorder = splas[splas.length-1]; + } + }); + ls = sort.lastIndexOf(ts.p.sortorder); + sort = sort.substring(0, ls); + ts.p.sortname = sort; + }, + sortData = function (index, idxcol,reload,sor, obj){ if(!ts.p.colModel[idxcol].sortable) { return; } var so; if(ts.p.savedRow.length > 0) {return;} if(!reload) { - if( ts.p.lastsort == idxcol ) { - if( ts.p.sortorder == 'asc') { + if( ts.p.lastsort === idxcol ) { + if( ts.p.sortorder === 'asc') { ts.p.sortorder = 'desc'; - } else if(ts.p.sortorder == 'desc') { ts.p.sortorder = 'asc';} + } else if(ts.p.sortorder === 'desc') { ts.p.sortorder = 'asc';} } else { ts.p.sortorder = ts.p.colModel[idxcol].firstsortorder || 'asc'; } ts.p.page = 1; } - if(sor) { - if(ts.p.lastsort == idxcol && ts.p.sortorder == sor && !reload) { return; } - else { ts.p.sortorder = sor; } - } - var previousSelectedTh = ts.grid.headers[ts.p.lastsort].el, newSelectedTh = ts.grid.headers[idxcol].el; + if(ts.p.multiSort) { + multiSort( idxcol, obj); + } else { + if(sor) { + if(ts.p.lastsort === idxcol && ts.p.sortorder === sor && !reload) { return; } + ts.p.sortorder = sor; + } + var previousSelectedTh = ts.grid.headers[ts.p.lastsort].el, newSelectedTh = ts.p.frozenColumns ? obj : ts.grid.headers[idxcol].el; - $("span.ui-grid-ico-sort",previousSelectedTh).addClass('ui-state-disabled'); - $(previousSelectedTh).attr("aria-selected","false"); - $("span.ui-icon-"+ts.p.sortorder,newSelectedTh).removeClass('ui-state-disabled'); - $(newSelectedTh).attr("aria-selected","true"); - if(!ts.p.viewsortcols[0]) { - if(ts.p.lastsort != idxcol) { - $("span.s-ico",previousSelectedTh).hide(); - $("span.s-ico",newSelectedTh).show(); + $("span.ui-grid-ico-sort",previousSelectedTh).addClass('ui-state-disabled'); + $(previousSelectedTh).attr("aria-selected","false"); + if(ts.p.frozenColumns) { + ts.grid.fhDiv.find("span.ui-grid-ico-sort").addClass('ui-state-disabled'); + ts.grid.fhDiv.find("th").attr("aria-selected","false"); } + $("span.ui-icon-"+ts.p.sortorder,newSelectedTh).removeClass('ui-state-disabled'); + $(newSelectedTh).attr("aria-selected","true"); + if(!ts.p.viewsortcols[0]) { + if(ts.p.lastsort !== idxcol) { + if(ts.p.frozenColumns){ + ts.grid.fhDiv.find("span.s-ico").hide(); + } + $("span.s-ico",previousSelectedTh).hide(); + $("span.s-ico",newSelectedTh).show(); + } + } + index = index.substring(5 + ts.p.id.length + 1); // bad to be changed!?! + ts.p.sortname = ts.p.colModel[idxcol].index || index; + so = ts.p.sortorder; } - index = index.substring(5 + ts.p.id.length + 1); // bad to be changed!?! - ts.p.sortname = ts.p.colModel[idxcol].index || index; - so = ts.p.sortorder; if ($(ts).triggerHandler("jqGridSortCol", [index, idxcol, so]) === 'stop') { ts.p.lastsort = idxcol; return; } - if($.isFunction(ts.p.onSortCol)) {if (ts.p.onSortCol.call(ts,index,idxcol,so)=='stop') {ts.p.lastsort = idxcol; return;}} - if(ts.p.datatype == "local") { + if($.isFunction(ts.p.onSortCol)) {if (ts.p.onSortCol.call(ts,index,idxcol,so)==='stop') {ts.p.lastsort = idxcol; return;}} + if(ts.p.datatype === "local") { if(ts.p.deselectAfterSort) {$(ts).jqGrid("resetSelection");} } else { ts.p.selrow = null; @@ -2050,20 +2250,25 @@ emptyRows.call(ts, true, false); ts.grid.hDiv.scrollLeft = sscroll; } - if(ts.p.subGrid && ts.p.datatype=='local') { + if(ts.p.subGrid && ts.p.datatype === 'local') { $("td.sgexpanded","#"+$.jgrid.jqID(ts.p.id)).each(function(){ $(this).trigger("click"); }); } populate(); ts.p.lastsort = idxcol; - if(ts.p.sortname != index && idxcol) {ts.p.lastsort = idxcol;} + if(ts.p.sortname !== index && idxcol) {ts.p.lastsort = idxcol;} }, setColWidth = function () { - var initwidth = 0, brd=$.jgrid.cellWidth()? 0: intNum(ts.p.cellLayout,0), vc=0, lvc, scw=intNum(ts.p.scrollOffset,0),cw,hs=false,aw,gw=0, - cl = 0, cr; + var initwidth = 0, brd=$.jgrid.cell_width? 0: intNum(ts.p.cellLayout,0), vc=0, lvc, scw=intNum(ts.p.scrollOffset,0),cw,hs=false,aw,gw=0,cr; $.each(ts.p.colModel, function() { - if(typeof this.hidden === 'undefined') {this.hidden=false;} + if(this.hidden === undefined) {this.hidden=false;} + if(ts.p.grouping && ts.p.autowidth) { + var ind = $.inArray(this.name, ts.p.groupingView.groupField); + if(ind >= 0 && ts.p.groupingView.groupColumnShow.length > ind) { + this.hidden = !ts.p.groupingView.groupColumnShow[ind]; + } + } this.widthOrg = cw = intNum(this.width,0); if(this.hidden===false){ initwidth += cw+brd; @@ -2072,7 +2277,6 @@ } else { vc++; } - cl++; } }); if(isNaN(ts.p.width)) { @@ -2122,19 +2326,11 @@ return j-ret; }, getOffset = function (iCol) { - var i, ret = {}, brd1 = $.jgrid.cellWidth() ? 0 : ts.p.cellLayout; - ret[0] = ret[1] = ret[2] = 0; - for(i=0;i<=iCol;i++){ - if(ts.p.colModel[i].hidden === false ) { - ret[0] += ts.p.colModel[i].width+brd1; - } - } - if(ts.p.direction=="rtl") { ret[0] = ts.p.width - ret[0]; } - ret[0] = ret[0] - ts.grid.bDiv.scrollLeft; - if($(ts.grid.cDiv).is(":visible")) {ret[1] += $(ts.grid.cDiv).height() +parseInt($(ts.grid.cDiv).css("padding-top"),10)+parseInt($(ts.grid.cDiv).css("padding-bottom"),10);} - if(ts.p.toolbar[0]===true && (ts.p.toolbar[1]=='top' || ts.p.toolbar[1]=='both')) {ret[1] += $(ts.grid.uDiv).height()+parseInt($(ts.grid.uDiv).css("border-top-width"),10)+parseInt($(ts.grid.uDiv).css("border-bottom-width"),10);} - if(ts.p.toppager) {ret[1] += $(ts.grid.topDiv).height()+parseInt($(ts.grid.topDiv).css("border-bottom-width"),10);} - ret[2] += $(ts.grid.bDiv).height() + $(ts.grid.hDiv).height(); + var $th = $(ts.grid.headers[iCol].el), ret = [$th.position().left + $th.outerWidth()]; + if(ts.p.direction==="rtl") { ret[0] = ts.p.width - ret[0]; } + ret[0] -= ts.grid.bDiv.scrollLeft; + ret.push($(ts.grid.hDiv).position().top); + ret.push($(ts.grid.bDiv).offset().top - $(ts.grid.hDiv).offset().top + $(ts.grid.bDiv).height()); return ret; }, getColumnHeaderIndex = function (th) { @@ -2148,7 +2344,7 @@ return ci; }; this.p.id = this.id; - if ($.inArray(ts.p.multikey,sortkeys) == -1 ) {ts.p.multikey = false;} + if ($.inArray(ts.p.multikey,sortkeys) === -1 ) {ts.p.multikey = false;} ts.p.keyIndex=false; for (i=0; i<ts.p.colModel.length;i++) { ts.p.colModel[i] = $.extend(true, {}, ts.p.cmTemplate, ts.p.colModel[i].template || {}, ts.p.colModel[i]); @@ -2157,6 +2353,7 @@ } } ts.p.sortorder = ts.p.sortorder.toLowerCase(); + $.jgrid.cell_width = $.jgrid.cellWidth(); if(ts.p.grouping===true) { ts.p.scroll = false; ts.p.rownumbers = false; @@ -2166,14 +2363,14 @@ } if(this.p.treeGrid === true) { try { $(this).jqGrid("setTreeGrid");} catch (_) {} - if(ts.p.datatype != "local") { ts.p.localReader = {id: "_id_"}; } + if(ts.p.datatype !== "local") { ts.p.localReader = {id: "_id_"}; } } if(this.p.subGrid) { try { $(ts).jqGrid("setSubGrid");} catch (s){} } if(this.p.multiselect) { this.p.colNames.unshift("<input role='checkbox' id='cb_"+this.p.id+"' class='cbox' type='checkbox'/>"); - this.p.colModel.unshift({name:'cb',width:$.jgrid.cellWidth() ? ts.p.multiselectWidth+ts.p.cellLayout : ts.p.multiselectWidth,sortable:false,resizable:false,hidedlg:true,search:false,align:'center',fixed:true}); + this.p.colModel.unshift({name:'cb',width:$.jgrid.cell_width ? ts.p.multiselectWidth+ts.p.cellLayout : ts.p.multiselectWidth,sortable:false,resizable:false,hidedlg:true,search:false,align:'center',fixed:true}); } if(this.p.rownumbers) { this.p.colNames.unshift(""); @@ -2219,7 +2416,7 @@ if(ts.p.data.length) { refreshIndex(); } var thead = "<thead><tr class='ui-jqgrid-labels' role='rowheader'>", tdc, idn, w, res, sort, - td, ptr, tbody, imgs,iac="",idc=""; + td, ptr, tbody, imgs,iac="",idc="",sortarr=[], sortord=[], sotmp=[]; if(ts.p.shrinkToFit===true && ts.p.forceFit===true) { for (i=ts.p.colModel.length-1;i>=0;i--){ if(!ts.p.colModel[i].hidden) { @@ -2228,10 +2425,18 @@ } } } - if(ts.p.viewsortcols[1] == 'horizontal') {iac=" ui-i-asc";idc=" ui-i-desc";} + if(ts.p.viewsortcols[1] === 'horizontal') {iac=" ui-i-asc";idc=" ui-i-desc";} tdc = isMSIE ? "class='ui-th-div-ie'" :""; imgs = "<span class='s-ico' style='display:none'><span sort='asc' class='ui-grid-ico-sort ui-icon-asc"+iac+" ui-state-disabled ui-icon ui-icon-triangle-1-n ui-sort-"+dir+"'></span>"; imgs += "<span sort='desc' class='ui-grid-ico-sort ui-icon-desc"+idc+" ui-state-disabled ui-icon ui-icon-triangle-1-s ui-sort-"+dir+"'></span></span>"; + if(ts.p.multiSort) { + sortarr = ts.p.sortname.split(","); + for (i=0; i<sortarr.length; i++) { + sotmp = $.trim(sortarr[i]).split(" "); + sortarr[i] = $.trim(sotmp[0]); + sortord[i] = sotmp[1] ? $.trim(sotmp[1]) : ts.p.sortorder || "asc"; + } + } for(i=0;i<this.p.colNames.length;i++){ var tooltip = ts.p.headertitles ? (" title=\""+$.jgrid.stripHtml(ts.p.colNames[i])+"\"") :""; thead += "<th id='"+ts.p.id+"_"+ts.p.colModel[i].name+"' role='columnheader' class='ui-state-default ui-th-column ui-th-"+dir+"'"+ tooltip+">"; @@ -2239,10 +2444,17 @@ thead += "<div id='jqgh_"+ts.p.id+"_"+ts.p.colModel[i].name+"' "+tdc+">"+ts.p.colNames[i]; if(!ts.p.colModel[i].width) { ts.p.colModel[i].width = 150; } else { ts.p.colModel[i].width = parseInt(ts.p.colModel[i].width,10); } - if(typeof(ts.p.colModel[i].title) !== "boolean") { ts.p.colModel[i].title = true; } - if (idn == ts.p.sortname) { + if(typeof ts.p.colModel[i].title !== "boolean") { ts.p.colModel[i].title = true; } + ts.p.colModel[i].lso = ""; + if (idn === ts.p.sortname) { ts.p.lastsort = i; } + if(ts.p.multiSort) { + sotmp = $.inArray(idn,sortarr); + if( sotmp !== -1 ) { + ts.p.colModel[i].lso = sortord[sotmp]; + } + } thead += imgs+"</div></th>"; } thead += "</tr></thead>"; @@ -2309,11 +2521,11 @@ ts.p.disableClick=false; $("th",thr).each(function ( j ) { w = ts.p.colModel[j].width; - if(typeof ts.p.colModel[j].resizable === 'undefined') {ts.p.colModel[j].resizable = true;} + if(ts.p.colModel[j].resizable === undefined) {ts.p.colModel[j].resizable = true;} if(ts.p.colModel[j].resizable){ res = document.createElement("span"); - $(res).html(" ").addClass('ui-jqgrid-resize ui-jqgrid-resize-'+dir); - if(!$.browser.opera) { $(res).css("cursor","col-resize"); } + $(res).html(" ").addClass('ui-jqgrid-resize ui-jqgrid-resize-'+dir) + .css("cursor","col-resize"); $(this).addClass(ts.p.resizeclass); } else { res = ""; @@ -2329,18 +2541,30 @@ sort = ts.p.colModel[j].sortable; if( typeof sort !== 'boolean') {ts.p.colModel[j].sortable = true; sort=true;} var nm = ts.p.colModel[j].name; - if( !(nm == 'cb' || nm=='subgrid' || nm=='rn') ) { + if( !(nm === 'cb' || nm==='subgrid' || nm==='rn') ) { if(ts.p.viewsortcols[2]){ $(">div",this).addClass('ui-jqgrid-sortable'); } } if(sort) { - if(ts.p.viewsortcols[0]) {$("div span.s-ico",this).show(); if(j==ts.p.lastsort){ $("div span.ui-icon-"+ts.p.sortorder,this).removeClass("ui-state-disabled");}} - else if( j == ts.p.lastsort) {$("div span.s-ico",this).show();$("div span.ui-icon-"+ts.p.sortorder,this).removeClass("ui-state-disabled");} + if(ts.p.multiSort) { + if(ts.p.viewsortcols[0]) { + $("div span.s-ico",this).show(); + if(ts.p.colModel[j].lso){ + $("div span.ui-icon-"+ts.p.colModel[j].lso,this).removeClass("ui-state-disabled"); + } + } else if( ts.p.colModel[j].lso) { + $("div span.s-ico",this).show(); + $("div span.ui-icon-"+ts.p.colModel[j].lso,this).removeClass("ui-state-disabled"); + } + } else { + if(ts.p.viewsortcols[0]) {$("div span.s-ico",this).show(); if(j===ts.p.lastsort){ $("div span.ui-icon-"+ts.p.sortorder,this).removeClass("ui-state-disabled");}} + else if( j === ts.p.lastsort) {$("div span.s-ico",this).show();$("div span.ui-icon-"+ts.p.sortorder,this).removeClass("ui-state-disabled");} + } } if(ts.p.footerrow) { tfoot += "<td role='gridcell' "+formatCol(j,0,'', null, '', false)+"> </td>"; } }).mousedown(function(e) { - if ($(e.target).closest("th>span.ui-jqgrid-resize").length != 1) { return; } + if ($(e.target).closest("th>span.ui-jqgrid-resize").length !== 1) { return; } var ci = getColumnHeaderIndex(this); if(ts.p.forceFit===true) {ts.p.nv= nextVisible(ci);} grid.dragStart(ci, e, getOffset(ci)); @@ -2353,10 +2577,22 @@ var s = "th>div.ui-jqgrid-sortable",r,d; if (!ts.p.viewsortcols[2]) { s = "th>div>span>span.ui-grid-ico-sort"; } var t = $(e.target).closest(s); - if (t.length != 1) { return; } - var ci = getColumnHeaderIndex(this); + if (t.length !== 1) { return; } + var ci; + if(ts.p.frozenColumns) { + var tid = $(this)[0].id.substring(5); + $(ts.p.colModel).each(function(i){ + if (this.name === tid) { + ci = i;return false; + } + }); + } else { + ci = getColumnHeaderIndex(this); + } if (!ts.p.viewsortcols[2]) { r=true;d=t.attr("sort"); } - sortData( $('div',this)[0].id, ci, r, d); + if(ci != null){ + sortData( $('div',this)[0].id, ci, r, d, this); + } return false; }); if (ts.p.sortable && $.fn.sortable) { @@ -2372,7 +2608,7 @@ firstr = null; var hTable = $("<table class='ui-jqgrid-htable' style='width:"+ts.p.tblwidth+"px' role='grid' aria-labelledby='gbox_"+this.id+"' cellspacing='0' cellpadding='0' border='0'></table>").append(thead), hg = (ts.p.caption && ts.p.hiddengrid===true) ? true : false, - hb = $("<div class='ui-jqgrid-hbox" + (dir=="rtl" ? "-rtl" : "" )+"'></div>"); + hb = $("<div class='ui-jqgrid-hbox" + (dir==="rtl" ? "-rtl" : "" )+"'></div>"); thead = null; grid.hDiv = document.createElement("div"); $(grid.hDiv) @@ -2384,9 +2620,9 @@ if(hg) { $(grid.hDiv).hide(); } if(ts.p.pager){ // TBD -- escape ts.p.pager here? - if(typeof ts.p.pager == "string") {if(ts.p.pager.substr(0,1) !="#") { ts.p.pager = "#"+ts.p.pager;} } + if(typeof ts.p.pager === "string") {if(ts.p.pager.substr(0,1) !== "#") { ts.p.pager = "#"+ts.p.pager;} } else { ts.p.pager = "#"+ $(ts.p.pager).attr("id");} - $(ts.p.pager).css({width: grid.width+"px"}).appendTo(eg).addClass('ui-state-default ui-jqgrid-pager ui-corner-bottom'); + $(ts.p.pager).css({width: grid.width+"px"}).addClass('ui-state-default ui-jqgrid-pager ui-corner-bottom').appendTo(eg); if(hg) {$(ts.p.pager).hide();} setPager(ts.p.pager,''); } @@ -2412,7 +2648,7 @@ cSel = $(ts).triggerHandler("jqGridBeforeSelectRow", [ptr[0].id, e]); cSel = (cSel === false || cSel === 'stop') ? false : true; if(cSel && $.isFunction(ts.p.beforeSelectRow)) { cSel = ts.p.beforeSelectRow.call(ts,ptr[0].id, e); } - if (td.tagName == 'A' || ((td.tagName == 'INPUT' || td.tagName == 'TEXTAREA' || td.tagName == 'OPTION' || td.tagName == 'SELECT' ) && !scb) ) { return; } + if (td.tagName === 'A' || ((td.tagName === 'INPUT' || td.tagName === 'TEXTAREA' || td.tagName === 'OPTION' || td.tagName === 'SELECT' ) && !scb) ) { return; } if(cSel === true) { ri = ptr[0].id; ci = $.jgrid.getCellIndex(td); @@ -2462,7 +2698,7 @@ if (opts && opts.current) { ts.grid.selectionPreserver(ts); } - if(ts.p.datatype=="local"){ $(ts).jqGrid("resetSelection"); if(ts.p.data.length) { refreshIndex();} } + if(ts.p.datatype==="local"){ $(ts).jqGrid("resetSelection"); if(ts.p.data.length) { refreshIndex();} } else if(!ts.p.treeGrid) { ts.p.selrow=null; if(ts.p.multiselect) {ts.p.selarrrow =[];setHeadCheckBox(false);} @@ -2496,7 +2732,7 @@ ri = ptr[0].rowIndex; ci = $.jgrid.getCellIndex(td); $(ts).triggerHandler("jqGridDblClickRow", [$(ptr).attr("id"),ri,ci,e]); - if ($.isFunction(this.p.ondblClickRow)) { ts.p.ondblClickRow.call(ts,$(ptr).attr("id"),ri,ci, e); } + if ($.isFunction(ts.p.ondblClickRow)) { ts.p.ondblClickRow.call(ts,$(ptr).attr("id"),ri,ci, e); } }) .bind('contextmenu', function(e) { td = e.target; @@ -2506,39 +2742,43 @@ ri = ptr[0].rowIndex; ci = $.jgrid.getCellIndex(td); $(ts).triggerHandler("jqGridRightClickRow", [$(ptr).attr("id"),ri,ci,e]); - if ($.isFunction(this.p.onRightClickRow)) { ts.p.onRightClickRow.call(ts,$(ptr).attr("id"),ri,ci, e); } + if ($.isFunction(ts.p.onRightClickRow)) { ts.p.onRightClickRow.call(ts,$(ptr).attr("id"),ri,ci, e); } }); grid.bDiv = document.createElement("div"); if(isMSIE) { if(String(ts.p.height).toLowerCase() === "auto") { ts.p.height = "100%"; } } $(grid.bDiv) - .append($('<div style="position:relative;'+(isMSIE && $.browser.version < 8 ? "height:0.01%;" : "")+'"></div>').append('<div></div>').append(this)) + .append($('<div style="position:relative;'+(isMSIE && $.jgrid.msiever() < 8 ? "height:0.01%;" : "")+'"></div>').append('<div></div>').append(this)) .addClass("ui-jqgrid-bdiv") .css({ height: ts.p.height+(isNaN(ts.p.height)?"":"px"), width: (grid.width)+"px"}) .scroll(grid.scrollGrid); $("table:first",grid.bDiv).css({width:ts.p.tblwidth+"px"}); - if( isMSIE ) { - if( $("tbody",this).length == 2 ) { $("tbody:gt(0)",this).remove();} - if( ts.p.multikey) {$(grid.bDiv).bind("selectstart",function(){return false;});} - } else { - if( ts.p.multikey) {$(grid.bDiv).bind("mousedown",function(){return false;});} + if( !$.support.tbody ) { //IE + if( $("tbody",this).length === 2 ) { $("tbody:gt(0)",this).remove();} } + if(ts.p.multikey){ + if( $.jgrid.msie) { + $(grid.bDiv).bind("selectstart",function(){return false;}); + } else { + $(grid.bDiv).bind("mousedown",function(){return false;}); + } + } if(hg) {$(grid.bDiv).hide();} grid.cDiv = document.createElement("div"); var arf = ts.p.hidegrid===true ? $("<a role='link' href='javascript:void(0)'/>").addClass('ui-jqgrid-titlebar-close HeaderButton').hover( function(){ arf.addClass('ui-state-hover');}, function() {arf.removeClass('ui-state-hover');}) - .append("<span class='ui-icon ui-icon-circle-triangle-n'></span>").css((dir=="rtl"?"left":"right"),"0px") : ""; - $(grid.cDiv).append(arf).append("<span class='ui-jqgrid-title"+(dir=="rtl" ? "-rtl" :"" )+"'>"+ts.p.caption+"</span>") + .append("<span class='ui-icon ui-icon-circle-triangle-n'></span>").css((dir==="rtl"?"left":"right"),"0px") : ""; + $(grid.cDiv).append(arf).append("<span class='ui-jqgrid-title"+(dir==="rtl" ? "-rtl" :"" )+"'>"+ts.p.caption+"</span>") .addClass("ui-jqgrid-titlebar ui-widget-header ui-corner-top ui-helper-clearfix"); $(grid.cDiv).insertBefore(grid.hDiv); if( ts.p.toolbar[0] ) { grid.uDiv = document.createElement("div"); - if(ts.p.toolbar[1] == "top") {$(grid.uDiv).insertBefore(grid.hDiv);} - else if (ts.p.toolbar[1]=="bottom" ) {$(grid.uDiv).insertAfter(grid.hDiv);} - if(ts.p.toolbar[1]=="both") { + if(ts.p.toolbar[1] === "top") {$(grid.uDiv).insertBefore(grid.hDiv);} + else if (ts.p.toolbar[1]==="bottom" ) {$(grid.uDiv).insertAfter(grid.hDiv);} + if(ts.p.toolbar[1]==="both") { grid.ubDiv = document.createElement("div"); - $(grid.uDiv).insertBefore(grid.hDiv).addClass("ui-userdata ui-state-default").attr("id","t_"+this.id); - $(grid.ubDiv).insertAfter(grid.hDiv).addClass("ui-userdata ui-state-default").attr("id","tb_"+this.id); + $(grid.uDiv).addClass("ui-userdata ui-state-default").attr("id","t_"+this.id).insertBefore(grid.hDiv); + $(grid.ubDiv).addClass("ui-userdata ui-state-default").attr("id","tb_"+this.id).insertAfter(grid.hDiv); if(hg) {$(grid.ubDiv).hide();} } else { $(grid.uDiv).width(grid.width).addClass("ui-userdata ui-state-default").attr("id","t_"+this.id); @@ -2549,13 +2789,13 @@ ts.p.toppager = $.jgrid.jqID(ts.p.id)+"_toppager"; grid.topDiv = $("<div id='"+ts.p.toppager+"'></div>")[0]; ts.p.toppager = "#"+ts.p.toppager; - $(grid.topDiv).insertBefore(grid.hDiv).addClass('ui-state-default ui-jqgrid-toppager').width(grid.width); + $(grid.topDiv).addClass('ui-state-default ui-jqgrid-toppager').width(grid.width).insertBefore(grid.hDiv); setPager(ts.p.toppager,'_t'); } if(ts.p.footerrow) { grid.sDiv = $("<div class='ui-jqgrid-sdiv'></div>")[0]; - hb = $("<div class='ui-jqgrid-hbox"+(dir=="rtl"?"-rtl":"")+"'></div>"); - $(grid.sDiv).append(hb).insertAfter(grid.hDiv).width(grid.width); + hb = $("<div class='ui-jqgrid-hbox"+(dir==="rtl"?"-rtl":"")+"'></div>"); + $(grid.sDiv).append(hb).width(grid.width).insertAfter(grid.hDiv); $(hb).append(tfoot); grid.footers = $(".ui-jqgrid-ftable",grid.sDiv)[0].rows[0].cells; if(ts.p.rownumbers) { grid.footers[0].className = 'ui-state-default jqgrid-rownum'; } @@ -2570,14 +2810,14 @@ elems = ".ui-jqgrid-bdiv, .ui-jqgrid-hdiv, .ui-jqgrid-pager, .ui-jqgrid-sdiv", counter, self = this; if(ts.p.toolbar[0]===true) { - if( ts.p.toolbar[1]=='both') { + if( ts.p.toolbar[1]==='both') { elems += ', #' + $(grid.ubDiv).attr('id'); } elems += ', #' + $(grid.uDiv).attr('id'); } counter = $(elems,"#gview_"+$.jgrid.jqID(ts.p.id)).length; - if(ts.p.gridstate == 'visible') { + if(ts.p.gridstate === 'visible') { $(elems,"#gbox_"+$.jgrid.jqID(ts.p.id)).slideUp("fast", function() { counter--; if (counter === 0) { @@ -2588,7 +2828,7 @@ if(onHdCl) {if(!hg) {ts.p.onHeaderClick.call(ts,ts.p.gridstate,e);}} } }); - } else if(ts.p.gridstate == 'hidden'){ + } else if(ts.p.gridstate === 'hidden'){ $(elems,"#gbox_"+$.jgrid.jqID(ts.p.id)).slideDown("fast", function() { counter--; if (counter === 0) { @@ -2627,6 +2867,8 @@ ts.addXmlData = function(d) {addXmlData(d,ts.grid.bDiv);}; ts.addJSONData = function(d) {addJSONData(d,ts.grid.bDiv);}; this.grid.cols = this.rows[0].cells; + $(ts).triggerHandler("jqGridInitGrid"); + if ($.isFunction( ts.p.onInitGrid )) { ts.p.onInitGrid.call(ts); } populate();ts.p.hiddengrid=false; }); @@ -2636,11 +2878,11 @@ var $t = this[0]; if (!$t || !$t.grid) {return;} if (!pName) { return $t.p; } - else {return typeof($t.p[pName]) != "undefined" ? $t.p[pName] : null;} + return $t.p[pName] !== undefined ? $t.p[pName] : null; }, setGridParam : function (newParams){ return this.each(function(){ - if (this.grid && typeof(newParams) === 'object') {$.extend(true,this.p,newParams);} + if (this.grid && typeof newParams === 'object') {$.extend(true,this.p,newParams);} }); }, getDataIDs : function () { @@ -2664,7 +2906,7 @@ var $t = this, stat,pt, ner, ia, tpsr, fid; if(selection === undefined) { return; } onsr = onsr === false ? false : true; - pt=$t.rows.namedItem(selection+""); + pt=$t.rows.namedItem(String(selection)); if(!pt || !pt.className || pt.className.indexOf( 'ui-state-disabled' ) > -1 ) { return; } function scrGrid(iR){ var ch = $($t.grid.bDiv)[0].clientHeight, @@ -2689,7 +2931,7 @@ } if(!$t.p.multiselect) { if(pt.className !== "ui-subgrid") { - if( $t.p.selrow != pt.id) { + if( $t.p.selrow !== pt.id) { $($t.rows.namedItem($t.p.selrow)).removeClass("ui-state-highlight").attr({"aria-selected":"false", "tabindex" : "-1"}); $(pt).addClass("ui-state-highlight").attr({"aria-selected":"true", "tabindex" : "0"});//.focus(); if(fid) { @@ -2701,8 +2943,10 @@ stat = false; } $t.p.selrow = pt.id; - $($t).triggerHandler("jqGridSelectRow", [pt.id, stat, e]); - if( $t.p.onSelectRow && onsr) { $t.p.onSelectRow.call($t, pt.id, stat, e); } + if( onsr ) { + $($t).triggerHandler("jqGridSelectRow", [pt.id, stat, e]); + if( $t.p.onSelectRow) { $t.p.onSelectRow.call($t, pt.id, stat, e); } + } } } else { //unselect selectall checkbox when deselecting a specific row @@ -2729,8 +2973,10 @@ } $("#jqg_"+$.jgrid.jqID($t.p.id)+"_"+$.jgrid.jqID(selection), "#"+$.jgrid.jqID(fid))[$t.p.useProp ? 'prop': 'attr']("checked",stat); } - $($t).triggerHandler("jqGridSelectRow", [pt.id, stat, e]); - if( $t.p.onSelectRow && onsr) { $t.p.onSelectRow.call($t, pt.id , stat, e); } + if( onsr ) { + $($t).triggerHandler("jqGridSelectRow", [pt.id, stat, e]); + if( $t.p.onSelectRow) { $t.p.onSelectRow.call($t, pt.id , stat, e); } + } } }); }, @@ -2740,7 +2986,7 @@ if( t.p.frozenColumns === true ) { fid = t.p.id+"_frozen"; } - if(typeof(rowid) !== "undefined" ) { + if(rowid !== undefined ) { sr = rowid === t.p.selrow ? t.p.selrow : rowid; $("#"+$.jgrid.jqID(t.p.id)+" tbody:first tr#"+$.jgrid.jqID(sr)).removeClass("ui-state-highlight").attr("aria-selected","false"); if (fid) { $("#"+$.jgrid.jqID(sr), "#"+$.jgrid.jqID(fid)).removeClass("ui-state-highlight"); } @@ -2782,7 +3028,7 @@ var res = {}, resall, getall=false, len, j=0; this.each(function(){ var $t = this,nm,ind; - if(typeof(rowid) == 'undefined') { + if(rowid === undefined) { getall = true; resall = []; len = $t.rows.length; @@ -2797,7 +3043,7 @@ $('td[role="gridcell"]',ind).each( function(i) { nm = $t.p.colModel[i].name; if ( nm !== 'cb' && nm !== 'subgrid' && nm !== 'rn') { - if($t.p.treeGrid===true && nm == $t.p.ExpandColumn) { + if($t.p.treeGrid===true && nm === $t.p.ExpandColumn) { res[nm] = $.jgrid.htmlDecode($("span:first",this).html()); } else { try { @@ -2813,16 +3059,14 @@ j++; } }); - return resall ? resall: res; + return resall || res; }, delRowData : function(rowid) { - var success = false, rowInd, ia, ri; + var success = false, rowInd, ia; this.each(function() { var $t = this; rowInd = $t.rows.namedItem(rowid); if(!rowInd) {return false;} - else { - ri = rowInd.rowIndex; $(rowInd).remove(); $t.p.records--; $t.p.reccount--; @@ -2830,14 +3074,17 @@ success=true; if($t.p.multiselect) { ia = $.inArray(rowid,$t.p.selarrrow); - if(ia != -1) { $t.p.selarrrow.splice(ia,1);} + if(ia !== -1) { $t.p.selarrrow.splice(ia,1);} } - if(rowid == $t.p.selrow) {$t.p.selrow=null;} - } - if($t.p.datatype == 'local') { + if ($t.p.multiselect && $t.p.selarrrow.length > 0) { + $t.p.selrow = $t.p.selarrrow[$t.p.selarrrow.length-1]; + } else { + $t.p.selrow = null; + } + if($t.p.datatype === 'local') { var id = $.jgrid.stripPref($t.p.idPrefix, rowid), pos = $t.p._index[id]; - if(typeof(pos) != 'undefined') { + if(pos !== undefined) { $t.p.data.splice(pos,1); $t.refreshIndex(); } @@ -2845,7 +3092,7 @@ if( $t.p.altRows === true && success ) { var cn = $t.p.altclass; $($t.rows).each(function(i){ - if(i % 2 ==1) { $(this).addClass(cn); } + if(i % 2 === 1) { $(this).addClass(cn); } else { $(this).removeClass(cn); } }); } @@ -2863,28 +3110,29 @@ try { $(this.p.colModel).each(function(i){ nm = this.name; - if( data[nm] !== undefined) { - lcdata[nm] = this.formatter && typeof(this.formatter) === 'string' && this.formatter == 'date' ? $.unformat.date.call(t,data[nm],this) : data[nm]; - vl = t.formatter( rowid, data[nm], i, data, 'edit'); + var dval =$.jgrid.getAccessor(data,nm); + if( dval !== undefined) { + lcdata[nm] = this.formatter && typeof this.formatter === 'string' && this.formatter === 'date' ? $.unformat.date.call(t,dval,this) : dval; + vl = t.formatter( rowid, dval, i, data, 'edit'); title = this.title ? {"title":$.jgrid.stripHtml(vl)} : {}; - if(t.p.treeGrid===true && nm == t.p.ExpandColumn) { - $("td:eq("+i+") > span:first",ind).html(vl).attr(title); + if(t.p.treeGrid===true && nm === t.p.ExpandColumn) { + $("td[role='gridcell']:eq("+i+") > span:first",ind).html(vl).attr(title); } else { - $("td:eq("+i+")",ind).html(vl).attr(title); + $("td[role='gridcell']:eq("+i+")",ind).html(vl).attr(title); } } }); - if(t.p.datatype == 'local') { + if(t.p.datatype === 'local') { var id = $.jgrid.stripPref(t.p.idPrefix, rowid), - pos = t.p._index[id]; + pos = t.p._index[id], key; if(t.p.treeGrid) { - for(var key in t.p.treeReader ){ - if(lcdata.hasOwnProperty(t.p.treeReader[key])) { + for(key in t.p.treeReader){ + if(t.p.treeReader.hasOwnProperty(key)) { delete lcdata[t.p.treeReader[key]]; } } } - if(typeof(pos) != 'undefined') { + if(pos !== undefined) { t.p.data[pos] = $.extend(true, t.p.data[pos], lcdata); } lcdata = null; @@ -2918,12 +3166,12 @@ gi = t.p.multiselect ===true ? 1 :0; si = t.p.subGrid===true ? 1 :0; if(!aradd) { - if(typeof(rowid) != 'undefined') { rowid = rowid+"";} + if(rowid !== undefined) { rowid = String(rowid);} else { rowid = $.jgrid.randId(); if(t.p.keyIndex !== false) { cnm = t.p.colModel[t.p.keyIndex+gi+si+ni].name; - if(typeof rdata[0][cnm] != "undefined") { rowid = rdata[0][cnm]; } + if(rdata[0][cnm] !== undefined) { rowid = rdata[0][cnm]; } } } } @@ -2934,7 +3182,12 @@ data = rdata[k]; row=[]; if(aradd) { - try {rowid = data[cnm];} + try { + rowid = data[cnm]; + if(rowid===undefined) { + rowid = $.jgrid.randId(); + } + } catch (e) {rowid = $.jgrid.randId();} cna = t.p.altRows === true ? (t.rows.length-1)%2 === 0 ? cn : "" : ""; } @@ -2957,7 +3210,7 @@ nm = cm.name; lcdata[nm] = data[nm]; v = t.formatter( rowid, $.jgrid.getAccessor(data,nm), i, data ); - prp = t.formatCol(i,1,v, data, rowid, true); + prp = t.formatCol(i,1,v, data, rowid, lcdata); row[row.length] = "<td role=\"gridcell\" "+prp+">"+v+"</td>"; } row.unshift( t.constructTr(rowid, false, cna, lcdata, data, false ) ); @@ -2997,7 +3250,7 @@ $(t).triggerHandler("jqGridAfterInsertRow", [rowid,data,data]); if(air) { t.p.afterInsertRow.call(t,rowid,data,data); } k++; - if(t.p.datatype == 'local') { + if(t.p.datatype === 'local') { lcdata[t.p.localReader.id] = id; t.p._index[id] = t.p.data.length; t.p.data.push(lcdata); @@ -3005,11 +3258,11 @@ } } if( t.p.altRows === true && !aradd) { - if (pos == "last") { - if ((t.rows.length-1)%2 == 1) {$(t.rows[t.rows.length-1]).addClass(cn);} + if (pos === "last") { + if ((t.rows.length-1)%2 === 1) {$(t.rows[t.rows.length-1]).addClass(cn);} } else { $(t.rows).each(function(i){ - if(i % 2 ==1) { $(this).addClass(cn); } + if(i % 2 ===1) { $(this).addClass(cn); } else { $(this).removeClass(cn); } }); } @@ -3023,41 +3276,42 @@ footerData : function(action,data, format) { var nm, success=false, res={}, title; function isEmpty(obj) { - for(var i in obj) { + var i; + for(i in obj) { if (obj.hasOwnProperty(i)) { return false; } } return true; } - if(typeof(action) == "undefined") { action = "get"; } - if(typeof(format) != "boolean") { format = true; } + if(action === undefined) { action = "get"; } + if(typeof format !== "boolean") { format = true; } action = action.toLowerCase(); this.each(function(){ var t = this, vl; if(!t.grid || !t.p.footerrow) {return false;} - if(action == "set") { if(isEmpty(data)) { return false; } } + if(action === "set") { if(isEmpty(data)) { return false; } } success=true; $(this.p.colModel).each(function(i){ nm = this.name; - if(action == "set") { + if(action === "set") { if( data[nm] !== undefined) { vl = format ? t.formatter( "", data[nm], i, data, 'edit') : data[nm]; title = this.title ? {"title":$.jgrid.stripHtml(vl)} : {}; $("tr.footrow td:eq("+i+")",t.grid.sDiv).html(vl).attr(title); success = true; } - } else if(action == "get") { + } else if(action === "get") { res[nm] = $("tr.footrow td:eq("+i+")",t.grid.sDiv).html(); } }); }); - return action == "get" ? res : success; + return action === "get" ? res : success; }, showHideCol : function(colname,show) { return this.each(function() { - var $t = this, fndh=false, brd=$.jgrid.cellWidth()? 0: $t.p.cellLayout, cw; + var $t = this, fndh=false, brd=$.jgrid.cell_width ? 0: $t.p.cellLayout, cw; if (!$t.grid ) {return;} if( typeof colname === 'string') {colname=[colname];} - show = show != "none" ? "" : "none"; + show = show !== "none" ? "" : "none"; var sw = show === "" ? true :false, gh = $t.p.groupHeader && (typeof $t.p.groupHeader === 'object' || $.isFunction($t.p.groupHeader) ); if(gh) { $($t).jqGrid('destroyGroupHeader', false); } @@ -3152,9 +3406,8 @@ return this.each(function(){ if (!this.grid ) {return;} var $t = this, cw, - initwidth = 0, brd=$.jgrid.cellWidth() ? 0: $t.p.cellLayout, lvc, vc=0, hs=false, scw=$t.p.scrollOffset, aw, gw=0, - cl = 0,cr; - if(typeof shrink != 'boolean') { + initwidth = 0, brd=$.jgrid.cell_width ? 0: $t.p.cellLayout, lvc, vc=0, hs=false, scw=$t.p.scrollOffset, aw, gw=0, cr; + if(typeof shrink !== 'boolean') { shrink=$t.p.shrinkToFit; } if(isNaN(nwidth)) {return;} @@ -3168,7 +3421,7 @@ if($t.p.toppager ) {$($t.p.toppager).css("width",nwidth+"px");} if($t.p.toolbar[0] === true){ $($t.grid.uDiv).css("width",nwidth+"px"); - if($t.p.toolbar[1]=="both") {$($t.grid.ubDiv).css("width",nwidth+"px");} + if($t.p.toolbar[1]==="both") {$($t.grid.ubDiv).css("width",nwidth+"px");} } if($t.p.footerrow) { $($t.grid.sDiv).css("width",nwidth+"px"); } if(shrink ===false && $t.p.forceFit === true) {$t.p.forceFit=false;} @@ -3182,7 +3435,6 @@ } else { vc++; } - cl++; } }); if(vc === 0) { return; } @@ -3272,9 +3524,9 @@ return this.each(function(){ var $t = this, pos=-1; if(!$t.grid) {return;} - if(typeof(colname) != "undefined") { + if(colname !== undefined) { $($t.p.colModel).each(function(i){ - if (this.name == colname) { + if (this.name === colname) { pos = i;return false; } }); @@ -3299,7 +3551,7 @@ if(!$t.grid) {return;} if(isNaN(colname)) { $($t.p.colModel).each(function(i){ - if (this.name == colname) { + if (this.name === colname) { pos = i;return false; } }); @@ -3316,11 +3568,11 @@ } else { $(tcell).html(v).attr(title); } - if($t.p.datatype == "local") { + if($t.p.datatype === "local") { var cm = $t.p.colModel[pos], index; - nData = cm.formatter && typeof(cm.formatter) === 'string' && cm.formatter == 'date' ? $.unformat.date.call($t,nData,cm) : nData; - index = $t.p._index[rowid]; - if(typeof index != "undefined") { + nData = cm.formatter && typeof cm.formatter === 'string' && cm.formatter === 'date' ? $.unformat.date.call($t,nData,cm) : nData; + index = $t.p._index[$.jgrid.stripPref($t.p.idPrefix, rowid)]; + if(index !== undefined) { $t.p.data[index][cm.name] = nData; } } @@ -3362,8 +3614,8 @@ }, getCol : function (col, obj, mathopr) { var ret = [], val, sum=0, min, max, v; - obj = typeof (obj) != 'boolean' ? false : obj; - if(typeof mathopr == 'undefined') { mathopr = false; } + obj = typeof obj !== 'boolean' ? false : obj; + if(mathopr === undefined) { mathopr = false; } this.each(function(){ var $t=this, pos=-1; if(!$t.grid) {return;} @@ -3387,7 +3639,7 @@ if(mathopr) { v = parseFloat(val); sum += v; - if (max === undefined) {max = min = v} + if (max === undefined) {max = min = v;} min = Math.min(min, v); max = Math.max(max, v); } @@ -3414,7 +3666,7 @@ return this.each(function(){ var $t = this; if(!$t.grid) {return;} - if(typeof clearfooter != 'boolean') { clearfooter = false; } + if(typeof clearfooter !== 'boolean') { clearfooter = false; } if($t.p.deepempty) {$("#"+$.jgrid.jqID($t.p.id)+" tbody:first tr:gt(0)").remove();} else { var trf = $("#"+$.jgrid.jqID($t.p.id)+" tbody:first tr:first")[0]; @@ -3454,7 +3706,7 @@ expanded = $t.p.treeReader.expanded_field; //check for arrow keys if(target) { - mind = $t.p._index[target.id]; + mind = $t.p._index[$.jgrid.stripPref($t.p.idPrefix, target.id)]; if(event.keyCode === 37 || event.keyCode === 38 || event.keyCode === 39 || event.keyCode === 40){ // up key if(event.keyCode === 38 ){ @@ -3535,8 +3787,8 @@ getLocalRow : function (rowid) { var ret = false, ind; this.each(function(){ - if(typeof(rowid) !== "undefined") { - ind = this.p._index[rowid]; + if(rowid !== undefined) { + ind = this.p._index[$.jgrid.stripPref(this.p.idPrefix, rowid)]; if(ind >= 0 ) { ret = this.p.data[ind]; } @@ -3546,6 +3798,8 @@ } }); })(jQuery); +/*jshint eqeqeq:false */ +/*global jQuery */ (function($){ /** * jqGrid extension for custom methods @@ -3558,15 +3812,14 @@ * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl-2.0.html **/ -/*global jQuery, $ */ "use strict"; $.jgrid.extend({ getColProp : function(colname){ var ret ={}, $t = this[0]; if ( !$t.grid ) { return false; } - var cM = $t.p.colModel; - for ( var i =0;i<cM.length;i++ ) { - if ( cM[i].name == colname ) { + var cM = $t.p.colModel, i; + for ( i=0;i<cM.length;i++ ) { + if ( cM[i].name === colname ) { ret = cM[i]; break; } @@ -3578,10 +3831,10 @@ return this.each(function(){ if ( this.grid ) { if ( obj ) { - var cM = this.p.colModel; - for ( var i =0;i<cM.length;i++ ) { - if ( cM[i].name == colname ) { - $.extend(this.p.colModel[i],obj); + var cM = this.p.colModel, i; + for ( i=0;i<cM.length;i++ ) { + if ( cM[i].name === colname ) { + $.extend(true, this.p.colModel[i],obj); break; } } @@ -3591,16 +3844,16 @@ }, sortGrid : function(colname,reload, sor){ return this.each(function(){ - var $t=this,idx=-1; + var $t=this,idx=-1,i; if ( !$t.grid ) { return;} if ( !colname ) { colname = $t.p.sortname; } - for ( var i=0;i<$t.p.colModel.length;i++ ) { - if ( $t.p.colModel[i].index == colname || $t.p.colModel[i].name==colname ) { + for ( i=0;i<$t.p.colModel.length;i++ ) { + if ( $t.p.colModel[i].index === colname || $t.p.colModel[i].name === colname ) { idx = i; break; } } - if ( idx!=-1 ){ + if ( idx !== -1 ){ var sort = $t.p.colModel[idx].sortable; if ( typeof sort !== 'boolean' ) { sort = true; } if ( typeof reload !=='boolean' ) { reload = false; } @@ -3681,16 +3934,16 @@ $("#gbox_"+gid).remove(); }); }, - setGridState : function(state) { + setGridState : function(state) { return this.each(function(){ if ( !this.grid ) {return;} var $t = this; - if(state == 'hidden'){ + if(state === 'hidden'){ $(".ui-jqgrid-bdiv, .ui-jqgrid-hdiv","#gview_"+$.jgrid.jqID($t.p.id)).slideUp("fast"); if($t.p.pager) {$($t.p.pager).slideUp("fast");} if($t.p.toppager) {$($t.p.toppager).slideUp("fast");} if($t.p.toolbar[0]===true) { - if( $t.p.toolbar[1]=='both') { + if( $t.p.toolbar[1] === 'both') { $($t.grid.ubDiv).slideUp("fast"); } $($t.grid.uDiv).slideUp("fast"); @@ -3698,12 +3951,12 @@ if($t.p.footerrow) { $(".ui-jqgrid-sdiv","#gbox_"+$.jgrid.jqID($t.p.id)).slideUp("fast"); } $(".ui-jqgrid-titlebar-close span",$t.grid.cDiv).removeClass("ui-icon-circle-triangle-n").addClass("ui-icon-circle-triangle-s"); $t.p.gridstate = 'hidden'; - } else if(state=='visible') { + } else if(state === 'visible') { $(".ui-jqgrid-hdiv, .ui-jqgrid-bdiv","#gview_"+$.jgrid.jqID($t.p.id)).slideDown("fast"); if($t.p.pager) {$($t.p.pager).slideDown("fast");} if($t.p.toppager) {$($t.p.toppager).slideDown("fast");} if($t.p.toolbar[0]===true) { - if( $t.p.toolbar[1]=='both') { + if( $t.p.toolbar[1] === 'both') { $($t.grid.ubDiv).slideDown("fast"); } $($t.grid.uDiv).slideDown("fast"); @@ -3726,18 +3979,28 @@ searchurl : '', stringResult: false, groupOp: 'AND', - defaultSearch : "bw" - },p || {}); + defaultSearch : "bw", + searchOperators : false, + operandTitle : "Click to select search operation.", + operands : { "eq" :"==", "ne":"!","lt":"<","le":"<=","gt":">","ge":">=","bw":"^","bn":"!^","in":"=","ni":"!=","ew":"|","en":"!@","cn":"~","nc":"!~","nu":"#","nn":"!#"} + }, $.jgrid.search , p || {}); return this.each(function(){ var $t = this; if(this.ftoolbar) { return; } var triggerToolbar = function() { var sdata={}, j=0, v, nm, sopt={},so; $.each($t.p.colModel,function(){ + var $elem = $("#gs_"+$.jgrid.jqID(this.name), (this.frozen===true && $t.p.frozenColumns === true) ? $t.grid.fhDiv : $t.grid.hDiv); nm = this.index || this.name; - so = (this.searchoptions && this.searchoptions.sopt) ? this.searchoptions.sopt[0] : this.stype=='select'? 'eq' : p.defaultSearch; - v = $("#gs_"+$.jgrid.jqID(this.name), (this.frozen===true && $t.p.frozenColumns === true) ? $t.grid.fhDiv : $t.grid.hDiv).val(); - if(v) { + if(p.searchOperators ) { + so = $elem.parent().prev().children("a").attr("soper") || p.defaultSearch; + } else { + so = (this.searchoptions && this.searchoptions.sopt) ? this.searchoptions.sopt[0] : this.stype==='select'? 'eq' : p.defaultSearch; + } + v = this.stype === "custom" && $.isFunction(this.searchoptions.custom_value) && $elem.length > 0 && $elem[0].nodeName.toUpperCase() === "SPAN" ? + this.searchoptions.custom_value.call($t, $elem.children(".customelement:first"), "get") : + $elem.val(); + if(v || so==="nu" || so==="nn") { sdata[nm] = v; sopt[nm] = so; j++; @@ -3748,7 +4011,7 @@ } }); var sd = j>0 ? true : false; - if(p.stringResult === true || $t.p.datatype == "local") { + if(p.stringResult === true || $t.p.datatype === "local") { var ruleGroup = "{\"groupOp\":\"" + p.groupOp + "\",\"rules\":["; var gi=0; $.each(sdata,function(i,n){ @@ -3778,19 +4041,19 @@ if(saveurl) {$($t).jqGrid("setGridParam",{url:saveurl});} $($t).triggerHandler("jqGridToolbarAfterSearch"); if($.isFunction(p.afterSearch)){p.afterSearch.call($t);} - }; - var clearToolbar = function(trigger){ + }, + clearToolbar = function(trigger){ var sdata={}, j=0, nm; - trigger = (typeof trigger != 'boolean') ? true : trigger; + trigger = (typeof trigger !== 'boolean') ? true : trigger; $.each($t.p.colModel,function(){ - var v; + var v, $elem = $("#gs_"+$.jgrid.jqID(this.name),(this.frozen===true && $t.p.frozenColumns === true) ? $t.grid.fhDiv : $t.grid.hDiv); if(this.searchoptions && this.searchoptions.defaultValue !== undefined) { v = this.searchoptions.defaultValue; } nm = this.index || this.name; switch (this.stype) { case 'select' : - $("#gs_"+$.jgrid.jqID(this.name)+" option",(this.frozen===true && $t.p.frozenColumns === true) ? $t.grid.fhDiv : $t.grid.hDiv).each(function (i){ + $elem.find("option").each(function (i){ if(i===0) { this.selected = true; } - if ($(this).val() == v) { + if ($(this).val() === v) { this.selected = true; return false; } @@ -3806,7 +4069,7 @@ } break; case 'text': - $("#gs_"+$.jgrid.jqID(this.name),(this.frozen===true && $t.p.frozenColumns === true) ? $t.grid.fhDiv : $t.grid.hDiv).val(v); + $elem.val(v); if(v !== undefined) { sdata[nm] = v; j++; @@ -3816,10 +4079,15 @@ } catch (y){} } break; + case 'custom': + if ($.isFunction(this.searchoptions.custom_value) && $elem.length > 0 && $elem[0].nodeName.toUpperCase() === "SPAN") { + this.searchoptions.custom_value.call($t, $elem.children(".customelement:first"), "set", v); + } + break; } }); var sd = j>0 ? true : false; - if(p.stringResult === true || $t.p.datatype == "local") { + if(p.stringResult === true || $t.p.datatype === "local") { var ruleGroup = "{\"groupOp\":\"" + p.groupOp + "\",\"rules\":["; var gi=0; $.each(sdata,function(i,n){ @@ -3853,11 +4121,11 @@ if(saveurl) {$($t).jqGrid("setGridParam",{url:saveurl});} $($t).triggerHandler("jqGridToolbarAfterClear"); if($.isFunction(p.afterClear)){p.afterClear();} - }; - var toggleToolbar = function(){ + }, + toggleToolbar = function(){ var trow = $("tr.ui-search-toolbar",$t.grid.hDiv), trow2 = $t.p.frozenColumns === true ? $("tr.ui-search-toolbar",$t.grid.fhDiv) : false; - if(trow.css("display")=='none') { + if(trow.css("display") === 'none') { trow.show(); if(trow2) { trow2.show(); @@ -3868,31 +4136,82 @@ trow2.hide(); } } + }, + buildRuleMenu = function( elem, left, top ){ + $("#sopt_menu").remove(); + + left=parseInt(left,10); + top=parseInt(top,10) + 18; + + var fs = $('.ui-jqgrid-view').css('font-size') || '11px'; + var str = '<ul id="sopt_menu" class="ui-search-menu" role="menu" tabindex="0" style="font-size:'+fs+';left:'+left+'px;top:'+top+'px;">', + selected = $(elem).attr("soper"), selclass, + aoprs = [], ina; + var i=0, nm =$(elem).attr("colname"),len = $t.p.colModel.length; + while(i<len) { + if($t.p.colModel[i].name === nm) { + break; + } + i++; + } + var cm = $t.p.colModel[i], options = $.extend({}, cm.searchoptions); + if(!options.sopt) { + options.sopt = []; + options.sopt[0]= cm.stype==='select' ? 'eq' : p.defaultSearch; + } + $.each(p.odata, function() { aoprs.push(this.oper); }); + for ( i = 0 ; i < options.sopt.length; i++) { + ina = $.inArray(options.sopt[i],aoprs); + if(ina !== -1) { + selclass = selected === p.odata[ina].oper ? "ui-state-highlight" : ""; + str += '<li class="ui-menu-item '+selclass+'" role="presentation"><a class="ui-corner-all g-menu-item" tabindex="0" role="menuitem" value="'+p.odata[ina].oper+'" oper="'+p.operands[p.odata[ina].oper]+'"><table cellspacing="0" cellpadding="0" border="0"><tr><td width="25px">'+p.operands[p.odata[ina].oper]+'</td><td>'+ p.odata[ina].text+'</td></tr></table></a></li>'; + } + } + str += "</ul>"; + $('body').append(str); + $("#sopt_menu").addClass("ui-menu ui-widget ui-widget-content ui-corner-all"); + $("#sopt_menu > li > a").hover( + function(){ $(this).addClass("ui-state-hover"); }, + function(){ $(this).removeClass("ui-state-hover"); } + ).click(function( e ){ + var v = $(this).attr("value"), + oper = $(this).attr("oper"); + $($t).triggerHandler("jqGridToolbarSelectOper", [v, oper, elem]); + $("#sopt_menu").hide(); + $(elem).text(oper).attr("soper",v); + if(p.autosearch===true){ + var inpelm = $(elem).parent().next().children()[0]; + if( $(inpelm).val() || v==="nu" || v ==="nn") { + triggerToolbar(); + } + } + }); }; // create the row - function bindEvents(selector, events) { - var jElem = $(selector); - if (jElem[0]) { - jQuery.each(events, function() { - if (this.data !== undefined) { - jElem.bind(this.type, this.data, this.fn); - } else { - jElem.bind(this.type, this.fn); - } - }); - } - } var tr = $("<tr class='ui-search-toolbar' role='rowheader'></tr>"); var timeoutHnd; $.each($t.p.colModel,function(){ - var cm=this, thd , th, soptions,surl,self; - th = $("<th role='columnheader' class='ui-state-default ui-th-column ui-th-"+$t.p.direction+"'></th>"); - thd = $("<div style='width:100%;position:relative;height:100%;padding-right:0.3em;'></div>"); + var cm=this, soptions, surl, self, select = "", sot="=", so, i, + th = $("<th role='columnheader' class='ui-state-default ui-th-column ui-th-"+$t.p.direction+"'></th>"), + thd = $("<div style='position:relative;height:100%;padding-right:0.3em;padding-left:0.3em;'></div>"), + stbl = $("<table class='ui-search-table' cellspacing='0'><tr><td class='ui-search-oper'></td><td class='ui-search-input'></td></tr></table>"); if(this.hidden===true) { $(th).css("display","none");} this.search = this.search === false ? false : true; - if(typeof this.stype == 'undefined' ) {this.stype='text';} + if(this.stype === undefined) {this.stype='text';} soptions = $.extend({},this.searchoptions || {}); if(this.search){ + if(p.searchOperators) { + so = (soptions.sopt) ? soptions.sopt[0] : cm.stype==='select' ? 'eq' : p.defaultSearch; + for(i = 0;i<p.odata.length;i++) { + if(p.odata[i].oper === so) { + sot = p.operands[so] || ""; + break; + } + } + var st = soptions.searchtitle != null ? soptions.searchtitle : p.operandTitle; + select = "<a title='"+st+"' style='padding-right: 0.5em;' soper='"+so+"' class='soptclass' colname='"+this.name+"'>"+sot+"</a>"; + } + $("td:eq(0)",stbl).append(select); switch (this.stype) { case "select": @@ -3907,17 +4226,20 @@ success: function(res) { if(soptions.buildSelect !== undefined) { var d = soptions.buildSelect(res); - if (d) { $(self).append(d); } + if (d) { + $("td:eq(1)",stbl).append(d); + $(self).append(stbl); + } } else { - $(self).append(res); + $("td:eq(1)",stbl).append(res); + $(self).append(stbl); } if(soptions.defaultValue !== undefined) { $("select",self).val(soptions.defaultValue); } $("select",self).attr({name:cm.index || cm.name, id: "gs_"+cm.name}); if(soptions.attr) {$("select",self).attr(soptions.attr);} $("select",self).css({width: "100%"}); // preserve autoserch - if(soptions.dataInit !== undefined) { soptions.dataInit($("select",self)[0]); } - if(soptions.dataEvents !== undefined) { bindEvents($("select",self)[0],soptions.dataEvents); } + $.jgrid.bindEv.call($t, $("select",self)[0], soptions); if(p.autosearch===true){ $("select",self).change(function(){ triggerToolbar(); @@ -3942,17 +4264,17 @@ var elem = document.createElement("select"); elem.style.width = "100%"; $(elem).attr({name:cm.index || cm.name, id: "gs_"+cm.name}); - var so, sv, ov; + var sv, ov, key, k; if(typeof oSv === "string") { so = oSv.split(delim); - for(var k=0; k<so.length;k++){ + for(k=0; k<so.length;k++){ sv = so[k].split(sep); ov = document.createElement("option"); ov.value = sv[0]; ov.innerHTML = sv[1]; elem.appendChild(ov); } } else if(typeof oSv === "object" ) { - for ( var key in oSv) { + for (key in oSv) { if(oSv.hasOwnProperty(key)) { ov = document.createElement("option"); ov.value = key; ov.innerHTML = oSv[key]; @@ -3962,9 +4284,9 @@ } if(soptions.defaultValue !== undefined) { $(elem).val(soptions.defaultValue); } if(soptions.attr) {$(elem).attr(soptions.attr);} - if(soptions.dataInit !== undefined) { soptions.dataInit(elem); } - if(soptions.dataEvents !== undefined) { bindEvents(elem, soptions.dataEvents); } - $(thd).append(elem); + $.jgrid.bindEv.call($t, elem , soptions); + $("td:eq(1)",stbl).append( elem ); + $(thd).append(stbl); if(p.autosearch===true){ $(elem).change(function(){ triggerToolbar(); @@ -3974,17 +4296,19 @@ } } break; - case 'text': + case "text": var df = soptions.defaultValue !== undefined ? soptions.defaultValue: ""; - $(thd).append("<input type='text' style='width:95%;padding:0px;' name='"+(cm.index || cm.name)+"' id='gs_"+cm.name+"' value='"+df+"'/>"); + + $("td:eq(1)",stbl).append("<input type='text' style='width:100%;padding:0px;' name='"+(cm.index || cm.name)+"' id='gs_"+cm.name+"' value='"+df+"'/>"); + $(thd).append(stbl); + if(soptions.attr) {$("input",thd).attr(soptions.attr);} - if(soptions.dataInit !== undefined) { soptions.dataInit($("input",thd)[0]); } - if(soptions.dataEvents !== undefined) { bindEvents($("input",thd)[0], soptions.dataEvents); } + $.jgrid.bindEv.call($t, $("input",thd)[0], soptions); if(p.autosearch===true){ if(p.searchOnEnter) { $("input",thd).keypress(function(e){ - var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0; - if(key == 13){ + var key = e.charCode || e.keyCode || 0; + if(key === 13){ triggerToolbar(); return false; } @@ -4012,22 +4336,71 @@ } } break; + case "custom": + $("td:eq(1)",stbl).append("<span style='width:95%;padding:0px;' name='"+(cm.index || cm.name)+"' id='gs_"+cm.name+"'/>"); + $(thd).append(stbl); + try { + if($.isFunction(soptions.custom_element)) { + var celm = soptions.custom_element.call($t,soptions.defaultValue !== undefined ? soptions.defaultValue: "",soptions); + if(celm) { + celm = $(celm).addClass("customelement"); + $(thd).find(">span").append(celm); + } else { + throw "e2"; + } + } else { + throw "e1"; + } + } catch (e) { + if (e === "e1") { $.jgrid.info_dialog($.jgrid.errors.errcap,"function 'custom_element' "+$.jgrid.edit.msg.nodefined,$.jgrid.edit.bClose);} + if (e === "e2") { $.jgrid.info_dialog($.jgrid.errors.errcap,"function 'custom_element' "+$.jgrid.edit.msg.novalue,$.jgrid.edit.bClose);} + else { $.jgrid.info_dialog($.jgrid.errors.errcap,typeof e==="string"?e:e.message,$.jgrid.edit.bClose); } + } + break; } } $(th).append(thd); $(tr).append(th); + if(!p.searchOperators) { + $("td:eq(0)",stbl).hide(); + } }); $("table thead",$t.grid.hDiv).append(tr); + if(p.searchOperators) { + $(".soptclass").click(function(e){ + var offset = $(this).offset(), + left = ( offset.left ), + top = ( offset.top); + buildRuleMenu(this, left, top ); + e.stopPropagation(); + }); + $("body").on('click', function(e){ + if(e.target.className !== "soptclass") { + $("#sopt_menu").hide(); + } + }); + } this.ftoolbar = true; this.triggerToolbar = triggerToolbar; this.clearToolbar = clearToolbar; this.toggleToolbar = toggleToolbar; }); }, - + destroyFilterToolbar: function () { + return this.each(function () { + if (!this.ftoolbar) { + return; + } + this.triggerToolbar = null; + this.clearToolbar = null; + this.toggleToolbar = null; + this.ftoolbar = false; + $(this.grid.hDiv).find("table thead tr.ui-search-toolbar").remove(); + }); + }, destroyGroupHeader : function(nullHeader) { - if(typeof(nullHeader) == 'undefined') { + if(nullHeader === undefined) { nullHeader = true; } return this.each(function() @@ -4065,7 +4438,6 @@ } }); }, - setGroupHeaders : function ( o ) { o = $.extend({ useColSpanStyle : false, @@ -4096,8 +4468,8 @@ } var $firstRow, inColumnHeader = function (text, columnHeaders) { - var i = 0, length = columnHeaders.length; - for (; i < length; i++) { + var length = columnHeaders.length, i; + for (i = 0; i < length; i++) { if (columnHeaders[i].startColumnName === text) { return i; } @@ -4236,7 +4608,7 @@ top = top + $($t.grid.topDiv).outerHeight(); } if($t.p.toolbar[0] === true) { - if($t.p.toolbar[1] != "bottom") { + if($t.p.toolbar[1] !== "bottom") { top = top + $($t.grid.uDiv).outerHeight(); } } @@ -4249,9 +4621,14 @@ $("tr.jqg-first-row-header, tr.jqg-third-row-header", htbl).each(function(){ $("th:gt("+maxfrozen+")",this).remove(); }); - var swapfroz = -1, fdel = -1; + var swapfroz = -1, fdel = -1, cs, rs; $("tr.jqg-second-row-header th", htbl).each(function(){ - var cs= parseInt($(this).attr("colspan"),10); + cs= parseInt($(this).attr("colspan"),10); + rs= parseInt($(this).attr("rowspan"),10); + if(rs) { + swapfroz++; + fdel++; + } if(cs) { swapfroz = swapfroz+cs; fdel++; @@ -4284,7 +4661,7 @@ $("tr:first td:eq("+index+")",btd).width( w ); }); // sorting stuff - $($t).bind('jqGridOnSortCol.setFrozenColumns', function (index, idxcol) { + $($t).bind('jqGridOnSortCol.setFrozenColumns', function (e, index, idxcol) { var previousSelectedTh = $("tr.ui-jqgrid-labels:last th:eq("+$t.p.lastsort+")",$t.grid.fhDiv), newSelectedTh = $("tr.ui-jqgrid-labels:last th:eq("+idxcol+")",$t.grid.fhDiv); @@ -4293,7 +4670,7 @@ $("span.ui-icon-"+$t.p.sortorder,newSelectedTh).removeClass('ui-state-disabled'); $(newSelectedTh).attr("aria-selected","true"); if(!$t.p.viewsortcols[0]) { - if($t.p.lastsort != idxcol) { + if($t.p.lastsort !== idxcol) { $("span.s-ico",previousSelectedTh).hide(); $("span.s-ico",newSelectedTh).show(); } @@ -4303,15 +4680,15 @@ // data stuff //TODO support for setRowData $("#gview_"+$.jgrid.jqID($t.p.id)).append($t.grid.fbDiv); - jQuery($t.grid.bDiv).scroll(function () { - jQuery($t.grid.fbDiv).scrollTop(jQuery(this).scrollTop()); + $($t.grid.bDiv).scroll(function () { + $($t.grid.fbDiv).scrollTop($(this).scrollTop()); }); if($t.p.hoverrows === true) { $("#"+$.jgrid.jqID($t.p.id)).unbind('mouseover').unbind('mouseout'); } $($t).bind('jqGridAfterGridComplete.setFrozenColumns', function () { $("#"+$.jgrid.jqID($t.p.id)+"_frozen").remove(); - jQuery($t.grid.fbDiv).height( jQuery($t.grid.bDiv).height()-16); + $($t.grid.fbDiv).height($($t.grid.bDiv).height()-16); var btbl = $("#"+$.jgrid.jqID($t.p.id)).clone(true); $("tr",btbl).each(function(){ $("td:gt("+maxfrozen+")",this).remove(); @@ -4361,7 +4738,8 @@ }); } }); -})(jQuery);/* +})(jQuery); +/* * jqModal - Minimalist Modaling with jQuery * (http://dev.iceburg.net/jquery/jqmodal/) * @@ -4407,7 +4785,6 @@ else o=F; h.o=(o)?o.addClass(c.overlayClass).prependTo('body'):F; - if(ie6){$('html,body').css({height:'100%',width:'100%'});if(o){o=o.css({position:'absolute'})[0];for(var y in {Top:1,Left:1})o.style.setExpression(y.toLowerCase(),"(_=(document.documentElement.scroll"+y+" || document.body.scroll"+y+"))+'px'");}} if(c.ajax) {var r=c.target||h.w,u=c.ajax;r=(typeof r == 'string')?$(r,h.w):$(r);u=(u.substr(0,1) == '@')?$(t).attr(u.substring(1)):u; r.html(c.ajaxText).load(u,function(){if(c.onLoad)c.onLoad.call(this,h);if(cc)h.w.jqmAddClose($(cc,h.w));e(h);});} @@ -4422,11 +4799,11 @@ if(h.c.onHide)h.c.onHide(h);else{h.w.hide();if(h.o)h.o.remove();} return F; }, params:{}}; -var s=0,H=$.jqm.hash,A=[],ie6=$.browser.msie&&($.browser.version == "6.0"),F=false, -e=function(h){var i=$('<iframe src="javascript:false;document.write(\'\');" class="jqm"></iframe>').css({opacity:0});if(ie6)if(h.o)h.o.html('<p style="width:100%;height:100%"/>').prepend(i);else if(!$('iframe.jqm',h.w)[0])h.w.prepend(i); f(h);}, +var s=0,H=$.jqm.hash,A=[],F=false, +e=function(h){f(h);}, f=function(h){try{$(':input:visible',h.w)[0].focus();}catch(_){}}, L=function(t){$(document)[t]("keypress",m)[t]("keydown",m)[t]("mousedown",m);}, -m=function(e){var h=H[A[A.length-1]],r=(!$(e.target).parents('.jqmID'+h.s)[0]);if(r)f(h);return !r;}, +m=function(e){var h=H[A[A.length-1]],r=(!$(e.target).parents('.jqmID'+h.s)[0]);if(r){$('.jqmID'+h.s).each(function(){var $self=$(this),offset=$self.offset();if(offset.top<=e.pageY && e.pageY<=offset.top+$self.height() && offset.left<=e.pageX && e.pageX<=offset.left+$self.width()){r=false;return false;}});f(h);}return !r;}, hs=function(w,t,c){return w.each(function(){var s=this._jqm;$(t).each(function() { if(!this[c]){this[c]=[];$(this).click(function(){for(var i in {jqmShow:1,jqmHide:1})for(var s in this[i])if(H[this[i][s]])H[this[i][s]].w[i](this);return F;});}this[c].push(s);});});}; })(jQuery);/* @@ -4851,8 +5228,10 @@ * http://www.gnu.org/licenses/gpl-2.0.html * **/ +/*jshint eqeqeq:false */ +/*global jQuery */ -;(function($) { +(function($) { "use strict"; $.fmatter = {}; //opts can be id:row id for the row, rowdata:the data for the row, colmodel:the column model for this column @@ -4870,19 +5249,14 @@ isNumber : function(o) { return typeof o === 'number' && isFinite(o); }, - isNull : function(o) { - return o === null; - }, - isUndefined : function(o) { - return typeof o === 'undefined'; - }, isValue : function (o) { return (this.isObject(o) || this.isString(o) || this.isNumber(o) || this.isBoolean(o)); }, isEmpty : function(o) { if(!this.isString(o) && this.isValue(o)) { return false; - }else if (!this.isValue(o)){ + } + if (!this.isValue(o)){ return true; } o = $.trim(o).replace(/\ \;/ig,'').replace(/\ \;/ig,''); @@ -4907,14 +5281,14 @@ } if($.fmatter.isNumber(nData)) { var bNegative = (nData < 0); - var sOutput = nData + ""; - var sDecimalSeparator = (opts.decimalSeparator) ? opts.decimalSeparator : "."; + var sOutput = String(nData); + var sDecimalSeparator = opts.decimalSeparator || "."; var nDotIndex; if($.fmatter.isNumber(opts.decimalPlaces)) { // Round to the correct decimal place var nDecimalPlaces = opts.decimalPlaces; var nDecimal = Math.pow(10, nDecimalPlaces); - sOutput = Math.round(nData*nDecimal)/nDecimal + ""; + sOutput = String(Math.round(nData*nDecimal)/nDecimal); nDotIndex = sOutput.lastIndexOf("."); if(nDecimalPlaces > 0) { // Add the decimal separator @@ -4937,8 +5311,8 @@ nDotIndex = sOutput.lastIndexOf(sDecimalSeparator); nDotIndex = (nDotIndex > -1) ? nDotIndex : sOutput.length; var sNewOutput = sOutput.substring(nDotIndex); - var nCount = -1; - for (var i=nDotIndex; i>0; i--) { + var nCount = -1, i; + for (i=nDotIndex; i>0; i--) { nCount++; if ((nCount%3 === 0) && (i !== nDotIndex) && (!bNegative || (i > 1))) { sNewOutput = sThousandsSeparator + sNewOutput; @@ -4953,196 +5327,59 @@ sOutput = (opts.suffix) ? sOutput + opts.suffix : sOutput; return sOutput; - } else { - return nData; } - }, - // Tony Tomov - // PHP implementation. Sorry not all options are supported. - // Feel free to add them if you want - DateFormat : function (format, date, newformat, opts) { - var token = /\\.|[dDjlNSwzWFmMntLoYyaABgGhHisueIOPTZcrU]/g, - timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g, - timezoneClip = /[^-+\dA-Z]/g, - msDateRegExp = new RegExp("^\/Date\\((([-+])?[0-9]+)(([-+])([0-9]{2})([0-9]{2}))?\\)\/$"), - msMatch = ((typeof date === 'string') ? date.match(msDateRegExp): null), - pad = function (value, length) { - value = String(value); - length = parseInt(length,10) || 2; - while (value.length < length) { value = '0' + value; } - return value; - }, - ts = {m : 1, d : 1, y : 1970, h : 0, i : 0, s : 0, u:0}, - timestamp=0, dM, k,hl, - dateFormat=["i18n"]; - // Internationalization strings - dateFormat.i18n = { - dayNames: opts.dayNames, - monthNames: opts.monthNames - }; - if( format in opts.masks ) { format = opts.masks[format]; } - if( !isNaN( date - 0 ) && String(format).toLowerCase() == "u") { - //Unix timestamp - timestamp = new Date( parseFloat(date)*1000 ); - } else if(date.constructor === Date) { - timestamp = date; - // Microsoft date format support - } else if( msMatch !== null ) { - timestamp = new Date(parseInt(msMatch[1], 10)); - if (msMatch[3]) { - var offset = Number(msMatch[5]) * 60 + Number(msMatch[6]); - offset *= ((msMatch[4] == '-') ? 1 : -1); - offset -= timestamp.getTimezoneOffset(); - timestamp.setTime(Number(Number(timestamp) + (offset * 60 * 1000))); - } - } else { - date = String(date).split(/[\\\/:_;.,\t\T\s-]/); - format = format.split(/[\\\/:_;.,\t\T\s-]/); - // parsing for month names - for(k=0,hl=format.length;k<hl;k++){ - if(format[k] == 'M') { - dM = $.inArray(date[k],dateFormat.i18n.monthNames); - if(dM !== -1 && dM < 12){date[k] = dM+1;} - } - if(format[k] == 'F') { - dM = $.inArray(date[k],dateFormat.i18n.monthNames); - if(dM !== -1 && dM > 11){date[k] = dM+1-12;} - } - if(date[k]) { - ts[format[k].toLowerCase()] = parseInt(date[k],10); - } - } - if(ts.f) {ts.m = ts.f;} - if( ts.m === 0 && ts.y === 0 && ts.d === 0) { - return " " ; - } - ts.m = parseInt(ts.m,10)-1; - var ty = ts.y; - if (ty >= 70 && ty <= 99) {ts.y = 1900+ts.y;} - else if (ty >=0 && ty <=69) {ts.y= 2000+ts.y;} - timestamp = new Date(ts.y, ts.m, ts.d, ts.h, ts.i, ts.s, ts.u); - } - - if( newformat in opts.masks ) { - newformat = opts.masks[newformat]; - } else if ( !newformat ) { - newformat = 'Y-m-d'; - } - var - G = timestamp.getHours(), - i = timestamp.getMinutes(), - j = timestamp.getDate(), - n = timestamp.getMonth() + 1, - o = timestamp.getTimezoneOffset(), - s = timestamp.getSeconds(), - u = timestamp.getMilliseconds(), - w = timestamp.getDay(), - Y = timestamp.getFullYear(), - N = (w + 6) % 7 + 1, - z = (new Date(Y, n - 1, j) - new Date(Y, 0, 1)) / 86400000, - flags = { - // Day - d: pad(j), - D: dateFormat.i18n.dayNames[w], - j: j, - l: dateFormat.i18n.dayNames[w + 7], - N: N, - S: opts.S(j), - //j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th', - w: w, - z: z, - // Week - W: N < 5 ? Math.floor((z + N - 1) / 7) + 1 : Math.floor((z + N - 1) / 7) || ((new Date(Y - 1, 0, 1).getDay() + 6) % 7 < 4 ? 53 : 52), - // Month - F: dateFormat.i18n.monthNames[n - 1 + 12], - m: pad(n), - M: dateFormat.i18n.monthNames[n - 1], - n: n, - t: '?', - // Year - L: '?', - o: '?', - Y: Y, - y: String(Y).substring(2), - // Time - a: G < 12 ? opts.AmPm[0] : opts.AmPm[1], - A: G < 12 ? opts.AmPm[2] : opts.AmPm[3], - B: '?', - g: G % 12 || 12, - G: G, - h: pad(G % 12 || 12), - H: pad(G), - i: pad(i), - s: pad(s), - u: u, - // Timezone - e: '?', - I: '?', - O: (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4), - P: '?', - T: (String(timestamp).match(timezone) || [""]).pop().replace(timezoneClip, ""), - Z: '?', - // Full Date/Time - c: '?', - r: '?', - U: Math.floor(timestamp / 1000) - }; - return newformat.replace(token, function ($0) { - return $0 in flags ? flags[$0] : $0.substring(1); - }); + return nData; } }; $.fn.fmatter.defaultFormat = function(cellval, opts) { - return ($.fmatter.isValue(cellval) && cellval!=="" ) ? cellval : opts.defaultValue ? opts.defaultValue : " "; + return ($.fmatter.isValue(cellval) && cellval!=="" ) ? cellval : opts.defaultValue || " "; }; $.fn.fmatter.email = function(cellval, opts) { if(!$.fmatter.isEmpty(cellval)) { return "<a href=\"mailto:" + cellval + "\">" + cellval + "</a>"; - }else { - return $.fn.fmatter.defaultFormat(cellval,opts ); } + return $.fn.fmatter.defaultFormat(cellval,opts ); }; $.fn.fmatter.checkbox =function(cval, opts) { var op = $.extend({},opts.checkbox), ds; - if(opts.colModel !== undefined && !$.fmatter.isUndefined(opts.colModel.formatoptions)) { + if(opts.colModel !== undefined && opts.colModel.formatoptions !== undefined) { op = $.extend({},op,opts.colModel.formatoptions); } if(op.disabled===true) {ds = "disabled=\"disabled\"";} else {ds="";} - if($.fmatter.isEmpty(cval) || $.fmatter.isUndefined(cval) ) {cval = $.fn.fmatter.defaultFormat(cval,op);} - cval=cval+"";cval=cval.toLowerCase(); - var bchk = cval.search(/(false|0|no|off)/i)<0 ? " checked='checked' " : ""; + if($.fmatter.isEmpty(cval) || cval === undefined ) {cval = $.fn.fmatter.defaultFormat(cval,op);} + cval=String(cval); + cval=cval.toLowerCase(); + var bchk = cval.search(/(false|f|0|no|n|off|undefined)/i)<0 ? " checked='checked' " : ""; return "<input type=\"checkbox\" " + bchk + " value=\""+ cval+"\" offval=\"no\" "+ds+ "/>"; }; $.fn.fmatter.link = function(cellval, opts) { var op = {target:opts.target}; var target = ""; - if(opts.colModel !== undefined && !$.fmatter.isUndefined(opts.colModel.formatoptions)) { + if(opts.colModel !== undefined && opts.colModel.formatoptions !== undefined) { op = $.extend({},op,opts.colModel.formatoptions); } if(op.target) {target = 'target=' + op.target;} if(!$.fmatter.isEmpty(cellval)) { return "<a "+target+" href=\"" + cellval + "\">" + cellval + "</a>"; - }else { - return $.fn.fmatter.defaultFormat(cellval,opts); } + return $.fn.fmatter.defaultFormat(cellval,opts); }; $.fn.fmatter.showlink = function(cellval, opts) { var op = {baseLinkUrl: opts.baseLinkUrl,showAction:opts.showAction, addParam: opts.addParam || "", target: opts.target, idName: opts.idName}, target = "", idUrl; - if(opts.colModel !== undefined && !$.fmatter.isUndefined(opts.colModel.formatoptions)) { + if(opts.colModel !== undefined && opts.colModel.formatoptions !== undefined) { op = $.extend({},op,opts.colModel.formatoptions); } if(op.target) {target = 'target=' + op.target;} idUrl = op.baseLinkUrl+op.showAction + '?'+ op.idName+'='+opts.rowId+op.addParam; if($.fmatter.isString(cellval) || $.fmatter.isNumber(cellval)) { //add this one even if its blank string return "<a "+target+" href=\"" + idUrl + "\">" + cellval + "</a>"; - }else { - return $.fn.fmatter.defaultFormat(cellval,opts); } + return $.fn.fmatter.defaultFormat(cellval,opts); }; $.fn.fmatter.integer = function(cellval, opts) { var op = $.extend({},opts.integer); - if(opts.colModel !== undefined && !$.fmatter.isUndefined(opts.colModel.formatoptions)) { + if(opts.colModel !== undefined && opts.colModel.formatoptions !== undefined) { op = $.extend({},op,opts.colModel.formatoptions); } if($.fmatter.isEmpty(cellval)) { @@ -5152,7 +5389,7 @@ }; $.fn.fmatter.number = function (cellval, opts) { var op = $.extend({},opts.number); - if(opts.colModel !== undefined && !$.fmatter.isUndefined(opts.colModel.formatoptions)) { + if(opts.colModel !== undefined && opts.colModel.formatoptions !== undefined) { op = $.extend({},op,opts.colModel.formatoptions); } if($.fmatter.isEmpty(cellval)) { @@ -5162,7 +5399,7 @@ }; $.fn.fmatter.currency = function (cellval, opts) { var op = $.extend({},opts.currency); - if(opts.colModel !== undefined && !$.fmatter.isUndefined(opts.colModel.formatoptions)) { + if(opts.colModel !== undefined && opts.colModel.formatoptions !== undefined) { op = $.extend({},op,opts.colModel.formatoptions); } if($.fmatter.isEmpty(cellval)) { @@ -5172,26 +5409,26 @@ }; $.fn.fmatter.date = function (cellval, opts, rwd, act) { var op = $.extend({},opts.date); - if(opts.colModel !== undefined && !$.fmatter.isUndefined(opts.colModel.formatoptions)) { + if(opts.colModel !== undefined && opts.colModel.formatoptions !== undefined) { op = $.extend({},op,opts.colModel.formatoptions); } - if(!op.reformatAfterEdit && act=='edit'){ + if(!op.reformatAfterEdit && act === 'edit'){ return $.fn.fmatter.defaultFormat(cellval, opts); - } else if(!$.fmatter.isEmpty(cellval)) { - return $.fmatter.util.DateFormat(op.srcformat,cellval,op.newformat,op); - } else { - return $.fn.fmatter.defaultFormat(cellval, opts); } + if(!$.fmatter.isEmpty(cellval)) { + return $.jgrid.parseDate(op.srcformat,cellval,op.newformat,op); + } + return $.fn.fmatter.defaultFormat(cellval, opts); }; $.fn.fmatter.select = function (cellval,opts) { // jqGrid specific - cellval = cellval + ""; + cellval = String(cellval); var oSelect = false, ret=[], sep, delim; - if(!$.fmatter.isUndefined(opts.colModel.formatoptions)){ + if(opts.colModel.formatoptions !== undefined){ oSelect= opts.colModel.formatoptions.value; sep = opts.colModel.formatoptions.separator === undefined ? ":" : opts.colModel.formatoptions.separator; delim = opts.colModel.formatoptions.delimiter === undefined ? ";" : opts.colModel.formatoptions.delimiter; - } else if(!$.fmatter.isUndefined(opts.colModel.editoptions)){ + } else if(opts.colModel.editoptions !== undefined){ oSelect= opts.colModel.editoptions.value; sep = opts.colModel.editoptions.separator === undefined ? ":" : opts.colModel.editoptions.separator; delim = opts.colModel.editoptions.delimiter === undefined ? ";" : opts.colModel.editoptions.delimiter; @@ -5202,8 +5439,8 @@ if(msl) {scell = cellval.split(",");scell = $.map(scell,function(n){return $.trim(n);});} if ($.fmatter.isString(oSelect)) { // mybe here we can use some caching with care ???? - var so = oSelect.split(delim), j=0; - for(var i=0; i<so.length;i++){ + var so = oSelect.split(delim), j=0, i; + for(i=0; i<so.length;i++){ sv = so[i].split(sep); if(sv.length > 2 ) { sv[1] = $.map(sv,function(n,i){if(i>0) {return n;}}).join(sep); @@ -5213,7 +5450,7 @@ ret[j] = sv[1]; j++; } - } else if($.trim(sv[0])==$.trim(cellval)) { + } else if($.trim(sv[0]) === $.trim(cellval)) { ret[0] = sv[1]; break; } @@ -5232,51 +5469,54 @@ cellval = ret.join(", "); return cellval === "" ? $.fn.fmatter.defaultFormat(cellval,opts) : cellval; }; - $.fn.fmatter.rowactions = function(rid,gid,act,pos) { - var op ={ - keys:false, - onEdit : null, - onSuccess: null, - afterSave:null, - onError: null, - afterRestore: null, - extraparam: {}, - url: null, - restoreAfterError: true, - mtype: "POST", - delOptions: {}, - editOptions : {} - }; - rid = $.jgrid.jqID( rid ); - gid = $.jgrid.jqID( gid ); - var cm = $('#'+gid)[0].p.colModel[pos]; - if(!$.fmatter.isUndefined(cm.formatoptions)) { + $.fn.fmatter.rowactions = function(act) { + var $tr = $(this).closest("tr.jqgrow"), + rid = $tr.attr("id"), + $id = $(this).closest("table.ui-jqgrid-btable").attr('id').replace(/_frozen([^_]*)$/,'$1'), + $grid = $("#"+$id), + $t = $grid[0], + p = $t.p, + cm = p.colModel[$.jgrid.getCellIndex(this)], + $actionsDiv = cm.frozen ? $("tr#"+rid+" td:eq("+$.jgrid.getCellIndex(this)+") > div",$grid) :$(this).parent(), + op = { + keys: false, + onEdit: null, + onSuccess: null, + afterSave: null, + onError: null, + afterRestore: null, + extraparam: {}, + url: null, + restoreAfterError: true, + mtype: "POST", + delOptions: {}, + editOptions: {} + }, + saverow = function(rowid, res) { + if($.isFunction(op.afterSave)) { op.afterSave.call($t, rowid, res); } + $actionsDiv.find("div.ui-inline-edit,div.ui-inline-del").show(); + $actionsDiv.find("div.ui-inline-save,div.ui-inline-cancel").hide(); + }, + restorerow = function(rowid) { + if($.isFunction(op.afterRestore)) { op.afterRestore.call($t, rowid); } + $actionsDiv.find("div.ui-inline-edit,div.ui-inline-del").show(); + $actionsDiv.find("div.ui-inline-save,div.ui-inline-cancel").hide(); + }; + + if (cm.formatoptions !== undefined) { op = $.extend(op,cm.formatoptions); } - if( !$.fmatter.isUndefined($('#'+gid)[0].p.editOptions) ) { - op.editOptions = $('#'+gid)[0].p.editOptions; + if (p.editOptions !== undefined) { + op.editOptions = p.editOptions; } - if( !$.fmatter.isUndefined($('#'+gid)[0].p.delOptions) ) { - op.delOptions = $('#'+gid)[0].p.delOptions; + if (p.delOptions !== undefined) { + op.delOptions = p.delOptions; } - var $t = $("#"+gid)[0]; - var saverow = function( rowid, res) { - if($.isFunction(op.afterSave)) { op.afterSave.call($t, rowid, res); } - $("tr#"+rid+" div.ui-inline-edit, "+"tr#"+rid+" div.ui-inline-del","#"+gid + ".ui-jqgrid-btable:first").show(); - $("tr#"+rid+" div.ui-inline-save, "+"tr#"+rid+" div.ui-inline-cancel","#"+gid+ ".ui-jqgrid-btable:first").hide(); - }, - restorerow = function( rowid) { - if($.isFunction(op.afterRestore) ) { op.afterRestore.call($t, rowid); } - $("tr#"+rid+" div.ui-inline-edit, "+"tr#"+rid+" div.ui-inline-del","#"+gid+ ".ui-jqgrid-btable:first").show(); - $("tr#"+rid+" div.ui-inline-save, "+"tr#"+rid+" div.ui-inline-cancel","#"+gid+ ".ui-jqgrid-btable:first").hide(); - }; - if( $("#"+rid,"#"+gid).hasClass("jqgrid-new-row") ){ - var opers = $t.p.prmNames, - oper = opers.oper; - op.extraparam[oper] = opers.addoper; + if ($tr.hasClass("jqgrid-new-row")){ + op.extraparam[p.prmNames.oper] = p.prmNames.addoper; } var actop = { - keys : op.keys, + keys: op.keys, oneditfunc: op.onEdit, successfunc: op.onSuccess, url: op.url, @@ -5290,55 +5530,55 @@ switch(act) { case 'edit': - $('#'+gid).jqGrid('editRow', rid, actop); - $("tr#"+rid+" div.ui-inline-edit, "+"tr#"+rid+" div.ui-inline-del","#"+gid+ ".ui-jqgrid-btable:first").hide(); - $("tr#"+rid+" div.ui-inline-save, "+"tr#"+rid+" div.ui-inline-cancel","#"+gid+ ".ui-jqgrid-btable:first").show(); - $($t).triggerHandler("jqGridAfterGridComplete"); + $grid.jqGrid('editRow', rid, actop); + $actionsDiv.find("div.ui-inline-edit,div.ui-inline-del").hide(); + $actionsDiv.find("div.ui-inline-save,div.ui-inline-cancel").show(); + $grid.triggerHandler("jqGridAfterGridComplete"); break; case 'save': - if ( $('#'+gid).jqGrid('saveRow', rid, actop) ) { - $("tr#"+rid+" div.ui-inline-edit, "+"tr#"+rid+" div.ui-inline-del","#"+gid+ ".ui-jqgrid-btable:first").show(); - $("tr#"+rid+" div.ui-inline-save, "+"tr#"+rid+" div.ui-inline-cancel","#"+gid+ ".ui-jqgrid-btable:first").hide(); - $($t).triggerHandler("jqGridAfterGridComplete"); + if ($grid.jqGrid('saveRow', rid, actop)) { + $actionsDiv.find("div.ui-inline-edit,div.ui-inline-del").show(); + $actionsDiv.find("div.ui-inline-save,div.ui-inline-cancel").hide(); + $grid.triggerHandler("jqGridAfterGridComplete"); } break; case 'cancel' : - $('#'+gid).jqGrid('restoreRow',rid, restorerow); - $("tr#"+rid+" div.ui-inline-edit, "+"tr#"+rid+" div.ui-inline-del","#"+gid+ ".ui-jqgrid-btable:first").show(); - $("tr#"+rid+" div.ui-inline-save, "+"tr#"+rid+" div.ui-inline-cancel","#"+gid+ ".ui-jqgrid-btable:first").hide(); - $($t).triggerHandler("jqGridAfterGridComplete"); + $grid.jqGrid('restoreRow', rid, restorerow); + $actionsDiv.find("div.ui-inline-edit,div.ui-inline-del").show(); + $actionsDiv.find("div.ui-inline-save,div.ui-inline-cancel").hide(); + $grid.triggerHandler("jqGridAfterGridComplete"); break; case 'del': - $('#'+gid).jqGrid('delGridRow',rid, op.delOptions); + $grid.jqGrid('delGridRow', rid, op.delOptions); break; case 'formedit': - $('#'+gid).jqGrid('setSelection',rid); - $('#'+gid).jqGrid('editGridRow',rid, op.editOptions); + $grid.jqGrid('setSelection', rid); + $grid.jqGrid('editGridRow', rid, op.editOptions); break; } }; $.fn.fmatter.actions = function(cellval,opts) { - var op ={keys:false, editbutton:true, delbutton:true, editformbutton: false}; - if(!$.fmatter.isUndefined(opts.colModel.formatoptions)) { + var op={keys:false, editbutton:true, delbutton:true, editformbutton: false}, + rowid=opts.rowId, str="",ocl; + if(opts.colModel.formatoptions !== undefined) { op = $.extend(op,opts.colModel.formatoptions); } - var rowid = opts.rowId, str="",ocl; - if(typeof(rowid) =='undefined' || $.fmatter.isEmpty(rowid)) {return "";} + if(rowid === undefined || $.fmatter.isEmpty(rowid)) {return "";} if(op.editformbutton){ - ocl = "onclick=jQuery.fn.fmatter.rowactions('"+rowid+"','"+opts.gid+"','formedit',"+opts.pos+"); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover'); "; - str =str+ "<div title='"+$.jgrid.nav.edittitle+"' style='float:left;cursor:pointer;' class='ui-pg-div ui-inline-edit' "+ocl+"><span class='ui-icon ui-icon-pencil'></span></div>"; + ocl = "id='jEditButton_"+rowid+"' onclick=jQuery.fn.fmatter.rowactions.call(this,'formedit'); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover'); "; + str += "<div title='"+$.jgrid.nav.edittitle+"' style='float:left;cursor:pointer;' class='ui-pg-div ui-inline-edit' "+ocl+"><span class='ui-icon ui-icon-pencil'></span></div>"; } else if(op.editbutton){ - ocl = "onclick=jQuery.fn.fmatter.rowactions('"+rowid+"','"+opts.gid+"','edit',"+opts.pos+"); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover') "; - str =str+ "<div title='"+$.jgrid.nav.edittitle+"' style='float:left;cursor:pointer;' class='ui-pg-div ui-inline-edit' "+ocl+"><span class='ui-icon ui-icon-pencil'></span></div>"; + ocl = "id='jEditButton_"+rowid+"' onclick=jQuery.fn.fmatter.rowactions.call(this,'edit'); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover') "; + str += "<div title='"+$.jgrid.nav.edittitle+"' style='float:left;cursor:pointer;' class='ui-pg-div ui-inline-edit' "+ocl+"><span class='ui-icon ui-icon-pencil'></span></div>"; } if(op.delbutton) { - ocl = "onclick=jQuery.fn.fmatter.rowactions('"+rowid+"','"+opts.gid+"','del',"+opts.pos+"); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover'); "; - str = str+"<div title='"+$.jgrid.nav.deltitle+"' style='float:left;margin-left:5px;' class='ui-pg-div ui-inline-del' "+ocl+"><span class='ui-icon ui-icon-trash'></span></div>"; + ocl = "id='jDeleteButton_"+rowid+"' onclick=jQuery.fn.fmatter.rowactions.call(this,'del'); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover'); "; + str += "<div title='"+$.jgrid.nav.deltitle+"' style='float:left;margin-left:5px;' class='ui-pg-div ui-inline-del' "+ocl+"><span class='ui-icon ui-icon-trash'></span></div>"; } - ocl = "onclick=jQuery.fn.fmatter.rowactions('"+rowid+"','"+opts.gid+"','save',"+opts.pos+"); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover'); "; - str = str+"<div title='"+$.jgrid.edit.bSubmit+"' style='float:left;display:none' class='ui-pg-div ui-inline-save' "+ocl+"><span class='ui-icon ui-icon-disk'></span></div>"; - ocl = "onclick=jQuery.fn.fmatter.rowactions('"+rowid+"','"+opts.gid+"','cancel',"+opts.pos+"); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover'); "; - str = str+"<div title='"+$.jgrid.edit.bCancel+"' style='float:left;display:none;margin-left:5px;' class='ui-pg-div ui-inline-cancel' "+ocl+"><span class='ui-icon ui-icon-cancel'></span></div>"; + ocl = "id='jSaveButton_"+rowid+"' onclick=jQuery.fn.fmatter.rowactions.call(this,'save'); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover'); "; + str += "<div title='"+$.jgrid.edit.bSubmit+"' style='float:left;display:none' class='ui-pg-div ui-inline-save' "+ocl+"><span class='ui-icon ui-icon-disk'></span></div>"; + ocl = "id='jCancelButton_"+rowid+"' onclick=jQuery.fn.fmatter.rowactions.call(this,'cancel'); onmouseover=jQuery(this).addClass('ui-state-hover'); onmouseout=jQuery(this).removeClass('ui-state-hover'); "; + str += "<div title='"+$.jgrid.edit.bCancel+"' style='float:left;display:none;margin-left:5px;' class='ui-pg-div ui-inline-cancel' "+ocl+"><span class='ui-icon ui-icon-cancel'></span></div>"; return "<div style='margin-left:8px;'>" + str + "</div>"; }; $.unformat = function (cellval,options,pos,cnt) { @@ -5347,9 +5587,9 @@ op =options.colModel.formatoptions || {}, sep, re = /([\.\*\_\'\(\)\{\}\+\?\\])/g, unformatFunc = options.colModel.unformat||($.fn.fmatter[formatType] && $.fn.fmatter[formatType].unformat); - if(typeof unformatFunc !== 'undefined' && $.isFunction(unformatFunc) ) { + if(unformatFunc !== undefined && $.isFunction(unformatFunc) ) { ret = unformatFunc.call(this, $(cellval).text(), options, cellval); - } else if(!$.fmatter.isUndefined(formatType) && $.fmatter.isString(formatType) ) { + } else if(formatType !== undefined && $.fmatter.isString(formatType) ) { var opts = $.jgrid.formatter || {}, stripTag; switch(formatType) { case 'integer' : @@ -5398,7 +5638,7 @@ var ret = []; var cell = $(cellval).text(); if(cnt===true) {return cell;} - var op = $.extend({}, !$.fmatter.isUndefined(options.colModel.formatoptions) ? options.colModel.formatoptions: options.colModel.editoptions), + var op = $.extend({}, options.colModel.formatoptions !== undefined ? options.colModel.formatoptions: options.colModel.editoptions), sep = op.separator === undefined ? ":" : op.separator, delim = op.delimiter === undefined ? ";" : op.delimiter; @@ -5408,8 +5648,8 @@ scell = [], sv; if(msl) {scell = cell.split(",");scell = $.map(scell,function(n){return $.trim(n);});} if ($.fmatter.isString(oSelect)) { - var so = oSelect.split(delim), j=0; - for(var i=0; i<so.length;i++){ + var so = oSelect.split(delim), j=0, i; + for(i=0; i<so.length;i++){ sv = so[i].split(sep); if(sv.length > 2 ) { sv[1] = $.map(sv,function(n,i){if(i>0) {return n;}}).join(sep); @@ -5419,7 +5659,7 @@ ret[j] = sv[0]; j++; } - } else if($.trim(sv[1])==$.trim(cell)) { + } else if($.trim(sv[1]) === $.trim(cell)) { ret[0] = sv[0]; break; } @@ -5429,32 +5669,32 @@ ret = $.map(scell, function(n){ var rv; $.each(oSelect, function(i,val){ - if (val == n) { + if (val === n) { rv = i; return false; } }); - if( typeof(rv) != 'undefined' ) {return rv;} + if( rv !== undefined ) {return rv;} }); } return ret.join(", "); - } else { - return cell || ""; } + return cell || ""; }; $.unformat.date = function (cellval, opts) { var op = $.jgrid.formatter.date || {}; - if(!$.fmatter.isUndefined(opts.formatoptions)) { + if(opts.formatoptions !== undefined) { op = $.extend({},op,opts.formatoptions); } if(!$.fmatter.isEmpty(cellval)) { - return $.fmatter.util.DateFormat(op.newformat,cellval,op.srcformat,op); - } else { - return $.fn.fmatter.defaultFormat(cellval, opts); + return $.jgrid.parseDate(op.newformat,cellval,op.srcformat,op); } + return $.fn.fmatter.defaultFormat(cellval, opts); }; })(jQuery); -;(function($){ +/*jshint eqeqeq:false */ +/*global jQuery */ +(function($){ /* * jqGrid common function * Tony Tomov tony@trirand.com @@ -5463,8 +5703,7 @@ * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl-2.0.html */ -/*global jQuery, $ */ - +"use strict"; $.extend($.jgrid,{ // Modal functions showModal : function(h) { @@ -5477,8 +5716,8 @@ hideModal : function (selector,o) { o = $.extend({jqm : true, gb :''}, o || {}); if(o.onClose) { - var oncret = o.onClose(selector); - if (typeof oncret == 'boolean' && !oncret ) { return; } + var oncret = o.gb && typeof o.gb === "string" && o.gb.substr(0,6) === "#gbox_" ? o.onClose.call($("#" + o.gb.substr(6))[0], selector) : o.onClose(selector); + if (typeof oncret === 'boolean' && !oncret ) { return; } } if ($.fn.jqm && o.jqm === true) { $(selector).attr("aria-hidden","true").jqmHide(); @@ -5502,10 +5741,10 @@ return [curleft,curtop]; }, createModal : function(aIDs, content, p, insertSelector, posSelector, appendsel, css) { - p = $.extend(true, $.jgrid.jqModal || {}, p); + p = $.extend(true, {}, $.jgrid.jqModal || {}, p); var mw = document.createElement('div'), rtlsup, self = this; css = $.extend({}, css || {}); - rtlsup = $(p.gbox).attr("dir") == "rtl" ? true : false; + rtlsup = $(p.gbox).attr("dir") === "rtl" ? true : false; mw.className= "ui-widget ui-widget-content ui-corner-all ui-jqdialog"; mw.id = aIDs.themodal; var mh = document.createElement('div'); @@ -5514,7 +5753,7 @@ $(mh).append("<span class='ui-jqdialog-title'>"+p.caption+"</span>"); var ahr= $("<a href='javascript:void(0)' class='ui-jqdialog-titlebar-close ui-corner-all'></a>") .hover(function(){ahr.addClass('ui-state-hover');}, - function(){ahr.removeClass('ui-state-hover');}) + function(){ahr.removeClass('ui-state-hover');}) .append("<span class='ui-icon ui-icon-closethick'></span>"); $(mh).append(ahr); if(rtlsup) { @@ -5532,11 +5771,11 @@ mw.appendChild(mc); $(mw).prepend(mh); if(appendsel===true) { $('body').append(mw); } //append as first child in body -for alert dialog - else if (typeof appendsel == "string") + else if (typeof appendsel === "string") { $(appendsel).append(mw); - else {$(mw).insertBefore(insertSelector);} + } else {$(mw).insertBefore(insertSelector);} $(mw).css(css); - if(typeof p.jqModal === 'undefined') {p.jqModal = true;} // internal use + if(p.jqModal === undefined) {p.jqModal = true;} // internal use var coord = {}; if ( $.fn.jqm && p.jqModal === true) { if(p.left ===0 && p.top===0 && p.overlay) { @@ -5581,8 +5820,8 @@ overflow: 'hidden' },coord)) .attr({tabIndex: "-1","role":"dialog","aria-labelledby":aIDs.modalhead,"aria-hidden":"true"}); - if(typeof p.drag == 'undefined') { p.drag=true;} - if(typeof p.resize == 'undefined') {p.resize=true;} + if(p.drag === undefined) { p.drag=true;} + if(p.resize === undefined) {p.resize=true;} if (p.drag) { $(mh).css('cursor','move'); if($.fn.jqDrag) { @@ -5595,7 +5834,7 @@ } if(p.resize) { if($.fn.jqResize) { - $(mw).append("<div class='jqResize ui-resizable-handle ui-resizable-se ui-icon ui-icon-gripsmall-diagonal-se ui-icon-grip-diagonal-se'></div>"); + $(mw).append("<div class='jqResize ui-resizable-handle ui-resizable-se ui-icon ui-icon-gripsmall-diagonal-se'></div>"); $("#"+$.jgrid.jqID(aIDs.themodal)).jqResize(".jqResize",aIDs.scrollelm ? "#"+$.jgrid.jqID(aIDs.scrollelm) : false); } else { try { @@ -5607,7 +5846,7 @@ $(mw).keydown( function( e ) { if( e.which == 27 ) { var cone = $("#"+$.jgrid.jqID(aIDs.themodal)).data("onClose") || p.onClose; - self.hideModal(this,{gb:p.gbox,jqm:p.jqModal,onClose: cone}); + self.hideModal("#"+$.jgrid.jqID(aIDs.themodal),{gb:p.gbox,jqm:p.jqModal,onClose: cone}); } }); } @@ -5636,7 +5875,6 @@ try{$(':input:visible',selector)[0].focus();}catch(_){} } }, - info_dialog : function(caption, content,c_b, modalopt) { var mopt = { width:290, @@ -5644,7 +5882,6 @@ dataheight: 'auto', drag: true, resize: false, - caption:"<b>"+caption+"</b>", left:250, top:170, zIndex : 1000, @@ -5657,14 +5894,14 @@ // {text:'textbutt', id:"buttid", onClick : function(){...}} // if the id is not provided we set it like info_button_+ the index in the array - i.e info_button_0,info_button_1... }; - $.extend(mopt,modalopt || {}); + $.extend(true, mopt, $.jgrid.jqModal || {}, {caption:"<b>"+caption+"</b>"}, modalopt || {}); var jm = mopt.jqModal, self = this; if($.fn.jqm && !jm) { jm = false; } // in case there is no jqModal - var buttstr =""; + var buttstr ="", i; if(mopt.buttons.length > 0) { - for(var i=0;i<mopt.buttons.length;i++) { - if(typeof mopt.buttons[i].id == "undefined") { mopt.buttons[i].id = "info_button_"+i; } + for(i=0;i<mopt.buttons.length;i++) { + if(mopt.buttons[i].id === undefined) { mopt.buttons[i].id = "info_button_"+i; } buttstr += "<a href='javascript:void(0)' id='"+mopt.buttons[i].id+"' class='fm-button ui-state-default ui-corner-all'>"+mopt.buttons[i].text+"</a>"; } } @@ -5677,7 +5914,7 @@ cnt += "</div>"; try { - if($("#info_dialog").attr("aria-hidden") == "false") { + if($("#info_dialog").attr("aria-hidden") === "false") { $.jgrid.hideModal("#info_dialog",{jqm:jm}); } $("#info_dialog").remove(); @@ -5698,7 +5935,11 @@ }); } $("#closedialog", "#info_id").click(function(){ - self.hideModal("#info_dialog",{jqm:jm}); + self.hideModal("#info_dialog",{ + jqm:jm, + onClose: $("#info_dialog").data("onClose") || mopt.onClose, + gb: $("#info_dialog").data("gbox") || mopt.gbox + }); return false; }); $(".fm-button","#info_dialog").hover( @@ -5717,27 +5958,27 @@ if($.isFunction(mopt.afterOpen) ) { mopt.afterOpen(); } try{ $("#info_dialog").focus();} catch (m){} }, + bindEv: function (el, opt) { + var $t = this; + if($.isFunction(opt.dataInit)) { + opt.dataInit.call($t,el); + } + if(opt.dataEvents) { + $.each(opt.dataEvents, function() { + if (this.data !== undefined) { + $(el).bind(this.type, this.data, this.fn); + } else { + $(el).bind(this.type, this.fn); + } + }); + } + }, // Form Functions createEl : function(eltype,options,vl,autowidth, ajaxso) { var elem = "", $t = this; - function bindEv (el, opt) { - if($.isFunction(opt.dataInit)) { - opt.dataInit.call($t,el); - } - if(opt.dataEvents) { - $.each(opt.dataEvents, function() { - if (this.data !== undefined) { - $(el).bind(this.type, this.data, this.fn); - } else { - $(el).bind(this.type, this.fn); - } - }); - } - return opt; - } function setAttributes(elm, atr, exl ) { - var exclude = ['dataInit','dataEvents','dataUrl', 'buildSelect','sopt', 'searchhidden', 'defaultValue', 'attr']; - if(typeof(exl) != "undefined" && $.isArray(exl)) { + var exclude = ['dataInit','dataEvents','dataUrl', 'buildSelect','sopt', 'searchhidden', 'defaultValue', 'attr', 'custom_element', 'custom_value']; + if(exl !== undefined && $.isArray(exl)) { $.merge(exclude, exl); } $.each(atr, function(key, value){ @@ -5757,10 +5998,9 @@ if(!options.cols) { $(elem).css({width:"98%"});} } else if (!options.cols) { options.cols = 20; } if(!options.rows) { options.rows = 2; } - if(vl==' ' || vl==' ' || (vl.length==1 && vl.charCodeAt(0)==160)) {vl="";} + if(vl===' ' || vl===' ' || (vl.length===1 && vl.charCodeAt(0)===160)) {vl="";} elem.value = vl; setAttributes(elem, options); - options = bindEv(elem,options); $(elem).attr({"role":"textbox","multiline":"true"}); break; case "checkbox" : //what code for simple checkbox @@ -5768,7 +6008,7 @@ elem.type = "checkbox"; if( !options.value ) { var vl1 = vl.toLowerCase(); - if(vl1.search(/(false|0|no|off|undefined)/i)<0 && vl1!=="") { + if(vl1.search(/(false|f|0|no|n|off|undefined)/i)<0 && vl1!=="") { elem.checked=true; elem.defaultChecked=true; elem.value = vl; @@ -5786,7 +6026,6 @@ $(elem).attr("offval",cbval[1]); } setAttributes(elem, options, ['value']); - options = bindEv(elem,options); $(elem).attr("role","checkbox"); break; case "select" : @@ -5798,27 +6037,33 @@ elem.multiple="multiple"; $(elem).attr("aria-multiselectable","true"); } else { msl = false; } - if(typeof(options.dataUrl) != "undefined") { + if(options.dataUrl !== undefined) { + var rowid = options.name ? String(options.id).substring(0, String(options.id).length - String(options.name).length - 1) : String(options.id), + postData = options.postData || ajaxso.postData; + + if ($t.p && $t.p.idPrefix) { + rowid = $.jgrid.stripPref($t.p.idPrefix, rowid); + } else { + postData = undefined; // don't use postData for searching from jqFilter. One can implement the feature in the future if required. + } $.ajax($.extend({ url: options.dataUrl, type : "GET", dataType: "html", + data: $.isFunction(postData) ? postData.call($t, rowid, vl, String(options.name)) : postData, context: {elem:elem, options:options, vl:vl}, success: function(data){ - var a, ovm = [], elem = this.elem, vl = this.vl, + var ovm = [], elem = this.elem, vl = this.vl, options = $.extend({},this.options), - msl = options.multiple===true; - if($.isFunction(options.buildSelect)) { - var b = options.buildSelect.call($t,data); - a = $(b).html(); - } else { - a = $(data).html(); + msl = options.multiple===true, + a = $.isFunction(options.buildSelect) ? options.buildSelect.call($t,data) : data; + if(typeof a === 'string') { + a = $( $.trim( a ) ).html(); } if(a) { $(elem).append(a); setAttributes(elem, options); - options = bindEv(elem,options); - if(typeof options.size === 'undefined') { options.size = msl ? 3 : 1;} + if(options.size === undefined) { options.size = msl ? 3 : 1;} if(msl) { ovm = vl.split(","); ovm = $.map(ovm,function(n){return $.trim(n);}); @@ -5842,7 +6087,7 @@ },ajaxso || {})); } else if(options.value) { var i; - if(typeof options.size === 'undefined') { + if(options.size === undefined) { options.size = msl ? 3 : 1; } if(msl) { @@ -5864,38 +6109,36 @@ ov.setAttribute("role","option"); ov.value = sv[0]; ov.innerHTML = sv[1]; elem.appendChild(ov); - if (!msl && ($.trim(sv[0]) == $.trim(vl) || $.trim(sv[1]) == $.trim(vl))) { ov.selected ="selected"; } + if (!msl && ($.trim(sv[0]) === $.trim(vl) || $.trim(sv[1]) === $.trim(vl))) { ov.selected ="selected"; } if (msl && ($.inArray($.trim(sv[1]), ovm)>-1 || $.inArray($.trim(sv[0]), ovm)>-1)) {ov.selected ="selected";} } } else if (typeof options.value === 'object') { - var oSv = options.value; - for ( var key in oSv) { + var oSv = options.value, key; + for (key in oSv) { if (oSv.hasOwnProperty(key ) ){ ov = document.createElement("option"); ov.setAttribute("role","option"); ov.value = key; ov.innerHTML = oSv[key]; elem.appendChild(ov); - if (!msl && ( $.trim(key) == $.trim(vl) || $.trim(oSv[key]) == $.trim(vl)) ) { ov.selected ="selected"; } + if (!msl && ( $.trim(key) === $.trim(vl) || $.trim(oSv[key]) === $.trim(vl)) ) { ov.selected ="selected"; } if (msl && ($.inArray($.trim(oSv[key]),ovm)>-1 || $.inArray($.trim(key),ovm)>-1)) { ov.selected ="selected"; } } } } setAttributes(elem, options, ['value']); - options = bindEv(elem,options); } break; case "text" : case "password" : case "button" : var role; - if(eltype=="button") { role = "button"; } + if(eltype==="button") { role = "button"; } else { role = "textbox"; } elem = document.createElement("input"); elem.type = eltype; elem.value = vl; setAttributes(elem, options); - options = bindEv(elem,options); - if(eltype != "button"){ + if(eltype !== "button"){ if(autowidth) { if(!options.size) { $(elem).css({width:"98%"}); } } else if (!options.size) { options.size = 20; } @@ -5907,7 +6150,6 @@ elem = document.createElement("input"); elem.type = eltype; setAttributes(elem, options); - options = bindEv(elem,options); break; case "custom" : elem = document.createElement("span"); @@ -5924,9 +6166,9 @@ throw "e1"; } } catch (e) { - if (e=="e1") { $.jgrid.info_dialog($.jgrid.errors.errcap,"function 'custom_element' "+$.jgrid.edit.msg.nodefined, $.jgrid.edit.bClose);} - if (e=="e2") { $.jgrid.info_dialog($.jgrid.errors.errcap,"function 'custom_element' "+$.jgrid.edit.msg.novalue,$.jgrid.edit.bClose);} - else { $.jgrid.info_dialog($.jgrid.errors.errcap,typeof(e)==="string"?e:e.message,$.jgrid.edit.bClose); } + if (e==="e1") { $.jgrid.info_dialog($.jgrid.errors.errcap,"function 'custom_element' "+$.jgrid.edit.msg.nodefined, $.jgrid.edit.bClose);} + if (e==="e2") { $.jgrid.info_dialog($.jgrid.errors.errcap,"function 'custom_element' "+$.jgrid.edit.msg.novalue,$.jgrid.edit.bClose);} + else { $.jgrid.info_dialog($.jgrid.errors.errcap,typeof e==="string"?e:e.message,$.jgrid.edit.bClose); } } break; } @@ -5939,86 +6181,73 @@ // EXCEPT for centurial years which are not also divisible by 400. return (((year % 4 === 0) && ( year % 100 !== 0 || (year % 400 === 0))) ? 29 : 28 ); }, - DaysArray = function(n) { - for (var i = 1; i <= n; i++) { - this[i] = 31; - if (i==4 || i==6 || i==9 || i==11) {this[i] = 30;} - if (i==2) {this[i] = 29;} - } - return this; - }; - - var tsp = {}, sep; + tsp = {}, sep; format = format.toLowerCase(); //we search for /,-,. for the date separator - if(format.indexOf("/") != -1) { + if(format.indexOf("/") !== -1) { sep = "/"; - } else if(format.indexOf("-") != -1) { + } else if(format.indexOf("-") !== -1) { sep = "-"; - } else if(format.indexOf(".") != -1) { + } else if(format.indexOf(".") !== -1) { sep = "."; } else { sep = "/"; } format = format.split(sep); date = date.split(sep); - if (date.length != 3) { return false; } - var j=-1,yln, dln=-1, mln=-1; - for(var i=0;i<format.length;i++){ + if (date.length !== 3) { return false; } + var j=-1,yln, dln=-1, mln=-1, i; + for(i=0;i<format.length;i++){ var dv = isNaN(date[i]) ? 0 : parseInt(date[i],10); tsp[format[i]] = dv; yln = format[i]; - if(yln.indexOf("y") != -1) { j=i; } - if(yln.indexOf("m") != -1) { mln=i; } - if(yln.indexOf("d") != -1) { dln=i; } + if(yln.indexOf("y") !== -1) { j=i; } + if(yln.indexOf("m") !== -1) { mln=i; } + if(yln.indexOf("d") !== -1) { dln=i; } } - if (format[j] == "y" || format[j] == "yyyy") { + if (format[j] === "y" || format[j] === "yyyy") { yln=4; - } else if(format[j] =="yy"){ + } else if(format[j] ==="yy"){ yln = 2; } else { yln = -1; } - var daysInMonth = DaysArray(12), + var daysInMonth = [0,31,29,31,30,31,30,31,31,30,31,30,31], strDate; if (j === -1) { return false; - } else { + } strDate = tsp[format[j]].toString(); - if(yln == 2 && strDate.length == 1) {yln = 1;} - if (strDate.length != yln || (tsp[format[j]]===0 && date[j]!="00")){ + if(yln === 2 && strDate.length === 1) {yln = 1;} + if (strDate.length !== yln || (tsp[format[j]]===0 && date[j]!=="00")){ return false; } - } if(mln === -1) { return false; - } else { + } strDate = tsp[format[mln]].toString(); if (strDate.length<1 || tsp[format[mln]]<1 || tsp[format[mln]]>12){ return false; } - } if(dln === -1) { return false; - } else { + } strDate = tsp[format[dln]].toString(); - if (strDate.length<1 || tsp[format[dln]]<1 || tsp[format[dln]]>31 || (tsp[format[mln]]==2 && tsp[format[dln]]>daysInFebruary(tsp[format[j]])) || tsp[format[dln]] > daysInMonth[tsp[format[mln]]]){ + if (strDate.length<1 || tsp[format[dln]]<1 || tsp[format[dln]]>31 || (tsp[format[mln]]===2 && tsp[format[dln]]>daysInFebruary(tsp[format[j]])) || tsp[format[dln]] > daysInMonth[tsp[format[mln]]]){ return false; } - } return true; }, isEmpty : function(val) { if (val.match(/^\s+$/) || val === "") { return true; - } else { + } return false; - } }, checkTime : function(time){ // checks only hh:ss (and optional am/pm) - var re = /^(\d{1,2}):(\d{2})([ap]m)?$/,regs; + var re = /^(\d{1,2}):(\d{2})([apAP][Mm])?$/,regs; if(!$.jgrid.isEmpty(time)) { regs = time.match(re); @@ -6037,27 +6266,27 @@ } return true; }, - checkValues : function(val, valref,g, customobject, nam) { - var edtrul,i, nm, dft, len; - if(typeof(customobject) === "undefined") { - if(typeof(valref)=='string'){ - for( i =0, len=g.p.colModel.length;i<len; i++){ - if(g.p.colModel[i].name==valref) { - edtrul = g.p.colModel[i].editrules; + checkValues : function(val, valref, customobject, nam) { + var edtrul,i, nm, dft, len, g = this, cm = g.p.colModel; + if(customobject === undefined) { + if(typeof valref==='string'){ + for( i =0, len=cm.length;i<len; i++){ + if(cm[i].name===valref) { + edtrul = cm[i].editrules; valref = i; - try { nm = g.p.colModel[i].formoptions.label; } catch (e) {} + if(cm[i].formoptions != null) { nm = cm[i].formoptions.label; } break; } } } else if(valref >=0) { - edtrul = g.p.colModel[valref].editrules; + edtrul = cm[valref].editrules; } } else { edtrul = customobject; nm = nam===undefined ? "_" : nam; } if(edtrul) { - if(!nm) { nm = g.p.colNames[valref]; } + if(!nm) { nm = g.p.colNames != null ? g.p.colNames[valref] : cm[valref].label; } if(edtrul.required === true) { if( $.jgrid.isEmpty(val) ) { return [false,nm+": "+$.jgrid.edit.msg.required,""]; } } @@ -6068,10 +6297,10 @@ if(isNaN(val)) { return [false,nm+": "+$.jgrid.edit.msg.number,""]; } } } - if(typeof edtrul.minValue != 'undefined' && !isNaN(edtrul.minValue)) { + if(edtrul.minValue !== undefined && !isNaN(edtrul.minValue)) { if (parseFloat(val) < parseFloat(edtrul.minValue) ) { return [false,nm+": "+$.jgrid.edit.msg.minValue+" "+edtrul.minValue,""];} } - if(typeof edtrul.maxValue != 'undefined' && !isNaN(edtrul.maxValue)) { + if(edtrul.maxValue !== undefined && !isNaN(edtrul.maxValue)) { if (parseFloat(val) > parseFloat(edtrul.maxValue) ) { return [false,nm+": "+$.jgrid.edit.msg.maxValue+" "+edtrul.maxValue,""];} } var filter; @@ -6085,15 +6314,18 @@ if(edtrul.integer === true) { if( !(rqfield === false && $.jgrid.isEmpty(val)) ) { if(isNaN(val)) { return [false,nm+": "+$.jgrid.edit.msg.integer,""]; } - if ((val % 1 !== 0) || (val.indexOf('.') != -1)) { return [false,nm+": "+$.jgrid.edit.msg.integer,""];} + if ((val % 1 !== 0) || (val.indexOf('.') !== -1)) { return [false,nm+": "+$.jgrid.edit.msg.integer,""];} } } if(edtrul.date === true) { if( !(rqfield === false && $.jgrid.isEmpty(val)) ) { - if(g.p.colModel[valref].formatoptions && g.p.colModel[valref].formatoptions.newformat) { - dft = g.p.colModel[valref].formatoptions.newformat; + if(cm[valref].formatoptions && cm[valref].formatoptions.newformat) { + dft = cm[valref].formatoptions.newformat; + if( $.jgrid.formatter.date.masks.hasOwnProperty(dft) ) { + dft = $.jgrid.formatter.date.masks[dft]; + } } else { - dft = g.p.colModel[valref].datefmt || "Y-m-d"; + dft = cm[valref].datefmt || "Y-m-d"; } if(!$.jgrid.checkDate (dft, val)) { return [false,nm+": "+$.jgrid.edit.msg.date+" - "+dft,""]; } } @@ -6112,22 +6344,18 @@ if(edtrul.custom === true) { if( !(rqfield === false && $.jgrid.isEmpty(val)) ) { if($.isFunction(edtrul.custom_func)) { - var ret = edtrul.custom_func.call(g,val,nm); - if($.isArray(ret)) { - return ret; - } else { - return [false,$.jgrid.edit.msg.customarray,""]; - } - } else { - return [false,$.jgrid.edit.msg.customfcheck,""]; + var ret = edtrul.custom_func.call(g,val,nm,valref); + return $.isArray(ret) ? ret : [false,$.jgrid.edit.msg.customarray,""]; } + return [false,$.jgrid.edit.msg.customfcheck,""]; } } } return [true,"",""]; } }); -})(jQuery);/* +})(jQuery); +/* * jqFilter jQuery jqGrid filter addon. * Copyright (c) 2011, Tony Tomov, tony@trirand.com * Dual licensed under the MIT and GPL licenses @@ -6154,9 +6382,11 @@ ] } */ -/*global jQuery, $, window, navigator */ +/*jshint eqeqeq:false, eqnull:true, devel:true */ +/*global jQuery */ (function ($) { +"use strict"; $.fn.jqFilter = function( arg ) { if (typeof arg === 'string') { @@ -6180,27 +6410,11 @@ errorcheck : true, showQuery : true, sopt : null, - ops : [ - {"name": "eq", "description": "equal", "operator":"="}, - {"name": "ne", "description": "not equal", "operator":"<>"}, - {"name": "lt", "description": "less", "operator":"<"}, - {"name": "le", "description": "less or equal","operator":"<="}, - {"name": "gt", "description": "greater", "operator":">"}, - {"name": "ge", "description": "greater or equal", "operator":">="}, - {"name": "bw", "description": "begins with", "operator":"LIKE"}, - {"name": "bn", "description": "does not begin with", "operator":"NOT LIKE"}, - {"name": "in", "description": "in", "operator":"IN"}, - {"name": "ni", "description": "not in", "operator":"NOT IN"}, - {"name": "ew", "description": "ends with", "operator":"LIKE"}, - {"name": "en", "description": "does not end with", "operator":"NOT LIKE"}, - {"name": "cn", "description": "contains", "operator":"LIKE"}, - {"name": "nc", "description": "does not contain", "operator":"NOT LIKE"}, - {"name": "nu", "description": "is null", "operator":"IS NULL"}, - {"name": "nn", "description": "is not null", "operator":"IS NOT NULL"} - ], + ops : [], + operands : null, numopts : ['eq','ne', 'lt', 'le', 'gt', 'ge', 'nu', 'nn', 'in', 'ni'], stropts : ['eq', 'ne', 'bw', 'bn', 'ew', 'en', 'cn', 'nc', 'nu', 'nn', 'in', 'ni'], - _gridsopt : [], // grid translated strings, do not tuch + strarr : ['text', 'string', 'blob'], groupOps : [{ op: "AND", text: "AND" }, { op: "OR", text: "OR" }], groupButton : true, ruleButtons : true, @@ -6221,12 +6435,6 @@ isIE = /msie/i.test(navigator.userAgent) && !window.opera; // translating the options - if(this.p._gridsopt.length) { - // ['eq','ne','lt','le','gt','ge','bw','bn','in','ni','ew','en','cn','nc'] - for(i=0;i<this.p._gridsopt.length;i++) { - this.p.ops[i].description = this.p._gridsopt[i]; - } - } this.p.initFilter = $.extend(true,{},this.p.filter); // set default values for the columns if they are not set @@ -6266,17 +6474,20 @@ if(this.p.showQuery) { $(this).append("<table class='queryresult ui-widget ui-widget-content' style='display:block;max-width:440px;border:0px none;' dir='"+this.p.direction+"'><tbody><tr><td class='query'></td></tr></tbody></table>"); } + var getGrid = function () { + return $("#" + $.jgrid.jqID(p.id))[0] || null; + }; /* *Perform checking. * */ var checkData = function(val, colModelItem) { - var ret = [true,""]; + var ret = [true,""], $t = getGrid(); if($.isFunction(colModelItem.searchrules)) { - ret = colModelItem.searchrules(val, colModelItem); + ret = colModelItem.searchrules.call($t, val, colModelItem); } else if($.jgrid && $.jgrid.checkValues) { try { - ret = $.jgrid.checkValues(val, -1, null, colModelItem.searchrules, colModelItem.label); + ret = $.jgrid.checkValues.call($t, val, -1, colModelItem.searchrules, colModelItem.label); } catch (e) {} } if(ret && ret.length && ret[0] === false) { @@ -6319,7 +6530,7 @@ var table = $("<table class='group ui-widget ui-widget-content' style='border:0px none;'><tbody></tbody></table>"), // create error message row align = "left"; - if(this.p.direction == "rtl") { + if(this.p.direction === "rtl") { align = "right"; table.attr("dir","rtl"); } @@ -6384,7 +6595,7 @@ } for (i = 0; i < that.p.columns.length; i++) { // but show only serchable and serchhidden = true fields - var searchable = (typeof that.p.columns[i].search === 'undefined') ? true: that.p.columns[i].search , + var searchable = (that.p.columns[i].search === undefined) ? true: that.p.columns[i].search, hidden = (that.p.columns[i].hidden === true), ignoreHiding = (that.p.columns[i].searchoptions.searchhidden === true); if ((ignoreHiding && searchable) || (searchable && !hidden)) { @@ -6396,7 +6607,7 @@ var opr; if( cm.searchoptions.sopt ) {opr = cm.searchoptions.sopt;} else if(that.p.sopt) { opr= that.p.sopt; } - else if (cm.searchtype === 'string') {opr = that.p.stropts;} + else if ( $.inArray(cm.searchtype, that.p.strarr) !== -1 ) {opr = that.p.stropts;} else {opr = that.p.numopts;} group.rules.push({ @@ -6469,7 +6680,7 @@ // save current entity in a variable so that it could // be referenced in anonimous method calls - var that=this, tr = $("<tr></tr>"), + var that=this, $t = getGrid(), tr = $("<tr></tr>"), //document.createElement("tr"), // first column used for padding @@ -6504,43 +6715,44 @@ cm.searchoptions.size = 10; } } - var elm = $.jgrid.createEl(cm.inputtype,cm.searchoptions, "", true, that.p.ajaxSelectOptions, true); + var elm = $.jgrid.createEl.call($t, cm.inputtype,cm.searchoptions, "", true, that.p.ajaxSelectOptions, true); $(elm).addClass("input-elm"); //that.createElement(rule, ""); if( cm.searchoptions.sopt ) {op = cm.searchoptions.sopt;} else if(that.p.sopt) { op= that.p.sopt; } - else if (cm.searchtype === 'string') {op = that.p.stropts;} + else if ($.inArray(cm.searchtype, that.p.strarr) !== -1) {op = that.p.stropts;} else {op = that.p.numopts;} // operators var s ="", so = 0; aoprs = []; - $.each(that.p.ops, function() { aoprs.push(this.name) }); + $.each(that.p.ops, function() { aoprs.push(this.oper); }); for ( i = 0 ; i < op.length; i++) { ina = $.inArray(op[i],aoprs); if(ina !== -1) { if(so===0) { - rule.op = that.p.ops[ina].name; + rule.op = that.p.ops[ina].oper; } - s += "<option value='"+that.p.ops[ina].name+"'>"+that.p.ops[ina].description+"</option>"; + s += "<option value='"+that.p.ops[ina].oper+"'>"+that.p.ops[ina].text+"</option>"; so++; } } $(".selectopts",trpar).empty().append( s ); $(".selectopts",trpar)[0].selectedIndex = 0; - if( $.browser.msie && $.browser.version < 9) { - var sw = parseInt($("select.selectopts",trpar)[0].offsetWidth) + 1; + if( $.jgrid.msie && $.jgrid.msiever() < 9) { + var sw = parseInt($("select.selectopts",trpar)[0].offsetWidth, 10) + 1; $(".selectopts",trpar).width( sw ); $(".selectopts",trpar).css("width","auto"); } // data $(".data",trpar).empty().append( elm ); + $.jgrid.bindEv.call($t, elm, cm.searchoptions); $(".input-elm",trpar).bind('change',function( e ) { var tmo = $(this).hasClass("ui-autocomplete-input") ? 200 :0; setTimeout(function(){ var elem = e.target; rule.data = elem.nodeName.toUpperCase() === "SPAN" && cm.searchoptions && $.isFunction(cm.searchoptions.custom_value) ? - cm.searchoptions.custom_value($(elem).children(".customelement:first"), 'get') : elem.value; + cm.searchoptions.custom_value.call($t, $(elem).children(".customelement:first"), 'get') : elem.value; that.onchange(); // signals that the filter has changed }, tmo); }); @@ -6554,8 +6766,8 @@ var j=0; for (i = 0; i < that.p.columns.length; i++) { // but show only serchable and serchhidden = true fields - var searchable = (typeof that.p.columns[i].search === 'undefined') ? true: that.p.columns[i].search , - hidden = (that.p.columns[i].hidden === true), + var searchable = (that.p.columns[i].search === undefined) ? true: that.p.columns[i].search, + hidden = (that.p.columns[i].hidden === true), ignoreHiding = (that.p.columns[i].searchoptions.searchhidden === true); if ((ignoreHiding && searchable) || (searchable && !hidden)) { selected = ""; @@ -6581,8 +6793,11 @@ cm.searchoptions.size = 10; } } - var ruleDataInput = $.jgrid.createEl(cm.inputtype,cm.searchoptions, rule.data, true, that.p.ajaxSelectOptions, true); - + var ruleDataInput = $.jgrid.createEl.call($t, cm.inputtype,cm.searchoptions, rule.data, true, that.p.ajaxSelectOptions, true); + if(rule.op === 'nu' || rule.op === 'nn') { + $(ruleDataInput).attr('readonly','true'); + $(ruleDataInput).attr('disabled','true'); + } //retain the state of disabled text fields in case of null ops // dropdown for: choosing operator var ruleOperatorSelect = $("<select class='selectopts'></select>"); ruleOperatorTd.append(ruleOperatorSelect); @@ -6606,15 +6821,15 @@ // populate drop down with all available operators if( cm.searchoptions.sopt ) {op = cm.searchoptions.sopt;} else if(that.p.sopt) { op= that.p.sopt; } - else if (cm.searchtype === 'string') {op = p.stropts;} + else if ($.inArray(cm.searchtype, that.p.strarr) !== -1) {op = that.p.stropts;} else {op = that.p.numopts;} str=""; - $.each(that.p.ops, function() { aoprs.push(this.name) }); + $.each(that.p.ops, function() { aoprs.push(this.oper); }); for ( i = 0; i < op.length; i++) { ina = $.inArray(op[i],aoprs); if(ina !== -1) { - selected = rule.op === that.p.ops[ina].name ? " selected='selected'" : ""; - str += "<option value='"+that.p.ops[ina].name+"'"+selected+">"+that.p.ops[ina].description+"</option>"; + selected = rule.op === that.p.ops[ina].oper ? " selected='selected'" : ""; + str += "<option value='"+that.p.ops[ina].oper+"'"+selected+">"+that.p.ops[ina].text+"</option>"; } } ruleOperatorSelect.append( str ); @@ -6626,11 +6841,11 @@ // is created previously //ruleDataInput.setAttribute("type", "text"); ruleDataTd.append(ruleDataInput); - + $.jgrid.bindEv.call($t, ruleDataInput, cm.searchoptions); $(ruleDataInput) .addClass("input-elm") .bind('change', function() { - rule.data = cm.inputtype === 'custom' ? cm.searchoptions.custom_value($(this).children(".customelement:first"),'get') : $(this).val(); + rule.data = cm.inputtype === 'custom' ? cm.searchoptions.custom_value.call($t, $(this).children(".customelement:first"),'get') : $(this).val(); that.onchange(); // signals that the filter has changed }); @@ -6689,17 +6904,16 @@ if (s === "()") { return ""; // ignore groups that don't have rules - } else { - return s; } + return s; }; this.getStringForRule = function(rule) { var opUF = "",opC="", i, cm, ret, val, numtypes = ['int', 'integer', 'float', 'number', 'currency']; // jqGrid for (i = 0; i < this.p.ops.length; i++) { - if (this.p.ops[i].name === rule.op) { - opUF = this.p.ops[i].operator; - opC = this.p.ops[i].name; + if (this.p.ops[i].oper === rule.op) { + opUF = this.p.operands.hasOwnProperty(rule.op) ? this.p.operands[rule.op] : ""; + opC = this.p.ops[i].oper; break; } } @@ -6709,6 +6923,7 @@ break; } } + if (cm === undefined) { return ""; } val = rule.data; if(opC === 'bw' || opC === 'bn') { val = val+"%"; } if(opC === 'ew' || opC === 'en') { val = "%"+val; } @@ -6787,9 +7002,8 @@ if (s === "()") { return ""; // ignore groups that don't have rules - } else { - return s; } + return s; } return getStringForGroup(this.p.filter); @@ -6844,7 +7058,7 @@ }, addFilter: function (pfilter) { if (typeof pfilter === "string") { - pfilter = jQuery.jgrid.parse( pfilter ); + pfilter = $.jgrid.parse( pfilter ); } this.each(function(){ this.p.filter = pfilter; @@ -6855,7 +7069,8 @@ }); })(jQuery); - +/*jshint eqeqeq:false, eqnull:true, devel:true */ +/*global xmlJsonClass, jQuery */ (function($){ /** * jqGrid extension for form editing Grid Data @@ -6866,11 +7081,10 @@ * http://www.gnu.org/licenses/gpl-2.0.html **/ "use strict"; -/*global xmlJsonClass, jQuery, $ */ var rp_ge = {}; $.jgrid.extend({ searchGrid : function (p) { - p = $.extend({ + p = $.extend(true, { recreateFilter: false, drag: true, sField:'searchField', @@ -6900,9 +7114,6 @@ dataheight: 'auto', showQuery: false, errorcheck : true, - // translation - // if you want to change or remove the order change it in sopt - // ['eq','ne','lt','le','gt','ge','bw','bn','in','ni','ew','en','cn','nc'], sopt: null, stringResult: undefined, onClose : null, @@ -6913,10 +7124,10 @@ columns : [], tmplNames : null, tmplFilters : null, - // translations - later in lang file tmplLabel : ' Template: ', showOnLoad: false, - layer: null + layer: null, + operands : { "eq" :"=", "ne":"<>","lt":"<","le":"<=","gt":">","ge":">=","bw":"LIKE","bn":"NOT LIKE","in":"IN","ni":"NOT IN","ew":"LIKE","en":"NOT LIKE","cn":"LIKE","nc":"NOT LIKE","nu":"IS NULL","nn":"ISNOT NULL"} }, $.jgrid.search, p || {}); return this.each(function() { var $t = this; @@ -6925,7 +7136,7 @@ showFrm = true, IDs = {themodal:'searchmod'+fid,modalhead:'searchhd'+fid,modalcontent:'searchcnt'+fid, scrollelm : fid}, defaultFilters = $t.p.postData[p.sFilter]; - if(typeof(defaultFilters) === "string") { + if(typeof defaultFilters === "string") { defaultFilters = $.jgrid.parse( defaultFilters ); } if(p.recreateFilter === true) { @@ -6933,7 +7144,7 @@ } function showFilter(_filter) { showFrm = $($t).triggerHandler("jqGridFilterBeforeShow", [_filter]); - if(typeof(showFrm) === "undefined") { + if(showFrm === undefined) { showFrm = true; } if(showFrm && $.isFunction(p.beforeShowSearch)) { @@ -6952,7 +7163,7 @@ } else { var fil = $("<div><div id='"+fid+"' class='searchFilter' style='overflow:auto'></div></div>").insertBefore("#gview_"+$.jgrid.jqID($t.p.id)), align = "left", butleft =""; - if($t.p.direction == "rtl") { + if($t.p.direction === "rtl") { align = "right"; butleft = " style='text-align:left'"; fil.attr("dir","rtl"); @@ -6971,7 +7182,7 @@ } // find first searchable column and set it if no default filter if(!found) { - var searchable = (typeof n.search === 'undefined') ? true: n.search , + var searchable = (n.search === undefined) ? true: n.search , hidden = (n.hidden === true), ignoreHiding = (n.searchoptions && n.searchoptions.searchhidden === true); if ((ignoreHiding && searchable) || (searchable && !hidden)) { @@ -6983,6 +7194,8 @@ }); } else { columns = p.columns; + cmi = 0; + colnm = columns[0].index || columns[0].name; } // old behaviour if( (!defaultFilters && colnm) || p.multipleSearch === false ) { @@ -6992,7 +7205,7 @@ } else if(p.sopt && p.sopt.length) { cmop = p.sopt[0]; } - defaultFilters = {"groupOp": "AND",rules:[{"field":colnm,"op":cmop,"data":""}]}; + defaultFilters = {groupOp: "AND", rules: [{field: colnm, op: cmop, data: ""}]}; } found = false; if(p.tmplNames && p.tmplNames.length) { @@ -7017,7 +7230,8 @@ groupButton : p.multipleGroup, ruleButtons : p.multipleSearch, afterRedraw : p.afterRedraw, - _gridsopt : $.jgrid.search.odata, + ops : p.odata, + operands : p.operands, ajaxSelectOptions: $t.p.ajaxSelectOptions, groupOps: p.groupOps, onChange : function() { @@ -7028,13 +7242,14 @@ p.afterChange.call($t, $("#"+fid), p); } }, - direction : $t.p.direction + direction : $t.p.direction, + id: $t.p.id }); fil.append( bt ); if(found && p.tmplFilters && p.tmplFilters.length) { $(".ui-template", fil).bind('change', function(){ var curtempl = $(this).val(); - if(curtempl=="default") { + if(curtempl==="default") { $("#"+fid).jqFilter('addFilter', defaultFilters); } else { $("#"+fid).jqFilter('addFilter', p.tmplFilters[parseInt(curtempl,10)]); @@ -7081,7 +7296,7 @@ } $("#"+fid+"_search").bind('click', function(){ var fl = $("#"+fid), - sdata={}, res , + sdata={}, res, filters = fl.jqFilter('filterData'); if(p.errorcheck) { fl[0].hideError(); @@ -7101,7 +7316,7 @@ res = JSON.stringify(filters); } catch (e2) { } } - if(typeof(res)==="string") { + if(typeof res==="string") { sdata[p.sFilter] = res; $.each([p.sField,p.sValue, p.sOper], function() {sdata[this] = "";}); } @@ -7158,10 +7373,11 @@ }); }, editGridRow : function(rowid, p){ - p = $.extend({ + p = $.extend(true, { top : 0, left: 0, width: 300, + datawidth: 'auto', height: 'auto', dataheight: 'auto', modal: false, @@ -7201,7 +7417,8 @@ onClose : null, ajaxEditOptions : {}, serializeEditData : null, - viewPagerButtons : true + viewPagerButtons : true, + overlayClass : 'ui-widget-overlay' }, $.jgrid.edit, p || {}); rp_ge[$(this)[0].p.id] = p; return this.each(function(){ @@ -7215,7 +7432,7 @@ onBeforeInit = $.isFunction(rp_ge[$t.p.id].beforeInitData) ? rp_ge[$t.p.id].beforeInitData : false, onInitializeForm = $.isFunction(rp_ge[$t.p.id].onInitializeForm) ? rp_ge[$t.p.id].onInitializeForm : false, showFrm = true, - maxCols = 1, maxRows=0, postdata, extpost, newData, diff, frmoper; + maxCols = 1, maxRows=0, postdata, diff, frmoper; frmgr = $.jgrid.jqID(frmgr); if (rowid === "new") { rowid = "_empty"; @@ -7243,8 +7460,8 @@ postdata[nm] = this.editoptions.custom_value.call($t, $("#"+$.jgrid.jqID(nm),frmtb),'get'); if (postdata[nm] === undefined) {throw "e1";} } catch (e) { - if (e==="e1") {$.jgrid.info_dialog(jQuery.jgrid.errors.errcap,"function 'custom_value' "+$.jgrid.edit.msg.novalue,jQuery.jgrid.edit.bClose);} - else {$.jgrid.info_dialog(jQuery.jgrid.errors.errcap,e.message,jQuery.jgrid.edit.bClose);} + if (e==="e1") {$.jgrid.info_dialog($.jgrid.errors.errcap,"function 'custom_value' "+$.jgrid.edit.msg.novalue,$.jgrid.edit.bClose);} + else {$.jgrid.info_dialog($.jgrid.errors.errcap,e.message,$.jgrid.edit.bClose);} } return true; } @@ -7261,7 +7478,6 @@ break; case "select-one": postdata[this.name]= $("option:selected",this).val(); - extpost[this.name]= $("option:selected",this).text(); break; case "select-multiple": postdata[this.name]= $(this).val(); @@ -7273,7 +7489,6 @@ selectedText[i] = $(selected).text(); } ); - extpost[this.name]= selectedText.join(","); break; case "password": case "text": @@ -7294,7 +7509,7 @@ for (i =1; i<=maxcols;i++) { tmpl += tdtmpl; } - if(rowid != '_empty') { + if(rowid !== '_empty') { ind = $(obj).jqGrid("getInd",rowid); } $(obj.p.colModel).each( function(i) { @@ -7310,32 +7525,32 @@ if(ind === false) { tmp = ""; } else { - if(nm == obj.p.ExpandColumn && obj.p.treeGrid === true) { - tmp = $("td:eq("+i+")",obj.rows[ind]).text(); + if(nm === obj.p.ExpandColumn && obj.p.treeGrid === true) { + tmp = $("td[role='gridcell']:eq("+i+")",obj.rows[ind]).text(); } else { try { - tmp = $.unformat.call(obj, $("td:eq("+i+")",obj.rows[ind]),{rowId:rowid, colModel:this},i); + tmp = $.unformat.call(obj, $("td[role='gridcell']:eq("+i+")",obj.rows[ind]),{rowId:rowid, colModel:this},i); } catch (_) { - tmp = (this.edittype && this.edittype == "textarea") ? $("td:eq("+i+")",obj.rows[ind]).text() : $("td:eq("+i+")",obj.rows[ind]).html(); + tmp = (this.edittype && this.edittype === "textarea") ? $("td[role='gridcell']:eq("+i+")",obj.rows[ind]).text() : $("td[role='gridcell']:eq("+i+")",obj.rows[ind]).html(); } - if(!tmp || tmp == " " || tmp == " " || (tmp.length==1 && tmp.charCodeAt(0)==160) ) {tmp='';} + if(!tmp || tmp === " " || tmp === " " || (tmp.length===1 && tmp.charCodeAt(0)===160) ) {tmp='';} } } var opt = $.extend({}, this.editoptions || {} ,{id:nm,name:nm}), frmopt = $.extend({}, {elmprefix:'',elmsuffix:'',rowabove:false,rowcontent:''}, this.formoptions || {}), rp = parseInt(frmopt.rowpos,10) || cnt+1, cp = parseInt((parseInt(frmopt.colpos,10) || 1)*2,10); - if(rowid == "_empty" && opt.defaultValue ) { + if(rowid === "_empty" && opt.defaultValue ) { tmp = $.isFunction(opt.defaultValue) ? opt.defaultValue.call($t) : opt.defaultValue; } if(!this.edittype) {this.edittype = "text";} if($t.p.autoencode) {tmp = $.jgrid.htmlDecode(tmp);} elc = $.jgrid.createEl.call($t,this.edittype,opt,tmp,false,$.extend({},$.jgrid.ajaxOptions,obj.p.ajaxSelectOptions || {})); - if(tmp === "" && this.edittype == "checkbox") {tmp = $(elc).attr("offval");} - if(tmp === "" && this.edittype == "select") {tmp = $("option:eq(0)",elc).text();} + //if(tmp === "" && this.edittype == "checkbox") {tmp = $(elc).attr("offval");} + //if(tmp === "" && this.edittype == "select") {tmp = $("option:eq(0)",elc).text();} if(rp_ge[$t.p.id].checkOnSubmit || rp_ge[$t.p.id].checkOnUpdate) {rp_ge[$t.p.id]._savedData[nm] = tmp;} $(elc).addClass("FormElement"); - if(this.edittype == 'text' || this.edittype == 'textarea') { + if( $.inArray(this.edittype, ['text','textarea','password','select']) > -1) { $(elc).addClass("ui-widget-content ui-corner-all"); } trdata = $(tb).find("tr[rowpos="+rp+"]"); @@ -7350,8 +7565,12 @@ $(tb).append(trdata); trdata[0].rp = rp; } - $("td:eq("+(cp-2)+")",trdata[0]).html( typeof frmopt.label === 'undefined' ? obj.p.colNames[i]: frmopt.label); + $("td:eq("+(cp-2)+")",trdata[0]).html(frmopt.label === undefined ? obj.p.colNames[i]: frmopt.label); $("td:eq("+(cp-1)+")",trdata[0]).append(frmopt.elmprefix).append(elc).append(frmopt.elmsuffix); + if($.isFunction(opt.custom_value) && rowid !== "_empty" ) { + opt.custom_value.call($t, $("#"+nm,"#"+frmgr),'set',tmp); + } + $.jgrid.bindEv.call($t, elc, opt); retpos[cnt] = i; cnt++; } @@ -7368,7 +7587,7 @@ var nm,cnt=0,tmp, fld,opt,vl,vlc; if(rp_ge[$t.p.id].checkOnSubmit || rp_ge[$t.p.id].checkOnUpdate) {rp_ge[$t.p.id]._savedData = {};rp_ge[$t.p.id]._savedData[obj.p.id+"_id"]=rowid;} var cm = obj.p.colModel; - if(rowid == '_empty') { + if(rowid === '_empty') { $(cm).each(function(){ nm = this.name; opt = $.extend({}, this.editoptions || {} ); @@ -7377,9 +7596,9 @@ vl = ""; if(opt.defaultValue ) { vl = $.isFunction(opt.defaultValue) ? opt.defaultValue.call($t) : opt.defaultValue; - if(fld[0].type=='checkbox') { + if(fld[0].type==='checkbox') { vlc = vl.toLowerCase(); - if(vlc.search(/(false|0|no|off|undefined)/i)<0 && vlc!=="") { + if(vlc.search(/(false|f|0|no|n|off|undefined)/i)<0 && vlc!=="") { fld[0].checked = true; fld[0].defaultChecked = true; fld[0].value = vl; @@ -7389,11 +7608,11 @@ } } else {fld.val(vl);} } else { - if( fld[0].type=='checkbox' ) { + if( fld[0].type==='checkbox' ) { fld[0].checked = false; fld[0].defaultChecked = false; vl = $(fld).attr("offval"); - } else if (fld[0].type && fld[0].type.substr(0,6)=='select') { + } else if (fld[0].type && fld[0].type.substr(0,6)==='select') { fld[0].selectedIndex = 0; } else { fld.val(vl); @@ -7411,13 +7630,13 @@ nm = cm[i].name; // hidden fields are included in the form if ( nm !== 'cb' && nm !== 'subgrid' && nm !== 'rn' && cm[i].editable===true) { - if(nm == obj.p.ExpandColumn && obj.p.treeGrid === true) { + if(nm === obj.p.ExpandColumn && obj.p.treeGrid === true) { tmp = $(this).text(); } else { try { tmp = $.unformat.call(obj, $(this),{rowId:rowid, colModel:cm[i]},i); } catch (_) { - tmp = cm[i].edittype=="textarea" ? $(this).text() : $(this).html(); + tmp = cm[i].edittype==="textarea" ? $(this).text() : $(this).html(); } } if($t.p.autoencode) {tmp = $.jgrid.htmlDecode(tmp);} @@ -7429,14 +7648,14 @@ case "button" : case "image": case "textarea": - if(tmp == " " || tmp == " " || (tmp.length==1 && tmp.charCodeAt(0)==160) ) {tmp='';} + if(tmp === " " || tmp === " " || (tmp.length===1 && tmp.charCodeAt(0)===160) ) {tmp='';} $("#"+nm,"#"+fmid).val(tmp); break; case "select": var opv = tmp.split(","); opv = $.map(opv,function(n){return $.trim(n);}); $("#"+nm+" option","#"+fmid).each(function(){ - if (!cm[i].editoptions.multiple && ($.trim(tmp) == $.trim($(this).text()) || opv[0] == $.trim($(this).text()) || opv[0] == $.trim($(this).val())) ){ + if (!cm[i].editoptions.multiple && ($.trim(tmp) === $.trim($(this).text()) || opv[0] === $.trim($(this).text()) || opv[0] === $.trim($(this).val())) ){ this.selected= true; } else if (cm[i].editoptions.multiple){ if( $.inArray($.trim($(this).text()), opv ) > -1 || $.inArray($.trim($(this).val()), opv ) > -1 ){ @@ -7450,19 +7669,17 @@ }); break; case "checkbox": - tmp = tmp+""; + tmp = String(tmp); if(cm[i].editoptions && cm[i].editoptions.value) { var cb = cm[i].editoptions.value.split(":"); - if(cb[0] == tmp) { - $("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']("checked",true); - $("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']("defaultChecked",true); //ie + if(cb[0] === tmp) { + $("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']({"checked":true, "defaultChecked" : true}); } else { - $("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']("checked", false); - $("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']("defaultChecked", false); //ie + $("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']({"checked":false, "defaultChecked" : false}); } } else { tmp = tmp.toLowerCase(); - if(tmp.search(/(false|0|no|off|undefined)/i)<0 && tmp!=="") { + if(tmp.search(/(false|f|0|no|n|off|undefined)/i)<0 && tmp!=="") { $("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']("checked",true); $("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']("defaultChecked",true); //ie } else { @@ -7477,8 +7694,8 @@ cm[i].editoptions.custom_value.call($t, $("#"+nm,"#"+fmid),'set',tmp); } else {throw "e1";} } catch (e) { - if (e=="e1") {$.jgrid.info_dialog(jQuery.jgrid.errors.errcap,"function 'custom_value' "+$.jgrid.edit.msg.nodefined,jQuery.jgrid.edit.bClose);} - else {$.jgrid.info_dialog(jQuery.jgrid.errors.errcap,e.message,jQuery.jgrid.edit.bClose);} + if (e==="e1") {$.jgrid.info_dialog($.jgrid.errors.errcap,"function 'custom_value' "+$.jgrid.edit.msg.nodefined,$.jgrid.edit.bClose);} + else {$.jgrid.info_dialog($.jgrid.errors.errcap,e.message,$.jgrid.edit.bClose);} } break; } @@ -7500,15 +7717,15 @@ var copydata, ret=[true,"",""], onCS = {}, opers = $t.p.prmNames, idname, oper, key, selr, i; var retvals = $($t).triggerHandler("jqGridAddEditBeforeCheckValues", [$("#"+frmgr), frmoper]); - if(retvals && typeof(retvals) === 'object') {postdata = retvals;} + if(retvals && typeof retvals === 'object') {postdata = retvals;} if($.isFunction(rp_ge[$t.p.id].beforeCheckValues)) { - retvals = rp_ge[$t.p.id].beforeCheckValues.call($t, postdata,$("#"+frmgr),postdata[$t.p.id+"_id"] == "_empty" ? opers.addoper : opers.editoper); - if(retvals && typeof(retvals) === 'object') {postdata = retvals;} + retvals = rp_ge[$t.p.id].beforeCheckValues.call($t, postdata,$("#"+frmgr),frmoper); + if(retvals && typeof retvals === 'object') {postdata = retvals;} } for( key in postdata ){ if(postdata.hasOwnProperty(key)) { - ret = $.jgrid.checkValues.call($t,postdata[key],key,$t); + ret = $.jgrid.checkValues.call($t,postdata[key],key); if(ret[0] === false) {break;} } } @@ -7516,14 +7733,14 @@ if(ret[0]) { onCS = $($t).triggerHandler("jqGridAddEditClickSubmit", [rp_ge[$t.p.id], postdata, frmoper]); if( onCS === undefined && $.isFunction( rp_ge[$t.p.id].onclickSubmit)) { - onCS = rp_ge[$t.p.id].onclickSubmit.call($t, rp_ge[$t.p.id], postdata) || {}; + onCS = rp_ge[$t.p.id].onclickSubmit.call($t, rp_ge[$t.p.id], postdata, frmoper) || {}; } ret = $($t).triggerHandler("jqGridAddEditBeforeSubmit", [postdata, $("#"+frmgr), frmoper]); if(ret === undefined) { ret = [true,"",""]; } if( ret[0] && $.isFunction(rp_ge[$t.p.id].beforeSubmit)) { - ret = rp_ge[$t.p.id].beforeSubmit.call($t,postdata,$("#"+frmgr)); + ret = rp_ge[$t.p.id].beforeSubmit.call($t,postdata,$("#"+frmgr), frmoper); } } @@ -7533,8 +7750,8 @@ oper = opers.oper; idname = opers.id; // we add to pos data array the action - the name is oper - postdata[oper] = ($.trim(postdata[$t.p.id+"_id"]) == "_empty") ? opers.addoper : opers.editoper; - if(postdata[oper] != opers.addoper) { + postdata[oper] = ($.trim(postdata[$t.p.id+"_id"]) === "_empty") ? opers.addoper : opers.editoper; + if(postdata[oper] !== opers.addoper) { postdata[idname] = postdata[$t.p.id+"_id"]; } else { // check to see if we have allredy this field in the form and if yes lieve it @@ -7543,16 +7760,16 @@ delete postdata[$t.p.id+"_id"]; postdata = $.extend(postdata,rp_ge[$t.p.id].editData,onCS); if($t.p.treeGrid === true) { - if(postdata[oper] == opers.addoper) { + if(postdata[oper] === opers.addoper) { selr = $($t).jqGrid("getGridParam", 'selrow'); - var tr_par_id = $t.p.treeGridModel == 'adjacency' ? $t.p.treeReader.parent_id_field : 'parent_id'; + var tr_par_id = $t.p.treeGridModel === 'adjacency' ? $t.p.treeReader.parent_id_field : 'parent_id'; postdata[tr_par_id] = selr; } for(i in $t.p.treeReader){ if($t.p.treeReader.hasOwnProperty(i)) { var itm = $t.p.treeReader[i]; if(postdata.hasOwnProperty(itm)) { - if(postdata[oper] == opers.addoper && i === 'parent_id_field') {continue;} + if(postdata[oper] === opers.addoper && i === 'parent_id_field') {continue;} delete postdata[itm]; } } @@ -7561,18 +7778,19 @@ postdata[idname] = $.jgrid.stripPref($t.p.idPrefix, postdata[idname]); var ajaxOptions = $.extend({ - url: rp_ge[$t.p.id].url ? rp_ge[$t.p.id].url : $($t).jqGrid('getGridParam','editurl'), + url: rp_ge[$t.p.id].url || $($t).jqGrid('getGridParam','editurl'), type: rp_ge[$t.p.id].mtype, data: $.isFunction(rp_ge[$t.p.id].serializeEditData) ? rp_ge[$t.p.id].serializeEditData.call($t,postdata) : postdata, - complete:function(data,Status){ + complete:function(data,status){ + var key; postdata[idname] = $t.p.idPrefix + postdata[idname]; - if(Status != "success") { + if(data.status >= 300 && data.status !== 304) { ret[0] = false; ret[1] = $($t).triggerHandler("jqGridAddEditErrorTextFormat", [data, frmoper]); if ($.isFunction(rp_ge[$t.p.id].errorTextFormat)) { - ret[1] = rp_ge[$t.p.id].errorTextFormat.call($t, data); + ret[1] = rp_ge[$t.p.id].errorTextFormat.call($t, data, frmoper); } else { - ret[1] = Status + " Status: '" + data.statusText + "'. Error code: " + data.status; + ret[1] = status + " Status: '" + data.statusText + "'. Error code: " + data.status; } } else { // data is posted successful @@ -7582,20 +7800,13 @@ ret = [true,"",""]; } if( ret[0] && $.isFunction(rp_ge[$t.p.id].afterSubmit) ) { - ret = rp_ge[$t.p.id].afterSubmit.call($t, data,postdata); + ret = rp_ge[$t.p.id].afterSubmit.call($t, data,postdata, frmoper); } } if(ret[0] === false) { $("#FormError>td",frmtb).html(ret[1]); $("#FormError",frmtb).show(); } else { - // remove some values if formattaer select or checkbox - $.each($t.p.colModel, function(){ - if(extpost[this.name] && this.formatter && this.formatter=='select') { - try {delete extpost[this.name];} catch (e) {} - } - }); - postdata = $.extend(postdata,extpost); if($t.p.autoencode) { $.each(postdata,function(n,v){ postdata[n] = $.jgrid.htmlDecode(v); @@ -7603,42 +7814,28 @@ } //rp_ge[$t.p.id].reloadAfterSubmit = rp_ge[$t.p.id].reloadAfterSubmit && $t.p.datatype != "local"; // the action is add - if(postdata[oper] == opers.addoper ) { + if(postdata[oper] === opers.addoper ) { //id processing // user not set the id ret[2] if(!ret[2]) {ret[2] = $.jgrid.randId();} postdata[idname] = ret[2]; + if(rp_ge[$t.p.id].reloadAfterSubmit) { + $($t).trigger("reloadGrid"); + } else { + if($t.p.treeGrid === true){ + $($t).jqGrid("addChildNode",ret[2],selr,postdata ); + } else { + $($t).jqGrid("addRowData",ret[2],postdata,p.addedrow); + } + } if(rp_ge[$t.p.id].closeAfterAdd) { - if(rp_ge[$t.p.id].reloadAfterSubmit) {$($t).trigger("reloadGrid");} - else { - if($t.p.treeGrid === true){ - $($t).jqGrid("addChildNode",ret[2],selr,postdata ); - } else { - $($t).jqGrid("addRowData",ret[2],postdata,p.addedrow); + if($t.p.treeGrid !== true){ $($t).jqGrid("setSelection",ret[2]); } - } $.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal,onClose: rp_ge[$t.p.id].onClose}); } else if (rp_ge[$t.p.id].clearAfterAdd) { - if(rp_ge[$t.p.id].reloadAfterSubmit) {$($t).trigger("reloadGrid");} - else { - if($t.p.treeGrid === true){ - $($t).jqGrid("addChildNode",ret[2],selr,postdata ); - } else { - $($t).jqGrid("addRowData",ret[2],postdata,p.addedrow); - } - } fillData("_empty",$t,frmgr); - } else { - if(rp_ge[$t.p.id].reloadAfterSubmit) {$($t).trigger("reloadGrid");} - else { - if($t.p.treeGrid === true){ - $($t).jqGrid("addChildNode",ret[2],selr,postdata ); - } else { - $($t).jqGrid("addRowData",ret[2],postdata,p.addedrow); } - } - } } else { // the action is update if(rp_ge[$t.p.id].reloadAfterSubmit) { @@ -7657,21 +7854,21 @@ copydata = data; setTimeout(function(){ $($t).triggerHandler("jqGridAddEditAfterComplete", [copydata, postdata, $("#"+frmgr), frmoper]); - rp_ge[$t.p.id].afterComplete.call($t, copydata, postdata, $("#"+frmgr)); + rp_ge[$t.p.id].afterComplete.call($t, copydata, postdata, $("#"+frmgr), frmoper); copydata=null; },500); } - if(rp_ge[$t.p.id].checkOnSubmit || rp_ge[$t.p.id].checkOnUpdate) { - $("#"+frmgr).data("disabled",false); - if(rp_ge[$t.p.id]._savedData[$t.p.id+"_id"] !="_empty"){ - for(var key in rp_ge[$t.p.id]._savedData) { - if(postdata[key]) { - rp_ge[$t.p.id]._savedData[key] = postdata[key]; + if(rp_ge[$t.p.id].checkOnSubmit || rp_ge[$t.p.id].checkOnUpdate) { + $("#"+frmgr).data("disabled",false); + if(rp_ge[$t.p.id]._savedData[$t.p.id+"_id"] !== "_empty"){ + for(key in rp_ge[$t.p.id]._savedData) { + if(rp_ge[$t.p.id]._savedData.hasOwnProperty(key) && postdata[key]) { + rp_ge[$t.p.id]._savedData[key] = postdata[key]; + } } } } } - } rp_ge[$t.p.id].processing=false; $("#sData", frmtb+"_2").removeClass('ui-state-active'); try{$(':input:visible',"#"+frmgr)[0].focus();} catch (e){} @@ -7688,17 +7885,17 @@ if (ret[0]) { if (rp_ge[$t.p.id].useDataProxy) { var dpret = $t.p.dataProxy.call($t, ajaxOptions, "set_"+$t.p.id); - if(typeof(dpret) == "undefined") { + if(dpret === undefined) { dpret = [true, ""]; } if(dpret[0] === false ) { ret[0] = false; ret[1] = dpret[1] || "Error deleting the selected row!" ; } else { - if(ajaxOptions.data.oper == opers.addoper && rp_ge[$t.p.id].closeAfterAdd ) { + if(ajaxOptions.data.oper === opers.addoper && rp_ge[$t.p.id].closeAfterAdd ) { $.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal, onClose: rp_ge[$t.p.id].onClose}); } - if(ajaxOptions.data.oper == opers.editoper && rp_ge[$t.p.id].closeAfterEdit ) { + if(ajaxOptions.data.oper === opers.editoper && rp_ge[$t.p.id].closeAfterEdit ) { $.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal, onClose: rp_ge[$t.p.id].onClose}); } } @@ -7716,7 +7913,7 @@ function compareData(nObj, oObj ) { var ret = false,key; for (key in nObj) { - if(nObj[key] != oObj[key]) { + if(nObj.hasOwnProperty(key) && nObj[key] != oObj[key]) { ret = true; break; } @@ -7727,10 +7924,9 @@ var stat = true; $("#FormError",frmtb).hide(); if(rp_ge[$t.p.id].checkOnUpdate) { - postdata = {};extpost={}; + postdata = {}; getFormData(); - newData = $.extend({},postdata,extpost); - diff = compareData(newData,rp_ge[$t.p.id]._savedData); + diff = compareData(postdata,rp_ge[$t.p.id]._savedData); if(diff) { $("#"+frmgr).data("disabled",true); $(".confirm","#"+IDs.themodal).show(); @@ -7741,8 +7937,9 @@ } function restoreInline() { - if (rowid !== "_empty" && typeof($t.p.savedRow) !== "undefined" && $t.p.savedRow.length > 0 && $.isFunction($.fn.jqGrid.restoreRow)) { - for (var i=0;i<$t.p.savedRow.length;i++) { + var i; + if (rowid !== "_empty" && $t.p.savedRow !== undefined && $t.p.savedRow.length > 0 && $.isFunction($.fn.jqGrid.restoreRow)) { + for (i=0;i<$t.p.savedRow.length;i++) { if ($t.p.savedRow[i].id == rowid) { $($t).jqGrid('restoreRow',rowid); break; @@ -7750,9 +7947,23 @@ } } } - function updateNav(cr,totr){ - if (cr===0) {$("#pData",frmtb+"_2").addClass('ui-state-disabled');} else {$("#pData",frmtb+"_2").removeClass('ui-state-disabled');} - if (cr==totr) {$("#nData",frmtb+"_2").addClass('ui-state-disabled');} else {$("#nData",frmtb+"_2").removeClass('ui-state-disabled');} + function updateNav(cr, posarr){ + var totr = posarr[1].length-1; + if (cr===0) { + $("#pData",frmtb+"_2").addClass('ui-state-disabled'); + } else if( posarr[1][cr-1] !== undefined && $("#"+$.jgrid.jqID(posarr[1][cr-1])).hasClass('ui-state-disabled')) { + $("#pData",frmtb+"_2").addClass('ui-state-disabled'); + } else { + $("#pData",frmtb+"_2").removeClass('ui-state-disabled'); + } + + if (cr===totr) { + $("#nData",frmtb+"_2").addClass('ui-state-disabled'); + } else if( posarr[1][cr+1] !== undefined && $("#"+$.jgrid.jqID(posarr[1][cr+1])).hasClass('ui-state-disabled')) { + $("#nData",frmtb+"_2").addClass('ui-state-disabled'); + } else { + $("#nData",frmtb+"_2").removeClass('ui-state-disabled'); + } } function getCurrPos() { var rowsInGrid = $($t).jqGrid("getDataIDs"), @@ -7763,11 +7974,11 @@ if ( $("#"+$.jgrid.jqID(IDs.themodal))[0] !== undefined ) { showFrm = $($t).triggerHandler("jqGridAddEditBeforeInitData", [$("#"+$.jgrid.jqID(frmgr)), frmoper]); - if(typeof(showFrm) == "undefined") { + if(showFrm === undefined) { showFrm = true; } if(showFrm && onBeforeInit) { - showFrm = onBeforeInit.call($t,$("#"+frmgr)); + showFrm = onBeforeInit.call($t,$("#"+frmgr), frmoper); } if(showFrm === false) {return;} restoreInline(); @@ -7788,7 +7999,7 @@ // filldata fillData(rowid,$t,frmgr); /// - if(rowid=="_empty" || !rp_ge[$t.p.id].viewPagerButtons) { + if(rowid==="_empty" || !rp_ge[$t.p.id].viewPagerButtons) { $("#pData, #nData",frmtb+"_2").hide(); } else { $("#pData, #nData",frmtb+"_2").show(); @@ -7802,28 +8013,29 @@ $("#"+frmgr).data("disabled",false); } $($t).triggerHandler("jqGridAddEditBeforeShowForm", [$("#"+frmgr), frmoper]); - if(onBeforeShow) { onBeforeShow.call($t, $("#"+frmgr)); } + if(onBeforeShow) { onBeforeShow.call($t, $("#"+frmgr), frmoper); } $("#"+$.jgrid.jqID(IDs.themodal)).data("onClose",rp_ge[$t.p.id].onClose); - $.jgrid.viewModal("#"+$.jgrid.jqID(IDs.themodal),{gbox:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal, jqM: false, overlay: p.overlay, modal:p.modal}); + $.jgrid.viewModal("#"+$.jgrid.jqID(IDs.themodal),{gbox:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal, jqM: false, overlay: p.overlay, modal:p.modal, overlayClass : p.overlayClass}); if(!closeovrl) { - $(".jqmOverlay").click(function(){ + $("." + $.jgrid.jqID(p.overlayClass)).click(function(){ if(!checkUpdates()) {return false;} $.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal, onClose: rp_ge[$t.p.id].onClose}); return false; }); } $($t).triggerHandler("jqGridAddEditAfterShowForm", [$("#"+frmgr), frmoper]); - if(onAfterShow) { onAfterShow.call($t, $("#"+frmgr)); } + if(onAfterShow) { onAfterShow.call($t, $("#"+frmgr), frmoper); } } else { var dh = isNaN(p.dataheight) ? p.dataheight : p.dataheight+"px", - frm = $("<form name='FormPost' id='"+frmgr+"' class='FormGrid' onSubmit='return false;' style='width:100%;overflow:auto;position:relative;height:"+dh+";'></form>").data("disabled",false), + dw = isNaN(p.datawidth) ? p.datawidth : p.datawidth+"px", + frm = $("<form name='FormPost' id='"+frmgr+"' class='FormGrid' onSubmit='return false;' style='width:"+dw+";overflow:auto;position:relative;height:"+dh+";'></form>").data("disabled",false), tbl = $("<table id='"+frmtborg+"' class='EditTable' cellspacing='0' cellpadding='0' border='0'><tbody></tbody></table>"); showFrm = $($t).triggerHandler("jqGridAddEditBeforeInitData", [$("#"+frmgr), frmoper]); - if(typeof(showFrm) == "undefined") { + if(showFrm === undefined) { showFrm = true; } if(showFrm && onBeforeInit) { - showFrm = onBeforeInit.call($t,$("#"+frmgr)); + showFrm = onBeforeInit.call($t,$("#"+frmgr,frmoper)); } if(showFrm === false) {return;} restoreInline(); @@ -7843,7 +8055,7 @@ // set the id. // use carefull only to change here colproperties. // create data - var rtlb = $t.p.direction == "rtl" ? true :false, + var rtlb = $t.p.direction === "rtl" ? true :false, bp = rtlb ? "nData" : "pData", bn = rtlb ? "pData" : "nData"; createData(rowid,$t,tbl,maxCols); @@ -7875,7 +8087,7 @@ p.closeOnEscape = false; cle = true; } - var tms = $("<span></span>").append(frm).append(bt); + var tms = $("<div></div>").append(frm).append(bt); $.jgrid.createModal(IDs,tms,p,"#gview_"+$.jgrid.jqID($t.p.id),$("#gbox_"+$.jgrid.jqID($t.p.id))[0]); if(rtlb) { $("#pData, #nData",frmtb+"_2").css("float","right"); @@ -7887,24 +8099,24 @@ $("#"+$.jgrid.jqID(IDs.themodal)).keydown( function( e ) { var wkey = e.target; if ($("#"+frmgr).data("disabled")===true ) {return false;}//?? - if(rp_ge[$t.p.id].savekey[0] === true && e.which == rp_ge[$t.p.id].savekey[1]) { // save - if(wkey.tagName != "TEXTAREA") { + if(rp_ge[$t.p.id].savekey[0] === true && e.which === rp_ge[$t.p.id].savekey[1]) { // save + if(wkey.tagName !== "TEXTAREA") { $("#sData", frmtb+"_2").trigger("click"); return false; } } if(e.which === 27) { if(!checkUpdates()) {return false;} - if(cle) {$.jgrid.hideModal(this,{gb:p.gbox,jqm:p.jqModal, onClose: rp_ge[$t.p.id].onClose});} + if(cle) {$.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:p.gbox,jqm:p.jqModal, onClose: rp_ge[$t.p.id].onClose});} return false; } if(rp_ge[$t.p.id].navkeys[0]===true) { - if($("#id_g",frmtb).val() == "_empty") {return true;} - if(e.which == rp_ge[$t.p.id].navkeys[1]){ //up + if($("#id_g",frmtb).val() === "_empty") {return true;} + if(e.which === rp_ge[$t.p.id].navkeys[1]){ //up $("#pData", frmtb+"_2").trigger("click"); return false; } - if(e.which == rp_ge[$t.p.id].navkeys[2]){ //down + if(e.which === rp_ge[$t.p.id].navkeys[2]){ //down $("#nData", frmtb+"_2").trigger("click"); return false; } @@ -7923,22 +8135,19 @@ p.closeicon = $.extend([true,"left","ui-icon-close"],p.closeicon); // beforeinitdata after creation of the form if(p.saveicon[0]===true) { - $("#sData",frmtb+"_2").addClass(p.saveicon[1] == "right" ? 'fm-button-icon-right' : 'fm-button-icon-left') + $("#sData",frmtb+"_2").addClass(p.saveicon[1] === "right" ? 'fm-button-icon-right' : 'fm-button-icon-left') .append("<span class='ui-icon "+p.saveicon[2]+"'></span>"); } if(p.closeicon[0]===true) { - $("#cData",frmtb+"_2").addClass(p.closeicon[1] == "right" ? 'fm-button-icon-right' : 'fm-button-icon-left') + $("#cData",frmtb+"_2").addClass(p.closeicon[1] === "right" ? 'fm-button-icon-right' : 'fm-button-icon-left') .append("<span class='ui-icon "+p.closeicon[2]+"'></span>"); } if(rp_ge[$t.p.id].checkOnSubmit || rp_ge[$t.p.id].checkOnUpdate) { bS ="<a href='javascript:void(0)' id='sNew' class='fm-button ui-state-default ui-corner-all' style='z-index:1002'>"+p.bYes+"</a>"; bN ="<a href='javascript:void(0)' id='nNew' class='fm-button ui-state-default ui-corner-all' style='z-index:1002'>"+p.bNo+"</a>"; bC ="<a href='javascript:void(0)' id='cNew' class='fm-button ui-state-default ui-corner-all' style='z-index:1002'>"+p.bExit+"</a>"; - var ii, zI = p.zIndex || 999;zI ++; - if ($.browser.msie && $.browser.version ==6) { - ii = '<iframe style="display:block;position:absolute;z-index:-1;filter:Alpha(Opacity=\'0\');" src="javascript:false;"></iframe>'; - } else {ii="";} - $("<div class='ui-widget-overlay jqgrid-overlay confirm' style='z-index:"+zI+";display:none;'> "+ii+"</div><div class='confirm ui-widget-content ui-jqconfirm' style='z-index:"+(zI+1)+"'>"+p.saveData+"<br/><br/>"+bS+bN+bC+"</div>").insertAfter("#"+frmgr); + var zI = p.zIndex || 999;zI ++; + $("<div class='"+ p.overlayClass+" jqgrid-overlay confirm' style='z-index:"+zI+";display:none;'> "+"</div><div class='confirm ui-widget-content ui-jqconfirm' style='z-index:"+(zI+1)+"'>"+p.saveData+"<br/><br/>"+bS+bN+bC+"</div>").insertAfter("#"+frmgr); $("#sNew","#"+$.jgrid.jqID(IDs.themodal)).click(function(){ postIt(); $("#"+frmgr).data("disabled",false); @@ -7948,7 +8157,7 @@ $("#nNew","#"+$.jgrid.jqID(IDs.themodal)).click(function(){ $(".confirm","#"+$.jgrid.jqID(IDs.themodal)).hide(); $("#"+frmgr).data("disabled",false); - setTimeout(function(){$(":input","#"+frmgr)[0].focus();},0); + setTimeout(function(){$(":input:visible","#"+frmgr)[0].focus();},0); return false; }); $("#cNew","#"+$.jgrid.jqID(IDs.themodal)).click(function(){ @@ -7960,37 +8169,36 @@ } // here initform - only once $($t).triggerHandler("jqGridAddEditInitializeForm", [$("#"+frmgr), frmoper]); - if(onInitializeForm) {onInitializeForm.call($t,$("#"+frmgr));} - if(rowid=="_empty" || !rp_ge[$t.p.id].viewPagerButtons) {$("#pData,#nData",frmtb+"_2").hide();} else {$("#pData,#nData",frmtb+"_2").show();} + if(onInitializeForm) {onInitializeForm.call($t,$("#"+frmgr), frmoper);} + if(rowid==="_empty" || !rp_ge[$t.p.id].viewPagerButtons) {$("#pData,#nData",frmtb+"_2").hide();} else {$("#pData,#nData",frmtb+"_2").show();} $($t).triggerHandler("jqGridAddEditBeforeShowForm", [$("#"+frmgr), frmoper]); - if(onBeforeShow) { onBeforeShow.call($t, $("#"+frmgr));} + if(onBeforeShow) { onBeforeShow.call($t, $("#"+frmgr), frmoper);} $("#"+$.jgrid.jqID(IDs.themodal)).data("onClose",rp_ge[$t.p.id].onClose); - $.jgrid.viewModal("#"+$.jgrid.jqID(IDs.themodal),{gbox:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal, overlay: p.overlay,modal:p.modal}); + $.jgrid.viewModal("#"+$.jgrid.jqID(IDs.themodal),{gbox:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal, overlay: p.overlay,modal:p.modal, overlayClass: p.overlayClass}); if(!closeovrl) { - $(".jqmOverlay").click(function(){ + $("." + $.jgrid.jqID(p.overlayClass)).click(function(){ if(!checkUpdates()) {return false;} $.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal, onClose: rp_ge[$t.p.id].onClose}); return false; }); } $($t).triggerHandler("jqGridAddEditAfterShowForm", [$("#"+frmgr), frmoper]); - if(onAfterShow) { onAfterShow.call($t, $("#"+frmgr)); } + if(onAfterShow) { onAfterShow.call($t, $("#"+frmgr), frmoper); } $(".fm-button","#"+$.jgrid.jqID(IDs.themodal)).hover( function(){$(this).addClass('ui-state-hover');}, function(){$(this).removeClass('ui-state-hover');} ); $("#sData", frmtb+"_2").click(function(){ - postdata = {};extpost={}; + postdata = {}; $("#FormError",frmtb).hide(); // all depend on ret array //ret[0] - succes //ret[1] - msg if not succes //ret[2] - the id that will be set if reload after submit false getFormData(); - if(postdata[$t.p.id+"_id"] == "_empty") {postIt();} + if(postdata[$t.p.id+"_id"] === "_empty") {postIt();} else if(p.checkOnSubmit===true ) { - newData = $.extend({},postdata,extpost); - diff = compareData(newData,rp_ge[$t.p.id]._savedData); + diff = compareData(postdata,rp_ge[$t.p.id]._savedData); if(diff) { $("#"+frmgr).data("disabled",true); $(".confirm","#"+$.jgrid.jqID(IDs.themodal)).show(); @@ -8012,9 +8220,9 @@ $("#FormError",frmtb).hide(); var npos = getCurrPos(); npos[0] = parseInt(npos[0],10); - if(npos[0] != -1 && npos[1][npos[0]+1]) { + if(npos[0] !== -1 && npos[1][npos[0]+1]) { $($t).triggerHandler("jqGridAddEditClickPgButtons", ['next',$("#"+frmgr),npos[1][npos[0]]]); - var nposret = true; + var nposret; if($.isFunction(p.onclickPgButtons)) { nposret = p.onclickPgButtons.call($t, 'next',$("#"+frmgr),npos[1][npos[0]]); if( nposret !== undefined && nposret === false ) {return false;} @@ -8026,7 +8234,7 @@ if($.isFunction(p.afterclickPgButtons)) { p.afterclickPgButtons.call($t, 'next',$("#"+frmgr),npos[1][npos[0]+1]); } - updateNav(npos[0]+1,npos[1].length-1); + updateNav(npos[0]+1,npos); } return false; }); @@ -8034,9 +8242,9 @@ if(!checkUpdates()) {return false;} $("#FormError",frmtb).hide(); var ppos = getCurrPos(); - if(ppos[0] != -1 && ppos[1][ppos[0]-1]) { + if(ppos[0] !== -1 && ppos[1][ppos[0]-1]) { $($t).triggerHandler("jqGridAddEditClickPgButtons", ['prev',$("#"+frmgr),ppos[1][ppos[0]]]); - var pposret = true; + var pposret; if($.isFunction(p.onclickPgButtons)) { pposret = p.onclickPgButtons.call($t, 'prev',$("#"+frmgr),ppos[1][ppos[0]]); if( pposret !== undefined && pposret === false ) {return false;} @@ -8048,21 +8256,22 @@ if($.isFunction(p.afterclickPgButtons)) { p.afterclickPgButtons.call($t, 'prev',$("#"+frmgr),ppos[1][ppos[0]-1]); } - updateNav(ppos[0]-1,ppos[1].length-1); + updateNav(ppos[0]-1,ppos); } return false; }); } var posInit =getCurrPos(); - updateNav(posInit[0],posInit[1].length-1); + updateNav(posInit[0],posInit); }); }, viewGridRow : function(rowid, p){ - p = $.extend({ + p = $.extend(true, { top : 0, left: 0, width: 0, + datawidth: 'auto', height: 'auto', dataheight: 'auto', modal: false, @@ -8077,7 +8286,8 @@ onClose: null, beforeShowForm : null, beforeInitData : null, - viewPagerButtons : true + viewPagerButtons : true, + recreateForm : false }, $.jgrid.view, p || {}); rp_ge[$(this)[0].p.id] = p; return this.each(function(){ @@ -8090,18 +8300,21 @@ onBeforeInit = $.isFunction(rp_ge[$t.p.id].beforeInitData) ? rp_ge[$t.p.id].beforeInitData : false, showFrm = true, maxCols = 1, maxRows=0; + if(p.recreateForm===true && $("#"+$.jgrid.jqID(IDs.themodal))[0] !== undefined) { + $("#"+$.jgrid.jqID(IDs.themodal)).remove(); + } function focusaref(){ //Sfari 3 issues if(rp_ge[$t.p.id].closeOnEscape===true || rp_ge[$t.p.id].navkeys[0]===true) { setTimeout(function(){$(".ui-jqdialog-titlebar-close","#"+$.jgrid.jqID(IDs.modalhead)).focus();},0); } } function createData(rowid,obj,tb,maxcols){ - var nm, hc,trdata, cnt=0,tmp, dc, retpos=[], ind=false, + var nm, hc,trdata, cnt=0,tmp, dc, retpos=[], ind=false, i, tdtmpl = "<td class='CaptionTD form-view-label ui-widget-content' width='"+p.labelswidth+"'> </td><td class='DataTD form-view-data ui-helper-reset ui-widget-content'> </td>", tmpl="", tdtmpl2 = "<td class='CaptionTD form-view-label ui-widget-content'> </td><td class='DataTD form-view-data ui-widget-content'> </td>", fmtnum = ['integer','number','currency'],max1 =0, max2=0 ,maxw,setme, viewfld; - for (var i =1;i<=maxcols;i++) { - tmpl += i == 1 ? tdtmpl : tdtmpl2; + for (i=1;i<=maxcols;i++) { + tmpl += i === 1 ? tdtmpl : tdtmpl2; } // find max number align rigth with property formatter $(obj.p.colModel).each( function() { @@ -8130,12 +8343,12 @@ hc = this.hidden === true ? true : false; } dc = hc ? "style='display:none'" : ""; - viewfld = (typeof this.viewable != 'boolean') ? true : this.viewable; + viewfld = (typeof this.viewable !== 'boolean') ? true : this.viewable; if ( nm !== 'cb' && nm !== 'subgrid' && nm !== 'rn' && viewfld) { if(ind === false) { tmp = ""; } else { - if(nm == obj.p.ExpandColumn && obj.p.treeGrid === true) { + if(nm === obj.p.ExpandColumn && obj.p.treeGrid === true) { tmp = $("td:eq("+i+")",obj.rows[ind]).text(); } else { tmp = $("td:eq("+i+")",obj.rows[ind]).html(); @@ -8157,7 +8370,7 @@ $(tb).append(trdata); trdata[0].rp = rp; } - $("td:eq("+(cp-2)+")",trdata[0]).html('<b>'+ (typeof frmopt.label === 'undefined' ? obj.p.colNames[i]: frmopt.label)+'</b>'); + $("td:eq("+(cp-2)+")",trdata[0]).html('<b>'+ (frmopt.label === undefined ? obj.p.colNames[i]: frmopt.label)+'</b>'); $("td:eq("+(cp-1)+")",trdata[0]).append("<span>"+tmp+"</span>").attr("id","v_"+nm); if(setme){ $("td:eq("+(cp-1)+") span",trdata[0]).css({'text-align':'right',width:maxw+"px"}); @@ -8174,7 +8387,7 @@ return retpos; } function fillData(rowid,obj){ - var nm, hc,cnt=0,tmp, opt,trv; + var nm, hc,cnt=0,tmp,trv; trv = $(obj).jqGrid("getInd",rowid,true); if(!trv) {return;} $('td',trv).each( function(i) { @@ -8186,12 +8399,11 @@ hc = obj.p.colModel[i].hidden === true ? true : false; } if ( nm !== 'cb' && nm !== 'subgrid' && nm !== 'rn') { - if(nm == obj.p.ExpandColumn && obj.p.treeGrid === true) { + if(nm === obj.p.ExpandColumn && obj.p.treeGrid === true) { tmp = $(this).text(); } else { tmp = $(this).html(); } - opt = $.extend({},obj.p.colModel[i].editoptions || {}); nm = $.jgrid.jqID("v_"+nm); $("#"+nm+" span","#"+frmtb).html(tmp); if (hc) {$("#"+nm,"#"+frmtb).parents("tr:first").hide();} @@ -8200,9 +8412,22 @@ }); if(cnt>0) {$("#id_g","#"+frmtb).val(rowid);} } - function updateNav(cr,totr){ - if (cr===0) {$("#pData","#"+frmtb+"_2").addClass('ui-state-disabled');} else {$("#pData","#"+frmtb+"_2").removeClass('ui-state-disabled');} - if (cr==totr) {$("#nData","#"+frmtb+"_2").addClass('ui-state-disabled');} else {$("#nData","#"+frmtb+"_2").removeClass('ui-state-disabled');} + function updateNav(cr,posarr){ + var totr = posarr[1].length-1; + if (cr===0) { + $("#pData","#"+frmtb+"_2").addClass('ui-state-disabled'); + } else if( posarr[1][cr-1] !== undefined && $("#"+$.jgrid.jqID(posarr[1][cr-1])).hasClass('ui-state-disabled')) { + $("#pData",frmtb+"_2").addClass('ui-state-disabled'); + } else { + $("#pData","#"+frmtb+"_2").removeClass('ui-state-disabled'); + } + if (cr===totr) { + $("#nData","#"+frmtb+"_2").addClass('ui-state-disabled'); + } else if( posarr[1][cr+1] !== undefined && $("#"+$.jgrid.jqID(posarr[1][cr+1])).hasClass('ui-state-disabled')) { + $("#nData",frmtb+"_2").addClass('ui-state-disabled'); + } else { + $("#nData","#"+frmtb+"_2").removeClass('ui-state-disabled'); + } } function getCurrPos() { var rowsInGrid = $($t).jqGrid("getDataIDs"), @@ -8214,7 +8439,7 @@ if ( $("#"+$.jgrid.jqID(IDs.themodal))[0] !== undefined ) { if(onBeforeInit) { showFrm = onBeforeInit.call($t,$("#"+frmgr)); - if(typeof(showFrm) == "undefined") { + if(showFrm === undefined) { showFrm = true; } } @@ -8226,12 +8451,13 @@ $.jgrid.viewModal("#"+$.jgrid.jqID(IDs.themodal),{gbox:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal, jqM: false, overlay: p.overlay, modal:p.modal}); focusaref(); } else { - var dh = isNaN(p.dataheight) ? p.dataheight : p.dataheight+"px"; - var frm = $("<form name='FormPost' id='"+frmgr_id+"' class='FormGrid' style='width:100%;overflow:auto;position:relative;height:"+dh+";'></form>"), + var dh = isNaN(p.dataheight) ? p.dataheight : p.dataheight+"px", + dw = isNaN(p.datawidth) ? p.datawidth : p.datawidth+"px", + frm = $("<form name='FormPost' id='"+frmgr_id+"' class='FormGrid' style='width:"+dw+";overflow:auto;position:relative;height:"+dh+";'></form>"), tbl =$("<table id='"+frmtb_id+"' class='EditTable' cellspacing='1' cellpadding='2' border='0' style='table-layout:fixed'><tbody></tbody></table>"); if(onBeforeInit) { showFrm = onBeforeInit.call($t,$("#"+frmgr)); - if(typeof(showFrm) == "undefined") { + if(showFrm === undefined) { showFrm = true; } } @@ -8244,7 +8470,7 @@ // set the id. $(frm).append(tbl); createData(rowid, $t, tbl, maxCols); - var rtlb = $t.p.direction == "rtl" ? true :false, + var rtlb = $t.p.direction === "rtl" ? true :false, bp = rtlb ? "nData" : "pData", bn = rtlb ? "pData" : "nData", @@ -8267,7 +8493,7 @@ }); } p.gbox = "#gbox_"+$.jgrid.jqID(gID); - var bt = $("<span></span>").append(frm).append("<table border='0' class='EditTable' id='"+frmtb+"_2'><tbody><tr id='Act_Buttons'><td class='navButton' width='"+p.labelswidth+"'>"+(rtlb ? bN+bP : bP+bN)+"</td><td class='EditButton'>"+bC+"</td></tr></tbody></table>"); + var bt = $("<div></div>").append(frm).append("<table border='0' class='EditTable' id='"+frmtb+"_2'><tbody><tr id='Act_Buttons'><td class='navButton' width='"+p.labelswidth+"'>"+(rtlb ? bN+bP : bP+bN)+"</td><td class='EditButton'>"+bC+"</td></tr></tbody></table>"); $.jgrid.createModal(IDs,bt,p,"#gview_"+$.jgrid.jqID($t.p.id),$("#gview_"+$.jgrid.jqID($t.p.id))[0]); if(rtlb) { $("#pData, #nData","#"+frmtb+"_2").css("float","right"); @@ -8277,7 +8503,7 @@ bt = null; $("#"+IDs.themodal).keydown( function( e ) { if(e.which === 27) { - if(rp_ge[$t.p.id].closeOnEscape) {$.jgrid.hideModal(this,{gb:p.gbox,jqm:p.jqModal, onClose: p.onClose});} + if(rp_ge[$t.p.id].closeOnEscape) {$.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:p.gbox,jqm:p.jqModal, onClose: p.onClose});} return false; } if(p.navkeys[0]===true) { @@ -8293,11 +8519,11 @@ }); p.closeicon = $.extend([true,"left","ui-icon-close"],p.closeicon); if(p.closeicon[0]===true) { - $("#cData","#"+frmtb+"_2").addClass(p.closeicon[1] == "right" ? 'fm-button-icon-right' : 'fm-button-icon-left') + $("#cData","#"+frmtb+"_2").addClass(p.closeicon[1] === "right" ? 'fm-button-icon-right' : 'fm-button-icon-left') .append("<span class='ui-icon "+p.closeicon[2]+"'></span>"); } if($.isFunction(p.beforeShowForm)) {p.beforeShowForm.call($t,$("#"+frmgr));} - $.jgrid.viewModal("#"+$.jgrid.jqID(IDs.themodal),{gbox:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal, modal:p.modal}); + $.jgrid.viewModal("#"+$.jgrid.jqID(IDs.themodal),{gbox:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal,overlay: p.overlay, modal:p.modal}); $(".fm-button:not(.ui-state-disabled)","#"+frmtb+"_2").hover( function(){$(this).addClass('ui-state-hover');}, function(){$(this).removeClass('ui-state-hover');} @@ -8311,7 +8537,7 @@ $("#FormError","#"+frmtb).hide(); var npos = getCurrPos(); npos[0] = parseInt(npos[0],10); - if(npos[0] != -1 && npos[1][npos[0]+1]) { + if(npos[0] !== -1 && npos[1][npos[0]+1]) { if($.isFunction(p.onclickPgButtons)) { p.onclickPgButtons.call($t,'next',$("#"+frmgr),npos[1][npos[0]]); } @@ -8320,7 +8546,7 @@ if($.isFunction(p.afterclickPgButtons)) { p.afterclickPgButtons.call($t,'next',$("#"+frmgr),npos[1][npos[0]+1]); } - updateNav(npos[0]+1,npos[1].length-1); + updateNav(npos[0]+1,npos); } focusaref(); return false; @@ -8328,7 +8554,7 @@ $("#pData", "#"+frmtb+"_2").click(function(){ $("#FormError","#"+frmtb).hide(); var ppos = getCurrPos(); - if(ppos[0] != -1 && ppos[1][ppos[0]-1]) { + if(ppos[0] !== -1 && ppos[1][ppos[0]-1]) { if($.isFunction(p.onclickPgButtons)) { p.onclickPgButtons.call($t,'prev',$("#"+frmgr),ppos[1][ppos[0]]); } @@ -8337,18 +8563,18 @@ if($.isFunction(p.afterclickPgButtons)) { p.afterclickPgButtons.call($t,'prev',$("#"+frmgr),ppos[1][ppos[0]-1]); } - updateNav(ppos[0]-1,ppos[1].length-1); + updateNav(ppos[0]-1,ppos); } focusaref(); return false; }); } var posInit =getCurrPos(); - updateNav(posInit[0],posInit[1].length-1); + updateNav(posInit[0],posInit); }); }, delGridRow : function(rowids,p) { - p = $.extend({ + p = $.extend(true, { top : 0, left: 0, width: 240, @@ -8391,11 +8617,11 @@ dtbl = "DelTbl_"+$.jgrid.jqID(gID),postd, idname, opers, oper, dtbl_id = "DelTbl_" + gID, IDs = {themodal:'delmod'+gID,modalhead:'delhd'+gID,modalcontent:'delcnt'+gID, scrollelm: dtbl}; - if (jQuery.isArray(rowids)) {rowids = rowids.join();} + if ($.isArray(rowids)) {rowids = rowids.join();} if ( $("#"+$.jgrid.jqID(IDs.themodal))[0] !== undefined ) { if(onBeforeInit) { showFrm = onBeforeInit.call($t,$("#"+dtbl)); - if(typeof(showFrm) == "undefined") { + if(showFrm === undefined) { showFrm = true; } } @@ -8410,8 +8636,9 @@ $.jgrid.viewModal("#"+$.jgrid.jqID(IDs.themodal),{gbox:"#gbox_"+$.jgrid.jqID(gID),jqm:rp_ge[$t.p.id].jqModal,jqM: false, overlay: rp_ge[$t.p.id].overlay, modal:rp_ge[$t.p.id].modal}); if(onAfterShow) {rp_ge[$t.p.id].afterShowForm.call($t,$("#"+dtbl));} } else { - var dh = isNaN(rp_ge[$t.p.id].dataheight) ? rp_ge[$t.p.id].dataheight : rp_ge[$t.p.id].dataheight+"px"; - var tbl = "<div id='"+dtbl_id+"' class='formdata' style='width:100%;overflow:auto;position:relative;height:"+dh+";'>"; + var dh = isNaN(rp_ge[$t.p.id].dataheight) ? rp_ge[$t.p.id].dataheight : rp_ge[$t.p.id].dataheight+"px", + dw = isNaN(p.datawidth) ? p.datawidth : p.datawidth+"px", + tbl = "<div id='"+dtbl_id+"' class='formdata' style='width:"+dw+";overflow:auto;position:relative;height:"+dh+";'>"; tbl += "<table class='DelTable'><tbody>"; // error data tbl += "<tr id='DelError' style='display:none'><td class='ui-state-error'></td></tr>"; @@ -8427,7 +8654,7 @@ if(onBeforeInit) { showFrm = onBeforeInit.call($t,$("#"+dtbl)); - if(typeof(showFrm) == "undefined") { + if(showFrm === undefined) { showFrm = true; } } @@ -8440,16 +8667,17 @@ p.delicon = $.extend([true,"left","ui-icon-scissors"],rp_ge[$t.p.id].delicon); p.cancelicon = $.extend([true,"left","ui-icon-cancel"],rp_ge[$t.p.id].cancelicon); if(p.delicon[0]===true) { - $("#dData","#"+dtbl+"_2").addClass(p.delicon[1] == "right" ? 'fm-button-icon-right' : 'fm-button-icon-left') + $("#dData","#"+dtbl+"_2").addClass(p.delicon[1] === "right" ? 'fm-button-icon-right' : 'fm-button-icon-left') .append("<span class='ui-icon "+p.delicon[2]+"'></span>"); } if(p.cancelicon[0]===true) { - $("#eData","#"+dtbl+"_2").addClass(p.cancelicon[1] == "right" ? 'fm-button-icon-right' : 'fm-button-icon-left') + $("#eData","#"+dtbl+"_2").addClass(p.cancelicon[1] === "right" ? 'fm-button-icon-right' : 'fm-button-icon-left') .append("<span class='ui-icon "+p.cancelicon[2]+"'></span>"); } $("#dData","#"+dtbl+"_2").click(function(){ - var ret=[true,""];onCS = {}; - var postdata = $("#DelData>td","#"+dtbl).text(); //the pair is name=val1,val2,... + var ret=[true,""], pk, + postdata = $("#DelData>td","#"+dtbl).text(); //the pair is name=val1,val2,... + onCS = {}; if( $.isFunction( rp_ge[$t.p.id].onclickSubmit ) ) {onCS = rp_ge[$t.p.id].onclickSubmit.call($t,rp_ge[$t.p.id], postdata) || {};} if( $.isFunction( rp_ge[$t.p.id].beforeSubmit ) ) {ret = rp_ge[$t.p.id].beforeSubmit.call($t,postdata);} if(ret[0] && !rp_ge[$t.p.id].processing) { @@ -8461,7 +8689,7 @@ idname = opers.id; postdata = String(postdata).split(","); if(!postdata.length) { return false; } - for( var pk in postdata) { + for(pk in postdata) { if(postdata.hasOwnProperty(pk)) { postdata[pk] = $.jgrid.stripPref($t.p.idPrefix, postdata[pk]); } @@ -8469,16 +8697,17 @@ postd[idname] = postdata.join(); $(this).addClass('ui-state-active'); var ajaxOptions = $.extend({ - url: rp_ge[$t.p.id].url ? rp_ge[$t.p.id].url : $($t).jqGrid('getGridParam','editurl'), + url: rp_ge[$t.p.id].url || $($t).jqGrid('getGridParam','editurl'), type: rp_ge[$t.p.id].mtype, data: $.isFunction(rp_ge[$t.p.id].serializeDelData) ? rp_ge[$t.p.id].serializeDelData.call($t,postd) : postd, - complete:function(data,Status){ - if(Status != "success") { + complete:function(data,status){ + var i; + if(data.status >= 300 && data.status !== 304) { ret[0] = false; if ($.isFunction(rp_ge[$t.p.id].errorTextFormat)) { ret[1] = rp_ge[$t.p.id].errorTextFormat.call($t,data); } else { - ret[1] = Status + " Status: '" + data.statusText + "'. Error code: " + data.status; + ret[1] = status + " Status: '" + data.statusText + "'. Error code: " + data.status; } } else { // data is posted successful @@ -8491,13 +8720,13 @@ $("#DelError>td","#"+dtbl).html(ret[1]); $("#DelError","#"+dtbl).show(); } else { - if(rp_ge[$t.p.id].reloadAfterSubmit && $t.p.datatype != "local") { + if(rp_ge[$t.p.id].reloadAfterSubmit && $t.p.datatype !== "local") { $($t).trigger("reloadGrid"); } else { if($t.p.treeGrid===true){ try {$($t).jqGrid("delTreeNode",$t.p.idPrefix+postdata[0]);} catch(e){} } else { - for(var i=0;i<postdata.length;i++) { + for(i=0;i<postdata.length;i++) { $($t).jqGrid("delRowData",$t.p.idPrefix+ postdata[i]); } } @@ -8525,7 +8754,7 @@ if (ret[0]) { if (rp_ge[$t.p.id].useDataProxy) { var dpret = $t.p.dataProxy.call($t, ajaxOptions, "del_"+$t.p.id); - if(typeof(dpret) == "undefined") { + if(dpret === undefined) { dpret = [true, ""]; } if(dpret[0] === false ) { @@ -8586,15 +8815,15 @@ }, $.jgrid.nav, o ||{}); return this.each(function() { if(this.nav) {return;} - var alertIDs = {themodal:'alertmod',modalhead:'alerthd',modalcontent:'alertcnt'}, + var alertIDs = {themodal: 'alertmod_' + this.p.id, modalhead: 'alerthd_' + this.p.id,modalcontent: 'alertcnt_' + this.p.id}, $t = this, twd, tdw; - if(!$t.grid || typeof elem != 'string') {return;} + if(!$t.grid || typeof elem !== 'string') {return;} if ($("#"+alertIDs.themodal)[0] === undefined) { if(!o.alerttop && !o.alertleft) { - if (typeof window.innerWidth != 'undefined') { + if (window.innerWidth !== undefined) { o.alertleft = window.innerWidth; o.alerttop = window.innerHeight; - } else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth !== 0) { + } else if (document.documentElement !== undefined && document.documentElement.clientWidth !== undefined && document.documentElement.clientWidth !== 0) { o.alertleft = document.documentElement.clientWidth; o.alerttop = document.documentElement.clientHeight; } else { @@ -8604,11 +8833,37 @@ o.alertleft = o.alertleft/2 - parseInt(o.alertwidth,10)/2; o.alerttop = o.alerttop/2-25; } - $.jgrid.createModal(alertIDs,"<div>"+o.alerttext+"</div><span tabindex='0'><span tabindex='-1' id='jqg_alrt'></span></span>",{gbox:"#gbox_"+$.jgrid.jqID($t.p.id),jqModal:true,drag:true,resize:true,caption:o.alertcap,top:o.alerttop,left:o.alertleft,width:o.alertwidth,height: o.alertheight,closeOnEscape:o.closeOnEscape, zIndex: o.alertzIndex},"","",true); + $.jgrid.createModal(alertIDs, + "<div>"+o.alerttext+"</div><span tabindex='0'><span tabindex='-1' id='jqg_alrt'></span></span>", + { + gbox:"#gbox_"+$.jgrid.jqID($t.p.id), + jqModal:true, + drag:true, + resize:true, + caption:o.alertcap, + top:o.alerttop, + left:o.alertleft, + width:o.alertwidth, + height: o.alertheight, + closeOnEscape:o.closeOnEscape, + zIndex: o.alertzIndex + }, + "#gview_"+$.jgrid.jqID($t.p.id), + $("#gbox_"+$.jgrid.jqID($t.p.id))[0], + true + ); } - var clone = 1; + var clone = 1, i, + onHoverIn = function () { + if (!$(this).hasClass('ui-state-disabled')) { + $(this).addClass("ui-state-hover"); + } + }, + onHoverOut = function () { + $(this).removeClass("ui-state-hover"); + }; if(o.cloneToTop && $t.p.toppager) {clone = 2;} - for(var i = 0; i<clone; i++) { + for(i = 0; i<clone; i++) { var tbd, navtbl = $("<table cellspacing='0' cellpadding='0' border='0' class='ui-pg-table navtable' style='float:left;table-layout:auto;'><tbody><tr></tr></tbody></table>"), sep = "<td class='ui-pg-button ui-state-disabled' style='width:4px;'><span class='ui-separator'></span></td>", @@ -8616,7 +8871,7 @@ if(i===0) { pgid = elem; elemids = $t.p.id; - if(pgid == $t.p.toppager) { + if(pgid === $t.p.toppager) { elemids += "_top"; clone = 1; } @@ -8624,7 +8879,7 @@ pgid = $t.p.toppager; elemids = $t.p.id+"_top"; } - if($t.p.direction == "rtl") {$(navtbl).attr("dir","rtl").css("float","right");} + if($t.p.direction === "rtl") {$(navtbl).attr("dir","rtl").css("float","right");} if (o.add) { pAdd = pAdd || {}; tbd = $("<td class='ui-pg-button ui-corner-all'></td>"); @@ -8641,14 +8896,7 @@ } } return false; - }).hover( - function () { - if (!$(this).hasClass('ui-state-disabled')) { - $(this).addClass("ui-state-hover"); - } - }, - function () {$(this).removeClass("ui-state-hover");} - ); + }).hover(onHoverIn, onHoverOut); tbd = null; } if (o.edit) { @@ -8673,14 +8921,7 @@ } } return false; - }).hover( - function () { - if (!$(this).hasClass('ui-state-disabled')) { - $(this).addClass("ui-state-hover"); - } - }, - function () {$(this).removeClass("ui-state-hover");} - ); + }).hover(onHoverIn, onHoverOut); tbd = null; } if (o.view) { @@ -8705,14 +8946,7 @@ } } return false; - }).hover( - function () { - if (!$(this).hasClass('ui-state-disabled')) { - $(this).addClass("ui-state-hover"); - } - }, - function () {$(this).removeClass("ui-state-hover");} - ); + }).hover(onHoverIn, onHoverOut); tbd = null; } if (o.del) { @@ -8742,14 +8976,7 @@ } } return false; - }).hover( - function () { - if (!$(this).hasClass('ui-state-disabled')) { - $(this).addClass("ui-state-hover"); - } - }, - function () {$(this).removeClass("ui-state-hover");} - ); + }).hover(onHoverIn, onHoverOut); tbd = null; } if(o.add || o.edit || o.del || o.view) {$("tr",navtbl).append(sep);} @@ -8769,14 +8996,7 @@ } } return false; - }).hover( - function () { - if (!$(this).hasClass('ui-state-disabled')) { - $(this).addClass("ui-state-hover"); - } - }, - function () {$(this).removeClass("ui-state-hover");} - ); + }).hover(onHoverIn, onHoverOut); if (pSearch.showOnLoad && pSearch.showOnLoad === true) { $(tbd,navtbl).click(); } @@ -8795,7 +9015,9 @@ try { var gID = $t.p.id; $t.p.postData.filters =""; + try { $("#fbox_"+$.jgrid.jqID(gID)).jqFilter('resetFilter'); + } catch(ef) {} if($.isFunction($t.clearToolbar)) {$t.clearToolbar.call($t,false);} } catch (e) {} switch (o.refreshstate) { @@ -8809,14 +9031,7 @@ if($.isFunction(o.afterRefresh)) {o.afterRefresh.call($t);} } return false; - }).hover( - function () { - if (!$(this).hasClass('ui-state-disabled')) { - $(this).addClass("ui-state-hover"); - } - }, - function () {$(this).removeClass("ui-state-hover");} - ); + }).hover(onHoverIn, onHoverOut); tbd = null; } tdw = $(".ui-jqgrid").css("font-size") || "11px"; @@ -8852,13 +9067,13 @@ if (findnav) { if( p.id && $("#"+$.jgrid.jqID(p.id), findnav)[0] !== undefined ) {return;} var tbd = $("<td></td>"); - if(p.buttonicon.toString().toUpperCase() == "NONE") { + if(p.buttonicon.toString().toUpperCase() === "NONE") { $(tbd).addClass('ui-pg-button ui-corner-all').append("<div class='ui-pg-div'>"+p.caption+"</div>"); } else { $(tbd).addClass('ui-pg-button ui-corner-all').append("<div class='ui-pg-div'><span class='ui-icon "+p.buttonicon+"'></span>"+p.caption+"</div>"); } if(p.id) {$(tbd).attr("id",p.id);} - if(p.position=='first'){ + if(p.position==='first'){ if(findnav.rows[0].cells.length ===0 ) { $("tr",findnav).append(tbd); } else { @@ -8889,7 +9104,8 @@ navSeparatorAdd:function (elem,p) { p = $.extend({ sepclass : "ui-separator", - sepcontent: '' + sepcontent: '', + position : "last" }, p ||{}); return this.each(function() { if( !this.grid) {return;} @@ -8897,17 +9113,26 @@ var findnav = $(".navtable",elem)[0]; if(findnav) { var sep = "<td class='ui-pg-button ui-state-disabled' style='width:4px;'><span class='"+p.sepclass+"'></span>"+p.sepcontent+"</td>"; - $("tr",findnav).append(sep); + if (p.position === 'first') { + if (findnav.rows[0].cells.length === 0) { + $("tr", findnav).append(sep); + } else { + $("tr td:eq(0)", findnav).before(sep); + } + } else { + $("tr", findnav).append(sep); + } } }); }, GridToForm : function( rowid, formid ) { return this.each(function(){ - var $t = this; + var $t = this, i; if (!$t.grid) {return;} var rowdata = $($t).jqGrid("getRowData",rowid); if (rowdata) { - for(var i in rowdata) { + for(i in rowdata) { + if(rowdata.hasOwnProperty(i)) { if ( $("[name="+$.jgrid.jqID(i)+"]",formid).is("input:radio") || $("[name="+$.jgrid.jqID(i)+"]",formid).is("input:checkbox")) { $("[name="+$.jgrid.jqID(i)+"]",formid).each( function() { if( $(this).val() == rowdata[i] ) { @@ -8922,6 +9147,7 @@ } } } + } }); }, FormToGrid : function(rowid, formid, mode, position){ @@ -8935,13 +9161,15 @@ $.each(fields, function(i, field){ griddata[field.name] = field.value; }); - if(mode=='add') {$($t).jqGrid("addRowData",rowid,griddata, position);} - else if(mode=='set') {$($t).jqGrid("setRowData",rowid,griddata);} + if(mode==='add') {$($t).jqGrid("addRowData",rowid,griddata, position);} + else if(mode==='set') {$($t).jqGrid("setRowData",rowid,griddata);} }); } }); })(jQuery); -;(function($){ +/*jshint eqeqeq:false, eqnull:true, devel:true */ +/*global jQuery */ +(function($){ /** * jqGrid extension for manipulating Grid Data * Tony Tomov tony@trirand.com @@ -8950,8 +9178,6 @@ * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl-2.0.html **/ -//jsHint options -/*global alert, $, jQuery */ "use strict"; $.jgrid.inlineEdit = $.jgrid.inlineEdit || {}; $.jgrid.extend({ @@ -8963,17 +9189,17 @@ if( $.type(args[0]) === "object" ) { o = args[0]; } else { - if (typeof keys !== "undefined") { o.keys = keys; } + if (keys !== undefined) { o.keys = keys; } if ($.isFunction(oneditfunc)) { o.oneditfunc = oneditfunc; } if ($.isFunction(successfunc)) { o.successfunc = successfunc; } - if (typeof url !== "undefined") { o.url = url; } - if (typeof extraparam !== "undefined") { o.extraparam = extraparam; } + if (url !== undefined) { o.url = url; } + if (extraparam !== undefined) { o.extraparam = extraparam; } if ($.isFunction(aftersavefunc)) { o.aftersavefunc = aftersavefunc; } if ($.isFunction(errorfunc)) { o.errorfunc = errorfunc; } if ($.isFunction(afterrestorefunc)) { o.afterrestorefunc = afterrestorefunc; } // last two not as param, but as object (sorry) - //if (typeof restoreAfterError !== "undefined") { o.restoreAfterError = restoreAfterError; } - //if (typeof mtype !== "undefined") { o.mtype = mtype || "POST"; } + //if (restoreAfterError !== undefined) { o.restoreAfterError = restoreAfterError; } + //if (mtype !== undefined) { o.mtype = mtype || "POST"; } } o = $.extend(true, { keys : false, @@ -8995,20 +9221,20 @@ ind = $($t).jqGrid("getInd",rowid,true); if( ind === false ) {return;} editable = $(ind).attr("editable") || "0"; - if (editable == "0" && !$(ind).hasClass("not-editable-row")) { + if (editable === "0" && !$(ind).hasClass("not-editable-row")) { cm = $t.p.colModel; $('td[role="gridcell"]',ind).each( function(i) { nm = cm[i].name; - var treeg = $t.p.treeGrid===true && nm == $t.p.ExpandColumn; + var treeg = $t.p.treeGrid===true && nm === $t.p.ExpandColumn; if(treeg) { tmp = $("span:first",this).html();} else { try { tmp = $.unformat.call($t,this,{rowId:rowid, colModel:cm[i]},i); } catch (_) { - tmp = ( cm[i].edittype && cm[i].edittype == 'textarea' ) ? $(this).text() : $(this).html(); + tmp = ( cm[i].edittype && cm[i].edittype === 'textarea' ) ? $(this).text() : $(this).html(); } } - if ( nm != 'cb' && nm != 'subgrid' && nm != 'rn') { + if ( nm !== 'cb' && nm !== 'subgrid' && nm !== 'rn') { if($t.p.autoencode) { tmp = $.jgrid.htmlDecode(tmp); } svr[nm]=tmp; if(cm[i].editable===true) { @@ -9017,13 +9243,14 @@ else { $(this).html(""); } var opt = $.extend({},cm[i].editoptions || {},{id:rowid+"_"+nm,name:nm}); if(!cm[i].edittype) { cm[i].edittype = "text"; } - if(tmp == " " || tmp == " " || (tmp.length==1 && tmp.charCodeAt(0)==160) ) {tmp='';} + if(tmp === " " || tmp === " " || (tmp.length===1 && tmp.charCodeAt(0)===160) ) {tmp='';} var elc = $.jgrid.createEl.call($t,cm[i].edittype,opt,tmp,true,$.extend({},$.jgrid.ajaxOptions,$t.p.ajaxSelectOptions || {})); $(elc).addClass("editable"); if(treeg) { $("span:first",this).append(elc); } else { $(this).append(elc); } + $.jgrid.bindEv.call($t, elc, opt); //Again IE - if(cm[i].edittype == "select" && typeof(cm[i].editoptions)!=="undefined" && cm[i].editoptions.multiple===true && typeof(cm[i].editoptions.dataUrl)==="undefined" && $.browser.msie) { + if(cm[i].edittype === "select" && cm[i].editoptions!==undefined && cm[i].editoptions.multiple===true && cm[i].editoptions.dataUrl===undefined && $.jgrid.msie) { $(elc).width($(elc).width()); } cnt++; @@ -9047,7 +9274,7 @@ } if (e.keyCode === 13) { var ta = e.target; - if(ta.tagName == 'TEXTAREA') { return true; } + if(ta.tagName === 'TEXTAREA') { return true; } if( $($t).jqGrid("saveRow", rowid, o ) ) { if($t.p._inlinenav) { try { @@ -9073,8 +9300,8 @@ o = args[0]; } else { if ($.isFunction(successfunc)) { o.successfunc = successfunc; } - if (typeof url !== "undefined") { o.url = url; } - if (typeof extraparam !== "undefined") { o.extraparam = extraparam; } + if (url !== undefined) { o.url = url; } + if (extraparam !== undefined) { o.extraparam = extraparam; } if ($.isFunction(aftersavefunc)) { o.aftersavefunc = aftersavefunc; } if ($.isFunction(errorfunc)) { o.errorfunc = errorfunc; } if ($.isFunction(afterrestorefunc)) { o.afterrestorefunc = afterrestorefunc; } @@ -9097,13 +9324,13 @@ ind = $($t).jqGrid("getInd",rowid,true); if(ind === false) {return success;} editable = $(ind).attr("editable"); - o.url = o.url ? o.url : $t.p.editurl; + o.url = o.url || $t.p.editurl; if (editable==="1") { var cm; $('td[role="gridcell"]',ind).each(function(i) { cm = $t.p.colModel[i]; nm = cm.name; - if ( nm != 'cb' && nm != 'subgrid' && cm.editable===true && nm != 'rn' && !$(this).hasClass('not-editable-cell')) { + if ( nm !== 'cb' && nm !== 'subgrid' && cm.editable===true && nm !== 'rn' && !$(this).hasClass('not-editable-cell')) { switch (cm.edittype) { case "checkbox": var cbv = ["Yes","No"]; @@ -9133,7 +9360,7 @@ ); tmp2[nm] = selectedText.join(","); } - if(cm.formatter && cm.formatter == 'select') { tmp2={}; } + if(cm.formatter && cm.formatter === 'select') { tmp2={}; } break; case 'custom' : try { @@ -9142,13 +9369,13 @@ if (tmp[nm] === undefined) { throw "e2"; } } else { throw "e1"; } } catch (e) { - if (e=="e1") { $.jgrid.info_dialog($.jgrid.errors.errcap,"function 'custom_value' "+$.jgrid.edit.msg.nodefined,$.jgrid.edit.bClose); } - if (e=="e2") { $.jgrid.info_dialog($.jgrid.errors.errcap,"function 'custom_value' "+$.jgrid.edit.msg.novalue,$.jgrid.edit.bClose); } + if (e==="e1") { $.jgrid.info_dialog($.jgrid.errors.errcap,"function 'custom_value' "+$.jgrid.edit.msg.nodefined,$.jgrid.edit.bClose); } + if (e==="e2") { $.jgrid.info_dialog($.jgrid.errors.errcap,"function 'custom_value' "+$.jgrid.edit.msg.novalue,$.jgrid.edit.bClose); } else { $.jgrid.info_dialog($.jgrid.errors.errcap,e.message,$.jgrid.edit.bClose); } } break; } - cv = $.jgrid.checkValues(tmp[nm],i,$t); + cv = $.jgrid.checkValues.call($t,tmp[nm],i); if(cv[0] === false) { cv[1] = tmp[nm] + " " + cv[1]; return false; @@ -9163,40 +9390,72 @@ }); if (cv[0] === false){ try { - var positions = $.jgrid.findPos($("#"+$.jgrid.jqID(rowid), $t.grid.bDiv)[0]); - $.jgrid.info_dialog($.jgrid.errors.errcap,cv[1],$.jgrid.edit.bClose,{left:positions[0],top:positions[1]}); + var tr = $t.rows.namedItem(rowid), positions = $.jgrid.findPos(tr); + $.jgrid.info_dialog($.jgrid.errors.errcap,cv[1],$.jgrid.edit.bClose,{left:positions[0],top:positions[1]+$(tr).outerHeight()}); } catch (e) { alert(cv[1]); } return success; } - var idname, opers, oper; - opers = $t.p.prmNames; - oper = opers.oper; - idname = opers.id; + var idname, opers = $t.p.prmNames, oldRowId = rowid; + if ($t.p.keyIndex === false) { + idname = opers.id; + } else { + idname = $t.p.colModel[$t.p.keyIndex + + ($t.p.rownumbers === true ? 1 : 0) + + ($t.p.multiselect === true ? 1 : 0) + + ($t.p.subGrid === true ? 1 : 0)].name; + } if(tmp) { - tmp[oper] = opers.editoper; - tmp[idname] = rowid; - if(typeof($t.p.inlineData) == 'undefined') { $t.p.inlineData ={}; } + tmp[opers.oper] = opers.editoper; + if (tmp[idname] === undefined || tmp[idname]==="") { + tmp[idname] = rowid; + } else if (ind.id !== $t.p.idPrefix + tmp[idname]) { + // rename rowid + var oldid = $.jgrid.stripPref($t.p.idPrefix, rowid); + if ($t.p._index[oldid] !== undefined) { + $t.p._index[tmp[idname]] = $t.p._index[oldid]; + delete $t.p._index[oldid]; + } + rowid = $t.p.idPrefix + tmp[idname]; + $(ind).attr("id", rowid); + if ($t.p.selrow === oldRowId) { + $t.p.selrow = rowid; + } + if ($.isArray($t.p.selarrrow)) { + var i = $.inArray(oldRowId, $t.p.selarrrow); + if (i>=0) { + $t.p.selarrrow[i] = rowid; + } + } + if ($t.p.multiselect) { + var newCboxId = "jqg_" + $t.p.id + "_" + rowid; + $("input.cbox",ind) + .attr("id", newCboxId) + .attr("name", newCboxId); + } + // TODO: to test the case of frozen columns + } + if($t.p.inlineData === undefined) { $t.p.inlineData ={}; } tmp = $.extend({},tmp,$t.p.inlineData,o.extraparam); } - if (o.url == 'clientArray') { + if (o.url === 'clientArray') { tmp = $.extend({},tmp, tmp2); if($t.p.autoencode) { $.each(tmp,function(n,v){ tmp[n] = $.jgrid.htmlDecode(v); }); } - var resp = $($t).jqGrid("setRowData",rowid,tmp); + var k, resp = $($t).jqGrid("setRowData",rowid,tmp); $(ind).attr("editable","0"); - for( var k=0;k<$t.p.savedRow.length;k++) { - if( $t.p.savedRow[k].id == rowid) {fr = k; break;} + for(k=0;k<$t.p.savedRow.length;k++) { + if( String($t.p.savedRow[k].id) === String(oldRowId)) {fr = k; break;} } if(fr >= 0) { $t.p.savedRow.splice(fr,1); } $($t).triggerHandler("jqGridInlineAfterSaveRow", [rowid, resp, tmp, o]); if( $.isFunction(o.aftersavefunc) ) { o.aftersavefunc.call($t, rowid,resp, o); } success = true; - $(ind).unbind("keydown"); + $(ind).removeClass("jqgrid-new-row").unbind("keydown"); } else { $("#lui_"+$.jgrid.jqID($t.p.id)).show(); tmp3 = $.extend({},tmp,tmp3); @@ -9209,14 +9468,14 @@ complete: function(res,stat){ $("#lui_"+$.jgrid.jqID($t.p.id)).hide(); if (stat === "success"){ - var ret = true, sucret; + var ret = true, sucret, k; sucret = $($t).triggerHandler("jqGridInlineSuccessSaveRow", [res, rowid, o]); if (!$.isArray(sucret)) {sucret = [true, tmp];} if (sucret[0] && $.isFunction(o.successfunc)) {sucret = o.successfunc.call($t, res);} if($.isArray(sucret)) { // expect array - status, data, rowid ret = sucret[0]; - tmp = sucret[1] ? sucret[1] : tmp; + tmp = sucret[1] || tmp; } else { ret = sucret; } @@ -9229,14 +9488,14 @@ tmp = $.extend({},tmp, tmp2); $($t).jqGrid("setRowData",rowid,tmp); $(ind).attr("editable","0"); - for( var k=0;k<$t.p.savedRow.length;k++) { - if( $t.p.savedRow[k].id == rowid) {fr = k; break;} + for(k=0;k<$t.p.savedRow.length;k++) { + if( String($t.p.savedRow[k].id) === String(rowid)) {fr = k; break;} } if(fr >= 0) { $t.p.savedRow.splice(fr,1); } $($t).triggerHandler("jqGridInlineAfterSaveRow", [rowid, res, tmp, o]); if( $.isFunction(o.aftersavefunc) ) { o.aftersavefunc.call($t, rowid,res); } success = true; - $(ind).unbind("keydown"); + $(ind).removeClass("jqgrid-new-row").unbind("keydown"); } else { $($t).triggerHandler("jqGridInlineErrorSaveRow", [rowid, res, stat, null, o]); if($.isFunction(o.errorfunc) ) { @@ -9279,17 +9538,17 @@ } else { if ($.isFunction(afterrestorefunc)) { o.afterrestorefunc = afterrestorefunc; } } - o = $.extend(true, $.jgrid.inlineEdit, o ); + o = $.extend(true, {}, $.jgrid.inlineEdit, o ); // End compatible return this.each(function(){ - var $t= this, fr, ind, ares={}; + var $t= this, fr, ind, ares={}, k; if (!$t.grid ) { return; } ind = $($t).jqGrid("getInd",rowid,true); if(ind === false) {return;} - for( var k=0;k<$t.p.savedRow.length;k++) { - if( $t.p.savedRow[k].id == rowid) {fr = k; break;} + for(k=0;k<$t.p.savedRow.length;k++) { + if( String($t.p.savedRow[k].id) === String(rowid)) {fr = k; break;} } if(fr >= 0) { if($.isFunction($.fn.datepicker)) { @@ -9298,7 +9557,7 @@ } catch (e) {} } $.each($t.p.colModel, function(){ - if(this.editable === true && this.name in $t.p.savedRow[fr] ) { + if(this.editable === true && $t.p.savedRow[fr].hasOwnProperty(this.name)) { ares[this.name] = $t.p.savedRow[fr][this.name]; } }); @@ -9306,7 +9565,10 @@ $(ind).attr("editable","0").unbind("keydown"); $t.p.savedRow.splice(fr,1); if($("#"+$.jgrid.jqID(rowid), "#"+$.jgrid.jqID($t.p.id)).hasClass("jqgrid-new-row")){ - setTimeout(function(){$($t).jqGrid("delRowData",rowid);},0); + setTimeout(function(){ + $($t).jqGrid("delRowData",rowid); + $($t).jqGrid('showAddEditButtons'); + },0); } } $($t).triggerHandler("jqGridInlineAfterRestoreRow", [rowid]); @@ -9318,7 +9580,7 @@ }, addRow : function ( p ) { p = $.extend(true, { - rowID : "new_row", + rowID : null, initdata : {}, position :"first", useDefValues : true, @@ -9328,6 +9590,7 @@ return this.each(function(){ if (!this.grid ) { return; } var $t = this; + p.rowID = $.isFunction(p.rowID) ? p.rowID.call($t, p) : ( (p.rowID != null) ? p.rowID : $.jgrid.randId()); if(p.useDefValues === true) { $($t.p.colModel).each(function(){ if( this.editoptions && this.editoptions.defaultValue ) { @@ -9352,7 +9615,7 @@ }); }, inlineNav : function (elem, o) { - o = $.extend({ + o = $.extend(true,{ edit: true, editicon: "ui-icon-pencil", add: true, @@ -9361,7 +9624,7 @@ saveicon:"ui-icon-disk", cancel: true, cancelicon:"ui-icon-cancel", - addParams : {useFormatter : false,rowID : "new_row"}, + addParams : {addRowParams: {extraparam: {}}}, editParams : {}, restoreAfterSelect : true }, $.jgrid.nav, o ||{}); @@ -9392,7 +9655,7 @@ "successfunc" : ap.onSuccess, "url" : ap.url, "extraparam" : ap.extraparam, - "aftersavefunc" : ap.afterSavef, + "aftersavefunc" : ap.afterSave, "errorfunc": ap.onError, "afterrestorefunc" : ap.afterRestore }; @@ -9448,16 +9711,18 @@ var sr = $t.p.savedRow[0].id; if(sr) { var opers = $t.p.prmNames, - oper = opers.oper; - if(!o.editParams.extraparam) { - o.editParams.extraparam = {}; - } + oper = opers.oper, tmpParams = {}; if($("#"+$.jgrid.jqID(sr), "#"+gID ).hasClass("jqgrid-new-row")) { - o.editParams.extraparam[oper] = opers.addoper; + o.addParams.addRowParams.extraparam[oper] = opers.addoper; + tmpParams = o.addParams.addRowParams; } else { + if(!o.editParams.extraparam) { + o.editParams.extraparam = {}; + } o.editParams.extraparam[oper] = opers.editoper; + tmpParams = o.editParams; } - if( $($t).jqGrid('saveRow', sr, o.editParams) ) { + if( $($t).jqGrid('saveRow', sr, tmpParams) ) { $($t).jqGrid('showAddEditButtons'); } } else { @@ -9474,9 +9739,14 @@ buttonicon : o.cancelicon, id : $t.p.id+"_ilcancel", onClickButton : function () { - var sr = $t.p.savedRow[0].id; + var sr = $t.p.savedRow[0].id, cancelPrm = {}; if(sr) { - $($t).jqGrid('restoreRow', sr, o.editParams); + if($("#"+$.jgrid.jqID(sr), "#"+gID ).hasClass("jqgrid-new-row")) { + cancelPrm = o.addParams.addRowParams; + } else { + cancelPrm = o.editParams; + } + $($t).jqGrid('restoreRow', sr, cancelPrm); $($t).jqGrid('showAddEditButtons'); } else { $.jgrid.viewModal("#alertmod",{gbox:"#gbox_"+gID,jqm:true});$("#jqg_alrt").focus(); @@ -9494,7 +9764,7 @@ $t.p.beforeSelectRow = function(id, stat) { var ret = true; if($t.p.savedRow.length > 0 && $t.p._inlinenav===true && ( id !== $t.p.selrow && $t.p.selrow !==null) ) { - if($t.p.selrow == o.addParams.rowID ) { + if($t.p.selrow === o.addParams.rowID ) { $($t).jqGrid('delRowData', $t.p.selrow); } else { $($t).jqGrid('restoreRow', $t.p.selrow, o.editParams); @@ -9523,7 +9793,9 @@ //end inline edit }); })(jQuery); -;(function($){ +/*jshint eqeqeq:false */ +/*global jQuery */ +(function($){ /* ** * jqGrid extension for cellediting Grid Data @@ -9577,7 +9849,7 @@ } cm = $t.p.colModel[iCol]; nm = cm.name; - if (nm=='subgrid' || nm=='cb' || nm=='rn') {return;} + if (nm==='subgrid' || nm==='cb' || nm==='rn') {return;} cc = $("td:eq("+iCol+")",$t.rows[iRow]); if (cm.editable===true && ed===true && !cc.hasClass("not-editable-cell")) { if(parseInt($t.p.iCol,10)>=0 && parseInt($t.p.iRow,10)>=0) { @@ -9589,7 +9861,7 @@ try { tmp = $.unformat.call($t,cc,{rowId: $t.rows[iRow].id, colModel:cm},iCol); } catch (_) { - tmp = ( cm.edittype && cm.edittype == 'textarea' ) ? $(cc).text() : $(cc).html(); + tmp = ( cm.edittype && cm.edittype === 'textarea' ) ? $(cc).text() : $(cc).html(); } if($t.p.autoencode) { tmp = $.jgrid.htmlDecode(tmp); } if (!cm.edittype) {cm.edittype = "text";} @@ -9606,6 +9878,7 @@ $t.p.beforeEditCell.call($t, $t.rows[iRow].id,nm,tmp,iRow,iCol); } $(cc).html("").append(elc).attr("tabindex","0"); + $.jgrid.bindEv.call($t, elc, opt); window.setTimeout(function () { $(elc).focus();},0); $("input, select, textarea",cc).bind("keydown",function(e) { if (e.keyCode === 27) { @@ -9699,9 +9972,9 @@ if (v===undefined) { throw "e2";} else { v2=v; } } else { throw "e1"; } } catch (e) { - if (e=="e1") { $.jgrid.info_dialog(jQuery.jgrid.errors.errcap,"function 'custom_value' "+$.jgrid.edit.msg.nodefined,jQuery.jgrid.edit.bClose); } - if (e=="e2") { $.jgrid.info_dialog(jQuery.jgrid.errors.errcap,"function 'custom_value' "+$.jgrid.edit.msg.novalue,jQuery.jgrid.edit.bClose); } - else {$.jgrid.info_dialog(jQuery.jgrid.errors.errcap,e.message,jQuery.jgrid.edit.bClose); } + if (e==="e1") { $.jgrid.info_dialog($.jgrid.errors.errcap,"function 'custom_value' "+$.jgrid.edit.msg.nodefined,$.jgrid.edit.bClose); } + if (e==="e2") { $.jgrid.info_dialog($.jgrid.errors.errcap,"function 'custom_value' "+$.jgrid.edit.msg.novalue,$.jgrid.edit.bClose); } + else {$.jgrid.info_dialog($.jgrid.errors.errcap,e.message,$.jgrid.edit.bClose); } } break; } @@ -9713,7 +9986,7 @@ var vv = $t.p.beforeSaveCell.call($t, $t.rows[iRow].id,nm, v, iRow,iCol); if (vv) {v = vv; v2=vv;} } - var cv = $.jgrid.checkValues(v,iCol,$t); + var cv = $.jgrid.checkValues.call($t,v,iCol); if(cv[0] === true) { var addpost = $($t).triggerHandler("jqGridBeforeSubmitCell", [$t.rows[iRow].id, nm, v, iRow, iCol]) || {}; if ($.isFunction($t.p.beforeSubmitCell)) { @@ -9721,7 +9994,7 @@ if (!addpost) {addpost={};} } if( $("input.hasDatepicker",cc).length >0) { $("input.hasDatepicker",cc).datepicker('hide'); } - if ($t.p.cellsubmit == 'remote') { + if ($t.p.cellsubmit === 'remote') { if ($t.p.cellurl) { var postdata = {}; if($t.p.autoencode) { v = $.jgrid.htmlEncode(v); } @@ -9742,7 +10015,7 @@ complete: function (result, stat) { $("#lui_"+$t.p.id).hide(); $t.grid.hDiv.loading = false; - if (stat == 'success') { + if (stat === 'success') { var ret = $($t).triggerHandler("jqGridAfterSubmitCell", [$t, result, postdata.id, nm, v, iRow, iCol]) || [true, '']; if (ret[0] === true && $.isFunction($t.p.afterSubmitCell)) { ret = $t.p.afterSubmitCell.call($t, result,postdata.id,nm,v,iRow,iCol); @@ -9783,7 +10056,7 @@ } catch (e) {} } } - if ($t.p.cellsubmit == 'clientArray') { + if ($t.p.cellsubmit === 'clientArray') { $(cc).empty(); $($t).jqGrid("setCell",$t.rows[iRow].id,iCol, v2, false, false, true); $(cc).addClass("dirty-cell"); @@ -9804,11 +10077,7 @@ $($t).jqGrid("restoreCell",iRow,iCol); } } - if ($.browser.opera) { - $("#"+$.jgrid.jqID($t.p.knv)).attr("tabindex","-1").focus(); - } else { - window.setTimeout(function () { $("#"+$.jgrid.jqID($t.p.knv)).attr("tabindex","-1").focus();},0); - } + window.setTimeout(function () { $("#"+$.jgrid.jqID($t.p.knv)).attr("tabindex","-1").focus();},0); }); }, restoreCell : function(iRow, iCol) { @@ -9837,10 +10106,10 @@ }, nextCell : function (iRow,iCol) { return this.each(function (){ - var $t = this, nCol=false; + var $t = this, nCol=false, i; if (!$t.grid || $t.p.cellEdit !== true) {return;} // try to find next editable cell - for (var i=iCol+1; i<$t.p.colModel.length; i++) { + for (i=iCol+1; i<$t.p.colModel.length; i++) { if ( $t.p.colModel[i].editable ===true) { nCol = i; break; } @@ -9856,10 +10125,10 @@ }, prevCell : function (iRow,iCol) { return this.each(function (){ - var $t = this, nCol=false; + var $t = this, nCol=false, i; if (!$t.grid || $t.p.cellEdit !== true) {return;} // try to find next editable cell - for (var i=iCol-1; i>=0; i--) { + for (i=iCol-1; i>=0; i--) { if ( $t.p.colModel[i].editable ===true) { nCol = i; break; } @@ -9879,26 +10148,26 @@ if (!$t.grid || $t.p.cellEdit !== true ) {return;} // trick to process keydown on non input elements $t.p.knv = $t.p.id + "_kn"; - var selection = $("<div style='position:absolute;top:-1000000px;width:1px;height:1px;' tabindex='0'><div tabindex='-1' style='width:1px;height:1px;' id='"+$t.p.knv+"'></div></div>"), + var selection = $("<div style='position:fixed;top:0px;width:1px;height:1px;' tabindex='0'><div tabindex='-1' style='width:1px;height:1px;' id='"+$t.p.knv+"'></div></div>"), i, kdir; function scrollGrid(iR, iC, tp){ - if (tp.substr(0,1)=='v') { + if (tp.substr(0,1)==='v') { var ch = $($t.grid.bDiv)[0].clientHeight, st = $($t.grid.bDiv)[0].scrollTop, nROT = $t.rows[iR].offsetTop+$t.rows[iR].clientHeight, pROT = $t.rows[iR].offsetTop; - if(tp == 'vd') { + if(tp === 'vd') { if(nROT >= ch) { $($t.grid.bDiv)[0].scrollTop = $($t.grid.bDiv)[0].scrollTop + $t.rows[iR].clientHeight; } } - if(tp == 'vu'){ + if(tp === 'vu'){ if (pROT < st ) { $($t.grid.bDiv)[0].scrollTop = $($t.grid.bDiv)[0].scrollTop - $t.rows[iR].clientHeight; } } } - if(tp=='h') { + if(tp==='h') { var cw = $($t.grid.bDiv)[0].clientWidth, sl = $($t.grid.bDiv)[0].scrollLeft, nCOL = $t.rows[iR].cells[iC].offsetLeft+$t.rows[iR].cells[iC].clientWidth, @@ -9912,7 +10181,7 @@ } function findNextVisible(iC,act){ var ind, i; - if(act == 'lft') { + if(act === 'lft') { ind = iC+1; for (i=iC;i>=0;i--){ if ($t.p.colModel[i].hidden !== true) { @@ -9921,7 +10190,7 @@ } } } - if(act == 'rgt') { + if(act === 'rgt') { ind = iC-1; for (i=iC; i<$t.p.colModel.length;i++){ if ($t.p.colModel[i].hidden !== true) { @@ -9938,7 +10207,7 @@ .focus() .keydown(function (e){ kdir = e.keyCode; - if($t.p.direction == "rtl") { + if($t.p.direction === "rtl") { if(kdir===37) { kdir = 39;} else if (kdir===39) { kdir = 37; } } @@ -9993,7 +10262,7 @@ $('td',this).each( function(i) { nm = $t.p.colModel[i].name; if ( nm !== 'cb' && nm !== 'subgrid') { - if (mthd=='dirty') { + if (mthd==='dirty') { if ($(this).hasClass('dirty-cell')) { try { res[nm] = $.unformat.call($t,this,{rowId:$t.rows[j].id, colModel:$t.p.colModel[i]},i); @@ -10020,7 +10289,9 @@ /// end cell editing }); })(jQuery); -;(function($){ +/*jshint eqeqeq:false */ +/*global jQuery */ +(function($){ /** * jqGrid extension for SubGrid Data * Tony Tomov tony@trirand.com @@ -10033,7 +10304,7 @@ $.jgrid.extend({ setSubGrid : function () { return this.each(function (){ - var $t = this, cm, + var $t = this, cm, i, suboptions = { plusicon : "ui-icon-plus", minusicon : "ui-icon-minus", @@ -10045,11 +10316,11 @@ }; $t.p.subGridOptions = $.extend(suboptions, $t.p.subGridOptions || {}); $t.p.colNames.unshift(""); - $t.p.colModel.unshift({name:'subgrid',width: $.browser.safari ? $t.p.subGridWidth+$t.p.cellLayout : $t.p.subGridWidth,sortable: false,resizable:false,hidedlg:true,search:false,fixed:true}); + $t.p.colModel.unshift({name:'subgrid',width: $.jgrid.cell_width ? $t.p.subGridWidth+$t.p.cellLayout : $t.p.subGridWidth,sortable: false,resizable:false,hidedlg:true,search:false,fixed:true}); cm = $t.p.subGridModel; if(cm[0]) { cm[0].align = $.extend([],cm[0].align || []); - for(var i=0;i<cm[0].name.length;i++) { cm[0].align[i] = cm[0].align[i] || 'left';} + for(i=0;i<cm[0].name.length;i++) { cm[0].align[i] = cm[0].align[i] || 'left';} } }); }, @@ -10122,7 +10393,7 @@ if (sjxml){ sgmap = ts.p.jsonReader.subgrid; result = $.jgrid.getAccessor(sjxml, sgmap.root); - if ( typeof result !== 'undefined' ) { + if ( result !== undefined ) { for (i=0;i<result.length;i++) { cur = result[i]; trdiv = $("<tr class='ui-widget-content ui-subtblcell'></tr>"); @@ -10327,7 +10598,8 @@ * http://www.gnu.org/licenses/gpl.html **/ -/*global document, jQuery, $ */ +/*jshint eqeqeq:false */ +/*global jQuery */ (function($) { "use strict"; $.jgrid.extend({ @@ -10343,10 +10615,10 @@ loaded = $t.p.treeReader.loaded, lft, rgt, curLevel, ident,lftpos, twrap, ldat, lf; while(i<len) { - var ind = $t.rows[i].id, dind = $t.p._index[ind], expan; + var ind = $.jgrid.stripPref($t.p.idPrefix, $t.rows[i].id), dind = $t.p._index[ind], expan; ldat = $t.p.data[dind]; //$t.rows[i].level = ldat[level]; - if($t.p.treeGridModel == 'nested') { + if($t.p.treeGridModel === 'nested') { if(!ldat[isLeaf]) { lft = parseInt(ldat[$t.p.treeReader.left_field],10); rgt = parseInt(ldat[$t.p.treeReader.right_field],10); @@ -10367,17 +10639,17 @@ lftpos = curLevel -1; } twrap = "<div class='tree-wrap tree-wrap-"+$t.p.direction+"' style='width:"+(ident*18)+"px;'>"; - twrap += "<div style='"+($t.p.direction=="rtl" ? "right:" : "left:")+(lftpos*18)+"px;' class='ui-icon "; + twrap += "<div style='"+($t.p.direction==="rtl" ? "right:" : "left:")+(lftpos*18)+"px;' class='ui-icon "; if(ldat[loaded] !== undefined) { - if(ldat[loaded]=="true" || ldat[loaded]===true) { + if(ldat[loaded]==="true" || ldat[loaded]===true) { ldat[loaded] = true; } else { ldat[loaded] = false; } } - if(ldat[isLeaf] == "true" || ldat[isLeaf] === true) { + if(ldat[isLeaf] === "true" || ldat[isLeaf] === true) { twrap += ((ldat[icon] !== undefined && ldat[icon] !== "") ? ldat[icon] : $t.p.treeIcons.leaf)+" tree-leaf treeclick"; ldat[isLeaf] = true; lf="leaf"; @@ -10385,7 +10657,7 @@ ldat[isLeaf] = false; lf=""; } - ldat[expanded] = ((ldat[expanded] == "true" || ldat[expanded] === true) ? true : false) && ldat[loaded]; + ldat[expanded] = ((ldat[expanded] === "true" || ldat[expanded] === true) ? true : false) && (ldat[loaded] || ldat[loaded] === undefined); if(ldat[expanded] === false) { twrap += ((ldat[isLeaf] === true) ? "'" : $t.p.treeIcons.plus+" tree-plus treeclick'"); } else { @@ -10406,7 +10678,7 @@ .find("div.treeclick") .bind("click",function(e){ var target = e.target || e.srcElement, - ind2 =$(target,$t.rows).closest("tr.jqgrow")[0].id, + ind2 =$.jgrid.stripPref($t.p.idPrefix,$(target,$t.rows).closest("tr.jqgrow")[0].id), pos = $t.p._index[ind2]; if(!$t.p.data[pos][isLeaf]){ if($t.p.data[pos][expanded]){ @@ -10425,7 +10697,7 @@ .css("cursor","pointer") .bind("click",function(e) { var target = e.target || e.srcElement, - ind2 =$(target,$t.rows).closest("tr.jqgrow")[0].id, + ind2 =$.jgrid.stripPref($t.p.idPrefix,$(target,$t.rows).closest("tr.jqgrow")[0].id), pos = $t.p._index[ind2]; if(!$t.p.data[pos][isLeaf]){ if($t.p.data[pos][expanded]){ @@ -10447,7 +10719,7 @@ }, setTreeGrid : function() { return this.each(function (){ - var $t = this, i=0, pico, ecol = false, nm, key, dupcols=[]; + var $t = this, i=0, pico, ecol = false, nm, key, tkey, dupcols=[]; if(!$t.p.treeGrid) {return;} if(!$t.p.treedatatype ) {$.extend($t.p,{treedatatype: $t.p.datatype});} $t.p.subGrid = false;$t.p.altRows =false; @@ -10456,9 +10728,9 @@ if($t.p.rowTotal === null ) { $t.p.rowNum = 10000; } $t.p.multiselect = false;$t.p.rowList = []; $t.p.expColInd = 0; - pico = 'ui-icon-triangle-1-' + ($t.p.direction=="rtl" ? 'w' : 'e'); + pico = 'ui-icon-triangle-1-' + ($t.p.direction==="rtl" ? 'w' : 'e'); $t.p.treeIcons = $.extend({plus:pico,minus:'ui-icon-triangle-1-s',leaf:'ui-icon-radio-off'},$t.p.treeIcons || {}); - if($t.p.treeGridModel == 'nested') { + if($t.p.treeGridModel === 'nested') { $t.p.treeReader = $.extend({ level_field: "level", left_field:"lft", @@ -10468,7 +10740,7 @@ loaded: "loaded", icon_field: "icon" },$t.p.treeReader); - } else if($t.p.treeGridModel == 'adjacency') { + } else if($t.p.treeGridModel === 'adjacency') { $t.p.treeReader = $.extend({ level_field: "level", parent_id_field: "parent", @@ -10481,14 +10753,14 @@ for ( key in $t.p.colModel){ if($t.p.colModel.hasOwnProperty(key)) { nm = $t.p.colModel[key].name; - if( nm == $t.p.ExpandColumn && !ecol ) { + if( nm === $t.p.ExpandColumn && !ecol ) { ecol = true; $t.p.expColInd = i; } i++; // - for(var tkey in $t.p.treeReader) { - if($t.p.treeReader[tkey] == nm) { + for(tkey in $t.p.treeReader) { + if($t.p.treeReader.hasOwnProperty(tkey) && $t.p.treeReader[tkey] === nm) { dupcols.push(nm); } } @@ -10513,7 +10785,7 @@ expanded = $t.p.treeReader.expanded_field, rows = $t.rows; $(childern).each(function(){ - var id = $.jgrid.getAccessor(this,$t.p.localReader.id); + var id = $t.p.idPrefix + $.jgrid.getAccessor(this,$t.p.localReader.id); $(rows.namedItem(id)).css("display",""); if(this[expanded]) { $($t).jqGrid("expandRow",this); @@ -10530,7 +10802,7 @@ expanded = $t.p.treeReader.expanded_field, rows = $t.rows; $(childern).each(function(){ - var id = $.jgrid.getAccessor(this,$t.p.localReader.id); + var id = $t.p.idPrefix + $.jgrid.getAccessor(this,$t.p.localReader.id); $(rows.namedItem(id)).css("display","none"); if(this[expanded]){ $($t).jqGrid("collapseRow",this); @@ -10556,7 +10828,7 @@ case 'adjacency' : var parent_id = $t.p.treeReader.parent_id_field; $($t.p.data).each(function(){ - if(this[parent_id] === null || String(this[parent_id]).toLowerCase() == "null") { + if(this[parent_id] === null || String(this[parent_id]).toLowerCase() === "null") { result.push(this); } }); @@ -10604,7 +10876,7 @@ var parent_id = $t.p.treeReader.parent_id_field, dtid = $t.p.localReader.id; $(this.p.data).each(function(){ - if(this[dtid] == rc[parent_id] ) { + if(this[dtid] === $.jgrid.stripPref($t.p.idPrefix, rc[parent_id]) ) { result = this; return false; } @@ -10635,7 +10907,7 @@ var parent_id = $t.p.treeReader.parent_id_field, dtid = $t.p.localReader.id; $(this.p.data).each(function(){ - if(this[parent_id] == rc[dtid]) { + if(this[parent_id] == $.jgrid.stripPref($t.p.idPrefix, rc[dtid])) { result.push(this); } }); @@ -10669,7 +10941,7 @@ $(this.p.data).each(function(i){ len = result.length; for (i = 0; i < len; i++) { - if (result[i][dtid] == this[parent_id]) { + if ($.jgrid.stripPref($t.p.idPrefix, result[i][dtid]) === this[parent_id]) { result.push(this); break; } @@ -10740,7 +11012,7 @@ if(!rc[expanded]) { var id = $.jgrid.getAccessor(rc,this.p.localReader.id); - var rc1 = $("#"+$.jgrid.jqID(id),this.grid.bDiv)[0]; + var rc1 = $("#" + this.p.idPrefix + $.jgrid.jqID(id),this.grid.bDiv)[0]; var position = this.p._index[id]; if( $(this).jqGrid("isNodeLoaded",this.p.data[position]) ) { rc[expanded] = true; @@ -10750,14 +11022,14 @@ $("div.treeclick",rc1).removeClass(this.p.treeIcons.plus+" tree-plus").addClass(this.p.treeIcons.minus+" tree-minus"); this.p.treeANode = rc1.rowIndex; this.p.datatype = this.p.treedatatype; - if(this.p.treeGridModel == 'nested') { + if(this.p.treeGridModel === 'nested') { $(this).jqGrid("setGridParam",{postData:{nodeid:id,n_left:rc[lft],n_right:rc[rgt],n_level:rc[level]}}); } else { $(this).jqGrid("setGridParam",{postData:{nodeid:id,parentid:rc[parent],n_level:rc[level]}} ); } $(this).trigger("reloadGrid"); rc[loaded] = true; - if(this.p.treeGridModel == 'nested') { + if(this.p.treeGridModel === 'nested') { $(this).jqGrid("setGridParam",{postData:{nodeid:'',n_left:'',n_right:'',n_level:''}}); } else { $(this).jqGrid("setGridParam",{postData:{nodeid:'',parentid:'',n_level:''}}); @@ -10773,7 +11045,7 @@ if(rc[expanded]) { rc[expanded] = false; var id = $.jgrid.getAccessor(rc,this.p.localReader.id); - var rc1 = $("#"+$.jgrid.jqID(id),this.grid.bDiv)[0]; + var rc1 = $("#" + this.p.idPrefix + $.jgrid.jqID(id),this.grid.bDiv)[0]; $("div.treeclick",rc1).removeClass(this.p.treeIcons.minus+" tree-minus").addClass(this.p.treeIcons.plus+" tree-plus"); } }); @@ -10830,7 +11102,7 @@ }, delTreeNode : function (rowid) { return this.each(function () { - var $t = this, rid = $t.p.localReader.id, + var $t = this, rid = $t.p.localReader.id, i, left = $t.p.treeReader.left_field, right = $t.p.treeReader.right_field, myright, width, res, key; if(!$t.grid || !$t.p.treeGrid) {return;} @@ -10841,7 +11113,7 @@ width = myright - parseInt($t.p.data[rc][left],10) + 1; var dr = $($t).jqGrid("getFullTreeNode",$t.p.data[rc]); if(dr.length>0){ - for (var i=0;i<dr.length;i++){ + for (i=0;i<dr.length;i++){ $($t).jqGrid("delRowData",dr[i][rid]); } } @@ -10871,7 +11143,7 @@ } }); }, - addChildNode : function( nodeid, parentid, data ) { + addChildNode : function( nodeid, parentid, data, expandData ) { //return this.each(function(){ var $t = this[0]; if(data) { @@ -10885,8 +11157,8 @@ right = $t.p.treeReader.right_field, loaded = $t.p.treeReader.loaded, method, parentindex, parentdata, parentlevel, i, len, max=0, rowind = parentid, leaf, maxright; - - if ( typeof nodeid === 'undefined' || nodeid === null ) { + if(expandData===undefined) {expandData = false;} + if ( nodeid === undefined || nodeid === null ) { i = $t.p.data.length-1; if( i>= 0 ) { while(i>=0){max = Math.max(max, parseInt($t.p.data[i][$t.p.localReader.id],10)); i--;} @@ -10894,48 +11166,48 @@ nodeid = max+1; } var prow = $($t).jqGrid('getInd', parentid); - leaf = false; - // if not a parent we assume root - if ( parentid === undefined || parentid === null || parentid==="") { - parentid = null; - rowind = null; - method = 'last'; - parentlevel = $t.p.tree_root_level; - i = $t.p.data.length+1; + leaf = false; + // if not a parent we assume root + if ( parentid === undefined || parentid === null || parentid==="") { + parentid = null; + rowind = null; + method = 'last'; + parentlevel = $t.p.tree_root_level; + i = $t.p.data.length+1; + } else { + method = 'after'; + parentindex = $t.p._index[parentid]; + parentdata = $t.p.data[parentindex]; + parentid = parentdata[$t.p.localReader.id]; + parentlevel = parseInt(parentdata[level],10)+1; + var childs = $($t).jqGrid('getFullTreeNode', parentdata); + // if there are child nodes get the last index of it + if(childs.length) { + i = childs[childs.length-1][$t.p.localReader.id]; + rowind = i; + i = $($t).jqGrid('getInd',rowind)+1; } else { - method = 'after'; - parentindex = $t.p._index[parentid]; - parentdata = $t.p.data[parentindex]; - parentid = parentdata[$t.p.localReader.id]; - parentlevel = parseInt(parentdata[level],10)+1; - var childs = $($t).jqGrid('getFullTreeNode', parentdata); - // if there are child nodes get the last index of it - if(childs.length) { - i = childs[childs.length-1][$t.p.localReader.id]; - rowind = i; - i = $($t).jqGrid('getInd',rowind)+1; - } else { - i = $($t).jqGrid('getInd', parentid)+1; - } - // if the node is leaf - if(parentdata[isLeaf]) { - leaf = true; - parentdata[expanded] = true; - //var prow = $($t).jqGrid('getInd', parentid); - $($t.rows[prow]) - .find("span.cell-wrapperleaf").removeClass("cell-wrapperleaf").addClass("cell-wrapper") - .end() - .find("div.tree-leaf").removeClass($t.p.treeIcons.leaf+" tree-leaf").addClass($t.p.treeIcons.minus+" tree-minus"); - $t.p.data[parentindex][isLeaf] = false; - parentdata[loaded] = true; - } + i = $($t).jqGrid('getInd', parentid)+1; } - len = i+1; + // if the node is leaf + if(parentdata[isLeaf]) { + leaf = true; + parentdata[expanded] = true; + //var prow = $($t).jqGrid('getInd', parentid); + $($t.rows[prow]) + .find("span.cell-wrapperleaf").removeClass("cell-wrapperleaf").addClass("cell-wrapper") + .end() + .find("div.tree-leaf").removeClass($t.p.treeIcons.leaf+" tree-leaf").addClass($t.p.treeIcons.minus+" tree-minus"); + $t.p.data[parentindex][isLeaf] = false; + parentdata[loaded] = true; + } + } + len = i+1; - data[expanded] = false; - data[loaded] = true; + if( data[expanded]===undefined) {data[expanded]= false;} + if( data[loaded]===undefined ) { data[loaded] = false;} data[level] = parentlevel; - data[isLeaf] = true; + if( data[isLeaf]===undefined) {data[isLeaf]= true;} if( $t.p.treeGridModel === "adjacency") { data[parent] = parentid; } @@ -10989,7 +11261,7 @@ $($t).jqGrid('addRowData', nodeid, data, method, rowind); $($t).jqGrid('setTreeNode', i, len); } - if(parentdata && !parentdata[expanded]) { + if(parentdata && !parentdata[expanded] && expandData) { $($t.rows[prow]) .find("div.treeclick") .click(); @@ -10999,27 +11271,29 @@ } }); })(jQuery); +/*jshint eqeqeq:false, eqnull:true */ +/*global jQuery */ // Grouping module -;(function($){ +(function($){ "use strict"; $.extend($.jgrid,{ template : function(format){ //jqgformat - var args = $.makeArray(arguments).slice(1), j = 1; - if(format===undefined) { format = ""; } + var args = $.makeArray(arguments).slice(1), j, al = args.length; + if(format==null) { format = ""; } return format.replace(/\{([\w\-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g, function(m,i){ if(!isNaN(parseInt(i,10))) { - j++; return args[parseInt(i,10)]; - } else { - var nmarr = args[ j ], - k = nmarr.length; - while(k--) { - if(i===nmarr[k].nm) { - return nmarr[k].v; - break; + } + for(j=0; j < al;j++) { + if($.isArray(args[j])) { + var nmarr = args[ j ], + k = nmarr.length; + while(k--) { + if(i===nmarr[k].nm) { + return nmarr[k].v; + } } } - j++; } }); } @@ -11027,30 +11301,29 @@ $.jgrid.extend({ groupingSetup : function () { return this.each(function (){ - var $t = this, - grp = $t.p.groupingView; + var $t = this, i, j, cml, cm = $t.p.colModel, grp = $t.p.groupingView; if(grp !== null && ( (typeof grp === 'object') || $.isFunction(grp) ) ) { if(!grp.groupField.length) { $t.p.grouping = false; } else { - if ( typeof(grp.visibiltyOnNextGrouping) === 'undefined') { + if (grp.visibiltyOnNextGrouping === undefined) { grp.visibiltyOnNextGrouping = []; } grp.lastvalues=[]; grp.groups =[]; grp.counters =[]; - for(var i=0;i<grp.groupField.length;i++) { + for(i=0;i<grp.groupField.length;i++) { if(!grp.groupOrder[i]) { grp.groupOrder[i] = 'asc'; } if(!grp.groupText[i]) { grp.groupText[i] = '{0}'; } - if( typeof(grp.groupColumnShow[i]) !== 'boolean') { + if( typeof grp.groupColumnShow[i] !== 'boolean') { grp.groupColumnShow[i] = true; } - if( typeof(grp.groupSummary[i]) !== 'boolean') { + if( typeof grp.groupSummary[i] !== 'boolean') { grp.groupSummary[i] = false; } if(grp.groupColumnShow[i] === true) { @@ -11062,8 +11335,7 @@ } } grp.summary =[]; - var cm = $t.p.colModel; - for(var j=0, cml = cm.length; j < cml; j++) { + for(j=0, cml = cm.length; j < cml; j++) { if(cm[j].summaryType) { grp.summary.push({nm:cm[j].name,st:cm[j].summaryType, v: '', sr: cm[j].summaryRound, srt: cm[j].summaryRoundType || 'round'}); } @@ -11076,18 +11348,26 @@ }, groupingPrepare : function (rData, gdata, record, irow) { this.each(function(){ - var grp = this.p.groupingView, $t= this; - var grlen = grp.groupField.length, + var grp = this.p.groupingView, $t= this, i, + grlen = grp.groupField.length, fieldName, v, + displayName, + displayValue, changed = 0; - for(var i=0;i<grlen;i++) { + for(i=0;i<grlen;i++) { fieldName = grp.groupField[i]; + displayName = grp.displayField[i]; v = record[fieldName]; + displayValue = displayName == null ? null : record[displayName]; + + if( displayValue == null ) { + displayValue = v; + } if( v !== undefined ) { if(irow === 0 ) { // First record always starts a new group - grp.groups.push({idx:i,dataIndex:fieldName,value:v, startRow: irow, cnt:1, summary : [] } ); + grp.groups.push({idx:i,dataIndex:fieldName,value:v, displayValue: displayValue, startRow: irow, cnt:1, summary : [] } ); grp.lastvalues[i] = v; grp.counters[i] = {cnt:1, pos:grp.groups.length-1, summary: $.extend(true,[],grp.summary)}; $.each(grp.counters[i].summary,function() { @@ -11099,9 +11379,9 @@ }); grp.groups[grp.counters[i].pos].summary = grp.counters[i].summary; } else { - if( (typeof(v) !== "object" && (grp.lastvalues[i] !== v) ) ) { + if (typeof v !== "object" && ($.isArray(grp.isInTheSameGroup) && $.isFunction(grp.isInTheSameGroup[i]) ? ! grp.isInTheSameGroup[i].call($t, grp.lastvalues[i], v, i, grp): grp.lastvalues[i] !== v)) { // This record is not in same group as previous one - grp.groups.push({idx:i,dataIndex:fieldName,value:v, startRow: irow, cnt:1, summary : [] } ); + grp.groups.push({idx:i,dataIndex:fieldName,value:v, displayValue: displayValue, startRow: irow, cnt:1, summary : [] } ); grp.lastvalues[i] = v; changed = 1; grp.counters[i] = {cnt:1, pos:grp.groups.length-1, summary: $.extend(true,[],grp.summary)}; @@ -11116,7 +11396,7 @@ } else { if (changed === 1) { // This group has changed because an earlier group changed. - grp.groups.push({idx:i,dataIndex:fieldName,value:v, startRow: irow, cnt:1, summary : [] } ); + grp.groups.push({idx:i,dataIndex:fieldName,value:v, displayValue: displayValue, startRow: irow, cnt:1, summary : [] } ); grp.lastvalues[i] = v; grp.counters[i] = {cnt:1, pos:grp.groups.length-1, summary: $.extend(true,[],grp.summary)}; $.each(grp.counters[i].summary,function() { @@ -11152,6 +11432,7 @@ var $t = this, grp = $t.p.groupingView, strpos = hid.split('_'), + uidpos, //uid = hid.substring(0,strpos+1), num = parseInt(strpos[strpos.length-2], 10); strpos.splice(strpos.length-2,2); @@ -11179,7 +11460,12 @@ } else { if(r){ while(r) { - if( $(r).hasClass(uid+"_"+String(num) ) || $(r).hasClass(uid+"_"+String(num-1))) { break; } + uidpos = r.className.indexOf(uid); + if(uidpos !== -1) { + if( parseInt(r.className.substring(uidpos+uid.length + 1),10) <= num) { + break; + } + } $(r).hide(); r = r.nextSibling; } @@ -11190,7 +11476,12 @@ } else { if(r){ while(r) { - if($(r).hasClass(uid+"_"+String(num)) || $(r).hasClass(uid+"_"+String(num-1)) ) { break; } + uidpos = r.className.indexOf(uid); + if(uidpos !== -1) { + if( parseInt(r.className.substring(uidpos+uid.length + 1),10) <= num) { + break; + } + } $(r).show(); tspan = $(r).find("span."+"tree-wrap-"+$t.p.direction); if( tspan && $(tspan).hasClass(plus) ) { @@ -11211,11 +11502,11 @@ return this.each(function(){ var $t = this, grp = $t.p.groupingView, - str = "", icon = "", hid, clid, pmrtl = grp.groupCollapse ? grp.plusicon : grp.minusicon, gv, cp=[], ii, len =grp.groupField.length; + str = "", icon = "", hid, clid, pmrtl = grp.groupCollapse ? grp.plusicon : grp.minusicon, gv, cp=[], len =grp.groupField.length; pmrtl += " tree-wrap-"+$t.p.direction; - ii = 0; $.each($t.p.colModel, function (i,n){ - for(var ii=0;ii<len;ii++) { + var ii; + for(ii=0;ii<len;ii++) { if(grp.groupField[ii] === n.name ) { cp[ii] = i; break; @@ -11224,17 +11515,23 @@ }); var toEnd = 0; function findGroupIdx( ind , offset, grp) { + var ret = false, i; if(offset===0) { - return grp[ind]; + ret = grp[ind]; } else { var id = grp[ind].idx; - if(id===0) { return grp[ind]; } - for(var i=ind;i >= 0; i--) { - if(grp[i].idx === id-offset) { - return grp[i]; + if(id===0) { + ret = grp[ind]; + } else { + for(i=ind;i >= 0; i--) { + if(grp[i].idx === id-offset) { + ret = grp[i]; + break; + } } } } + return ret; } var sumreverse = $.makeArray(grp.groupSummary); sumreverse.reverse(); @@ -11244,16 +11541,19 @@ hid = clid+"_"+i; icon = "<span style='cursor:pointer;' class='ui-icon "+pmrtl+"' onclick=\"jQuery('#"+$.jgrid.jqID($t.p.id)+"').jqGrid('groupingToggle','"+hid+"');return false;\"></span>"; try { - gv = $t.formatter(hid, n.value, cp[n.idx], n.value ); + if ($.isArray(grp.formatDisplayField) && $.isFunction(grp.formatDisplayField[n.idx])) { + n.displayValue = grp.formatDisplayField[n.idx].call($t, n.displayValue, n.value, $t.p.colModel[cp[n.idx]], n.idx, grp); + } + gv = $t.formatter(hid, n.displayValue, cp[n.idx], n.value ); } catch (egv) { - gv = n.value; + gv = n.displayValue; } str += "<tr id=\""+hid+"\" role=\"row\" class= \"ui-widget-content jqgroup ui-row-"+$t.p.direction+" "+clid+"\"><td style=\"padding-left:"+(n.idx * 12) + "px;"+"\" colspan=\""+colspans+"\">"+icon+$.jgrid.template(grp.groupText[n.idx], gv, n.cnt, n.summary)+"</td></tr>"; var leaf = len-1 === n.idx; if( leaf ) { - var gg = grp.groups[i+1]; + var gg = grp.groups[i+1], k, kk, ik; var end = gg !== undefined ? grp.groups[i+1].startRow : grdata.length; - for(var kk=n.startRow;kk<end;kk++) { + for(kk=n.startRow;kk<end;kk++) { str += grdata[kk].join(''); } var jj; @@ -11265,7 +11565,7 @@ } toEnd = grp.groupField.length - jj; } - for (var ik = 0; ik < toEnd; ik++) { + for (ik = 0; ik < toEnd; ik++) { if(!sumreverse[ik]) { continue; } var hhdr = ""; if(grp.groupCollapse && !grp.showSummaryOnHide) { @@ -11275,7 +11575,7 @@ var fdata = findGroupIdx(i, ik, grp.groups), cm = $t.p.colModel, vv, grlen = fdata.cnt; - for(var k=0; k<colspans;k++) { + for(k=0; k<colspans;k++) { var tmpdata = "<td "+$t.formatCol(k,1,'')+"> </td>", tplfld = "{0}"; $.each(fdata.summary,function(){ @@ -11283,7 +11583,7 @@ if(cm[k].summaryTpl) { tplfld = cm[k].summaryTpl; } - if(typeof(this.st) === 'string' && this.st.toLowerCase() === 'avg') { + if(typeof this.st === 'string' && this.st.toLowerCase() === 'avg') { if(this.v && grlen > 0) { this.v = (this.v/grlen); } @@ -11312,14 +11612,14 @@ groupingGroupBy : function (name, options ) { return this.each(function(){ var $t = this; - if(typeof(name) === "string") { + if(typeof name === "string") { name = [name]; } var grp = $t.p.groupingView; $t.p.grouping = true; //Set default, in case visibilityOnNextGrouping is undefined - if (typeof grp.visibiltyOnNextGrouping === "undefined") { + if (grp.visibiltyOnNextGrouping === undefined) { grp.visibiltyOnNextGrouping = []; } var i; @@ -11341,14 +11641,14 @@ groupingRemove : function (current) { return this.each(function(){ var $t = this; - if(typeof(current) === 'undefined') { + if(current === undefined) { current = true; } $t.p.grouping = false; if(current===true) { - var grp = $t.p.groupingView; + var grp = $t.p.groupingView, i; // show previous hidden groups if they are hidden and weren't removed yet - for(var i=0;i<grp.groupField.length;i++) { + for(i=0;i<grp.groupField.length;i++) { if (!grp.groupColumnShow[i] && grp.visibiltyOnNextGrouping[i]) { $($t).jqGrid('showCol', grp.groupField); } @@ -11385,9 +11685,8 @@ if(v==="") {v=0;} if(rc.hasOwnProperty(field)) { return v+1; - } else { - return 0; } + return 0; }, avg: function() { @@ -11395,7 +11694,7 @@ // so use sum instead of duplicating the code (?) return funcs.sum(); } - } + }; if(!funcs[fn]) { throw ("jqGrid Grouping No such method: " + fn); @@ -11403,11 +11702,10 @@ var res = funcs[fn](); if (round != null) { - if (roundType == 'fixed') + if (roundType === 'fixed') { res = res.toFixed(round); - else { + } else { var mul = Math.pow(10, round); - res = Math.round(res * mul) / mul; } } @@ -11417,7 +11715,9 @@ } }); })(jQuery); -;(function($){ +/*jshint eqeqeq:false, eqnull:true, devel:true */ +/*global jQuery, xmlJsonClass */ +(function($){ /* * jqGrid extension for constructing Grid Data from external file * Tony Tomov tony@trirand.com @@ -11426,8 +11726,6 @@ * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl-2.0.html **/ -//jsHint options -/*global jQuery, $, alert, xmlJsonClass */ "use strict"; $.jgrid.extend({ @@ -11452,11 +11750,11 @@ var $t = this; var xmlConvert = function (xml,o) { var cnfg = $(o.xmlGrid.config,xml)[0]; - var xmldata = $(o.xmlGrid.data,xml)[0], jstr, jstr1; + var xmldata = $(o.xmlGrid.data,xml)[0], jstr, jstr1, key; if(xmlJsonClass.xml2json && $.jgrid.parse) { jstr = xmlJsonClass.xml2json(cnfg," "); jstr = $.jgrid.parse(jstr); - for(var key in jstr) { + for(key in jstr) { if(jstr.hasOwnProperty(key)) { jstr1=jstr[key]; } @@ -11476,7 +11774,7 @@ } }; var jsonConvert = function (jsonstr,o){ - if (jsonstr && typeof jsonstr == 'string') { + if (jsonstr && typeof jsonstr === 'string') { var _jsonparse = false; if($.jgrid.useJSON) { $.jgrid.useJSON = false; @@ -11504,7 +11802,7 @@ data: o.impData, dataType:"xml", complete: function(xml,stat) { - if(stat == 'success') { + if(stat === 'success') { xmlConvert(xml.responseXML,o); $($t).triggerHandler("jqGridImportComplete", [xml, o]); if($.isFunction(o.importComplete)) { @@ -11517,8 +11815,8 @@ break; case 'xmlstring' : // we need to make just the conversion and use the same code as xml - if(o.impstring && typeof o.impstring == 'string') { - var xmld = $.jgrid.stringToDoc(o.impstring); + if(o.impstring && typeof o.impstring === 'string') { + var xmld = $.parseXML(o.impstring); if(xmld) { xmlConvert(xmld,o); $($t).triggerHandler("jqGridImportComplete", [xmld, o]); @@ -11549,7 +11847,7 @@ }, o.ajaxOptions )); break; case 'jsonstring' : - if(o.impstring && typeof o.impstring == 'string') { + if(o.impstring && typeof o.impstring === 'string') { jsonConvert(o.impstring,o ); $($t).triggerHandler("jqGridImportComplete", [o.impstring, o]); if($.isFunction(o.importComplete)) { @@ -11570,7 +11868,7 @@ var ret = null; this.each(function () { if(!this.grid) { return;} - var gprm = $.extend(true, {},$(this).jqGrid("getGridParam")); + var key, gprm = $.extend(true, {},$(this).jqGrid("getGridParam")); // we need to check for: // 1.multiselect, 2.subgrid 3. treegrid and remove the unneded columns from colNames if(gprm.rownumbers) { @@ -11587,7 +11885,7 @@ } gprm.knv = null; if(gprm.treeGrid) { - for (var key in gprm.treeReader) { + for (key in gprm.treeReader) { if(gprm.treeReader.hasOwnProperty(key)) { gprm.colNames.splice(gprm.colNames.length-1); gprm.colModel.splice(gprm.colModel.length-1); @@ -11620,18 +11918,21 @@ return this.each(function(){ if(!this.grid) { return;} var url; - if(o.exptype == "remote") { + if(o.exptype === "remote") { var pdata = $.extend({},this.p.postData); pdata[o.oper] = o.tag; var params = jQuery.param(pdata); - if(o.url.indexOf("?") != -1) { url = o.url+"&"+params; } + if(o.url.indexOf("?") !== -1) { url = o.url+"&"+params; } else { url = o.url+"?"+params; } window.location = url; } }); } }); -})(jQuery);;(function($){ +})(jQuery); +/*jshint evil:true, eqeqeq:false, eqnull:true, devel:true */ +/*global jQuery */ +(function($){ /* ** * jqGrid addons using jQuery UI @@ -11641,10 +11942,11 @@ * http://www.gnu.org/licenses/gpl-2.0.html * depends on jQuery UI **/ -if ($.browser.msie && $.browser.version==8) { +"use strict"; +if ($.jgrid.msie && $.jgrid.msiever()===8) { $.expr[":"].hidden = function(elem) { return elem.offsetWidth === 0 || elem.offsetHeight === 0 || - elem.style.display == "none"; + elem.style.display === "none"; }; } // requiere load multiselect before grid @@ -11653,17 +11955,17 @@ if ($.ui.multiselect ) { if($.ui.multiselect.prototype._setSelected) { var setSelected = $.ui.multiselect.prototype._setSelected; - $.ui.multiselect.prototype._setSelected = function(item,selected) { - var ret = setSelected.call(this,item,selected); - if (selected && this.selectedList) { - var elt = this.element; - this.selectedList.find('li').each(function() { - if ($(this).data('optionLink')) { - $(this).data('optionLink').remove().appendTo(elt); - } - }); - } - return ret; + $.ui.multiselect.prototype._setSelected = function(item,selected) { + var ret = setSelected.call(this,item,selected); + if (selected && this.selectedList) { + var elt = this.element; + this.selectedList.find('li').each(function() { + if ($(this).data('optionLink')) { + $(this).data('optionLink').remove().appendTo(elt); + } + }); + } + return ret; }; } if($.ui.multiselect.prototype.destroy) { @@ -11674,7 +11976,7 @@ $.widget.prototype.destroy.apply(this, arguments); } else { $.Widget.prototype.destroy.apply(this, arguments); - } + } }; } $.jgrid._multiselect = true; @@ -11713,7 +12015,7 @@ var permutation = []; th.each(function() { var id = $(">div", this).get(0).id.replace(/^jqgh_/, "").replace(tid,""); - if (id in cmMap) { + if (cmMap.hasOwnProperty(id)) { permutation.push(cmMap[id]); } }); @@ -11802,8 +12104,8 @@ "close": function() { opts.cleanup(true); }, - "modal" : opts.modal ? opts.modal : false, - "resizable": opts.resizable ? opts.resizable : true, + "modal" : opts.modal || false, + "resizable": opts.resizable || true, "width": opts.width+20 }, opts.dialog_opts || {}); }, @@ -11845,7 +12147,7 @@ }, $.jgrid.col, opts || {}); if($.ui) { if ($.ui.multiselect ) { - if(opts.msel == "multiselect") { + if(opts.msel === "multiselect") { if(!$.jgrid._multiselect) { // should be in language file alert("Multiselect plugin loaded after jqGrid. Please load the plugin before the jqGrid!"); @@ -11885,11 +12187,11 @@ } select.append("<option value='"+i+"' "+ - (this.hidden?"":"selected='selected'")+">"+jQuery.jgrid.stripHtml(colNames[i])+"</option>"); + (this.hidden?"":"selected='selected'")+">"+$.jgrid.stripHtml(colNames[i])+"</option>"); }); function call(fn, obj) { if (!fn) { return; } - if (typeof fn == 'string') { + if (typeof fn === 'string') { if ($.fn[fn]) { $.fn[fn].apply(obj, $.makeArray(arguments).slice(2)); } @@ -11958,7 +12260,7 @@ }, gridDnD : function(opts) { return this.each(function(){ - var $t = this; + var $t = this, i, cn; if(!$t.grid) { return; } // Currently we disable a treeGrid drag and drop if($t.p.treeGrid) { return; } @@ -11966,14 +12268,14 @@ function updateDnD () { var datadnd = $.data($t,"dnd"); - $("tr.jqgrow:not(.ui-draggable)",$t).draggable($.isFunction(datadnd.drag) ? datadnd.drag.call($($t),datadnd) : datadnd.drag); + $("tr.jqgrow:not(.ui-draggable)",$t).draggable($.isFunction(datadnd.drag) ? datadnd.drag.call($($t),datadnd) : datadnd.drag); } var appender = "<table id='jqgrid_dnd' class='ui-jqgrid-dnd'></table>"; if($("#jqgrid_dnd")[0] === undefined) { $('body').append(appender); } - if(typeof opts == 'string' && opts == 'updateDnD' && $t.p.jqgdnd===true) { + if(typeof opts === 'string' && opts === 'updateDnD' && $t.p.jqgdnd===true) { updateDnD(); return; } @@ -11981,9 +12283,10 @@ "drag" : function (opts) { return $.extend({ start : function (ev, ui) { + var i, subgid; // if we are in subgrid mode try to collapse the node if($t.p.subGrid) { - var subgid = $(ui.helper).attr("id"); + subgid = $(ui.helper).attr("id"); try { $($t).jqGrid('collapseSubGridRow',subgid); } catch (e) {} @@ -11991,8 +12294,8 @@ // hack // drag and drop does not insert tr in table, when the table has no rows // we try to insert new empty row on the target(s) - for (var i=0;i<$.data($t,"dnd").connectWith.length;i++){ - if($($.data($t,"dnd").connectWith[i]).jqGrid('getGridParam','reccount') == "0" ){ + for (i=0;i<$.data($t,"dnd").connectWith.length;i++){ + if($($.data($t,"dnd").connectWith[i]).jqGrid('getGridParam','reccount') === 0 ){ $($.data($t,"dnd").connectWith[i]).jqGrid('addRowData','jqg_empty_row',{}); } } @@ -12003,13 +12306,14 @@ if(opts.onstart && $.isFunction(opts.onstart) ) { opts.onstart.call($($t),ev,ui); } }, stop :function(ev,ui) { + var i, ids; if(ui.helper.dropped && !opts.dragcopy) { - var ids = $(ui.helper).attr("id"); + ids = $(ui.helper).attr("id"); if(ids === undefined) { ids = $(this).attr("id"); } $($t).jqGrid('delRowData',ids ); } // if we have a empty row inserted from start event try to delete it - for (var i=0;i<$.data($t,"dnd").connectWith.length;i++){ + for (i=0;i<$.data($t,"dnd").connectWith.length;i++){ $($.data($t,"dnd").connectWith[i]).jqGrid('delRowData','jqg_empty_row'); } if(opts.onstop && $.isFunction(opts.onstop) ) { opts.onstop.call($($t),ev,ui); } @@ -12022,8 +12326,8 @@ if (!$(d).hasClass('jqgrow')) { return d;} var tid = $(d).closest("table.ui-jqgrid-btable"); if(tid.length > 0 && $.data(tid[0],"dnd") !== undefined) { - var cn = $.data(tid[0],"dnd").connectWith; - return $.inArray('#'+$.jgrid.jqID(this.id),cn) != -1 ? true : false; + var cn = $.data(tid[0],"dnd").connectWith; + return $.inArray('#'+$.jgrid.jqID(this.id),cn) !== -1 ? true : false; } return false; }, @@ -12032,18 +12336,20 @@ var accept = $(ui.draggable).attr("id"); var getdata = ui.draggable.parent().parent().jqGrid('getRowData',accept); if(!opts.dropbyname) { - var j =0, tmpdata = {}, nm; + var j =0, tmpdata = {}, nm, key; var dropmodel = $("#"+$.jgrid.jqID(this.id)).jqGrid('getGridParam','colModel'); try { - for (var key in getdata) { + for (key in getdata) { + if (getdata.hasOwnProperty(key)) { nm = dropmodel[j].name; - if( !(nm == 'cb' || nm =='rn' || nm == 'subgrid' )) { + if( !(nm === 'cb' || nm === 'rn' || nm === 'subgrid' )) { if(getdata.hasOwnProperty(key) && dropmodel[j]) { tmpdata[nm] = getdata[key]; } } j++; } + } getdata = tmpdata; } catch (e) {} } @@ -12052,7 +12358,7 @@ //parameters to this callback - event, element, data to be inserted, sender, reciever // should return object which will be inserted into the reciever var datatoinsert = opts.beforedrop.call(this,ev,ui,getdata,$('#'+$.jgrid.jqID($t.p.id)),$(this)); - if (typeof datatoinsert != "undefined" && datatoinsert !== null && typeof datatoinsert == "object") { getdata = datatoinsert; } + if (datatoinsert !== undefined && datatoinsert !== null && typeof datatoinsert === "object") { getdata = datatoinsert; } } if(ui.helper.dropped) { var grid; @@ -12097,12 +12403,12 @@ opts.connectWith = $.map(opts.connectWith,function(n){return $.trim(n);}); $.data($t,"dnd",opts); - if($t.p.reccount != "0" && !$t.p.jqgdnd) { + if($t.p.reccount !== 0 && !$t.p.jqgdnd) { updateDnD(); } $t.p.jqgdnd = true; - for (var i=0;i<opts.connectWith.length;i++){ - var cn =opts.connectWith[i]; + for (i=0;i<opts.connectWith.length;i++){ + cn =opts.connectWith[i]; $(cn).droppable($.isFunction(opts.drop) ? opts.drop.call($($t),opts) : opts.drop); } }); Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/js/jquery.jqGrid.src.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/grid.addons.js =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/grid.addons.js 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/grid.addons.js 2013-07-19 21:45:03 UTC (rev 166) @@ -1,6 +1,5 @@ (function($){ -/* - * %%Ignore-License +/* %%Ignore-License * jqGrid methods without support. Use as you wish * Tony Tomov tony@trirand.com * http://trirand.com/blog/ Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/grid.addons.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/grid.postext.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/grid.setcolumns.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/jquery.contextmenu.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/jquery.searchFilter.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/jquery.tablednd.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/searchFilter.css =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/searchFilter.css 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/searchFilter.css 2013-07-19 21:45:03 UTC (rev 166) @@ -1,4 +1,4 @@ -/* %%Ignore-License */ +/*%%Ignore-License*/ .ui-searchFilter { display: none; position: absolute; z-index: 770; overflow: visible;} .ui-searchFilter table {position:relative; margin:0em; width:auto} .ui-searchFilter table td {margin: 0em; padding: 1px;} Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/searchFilter.css ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/ui.multiselect.css =================================================================== --- sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/ui.multiselect.css 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/ui.multiselect.css 2013-07-19 21:45:03 UTC (rev 166) @@ -1,5 +1,4 @@ -/* %%Ignore-License - Multiselect +/* %%Ignore-License Multiselect ----------------------------------*/ .ui-multiselect { border: solid 1px; font-size: 0.8em; } Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/ui.multiselect.css ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Property changes on: sandbox/nuiton-js-jqgrid/src/main/resources/nuiton-js-jqgrid/plugins/ui.multiselect.js ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/site/rst/index.rst.vm =================================================================== --- sandbox/nuiton-js-jqgrid/src/site/rst/index.rst.vm 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/site/rst/index.rst.vm 2013-07-19 21:45:03 UTC (rev 166) @@ -1,8 +1,8 @@ .. - .. * #%L .. * Nuiton JS :: jqGrid -.. * $Id:$ -.. * $HeadURL:$ +.. * $Id$ +.. * $HeadURL$ .. * %% .. * Copyright (C) 2012 - 2013 CodeLutin .. * %% @@ -33,7 +33,7 @@ .. _documentation: http://www.trirand.com/jqgridwiki/doku.php Use -=== +--- Maven part:: @@ -90,6 +90,7 @@ - jqgrid-hr: specifique i18n - jqgrid-hr1250: specifique i18n - jqgrid-hu: specifique i18n +- jqgrid-id: specifique i18n - jqgrid-is: specifique i18n - jqgrid-it: specifique i18n - jqgrid-ja: specifique i18n @@ -111,6 +112,7 @@ - jqgrid-tr: specifique i18n - jqgrid-tw: specifique i18n - jqgrid-ua: specifique i18n +- jqgrid-vi: specifique i18n Available CSS ------------- Property changes on: sandbox/nuiton-js-jqgrid/src/site/rst/index.rst.vm ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: sandbox/nuiton-js-jqgrid/src/site/site_en.xml =================================================================== --- sandbox/nuiton-js-jqgrid/src/site/site_en.xml 2013-07-19 21:34:13 UTC (rev 165) +++ sandbox/nuiton-js-jqgrid/src/site/site_en.xml 2013-07-19 21:45:03 UTC (rev 166) @@ -1,8 +1,8 @@ <!-- #%L Nuiton JS :: jqGrid - $Id:$ - $HeadURL:$ + $Id$ + $HeadURL$ %% Copyright (C) 2012 - 2013 CodeLutin %% @@ -45,8 +45,8 @@ <menu ref="parent"/> - <menu name="Utilisateurs"> - <item name="Accueil" href="index.html"/> + <menu name="Users"> + <item name="Home" href="index.html"/> </menu> <menu ref="reports"/> Property changes on: sandbox/nuiton-js-jqgrid/src/site/site_en.xml ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL
participants (1)
-
echatellier@users.nuiton.org