Browse Source

add multiple grid support to gridData

tags/2.0.0-beta
Antonio Ramirez 11 years ago
parent
commit
f1bf859434
  1. 12
      framework/assets/yii.gridView.js

12
framework/assets/yii.gridView.js

@ -33,7 +33,7 @@
return this.each(function () { return this.each(function () {
var $e = $(this); var $e = $(this);
var settings = $.extend({}, defaults, options || {}); var settings = $.extend({}, defaults, options || {});
gridData.settings = settings; gridData[$e.prop('id')] = {settings: settings};
var enterPressed = false; var enterPressed = false;
$(document).on('change.yiiGridView keydown.yiiGridView', settings.filterSelector, function (event) { $(document).on('change.yiiGridView keydown.yiiGridView', settings.filterSelector, function (event) {
@ -60,7 +60,7 @@
applyFilter: function () { applyFilter: function () {
var $grid = $(this); var $grid = $(this);
var settings = gridData.settings; var settings = gridData[$grid.prop('id')].settings;
var data = {}; var data = {};
$.each($(settings.filterSelector).serializeArray(), function () { $.each($(settings.filterSelector).serializeArray(), function () {
data[this.name] = this.value; data[this.name] = this.value;
@ -86,12 +86,12 @@
setSelectionColumn: function (options) { setSelectionColumn: function (options) {
var $grid = $(this); var $grid = $(this);
var id = $(this).prop('id'); var id = $(this).prop('id');
gridData.selectionColumn = options.name; gridData[id].selectionColumn = options.name;
if (!options.multiple) { if (!options.multiple) {
return; return;
} }
var inputs = "#" + id + " input[name='" + options.checkAll + "']"; var inputs = "#" + id + " input[name='" + options.checkAll + "']";
$(document).off('click.yiiGridView', inputs ).on('click.yiiGridView', inputs, function () { $(document).off('click.yiiGridView', inputs).on('click.yiiGridView', inputs, function () {
$grid.find("input[name='" + options.name + "']:enabled").prop('checked', this.checked); $grid.find("input[name='" + options.name + "']:enabled").prop('checked', this.checked);
}); });
$(document).off('click.yiiGridView', inputs + ":enabled").on('click.yiiGridView', inputs + ":enabled", function () { $(document).off('click.yiiGridView', inputs + ":enabled").on('click.yiiGridView', inputs + ":enabled", function () {
@ -102,7 +102,7 @@
getSelectedRows: function () { getSelectedRows: function () {
var $grid = $(this); var $grid = $(this);
var data = $grid.data('yiiGridView'); var data = gridData[$grid.prop('id')];
var keys = []; var keys = [];
if (data.selectionColumn) { if (data.selectionColumn) {
$grid.find("input[name='" + data.selectionColumn + "']:checked").each(function () { $grid.find("input[name='" + data.selectionColumn + "']:checked").each(function () {
@ -119,7 +119,7 @@
}); });
}, },
data: function() { data: function () {
return this.data('yiiGridView'); return this.data('yiiGridView');
} }
}; };

Loading…
Cancel
Save