Skip to content

Commit

Permalink
Adds cell coordinates to handleCopy
Browse files Browse the repository at this point in the history
  • Loading branch information
patrick-jones committed Jun 3, 2017
1 parent e4e769b commit 4ecc60a
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 15 deletions.
7 changes: 3 additions & 4 deletions lib/DataSheet.js
Original file line number Diff line number Diff line change
Expand Up @@ -129,11 +129,10 @@ var DataSheet = function (_PureComponent) {

var text = range(start.i, end.i).map(function (i) {
return range(start.j, end.j).map(function (j) {
return data[i][j];
}).map(function (cell) {
var value = dataRenderer ? dataRenderer(cell) : null;
var cell = data[i][j];
var value = dataRenderer ? dataRenderer(cell, i, j) : null;
if (value === '' || value === null || typeof value === 'undefined') {
return valueRenderer(cell);
return valueRenderer(cell, i, j);
}
return value;
}).join('\t');
Expand Down
16 changes: 8 additions & 8 deletions src/DataSheet.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,14 +82,14 @@ export default class DataSheet extends PureComponent {


const text = range(start.i, end.i).map((i) =>
range(start.j, end.j).map(j => data[i][j])
.map(cell => {
let value = dataRenderer ? dataRenderer(cell) : null;
if (value === '' || value === null || typeof(value) === 'undefined') {
return valueRenderer(cell);
}
return value;
}).join('\t')
range(start.j, end.j).map(j => {
const cell = data[i][j];
const value = dataRenderer ? dataRenderer(cell, i, j) : null;
if (value === '' || value === null || typeof(value) === 'undefined') {
return valueRenderer(cell, i, j);
}
return value;
}).join('\t')
).join('\n');
e.clipboardData.setData('text/plain', text);
}
Expand Down
6 changes: 3 additions & 3 deletions test/Datasheet.js
Original file line number Diff line number Diff line change
Expand Up @@ -804,16 +804,16 @@ describe('Component', () => {
customWrapper = mount(
<DataSheet
data = {data}
valueRenderer = {(cell) => cell.data}
dataRenderer = {(cell) => "=+" + cell.data}
valueRenderer = {(cell, i, j) => cell.data}
dataRenderer = {(cell, i, j) => "{" + i + "," + j + "}" + cell.data}
onChange = {(cell, i, j, value) => data[i][j].data = value}
/>
);
customWrapper.find('td').at(0).simulate('mouseDown');
customWrapper.find('td').at(3).simulate('mouseOver');

document.dispatchEvent(evt);
expect(copied).toEqual("=+4\t=+2\n=+3\t=+5");
expect(copied).toEqual("{0,0}4\t{0,1}2\n{1,0}3\t{1,1}5");
})

it('copies no data if there isn\'t anything selected', () => {
Expand Down

0 comments on commit 4ecc60a

Please sign in to comment.