1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-05-12 19:36:41 +02:00

Continued paging module

This commit is contained in:
Max Guglielmi 2015-01-11 21:22:52 +11:00
parent b134e70a52
commit d064bd3504
31 changed files with 2557 additions and 1773 deletions

2
dist/filtergrid.css vendored
View file

@ -1,6 +1,6 @@
/*------------------------------------------------------------------------
- TableFilter stylesheet by Max Guglielmi
- (build date: Tue Dec 16 2014 03:26:44)
- (build date: Sun Jan 11 2015 20:01:16)
- Edit below for your projects' needs
------------------------------------------------------------------------*/

View file

@ -191,9 +191,6 @@ export class GridLayout{
this.headTblCont.style.width = this.tblCont.clientWidth+'px';
tbl.style.width = '';
// if(Helpers.isIE()){
// this.headTbl.style.width = '';
// }
//scroll synchronisation
var o = this;
@ -258,81 +255,30 @@ export class GridLayout{
//Cols generation for all browsers excepted IE<=7
o.tblHasColTag = Dom.tag(tbl, 'col').length > 0 ? true : false;
// if(!Helpers.isIE()){
//Col elements are enough to keep column widths after sorting and
//filtering
var createColTags = function(o){
if(!o){
return;
}
for(var k=(tf.nbCells-1); k>=0; k--){
var col = Dom.create('col', ['id', tf.id+'_col_'+k]);
tbl.firstChild.parentNode.insertBefore(col, tbl.firstChild);
col.style.width = tf.colWidth[k];
o.gridColElms[k] = col;
}
o.tblHasColTag = true;
};
if(!o.tblHasColTag){
createColTags(o);
} else {
var cols = Dom.tag(tbl, 'col');
for(var ii=0; ii<tf.nbCells; ii++){
cols[ii].setAttribute('id', tf.id+'_col_'+ii);
cols[ii].style.width = tf.colWidth[ii];
o.gridColElms.push(cols[ii]);
}
//Col elements are enough to keep column widths after sorting and
//filtering
var createColTags = function(o){
if(!o){
return;
}
// }
//IE <= 7 needs an additional row for widths as col element width is
//not enough...
// if(Helpers.isIE()){
// var tbody = Dom.tag(tbl,'tbody'),
// r;
// if( tbody.length>0 ){
// r = tbody[0].insertRow(0);
// } else{
// r = tbl.insertRow(0);
// }
// r.style.height = '0px';
// for(var x=0; x<o.nbCells; x++){
// var col = Dom.create('td', ['id', o.id+'_col_'+x]);
// col.style.width = o.colWidth[x];
// tbl.rows[1].cells[x].style.width = '';
// r.appendChild(col);
// o.gridColElms.push(col);
// }
// tf.hasGridWidthsRow = true;
// //Data table row with widths expressed
// o.leadColWidthsRow = tbl.rows[0];
// o.leadColWidthsRow.setAttribute('validRow', 'false');
// var beforeSortFn = Types.isFn(f.on_before_sort) ?
// f.on_before_sort : null;
// f.on_before_sort = function(o, colIndex){
// o.leadColWidthsRow.setAttribute('validRow', 'false');
// if(beforeSortFn){
// beforeSortFn.call(null, o, colIndex);
// }
// };
// var afterSortFn = Types.isFn(f.on_after_sort) ?
// f.on_after_sort : null;
// f.on_after_sort = function(o,colIndex){
// if(o.leadColWidthsRow.rowIndex !== 0){
// var r = o.leadColWidthsRow;
// if(tbody.length>0){
// tbody[0].moveRow(o.leadColWidthsRow.rowIndex, 0);
// } else {
// tbl.moveRow(o.leadColWidthsRow.rowIndex, 0);
// }
// }
// if(afterSortFn){
// afterSortFn.call(null, o, colIndex);
// }
// };
// }
for(var k=(tf.nbCells-1); k>=0; k--){
var col = Dom.create('col', ['id', tf.id+'_col_'+k]);
tbl.firstChild.parentNode.insertBefore(col, tbl.firstChild);
col.style.width = tf.colWidth[k];
o.gridColElms[k] = col;
}
o.tblHasColTag = true;
};
if(!o.tblHasColTag){
createColTags(o);
} else {
var cols = Dom.tag(tbl, 'col');
for(var ii=0; ii<tf.nbCells; ii++){
cols[ii].setAttribute('id', tf.id+'_col_'+ii);
cols[ii].style.width = tf.colWidth[ii];
o.gridColElms.push(cols[ii]);
}
}
var afterColResizedFn = Types.isFn(f.on_after_col_resized) ?
f.on_after_col_resized : null;
@ -347,10 +293,6 @@ export class GridLayout{
var thCW = o.crWColsRow.cells[colIndex].clientWidth;
var tdCW = o.crWRowDataTbl.cells[colIndex].clientWidth;
// if(Helpers.isIE()){
// tbl.style.width = o.headTbl.clientWidth+'px';
// }
if(thCW != tdCW /*&& !Helpers.isIE()*/){
o.headTbl.style.width = tbl.clientWidth+'px';
}

View file

@ -1,8 +1,10 @@
import {Dom} from '../dom';
import {Types} from '../types';
import {Str} from '../string';
import {Helpers} from '../helpers';
export class Paging{
/**
* Pagination component
* @param {Object} tf TableFilter instance
@ -10,7 +12,7 @@ export class Paging{
constructor(tf){
// TableFilter configuration
var f = tf.fObj;
//id of container element
this.pagingTgtId = f.paging_target_id || null;
//defines table paging length
@ -72,72 +74,72 @@ export class Paging{
//stores paging buttons events
this.pagingBtnEvents = null;
//defines previous page button html
this.pageSelectorType = f.page_selector_type || this.fltTypeSlc;
this.pageSelectorType = f.page_selector_type || tf.fltTypeSlc;
//calls function before page is changed
this.onBeforeChangePage = types.isFn(f.on_before_change_page) ?
this.onBeforeChangePage = Types.isFn(f.on_before_change_page) ?
f.on_before_change_page : null;
//calls function before page is changed
this.onAfterChangePage = types.isFn(f.on_after_change_page) ?
this.onAfterChangePage = Types.isFn(f.on_after_change_page) ?
f.on_after_change_page : null;
var start_row = this.refRow;
var nrows = this.nbRows;
//calculates page nb
this.nbPages = Math.ceil((nrows-start_row)/this.pagingLength);
var evt = tf.Evt;
//Paging elements events
if(!evt._Paging.next){
var o = tf;
var o = this;
evt._Paging = {// paging buttons events
slcIndex: function(){
return (o.pageSelectorType===o.fltTypeSlc) ?
return (o.pageSelectorType===tf.fltTypeSlc) ?
o.pagingSlc.options.selectedIndex :
parseInt(o.pagingSlc.value,10)-1;
parseInt(o.pagingSlc.value, 10)-1;
},
nbOpts: function(){
return (o.pageSelectorType===o.fltTypeSlc) ?
parseInt(o.pagingSlc.options.length,10)-1 :
return (o.pageSelectorType===tf.fltTypeSlc) ?
parseInt(o.pagingSlc.options.length, 10)-1 :
(o.nbPages-1);
},
next: function(){
if(o.Evt._Paging.nextEvt){
o.Evt._Paging.nextEvt();
if(evt._Paging.nextEvt){
evt._Paging.nextEvt();
}
var nextIndex =
o.Evt._Paging.slcIndex()<o.Evt._Paging.nbOpts() ?
o.Evt._Paging.slcIndex()+1 : 0;
o.ChangePage(nextIndex);
evt._Paging.slcIndex() < evt._Paging.nbOpts() ?
evt._Paging.slcIndex()+1 : 0;
o.changePage(nextIndex);
},
prev: function(){
if(o.Evt._Paging.prevEvt){
o.Evt._Paging.prevEvt();
if(evt._Paging.prevEvt){
evt._Paging.prevEvt();
}
var prevIndex = o.Evt._Paging.slcIndex()>0 ?
o.Evt._Paging.slcIndex()-1 : o.Evt._Paging.nbOpts();
o.ChangePage(prevIndex);
var prevIndex = evt._Paging.slcIndex()>0 ?
evt._Paging.slcIndex()-1 : evt._Paging.nbOpts();
o.changePage(prevIndex);
},
last: function(){
if(o.Evt._Paging.lastEvt){
o.Evt._Paging.lastEvt();
if(evt._Paging.lastEvt){
evt._Paging.lastEvt();
}
o.ChangePage(o.Evt._Paging.nbOpts());
o.changePage(evt._Paging.nbOpts());
},
first: function(){
if(o.Evt._Paging.firstEvt){
o.Evt._Paging.firstEvt();
if(evt._Paging.firstEvt){
evt._Paging.firstEvt();
}
o.ChangePage(0);
o.changePage(0);
},
_detectKey: function(e){
var evt = e || global.event;
if(evt){
var key = o.Evt.getKeyCode(e);
var key = evt.getKeyCode(e);
if(key===13){
if(o.sorted){
o.Filter();
o.ChangePage(o.Evt._Paging.slcIndex());
if(tf.sorted){
tf.Filter();
o.changePage(evt._Paging.slcIndex());
} else{
o.ChangePage();
o.changePage();
}
this.blur();
}
@ -148,28 +150,29 @@ export class Paging{
lastEvt: null,
firstEvt: null
};
}
}
this.tf = tf;
}
buildUI(){
init(){
var slcPages;
var tf = this.tf;
var evt = tf.Evt;
// Paging drop-down list selector
if(this.pageSelectorType === tf.fltTypeSlc){
slcPages = dom.create(
slcPages = Dom.create(
tf.fltTypeSlc, ['id', tf.prfxSlcPages+tf.id]);
slcPages.className = this.pgSlcCssClass;
console.log(evt);
slcPages.onchange = evt._OnSlcPagesChange;
//slcPages.onchange = function(){ alert('hello'); }
}
// Paging input selector
if(this.pageSelectorType === tf.fltTypeInp){
slcPages = dom.create(
slcPages = Dom.create(
tf.fltTypeInp,
['id', tf.prfxSlcPages+tf.id],
['value', tf.currentPageNb]
@ -179,23 +182,24 @@ export class Paging{
}
// btns containers
var btnNextSpan = dom.create(
'span',['id',this.prfxBtnNextSpan+tf.id]);
var btnPrevSpan = dom.create(
'span',['id',this.prfxBtnPrevSpan+tf.id]);
var btnLastSpan = dom.create(
'span',['id',this.prfxBtnLastSpan+tf.id]);
var btnFirstSpan = dom.create(
'span',['id',this.prfxBtnFirstSpan+tf.id]);
var btnNextSpan = Dom.create(
'span',['id', tf.prfxBtnNextSpan+tf.id]);
var btnPrevSpan = Dom.create(
'span',['id', tf.prfxBtnPrevSpan+tf.id]);
var btnLastSpan = Dom.create(
'span',['id', tf.prfxBtnLastSpan+tf.id]);
var btnFirstSpan = Dom.create(
'span',['id', tf.prfxBtnFirstSpan+tf.id]);
if(this.hasPagingBtns){
// Next button
if(!this.btnNextPageHtml){
var btn_next = dom.create(
tf.fltTypeInp,['id',tf.prfxBtnNext+tf.id],
['type','button'],
['value',this.btnNextPageText],
['title','Next']
var btn_next = Dom.create(
tf.fltTypeInp,
['id', tf.prfxBtnNext+tf.id],
['type', 'button'],
['value', this.btnNextPageText],
['title', 'Next']
);
btn_next.className = this.btnPageCssClass;
btn_next.onclick = evt._Paging.next;
@ -206,7 +210,7 @@ export class Paging{
}
// Previous button
if(!this.btnPrevPageHtml){
var btn_prev = dom.create(
var btn_prev = Dom.create(
tf.fltTypeInp,
['id',tf.prfxBtnPrev+tf.id],
['type','button'],
@ -222,7 +226,7 @@ export class Paging{
}
// Last button
if(!this.btnLastPageHtml){
var btn_last = dom.create(
var btn_last = Dom.create(
tf.fltTypeInp,
['id',tf.prfxBtnLast+tf.id],
['type','button'],
@ -238,7 +242,7 @@ export class Paging{
}
// First button
if(!this.btnFirstPageHtml){
var btn_first = dom.create(
var btn_first = Dom.create(
tf.fltTypeInp,
['id',tf.prfxBtnFirst+tf.id],
['type','button'],
@ -258,7 +262,7 @@ export class Paging{
if(!this.pagingTgtId){
tf.SetTopDiv();
}
var targetEl = !this.pagingTgtId ? tf.mDiv : dom.id(this.pagingTgtId);
var targetEl = !this.pagingTgtId ? tf.mDiv : Dom.id(this.pagingTgtId);
/***
if paging previously removed this prevents IE memory leak with
@ -273,34 +277,212 @@ export class Paging{
targetEl.appendChild(btnFirstSpan);
targetEl.appendChild(btnPrevSpan);
var pgBeforeSpan = dom.create(
var pgBeforeSpan = Dom.create(
'span',['id', tf.prfxPgBeforeSpan+tf.id] );
pgBeforeSpan.appendChild( dom.text(this.pageText) );
pgBeforeSpan.appendChild( Dom.text(this.pageText) );
pgBeforeSpan.className = this.nbPgSpanCssClass;
targetEl.appendChild(pgBeforeSpan);
targetEl.appendChild(slcPages);
var pgAfterSpan = dom.create(
var pgAfterSpan = Dom.create(
'span',['id', tf.prfxPgAfterSpan+tf.id]);
pgAfterSpan.appendChild( dom.text(this.ofText) );
pgAfterSpan.appendChild( Dom.text(this.ofText) );
pgAfterSpan.className = this.nbPgSpanCssClass;
targetEl.appendChild(pgAfterSpan);
var pgspan = dom.create( 'span',['id', tf.prfxPgSpan+tf.id] );
var pgspan = Dom.create( 'span',['id', tf.prfxPgSpan+tf.id] );
pgspan.className = this.nbPgSpanCssClass;
pgspan.appendChild( dom.text(' '+this.nbPages+' ') );
pgspan.appendChild( Dom.text(' '+this.nbPages+' ') );
targetEl.appendChild(pgspan);
targetEl.appendChild(btnNextSpan);
targetEl.appendChild(btnLastSpan);
this.pagingSlc = dom.id(tf.prfxSlcPages+tf.id);
this.pagingSlc = Dom.id(tf.prfxSlcPages+tf.id);
/*====================================================
- onchange event for paging select
=====================================================*/
if(!evt._OnSlcPagesChange){
evt._OnSlcPagesChange = function(){
if(evt._Paging._OnSlcPagesChangeEvt){
evt._Paging._OnSlcPagesChangeEvt();
var o = this;
evt._OnSlcPagesChange = function(){
if(evt._Paging._OnSlcPagesChangeEvt){
evt._Paging._OnSlcPagesChangeEvt();
}
o.changePage();
this.blur();
//ie only: blur is not enough...
if(this.parentNode && Helpers.isIE()){
this.parentNode.focus();
}
};
// if this.rememberGridValues==true this.SetPagingInfo() is called
// in ResetGridValues() method
if(!tf.rememberGridValues || tf.isPagingRemoved){
this.setPagingInfo();
}
if(!tf.fltGrid){
tf.ValidateAllRows();
this.setPagingInfo(tf.validRowsIndex);
}
this.pagingBtnEvents = evt._Paging;
tf.isPagingRemoved = false;
}
addPaging(filterTable){
var tf = this.tf;
if(!tf.hasGrid || tf.paging){
return;
}
tf.paging = true;
tf.isPagingRemoved = true;
this.init();
tf.ResetValues();
if(filterTable){
tf.Filter();
}
}
setPagingInfo(validRows){
var tf = this.tf;
var rows = tf.tbl.rows;
var mdiv = !this.pagingTgtId ? tf.mDiv : Dom.id(this.pagingTgtId);
var pgspan = Dom.id(tf.prfxPgSpan+tf.id);
//stores valid rows indexes
if(validRows && validRows.length>0){
tf.validRowsIndex = validRows;
} else {
//re-sets valid rows indexes array
tf.validRowsIndex = [];
//counts rows to be grouped
for(var j=tf.refRow; j<tf.nbRows; j++){
var row = rows[j];
if(!row){
continue;
}
tf.ChangePage();
var isRowValid = row.getAttribute('validRow');
if(isRowValid==='true' || !isRowValid){
tf.validRowsIndex.push(j);
}
}
}
//calculate nb of pages
this.nbPages = Math.ceil(tf.validRowsIndex.length/this.pagingLength);
//refresh page nb span
pgspan.innerHTML = this.nbPages;
//select clearing shortcut
if(this.pageSelectorType === tf.fltTypeSlc){
this.pagingSlc.innerHTML = '';
}
if(this.nbPages>0){
mdiv.style.visibility = 'visible';
if(this.pageSelectorType === tf.fltTypeSlc){
for(var z=0; z<this.nbPages; z++){
var currOpt = new Option(
(z+1),
z*this.pagingLength,
false,
false
);
this.pagingSlc.options[z] = currOpt;
}
} else{
//input type
this.pagingSlc.value = this.currentPageNb;
}
} else {
/*** if no results paging select and buttons are hidden ***/
mdiv.style.visibility = 'hidden';
}
this.groupByPage(tf.validRowsIndex);
}
groupByPage(validRows){
var tf = this.tf;
var rows = tf.tbl.rows;
var paging_end_row = parseInt(this.startPagingRow, 10) +
parseInt(this.pagingLength, 10);
//store valid rows indexes
if(validRows){
tf.validRowsIndex = validRows;
}
//this loop shows valid rows of current page
for(var h=0; h<tf.validRowsIndex.length; h++){
var r = rows[tf.validRowsIndex[h]];
if(h>=this.startPagingRow && h<paging_end_row){
if(r.getAttribute('validRow')==='true' ||
!r.getAttribute('validRow')){
r.style.display = '';
}
if(tf.alternateBgs && tf.Cpt.alternateRows){
tf.Cpt.alternateRows.setRowBg(tf.validRowsIndex[h], h);
}
} else {
r.style.display = 'none';
if(tf.alternateBgs && tf.Cpt.alternateRows){
tf.Cpt.alternateRows.removeRowBg(tf.validRowsIndex[h]);
}
}
}
tf.nbVisibleRows = tf.validRowsIndex.length;
tf.isStartBgAlternate = false;
//re-applies filter behaviours after filtering process
tf.ApplyGridProps();
}
setPage(cmd){
var tf = this.tf;
if(!tf.hasGrid || !this.paging){
return;
}
var btnEvt = this.pagingBtnEvents,
cmdtype = typeof cmd;
if(cmdtype==='string'){
switch(Str.lower(cmd)){
case 'next':
btnEvt.next();
break;
case 'previous':
btnEvt.prev();
break;
case 'last':
btnEvt.last();
break;
case 'first':
btnEvt.first();
break;
default:
btnEvt.next();
break;
}
}
if(cmdtype==='number'){
this.changePage(cmd-1);
}
}
setResultsPerPage(){
var tf = this.tf;
var evt = tf.Evt;
if(!tf.hasGrid && !tf.isFirstLoad){
return;
}
if(this.resultsPerPageSlc || !this.resultsPerPage){
return;
}
//Change nb results per page event
if(!evt._OnSlcResultsChange){
/*====================================================
- onchange event for results per page select
=====================================================*/
evt._OnSlcResultsChange = function(){
this.changeResultsPerPage();
this.blur();
//ie only: blur is not enough...
if(this.parentNode && Helpers.isIE()){
@ -308,5 +490,215 @@ export class Paging{
}
};
}
var slcR = Dom.create(
tf.fltTypeSlc, ['id', tf.prfxSlcResults+tf.id]);
slcR.className = tf.resultsSlcCssClass;
var slcRText = this.resultsPerPage[0],
slcROpts = this.resultsPerPage[1];
var slcRSpan = Dom.create(
'span',['id', tf.prfxSlcResultsTxt+tf.id]);
slcRSpan.className = this.resultsSpanCssClass;
// results per page select is added to external element
if(!this.resultsPerPageTgtId){
tf.SetTopDiv();
}
var targetEl = !this.resultsPerPageTgtId ?
tf.rDiv : Dom.id(this.resultsPerPageTgtId);
slcRSpan.appendChild(Dom.text(slcRText));
targetEl.appendChild(slcRSpan);
targetEl.appendChild(slcR);
this.resultsPerPageSlc = Dom.id(tf.prfxSlcResults+tf.id);
for(var r=0; r<slcROpts.length; r++){
var currOpt = new Option(slcROpts[r], slcROpts[r], false, false);
this.resultsPerPageSlc.options[r] = currOpt;
}
slcR.onchange = evt._OnSlcResultsChange;
}
}
removeResultsPerPage(){
var tf = this.tf;
if(!tf.hasGrid || !this.resultsPerPageSlc || !this.resultsPerPage){
return;
}
var slcR = this.resultsPerPageSlc,
slcRSpan = Dom.id(tf.prfxSlcResultsTxt+tf.id);
if(slcR){
slcR.parentNode.removeChild(slcR);
}
if(slcRSpan){
slcRSpan.parentNode.removeChild(slcRSpan);
}
this.resultsPerPageSlc = null;
}
changePage(index){
var tf = this.tf;
var evt = tf.Evt;
tf.EvtManager(evt.name.changepage, { pgIndex:index });
}
changeResultsPerPage(){
var tf = this.tf;
var evt = tf.Evt;
tf.EvtManager(evt.name.changeresultsperpage);
}
resetPage(){
var tf = this.tf;
var evt = tf.Evt;
tf.EvtManager(evt.name.resetpage);
}
resetPageLength(){
var tf = this.tf;
var evt = tf.Evt;
tf.EvtManager(evt.name.resetpagelength);
}
_changePage(index){
var tf = this.tf;
if(!tf.paging){
return;
}
if(index === undefined){
index = this.pageSelectorType===tf.fltTypeSlc ?
this.pagingSlc.options.selectedIndex : (this.pagingSlc.value-1);
}
if( index>=0 && index<=(this.nbPages-1) ){
if(this.onBeforeChangePage){
this.onBeforeChangePage.call(null, this, index);
}
this.currentPageNb = parseInt(index, 10)+1;
if(this.pageSelectorType===tf.fltTypeSlc){
this.pagingSlc.options[index].selected = true;
} else {
this.pagingSlc.value = this.currentPageNb;
}
if(tf.rememberPageNb){
tf.Cpt.store.savePageNb(this.pgNbCookie);
}
this.startPagingRow = (this.pageSelectorType===tf.fltTypeSlc) ?
this.pagingSlc.value : (index*this.pagingLength);
this.groupByPage();
if(this.onAfterChangePage){
this.onAfterChangePage.call(null, this, index);
}
}
}
_changeResultsPerPage(){
var tf = this.tf;
if(!tf.paging){
return;
}
var slcR = this.resultsPerPageSlc;
var slcPagesSelIndex = (this.pageSelectorType===tf.fltTypeSlc) ?
this.pagingSlc.selectedIndex :
parseInt(this.pagingSlc.value-1, 10);
this.pagingLength = parseInt(slcR.options[slcR.selectedIndex].value,10);
this.startPagingRow = this.pagingLength*slcPagesSelIndex;
if(!isNaN(this.pagingLength)){
if(this.startPagingRow >= tf.nbFilterableRows){
this.startPagingRow = (tf.nbFilterableRows-this.pagingLength);
}
this.setPagingInfo();
if(this.pageSelectorType===tf.fltTypeSlc){
var slcIndex =
(this.pagingSlc.options.length-1<=slcPagesSelIndex ) ?
(this.pagingSlc.options.length-1) : slcPagesSelIndex;
this.pagingSlc.options[slcIndex].selected = true;
}
if(tf.rememberPageLen){
tf.Cpt.store.savePageLength(tf.pgLenCookie);
}
}
}
_resetPage(name){
var tf = this.tf;
var pgnb = tf.Cpt.store.getPageNb(name);
if(pgnb!==''){
this.changePage((pgnb-1));
}
}
_resetPageLength(name){
var tf = this.tf;
if(!tf.paging){
return;
}
var pglenIndex = tf.Cpt.store.getPageLength(name);
if(pglenIndex!==''){
this.resultsPerPageSlc.options[pglenIndex].selected = true;
this.changeResultsPerPage();
}
}
destroy(){
var tf = this.tf;
if(!tf.hasGrid || this.pagingSlc){
return;
}
// btns containers
var btnNextSpan, btnPrevSpan, btnLastSpan, btnFirstSpan;
var pgBeforeSpan, pgAfterSpan, pgspan;
btnNextSpan = Dom.id(tf.prfxBtnNextSpan+tf.id);
btnPrevSpan = Dom.id(tf.prfxBtnPrevSpan+tf.id);
btnLastSpan = Dom.id(tf.prfxBtnLastSpan+tf.id);
btnFirstSpan = Dom.id(tf.prfxBtnFirstSpan+tf.id);
//span containing 'Page' text
pgBeforeSpan = Dom.id(tf.prfxPgBeforeSpan+tf.id);
//span containing 'of' text
pgAfterSpan = Dom.id(tf.prfxPgAfterSpan+tf.id);
//span containing nb of pages
pgspan = Dom.id(tf.prfxPgSpan+tf.id);
this.pagingSlc.parentNode.removeChild(this.pagingSlc);
if(btnNextSpan){
btnNextSpan.parentNode.removeChild(btnNextSpan);
}
if(btnPrevSpan){
btnPrevSpan.parentNode.removeChild(btnPrevSpan);
}
if(btnLastSpan){
btnLastSpan.parentNode.removeChild(btnLastSpan);
}
if(btnFirstSpan){
btnFirstSpan.parentNode.removeChild(btnFirstSpan);
}
if(pgBeforeSpan){
pgBeforeSpan.parentNode.removeChild(pgBeforeSpan);
}
if(pgAfterSpan){
pgAfterSpan.parentNode.removeChild(pgAfterSpan);
}
if(pgspan){
pgspan.parentNode.removeChild(pgspan);
}
this.pagingBtnEvents = null;
this.pagingSlc = null;
tf.isPagingRemoved = true;
}
}

View file

@ -1 +1 @@
{"version":3,"sources":["src-es6/array.js"],"names":[],"mappings":";;;MAIQ,GAAG,WAAH,GAAG;;;MAEP,GAAG,GAAG;AACN,mBAAc,GAAG,EAAE,GAAG,EAAE,aAAa,EAAC;AAClC,UAAI,KAAK,GAAG,aAAa;AACzB,WAAK,IAAI,CAAC,UAAM,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AAC5B,YAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,EAAC;AAC9C,iBAAO,IAAI,CAAC;SACf;OACJ;AACD,aAAO,KAAK,CAAC;;AAEjB,4BAAuB,GAAG,EAAE,GAAG,EAAE,aAAa,EAAC;AAC3C,UAAI,KAAK,GAAG,aAAa;AACzB,WAAK,IAAI,CAAC,UAAM,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AAC5B,YAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,EAAC;AAC9C,iBAAO,CAAC,CAAC;SACZ;OACJ;AACD,aAAO,CAAC,CAAC,CAAC;;GAEjB,CAAC;;SAEK,CAAC,GAAG,GAAG,GAAG,CAAC","file":"src-es6/array.js","sourcesContent":["/**\n * Array utilities\n */\n\nimport {Str} from 'string';\n\nvar Arr = {\n has: function(arr, val, caseSensitive){\n var sCase = caseSensitive===undefined ? false : caseSensitive;\n for (var i=0; i<arr.length; i++){\n if(Str.matchCase(arr[i].toString(), sCase) == val){\n return true;\n }\n }\n return false;\n },\n indexByValue: function(arr, val, caseSensitive){\n var sCase = caseSensitive===undefined ? false : caseSensitive;\n for (var i=0; i<arr.length; i++){\n if(Str.matchCase(arr[i].toString(), sCase) == val){\n return i;\n }\n }\n return -1;\n }\n};\n\nexports.Arr = Arr;\n"]}
{"version":3,"sources":["src-es6/array.js"],"names":[],"mappings":";;;MAIQ,GAAG,WAAH,GAAG;;;MAEP,GAAG,GAAG;AACN,mBAAc,GAAG,EAAE,GAAG,EAAE,aAAa,EAAC;AAClC,UAAI,KAAK,GAAG,aAAa;AACzB,WAAK,IAAI,CAAC,UAAM,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AAC5B,YAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,EAAC;AAC9C,iBAAO,IAAI,CAAC;SACf;OACJ;AACD,aAAO,KAAK,CAAC;;AAEjB,4BAAuB,GAAG,EAAE,GAAG,EAAE,aAAa,EAAC;AAC3C,UAAI,KAAK,GAAG,aAAa;AACzB,WAAK,IAAI,CAAC,UAAM,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AAC5B,YAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,EAAC;AAC9C,iBAAO,CAAC,CAAC;SACZ;OACJ;AACD,aAAO,CAAC,CAAC,CAAC;;GAEjB,CAAC;;SAEK,CAAC,GAAG,GAAG,GAAG,CAAC","file":"src-es6/array.js","sourcesContent":["/**\r\n * Array utilities\r\n */\r\n\r\nimport {Str} from 'string';\r\n\r\nvar Arr = {\r\n has: function(arr, val, caseSensitive){\r\n var sCase = caseSensitive===undefined ? false : caseSensitive;\r\n for (var i=0; i<arr.length; i++){\r\n if(Str.matchCase(arr[i].toString(), sCase) == val){\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n indexByValue: function(arr, val, caseSensitive){\r\n var sCase = caseSensitive===undefined ? false : caseSensitive;\r\n for (var i=0; i<arr.length; i++){\r\n if(Str.matchCase(arr[i].toString(), sCase) == val){\r\n return i;\r\n }\r\n }\r\n return -1;\r\n }\r\n};\r\n\r\nexports.Arr = Arr;\r\n"]}

View file

@ -1 +1 @@
{"version":3,"sources":["src-es6/cookie.js"],"names":[],"mappings":";;;;;;;AAIA,MAAI,MAAM,GAAG,EAAE,CAAC;;AAEhB,QAAM,CAAC,KAAK,GAAG,UAAS,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC;AACvC,QAAI,MAAM,GAAG,EAAE,CAAC;AAChB,QAAG,KAAK,EAAC;AACL,YAAM,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,OAAO,CAAC,CAAC;AAC5D,YAAM,GAAG,YAAY,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;KAChD;AACD,YAAQ,CAAC,MAAM,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;GACzD,CAAC;;AAEF,QAAM,CAAC,IAAI,GAAG,UAAS,IAAI,EAAC;AACxB,QAAI,WAAW,GAAG,EAAE,EAChB,MAAM,GAAG,IAAI,GAAG,GAAG,CAAC;AACxB,QAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAC;AAC1B,UAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,EACxB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACpC,UAAG,MAAM,KAAK,CAAC,CAAC,EAAC;AACb,cAAM,IAAI,MAAM,CAAC,MAAM,CAAC;AACxB,YAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACtC,YAAG,GAAG,KAAK,CAAC,CAAC,EAAC;AACV,aAAG,GAAG,MAAM,CAAC,MAAM,CAAC;SACvB;AACD,mBAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;OACzD;KACJ;AACD,WAAO,WAAW,CAAC;GACtB,CAAC;;AAEF,QAAM,CAAC,MAAM,GAAG,UAAS,IAAI,EAAC;AAC1B,QAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;GAC5B,CAAC;;AAEF,QAAM,CAAC,YAAY,GAAG,UAAS,IAAI,EAAE,SAAS,EAAC;AAC3C,QAAG,CAAC,SAAS,EAAC;AACV,eAAS,GAAG,GAAG,CAAC;KACnB;;AAED,QAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;AAE1B,QAAI,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC/B,WAAO,GAAG,CAAC;GACd,CAAC;;AAEF,QAAM,CAAC,eAAe,GAAG,UAAS,IAAI,EAAE,KAAK,EAAE,SAAS,EAAC;AACrD,QAAG,CAAC,SAAS,EAAC;AACV,eAAS,GAAG,GAAG,CAAC;KACnB;;AAED,QAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC7C,WAAO,GAAG,CAAC,KAAK,CAAC,CAAC;GACrB,CAAC;;AAEF,SAAO,CAAC,MAAM,GAAG,MAAM,CAAC","file":"src-es6/cookie.js","sourcesContent":["/**\n * Cookie utilities\n */\n\nvar Cookie = {};\n\nCookie.write = function(name, value, hours){\n var expire = '';\n if(hours){\n expire = new Date((new Date()).getTime() + hours * 3600000);\n expire = '; expires=' + expire.toGMTString();\n }\n document.cookie = name + '=' + escape(value) + expire;\n};\n\nCookie.read = function(name){\n var cookieValue = '',\n search = name + '=';\n if(document.cookie.length > 0){\n var cookie = document.cookie,\n offset = cookie.indexOf(search);\n if(offset !== -1){\n offset += search.length;\n var end = cookie.indexOf(';', offset);\n if(end === -1){\n end = cookie.length;\n }\n cookieValue = unescape(cookie.substring(offset, end));\n }\n }\n return cookieValue;\n};\n\nCookie.remove = function(name){\n this.write(name, '', -1);\n};\n\nCookie.valueToArray = function(name, separator){\n if(!separator){\n separator = ',';\n }\n //reads the cookie\n var val = this.read(name);\n //creates an array with filters' values\n var arr = val.split(separator);\n return arr;\n};\n\nCookie.getValueByIndex = function(name, index, separator){\n if(!separator){\n separator = ',';\n }\n //reads the cookie\n var val = this.valueToArray(name, separator);\n return val[index];\n};\n\nexports.Cookie = Cookie;\n"]}
{"version":3,"sources":["src-es6/cookie.js"],"names":[],"mappings":";;;;;;;AAIA,MAAI,MAAM,GAAG,EAAE,CAAC;;AAEhB,QAAM,CAAC,KAAK,GAAG,UAAS,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC;AACvC,QAAI,MAAM,GAAG,EAAE,CAAC;AAChB,QAAG,KAAK,EAAC;AACL,YAAM,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,OAAO,CAAC,CAAC;AAC5D,YAAM,GAAG,YAAY,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;KAChD;AACD,YAAQ,CAAC,MAAM,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;GACzD,CAAC;;AAEF,QAAM,CAAC,IAAI,GAAG,UAAS,IAAI,EAAC;AACxB,QAAI,WAAW,GAAG,EAAE,EAChB,MAAM,GAAG,IAAI,GAAG,GAAG,CAAC;AACxB,QAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAC;AAC1B,UAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,EACxB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACpC,UAAG,MAAM,KAAK,CAAC,CAAC,EAAC;AACb,cAAM,IAAI,MAAM,CAAC,MAAM,CAAC;AACxB,YAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACtC,YAAG,GAAG,KAAK,CAAC,CAAC,EAAC;AACV,aAAG,GAAG,MAAM,CAAC,MAAM,CAAC;SACvB;AACD,mBAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;OACzD;KACJ;AACD,WAAO,WAAW,CAAC;GACtB,CAAC;;AAEF,QAAM,CAAC,MAAM,GAAG,UAAS,IAAI,EAAC;AAC1B,QAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;GAC5B,CAAC;;AAEF,QAAM,CAAC,YAAY,GAAG,UAAS,IAAI,EAAE,SAAS,EAAC;AAC3C,QAAG,CAAC,SAAS,EAAC;AACV,eAAS,GAAG,GAAG,CAAC;KACnB;;AAED,QAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;AAE1B,QAAI,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC/B,WAAO,GAAG,CAAC;GACd,CAAC;;AAEF,QAAM,CAAC,eAAe,GAAG,UAAS,IAAI,EAAE,KAAK,EAAE,SAAS,EAAC;AACrD,QAAG,CAAC,SAAS,EAAC;AACV,eAAS,GAAG,GAAG,CAAC;KACnB;;AAED,QAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC7C,WAAO,GAAG,CAAC,KAAK,CAAC,CAAC;GACrB,CAAC;;AAEF,SAAO,CAAC,MAAM,GAAG,MAAM,CAAC","file":"src-es6/cookie.js","sourcesContent":["/**\r\n * Cookie utilities\r\n */\r\n\r\nvar Cookie = {};\r\n\r\nCookie.write = function(name, value, hours){\r\n var expire = '';\r\n if(hours){\r\n expire = new Date((new Date()).getTime() + hours * 3600000);\r\n expire = '; expires=' + expire.toGMTString();\r\n }\r\n document.cookie = name + '=' + escape(value) + expire;\r\n};\r\n\r\nCookie.read = function(name){\r\n var cookieValue = '',\r\n search = name + '=';\r\n if(document.cookie.length > 0){\r\n var cookie = document.cookie,\r\n offset = cookie.indexOf(search);\r\n if(offset !== -1){\r\n offset += search.length;\r\n var end = cookie.indexOf(';', offset);\r\n if(end === -1){\r\n end = cookie.length;\r\n }\r\n cookieValue = unescape(cookie.substring(offset, end));\r\n }\r\n }\r\n return cookieValue;\r\n};\r\n\r\nCookie.remove = function(name){\r\n this.write(name, '', -1);\r\n};\r\n\r\nCookie.valueToArray = function(name, separator){\r\n if(!separator){\r\n separator = ',';\r\n }\r\n //reads the cookie\r\n var val = this.read(name);\r\n //creates an array with filters' values\r\n var arr = val.split(separator);\r\n return arr;\r\n};\r\n\r\nCookie.getValueByIndex = function(name, index, separator){\r\n if(!separator){\r\n separator = ',';\r\n }\r\n //reads the cookie\r\n var val = this.valueToArray(name, separator);\r\n return val[index];\r\n};\r\n\r\nexports.Cookie = Cookie;\r\n"]}

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4
src/end.frag Normal file
View file

@ -0,0 +1,4 @@
return require('core');
});

View file

@ -1 +1 @@
{"version":3,"sources":["src-es6/event.js"],"names":[],"mappings":";;;;;;;AAIA,MAAI,KAAK,GAAG;AACR,OAAG,EAAE,UAAS,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAC;AACnC,UAAG,GAAG,CAAC,gBAAgB,EAAC;AACpB,WAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;OAC7C,MACI,IAAG,GAAG,CAAC,WAAW,EAAC;AACpB,WAAG,CAAC,WAAW,CAAC,IAAI,GAAC,IAAI,EAAE,IAAI,CAAC,CAAC;OACpC,MAAM;AACH,WAAG,CAAC,IAAI,GAAC,IAAI,CAAC,GAAG,IAAI,CAAC;OACzB;KACJ;AACD,UAAM,EAAE,UAAS,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAC;AACtC,UAAG,GAAG,CAAC,WAAW,EAAC;AACf,WAAG,CAAC,WAAW,CAAC,IAAI,GAAC,IAAI,EAAC,IAAI,CAAC,CAAC;OACnC,MACI,IAAG,GAAG,CAAC,mBAAmB,EAAC;AAC5B,WAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;OAChD,MAAM;AACH,WAAG,CAAC,IAAI,GAAC,IAAI,CAAC,GAAG,IAAI,CAAC;OACzB;KACJ;AACD,QAAI,EAAE,UAAS,GAAG,EAAC;AACf,UAAG,CAAC,GAAG,EAAC;AACJ,WAAG,GAAG,MAAM,CAAC,KAAK,CAAC;OACtB;AACD,UAAG,GAAG,CAAC,eAAe,EAAC;AACnB,WAAG,CAAC,eAAe,EAAE,CAAC;OACzB,MAAM;AACH,WAAG,CAAC,YAAY,GAAG,IAAI,CAAC;OAC3B;KACJ;AACD,UAAM,EAAE,UAAS,GAAG,EAAC;AACjB,UAAG,CAAC,GAAG,EAAC;AACJ,WAAG,GAAG,MAAM,CAAC,KAAK,CAAC;OACtB;AACD,UAAG,GAAG,CAAC,cAAc,EAAE;AACnB,WAAG,CAAC,cAAc,EAAE,CAAC;OACxB,MAAM;AACH,WAAG,CAAC,WAAW,GAAG,KAAK,CAAC;OAC3B;KACJ;GACJ,CAAC;;AAEF,SAAO,CAAC,KAAK,GAAG,KAAK,CAAC","file":"src-es6/event.js","sourcesContent":["/**\n * DOM event utilities\n */\n\nvar Event = {\n add: function(obj, type, func, capture){\n if(obj.addEventListener){\n obj.addEventListener(type, func, capture);\n }\n else if(obj.attachEvent){\n obj.attachEvent('on'+type, func);\n } else {\n obj['on'+type] = func;\n }\n },\n remove: function(obj, type, func, capture){\n if(obj.detachEvent){\n obj.detachEvent('on'+type,func);\n }\n else if(obj.removeEventListener){\n obj.removeEventListener(type, func, capture);\n } else {\n obj['on'+type] = null;\n }\n },\n stop: function(evt){\n if(!evt){\n evt = window.event;\n }\n if(evt.stopPropagation){\n evt.stopPropagation();\n } else {\n evt.cancelBubble = true;\n }\n },\n cancel: function(evt){\n if(!evt){\n evt = window.event;\n }\n if(evt.preventDefault) {\n evt.preventDefault();\n } else {\n evt.returnValue = false;\n }\n }\n};\n\nexports.Event = Event;\n"]}
{"version":3,"sources":["src-es6/event.js"],"names":[],"mappings":";;;;;;;AAIA,MAAI,KAAK,GAAG;AACR,OAAG,EAAE,UAAS,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAC;AACnC,UAAG,GAAG,CAAC,gBAAgB,EAAC;AACpB,WAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;OAC7C,MACI,IAAG,GAAG,CAAC,WAAW,EAAC;AACpB,WAAG,CAAC,WAAW,CAAC,IAAI,GAAC,IAAI,EAAE,IAAI,CAAC,CAAC;OACpC,MAAM;AACH,WAAG,CAAC,IAAI,GAAC,IAAI,CAAC,GAAG,IAAI,CAAC;OACzB;KACJ;AACD,UAAM,EAAE,UAAS,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAC;AACtC,UAAG,GAAG,CAAC,WAAW,EAAC;AACf,WAAG,CAAC,WAAW,CAAC,IAAI,GAAC,IAAI,EAAC,IAAI,CAAC,CAAC;OACnC,MACI,IAAG,GAAG,CAAC,mBAAmB,EAAC;AAC5B,WAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;OAChD,MAAM;AACH,WAAG,CAAC,IAAI,GAAC,IAAI,CAAC,GAAG,IAAI,CAAC;OACzB;KACJ;AACD,QAAI,EAAE,UAAS,GAAG,EAAC;AACf,UAAG,CAAC,GAAG,EAAC;AACJ,WAAG,GAAG,MAAM,CAAC,KAAK,CAAC;OACtB;AACD,UAAG,GAAG,CAAC,eAAe,EAAC;AACnB,WAAG,CAAC,eAAe,EAAE,CAAC;OACzB,MAAM;AACH,WAAG,CAAC,YAAY,GAAG,IAAI,CAAC;OAC3B;KACJ;AACD,UAAM,EAAE,UAAS,GAAG,EAAC;AACjB,UAAG,CAAC,GAAG,EAAC;AACJ,WAAG,GAAG,MAAM,CAAC,KAAK,CAAC;OACtB;AACD,UAAG,GAAG,CAAC,cAAc,EAAE;AACnB,WAAG,CAAC,cAAc,EAAE,CAAC;OACxB,MAAM;AACH,WAAG,CAAC,WAAW,GAAG,KAAK,CAAC;OAC3B;KACJ;GACJ,CAAC;;AAEF,SAAO,CAAC,KAAK,GAAG,KAAK,CAAC","file":"src-es6/event.js","sourcesContent":["/**\r\n * DOM event utilities\r\n */\r\n\r\nvar Event = {\r\n add: function(obj, type, func, capture){\r\n if(obj.addEventListener){\r\n obj.addEventListener(type, func, capture);\r\n }\r\n else if(obj.attachEvent){\r\n obj.attachEvent('on'+type, func);\r\n } else {\r\n obj['on'+type] = func;\r\n }\r\n },\r\n remove: function(obj, type, func, capture){\r\n if(obj.detachEvent){\r\n obj.detachEvent('on'+type,func);\r\n }\r\n else if(obj.removeEventListener){\r\n obj.removeEventListener(type, func, capture);\r\n } else {\r\n obj['on'+type] = null;\r\n }\r\n },\r\n stop: function(evt){\r\n if(!evt){\r\n evt = window.event;\r\n }\r\n if(evt.stopPropagation){\r\n evt.stopPropagation();\r\n } else {\r\n evt.cancelBubble = true;\r\n }\r\n },\r\n cancel: function(evt){\r\n if(!evt){\r\n evt = window.event;\r\n }\r\n if(evt.preventDefault) {\r\n evt.preventDefault();\r\n } else {\r\n evt.returnValue = false;\r\n }\r\n }\r\n};\r\n\r\nexports.Event = Event;\r\n"]}

View file

@ -1 +1 @@
{"version":3,"sources":["src-es6/helpers.js"],"names":[],"mappings":";;;;;;;AAIA,MAAI,OAAO,GAAG;AACV,QAAI,EAAE,YAAU;AACZ,aAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;KAClD;GACJ,CAAC;;AAEF,SAAO,CAAC,OAAO,GAAG,OAAO,CAAC","file":"src-es6/helpers.js","sourcesContent":["/**\n * Misc helpers\n */\n\nvar Helpers = {\n isIE: function(){\n return (/msie|MSIE/).test(navigator.userAgent);\n }\n};\n\nexports.Helpers = Helpers;\n"]}
{"version":3,"sources":["src-es6/helpers.js"],"names":[],"mappings":";;;;;;;AAIA,MAAI,OAAO,GAAG;AACV,QAAI,EAAE,YAAU;AACZ,aAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;KAClD;GACJ,CAAC;;AAEF,SAAO,CAAC,OAAO,GAAG,OAAO,CAAC","file":"src-es6/helpers.js","sourcesContent":["/**\r\n * Misc helpers\r\n */\r\n\r\nvar Helpers = {\r\n isIE: function(){\r\n return (/msie|MSIE/).test(navigator.userAgent);\r\n }\r\n};\r\n\r\nexports.Helpers = Helpers;\r\n"]}

View file

@ -77,8 +77,8 @@
loader: false,
rows_counter: true,
enable_default_theme: true,
// paging: true,
// paging_length: 2,
paging: true,
paging_length: 2,
// results_per_page: ['Results per page', [2,4,6]],
// remember_grid_values: true,
// remember_page_number: true,

View file

@ -1,15 +1,14 @@
define(["exports", "../dom"], function (exports, _dom) {
"use strict";
var _classProps = function (child, staticProps, instanceProps) {
if (staticProps) Object.defineProperties(child, staticProps);
if (instanceProps) Object.defineProperties(child.prototype, instanceProps);
};
var Dom = _dom.Dom;
var AlternateRows = (function () {
var AlternateRows =
/**
* Alternating rows color
* @param {Object} tf TableFilter instance
*/
function AlternateRows(tf) {
var AlternateRows = function AlternateRows(tf) {
var f = tf.fObj;
//defines css class for even rows
this.evenCss = f.even_row_css_class || "even";
@ -19,63 +18,78 @@ define(["exports", "../dom"], function (exports, _dom) {
this.tf = tf;
};
AlternateRows.prototype.init = function () {
if (!this.tf.hasGrid && !this.tf.isFirstLoad) {
return;
}
var rows = this.tf.tbl.rows;
var noValidRowsIndex = this.tf.validRowsIndex === null;
//1st index
var beginIndex = noValidRowsIndex ? this.tf.refRow : 0;
// nb indexes
var indexLen = noValidRowsIndex ? this.tf.nbFilterableRows + beginIndex : this.tf.validRowsIndex.length;
var idx = 0;
_classProps(AlternateRows, null, {
init: {
writable: true,
value: function () {
if (!this.tf.hasGrid && !this.tf.isFirstLoad) {
return;
}
var rows = this.tf.tbl.rows;
var noValidRowsIndex = this.tf.validRowsIndex === null;
//1st index
var beginIndex = noValidRowsIndex ? this.tf.refRow : 0;
// nb indexes
var indexLen = noValidRowsIndex ? this.tf.nbFilterableRows + beginIndex : this.tf.validRowsIndex.length;
var idx = 0;
//alternates bg color
for (var j = beginIndex; j < indexLen; j++) {
var rowIdx = noValidRowsIndex ? j : this.tf.validRowsIndex[j];
this.setRowBg(rowIdx, idx);
idx++;
//alternates bg color
for (var j = beginIndex; j < indexLen; j++) {
var rowIdx = noValidRowsIndex ? j : this.tf.validRowsIndex[j];
this.setRowBg(rowIdx, idx);
idx++;
}
}
},
setRowBg: {
writable: true,
value: function (rowIdx, idx) {
if (!this.tf.alternateBgs || isNaN(rowIdx)) {
return;
}
var rows = this.tf.tbl.rows;
var i = !idx ? rowIdx : idx;
this.removeRowBg(rowIdx);
Dom.addClass(rows[rowIdx], (i % 2) ? this.evenCss : this.oddCss);
}
},
removeRowBg: {
writable: true,
value: function (idx) {
if (isNaN(idx)) {
return;
}
var rows = this.tf.tbl.rows;
Dom.removeClass(rows[idx], this.oddCss);
Dom.removeClass(rows[idx], this.evenCss);
}
},
remove: {
writable: true,
value: function () {
if (!this.tf.hasGrid) {
return;
}
var row = this.tf.tbl.rows;
for (var i = this.tf.refRow; i < this.tf.nbRows; i++) {
this.removeRowBg(i);
}
this.tf.isStartBgAlternate = true;
}
},
enable: {
writable: true,
value: function () {
this.tf.alternateBgs = true;
}
},
disable: {
writable: true,
value: function () {
this.tf.alternateBgs = false;
}
}
};
AlternateRows.prototype.setRowBg = function (rowIdx, idx) {
if (!this.tf.alternateBgs || isNaN(rowIdx)) {
return;
}
var rows = this.tf.tbl.rows;
var i = !idx ? rowIdx : idx;
this.removeRowBg(rowIdx);
Dom.addClass(rows[rowIdx], (i % 2) ? this.evenCss : this.oddCss);
};
AlternateRows.prototype.removeRowBg = function (idx) {
if (isNaN(idx)) {
return;
}
var rows = this.tf.tbl.rows;
Dom.removeClass(rows[idx], this.oddCss);
Dom.removeClass(rows[idx], this.evenCss);
};
AlternateRows.prototype.remove = function () {
if (!this.tf.hasGrid) {
return;
}
var row = this.tf.tbl.rows;
for (var i = this.tf.refRow; i < this.tf.nbRows; i++) {
this.removeRowBg(i);
}
this.tf.isStartBgAlternate = true;
};
AlternateRows.prototype.enable = function () {
this.tf.alternateBgs = true;
};
AlternateRows.prototype.disable = function () {
this.tf.alternateBgs = false;
};
});
return AlternateRows;
})();

View file

@ -1 +1 @@
{"version":3,"sources":["src-es6/modules/alternateRows.js"],"names":[],"mappings":";;;MAAQ,GAAG,QAAH,GAAG;MAEE,aAAa;QAAb,aAAa;;;;;;AAMX,aANF,aAAa,CAMV,EAAE,EAAE;AACZ,UAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;;AAEhB,UAAI,CAAC,OAAO,GAAG,CAAC,CAAC,kBAAkB,IAAI,MAAM,CAAC;;AAE9C,UAAI,CAAC,MAAM,GAAG,CAAC,CAAC,iBAAiB,IAAI,KAAK,CAAC;;AAE3C,UAAI,CAAC,EAAE,GAAG,EAAE,CAAC;KAChB;;AAdQ,iBAAa,WAmBtB,IAAI,GAAA,YAAG;AACH,UAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW;AACvC,eAAO;OACV;AACD,UAAI,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,UAAI,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc;;AAE7C,UAAI,UAAU,GAAG,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;;AAEvD,UAAI,QAAQ,GAAG,gBAAgB,GACvB,IAAI,CAAC,EAAE,CAAC,gBAAgB,GAAC,UAAU,GACnC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC;AACtC,UAAI,GAAG,GAAG,CAAC,CAAC;;;AAGZ,WAAI,IAAI,CAAC,GAAC,UAAU,EAAE,CAAC,GAAC,QAAQ,EAAE,CAAC,EAAE,EAAC;AAClC,YAAI,MAAM,GAAG,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAC9D,YAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC3B,WAAG,EAAE,CAAC;OACT;KACJ;;AAvCQ,iBAAa,WA+CtB,QAAQ,GAAA,UAAC,MAAM,EAAE,GAAG,EAAE;AAClB,UAAG,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,EAAC;AACtC,eAAO;OACV;AACD,UAAI,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,UAAI,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC;AAC5B,UAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACzB,SAAG,CAAC,QAAQ,CACR,IAAI,CAAC,MAAM,CAAC,EACZ,CAAC,CAAC,GAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CACrC,CAAC;KACL;;AA1DQ,iBAAa,WAgEtB,WAAW,GAAA,UAAC,GAAG,EAAE;AACb,UAAG,KAAK,CAAC,GAAG,CAAC,EAAC;AACV,eAAO;OACV;AACD,UAAI,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,SAAG,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACxC,SAAG,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KAC5C;;AAvEQ,iBAAa,WA4EtB,MAAM,GAAA,YAAG;AACL,UAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAC;AAChB,eAAO;OACV;AACD,UAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;AAC3B,WAAI,IAAI,CAAC,GAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AAC5C,YAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;OACvB;AACD,UAAI,CAAC,EAAE,CAAC,kBAAkB,GAAG,IAAI,CAAC;KACrC;;AArFQ,iBAAa,WAuFtB,MAAM,GAAA,YAAG;AACL,UAAI,CAAC,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC;KAC/B;;AAzFQ,iBAAa,WA2FtB,OAAO,GAAA,YAAG;AACN,UAAI,CAAC,EAAE,CAAC,YAAY,GAAG,KAAK,CAAC;KAChC;;WA7FQ,aAAa;;;UAAb,aAAa,GAAb,aAAa","file":"src-es6/modules/alternateRows.js","sourcesContent":["import {Dom} from '../dom';\n\nexport class AlternateRows{\n\n /**\n * Alternating rows color\n * @param {Object} tf TableFilter instance\n */\n constructor(tf) {\n var f = tf.fObj;\n //defines css class for even rows\n this.evenCss = f.even_row_css_class || 'even';\n //defines css class for odd rows\n this.oddCss = f.odd_row_css_class || 'odd';\n\n this.tf = tf;\n }\n\n /**\n * Sets alternating rows color\n */\n init() {\n if(!this.tf.hasGrid && !this.tf.isFirstLoad){\n return;\n }\n var rows = this.tf.tbl.rows;\n var noValidRowsIndex = this.tf.validRowsIndex===null;\n //1st index\n var beginIndex = noValidRowsIndex ? this.tf.refRow : 0;\n // nb indexes\n var indexLen = noValidRowsIndex ?\n this.tf.nbFilterableRows+beginIndex :\n this.tf.validRowsIndex.length;\n var idx = 0;\n\n //alternates bg color\n for(var j=beginIndex; j<indexLen; j++){\n var rowIdx = noValidRowsIndex ? j : this.tf.validRowsIndex[j];\n this.setRowBg(rowIdx, idx);\n idx++;\n }\n }\n\n /**\n * Sets row background color\n * @param {Number} rowIdx Row index\n * @param {Number} idx Valid rows collection index needed to calculate bg\n * color\n */\n setRowBg(rowIdx, idx) {\n if(!this.tf.alternateBgs || isNaN(rowIdx)){\n return;\n }\n var rows = this.tf.tbl.rows;\n var i = !idx ? rowIdx : idx;\n this.removeRowBg(rowIdx);\n Dom.addClass(\n rows[rowIdx],\n (i%2) ? this.evenCss : this.oddCss\n );\n }\n\n /**\n * Removes row background color\n * @param {Number} idx Row index\n */\n removeRowBg(idx) {\n if(isNaN(idx)){\n return;\n }\n var rows = this.tf.tbl.rows;\n Dom.removeClass(rows[idx], this.oddCss);\n Dom.removeClass(rows[idx], this.evenCss);\n }\n\n /**\n * Removes all row background color\n */\n remove() {\n if(!this.tf.hasGrid){\n return;\n }\n var row = this.tf.tbl.rows;\n for(var i=this.tf.refRow; i<this.tf.nbRows; i++){\n this.removeRowBg(i);\n }\n this.tf.isStartBgAlternate = true;\n }\n\n enable() {\n this.tf.alternateBgs = true;\n }\n\n disable() {\n this.tf.alternateBgs = false;\n }\n\n}\n\n"]}
{"version":3,"sources":["src-es6/modules/alternateRows.js"],"names":[],"mappings":";;;;;;;;MAAQ,GAAG,QAAH,GAAG;MAEE,aAAa;QAAb,aAAa,GAMX,SANF,aAAa,CAMV,EAAE,EAAE;AACZ,UAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;;AAEhB,UAAI,CAAC,OAAO,GAAG,CAAC,CAAC,kBAAkB,IAAI,MAAM,CAAC;;AAE9C,UAAI,CAAC,MAAM,GAAG,CAAC,CAAC,iBAAiB,IAAI,KAAK,CAAC;;AAE3C,UAAI,CAAC,EAAE,GAAG,EAAE,CAAC;KAChB;;gBAdQ,aAAa;AAmBtB,UAAI;;eAAA,YAAG;AACH,cAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAC;AACxC,mBAAO;WACV;AACD,cAAI,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,cAAI,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,KAAG,IAAI,CAAC;;AAErD,cAAI,UAAU,GAAG,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;;AAEvD,cAAI,QAAQ,GAAG,gBAAgB,GACvB,IAAI,CAAC,EAAE,CAAC,gBAAgB,GAAC,UAAU,GACnC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC;AACtC,cAAI,GAAG,GAAG,CAAC,CAAC;;;AAGZ,eAAI,IAAI,CAAC,GAAC,UAAU,EAAE,CAAC,GAAC,QAAQ,EAAE,CAAC,EAAE,EAAC;AAClC;AACA;AACA;WACH;SACJ;;AAQD,cAAQ;;eAAA,UAAC,MAAM,EAAE,GAAG,EAAE;AAClB,cAAG,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,EAAC;AACtC,mBAAO;WACV;AACD,cAAI,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,cAAI,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC;AAC5B,cAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACzB,aAAG,CAAC,QAAQ,CACR,IAAI,CAAC,MAAM,CAAC,EACZ,CAAC,CAAC,GAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CACrC,CAAC;SACL;;AAMD,iBAAW;;eAAA,UAAC,GAAG,EAAE;AACb,cAAG,KAAK,CAAC,GAAG,CAAC,EAAC;AACV,mBAAO;WACV;AACD,cAAI,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,aAAG,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACxC,aAAG,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SAC5C;;AAKD,YAAM;;eAAA,YAAG;AACL,cAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAC;AAChB,mBAAO;WACV;AACD,cAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;AAC3B,eAAI,IAAI,CAAC,GAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AAC5C,gBAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;WACvB;AACD,cAAI,CAAC,EAAE,CAAC,kBAAkB,GAAG,IAAI,CAAC;SACrC;;AAED,YAAM;;eAAA,YAAG;AACL,cAAI,CAAC,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC;SAC/B;;AAED,aAAO;;eAAA,YAAG;AACN,cAAI,CAAC,EAAE,CAAC,YAAY,GAAG,KAAK,CAAC;SAChC;;;;WA7FQ,aAAa;;;UAAb,aAAa,GAAb,aAAa","file":"src-es6/modules/alternateRows.js","sourcesContent":["import {Dom} from '../dom';\r\n\r\nexport class AlternateRows{\r\n\r\n /**\r\n * Alternating rows color\r\n * @param {Object} tf TableFilter instance\r\n */\r\n constructor(tf) {\r\n var f = tf.fObj;\r\n //defines css class for even rows\r\n this.evenCss = f.even_row_css_class || 'even';\r\n //defines css class for odd rows\r\n this.oddCss = f.odd_row_css_class || 'odd';\r\n\r\n this.tf = tf;\r\n }\r\n\r\n /**\r\n * Sets alternating rows color\r\n */\r\n init() {\r\n if(!this.tf.hasGrid && !this.tf.isFirstLoad){\r\n return;\r\n }\r\n var rows = this.tf.tbl.rows;\r\n var noValidRowsIndex = this.tf.validRowsIndex===null;\r\n //1st index\r\n var beginIndex = noValidRowsIndex ? this.tf.refRow : 0;\r\n // nb indexes\r\n var indexLen = noValidRowsIndex ?\r\n this.tf.nbFilterableRows+beginIndex :\r\n this.tf.validRowsIndex.length;\r\n var idx = 0;\r\n\r\n //alternates bg color\r\n for(var j=beginIndex; j<indexLen; j++){\r\n var rowIdx = noValidRowsIndex ? j : this.tf.validRowsIndex[j];\r\n this.setRowBg(rowIdx, idx);\r\n idx++;\r\n }\r\n }\r\n\r\n /**\r\n * Sets row background color\r\n * @param {Number} rowIdx Row index\r\n * @param {Number} idx Valid rows collection index needed to calculate bg\r\n * color\r\n */\r\n setRowBg(rowIdx, idx) {\r\n if(!this.tf.alternateBgs || isNaN(rowIdx)){\r\n return;\r\n }\r\n var rows = this.tf.tbl.rows;\r\n var i = !idx ? rowIdx : idx;\r\n this.removeRowBg(rowIdx);\r\n Dom.addClass(\r\n rows[rowIdx],\r\n (i%2) ? this.evenCss : this.oddCss\r\n );\r\n }\r\n\r\n /**\r\n * Removes row background color\r\n * @param {Number} idx Row index\r\n */\r\n removeRowBg(idx) {\r\n if(isNaN(idx)){\r\n return;\r\n }\r\n var rows = this.tf.tbl.rows;\r\n Dom.removeClass(rows[idx], this.oddCss);\r\n Dom.removeClass(rows[idx], this.evenCss);\r\n }\r\n\r\n /**\r\n * Removes all row background color\r\n */\r\n remove() {\r\n if(!this.tf.hasGrid){\r\n return;\r\n }\r\n var row = this.tf.tbl.rows;\r\n for(var i=this.tf.refRow; i<this.tf.nbRows; i++){\r\n this.removeRowBg(i);\r\n }\r\n this.tf.isStartBgAlternate = true;\r\n }\r\n\r\n enable() {\r\n this.tf.alternateBgs = true;\r\n }\r\n\r\n disable() {\r\n this.tf.alternateBgs = false;\r\n }\r\n\r\n}\r\n\r\n"]}

View file

@ -1,242 +1,246 @@
define(["exports", "../dom", "../string"], function (exports, _dom, _string) {
"use strict";
var _classProps = function (child, staticProps, instanceProps) {
if (staticProps) Object.defineProperties(child, staticProps);
if (instanceProps) Object.defineProperties(child.prototype, instanceProps);
};
var Dom = _dom.Dom;
var Str = _string.Str;
var ColOps = (function () {
var ColOps =
/**
* Column calculations
* @param {Object} tf TableFilter instance
*/
function ColOps(tf) {
var ColOps = function ColOps(tf) {
var f = tf.fObj;
this.colOperation = f.col_operation;
this.tf = tf;
};
ColOps.prototype.calc = function () {
if (!this.tf.isFirstLoad && !this.tf.hasGrid) {
return;
}
if (this.tf.onBeforeOperation) {
this.tf.onBeforeOperation.call(null, this.tf);
}
var colOperation = this.colOperation, labelId = colOperation.id, colIndex = colOperation.col, operation = colOperation.operation, outputType = colOperation.write_method, totRowIndex = colOperation.tot_row_index, excludeRow = colOperation.exclude_row, decimalPrecision = colOperation.decimal_precision !== undefined ? colOperation.decimal_precision : 2;
//nuovella: determine unique list of columns to operate on
var ucolIndex = [], ucolMax = 0;
ucolIndex[ucolMax] = colIndex[0];
for (var ii = 1; ii < colIndex.length; ii++) {
var saved = 0;
//see if colIndex[ii] is already in the list of unique indexes
for (var jj = 0; jj <= ucolMax; jj++) {
if (ucolIndex[jj] === colIndex[ii]) {
saved = 1;
_classProps(ColOps, null, {
calc: {
writable: true,
value: function () {
if (!this.tf.isFirstLoad && !this.tf.hasGrid) {
return;
}
}
//if not saved then, save the index;
if (saved === 0) {
ucolMax++;
ucolIndex[ucolMax] = colIndex[ii];
}
}
if (Str.lower(typeof labelId) == "object" && Str.lower(typeof colIndex) == "object" && Str.lower(typeof operation) == "object") {
var row = this.tf.tbl.rows, colvalues = [];
if (this.tf.onBeforeOperation) {
this.tf.onBeforeOperation.call(null, this.tf);
}
for (var ucol = 0; ucol <= ucolMax; ucol++) {
//this retrieves col values
//use ucolIndex because we only want to pass through this loop
//once for each column get the values in this unique column
colvalues.push(this.tf.GetColValues(ucolIndex[ucol], true, excludeRow));
var colOperation = this.colOperation, labelId = colOperation.id, colIndex = colOperation.col, operation = colOperation.operation, outputType = colOperation.write_method, totRowIndex = colOperation.tot_row_index, excludeRow = colOperation.exclude_row, decimalPrecision = colOperation.decimal_precision !== undefined ? colOperation.decimal_precision : 2;
//next: calculate all operations for this column
var result, nbvalues = 0, temp, meanValue = 0, sumValue = 0, minValue = null, maxValue = null, q1Value = null, medValue = null, q3Value = null, meanFlag = 0, sumFlag = 0, minFlag = 0, maxFlag = 0, q1Flag = 0, medFlag = 0, q3Flag = 0, theList = [], opsThisCol = [], decThisCol = [], labThisCol = [], oTypeThisCol = [], mThisCol = -1;
//nuovella: determine unique list of columns to operate on
var ucolIndex = [], ucolMax = 0;
ucolIndex[ucolMax] = colIndex[0];
for (var k = 0; k < colIndex.length; k++) {
if (colIndex[k] === ucolIndex[ucol]) {
mThisCol++;
opsThisCol[mThisCol] = Str.lower(operation[k]);
decThisCol[mThisCol] = decimalPrecision[k];
labThisCol[mThisCol] = labelId[k];
oTypeThisCol = outputType !== undefined && Str.lower(typeof outputType) === "object" ? outputType[k] : null;
switch (opsThisCol[mThisCol]) {
case "mean":
meanFlag = 1;
break;
case "sum":
sumFlag = 1;
break;
case "min":
minFlag = 1;
break;
case "max":
maxFlag = 1;
break;
case "median":
medFlag = 1;
break;
case "q1":
q1Flag = 1;
break;
case "q3":
q3Flag = 1;
break;
for (var ii = 1; ii < colIndex.length; ii++) {
var saved = 0;
//see if colIndex[ii] is already in the list of unique indexes
for (var jj = 0; jj <= ucolMax; jj++) {
if (ucolIndex[jj] === colIndex[ii]) {
saved = 1;
}
}
//if not saved then, save the index;
if (saved === 0) {
ucolMax++;
ucolIndex[ucolMax] = colIndex[ii];
}
}
for (var j = 0; j < colvalues[ucol].length; j++) {
//sort the list for calculation of median and quartiles
if ((q1Flag == 1) || (q3Flag == 1) || (medFlag == 1)) {
if (j < colvalues[ucol].length - 1) {
for (k = j + 1; k < colvalues[ucol].length; k++) {
if (eval(colvalues[ucol][k]) < eval(colvalues[ucol][j])) {
temp = colvalues[ucol][j];
colvalues[ucol][j] = colvalues[ucol][k];
colvalues[ucol][k] = temp;
if (Str.lower(typeof labelId) == "object" && Str.lower(typeof colIndex) == "object" && Str.lower(typeof operation) == "object") {
var row = this.tf.tbl.rows, colvalues = [];
for (var ucol = 0; ucol <= ucolMax; ucol++) {
//this retrieves col values
//use ucolIndex because we only want to pass through this loop
//once for each column get the values in this unique column
colvalues.push(this.tf.GetColValues(ucolIndex[ucol], true, excludeRow));
//next: calculate all operations for this column
var result, nbvalues = 0, temp, meanValue = 0, sumValue = 0, minValue = null, maxValue = null, q1Value = null, medValue = null, q3Value = null, meanFlag = 0, sumFlag = 0, minFlag = 0, maxFlag = 0, q1Flag = 0, medFlag = 0, q3Flag = 0, theList = [], opsThisCol = [], decThisCol = [], labThisCol = [], oTypeThisCol = [], mThisCol = -1;
for (var k = 0; k < colIndex.length; k++) {
if (colIndex[k] === ucolIndex[ucol]) {
mThisCol++;
opsThisCol[mThisCol] = Str.lower(operation[k]);
decThisCol[mThisCol] = decimalPrecision[k];
labThisCol[mThisCol] = labelId[k];
oTypeThisCol = outputType !== undefined && Str.lower(typeof outputType) === "object" ? outputType[k] : null;
switch (opsThisCol[mThisCol]) {
case "mean":
meanFlag = 1;
break;
case "sum":
sumFlag = 1;
break;
case "min":
minFlag = 1;
break;
case "max":
maxFlag = 1;
break;
case "median":
medFlag = 1;
break;
case "q1":
q1Flag = 1;
break;
case "q3":
q3Flag = 1;
break;
}
}
}
}
var cvalue = parseFloat(colvalues[ucol][j]);
theList[j] = parseFloat(cvalue);
if (!isNaN(cvalue)) {
nbvalues++;
if (sumFlag === 1 || meanFlag === 1) {
sumValue += parseFloat(cvalue);
for (var j = 0; j < colvalues[ucol].length; j++) {
//sort the list for calculation of median and quartiles
if ((q1Flag == 1) || (q3Flag == 1) || (medFlag == 1)) {
if (j < colvalues[ucol].length - 1) {
for (k = j + 1; k < colvalues[ucol].length; k++) {
if (eval(colvalues[ucol][k]) < eval(colvalues[ucol][j])) {
temp = colvalues[ucol][j];
colvalues[ucol][j] = colvalues[ucol][k];
colvalues[ucol][k] = temp;
}
}
}
}
var cvalue = parseFloat(colvalues[ucol][j]);
theList[j] = parseFloat(cvalue);
if (!isNaN(cvalue)) {
nbvalues++;
if (sumFlag === 1 || meanFlag === 1) {
sumValue += parseFloat(cvalue);
}
if (minFlag === 1) {
if (minValue === null) {
minValue = parseFloat(cvalue);
} else {
minValue = parseFloat(cvalue) < minValue ? parseFloat(cvalue) : minValue;
}
}
if (maxFlag === 1) {
if (maxValue === null) {
maxValue = parseFloat(cvalue);
} else {
maxValue = parseFloat(cvalue) > maxValue ? parseFloat(cvalue) : maxValue;
}
}
}
} //for j
if (meanFlag === 1) {
meanValue = sumValue / nbvalues;
}
if (minFlag === 1) {
if (minValue === null) {
minValue = parseFloat(cvalue);
if (medFlag === 1) {
var aux = 0;
if (nbvalues % 2 === 1) {
aux = Math.floor(nbvalues / 2);
medValue = theList[aux];
} else {
minValue = parseFloat(cvalue) < minValue ? parseFloat(cvalue) : minValue;
medValue = (theList[nbvalues / 2] + theList[((nbvalues / 2) - 1)]) / 2;
}
}
if (maxFlag === 1) {
if (maxValue === null) {
maxValue = parseFloat(cvalue);
var posa;
if (q1Flag === 1) {
posa = 0;
posa = Math.floor(nbvalues / 4);
if (4 * posa == nbvalues) {
q1Value = (theList[posa - 1] + theList[posa]) / 2;
} else {
maxValue = parseFloat(cvalue) > maxValue ? parseFloat(cvalue) : maxValue;
q1Value = theList[posa];
}
}
if (q3Flag === 1) {
posa = 0;
var posb = 0;
posa = Math.floor(nbvalues / 4);
if (4 * posa === nbvalues) {
posb = 3 * posa;
q3Value = (theList[posb] + theList[posb - 1]) / 2;
} else {
q3Value = theList[nbvalues - posa - 1];
}
}
}
} //for j
if (meanFlag === 1) {
meanValue = sumValue / nbvalues;
}
if (medFlag === 1) {
var aux = 0;
if (nbvalues % 2 === 1) {
aux = Math.floor(nbvalues / 2);
medValue = theList[aux];
} else {
medValue = (theList[nbvalues / 2] + theList[((nbvalues / 2) - 1)]) / 2;
}
}
var posa;
if (q1Flag === 1) {
posa = 0;
posa = Math.floor(nbvalues / 4);
if (4 * posa == nbvalues) {
q1Value = (theList[posa - 1] + theList[posa]) / 2;
} else {
q1Value = theList[posa];
}
}
if (q3Flag === 1) {
posa = 0;
var posb = 0;
posa = Math.floor(nbvalues / 4);
if (4 * posa === nbvalues) {
posb = 3 * posa;
q3Value = (theList[posb] + theList[posb - 1]) / 2;
} else {
q3Value = theList[nbvalues - posa - 1];
}
}
for (var i = 0; i <= mThisCol; i++) {
switch (opsThisCol[i]) {
case "mean":
result = meanValue;
break;
case "sum":
result = sumValue;
break;
case "min":
result = minValue;
break;
case "max":
result = maxValue;
break;
case "median":
result = medValue;
break;
case "q1":
result = q1Value;
break;
case "q3":
result = q3Value;
break;
}
for (var i = 0; i <= mThisCol; i++) {
switch (opsThisCol[i]) {
case "mean":
result = meanValue;
break;
case "sum":
result = sumValue;
break;
case "min":
result = minValue;
break;
case "max":
result = maxValue;
break;
case "median":
result = medValue;
break;
case "q1":
result = q1Value;
break;
case "q3":
result = q3Value;
break;
}
var precision = !isNaN(decThisCol[i]) ? decThisCol[i] : 2;
var precision = !isNaN(decThisCol[i]) ? decThisCol[i] : 2;
//if outputType is defined
if (oTypeThisCol && result) {
result = result.toFixed(precision);
//if outputType is defined
if (oTypeThisCol && result) {
result = result.toFixed(precision);
if (Dom.id(labThisCol[i])) {
switch (Str.lower(oTypeThisCol)) {
case "innerhtml":
if (Dom.id(labThisCol[i])) {
switch (Str.lower(oTypeThisCol)) {
case "innerhtml":
if (isNaN(result) || !isFinite(result) || nbvalues === 0) {
Dom.id(labThisCol[i]).innerHTML = ".";
} else {
Dom.id(labThisCol[i]).innerHTML = result;
}
break;
case "setvalue":
Dom.id(labThisCol[i]).value = result;
break;
case "createtextnode":
var oldnode = Dom.id(labThisCol[i]).firstChild;
var txtnode = Dom.text(result);
Dom.id(labThisCol[i]).replaceChild(txtnode, oldnode);
break;
} //switch
}
} else {
try {
if (isNaN(result) || !isFinite(result) || nbvalues === 0) {
Dom.id(labThisCol[i]).innerHTML = ".";
} else {
Dom.id(labThisCol[i]).innerHTML = result;
Dom.id(labThisCol[i]).innerHTML = result.toFixed(precision);
}
break;
case "setvalue":
Dom.id(labThisCol[i]).value = result;
break;
case "createtextnode":
var oldnode = Dom.id(labThisCol[i]).firstChild;
var txtnode = Dom.text(result);
Dom.id(labThisCol[i]).replaceChild(txtnode, oldnode);
break;
} //switch
} catch (e) {} //catch
} //else
} //for i
// row(s) with result are always visible
var totRow = totRowIndex && totRowIndex[ucol] ? row[totRowIndex[ucol]] : null;
if (totRow) {
totRow.style.display = "";
}
} else {
try {
if (isNaN(result) || !isFinite(result) || nbvalues === 0) {
Dom.id(labThisCol[i]).innerHTML = ".";
} else {
Dom.id(labThisCol[i]).innerHTML = result.toFixed(precision);
}
} catch (e) {} //catch
} //else
} //for i
} //for ucol
} //if typeof
// row(s) with result are always visible
var totRow = totRowIndex && totRowIndex[ucol] ? row[totRowIndex[ucol]] : null;
if (totRow) {
totRow.style.display = "";
if (this.tf.onAfterOperation) {
this.tf.onAfterOperation.call(null, this.tf);
}
} //for ucol
} //if typeof
if (this.tf.onAfterOperation) {
this.tf.onAfterOperation.call(null, this.tf);
}
}
};
});
return ColOps;
})();

File diff suppressed because one or more lines are too long

View file

@ -1,18 +1,17 @@
define(["exports", "../dom", "../types", "../helpers", "../event"], function (exports, _dom, _types, _helpers, _event) {
"use strict";
var _classProps = function (child, staticProps, instanceProps) {
if (staticProps) Object.defineProperties(child, staticProps);
if (instanceProps) Object.defineProperties(child.prototype, instanceProps);
};
var Dom = _dom.Dom;
var Types = _types.Types;
var Helpers = _helpers.Helpers;
var Event = _event.Event;
var GridLayout = (function () {
var GridLayout =
/**
* Grid layout, table with fixed headers
* @param {Object} tf TableFilter instance
*/
function GridLayout(tf) {
var GridLayout = function GridLayout(tf) {
var f = tf.fObj;
//defines grid width
@ -45,338 +44,287 @@ define(["exports", "../dom", "../types", "../helpers", "../event"], function (ex
this.tf = tf;
};
GridLayout.prototype.init = function () {
var tf = this.tf;
var f = tf.fObj;
var tbl = tf.tbl;
_classProps(GridLayout, null, {
init: {
writable: true,
value: function () {
var tf = this.tf;
var f = tf.fObj;
var tbl = tf.tbl;
if (!tf.gridLayout) {
return;
}
if (!tf.gridLayout) {
return;
}
tf.isExternalFlt = true;
tf.isExternalFlt = true;
// default width of 100px if column widths not set
if (!tf.hasColWidth) {
tf.colWidth = [];
for (var k = 0; k < tf.nbCells; k++) {
var colW, cell = tbl.rows[this.gridHeadRowIndex].cells[k];
if (cell.width !== "") {
colW = cell.width;
} else if (cell.style.width !== "") {
colW = parseInt(cell.style.width, 10);
// default width of 100px if column widths not set
if (!tf.hasColWidth) {
tf.colWidth = [];
for (var k = 0; k < tf.nbCells; k++) {
var colW, cell = tbl.rows[this.gridHeadRowIndex].cells[k];
if (cell.width !== "") {
colW = cell.width;
} else if (cell.style.width !== "") {
colW = parseInt(cell.style.width, 10);
} else {
colW = this.gridDefaultColWidth;
}
tf.colWidth[k] = colW;
}
tf.hasColWidth = true;
}
tf.SetColWidths(this.gridHeadRowIndex);
var tblW; //initial table width
if (tbl.width !== "") {
tblW = tbl.width;
} else if (tbl.style.width !== "") {
tblW = parseInt(tbl.style.width, 10);
} else {
colW = this.gridDefaultColWidth;
tblW = tbl.clientWidth;
}
tf.colWidth[k] = colW;
}
tf.hasColWidth = true;
}
tf.SetColWidths(this.gridHeadRowIndex);
var tblW; //initial table width
if (tbl.width !== "") {
tblW = tbl.width;
} else if (tbl.style.width !== "") {
tblW = parseInt(tbl.style.width, 10);
} else {
tblW = tbl.clientWidth;
}
//Main container: it will contain all the elements
this.tblMainCont = Dom.create("div", ["id", tf.prfxMainTblCont + tf.id]);
this.tblMainCont.className = this.gridMainContCssClass;
if (this.gridWidth) {
this.tblMainCont.style.width = this.gridWidth;
}
tbl.parentNode.insertBefore(this.tblMainCont, tbl);
//Table container: div wrapping content table
this.tblCont = Dom.create("div", ["id", tf.prfxTblCont + tf.id]);
this.tblCont.className = this.gridContCssClass;
if (this.gridWidth) {
this.tblCont.style.width = this.gridWidth;
}
if (this.gridHeight) {
this.tblCont.style.height = this.gridHeight;
}
tbl.parentNode.insertBefore(this.tblCont, tbl);
var t = tbl.parentNode.removeChild(tbl);
this.tblCont.appendChild(t);
//In case table width is expressed in %
if (tbl.style.width === "") {
tbl.style.width = (tf.__containsStr("%", tblW) ? tbl.clientWidth : tblW) + "px";
}
var d = this.tblCont.parentNode.removeChild(this.tblCont);
this.tblMainCont.appendChild(d);
//Headers table container: div wrapping headers table
this.headTblCont = Dom.create("div", ["id", tf.prfxHeadTblCont + tf.id]);
this.headTblCont.className = this.gridHeadContCssClass;
if (this.gridWidth) {
this.headTblCont.style.width = this.gridWidth;
}
//Headers table
this.headTbl = Dom.create("table", ["id", tf.prfxHeadTbl + tf.id]);
var tH = Dom.create("tHead"); //IE<7 needs it
//1st row should be headers row, ids are added if not set
//Those ids are used by the sort feature
var hRow = tbl.rows[this.gridHeadRowIndex];
var sortTriggers = [];
for (var n = 0; n < tf.nbCells; n++) {
var c = hRow.cells[n];
var thId = c.getAttribute("id");
if (!thId || thId === "") {
thId = tf.prfxGridTh + n + "_" + tf.id;
c.setAttribute("id", thId);
}
sortTriggers.push(thId);
}
//Filters row is created
var filtersRow = Dom.create("tr");
if (this.gridEnableFilters && tf.fltGrid) {
tf.externalFltTgtIds = [];
for (var j = 0; j < tf.nbCells; j++) {
var fltTdId = tf.prfxFlt + j + tf.prfxGridFltTd + tf.id;
var cl = Dom.create(tf.fltCellTag, ["id", fltTdId]);
filtersRow.appendChild(cl);
tf.externalFltTgtIds[j] = fltTdId;
}
}
//Headers row are moved from content table to headers table
for (var i = 0; i < this.gridHeadRows.length; i++) {
var headRow = tbl.rows[this.gridHeadRows[0]];
tH.appendChild(headRow);
}
this.headTbl.appendChild(tH);
if (tf.filtersRowIndex === 0) {
tH.insertBefore(filtersRow, hRow);
} else {
tH.appendChild(filtersRow);
}
this.headTblCont.appendChild(this.headTbl);
this.tblCont.parentNode.insertBefore(this.headTblCont, this.tblCont);
//THead needs to be removed in content table for sort feature
var thead = Dom.tag(tbl, "thead");
if (thead.length > 0) {
tbl.removeChild(thead[0]);
}
//Headers table style
this.headTbl.style.width = tbl.style.width;
this.headTbl.style.tableLayout = "fixed";
tbl.style.tableLayout = "fixed";
this.headTbl.cellPadding = tbl.cellPadding;
this.headTbl.cellSpacing = tbl.cellSpacing;
//content table without headers needs col widths to be reset
tf.SetColWidths();
//Headers container width
this.headTblCont.style.width = this.tblCont.clientWidth + "px";
tbl.style.width = "";
// if(Helpers.isIE()){
// this.headTbl.style.width = '';
// }
//scroll synchronisation
var o = this;
Event.add(this.tblCont, "scroll", function (evt) {
//this = scroll element
var scrollLeft = this.scrollLeft;
o.headTblCont.scrollLeft = scrollLeft;
//New pointerX calc taking into account scrollLeft
if (!o.isPointerXOverwritten) {
try {
o.Evt.pointerX = function (evt) {
var e = evt || global.event;
var bdScrollLeft = tf_StandardBody().scrollLeft + scrollLeft;
return (e.pageX + scrollLeft) || (e.clientX + bdScrollLeft);
};
o.isPointerXOverwritten = true;
} catch (err) {
o.isPointerXOverwritten = false;
//Main container: it will contain all the elements
this.tblMainCont = Dom.create("div", ["id", tf.prfxMainTblCont + tf.id]);
this.tblMainCont.className = this.gridMainContCssClass;
if (this.gridWidth) {
this.tblMainCont.style.width = this.gridWidth;
}
}
});
tbl.parentNode.insertBefore(this.tblMainCont, tbl);
//Sort is enabled if not specified in config object
if (f.sort !== false) {
tf.sort = true;
tf.sortConfig.asyncSort = true;
tf.sortConfig.triggerIds = sortTriggers;
}
//Table container: div wrapping content table
this.tblCont = Dom.create("div", ["id", tf.prfxTblCont + tf.id]);
this.tblCont.className = this.gridContCssClass;
if (this.gridWidth) {
this.tblCont.style.width = this.gridWidth;
}
if (this.gridHeight) {
this.tblCont.style.height = this.gridHeight;
}
tbl.parentNode.insertBefore(this.tblCont, tbl);
var t = tbl.parentNode.removeChild(tbl);
this.tblCont.appendChild(t);
if (this.gridEnableColResizer) {
if (!tf.hasExtensions) {
tf.extensions = {
name: ["ColumnsResizer_" + tf.id],
src: [this.gridColResizerPath],
description: ["Columns Resizing"],
initialize: [function (o) {
o.SetColsResizer("ColumnsResizer_" + o.id);
}]
//In case table width is expressed in %
if (tbl.style.width === "") {
tbl.style.width = (tf.__containsStr("%", tblW) ? tbl.clientWidth : tblW) + "px";
}
var d = this.tblCont.parentNode.removeChild(this.tblCont);
this.tblMainCont.appendChild(d);
//Headers table container: div wrapping headers table
this.headTblCont = Dom.create("div", ["id", tf.prfxHeadTblCont + tf.id]);
this.headTblCont.className = this.gridHeadContCssClass;
if (this.gridWidth) {
this.headTblCont.style.width = this.gridWidth;
}
//Headers table
this.headTbl = Dom.create("table", ["id", tf.prfxHeadTbl + tf.id]);
var tH = Dom.create("tHead"); //IE<7 needs it
//1st row should be headers row, ids are added if not set
//Those ids are used by the sort feature
var hRow = tbl.rows[this.gridHeadRowIndex];
var sortTriggers = [];
for (var n = 0; n < tf.nbCells; n++) {
var c = hRow.cells[n];
var thId = c.getAttribute("id");
if (!thId || thId === "") {
thId = tf.prfxGridTh + n + "_" + tf.id;
c.setAttribute("id", thId);
}
sortTriggers.push(thId);
}
//Filters row is created
var filtersRow = Dom.create("tr");
if (this.gridEnableFilters && tf.fltGrid) {
tf.externalFltTgtIds = [];
for (var j = 0; j < tf.nbCells; j++) {
var fltTdId = tf.prfxFlt + j + tf.prfxGridFltTd + tf.id;
var cl = Dom.create(tf.fltCellTag, ["id", fltTdId]);
filtersRow.appendChild(cl);
tf.externalFltTgtIds[j] = fltTdId;
}
}
//Headers row are moved from content table to headers table
for (var i = 0; i < this.gridHeadRows.length; i++) {
var headRow = tbl.rows[this.gridHeadRows[0]];
tH.appendChild(headRow);
}
this.headTbl.appendChild(tH);
if (tf.filtersRowIndex === 0) {
tH.insertBefore(filtersRow, hRow);
} else {
tH.appendChild(filtersRow);
}
this.headTblCont.appendChild(this.headTbl);
this.tblCont.parentNode.insertBefore(this.headTblCont, this.tblCont);
//THead needs to be removed in content table for sort feature
var thead = Dom.tag(tbl, "thead");
if (thead.length > 0) {
tbl.removeChild(thead[0]);
}
//Headers table style
this.headTbl.style.width = tbl.style.width;
this.headTbl.style.tableLayout = "fixed";
tbl.style.tableLayout = "fixed";
this.headTbl.cellPadding = tbl.cellPadding;
this.headTbl.cellSpacing = tbl.cellSpacing;
//content table without headers needs col widths to be reset
tf.SetColWidths();
//Headers container width
this.headTblCont.style.width = this.tblCont.clientWidth + "px";
tbl.style.width = "";
//scroll synchronisation
var o = this;
Event.add(this.tblCont, "scroll", function (evt) {
//this = scroll element
var scrollLeft = this.scrollLeft;
o.headTblCont.scrollLeft = scrollLeft;
//New pointerX calc taking into account scrollLeft
if (!o.isPointerXOverwritten) {
try {
o.Evt.pointerX = function (evt) {
var e = evt || global.event;
var bdScrollLeft = tf_StandardBody().scrollLeft + scrollLeft;
return (e.pageX + scrollLeft) || (e.clientX + bdScrollLeft);
};
o.isPointerXOverwritten = true;
} catch (err) {
o.isPointerXOverwritten = false;
}
}
});
//Sort is enabled if not specified in config object
if (f.sort !== false) {
tf.sort = true;
tf.sortConfig.asyncSort = true;
tf.sortConfig.triggerIds = sortTriggers;
}
if (this.gridEnableColResizer) {
if (!tf.hasExtensions) {
tf.extensions = {
name: ["ColumnsResizer_" + tf.id],
src: [this.gridColResizerPath],
description: ["Columns Resizing"],
initialize: [function (o) {
o.SetColsResizer("ColumnsResizer_" + o.id);
}]
};
tf.hasExtensions = true;
} else {
if (!tf.__containsStr("colsresizer", Str.lower(tf.extensions.src.toString()))) {
tf.extensions.name.push("ColumnsResizer_" + tf.id);
tf.extensions.src.push(tf.gridColResizerPath);
tf.extensions.description.push("Columns Resizing");
tf.extensions.initialize.push(function (o) {
o.SetColsResizer("ColumnsResizer_" + o.id);
});
}
}
}
//Default columns resizer properties for grid layout
f.col_resizer_cols_headers_table = this.headTbl.getAttribute("id");
f.col_resizer_cols_headers_index = this.gridHeadRowIndex;
f.col_resizer_width_adjustment = 0;
f.col_enable_text_ellipsis = false;
//Cols generation for all browsers excepted IE<=7
o.tblHasColTag = Dom.tag(tbl, "col").length > 0 ? true : false;
//Col elements are enough to keep column widths after sorting and
//filtering
var createColTags = function (o) {
if (!o) {
return;
}
for (var k = (tf.nbCells - 1); k >= 0; k--) {
var col = Dom.create("col", ["id", tf.id + "_col_" + k]);
tbl.firstChild.parentNode.insertBefore(col, tbl.firstChild);
col.style.width = tf.colWidth[k];
o.gridColElms[k] = col;
}
o.tblHasColTag = true;
};
tf.hasExtensions = true;
} else {
if (!tf.__containsStr("colsresizer", Str.lower(tf.extensions.src.toString()))) {
tf.extensions.name.push("ColumnsResizer_" + tf.id);
tf.extensions.src.push(tf.gridColResizerPath);
tf.extensions.description.push("Columns Resizing");
tf.extensions.initialize.push(function (o) {
o.SetColsResizer("ColumnsResizer_" + o.id);
});
if (!o.tblHasColTag) {
createColTags(o);
} else {
var cols = Dom.tag(tbl, "col");
for (var ii = 0; ii < tf.nbCells; ii++) {
cols[ii].setAttribute("id", tf.id + "_col_" + ii);
cols[ii].style.width = tf.colWidth[ii];
o.gridColElms.push(cols[ii]);
}
}
var afterColResizedFn = Types.isFn(f.on_after_col_resized) ? f.on_after_col_resized : null;
f.on_after_col_resized = function (o, colIndex) {
if (!colIndex) {
return;
}
var w = o.crWColsRow.cells[colIndex].style.width;
var col = o.gridColElms[colIndex];
col.style.width = w;
var thCW = o.crWColsRow.cells[colIndex].clientWidth;
var tdCW = o.crWRowDataTbl.cells[colIndex].clientWidth;
if (thCW != tdCW /*&& !Helpers.isIE()*/) {
o.headTbl.style.width = tbl.clientWidth + "px";
}
if (afterColResizedFn) {
afterColResizedFn.call(null, o, colIndex);
}
};
if (tbl.clientWidth !== this.headTbl.clientWidth) {
tbl.style.width = this.headTbl.clientWidth + "px";
}
// Re-adjust reference row
//tf.refRow = Helpers.isIE() ? (tf.refRow+1) : 0;
}
},
destroy: {
writable: true,
value: function () {
var tf = this.tf;
var tbl = tf.tbl;
if (!tf.gridLayout) {
return;
}
var t = tbl.parentNode.removeChild(tbl);
this.tblMainCont.parentNode.insertBefore(t, this.tblMainCont);
this.tblMainCont.parentNode.removeChild(this.tblMainCont);
this.tblMainCont = null;
this.headTblCont = null;
this.headTbl = null;
this.tblCont = null;
tbl.outerHTML = tf.sourceTblHtml;
//needed to keep reference of table element
tbl = Dom.id(tf.id);
}
}
//Default columns resizer properties for grid layout
f.col_resizer_cols_headers_table = this.headTbl.getAttribute("id");
f.col_resizer_cols_headers_index = this.gridHeadRowIndex;
f.col_resizer_width_adjustment = 0;
f.col_enable_text_ellipsis = false;
//Cols generation for all browsers excepted IE<=7
o.tblHasColTag = Dom.tag(tbl, "col").length > 0 ? true : false;
// if(!Helpers.isIE()){
//Col elements are enough to keep column widths after sorting and
//filtering
var createColTags = function (o) {
if (!o) {
return;
}
for (var k = (tf.nbCells - 1); k >= 0; k--) {
var col = Dom.create("col", ["id", tf.id + "_col_" + k]);
tbl.firstChild.parentNode.insertBefore(col, tbl.firstChild);
col.style.width = tf.colWidth[k];
o.gridColElms[k] = col;
}
o.tblHasColTag = true;
};
if (!o.tblHasColTag) {
createColTags(o);
} else {
var cols = Dom.tag(tbl, "col");
for (var ii = 0; ii < tf.nbCells; ii++) {
cols[ii].setAttribute("id", tf.id + "_col_" + ii);
cols[ii].style.width = tf.colWidth[ii];
o.gridColElms.push(cols[ii]);
}
}
// }
//IE <= 7 needs an additional row for widths as col element width is
//not enough...
// if(Helpers.isIE()){
// var tbody = Dom.tag(tbl,'tbody'),
// r;
// if( tbody.length>0 ){
// r = tbody[0].insertRow(0);
// } else{
// r = tbl.insertRow(0);
// }
// r.style.height = '0px';
// for(var x=0; x<o.nbCells; x++){
// var col = Dom.create('td', ['id', o.id+'_col_'+x]);
// col.style.width = o.colWidth[x];
// tbl.rows[1].cells[x].style.width = '';
// r.appendChild(col);
// o.gridColElms.push(col);
// }
// tf.hasGridWidthsRow = true;
// //Data table row with widths expressed
// o.leadColWidthsRow = tbl.rows[0];
// o.leadColWidthsRow.setAttribute('validRow', 'false');
// var beforeSortFn = Types.isFn(f.on_before_sort) ?
// f.on_before_sort : null;
// f.on_before_sort = function(o, colIndex){
// o.leadColWidthsRow.setAttribute('validRow', 'false');
// if(beforeSortFn){
// beforeSortFn.call(null, o, colIndex);
// }
// };
// var afterSortFn = Types.isFn(f.on_after_sort) ?
// f.on_after_sort : null;
// f.on_after_sort = function(o,colIndex){
// if(o.leadColWidthsRow.rowIndex !== 0){
// var r = o.leadColWidthsRow;
// if(tbody.length>0){
// tbody[0].moveRow(o.leadColWidthsRow.rowIndex, 0);
// } else {
// tbl.moveRow(o.leadColWidthsRow.rowIndex, 0);
// }
// }
// if(afterSortFn){
// afterSortFn.call(null, o, colIndex);
// }
// };
// }
var afterColResizedFn = Types.isFn(f.on_after_col_resized) ? f.on_after_col_resized : null;
f.on_after_col_resized = function (o, colIndex) {
if (!colIndex) {
return;
}
var w = o.crWColsRow.cells[colIndex].style.width;
var col = o.gridColElms[colIndex];
col.style.width = w;
var thCW = o.crWColsRow.cells[colIndex].clientWidth;
var tdCW = o.crWRowDataTbl.cells[colIndex].clientWidth;
// if(Helpers.isIE()){
// tbl.style.width = o.headTbl.clientWidth+'px';
// }
if (thCW != tdCW /*&& !Helpers.isIE()*/) {
o.headTbl.style.width = tbl.clientWidth + "px";
}
if (afterColResizedFn) {
afterColResizedFn.call(null, o, colIndex);
}
};
if (tbl.clientWidth !== this.headTbl.clientWidth) {
tbl.style.width = this.headTbl.clientWidth + "px";
}
// Re-adjust reference row
//tf.refRow = Helpers.isIE() ? (tf.refRow+1) : 0;
};
GridLayout.prototype.destroy = function () {
var tf = this.tf;
var tbl = tf.tbl;
if (!tf.gridLayout) {
return;
}
var t = tbl.parentNode.removeChild(tbl);
this.tblMainCont.parentNode.insertBefore(t, this.tblMainCont);
this.tblMainCont.parentNode.removeChild(this.tblMainCont);
this.tblMainCont = null;
this.headTblCont = null;
this.headTbl = null;
this.tblCont = null;
tbl.outerHTML = tf.sourceTblHtml;
//needed to keep reference of table element
tbl = Dom.id(tf.id);
};
});
return GridLayout;
})();

File diff suppressed because one or more lines are too long

View file

@ -1,16 +1,15 @@
define(["exports", "../dom", "../string"], function (exports, _dom, _string) {
"use strict";
var _classProps = function (child, staticProps, instanceProps) {
if (staticProps) Object.defineProperties(child, staticProps);
if (instanceProps) Object.defineProperties(child.prototype, instanceProps);
};
var Dom = _dom.Dom;
var Str = _string.Str;
var HighlightKeyword = (function () {
var HighlightKeyword =
/**
* HighlightKeyword, highlight matched keyword
* @param {Object} tf TableFilter instance
*/
function HighlightKeyword(tf) {
var HighlightKeyword = function HighlightKeyword(tf) {
var f = tf.fObj;
//defines css class for highlighting
this.highlightCssClass = f.highlight_css_class || "keyword";
@ -19,74 +18,83 @@ define(["exports", "../dom", "../string"], function (exports, _dom, _string) {
this.tf = tf;
};
HighlightKeyword.prototype.highlight = function (node, word, cssClass) {
// Iterate into this nodes childNodes
if (node.hasChildNodes) {
var children = node.childNodes;
for (var i = 0; i < children.length; i++) {
this.highlight(children[i], word, cssClass);
}
}
_classProps(HighlightKeyword, null, {
highlight: {
writable: true,
value: function (node, word, cssClass) {
// Iterate into this nodes childNodes
if (node.hasChildNodes) {
var children = node.childNodes;
for (var i = 0; i < children.length; i++) {
this.highlight(children[i], word, cssClass);
}
}
if (node.nodeType === 3) {
var tempNodeVal = Str.lower(node.nodeValue);
var tempWordVal = Str.lower(word);
if (tempNodeVal.indexOf(tempWordVal) != -1) {
var pn = node.parentNode;
if (pn && pn.className != cssClass) {
// word not highlighted yet
var nv = node.nodeValue, ni = tempNodeVal.indexOf(tempWordVal),
// Create a load of replacement nodes
before = Dom.text(nv.substr(0, ni)), docWordVal = nv.substr(ni, word.length), after = Dom.text(nv.substr(ni + word.length)), hiwordtext = Dom.text(docWordVal), hiword = Dom.create("span");
hiword.className = cssClass;
hiword.appendChild(hiwordtext);
pn.insertBefore(before, node);
pn.insertBefore(hiword, node);
pn.insertBefore(after, node);
pn.removeChild(node);
this.highlightedNodes.push(hiword.firstChild);
if (node.nodeType === 3) {
var tempNodeVal = Str.lower(node.nodeValue);
var tempWordVal = Str.lower(word);
if (tempNodeVal.indexOf(tempWordVal) != -1) {
var pn = node.parentNode;
if (pn && pn.className != cssClass) {
// word not highlighted yet
var nv = node.nodeValue, ni = tempNodeVal.indexOf(tempWordVal),
// Create a load of replacement nodes
before = Dom.text(nv.substr(0, ni)), docWordVal = nv.substr(ni, word.length), after = Dom.text(nv.substr(ni + word.length)), hiwordtext = Dom.text(docWordVal), hiword = Dom.create("span");
hiword.className = cssClass;
hiword.appendChild(hiwordtext);
pn.insertBefore(before, node);
pn.insertBefore(hiword, node);
pn.insertBefore(after, node);
pn.removeChild(node);
this.highlightedNodes.push(hiword.firstChild);
}
}
}
}
}
};
HighlightKeyword.prototype.unhighlight = function (word, cssClass) {
var arrRemove = [];
var highlightedNodes = this.highlightedNodes;
for (var i = 0; i < highlightedNodes.length; i++) {
var n = highlightedNodes[i];
if (!n) {
continue;
}
var tempNodeVal = Str.lower(n.nodeValue), tempWordVal = Str.lower(word);
if (tempNodeVal.indexOf(tempWordVal) !== -1) {
var pn = n.parentNode;
if (pn && pn.className === cssClass) {
var prevSib = pn.previousSibling, nextSib = pn.nextSibling;
if (!prevSib || !nextSib) {
},
unhighlight: {
writable: true,
value: function (word, cssClass) {
var arrRemove = [];
var highlightedNodes = this.highlightedNodes;
for (var i = 0; i < highlightedNodes.length; i++) {
var n = highlightedNodes[i];
if (!n) {
continue;
}
nextSib.nodeValue = prevSib.nodeValue + n.nodeValue + nextSib.nodeValue;
prevSib.nodeValue = "";
n.nodeValue = "";
arrRemove.push(i);
var tempNodeVal = Str.lower(n.nodeValue), tempWordVal = Str.lower(word);
if (tempNodeVal.indexOf(tempWordVal) !== -1) {
var pn = n.parentNode;
if (pn && pn.className === cssClass) {
var prevSib = pn.previousSibling, nextSib = pn.nextSibling;
if (!prevSib || !nextSib) {
continue;
}
nextSib.nodeValue = prevSib.nodeValue + n.nodeValue + nextSib.nodeValue;
prevSib.nodeValue = "";
n.nodeValue = "";
arrRemove.push(i);
}
}
}
for (var k = 0; k < arrRemove.length; k++) {
highlightedNodes.splice(arrRemove[k], 1);
}
}
},
unhighlightAll: {
writable: true,
value: function () {
if (!this.tf.highlightKeywords || !this.tf.searchArgs) {
return;
}
for (var y = 0; y < this.tf.searchArgs.length; y++) {
this.unhighlight(this.tf.searchArgs[y], this.highlightCssClass);
}
this.highlightedNodes = [];
}
}
for (var k = 0; k < arrRemove.length; k++) {
highlightedNodes.splice(arrRemove[k], 1);
}
};
HighlightKeyword.prototype.unhighlightAll = function () {
if (!this.tf.highlightKeywords || !this.tf.searchArgs) {
return;
}
for (var y = 0; y < this.tf.searchArgs.length; y++) {
this.unhighlight(this.tf.searchArgs[y], this.highlightCssClass);
}
this.highlightedNodes = [];
};
});
return HighlightKeyword;
})();

File diff suppressed because one or more lines are too long

View file

@ -1,6 +1,11 @@
define(["exports", "../dom", "../types"], function (exports, _dom, _types) {
"use strict";
var _classProps = function (child, staticProps, instanceProps) {
if (staticProps) Object.defineProperties(child, staticProps);
if (instanceProps) Object.defineProperties(child.prototype, instanceProps);
};
var Dom = _dom.Dom;
var Types = _types.Types;
@ -47,37 +52,44 @@ define(["exports", "../dom", "../types"], function (exports, _dom, _types) {
}
};
Loader.prototype.show = function (p) {
var _this = this;
if (!this.tf.loader || !this.loaderDiv || this.loaderDiv.style.display === p) {
return;
_classProps(Loader, null, {
show: {
writable: true,
value: function (p) {
var _this = this;
if (!this.tf.loader || !this.loaderDiv || this.loaderDiv.style.display === p) {
return;
}
var displayLoader = function () {
if (!_this.loaderDiv) {
return;
}
if (_this.onShowLoader && p !== "none") {
_this.onShowLoader.call(null, _this);
}
_this.loaderDiv.style.display = p;
if (_this.onHideLoader && p === "none") {
_this.onHideLoader.call(null, _this);
}
};
var t = p === "none" ? this.loaderCloseDelay : 1;
global.setTimeout(displayLoader, t);
}
},
remove: {
writable: true,
value: function () {
if (!this.loaderDiv) {
return;
}
var targetEl = !this.loaderTgtId ? (this.tf.gridLayout ? this.tf.tblCont : this.tf.tbl.parentNode) : Dom.id(this.loaderTgtId);
targetEl.removeChild(this.loaderDiv);
this.loaderDiv = null;
}
}
var displayLoader = function () {
if (!_this.loaderDiv) {
return;
}
if (_this.onShowLoader && p !== "none") {
_this.onShowLoader.call(null, _this);
}
_this.loaderDiv.style.display = p;
if (_this.onHideLoader && p === "none") {
_this.onHideLoader.call(null, _this);
}
};
var t = p === "none" ? this.loaderCloseDelay : 1;
global.setTimeout(displayLoader, t);
};
Loader.prototype.remove = function () {
if (!this.loaderDiv) {
return;
}
var targetEl = !this.loaderTgtId ? (this.tf.gridLayout ? this.tf.tblCont : this.tf.tbl.parentNode) : Dom.id(this.loaderTgtId);
targetEl.removeChild(this.loaderDiv);
this.loaderDiv = null;
};
});
return Loader;
})();

File diff suppressed because one or more lines are too long

View file

@ -1,16 +1,17 @@
define(["exports", "../dom", "../helpers"], function (exports, _dom, _helpers) {
define(["exports", "../dom", "../types", "../string", "../helpers"], function (exports, _dom, _types, _string, _helpers) {
"use strict";
var _classProps = function (child, staticProps, instanceProps) {
if (staticProps) Object.defineProperties(child, staticProps);
if (instanceProps) Object.defineProperties(child.prototype, instanceProps);
};
var Dom = _dom.Dom;
var Types = _types.Types;
var Str = _string.Str;
var Helpers = _helpers.Helpers;
var Paging = (function () {
var Paging =
/**
* Pagination component
* @param {Object} tf TableFilter instance
*/
function Paging(tf) {
var Paging = function Paging(tf) {
// TableFilter configuration
var f = tf.fObj;
@ -63,11 +64,11 @@ define(["exports", "../dom", "../helpers"], function (exports, _dom, _helpers) {
//stores paging buttons events
this.pagingBtnEvents = null;
//defines previous page button html
this.pageSelectorType = f.page_selector_type || this.fltTypeSlc;
this.pageSelectorType = f.page_selector_type || tf.fltTypeSlc;
//calls function before page is changed
this.onBeforeChangePage = types.isFn(f.on_before_change_page) ? f.on_before_change_page : null;
this.onBeforeChangePage = Types.isFn(f.on_before_change_page) ? f.on_before_change_page : null;
//calls function before page is changed
this.onAfterChangePage = types.isFn(f.on_after_change_page) ? f.on_after_change_page : null;
this.onAfterChangePage = Types.isFn(f.on_after_change_page) ? f.on_after_change_page : null;
var start_row = this.refRow;
var nrows = this.nbRows;
//calculates page nb
@ -76,50 +77,50 @@ define(["exports", "../dom", "../helpers"], function (exports, _dom, _helpers) {
var evt = tf.Evt;
//Paging elements events
if (!evt._Paging.next) {
var o = tf;
var o = this;
evt._Paging = { // paging buttons events
slcIndex: function () {
return (o.pageSelectorType === o.fltTypeSlc) ? o.pagingSlc.options.selectedIndex : parseInt(o.pagingSlc.value, 10) - 1;
return (o.pageSelectorType === tf.fltTypeSlc) ? o.pagingSlc.options.selectedIndex : parseInt(o.pagingSlc.value, 10) - 1;
},
nbOpts: function () {
return (o.pageSelectorType === o.fltTypeSlc) ? parseInt(o.pagingSlc.options.length, 10) - 1 : (o.nbPages - 1);
return (o.pageSelectorType === tf.fltTypeSlc) ? parseInt(o.pagingSlc.options.length, 10) - 1 : (o.nbPages - 1);
},
next: function () {
if (o.Evt._Paging.nextEvt) {
o.Evt._Paging.nextEvt();
if (evt._Paging.nextEvt) {
evt._Paging.nextEvt();
}
var nextIndex = o.Evt._Paging.slcIndex() < o.Evt._Paging.nbOpts() ? o.Evt._Paging.slcIndex() + 1 : 0;
o.ChangePage(nextIndex);
var nextIndex = evt._Paging.slcIndex() < evt._Paging.nbOpts() ? evt._Paging.slcIndex() + 1 : 0;
o.changePage(nextIndex);
},
prev: function () {
if (o.Evt._Paging.prevEvt) {
o.Evt._Paging.prevEvt();
if (evt._Paging.prevEvt) {
evt._Paging.prevEvt();
}
var prevIndex = o.Evt._Paging.slcIndex() > 0 ? o.Evt._Paging.slcIndex() - 1 : o.Evt._Paging.nbOpts();
o.ChangePage(prevIndex);
var prevIndex = evt._Paging.slcIndex() > 0 ? evt._Paging.slcIndex() - 1 : evt._Paging.nbOpts();
o.changePage(prevIndex);
},
last: function () {
if (o.Evt._Paging.lastEvt) {
o.Evt._Paging.lastEvt();
if (evt._Paging.lastEvt) {
evt._Paging.lastEvt();
}
o.ChangePage(o.Evt._Paging.nbOpts());
o.changePage(evt._Paging.nbOpts());
},
first: function () {
if (o.Evt._Paging.firstEvt) {
o.Evt._Paging.firstEvt();
if (evt._Paging.firstEvt) {
evt._Paging.firstEvt();
}
o.ChangePage(0);
o.changePage(0);
},
_detectKey: function (e) {
var evt = e || global.event;
if (evt) {
var key = o.Evt.getKeyCode(e);
var key = evt.getKeyCode(e);
if (key === 13) {
if (o.sorted) {
o.Filter();
o.ChangePage(o.Evt._Paging.slcIndex());
if (tf.sorted) {
tf.Filter();
o.changePage(evt._Paging.slcIndex());
} else {
o.ChangePage();
o.changePage();
}
this.blur();
}
@ -135,127 +136,531 @@ define(["exports", "../dom", "../helpers"], function (exports, _dom, _helpers) {
this.tf = tf;
};
Paging.prototype.buildUI = function () {
var slcPages;
var tf = this.tf;
var evt = tf.Evt;
_classProps(Paging, null, {
init: {
writable: true,
value: function () {
var slcPages;
var tf = this.tf;
var evt = tf.Evt;
// Paging drop-down list selector
if (this.pageSelectorType === tf.fltTypeSlc) {
slcPages = dom.create(tf.fltTypeSlc, ["id", tf.prfxSlcPages + tf.id]);
slcPages.className = this.pgSlcCssClass;
slcPages.onchange = evt._OnSlcPagesChange;
}
// Paging input selector
if (this.pageSelectorType === tf.fltTypeInp) {
slcPages = dom.create(tf.fltTypeInp, ["id", tf.prfxSlcPages + tf.id], ["value", tf.currentPageNb]);
slcPages.className = this.pgInpCssClass;
slcPages.onkeypress = evt._Paging._detectKey;
}
// btns containers
var btnNextSpan = dom.create("span", ["id", this.prfxBtnNextSpan + tf.id]);
var btnPrevSpan = dom.create("span", ["id", this.prfxBtnPrevSpan + tf.id]);
var btnLastSpan = dom.create("span", ["id", this.prfxBtnLastSpan + tf.id]);
var btnFirstSpan = dom.create("span", ["id", this.prfxBtnFirstSpan + tf.id]);
if (this.hasPagingBtns) {
// Next button
if (!this.btnNextPageHtml) {
var btn_next = dom.create(tf.fltTypeInp, ["id", tf.prfxBtnNext + tf.id], ["type", "button"], ["value", this.btnNextPageText], ["title", "Next"]);
btn_next.className = this.btnPageCssClass;
btn_next.onclick = evt._Paging.next;
btnNextSpan.appendChild(btn_next);
} else {
btnNextSpan.innerHTML = this.btnNextPageHtml;
btnNextSpan.onclick = evt._Paging.next;
}
// Previous button
if (!this.btnPrevPageHtml) {
var btn_prev = dom.create(tf.fltTypeInp, ["id", tf.prfxBtnPrev + tf.id], ["type", "button"], ["value", this.btnPrevPageText], ["title", "Previous"]);
btn_prev.className = this.btnPageCssClass;
btn_prev.onclick = evt._Paging.prev;
btnPrevSpan.appendChild(btn_prev);
} else {
btnPrevSpan.innerHTML = this.btnPrevPageHtml;
btnPrevSpan.onclick = evt._Paging.prev;
}
// Last button
if (!this.btnLastPageHtml) {
var btn_last = dom.create(tf.fltTypeInp, ["id", tf.prfxBtnLast + tf.id], ["type", "button"], ["value", this.btnLastPageText], ["title", "Last"]);
btn_last.className = this.btnPageCssClass;
btn_last.onclick = evt._Paging.last;
btnLastSpan.appendChild(btn_last);
} else {
btnLastSpan.innerHTML = this.btnLastPageHtml;
btnLastSpan.onclick = evt._Paging.last;
}
// First button
if (!this.btnFirstPageHtml) {
var btn_first = dom.create(tf.fltTypeInp, ["id", tf.prfxBtnFirst + tf.id], ["type", "button"], ["value", this.btnFirstPageText], ["title", "First"]);
btn_first.className = this.btnPageCssClass;
btn_first.onclick = evt._Paging.first;
btnFirstSpan.appendChild(btn_first);
} else {
btnFirstSpan.innerHTML = this.btnFirstPageHtml;
btnFirstSpan.onclick = evt._Paging.first;
}
}
// paging elements (buttons+drop-down list) are added to defined element
if (!this.pagingTgtId) {
tf.SetTopDiv();
}
var targetEl = !this.pagingTgtId ? tf.mDiv : dom.id(this.pagingTgtId);
/***
if paging previously removed this prevents IE memory leak with
removeChild used in RemovePaging method. For more info refer to
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2840253&SiteID=1
***/
if (targetEl.innerHTML !== "") {
targetEl.innerHTML = "";
}
/*** ***/
targetEl.appendChild(btnFirstSpan);
targetEl.appendChild(btnPrevSpan);
var pgBeforeSpan = dom.create("span", ["id", tf.prfxPgBeforeSpan + tf.id]);
pgBeforeSpan.appendChild(dom.text(this.pageText));
pgBeforeSpan.className = this.nbPgSpanCssClass;
targetEl.appendChild(pgBeforeSpan);
targetEl.appendChild(slcPages);
var pgAfterSpan = dom.create("span", ["id", tf.prfxPgAfterSpan + tf.id]);
pgAfterSpan.appendChild(dom.text(this.ofText));
pgAfterSpan.className = this.nbPgSpanCssClass;
targetEl.appendChild(pgAfterSpan);
var pgspan = dom.create("span", ["id", tf.prfxPgSpan + tf.id]);
pgspan.className = this.nbPgSpanCssClass;
pgspan.appendChild(dom.text(" " + this.nbPages + " "));
targetEl.appendChild(pgspan);
targetEl.appendChild(btnNextSpan);
targetEl.appendChild(btnLastSpan);
this.pagingSlc = dom.id(tf.prfxSlcPages + tf.id);
/*====================================================
- onchange event for paging select
=====================================================*/
if (!evt._OnSlcPagesChange) {
evt._OnSlcPagesChange = function () {
if (evt._Paging._OnSlcPagesChangeEvt) {
evt._Paging._OnSlcPagesChangeEvt();
// Paging drop-down list selector
if (this.pageSelectorType === tf.fltTypeSlc) {
slcPages = Dom.create(tf.fltTypeSlc, ["id", tf.prfxSlcPages + tf.id]);
slcPages.className = this.pgSlcCssClass;
console.log(evt);
slcPages.onchange = evt._OnSlcPagesChange;
//slcPages.onchange = function(){ alert('hello'); }
}
tf.ChangePage();
this.blur();
//ie only: blur is not enough...
if (this.parentNode && Helpers.isIE()) {
this.parentNode.focus();
// Paging input selector
if (this.pageSelectorType === tf.fltTypeInp) {
slcPages = Dom.create(tf.fltTypeInp, ["id", tf.prfxSlcPages + tf.id], ["value", tf.currentPageNb]);
slcPages.className = this.pgInpCssClass;
slcPages.onkeypress = evt._Paging._detectKey;
}
};
// btns containers
var btnNextSpan = Dom.create("span", ["id", tf.prfxBtnNextSpan + tf.id]);
var btnPrevSpan = Dom.create("span", ["id", tf.prfxBtnPrevSpan + tf.id]);
var btnLastSpan = Dom.create("span", ["id", tf.prfxBtnLastSpan + tf.id]);
var btnFirstSpan = Dom.create("span", ["id", tf.prfxBtnFirstSpan + tf.id]);
if (this.hasPagingBtns) {
// Next button
if (!this.btnNextPageHtml) {
var btn_next = Dom.create(tf.fltTypeInp, ["id", tf.prfxBtnNext + tf.id], ["type", "button"], ["value", this.btnNextPageText], ["title", "Next"]);
btn_next.className = this.btnPageCssClass;
btn_next.onclick = evt._Paging.next;
btnNextSpan.appendChild(btn_next);
} else {
btnNextSpan.innerHTML = this.btnNextPageHtml;
btnNextSpan.onclick = evt._Paging.next;
}
// Previous button
if (!this.btnPrevPageHtml) {
var btn_prev = Dom.create(tf.fltTypeInp, ["id", tf.prfxBtnPrev + tf.id], ["type", "button"], ["value", this.btnPrevPageText], ["title", "Previous"]);
btn_prev.className = this.btnPageCssClass;
btn_prev.onclick = evt._Paging.prev;
btnPrevSpan.appendChild(btn_prev);
} else {
btnPrevSpan.innerHTML = this.btnPrevPageHtml;
btnPrevSpan.onclick = evt._Paging.prev;
}
// Last button
if (!this.btnLastPageHtml) {
var btn_last = Dom.create(tf.fltTypeInp, ["id", tf.prfxBtnLast + tf.id], ["type", "button"], ["value", this.btnLastPageText], ["title", "Last"]);
btn_last.className = this.btnPageCssClass;
btn_last.onclick = evt._Paging.last;
btnLastSpan.appendChild(btn_last);
} else {
btnLastSpan.innerHTML = this.btnLastPageHtml;
btnLastSpan.onclick = evt._Paging.last;
}
// First button
if (!this.btnFirstPageHtml) {
var btn_first = Dom.create(tf.fltTypeInp, ["id", tf.prfxBtnFirst + tf.id], ["type", "button"], ["value", this.btnFirstPageText], ["title", "First"]);
btn_first.className = this.btnPageCssClass;
btn_first.onclick = evt._Paging.first;
btnFirstSpan.appendChild(btn_first);
} else {
btnFirstSpan.innerHTML = this.btnFirstPageHtml;
btnFirstSpan.onclick = evt._Paging.first;
}
}
// paging elements (buttons+drop-down list) are added to defined element
if (!this.pagingTgtId) {
tf.SetTopDiv();
}
var targetEl = !this.pagingTgtId ? tf.mDiv : Dom.id(this.pagingTgtId);
/***
if paging previously removed this prevents IE memory leak with
removeChild used in RemovePaging method. For more info refer to
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2840253&SiteID=1
***/
if (targetEl.innerHTML !== "") {
targetEl.innerHTML = "";
}
/*** ***/
targetEl.appendChild(btnFirstSpan);
targetEl.appendChild(btnPrevSpan);
var pgBeforeSpan = Dom.create("span", ["id", tf.prfxPgBeforeSpan + tf.id]);
pgBeforeSpan.appendChild(Dom.text(this.pageText));
pgBeforeSpan.className = this.nbPgSpanCssClass;
targetEl.appendChild(pgBeforeSpan);
targetEl.appendChild(slcPages);
var pgAfterSpan = Dom.create("span", ["id", tf.prfxPgAfterSpan + tf.id]);
pgAfterSpan.appendChild(Dom.text(this.ofText));
pgAfterSpan.className = this.nbPgSpanCssClass;
targetEl.appendChild(pgAfterSpan);
var pgspan = Dom.create("span", ["id", tf.prfxPgSpan + tf.id]);
pgspan.className = this.nbPgSpanCssClass;
pgspan.appendChild(Dom.text(" " + this.nbPages + " "));
targetEl.appendChild(pgspan);
targetEl.appendChild(btnNextSpan);
targetEl.appendChild(btnLastSpan);
this.pagingSlc = Dom.id(tf.prfxSlcPages + tf.id);
/*====================================================
- onchange event for paging select
=====================================================*/
var o = this;
evt._OnSlcPagesChange = function () {
if (evt._Paging._OnSlcPagesChangeEvt) {
evt._Paging._OnSlcPagesChangeEvt();
}
o.changePage();
this.blur();
//ie only: blur is not enough...
if (this.parentNode && Helpers.isIE()) {
this.parentNode.focus();
}
};
// if this.rememberGridValues==true this.SetPagingInfo() is called
// in ResetGridValues() method
if (!tf.rememberGridValues || tf.isPagingRemoved) {
this.setPagingInfo();
}
if (!tf.fltGrid) {
tf.ValidateAllRows();
this.setPagingInfo(tf.validRowsIndex);
}
this.pagingBtnEvents = evt._Paging;
tf.isPagingRemoved = false;
}
},
addPaging: {
writable: true,
value: function (filterTable) {
var tf = this.tf;
if (!tf.hasGrid || tf.paging) {
return;
}
tf.paging = true;
tf.isPagingRemoved = true;
this.init();
tf.ResetValues();
if (filterTable) {
tf.Filter();
}
}
},
setPagingInfo: {
writable: true,
value: function (validRows) {
var tf = this.tf;
var rows = tf.tbl.rows;
var mdiv = !this.pagingTgtId ? tf.mDiv : Dom.id(this.pagingTgtId);
var pgspan = Dom.id(tf.prfxPgSpan + tf.id);
//stores valid rows indexes
if (validRows && validRows.length > 0) {
tf.validRowsIndex = validRows;
} else {
//re-sets valid rows indexes array
tf.validRowsIndex = [];
//counts rows to be grouped
for (var j = tf.refRow; j < tf.nbRows; j++) {
var row = rows[j];
if (!row) {
continue;
}
var isRowValid = row.getAttribute("validRow");
if (isRowValid === "true" || !isRowValid) {
tf.validRowsIndex.push(j);
}
}
}
//calculate nb of pages
this.nbPages = Math.ceil(tf.validRowsIndex.length / this.pagingLength);
//refresh page nb span
pgspan.innerHTML = this.nbPages;
//select clearing shortcut
if (this.pageSelectorType === tf.fltTypeSlc) {
this.pagingSlc.innerHTML = "";
}
if (this.nbPages > 0) {
mdiv.style.visibility = "visible";
if (this.pageSelectorType === tf.fltTypeSlc) {
for (var z = 0; z < this.nbPages; z++) {
var currOpt = new Option((z + 1), z * this.pagingLength, false, false);
this.pagingSlc.options[z] = currOpt;
}
} else {
//input type
this.pagingSlc.value = this.currentPageNb;
}
} else {
/*** if no results paging select and buttons are hidden ***/
mdiv.style.visibility = "hidden";
}
this.groupByPage(tf.validRowsIndex);
}
},
groupByPage: {
writable: true,
value: function (validRows) {
var tf = this.tf;
var rows = tf.tbl.rows;
var paging_end_row = parseInt(this.startPagingRow, 10) + parseInt(this.pagingLength, 10);
//store valid rows indexes
if (validRows) {
tf.validRowsIndex = validRows;
}
//this loop shows valid rows of current page
for (var h = 0; h < tf.validRowsIndex.length; h++) {
var r = rows[tf.validRowsIndex[h]];
if (h >= this.startPagingRow && h < paging_end_row) {
if (r.getAttribute("validRow") === "true" || !r.getAttribute("validRow")) {
r.style.display = "";
}
if (tf.alternateBgs && tf.Cpt.alternateRows) {
tf.Cpt.alternateRows.setRowBg(tf.validRowsIndex[h], h);
}
} else {
r.style.display = "none";
if (tf.alternateBgs && tf.Cpt.alternateRows) {
tf.Cpt.alternateRows.removeRowBg(tf.validRowsIndex[h]);
}
}
}
tf.nbVisibleRows = tf.validRowsIndex.length;
tf.isStartBgAlternate = false;
//re-applies filter behaviours after filtering process
tf.ApplyGridProps();
}
},
setPage: {
writable: true,
value: function (cmd) {
var tf = this.tf;
if (!tf.hasGrid || !this.paging) {
return;
}
var btnEvt = this.pagingBtnEvents, cmdtype = typeof cmd;
if (cmdtype === "string") {
switch (Str.lower(cmd)) {
case "next":
btnEvt.next();
break;
case "previous":
btnEvt.prev();
break;
case "last":
btnEvt.last();
break;
case "first":
btnEvt.first();
break;
default:
btnEvt.next();
break;
}
}
if (cmdtype === "number") {
this.changePage(cmd - 1);
}
}
},
setResultsPerPage: {
writable: true,
value: function () {
var tf = this.tf;
var evt = tf.Evt;
if (!tf.hasGrid && !tf.isFirstLoad) {
return;
}
if (this.resultsPerPageSlc || !this.resultsPerPage) {
return;
}
//Change nb results per page event
if (!evt._OnSlcResultsChange) {
/*====================================================
- onchange event for results per page select
=====================================================*/
evt._OnSlcResultsChange = function () {
this.changeResultsPerPage();
this.blur();
//ie only: blur is not enough...
if (this.parentNode && Helpers.isIE()) {
this.parentNode.focus();
}
};
}
var slcR = Dom.create(tf.fltTypeSlc, ["id", tf.prfxSlcResults + tf.id]);
slcR.className = tf.resultsSlcCssClass;
var slcRText = this.resultsPerPage[0], slcROpts = this.resultsPerPage[1];
var slcRSpan = Dom.create("span", ["id", tf.prfxSlcResultsTxt + tf.id]);
slcRSpan.className = this.resultsSpanCssClass;
// results per page select is added to external element
if (!this.resultsPerPageTgtId) {
tf.SetTopDiv();
}
var targetEl = !this.resultsPerPageTgtId ? tf.rDiv : Dom.id(this.resultsPerPageTgtId);
slcRSpan.appendChild(Dom.text(slcRText));
targetEl.appendChild(slcRSpan);
targetEl.appendChild(slcR);
this.resultsPerPageSlc = Dom.id(tf.prfxSlcResults + tf.id);
for (var r = 0; r < slcROpts.length; r++) {
var currOpt = new Option(slcROpts[r], slcROpts[r], false, false);
this.resultsPerPageSlc.options[r] = currOpt;
}
slcR.onchange = evt._OnSlcResultsChange;
}
},
removeResultsPerPage: {
writable: true,
value: function () {
var tf = this.tf;
if (!tf.hasGrid || !this.resultsPerPageSlc || !this.resultsPerPage) {
return;
}
var slcR = this.resultsPerPageSlc, slcRSpan = Dom.id(tf.prfxSlcResultsTxt + tf.id);
if (slcR) {
slcR.parentNode.removeChild(slcR);
}
if (slcRSpan) {
slcRSpan.parentNode.removeChild(slcRSpan);
}
this.resultsPerPageSlc = null;
}
},
changePage: {
writable: true,
value: function (index) {
var tf = this.tf;
var evt = tf.Evt;
tf.EvtManager(evt.name.changepage, { pgIndex: index });
}
},
changeResultsPerPage: {
writable: true,
value: function () {
var tf = this.tf;
var evt = tf.Evt;
tf.EvtManager(evt.name.changeresultsperpage);
}
},
resetPage: {
writable: true,
value: function () {
var tf = this.tf;
var evt = tf.Evt;
tf.EvtManager(evt.name.resetpage);
}
},
resetPageLength: {
writable: true,
value: function () {
var tf = this.tf;
var evt = tf.Evt;
tf.EvtManager(evt.name.resetpagelength);
}
},
_changePage: {
writable: true,
value: function (index) {
var tf = this.tf;
if (!tf.paging) {
return;
}
if (index === undefined) {
index = this.pageSelectorType === tf.fltTypeSlc ? this.pagingSlc.options.selectedIndex : (this.pagingSlc.value - 1);
}
if (index >= 0 && index <= (this.nbPages - 1)) {
if (this.onBeforeChangePage) {
this.onBeforeChangePage.call(null, this, index);
}
this.currentPageNb = parseInt(index, 10) + 1;
if (this.pageSelectorType === tf.fltTypeSlc) {
this.pagingSlc.options[index].selected = true;
} else {
this.pagingSlc.value = this.currentPageNb;
}
if (tf.rememberPageNb) {
tf.Cpt.store.savePageNb(this.pgNbCookie);
}
this.startPagingRow = (this.pageSelectorType === tf.fltTypeSlc) ? this.pagingSlc.value : (index * this.pagingLength);
this.groupByPage();
if (this.onAfterChangePage) {
this.onAfterChangePage.call(null, this, index);
}
}
}
},
_changeResultsPerPage: {
writable: true,
value: function () {
var tf = this.tf;
if (!tf.paging) {
return;
}
var slcR = this.resultsPerPageSlc;
var slcPagesSelIndex = (this.pageSelectorType === tf.fltTypeSlc) ? this.pagingSlc.selectedIndex : parseInt(this.pagingSlc.value - 1, 10);
this.pagingLength = parseInt(slcR.options[slcR.selectedIndex].value, 10);
this.startPagingRow = this.pagingLength * slcPagesSelIndex;
if (!isNaN(this.pagingLength)) {
if (this.startPagingRow >= tf.nbFilterableRows) {
this.startPagingRow = (tf.nbFilterableRows - this.pagingLength);
}
this.setPagingInfo();
if (this.pageSelectorType === tf.fltTypeSlc) {
var slcIndex = (this.pagingSlc.options.length - 1 <= slcPagesSelIndex) ? (this.pagingSlc.options.length - 1) : slcPagesSelIndex;
this.pagingSlc.options[slcIndex].selected = true;
}
if (tf.rememberPageLen) {
tf.Cpt.store.savePageLength(tf.pgLenCookie);
}
}
}
},
_resetPage: {
writable: true,
value: function (name) {
var tf = this.tf;
var pgnb = tf.Cpt.store.getPageNb(name);
if (pgnb !== "") {
this.changePage((pgnb - 1));
}
}
},
_resetPageLength: {
writable: true,
value: function (name) {
var tf = this.tf;
if (!tf.paging) {
return;
}
var pglenIndex = tf.Cpt.store.getPageLength(name);
if (pglenIndex !== "") {
this.resultsPerPageSlc.options[pglenIndex].selected = true;
this.changeResultsPerPage();
}
}
},
destroy: {
writable: true,
value: function () {
var tf = this.tf;
if (!tf.hasGrid || this.pagingSlc) {
return;
}
// btns containers
var btnNextSpan, btnPrevSpan, btnLastSpan, btnFirstSpan;
var pgBeforeSpan, pgAfterSpan, pgspan;
btnNextSpan = Dom.id(tf.prfxBtnNextSpan + tf.id);
btnPrevSpan = Dom.id(tf.prfxBtnPrevSpan + tf.id);
btnLastSpan = Dom.id(tf.prfxBtnLastSpan + tf.id);
btnFirstSpan = Dom.id(tf.prfxBtnFirstSpan + tf.id);
//span containing 'Page' text
pgBeforeSpan = Dom.id(tf.prfxPgBeforeSpan + tf.id);
//span containing 'of' text
pgAfterSpan = Dom.id(tf.prfxPgAfterSpan + tf.id);
//span containing nb of pages
pgspan = Dom.id(tf.prfxPgSpan + tf.id);
this.pagingSlc.parentNode.removeChild(this.pagingSlc);
if (btnNextSpan) {
btnNextSpan.parentNode.removeChild(btnNextSpan);
}
if (btnPrevSpan) {
btnPrevSpan.parentNode.removeChild(btnPrevSpan);
}
if (btnLastSpan) {
btnLastSpan.parentNode.removeChild(btnLastSpan);
}
if (btnFirstSpan) {
btnFirstSpan.parentNode.removeChild(btnFirstSpan);
}
if (pgBeforeSpan) {
pgBeforeSpan.parentNode.removeChild(pgBeforeSpan);
}
if (pgAfterSpan) {
pgAfterSpan.parentNode.removeChild(pgAfterSpan);
}
if (pgspan) {
pgspan.parentNode.removeChild(pgspan);
}
this.pagingBtnEvents = null;
this.pagingSlc = null;
tf.isPagingRemoved = true;
}
}
};
});
return Paging;
})();

File diff suppressed because one or more lines are too long

View file

@ -1,17 +1,16 @@
define(["exports", "../dom", "../types", "../helpers"], function (exports, _dom, _types, _helpers) {
"use strict";
var _classProps = function (child, staticProps, instanceProps) {
if (staticProps) Object.defineProperties(child, staticProps);
if (instanceProps) Object.defineProperties(child.prototype, instanceProps);
};
var Dom = _dom.Dom;
var Types = _types.Types;
var Helpers = _helpers.Helpers;
var RowsCounter = (function () {
var RowsCounter =
/**
* Rows counter
* @param {Object} tf TableFilter instance
*/
function RowsCounter(tf) {
var RowsCounter = function RowsCounter(tf) {
// TableFilter configuration
var f = tf.fObj;
@ -35,99 +34,108 @@ define(["exports", "../dom", "../types", "../helpers"], function (exports, _dom,
this.tf = tf;
};
RowsCounter.prototype.init = function () {
var tf = this.tf;
_classProps(RowsCounter, null, {
init: {
writable: true,
value: function () {
var tf = this.tf;
if ((!tf.hasGrid && !tf.isFirstLoad) || this.rowsCounterSpan) {
return;
}
if ((!tf.hasGrid && !tf.isFirstLoad) || this.rowsCounterSpan) {
return;
}
//rows counter container
var countDiv = Dom.create("div", ["id", tf.prfxCounter + tf.id]);
countDiv.className = this.totRowsCssClass;
//rows counter label
var countSpan = Dom.create("span", ["id", tf.prfxTotRows + tf.id]);
var countText = Dom.create("span", ["id", tf.prfxTotRowsTxt + tf.id]);
countText.appendChild(Dom.text(this.rowsCounterText));
//rows counter container
var countDiv = Dom.create("div", ["id", tf.prfxCounter + tf.id]);
countDiv.className = this.totRowsCssClass;
//rows counter label
var countSpan = Dom.create("span", ["id", tf.prfxTotRows + tf.id]);
var countText = Dom.create("span", ["id", tf.prfxTotRowsTxt + tf.id]);
countText.appendChild(Dom.text(this.rowsCounterText));
// counter is added to defined element
if (!this.rowsCounterTgtId) {
tf.SetTopDiv();
}
var targetEl = !this.rowsCounterTgtId ? tf.lDiv : Dom.id(this.rowsCounterTgtId);
// counter is added to defined element
if (!this.rowsCounterTgtId) {
tf.SetTopDiv();
}
var targetEl = !this.rowsCounterTgtId ? tf.lDiv : Dom.id(this.rowsCounterTgtId);
//IE only: clears all for sure
if (this.rowsCounterDiv && Helpers.isIE()) {
this.rowsCounterDiv.outerHTML = "";
}
//default container: 'lDiv'
if (!this.rowsCounterTgtId) {
countDiv.appendChild(countText);
countDiv.appendChild(countSpan);
targetEl.appendChild(countDiv);
} else {
//custom container, no need to append statusDiv
targetEl.appendChild(countText);
targetEl.appendChild(countSpan);
}
this.rowsCounterDiv = countDiv;
this.rowsCounterSpan = countSpan;
//IE only: clears all for sure
if (this.rowsCounterDiv && Helpers.isIE()) {
this.rowsCounterDiv.outerHTML = "";
}
//default container: 'lDiv'
if (!this.rowsCounterTgtId) {
countDiv.appendChild(countText);
countDiv.appendChild(countSpan);
targetEl.appendChild(countDiv);
} else {
//custom container, no need to append statusDiv
targetEl.appendChild(countText);
targetEl.appendChild(countSpan);
}
this.rowsCounterDiv = countDiv;
this.rowsCounterSpan = countSpan;
this.refresh();
};
RowsCounter.prototype.refresh = function (p) {
if (!this.rowsCounterSpan) {
return;
}
var tf = this.tf;
if (this.onBeforeRefreshCounter) {
this.onBeforeRefreshCounter.call(null, tf, this.rowsCounterSpan);
}
var totTxt;
if (!tf.paging) {
if (p && p !== "") {
totTxt = p;
} else {
totTxt = tf.nbFilterableRows - tf.nbHiddenRows - (tf.hasVisibleRows ? tf.visibleRows.length : 0);
this.refresh();
}
} else {
//paging start row
var paging_start_row = parseInt(tf.startPagingRow, 10) + ((tf.nbVisibleRows > 0) ? 1 : 0);
var paging_end_row = (paging_start_row + tf.pagingLength) - 1 <= tf.nbVisibleRows ? paging_start_row + tf.pagingLength - 1 : tf.nbVisibleRows;
totTxt = paging_start_row + this.fromToTextSeparator + paging_end_row + this.overText + tf.nbVisibleRows;
}
this.rowsCounterSpan.innerHTML = totTxt;
if (this.onAfterRefreshCounter) {
this.onAfterRefreshCounter.call(null, tf, this.rowsCounterSpan, totTxt);
}
};
},
refresh: {
writable: true,
value: function (p) {
if (!this.rowsCounterSpan) {
return;
}
RowsCounter.prototype.destroy = function () {
var tf = this.tf;
if (!tf.hasGrid) {
return;
}
if (!this.rowsCounterSpan) {
return;
}
var tf = this.tf;
if (!this.rowsCounterTgtId && this.rowsCounterDiv) {
//IE only: clears all for sure
if (Helpers.isIE()) {
this.rowsCounterDiv.outerHTML = "";
} else {
this.rowsCounterDiv.parentNode.removeChild(this.rowsCounterDiv);
if (this.onBeforeRefreshCounter) {
this.onBeforeRefreshCounter.call(null, tf, this.rowsCounterSpan);
}
var totTxt;
if (!tf.paging) {
if (p && p !== "") {
totTxt = p;
} else {
totTxt = tf.nbFilterableRows - tf.nbHiddenRows - (tf.hasVisibleRows ? tf.visibleRows.length : 0);
}
} else {
//paging start row
var paging_start_row = parseInt(tf.startPagingRow, 10) + ((tf.nbVisibleRows > 0) ? 1 : 0);
var paging_end_row = (paging_start_row + tf.pagingLength) - 1 <= tf.nbVisibleRows ? paging_start_row + tf.pagingLength - 1 : tf.nbVisibleRows;
totTxt = paging_start_row + this.fromToTextSeparator + paging_end_row + this.overText + tf.nbVisibleRows;
}
this.rowsCounterSpan.innerHTML = totTxt;
if (this.onAfterRefreshCounter) {
this.onAfterRefreshCounter.call(null, tf, this.rowsCounterSpan, totTxt);
}
}
},
destroy: {
writable: true,
value: function () {
var tf = this.tf;
if (!tf.hasGrid) {
return;
}
if (!this.rowsCounterSpan) {
return;
}
if (!this.rowsCounterTgtId && this.rowsCounterDiv) {
//IE only: clears all for sure
if (Helpers.isIE()) {
this.rowsCounterDiv.outerHTML = "";
} else {
this.rowsCounterDiv.parentNode.removeChild(this.rowsCounterDiv);
}
} else {
Dom.id(this.rowsCounterTgtId).innerHTML = "";
}
this.rowsCounterSpan = null;
this.rowsCounterDiv = null;
}
} else {
Dom.id(this.rowsCounterTgtId).innerHTML = "";
}
this.rowsCounterSpan = null;
this.rowsCounterDiv = null;
};
});
return RowsCounter;
})();

File diff suppressed because one or more lines are too long

View file

@ -1,15 +1,14 @@
define(["exports", "../cookie"], function (exports, _cookie) {
"use strict";
var _classProps = function (child, staticProps, instanceProps) {
if (staticProps) Object.defineProperties(child, staticProps);
if (instanceProps) Object.defineProperties(child.prototype, instanceProps);
};
var Cookie = _cookie.Cookie;
var Store = (function () {
var Store =
/**
* Store, persistence manager
* @param {Object} tf TableFilter instance
*/
function Store(tf) {
var Store = function Store(tf) {
var f = tf.fObj;
this.duration = !isNaN(f.set_cookie_duration) ? parseInt(f.set_cookie_duration, 10) : 100000;
@ -17,46 +16,61 @@ define(["exports", "../cookie"], function (exports, _cookie) {
this.tf = tf;
};
Store.prototype.saveFilterValues = function (name) {
var tf = this.tf;
var fltValues = [];
//store filters' values
for (var i = 0; i < tf.fltIds.length; i++) {
var value = tf.GetFilterValue(i);
if (value === "") {
value = " ";
_classProps(Store, null, {
saveFilterValues: {
writable: true,
value: function (name) {
var tf = this.tf;
var fltValues = [];
//store filters' values
for (var i = 0; i < tf.fltIds.length; i++) {
var value = tf.GetFilterValue(i);
if (value === "") {
value = " ";
}
fltValues.push(value);
}
//adds array size
fltValues.push(tf.fltIds.length);
//writes cookie
Cookie.write(name, fltValues.join(tf.separator), this.duration);
}
},
getFilterValues: {
writable: true,
value: function (name) {
var flts = Cookie.read(name);
var rgx = new RegExp(this.tf.separator, "g");
// filters' values array
return flts.split(rgx);
}
},
savePageNb: {
writable: true,
value: function (name) {
Cookie.write(name, this.tf.currentPageNb, this.duration);
}
},
getPageNb: {
writable: true,
value: function (name) {
return Cookie.read(name);
}
},
savePageLength: {
writable: true,
value: function (name) {
Cookie.write(name, this.tf.resultsPerPageSlc.selectedIndex, this.duration);
}
},
getPageLength: {
writable: true,
value: function (name) {
return Cookie.read(name);
}
fltValues.push(value);
}
//adds array size
fltValues.push(tf.fltIds.length);
//writes cookie
Cookie.write(name, fltValues.join(tf.separator), this.duration);
};
Store.prototype.getFilterValues = function (name) {
var flts = Cookie.read(name);
var rgx = new RegExp(this.tf.separator, "g");
// filters' values array
return flts.split(rgx);
};
Store.prototype.savePageNb = function (name) {
Cookie.write(name, this.tf.currentPageNb, this.duration);
};
Store.prototype.getPageNb = function (name) {
return Cookie.read(name);
};
Store.prototype.savePageLength = function (name) {
Cookie.write(name, this.tf.resultsPerPageSlc.selectedIndex, this.duration);
};
Store.prototype.getPageLength = function (name) {
return Cookie.read(name);
};
});
return Store;
})();

View file

@ -1 +1 @@
{"version":3,"sources":["src-es6/modules/store.js"],"names":[],"mappings":";;;MAAQ,MAAM,WAAN,MAAM;MAED,KAAK;QAAL,KAAK;;;;;;AAMH,aANF,KAAK,CAMF,EAAE,EAAE;AACZ,UAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;;AAEhB,UAAI,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,GACzC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC;;AAEjD,UAAI,CAAC,EAAE,GAAG,EAAE,CAAC;KAChB;;AAbQ,SAAK,WAmBd,gBAAgB,GAAA,UAAC,IAAI,EAAC;AAClB,UAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;AACjB,UAAI,SAAS,GAAG,EAAE,CAAC;;AAEnB,WAAI,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AACjC,YAAI,KAAK,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACjC,YAAI,KAAK,KAAK,EAAE,EAAC;AACb,eAAK,GAAG,GAAG,CAAC;SACf;AACD,iBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;OACzB;;AAED,eAAS,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;;;AAGjC,YAAM,CAAC,KAAK,CACR,IAAI,EACJ,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,EAC5B,IAAI,CAAC,QAAQ,CAChB,CAAC;KACL;;AAvCQ,SAAK,WA8Cd,eAAe,GAAA,UAAC,IAAI,EAAC;AACjB,UAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,UAAI,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;;AAE7C,aAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KAC1B;;AAnDQ,SAAK,WAyDd,UAAU,GAAA,UAAC,IAAI,EAAC;AACZ,YAAM,CAAC,KAAK,CACR,IAAI,EACJ,IAAI,CAAC,EAAE,CAAC,aAAa,EACrB,IAAI,CAAC,QAAQ,CAChB,CAAC;KACL;;AA/DQ,SAAK,WAsEd,SAAS,GAAA,UAAC,IAAI,EAAC;AACX,aAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC5B;;AAxEQ,SAAK,WA8Ed,cAAc,GAAA,UAAC,IAAI,EAAC;AAChB,YAAM,CAAC,KAAK,CACR,IAAI,EACJ,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,aAAa,EACvC,IAAI,CAAC,QAAQ,CAChB,CAAC;KACL;;AApFQ,SAAK,WA2Fd,aAAa,GAAA,UAAC,IAAI,EAAC;AACf,aAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC5B;;WA7FQ,KAAK;;;UAAL,KAAK,GAAL,KAAK","file":"src-es6/modules/store.js","sourcesContent":["import {Cookie} from '../cookie';\n\nexport class Store{\n\n /**\n * Store, persistence manager\n * @param {Object} tf TableFilter instance\n */\n constructor(tf) {\n var f = tf.fObj;\n\n this.duration = !isNaN(f.set_cookie_duration) ?\n parseInt(f.set_cookie_duration, 10) : 100000;\n\n this.tf = tf;\n }\n\n /**\n * Store filters' values in cookie\n * @param {String} cookie name\n */\n saveFilterValues(name){\n var tf = this.tf;\n var fltValues = [];\n //store filters' values\n for(var i=0; i<tf.fltIds.length; i++){\n var value = tf.GetFilterValue(i);\n if (value === ''){\n value = ' ';\n }\n fltValues.push(value);\n }\n //adds array size\n fltValues.push(tf.fltIds.length);\n\n //writes cookie\n Cookie.write(\n name,\n fltValues.join(tf.separator),\n this.duration\n );\n }\n\n /**\n * Retrieve filters' values from cookie\n * @param {String} cookie name\n * @return {Array}\n */\n getFilterValues(name){\n var flts = Cookie.read(name);\n var rgx = new RegExp(this.tf.separator, 'g');\n // filters' values array\n return flts.split(rgx);\n }\n\n /**\n * Store page number in cookie\n * @param {String} cookie name\n */\n savePageNb(name){\n Cookie.write(\n name,\n this.tf.currentPageNb,\n this.duration\n );\n }\n\n /**\n * Retrieve page number from cookie\n * @param {String} cookie name\n * @return {String}\n */\n getPageNb(name){\n return Cookie.read(name);\n }\n\n /**\n * Store page length in cookie\n * @param {String} cookie name\n */\n savePageLength(name){\n Cookie.write(\n name,\n this.tf.resultsPerPageSlc.selectedIndex,\n this.duration\n );\n }\n\n /**\n * Retrieve page length from cookie\n * @param {String} cookie name\n * @return {String}\n */\n getPageLength(name){\n return Cookie.read(name);\n }\n\n}\n"]}
{"version":3,"sources":["src-es6/modules/store.js"],"names":[],"mappings":";;;;;;;;MAAQ,MAAM,WAAN,MAAM;MAED,KAAK;QAAL,KAAK,GAMH,SANF,KAAK,CAMF,EAAE,EAAE;AACZ,UAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;;AAEhB,UAAI,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,GACzC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC;;AAEjD,UAAI,CAAC,EAAE,GAAG,EAAE,CAAC;KAChB;;gBAbQ,KAAK;AAmBd,sBAAgB;;eAAA,UAAC,IAAI,EAAC;AAClB,cAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;AACjB,cAAI,SAAS,GAAG,EAAE,CAAC;;AAEnB,eAAI,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AACjC;AACA,8BAAiB;AACb,mBAAK,GAAG,GAAG,CAAC;;AAEhB;WACH;;AAED,mBAAS,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;;;AAGjC,gBAAM,CAAC,KAAK,CACR,IAAI,EACJ,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,EAC5B,IAAI,CAAC,QAAQ,CAChB,CAAC;SACL;;AAOD,qBAAe;;eAAA,UAAC,IAAI,EAAC;AACjB,cAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,cAAI,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;;AAE7C,iBAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC1B;;AAMD,gBAAU;;eAAA,UAAC,IAAI,EAAC;AACZ,gBAAM,CAAC,KAAK,CACR,IAAI,EACJ,IAAI,CAAC,EAAE,CAAC,aAAa,EACrB,IAAI,CAAC,QAAQ,CAChB,CAAC;SACL;;AAOD,eAAS;;eAAA,UAAC,IAAI,EAAC;AACX,iBAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5B;;AAMD,oBAAc;;eAAA,UAAC,IAAI,EAAC;AAChB,gBAAM,CAAC,KAAK,CACR,IAAI,EACJ,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,aAAa,EACvC,IAAI,CAAC,QAAQ,CAChB,CAAC;SACL;;AAOD,mBAAa;;eAAA,UAAC,IAAI,EAAC;AACf,iBAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5B;;;;WA7FQ,KAAK;;;UAAL,KAAK,GAAL,KAAK","file":"src-es6/modules/store.js","sourcesContent":["import {Cookie} from '../cookie';\r\n\r\nexport class Store{\r\n\r\n /**\r\n * Store, persistence manager\r\n * @param {Object} tf TableFilter instance\r\n */\r\n constructor(tf) {\r\n var f = tf.fObj;\r\n\r\n this.duration = !isNaN(f.set_cookie_duration) ?\r\n parseInt(f.set_cookie_duration, 10) : 100000;\r\n\r\n this.tf = tf;\r\n }\r\n\r\n /**\r\n * Store filters' values in cookie\r\n * @param {String} cookie name\r\n */\r\n saveFilterValues(name){\r\n var tf = this.tf;\r\n var fltValues = [];\r\n //store filters' values\r\n for(var i=0; i<tf.fltIds.length; i++){\r\n var value = tf.GetFilterValue(i);\r\n if (value === ''){\r\n value = ' ';\r\n }\r\n fltValues.push(value);\r\n }\r\n //adds array size\r\n fltValues.push(tf.fltIds.length);\r\n\r\n //writes cookie\r\n Cookie.write(\r\n name,\r\n fltValues.join(tf.separator),\r\n this.duration\r\n );\r\n }\r\n\r\n /**\r\n * Retrieve filters' values from cookie\r\n * @param {String} cookie name\r\n * @return {Array}\r\n */\r\n getFilterValues(name){\r\n var flts = Cookie.read(name);\r\n var rgx = new RegExp(this.tf.separator, 'g');\r\n // filters' values array\r\n return flts.split(rgx);\r\n }\r\n\r\n /**\r\n * Store page number in cookie\r\n * @param {String} cookie name\r\n */\r\n savePageNb(name){\r\n Cookie.write(\r\n name,\r\n this.tf.currentPageNb,\r\n this.duration\r\n );\r\n }\r\n\r\n /**\r\n * Retrieve page number from cookie\r\n * @param {String} cookie name\r\n * @return {String}\r\n */\r\n getPageNb(name){\r\n return Cookie.read(name);\r\n }\r\n\r\n /**\r\n * Store page length in cookie\r\n * @param {String} cookie name\r\n */\r\n savePageLength(name){\r\n Cookie.write(\r\n name,\r\n this.tf.resultsPerPageSlc.selectedIndex,\r\n this.duration\r\n );\r\n }\r\n\r\n /**\r\n * Retrieve page length from cookie\r\n * @param {String} cookie name\r\n * @return {String}\r\n */\r\n getPageLength(name){\r\n return Cookie.read(name);\r\n }\r\n\r\n}\r\n"]}

10
src/start.frag Normal file
View file

@ -0,0 +1,10 @@
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
define(factory);
} else if (typeof exports === 'object') {
module.exports = factory;
} else {
root.TableFilter = factory();
}
})(this, function() {

View file

@ -1 +1 @@
{"version":3,"sources":["src-es6/string.js"],"names":[],"mappings":";;;;;;;AAIA,MAAI,GAAG,GAAG,EAAE,CAAC;;AAEb,KAAG,CAAC,KAAK,GAAG,UAAS,IAAI,EAAC;AACtB,WAAO,IAAI,CAAC,WAAW,EAAE,CAAC;GAC7B,CAAC;;AAEF,KAAG,CAAC,KAAK,GAAG,UAAS,IAAI,EAAC;AACtB,WAAO,IAAI,CAAC,WAAW,EAAE,CAAC;GAC7B,CAAC;;AAEF,KAAG,CAAC,IAAI,GAAG,UAAS,IAAI,EAAC;AACrB,QAAI,IAAI,CAAC,IAAI,EAAC;AACV,aAAO,IAAI,CAAC,IAAI,EAAE,CAAC;KACtB;AACD,WAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;GACzC,CAAC;;AAEF,KAAG,CAAC,OAAO,GAAG,UAAS,IAAI,EAAC;AACxB,WAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;GACjC,CAAC;;AAEF,KAAG,CAAC,MAAM,GAAG,UAAS,IAAI,EAAC;AACvB,aAAS,MAAM,CAAC,CAAC,EAAC;AACd,UAAI,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,GAAC,CAAC,EAAC,GAAG,CAAC,CAAC;AAC/B,UAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,EAAC,IAAI,GAAC,CAAC,CAAC,CAAC;KACjC;;AAED,QAAI,KAAK,GAAG,CAAC,IAAI,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,CAAC,CAAC;AAC3D,SAAI,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AAC7B,YAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KACpB;AACD,WAAO,IAAI,CAAC;GACf,CAAC;;AAEF,KAAG,CAAC,SAAS,GAAG,UAAS,IAAI,EAAE,EAAE,EAAC;AAC9B,QAAG,CAAC,EAAE,EAAC;AACH,aAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAC3B;AACD,WAAO,IAAI,CAAC;GACf,CAAC;;AAEF,SAAO,CAAC,GAAG,GAAG,GAAG,CAAC","file":"src-es6/string.js","sourcesContent":["/**\n * String utilities\n */\n\nvar Str = {};\n\nStr.lower = function(text){\n return text.toLowerCase();\n};\n\nStr.upper = function(text){\n return text.toUpperCase();\n};\n\nStr.trim = function(text){\n if (text.trim){\n return text.trim();\n }\n return text.replace(/^\\s*|\\s*$/g, '');\n};\n\nStr.isEmpty = function(text){\n return this.trim(text) === '';\n};\n\nStr.rgxEsc = function(text){\n function escape(e){\n var a = new RegExp('\\\\'+e,'g');\n text = text.replace(a,'\\\\'+e);\n }\n\n var chars = ['\\\\','[','^','$','.','|','?','*','+','(',')'];\n for(var e=0; e<chars.length; e++){\n escape(chars[e]);\n }\n return text;\n};\n\nStr.matchCase = function(text, mc){\n if(!mc){\n return this.lower(text);\n }\n return text;\n};\n\nexports.Str = Str;\n"]}
{"version":3,"sources":["src-es6/string.js"],"names":[],"mappings":";;;;;;;AAIA,MAAI,GAAG,GAAG,EAAE,CAAC;;AAEb,KAAG,CAAC,KAAK,GAAG,UAAS,IAAI,EAAC;AACtB,WAAO,IAAI,CAAC,WAAW,EAAE,CAAC;GAC7B,CAAC;;AAEF,KAAG,CAAC,KAAK,GAAG,UAAS,IAAI,EAAC;AACtB,WAAO,IAAI,CAAC,WAAW,EAAE,CAAC;GAC7B,CAAC;;AAEF,KAAG,CAAC,IAAI,GAAG,UAAS,IAAI,EAAC;AACrB,QAAI,IAAI,CAAC,IAAI,EAAC;AACV,aAAO,IAAI,CAAC,IAAI,EAAE,CAAC;KACtB;AACD,WAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;GACzC,CAAC;;AAEF,KAAG,CAAC,OAAO,GAAG,UAAS,IAAI,EAAC;AACxB,WAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;GACjC,CAAC;;AAEF,KAAG,CAAC,MAAM,GAAG,UAAS,IAAI,EAAC;AACvB,aAAS,MAAM,CAAC,CAAC,EAAC;AACd,UAAI,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,GAAC,CAAC,EAAC,GAAG,CAAC,CAAC;AAC/B,UAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,EAAC,IAAI,GAAC,CAAC,CAAC,CAAC;KACjC;;AAED,QAAI,KAAK,GAAG,CAAC,IAAI,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,CAAC,CAAC;AAC3D,SAAI,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AAC7B,YAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KACpB;AACD,WAAO,IAAI,CAAC;GACf,CAAC;;AAEF,KAAG,CAAC,SAAS,GAAG,UAAS,IAAI,EAAE,EAAE,EAAC;AAC9B,QAAG,CAAC,EAAE,EAAC;AACH,aAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAC3B;AACD,WAAO,IAAI,CAAC;GACf,CAAC;;AAEF,SAAO,CAAC,GAAG,GAAG,GAAG,CAAC","file":"src-es6/string.js","sourcesContent":["/**\r\n * String utilities\r\n */\r\n\r\nvar Str = {};\r\n\r\nStr.lower = function(text){\r\n return text.toLowerCase();\r\n};\r\n\r\nStr.upper = function(text){\r\n return text.toUpperCase();\r\n};\r\n\r\nStr.trim = function(text){\r\n if (text.trim){\r\n return text.trim();\r\n }\r\n return text.replace(/^\\s*|\\s*$/g, '');\r\n};\r\n\r\nStr.isEmpty = function(text){\r\n return this.trim(text) === '';\r\n};\r\n\r\nStr.rgxEsc = function(text){\r\n function escape(e){\r\n var a = new RegExp('\\\\'+e,'g');\r\n text = text.replace(a,'\\\\'+e);\r\n }\r\n\r\n var chars = ['\\\\','[','^','$','.','|','?','*','+','(',')'];\r\n for(var e=0; e<chars.length; e++){\r\n escape(chars[e]);\r\n }\r\n return text;\r\n};\r\n\r\nStr.matchCase = function(text, mc){\r\n if(!mc){\r\n return this.lower(text);\r\n }\r\n return text;\r\n};\r\n\r\nexports.Str = Str;\r\n"]}

View file

@ -1 +1 @@
{"version":3,"sources":["src-es6/types.js"],"names":[],"mappings":";;;;;;;AAIA,MAAI,KAAK,GAAG,EAAE,CAAC;;AAEf,MAAI,SAAS,GAAG,KAAK,CAAC,CAAC;;;;;;;AAOvB,OAAK,CAAC,KAAK,GAAG,UAAS,CAAC,EAAC;AACrB,QAAI,GAAG,GAAG,KAAK,CAAC;AAChB,QAAG,OAAO,CAAC,KAAK,QAAQ,EAAC;AACrB,UAAG,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAC;AAC1C,WAAG,GAAG,IAAI,CAAC;OACd;KACJ,MAAM;AACH,UAAG,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAC;AAC1B,WAAG,GAAG,IAAI,CAAC;OACd;KACJ;AACD,WAAO,GAAG,CAAC;GACd,CAAC;;;;;;;AAOF,OAAK,CAAC,IAAI,GAAG,UAAS,EAAE,EAAC;AACrB,WAAO,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,IAAI,QAAQ,CAAC,CAAC;GAC7C,CAAC;;;;;;;AAOF,OAAK,CAAC,OAAO,GAAG,UAAS,GAAG,EAAC;AACzB,WAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC;GAC5C,CAAC;;;;;;;AAOF,OAAK,CAAC,OAAO,GAAG,UAAS,CAAC,EAAC;AACvB,WAAQ,CAAC,KAAK,SAAS,CAAC;GAC3B,CAAC;;AAEF,SAAO,CAAC,KAAK,GAAG,KAAK,CAAC","file":"src-es6/types.js","sourcesContent":["/**\n * Types utilities\n */\n\nvar Types = {};\n\nvar UNDEFINED = void 0;\n\n/**\n * Checks if var exists and is an object\n * @param {String or Object} v\n * @return {Boolean}\n */\nTypes.isObj = function(v){\n var isO = false;\n if(typeof v === 'string'){\n if(window[v] && typeof window[v] === 'object'){\n isO = true;\n }\n } else {\n if(v && typeof v === 'object'){\n isO = true;\n }\n }\n return isO;\n};\n\n/**\n * Checks if passed parameter is a function\n * @param {Function} fn\n * @return {Boolean}\n */\nTypes.isFn = function(fn){\n return (fn && fn.constructor == Function);\n};\n\n/**\n * Checks if passed param is an array\n * @param {Array} obj\n * @return {Boolean}\n */\nTypes.isArray = function(obj){\n return (obj && obj.constructor == Array);\n};\n\n/**\n * Determines if passed param is undefined\n * @param {Any} o\n * @return {Boolean}\n */\nTypes.isUndef = function(o){\n return o === UNDEFINED;\n};\n\nexports.Types = Types;\n"]}
{"version":3,"sources":["src-es6/types.js"],"names":[],"mappings":";;;;;;;AAIA,MAAI,KAAK,GAAG,EAAE,CAAC;;AAEf,MAAI,SAAS,GAAG,KAAK,CAAC,CAAC;;;;;;;AAOvB,OAAK,CAAC,KAAK,GAAG,UAAS,CAAC,EAAC;AACrB,QAAI,GAAG,GAAG,KAAK,CAAC;AAChB,QAAG,OAAO,CAAC,KAAK,QAAQ,EAAC;AACrB,UAAG,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAC;AAC1C,WAAG,GAAG,IAAI,CAAC;OACd;KACJ,MAAM;AACH,UAAG,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAC;AAC1B,WAAG,GAAG,IAAI,CAAC;OACd;KACJ;AACD,WAAO,GAAG,CAAC;GACd,CAAC;;;;;;;AAOF,OAAK,CAAC,IAAI,GAAG,UAAS,EAAE,EAAC;AACrB,WAAO,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,IAAI,QAAQ,CAAC,CAAC;GAC7C,CAAC;;;;;;;AAOF,OAAK,CAAC,OAAO,GAAG,UAAS,GAAG,EAAC;AACzB,WAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC;GAC5C,CAAC;;;;;;;AAOF,OAAK,CAAC,OAAO,GAAG,UAAS,CAAC,EAAC;AACvB,WAAQ,CAAC,KAAK,SAAS,CAAC;GAC3B,CAAC;;AAEF,SAAO,CAAC,KAAK,GAAG,KAAK,CAAC","file":"src-es6/types.js","sourcesContent":["/**\r\n * Types utilities\r\n */\r\n\r\nvar Types = {};\r\n\r\nvar UNDEFINED = void 0;\r\n\r\n/**\r\n * Checks if var exists and is an object\r\n * @param {String or Object} v\r\n * @return {Boolean}\r\n */\r\nTypes.isObj = function(v){\r\n var isO = false;\r\n if(typeof v === 'string'){\r\n if(window[v] && typeof window[v] === 'object'){\r\n isO = true;\r\n }\r\n } else {\r\n if(v && typeof v === 'object'){\r\n isO = true;\r\n }\r\n }\r\n return isO;\r\n};\r\n\r\n/**\r\n * Checks if passed parameter is a function\r\n * @param {Function} fn\r\n * @return {Boolean}\r\n */\r\nTypes.isFn = function(fn){\r\n return (fn && fn.constructor == Function);\r\n};\r\n\r\n/**\r\n * Checks if passed param is an array\r\n * @param {Array} obj\r\n * @return {Boolean}\r\n */\r\nTypes.isArray = function(obj){\r\n return (obj && obj.constructor == Array);\r\n};\r\n\r\n/**\r\n * Determines if passed param is undefined\r\n * @param {Any} o\r\n * @return {Boolean}\r\n */\r\nTypes.isUndef = function(o){\r\n return o === UNDEFINED;\r\n};\r\n\r\nexports.Types = Types;\r\n"]}