mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-04-25 09:56:15 -04:00

* Added minify * Added POC for browser * Moved first js files to ts * Fixed caret positioning * Added support for plugins * Fixed get undefined. * Removed require of socketio, l10n, html10n and error reporter * Added minify * Added POC for browser * Moved first js files to ts * Fixed caret positioning * Added support for plugins * Fixed get undefined. * Removed require of socketio, l10n, html10n and error reporter * Fixed popup not showing * Fixed timeslider * Reworked paths * Fixed loading * Don't generate sources map in production mode * Non working hmr * Added live reloading. * Fixed timeslider when hot reloading * Removed eval * Fixed. * Fixed env * Fixed frontend tests. * Added minifying via lightningcss * Added minify via esbuild * Fixed diagnostic url * Removed lightningcss * Fixed types * Fixed alias * Fixed loadtest * Fixed * Fixed loading ep_font_color3 * Restructure windows build * Fixed windows build * Fixed pnpm lock --------- Co-authored-by: SamTv12345 <samtv12345@samtv12345.com>
261 lines
11 KiB
HTML
261 lines
11 KiB
HTML
<%
|
|
var settings = require("ep_etherpad-lite/node/utils/Settings")
|
|
, langs = require("ep_etherpad-lite/node/hooks/i18n").availableLangs
|
|
%>
|
|
<!doctype html>
|
|
<html translate="no" class="pad <%=settings.skinVariants%>">
|
|
<head>
|
|
<title data-l10n-id="timeslider.pageTitle" data-l10n-args='{ "appTitle": "<%=settings.title%>" }'><%=settings.title%> Timeslider</title>
|
|
<script>
|
|
/*
|
|
|@licstart The following is the entire license notice for the
|
|
JavaScript code in this page.|
|
|
|
|
Copyright 2011 Peter Martischka, Primary Technology.
|
|
|
|
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.
|
|
|
|
|@licend The above is the entire license notice
|
|
for the JavaScript code in this page.|
|
|
*/
|
|
</script>
|
|
<script src="../../static/js/basic_error_handler.js?v=<%=settings.randomVersionString%>"></script>
|
|
<meta charset="utf-8">
|
|
<link rel="manifest" href="/manifest.json" />
|
|
<meta name="robots" content="noindex, nofollow">
|
|
<meta name="referrer" content="no-referrer">
|
|
<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("timesliderStyles"); %>
|
|
<link rel="stylesheet" href="../../static/css/pad.css?v=<%=settings.randomVersionString%>">
|
|
<link rel="stylesheet" href="../../static/css/iframe_editor.css?v=<%=settings.randomVersionString%>">
|
|
<link rel="stylesheet" href="../../static/css/timeslider.css?v=<%=settings.randomVersionString%>">
|
|
<link rel="stylesheet" href="../../static/skins/<%=encodeURI(settings.skinName)%>/pad.css?v=<%=settings.randomVersionString%>">
|
|
<link rel="stylesheet" href="../../static/skins/<%=encodeURI(settings.skinName)%>/timeslider.css?v=<%=settings.randomVersionString%>">
|
|
<style type="text/css" title="dynamicsyntax"></style>
|
|
<% e.end_block(); %>
|
|
|
|
<link rel="localizations" type="application/l10n+json" href="../../locales.json" />
|
|
<% e.begin_block("timesliderScripts"); %>
|
|
<% e.end_block(); %>
|
|
</head>
|
|
|
|
<% e.begin_block("timesliderBody"); %>
|
|
<body id="padbody" class="timeslider limwidth">
|
|
|
|
<!----------------------------->
|
|
<!--------- TOOLBAR ----------->
|
|
<!----------------------------->
|
|
<div id="editbar" class="toolbar">
|
|
<% e.begin_block("timesliderTop"); %>
|
|
|
|
<!-- TITLE & TOOLBAR -->
|
|
<div class="timeslider-bar">
|
|
|
|
<div class="timeslider-title-container">
|
|
<h1 class="timeslider-title">
|
|
<span id="revision_label"></span>
|
|
<span id="revision_date"></span>
|
|
</h1>
|
|
<p class="timeslider-subtitle">
|
|
<span class="authors-label" data-l10n-id="timeslider.toolbar.authors"></span>
|
|
<span id="authorsList" data-l10n-id="timeslider.toolbar.authorsList"></span>
|
|
</p>
|
|
</div>
|
|
|
|
<div class="editbarright menu_right">
|
|
<ul>
|
|
<% e.begin_block("timesliderEditbarRight"); %>
|
|
<%- toolbar.menu(settings.toolbar.timeslider, true, 'timeslider-right', 'timeslider') %>
|
|
<% e.end_block(); %>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- SLIDER -->
|
|
<div id="timeslider-wrapper">
|
|
<div id="timeslider-slider">
|
|
<div id="ui-slider-handle"></div>
|
|
<div id="ui-slider-bar"></div>
|
|
<div id="timer"></div>
|
|
</div>
|
|
|
|
<div id="slider-btn-container">
|
|
<button id="playpause_button_icon" class="buttonicon buttonicon-play"></button>
|
|
<button id="leftstep" class="stepper buttonicon buttonicon-step-backward"></button>
|
|
<button id="rightstep" class="stepper buttonicon buttonicon-step-forward"></button>
|
|
<!-- Left and Right star button are actually not displayed to the screen -->
|
|
<button id="leftstar" class="stepper buttonicon" style="display:none"></button>
|
|
<button id="rightstar" class="stepper buttonicon" style="display:none"></button>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<% e.end_block(); %>
|
|
</div>
|
|
|
|
|
|
<div id="editorcontainerbox">
|
|
|
|
<!----------------------------->
|
|
<!------- PAD CONTENT --------->
|
|
<!----------------------------->
|
|
|
|
<div id="outerdocbody">
|
|
<div id="innerdocbody">
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!------------------------->
|
|
<!-- IMPORT EXPORT POPUP -->
|
|
<!------------------------->
|
|
|
|
<div id="import_export" class="popup" ><div class="popup-content">
|
|
<div id="export">
|
|
<h1 data-l10n-id="timeslider.exportCurrent"></h1>
|
|
<% e.begin_block("exportColumn"); %>
|
|
<a id="exportetherpada" target="_blank" class="exportlink">
|
|
<span class="exporttype buttonicon buttonicon-file-powerpoint" id="exportetherpad" data-l10n-id="pad.importExport.exportetherpad"></span>
|
|
</a>
|
|
<a id="exporthtmla" target="_blank" class="exportlink">
|
|
<span class="exporttype buttonicon buttonicon-file-code" id="exporthtml" data-l10n-id="pad.importExport.exporthtml"></span>
|
|
</a>
|
|
<a id="exportplaina" target="_blank" class="exportlink">
|
|
<span class="exporttype buttonicon buttonicon-file" id="exportplain" data-l10n-id="pad.importExport.exportplain"></span>
|
|
</a>
|
|
<a id="exportworda" target="_blank" class="exportlink">
|
|
<span class="exporttype buttonicon buttonicon-file-word" id="exportword" data-l10n-id="pad.importExport.exportword"></span>
|
|
</a>
|
|
<a id="exportpdfa" target="_blank" class="exportlink">
|
|
<span class="exporttype buttonicon buttonicon-file-pdf" id="exportpdf" data-l10n-id="pad.importExport.exportpdf"></span>
|
|
</a>
|
|
<a id="exportopena" target="_blank" class="exportlink">
|
|
<span class="exporttype buttonicon buttonicon-file-alt" id="exportopen" data-l10n-id="pad.importExport.exportopen"></span>
|
|
</a>
|
|
<% e.end_block(); %>
|
|
</div>
|
|
</div></div>
|
|
|
|
|
|
<!---------------------------------------------------->
|
|
<!-- CONNECTIVITY POPUP (when you get disconnected) -->
|
|
<!---------------------------------------------------->
|
|
|
|
<div id="connectivity" class="popup"><div class="popup-content">
|
|
<% e.begin_block("modals"); %>
|
|
<div class="connected visible">
|
|
<h2 data-l10n-id="pad.modals.connected"></h2>
|
|
</div>
|
|
<div class="reconnecting">
|
|
<h1 data-l10n-id="pad.modals.reconnecting"></h1>
|
|
<p class="loadingAnimation"></p>
|
|
</div>
|
|
<div class="userdup">
|
|
<h1 data-l10n-id="pad.modals.userdup"></h1>
|
|
<h2 data-l10n-id="pad.modals.userdup.explanation"></h2>
|
|
<p data-l10n-id="pad.modals.userdup.advice"></p>
|
|
<button id="forcereconnect" class="btn btn-primary" data-l10n-id="pad.modals.forcereconnect"></button>
|
|
</div>
|
|
<div class="unauth">
|
|
<h1 data-l10n-id="pad.modals.unauth"></h1>
|
|
<p data-l10n-id="pad.modals.unauth.explanation"></p>
|
|
<button id="forcereconnect" class="btn btn-primary" data-l10n-id="pad.modals.forcereconnect"></button>
|
|
</div>
|
|
<div class="looping">
|
|
<h1 data-l10n-id="pad.modals.disconnected"></h1>
|
|
<h2 data-l10n-id="pad.modals.looping.explanation"></h2>
|
|
<p data-l10n-id="pad.modals.looping.cause"></p>
|
|
</div>
|
|
<div class="initsocketfail">
|
|
<h1 data-l10n-id="pad.modals.initsocketfail"></h1>
|
|
<h2 data-l10n-id="pad.modals.initsocketfail.explanation"></h2>
|
|
<p data-l10n-id="pad.modals.initsocketfail.cause"></p>
|
|
</div>
|
|
<div class="slowcommit">
|
|
<h1 data-l10n-id="pad.modals.disconnected"></h1>
|
|
<h2 data-l10n-id="pad.modals.slowcommit.explanation"></h2>
|
|
<p data-l10n-id="pad.modals.slowcommit.cause"></p>
|
|
<button id="forcereconnect" class="btn btn-primary" data-l10n-id="pad.modals.forcereconnect"></button>
|
|
</div>
|
|
<div class="badChangeset">
|
|
<h1 data-l10n-id="pad.modals.disconnected"></h1>
|
|
<h2 data-l10n-id="pad.modals.badChangeset.explanation"></h2>
|
|
<p data-l10n-id="pad.modals.badChangeset.cause"></p>
|
|
<button id="forcereconnect" class="btn btn-primary" data-l10n-id="pad.modals.forcereconnect"></button>
|
|
</div>
|
|
<div class="corruptPad">
|
|
<h1 data-l10n-id="pad.modals.disconnected"></h1>
|
|
<h2 data-l10n-id="pad.modals.corruptPad.explanation"></h2>
|
|
<p data-l10n-id="pad.modals.corruptPad.cause"></p>
|
|
</div>
|
|
<div class="deleted">
|
|
<h1 data-l10n-id="pad.modals.deleted"></h1>
|
|
<p data-l10n-id="pad.modals.deleted.explanation"></p>
|
|
</div>
|
|
<div class="disconnected">
|
|
<% e.begin_block("disconnected"); %>
|
|
<h1 data-l10n-id="pad.modals.disconnected"></h1>
|
|
<h2 data-l10n-id="pad.modals.disconnected.explanation"></h2>
|
|
<p data-l10n-id="pad.modals.disconnected.cause"></p>
|
|
<button id="forcereconnect" class="btn btn-primary" data-l10n-id="pad.modals.forcereconnect"></button>
|
|
<% e.end_block(); %>
|
|
</div>
|
|
<form id="reconnectform" method="post" action="/ep/pad/reconnect" accept-charset="UTF-8" style="display: none;">
|
|
<input type="hidden" class="padId" name="padId">
|
|
<input type="hidden" class="diagnosticInfo" name="diagnosticInfo">
|
|
<input type="hidden" class="missedChanges" name="missedChanges">
|
|
</form>
|
|
<% e.end_block(); %>
|
|
</div></div>
|
|
|
|
|
|
<!---------------------------------->
|
|
<!-- SETTINGS POPUP (change font) -->
|
|
<!---------------------------------->
|
|
|
|
<div id="settings" class="popup"><div class="popup-content">
|
|
<h1 data-l10n-id="pad.settings.padSettings"></h1>
|
|
<p>
|
|
<label for="viewfontmenu" data-l10n-id="pad.settings.fontType">Font type:</label>
|
|
<select id="viewfontmenu">
|
|
<option value="" data-l10n-id="pad.settings.fontType.normal">Normal</option>
|
|
<%= fonts = ["Quicksand", "Roboto", "Alegreya", "PlayfairDisplay", "Montserrat", "OpenDyslexic", "RobotoMono"] %>
|
|
<% for(var i=0; i < fonts.length; i++) { %>
|
|
<option value="<%=fonts[i]%>"><%=fonts[i]%></option>
|
|
<% } %>
|
|
</select>
|
|
</p>
|
|
<p>
|
|
<input type="checkbox" id="options-followContents" checked="checked">
|
|
<label for="options-followContents" data-l10n-id="timeslider.followContents"></label>
|
|
</p>
|
|
</div></div>
|
|
</div>
|
|
</body>
|
|
|
|
<!----------------------------->
|
|
<!-------- JAVASCRIPT --------->
|
|
<!----------------------------->
|
|
|
|
<script type="text/javascript" src="../../socket.io/socket.io.js"></script>
|
|
|
|
<!-- Include base packages manually (this help with debugging) -->
|
|
|
|
<script type="text/javascript" src="../../static/skins/<%=encodeURI(settings.skinName)%>/timeslider.js?v=<%=settings.randomVersionString%>"></script>
|
|
|
|
<!-- Bootstrap -->
|
|
<script src="<%=entrypoint%>"></script>
|
|
<% e.end_block(); %>
|
|
<div style="display:none"><a href="/javascript" data-jslicense="1">JavaScript license information</a></div>
|
|
</html>
|