[#128,state][s]: move to simpler state serialization for backend/dataset in which we just store url attribute of dataset (if present).
This commit is contained in:
@@ -31,6 +31,11 @@ Running the tests by opening `test/index.html` in your browser.
|
|||||||
|
|
||||||
In progress.
|
In progress.
|
||||||
|
|
||||||
|
Possible breaking changes:
|
||||||
|
|
||||||
|
* State only stores backend (name) and dataset url (in url field) rather than entire dataset object
|
||||||
|
* Backends heavily reorganized
|
||||||
|
|
||||||
### v0.4 - April 26th 2012
|
### v0.4 - April 26th 2012
|
||||||
|
|
||||||
[23 closed issues](https://github.com/okfn/recline/issues?milestone=2&page=1&state=closed) including:
|
[23 closed issues](https://github.com/okfn/recline/issues?milestone=2&page=1&state=closed) including:
|
||||||
|
|||||||
10
src/model.js
10
src/model.js
@@ -156,11 +156,8 @@ my.Dataset = Backbone.Model.extend({
|
|||||||
// ...
|
// ...
|
||||||
// }
|
// }
|
||||||
my.Dataset.restore = function(state) {
|
my.Dataset.restore = function(state) {
|
||||||
// hack-y - restoring a memory dataset does not mean much ...
|
|
||||||
var dataset = null;
|
var dataset = null;
|
||||||
if (state.url && !state.dataset) {
|
// hack-y - restoring a memory dataset does not mean much ...
|
||||||
state.dataset = {url: state.url};
|
|
||||||
}
|
|
||||||
if (state.backend === 'memory') {
|
if (state.backend === 'memory') {
|
||||||
dataset = recline.Backend.Memory.createDataset(
|
dataset = recline.Backend.Memory.createDataset(
|
||||||
[{stub: 'this is a stub dataset because we do not restore memory datasets'}],
|
[{stub: 'this is a stub dataset because we do not restore memory datasets'}],
|
||||||
@@ -168,8 +165,11 @@ my.Dataset.restore = function(state) {
|
|||||||
state.dataset // metadata
|
state.dataset // metadata
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
|
var datasetInfo = {
|
||||||
|
url: state.url
|
||||||
|
};
|
||||||
dataset = new recline.Model.Dataset(
|
dataset = new recline.Model.Dataset(
|
||||||
state.dataset,
|
datasetInfo,
|
||||||
state.backend
|
state.backend
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -363,7 +363,7 @@ my.DataExplorer = Backbone.View.extend({
|
|||||||
query: query,
|
query: query,
|
||||||
'view-graph': graphState,
|
'view-graph': graphState,
|
||||||
backend: this.model.backend.__type__,
|
backend: this.model.backend.__type__,
|
||||||
dataset: this.model.toJSON(),
|
url: this.model.get('url'),
|
||||||
currentView: null,
|
currentView: null,
|
||||||
readOnly: false
|
readOnly: false
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ test('get State', function () {
|
|||||||
var $el = $('<div class="test-view-explorer-getstate" />');
|
var $el = $('<div class="test-view-explorer-getstate" />');
|
||||||
$('.fixtures .data-explorer-here').append($el);
|
$('.fixtures .data-explorer-here').append($el);
|
||||||
var dataset = Fixture.getDataset();
|
var dataset = Fixture.getDataset();
|
||||||
|
var url = 'xyz';
|
||||||
|
dataset.set({url: url});
|
||||||
var explorer = new recline.View.DataExplorer({
|
var explorer = new recline.View.DataExplorer({
|
||||||
model: dataset,
|
model: dataset,
|
||||||
el: $el
|
el: $el
|
||||||
@@ -31,7 +33,7 @@ test('get State', function () {
|
|||||||
deepEqual(state.get('view-grid').hiddenFields, []);
|
deepEqual(state.get('view-grid').hiddenFields, []);
|
||||||
deepEqual(state.get('view-graph').group, null);
|
deepEqual(state.get('view-graph').group, null);
|
||||||
equal(state.get('backend'), 'memory');
|
equal(state.get('backend'), 'memory');
|
||||||
ok(state.get('dataset').id !== null);
|
ok(state.get('url') === url);
|
||||||
$el.remove();
|
$el.remove();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user