update template

This commit is contained in:
rulingcom 2022-01-21 05:34:15 +00:00
parent fff061f708
commit 1fc31c3010
5 changed files with 71 additions and 346 deletions

View File

@ -12,18 +12,16 @@
</th>
</thead>
<tbody class="tbody" >
<span data-list="archives" data-level="1">
<span data-list="files" data-level="2">
<tr class="archive-items">
<td class="col-sm-8">
<a class="i-archive__file-name" href="{{file-url}}" target="_blank" title="{{file-name}}">{{file-name}}</a>
</td>
<td class="col-sm-4">
<a href="{{file-url}}" class="i-archive-files-item" target="_blank" data-toggle="tooltip" data-placement="bottom" title="{{file-name}}"><span class="label label-primary">{{file-type}}</span></a>
</td>
</tr>
</span>
</span>
<tr class="archive-items" data-list="archives" data-level="1">
<tr class="archive-items" data-list="files" data-level="2">
<td class="col-sm-8">
{{file-name}}
</td>
<td class="col-sm-4">
<a href="{{file-url}}" class="i-archive-files-item" target="_blank" data-toggle="tooltip" data-placement="bottom" title="{{file-name}}"><span class="label label-primary">{{file-type}}</span></a>
</td>
</tr>
</tr>
</tbody>
</table>
</div>

View File

@ -1,29 +1,29 @@
<div class="w-event_news widget-event_news-9">
<h3 class="w-event_news__widget-title">
<div class="w-annc widget-announcement-9">
<h3 class="w-annc__widget-title">
<span>{{widget-title}}</span>
</h3>
<table class="w-event_news__table table">
<table class="w-annc__table table">
<thead>
<tr>
<th class="w-event_news__th w-event_news__th--date">{{date-head}}</th>
<th class="w-event_news__th w-event_news__th--title">{{title-head}}</th>
<th class="w-event_news__th w-event_news__th--category">{{category-head}}</th>
<th class="w-annc__th w-annc__th--date">{{date-head}}</th>
<th class="w-annc__th w-annc__th--title">{{title-head}}</th>
<th class="w-annc__th w-annc__th--category">{{category-head}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="event_news">
<tr>
<td class="w-event_news__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
<td class="w-event_news_content">
<span class="w-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="w-event_news__status label status {{status-class}}">{{status}}</span>
<td class="w-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
<td class="w-annc_content">
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
</span>
<a class="w-event_news__title" href="{{link_to_show}}">{{title}}</a>
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
</td>
<td class="w-event_news__category">{{category}}</td>
<td class="w-annc__category">{{category}}</td>
</tr>
</tbody>
</table>
<div class="w-event_news__more-wrap clearfix">
<a class="w-event_news__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
<div class="w-annc__more-wrap clearfix">
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
</div>
</div>

View File

@ -1,152 +1,14 @@
<style type="text/css">
.full-size-img img {
width: 100%;
}
.full-size-img {
width: 100%;
}
.s-annc__sub-img.pull-right {
margin-left: 2em;
}
.s-annc__sub-img.pull-left {
margin-right: 2em;
}
strong.carousel__description {
color: white;
}
.carousel_images{
{{carousel_display_style}}
}
@media (max-width: 767px){
.carousel_images{
width: 100%;
}
}
</style>
<style type="text/css">
.carousel_img_item{
display: none;
float: left;
}
.controlplay {
position: absolute;
right: 1em;
top: 3%;
z-index: 200;
}
.controlplay a {
display: inline-block;
margin-right: 0.25em;
cursor: pointer;
padding: 5px 10px;
border: 1px solid rgba(255,255,255,0.5);
background: rgba(0,0,0,0.2);
}
.controlplay a i {
font-family: FontAwesome;
position: relative;
font-size: 1rem;
line-height: 1;
color: #FFF;
vertical-align: middle;
font-style: unset;
}
.controlplay .resume-slide i::before {
content: "\f04b";
}
.controlplay .pause-slide i::before {
content: "\f04c";
}
ul.button-mid .prev-button {
transition: 0.4s;
position: relative;
float: left;
left: 0.5rem;
width: 2.5rem;
height: 2.5rem;
font-size: 2.2rem;
color: #ffffff;
background: rgba(0,0,0,0.2);
text-align: center;
line-height: 2.5rem;
top: 50%;
position: absolute;
transform: translateY(-50%);
z-index: 999;
}
ul.button-mid .next-button {
float: right;
transition: 0.4s;
position: relative;
right: 0.5rem;
width: 2.5rem;
height: 2.5rem;
font-size: 2.2rem;
color: #fff;
background: rgba(0,0,0,0.2);
text-align: center;
line-height: 2.5rem;
top: 50%;
position: absolute;
transform: translateY(-50%);
z-index: 999;
}
.carousel_images_slide{
padding: 3em;
}
.carousel_img_item img{
cursor: pointer;
}
@media (max-width: 479px){
.carousel_img_item:nth-child(-n+1){
display: block;
width: 100%;
float: left;
}
.carousel_img_item{
width: 100%;
}
}
@media (min-width: 480px){
.carousel_img_item:nth-child(-n+2){
display: block;
width: 50%;
float: left;
}
.carousel_img_item{
width: 50%;
}
}
@media (min-width: 768px){
.carousel_img_item:nth-child(-n+3){
display: block;
width: 33%;
float: left;
}
.carousel_img_item{
width: 33%;
}
}
@media (min-width: 1280px){
.carousel_img_item:nth-child(-n+4){
display: block;
width: 25%;
float: left;
}
.carousel_img_item{
width: 25%;
}
}
</style>
<article class="s-annc show-annc">
<h1 class="s-annc__show-title">{{title}}</h1>
<ul class="s-annc__meta-wrap list-unstyled no-print">
<li class="s-annc__date-wrap s-annc__meta--item">
<i class="fa fa-calendar-o"></i>
<span class="s-annc__date" date-format="%Y-%m-%d">{{updated_at}}</span>
<span style="display: inline-block;{{event-time-css}}">
<span>{{event_date-head}}:</span>
<span class="s-annc__date" date-format="%Y-%m-%d">{{updated_at}}</span>
</span>
</li>
<li class="s-annc__author-wrap s-annc__meta--item">
<li class="s-annc__author-wrap s-annc__meta--item" style="display: none;">
<i class="fa fa-male"></i>
<span class="s-annc__author">{{update_user}}</span>
</li>
@ -199,176 +61,5 @@
</div>
</li>
</ul>
</article>
<div class="carousel_images">
<div class="w-ba-banner ba-banner-widget-1">
<div class="w-ba-banner__wrap cycle-slideshow"
data-list="event_carousel_images"
data-level="0"
data-cycle-slides=".event_carousel_slide"
data-cycle-log="false"
data-cycle-auto-height="0"
data-cycle-speed="300"
data-cycle-timeout="5000"
data-cycle-fx="fade"
data-pager-active-class="active-slide"
data-cycle-swipe=true
data-cycle-swipe-fx="scrollHorz"
>
<div class="w-ba-banner__slide event_carousel_slide"
data-cycle-title="{{description_text}}"
>
<img class="w-ba-banner__image banner-responsive" src="{{src}}" alt="{{description_text}}">
<div class="ad-overlay w-ad-banner__overlay event_carousel__overlay">
<p><strong class="carousel__description">{{description}}</strong></p>
</div>
<div class="transitionfade"></div>
</div>
</div>
<ul class="controlplay"><a class="resume-slide" title = "{{resume_btn_title}}"><i></i></a><a class="pause-slide" title = "{{pause_btn_title}}"><i></i></a></ul>
<ul class="button-mid">
<i class="fa fa-angle-left prev-button" aria-hidden="true" title = "{{prev_btn_title}}"></i>
<i class="fa fa-angle-right next-button" aria-hidden="true" title = "{{next_btn_title}}"></i>
</ul>
</div>
<div style="position: relative;">
<h4><span class="active_slide">1</span>/{{carousel_count}}</h4>
<ul class="carousel_images_slide w-annc__list row list-unstyled" data-level="0" data-list="event_carousel_images">
<li class="carousel_img_item col-sm-3">
<div class="carousel_img-wrap">
<img class="carousel_img" src="{{src}}" alt="{{description_text}}">
</div>
</li>
</ul>
<ul class="button-mid">
<i class="fa fa-angle-left prev-button prev_img" aria-hidden="true" title = "{{prev_btn_title}}"></i>
<i class="fa fa-angle-right next-button next_img" aria-hidden="true" title = "{{next_btn_title}}"></i>
</ul>
</div>
</div>
{{link_to_edit}}
<script>
(function($) {
function hideEmptyEl(el, elParent) {
if( el.length === 0) {
elParent.addClass('hide');
}
}
// Hiding parent element when children elements are not present
// Tags
hideEmptyEl($('.s-annc__tag'), $('.s-annc__tag-wrap'));
// Attachments
hideEmptyEl($('.s-annc__flie-title'), $('.s-annc__related-file'));
// Links
hideEmptyEl($('.s-annc__link-title'), $('.s-annc__related-link'));
$("img[src='']").remove();
$('.pause-slide').click(function(){
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('pause');
});
$('.resume-slide').click(function(){
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle('resume');
});
$('.next-button').off('click').on('click',function(){
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("next");
})
$('.prev-button').off('click').on('click',function(){
$(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("prev");
})
window.active_slide = 0;
$('.prev_img').off('click').on('click',function(){
var carousel_images_slide = $('.carousel_images_slide');
var carousel_images_slide_first_child = carousel_images_slide.find(">li").eq(active_slide);
if(carousel_images_slide_first_child.length > 0){
var content_size = Math.floor((carousel_images_slide.outerWidth() - Number.parseInt(carousel_images_slide.css('font-size')) * 3) / carousel_images_slide_first_child.outerWidth(true));
content_size = Math.max(content_size,1);
if(carousel_images_slide.find(">li").length > content_size && active_slide > 0){
active_slide -= content_size;
carousel_images_slide.find(">li").css("display","none");
for(var i = active_slide; i < active_slide + content_size;i++){
carousel_images_slide.find(">li").eq(i).css("display","block");
}
}
}
})
$('.next_img').off('click').on('click',function(){
var carousel_images_slide = $('.carousel_images_slide');
var carousel_images_slide_first_child = carousel_images_slide.find(">li").eq(active_slide);
if(carousel_images_slide_first_child.length > 0){
var content_size = Math.floor((carousel_images_slide.outerWidth() - Number.parseInt(carousel_images_slide.css('font-size')) * 3) / carousel_images_slide_first_child.outerWidth(true));
content_size = Math.max(content_size,1);
var li_length = carousel_images_slide.find(">li").length;
if(li_length > content_size){
active_slide += content_size;
active_slide = Math.min(active_slide,li_length - 1);
carousel_images_slide.find(">li").css("display","none");
for(var i = active_slide; i < active_slide + content_size;i++){
carousel_images_slide.find(">li").eq(i).css("display","block");
}
}
}
})
$(".carousel_img_item img").off("click").on("click",function(){
$(".carousel_images .cycle-slideshow").cycle($(this).index(".carousel_img_item img"));
})
$(document).ready(function(){
$(".carousel_images .cycle-slideshow").cycle('pause');
var carousel_image_block_width = $('.carousel_images').width();
var heights = $(".event_carousel_slide").map(function(i,v){
return $(v).height() * carousel_image_block_width / $(v).width();
})
var max_height = Math.max.apply(null,heights);
$(".event_carousel_slide").each(function(i,v){
$(v).height(max_height);
})
$(".carousel_images .cycle-slideshow").cycle('resume');
$('.cycle-slideshow').on('cycle-after',function(){
$(".active_slide").text($('.event_carousel_slide.cycle-slide-active').index());
})
})
$(window).on("load",function(){
$(".carousel_images .cycle-slideshow").cycle('pause');
var carousel_image_block_width = $('.carousel_images').width();
var heights = $(".event_carousel_slide").map(function(i,v){
return $(v).height() * carousel_image_block_width / $(v).width();
})
var max_height = Math.max.apply(null,heights);
$(".event_carousel_slide").each(function(i,v){
$(v).height(max_height);
})
$(".carousel_images .cycle-slideshow").cycle('resume');
})
$(window).resize(function(){
var carousel_images_slide = $('.carousel_images_slide');
var carousel_images_slide_first_child = carousel_images_slide.find(">li").eq(active_slide);
if(carousel_images_slide_first_child.length > 0){
var content_size = Math.floor((carousel_images_slide.outerWidth() - Number.parseInt(carousel_images_slide.css('font-size')) * 3) / carousel_images_slide_first_child.outerWidth(true));
content_size = Math.max(content_size,1);
carousel_images_slide.find(">li").css("display","none");
var active_count = carousel_images_slide.find(">li").length - active_slide;
if(active_count < content_size){
active_slide -= (content_size - active_count);
}
active_slide = Math.max(active_slide,0);
console.log(content_size)
for(var i = active_slide; i < active_slide + content_size;i++){
carousel_images_slide.find(">li").eq(i).css("display","block");
}
}
var carousel_image_block_width = $('.carousel_images').width();
$(".event_carousel_slide").css("height",'');
var heights = $(".event_carousel_slide").map(function(i,v){
return $(v).height() * carousel_image_block_width / $(v).width();
})
var max_height = Math.max.apply(null,heights);
$(".event_carousel_slide").each(function(i,v){
$(v).height(max_height);
})
})
}(jQuery));
</script>
{{link_to_edit}}

View File

@ -2,20 +2,16 @@
<caption><h3>{{widget-title}}</h3></caption>
<thead>
<tr>
<th class="col-md-2">{{th_year}}</th>
<th class="col-md-3">{{th_lab_title}}</th>
<th class="col-md-2">{{th_location}}</th>
<th class="col-md-3">{{th_member}}</th>
<th class="col-md-2">更多內容</th>
</tr>
</thead>
<tbody data-level="0" data-list="labs">
<tr>
<td>{{year}}</td>
<td>{{lab_title}}</td>
<td><a href="{{link_to_show}}">{{lab_title}}</td>
<td>{{location}}</td>
<td>{{member}}</td>
<th><a href="{{link_to_show}}">{{th_detail}}</a></th>
</tr>
</tbody>
</table>

View File

@ -0,0 +1,40 @@
<table class="table table-hover table-striped projects-index personal-lab dt-responsive nowrap">
<caption><h3>{{widget-title}}</h3></caption>
<thead>
<tr>
<th class="col-md-2">{{th_year}}</th>
<th class="col-md-3">{{th_lab_title}}</th>
<th class="col-md-2">{{th_location}}</th>
<th class="col-md-3">{{th_member}}</th>
<th class="col-md-2">更多內容</th>
</tr>
</thead>
<tbody data-level="0" data-list="labs">
<tr>
<td>{{year}}</td>
<td><a href="{{link_to_show}}">{{lab_title}}</td>
<td>{{location}}</td>
<td>{{member}}</td>
<th><a href="{{link_to_show}}">{{th_detail}}</a></th>
</tr>
</tbody>
</table>
{{pagination_goes_here}}
<script>
for ( var i = 0; i < $('thead th').length ; i++ ) {
if( $('thead th').length > 2 ) {
var th = $('thead th');
for ( var q = 3; q < th.length ; q++ ) {
th.eq(q).addClass('min-tablet-l');
}
}
}
$('table.personal-lab').DataTable({
searching: false,
paging: false,
ordering: false,
info: false
});
</script>