Fix multiselectable and unselect rows isues on Table component

old
VictorMolano 2016-07-24 12:40:53 -05:00
parent 88bc765121
commit 5ccd6dae01
4 changed files with 31 additions and 21 deletions

1
.gitignore vendored
View File

@ -2,3 +2,4 @@ build
node_modules
npm-debug.log
.idea
.DS_Store

View File

@ -44,10 +44,14 @@ const factory = (TableHead, TableRow) => {
if (this.props.onSelect) {
const position = this.props.selected.indexOf(index);
let newSelected = [...this.props.selected];
if (position !== -1) { newSelected.splice(position, 1); }
if (position !== -1 && this.props.multiSelectable) {
if (position !== -1) {
newSelected = newSelected.filter((el,idx)=>{ return (idx != position); });
}
else if (this.props.multiSelectable) {
newSelected.push(index);
} else {
}
else {
newSelected = [index];
}
this.props.onSelect(newSelected);

View File

@ -8,7 +8,7 @@ exports.TimePicker = exports.Tooltip = exports.Table = exports.Switch = exports.
var _button = require('./button');
Object.keys(_button).forEach(function (key) {
if (key === "default") return;
if (key === "default" || key === "__esModule") return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
@ -20,7 +20,7 @@ Object.keys(_button).forEach(function (key) {
var _card = require('./card');
Object.keys(_card).forEach(function (key) {
if (key === "default") return;
if (key === "default" || key === "__esModule") return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
@ -32,7 +32,7 @@ Object.keys(_card).forEach(function (key) {
var _layout = require('./layout');
Object.keys(_layout).forEach(function (key) {
if (key === "default") return;
if (key === "default" || key === "__esModule") return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
@ -44,7 +44,7 @@ Object.keys(_layout).forEach(function (key) {
var _list = require('./list');
Object.keys(_list).forEach(function (key) {
if (key === "default") return;
if (key === "default" || key === "__esModule") return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
@ -56,7 +56,7 @@ Object.keys(_list).forEach(function (key) {
var _menu = require('./menu');
Object.keys(_menu).forEach(function (key) {
if (key === "default") return;
if (key === "default" || key === "__esModule") return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
@ -68,7 +68,7 @@ Object.keys(_menu).forEach(function (key) {
var _radio = require('./radio');
Object.keys(_radio).forEach(function (key) {
if (key === "default") return;
if (key === "default" || key === "__esModule") return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
@ -80,7 +80,7 @@ Object.keys(_radio).forEach(function (key) {
var _tabs = require('./tabs');
Object.keys(_tabs).forEach(function (key) {
if (key === "default") return;
if (key === "default" || key === "__esModule") return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {

View File

@ -69,17 +69,22 @@ var factory = function factory(TableHead, TableRow) {
}
}, _this.handleRowSelect = function (index) {
if (_this.props.onSelect) {
var position = _this.props.selected.indexOf(index);
var newSelected = [].concat(_toConsumableArray(_this.props.selected));
if (position !== -1) {
newSelected.splice(position, 1);
}
if (position !== -1 && _this.props.multiSelectable) {
newSelected.push(index);
} else {
newSelected = [index];
}
_this.props.onSelect(newSelected);
(function () {
var position = _this.props.selected.indexOf(index);
var newSelected = [].concat(_toConsumableArray(_this.props.selected));
if (position !== -1) {
newSelected = newSelected.filter(function (el, idx) {
return idx != position;
});
} else {
if (_this.props.multiSelectable) {
newSelected.push(index);
} else {
newSelected = [index];
}
}
_this.props.onSelect(newSelected);
})();
}
}, _this.handleRowChange = function (index, key, value) {
if (_this.props.onChange) {