add collapse lines in range
This commit is contained in:
parent
062c396432
commit
bfa4748b1b
3 changed files with 24 additions and 8 deletions
|
|
@ -715,16 +715,11 @@ var Editor =function(renderer, doc) {
|
|||
};
|
||||
|
||||
this.$getSelectedRows = function() {
|
||||
var range = this.getSelectionRange();
|
||||
var firstRow = range.start.row;
|
||||
var lastRow = range.end.row;
|
||||
if (range.end.column == 0 && (range.start.row !== range.end.row)) {
|
||||
lastRow -= 1;
|
||||
}
|
||||
var range = this.getSelectionRange().collapseRows();
|
||||
|
||||
return {
|
||||
first: firstRow,
|
||||
last: lastRow
|
||||
first: range.start.row,
|
||||
last: range.end.row
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -137,6 +137,13 @@ var Range = function(startRow, startColumn, endRow, endColumn) {
|
|||
this.clone = function() {
|
||||
return Range.fromPoints(this.start, this.end);
|
||||
};
|
||||
|
||||
this.collapseLines = function() {
|
||||
if (this.end.column == 0)
|
||||
return new Range(this.start.row, 0, Math.max(this.start.row, this.end.row-1), 0)
|
||||
else
|
||||
return new Range(this.start.row, 0, this.end.row, 0)
|
||||
};
|
||||
|
||||
this.toScreenRange = function(doc) {
|
||||
return new Range(
|
||||
|
|
|
|||
|
|
@ -144,6 +144,20 @@ var Test = {
|
|||
|
||||
var range = range.extend(6, 10);
|
||||
assert.range(range, 1, 4, 6, 10);
|
||||
},
|
||||
|
||||
"test: collapse rows" : function() {
|
||||
var range = new Range(0, 2, 1, 2);
|
||||
assert.range(range.collapseRows(), 0, 0, 1, 0);
|
||||
|
||||
var range = new Range(2, 2, 3, 1);
|
||||
assert.range(range.collapseRows(), 2, 0, 3, 0);
|
||||
|
||||
var range = new Range(2, 2, 3, 0);
|
||||
assert.range(range.collapseRows(), 2, 0, 2, 0);
|
||||
|
||||
var range = new Range(2, 0, 2, 0);
|
||||
assert.range(range.collapseRows(), 2, 0, 2, 0);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue