Testing implementation of an autosearch functionality, which works. Probably wasted, as I suspect I can get this directly out of jqGrid

git-svn-id: file:///svn-source/pmgr/branches/ledger_transactions_20090605/site@112 97e9348a-65ac-dc4b-aefc-98561f571b83
This commit is contained in:
abijah
2009-06-14 01:27:58 +00:00
parent eefc0d7bce
commit f06d831329
2 changed files with 54 additions and 13 deletions

View File

@@ -164,8 +164,19 @@ class AppController extends Controller {
} }
function jqGridDataConditions(&$params) { function jqGridDataConditions(&$params) {
if (!isset($params['_search']) || $params['_search'] !== 'true') if (isset($params['_search']) && $params['_search'] === 'true') {
$op = $params['searchOper'];
$field = $params['searchField'];
$string = $params['searchString'];
}
elseif (isset($params['filt']) && $params['filt']) {
$op = 'bw';
$field = $params['filtField'];
$string = $params['filtString'];
}
else {
return array(); return array();
}
$ops = array('eq' => array('op' => null, 'pre' => '', 'post' => ''), $ops = array('eq' => array('op' => null, 'pre' => '', 'post' => ''),
'ne' => array('op' => '<>', 'pre' => '', 'post' => ''), 'ne' => array('op' => '<>', 'pre' => '', 'post' => ''),
@@ -178,10 +189,10 @@ class AppController extends Controller {
'cn' => array('op' => 'LIKE', 'pre' => '%', 'post' => '%'), 'cn' => array('op' => 'LIKE', 'pre' => '%', 'post' => '%'),
); );
$op = $ops[$params['searchOper']]; $op = $ops[$op];
$field = $params['searchField'] . ($op['op'] ? ' '.$op['op'] : ''); $field .= $op['op'] ? ' '.$op['op'] : '';
$val = $op['pre'] . $params['searchString'] . $op['post']; $string = $op['pre'] . $string . $op['post'];
return array($field => $val); return array($field => $string);
} }
function jqGridDataFields(&$params) { function jqGridDataFields(&$params) {

View File

@@ -99,15 +99,45 @@ jQuery(document).ready(function(){
<div id="customer-pager" class="scroll" style="text-align:center;"></div> <div id="customer-pager" class="scroll" style="text-align:center;"></div>
</div> </div>
<input type="BUTTON" id="bsdata" value="Search" /> <div class="h">Search By:</div>
<script type="text/javascript"><!-- <div>
$("#bsdata").click(function(){ <input type="checkbox" id="autosearch" onclick="enableAutosubmit(this.checked)">Enable Autosearch
jQuery("#customer-list").searchGrid( </div>
{sopt:['cn','bw','eq','ne','lt','gt','ew']} <div>Last Name<br>
); <input type="text" id="filt_last_name" onkeydown="doSearch(arguments[0]||event)" />
}); <button onclick="gridReload()" id="submitButton" style="margin-left:30px;">Search</button>
--></script> </div>
<script type="text/javascript"><!--
var timeoutHnd;
var flAuto = false;
function enableAutosubmit(state) {
flAuto = state;
jQuery("#submitButton").attr("disabled",state);
}
function doSearch(ev){
if(!flAuto)
return;
if(timeoutHnd)
clearTimeout(timeoutHnd);
timeoutHnd = setTimeout(gridReload,500);
}
function gridReload() {
var str = jQuery("#filt_last_name").val();
jQuery("#customer-list").setGridParam( {
url: '<?php echo $url; ?>' + '?filt=1' +
'&filtField=PrimaryContact.last_name' +
'&filtString=' + str,
page:1
}).trigger("reloadGrid");
}
--></script>
<?php <?php
/* <div><a href="#" onClick="$('#debug').html(htmlEncode($('#everything').html())); return false;">Get Table Code</a></div> */ /* <div><a href="#" onClick="$('#debug').html(htmlEncode($('#everything').html())); return false;">Get Table Code</a></div> */