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

Continued Store module

This commit is contained in:
Max Guglielmi 2014-12-05 12:10:00 +11:00
parent 68da2d9566
commit be57e7bb09
11 changed files with 144 additions and 101 deletions

3
TODO
View file

@ -1,3 +1,4 @@
- Initialise TableFilter object with a table DOM element
- Use DOM event listeners for DOM events
- Use DOM event listeners for DOM events
- Implement persistence using localStorage or cookie

2
dist/filtergrid.css vendored
View file

@ -1,6 +1,6 @@
/*------------------------------------------------------------------------
- TableFilter stylesheet by Max Guglielmi
- (build date: Sun Nov 30 2014 19:32:22)
- (build date: Fri Dec 05 2014 11:24:29)
- Edit below for your projects' needs
------------------------------------------------------------------------*/

10
dist/tablefilter.js vendored

File diff suppressed because one or more lines are too long

View file

@ -5,7 +5,6 @@
var Cookie = {};
Cookie.write = function(name, value, hours){
console.log(arguments);
var expire = '';
if(hours){
expire = new Date((new Date()).getTime() + hours * 3600000);
@ -33,7 +32,7 @@ Cookie.read = function(name){
};
Cookie.remove = function(name){
this.write(name,'',-1);
this.write(name, '', -1);
};
Cookie.valueToArray = function(name, separator){

View file

@ -2,6 +2,10 @@ import {Cookie} from '../cookie';
export class Store{
/**
* Store, persistence manager
* @param {Object} tf TableFilter instance
*/
constructor(tf) {
var f = tf.fObj;
@ -11,25 +15,84 @@ export class Store{
this.tf = tf;
}
/**
* Store filters' values in cookie
* @param {String} cookie name
*/
saveFilterValues(name){
var tf = this.tf;
var flt_values = [];
var fltValues = [];
//store filters' values
for(var i=0; i<tf.fltIds.length; i++){
var value = tf.GetFilterValue(i);
if (value === ''){
value = ' ';
}
flt_values.push(value);
fltValues.push(value);
}
//adds array size
flt_values.push(tf.fltIds.length);
fltValues.push(tf.fltIds.length);
//writes cookie
Cookie.write(
name,
flt_values.join(tf.separator),
fltValues.join(tf.separator),
this.duration
);
}
}
/**
* Retrieve filters' values from cookie
* @param {String} cookie name
* @return {Array}
*/
getFilterValues(name){
var flts = Cookie.read(name);
var rgx = new RegExp(this.tf.separator, 'g');
// filters' values array
return flts.split(rgx);
}
/**
* Store page number in cookie
* @param {String} cookie name
*/
savePageNb(name){
Cookie.write(
name,
this.tf.currentPageNb,
this.duration
);
}
/**
* Retrieve page number from cookie
* @param {String} cookie name
* @return {String}
*/
getPageNb(name){
return Cookie.read(name);
}
/**
* Store page length in cookie
* @param {String} cookie name
*/
savePageLength(name){
Cookie.write(
name,
this.tf.resultsPerPageSlc.selectedIndex,
this.duration
);
}
/**
* Retrieve page length from cookie
* @param {String} cookie name
* @return {String}
*/
getPageLength(name){
return Cookie.read(name);
}
}

View file

@ -8,7 +8,6 @@ define(["exports"], function (exports) {
var Cookie = {};
Cookie.write = function (name, value, hours) {
console.log(arguments);
var expire = "";
if (hours) {
expire = new Date((new Date()).getTime() + hours * 3600000);

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,WAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACvB,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,EAAC,EAAE,EAAC,CAAC,CAAC,CAAC,CAAC;GAC1B,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 console.log(arguments);\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"]}
{"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"]}

View file

@ -398,7 +398,7 @@ function TableFilter(id) {
//enables/disables table paging
this.paging = f.paging===true ? true : false;
//enables/disables results per page drop-down
this.hasResultsPerPage = f.results_per_page===true ? true : false;
this.hasResultsPerPage = types.isArray(f.results_per_page) ? true : false;
//css class for paging buttons (previous,next,etc.)
this.btnPageCssClass = f.paging_btn_css_class || 'pgInp';
//stores paging select element
@ -649,8 +649,8 @@ function TableFilter(id) {
//cookie storing page length
this.pgLenCookie = this.prfxCookiePageLen + this.id;
//cookie duration
this.cookieDuration = !isNaN(f.set_cookie_duration) ?
parseInt(f.set_cookie_duration, 10) :100000;
// this.cookieDuration = !isNaN(f.set_cookie_duration) ?
// parseInt(f.set_cookie_duration, 10) :100000;
/*** extensions ***/
//imports external script
@ -944,6 +944,12 @@ TableFilter.prototype = {
//loads theme
if(this.hasThemes){ this._LoadThemes(); }
if(this.rememberGridValues || this.rememberPageNb ||
this.rememberPageLen){
var Store = require('modules/store').Store;
this.Cpt.Store = new Store(this);
}
if(this.gridLayout){
var GridLayout = require('modules/gridLayout').GridLayout;
this.Cpt.gridLayout = new GridLayout(this);
@ -1165,11 +1171,8 @@ TableFilter.prototype = {
inp.onblur = this.Evt._OnInpBlur;
if(this.rememberGridValues){
//reads the cookie
var flts = cookie.read(this.fltsValuesCookie);
var reg = new RegExp(this.separator,'g');
//creates an array with filters' values
var flts_values = flts.split(reg);
var flts_values = this.Cpt.Store.getFilterValues(
this.fltsValuesCookie);
if(flts_values[i]!=' '){
this.SetFilterValue(i,flts_values[i],false);
}
@ -2820,7 +2823,7 @@ TableFilter.prototype = {
}
if(this.rememberPageNb){
this.RememberPageNb(this.pgNbCookie);
this.Cpt.Store.savePageNb(this.pgNbCookie);
}
this.startPagingRow = (this.pageSelectorType===this.fltTypeSlc) ?
this.pagingSlc.value : (index*this.pagingLength);
@ -2862,7 +2865,7 @@ TableFilter.prototype = {
this.pagingSlc.options[slcIndex].selected = true;
}
if(this.rememberPageLen){
this.RememberPageLength( this.pgLenCookie );
this.Cpt.Store.savePageLength(this.pgLenCookie);
}
}
},
@ -2876,7 +2879,7 @@ TableFilter.prototype = {
- name: cookie name (string)
===============================================*/
_ResetPage: function(name){
var pgnb = cookie.read(name);
var pgnb = this.Cpt.Store.getPageNb(name);
if(pgnb!==''){
this.ChangePage((pgnb-1));
}
@ -2894,7 +2897,7 @@ TableFilter.prototype = {
if(!this.paging){
return;
}
var pglenIndex = cookie.read(name);
var pglenIndex = this.Cpt.Store.getPageLength(name);
if(pglenIndex!==''){
this.resultsPerPageSlc.options[pglenIndex].selected = true;
@ -2961,8 +2964,9 @@ TableFilter.prototype = {
/*** remember grid values ***/
var flts_values = [], fltArr = [];
if(this.rememberGridValues){
flts_values = cookie.valueToArray(
this.fltsValuesCookie, this.separator);
// flts_values = cookie.valueToArray(
// this.fltsValuesCookie, this.separator);
flts_values = this.Cpt.Store.getFilterValues(this.fltsValuesCookie);
if(flts_values && !str.isEmpty(flts_values.toString())){
if(isCustomSlc){
fltArr.push(flts_values[colIndex]);
@ -4020,61 +4024,6 @@ TableFilter.prototype = {
}
},
/*==============================================
- stores filters' values in a cookie
when Filter() method is called
- Params:
- name: cookie name (string)
- credits to Florent Hirchy
===============================================*/
RememberFiltersValue: function(name){
var flt_values = [];
//store filters' values
for(var i=0; i<this.fltIds.length; i++){
var value = this.GetFilterValue(i);
if (value === ''){
value = ' ';
}
flt_values.push(value);
}
//adds array size
flt_values.push(this.fltIds.length);
//writes cookie
cookie.write(
name,
flt_values.join(this.separator),
this.cookieDuration
);
},
/*==============================================
- stores page number value in a cookie
when ChangePage method is called
- Params:
- name: cookie name (string)
===============================================*/
RememberPageNb: function(name){
cookie.write(
name,
this.currentPageNb,
this.cookieDuration
);
},
/*==============================================
- stores page length value in a cookie
when ChangePageLength method is called
- Params:
- name: cookie name (string)
===============================================*/
RememberPageLength: function(name){
cookie.write(
name,
this.resultsPerPageSlc.selectedIndex,
this.cookieDuration
);
},
ResetValues: function(){
this.EvtManager(this.Evt.name.resetvalues);
},
@ -4110,10 +4059,7 @@ TableFilter.prototype = {
if(!this.fillSlcOnDemand){
return;
}
var flts = cookie.read(name),
reg = new RegExp(this.separator,'g'),
//creates an array with filters' values
flts_values = flts.split(reg),
var flts_values = this.Cpt.Store.getFilterValues(name),
slcFltsIndex = this.GetFiltersByType(this.fltTypeSlc, true),
multiFltsIndex = this.GetFiltersByType(this.fltTypeMulti, true);
@ -4675,13 +4621,10 @@ TableFilter.prototype = {
this.nbVisibleRows = this.validRowsIndex.length;
this.nbHiddenRows = hiddenrows;
this.isStartBgAlternate = false;
if(this.rememberGridValues){
// this.RememberFiltersValue(this.fltsValuesCookie);
if(!this.Cpt.Store){
var Store = require('modules/store').Store;
this.Cpt.Store = new Store(this);
this.Cpt.Store.saveFilterValues(this.fltsValuesCookie);
}
this.Cpt.Store.saveFilterValues(this.fltsValuesCookie);
}
//applies filter props after filtering process
if(!this.paging){

View file

@ -77,11 +77,15 @@
loader: false,
rows_counter: true,
enable_default_theme: true,
paging: false,
paging: true,
paging_length: 2,
results_per_page: ['Results per page', [2,4,6]],
remember_grid_values: true,
remember_page_number: true,
remember_page_length: true,
alternate_rows: true,
highlight_keywords: true,
match_case: false,
remember_grid_values: true,
btn_reset: true
// grid_layout: true,
// grid_width: '500px',

View file

@ -21,19 +21,53 @@ define(["exports", "../cookie"], function (exports, _cookie) {
writable: true,
value: function (name) {
var tf = this.tf;
var flt_values = [];
var fltValues = [];
//store filters' values
for (var i = 0; i < tf.fltIds.length; i++) {
var value = tf.GetFilterValue(i);
if (value === "") {
value = " ";
}
flt_values.push(value);
fltValues.push(value);
}
//adds array size
flt_values.push(tf.fltIds.length);
fltValues.push(tf.fltIds.length);
//writes cookie
Cookie.write(name, flt_values.join(tf.separator), this.duration);
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);
}
}
});

View file

@ -1 +1 @@
{"version":3,"sources":["src-es6/modules/store.js"],"names":[],"mappings":";;;;;;;;MAAQ,MAAM,WAAN,MAAM;MAED,KAAK;QAAL,KAAK,GAEH,SAFF,KAAK,CAEF,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;;gBATQ,KAAK;AAWd,sBAAgB;;eAAA,UAAC,IAAI,EAAC;AAClB,cAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;AACjB,cAAI,UAAU,GAAG,EAAE,CAAC;;AAEpB,eAAI,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AACjC,gBAAI,KAAK,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACjC,gBAAI,KAAK,KAAK,EAAE,EAAC;AACb,mBAAK,GAAG,GAAG,CAAC;aACf;AACD,sBAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;WAC1B;;AAED,oBAAU,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;;AAElC,gBAAM,CAAC,KAAK,CACR,IAAI,EACJ,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,EAC7B,IAAI,CAAC,QAAQ,CAChB,CAAC;SACL;;;;WA9BQ,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 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 saveFilterValues(name){\r\n var tf = this.tf;\r\n var flt_values = [];\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 flt_values.push(value);\r\n }\r\n //adds array size\r\n flt_values.push(tf.fltIds.length);\r\n //writes cookie\r\n Cookie.write(\r\n name,\r\n flt_values.join(tf.separator),\r\n this.duration\r\n );\r\n }\r\n\r\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"]}