Merge branch 'master' into timeslider-realtimeupdate+readonly-pads

Conflicts:
	src/node/handler/PadMessageHandler.js
	src/static/css/pad.css
	src/templates/pad.html
This commit is contained in:
Egil Moeller 2012-05-29 21:26:12 +02:00
commit 15a7d24450
32 changed files with 375 additions and 1962 deletions

View file

@ -10,6 +10,8 @@
<meta name="robots" content="noindex, nofollow">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
<link rel="shortcut icon" href="../favicon.ico">
<% e.begin_block("styles"); %>
<link href="../static/css/pad.css" rel="stylesheet">
<link href="../static/custom/pad.css" rel="stylesheet">
@ -18,68 +20,81 @@
<!-- head and body had been removed intentionally -->
<% e.begin_block("body"); %>
<div id="editbar" class="toolbar">
<ul class="menu_left">
<% e.begin_block("editbarMenuLeft"); %>
<li class="acl-write" id="bold" onClick="window.pad&amp;&amp;pad.editbarClick('bold');return false">
<li class="acl-write" id="bold" data-key="bold">
<a class="buttonicon buttonicon-bold" title="Bold (ctrl-B)"></a>
</li>
<li class="acl-write" id="italic" onClick="window.pad&amp;&amp;pad.editbarClick('italic'); return false;">
<li class="acl-write" id="italic" data-key="italic">
<a class="buttonicon buttonicon-italic" title="Italics (ctrl-I)"></a>
</li>
<li class="acl-write" id="underline" onClick="window.pad&amp;&amp;pad.editbarClick('underline');return false;" >
<li class="acl-write" id="underline" data-key="underline">
<a class="buttonicon buttonicon-underline" title="Underline (ctrl-U)"></a>
</li>
<li class="acl-write" id="strikethrough" onClick="window.pad&amp;&amp;pad.editbarClick('strikethrough');return false;">
<li class="acl-write" id="strikethrough" data-key="strikethrough">
<a class="buttonicon buttonicon-strikethrough" title="Strikethrough"></a>
</li>
<li class="separator acl-write"></li>
<li class="acl-write" id="oderedlist" onClick="window.pad&amp;&amp;pad.editbarClick('insertorderedlist');return false;">
<li class="acl-write" id="oderedlist" data-key="insertorderedlist">
<a class="buttonicon buttonicon-insertorderedlist" title="Toggle Ordered List"></a>
</li>
<li class="acl-write" id="unoderedlist" onClick="window.pad&amp;&amp;pad.editbarClick('insertunorderedlist');return false;">
<li class="acl-write" id="unoderedlist" data-key="insertunorderedlist">
<a class="buttonicon buttonicon-insertunorderedlist" title="Toggle Bullet List"></a>
</li>
<li class="acl-write" id="indent" onClick="window.pad&amp;&amp;pad.editbarClick('indent');return false;">
<li class="acl-write" id="indent" data-key="indent">
<a class="buttonicon buttonicon-indent" title="Indent"></a>
</li>
<li class="acl-write" id="outdent" onClick="window.pad&amp;&amp;pad.editbarClick('outdent');return false;">
<li class="acl-write" id="outdent" data-key="outdent">
<a class="buttonicon buttonicon-outdent" title="Unindent"></a>
</li>
<li class="separator acl-write"></li>
<li class="acl-write" id="undo" onClick="window.pad&amp;&amp;pad.editbarClick('undo');return false;">
<li class="acl-write" id="undo" data-key="undo">
<a class="buttonicon buttonicon-undo" title="Undo (ctrl-Z)"></a>
</li>
<li class="acl-write" id="redo" onClick="window.pad&amp;&amp;pad.editbarClick('redo');return false;">
<li class="acl-write" id="redo" data-key="redo">
<a class="buttonicon buttonicon-redo" title="Redo (ctrl-Y)"></a>
</li>
<li class="separator acl-write"></li>
<li class="acl-write" id="clearAuthorship" onClick="window.pad&amp;&amp;pad.editbarClick('clearauthorship');return false;">
<li class="acl-write" id="clearAuthorship" data-key="clearauthorship">
<a class="buttonicon buttonicon-clearauthorship" title="Clear Authorship Colors"></a>
</li>
<% e.end_block(); %>
</ul>
<ul class="menu_right">
<% e.begin_block("editbarMenuRight"); %>
<li class="acl-write" id="settingslink" onClick="window.pad&amp;&amp;pad.editbarClick('settings');return false;">
<a class="buttonicon buttonicon-settings" title="Settings of this pad"></a>
<li class="acl-write" data-key="settings">
<a class="grouped-left" id="settingslink" title="Settings of this pad">
<span class="buttonicon buttonicon-settings"></span>
</a>
</li>
<li id="importexportlink" onClick="window.pad&amp;&amp;pad.editbarClick('import_export');return false;">
<a class="buttonicon buttonicon-import_export" title="Import/Export from/to different document formats"></a>
<li data-key="import_export">
<a class="grouped-middle" id="importexportlink" title="Import/Export from/to different document formats">
<span class="buttonicon buttonicon-import_export"></span>
</a>
</li>
<li id="embedlink" onClick="window.pad&amp;&amp;pad.editbarClick('embed');return false;">
<a class="buttonicon buttonicon-embed" title="Share and Embed this pad"></a>
<li data-key="embed">
<a class="grouped-middle" id="embedlink" title="Share and Embed this pad">
<span class="buttonicon buttonicon-embed"></span>
</a>
</li>
<li class="acl-write" id="revisionlink" onClick="window.pad&amp;&amp;pad.editbarClick('savedRevision');return false;">
<a class="buttonicon buttonicon-savedRevision" title="Mark this revision as a saved revision"></a>
<li class="acl-write" data-key="savedRevision">
<a class="grouped-right" id="revisionlink" title="Mark this revision as a saved revision">
<span class="buttonicon buttonicon-savedRevision"></span>
</a>
</li>
<li class="separator"></li>
<li id="timesliderlink" onClick="document.location = document.location.pathname+ '/timeslider'">
<a class="buttonicon buttonicon-history" title="Show the history of this pad"></a>
<li onClick="document.location = document.location.pathname+ '/timeslider'">
<a id="timesliderlink" title="Show the history of this pad">
<span class="buttonicon buttonicon-history"></span>
</a>
</li>
<li id="usericon" onClick="window.pad&amp;&amp;pad.editbarClick('showusers');return false;" title="Show connected users">
<span class="buttonicon buttonicon-showusers" id="usericonback"></span>
<span id="online_count">1</span>
<li id="usericon" data-key="showusers">
<a title="Show connected users">
<span class="buttonicon buttonicon-showusers"></span>
<span id="online_count">1</span>
</a>
</li>
<% e.end_block(); %>
</ul>
@ -113,9 +128,10 @@
<div id="editorloadingbox">Loading...</div>
</div>
<div id="settingsmenu" class="popup">
<div id="settings" class="popup">
<h1>Pad settings</h1>
<div class="column">
<% e.begin_block("mySettings"); %>
<h2>My view</h2>
<p>
<input type="checkbox" id="options-stickychat" onClick="chat.stickToScreen();">
@ -136,17 +152,20 @@
<option value="monospace">Monospaced</option>
</select>
</p>
<% e.end_block(); %>
</div>
<div class="column">
<% e.begin_block("globalSettings"); %>
<h2>Global view</h2>
<p>Currently nothing.</p>
<p class="note">These options affect everyone viewing this pad.</p>
<% e.end_block(); %>
</div>
</div>
<div id="importexport" class="popup">
<h1>Import/Export</h1>
<div class="column acl-write">
<h2>Import from text file, HTML, PDF, Word, ODT or RTF</h2><br>
<% e.begin_block("importColumn"); %>
<h2>Upload any text file or document</h2><br>
<form id="importform" method="post" action="" target="importiframe" enctype="multipart/form-data">
<div class="importformdiv" id="importformfilediv">
<input type="file" name="file" size="15" id="importfileinput">
@ -163,20 +182,23 @@
</span>
</div>
</form>
<% e.end_block(); %>
</div>
<div class="column">
<h2>Export current pad as</h2>
<% e.begin_block("exportColumn"); %>
<a id="exporthtmla" target="_blank" class="exportlink"><div class="exporttype" id="exporthtml">HTML</div></a>
<a id="exportplaina" target="_blank" class="exportlink"><div class="exporttype" id="exportplain">Plain text</div></a>
<a id="exportworda" target="_blank" class="exportlink"><div class="exporttype" id="exportword">Microsoft Word</div></a>
<a id="exportpdfa" target="_blank" class="exportlink"><div class="exporttype" id="exportpdf">PDF</div></a>
<a id="exportopena" target="_blank" class="exportlink"><div class="exporttype" id="exportopen">OpenDocument</div></a>
<a id="exportdokuwikia" target="_blank" class="exportlink"><div class="exporttype" id="exportdokuwiki">DokuWiki text</div></a>
<a id="exportwordlea" target="_blank" onClick="padimpexp.export2Wordle();return false;" class="exportlink"><div class="exporttype" id="exportwordle">Wordle</div></a>
<% e.end_block(); %>
</div>
</div>
<div id="embed" class="popup">
<% e.begin_block("embedPopup"); %>
<div id="embedreadonly" class="right acl-write">
<input type="checkbox" id="readonlyinput" onClick="padeditbar.setEmbedLinks();">
<label for="readonlyinput">Read only</label>
@ -191,11 +213,7 @@
<h2>Embed URL</h2>
<input id="embedinput" type="text" value="">
</div>
<br>
<div id="qrcode">
<h2>QR code</h2>
<div id="qr_center"><img id="embedreadonlyqr"></div>
</div>
<% e.end_block(); %>
</div>
<div id="chatthrob"></div>
@ -269,23 +287,37 @@
</div>
<% e.end_block(); %>
</div>
<% e.end_block(); %>
<% e.begin_block("scripts"); %>
<script type="text/javascript" src="../static/js/require-kernel.js"></script>
<script type="text/javascript" src="../static/js/jquery.js"></script>
<script type="text/javascript" src="../socket.io/socket.io.js"></script>
<!-- Include base packages manually (this help with debugging) -->
<script type="text/javascript" src="../javascripts/lib/ep_etherpad-lite/static/js/pad.js?callback=require.define"></script>
<script type="text/javascript" src="../javascripts/lib/ep_etherpad-lite/static/js/ace2_common.js?callback=require.define"></script>
<!-- Bootstrap page -->
<script type="text/javascript">
document.domain = document.domain;
var clientVars = {};
(function () {
var baseURL = '../';
var pathComponents = location.pathname.split('/');
// Strip 'p' and the padname from the pathname and set as baseURL
var baseURL = pathComponents.slice(0,pathComponents.length-2).join('/') + '/';
require.setRootURI(baseURL + "javascripts/src");
require.setLibraryURI(baseURL + "javascripts/lib");
require.setGlobalKeyPath("require");
$ = jQuery = require('ep_etherpad-lite/static/js/rjquery').jQuery; // Expose jQuery #HACK
if ((!$.browser.msie) && (!($.browser.mozilla && $.browser.version.indexOf("1.8.") == 0))) {
document.domain = document.domain; // for comet
}
var plugins = require('ep_etherpad-lite/static/js/pluginfw/plugins');
plugins.baseURL = baseURL;
plugins.update(function () {