[#88,view/grid,refactor][s]: switch DataGrid to use new state setup (and introduce new Model ObjectState for this purpose).

* Switched hiddenFields to be part of state object (only state on DataGrid at the moment).
This commit is contained in:
Rufus Pollock
2012-04-14 12:58:39 +01:00
parent 5eb075b14c
commit 670eb1e1de
5 changed files with 63 additions and 28 deletions

View File

@@ -1,6 +1,6 @@
(function ($) {
module("View - Grid");
module("View - DataGrid");
function assertPresent(selector) {
var found = $(selector);
@@ -12,7 +12,7 @@ function assertNotPresent(selector) {
equal(found.length, 0);
}
test('DataGrid - menu - hideColumn', function () {
test('menu - hideColumn', function () {
var dataset = Fixture.getDataset();
var view = new recline.View.DataGrid({
model: dataset
@@ -24,6 +24,24 @@ test('DataGrid - menu - hideColumn', function () {
var hideColumn = view.el.find('.column-header[data-field="x"] a[data-action="hideColumn"]');
hideColumn.trigger('click');
assertNotPresent('.column-header[data-field="x"]');
// also test a bit of state
deepEqual(view.state.toJSON(), {hiddenFields: ['x']});
view.remove();
});
test('state', function () {
var dataset = Fixture.getDataset();
var view = new recline.View.DataGrid({
model: dataset,
state: {
hiddenFields: ['z']
}
});
$('.fixtures .test-datatable').append(view.el);
view.render();
assertPresent('.column-header[data-field="x"]');
assertNotPresent('.column-header[data-field="z"]');
view.remove();
});