diff --git a/src/tablefilter_all.js b/src/tablefilter_all.js
index 34b5da5a..c7de9078 100644
--- a/src/tablefilter_all.js
+++ b/src/tablefilter_all.js
@@ -1372,7 +1372,9 @@ TF.prototype = {
},
ImportModule: function(module){
- if(!module.path || !module.name) return;
+ if(!module.path || !module.name){
+ return;
+ }
this.IncludeFile(module.name, module.path, module.init);
},
@@ -1382,11 +1384,10 @@ TF.prototype = {
var o = this;
this.Ext = {
list: {},
- add: function(extName, extDesc, extPath, extCallBack)
- {
- var file = extPath.split('/')[extPath.split('/').length-1];
- var re = new RegExp(file);
- var path = extPath.replace(re,'');
+ add: function(extName, extDesc, extPath, extCallBack){
+ var file = extPath.split('/')[extPath.split('/').length-1],
+ re = new RegExp(file),
+ path = extPath.replace(re,'');
o.Ext.list[extName] = {
name: extName,
description: extDesc,
@@ -1400,49 +1401,53 @@ TF.prototype = {
this.EvtManager(this.Evt.name.loadextensions);
},
- _LoadExtensions : function()
/*====================================================
- loads TF extensions
=====================================================*/
- {
- if(!this.hasExtensions) return;
- if(tf_IsArray(this.extensions.name) && tf_IsArray(this.extensions.src)){
- var ext = this.extensions;
- for(var e=0; e';
+ this.btnResetHtml = '';
//Paging buttons
- this.btnPrevPageHtml = '';
- this.btnNextPageHtml = '';
- this.btnFirstPageHtml = '';
- this.btnLastPageHtml = '';
+ this.btnPrevPageHtml = '';
+ this.btnNextPageHtml = '';
+ this.btnFirstPageHtml = '';
+ this.btnLastPageHtml = '';
//Loader
this.loader = true;
@@ -1496,57 +1513,89 @@ TF.prototype = {
this.loaderText = null;
},
- RemoveGrid: function()
/*====================================================
- removes a filter grid
=====================================================*/
- {
- if(this.fltGrid && this.hasGrid)
- {
+ RemoveGrid: function(){
+ if(this.fltGrid && this.hasGrid){
var rows = this.tbl.rows;
- if(this.paging) this.RemovePaging();
- if(this.statusBar) this.RemoveStatusBar();
- if(this.rowsCounter) this.RemoveRowsCounter();
- if(this.btnReset) this.RemoveResetBtn();
- if(this.helpInstructions || this.helpInstructions==null) this.RemoveHelpInstructions();
- if(this.paging) this.RemoveResultsPerPage();
- if(this.isExternalFlt && !this.popUpFilters) this.RemoveExternalFlts();
- if(this.fixedHeaders) this.RemoveFixedHeaders();
- if(this.infDiv) this.RemoveTopDiv();
- if(this.highlightKeywords) this.UnhighlightAll();
- if(this.sort) this.RemoveSort();
- if(this.loader) this.RemoveLoader();
- if(this.popUpFilters) this.RemovePopupFilters();
- if(this.markActiveColumns) this.ClearActiveColumns();
- if(this.editable || this.selectable) this.RemoveEditable();
-
- for(var j=this.refRow; j 0 && !o.ezEditTableConfig.startRow) startRow = undefined;
+ var startRow,
+ ezEditConfig = o.ezEditTableConfig,
+ thead = tf_Tag(o.tbl,'thead');
+
+ //if thead exists and startRow not specified, startRow is calculated
+ //automatically by EditTable
+ if(thead.length > 0 && !ezEditConfig.startRow){
+ startRow = undefined;
+ }
//otherwise startRow config property if any or TableFilter refRow
- else startRow = o.ezEditTableConfig.startRow || o.refRow;
+ else{
+ startRow = ezEditConfig.startRow || o.refRow;
+ }
- o.ezEditTableConfig.scroll_into_view = o.ezEditTableConfig.scroll_into_view!=undefined ? o.ezEditTableConfig.scroll_into_view : true;
- o.ezEditTableConfig.base_path = o.ezEditTableConfig.base_path!=undefined ? o.ezEditTableConfig.base_path : o.basePath + 'ezEditTable/';
- o.ezEditTableConfig.editable = o.editable = o.fObj.editable;
- o.ezEditTableConfig.selection = o.selectable = o.fObj.selectable;
+ ezEditConfig.scroll_into_view = ezEditConfig.scroll_into_view===false ?
+ false : true;
+ ezEditConfig.base_path = ezEditConfig.base_path ||
+ o.basePath + 'ezEditTable/';
+ ezEditConfig.editable = o.editable = o.fObj.editable;
+ ezEditConfig.selection = o.selectable = o.fObj.selectable;
- if(o.selectable)
- o.ezEditTableConfig.default_selection = o.ezEditTableConfig.default_selection!=undefined ? o.ezEditTableConfig.default_selection : 'row';
+ if(o.selectable){
+ ezEditConfig.default_selection =
+ ezEditConfig.default_selection || 'row';
+ }
//CSS Styles
- o.ezEditTableConfig.active_cell_css = o.ezEditTableConfig.active_cell_css!=undefined ? o.ezEditTableConfig.active_cell_css : 'ezETSelectedCell';
+ ezEditConfig.active_cell_css = ezEditConfig.active_cell_css ||
+ 'ezETSelectedCell';
o._lastValidRowIndex = 0;
o._lastRowIndex = 0;
if(o.selectable){
- //Row navigation needs to be calculated according to TableFilter's validRowsIndex array
- function onAfterSelection(et, selecteElm, e){
- if(!o.validRowsIndex) return; //table is not filtered
- var row = et.defaultSelection != 'row' ? selecteElm.parentNode : selecteElm;
- var cell = selecteElm.nodeName=='TD' ? selecteElm : null; //cell for default_selection = 'both' or 'cell'
- var keyCode = e != undefined ? et.Event.GetKey(e) : 0;
- var isRowValid = o.validRowsIndex.tf_Has(row.rowIndex);
- var nextRowIndex;
- var d = (keyCode == 34 || keyCode == 33 ? (o.pagingLength || et.nbRowsPerPage) : 1); //pgup/pgdown keys
+ //Row navigation needs to be calculated according to TableFilter's
+ //validRowsIndex array
+ var onAfterSelection = function(et, selectedElm, e){
+ //table is not filtered
+ if(!o.validRowsIndex){
+ return;
+ }
+ var validIndexes = o.validRowsIndex,
+ validIdxLen = validIndexes.length,
+ row = et.defaultSelection !== 'row' ?
+ selectedElm.parentNode : selectedElm,
+ //cell for default_selection = 'both' or 'cell'
+ cell = selectedElm.nodeName==='TD' ? selectedElm : null,
+ keyCode = e !== undefined ? et.Event.GetKey(e) : 0,
+ isRowValid = validIndexes.tf_Has(row.rowIndex),
+ nextRowIndex,
+ //pgup/pgdown keys
+ d = (keyCode === 34 || keyCode === 33 ?
+ (o.pagingLength || et.nbRowsPerPage) : 1);
- //If next row is not valid, next valid filtered row needs to be calculated
+ //If next row is not valid, next valid filtered row needs to be
+ //calculated
if(!isRowValid){
//Selection direction up/down
if(row.rowIndex>o._lastRowIndex){
- if(row.rowIndex >= o.validRowsIndex[o.validRowsIndex.length-1]) //last row
- nextRowIndex = o.validRowsIndex[o.validRowsIndex.length-1];
- else{
+ //last row
+ if(row.rowIndex >= validIndexes[validIdxLen-1]){
+ nextRowIndex = validIndexes[validIdxLen-1];
+ } else {
var calcRowIndex = (o._lastValidRowIndex + d);
- if(calcRowIndex > (o.validRowsIndex.length-1))
- nextRowIndex = o.validRowsIndex[o.validRowsIndex.length-1];
- else nextRowIndex = o.validRowsIndex[calcRowIndex];
+ if(calcRowIndex > (validIdxLen-1)){
+ nextRowIndex = validIndexes[validIdxLen-1];
+ } else {
+ nextRowIndex = validIndexes[calcRowIndex];
+ }
}
} else{
- if(row.rowIndex <= o.validRowsIndex[0]) nextRowIndex = o.validRowsIndex[0];//first row
- else{
- var v = o.validRowsIndex[o._lastValidRowIndex - d];
- nextRowIndex = v ? v : o.validRowsIndex[0];
+ //first row
+ if(row.rowIndex <= validIndexes[0]){
+ nextRowIndex = validIndexes[0];
+ } else {
+ var v = validIndexes[o._lastValidRowIndex - d];
+ nextRowIndex = v ? v : validIndexes[0];
}
}
o._lastRowIndex = row.rowIndex;
DoSelection(nextRowIndex);
- } else{
- //If filtered row is valid, special calculation for pgup/pgdown keys
- if(keyCode!=34 && keyCode!=33){
- o._lastValidRowIndex = o.validRowsIndex.tf_IndexByValue(row.rowIndex);
+ } else {
+ //If filtered row is valid, special calculation for
+ //pgup/pgdown keys
+ if(keyCode!==34 && keyCode!==33){
+ o._lastValidRowIndex = validIndexes.tf_IndexByValue(
+ row.rowIndex);
o._lastRowIndex = row.rowIndex;
} else {
- if(keyCode == 34){ //pgdown
- if((o._lastValidRowIndex + d) <= (o.validRowsIndex.length-1)) //last row
- nextRowIndex = o.validRowsIndex[o._lastValidRowIndex + d];
- else nextRowIndex = o.validRowsIndex[o.validRowsIndex.length-1];
+ if(keyCode === 34){ //pgdown
+ //last row
+ if((o._lastValidRowIndex + d) <= (validIdxLen-1)){
+ nextRowIndex = validIndexes[
+ o._lastValidRowIndex + d];
+ } else {
+ nextRowIndex = [validIdxLen-1];
+ }
} else { //pgup
- if((o._lastValidRowIndex - d) <= (o.validRowsIndex[0])) //first row
- nextRowIndex = o.validRowsIndex[0];
- else nextRowIndex = o.validRowsIndex[o._lastValidRowIndex - d];
+ //first row
+ if((o._lastValidRowIndex - d) <= validIndexes[0]){
+ nextRowIndex = validIndexes[0];
+ } else {
+ nextRowIndex = validIndexes[
+ o._lastValidRowIndex - d];
+ }
}
o._lastRowIndex = nextRowIndex;
- o._lastValidRowIndex = o.validRowsIndex.tf_IndexByValue(nextRowIndex);
+ o._lastValidRowIndex = validIndexes.tf_IndexByValue(
+ nextRowIndex);
DoSelection(nextRowIndex);
}
}
//Next valid filtered row needs to be selected
- function DoSelection(nextRowIndex){
- if(et.defaultSelection == 'row'){
+ var DoSelection = function(nextRowIndex){
+ if(et.defaultSelection === 'row'){
et.Selection.SelectRowByIndex(nextRowIndex);
} else {
et.ClearSelections();
- var cellIndex = selecteElm.cellIndex;
- var row = o.tbl.rows[nextRowIndex];
- if(et.defaultSelection == 'both') et.Selection.SelectRowByIndex(nextRowIndex);
- if(row) et.Selection.SelectCell(row.cells[cellIndex]);
+ var cellIndex = selectedElm.cellIndex,
+ row = o.tbl.rows[nextRowIndex];
+ if(et.defaultSelection === 'both'){
+ et.Selection.SelectRowByIndex(nextRowIndex);
+ }
+ if(row){
+ et.Selection.SelectCell(row.cells[cellIndex]);
+ }
}
//Table is filtered
- if(o.validRowsIndex.length != o.GetRowsNb()){
- var row = o.tbl.rows[nextRowIndex];
- if(row) row.scrollIntoView(false);
+ if(o.validRowsIndex.length !== o.GetRowsNb()){
+ var r = o.tbl.rows[nextRowIndex];
+ if(r){
+ r.scrollIntoView(false);
+ }
if(cell){
- if(cell.cellIndex==(o.GetCellsNb()-1) && o.gridLayout) o.tblCont.scrollLeft = 100000000;
- else if(cell.cellIndex==0 && o.gridLayout) o.tblCont.scrollLeft = 0;
- else cell.scrollIntoView(false);
+ if(cell.cellIndex===(o.GetCellsNb()-1) &&
+ o.gridLayout){
+ o.tblCont.scrollLeft = 100000000;
+ }
+ else if(cell.cellIndex===0 && o.gridLayout){
+ o.tblCont.scrollLeft = 0;
+ } else {
+ cell.scrollIntoView(false);
+ }
+ }
+ }
+ };
+ };
+
+ //Page navigation has to be enforced whenever selected row is out of
+ //the current page range
+ var onBeforeSelection = function(et, selectedElm, e){
+ var row = et.defaultSelection !== 'row' ?
+ selectedElm.parentNode : selectedElm;
+ if(o.paging){
+ if(o.nbPages>1){
+ //page length is re-assigned in case it has changed
+ et.nbRowsPerPage = o.pagingLength;
+ var validIndexes = o.validRowsIndex,
+ validIdxLen = validIndexes.length,
+ pagingEndRow = parseInt(o.startPagingRow,10) +
+ parseInt(o.pagingLength,10);
+ var rowIndex = row.rowIndex;
+ if((rowIndex === validIndexes[validIdxLen-1]) &&
+ o.currentPageNb!=o.nbPages){
+ o.SetPage('last');
+ }
+ else if((rowIndex == validIndexes[0]) &&
+ o.currentPageNb!==1){
+ o.SetPage('first');
+ }
+ else if(rowIndex > validIndexes[pagingEndRow-1] &&
+ rowIndex < validIndexes[validIdxLen-1]){
+ o.SetPage('next');
+ }
+ else if(rowIndex < validIndexes[o.startPagingRow] &&
+ rowIndex > validIndexes[0]){
+ o.SetPage('previous');
}
}
}
- }
-
- //Page navigation has to be enforced whenever selected row is out of the current page range
- function onBeforeSelection(et, selecteElm, e){
- var row = et.defaultSelection != 'row' ? selecteElm.parentNode : selecteElm;
- if(o.paging){
- if(o.nbPages>1){
- et.nbRowsPerPage = o.pagingLength; //page length is re-assigned in case it has changed
- var pagingEndRow = parseInt(o.startPagingRow) + parseInt(o.pagingLength);
- var rowIndex = row.rowIndex;
- if((rowIndex == o.validRowsIndex[o.validRowsIndex.length-1]) && o.currentPageNb!=o.nbPages) o.SetPage('last');
- else if((rowIndex == o.validRowsIndex[0]) && o.currentPageNb!=1) o.SetPage('first');
- else if(rowIndex > o.validRowsIndex[pagingEndRow-1] && rowIndex < o.validRowsIndex[o.validRowsIndex.length-1]) o.SetPage('next');
- else if(rowIndex < o.validRowsIndex[o.startPagingRow] && rowIndex > o.validRowsIndex[0]) o.SetPage('previous');
- }
- }
- }
+ };
//Selected row needs to be visible when paging is activated
if(o.paging){
o.onAfterChangePage = function(tf, i){
- var row = tf.ezEditTable.Selection.GetActiveRow();
- if(row) row.scrollIntoView(false);
- var cell = tf.ezEditTable.Selection.GetActiveCell();
- if(cell) cell.scrollIntoView(false);
- }
+ var et = tf.ezEditTable;
+ var row = et.Selection.GetActiveRow();
+ if(row){
+ row.scrollIntoView(false);
+ }
+ var cell = et.Selection.GetActiveCell();
+ if(cell){
+ cell.scrollIntoView(false);
+ }
+ };
}
- //Rows navigation when rows are filtered is performed with the EditTable row selection callback events
- if(o.ezEditTableConfig.default_selection=='row'){
- var fnB = o.ezEditTableConfig.on_before_selected_row;
- o.ezEditTableConfig.on_before_selected_row = function(){
+ //Rows navigation when rows are filtered is performed with the
+ //EditTable row selection callback events
+ if(ezEditConfig.default_selection==='row'){
+ var fnB = ezEditConfig.on_before_selected_row;
+ ezEditConfig.on_before_selected_row = function(){
onBeforeSelection(arguments[0], arguments[1], arguments[2]);
- if(fnB) fnB.call(null, arguments[0], arguments[1], arguments[2]);
+ if(fnB){
+ fnB.call(
+ null, arguments[0], arguments[1], arguments[2]);
+ }
};
- var fnA = o.ezEditTableConfig.on_after_selected_row;
- o.ezEditTableConfig.on_after_selected_row = function(){
+ var fnA = ezEditConfig.on_after_selected_row;
+ ezEditConfig.on_after_selected_row = function(){
onAfterSelection(arguments[0], arguments[1], arguments[2]);
- if(fnA) fnA.call(null, arguments[0], arguments[1], arguments[2]);
+ if(fnA){
+ fnA.call(
+ null, arguments[0], arguments[1], arguments[2]);
+ }
};
} else {
- var fnB = o.ezEditTableConfig.on_before_selected_cell;
- o.ezEditTableConfig.on_before_selected_cell = function(){
+ var fnD = ezEditConfig.on_before_selected_cell;
+ ezEditConfig.on_before_selected_cell = function(){
onBeforeSelection(arguments[0], arguments[1], arguments[2]);
- if(fnB) fnB.call(null, arguments[0], arguments[1], arguments[2]);
+ if(fnD){
+ fnD.call(
+ null, arguments[0], arguments[1], arguments[2]);
+ }
};
- var fnA = o.ezEditTableConfig.on_after_selected_cell;
- o.ezEditTableConfig.on_after_selected_cell = function(){
+ var fnC = ezEditConfig.on_after_selected_cell;
+ ezEditConfig.on_after_selected_cell = function(){
onAfterSelection(arguments[0], arguments[1], arguments[2]);
- if(fnA) fnA.call(null, arguments[0], arguments[1], arguments[2]);
+ if(fnC){
+ fnC.call(
+ null, arguments[0], arguments[1], arguments[2]);
+ }
};
}
}
if(o.editable){
//Added or removed rows, TF rows number needs to be re-calculated
- var fnC = o.ezEditTableConfig.on_added_dom_row;
- o.ezEditTableConfig.on_added_dom_row = function(){
+ var fnE = ezEditConfig.on_added_dom_row;
+ ezEditConfig.on_added_dom_row = function(){
o.nbFilterableRows++;
if(!o.paging){ o.RefreshNbRows(); }
else {
- o.nbRows++; o.nbVisibleRows++; o.nbFilterableRows++;
- o.paging=false; o.RemovePaging(); o.AddPaging(false);
+ o.nbRows++;
+ o.nbVisibleRows++;
+ o.nbFilterableRows++;
+ o.paging=false;
+ o.RemovePaging();
+ o.AddPaging(false);
+ }
+ if(o.alternateBgs){
+ o.SetAlternateRows();
+ }
+ if(fnE){
+ fnE.call(null, arguments[0], arguments[1], arguments[2]);
}
- if(o.alternateBgs) o.SetAlternateRows();
- if(fnC) fnC.call(null, arguments[0], arguments[1], arguments[2]);
};
- if(o.ezEditTableConfig.actions && o.ezEditTableConfig.actions['delete']){
- var fnD = o.ezEditTableConfig.actions['delete'].on_after_submit;
- o.ezEditTableConfig.actions['delete'].on_after_submit = function(){
+ if(ezEditConfig.actions && ezEditConfig.actions['delete']){
+ var fnF = ezEditConfig.actions['delete'].on_after_submit;
+ ezEditConfig.actions['delete'].on_after_submit = function(){
o.nbFilterableRows--;
if(!o.paging){ o.RefreshNbRows(); }
else {
- o.nbRows--; o.nbVisibleRows--; o.nbFilterableRows--;
- o.paging=false; o.RemovePaging(); o.AddPaging(false);
+ o.nbRows--;
+ o.nbVisibleRows--;
+ o.nbFilterableRows--;
+ o.paging=false;
+ o.RemovePaging();
+ o.AddPaging(false);
}
- if(o.alternateBgs) o.SetAlternateRows();
- if(fnD) fnD.call(null, arguments[0], arguments[1]);
- }
+ if(o.alternateBgs){
+ o.SetAlternateRows();
+ }
+ if(fnF){
+ fnF.call(null, arguments[0], arguments[1]);
+ }
+ };
}
}
try{
- o.ezEditTable = new EditTable(o.id, o.ezEditTableConfig, startRow);
+ o.ezEditTable = new EditTable(o.id, ezEditConfig, startRow);
o.ezEditTable.Init();
- } catch(e) { alert(o.ezEditTableConfig.err); }
+ } catch(e) { console.log(ezEditConfig.err); }
},
- SetPaging: function()
/*====================================================
- Generates paging elements:
- pages drop-down list
- previous, next, first, last buttons
=====================================================*/
- {
- if(!this.hasGrid && !this.isFirstLoad) return;
- if(!this.paging || (!this.isPagingRemoved && !this.isFirstLoad)) return;
+ SetPaging: function(){
+ if(!this.hasGrid && !this.isFirstLoad || !this.paging ||
+ (!this.isPagingRemoved && !this.isFirstLoad)){
+ return;
+ }
+
var f = this.fObj;
- this.pagingTgtId = f.paging_target_id!=undefined //id of container element
- ? f.paging_target_id : null;
- this.pagingLength = f.paging_length!=undefined ? f.paging_length : 10; //defines table paging length
- this.resultsPerPageTgtId = f.results_per_page_target_id!=undefined //id of container element
- ? f.results_per_page_target_id : null;
- this.pgSlcCssClass = f.paging_slc_css_class!=undefined
- ? f.paging_slc_css_class :'pgSlc'; //css class for paging select element
- this.pgInpCssClass = f.paging_inp_css_class!=undefined
- ? f.paging_inp_css_class :'pgNbInp'; //css class for paging input element
- this.resultsSlcCssClass = f.results_slc_css_class!=undefined
- ? f.results_slc_css_class :'rspg'; //defines css class for results per page select
- this.resultsSpanCssClass = f.results_span_css_class!=undefined
- ? f.results_span_css_class :'rspgSpan'; //css class for label preceding results per page select
- this.nbVisibleRows = 0; //nb visible rows
- this.nbHiddenRows = 0; //nb hidden rows
- this.startPagingRow = 0; //1st row index of current page
- this.nbPages = 0; //total nb of pages
- this.btnNextPageText = f.btn_next_page_text!=undefined
- ? f.btn_next_page_text : '>'; //defines next page button text
- this.btnPrevPageText = f.btn_prev_page_text!=undefined
- ? f.btn_prev_page_text : '<'; //defines previous page button text
- this.btnLastPageText = f.btn_last_page_text!=undefined
- ? f.btn_last_page_text : '>|'; //defines last page button text
- this.btnFirstPageText = f.btn_first_page_text!=undefined
- ? f.btn_first_page_text : '|<' ; //defines first page button text
- this.btnNextPageHtml = f.btn_next_page_html!=undefined //defines next page button html
- ? f.btn_next_page_html : (!this.enableIcons ? null :
- '');
- this.btnPrevPageHtml = f.btn_prev_page_html!=undefined //defines previous page button html
- ? f.btn_prev_page_html : (!this.enableIcons ? null :
- '');
- this.btnFirstPageHtml = f.btn_first_page_html!=undefined //defines last page button html
- ? f.btn_first_page_html : (!this.enableIcons ? null :
- '');
- this.btnLastPageHtml = f.btn_last_page_html!=undefined //defines previous page button html
- ? f.btn_last_page_html : (!this.enableIcons ? null :
- '');
- this.pageText = f.page_text!=undefined ? f.page_text : ' Page '; //defines text preceeding page selector drop-down
- this.ofText = f.of_text!=undefined ? f.of_text : ' of '; //defines text after page selector drop-down
- this.nbPgSpanCssClass = f.nb_pages_css_class!=undefined ? f.nb_pages_css_class :'nbpg'; //css class for span containing tot nb of pages
- this.hasPagingBtns = f.paging_btns==false ? false : true; //enables/disables paging buttons
- this.pagingBtnEvents = null; //stores paging buttons events
- this.pageSelectorType = f.page_selector_type!=undefined
- ? f.page_selector_type : this.fltTypeSlc; //defines previous page button html
- this.onBeforeChangePage = tf_IsFn(f.on_before_change_page) ? f.on_before_change_page : null; //calls function before page is changed
- this.onAfterChangePage = tf_IsFn(f.on_after_change_page) ? f.on_after_change_page : null; //calls function before page is changed
+ //id of container element
+ this.pagingTgtId = f.paging_target_id || null;
+ //defines table paging length
+ this.pagingLength = !isNaN(f.paging_length) ? f.paging_length : 10;
+ //id of container element
+ this.resultsPerPageTgtId = f.results_per_page_target_id || null;
+ //css class for paging select element
+ this.pgSlcCssClass = f.paging_slc_css_class || 'pgSlc';
+ //css class for paging input element
+ this.pgInpCssClass = f.paging_inp_css_class || 'pgNbInp';
+ //defines css class for results per page select
+ this.resultsSlcCssClass = f.results_slc_css_class || 'rspg';
+ //css class for label preceding results per page select
+ this.resultsSpanCssClass = f.results_span_css_class || 'rspgSpan';
+ //nb visible rows
+ this.nbVisibleRows = 0;
+ //nb hidden rows
+ this.nbHiddenRows = 0;
+ //1st row index of current page
+ this.startPagingRow = 0;
+ //total nb of pages
+ this.nbPages = 0;
+ //defines next page button text
+ this.btnNextPageText = f.btn_next_page_text || '>';
+ //defines previous page button text
+ this.btnPrevPageText = f.btn_prev_page_text || '<';
+ //defines last page button text
+ this.btnLastPageText = f.btn_last_page_text || '>|';
+ //defines first page button text
+ this.btnFirstPageText = f.btn_first_page_text || '|<';
+ //defines next page button html
+ this.btnNextPageHtml = f.btn_next_page_html ||
+ (!this.enableIcons ? null :
+ '');
+ //defines previous page button html
+ this.btnPrevPageHtml = f.btn_prev_page_html ||
+ (!this.enableIcons ? null :
+ '');
+ //defines last page button html
+ this.btnFirstPageHtml = f.btn_first_page_html ||
+ (!this.enableIcons ? null :
+ '');
+ //defines previous page button html
+ this.btnLastPageHtml = f.btn_last_page_html ||
+ (!this.enableIcons ? null :
+ '');
+ //defines text preceeding page selector drop-down
+ this.pageText = f.page_text || ' Page ';
+ //defines text after page selector drop-down
+ this.ofText = f.of_text || ' of ';
+ //css class for span containing tot nb of pages
+ this.nbPgSpanCssClass = f.nb_pages_css_class || 'nbpg';
+ //enables/disables paging buttons
+ this.hasPagingBtns = f.paging_btns===false ? false : true;
+ //stores paging buttons events
+ this.pagingBtnEvents = null;
+ //defines previous page button html
+ this.pageSelectorType = f.page_selector_type || this.fltTypeSlc;
+ //calls function before page is changed
+ this.onBeforeChangePage = tf_IsFn(f.on_before_change_page) ?
+ f.on_before_change_page : null;
+ //calls function before page is changed
+ this.onAfterChangePage = tf_IsFn(f.on_after_change_page) ?
+ f.on_after_change_page : null;
var start_row = this.refRow;
var nrows = this.nbRows;
- this.nbPages = Math.ceil( (nrows-start_row)/this.pagingLength );//calculates page nb
+ //calculates page nb
+ this.nbPages = Math.ceil((nrows-start_row)/this.pagingLength);
//Paging elements events
- if(!this.Evt._Paging.next)
- {
+ if(!this.Evt._Paging.next){
var o = this;
this.Evt._Paging = {// paging buttons events
slcIndex: function(){
- return (o.pageSelectorType==o.fltTypeSlc)
- ? o.pagingSlc.options.selectedIndex
- : parseInt(o.pagingSlc.value)-1;
+ return (o.pageSelectorType==o.fltTypeSlc) ?
+ o.pagingSlc.options.selectedIndex :
+ parseInt(o.pagingSlc.value,10)-1;
},
nbOpts: function(){
return (o.pageSelectorType==o.fltTypeSlc)
@@ -2090,7 +2306,7 @@ TF.prototype = {
prevEvt: null,
lastEvt: null,
firstEvt: null
- }
+ };
}
if(!this.Evt._OnSlcPagesChange)