changes for Mozilla Workspace. work in progress, definitely not ready for pull requests! ;)
This commit is contained in:
parent
cc8685c11d
commit
b261c4e4dd
21 changed files with 5254 additions and 28 deletions
|
|
@ -39,10 +39,11 @@ define(function(require, exports, module) {
|
|||
|
||||
var event = require("pilot/event");
|
||||
var useragent = require("pilot/useragent");
|
||||
var XHTML_NS = "http://www.w3.org/1999/xhtml";
|
||||
|
||||
var TextInput = function(parentNode, host) {
|
||||
|
||||
var text = document.createElement("textarea");
|
||||
var text = document.createElementNS(XHTML_NS, "textarea");
|
||||
text.style.left = "-10000px";
|
||||
parentNode.appendChild(text);
|
||||
|
||||
|
|
|
|||
|
|
@ -39,13 +39,14 @@
|
|||
define(function(require, exports, module) {
|
||||
|
||||
var dom = require("pilot/dom");
|
||||
var XHTML_NS = "http://www.w3.org/1999/xhtml";
|
||||
|
||||
var Cursor = function(parentEl) {
|
||||
this.element = document.createElement("div");
|
||||
this.element = document.createElementNS(XHTML_NS, "div");
|
||||
this.element.className = "ace_layer ace_cursor-layer";
|
||||
parentEl.appendChild(this.element);
|
||||
|
||||
this.cursor = document.createElement("div");
|
||||
this.cursor = document.createElementNS(XHTML_NS, "div");
|
||||
this.cursor.className = "ace_cursor";
|
||||
|
||||
this.isVisible = false;
|
||||
|
|
|
|||
|
|
@ -39,9 +39,10 @@
|
|||
define(function(require, exports, module) {
|
||||
|
||||
var dom = require("pilot/dom");
|
||||
var XHTML_NS = "http://www.w3.org/1999/xhtml";
|
||||
|
||||
var Gutter = function(parentEl) {
|
||||
this.element = document.createElement("div");
|
||||
this.element = document.createElementNS(XHTML_NS, "div");
|
||||
this.element.className = "ace_layer ace_gutter-layer";
|
||||
parentEl.appendChild(this.element);
|
||||
|
||||
|
|
@ -110,7 +111,6 @@ var Gutter = function(parentEl) {
|
|||
annotation.className,
|
||||
"' title='", annotation.text.join("\n"),
|
||||
"' style='height:", this.session.getRowHeight(config, i), "px;'>", (i+1), "</div>");
|
||||
html.push("</div>");
|
||||
}
|
||||
this.element = dom.setInnerHtml(this.element, html.join(""));
|
||||
this.element.style.height = config.minHeight + "px";
|
||||
|
|
|
|||
|
|
@ -40,9 +40,10 @@ define(function(require, exports, module) {
|
|||
|
||||
var Range = require("ace/range").Range;
|
||||
var dom = require("pilot/dom");
|
||||
var XHTML_NS = "http://www.w3.org/1999/xhtml";
|
||||
|
||||
var Marker = function(parentEl) {
|
||||
this.element = document.createElement("div");
|
||||
this.element = document.createElementNS(XHTML_NS, "div");
|
||||
this.element.className = "ace_layer ace_marker-layer";
|
||||
parentEl.appendChild(this.element);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -43,8 +43,10 @@ var dom = require("pilot/dom");
|
|||
var lang = require("pilot/lang");
|
||||
var EventEmitter = require("pilot/event_emitter").EventEmitter;
|
||||
|
||||
var XHTML_NS = "http://www.w3.org/1999/xhtml";
|
||||
|
||||
var Text = function(parentEl) {
|
||||
this.element = document.createElement("div");
|
||||
this.element = document.createElementNS(XHTML_NS, "div");
|
||||
this.element.className = "ace_layer ace_text-layer";
|
||||
parentEl.appendChild(this.element);
|
||||
|
||||
|
|
@ -95,7 +97,7 @@ var Text = function(parentEl) {
|
|||
this.$measureSizes = function() {
|
||||
var n = 1000;
|
||||
if (!this.$measureNode) {
|
||||
var measureNode = this.$measureNode = document.createElement("div");
|
||||
var measureNode = this.$measureNode = document.createElementNS(XHTML_NS, "div");
|
||||
var style = measureNode.style;
|
||||
|
||||
style.width = style.height = "auto";
|
||||
|
|
@ -110,7 +112,8 @@ var Text = function(parentEl) {
|
|||
// that's why we have to measure many characters
|
||||
// Note: characterWidth can be a float!
|
||||
measureNode.innerHTML = lang.stringRepeat("Xy", n);
|
||||
document.body.insertBefore(measureNode, document.body.firstChild);
|
||||
var body = document.body || document.documentElement;
|
||||
body.insertBefore(measureNode, body.firstChild);
|
||||
}
|
||||
|
||||
var style = this.$measureNode.style;
|
||||
|
|
@ -144,12 +147,12 @@ var Text = function(parentEl) {
|
|||
if (this.showInvisibles) {
|
||||
var halfTab = (tabSize) / 2;
|
||||
this.$tabString = "<span class='ace_invisible'>"
|
||||
+ new Array(Math.floor(halfTab)).join(" ")
|
||||
+ new Array(Math.floor(halfTab)).join(" ")
|
||||
+ this.TAB_CHAR
|
||||
+ new Array(Math.ceil(halfTab)+1).join(" ")
|
||||
+ new Array(Math.ceil(halfTab)+1).join(" ")
|
||||
+ "</span>";
|
||||
} else {
|
||||
this.$tabString = new Array(tabSize+1).join(" ");
|
||||
this.$tabString = new Array(tabSize+1).join(" ");
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -220,7 +223,7 @@ var Text = function(parentEl) {
|
|||
var fragment = document.createDocumentFragment();
|
||||
var tokens = this.tokenizer.getTokens(firstRow, lastRow);
|
||||
for (var row=firstRow; row<=lastRow; row++) {
|
||||
var lineEl = document.createElement("div");
|
||||
var lineEl = document.createElementNS(XHTML_NS, "div");
|
||||
lineEl.className = "ace_line";
|
||||
var style = lineEl.style;
|
||||
style.height = this.session.getRowHeight(config, row) + "px";
|
||||
|
|
@ -261,7 +264,7 @@ var Text = function(parentEl) {
|
|||
var spaceRe = /( +)|([\v\f \u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000])/g;
|
||||
var spaceReplace = function(space) {
|
||||
if (space.charCodeAt(0) == 32)
|
||||
return new Array(space.length+1).join(" ");
|
||||
return new Array(space.length+1).join(" ");
|
||||
else {
|
||||
var space = new Array(space.length+1).join(self.SPACE_CHAR);
|
||||
return "<span class='ace_invisible'>" + space + "</span>";
|
||||
|
|
@ -271,7 +274,7 @@ var Text = function(parentEl) {
|
|||
}
|
||||
else {
|
||||
var spaceRe = /[\v\f \u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000]/g;
|
||||
var spaceReplace = " ";
|
||||
var spaceReplace = " ";
|
||||
}
|
||||
|
||||
var _self = this;
|
||||
|
|
|
|||
|
|
@ -41,12 +41,13 @@ var oop = require("pilot/oop");
|
|||
var dom = require("pilot/dom");
|
||||
var event = require("pilot/event");
|
||||
var EventEmitter = require("pilot/event_emitter").EventEmitter;
|
||||
var XHTML_NS = "http://www.w3.org/1999/xhtml";
|
||||
|
||||
var ScrollBar = function(parent) {
|
||||
this.element = document.createElement("div");
|
||||
this.element = document.createElementNS(XHTML_NS, "div");
|
||||
this.element.className = "ace_sb";
|
||||
|
||||
this.inner = document.createElement("div");
|
||||
this.inner = document.createElementNS(XHTML_NS, "div");
|
||||
this.element.appendChild(this.inner);
|
||||
|
||||
parent.appendChild(this.element);
|
||||
|
|
|
|||
|
|
@ -53,6 +53,8 @@ var RenderLoop = require("ace/renderloop").RenderLoop;
|
|||
var EventEmitter = require("pilot/event_emitter").EventEmitter;
|
||||
var editorCss = require("text!ace/css/editor.css");
|
||||
|
||||
var XHTML_NS = "http://www.w3.org/1999/xhtml";
|
||||
|
||||
// import CSS once
|
||||
dom.importCssString(editorCss);
|
||||
|
||||
|
|
@ -62,15 +64,15 @@ var VirtualRenderer = function(container, theme) {
|
|||
|
||||
this.setTheme(theme);
|
||||
|
||||
this.$gutter = document.createElement("div");
|
||||
this.$gutter = document.createElementNS(XHTML_NS, "div");
|
||||
this.$gutter.className = "ace_gutter";
|
||||
this.container.appendChild(this.$gutter);
|
||||
|
||||
this.scroller = document.createElement("div");
|
||||
this.scroller = document.createElementNS(XHTML_NS, "div");
|
||||
this.scroller.className = "ace_scroller";
|
||||
this.container.appendChild(this.scroller);
|
||||
|
||||
this.content = document.createElement("div");
|
||||
this.content = document.createElementNS(XHTML_NS, "div");
|
||||
this.content.className = "ace_content";
|
||||
this.scroller.appendChild(this.content);
|
||||
|
||||
|
|
@ -293,9 +295,9 @@ var VirtualRenderer = function(container, theme) {
|
|||
return;
|
||||
|
||||
if (!this.$printMarginEl) {
|
||||
containerEl = document.createElement("div");
|
||||
containerEl = document.createElementNS(XHTML_NS, "div");
|
||||
containerEl.className = "ace_print_margin_layer";
|
||||
this.$printMarginEl = document.createElement("div")
|
||||
this.$printMarginEl = document.createElementNS(XHTML_NS, "div")
|
||||
this.$printMarginEl.className = "ace_print_margin";
|
||||
containerEl.appendChild(this.$printMarginEl);
|
||||
this.content.insertBefore(containerEl, this.$textLayer.element);
|
||||
|
|
@ -701,12 +703,12 @@ var VirtualRenderer = function(container, theme) {
|
|||
|
||||
this.showComposition = function(position) {
|
||||
if (!this.$composition) {
|
||||
this.$composition = document.createElement("div");
|
||||
this.$composition = document.createElementNS(XHTML_NS, "div");
|
||||
this.$composition.className = "ace_composition";
|
||||
this.content.appendChild(this.$composition);
|
||||
}
|
||||
|
||||
this.$composition.innerHTML = " ";
|
||||
this.$composition.innerHTML = " ";
|
||||
|
||||
var pos = this.$cursorLayer.getPixelPosition();
|
||||
var style = this.$composition.style;
|
||||
|
|
@ -776,4 +778,4 @@ var VirtualRenderer = function(container, theme) {
|
|||
}).call(VirtualRenderer.prototype);
|
||||
|
||||
exports.VirtualRenderer = VirtualRenderer;
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* vim:ts=4:sts=4:sw=4:
|
||||
/**
|
||||
* Ajax.org Code Editor (ACE)
|
||||
*
|
||||
|
|
@ -74,8 +75,12 @@ var WorkerClient = function(topLevelNamespaces, packagedJs, module, classname) {
|
|||
this.$guessBasePath = function() {
|
||||
var scripts = document.getElementsByTagName("script");
|
||||
for (var i=0; i<scripts.length; i++) {
|
||||
var m = scripts[i].src.
|
||||
match(/^(.*\/)ace\.js$|^(.*\/)ace-uncompressed\.js$/);
|
||||
var src = scripts[i].src || scripts[i].getAttribute("src");
|
||||
if (!src) {
|
||||
continue;
|
||||
}
|
||||
|
||||
var m = src.match(/^(.*\/)ace\.js$|^(.*\/)ace-uncompressed\.js$/);
|
||||
if (m) {
|
||||
return m[1] || m[2];
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue