PE skeleton loader
This commit is contained in:
parent
f07588b24b
commit
bdc69aec84
|
@ -1039,6 +1039,8 @@ define([
|
||||||
|
|
||||||
$(document).on('contextmenu', _.bind(me.onContextMenu, me));
|
$(document).on('contextmenu', _.bind(me.onContextMenu, me));
|
||||||
Common.Gateway.documentReady();
|
Common.Gateway.documentReady();
|
||||||
|
|
||||||
|
$('.doc-placeholder').remove();
|
||||||
},
|
},
|
||||||
|
|
||||||
onDocumentReady: function() {
|
onDocumentReady: function() {
|
||||||
|
|
|
@ -146,6 +146,8 @@
|
||||||
@huge-icon-size: 37px;
|
@huge-icon-size: 37px;
|
||||||
@x-huge-icon-size: 45px;
|
@x-huge-icon-size: 45px;
|
||||||
|
|
||||||
|
// Skeleton of document
|
||||||
|
|
||||||
.doc-placeholder {
|
.doc-placeholder {
|
||||||
background: #fbfbfb;
|
background: #fbfbfb;
|
||||||
width: 796px;
|
width: 796px;
|
||||||
|
|
|
@ -160,6 +160,8 @@ define([
|
||||||
window["flat_desine"] = true;
|
window["flat_desine"] = true;
|
||||||
this.api = this.getApplication().getController('Viewport').getApi();
|
this.api = this.getApplication().getController('Viewport').getApi();
|
||||||
|
|
||||||
|
$('#editor_sdk').append('<div class="doc-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>');
|
||||||
|
|
||||||
if (this.api){
|
if (this.api){
|
||||||
this.api.SetDrawingFreeze(true);
|
this.api.SetDrawingFreeze(true);
|
||||||
this.api.SetThemesPath("../../../../sdkjs/slide/themes/");
|
this.api.SetThemesPath("../../../../sdkjs/slide/themes/");
|
||||||
|
@ -786,6 +788,8 @@ define([
|
||||||
|
|
||||||
$(document).on('contextmenu', _.bind(me.onContextMenu, me));
|
$(document).on('contextmenu', _.bind(me.onContextMenu, me));
|
||||||
Common.Gateway.documentReady();
|
Common.Gateway.documentReady();
|
||||||
|
|
||||||
|
$('.doc-placeholder').remove();
|
||||||
},
|
},
|
||||||
|
|
||||||
onDocumentReady: function() {
|
onDocumentReady: function() {
|
||||||
|
|
|
@ -21,157 +21,126 @@
|
||||||
z-index: 10000;
|
z-index: 10000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.loader-page {
|
.loadmask {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 170px;
|
height: 100%;
|
||||||
bottom: 42%;
|
|
||||||
position: absolute;
|
|
||||||
text-align: center;
|
|
||||||
line-height: 10px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.loader-logo {
|
.loadmask > .brendpanel {
|
||||||
max-height: 160px;
|
width: 100%;
|
||||||
margin-bottom: 10px;
|
height: 56px;
|
||||||
|
background: #aa5252;
|
||||||
}
|
}
|
||||||
|
|
||||||
.loader-page-romb {
|
.loadmask > .brendpanel > div {
|
||||||
width: 40px;
|
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;
|
display: inline-block;
|
||||||
|
width: 86px;
|
||||||
|
height: 20px;
|
||||||
|
background-image: url(http://192.168.3.191:8080/web-apps-pro/apps/common/main/resources/img/header/header-logo.png);
|
||||||
|
background-repeat: no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.loader-page-text {
|
.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%;
|
width: 100%;
|
||||||
bottom: 42%;
|
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;
|
position: absolute;
|
||||||
text-align: center;
|
height: 100%;
|
||||||
color: #888;
|
width: 100%;
|
||||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
background: #fbfbfb;
|
||||||
line-height: 20px;
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
.loader-page-text-loading {
|
.loadmask > .placeholder .slide-container > .line {
|
||||||
font-size: 14px;
|
height: 30%;
|
||||||
}
|
margin: auto 120px;
|
||||||
|
|
||||||
.loader-page-text-customer {
|
|
||||||
font-size: 16px;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.romb {
|
|
||||||
width: 40px;
|
|
||||||
height: 40px;
|
|
||||||
-webkit-transform: rotate(135deg) skew(20deg, 20deg);
|
|
||||||
-moz-transform: rotate(135deg) skew(20deg, 20deg);
|
|
||||||
-ms-transform: rotate(135deg) skew(20deg, 20deg);
|
|
||||||
-o-transform: rotate(135deg) skew(20deg, 20deg);
|
|
||||||
position: absolute;
|
|
||||||
background: red;
|
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
-webkit-animation: movedown 3s infinite ease;
|
background: #f5f5f5;
|
||||||
-moz-animation: movedown 3s infinite ease;
|
|
||||||
-ms-animation: movedown 3s infinite ease;
|
|
||||||
-o-animation: movedown 3s infinite ease;
|
|
||||||
animation: movedown 3s infinite ease;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#blue {
|
.loadmask > .placeholder .slide-container > .line:nth-child(1) {
|
||||||
z-index: 3;
|
height: 40%;
|
||||||
background: #55bce6;
|
margin: auto 80px;
|
||||||
-webkit-animation-name: blue;
|
|
||||||
-moz-animation-name: blue;
|
|
||||||
-ms-animation-name: blue;
|
|
||||||
-o-animation-name: blue;
|
|
||||||
animation-name: blue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#red {
|
@keyframes flickerAnimation {
|
||||||
z-index:1;
|
0% { opacity:1; }
|
||||||
background: #de7a59;
|
50% { opacity:0.3; }
|
||||||
-webkit-animation-name: red;
|
100% { opacity:1; }
|
||||||
-moz-animation-name: red;
|
|
||||||
-ms-animation-name: red;
|
|
||||||
-o-animation-name: red;
|
|
||||||
animation-name: red;
|
|
||||||
}
|
}
|
||||||
|
@-o-keyframes flickerAnimation{
|
||||||
#green {
|
0% { opacity:1; }
|
||||||
z-index: 2;
|
50% { opacity:0.3; }
|
||||||
background: #a1cb5c;
|
100% { opacity:1; }
|
||||||
-webkit-animation-name: green;
|
|
||||||
-moz-animation-name: green;
|
|
||||||
-ms-animation-name: green;
|
|
||||||
-o-animation-name: green;
|
|
||||||
animation-name: green;
|
|
||||||
}
|
}
|
||||||
|
@-moz-keyframes flickerAnimation{
|
||||||
@-webkit-keyframes red {
|
0% { opacity:1; }
|
||||||
0% { top:120px; background: #de7a59; }
|
50% { opacity:0.3; }
|
||||||
10% { top:120px; background: #F2CBBF; }
|
100% { opacity:1; }
|
||||||
14% { background: #f4f4f4; top:120px; }
|
|
||||||
15% { background: #f4f4f4; top:0;}
|
|
||||||
20% { background: #E6E4E4; }
|
|
||||||
30% { background: #D2D2D2; }
|
|
||||||
40% { top:120px; }
|
|
||||||
100% { top:120px; background: #de7a59; }
|
|
||||||
}
|
}
|
||||||
|
@-webkit-keyframes flickerAnimation{
|
||||||
@keyframes red {
|
0% { opacity:1; }
|
||||||
0% { top:120px; background: #de7a59; }
|
50% { opacity:0.3; }
|
||||||
10% { top:120px; background: #F2CBBF; }
|
100% { opacity:1; }
|
||||||
14% { background: #f4f4f4; top:120px; }
|
|
||||||
15% { background: #f4f4f4; top:0; }
|
|
||||||
20% { background: #E6E4E4; }
|
|
||||||
30% { background: #D2D2D2; }
|
|
||||||
40% { top:120px; }
|
|
||||||
100% { top:120px; background: #de7a59; }
|
|
||||||
}
|
|
||||||
|
|
||||||
@-webkit-keyframes green {
|
|
||||||
0% { top:110px; background: #a1cb5c; opacity:1; }
|
|
||||||
10% { top:110px; background: #CBE0AC; opacity:1; }
|
|
||||||
14% { background: #f4f4f4; top:110px; opacity:1; }
|
|
||||||
15% { background: #f4f4f4; top:0; opacity:1; }
|
|
||||||
20% { background: #f4f4f4; top:0; opacity:0; }
|
|
||||||
25% { background: #EFEFEF; top:0; opacity:1; }
|
|
||||||
30% { background:#E6E4E4; }
|
|
||||||
70% { top:110px; }
|
|
||||||
100% { top:110px; background: #a1cb5c; }
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes green {
|
|
||||||
0% { top:110px; background: #a1cb5c; opacity:1; }
|
|
||||||
10% { top:110px; background: #CBE0AC; opacity:1; }
|
|
||||||
14% { background: #f4f4f4; top:110px; opacity:1; }
|
|
||||||
15% { background: #f4f4f4; top:0; opacity:1; }
|
|
||||||
20% { background: #f4f4f4; top:0; opacity:0; }
|
|
||||||
25% { background: #EFEFEF; top:0; opacity:1; }
|
|
||||||
30% { background:#E6E4E4; }
|
|
||||||
70% { top:110px; }
|
|
||||||
100% { top:110px; background: #a1cb5c; }
|
|
||||||
}
|
|
||||||
|
|
||||||
@-webkit-keyframes blue {
|
|
||||||
0% { top:100px; background: #55bce6; opacity:1; }
|
|
||||||
10% { top:100px; background: #BFE8F8; opacity:1; }
|
|
||||||
14% { background: #f4f4f4; top:100px; opacity:1; }
|
|
||||||
15% { background: #f4f4f4; top:0; opacity:1; }
|
|
||||||
20% { background: #f4f4f4; top:0; opacity:0; }
|
|
||||||
25% { background: #f4f4f4; top:0; opacity:0; }
|
|
||||||
45% { background: #EFEFEF; top:0; opacity:0.2; }
|
|
||||||
100% { top:100px; background: #55bce6; }
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes blue {
|
|
||||||
0% { top:100px; background: #55bce6; opacity:1; }
|
|
||||||
10% { top:100px; background: #BFE8F8; opacity:1; }
|
|
||||||
14% { background: #f4f4f4; top:100px; opacity:1; }
|
|
||||||
15% { background: #f4f4f4; top:0; opacity:1; }
|
|
||||||
20% { background: #f4f4f4; top:0; opacity:0; }
|
|
||||||
25% { background: #f4f4f4; top:0; opacity:0; }
|
|
||||||
45% { background: #EFEFEF; top:0; opacity:0.2; }
|
|
||||||
100% { top:100px; background: #55bce6; }
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
@ -247,21 +216,9 @@
|
||||||
else if ( lang == 'vi') loading = 'Đang tải...';
|
else if ( lang == 'vi') loading = 'Đang tải...';
|
||||||
else if ( lang == 'zh') loading = '加载中...';
|
else if ( lang == 'zh') loading = '加载中...';
|
||||||
|
|
||||||
if ( !stopLoading )
|
if (stopLoading) {
|
||||||
document.write(
|
document.getElementById('loading-mask').remove();
|
||||||
'<div id="loading-mask" class="loadmask">' +
|
}
|
||||||
'<div class="loader-page" style="margin-bottom: ' + margin + 'px;' + ((logo!==null) ? 'height: auto;' : '') + '">' +
|
|
||||||
((logo!==null) ? logo :
|
|
||||||
'<div class="loader-page-romb">' +
|
|
||||||
'<div class="romb" id="blue"></div>' +
|
|
||||||
'<div class="romb" id="green"></div>' +
|
|
||||||
'<div class="romb" id="red"></div>' +
|
|
||||||
'</div>') +
|
|
||||||
'</div>' +
|
|
||||||
'<div class="loader-page-text">' + customer +
|
|
||||||
'<div class="loader-page-text-loading">' + loading + '</div>' +
|
|
||||||
'</div>' +
|
|
||||||
'</div>');
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- debug begin -->
|
<!-- debug begin -->
|
||||||
|
@ -269,6 +226,7 @@
|
||||||
<!-- debug end -->
|
<!-- debug end -->
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<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>
|
<div id="viewport"></div>
|
||||||
|
|
||||||
<script src="../../../vendor/svg-injector/svg-injector.min.js"></script>
|
<script src="../../../vendor/svg-injector/svg-injector.min.js"></script>
|
||||||
|
@ -294,7 +252,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- debug begin -->
|
<!-- debug begin -->
|
||||||
<script type="text/javascript">var less=less||{};less.env='development';</script>
|
<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>
|
<script src="../../../vendor/less/dist/less-2.7.1.js" type="text/javascript"></script>
|
||||||
<!-- debug end -->
|
<!-- debug end -->
|
||||||
|
|
||||||
|
|
|
@ -168,4 +168,63 @@
|
||||||
background-position: -20px @top-position;
|
background-position: -20px @top-position;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Skeleton of document
|
||||||
|
|
||||||
|
.doc-placeholder {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
min-height: 100%;
|
||||||
|
padding: 0 100px;
|
||||||
|
background: rgb(226, 226, 226);
|
||||||
|
z-index: 999;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
|
||||||
|
.slide-h {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
flex-grow: 1;
|
||||||
|
max-width: 1350px;
|
||||||
|
width: 100%;
|
||||||
|
margin: 0 auto 56px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.slide-v {
|
||||||
|
display: flex;
|
||||||
|
position: relative;
|
||||||
|
flex-direction: column;
|
||||||
|
padding-bottom: 56.1333%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.slide-container {
|
||||||
|
position: absolute;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
background: #fbfbfb;
|
||||||
|
border: 1px solid #dfdfdf;
|
||||||
|
display: grid;
|
||||||
|
|
||||||
|
> .line {
|
||||||
|
height: 30%;
|
||||||
|
margin: auto 120px;
|
||||||
|
border-radius: 6px;
|
||||||
|
background: #f5f5f5;
|
||||||
|
|
||||||
|
-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;
|
||||||
|
|
||||||
|
&:nth-child(1) {
|
||||||
|
height: 40%;
|
||||||
|
margin: auto 80px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue