<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
	<title>jQuery Grid Plugin - jqGrid - Topic: Small but useful little Features for jqGrid 3.8.1</title>
	<link>http://www.trirand.com/blog/?page_id=393/feature-request/small-but-useful-little-features-for-jqgrid-3-8-1</link>
	<description><![CDATA[Grid plugin]]></description>
	<generator>Simple:Press Version 5.7.5.3</generator>
	<atom:link href="http://www.trirand.com/blog/?page_id=393/feature-request/small-but-useful-little-features-for-jqgrid-3-8-1/rss" rel="self" type="application/rss+xml" />
        <item>
        	<title>Klaus on Small but useful little Features for jqGrid 3.8.1</title>
        	<link>http://www.trirand.com/blog/?page_id=393/feature-request/small-but-useful-little-features-for-jqgrid-3-8-1#p21110</link>
        	<category>Feature Request</category>
        	<guid isPermaLink="true">http://www.trirand.com/blog/?page_id=393/feature-request/small-but-useful-little-features-for-jqgrid-3-8-1#p21110</guid>
        	        	<description><![CDATA[<p>here is one more: ... to be able to pass the "modal"-option as option to the column chooser dialog ...</p>
</p>
<p><input type='button' class='sfcodeselect' name='sfselectit8039' value='Select Code' data-codeid='sfcode8039' /></p>
<div class='sfcode' id='sfcode8039'>columnChooser : function(opts) {<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;...<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#34;dlog_opts&#34; : function(opts) {<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var buttons = {};<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; buttons[opts.bSubmit] = function() {<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; opts.apply_perm();<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; opts.cleanup(false);<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; };<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; buttons[opts.bCancel] = function() {<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; opts.cleanup(true);<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; };<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return {<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#34;buttons&#34;: buttons,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#34;close&#34;: function() {<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; opts.cleanup(true);<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; },<br /><strong>&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#34;modal&#34; : opts.modal, &#160;&#160; &#160;// CHANGED: pass along the modal option</strong><br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#34;resizable&#34;: false,<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#34;width&#34;: opts.width+20<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; };</div>
]]></description>
        	        	<pubDate>Fri, 03 Dec 2010 14:45:10 +0200</pubDate>
        </item>
        <item>
        	<title>Klaus on Small but useful little Features for jqGrid 3.8.1</title>
        	<link>http://www.trirand.com/blog/?page_id=393/feature-request/small-but-useful-little-features-for-jqgrid-3-8-1#p21108</link>
        	<category>Feature Request</category>
        	<guid isPermaLink="true">http://www.trirand.com/blog/?page_id=393/feature-request/small-but-useful-little-features-for-jqgrid-3-8-1#p21108</guid>
        	        	<description><![CDATA[<p>Hello Tony,</p>
<p>here are 2 little features (incl. Source for simple insert) I would like to have in jqGrid:</p>
<p><strong>Feature 1)</strong> additional callback for AJAX requests done by grid: <strong>ajaxComplete</strong><br />... to be able to do some custom code (e.g. for custom instrumentation/ speed measurements) directly at AJAX function success callback is called:</p>
<p><input type='button' class='sfcodeselect' name='sfselectit3420' value='Select Code' data-codeid='sfcode3420' /></p>
<div class='sfcode' id='sfcode3420'>
<p>var p = $.extend(true,{<br />&#160;&#160;&#160; ...<br />&#160;&#160;&#160;<strong> ajaxComplete: null,&#160;&#160; &#160;&#160;&#160; &#160;// added callback to global options (default null)</strong></p>
<p>...</p>
<p>populate = function (npage) {<br />&#160; ...<br />&#160; case &#34;script&#34;:<br />&#160;&#160;&#160; $.ajax($.extend({<br />&#160;&#160; &#160;&#160; url:ts.p.url,<br />&#160;&#160; &#160;&#160; type:ts.p.mtype,<br />&#160;&#160; &#160;&#160; dataType: dt ,<br />&#160;&#160; &#160;&#160; data: $.isFunction(ts.p.serializeGridData)? ts.p.serializeGridData.call(ts,ts.p.postData) : ts.p.postData,<br />&#160;&#160; &#160;&#160; success:function(data,st) {<br />&#160;&#160; &#160;&#160;&#160;&#160;<strong> if($.isFunction(ts.p.ajaxComplete)) { ts.p.ajaxComplete.call(ts,data,st); }&#160;&#160; &#160; // invoke callback in AJAX success function (at the top)</strong><br />&#160;&#160; &#160;&#160;&#160;&#160; if(dt === &#34;xml&#34;) { addXmlData(data,ts.grid.bDiv,rcnt,npage&#62;1,adjust); }</p>
<p>...</p>
</div>
<p><strong>Feature 2)</strong> additional option for the <strong>"loadui"-loading indicator ("delay")<br /></strong>I&#39;m using automatic updates for my grid reloading the data every x seconds from the server. 90% of the requests are really fast so I don&#39;t want to show a loading-indicator which will be displayed so short that&#39;s only flickering, but in the other 10% of the table reloads the user should be notified that the reload might take longer ... display loading.<br />So I implemented another option for the "loadui" setting ... "delay" which shows the loading-indicator not before a defined delay of e.g. 500msec ... maybe this value should be also defined as global option.</p>
</p>
<p><input type='button' class='sfcodeselect' name='sfselectit2356' value='Select Code' data-codeid='sfcode2356' /></p>
<div class='sfcode' id='sfcode2356'>
<p>/* add global &#34;delay&#34; loading function to show loading indicator not immediately but after a short delay */<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; <strong>&#160;lateShowLoading: function() {<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;if (grid.loadingTimer) { clearTimeout(grid.loadingTimer); }<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;grid.loadingTimer = null;<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;$(&#34;#load_&#34;+ts.p.id).show();<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;},</strong></p>
<p>beginReq = function() {<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;ts.grid.hDiv.loading = true;<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;if(ts.p.hiddengrid) { return;}<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;switch(ts.p.loadui) {<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;case &#34;disable&#34;:<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;break;<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;case &#34;enable&#34;:<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;$(&#34;#load_&#34;+ts.p.id).show();<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;break;</p>
<p>&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;<strong>case &#34;delay&#34;:&#160;&#160; &#160;&#160;&#160;&#160;&#160; /* added &#34;delay&#34; loading indicator option */<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;grid.loadingTimer = setTimeout(grid.lateShowLoading, 500);<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;break;</strong><br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160;&#160; <br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;case &#34;block&#34;:<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;$(&#34;#lui_&#34;+ts.p.id).show();<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;$(&#34;#load_&#34;+ts.p.id).show();<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;break;<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;}<br />&#160;&#160; &#160;&#160;&#160; &#160;},<br />&#160;&#160; &#160;&#160;&#160; &#160;endReq = function() {<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;ts.grid.hDiv.loading = false;<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;switch(ts.p.loadui) {<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;case &#34;disable&#34;:<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;break;<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;case &#34;enable&#34;:<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;$(&#34;#load_&#34;+ts.p.id).hide();<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;break;</p>
<p>&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;<strong>case &#34;delay&#34;:&#160;&#160; &#160;&#160;&#160; &#160;/* added &#34;delay&#34; loading indicator option */<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;if (grid.loadingTimer) { <br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;clearTimeout(grid.loadingTimer);<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;grid.loadingTimer = null;<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;}<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;$(&#34;#load_&#34;+ts.p.id).hide();<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;break;</strong></p>
<p>&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;case &#34;block&#34;:<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;$(&#34;#lui_&#34;+ts.p.id).hide();<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;$(&#34;#load_&#34;+ts.p.id).hide();<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;break;<br />&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#160;}<br />&#160;&#160; &#160;&#160;&#160; &#160;},</p>
</div>
<p>Maybe you could integrate these features into the next jqGrid version.</p>
<p>Kind regards,<br />Klaus.</p></p>
]]></description>
        	        	<pubDate>Fri, 03 Dec 2010 14:41:55 +0200</pubDate>
        </item>
</channel>
</rss>