summaryrefslogtreecommitdiffstats
path: root/examples/example-grouping.html
diff options
context:
space:
mode:
authormleibman <michael.leibman@gmail.com>2011-03-06 14:15:38 -0800
committermleibman <michael.leibman@gmail.com>2011-03-06 14:15:38 -0800
commitb192b6c4837df5bfac425cf4fad0568d7cc80a56 (patch)
tree07ea3f5aa20aa7cef919dd64e0328c9689f15818 /examples/example-grouping.html
parent686ad90518d85722544d29eb0a8ad912903f679c (diff)
downloadSlickGrid-b192b6c4837df5bfac425cf4fad0568d7cc80a56.zip
SlickGrid-b192b6c4837df5bfac425cf4fad0568d7cc80a56.tar.gz
SlickGrid-b192b6c4837df5bfac425cf4fad0568d7cc80a56.tar.bz2
Moved group and totals row handling out of DataView and client pages and into a Slick.Data.GroupItemMetadataProvider responsible for overriding the look and behavior of group and totals rows and providing expand/collapse functionality by acting as a grid plugin (still needs to be registered with the grid on the client page).
Diffstat (limited to 'examples/example-grouping.html')
-rw-r--r--examples/example-grouping.html24
1 files changed, 8 insertions, 16 deletions
diff --git a/examples/example-grouping.html b/examples/example-grouping.html
index 8de867e..eceb485 100644
--- a/examples/example-grouping.html
+++ b/examples/example-grouping.html
@@ -75,6 +75,7 @@
<script src="../plugins/slick.cellrangeselector.js"></script>
<script src="../plugins/slick.cellselectionmodel.js"></script>
<script src="../slick.grid.js"></script>
+ <script src="../slick.groupitemmetadataprovider.js"></script>
<script src="../slick.dataview.js"></script>
<script src="../controls/slick.pager.js"></script>
<script src="../controls/slick.columnpicker.js"></script>
@@ -217,29 +218,20 @@
d["effortDriven"] = (i % 5 == 0);
}
-
- dataView = new Slick.Data.DataView();
+ var groupItemMetadataProvider = new Slick.Data.GroupItemMetadataProvider();
+ dataView = new Slick.Data.DataView({
+ groupItemMetadataProvider: groupItemMetadataProvider
+ });
grid = new Slick.Grid("#myGrid", dataView, columns, options);
+ // register the group item metadata provider to add expand/collapse group handlers
+ grid.registerPlugin(groupItemMetadataProvider);
+
grid.setSelectionModel(new Slick.CellSelectionModel());
var pager = new Slick.Controls.Pager(dataView, grid, $("#pager"));
var columnpicker = new Slick.Controls.ColumnPicker(columns, grid, options);
- grid.onClick.subscribe(function(e, args) {
- var item = this.getDataItem(args.row);
- if (item && item instanceof Slick.Group && $(e.target).hasClass("slick-group-toggle")) {
- if (item.collapsed) {
- this.getData().expandGroup(item.value);
- }
- else {
- this.getData().collapseGroup(item.value);
- }
-
- e.stopImmediatePropagation();
- e.preventDefault();
- }
- });
grid.onSort.subscribe(function(e, args) {
sortdir = args.sortAsc ? 1 : -1;