Accept Merge Request #41 : (virusdefender-dev -> dev)

Merge Request: 后台模板加载优化
Created By: @virusdefender
Accepted By: @virusdefender
URL: https://coding.net/u/virusdefender/p/qduoj/git/merge/41
This commit is contained in:
virusdefender
2015-08-07 18:32:51 +08:00
13 changed files with 213 additions and 208 deletions

View File

@@ -1,25 +1,15 @@
@import url("global.css");
@import url("bootstrap/bootstrap.min.css"); @import url("bootstrap/bootstrap.min.css");
@import url("bootstrap/todc-bootstrap.min.css"); @import url("bootstrap/todc-bootstrap.min.css");
@import url("codeMirror/codemirror.css"); @import url("codeMirror/codemirror.css");
@import url("simditor/simditor.css"); @import url("simditor/simditor.css");
@import url("webuploader/webuploader.css"); @import url("webuploader/webuploader.css");
@import url("datetime_picker/bootstrap-datetimepicker.css"); @import url("datetime_picker/bootstrap-datetimepicker.css");
html, body {
height: 100%;
}
img { #loading-gif{
max-width: 100%; width: 40px;
height: auto; height: 40px;
} margin: auto;
position: absolute;
.footer { top: 0; left: 0; bottom: 0; right: 0;
padding-top: 30px;
padding-bottom: 30px;
float: bottom;
bottom: 0;
}
label {
font-size: 16px;
} }

27
static/src/css/global.css Normal file
View File

@@ -0,0 +1,27 @@
html{
height: 100%;
}
body{
height:100%; /*使内容高度和body一样*/
margin-bottom:-80px;/*向上缩减80像素不至于footer超出屏幕可视范围*/
}
.main{
padding-bottom: 120px;
}
img {
max-width: 100%;
height: auto;
}
.footer {
left: 0;
right: 0;
height: 80px
}
label {
font-size: 16px;
}

View File

@@ -1,25 +1,8 @@
@import url("global.css");
@import url("bootstrap/bootstrap.min.css"); @import url("bootstrap/bootstrap.min.css");
@import url("bootstrap/todc-bootstrap.min.css"); @import url("bootstrap/todc-bootstrap.min.css");
@import url("codeMirror/codemirror.css"); @import url("codeMirror/codemirror.css");
html, body {
height: 100%;
}
img {
max-width: 100%;
height: auto;
}
.footer {
padding-top: 30px;
padding-bottom: 30px;
float: bottom;
bottom: 0;
}
label {
font-size: 16px;
}
#language-selector { #language-selector {
width: 130px; width: 130px;
@@ -47,7 +30,6 @@ label {
font-size: 15px; font-size: 15px;
} }
/* index css */
.jumbotron { .jumbotron {
text-align: center; text-align: center;
background-color: transparent; background-color: transparent;

View File

@@ -7,25 +7,36 @@ define("admin", ["jquery", "avalon"], function($, avalon){
$(".list-group-item").attr("class", "list-group-item"); $(".list-group-item").attr("class", "list-group-item");
} }
function show_template(url){
$("#loading-gif").show();
vm.template_url = url;
}
var vm = avalon.define({
$id: "admin",
template_url: "template/index/index.html",
hide_loading: function(){
$("#loading-gif").hide();
}
});
var hash = window.location.hash.substring(1); var hash = window.location.hash.substring(1);
if(hash){ if(hash){
li_active("#li-" + hash); li_active("#li-" + hash.replace("/", "-"));
show_template("template/" + hash + ".html");
}else { }else {
li_active("#li-index"); li_active("#li-index-index");
} }
window.onhashchange = function() { window.onhashchange = function() {
var hash = window.location.hash.substring(1); var hash = window.location.hash.substring(1);
if(hash){ if(hash){
li_inactive(".list-group-item"); li_inactive(".list-group-item");
li_active("#li-" + hash); li_active("#li-" + hash.replace("/", "-"));
vm.template_url = "template/index/" + hash + ".html"; show_template("template/" + hash + ".html");
} }
}; };
var vm = avalon.define({
$id: "admin",
template_url: "template/index/index.html"
});
}); });

View File

@@ -2,6 +2,7 @@ require(["jquery", "avalon", "editor", "uploader", "datetimepicker",
"validation" "validation"
], ],
function ($, avalon, editor, uploader) { function ($, avalon, editor, uploader) {
avalon.vmodels.add_contest = null;
$("#add-contest-form") $("#add-contest-form")
.formValidation({ .formValidation({
framework: "bootstrap", framework: "bootstrap",

View File

@@ -67,23 +67,23 @@
<![endif]--> <![endif]-->
<!-- browser happy end --> <!-- browser happy end -->
<div class="container" ms-controller="admin"> <div class="container main" ms-controller="admin">
<div class="row"> <div class="row">
<!-- admin left begin--> <!-- admin left begin-->
<div class="col-md-2"> <div class="col-md-2">
<ul class="list-group"> <ul class="list-group">
<li class="list-group-header">List header</li> <li class="list-group-header">List header</li>
<li class="list-group-item" id="li-index"><a href="#index">主页</a></li> <li class="list-group-item" id="li-index-index"><a href="#index/index">主页</a></li>
<li class="list-group-item" id="li-announcement"><a href="#announcement">公告</a></li> <li class="list-group-item" id="li-announcement-announcement"><a href="#announcement/announcement">公告</a></li>
<li class="list-group-item"><a href="#">Applications</a></li> <li class="list-group-item"><a href="#">Applications</a></li>
<li class="list-group-header">Another list header</li> <li class="list-group-header">比赛管理</li>
<li class="list-group-item"><a href="#">Help</a></li> <li class="list-group-item" id="li-contest-add_contest"><a href="#contest/add_contest">创建比赛</a></li>
</ul> </ul>
</div> </div>
<!-- admin left end --> <!-- admin left end -->
<img src="/static/img/loading.gif" id="loading-gif">
<!-- custom body begin --> <!-- custom body begin -->
<div ms-include-src="template_url"></div> <div ms-include-src="template_url" data-include-rendered="hide_loading"></div>
<!-- custom body end --> <!-- custom body end -->
</div> </div>
</div> </div>

View File

@@ -1,7 +1,4 @@
{% extends "admin_base.html" %} <div ms-controller="add_contest">
{% block body %}
{% verbatim %}
<div ms-controller="add_contest">
<form id="add-contest-form"> <form id="add-contest-form">
@@ -177,9 +174,6 @@
</div> </div>
</div> </div>
</form> </form>
</div> </div>
{% endverbatim %}
{% endblock %} <script src="/static/js/app/admin/contest/contest.js"></script>
{% block js_block %}
<script src="/static/js/app/admin/contest/contest.js"></script>
{% endblock %}

View File

@@ -1,6 +1,6 @@
{% extends "oj_base.html" %} {% extends "oj_base.html" %}
{% block body %} {% block body %}
<div class="container"> <div class="container main">
<div class="col-md-6 col-md-offset-3"> <div class="col-md-6 col-md-offset-3">
<h2 class="text-center">修改密码</h2> <h2 class="text-center">修改密码</h2>

View File

@@ -1,6 +1,6 @@
{% extends "oj_base.html" %} {% extends "oj_base.html" %}
{% block body %} {% block body %}
<div class="container"> <div class="container main">
<div class="col-md-6 col-md-offset-3"> <div class="col-md-6 col-md-offset-3">
<h2 class="text-center">用户登录</h2> <h2 class="text-center">用户登录</h2>

View File

@@ -1,6 +1,6 @@
{% extends "oj_base.html" %} {% extends "oj_base.html" %}
{% block body %} {% block body %}
<div class="container"> <div class="container main">
<div class="col-md-6 col-md-offset-3"> <div class="col-md-6 col-md-offset-3">
<h2 class="text-center">用户注册</h2> <h2 class="text-center">用户注册</h2>

View File

@@ -1,6 +1,6 @@
{% extends "oj_base.html" %} {% extends "oj_base.html" %}
{% block body %} {% block body %}
<div class="container"> <div class="container main">
<ul class="nav nav-tabs nav-tabs-google"> <ul class="nav nav-tabs nav-tabs-google">
<li role="presentation" class="active"> <li role="presentation" class="active">
<a href="problem.html">题目</a></li> <a href="problem.html">题目</a></li>

View File

@@ -1,7 +1,7 @@
{% extends 'oj_base.html' %} {% extends 'oj_base.html' %}
{% block body %} {% block body %}
<div class="container"> <div class="container main">
<ul class="nav nav-tabs nav-tabs-google"> <ul class="nav nav-tabs nav-tabs-google">
<li role="presentation" class="active"> <li role="presentation" class="active">
<a href="problem.html">题目</a></li> <a href="problem.html">题目</a></li>

View File

@@ -1,6 +1,6 @@
{% extends "oj_base.html" %} {% extends "oj_base.html" %}
{% block body %} {% block body %}
<div class="container" ms-controller="problem_list"> <div class="container main" ms-controller="problem_list">
<div class="row"> <div class="row">
<div class="col-lg-9"> <div class="col-lg-9">
<div class="row"> <div class="row">