[#88,refactor][s]: create recline.Model.Dataset.restore function and move dataset restore stuff there from recline.View.DataExplorer.restore.
This commit is contained in:
30
src/model.js
30
src/model.js
@@ -141,6 +141,36 @@ my.Dataset = Backbone.Model.extend({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// ### Dataset.restore
|
||||||
|
//
|
||||||
|
// Restore a Dataset instance from a serialized state. Serialized state for a
|
||||||
|
// Dataset is an Object like:
|
||||||
|
//
|
||||||
|
// <pre>
|
||||||
|
// {
|
||||||
|
// backend: {backend type - i.e. value of dataset.backend.__type__}
|
||||||
|
// dataset: {result of dataset.toJSON()}
|
||||||
|
// ...
|
||||||
|
// }
|
||||||
|
my.Dataset.restore = function(state) {
|
||||||
|
// hack-y - restoring a memory dataset does not mean much ...
|
||||||
|
var dataset = null;
|
||||||
|
if (state.backend === 'memory') {
|
||||||
|
dataset = recline.Backend.createDataset(
|
||||||
|
[{stub: 'this is a stub dataset because we do not restore memory datasets'}],
|
||||||
|
[],
|
||||||
|
state.dataset
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
dataset = new recline.Model.Dataset(
|
||||||
|
state.dataset,
|
||||||
|
state.backend
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return dataset;
|
||||||
|
};
|
||||||
|
|
||||||
// ## <a id="document">A Document (aka Row)</a>
|
// ## <a id="document">A Document (aka Row)</a>
|
||||||
//
|
//
|
||||||
// A single entry or row in the dataset
|
// A single entry or row in the dataset
|
||||||
|
|||||||
19
src/view.js
19
src/view.js
@@ -140,6 +140,10 @@ this.recline.View = this.recline.View || {};
|
|||||||
// readOnly: (default: false) run in read-only mode
|
// readOnly: (default: false) run in read-only mode
|
||||||
// }
|
// }
|
||||||
// </pre>
|
// </pre>
|
||||||
|
//
|
||||||
|
// Note that at present we do *not* serialize information about the actual set
|
||||||
|
// of views in use -- e.g. those specified by the views argument. Instead we
|
||||||
|
// expect the client to have initialized the DataExplorer with the relevant views.
|
||||||
my.DataExplorer = Backbone.View.extend({
|
my.DataExplorer = Backbone.View.extend({
|
||||||
template: ' \
|
template: ' \
|
||||||
<div class="recline-data-explorer"> \
|
<div class="recline-data-explorer"> \
|
||||||
@@ -362,20 +366,7 @@ my.DataExplorer = Backbone.View.extend({
|
|||||||
//
|
//
|
||||||
// Restore a DataExplorer instance from a serialized state including the associated dataset
|
// Restore a DataExplorer instance from a serialized state including the associated dataset
|
||||||
my.DataExplorer.restore = function(state) {
|
my.DataExplorer.restore = function(state) {
|
||||||
// hack-y - restoring a memory dataset does not mean much ...
|
var dataset = recline.Model.Dataset.restore(state);
|
||||||
var dataset = null;
|
|
||||||
if (state.backend === 'memory') {
|
|
||||||
dataset = recline.Backend.createDataset(
|
|
||||||
[{stub: 'this is a stub dataset because we do not restore memory datasets'}],
|
|
||||||
[],
|
|
||||||
state.dataset
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
dataset = new recline.Model.Dataset(
|
|
||||||
state.dataset,
|
|
||||||
state.backend
|
|
||||||
);
|
|
||||||
}
|
|
||||||
var explorer = new my.DataExplorer({
|
var explorer = new my.DataExplorer({
|
||||||
model: dataset,
|
model: dataset,
|
||||||
state: state
|
state: state
|
||||||
|
|||||||
Reference in New Issue
Block a user