Skip to content
This repository has been archived by the owner on Jan 1, 2020. It is now read-only.

Commit

Permalink
Merge pull request #77 from bouks/master
Browse files Browse the repository at this point in the history
Fix clearSearch button raise an error when clicked.

Seems good.

Created, for the input size fix :

#81
  • Loading branch information
bouks committed Jan 24, 2015
2 parents 17b0cc1 + 0d456b5 commit a917eff
Show file tree
Hide file tree
Showing 6 changed files with 74 additions and 44 deletions.
18 changes: 7 additions & 11 deletions external/jquery.fmatter.js
Original file line number Diff line number Diff line change
Expand Up @@ -322,22 +322,18 @@
op = $.extend(op,opts.colModel.formatoptions);
}
if(rowid === undefined || $.fmatter.isEmpty(rowid)) {return "";}
var prefixedRowId = $(this)[0].p.idPrefix + '_' + rowid;
if(op.editformbutton){
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='"+nav.edittitle+"' style='float:left;cursor:pointer;' class='ui-pg-div ui-inline-edit' "+ocl+"><span class='ui-icon ui-icon-pencil'></span></div>";
str += "<div id='jEditButton_" + prefixedRowId + "' title='"+nav.edittitle+"' class='ui-pg-div ui-inline-button ui-inline-edit ui-inline-edit-form'><span class='ui-icon ui-icon-pencil'></span></div>";
} else if(op.editbutton){
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='"+nav.edittitle+"' style='float:left;cursor:pointer;' class='ui-pg-div ui-inline-edit' "+ocl+"><span class='ui-icon ui-icon-pencil'></span></div>";
str += "<div id='jEditButton_" + prefixedRowId + "' title='"+nav.edittitle+"' class='ui-pg-div ui-inline-button ui-inline-edit'><span class='ui-icon ui-icon-pencil'></span></div>";
}
if(op.delbutton) {
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='"+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>";
str += "<div id='jDeleteButton_" + prefixedRowId + "' title='"+nav.deltitle+"' class='ui-pg-div ui-inline-button ui-inline-del'><span class='ui-icon ui-icon-trash'></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='"+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='"+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>";

str += "<div id='jSaveButton_" + prefixedRowId + "' title='"+edit.bSubmit+"' class='ui-pg-div ui-inline-button ui-inline-save'><span class='ui-icon ui-icon-disk'></span></div>";
return str += "<div id='jCancelButton_" + prefixedRowId + "' title='"+edit.bCancel+"' class='ui-pg-div ui-inline-button ui-inline-cancel'><span class='ui-icon ui-icon-cancel'></span></div>";
};
$.unformat = function (cellval,options,pos,cnt) {
// specific for jqGrid only
Expand Down
34 changes: 32 additions & 2 deletions js/grid.base.js
Original file line number Diff line number Diff line change
Expand Up @@ -1494,7 +1494,7 @@ $.fn.jqGrid = function( pin ) {
p._index[val] = i;
}
},
constructTr = function(id, hide, altClass, rd, cur, selected) {
constructTr = function(id, hide, altClass, rd, cur, selected) {
var tabindex = '-1', restAttr = '', attrName, style = hide ? 'display:none;' : '', self = this,
classes = 'ui-widget-content jqgrow ui-row-' + p.direction + (altClass ? ' ' + altClass : '') + (selected ? ' ui-state-highlight' : ''),
rowAttrObj = $(self).triggerHandler("jqGridRowAttr", [rd, cur, id]);
Expand Down Expand Up @@ -1531,6 +1531,29 @@ $.fn.jqGrid = function( pin ) {
return '<tr role="row" id="' + id + '" tabindex="' + tabindex + '" class="' + classes + '"' +
(style === '' ? '' : ' style="' + style + '"') + restAttr + '>';
},
activateInlineButtons = function(){
$('.ui-inline-button').on('mouseover', function(){
$(this).addClass('ui-state-hover');
});
$('.ui-inline-button').on('mouseout', function(){
$(this).removeClass('ui-state-hover');
});
$('.ui-inline-edit:not(.ui-inline-edit-form)').on('click', function(){
$.fn.fmatter.rowactions.call(this,'edit');
});
$('.ui-inline-edit.ui-inline-edit-form').on('click', function(){
$.fn.fmatter.rowactions.call(this,'formedit');
});
$('.ui-inline-del').on('click', function(){
$.fn.fmatter.rowactions.call(this,'del');
});
$('.ui-inline-save').on('click', function(){
$.fn.fmatter.rowactions.call(this,'save');
});
$('.ui-inline-cancel').on('click', function(){
$.fn.fmatter.rowactions.call(this,'cancel');
});
},
addXmlData = function (xml, rcnt, more, adjust) {
var self = this, $self = $(this), startReq = new Date(), getXmlData = jgrid.getXmlData,
locdata = (p.datatype !== "local" && p.loadonce) || p.datatype === "xmlstring",
Expand Down Expand Up @@ -1722,6 +1745,8 @@ $.fn.jqGrid = function( pin ) {
grpdata = null;
}
}

activateInlineButtons.call();
},
addJSONData = function(data, rcnt, more, adjust) {
var self = this, $self = $(self), startReq = new Date();
Expand Down Expand Up @@ -1921,6 +1946,8 @@ $.fn.jqGrid = function( pin ) {
grpdata = null;
}
}

activateInlineButtons.call();
},
addLocalData = function() {
var $self = $(this), st = p.multiSort ? [] : "", sto=[], fndsort=false, cmtypes={}, grtypes=[], grindexes=[], srcformat, sorttype, newformat;
Expand Down Expand Up @@ -2110,6 +2137,9 @@ $.fn.jqGrid = function( pin ) {
retresult[localReader.records] = total;
retresult[localReader.root] = p.lastSelectedData.slice((page-1)*recordsperpage, page*recordsperpage);
retresult[localReader.userdata] = p.userData;

activateInlineButtons.call();

return retresult;
},
updatepager = function(rn, dnd) {
Expand Down Expand Up @@ -3104,7 +3134,7 @@ $.fn.jqGrid = function( pin ) {
if (p.treeGrid === true) {
p.datatype = p.treedatatype;
}
if (p.datatype === "local" && p.dataTypeOrg && p.loadonce) {
if (p.datatype === "local" && p.dataTypeOrg && p.loadonce && opts.fromServer) {
p.datatype = String(p.dataTypeOrg);
delete p.dataTypeOrg;
}
Expand Down
39 changes: 17 additions & 22 deletions js/grid.custom.js
Original file line number Diff line number Diff line change
Expand Up @@ -421,13 +421,12 @@ $.jgrid.extend({
var timeoutHnd;
$.each($t.p.colModel,function(ci){
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>");
th = $("<th role='columnheader' class='ui-state-default ui-th-column ui-th-"+$t.p.direction+"'><span class='ui-search-input'></span></th>");
if(this.hidden===true) { $(th).css("display","none");}
this.search = this.search === false ? false : true;
soptions = $.extend({},this.searchoptions || {});
if(this.search){
if(this.stype === undefined) {this.stype='text';}
var stbl = $("<div class='ui-search-box'><span class='ui-search-input'></span><span class='ui-search-clear'></span></div>");
if(p.searchOperators && cm.edittype !== 'checkbox') {
so = (soptions.sopt) ? soptions.sopt[0] : cm.stype==='select' ? 'eq' : p.defaultSearch;
for(i = 0;i<p.odata.length;i++) {
Expand All @@ -438,20 +437,18 @@ $.jgrid.extend({
}
var st = soptions.searchtitle != null ? soptions.searchtitle : p.operandTitle;
select = "<a title='"+st+"' soper='"+so+"' class='soptclass' colname='"+this.name+"'>"+sot+"</a>";
$(stbl).prepend(select);
$(th).prepend(select);
}

if (soptions.sopt == null || soptions.sopt.length === 1) {
$("td.ui-search-oper",stbl).hide();
$("td.ui-search-oper",th).hide();
}
if(soptions.clearSearch === undefined) {
soptions.clearSearch = this.stype === "text" ? true : false;
}
if(soptions.clearSearch && cm.stype !== 'select') {
var csv = p.resetTitle || 'Clear Search Value';
$("span.ui-search-clear",stbl).append("<a title='Clear Search Value' class='clearsearchclass'>x</a>");
} else {
$("span.ui-search-clear", stbl).hide();
$(th).append("<a title='Clear Search Value' class='clearsearchclass'>x</a>");
}
switch (this.stype)
{
Expand All @@ -468,10 +465,10 @@ $.jgrid.extend({
if(soptions.buildSelect !== undefined) {
var d = soptions.buildSelect(res);
if (d) {
$("span.ui-search-input",stbl).append(d);
$("span.ui-search-input",th).append(d);
}
} else {
$("span.ui-search-input",stbl).append(res);
$("span.ui-search-input",th).append(res);
}
$(self).append(stbl);
var select = $("select",self);
Expand Down Expand Up @@ -523,8 +520,8 @@ $.jgrid.extend({
}
if(soptions.defaultValue !== undefined) { $(elem).val(soptions.defaultValue); }
if(soptions.attr) {$(elem).attr(soptions.attr);}
$("span.ui-search-input",stbl).append( elem );
$(th).append(stbl);
$("span.ui-search-input",th).append( elem );
$(th).append(th);
$.jgrid.bindEv.call($t, elem , soptions);
if(p.autosearch===true){
$(elem).change(function(){
Expand All @@ -538,8 +535,7 @@ $.jgrid.extend({
case "text":
var df = soptions.defaultValue !== undefined ? soptions.defaultValue: "";

$("span.ui-search-input",stbl).append("<input type='text' name='"+(cm.index || cm.name)+"' id='gs_"+cm.name+"' value='"+df+"'/>");
$(th).append(stbl);
$("span.ui-search-input",th).append("<input type='text' name='"+(cm.index || cm.name)+"' id='gs_"+cm.name+"' value='"+df+"'/>");
var input = $("input",th);

if(soptions.attr) {input.attr(soptions.attr);}
Expand Down Expand Up @@ -577,8 +573,7 @@ $.jgrid.extend({
}
break;
case "custom":
$("span.ui-search-input",stbl).append("<span style='width:95%;padding:0;' name='"+(cm.index || cm.name)+"' id='gs_"+cm.name+"'/>");
$(th).append(stbl);
$("span.ui-search-input",th).append("<span style='width:95%;padding:0;' name='"+(cm.index || cm.name)+"' id='gs_"+cm.name+"'/>");
try {
if($.isFunction(soptions.custom_element)) {
var celm = soptions.custom_element.call($t,soptions.defaultValue !== undefined ? soptions.defaultValue: "",soptions);
Expand All @@ -602,7 +597,7 @@ $.jgrid.extend({

$(tr).append(th);
if(!p.searchOperators) {
$("a:eq(0)",stbl).hide();
$("a:first-child)",th).hide();
}
});
$("table thead",$t.grid.hDiv).append(tr);
Expand All @@ -622,17 +617,17 @@ $.jgrid.extend({
}
$(".clearsearchclass",tr).click(function(){
var ptr = $(this).parents("tr:first"),
coli = parseInt($("td.ui-search-oper", ptr).data('colindex'),10),
sval = $.extend({},$t.p.colModel[coli].searchoptions || {}),
col = $('th',ptr).index($(this).parents('th:first')),
sval = $.extend({},$t.p.colModel[col].searchoptions || {}),
dval = sval.defaultValue || "";
if($t.p.colModel[coli].stype === "select") {
if($t.p.colModel[col].stype === "select") {
if(dval) {
$("td.ui-search-input select", ptr).val( dval );
$(".ui-search-input select", ptr).val( dval );
} else {
$("td.ui-search-input select", ptr)[0].selectedIndex = 0;
$(".ui-search-input select", ptr)[0].selectedIndex = 0;
}
} else {
$("td.ui-search-input input", ptr).val( dval );
$(".ui-search-input input", ptr).val( dval );
}
// ToDo custom search type
if(p.autosearch===true){
Expand Down
2 changes: 1 addition & 1 deletion js/grid.formedit.js
Original file line number Diff line number Diff line change
Expand Up @@ -1592,7 +1592,7 @@ $.jgrid.extend({
bC = "<a id='eData' class='fm-button ui-state-default ui-corner-all'>"+o.bCancel+"</a>";
tbl += "<table cellspacing='0' cellpadding='0' border='0' class='EditTable' id='"+dtblID+"_2'><tbody><tr><td><hr class='ui-widget-content' style='margin:1px'/></td></tr><tr><td class='DelButton EditButton'>"+bS+"&#160;"+bC+"</td></tr></tbody></table>";
o.gbox = gboxSelector;
jgrid.createModal(IDs,tbl,p,"#gview_"+jqID(gID),$("#gview_"+jqID(gID))[0]);
jgrid.createModal(ids,tbl,p,"#gview_"+jqID(gID),$("#gview_"+jqID(gID))[0]);
if(onBeforeInit) {
showFrm = onBeforeInit.call($t,$(tbl));
if(showFrm === undefined) {
Expand Down
21 changes: 17 additions & 4 deletions less/inlineedit.less
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,25 @@
}
}

.ui-inline-button
{
float: left;
cursor: pointer;
}

.ui-inline-del, .ui-inline-cancel, .ui-inline-save
{
margin-left:5px;
}

.ui-inline-save, .ui-inline-cancel
{
display:none;
}

.ui-state-hover
{
.ui-inline-del&,
.ui-inline-edit&,
.ui-inline-save&,
.ui-inline-cancel&
.ui-inline-button&
{
span
{
Expand Down
4 changes: 0 additions & 4 deletions less/search.less
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@
{
padding: 2px 5px;

.ui search-box > *{
display: inline-block;
}

.ui-search-oper
{
width: 20px;
Expand Down

0 comments on commit a917eff

Please sign in to comment.