diff options
author | alexanders@b2ef00c0-3703-41da-baef-cfe82387ac0c <none@none> | 2010-02-03 00:50:41 +0000 |
---|---|---|
committer | alexanders@b2ef00c0-3703-41da-baef-cfe82387ac0c <none@none> | 2010-02-03 00:50:41 +0000 |
commit | 89bda83e0570ab87c6e449f5955613d5385e90b3 (patch) | |
tree | beae82eff98e4b6e18e1521c49d48d087a8cef55 /trunk/infrastructure/ace/www/ace2_wrapper.js | |
parent | d912ef9675f2e516df4eba081107729afbffe10c (diff) | |
download | etherpad-89bda83e0570ab87c6e449f5955613d5385e90b3.tar.gz etherpad-89bda83e0570ab87c6e449f5955613d5385e90b3.tar.xz etherpad-89bda83e0570ab87c6e449f5955613d5385e90b3.zip |
removed obsolete svn folder from hg tree
--HG--
extra : convert_revision : svn%3Ab2ef00c0-3703-41da-baef-cfe82387ac0c/trunk%408
Diffstat (limited to 'trunk/infrastructure/ace/www/ace2_wrapper.js')
-rw-r--r-- | trunk/infrastructure/ace/www/ace2_wrapper.js | 226 |
1 files changed, 0 insertions, 226 deletions
diff --git a/trunk/infrastructure/ace/www/ace2_wrapper.js b/trunk/infrastructure/ace/www/ace2_wrapper.js deleted file mode 100644 index b62e09d..0000000 --- a/trunk/infrastructure/ace/www/ace2_wrapper.js +++ /dev/null @@ -1,226 +0,0 @@ -/** - * Copyright 2009 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS-IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// Exposes interface of Aaron's ace.js, including switching between plain and fancy editor. -// Currently uses Aaron's code and depends on JQuery for plain editor. -// -- David - - -AppjetCodeEditor = function() { - this.browserSupportsModern = false; - this.aceImpl = null; - this.containerDiv = null; - this.containerId = null; - this.onKeyPress = null; - this.onKeyDown = null; - this.notifyDirty = null; - this.isEditable = true; -}; - -// TODO: take editorType as a param - -AppjetCodeEditor.prototype.init = function(containerId, - initialCode, - startModern, - done) { - this.containerId = containerId; - this.containerDiv = document.getElementById(containerId); - - if (startModern) { - this.aceImplModern = new Ace2Editor(); - this.aceImpl = this.aceImplModern; - } else { - this.aceImplPlain = new ACEPlain(); - this.aceImpl = this.aceImplPlain; - } - this.aceImpl.init(containerId, initialCode, done); -}; - -AppjetCodeEditor.prototype.updateBottomLinks = function() { - if (ACEPlain.prototype.isPrototypeOf(this.aceImpl)) { - this.toggleModernLink.innerHTML = 'switch to rich text'; - } else { - this.toggleModernLink.innerHTML = 'switch to plaintext'; - } -}; - -AppjetCodeEditor.prototype.toggleModernImpl = function() { - var codeSave = this.aceImpl.exportCode(); - - if (ACEPlain.prototype.isPrototypeOf(this.aceImpl)) { - this.aceImpl.destroy(); - this.aceImpl = new Ace2Editor(); - } else { - this.aceImpl.destroy(); - this.aceImpl = new ACEPlain(); - } - var cont = this.containerDiv; - while (cont.firstChild) { - cont.removeChild(cont.firstChild); - } - this.aceImpl.init(this.containerId, codeSave, function() {} ); - - var ace = this; - function capitalize(str) { return str.substr(0,1).toUpperCase()+str.substr(1); } - $.each(["onKeyPress", "onKeyDown", "notifyDirty"], function() { - var setter = 'set'+capitalize(this); - if (ace[this]) { - ace.aceImpl[setter](ace[this]); - } - }); - this.aceImpl.setEditable(this.isEditable); -}; - -AppjetCodeEditor.prototype.adjustContainerSizes = function() { - // TODO: adjust container sizes here. -}; - -//================================================================ -// Interface to ACE -//================================================================ - -AppjetCodeEditor.prototype.setOnKeyPress = function(f) { - this.onKeyPress = f; - this.aceImpl.setOnKeyPress(this.onKeyPress); -}; - -AppjetCodeEditor.prototype.setOnKeyDown = function(f) { - this.onKeyDown = f; - this.aceImpl.setOnKeyDown(this.onKeyDown); -}; - -AppjetCodeEditor.prototype.setNotifyDirty = function(f) { - this.notifyDirty = f; - this.aceImpl.setNotifyDirty(this.notifyDirty); -}; - -AppjetCodeEditor.prototype.setEditable = function(x) { - this.isEditable = x; - this.aceImpl.setEditable(x); -}; - -AppjetCodeEditor.prototype.adjustSize = function() { - this.adjustContainerSizes(); - this.aceImpl.adjustSize(); -}; - -//------- straight pass-through functions --------------- - -AppjetCodeEditor.prototype.importCode = function(rawCode) { - this.aceImpl.importCode(rawCode); -}; - -AppjetCodeEditor.prototype.exportCode = function() { - return this.aceImpl.exportCode(); -}; - -AppjetCodeEditor.prototype.getFormattedCode = function() { - return this.aceImpl.getFormattedCode(); -}; - -AppjetCodeEditor.prototype.focus = function() { - this.aceImpl.focus(); -}; - -/* implementation of ACE with simple textarea */ - -ACEPlain = function() { - this.containerDiv = null; - this.textArea = null; - this.onKeyPress = null; - this.onKeyDown = null; - this.notifyDirty = null; -}; - -ACEPlain.prototype.init = function(containerId, initialCode, done) { - var container = $('#'+containerId); //document.getElementById(containerId); - - // empty container div - container.empty(); - container.css('padding', 0); - - // create textarea - var textArea = $('<textarea></textarea>'); - textArea.css('border', 0). - css('margin', 0). - css('padding', 0). - css('background', 'transparent'). - css('color', '#000'). - attr('spellcheck', false); - - // add textarea to container - container.append(textArea); - - // remember nodes - this.textArea = textArea; - this.containerDiv = container; - - // first-time size adjustments - this.adjustSize(); - - // remember keystrokes - var ace = this; - textArea.keydown(function(e) { - if (ace.onKeyDown) { ace.onKeyDown(e); } - }); - textArea.keypress(function(e) { - if (ace.notifyDirty) { ace.notifyDirty(); } - if (ace.onKeyPress) { ace.onKeyPress(e); } - }); - - // set initial code - textArea.get(0).value = initialCode; - - // callback - done(); -}; - -ACEPlain.prototype.importCode = function(rawCode) { - this.textArea.attr('value', rawCode); -}; - -ACEPlain.prototype.exportCode = function() { - return this.textArea.attr('value'); -}; - -ACEPlain.prototype.adjustSize = function() { - this.textArea.width('100%'); - this.textArea.height(this.containerDiv.height()); -}; - -ACEPlain.prototype.setOnKeyPress = function(f) { this.onKeyPress = f; }; -ACEPlain.prototype.setOnKeyDown = function(f) { this.onKeyDown = f; }; -ACEPlain.prototype.setNotifyDirty = function(f) { this.notifyDirty = f; }; - -ACEPlain.prototype.getFormattedCode = function() { - return ('<pre>' + this.textArea.attr('value') + '</pre>'); -}; - -ACEPlain.prototype.setEditable = function(editable) { - if (editable) { - this.textArea.removeAttr('disabled'); - } else { - this.textArea.attr('disabled', true); - } -}; - -ACEPlain.prototype.focus = function() { - this.textArea.focus(); -}; - -ACEPlain.prototype.destroy = function() { - // nothing -}; |