fix ie issue to convert document to screen coordinates
This commit is contained in:
parent
5955289793
commit
05fd6df8fe
3 changed files with 20 additions and 7 deletions
|
|
@ -115,11 +115,10 @@
|
|||
</div>
|
||||
|
||||
<script type="text/editor" id="jstext">function foo(items) {
|
||||
for (var i=0; i<items.length; i++) {
|
||||
alert(items[i] + "juhu";
|
||||
}
|
||||
}
|
||||
</script>
|
||||
for (var i=0; i<items.length; i++) {
|
||||
alert(items[i] + "juhu";
|
||||
}
|
||||
}</script>
|
||||
|
||||
<script type="text/editor" id="csstext">.text-layer {
|
||||
font-family: Monaco, "Courier New", monospace;
|
||||
|
|
|
|||
|
|
@ -228,7 +228,7 @@ ace.VirtualRenderer = function(container) {
|
|||
var screenColumn = 0;
|
||||
var remaining = docColumn;
|
||||
|
||||
var line = this.doc.getLine(row).split(/\t/g);
|
||||
var line = this.doc.getLine(row).split("\t");
|
||||
for (var i=0; i<line.length; i++) {
|
||||
var len = line[i].length;
|
||||
if (remaining > len) {
|
||||
|
|
@ -240,6 +240,7 @@ ace.VirtualRenderer = function(container) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return screenColumn;
|
||||
};
|
||||
|
||||
|
|
@ -249,7 +250,7 @@ ace.VirtualRenderer = function(container) {
|
|||
var docColumn = 0;
|
||||
var remaining = screenColumn;
|
||||
|
||||
var line = this.doc.getLine(row).split(/\t/g);
|
||||
var line = this.doc.getLine(row).split("\t");
|
||||
for (var i=0; i<line.length; i++) {
|
||||
var len = line[i].length;
|
||||
if (remaining >= len + tabSize) {
|
||||
|
|
|
|||
|
|
@ -25,6 +25,19 @@ var VirtualRendererTest = new TestCase("VirtualRendererTest", {
|
|||
assertEquals(15, renderer.$documentToScreenColumn(0, 13));
|
||||
},
|
||||
|
||||
"test: convert document to scrren coordinates with leading tabs": function() {
|
||||
var el = document.createElement("div");
|
||||
var renderer = new ace.VirtualRenderer(el);
|
||||
|
||||
var doc = new ace.Document("\t\t123");
|
||||
doc.setTabSize(4);
|
||||
renderer.setDocument(doc);
|
||||
assertEquals(0, renderer.$documentToScreenColumn(0, 0));
|
||||
assertEquals(4, renderer.$documentToScreenColumn(0, 1));
|
||||
assertEquals(8, renderer.$documentToScreenColumn(0, 2));
|
||||
assertEquals(9, renderer.$documentToScreenColumn(0, 3));
|
||||
},
|
||||
|
||||
"test: convert screen to document coordinates" : function() {
|
||||
var el = document.createElement("div");
|
||||
var renderer = new ace.VirtualRenderer(el);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue