web-apps/apps/presentationeditor/mobile/index.html.deploy

274 lines
9.8 KiB
Plaintext
Raw Normal View History

2016-03-11 00:48:53 +00:00
<!DOCTYPE html>
<html>
<head>
2016-11-21 11:13:27 +00:00
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="mobile-web-app-capable" content="yes">
<title>ONLYOFFICE Document Editor</title>
2017-02-06 14:42:54 +00:00
<link href="https://fonts.googleapis.com/css?family=Roboto:400,300,500,700" rel="stylesheet" type="text/css">
2016-03-11 00:48:53 +00:00
<!-- splash -->
<style type="text/css">
.loadmask {
left: 0;
top: 0;
position: absolute;
2016-03-11 00:48:53 +00:00
height: 100%;
width: 100%;
overflow: hidden;
border: none;
background-color: #f4f4f4;
z-index: 10000;
2016-03-11 00:48:53 +00:00
}
.loadmask > .brendpanel {
2016-11-21 11:13:27 +00:00
width: 100%;
position: absolute;
2020-01-16 08:08:38 +00:00
height: 68px;
background-color: #e2e2e2;
opacity: 0;
2016-11-21 11:13:27 +00:00
}
.loadmask > .brendpanel.visible {
opacity: 1;
2016-11-21 11:13:27 +00:00
}
2016-03-11 00:48:53 +00:00
.loadmask > .brendpanel.android {
2020-01-16 08:08:38 +00:00
height: 80px;
background: #aa5252;
2016-11-21 11:13:27 +00:00
}
2016-03-11 00:48:53 +00:00
.loadmask > .brendpanel > div {
display: flex;
2020-01-16 13:08:20 +00:00
align-items: flex-start;
height: 100%;
2016-11-21 11:13:27 +00:00
}
2016-03-11 00:48:53 +00:00
.loadmask > .brendpanel .loading-logo {
max-width: 200px;
height: 20px;
margin: 0 auto;
2020-01-16 13:08:20 +00:00
margin-top: 12px;
line-height: 14px;
2020-01-27 10:30:14 +00:00
opacity: 0;
2016-11-21 11:13:27 +00:00
}
2016-03-11 00:48:53 +00:00
.loadmask > .brendpanel .loading-logo > img {
display: inline-block;
max-width: 100px;
max-height: 20px;
2016-11-21 11:13:27 +00:00
}
2016-03-11 00:48:53 +00:00
.loadmask > .brendpanel .circle {
width: 28px;
height: 28px;
border-radius: 14px;
2020-01-16 13:08:20 +00:00
margin: 0 16px;
margin-bottom: 10px;
align-self: flex-end;
background: rgba(255, 255, 255, 0.3);
}
.loadmask > .brendpanel.android .circle {
margin-bottom: 12px;
background: rgba(255, 255, 255, 0.2);
2016-03-11 00:48:53 +00:00
}
.loadmask > .placeholder {
background: #f5f5f5;
width: 100%;
height: 100%;
2020-01-16 08:08:38 +00:00
padding-top: 40px;
2016-03-11 00:48:53 +00:00
}
.loadmask > .placeholder.android {
2020-01-16 08:08:38 +00:00
padding-top: 50px;
2016-03-11 00:48:53 +00:00
}
.loadmask > .placeholder .slide-h {
display: flex;
flex-direction: column;
justify-content: center;
flex-grow: 1;
width: 90%;
height: 100%;
margin: 0 auto;
2016-03-11 00:48:53 +00:00
}
.loadmask > .placeholder .slide-v {
display: flex;
position: relative;
flex-direction: column;
padding-bottom: 56.1333%;
2016-03-11 00:48:53 +00:00
}
.loadmask > .placeholder .slide-container {
position: absolute;
height: 100%;
width: 100%;
background: #fbfbfb;
border: 1px solid #dfdfdf;
2016-03-11 00:48:53 +00:00
-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;
2016-03-11 00:48:53 +00:00
}
.loadmask > .placeholder .slide-container > .line {
height: 20%;
margin: 0 120px;
border-radius: 6px;
background: #f5f5f5;
2016-03-11 00:48:53 +00:00
}
.loadmask > .placeholder .slide-container > .line.empty {
background: transparent;
}
.loadmask > .placeholder .slide-container > .line:nth-child(1) {
height: 30%;
margin: 10% 80px 0;
2016-03-11 00:48:53 +00:00
}
@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; }
2016-03-11 00:48:53 +00:00
}
</style>
</head>
<body>
<div id="loading-mask" class="loadmask">
<div class="brendpanel">
<div>
<div class="circle"></div>
<div class="loading-logo">
</div>
<div class="circle"></div>
</div>
</div>
<div class="placeholder">
<div class="slide-h">
<div class="slide-v">
<div class="slide-container">
<div class="line"></div>
<div class="line empty"></div>
<div class="line"></div>
</div>
</div>
</div>
</div>
</div>
2016-03-11 00:48:53 +00:00
<script type="text/javascript">
2019-03-21 06:35:50 +00:00
var ua = navigator.userAgent;
2019-03-21 06:35:50 +00:00
if (/Sailfish/.test(ua) || /Jolla/.test(ua)) {
document.write('<script type="text/javascript" src="../../../vendor/iscroll/iscroll.min.js"><\/script>');
2019-03-21 06:35:50 +00:00
2019-04-02 13:23:47 +00:00
if (!/Android/.test(ua)) {
2019-03-21 06:35:50 +00:00
var ua = navigator.userAgent + ';Android 5.0;';
Object.defineProperty(navigator, 'userAgent', {
get: function () { return ua; }
});
}
}
2016-11-21 11:13:27 +00:00
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;
}
2016-03-11 00:48:53 +00:00
2016-11-21 11:13:27 +00:00
function encodeUrlParam(str) {
return str.replace(/&/g, '&amp;')
.replace(/"/g, '&quot;')
.replace(/'/g, '&#39;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;');
2016-03-11 00:48:53 +00:00
}
2016-11-21 11:13:27 +00:00
var params = getUrlParams(),
lang = (params["lang"] || 'en').split(/[\-\_]/)[0],
logo = /*params["headerlogo"] ? encodeUrlParam(params["headerlogo"]) : */null;
2020-01-16 13:08:20 +00:00
var logoOO = null;
if (!logo) {
2020-01-28 12:23:12 +00:00
logoOO = /Android/.test(navigator.userAgent) ? "../../../apps/presentationeditor/mobile/resources/img/header/header-logo-android.png" : "../../../apps/presentationeditor/mobile/resources/img/header/header-logo-ios.png";
2020-01-16 13:08:20 +00:00
}
2016-11-21 11:13:27 +00:00
window.frameEditorId = params["frameEditorId"];
var brendpanel = document.getElementsByClassName('brendpanel')[0];
if (brendpanel) {
if (/Android/.test(navigator.userAgent)) {
brendpanel.classList.add('android');
}
brendpanel.classList.add('visible');
2020-01-27 10:30:14 +00:00
var elem = document.querySelector('.loading-logo');
if (elem) {
2020-01-27 10:30:14 +00:00
logo && (elem.innerHTML = '<img src=' + logo + '>');
logoOO && (elem.innerHTML = '<img src=' + logoOO + '>');
elem.style.opacity = 1;
}
}
var placeholder = document.getElementsByClassName('placeholder')[0];
if (placeholder && /Android/.test(navigator.userAgent)) {
placeholder.classList.add('android');
}
2017-06-23 13:42:18 +00:00
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;
};
var requireTimeoutID = setTimeout(function(){
window.alert(window.requireTimeourError());
window.location.reload();
}, 30000);
var require = {
waitSeconds: 30,
callback: function(){
clearTimeout(requireTimeoutID);
}
};
2016-03-11 00:48:53 +00:00
</script>
2016-11-21 11:13:27 +00:00
<script data-main="app" src="../../../vendor/requirejs/require.js"></script>
2016-03-11 00:48:53 +00:00
</body>
</html>