diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2010-06-08 08:22:05 +0200 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2010-06-08 08:22:05 +0200 |
commit | d7c5ad7d6263fd1baf9bfdbaa4c50b70ef2fbdb2 (patch) | |
tree | ae0b65da6432f4c26c8d5a7319efbda5d172846c /trunk/etherpad/src/static/js/pad_editbar.js | |
parent | fa61221dcd89fcd72cba2c97971626f456c86e5d (diff) | |
download | etherpad-d7c5ad7d6263fd1baf9bfdbaa4c50b70ef2fbdb2.tar.gz etherpad-d7c5ad7d6263fd1baf9bfdbaa4c50b70ef2fbdb2.tar.bz2 etherpad-d7c5ad7d6263fd1baf9bfdbaa4c50b70ef2fbdb2.zip |
reverted folder structure change for better mergeing with upstream
Diffstat (limited to 'trunk/etherpad/src/static/js/pad_editbar.js')
-rw-r--r-- | trunk/etherpad/src/static/js/pad_editbar.js | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/trunk/etherpad/src/static/js/pad_editbar.js b/trunk/etherpad/src/static/js/pad_editbar.js new file mode 100644 index 0000000..34b774a --- /dev/null +++ b/trunk/etherpad/src/static/js/pad_editbar.js @@ -0,0 +1,107 @@ +/** + * 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. + */ + + +var padeditbar = (function(){ + + var syncAnimation = (function() { + var SYNCING = -100; + var DONE = 100; + var state = DONE; + var fps = 25; + var step = 1/fps; + var T_START = -0.5; + var T_FADE = 1.0; + var T_GONE = 1.5; + var animator = padutils.makeAnimationScheduler(function() { + if (state == SYNCING || state == DONE) { + return false; + } + else if (state >= T_GONE) { + state = DONE; + $("#syncstatussyncing").css('display', 'none'); + $("#syncstatusdone").css('display', 'none'); + return false; + } + else if (state < 0) { + state += step; + if (state >= 0) { + $("#syncstatussyncing").css('display', 'none'); + $("#syncstatusdone").css('display', 'block').css('opacity', 1); + } + return true; + } + else { + state += step; + if (state >= T_FADE) { + $("#syncstatusdone").css('opacity', (T_GONE - state) / (T_GONE - T_FADE)); + } + return true; + } + }, step*1000); + return { + syncing: function() { + state = SYNCING; + $("#syncstatussyncing").css('display', 'block'); + $("#syncstatusdone").css('display', 'none'); + }, + done: function() { + state = T_START; + animator.scheduleAnimation(); + } + }; + }()); + + var self = { + init: function() { + $("#editbar .editbarbutton").attr("unselectable", "on"); // for IE + $("#editbar").removeClass("disabledtoolbar").addClass("enabledtoolbar"); + }, + isEnabled: function() { + return ! $("#editbar").hasClass('disabledtoolbar'); + }, + disable: function() { + $("#editbar").addClass('disabledtoolbar').removeClass("enabledtoolbar"); + }, + toolbarClick: function(cmd) { + if (self.isEnabled()) { + if (cmd == 'save') { + padsavedrevs.saveNow(); + } + else if (cmd == 'clearauthorship') { + padeditor.ace.execCommand('clearauthorship', function() { + if (window.confirm("Clear authorship colors on entire document?")) { + padeditor.ace.execCommand('clearauthorship'); + } + }); + } + else { + padeditor.ace.execCommand(cmd); + } + } + padeditor.ace.focus(); + }, + setSyncStatus: function(status) { + if (status == "syncing") { + syncAnimation.syncing(); + } + else if (status == "done") { + syncAnimation.done(); + } + } + }; + return self; +}());
\ No newline at end of file |