Re: [Skunkworks] Ext.state.HttpProvider to store state in database

Am not getting any errors from the console.log(). My quess for now is in the Exjs encodeValue vs decodeValue (though i havent hacked it fully) . Why? because why i changed the state to a cookie provider it works... the structure of the cookie value is abit different from the stored value in the db. Db values ----------------------------------------------------------------------- { name: 'grid_152', value : "o:columns=a:o%3Aid%3Ds%253Ah1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah2%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah3%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah4%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah5%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah6%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah7%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah8%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah9%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah10%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah11%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah12%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah13%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah14%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah15%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah16%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah17%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah18%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah19%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah20%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah21%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah22%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah23%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah24%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah25%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah26%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah27%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah28%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah29%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah30%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah31%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah32%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah33%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah34%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah35%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah36%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah37%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah38%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah39%5Esortable%3Db%253A0^filters=o:" } cookie value ----------------------------------------------------------------------- { name: 'grid_152', value : "o%3Aid%3Ds%253Ah1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah2%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah3%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah4%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah5%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah6%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah7%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah8%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah9%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah10%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah11%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah12%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah13%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah14%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah15%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah16%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah17%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah18%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah19%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah20%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah21%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah22%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah23%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah24%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah25%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah26%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah27%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah28%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah29%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah30%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah31%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah32%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah33%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah34%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah35%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah36%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah37%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah38%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah39%5Esortable%3Db%253A0^filters=o:" }; Can someone help me with steps on posting, code on JSFiddle.. (Sencha is Package Specific my plugin is on Ex.State) ? Thanks. On Wed, Jul 3, 2013 at 5:00 PM, Steve Obbayi <steve@sobbayi.com> wrote:
1. What do you mean by "sencha will not bulge" 2. Get rid of the commas after the last configs 3. What other errors are you getting from your console.log it will be easier to start from there. 4. Can you post your code on http://jsfiddle.net/ then share the link before I go in and see what you are doing wrong :)
------------------------------
*From: *"Ken Muturi" <muturiken@gmail.com> *To: *"Skunkworks Mailing List" <skunkworks@lists.my.co.ke> *Sent: *Miércoles, 3 de Julio 2013 12:02:05 *Subject: *Re: [Skunkworks] Ext.state.HttpProvider to store state in database
People :-
I have created my own plugin for the above by extending Ext.state.Provider that saves the state of a grid to a db (filters, grouping, sorting, column size, etc) :-
Ext.define('Ext.state.HttpProvider', { extend: 'Ext.state.Provider', constructor: function(config) { Ext.state.HttpProvider.superclass.constructor.call(this); this.url = "";
Ext.apply(this, config); this.state = this.readValues(); },
// private set : function(name, value){ if(typeof value == "undefined" || value === null){ this.clear(name); return; } this.setValue(name, value); Ext.state.HttpProvider.superclass.set.call(this, name, value); },
// private clear : function(name){ this.clearValue(name); Ext.state.HttpProvider.superclass.clear.call(this, name); },
// private readValues : function(){ var state = {};
for (var name in ExtState) { if(name!='remove') { state[name] = this.decodeValue(ExtState[name]); } } return state; },
// private setValue : function(name, value){
var conn = new Ext.data.Connection(); conn.request({ url: this.url, params: {task: 'set', 'name': name, 'value': this.encodeValue(value) }, }); },
// private clearValue : function(name){ var conn = new Ext.data.Connection(); conn.request({ url: this.url, params: {task: 'set', 'name': name, 'value': 'null' }, }); } });
// calling it from the grid. var ExtState = Ext.decode('<?php echo json_encode($grid_state); ?>'); var _cp = Ext.create('Ext.state.HttpProvider', { url: save_grid_state_url }); Ext.state.Manager.setProvider(cp);
On console.log @ readValues() and setValues() they have the correct Extjs4 grid state but sencha will not bulge.
Has someone worked on something like this before ?
On Wed, Jul 3, 2013 at 9:49 AM, Ken Muturi <muturiken@gmail.com> wrote:
Has anyone done some Sencha Grid (4.1) magic using Ext.state.HttpProvider ?
When i do:
Ext.state.Manager.getProvider().initState( state_saved_in_db ); // [{"name":"grid-32","value":"............"}}]
It Seems not to work
_______________________________________________ skunkworks mailing list skunkworks@lists.my.co.ke ------------ List info, subscribe/unsubscribe http://lists.my.co.ke/cgi-bin/mailman/listinfo/skunkworks ------------
Skunkworks Rules http://my.co.ke/phpbb/viewtopic.php?f=24&t=94 ------------ Other services @ http://my.co.ke
_______________________________________________ skunkworks mailing list skunkworks@lists.my.co.ke ------------ List info, subscribe/unsubscribe http://lists.my.co.ke/cgi-bin/mailman/listinfo/skunkworks ------------
Skunkworks Rules http://my.co.ke/phpbb/viewtopic.php?f=24&t=94 ------------ Other services @ http://my.co.ke

i still haven't figured out a way of posting this on fiddle (a working example ) but the code is here. http://jsfiddle.net/pzVbU/2/ On Wed, Jul 3, 2013 at 5:24 PM, Ken Muturi <muturiken@gmail.com> wrote:
Am not getting any errors from the console.log(). My quess for now is in the Exjs encodeValue vs decodeValue (though i havent hacked it fully) . Why? because why i changed the state to a cookie provider it works... the structure of the cookie value is abit different from the stored value in the db.
Db values -----------------------------------------------------------------------
{ name: 'grid_152', value : "o:columns=a:o%3Aid%3Ds%253Ah1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah2%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah3%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah4%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah5%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah6%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah7%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah8%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah9%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah10%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah11%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah12%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah13%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah14%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah15%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah16%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah17%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah18%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah19%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah20%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah21%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah22%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah23%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah24%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah25%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah26%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah27%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah28%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah29%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah30%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah31%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah32%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah33%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah34%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah35%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah36%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah37%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah38%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah39%5Esortable%3Db%253A0^filters=o:" }
cookie value ----------------------------------------------------------------------- { name: 'grid_152', value : "o%3Aid%3Ds%253Ah1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah2%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah3%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah4%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah5%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah6%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah7%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah8%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah9%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah10%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah11%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah12%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah13%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah14%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah15%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah16%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah17%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah18%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah19%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah20%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah21%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah22%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah23%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah24%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah25%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah26%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah27%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah28%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah29%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah30%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah31%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah32%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah33%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah34%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah35%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah36%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah37%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah38%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah39%5Esortable%3Db%253A0^filters=o:" };
Can someone help me with steps on posting, code on JSFiddle.. (Sencha is Package Specific my plugin is on Ex.State) ?
Thanks.
On Wed, Jul 3, 2013 at 5:00 PM, Steve Obbayi <steve@sobbayi.com> wrote:
1. What do you mean by "sencha will not bulge" 2. Get rid of the commas after the last configs 3. What other errors are you getting from your console.log it will be easier to start from there. 4. Can you post your code on http://jsfiddle.net/ then share the link before I go in and see what you are doing wrong :)
------------------------------
*From: *"Ken Muturi" <muturiken@gmail.com> *To: *"Skunkworks Mailing List" <skunkworks@lists.my.co.ke> *Sent: *Miércoles, 3 de Julio 2013 12:02:05 *Subject: *Re: [Skunkworks] Ext.state.HttpProvider to store state in database
People :-
I have created my own plugin for the above by extending Ext.state.Provider that saves the state of a grid to a db (filters, grouping, sorting, column size, etc) :-
Ext.define('Ext.state.HttpProvider', { extend: 'Ext.state.Provider', constructor: function(config) { Ext.state.HttpProvider.superclass.constructor.call(this); this.url = "";
Ext.apply(this, config); this.state = this.readValues(); },
// private set : function(name, value){ if(typeof value == "undefined" || value === null){ this.clear(name); return; } this.setValue(name, value); Ext.state.HttpProvider.superclass.set.call(this, name, value); },
// private clear : function(name){ this.clearValue(name); Ext.state.HttpProvider.superclass.clear.call(this, name); },
// private readValues : function(){ var state = {};
for (var name in ExtState) { if(name!='remove') { state[name] = this.decodeValue(ExtState[name]); } } return state; },
// private setValue : function(name, value){
var conn = new Ext.data.Connection(); conn.request({ url: this.url, params: {task: 'set', 'name': name, 'value': this.encodeValue(value) }, }); },
// private clearValue : function(name){ var conn = new Ext.data.Connection(); conn.request({ url: this.url, params: {task: 'set', 'name': name, 'value': 'null' }, }); } });
// calling it from the grid. var ExtState = Ext.decode('<?php echo json_encode($grid_state); ?>'); var _cp = Ext.create('Ext.state.HttpProvider', { url: save_grid_state_url }); Ext.state.Manager.setProvider(cp);
On console.log @ readValues() and setValues() they have the correct Extjs4 grid state but sencha will not bulge.
Has someone worked on something like this before ?
On Wed, Jul 3, 2013 at 9:49 AM, Ken Muturi <muturiken@gmail.com> wrote:
Has anyone done some Sencha Grid (4.1) magic using Ext.state.HttpProvider ?
When i do:
Ext.state.Manager.getProvider().initState( state_saved_in_db ); // [{"name":"grid-32","value":"............"}}]
It Seems not to work
_______________________________________________ skunkworks mailing list skunkworks@lists.my.co.ke ------------ List info, subscribe/unsubscribe http://lists.my.co.ke/cgi-bin/mailman/listinfo/skunkworks ------------
Skunkworks Rules http://my.co.ke/phpbb/viewtopic.php?f=24&t=94 ------------ Other services @ http://my.co.ke
_______________________________________________ skunkworks mailing list skunkworks@lists.my.co.ke ------------ List info, subscribe/unsubscribe http://lists.my.co.ke/cgi-bin/mailman/listinfo/skunkworks ------------
Skunkworks Rules http://my.co.ke/phpbb/viewtopic.php?f=24&t=94 ------------ Other services @ http://my.co.ke

Ok I have deleted a coma on line 47 made a small change on line 66 and line 70 and it now runs , here is the update http://jsfiddle.net/pzVbU/6/ So the question is what lies behind "save.php" Steve ----- Original Message ----- | From: "Ken Muturi" <muturiken@gmail.com> | To: "Skunkworks Mailing List" <skunkworks@lists.my.co.ke> | Sent: Miércoles, 3 de Julio 2013 15:59:55 | Subject: Re: [Skunkworks] Ext.state.HttpProvider to store state in | database | i still haven't figured out a way of posting this on fiddle (a | working example ) but the code is here. http://jsfiddle.net/pzVbU/2/ | On Wed, Jul 3, 2013 at 5:24 PM, Ken Muturi < muturiken@gmail.com > | wrote: | | Am not getting any errors from the console.log().. My quess for now | | is in the Exjs encodeValue vs decodeValue (though i havent hacked | | it | | fully) . Why? because why i changed the state to a cookie provider | | it works... the structure of the cookie value is abit different | | from | | the stored value in the db. | | | Db values | | | ----------------------------------------------------------------------- | | | { | | | name: 'grid_152', | | | value : | | "o:columns=a:o%3Aid%3Ds%253Ah1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah2%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah3%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah4%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah5%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah6%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah7%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah8%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah9%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah10%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah11%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah12%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah13%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah14%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah15%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah16%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah17%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah18%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah19%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah20%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah21%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah22%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah23%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah24%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah25%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah26%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah27%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah28%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah29%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah30%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah31%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah32%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah33%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah34%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah35%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah36%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah37%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah38%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah39%5Esortable%3Db%253A0^filters=o:" | | | } | | | cookie value | | | ----------------------------------------------------------------------- | | | { | | | name: 'grid_152', | | | value : | | "o%3Aid%3Ds%253Ah1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah2%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah3%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah4%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah5%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah6%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah7%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah8%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah9%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah10%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah11%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah12%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah13%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah14%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah15%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah16%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah17%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah18%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah19%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah20%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah21%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah22%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah23%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah24%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah25%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah26%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah27%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah28%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah29%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah30%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah31%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah32%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah33%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah34%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah35%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah36%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah37%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah38%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah39%5Esortable%3Db%253A0^filters=o:" | | | }; | | | Can someone help me with steps on posting, code on JSFiddle.. | | (Sencha | | is Package Specific my plugin is on Ex.State) ? | | | Thanks. | | | On Wed, Jul 3, 2013 at 5:00 PM, Steve Obbayi < steve@sobbayi.com > | | wrote: | | | | 1. What do you mean by "sencha will not bulge" | | | | | | 2. Get rid of the commas after the last configs | | | | | | 3. What other errors are you getting from your console.log it | | | will | | | be | | | easier to start from there. | | | | | | 4. Can you post your code on http://jsfiddle.net/ then share the | | | link | | | before I go in and see what you are doing wrong :) | | | | | | | From: "Ken Muturi" < muturiken@gmail.com > | | | | | | | | | | To: "Skunkworks Mailing List" < skunkworks@lists.my.co.ke > | | | | | | | | | | Sent: Miércoles, 3 de Julio 2013 12:02:05 | | | | | | | | | | Subject: Re: [Skunkworks] Ext.state.HttpProvider to store state | | | | in | | | | database | | | | | | | | | | People :- | | | | | | | | | | I have created my own plugin for the above by extending | | | | Ext.state.Provider that saves the state of a grid to a db | | | | (filters, | | | | grouping, sorting, column size, etc) :- | | | | | | | | | | Ext.define('Ext.state.HttpProvider', { | | | | | | | | | | extend: 'Ext.state.Provider', | | | | | | | | | | constructor: function(config) { | | | | | | | | | | Ext.state.HttpProvider.superclass.constructor.call(this); | | | | | | | | | | this.url = ""; | | | | | | | | | | Ext.apply(this, config); | | | | | | | | | | this.state = this.readValues(); | | | | | | | | | | }, | | | | | | | | | | // private | | | | | | | | | | set : function(name, value){ | | | | | | | | | | if(typeof value == "undefined" || value === null){ | | | | | | | | | | this.clear(name); | | | | | | | | | | return; | | | | | | | | | | } | | | | | | | | | | this.setValue(name, value); | | | | | | | | | | Ext.state.HttpProvider.superclass.set.call(this, name, value); | | | | | | | | | | }, | | | | | | | | | | // private | | | | | | | | | | clear : function(name){ | | | | | | | | | | this.clearValue(name); | | | | | | | | | | Ext.state.HttpProvider.superclass.clear.call(this, name); | | | | | | | | | | }, | | | | | | | | | | // private | | | | | | | | | | readValues : function(){ | | | | | | | | | | var state = {}; | | | | | | | | | | for (var name in ExtState) | | | | | | | | | | { | | | | | | | | | | if(name!='remove') | | | | | | | | | | { | | | | | | | | | | state[name] = this.decodeValue(ExtState[name]); | | | | | | | | | | } | | | | | | | | | | } | | | | | | | | | | return state; | | | | | | | | | | }, | | | | | | | | | | // private | | | | | | | | | | setValue : function(name, value){ | | | | | | | | | | var conn = new Ext.data.Connection(); | | | | | | | | | | conn.request({ | | | | | | | | | | url: this.url, | | | | | | | | | | params: {task: 'set', 'name': name, 'value': | | | | this.encodeValue(value) | | | | }, | | | | | | | | | | }); | | | | | | | | | | }, | | | | | | | | | | // private | | | | | | | | | | clearValue : function(name){ | | | | | | | | | | var conn = new Ext.data.Connection(); | | | | | | | | | | conn.request({ | | | | | | | | | | url: this.url, | | | | | | | | | | params: {task: 'set', 'name': name, 'value': 'null' }, | | | | | | | | | | }); | | | | | | | | | | } | | | | | | | | | | }); | | | | | | | | | | // calling it from the grid. | | | | | | | | | | var ExtState = Ext.decode('<?php echo json_encode($grid_state); | | | | ?>'); | | | | | | | | | | var _cp = Ext.create('Ext.state.HttpProvider', { url: | | | | save_grid_state_url }); | | | | | | | | | | Ext.state.Manager.setProvider(cp); | | | | | | | | | | On console.log @ readValues() and setValues() they have the | | | | correct | | | | Extjs4 grid state but sencha will not bulge. | | | | | | | | | | Has someone worked on something like this before ? | | | | | | | | | | On Wed, Jul 3, 2013 at 9:49 AM, Ken Muturi < | | | | muturiken@gmail.com | | | | > | | | | wrote: | | | | | | | | | | | Has anyone done some Sencha Grid (4.1) magic using | | | | | Ext.state.HttpProvider ? | | | | | | | | | | | | | | | When i do: | | | | | | | | | | | | | | | Ext.state.Manager.getProvider().initState( state_saved_in_db | | | | | ); | | | | | // | | | | | [{"name":"grid-32","value":"............."}}] | | | | | | | | | | | | | | | It Seems not to work | | | | | | | | | | | | | | _______________________________________________ | | | | | | | | | | skunkworks mailing list | | | | | | | | | | skunkworks@lists.my.co.ke | | | | | | | | | | ------------ | | | | | | | | | | List info, subscribe/unsubscribe | | | | | | | | | | http://lists.my.co.ke/cgi-bin/mailman/listinfo/skunkworks | | | | | | | | | | ------------ | | | | | | | | | | Skunkworks Rules | | | | | | | | | | http://my.co.ke/phpbb/viewtopic.php?f=24&t=94 | | | | | | | | | | ------------ | | | | | | | | | | Other services @ http://my.co.ke | | | | | | | | | _______________________________________________ | | | | | | skunkworks mailing list | | | | | | skunkworks@lists.my.co.ke | | | | | | ------------ | | | | | | List info, subscribe/unsubscribe | | | | | | http://lists.my.co.ke/cgi-bin/mailman/listinfo/skunkworks | | | | | | ------------ | | | | | | Skunkworks Rules | | | | | | http://my.co.ke/phpbb/viewtopic.php?f=24&t=94 | | | | | | ------------ | | | | | | Other services @ http://my.co..ke | | | | _______________________________________________ | skunkworks mailing list | skunkworks@lists.my.co.ke | ------------ | List info, subscribe/unsubscribe | http://lists.my.co.ke/cgi-bin/mailman/listinfo/skunkworks | ------------ | Skunkworks Rules | http://my.co.ke/phpbb/viewtopic.php?f=24&t=94 | ------------ | Other services @ http://my.co.ke

You can set up Extjs on Fiddle. Just paste your code in the appropriate fields (they are labeled), select the library. I believe you are using Extjs 4.1.x then hit run. Or when you're ready post it back here ----- Original Message ----- | From: "Ken Muturi" <muturiken@gmail.com> | To: "Skunkworks Mailing List" <skunkworks@lists.my.co.ke> | Sent: Miércoles, 3 de Julio 2013 15:24:10 | Subject: Re: [Skunkworks] Ext.state.HttpProvider to store state in | database | Am not getting any errors from the console.log().. My quess for now | is in the Exjs encodeValue vs decodeValue (though i havent hacked it | fully) . Why? because why i changed the state to a cookie provider | it works... the structure of the cookie value is abit different from | the stored value in the db. | Db values | ----------------------------------------------------------------------- | { | name: 'grid_152', | value : | "o:columns=a:o%3Aid%3Ds%253Ah1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah2%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah3%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah4%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah5%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah6%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah7%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah8%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah9%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah10%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah11%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah12%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah13%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah14%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah15%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah16%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah17%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah18%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah19%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah20%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah21%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah22%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah23%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah24%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah25%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah26%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah27%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah28%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah29%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah30%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah31%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah32%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah33%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah34%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah35%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah36%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah37%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah38%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah39%5Esortable%3Db%253A0^filters=o:" | } | cookie value | ----------------------------------------------------------------------- | { | name: 'grid_152', | value : | "o%3Aid%3Ds%253Ah1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah2%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah3%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah4%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah5%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah6%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah7%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah8%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah9%5Ehidden%3Db%253A1%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah10%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah11%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah12%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah13%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah14%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah15%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah16%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah17%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah18%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah19%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah20%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah21%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah22%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah23%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah24%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah25%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah26%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah27%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah28%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah29%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah30%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah31%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah32%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah33%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah34%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah35%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah36%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah37%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah38%5Esortable%3Db%253A0^o%3Aid%3Ds%253Ah39%5Esortable%3Db%253A0^filters=o:" | }; | Can someone help me with steps on posting, code on JSFiddle.. (Sencha | is Package Specific my plugin is on Ex.State) ? | Thanks. | On Wed, Jul 3, 2013 at 5:00 PM, Steve Obbayi < steve@sobbayi.com > | wrote: | | 1. What do you mean by "sencha will not bulge" | | | 2. Get rid of the commas after the last configs | | | 3. What other errors are you getting from your console.log it will | | be | | easier to start from there. | | | 4. Can you post your code on http://jsfiddle.net/ then share the | | link | | before I go in and see what you are doing wrong :) | | | | From: "Ken Muturi" < muturiken@gmail.com > | | | | | | To: "Skunkworks Mailing List" < skunkworks@lists.my.co.ke > | | | | | | Sent: Miércoles, 3 de Julio 2013 12:02:05 | | | | | | Subject: Re: [Skunkworks] Ext.state.HttpProvider to store state | | | in | | | database | | | | | | People :- | | | | | | I have created my own plugin for the above by extending | | | Ext.state.Provider that saves the state of a grid to a db | | | (filters, | | | grouping, sorting, column size, etc) :- | | | | | | Ext.define('Ext.state.HttpProvider', { | | | | | | extend: 'Ext.state.Provider', | | | | | | constructor: function(config) { | | | | | | Ext.state.HttpProvider.superclass.constructor.call(this); | | | | | | this.url = ""; | | | | | | Ext.apply(this, config); | | | | | | this.state = this.readValues(); | | | | | | }, | | | | | | // private | | | | | | set : function(name, value){ | | | | | | if(typeof value == "undefined" || value === null){ | | | | | | this.clear(name); | | | | | | return; | | | | | | } | | | | | | this.setValue(name, value); | | | | | | Ext.state.HttpProvider.superclass.set.call(this, name, value); | | | | | | }, | | | | | | // private | | | | | | clear : function(name){ | | | | | | this.clearValue(name); | | | | | | Ext.state.HttpProvider.superclass.clear.call(this, name); | | | | | | }, | | | | | | // private | | | | | | readValues : function(){ | | | | | | var state = {}; | | | | | | for (var name in ExtState) | | | | | | { | | | | | | if(name!='remove') | | | | | | { | | | | | | state[name] = this.decodeValue(ExtState[name]); | | | | | | } | | | | | | } | | | | | | return state; | | | | | | }, | | | | | | // private | | | | | | setValue : function(name, value){ | | | | | | var conn = new Ext.data.Connection(); | | | | | | conn.request({ | | | | | | url: this.url, | | | | | | params: {task: 'set', 'name': name, 'value': | | | this.encodeValue(value) | | | }, | | | | | | }); | | | | | | }, | | | | | | // private | | | | | | clearValue : function(name){ | | | | | | var conn = new Ext.data.Connection(); | | | | | | conn.request({ | | | | | | url: this.url, | | | | | | params: {task: 'set', 'name': name, 'value': 'null' }, | | | | | | }); | | | | | | } | | | | | | }); | | | | | | // calling it from the grid. | | | | | | var ExtState = Ext.decode('<?php echo json_encode($grid_state); | | | ?>'); | | | | | | var _cp = Ext.create('Ext.state.HttpProvider', { url: | | | save_grid_state_url }); | | | | | | Ext.state.Manager.setProvider(cp); | | | | | | On console.log @ readValues() and setValues() they have the | | | correct | | | Extjs4 grid state but sencha will not bulge. | | | | | | Has someone worked on something like this before ? | | | | | | On Wed, Jul 3, 2013 at 9:49 AM, Ken Muturi < muturiken@gmail.com | | | > | | | wrote: | | | | | | | Has anyone done some Sencha Grid (4.1) magic using | | | | Ext.state.HttpProvider ? | | | | | | | | | | When i do: | | | | | | | | | | Ext.state.Manager.getProvider().initState( state_saved_in_db ); | | | | // | | | | [{"name":"grid-32","value":"............."}}] | | | | | | | | | | It Seems not to work | | | | | | | | | _______________________________________________ | | | | | | skunkworks mailing list | | | | | | skunkworks@lists.my.co.ke | | | | | | ------------ | | | | | | List info, subscribe/unsubscribe | | | | | | http://lists.my.co.ke/cgi-bin/mailman/listinfo/skunkworks | | | | | | ------------ | | | | | | Skunkworks Rules | | | | | | http://my.co.ke/phpbb/viewtopic.php?f=24&t=94 | | | | | | ------------ | | | | | | Other services @ http://my.co.ke | | | | | _______________________________________________ | | | skunkworks mailing list | | | skunkworks@lists.my.co.ke | | | ------------ | | | List info, subscribe/unsubscribe | | | http://lists.my.co.ke/cgi-bin/mailman/listinfo/skunkworks | | | ------------ | | | Skunkworks Rules | | | http://my.co.ke/phpbb/viewtopic.php?f=24&t=94 | | | ------------ | | | Other services @ http://my.co..ke | | _______________________________________________ | skunkworks mailing list | skunkworks@lists.my.co.ke | ------------ | List info, subscribe/unsubscribe | http://lists.my.co.ke/cgi-bin/mailman/listinfo/skunkworks | ------------ | Skunkworks Rules | http://my.co.ke/phpbb/viewtopic.php?f=24&t=94 | ------------ | Other services @ http://my.co.ke
participants (2)
-
Ken Muturi
-
Steve Obbayi