1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-05-13 11:56:46 +02:00

Started porting persistence logic

This commit is contained in:
Max Guglielmi 2014-11-30 21:38:40 +11:00
parent e07aa52df9
commit 68da2d9566
9 changed files with 97 additions and 8 deletions

2
dist/filtergrid.css vendored
View file

@ -1,6 +1,6 @@
/*------------------------------------------------------------------------
- TableFilter stylesheet by Max Guglielmi
- (build date: Sun Nov 23 2014 21:28:33)
- (build date: Sun Nov 30 2014 19:32:22)
- Edit below for your projects' needs
------------------------------------------------------------------------*/

View file

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

35
src-es6/modules/store.js Normal file
View file

@ -0,0 +1,35 @@
import {Cookie} from '../cookie';
export class Store{
constructor(tf) {
var f = tf.fObj;
this.duration = !isNaN(f.set_cookie_duration) ?
parseInt(f.set_cookie_duration, 10) : 100000;
this.tf = tf;
}
saveFilterValues(name){
var tf = this.tf;
var flt_values = [];
//store filters' values
for(var i=0; i<tf.fltIds.length; i++){
var value = tf.GetFilterValue(i);
if (value === ''){
value = ' ';
}
flt_values.push(value);
}
//adds array size
flt_values.push(tf.fltIds.length);
//writes cookie
Cookie.write(
name,
flt_values.join(tf.separator),
this.duration
);
}
}

View file

@ -8,6 +8,7 @@ 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,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 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,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"]}

View file

@ -673,7 +673,8 @@ function TableFilter(id) {
alternateRows: null,
colOps: null,
rowsCounter: null,
GridLayout: null
GridLayout: null,
Store: null
};
/*** TF events ***/
@ -4675,7 +4676,12 @@ TableFilter.prototype = {
this.nbHiddenRows = hiddenrows;
this.isStartBgAlternate = false;
if(this.rememberGridValues){
this.RememberFiltersValue(this.fltsValuesCookie);
// 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);
}
}
//applies filter props after filtering process
if(!this.paging){

View file

@ -82,10 +82,10 @@
highlight_keywords: true,
match_case: false,
remember_grid_values: true,
btn_reset: true,
grid_layout: true,
grid_width: '500px',
grid_height: '200px'
btn_reset: true
// grid_layout: true,
// grid_width: '500px',
// grid_height: '200px'
});
tf.init();

45
src/modules/store.js Normal file
View file

@ -0,0 +1,45 @@
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 = function Store(tf) {
var f = tf.fObj;
this.duration = !isNaN(f.set_cookie_duration) ? parseInt(f.set_cookie_duration, 10) : 100000;
this.tf = tf;
};
_classProps(Store, null, {
saveFilterValues: {
writable: true,
value: function (name) {
var tf = this.tf;
var flt_values = [];
//store filters' values
for (var i = 0; i < tf.fltIds.length; i++) {
var value = tf.GetFilterValue(i);
if (value === "") {
value = " ";
}
flt_values.push(value);
}
//adds array size
flt_values.push(tf.fltIds.length);
//writes cookie
Cookie.write(name, flt_values.join(tf.separator), this.duration);
}
}
});
return Store;
})();
exports.Store = Store;
});

1
src/modules/store.js.map Normal file
View file

@ -0,0 +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}"]}