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

59 lines
1.4 KiB
JavaScript
Raw Normal View History

2014-11-16 01:29:07 +01:00
/**
* Cookie utilities
*/
2015-05-30 14:23:33 +02:00
export default {
2014-11-16 01:29:07 +01:00
2015-05-30 14:23:33 +02:00
write(name, value, hours){
let expire = '';
if(hours){
expire = new Date((new Date()).getTime() + hours * 3600000);
expire = '; expires=' + expire.toGMTString();
}
document.cookie = name + '=' + escape(value) + expire;
},
2014-11-16 01:29:07 +01:00
2015-05-30 14:23:33 +02:00
read(name){
let cookieValue = '',
search = name + '=';
if(document.cookie.length > 0){
let cookie = document.cookie,
offset = cookie.indexOf(search);
if(offset !== -1){
offset += search.length;
let end = cookie.indexOf(';', offset);
if(end === -1){
end = cookie.length;
}
cookieValue = unescape(cookie.substring(offset, end));
2014-11-16 01:29:07 +01:00
}
}
2015-05-30 14:23:33 +02:00
return cookieValue;
},
2014-11-16 01:29:07 +01:00
2015-05-30 14:23:33 +02:00
remove(name){
this.write(name, '', -1);
},
2014-11-16 01:29:07 +01:00
2015-05-30 14:23:33 +02:00
valueToArray(name, separator){
if(!separator){
separator = ',';
}
//reads the cookie
let val = this.read(name);
//creates an array with filters' values
let arr = val.split(separator);
return arr;
},
2014-11-16 01:29:07 +01:00
2015-05-30 14:23:33 +02:00
getValueByIndex(name, index, separator){
if(!separator){
separator = ',';
}
//reads the cookie
let val = this.valueToArray(name, separator);
return val[index];
2014-11-16 01:29:07 +01:00
}
2015-05-30 14:23:33 +02:00
};