web-apps/apps/presentationeditor/main/index.html
2019-07-22 17:04:24 +03:00

266 lines
10 KiB
HTML

<!DOCTYPE html>
<html style="width:100%; height:100%;">
<head>
<title>ONLYOFFICE Presentation Editor</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=IE8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
<link rel="icon" href="resources/img/favicon.ico" type="image/x-icon" />
<!-- splash -->
<style type="text/css">
.loadmask {
left: 0;
top: 0;
position: absolute;
height: 100%;
width: 100%;
overflow: hidden;
border: none;
background-color: #f4f4f4;
z-index: 10000;
}
.loadmask {
width: 100%;
height: 100%;
}
.loadmask > .brendpanel {
width: 100%;
height: 56px;
background: #aa5252;
}
.loadmask > .brendpanel > div {
display: flex;
align-items: center;
}
.loadmask > .brendpanel .loading-logo {
padding: 0 24px 0 12px;
max-width: 200px;
height: 20px;
}
.loadmask > .brendpanel .loading-logo > i {
display: inline-block;
width: 86px;
height: 20px;
background: url('../../common/main/resources/img/header/header-logo.png') no-repeat;
background-size: contain;
opacity: 0;
}
.loadmask > .brendpanel .spacer {
margin-left: auto;
}
.loadmask > .brendpanel .circle {
vertical-align: middle;
width: 20px;
height: 20px;
border-radius: 12px;
margin: 4px 10px;
background: rgba(255, 255, 255, 0.2);
}
.loadmask > .brendpanel .rect {
vertical-align: middle;
width: 50px;
height: 12px;
border-radius: 3px;
margin: 0 10px;
background: rgba(255, 255, 255, 0.2);
}
.loadmask > .placeholder {
display: flex;
flex-direction: column;
min-height: 100%;
margin: 0 100px;
}
.loadmask > .placeholder .slide-h {
display: flex;
flex-direction: column;
justify-content: center;
flex-grow: 1;
max-width: 1350px;
width: 100%;
margin: 0 auto 56px;
}
.loadmask > .placeholder .slide-v {
display: flex;
position: relative;
flex-direction: column;
padding-bottom: 56.1333%;
}
.loadmask > .placeholder .slide-container {
position: absolute;
height: 100%;
width: 100%;
background: #fbfbfb;
border: 1px solid #dfdfdf;
display: grid;
-webkit-animation: flickerAnimation 2s infinite ease-in-out;
-moz-animation: flickerAnimation 2s infinite ease-in-out;
-o-animation: flickerAnimation 2s infinite ease-in-out;
animation: flickerAnimation 2s infinite ease-in-out;
}
.loadmask > .placeholder .slide-container > .line {
height: 30%;
margin: auto 120px;
border-radius: 6px;
background: #f5f5f5;
}
.loadmask > .placeholder .slide-container > .line:nth-child(1) {
height: 40%;
margin: auto 80px;
}
@keyframes flickerAnimation {
0% { opacity:1; }
50% { opacity:0.3; }
100% { opacity:1; }
}
@-o-keyframes flickerAnimation{
0% { opacity:1; }
50% { opacity:0.3; }
100% { opacity:1; }
}
@-moz-keyframes flickerAnimation{
0% { opacity:1; }
50% { opacity:0.3; }
100% { opacity:1; }
}
@-webkit-keyframes flickerAnimation{
0% { opacity:1; }
50% { opacity:0.3; }
100% { opacity:1; }
}
</style>
<script>
var userAgent = navigator.userAgent.toLowerCase(),
check = function(regex){ return regex.test(userAgent); },
stopLoading = false;
if (!check(/opera/) && (check(/msie/) || check(/trident/))) {
var m = /msie (\d+\.\d+)/.exec(userAgent);
if (m && parseFloat(m[1]) < 10.0) {
document.write(
'<div class="app-error-panel">' +
'<div class="message-block">' +
'<div class="message-inner">' +
'<div class="title">Your browser is not supported.</div>' +
'<div class="text">Sorry, Presentation Editor is currently only supported in the latest versions of the Chrome, Firefox, Safari or Internet Explorer web browsers.</div>' +
'</div>' +
'</div>' +
'</div>');
stopLoading = true;
}
}
function getUrlParams() {
var e,
a = /\+/g, // Regex for replacing addition symbol with a space
r = /([^&=]+)=?([^&]*)/g,
d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
q = window.location.search.substring(1),
urlParams = {};
while (e = r.exec(q))
urlParams[d(e[1])] = d(e[2]);
return urlParams;
}
function encodeUrlParam(str) {
return str.replace(/&/g, '&amp;')
.replace(/"/g, '&quot;')
.replace(/'/g, '&#39;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;');
}
var params = getUrlParams(),
lang = (params["lang"] || 'en').split(/[\-\_]/)[0],
logo = params["headerlogo"] ? 'url(' + encodeUrlParam(params["headerlogo"]) + ')' : null;
window.frameEditorId = params["frameEditorId"];
</script>
<!-- debug begin -->
<link rel="stylesheet/less" type="text/css" href="resources/less/app.less" />
<!-- debug end -->
</head>
<body>
<div id="loading-mask" class="loadmask"><div class="brendpanel"><div><div class="loading-logo"><i></i></div><div class="circle"></div><div class="circle"></div><div class="circle"></div><div class="circle"></div><div class="spacer"></div><div class="rect"></div></div><div><span class="rect"></span><span class="rect"></span><span class="rect"></span><span class="rect"></span><span class="rect"></span><div class="spacer"></div><span class="circle"></span><span class="circle"></span><span class="circle"></span></div></div><div class="placeholder"><div class="slide-h"><div class="slide-v"><div class="slide-container"><div class="line"></div><div class="line"></div></div></div></div></div></div>
<div id="viewport"></div>
<script>
if (stopLoading) {
document.body.removeChild(document.getElementById('loading-mask'));
} else {
var elem = document.querySelector('.loading-logo i');
if (elem) {
logo && (elem.style.backgroundImage = logo);
elem.style.opacity = 1;
}
}
</script>
<script src="../../../vendor/svg-injector/svg-injector.min.js"></script>
<img class="inline-svg" src="../../common/main/resources/img/header/buttons.svg">
<img class="inline-svg" src="../../common/main/resources/img/doc-formats/pptx.svg">
<img class="inline-svg" src="../../common/main/resources/img/doc-formats/potx.svg">
<img class="inline-svg" src="../../common/main/resources/img/doc-formats/pdf.svg">
<img class="inline-svg" src="../../common/main/resources/img/doc-formats/pdfa.svg">
<img class="inline-svg" src="../../common/main/resources/img/doc-formats/odp.svg">
<img class="inline-svg" src="../../common/main/resources/img/doc-formats/otp.svg">
<img class="inline-svg" src="../../common/main/resources/img/doc-formats/blank.svg">
<img class="inline-svg" src="../../common/main/resources/img/toolbar/shapetypes.svg">
<script>
var svgpoints = document.querySelectorAll('img.inline-svg');
SVGInjector(svgpoints);
</script>
<script type="text/javascript" src="../../../vendor/jquery/jquery.min.js"></script>
<script type="text/javascript" src="../../../vendor/xregexp/xregexp-all-min.js"></script>
<script type="text/javascript">
window.g_debug_mode = true;
</script>
<!-- debug begin -->
<script type="text/javascript">var less=less||{};less.env='development';less.async=true;</script>
<script src="../../../vendor/less/dist/less-2.7.1.js" type="text/javascript"></script>
<!-- debug end -->
<script type="text/javascript" src="../sdk_dev_scripts.js"></script>
<script>
window.sdk_dev_scrpipts.forEach(function(item){
document.write('<script type="text/javascript" src="' + item + '"><\/script>');
});
window.requireTimeourError = function(){
var reqerr;
if ( lang == 'de') reqerr = 'Die Verbindung ist zu langsam, einige Komponenten konnten nicht geladen werden. Aktualisieren Sie bitte die Seite.';
else if ( lang == 'es') reqerr = 'La conexión es muy lenta, algunos de los componentes no han podido cargar. Por favor recargue la página.';
else if ( lang == 'fr') reqerr = 'La connexion est trop lente, certains des composants n\'ons pas pu être chargé. Veuillez recharger la page.';
else if ( lang == 'ru') reqerr = 'Слишком медленное соединение, не удается загрузить некоторые компоненты. Пожалуйста, обновите страницу.';
else reqerr = 'The connection is too slow, some of the components could not be loaded. Please reload the page.';
return reqerr;
};
</script>
<!-- application -->
<script data-main="app_dev" src="../../../vendor/requirejs/require.js"></script>
</body>
</html>