1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2026-03-18 00:19:50 +01:00

Removed _resetGridValues logic

This commit is contained in:
Max Guglielmi 2016-01-17 17:56:15 +11:00
commit 0c032efbd8
12 changed files with 10160 additions and 120 deletions

View file

@ -1,6 +1,6 @@
/**
* tablefilter v0.1.6 by Max Guglielmi
* build date: 2016-01-14T10:08:13.993Z
* build date: 2016-01-17T05:48:49.785Z
* MIT License
*/
span.colVisSpan{text-align:left;}span.colVisSpan a.colVis{display:inline-block;padding:7px 5px 0;font-size:inherit;font-weight:inherit;vertical-align:top}div.colVisCont{position:relative;background:#fff;-webkit-box-shadow:3px 3px 2px #888;-moz-box-shadow:3px 3px 2px #888;box-shadow:3px 3px 2px #888;position:absolute;display:none;border:1px solid #ccc;height:auto;width:250px;background-color:#fff;margin:35px 0 0 -100px;z-index:10000;padding:10px 10px 10px 10px;text-align:left;font-size:12px;}div.colVisCont:after,div.colVisCont:before{bottom:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}div.colVisCont:after{border-color:rgba(255,255,255,0);border-bottom-color:#fff;border-width:10px;margin-left:-10px}div.colVisCont:before{border-color:rgba(255,255,255,0);border-bottom-color:#ccc;border-width:12px;margin-left:-12px}div.colVisCont p{margin:6px auto 6px auto}div.colVisCont a.colVis{display:initial;font-weight:inherit}ul.cols_checklist{padding:0;margin:0;list-style:none;}ul.cols_checklist label{display:block}ul.cols_checklist input{vertical-align:middle;margin:2px 5px 2px 1px}li.cols_checklist_item{padding:4px;margin:0;}li.cols_checklist_item:hover{background-color:#335ea8;color:#fff}.cols_checklist_slc_item{background-color:#335ea8;color:#fff}

View file

@ -1,6 +1,6 @@
/**
* tablefilter v0.1.6 by Max Guglielmi
* build date: 2016-01-14T10:08:13.993Z
* build date: 2016-01-17T05:48:49.785Z
* MIT License
*/
span.expClpFlt a.btnExpClpFlt{width:35px;height:35px;display:inline-block;}span.expClpFlt a.btnExpClpFlt:hover{background-color:#f4f4f4}span.expClpFlt img{padding:8px 11px 11px 11px}

View file

@ -1,6 +1,6 @@
/**
* tablefilter v0.1.6 by Max Guglielmi
* build date: 2016-01-14T10:08:13.993Z
* build date: 2016-01-17T05:48:49.785Z
* MIT License
*/
.activeHeader{background-color:#66afe9 !important;color:#fff !important}

View file

@ -1,6 +1,6 @@
/**
* tablefilter v0.1.6 by Max Guglielmi
* build date: 2016-01-14T10:08:13.993Z
* build date: 2016-01-17T05:48:49.785Z
* MIT License
*/
table.TF{border-left:1px solid #ccc !important;border-top:none !important;border-right:none !important;border-bottom:none !important;}table.TF th{background:#ebecee url("images/bg_th.jpg") left top repeat-x !important;border-bottom:1px solid #d0d0d0 !important;border-right:1px solid #d0d0d0 !important;border-left:1px solid #fff !important;border-top:1px solid #fff !important;color:#333 !important}table.TF td{border-bottom:1px dotted #999 !important;padding:5px !important}.fltrow{background-color:#ebecee !important;}.fltrow th,.fltrow td{border-bottom:1px dotted #666 !important;padding:1px 3px 1px 3px !important}.flt,select.flt,select.flt_multi,.flt_s,.single_flt,.div_checklist{border:1px solid #999 !important}input.flt{width:99% !important}.inf{height:$min-height;background:#d7d7d7 url("images/bg_infDiv.jpg") 0 0 repeat-x !important}input.reset{background:transparent url("images/btn_eraser.gif") center center no-repeat !important}.helpBtn:hover{background-color:transparent}.nextPage{background:transparent url("images/btn_next_page.gif") center center no-repeat !important;}.nextPage:hover{background:transparent url("images/btn_over_next_page.gif") center center no-repeat !important}.previousPage{background:transparent url("images/btn_previous_page.gif") center center no-repeat !important;}.previousPage:hover{background:transparent url("images/btn_over_previous_page.gif") center center no-repeat !important}.firstPage{background:transparent url("images/btn_first_page.gif") center center no-repeat !important;}.firstPage:hover{background:transparent url("images/btn_over_first_page.gif") center center no-repeat !important}.lastPage{background:transparent url("images/btn_last_page.gif") center center no-repeat !important;}.lastPage:hover{background:transparent url("images/btn_over_last_page.gif") center center no-repeat !important}div.grd_Cont{background-color:#ebecee !important;border:1px solid #ccc !important;padding:0 !important;}div.grd_Cont .even{background-color:#fff}div.grd_Cont .odd{background-color:#d5d5d5}div.grd_headTblCont{background-color:#ebecee !important;border-bottom:none !important;}div.grd_headTblCont table{border-right:none !important}div.grd_tblCont table th,div.grd_headTblCont table th,div.grd_headTblCont table td{background:#ebecee url("images/bg_th.jpg") left top repeat-x !important;border-bottom:1px solid #d0d0d0 !important;border-right:1px solid #d0d0d0 !important;border-left:1px solid #fff !important;border-top:1px solid #fff !important}div.grd_tblCont table td{border-bottom:1px solid #999 !important}.grd_inf{background:#d7d7d7 url("images/bg_infDiv.jpg") 0 0 repeat-x !important;border-top:1px solid #d0d0d0 !important}.loader{border:1px solid #999}.defaultLoader{width:32px;height:32px;background:transparent url("images/img_loading.gif") 0 0 no-repeat !important}.even{background-color:#fff}.odd{background-color:#d5d5d5}span.expClpFlt a.btnExpClpFlt:hover{background-color:transparent !important}

View file

@ -1,6 +1,6 @@
/**
* tablefilter v0.1.6 by Max Guglielmi
* build date: 2016-01-14T10:08:13.993Z
* build date: 2016-01-17T05:48:49.785Z
* MIT License
*/
table.TF{border-left:1px dotted #81963b !important;border-top:none !important;border-right:0 !important;border-bottom:none !important;}table.TF th{background:#39424b url("images/bg_headers.jpg") left top repeat-x !important;border-bottom:0 !important;border-right:1px dotted #d0d0d0 !important;border-left:0 !important;border-top:0 !important;color:#fff !important}table.TF td{border-bottom:1px dotted #81963b;border-right:1px dotted #81963b;padding:5px !important}.fltrow{background-color:#81963b !important;}.fltrow th,.fltrow td{border-bottom:1px dotted #39424b !important;border-right:1px dotted #fff !important;border-left:0 !important;border-top:0 !important;padding:1px 3px 1px 3px !important}.flt,select.flt,select.flt_multi,.flt_s,.single_flt,.div_checklist{border:1px solid #687830 !important}input.flt{width:99% !important}.inf{background:#d8d8d8;height:$min-height}input.reset{width:53px;background:transparent url("images/btn_filter.png") center center no-repeat !important}.helpBtn:hover{background-color:transparent}.nextPage{background:transparent url("images/btn_next_page.gif") center center no-repeat !important}.previousPage{background:transparent url("images/btn_previous_page.gif") center center no-repeat !important}.firstPage{background:transparent url("images/btn_first_page.gif") center center no-repeat !important}.lastPage{background:transparent url("images/btn_last_page.gif") center center no-repeat !important}div.grd_Cont{background:#81963b url("images/bg_headers.jpg") left top repeat-x !important;border:1px solid #ccc !important;padding:0 1px 1px 1px !important;}div.grd_Cont .even{background-color:#bccd83}div.grd_Cont .odd{background-color:#fff}div.grd_headTblCont{background-color:#ebecee !important;border-bottom:none !important}div.grd_tblCont table{border-right:none !important;}div.grd_tblCont table td{border-bottom:1px dotted #81963b;border-right:1px dotted #81963b}div.grd_tblCont table th,div.grd_headTblCont table th{background:transparent url("images/bg_headers.jpg") 0 0 repeat-x !important;border-bottom:0 !important;border-right:1px dotted #d0d0d0 !important;border-left:0 !important;border-top:0 !important;padding:0 4px 0 4px !important;color:#fff !important;height:35px !important}div.grd_headTblCont table td{border-bottom:1px dotted #39424b !important;border-right:1px dotted #fff !important;border-left:0 !important;border-top:0 !important;background-color:#81963b !important;padding:1px 3px 1px 3px !important}.grd_inf{background-color:#d8d8d8;border-top:1px solid #d0d0d0 !important}.loader{border:0 !important;background:#81963b !important}.defaultLoader{width:32px;height:32px;background:transparent url("images/img_loading.gif") 0 0 no-repeat !important}.even{background-color:#bccd83}.odd{background-color:#fff}span.expClpFlt a.btnExpClpFlt:hover{background-color:transparent !important}

View file

@ -1,6 +1,6 @@
/**
* tablefilter v0.1.6 by Max Guglielmi
* build date: 2016-01-14T10:08:13.993Z
* build date: 2016-01-17T05:48:49.785Z
* MIT License
*/
table.TF{padding:0;color:#000;border-right:1px solid #a4bed4;border-top:1px solid #a4bed4;border-left:1px solid #a4bed4;border-bottom:0;}table.TF th{margin:0;color:inherit;background:#d1e5fe url("images/bg_skyblue.gif") 0 0 repeat-x;border-color:#fdfdfd #a4bed4 #a4bed4 #fdfdfd;border-width:1px;border-style:solid}table.TF td{margin:0;padding:5px;color:inherit;border-bottom:1px solid #a4bed4;border-left:0;border-top:0;border-right:0}.fltrow{background-color:#d1e5fe !important;}.fltrow th,.fltrow td{padding:1px 3px 1px 3px !important}.flt,select.flt,select.flt_multi,.flt_s,.single_flt,.div_checklist{border:1px solid #a4bed4 !important}input.flt{width:99% !important}.inf{background-color:#e3efff !important;border:1px solid #a4bed4;height:$min-height;color:#004a6f}div.tot,div.status{border-right:0 !important}.helpBtn:hover{background-color:transparent}input.reset{background:transparent url("images/icn_clear_filters.png") center center no-repeat !important}.nextPage{background:transparent url("images/btn_next_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.nextPage:hover{background:#ffe4ab url("images/btn_next_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.previousPage{background:transparent url("images/btn_prev_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.previousPage:hover{background:#ffe4ab url("images/btn_prev_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.firstPage{background:transparent url("images/btn_first_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.firstPage:hover{background:#ffe4ab url("images/btn_first_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.lastPage{background:transparent url("images/btn_last_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.lastPage:hover{background:#ffe4ab url("images/btn_last_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.activeHeader{background:#ffe4ab !important;border:1px solid #ffb552 !important;color:inherit !important}div.grd_Cont{background-color:#d9eaed !important;border:1px solid #9cc !important;padding:0 !important;}div.grd_Cont .even{background-color:#fff}div.grd_Cont .odd{background-color:#e3efff}div.grd_headTblCont{background-color:#d9eaed !important;border-bottom:none !important}div.grd_tblCont table{border-right:none !important}div.grd_tblCont table th,div.grd_headTblCont table th,div.grd_headTblCont table td{background:#d9eaed url("images/bg_skyblue.gif") left top repeat-x;border-bottom:1px solid #a4bed4;border-right:1px solid #a4bed4 !important;border-left:1px solid #fff !important;border-top:1px solid #fff !important}div.grd_tblCont table td{border-bottom:1px solid #a4bed4 !important;border-right:0 !important;border-left:0 !important;border-top:0 !important}.grd_inf{background-color:#cce2fe;color:#004a6f;border-top:1px solid #9cc !important;}.grd_inf a{text-decoration:none;font-weight:bold}.loader{background-color:#2d8eef;border:1px solid #cce2fe;border-radius:5px}.even{background-color:#fff}.odd{background-color:#e3efff}span.expClpFlt a.btnExpClpFlt:hover{background-color:transparent !important}.ezActiveRow{background-color:#ffdc61 !important;color:inherit}.ezSelectedRow{background-color:#ffe4ab !important;color:inherit}.ezActiveCell{background-color:#fff !important;color:#000 !important;font-weight:bold}.ezETSelectedCell{background-color:#fff !important;font-weight:bold;color:#000 !important}

File diff suppressed because one or more lines are too long

2224
dist/tablefilter/tf-1.js vendored

File diff suppressed because one or more lines are too long

View file

@ -105,6 +105,11 @@ export class CheckList extends Feature{
divCont.appendChild(Dom.text(this.activateCheckListTxt));
}
this.emitter.on(
['build-checklist-filter'],
(tf, colIndex, isExternal)=> this.build(colIndex, isExternal)
);
this.initialized = true;
}
@ -424,5 +429,10 @@ export class CheckList extends Feature{
}
}
destroy(){}
destroy(){
this.emitter.off(
['build-checklist-filter'],
(tf, colIndex, isExternal)=> this.build(colIndex, isExternal)
);
}
}

View file

@ -108,13 +108,19 @@ export class Dropdown extends Feature{
// Event.add(slc, 'change', tf.Evt.onSlcChange.bind(tf));
Event.add(slc, 'focus', (e)=> this.onSlcFocus(e));
this.emitter.on(
['build-select-filter'],
(tf, colIndex, isLinked, isExternal)=>
this.build(colIndex, isLinked, isExternal)
);
this.initialized = true;
}
/**
* Build drop-down filter UI
* @param {Number} colIndex Column index
* @param {Boolean} isLinked Enable linked refresh behaviour
* @param {Boolean} isLinked Enable linked refresh behaviour
* @param {Boolean} isExternal Render in external container
* @param {String} extSlcId External container id
*/
@ -367,5 +373,11 @@ export class Dropdown extends Feature{
return slc;
}
destroy(){}
destroy(){
this.emitter.off(
['build-select-filter'],
(colIndex, isLinked, isExternal)=>
this.build(colIndex, isLinked, isExternal)
);
}
}

View file

@ -674,6 +674,7 @@ export class TableFilter {
this.onFiltersLoaded.call(null, this);
}
this.initialized = true;
this.emitter.emit('initialized', this);
}
@ -986,6 +987,7 @@ export class TableFilter {
emitter.emit('destroy', this);
// Destroy modules
// TODO: subcribe modules to destroy event instead
Object.keys(Mod).forEach(function(key){
var feature = Mod[key];
if(feature && Types.isFn(feature.destroy)){
@ -1007,6 +1009,7 @@ export class TableFilter {
this.fltIds = [];
this.activeFlt = null;
this._hasGrid = false;
this.initialized = false;
}
/**
@ -1154,11 +1157,10 @@ export class TableFilter {
* Reset persisted filter values
*/
resetValues(){
//only loadFltOnDemand
if(this.rememberGridValues){
if(this.loadFltOnDemand){
this._resetGridValues(this.fltsValuesCookie);
} else {
// if(this.loadFltOnDemand){
// this._resetGridValues(this.fltsValuesCookie);
// } else {
let fltValues = this.Mod.store.getFilterValues(
this.fltsValuesCookie);
fltValues.forEach((val, idx)=> {
@ -1166,7 +1168,7 @@ export class TableFilter {
this.setFilterValue(idx, val);
}
});
}
// }
}
this.filter();
}
@ -1176,88 +1178,89 @@ export class TableFilter {
* enabled
* @param {String} name cookie name storing filter values
*/
_resetGridValues(name){
if(!this.loadFltOnDemand){
return;
}
let fltsValues = this.Mod.store.getFilterValues(name),
slcFltsIndex = this.getFiltersByType(this.fltTypeSlc, true),
multiFltsIndex = this.getFiltersByType(this.fltTypeMulti, true);
// _resetGridValues(name){
// if(!this.loadFltOnDemand){
// return;
// }
// let fltsValues = this.Mod.store.getFilterValues(name),
// slcFltsIndex = this.getFiltersByType(this.fltTypeSlc, true),
// multiFltsIndex = this.getFiltersByType(this.fltTypeMulti, true);
// console.log(fltsValues, Number(fltsValues[(fltsValues.length-1)]),
// this.fltIds.length);
// if the number of columns is the same as before page reload
// if(Number(fltsValues[(fltsValues.length-1)]) === this.fltIds.length){
// for(let i=0; i<(fltsValues.length - 1); i++){
// if(fltsValues[i]===' '){
// continue;
// }
// let s, opt;
// let fltType = this.getFilterType(i);
// // if loadFltOnDemand, drop-down needs to contain stored
// // value(s) for filtering
// if(fltType===this.fltTypeSlc || fltType===this.fltTypeMulti){
// let slc = Dom.id( this.fltIds[i] );
// slc.options[0].selected = false;
//if the number of columns is the same as before page reload
if(Number(fltsValues[(fltsValues.length-1)]) === this.fltIds.length){
for(let i=0; i<(fltsValues.length - 1); i++){
if(fltsValues[i]===' '){
continue;
}
let s, opt;
let fltType = this.getFilterType(i);
// if loadFltOnDemand, drop-down needs to contain stored
// value(s) for filtering
if(fltType===this.fltTypeSlc || fltType===this.fltTypeMulti){
let slc = Dom.id( this.fltIds[i] );
slc.options[0].selected = false;
// //selects
// if(slcFltsIndex.indexOf(i) != -1){
// opt = Dom.createOpt(fltsValues[i], fltsValues[i], true);
// slc.appendChild(opt);
// this.hasStoredValues = true;
// }
// //multiple select
// if(multiFltsIndex.indexOf(i) != -1){
// s = fltsValues[i].split(' '+this.orOperator+' ');
// for(let j=0, len=s.length; j<len; j++){
// if(s[j]===''){
// continue;
// }
// opt = Dom.createOpt(s[j],s[j],true);
// slc.appendChild(opt);
// this.hasStoredValues = true;
// }
// }// if multiFltsIndex
// }
// else if(fltType === this.fltTypeCheckList){
// let checkList = this.Mod.checkList;
// let divChk = checkList.checkListDiv[i];
// divChk.title = divChk.innerHTML;
// divChk.innerHTML = '';
//selects
if(slcFltsIndex.indexOf(i) != -1){
opt = Dom.createOpt(fltsValues[i], fltsValues[i], true);
slc.appendChild(opt);
this.hasStoredValues = true;
}
//multiple select
if(multiFltsIndex.indexOf(i) != -1){
s = fltsValues[i].split(' '+this.orOperator+' ');
for(let j=0, len=s.length; j<len; j++){
if(s[j]===''){
continue;
}
opt = Dom.createOpt(s[j],s[j],true);
slc.appendChild(opt);
this.hasStoredValues = true;
}
}// if multiFltsIndex
}
else if(fltType === this.fltTypeCheckList){
let checkList = this.Mod.checkList;
let divChk = checkList.checkListDiv[i];
divChk.title = divChk.innerHTML;
divChk.innerHTML = '';
// let ul = Dom.create(
// 'ul',['id',this.fltIds[i]],['colIndex',i]);
// ul.className = checkList.checkListCssClass;
let ul = Dom.create(
'ul',['id',this.fltIds[i]],['colIndex',i]);
ul.className = checkList.checkListCssClass;
// let li0 = Dom.createCheckItem(
// this.fltIds[i]+'_0', '', this.displayAllText);
// li0.className = checkList.checkListItemCssClass;
// ul.appendChild(li0);
let li0 = Dom.createCheckItem(
this.fltIds[i]+'_0', '', this.displayAllText);
li0.className = checkList.checkListItemCssClass;
ul.appendChild(li0);
// divChk.appendChild(ul);
divChk.appendChild(ul);
// s = fltsValues[i].split(' '+this.orOperator+' ');
// for(let j=0, len=s.length; j<len; j++){
// if(s[j]===''){
// continue;
// }
// let li = Dom.createCheckItem(
// this.fltIds[i]+'_'+(j+1), s[j], s[j]);
// li.className = checkList.checkListItemCssClass;
// ul.appendChild(li);
// li.check.checked = true;
// checkList.setCheckListValues(li.check);
// this.hasStoredValues = true;
// }
// }
// else if(fltType === this.fltTypeInp){
// this.setFilterValue(i, fltsValues[i]);
// }
// }//end for
s = fltsValues[i].split(' '+this.orOperator+' ');
for(let j=0, len=s.length; j<len; j++){
if(s[j]===''){
continue;
}
let li = Dom.createCheckItem(
this.fltIds[i]+'_'+(j+1), s[j], s[j]);
li.className = checkList.checkListItemCssClass;
ul.appendChild(li);
li.check.checked = true;
checkList.setCheckListValues(li.check);
this.hasStoredValues = true;
}
}
else if(fltType === this.fltTypeInp){
this.setFilterValue(i, fltsValues[i]);
}
}//end for
if(!this.hasStoredValues && this.paging){
this.Mod.paging.setPagingInfo();
}
}//end if
}
// if(!this.hasStoredValues && this.paging){
// this.Mod.paging.setPagingInfo();
// }
// }//end if
// }
/**
* Filter the table by retrieving the data from each cell in every single
@ -1976,7 +1979,7 @@ export class TableFilter {
* @param {String} searcharg Search term
*/
setFilterValue(index, searcharg=''){
if(!this.fltGrid || !this.getFilterElement(index)){
if(!this.fltGrid){
return;
}
let slc = this.getFilterElement(index),
@ -1984,12 +1987,22 @@ export class TableFilter {
if(fltColType !== this.fltTypeMulti &&
fltColType != this.fltTypeCheckList){
if(this.loadFltOnDemand && !this.initialized){
this.emitter.emit('build-select-filter', this, index,
this.linkedFilters, this.isExternalFlt);
}
slc.value = searcharg;
}
//multiple selects
else if(fltColType === this.fltTypeMulti){
let s = searcharg.split(' '+this.orOperator+' ');
// let ct = 0; //keywords counter
if(this.loadFltOnDemand && !this.initialized){
this.emitter.emit('build-select-filter', this, index,
this.linkedFilters, this.isExternalFlt);
}
// TODO: provide a select option helper method in dropdown module
for(let j=0, len=slc.options.length; j<len; j++){
let option = slc.options[j];
if(s==='' || s[0]===''){
@ -2007,16 +2020,26 @@ export class TableFilter {
//checklist
else if(fltColType === this.fltTypeCheckList){
searcharg = Str.matchCase(searcharg, this.caseSensitive);
if(this.loadFltOnDemand && !this.initialized){
this.emitter.emit('build-checklist-filter', this, index,
this.isExternalFlt);
if(!slc){
slc = this.getFilterElement(index);
}
}
let sarg = searcharg.split(' '+this.orOperator+' ');
let lisNb = Dom.tag(slc,'li').length;
let lisNb = Dom.tag(slc, 'li').length;
slc.setAttribute('value', '');
slc.setAttribute('indexes', '');
// TODO: provide a select option helper method in checklist module
for(let k=0; k<lisNb; k++){
let li = Dom.tag(slc,'li')[k],
lbl = Dom.tag(li,'label')[0],
chk = Dom.tag(li,'input')[0],
let li = Dom.tag(slc, 'li')[k],
lbl = Dom.tag(li, 'label')[0],
chk = Dom.tag(li, 'input')[0],
lblTxt = Str.matchCase(
Dom.getText(lbl), this.caseSensitive);
if(lblTxt !== '' && Arr.has(sarg, lblTxt, true)){

View file

@ -23,6 +23,7 @@ var tfConfig = {
'70px', '70px', '70px',
'70px', '60px', '60px'
],
remember_grid_values: true,
alternate_rows: true,
rows_counter: true,
btn_reset: true,