🎨 后台管理UI优化

pull/56/head
ruibaby 2018-11-13 11:26:19 +08:00
parent 78e6d76490
commit 294ae693b1
20 changed files with 69 additions and 37 deletions

View File

@ -6,6 +6,33 @@ $.extend({
}
});
$.fn.extend({
animateCss: function(animationName, callback) {
var animationEnd = (function(el) {
var animations = {
animation: 'animationend',
OAnimation: 'oAnimationEnd',
MozAnimation: 'mozAnimationEnd',
WebkitAnimation: 'webkitAnimationEnd'
};
for (var t in animations) {
if (el.style[t] !== undefined) {
return animations[t];
}
}
})(document.createElement('div'));
this.addClass('animated ' + animationName).one(animationEnd, function() {
$(this).removeClass('animated ' + animationName);
if (typeof callback === 'function') callback();
});
return this;
}
});
/**
*
*/
@ -19,6 +46,7 @@ $(document).ready(function () {
}
}
initMenu();
$("#animated-header,#animated-content").animateCss("fadeIn");
});
/**
@ -28,6 +56,10 @@ $(document).on('pjax:clicked', function() {
initMenu();
});
$(document).on('pjax:complete',function () {
$("#animated-header,#animated-content").animateCss("fadeIn");
});
/**
* https://github.com/JpressProjects/jpress/blob/master/jpress-web/src/main/resources/static/admin/js/jpressadmin.js
*/

View File

@ -1 +1 @@
$.extend({halo:function(){}});$(document).ready(function(){if($(window).width()<1024){if($("body").hasClass("layout-boxed")){$("body").removeClass("layout-boxed");}if($("body").hasClass("sidebar-collapse")){$("body").removeClass("sidebar-collapse");}}initMenu();});$(document).on("pjax:clicked",function(){initMenu();});function initMenu(){var pathName=location.pathname;if(pathName=="/admin/posts/edit"){pathName="/admin/posts/new";}if(pathName=="/admin/category/edit"){pathName="/admin/category";}if(pathName=="/admin/tag/edit"){pathName="/admin/tag";}if(pathName=="/admin/page/edit"){pathName="/admin/page/new";}if(pathName=="/admin/page/links"){pathName="/admin/page";}if(pathName=="/admin/page/galleries"){pathName="/admin/page";}if(pathName=="/admin/menus/edit"){pathName="/admin/menus";}$(".sidebar-menu").children().each(function(){var li=$(this);li.find("a").each(function(){var href=$(this).attr("href");if(pathName==href){li.addClass("active");$(this).parent().addClass("active");}else{$(this).parent().removeClass("active");}});});}$.halo.prototype.showMsg=function(text,icon,hideAfter){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff"});};$.halo.prototype.showMsgAndReload=function(text,icon,hideAfter){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){window.location.reload();}});};$.halo.prototype.showMsgAndRedirect=function(text,icon,hideAfter,url){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){window.location.href=url;}});};$.halo.prototype.showMsgAndParentRedirect=function(text,icon,hideAfter,url){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){parent.location.href=url;}});};$.halo.prototype.formatContent=function(a){a=a.replace(/\r\n/g,"<br/>");a=a.replace(/\n/g,"<br/>");a=a.replace(/\s/g," ");return a;};$.halo.prototype.layerModal=function(url,title){layer.open({type:2,title:title,shadeClose:true,shade:0.5,maxmin:true,area:["90%","90%"],content:url,scrollbar:false});};function saveOptions(option){var param=$("#"+option).serialize();$.ajax({type:"post",url:"/admin/option/save",data:param,success:function(data){if(data.code==1){halo.showMsg(data.msg,"success",1000);}else{halo.showMsg(data.msg,"error",2000);}}});}
$.extend({halo:function(){}});$.fn.extend({animateCss:function(animationName,callback){var animationEnd=(function(el){var animations={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"mozAnimationEnd",WebkitAnimation:"webkitAnimationEnd"};for(var t in animations){if(el.style[t]!==undefined){return animations[t];}}})(document.createElement("div"));this.addClass("animated "+animationName).one(animationEnd,function(){$(this).removeClass("animated "+animationName);if(typeof callback==="function"){callback();}});return this;}});$(document).ready(function(){if($(window).width()<1024){if($("body").hasClass("layout-boxed")){$("body").removeClass("layout-boxed");}if($("body").hasClass("sidebar-collapse")){$("body").removeClass("sidebar-collapse");}}initMenu();$("#animated-header,#animated-content").animateCss("fadeIn");});$(document).on("pjax:clicked",function(){initMenu();});$(document).on("pjax:complete",function(){$("#animated-header,#animated-content").animateCss("fadeIn");});function initMenu(){var pathName=location.pathname;if(pathName=="/admin/posts/edit"){pathName="/admin/posts/new";}if(pathName=="/admin/category/edit"){pathName="/admin/category";}if(pathName=="/admin/tag/edit"){pathName="/admin/tag";}if(pathName=="/admin/page/edit"){pathName="/admin/page/new";}if(pathName=="/admin/page/links"){pathName="/admin/page";}if(pathName=="/admin/page/galleries"){pathName="/admin/page";}if(pathName=="/admin/menus/edit"){pathName="/admin/menus";}$(".sidebar-menu").children().each(function(){var li=$(this);li.find("a").each(function(){var href=$(this).attr("href");if(pathName==href){li.addClass("active");$(this).parent().addClass("active");}else{$(this).parent().removeClass("active");}});});}$.halo.prototype.showMsg=function(text,icon,hideAfter){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff"});};$.halo.prototype.showMsgAndReload=function(text,icon,hideAfter){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){window.location.reload();}});};$.halo.prototype.showMsgAndRedirect=function(text,icon,hideAfter,url){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){window.location.href=url;}});};$.halo.prototype.showMsgAndParentRedirect=function(text,icon,hideAfter,url){if(heading==undefined){var heading="提示";}$.toast({text:text,heading:heading,icon:icon,showHideTransition:"fade",allowToastClose:true,hideAfter:hideAfter,stack:1,position:"top-center",textAlign:"left",loader:true,loaderBg:"#ffffff",afterHidden:function(){parent.location.href=url;}});};$.halo.prototype.formatContent=function(a){a=a.replace(/\r\n/g,"<br/>");a=a.replace(/\n/g,"<br/>");a=a.replace(/\s/g," ");return a;};$.halo.prototype.layerModal=function(url,title){layer.open({type:2,title:title,shadeClose:true,shade:0.5,maxmin:true,area:["90%","90%"],content:url,scrollbar:false});};function saveOptions(option){var param=$("#"+option).serialize();$.ajax({type:"post",url:"/admin/option/save",data:param,success:function(data){if(data.code==1){halo.showMsg(data.msg,"success",1000);}else{halo.showMsg(data.msg,"error",2000);}}});}

View File

@ -6,7 +6,7 @@
.div-thumbnail{transition:all .5s ease-in-out;padding:10px}
.thumbnail{margin-bottom:0}
</style>
<section class="content-header animated fadeIn">
<section class="content-header" id="animated-header">
<h1 style="display: inline-block;"><@spring.message code='admin.attachments.title' /></h1>
<a class="btn-header" id="showForm" href="#">
<i class="fa fa-cloud-upload" aria-hidden="true"></i><@spring.message code='admin.attachments.btn.upload' />
@ -16,7 +16,7 @@
<li class="active"><@spring.message code='admin.attachments.title' /></li>
</ol>
</section>
<section class="content container-fluid animated fadeIn">
<section class="content container-fluid" id="animated-content">
<div class="row" id="uploadForm" style="display: none;">
<div class="col-md-12">
<div class="form-group">

View File

@ -5,7 +5,7 @@
<style type="text/css" rel="stylesheet">
.resourceType,.databaseType,.postType{list-style:none;float:left;margin:0;padding-bottom:10px}
</style>
<section class="content-header animated fadeIn">
<section class="content-header" id="animated-header">
<h1 style="display: inline-block;"><@spring.message code='admin.backup.title' /></h1>
<a class="btn-header" id="btnBackupOption" href="#">
<@spring.message code='admin.backup.text.setting' />
@ -18,7 +18,7 @@
<li class="active"><@spring.message code='admin.backup.title' /></li>
</ol>
</section>
<section class="content container-fluid animated fadeIn">
<section class="content container-fluid" id="animated-content">
<div class="row">
<div class="col-lg-12 col-xs-12" id="backupOptionsPanel" style="display: none">
<div class="box box-primary">

View File

@ -2,7 +2,7 @@
<#include "module/_macro.ftl">
<@head>${options.blog_title!} | <@spring.message code='admin.categories.title' /></@head>
<div class="content-wrapper">
<section class="content-header animated fadeIn">
<section class="content-header" id="animated-header">
<h1>
<@spring.message code='admin.categories.title' />
<small></small>
@ -16,7 +16,7 @@
<li class="active"><@spring.message code='admin.categories.title' /></li>
</ol>
</section>
<section class="content container-fluid animated fadeIn">
<section class="content container-fluid" id="animated-content">
<div class="row">
<div class="col-md-5">
<div class="box box-primary">

View File

@ -5,7 +5,7 @@
<style type="text/css" rel="stylesheet">
.draft,.publish,.trash{list-style:none;float:left;margin:0;padding-bottom:10px}s
</style>
<section class="content-header animated fadeIn">
<section class="content-header" id="animated-header">
<h1><@spring.message code='admin.comments.title' /><small></small></h1>
<ol class="breadcrumb">
<li>
@ -14,7 +14,7 @@
<li class="active"><@spring.message code='admin.comments.title' /></li>
</ol>
</section>
<section class="content container-fluid animated fadeIn">
<section class="content container-fluid" id="animated-content">
<ul style="list-style: none;padding-left: 0">
<li class="publish">
<a data-pjax="true" href="/admin/comments" <#if status==0>style="color: #000" </#if>><@spring.message code='common.status.published' /><span class="count">(${publicCount})</span></a>&nbsp;|&nbsp;

View File

@ -10,7 +10,7 @@
font-size: 16px;
}
</style>
<section class="content-header animated fadeIn">
<section class="content-header" id="animated-header">
<h1 style="display: inline-block;"><@spring.message code='admin.halo.title' /></h1>
<ol class="breadcrumb">
<li>
@ -19,7 +19,7 @@
<li class="active"><@spring.message code='admin.halo.bread.active' /></li>
</ol>
</section>
<section class="content container-fluid animated fadeIn">
<section class="content container-fluid" id="animated-content">
<div id='write' class='is-mac'>
<blockquote style="font-size: 14px;">
<p><@spring.message code='admin.halo.content.p1' />😉</p>

View File

@ -2,7 +2,7 @@
<#include "module/_macro.ftl">
<@head>${options.blog_title!} | <@spring.message code='admin.index.title' /></@head>
<div class="content-wrapper">
<section class="content-header animated fadeIn">
<section class="content-header" id="animated-header">
<h1 style="display: inline-block;"><@spring.message code='admin.index.title' /></h1>
<a class="btn-header" id="btnWidgetsOption" href="#">
<@spring.message code='admin.index.btn.widgets' />
@ -14,7 +14,7 @@
<li class="active"><@spring.message code='admin.index.bread.active' /></li>
</ol>
</section>
<section class="content container-fluid animated fadeIn">
<section class="content container-fluid" id="animated-content">
<div class="row">
<div class="col-lg-12 col-xs-12" id="widgetOptionsPanel" style="display: none">
<div class="box box-primary">

View File

@ -2,7 +2,7 @@
<#include "module/_macro.ftl">
<@head>${options.blog_title!} | <@spring.message code='admin.menus.title' /></@head>
<div class="content-wrapper">
<section class="content-header animated fadeIn">
<section class="content-header" id="animated-header">
<h1 style="display: inline-block;"><@spring.message code='admin.menus.title' /></h1>
<ol class="breadcrumb">
<li>
@ -12,7 +12,7 @@
<li class="active"><@spring.message code='admin.menus.title' /></li>
</ol>
</section>
<section class="content container-fluid animated fadeIn">
<section class="content container-fluid" id="animated-content">
<div class="row">
<div class="col-md-5">
<div class="box box-primary">

View File

@ -6,7 +6,7 @@
border-top-color: #d2d6de;
}
</style>
<section class="content-header animated fadeIn">
<section class="content-header" id="animated-header">
<h1>
<@spring.message code='admin.setting.title' />
<small></small>
@ -21,7 +21,7 @@
</ol>
</section>
<!-- tab选项卡 -->
<section class="content container-fluid animated fadeIn">
<section class="content container-fluid" id="animated-content">
<div class="row">
<div class="col-md-12">
<div class="nav-tabs-custom">

View File

@ -2,7 +2,7 @@
<#include "module/_macro.ftl">
<@head>${options.blog_title!} | <@spring.message code='admin.pages.title' /></@head>
<div class="content-wrapper">
<section class="content-header animated fadeIn">
<section class="content-header" id="animated-header">
<h1 style="display: inline-block;"><@spring.message code='admin.pages.title' /><small></small></h1>
<a class="btn-header" id="btnNewPage" href="/admin/page/new">
<@spring.message code='admin.pages.btn.new-page' />
@ -15,7 +15,7 @@
<li class="active"><@spring.message code='admin.pages.bread.all-pages' /></li>
</ol>
</section>
<section class="content container-fluid animated fadeIn">
<section class="content container-fluid" id="animated-content">
<div class="row">
<div class="col-md-12">
<div class="nav-tabs-custom">

View File

@ -6,7 +6,7 @@
.div-thumbnail{transition:all .5s ease-in-out;padding:10px}
.thumbnail{margin-bottom:0}
</style>
<section class="content-header animated fadeIn">
<section class="content-header" id="animated-header">
<h1 style="display: inline-block;"><@spring.message code='admin.pages.galleries.title' /><small></small></h1>
<a class="btn-header" id="btnNewPicture" href="#">
<@spring.message code='admin.pages.galleries.text.add-gallery' />
@ -19,7 +19,7 @@
<li class="active"><@spring.message code='admin.pages.galleries.title' /></li>
</ol>
</section>
<section class="content container-fluid animated fadeIn">
<section class="content container-fluid" id="animated-content">
<div class="row">
<div class="col-lg-12 col-xs-12" id="newPicturePanel" style="display: none">
<div class="box box-primary">

View File

@ -2,7 +2,7 @@
<#include "module/_macro.ftl">
<@head>${options.blog_title!} | <@spring.message code='admin.pages.links.title' /></@head>
<div class="content-wrapper">
<section class="content-header animated fadeIn">
<section class="content-header" id="animated-header">
<h1><@spring.message code='admin.pages.links.title' /><small></small></h1>
<ol class="breadcrumb">
<li><a data-pjax="true" href="/admin"><i class="fa fa-dashboard"></i><@spring.message code='admin.index.bread.index' /></a></li>
@ -10,7 +10,7 @@
<li class="active"><@spring.message code='admin.pages.links.title' /></li>
</ol>
</section>
<section class="content container-fluid animated fadeIn">
<section class="content container-fluid" id="animated-content">
<div class="row">
<div class="col-md-5">
<div class="box box-primary">

View File

@ -10,7 +10,7 @@
.CodeMirror, .CodeMirror-scroll {min-height: 480px;}
.editor-preview-active img,.editor-preview-active-side img{width: 100%;}
</style>
<section class="content-header animated fadeIn">
<section class="content-header" id="animated-header">
<h1 style="display: inline-block;">
<@spring.message code='admin.pages.edit.title' />
</h1>
@ -27,7 +27,7 @@
<li class="active"><@spring.message code='admin.pages.edit.title' /></li>
</ol>
</section>
<section class="content animated fadeIn">
<section class="content" id="animated-content">
<div class="row">
<div class="col-md-9">
<#if post??>

View File

@ -6,7 +6,7 @@
.draft,.publish,.trash{list-style:none;float:left;margin:0;padding-bottom:10px}
.pretty{margin: 0;}
</style>
<section class="content-header animated fadeIn">
<section class="content-header" id="animated-header">
<h1 style="display: inline-block;"><@spring.message code='admin.posts.title' /></h1>
<a data-pjax="false" class="btn-header" id="btnNewPost" href="/admin/posts/new">
<@spring.message code='admin.posts.btn.new-post' />
@ -21,7 +21,7 @@
<li class="active"><@spring.message code='admin.posts.bread.all-posts' /></li>
</ol>
</section>
<section class="content container-fluid animated fadeIn">
<section class="content container-fluid" id="animated-content">
<div class="row">
<div class="col-xs-12">
<ul style="list-style: none;padding-left: 0">

View File

@ -11,7 +11,7 @@
.CodeMirror, .CodeMirror-scroll {min-height: 480px;}
.editor-preview-active img,.editor-preview-active-side img{width: 100%;}
</style>
<section class="content-header animated fadeIn">
<section class="content-header" id="animated-header">
<h1 style="display: inline-block;"><@spring.message code='admin.posts.edit.title' /></h1>
<a class="btn-header" id="btnOpenAttach" href="#" onclick="halo.layerModal('/admin/attachments/select?type=post','<@spring.message code="common.js.all-attachment" />')">
<@spring.message code='admin.editor.btn.attachs' />
@ -26,7 +26,7 @@
<li class="active"><@spring.message code='admin.posts.edit.title' /></li>
</ol>
</section>
<section class="content animated fadeIn">
<section class="content" id="animated-content">
<div class="row">
<div class="col-md-9">
<#if post??>

View File

@ -2,7 +2,7 @@
<#include "module/_macro.ftl">
<@head>${options.blog_title!} | <@spring.message code='admin.user.profile.title' /></@head>
<div class="content-wrapper">
<section class="content-header animated fadeIn">
<section class="content-header" id="animated-header">
<h1>
<@spring.message code='admin.user.profile.title' />
<small></small>
@ -17,7 +17,7 @@
</ol>
</section>
<!-- tab选项卡 -->
<section class="content container-fluid animated fadeIn">
<section class="content container-fluid" id="animated-content">
<div class="row">
<div class="col-md-12">
<div class="nav-tabs-custom">

View File

@ -5,7 +5,7 @@
<style>
.tags{zoom:1;margin:0;padding:0}.tags:after,.tags:before{content:'';display:table}.tags:after{clear:both}.tags li{position:relative;float:left;margin:0 0 8px 12px;list-style:none}.tags li:active{margin-top:1px;margin-bottom:7px}.tags li:after{content:'';z-index:2;position:absolute;top:10px;right:-2px;width:5px;height:6px;opacity:.95;background:#eb6b22;border-radius:3px 0 0 3px;-webkit-box-shadow:inset 1px 0 #99400e;box-shadow:inset 1px 0 #99400e}.tags a,.tags span{display:block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tags a{height:26px;line-height:23px;padding:0 9px 0 8px;font-size:12px;color:#555;text-decoration:none;text-shadow:0 1px #fff;background:#fafafa;border-width:1px 0 1px 1px;border-style:solid;border-color:#dadada #d2d2d2 #c5c5c5;border-radius:3px 0 0 3px;background-image:-webkit-linear-gradient(top,#fcfcfc,#f0f0f0);background-image:-moz-linear-gradient(top,#fcfcfc,#f0f0f0);background-image:-o-linear-gradient(top,#fcfcfc,#f0f0f0);background-image:linear-gradient(to bottom,#fcfcfc,#f0f0f0);-webkit-box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 1px 2px rgba(0,0,0,.05)}.tags a:hover span{padding:0 7px 0 6px;max-width:40px;-webkit-box-shadow:inset 0 0 0 1px rgba(255,255,255,.15),1px 1px 2px rgba(0,0,0,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.15),1px 1px 2px rgba(0,0,0,.2)}.tags span{position:absolute;top:1px;left:100%;z-index:2;overflow:hidden;max-width:0;height:24px;line-height:21px;padding:0 0 0 2px;color:#fff;text-shadow:0 -1px rgba(0,0,0,.3);background:#eb6b22;border:1px solid;border-color:#d15813 #c85412 #bf5011;border-radius:0 2px 2px 0;opacity:.95;background-image:-webkit-linear-gradient(top,#ed7b39,#df5e14);background-image:-moz-linear-gradient(top,#ed7b39,#df5e14);background-image:-o-linear-gradient(top,#ed7b39,#df5e14);background-image:linear-gradient(to bottom,#ed7b39,#df5e14);-webkit-transition:.3s ease-out;-moz-transition:.3s ease-out;-o-transition:.3s ease-out;transition:.3s ease-out;-webkit-transition-property:padding,max-width;-moz-transition-property:padding,max-width;-o-transition-property:padding,max-width;transition-property:padding,max-width}.green li:after{background:#65bb34;-webkit-box-shadow:inset 1px 0 #3a6b1e;box-shadow:inset 1px 0 #3a6b1e}.green span{background:#65bb34;border-color:#549b2b #4f9329 #4b8b27;background-image:-webkit-linear-gradient(top,#71ca3f,#5aa72e);background-image:-moz-linear-gradient(top,#71ca3f,#5aa72e);background-image:-o-linear-gradient(top,#71ca3f,#5aa72e);background-image:linear-gradient(to bottom,#71ca3f,#5aa72e)}.blue li:after{background:#56a3d5;-webkit-box-shadow:inset 1px 0 #276f9e;box-shadow:inset 1px 0 #276f9e}.blue span{background:#56a3d5;border-color:#3591cd #318cc7 #2f86be;background-image:-webkit-linear-gradient(top,#6aaeda,#4298d0);background-image:-moz-linear-gradient(top,#6aaeda,#4298d0);background-image:-o-linear-gradient(top,#6aaeda,#4298d0);background-image:linear-gradient(to bottom,#6aaeda,#4298d0)}
</style>
<section class="content-header animated fadeIn">
<section class="content-header" id="animated-header">
<h1>
<@spring.message code='admin.tags.title' />
<small></small>
@ -19,7 +19,7 @@
<li class="active"><@spring.message code='admin.tags.title' /></li>
</ol>
</section>
<section class="content container-fluid animated fadeIn">
<section class="content container-fluid" id="animated-content">
<div class="row">
<div class="col-md-5">
<div class="box box-primary">

View File

@ -7,7 +7,7 @@
.CodeMirror-fullscreen,.editor-toolbar.fullscreen{z-index: 1030;}
.CodeMirror, .CodeMirror-scroll {min-height: 480px;}
</style>
<section class="content-header animated fadeIn">
<section class="content-header" id="animated-header">
<h1 style="display: inline-block;"><@spring.message code='admin.themes.edit.title' /></h1>
<ol class="breadcrumb">
<li>
@ -17,7 +17,7 @@
<li class="active">主题编辑</li>
</ol>
</section>
<section class="content container-fluid animated fadeIn">
<section class="content container-fluid" id="animated-content">
<div class="row">
<div class="col-md-9">
<div class="box box-primary">

View File

@ -33,7 +33,7 @@
color: red;
}
</style>
<section class="content-header animated fadeIn">
<section class="content-header" id="animated-header">
<h1 style="display: inline-block;"><@spring.message code='admin.themes.title' /></h1>
<a class="btn-header" id="showForm" href="#" onclick="halo.layerModal('/admin/themes/install','<@spring.message code="admin.themes.js.install-theme" />')">
<i class="fa fa-cloud-upload" aria-hidden="true"></i><@spring.message code='admin.themes.btn.install' />
@ -44,7 +44,7 @@
<li class="active"><@spring.message code='admin.themes.title' /></li>
</ol>
</section>
<section class="content container-fluid animated fadeIn">
<section class="content container-fluid" id="animated-content">
<div class="row">
<#if themes?? && (themes?size>0)>
<#list themes as theme>