Update widget settings feature.

Update templates.
This commit is contained in:
BoHung Chiu 2021-06-09 14:34:00 +08:00
parent 7233a75636
commit dcec3b40db
46 changed files with 3974 additions and 882 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

View File

@ -17,7 +17,7 @@ class EventNewsController < ApplicationController
links = a.event_news_links.map{|link| { "link_url" => link.url, "link_title" => (link.title.blank? ? link.url : link.title) } } rescue []
author = User.find(a.create_user_id).member_profile.name rescue ""
desc = a.image_description
desc = (desc.blank? ? "event_news image" : desc)
desc = (desc.blank? ? "EventNews image" : desc)
link_to_show = a.is_external_link ? a.external_link : OrbitHelper.url_to_show(a.to_param)
target = a.is_external_link ? "_blank" : "_self"
doc = Nokogiri::HTML(a.title)
@ -35,13 +35,13 @@ class EventNewsController < ApplicationController
"source-site-link" => "",
"subtitle" => a.subtitle,
"statuses" => statuses,
"category" => a.category.title,
"category" => (a.category.title rescue ""),
"postdate" => a.event_date,
"author" => author,
"is_top" => (a.is_top? ? 1 : 0),
"link_to_show" => link_to_show+"\" title=\"#{title}\"",
"target" => target,
"img_src" => a.image.thumb.url || "/assets/announcement-default.jpg",
"img_src" => a.image.thumb.url || "/assets/event_news-default.jpg",
"img_description" => desc,
"more" => t(:more_plus),
"view_count" => a.view_count
@ -118,17 +118,321 @@ class EventNewsController < ApplicationController
"extras" => {}
}
end
def pack_data(is_random=false)
tags = OrbitHelper.widget_tags || []
cats = OrbitHelper.widget_categories || []
def get_tabs_option
subpart = OrbitHelper.get_current_widget
tab_options = ["not_enable_tabs","enable_tabs_with_categories_include_all","enable_tabs_with_categories"]
read_more_options = ['default','upper_left','lower_left','upper_right','lower_right']
all_setting_options = ['the_same_as_data_count','display_all_in_other_tabs']
@tab_option = 0
@read_more_option = 0
@all_setting_option = 0
if subpart.methods.include? 'select_options'.to_sym
ModuleApp.all.select{|tmp| tmp.key.to_s=='event_news'}.each do |modile_app|
@show_options = modile_app.show_options rescue nil
end
subpart.select_options.each do |select_option|
if !(@show_options.nil?) && select_option.field_name == @show_options.keys[1].to_s
value = YAML.load(select_option.value)
tmp = value[:en]
I18n.with_locale(:en) do
tab_options.each_with_index do |option,i|
if tmp == t("event_news.#{option}")
@tab_option = i
break
end
end
end
end
if !(@show_options.nil?) && select_option.field_name == @show_options.keys[2].to_s
value = YAML.load(select_option.value)
tmp = value[:en]
I18n.with_locale(:en) do
read_more_options.each_with_index do |option,i|
if tmp == t("announcement.#{option}")
@read_more_option = i
break
end
end
end
end
if !(@show_options.nil?) && select_option.field_name == @show_options.keys[3].to_s
value = YAML.load(select_option.value)
tmp = value[:en]
I18n.with_locale(:en) do
all_setting_options.each_with_index do |option,i|
if tmp == t("announcement.#{option}")
@all_setting_option = i
break
end
end
end
end
end
end
end
def pack_data(is_random=false)
cats = OrbitHelper.widget_categories || []
tags = OrbitHelper.widget_tags || []
subpart = OrbitHelper.get_current_widget
get_tabs_option
event_news = []
use_tag = false
if @tab_option == 0
event_news = get_event_news_for_pack_data(cats,tags,nil,is_random)
else
if cats.count != 1 || tags == ["all"] || (cats[0] != "all" && tags.count <= 1)
cats.each do |cat|
event_news = event_news + get_event_news_for_pack_data([cat],tags,'')
end
else
tags.each do |tag|
event_news = event_news + get_event_news_for_pack_data(cats,[tag],tag)
end
use_tag = true
end
end
mp = (event_news[0]["img_src"] rescue "")
mpd = (event_news[0]["img_description"] rescue "")
if @tab_option == 1
if use_tag
tags = ["all"] + tags
else
cats = ["all"] + cats
end
event_news = event_news.sort{|v1,v2| v2["postdate"]<=>v1["postdate"]}
end
cats = cats.uniq
tags = tags.uniq
tags_translations = tags.map{|tag_id|
if tag_id == "all"
t = I18n.t(:all)
else
t = Tag.find(tag_id).name rescue ""
end
[tag_id,t]
}.to_h
cats_translations = cats.map{|cat_id|
if cat_id == "all"
t = I18n.t(:all)
else
t = Category.find(cat_id).title rescue ""
end
[cat_id,t]
}.to_h
cats_relations = cats_translations.map{|cat_id,t|
if cat_id == "all"
t = "all"
end
[cat_id,t]
}.to_h
page = Page.where(:page_id=> subpart.read_more_page_id).first rescue nil
page = Page.where(:module => "event_news").first rescue nil if page.nil?
all_cats = cats.dup
all_cats.delete "all"
if all_cats.count == 0
all_cats = ["all"]
end
all_tags = tags.dup
all_tags.delete "all"
if all_tags.count == 0
all_tags = ["all"]
end
max_all_count = [OrbitHelper.widget_data_count,event_news.count].min
if @tab_option != 0
OrbitHelper.set_widget_title(OrbitHelper.widget_title +
"<div style=\"clear: both;\"></div>" +
"<ul class=\"nav_tabs_filter\">" +
(use_tag ? tags.map.with_index{|tag,i|
read_more_url = "/#{I18n.locale.to_s + page.url}" rescue ""
read_more_url = read_more_url + "?" + {"category"=>all_cats,"tags"=>(tag == 'all' ? all_tags : [tag])}.to_param if read_more_url != ""
read_more_text = I18n.t("event_news.more")
if tag != "all"
begin
read_more_text = I18n.t("event_news.more_") + tags_translations[tag]
rescue
nil
end
end
"<li class=\"filter_tab#{i == 0 ? ' active' : ''}\" #{(tag == 'all' && @all_setting_option == 0) ? "data-count_limit=\"#{max_all_count}\"" : ''} data-read_more_text=\"#{read_more_text}\" data-read_more=\"#{read_more_url}\" data-tags=\"#{tag}\">#{tags_translations[tag]}</li>"
}.join("") : cats.map.with_index{|cat,i|
read_more_url = "/#{I18n.locale.to_s + page.url}" rescue ""
read_more_url = read_more_url + "?" + {"category"=>(cat == 'all' ? all_cats : cat)}.to_param if read_more_url != ""
read_more_text = I18n.t("event_news.more")
if cat != "all"
begin
read_more_text = I18n.t("event_news.more_") + cats_translations[cat]
rescue
nil
end
end
"<li class=\"filter_tab#{i == 0 ? ' active' : ''}\" #{(cat == 'all' && @all_setting_option == 0) ? "data-count_limit=\"#{max_all_count}\"" : ''} data-read_more_text=\"#{read_more_text}\" data-read_more=\"#{read_more_url}\" data-category=\"#{cats_relations[cat]}\">#{cats_translations[cat]}</li>"
}.join("")) +
"</ul>"
)
filter_attr = (use_tag ? 'data-tags' : 'data-category')
extra_html = '
<script>
if(typeof(wpexAnimsition) == "undefined"){
var wpexAnimsition = {
"loading":"1",
"inDuration":"400",
"outDuration":"400",
"inClass":"fade-in",
"outClass":"fade-out",
"need_fix_containers":".widget-event_news-4,.widget-event_news-15",
"linkElement": "[data-list=\"event_news\"] > *",
"children_text_block": ".w-annc__content-wrap",
"container_block": "[data-subpart-id=\"'+subpart.id.to_s+'\"] [data-list=\"event_news\"]:not(tbody)",
"parent_block": "[data-subpart-id=\"'+subpart.id.to_s+'\"]",
"filter_bar": ".nav_tabs_filter",
"filter_option": "li.filter_tab",
"filter_attr": "'+filter_attr+'",
"filter_target_attr": "class",
"use_attr_filter": true,
"equal_height": false
};
}else{
var filter_attr = "'+filter_attr+'";
wpexAnimsition.parent_block = wpexAnimsition.parent_block + ", [data-subpart-id=\"'+subpart.id.to_s+'\"]";
wpexAnimsition.container_block = wpexAnimsition.container_block + ", [data-subpart-id=\"'+subpart.id.to_s+'\"] [data-list=\"event_news\"]:not(tbody)";
if( wpexAnimsition.filter_attr.indexOf(filter_attr) == -1 ){
wpexAnimsition.filter_attr += ("," + filter_attr);
}
}
var wpexLocalize = {
"lightboxType": "iLightbox",
"iLightbox": { "auto": false, "skin": "minimal", "path": "horizontal",
"infinite": false, "maxScale": 1, "minScale": 0, "width": 1400, "height": "",
"slideshow": { "pauseTime": 3000, "startPaused": true },
"effects": { "reposition": true, "repositionSpeed": 200, "switchSpeed": 300,
"loadedFadeSpeed": 50, "fadeSpeed": 500
},
"show": { "title": true, "speed": 200 },
"hide": { "speed": 200 },
"overlay": { "blur": true, "opacity": "0.9" },
"slideShow": "Slideshow", "next": "Next", "previous": "Previous" ,
"thumbnails": { "maxWidth": 120, "maxHeight": 80 }
}
};
$(document).ready(function(){
var first_filter_tab = $("[data-subpart-id=\"'+subpart.id.to_s+'\"] .filter_tab").eq(0);
var read_more_url = first_filter_tab.data("read_more");
if(read_more_url.length != 0){
$("[data-subpart-id=\"'+subpart.id.to_s+'\"] .w-annc__more").attr("href",read_more_url);
$("[data-subpart-id=\"'+subpart.id.to_s+'\"] .w-annc__more").text(first_filter_tab.data("read_more_text"));
}
$("[data-subpart-id=\"'+subpart.id.to_s+'\"] .filter_tab").click(function(){
var read_more_url = $(this).data("read_more");
if(read_more_url.length != 0){
$("[data-subpart-id=\"'+subpart.id.to_s+'\"] .w-annc__more").attr("href",read_more_url);
$("[data-subpart-id=\"'+subpart.id.to_s+'\"] .w-annc__more").text($(this).data("read_more_text"));
}
})
})
</script>
<script src="/assets/event_news/wpex.min.js"></script>
<style>
[data-list="event_news"] {
position: relative;
}
</style>
'
else
read_more_text = I18n.t("event_news.more")
if cats.count == 1 && cats[0] != "all"
begin
read_more_text = I18n.t("event_news.more_") + ((all_tags.count == 1 && all_tags[0] != 'all') ? tags_translations[tags[0]] : cats_translations[cats[0]])
rescue
nil
end
end
extra_html = "
<script>
$(document).ready(function(){
$(\"[data-subpart-id=\\\"#{subpart.id}\\\"] .w-annc__more\").text(\"#{read_more_text}\");
})
</script>
"
end
if (@read_more_option != 0 rescue false)
extra_html += "
<script>
$(document).ready(function(){
var read_more_position = #{@read_more_option};
var read_more_block = $(\"[data-subpart-id=\\\"#{subpart.id}\\\"] .w-annc__more\");
if(read_more_position == 1 || read_more_position == 2){
read_more_block.addClass(\"pull-left\");
}else{
read_more_block.addClass(\"pull-right\");
}
if(read_more_position == 1 || read_more_position == 3){
var first_element = $(\"[data-subpart-id=\\\"#{subpart.id}\\\"] > *:eq(0)\");
var div_clearfix = $('<div class=\"clearfix\"></div>')
if(first_element.height() == 0){
read_more_block.appendTo(div_clearfix);
}else{
div_clearfix = read_more_block;
}
first_element.before(div_clearfix);
}else{
var div_clearfix = $('<div class=\"clearfix\"></div>');
read_more_block.appendTo(div_clearfix);
$(\"[data-subpart-id=\\\"#{subpart.id}\\\"] > *:eq(-1)\").after(div_clearfix);
}
})
</script>
"
end
extra_after_html = ""
if @all_setting_option == 0 && @tab_option == 1
extra_after_html = "
<script>
$(\"[data-subpart-id=\\\"#{subpart.id}\\\"] [data-list] [data-category]\").css(\"display\",\"none\");
$(\"[data-subpart-id=\\\"#{subpart.id}\\\"] [data-list] [data-category]:lt(#{max_all_count})\").css(\"display\",\"\");
</script>
"
end
if @tab_option == 0
read_more_url = "/#{I18n.locale.to_s + page.url}" rescue ""
read_more_url = read_more_url + "?" + {"category"=>all_cats,"tags"=>all_tags}.to_param if read_more_url != ""
extra_after_html += "
<script>
$(\"[data-subpart-id=\\\"#{subpart.id}\\\"] .w-annc__more\").attr(\"href\",\"#{read_more_url}\");
</script>
"
end
{
"event_news" => event_news,
"extras" => {
"more_url"=>OrbitHelper.widget_more_url,
"main_picture" => mp,
"main_picture_description" => mpd,
"title-head" => t('event_news.table.title'),
"date-head" => t('event_news.table.date'),
"author-head" => t('event_news.table.author'),
"status-head" => t('event_news.table.status'),
"subtitle-head" => t('event_news.table.sub_title'),
"category-head" => t('event_news.table.category'),
"link-head" => t('event_news.table.link'),
"file-head" => t('event_news.table.file'),
"read_more" => read_more_url,
"read_more_text" => "read more",
"extra_brefore_html" => extra_html,
"extra_after_html" => extra_after_html
}
}
end
def get_event_news_for_pack_data(cats,tags,set_tags=nil,is_random = false)
if tags.blank?
tags = ["all"]
end
subpart = OrbitHelper.get_current_widget
event_news_cache = EventNewsCache.where(parent_id: subpart.id.to_s,locale: I18n.locale.to_s)
widget_data_count = OrbitHelper.widget_data_count
event_news_cache = EventNewsCache.where(parent_id: subpart.id.to_s + cats.to_s + tags.to_s + widget_data_count.to_s,locale: I18n.locale.to_s)
set_image_version_for_widget()
devide_flag = (!(defined? SiteFeed).nil?)
if event_news_cache.count != 1 || is_random
page = Page.where(:module => "event_news").first rescue nil
EventNews.remove_expired_status
uid = OrbitHelper.params[:uid] rescue ""
sorted_event_news = EventNews.where(:title.nin => ["",nil],:is_preview.in=>[false,nil], :uid.ne => uid)
@ -141,20 +445,20 @@ class EventNewsController < ApplicationController
end
if devide_flag
now_event_news = sorted_event_news.to_a
top_event_news = now_event_news.select{|v| v.is_top}.map{|v| data_to_human_type(v)}
not_top_event_news = now_event_news.select{|v| !v.is_top}.map{|v| data_to_human_type(v)}
EventNewsCache.create(parent_id: subpart.id.to_s,locale: I18n.locale.to_s,filter_result: {top: top_event_news,not_top: not_top_event_news})
top_event_news = now_event_news.select{|v| v.is_top}.map{|v| data_to_human_type(v,set_tags)}
not_top_event_news = now_event_news.select{|v| !v.is_top}.map{|v| data_to_human_type(v,set_tags)}
EventNewsCache.create(parent_id: subpart.id.to_s + cats.to_s + tags.to_s + widget_data_count.to_s,locale: I18n.locale.to_s,filter_result: {top: top_event_news,not_top: not_top_event_news})
else
event_news = sorted_event_news.map{|v| data_to_human_type(v)}
EventNewsCache.create(parent_id: subpart.id.to_s,locale: I18n.locale.to_s,filter_result: event_news)
event_news = sorted_event_news.map{|v| data_to_human_type(v,set_tags)}
EventNewsCache.create(parent_id: subpart.id.to_s + cats.to_s + tags.to_s + widget_data_count.to_s,locale: I18n.locale.to_s,filter_result: event_news)
end
else
if devide_flag
event_news = sorted_event_news.sample(widget_data_count)
top_event_news = event_news.select{|v| v.is_top}.map{|v| data_to_human_type(v)}
not_top_event_news = event_news.select{|v| !v.is_top}.map{|v| data_to_human_type(v)}
top_event_news = event_news.select{|v| v.is_top}.map{|v| data_to_human_type(v,set_tags)}
not_top_event_news = event_news.select{|v| !v.is_top}.map{|v| data_to_human_type(v,set_tags)}
else
event_news = sorted_event_news.sample(widget_data_count).map{|v| data_to_human_type(v)}
event_news = sorted_event_news.sample(widget_data_count).map{|v| data_to_human_type(v,set_tags)}
end
end
elsif devide_flag
@ -171,37 +475,15 @@ class EventNewsController < ApplicationController
else
feeds_event_news = get_feed_event_news("widget")
top_event_news = top_event_news + feeds_event_news.select{|v| v['is_top']}
top_event_news = top_event_news.sort{|v1,v2| date_transform(v2["event_date"]) <=> date_transform(v1["event_date"])}
top_event_news = top_event_news.sort{|v1,v2| v2["postdate"]<=>v1["postdate"]}
rest_all_event_news = feeds_event_news.select{|v| v['is_top'] != true} + not_top_event_news.take(rest_count)
rest_event_news = rest_all_event_news.sort{|v1,v2| date_transform(v2["event_date"]) <=> date_transform(v1["event_date"])}.take(rest_count)
rest_event_news = rest_all_event_news.sort{|v1,v2| v2["postdate"]<=>v1["postdate"]}.take(rest_count)
event_news = (top_event_news + rest_event_news).take(widget_data_count)
end
end
mp = (event_news[0]["img_src"] rescue "")
mpd = (event_news[0]["img_description"] rescue "")
{
"event_news" => event_news,
"extras" => {
"more_url"=>OrbitHelper.widget_more_url,
"main_picture" => mp,
"main_picture_description" => mpd,
"title-head" => t('event_news.table.title'),
"speaker-head" => t('event_news.speaker'),
"host-head" => t('event_news.host'),
"notes-head" => t('event_news.notes'),
"event_date-head" => t('date_'),
"date-head" => t('event_news.table.date'),
"author-head" => t('event_news.table.author'),
"status-head" => t('event_news.table.status'),
"subtitle-head" => t('event_news.table.sub_title'),
"category-head" => t('event_news.table.category'),
"link-head" => t('event_news.table.link'),
"file-head" => t('event_news.table.file'),
"read_more" => ("/#{I18n.locale.to_s + page.url}" rescue "")
}
}
event_news.each{|a| a["postdate"] = a["postdate"].in_time_zone(Time.zone.utc_offset / 3600).strftime('%Y-%m-%d %H:%M') rescue nil }
event_news
end
def show_local_event_news(uid, is_preview)
locale = OrbitHelper.get_site_locale.to_s
if is_preview
@ -224,7 +506,7 @@ class EventNewsController < ApplicationController
end
end
return {} if event_news.category.disable
return {} if (event_news.category.disable rescue false)
tags = event_news.tags.map{|tag| {
"tag" => tag.name ,
@ -240,7 +522,7 @@ class EventNewsController < ApplicationController
links = event_news.event_news_links.map{|link| { "link_url" => link.url, "link_title" => (link.title.blank? ? link.url : link.title) } } rescue []
update_user = event_news.update_user.member_profile.name rescue ""
desc = event_news.image_description
desc = (desc.nil? || desc == "" ? "event_news image" : desc)
desc = (desc.nil? || desc == "" ? "EventNews image" : desc)
request = OrbitHelper.request
meta_desc = event_news.subtitle.nil? || event_news.subtitle == "" ? event_news.text[0..200] : event_news.subtitle
@ -250,7 +532,7 @@ class EventNewsController < ApplicationController
img_src = nil
img_description = nil
subtitle_ann = event_news.subtitle if event_news.display_subtitle?
img_src = (event_news.image.thumb.url || "/assets/announcement-default.jpg") if event_news.display_img?
img_src = (event_news.image.thumb.url || "/assets/event_news-default.jpg") if event_news.display_img?
img_description = event_news.image_description if (event_news.image_description.present?) && (event_news.display_img?)
{
@ -272,6 +554,7 @@ class EventNewsController < ApplicationController
"image" => event_news.image.url,
"img_src" => img_src,
"img_description" => img_description,
"hide_class" => event_news.display_img? ? event_news.image_display_class : ' hide',
"alt_title" => desc
},
"impressionist" => (event_news.is_preview ? nil : event_news),
@ -310,7 +593,7 @@ class EventNewsController < ApplicationController
update_user = event_news["author"]
desc = event_news["image_description_translations"][locale] rescue ""
desc = (desc.nil? || desc == "" ? "event_news image" : desc)
desc = (desc.nil? || desc == "" ? "EventNews image" : desc)
request = OrbitHelper.request
if event_news["subtitle_translations"].present?
@ -390,7 +673,7 @@ class EventNewsController < ApplicationController
links = a.event_news_links.map{|link| { "link_url" => link.url, "link_title" => (link.title.blank? ? link.url : link.title) } } rescue []
author = User.find(a.create_user_id).member_profile.name rescue ""
desc = a.image_description
desc = (desc.blank? ? "event_news image" : desc)
desc = (desc.blank? ? "EventNews image" : desc)
link_to_show = (a.is_external_link ? a.external_link : OrbitHelper.url_to_show(a.to_param)) rescue ""
target = a.is_external_link ? "_blank" : "_self"
doc = Nokogiri::HTML(a.title)
@ -408,13 +691,13 @@ class EventNewsController < ApplicationController
"source-site-link" => "",
"subtitle" => a.subtitle,
"statuses" => statuses,
"category" => a.category.title,
"category" => (a.category.title rescue ""),
"postdate" => a.event_date,
"author" => author,
"is_top" => (a.is_top? ? 1 : 0),
"link_to_show" => link_to_show+"\" title=\"#{title}\"",
"target" => target,
"img_src" => a.image.thumb.url || "/assets/announcement-default.jpg",
"img_src" => a.image.thumb.url || "/assets/event_news-default.jpg",
"img_description" => desc,
"more" => t(:more_plus),
"view_count" => a.view_count

View File

@ -30,7 +30,7 @@ module EventNewsHelper
return variable
end
end
def data_to_human_type(a)
def data_to_human_type(a,set_tag_ids=nil)
statuses = a.statuses_with_classname.collect do |status|
{
"status" => status["name"],
@ -65,6 +65,7 @@ module EventNewsHelper
"subtitle" => a.subtitle,
"statuses" => statuses,
"category" => (a.category.title rescue ""),
"tag_ids" => (set_tag_ids.nil? ? (a.tag_ids.map{|id| id.to_s}.to_s.gsub('"',"'") rescue '[]') : set_tag_ids),
"postdate" => a.event_date,
"event_date" => a.event_date,
"author" => author,
@ -185,13 +186,17 @@ module EventNewsHelper
page_number = 1 if page_number == 0
page_data_count = data_count || OrbitHelper.page_data_count.to_i
feeds_anns = []
page = Page.where(url:params['url']).first
page = OrbitHelper.page rescue nil
page = Page.where(url:params['url']).first if page.nil?
if @type == "show_widget"
tags = @tags
categories = @categories
else
tags = page.tags
categories = params['category']=='all' ? (page.categories || []) : ([Category.find(params['category'])] rescue (page.categories || []))
tags = params[:tags] if params[:tags].present?
categories = params['category']=='all' ? (page.categories || []) : (Array(params['category']) rescue (page.categories || []))
if params['category'].present? && tags.blank?
tags = ["all"]
end
end
if !params["source"].present?
if @type == "show_widget"

View File

@ -15,6 +15,7 @@ class EventNews
before_destroy do
EventNewsCache.all.destroy
end
field :image_display_class, type: String, default: "full-size-img" #3 choices: full-size-img , pull-left , pull-right
field :add_to_calendar,type: Boolean,default: false
field :calendar_start_date, :type => DateTime
field :calendar_end_date, :type => DateTime

View File

@ -41,7 +41,7 @@
<% if defined? Calendar %>
<li><a href="#calendar" data-toggle="tab"><%= t('calendar.calendar') %></a></li>
<% end %>
<% if((!AnnouncementSetting.first.only_manager_can_edit_status) || (AnnouncementSetting.first.only_manager_can_edit_status && (@current_user.is_admin? || @current_user.is_manager?(@module_app))) ) %>
<% if((!EventNewsSetting.first.only_manager_can_edit_status) || (EventNewsSetting.first.only_manager_can_edit_status && (@current_user.is_admin? || @current_user.is_manager?(@module_app))) ) %>
<li><a href="#status" data-toggle="tab"><%= t(:status) %></a></li>
<% end %>
<li><a href="#tag" data-toggle="tab"><%= t(:tags) %></a></li>
@ -110,7 +110,20 @@
<div class="control-group">
<%= f.label :display_img, t("event_news.display_img"), :class => "control-label muted" %>
<div class="controls">
<%= f.check_box :display_img %>
<%= f.check_box :display_img, :id=> "event_news_display_img" %>
</div>
</div>
<!-- Image display setting -->
<% image_display_class_relation = {"full_width"=>"full-size-img","up_left_corner"=>"pull-left","up_right_corner"=>"pull-right"} %>
<div class="control-group <%='hide' if !f.object.display_img %>" id="image_display_setting">
<%= f.label :image_display_class, t("announcement.cover_image_display_setting"), :class => "control-label muted" %>
<div class="controls">
<% image_display_class_relation.each.with_index do |(key,value),i| %>
<label>
<%= radio_button_tag "#{f.object_name}[image_display_class]", value , (f.object.image_display_class == value) %>
<%= t("announcement.#{key}") %>
</label>
<% end %>
</div>
</div>
</div>
@ -160,7 +173,7 @@
</div>
<% end %>
<!-- Status Module -->
<% if((!AnnouncementSetting.first.only_manager_can_edit_status) || (AnnouncementSetting.first.only_manager_can_edit_status && (@current_user.is_admin? || @current_user.is_manager?(@module_app))) ) %>
<% if((!EventNewsSetting.first.only_manager_can_edit_status) || (EventNewsSetting.first.only_manager_can_edit_status && (@current_user.is_admin? || @current_user.is_manager?(@module_app))) ) %>
<div class="tab-pane fade" id="status">
<!-- Status -->
<div class="control-group">
@ -189,7 +202,7 @@
</label>
</div>
<div class="controls">
<% if !@event_news.is_top? && !AnnouncementSetting.check_limit_for_user((@event_news.new_record? ? current_user.id : @event_news.create_user_id)) %>
<% if !@event_news.is_top? && !EventNewsSetting.check_limit_for_user((@event_news.new_record? ? current_user.id : @event_news.create_user_id)) %>
<span>Top limit has been reached. The event_news wont be marked as top even if you click on it.</span>
<% end %>
</div>
@ -484,120 +497,119 @@
})
</script>
<% end %>
<% content_for :page_specific_javascript do %>
<script>
function Appendzero(obj)
{
if(obj<10) return "0" +""+ obj;
else return obj;
<script>
$("#event_news_display_img").click(function(){$("#image_display_setting").toggleClass("hide")})
function Appendzero(obj)
{
if(obj<10) return "0" +""+ obj;
else return obj;
}
$(function() {
if (location.pathname.substr(-3)=='new'){
var getDate = new Date();
var toDay = getDate.getFullYear()+"/"+ (Appendzero(getDate.getMonth()+1))+"/"+Appendzero(getDate.getDate())+" "+Appendzero(getDate.getHours())+":"+Appendzero(getDate.getMinutes());
$('input[name="event_news[event_date]"]').val(toDay);
$('input[name="event_news[postdate]"]').val(toDay);
}
$(function() {
if (location.pathname.substr(-3)=='new'){
var getDate = new Date();
var toDay = getDate.getFullYear()+"/"+ (Appendzero(getDate.getMonth()+1))+"/"+Appendzero(getDate.getDate())+" "+Appendzero(getDate.getHours())+":"+Appendzero(getDate.getMinutes());
$('input[name="event_news[event_date]"]').val(toDay);
$('input[name="event_news[postdate]"]').val(toDay);
}
$("#main-wrap").after("");
$(document).on('click', '#add_link', function(){
var new_id = $(this).prev().attr('value');
var old_id = new RegExp("new_event_news_links", "g");
var on = $('.language-nav li.active').index();
var le = $(this).parent('.add-btn').prev('.add-target').children('.start-line').length;
$(this).prev().attr('value', parseInt(new_id) + 1);
$(this).parent().siblings('.add-target').append(("<%= escape_javascript(add_attribute 'form_link', f, :event_news_links) %>").replace(old_id, new_id));
$(this).parent('.add-btn').prev('.add-target').children('.start-line').eq(le).children('.tab-content').children('.tab-pane').eq(on).addClass('in active').siblings().removeClass('in active');
formTip();
});
$(document).on('click', '#add_file', function(){
var new_id = $(this).prev().attr('value');
var old_id = new RegExp("new_event_news_files", "g");
var on = $('.language-nav li.active').index();
var le = $(this).parent('.add-btn').prev('.add-target').children('.start-line').length;
$(this).prev().attr('value', parseInt(new_id) + 1);
$(this).parent().siblings('.add-target').append(("<%= escape_javascript(add_attribute 'form_file', f, :event_news_files) %>").replace(old_id, new_id));
$(this).parent('.add-btn').prev('.add-target').children('.start-line').eq(le).children('.input-append').find('.tab-content').each(function() {
$(this).children('.tab-pane').eq(on).addClass('in active').siblings().removeClass('in active');
});
formTip();
});
$(document).on('click', '.delete_link', function(){
$(this).parents('.input-prepend').remove();
});
$(document).on('click', '.delete_file', function(){
$(this).parents('.input-prepend').remove();
});
$(document).on('click', '.remove_existing_record', function(){
if(confirm("<%= I18n.t(:sure?)%>")){
$(this).children('.should_destroy').attr('value', 1);
$(this).parents('.start-line').hide();
}
});
$('#remind-check').prop('checked') ? '':$('.content-box').addClass('hide')
$('#remind-check').on('change', function() {
$(this).prop('checked') ? $('.content-box').removeClass('hide'):$('.content-box').addClass('hide')
})
$('#button_for_preview').click(function(){
var method = $('.main-forms input[name="_method"]').val();
$('.main-forms input[name="_method"]').val("post");
for ( instance in CKEDITOR.instances )
CKEDITOR.instances[instance].updateElement();
var formData = new FormData( $('.main-forms')[0] );
formData.append("preview_type", ( (method==undefined) ? "new" : "edit" ));
formData.append("event_news_id", '<%= @event_news.id.to_s %>');
$.ajax({
type: "post",
url: '<%= admin_event_news_preview_path %>',
data : formData,
processData: false,
contentType: false
}).done(function(data){
if(window.location.protocol === "https:"){
data = data.replace("http:","https:");
}
$('.modal-body iframe').attr('src',data);
$('#show_preview .modal').modal();
$('#show_preview .modal').height(function() {
return $(window).height() * 0.7;
});
var slug = data.split('/')[(data.split('/').length-1)];
// $('#preview-iframe').on('load', function(){
// $.get('/admin/event_news/destroy_preview/'+slug,function(data){
// });
// });
});
$('.main-forms input[name="_method"]').val(method);
return false;
});
$("#event_news_is_top").parent().on("click",function(){
setTimeout(function(){
if($("#event_news_is_top").parent().hasClass("active")){
$("div[data-for=is_top]").removeClass("hide");
}else{
$("div[data-for=is_top]").addClass("hide");
$("div[data-for=is_top]").find("input[type=text]").val("");
}
},100)
})
$("#event_news_is_external_link").on("click",function(){
if($(this).is(":checked")){
$("#external_link_box").show();
}else{
$("#external_link_box").hide();
}
})
$("#main-wrap").after("");
$(document).on('click', '#add_link', function(){
var new_id = $(this).prev().attr('value');
var old_id = new RegExp("new_event_news_links", "g");
var on = $('.language-nav li.active').index();
var le = $(this).parent('.add-btn').prev('.add-target').children('.start-line').length;
$(this).prev().attr('value', parseInt(new_id) + 1);
$(this).parent().siblings('.add-target').append(("<%= escape_javascript(add_attribute 'form_link', f, :event_news_links) %>").replace(old_id, new_id));
$(this).parent('.add-btn').prev('.add-target').children('.start-line').eq(le).children('.tab-content').children('.tab-pane').eq(on).addClass('in active').siblings().removeClass('in active');
formTip();
});
</script>
<% end %>
$(document).on('click', '#add_file', function(){
var new_id = $(this).prev().attr('value');
var old_id = new RegExp("new_event_news_files", "g");
var on = $('.language-nav li.active').index();
var le = $(this).parent('.add-btn').prev('.add-target').children('.start-line').length;
$(this).prev().attr('value', parseInt(new_id) + 1);
$(this).parent().siblings('.add-target').append(("<%= escape_javascript(add_attribute 'form_file', f, :event_news_files) %>").replace(old_id, new_id));
$(this).parent('.add-btn').prev('.add-target').children('.start-line').eq(le).children('.input-append').find('.tab-content').each(function() {
$(this).children('.tab-pane').eq(on).addClass('in active').siblings().removeClass('in active');
});
formTip();
});
$(document).on('click', '.delete_link', function(){
$(this).parents('.input-prepend').remove();
});
$(document).on('click', '.delete_file', function(){
$(this).parents('.input-prepend').remove();
});
$(document).on('click', '.remove_existing_record', function(){
if(confirm("<%= I18n.t(:sure?)%>")){
$(this).children('.should_destroy').attr('value', 1);
$(this).parents('.start-line').hide();
}
});
$('#remind-check').prop('checked') ? '':$('.content-box').addClass('hide')
$('#remind-check').on('change', function() {
$(this).prop('checked') ? $('.content-box').removeClass('hide'):$('.content-box').addClass('hide')
})
$('#button_for_preview').click(function(){
var method = $('.main-forms input[name="_method"]').val();
$('.main-forms input[name="_method"]').val("post");
for ( instance in CKEDITOR.instances )
CKEDITOR.instances[instance].updateElement();
var formData = new FormData( $('.main-forms')[0] );
formData.append("preview_type", ( (method==undefined) ? "new" : "edit" ));
formData.append("event_news_id", '<%= @event_news.id.to_s %>');
$.ajax({
type: "post",
url: '<%= admin_event_news_preview_path %>',
data : formData,
processData: false,
contentType: false
}).done(function(data){
if(window.location.protocol === "https:"){
data = data.replace("http:","https:");
}
$('.modal-body iframe').attr('src',data);
$('#show_preview .modal').modal();
$('#show_preview .modal').height(function() {
return $(window).height() * 0.7;
});
var slug = data.split('/')[(data.split('/').length-1)];
// $('#preview-iframe').on('load', function(){
// $.get('/admin/event_news/destroy_preview/'+slug,function(data){
// });
// });
});
$('.main-forms input[name="_method"]').val(method);
return false;
});
$("#event_news_is_top").parent().on("click",function(){
setTimeout(function(){
if($("#event_news_is_top").parent().hasClass("active")){
$("div[data-for=is_top]").removeClass("hide");
}else{
$("div[data-for=is_top]").addClass("hide");
$("div[data-for=is_top]").find("input[type=text]").val("");
}
},100)
})
$("#event_news_is_external_link").on("click",function(){
if($(this).is(":checked")){
$("#external_link_box").show();
}else{
$("#external_link_box").hide();
}
})
});
</script>

View File

@ -2,6 +2,23 @@ en:
module_name:
event_news: Event News
event_news:
cover_image_display_setting: Cover Image display setting
full_width: Full width
up_left_corner: Up-left corner
up_right_corner: Up-right corner
all_tabs_setting: '"All" tab setting'
the_same_as_data_count: The same as data count
display_all_in_other_tabs: Display all contents in other tabs
read_more_position_options: '"read more" button position'
default: Default
upper_left: Upper left
lower_left: Lower left
upper_right: Upper right
lower_right: Lower right
tabs_options: Tabs options
not_enable_tabs: Not enable tabs
enable_tabs_with_categories_include_all: Enable tabs with categories(include all)
enable_tabs_with_categories: Enable tabs with categories
notes: Notes
speaker: Speaker
host: Host

View File

@ -2,6 +2,23 @@ zh_tw:
module_name:
event_news: 活動公告
event_news:
cover_image_display_setting: 封面圖片顯示設定
full_width: 滿版呈現
up_left_corner: 左上角
up_right_corner: 右上角
all_tabs_setting: '"全部"頁籤設定'
the_same_as_data_count: 與Data count相同
display_all_in_other_tabs: 顯示在其他頁籤的全部內容
read_more_position_options: '"更多"按鈕的位置'
default: 預設
upper_left: 左上
lower_left: 左下
upper_right: 右上
lower_right: 右下
tabs_options: 頁籤選項
not_enable_tabs: 無頁籤
enable_tabs_with_categories_include_all: 開啟頁籤(依類別,並包含全部所選類別之頁籤)
enable_tabs_with_categories: 開啟頁籤(依類別)
notes: 備註
speaker: 演講者
host: 主持人
@ -108,6 +125,7 @@ zh_tw:
index: 索引
search: 搜尋
more: 更多+
more_: 更多
email_reminder: 寄送提醒
activate_email_reminder: 開啟寄送提醒
email_sentdate: 寄送時間

View File

@ -10,61 +10,73 @@ if bundle_update_flag
template_path = env_pwd + '/app/templates'
all_template = Dir.glob(template_path+'/*/')
default_event_news_widget_info = JSON.parse(File.read("#{app_path}/modules/event_news/info.json"))["widgets"].sort_by{|h| h["filename"].to_i} rescue []
# all_template.each do |folder|
# if !folder.include?('mobile')
# info_json_file = "#{folder}modules/event_news/info.json"
# if File.exist?(info_json_file)
# begin
# file_text = File.read(info_json_file) rescue ""
# encode_file_text = file_text.encode("UTF-8", "UTF-8", invalid: :replace, replace: "???")
# next if (encode_file_text.include?("???") rescue true)
# info = JSON.parse(encode_file_text) rescue {}
# flag = (info.count != 0 rescue false)
# if flag
# puts "Checking event_news widgets"
# widget_info = info["widgets"].sort_by{|h| h["filename"].to_i} rescue []
# update_flag = false
# last_index = widget_info[-1]["filename"].match(/\d+/)[0].to_i rescue nil
# if !last_index.nil?
# default_event_news_widget_info.each do |h|
# name_without_index = h["name"]["zh_tw"].sub(/\d+/,'')
# widget_info_index = (widget_info.index{|hh| hh["name"]["zh_tw"].include?(name_without_index)} rescue -1)
# if widget_info_index == -1
# update_flag = true
# copy_h = h.dup
# h.delete("force_cover")
# last_index = last_index + 1
# copy_h["filename"] = copy_h["filename"].sub(/\d+/){|ff| last_index.to_s}
# copy_h["name"].keys.each do |locale|
# copy_h["name"][locale] = copy_h["name"][locale].sub(/\d+/){|ff| last_index.to_s}
# end
# widget_info << copy_h
# Bundler.with_clean_env{%x[cp -f #{app_path}/modules/event_news/_#{h["filename"]}.html.erb #{folder}modules/event_news/_#{copy_h["filename"]}.html.erb]}
# elsif h["force_cover"] == "true"
# Bundler.with_clean_env{%x[cp -f #{app_path}/modules/event_news/_#{h["filename"]}.html.erb #{folder}modules/event_news/_#{widget_info[widget_info_index]["filename"]}.html.erb]}
# end
# end
# if update_flag
# info["widgets"] = widget_info
# puts "Writing json #{info["widgets"].count} in #{info_json_file}"
# begin
# info_json = JSON.pretty_generate(info).gsub(":[",":[\n").gsub(":{",":{\n")
# rescue
# info_json = info.to_s.gsub("=>",": \n")
# end
# File.open(info_json_file,"w+"){|f| f.write(info_json)}
# end
# end
# end
# rescue => e
# puts e
# puts "There has some error when checking event_news widgets"
# end
# else
# if !Dir.exist?(File.dirname(info_json_file)) && Dir.exist?(File.dirname(File.dirname(info_json_file)))
# Bundler.with_clean_env{system ('cp -r '+ app_path + '/modules/ ' + folder)}
# end
# end
# end
# end
all_template.each do |folder|
if !folder.include?('mobile')
info_json_file = "#{folder}modules/event_news/info.json"
if File.exist?(info_json_file)
begin
file_text = File.read(info_json_file) rescue ""
encode_file_text = file_text.encode("UTF-8", "UTF-8", invalid: :replace, replace: "???")
next if (encode_file_text.include?("???") rescue true)
info = JSON.parse(encode_file_text) rescue {}
flag = (info.count != 0 rescue false)
if flag
puts "Checking event_news widgets"
widget_info = info["widgets"].sort_by{|h| h["filename"].to_i} rescue []
update_flag = false
last_index = widget_info[-1]["filename"].match(/\d+/)[0].to_i rescue nil
if !last_index.nil?
default_event_news_widget_info.each do |h|
name_without_index = h["name"]["zh_tw"].sub(/\d+/,'')
widget_info_index = (widget_info.index{|hh| hh["name"]["zh_tw"].include?(name_without_index)} rescue -1)
if widget_info_index == -1
update_flag = true
copy_h = h.dup
h.delete("force_cover")
last_index = last_index + 1
copy_h["filename"] = copy_h["filename"].sub(/\d+/){|ff| last_index.to_s}
copy_h["name"].keys.each do |locale|
copy_h["name"][locale] = copy_h["name"][locale].sub(/\d+/){|ff| last_index.to_s}
end
widget_info << copy_h
Bundler.with_clean_env{%x[cp -f #{app_path}/modules/event_news/_#{h["filename"]}.html.erb #{folder}modules/event_news/_#{copy_h["filename"]}.html.erb]}
elsif h["force_cover"] == "true"
Bundler.with_clean_env{%x[cp -f #{app_path}/modules/event_news/_#{h["filename"]}.html.erb #{folder}modules/event_news/_#{widget_info[widget_info_index]["filename"]}.html.erb]}
end
end
if update_flag
info["widgets"] = widget_info
puts "Writing json #{info["widgets"].count} in #{info_json_file}"
begin
info_json = JSON.pretty_generate(info).gsub(":[",":[\n").gsub(":{",":{\n")
rescue
info_json = info.to_s.gsub("=>",": \n")
end
File.open(info_json_file,"w+"){|f| f.write(info_json)}
end
end
end
rescue => e
puts e
puts "There has some error when checking event_news widgets"
end
else
if !Dir.exist?(File.dirname(info_json_file)) && Dir.exist?(File.dirname(File.dirname(info_json_file)))
Bundler.with_clean_env{system ('cp -r '+ app_path + '/modules/ ' + folder)}
end
end
moudle_path = "#{folder}modules/universal_table/"
begin
if Dir.exist?(File.dirname(moudle_path))
Bundler.with_clean_env{system ('cp -r '+ app_path + '/modules/ ' + folder)}
end
rescue => e
puts "There was some error when updating event_news widget."
end
end
end
end

View File

@ -6,24 +6,57 @@ module EventNewsMod
translate_data = Dir["#{EventNewsMod::Engine.root}/config/locales/*.yml"] .map{|yaml_file| YAML.load(File.read(yaml_file))}
data = {}
key1 = {}
value1 = {}
value2 = {}
value3 = {}
key2 = {}
key3 = {}
key4 = {}
key1_attr = []
key2_attr = []
key3_attr = []
key4_attr = []
data_item = {}
key_item1 = {}
key_item2 = {}
key_item3 = {}
value_item1 = {}
value_item2 = {}
value_item3 = {}
value2_item1 = {}
value2_item2 = {}
key1_options = ['small_size','medium_size','orignal_size']
key2_options = ['not_enable_tabs','enable_tabs_with_categories_include_all','enable_tabs_with_categories']
key3_options = ['default','upper_left','lower_left','upper_right','lower_right']
key4_options = ['the_same_as_data_count','display_all_in_other_tabs']
key1_options.each_with_index do |k,i|
key1_attr[i] = {}
end
key2_options.each_with_index do |k,i|
key2_attr[i] = {}
end
key3_options.each_with_index do |k,i|
key3_attr[i] = {}
end
key4_options.each_with_index do |k,i|
key4_attr[i] = {}
end
translate_data.each do |t_data|
v = t_data.values
k = t_data.keys[0]
key1[k] = v[0]['event_news']['picture_showing_size']
value1[k] = v[0]['event_news']['small_size']
value2[k] = v[0]['event_news']['medium_size']
value3[k] = v[0]['event_news']['orignal_size']
key2[k] = v[0]['event_news']['tabs_options']
key3[k] = v[0]['event_news']['read_more_position_options']
key4[k] = v[0]['event_news']['all_tabs_setting']
key1_options.each_with_index do |kk,i|
key1_attr[i][k] = v[0]['event_news'][kk]
end
key2_options.each_with_index do |kk,i|
key2_attr[i][k] = v[0]['event_news'][kk]
end
key3_options.each_with_index do |kk,i|
key3_attr[i][k] = v[0]['event_news'][kk]
end
key4_options.each_with_index do |kk,i|
key4_attr[i][k] = v[0]['event_news'][kk]
end
key_item1[k] = v[0]['event_news']['showing_back_and_next']
key_item2[k] = v[0]['event_news']['enable_search']
value_item1[k] = v[0]['event_news']['not_show']
@ -32,12 +65,15 @@ module EventNewsMod
value2_item1[k] = v[0]['event_news']['no']
value2_item2[k] = v[0]['event_news']['yes']
end
data[key1] = [value1,value2,value3]
data[key1] = key1_attr
data[key2] = key2_attr
data[key3] = key3_attr
data[key4] = key4_attr
data_item[key_item1] = [value_item1,value_item2,value_item3]
data_item[key_item2] = [value2_item1,value2_item2]
require File.expand_path('../../../app/models/event_news_cache', __FILE__)
if defined? EvenNewsCache
EvenNewsCache.destroy_all
if defined? EventNewsCache
EventNewsCache.destroy_all
end
rescue => e
puts ['error in event_news',e]

View File

@ -1,34 +1,34 @@
<div class="w-event_news widget-event_news-1">
<h3 class="w-event_news__widget-title">
<div class="w-annc widget-announcement-1">
<h3 class="w-annc__widget-title">
<span>{{widget-title}}</span>
</h3>
<ul class="w-event_news__list" data-level="0" data-list="event_news">
<li class="w-event_news__item">
<div class="w-event_news__img-wrap bullseye">
<img class="w-event_news__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
<ul class="w-annc__list" data-level="0" data-list="event_news">
<li class="w-annc__item">
<div class="w-annc__img-wrap bullseye">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</div>
<div class="w-event_news__meta">
<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>
<div class="w-annc__meta">
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
</span>
<span class="w-event_news__postdate-wrap" date-format="%Y-%m-%d">
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="w-event_news__postdate">{{postdate}}</span>
<span class="w-annc__postdate">{{postdate}}</span>
</span>
<span class="w-event_news__category-wrap">
<span class="w-annc__category-wrap">
<i class="fa fa-tasks"></i>
<span class="w-event_news__category">{{category}}</span>
<span class="w-annc__category">{{category}}</span>
</span>
</div>
<h4 class="w-event_news__entry-title">
<a class="w-event_news__title" href="{{link_to_show}}">{{title}}</a>
<h4 class="w-annc__entry-title">
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
</h4>
<div class="w-event_news__subtitle">{{subtitle}}</div>
<div class="w-event_news__speaker">【{{speaker-head}}】 {{speaker}}</div>
<div class="w-event_news__host">【{{host-head}}】 {{host}}</div>
<div class="w-annc__subtitle">{{subtitle}}</div>
<div class="w-annc__speaker">【{{speaker-head}}】 {{speaker}}</div>
<div class="w-annc__host">【{{host-head}}】 {{host}}</div>
</li>
</ul>
<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,22 +1,22 @@
<div class="w-event_news widget-event_news-10">
<h3 class="w-event_news__widget-title">
<div class="w-annc widget-announcement-10">
<h3 class="w-annc__widget-title">
<span>{{widget-title}}</span>
</h3>
<ul class="w-event_news__list" data-level="0" data-list="event_news">
<li class="w-event_news__item row">
<h4 class="w-event_news__entry-title col-sm-9">
<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>
<ul class="w-annc__list" data-level="0" data-list="event_news">
<li class="w-annc__item row">
<h4 class="w-annc__entry-title col-sm-9">
<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>
</h4>
<span class="w-event_news__postdate-wrap col-sm-3" date-format="%Y-%m-%d">
<span class="w-annc__postdate-wrap col-sm-3" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="w-event_news__postdate">{{postdate}}</span>
<span class="w-annc__postdate">{{postdate}}</span>
</span>
</li>
</ul>
<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,22 +1,22 @@
<div class="w-event_news widget-event_news-11">
<h3 class="w-event_news__widget-title">
<div class="w-annc widget-announcement-11">
<h3 class="w-annc__widget-title">
<span>{{widget-title}}</span>
</h3>
<ul class="w-event_news__list" data-level="0" data-list="event_news">
<li class="w-event_news__item row">
<span class="w-event_news__postdate-wrap col-sm-3" date-format="%Y-%m-%d">
<ul class="w-annc__list" data-level="0" data-list="event_news">
<li class="w-annc__item row">
<span class="w-annc__postdate-wrap col-sm-3" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="w-event_news__postdate">{{postdate}}</span>
<span class="w-annc__postdate">{{postdate}}</span>
</span>
<h4 class="w-event_news__entry-title col-sm-9">
<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>
<h4 class="w-annc__entry-title col-sm-9">
<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>
</h4>
</li>
</ul>
<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,27 +1,27 @@
<div class="w-event_news widget-event_news-12">
<h3 class="w-event_news__widget-title">
<div class="w-annc widget-announcement-12">
<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--title">{{title-head}}</th>
<th class="w-event_news__th w-event_news__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--date">{{date-head}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="event_news">
<tr>
<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_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__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
<td class="w-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</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,27 +1,27 @@
<div class="w-event_news widget-event_news-13">
<h3 class="w-event_news__widget-title">
<div class="w-annc widget-announcement-13">
<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-annc__th w-annc__th--date">{{date-head}}</th>
<th class="w-annc__th w-annc__th--title">{{title-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>
</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,29 +1,29 @@
<div class="w-event_news widget-event_news-14">
<h3 class="w-event_news__widget-title">
<div class="w-annc widget-announcement-14">
<h3 class="w-annc__widget-title">
<span>{{widget-title}}</span>
</h3>
<div class="w-event_news__inner row">
<div class="w-event_news__img-wrap col-xs-4 bullseye">
<img class="w-event_news__img" src="{{main_picture}}" alt="{{main_picture_description}}" title="{{main_picture_description}}">
<div class="w-annc__inner row">
<div class="w-annc__img-wrap col-xs-4 bullseye">
<img class="w-annc__img" src="{{main_picture}}" alt="{{main_picture_description}}" title="{{main_picture_description}}">
</div>
<ul class="w-event_news__list col-xs-8" data-level="0" data-list="event_news">
<li class="w-event_news__item">
<div class="w-event_news__content row">
<h4 class="w-event_news__entry-title col-xs-9">
<span class="w-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="w-event_news__status label {{status-class}}">{{status}}</span>
<ul class="w-annc__list col-xs-8" data-level="0" data-list="event_news">
<li class="w-annc__item">
<div class="w-annc__content row">
<h4 class="w-annc__entry-title col-xs-9">
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
<span class="w-annc__status label {{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>
</h4>
<span class="w-event_news__postdate-wrap col-xs-3" date-format="%Y-%m-%d">
<span class="w-annc__postdate-wrap col-xs-3" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="w-event_news__postdate">{{postdate}}</span>
<span class="w-annc__postdate">{{postdate}}</span>
</span>
</div>
</li>
</ul>
</div>
<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,130 +1,161 @@
<div class="w-event_news widget-event_news-4 w-event_news widget-event_news-15" style="position:relative;">
<div class="w-event_news__more-wrap clearfix">
<h2 class="w-event_news__widget-title">
<div class="w-annc widget-announcement-4 w-annc widget-announcement-15" style="position:relative;">
<div class="w-annc__more-wrap clearfix">
<h2 class="w-annc__widget-title">
<span>{{widget-title}}</span>
</h2>
<a class="w-event_news__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
</div>
<div style="position: absolute;top: 50%;bottom: 50%;width:100%;">
<button class="btn-left" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>" style="float: left;height: 2.5em; width: 2.5em;background: url(/assets/left-01.png) no-repeat;border: 0;background-size: contain;position: absolute;transition:.3s; left: 0.6%;"></button>
<button class="btn-right" title = "<%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %>" style="float: right;;height: 2.5em; width: 2.5em;background: url(/assets/right-01.png) no-repeat;background-size: contain;border: 0;position: absolute;transition:.3s;right: 0.6%;"></button>
</div>
<ul class="w-event_news__list row" data-level="0" data-list="event_news">
<li class="w-event_news__item col-md-4">
<div class="w-event_news__img-wrap bullseye">
<img class="w-event_news__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
<ul class="w-annc__list row" data-level="0" data-list="event_news">
<li class="w-annc__item col-md-4">
<div class="w-annc__img-wrap bullseye">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</div>
<div class="w-event_news__content-wrap">
<div class="w-event_news__meta">
<span class="w-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="w-event_news__status label {{status-class}}">{{status}}</span>
<div class="w-annc__content-wrap">
<div class="w-annc__meta">
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
<span class="w-annc__status label {{status-class}}">{{status}}</span>
</span>
<span class="w-event_news__postdate-wrap" date-format="%Y-%m-%d">
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="w-event_news__postdate">{{postdate}}</span>
<span class="w-annc__postdate">{{postdate}}</span>
</span>
<span class="w-event_news__category-wrap">
<span class="w-annc__category-wrap">
<i class="fa fa-tasks"></i>
<span class="w-event_news__category">{{category}}</span>
<span class="w-annc__category">{{category}}</span>
</span>
</div>
<h4 class="w-event_news__entry-title">
<a class="w-event_news__title" href="{{link_to_show}}">{{title}}</a>
<h4 class="w-annc__entry-title">
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
</h4>
<p class="w-event_news__subtitle">{{subtitle}}</p>
<p class="w-annc__subtitle">{{subtitle}}</p>
</div>
</li>
</ul>
</div>
<script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
function combineul(){
for(var i=1;i<$('.widget-event_news-4 ul.w-event_news__list').length;i++)
$('.widget-event_news-4 ul.w-event_news__list').eq(0).find('>li').eq(-1).after($('.widget-event_news-4 ul.w-event_news__list').eq(i).html());
var ullength = $('.widget-event_news-4 ul.w-event_news__list').length;
for(var i = 1;i < ullength;i++)
$('.widget-event_news-4 ul.w-event_news__list').eq(-1).remove();
function combineul_{{subpart-id}}(){
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
parents.each(function(i,v){
for(var i=1;i<$(v).find('ul.w-annc__list').length;i++)
$(v).find('ul.w-annc__list').eq(0).find('>li').eq(-1).after($(v).find('ul.w-annc__list').eq(i).html());
var ullength = $(v).find('ul.w-annc__list').length;
for(var i = 1;i < ullength;i++)
$(v).find('ul.w-annc__list').eq(-1).remove();
})
};
var lilength = $('.widget-event_news-4 li.w-event_news__item').length;
var num;
function reorganize(num){
combineul();
for(var i=1;i< Math.ceil(lilength/num);i++){
$('.widget-event_news-4 ul.w-event_news__list').eq(-1).after('<ul class="w-event_news__list row" data-level="0" data-list="event_news"></ul>')
var lihtml="";
//var liheight=new Array(num);
if(i != (Math.ceil(lilength/num)-1)){
for(var j=0;j<num;j++){
lihtml += "<li class='w-event_news__item col-md-4'>"+$('.widget-event_news-4 li.w-event_news__item').eq(i*num+j).html()+"</li>"
//liheight[j] = $('.widget-event_news-4 li.w-event_news__item').eq(i*num+j).height()+20;//20=>margin-top+margin-bottom
var lilength = $('[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item').length;
function reorganize_{{subpart-id}}(num){
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').toArray();
var currentul = uls.findIndex(function(v){
return $(v).hasClass("active") && !$(v).hasClass("hidden_item");
})
if(currentul == -1)
currentul = 0;
var li_active_idx = 0;
if(currentul != 0)
li_active_idx = $(uls[currentul]).find("li.w-annc__item").eq(0).index("li.w-annc__item");
combineul_{{subpart-id}}();
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
parents.each(function(i,v){
var lilength = $(v).find('li.w-annc__item').length;
var ul_length = Math.ceil(lilength/num);
for(var ii=1;ii< ul_length;ii++){
var clone_ul = $(v).find('ul.w-annc__list').eq(-1).clone();
clone_ul.empty();
clone_ul.removeClass("active");
clone_ul.css("display","");
$(v).find('ul.w-annc__list').eq(-1).after(clone_ul.prop("outerHTML"));
var lihtml="";
if(ii != (ul_length-1)){
for(var j=0;j<num;j++){
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
};
}else{
for(var j=0;j< lilength - num *(ul_length-1) ;j++){
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
};
};
}else{
for(var j=0;j< lilength - num *(Math.ceil(lilength/num)-1) ;j++){
lihtml += "<li class='w-event_news__item col-md-4'>"+$('.widget-event_news-4 li.w-event_news__item').eq(i*num+j).html()+"</li>"
//liheight[j] = $('.widget-event_news-4 li.w-event_news__item').eq(i*num+j).height()+20;//20=>margin-top+margin-bottom
};
};
$('.widget-event_news-4 ul.w-event_news__list').eq(-1).html(lihtml);
};
if(Math.ceil(lilength/num) != 1 )
for(var i=0;i< lilength -num ; i++ )
$('.widget-event_news-4 ul.w-event_news__list').eq(0).find("li.w-event_news__item").eq(num).remove();
for(var i=0;i< Math.ceil(lilength/num);i++)
$('.widget-event_news-4 ul.w-event_news__list').eq(i).attr("index",i);
$('.widget-event_news-4 ul.w-event_news__list').css("display","none");
$('.widget-event_news-4 ul.w-event_news__list').eq(0).css("display","flex");
$('.widget-event_news-4 ul.w-event_news__list').eq(0).addClass("active");
$('.widget-event_news-4 ul.w-event_news__list').css('padding','0 1.125em');
$('.widget-event_news-4 button').css('z-index','10');
$('.widget-event_news-4 ul.w-event_news__list >li').css('width','calc('+100/num+'% - '+20/16+'em)'); //20px=>li的margin
$('.widget-event_news-4 ul.w-event_news__list >li').css('float','left');
$(v).find('ul.w-annc__list').eq(-1).html(lihtml);
}
if(ul_length != 1 )
for(var i=0;i< lilength -num ; i++)
$(v).find('ul.w-annc__list').eq(0).find("li.w-annc__item").eq(num).remove();
})
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css("display","none");
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css('padding','0 1.125em');
$('[data-subpart-id=\"{{subpart-id}}\"] button').css('z-index','10');
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css('width','calc('+100/num+'% - '+20/16+'em)'); //20px=>li的margin
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css('float','left');
var active_ul = $("[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item").eq(li_active_idx).parents("ul.w-annc__list");
active_ul.addClass("active");
active_ul.removeClass("hidden_item");
active_ul.css("display","");
};
$(window).resize(function(){
if($(window).width()>1024){
reorganize(3);
reorganize_{{subpart-id}}(3);
num=3;
}else if($(window).width()>576){
reorganize(2);
reorganize_{{subpart-id}}(2);
num=2;
}else{
reorganize(1);
reorganize_{{subpart-id}}(1);
num=1;
}
})
$(document).ready(function(){
if($(window).width()>1024){
reorganize(3);
reorganize_{{subpart-id}}(3);
num=3;
}else if($(window).width()>576){
reorganize(2);
reorganize_{{subpart-id}}(2);
num=2;
}else{
reorganize(1);
reorganize_{{subpart-id}}(1);
num=1;
}
var flag=false;
$('.btn-left').click(function(){
if(!flag){
var currentul = Number($('.widget-event_news-4 ul.w-event_news__list.active').attr("index"));
$('.widget-event_news-4 ul.w-event_news__list').css('display','none');
if(currentul - 1 < 0)
currentul += Math.ceil(lilength/num);
$('.widget-event_news-4 ul.w-event_news__list').removeClass("active");
$('.widget-event_news-4 ul.w-event_news__list').eq(currentul-1).addClass("active");
flag=true;
$('.widget-event_news-4 ul.w-event_news__list.active').eq(0).effect("slide", { direction: "left", mode: 'show', duration: 500},function(){flag=false;});
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').toArray();
var ul_length = uls.length;
var currentul = uls.findIndex(function(v){
return $(v).hasClass("active");
})
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css('display','none');
if(currentul - 1 < 0)
currentul += ul_length;
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').removeClass("active");
var active_item = $(uls[currentul-1]);
active_item.addClass("active");
active_item.find("li").css("display","block");
flag=true;
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list.active').eq(0).effect("slide", { direction: "left", mode: 'show', duration: 500},function(){flag=false;});
};
});
$('.btn-right').click(function(){
var lilength = $('[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item').length;
if(!flag){
var currentul = Number($('.widget-event_news-4 ul.w-event_news__list.active').attr("index"));
$('.widget-event_news-4 ul.w-event_news__list').css("display","none");
if(currentul + 1 > Math.ceil(lilength/num) - 1)
currentul -= Math.ceil(lilength/num);
$('.widget-event_news-4 ul.w-event_news__list').removeClass("active");
$('.widget-event_news-4 ul.w-event_news__list').eq(currentul+1).addClass("active");
flag=true;
$('.widget-event_news-4 ul.w-event_news__list.active').eq(0).effect("slide", { direction: "right", mode: 'show', duration: 500},function(){flag=false;});
var uls = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').toArray();
var ul_length = uls.length;
var currentul = uls.findIndex(function(v){
return $(v).hasClass("active");
})
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').css('display','none');
if(currentul + 1 > ul_length - 1)
currentul -= ul_length;
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list:not(.hidden_item)').removeClass("active");
var active_item = $(uls[currentul+1]);
active_item.addClass("active");
active_item.find("li").css("display","block");
flag=true;
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list.active').eq(0).effect("slide", { direction: "left", mode: 'show', duration: 500},function(){flag=false;});
};
});
});

View File

@ -1,32 +1,32 @@
<div class="w-event_news widget-event_news-13">
<table class="w-event_news__table table">
<div class="w-annc widget-announcement-13">
<table class="w-annc__table table">
<thead>
<tr>
<th class="w-event_news__th w-event_news__th--date">{{event_date-head}}</th>
<th class="w-event_news__th w-event_news__th--date">{{speaker-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--title">{{subtitle-head}}</th>
<th class="w-event_news__th w-event_news__th--title">{{host-head}}</th>
<th class="w-event_news__th w-event_news__th--title">{{notes-head}}</th>
<th class="w-annc__th w-annc__th--date">{{event_date-head}}</th>
<th class="w-annc__th w-annc__th--date">{{speaker-head}}</th>
<th class="w-annc__th w-annc__th--title">{{title-head}}</th>
<th class="w-annc__th w-annc__th--title">{{subtitle-head}}</th>
<th class="w-annc__th w-annc__th--title">{{host-head}}</th>
<th class="w-annc__th w-annc__th--title">{{notes-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__speaker">{{speaker}}</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__speaker">{{speaker}}</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_subtitle">{{subtitle}}</td>
<td class="w-event_news__host">{{host}}</td>
<td class="w-event_news__notes">{{notes}}</td>
<td class="w-annc_subtitle">{{subtitle}}</td>
<td class="w-annc__host">{{host}}</td>
<td class="w-annc__notes">{{notes}}</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,35 +1,35 @@
<div class="w-event_news widget-event_news-13">
<h3 class="w-event_news__widget-title">
<div class="w-annc widget-announcement-13">
<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">{{event_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--title">{{subtitle-head}}</th>
<th class="w-event_news__th w-event_news__th--date">{{speaker-head}}</th>
<th class="w-event_news__th w-event_news__th--title">{{host-head}}</th>
<th class="w-event_news__th w-event_news__th--title">{{notes-head}}</th>
<th class="w-annc__th w-annc__th--date">{{event_date-head}}</th>
<th class="w-annc__th w-annc__th--title">{{title-head}}</th>
<th class="w-annc__th w-annc__th--title">{{subtitle-head}}</th>
<th class="w-annc__th w-annc__th--date">{{speaker-head}}</th>
<th class="w-annc__th w-annc__th--title">{{host-head}}</th>
<th class="w-annc__th w-annc__th--title">{{notes-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__speaker">【講者】{{speaker}}</td>
<td class="w-event_news__host">{{host}}</td>
<td class="w-event_news__subtitle">{{subtitle}}</td>
<td class="w-event_news__notes">【備註】{{notes}}</td>
<td class="w-annc__speaker">【講者】{{speaker}}</td>
<td class="w-annc__host">{{host}}</td>
<td class="w-annc__subtitle">{{subtitle}}</td>
<td class="w-annc__notes">【備註】{{notes}}</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,34 +1,34 @@
<div class="w-event_news widget-event_news-2">
<h3 class="w-event_news__widget-title">
<div class="w-annc widget-announcement-2">
<h3 class="w-annc__widget-title">
<span>{{widget-title}}</span>
</h3>
<ul class="w-event_news__list" data-level="0" data-list="event_news">
<li class="w-event_news__item row">
<div class="w-event_news__img-wrap col-sm-4 bullseye">
<img class="w-event_news__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
<ul class="w-annc__list" data-level="0" data-list="event_news">
<li class="w-annc__item row">
<div class="w-annc__img-wrap col-sm-4 bullseye">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</div>
<div class="w-event_news__content-wrap col-sm-8">
<div class="w-event_news__meta">
<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>
<div class="w-annc__content-wrap col-sm-8">
<div class="w-annc__meta">
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
</span>
<span class="w-event_news__postdate-wrap" date-format="%Y-%m-%d">
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="w-event_news__postdate">{{postdate}}</span>
<span class="w-annc__postdate">{{postdate}}</span>
</span>
<span class="w-event_news__category-wrap">
<span class="w-annc__category-wrap">
<i class="fa fa-tasks"></i>
<span class="w-event_news__category">{{category}}</span>
<span class="w-annc__category">{{category}}</span>
</span>
</div>
<h4 class="w-event_news__entry-title">
<a class="w-event_news__title" href="{{link_to_show}}">{{title}}</a>
<h4 class="w-annc__entry-title">
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
</h4>
<p class="w-event_news__subtitle">{{subtitle}}</p>
<p class="w-annc__subtitle">{{subtitle}}</p>
</div>
</li>
</ul>
<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,34 +1,34 @@
<div class="w-event_news widget-event_news-3">
<h3 class="w-event_news__widget-title">
<div class="w-annc widget-announcement-3">
<h3 class="w-annc__widget-title">
<span>{{widget-title}}</span>
</h3>
<ul class="w-event_news__list" data-level="0" data-list="event_news">
<li class="w-event_news__item row">
<div class="w-event_news__content-wrap col-sm-8">
<div class="w-event_news__meta">
<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>
<ul class="w-annc__list" data-level="0" data-list="event_news">
<li class="w-annc__item row">
<div class="w-annc__content-wrap col-sm-8">
<div class="w-annc__meta">
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
</span>
<span class="w-event_news__postdate-wrap" date-format="%Y-%m-%d">
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="w-event_news__postdate">{{postdate}}</span>
<span class="w-annc__postdate">{{postdate}}</span>
</span>
<span class="w-event_news__category-wrap">
<span class="w-annc__category-wrap">
<i class="fa fa-tasks"></i>
<span class="w-event_news__category">{{category}}</span>
<span class="w-annc__category">{{category}}</span>
</span>
</div>
<h4 class="w-event_news__entry-title">
<a class="w-event_news__title" href="{{link_to_show}}">{{title}}</a>
<h4 class="w-annc__entry-title">
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
</h4>
<p class="w-event_news__subtitle">{{subtitle}}</p>
<p class="w-annc__subtitle">{{subtitle}}</p>
</div>
<div class="w-event_news__img-wrap col-sm-4 bullseye">
<img class="w-event_news__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
<div class="w-annc__img-wrap col-sm-4 bullseye">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</div>
</li>
</ul>
<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,86 +1,107 @@
<div class="w-event_news widget-event_news-4">
<div class="w-event_news__more-wrap clearfix">
<h2 class="w-event_news__widget-title">
<div class="w-annc widget-announcement-4">
<div class="w-annc__more-wrap clearfix">
<h2 class="w-annc__widget-title">
<span>{{widget-title}}</span>
</h2>
<a class="w-event_news__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
</div>
<ul class="w-event_news__list row" data-level="0" data-list="event_news">
<li class="w-event_news__item col-md-4">
<div class="w-event_news__img-wrap bullseye">
<img class="w-event_news__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
<ul class="w-annc__list row" data-level="0" data-list="event_news">
<li class="w-annc__item col-md-4">
<div class="w-annc__img-wrap bullseye">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</div>
<div class="w-event_news__content-wrap">
<div class="w-event_news__meta">
<span class="w-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="w-event_news__status label {{status-class}}">{{status}}</span>
<div class="w-annc__content-wrap">
<div class="w-annc__meta">
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
<span class="w-annc__status label {{status-class}}">{{status}}</span>
</span>
<span class="w-event_news__postdate-wrap" date-format="%Y-%m-%d">
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="w-event_news__postdate">{{postdate}}</span>
<span class="w-annc__postdate">{{postdate}}</span>
</span>
<span class="w-event_news__category-wrap">
<span class="w-annc__category-wrap">
<i class="fa fa-tasks"></i>
<span class="w-event_news__category">{{category}}</span>
<span class="w-annc__category">{{category}}</span>
</span>
</div>
<h4 class="w-event_news__entry-title">
<a class="w-event_news__title" href="{{link_to_show}}">{{title}}</a>
<h4 class="w-annc__entry-title">
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
</h4>
<p class="w-event_news__subtitle">{{subtitle}}</p>
<p class="w-annc__subtitle">{{subtitle}}</p>
</div>
</li>
</ul>
</div>
<style type="text/css">
[data-subpart-id="{{subpart-id}}"] .bullseye{
overflow: hidden;
}
</style>
<script>
var lilength = $('.widget-event_news-4 li.w-event_news__item').length;
function combineul(){
for(var i=1;i<$('.widget-event_news-4 ul.w-event_news__list').length;i++)
$('.widget-event_news-4 ul.w-event_news__list').eq(0).find('>li').eq(-1).after($('.widget-event_news-4 ul.w-event_news__list').eq(i).html());
var ullength = $('.widget-event_news-4 ul.w-event_news__list').length;
for(var i = 1;i < ullength;i++)
$('.widget-event_news-4 ul.w-event_news__list').eq(-1).remove();
function combineul_{{subpart-id}}(){
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
parents.each(function(i,v){
for(var i=1;i<$(v).find('ul.w-annc__list').length;i++)
$(v).find('ul.w-annc__list').eq(0).find('>li').eq(-1).after($(v).find('ul.w-annc__list').eq(i).html());
var ullength = $(v).find('ul.w-annc__list').length;
for(var i = 1;i < ullength;i++)
$(v).find('ul.w-annc__list').eq(-1).remove();
})
};
function reorganize(num){
combineul();
for(var i=1;i< Math.ceil(lilength/num);i++){
$('.widget-event_news-4 ul.w-event_news__list').eq(-1).after('<ul class="w-event_news__list row" data-level="0" data-list="event_news"></ul>')
var lihtml="";
if(i != (Math.ceil(lilength/num)-1)){
for(var j=0;j<num;j++)
lihtml += "<li class='w-event_news__item col-md-4'>"+$('.widget-event_news-4 li.w-event_news__item').eq(i*num+j).html()+"</li>"
}else{
for(var j=0;j< lilength - num *(Math.ceil(lilength/num)-1) ;j++)
lihtml += "<li class='w-event_news__item col-md-4'>"+$('.widget-event_news-4 li.w-event_news__item').eq(i*num+j).html()+"</li>"
};
$('.widget-event_news-4 ul.w-event_news__list').eq(-1).html(lihtml);
};
if(Math.ceil(lilength/num) != 1 )
for(var i=0;i< lilength -num ; i++ )
$('.widget-event_news-4 ul.w-event_news__list').eq(0).find("li.w-event_news__item").eq(num).remove();
$('.widget-event_news-4 ul.w-event_news__list >li').css('width','calc('+100/num+'% - '+20/16+'em)'); //20px=>li的margin
var num;
var lilength = $('[data-subpart-id=\"{{subpart-id}}\"] li.w-annc__item').length;
function reorganize_{{subpart-id}}(num){
combineul_{{subpart-id}}();
var parents = $('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list').parent();
parents.each(function(i,v){
var lilength = $(v).find('li.w-annc__item').length;
var ul_length = Math.ceil(lilength/num);
for(var ii=1;ii< ul_length;ii++){
var clone_ul = $(v).find('ul.w-annc__list').eq(-1).clone();
clone_ul.empty();
clone_ul.removeClass("active");
clone_ul.css("display","");
$(v).find('ul.w-annc__list').eq(-1).after(clone_ul.prop("outerHTML"));
var lihtml="";
if(ii != (ul_length-1)){
for(var j=0;j<num;j++){
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
};
}else{
for(var j=0;j< lilength - num *(ul_length-1) ;j++){
lihtml += $(v).find('li.w-annc__item').eq(ii*num+j).prop("outerHTML");
};
};
$(v).find('ul.w-annc__list').eq(-1).html(lihtml);
}
if(ul_length != 1 )
for(var i=0;i< lilength -num ; i++)
$(v).find('ul.w-annc__list').eq(0).find("li.w-annc__item").eq(num).remove();
})
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css('width','calc('+100/num+'% - '+20/16+'em)'); //20px=>li的margin
$('[data-subpart-id=\"{{subpart-id}}\"] ul.w-annc__list >li').css('float','left');
};
$(document).ready(function(){
if($(window).width()>1024){
reorganize(3);
num=3;
}else if($(window).width()>576){
reorganize(2);
num=2;
}else{
reorganize(1);
num=1;
}
});
$(window).resize(function(){
if($(window).width()>1024){
reorganize(3);
reorganize_{{subpart-id}}(3);
num=3;
}else if($(window).width()>576){
reorganize(2);
reorganize_{{subpart-id}}(2);
num=2;
}else{
reorganize(1);
reorganize_{{subpart-id}}(1);
num=1;
}
})
$(document).ready(function(){
if($(window).width()>1024){
reorganize_{{subpart-id}}(3);
num=3;
}else if($(window).width()>576){
reorganize_{{subpart-id}}(2);
num=2;
}else{
reorganize_{{subpart-id}}(1);
num=1;
}
})

View File

@ -1,31 +1,31 @@
<div class="w-event_news widget-event_news-5">
<h3 class="w-event_news__widget-title">
<div class="w-annc widget-announcement-5">
<h3 class="w-annc__widget-title">
<span>{{widget-title}}</span>
</h3>
<ul class="w-event_news__list row" data-level="0" data-list="event_news">
<li class="w-event_news__item">
<div class="w-event_news__content-wrap">
<div class="w-event_news__meta">
<span class="w-event_news__postdate-wrap" date-format="%Y-%m-%d">
<ul class="w-annc__list row" data-level="0" data-list="event_news">
<li class="w-annc__item">
<div class="w-annc__content-wrap">
<div class="w-annc__meta">
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="w-event_news__postdate">{{postdate}}</span>
<span class="w-annc__postdate">{{postdate}}</span>
</span>
<span class="w-event_news__category-wrap">
<span class="w-annc__category-wrap">
<i class="fa fa-tasks"></i>
<span class="w-event_news__category">{{category}}</span>
<span class="w-annc__category">{{category}}</span>
</span>
<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>
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
</span>
</div>
<h4 class="w-event_news__entry-title">
<a class="w-event_news__title" href="{{link_to_show}}">{{title}}</a>
<h4 class="w-annc__entry-title">
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
</h4>
<p class="w-event_news__subtitle">{{subtitle}}</p>
<p class="w-annc__subtitle">{{subtitle}}</p>
</div>
</li>
</ul>
<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,26 +1,26 @@
<div class="w-event_news widget-event_news-6">
<h3 class="w-event_news__widget-title">
<div class="w-annc widget-announcement-6">
<h3 class="w-annc__widget-title">
<span>{{widget-title}}</span>
</h3>
<ul class="w-event_news__list" data-level="0" data-list="event_news">
<li class="w-event_news__item row">
<span class="w-event_news__category-wrap col-sm-2">
<ul class="w-annc__list" data-level="0" data-list="event_news">
<li class="w-annc__item row">
<span class="w-annc__category-wrap col-sm-2">
<i class="fa fa-tasks"></i>
<span class="w-event_news__category">{{category}}</span>
<span class="w-annc__category">{{category}}</span>
</span>
<h4 class="w-event_news__entry-title col-sm-8">
<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>
<h4 class="w-annc__entry-title col-sm-8">
<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>
</h4>
<span class="w-event_news__postdate-wrap col-sm-2" date-format="%Y-%m-%d">
<span class="w-annc__postdate-wrap col-sm-2" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="w-event_news__postdate">{{postdate}}</span>
<span class="w-annc__postdate">{{postdate}}</span>
</span>
</li>
</ul>
<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,26 +1,26 @@
<div class="w-event_news widget-event_news-7">
<h3 class="w-event_news__widget-title">
<div class="w-annc widget-announcement-7">
<h3 class="w-annc__widget-title">
<span>{{widget-title}}</span>
</h3>
<ul class="w-event_news__list" data-level="0" data-list="event_news">
<li class="w-event_news__item row">
<span class="w-event_news__postdate-wrap col-sm-2" date-format="%Y-%m-%d">
<ul class="w-annc__list" data-level="0" data-list="event_news">
<li class="w-annc__item row">
<span class="w-annc__postdate-wrap col-sm-2" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="w-event_news__postdate">{{postdate}}</span>
<span class="w-annc__postdate">{{postdate}}</span>
</span>
<h4 class="w-event_news__entry-title col-sm-8">
<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>
<h4 class="w-annc__entry-title col-sm-8">
<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>
</h4>
<span class="w-event_news__category-wrap col-sm-2">
<span class="w-annc__category-wrap col-sm-2">
<i class="fa fa-tasks"></i>
<span class="w-event_news__category">{{category}}</span>
<span class="w-annc__category">{{category}}</span>
</span>
</li>
</ul>
<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,29 +1,29 @@
<div class="w-event_news widget-event_news-8">
<h3 class="w-event_news__widget-title">
<div class="w-annc widget-announcement-8">
<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--category">{{category-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--date">{{date-head}}</th>
<th class="w-annc__th w-annc__th--category">{{category-head}}</th>
<th class="w-annc__th w-annc__th--title">{{title-head}}</th>
<th class="w-annc__th w-annc__th--date">{{date-head}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="event_news">
<tr>
<td class="w-event_news__category">{{category}}</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__category">{{category}}</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__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
<td class="w-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</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,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,23 +1,23 @@
<div class="i-event_news index-event_news-1 {{display}}">
<h1 class="i-event_news__page-title">{{page-title}}</h1>
<table class="i-event_news__table table table-striped">
<div class="i-annc index-announcement-1 {{display}}">
<h1 class="i-annc__page-title">{{page-title}}</h1>
<table class="i-annc__table table table-striped">
<thead>
<tr>
<th class="i-event_news__th i-event_news__th--category">{{category-head}}</th>
<th class="i-event_news__th i-event_news__th--title">{{title-head}}</th>
<th class="i-event_news__th i-event_news__th--date">{{date-head}}</th>
<th class="i-annc__th i-annc__th--category">{{category-head}}</th>
<th class="i-annc__th i-annc__th--title">{{title-head}}</th>
<th class="i-annc__th i-annc__th--date">{{date-head}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="event_news">
<tr>
<td class="i-event_news__category">{{category}}</td>
<td class="i-event_news__content">
<span class="i-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="i-event_news__status label status {{status-class}}">{{status}}</span>
<td class="i-annc__category">{{category}}</td>
<td class="i-annc__content">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
</span>
<a class="i-event_news__title" href="{{link_to_show}}">{{title}}</a>
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
</td>
<td class="i-event_news__postdate"><span class="i-event_news__postdate-content" date-format="%Y-%m-%d">{{postdate}}</span></td>
<td class="i-annc__postdate"><span class="i-annc__postdate-content" date-format="%Y-%m-%d">{{postdate}}</span></td>
</tr>
</tbody>
</table>

View File

@ -1,20 +1,20 @@
<div class="i-event_news index-event_news-10">
<h1 class="i-event_news__page-title">{{page-title}}</h1>
<ul class="i-event_news__list" data-level="0" data-list="event_news">
<li class="i-event_news__item row">
<span class="i-event_news__postdate-wrap col-sm-2" date-format="%Y-%m-%d">
<div class="i-annc index-announcement-10">
<h1 class="i-annc__page-title">{{page-title}}</h1>
<ul class="i-annc__list" data-level="0" data-list="event_news">
<li class="i-annc__item row">
<span class="i-annc__postdate-wrap col-sm-2" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="i-event_news__postdate">{{postdate}}</span>
<span class="i-annc__postdate">{{postdate}}</span>
</span>
<h4 class="i-event_news__entry-title col-sm-8">
<span class="i-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="i-event_news__status label status {{status-class}}">{{status}}</span>
<h4 class="i-annc__entry-title col-sm-8">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
</span>
<a class="i-event_news__title" href="{{link_to_show}}">{{title}}</a>
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
</h4>
<span class="i-event_news__category-wrap col-sm-2">
<span class="i-annc__category-wrap col-sm-2">
<i class="fa fa-tasks"></i>
<span class="i-event_news__category">{{category}}</span>
<span class="i-annc__category">{{category}}</span>
</span>
</li>
</ul>>

View File

@ -1,16 +1,16 @@
<div class="i-event_news index-event_news-11">
<h1 class="i-event_news__page-title">{{page-title}}</h1>
<ul class="i-event_news__list" data-level="0" data-list="event_news">
<li class="i-event_news__item row">
<h4 class="i-event_news__entry-title col-sm-9">
<span class="i-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="i-event_news__status label status {{status-class}}">{{status}}</span>
<div class="i-annc index-announcement-11">
<h1 class="i-annc__page-title">{{page-title}}</h1>
<ul class="i-annc__list" data-level="0" data-list="event_news">
<li class="i-annc__item row">
<h4 class="i-annc__entry-title col-sm-9">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
</span>
<a class="i-event_news__title" href="{{link_to_show}}">{{title}}</a>
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
</h4>
<span class="i-event_news__postdate-wrap col-sm-3" date-format="%Y-%m-%d">
<span class="i-annc__postdate-wrap col-sm-3" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="i-event_news__postdate">{{postdate}}</span>
<span class="i-annc__postdate">{{postdate}}</span>
</span>
</li>
</ul>

View File

@ -1,16 +1,16 @@
<div class="i-event_news index-event_news-12">
<h1 class="i-event_news__page-title">{{page-title}}</h1>
<ul class="i-event_news__list" data-level="0" data-list="event_news">
<li class="i-event_news__item row">
<span class="i-event_news__postdate-wrap col-sm-3" date-format="%Y-%m-%d">
<div class="i-annc index-announcement-12">
<h1 class="i-annc__page-title">{{page-title}}</h1>
<ul class="i-annc__list" data-level="0" data-list="event_news">
<li class="i-annc__item row">
<span class="i-annc__postdate-wrap col-sm-3" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="i-event_news__postdate">{{postdate}}</span>
<span class="i-annc__postdate">{{postdate}}</span>
</span>
<h4 class="i-event_news__entry-title col-sm-9">
<span class="i-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="i-event_news__status label status {{status-class}}">{{status}}</span>
<h4 class="i-annc__entry-title col-sm-9">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
</span>
<a class="i-event_news__title" href="{{link_to_show}}">{{title}}</a>
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
</h4>
</li>
</ul>

View File

@ -1,21 +1,21 @@
<div class="i-event_news index-event_news-13 {{display}}">
<h1 class="i-event_news__page-title">{{page-title}}</h1>
<table class="i-event_news__table table table-striped">
<div class="i-annc index-announcement-13 {{display}}">
<h1 class="i-annc__page-title">{{page-title}}</h1>
<table class="i-annc__table table table-striped">
<thead>
<tr>
<th class="i-event_news__th i-event_news__th--title">{{title-head}}</th>
<th class="i-event_news__th i-event_news__th--date">{{date-head}}</th>
<th class="i-annc__th i-annc__th--title">{{title-head}}</th>
<th class="i-annc__th i-annc__th--date">{{date-head}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="event_news">
<tr>
<td class="i-event_news__content">
<span class="i-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="i-event_news__status label status {{status-class}}">{{status}}</span>
<td class="i-annc__content">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
</span>
<a class="i-event_news__title" href="{{link_to_show}}">{{title}}</a>
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
</td>
<td class="i-event_news__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
<td class="i-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
</tr>
</tbody>
</table>

View File

@ -1,20 +1,20 @@
<div class="i-event_news index-event_news-14 {{display}}">
<h1 class="i-event_news__page-title">{{page-title}}</h1>
<table class="i-event_news__table table table-striped">
<div class="i-annc index-announcement-14 {{display}}">
<h1 class="i-annc__page-title">{{page-title}}</h1>
<table class="i-annc__table table table-striped">
<thead>
<tr>
<th class="i-event_news__th i-event_news__th--date">{{date-head}}</th>
<th class="i-event_news__th i-event_news__th--title">{{title-head}}</th>
<th class="i-annc__th i-annc__th--date">{{date-head}}</th>
<th class="i-annc__th i-annc__th--title">{{title-head}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="event_news">
<tr>
<td class="i-event_news__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
<td class="i-event_news__content">
<span class="i-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="i-event_news__status label status {{status-class}}">{{status}}</span>
<td class="i-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
<td class="i-annc__content">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
</span>
<a class="i-event_news__title" href="{{link_to_show}}">{{title}}</a>
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
</td>
</tr>
</tbody>

View File

@ -1,23 +1,23 @@
<div class="i-event_news index-event_news-15 {{display}}">
<h1 class="i-event_news__page-title">{{page-title}}</h1>
<table class="i-event_news__table table table-striped">
<div class="i-annc index-announcement-15 {{display}}">
<h1 class="i-annc__page-title">{{page-title}}</h1>
<table class="i-annc__table table table-striped">
<thead>
<tr>
<th class="i-event_news__th i-event_news__th--date">{{date-head}}</th>
<th class="i-event_news__th i-event_news__th--title">{{title-head}}</th>
<th class="i-event_news__th i-event_news__th--category">{{view-count-head}}</th>
<th class="i-annc__th i-annc__th--date">{{date-head}}</th>
<th class="i-annc__th i-annc__th--title">{{title-head}}</th>
<th class="i-annc__th i-annc__th--category">{{view-count-head}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="event_news">
<tr>
<td class="i-event_news__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
<td class="i-event_news__content">
<span class="i-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="i-event_news__status label status {{status-class}}">{{status}}</span>
<td class="i-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
<td class="i-annc__content">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
</span>
<a class="i-event_news__title" href="{{link_to_show}}">{{title}}</a>
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
</td>
<td class="i-event_news__view-count">{{view_count}}</td>
<td class="i-annc__view-count">{{view_count}}</td>
</tr>
</tbody>
</table>

View File

@ -1,34 +1,34 @@
<div class="i-event_news index-event_news-16 {{display}}">
<h1 class="i-event_news__page-title">{{page-title}}</h1>
<table class="i-event_news__table table table-striped">
<div class="i-annc index-announcement-16 {{display}}">
<h1 class="i-annc__page-title">{{page-title}}</h1>
<table class="i-annc__table table table-striped">
<thead>
<tr>
<th class="i-event_news__th i-event_news__th--date">{{date-head}}</th>
<th class="i-event_news__th i-event_news__th--title">{{title-head}}</th>
<th class="i-event_news__th i-event_news__th--title">{{link-head}}</th>
<th class="i-event_news__th i-event_news__th--title">{{file-head}}</th>
<th class="i-annc__th i-annc__th--date">{{date-head}}</th>
<th class="i-annc__th i-annc__th--title">{{title-head}}</th>
<th class="i-annc__th i-annc__th--title">{{link-head}}</th>
<th class="i-annc__th i-annc__th--title">{{file-head}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="event_news">
<tr>
<td class="i-event_news__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
<td class="i-event_news__content">
<span class="i-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="i-event_news__status label status {{status-class}}">{{status}}</span>
<td class="i-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
<td class="i-annc__content">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
</span>
<a class="i-event_news__title" href="{{link_to_show}}">{{title}}</a>
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
</td>
<td class="i-event_news__links">
<td class="i-annc__links">
<ul data-list="event_news_links" data-level="1">
<li>
<a class="i-event_news__title" href="{{link_url}}">{{link_title}}</a>
<a class="i-annc__title" href="{{link_url}}">{{link_title}}</a>
</li>
</ul>
</td>
<td class="i-event_news__files">
<td class="i-annc__files">
<ul data-list="event_news_files" data-level="1">
<li>
<a class="i-event_news__title" href="{{file_url}}">{{file_title}}</a>
<a class="i-annc__title" href="{{file_url}}">{{file_title}}</a>
</li>
</ul>
</td>

View File

@ -1,25 +1,25 @@
<div class="i-event_news index-event_news-1 {{display}}">
<h1 class="i-event_news__page-title">{{page-title}}</h1>
<table class="i-event_news__table table table-striped">
<div class="i-annc index-announcement-1 {{display}}">
<h1 class="i-annc__page-title">{{page-title}}</h1>
<table class="i-annc__table table table-striped">
<thead>
<tr>
<th class="i-event_news__th i-event_news__th--category">{{category-head}}</th>
<th class="i-event_news__th i-event_news__th--title">{{title-head}}</th>
<th class="i-event_news__th i-event_news__th--date">{{date-head}}</th>
<th class="i-event_news__th i-event_news__th--department">{{department-head}}</th>
<th class="i-annc__th i-annc__th--category">{{category-head}}</th>
<th class="i-annc__th i-annc__th--title">{{title-head}}</th>
<th class="i-annc__th i-annc__th--date">{{date-head}}</th>
<th class="i-annc__th i-annc__th--department">{{department-head}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="event_news">
<tr>
<td class="i-event_news__category">{{category}}</td>
<td class="i-event_news__content">
<span class="i-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="i-event_news__status label status {{status-class}}">{{status}}</span>
<td class="i-annc__category">{{category}}</td>
<td class="i-annc__content">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
</span>
<a class="i-event_news__title" href="{{link_to_show}}">{{title}}</a>
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
</td>
<td class="i-event_news__postdate"><span class="i-event_news__postdate-content" date-format="%Y-%m-%d">{{postdate}}</span></td>
<td class="i-event_news__department"><span class="i-event_news__department-content">{{department}}</span></td>
<td class="i-annc__postdate"><span class="i-annc__postdate-content" date-format="%Y-%m-%d">{{postdate}}</span></td>
<td class="i-annc__department"><span class="i-annc__department-content">{{department}}</span></td>
</tr>
</tbody>
</table>

View File

@ -1,27 +1,27 @@
<div class="i-event_news index-event_news-1 {{display}}">
<h1 class="i-event_news__page-title">{{page-title}}</h1>
<table class="i-event_news__table table table-striped">
<div class="i-annc index-announcement-1 {{display}}">
<h1 class="i-annc__page-title">{{page-title}}</h1>
<table class="i-annc__table table table-striped">
<thead>
<tr>
<th class="i-event_news__th i-event_news__th--event_date">{{event_date-head}}</th>
<th class="i-event_news__th i-event_news__th--speaker">{{speaker-head}}</th>
<th class="i-event_news__th i-event_news__th--title">{{title-head}}</th>
<th class="i-event_news__th i-event_news__th--host">{{host-head}}</th>
<th class="i-event_news__th i-event_news__th--notes">{{notes-head}}</th>
<th class="i-annc__th i-annc__th--event_date">{{event_date-head}}</th>
<th class="i-annc__th i-annc__th--speaker">{{speaker-head}}</th>
<th class="i-annc__th i-annc__th--title">{{title-head}}</th>
<th class="i-annc__th i-annc__th--host">{{host-head}}</th>
<th class="i-annc__th i-annc__th--notes">{{notes-head}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="event_news">
<tr>
<td class="i-event_news__postdate"><span class="i-event_news__postdate-content" date-format="%Y-%m-%d">{{postdate}}</span></td>
<td class="i-event_news__speaker">{{speaker}}</td>
<td class="i-event_news__content">
<span class="i-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="i-event_news__status label status {{status-class}}">{{status}}</span>
<td class="i-annc__postdate"><span class="i-annc__postdate-content" date-format="%Y-%m-%d">{{postdate}}</span></td>
<td class="i-annc__speaker">{{speaker}}</td>
<td class="i-annc__content">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
</span>
<a class="i-event_news__title" href="{{link_to_show}}">{{title}}</a>
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
</td>
<td class="i-event_news__host">{{host}}</td>
<td class="i-event_news__notes">{{notes}}</td>
<td class="i-annc__host">{{host}}</td>
<td class="i-annc__notes">{{notes}}</td>
</tr>
</tbody>
</table>

View File

@ -1,25 +1,25 @@
<div class="i-event_news index-event_news-2 {{display}}">
<h1 class="i-event_news__page-title">{{page-title}}</h1>
<table class="i-event_news__table table table-striped">
<div class="i-annc index-announcement-2 {{display}}">
<h1 class="i-annc__page-title">{{page-title}}</h1>
<table class="i-annc__table table table-striped">
<thead>
<tr>
<th class="i-event_news__th i-event_news__th--category">{{category-head}}</th>
<th class="i-event_news__th i-event_news__th--title">{{title-head}}</th>
<th class="i-event_news__th i-event_news__th--date">{{date-head}}</th>
<th class="i-event_news__th i-event_news__th--category">{{view-count-head}}</th>
<th class="i-annc__th i-annc__th--category">{{category-head}}</th>
<th class="i-annc__th i-annc__th--title">{{title-head}}</th>
<th class="i-annc__th i-annc__th--date">{{date-head}}</th>
<th class="i-annc__th i-annc__th--category">{{view-count-head}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="event_news">
<tr>
<td class="i-event_news__category">{{category}}</td>
<td class="i-event_news__content">
<span class="i-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="i-event_news__status label status {{status-class}}">{{status}}</span>
<td class="i-annc__category">{{category}}</td>
<td class="i-annc__content">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
</span>
<a class="i-event_news__title" href="{{link_to_show}}">{{title}}</a>
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
</td>
<td class="i-event_news__postdate"><span class="i-event_news__postdate-content" date-format="%Y-%m-%d">{{postdate}}</span></td>
<td class="i-event_news__view-count">{{view_count}}</td>
<td class="i-annc__postdate"><span class="i-annc__postdate-content" date-format="%Y-%m-%d">{{postdate}}</span></td>
<td class="i-annc__view-count">{{view_count}}</td>
</tr>
</tbody>
</table>

View File

@ -1,23 +1,23 @@
<div class="i-event_news index-event_news-3 {{display}}">
<h1 class="i-event_news__page-title">{{page-title}}</h1>
<table class="i-event_news__table table table-striped">
<div class="i-annc index-announcement-3 {{display}}">
<h1 class="i-annc__page-title">{{page-title}}</h1>
<table class="i-annc__table table table-striped">
<thead>
<tr>
<th class="i-event_news__th i-event_news__th--date">{{date-head}}</th>
<th class="i-event_news__th i-event_news__th--title">{{title-head}}</th>
<th class="i-event_news__th i-event_news__th--category">{{category-head}}</th>
<th class="i-annc__th i-annc__th--date">{{date-head}}</th>
<th class="i-annc__th i-annc__th--title">{{title-head}}</th>
<th class="i-annc__th i-annc__th--category">{{category-head}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="event_news">
<tr>
<td class="i-event_news__postdate"><span class="i-event_news__postdate-content" date-format="%Y-%m-%d">{{postdate}}</span></td>
<td class="i-event_news__content">
<span class="i-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="i-event_news__status label status {{status-class}}">{{status}}</span>
<td class="i-annc__postdate"><span class="i-annc__postdate-content" date-format="%Y-%m-%d">{{postdate}}</span></td>
<td class="i-annc__content">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
</span>
<a class="i-event_news__title" href="{{link_to_show}}">{{title}}</a>
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
</td>
<td class="i-event_news__category">{{category}}</td>
<td class="i-annc__category">{{category}}</td>
</tr>
</tbody>
</table>

View File

@ -1,25 +1,25 @@
<div class="i-event_news index-event_news-4 {{display}}">
<h1 class="i-event_news__page-title">{{page-title}}</h1>
<table class="i-event_news__table table table-striped">
<div class="i-annc index-announcement-4 {{display}}">
<h1 class="i-annc__page-title">{{page-title}}</h1>
<table class="i-annc__table table table-striped">
<thead>
<tr>
<th class="i-event_news__th i-event_news__th--date">{{date-head}}</th>
<th class="i-event_news__th i-event_news__th--title">{{title-head}}</th>
<th class="i-event_news__th i-event_news__th--category">{{category-head}}</th>
<th class="i-event_news__th i-event_news__th--category">{{view-count-head}}</th>
<th class="i-annc__th i-annc__th--date">{{date-head}}</th>
<th class="i-annc__th i-annc__th--title">{{title-head}}</th>
<th class="i-annc__th i-annc__th--category">{{category-head}}</th>
<th class="i-annc__th i-annc__th--category">{{view-count-head}}</th>
</tr>
</thead>
<tbody data-level="0" data-list="event_news">
<tr>
<td class="i-event_news__postdate"><span class="i-event_news__postdate-content" date-format="%Y-%m-%d">{{postdate}}</span></td>
<td class="i-event_news__content">
<span class="i-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="i-event_news__status label status {{status-class}}">{{status}}</span>
<td class="i-annc__postdate"><span class="i-annc__postdate-content" date-format="%Y-%m-%d">{{postdate}}</span></td>
<td class="i-annc__content">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
</span>
<a class="i-event_news__title" href="{{link_to_show}}">{{title}}</a>
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
</td>
<td class="i-event_news__category">{{category}}</td>
<td class="i-event_news__view-count">{{view_count}}</td>
<td class="i-annc__category">{{category}}</td>
<td class="i-annc__view-count">{{view_count}}</td>
</tr>
</tbody>
</table>

View File

@ -1,28 +1,28 @@
<div class="i-event_news index-event_news-5">
<h1 class="i-event_news__page-title">{{page-title}}</h1>
<ul class="i-event_news__list" data-level="0" data-list="event_news">
<li class="i-event_news__item row">
<div class="i-event_news__img-wrap col-sm-4">
<img class="i-event_news__img" src="{{img_src}}" alt="{{img_description}}">
<div class="i-annc index-announcement-5">
<h1 class="i-annc__page-title">{{page-title}}</h1>
<ul class="i-annc__list" data-level="0" data-list="event_news">
<li class="i-annc__item row">
<div class="i-annc__img-wrap col-sm-4">
<img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}">
</div>
<div class="i-event_news__content-wrap col-sm-8">
<div class="i-event_news__meta">
<span class="i-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="i-event_news__status label status {{status-class}}">{{status}}</span>
<div class="i-annc__content-wrap col-sm-8">
<div class="i-annc__meta">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
</span>
<span class="i-event_news__postdate-wrap" date-format="%Y-%m-%d">
<span class="i-annc__postdate-wrap" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="i-event_news__postdate">{{postdate}}</span>
<span class="i-annc__postdate">{{postdate}}</span>
</span>
<span class="i-event_news__category-wrap">
<span class="i-annc__category-wrap">
<i class="fa fa-tasks"></i>
<span class="i-event_news__category">{{category}}</span>
<span class="i-annc__category">{{category}}</span>
</span>
</div>
<h4 class="i-event_news__entry-title">
<a class="i-event_news__title" href="{{link_to_show}}">{{title}}</a>
<h4 class="i-annc__entry-title">
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
</h4>
<p class="i-event_news__subtitle">{{subtitle}}</p>
<p class="i-annc__subtitle">{{subtitle}}</p>
</div>
</li>
</ul>

View File

@ -1,28 +1,28 @@
<div class="i-event_news index-event_news-6">
<h1 class="i-event_news__page-title">{{page-title}}</h1>
<ul class="i-event_news__list" data-level="0" data-list="event_news">
<li class="i-event_news__item row">
<div class="i-event_news__content-wrap col-sm-8">
<div class="i-event_news__meta">
<span class="i-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="i-event_news__status label status {{status-class}}">{{status}}</span>
<div class="i-annc index-announcement-6">
<h1 class="i-annc__page-title">{{page-title}}</h1>
<ul class="i-annc__list" data-level="0" data-list="event_news">
<li class="i-annc__item row">
<div class="i-annc__content-wrap col-sm-8">
<div class="i-annc__meta">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
</span>
<span class="i-event_news__postdate-wrap" date-format="%Y-%m-%d">
<span class="i-annc__postdate-wrap" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="i-event_news__postdate">{{postdate}}</span>
<span class="i-annc__postdate">{{postdate}}</span>
</span>
<span class="i-event_news__category-wrap">
<span class="i-annc__category-wrap">
<i class="fa fa-tasks"></i>
<span class="i-event_news__category">{{category}}</span>
<span class="i-annc__category">{{category}}</span>
</span>
</div>
<h4 class="i-event_news__entry-title">
<a class="i-event_news__title" href="{{link_to_show}}">{{title}}</a>
<h4 class="i-annc__entry-title">
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
</h4>
<p class="i-event_news__subtitle">{{subtitle}}</p>
<p class="i-annc__subtitle">{{subtitle}}</p>
</div>
<div class="i-event_news__img-wrap col-sm-4">
<img class="i-event_news__img" src="{{img_src}}" alt="{{img_description}}">
<div class="i-annc__img-wrap col-sm-4">
<img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}">
</div>
</li>
</ul>

View File

@ -1,60 +1,60 @@
<div class="i-event_news index-event_news-7">
<h3 class="i-event_news__page-title">{{page-title}}</h3>
<ul class="i-event_news__list row" data-level="0" data-list="event_news">
<li class="i-event_news__item col-md-4">
<div class="i-event_news__img-wrap bullseye">
<img class="i-event_news__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
<div class="i-annc index-announcement-7">
<h3 class="i-annc__page-title">{{page-title}}</h3>
<ul class="i-annc__list row" data-level="0" data-list="event_news">
<li class="i-annc__item col-md-4">
<div class="i-annc__img-wrap bullseye">
<img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</div>
<div class="i-event_news__content-wrap">
<div class="i-event_news__meta">
<span class="i-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="i-event_news__status label {{status-class}}">{{status}}</span>
<div class="i-annc__content-wrap">
<div class="i-annc__meta">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
<span class="i-annc__status label {{status-class}}">{{status}}</span>
</span>
<span class="i-event_news__postdate-wrap" date-format="%Y-%m-%d">
<span class="i-annc__postdate-wrap" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="i-event_news__postdate">{{postdate}}</span>
<span class="i-annc__postdate">{{postdate}}</span>
</span>
<span class="i-event_news__category-wrap">
<span class="i-annc__category-wrap">
<i class="fa fa-tasks"></i>
<span class="i-event_news__category">{{category}}</span>
<span class="i-annc__category">{{category}}</span>
</span>
</div>
<h4 class="i-event_news__entry-title">
<a class="i-event_news__title" href="{{link_to_show}}">{{title}}</a>
<h4 class="i-annc__entry-title">
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
</h4>
<p class="i-event_news__subtitle">{{subtitle}}</p>
<p class="i-annc__subtitle">{{subtitle}}</p>
</div>
</li>
</ul>
</div>
{{pagination_goes_here}}
<script>
var lilength = $('.i-event_news.index-event_news-7 li.i-event_news__item').length;
var lilength = $('.i-annc.index-announcement-7 li.i-annc__item').length;
function combineul(){
for(var i=1;i<$('.i-event_news.index-event_news-7 ul.i-event_news__list').length;i++)
$('.i-event_news.index-event_news-7 ul.i-event_news__list').eq(0).find('>li').eq(-1).after($('.i-event_news.index-event_news-7 ul.i-event_news__list').eq(i).html());
var ullength = $('.i-event_news.index-event_news-7 ul.i-event_news__list').length;
for(var i=1;i<$('.i-annc.index-announcement-7 ul.i-annc__list').length;i++)
$('.i-annc.index-announcement-7 ul.i-annc__list').eq(0).find('>li').eq(-1).after($('.i-annc.index-announcement-7 ul.i-annc__list').eq(i).html());
var ullength = $('.i-annc.index-announcement-7 ul.i-annc__list').length;
for(var i = 1;i < ullength;i++)
$('.i-event_news.index-event_news-7 ul.i-event_news__list').eq(-1).remove();
$('.i-annc.index-announcement-7 ul.i-annc__list').eq(-1).remove();
};
function reorganize(num){
combineul();
for(var i=1;i< Math.ceil(lilength/num);i++){
$('.i-event_news.index-event_news-7 ul.i-event_news__list').eq(-1).after('<ul class="i-event_news__list row" data-level="0" data-list="event_news"></ul>')
$('.i-annc.index-announcement-7 ul.i-annc__list').eq(-1).after('<ul class="i-annc__list row" data-level="0" data-list="event_news"></ul>')
var lihtml="";
if(i != (Math.ceil(lilength/num)-1)){
for(var j=0;j<num;j++)
lihtml += "<li class='i-event_news__item col-md-4'>"+$('.i-event_news.index-event_news-7 li.i-event_news__item').eq(i*num+j).html()+"</li>"
lihtml += "<li class='i-annc__item col-md-4'>"+$('.i-annc.index-announcement-7 li.i-annc__item').eq(i*num+j).html()+"</li>"
}else{
for(var j=0;j< lilength - num *(Math.ceil(lilength/num)-1) ;j++)
lihtml += "<li class='i-event_news__item col-md-4'>"+$('.i-event_news.index-event_news-7 li.i-event_news__item').eq(i*num+j).html()+"</li>"
lihtml += "<li class='i-annc__item col-md-4'>"+$('.i-annc.index-announcement-7 li.i-annc__item').eq(i*num+j).html()+"</li>"
};
$('.i-event_news.index-event_news-7 ul.i-event_news__list').eq(-1).html(lihtml);
$('.i-annc.index-announcement-7 ul.i-annc__list').eq(-1).html(lihtml);
};
if(Math.ceil(lilength/num) != 1 )
for(var i=0;i< lilength -num ; i++ )
$('.i-event_news.index-event_news-7 ul.i-event_news__list').eq(0).find("li.i-event_news__item").eq(num).remove();
$('.i-event_news.index-event_news-7 ul.i-event_news__list >li').css('width','calc('+100/num+'% - '+20/16+'em)'); //20px=>li的margin
$('.i-annc.index-announcement-7 ul.i-annc__list').eq(0).find("li.i-annc__item").eq(num).remove();
$('.i-annc.index-announcement-7 ul.i-annc__list >li').css('width','calc('+100/num+'% - '+20/16+'em)'); //20px=>li的margin
};
$(document).ready(function(){
if($(window).width()>1024){

View File

@ -1,25 +1,25 @@
<div class="i-event_news index-event_news-8">
<h1 class="i-event_news__page-title">{{page-title}}</h1>
<ul class="i-event_news__list row" data-level="0" data-list="event_news">
<li class="i-event_news__item">
<div class="i-event_news__content-wrap">
<div class="i-event_news__meta">
<span class="i-event_news__postdate-wrap" date-format="%Y-%m-%d">
<div class="i-annc index-announcement-8">
<h1 class="i-annc__page-title">{{page-title}}</h1>
<ul class="i-annc__list row" data-level="0" data-list="event_news">
<li class="i-annc__item">
<div class="i-annc__content-wrap">
<div class="i-annc__meta">
<span class="i-annc__postdate-wrap" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="i-event_news__postdate">{{postdate}}</span>
<span class="i-annc__postdate">{{postdate}}</span>
</span>
<span class="i-event_news__category-wrap">
<span class="i-annc__category-wrap">
<i class="fa fa-tasks"></i>
<span class="i-event_news__category">{{category}}</span>
<span class="i-annc__category">{{category}}</span>
</span>
<span class="i-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="i-event_news__status label status {{status-class}}">{{status}}</span>
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
</span>
</div>
<h4 class="i-event_news__entry-title">
<a class="i-event_news__title" href="{{link_to_show}}">{{title}}</a>
<h4 class="i-annc__entry-title">
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
</h4>
<p class="i-event_news__subtitle">{{subtitle}}</p>
<p class="i-annc__subtitle">{{subtitle}}</p>
</div>
</li>
</div>

View File

@ -1,20 +1,20 @@
<div class="i-event_news index-event_news-9">
<h1 class="i-event_news__page-title">{{page-title}}</h1>
<ul class="i-event_news__list" data-level="0" data-list="event_news">
<li class="i-event_news__item row">
<span class="i-event_news__category-wrap col-sm-2">
<div class="i-annc index-announcement-9">
<h1 class="i-annc__page-title">{{page-title}}</h1>
<ul class="i-annc__list" data-level="0" data-list="event_news">
<li class="i-annc__item row">
<span class="i-annc__category-wrap col-sm-2">
<i class="fa fa-tasks"></i>
<span class="i-event_news__category">{{category}}</span>
<span class="i-annc__category">{{category}}</span>
</span>
<h4 class="i-event_news__entry-title col-sm-8">
<span class="i-event_news__status-wrap" data-list="statuses" data-level="1">
<span class="i-event_news__status label status {{status-class}}">{{status}}</span>
<h4 class="i-annc__entry-title col-sm-8">
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
<span class="i-annc__status label status {{status-class}}">{{status}}</span>
</span>
<a class="i-event_news__title" href="{{link_to_show}}">{{title}}</a>
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
</h4>
<span class="i-event_news__postdate-wrap col-sm-2" date-format="%Y-%m-%d">
<span class="i-annc__postdate-wrap col-sm-2" date-format="%Y-%m-%d">
<i class="fa fa-calendar-o"></i>
<span class="i-event_news__postdate">{{postdate}}</span>
<span class="i-annc__postdate">{{postdate}}</span>
</span>
</li>
</ul>

View File

@ -1,22 +1,22 @@
<article class="s-event_news show-event_news">
<h1 class="s-event_news__show-title">{{title}}</h1>
<article class="s-annc show-annc">
<h1 class="s-annc__show-title">{{title}}</h1>
<ul class="s-event_news__meta-wrap list-unstyled no-print">
<li class="s-event_news__date-wrap s-event_news__meta--item">
<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-event_news__date" date-format="%Y-%m-%d">{{updated_at}}</span>
<span class="s-annc__date" date-format="%Y-%m-%d">{{updated_at}}</span>
</li>
<li class="s-event_news__author-wrap s-event_news__meta--item">
<li class="s-annc__author-wrap s-annc__meta--item">
<i class="fa fa-male"></i>
<span class="s-event_news__author">{{update_user}}</span>
<span class="s-annc__author">{{update_user}}</span>
</li>
<li class="s-event_news__tag-wrap s-event_news__meta--item ">
<li class="s-annc__tag-wrap s-annc__meta--item ">
<i class="fa fa-tags"></i>
<span data-list="tags" data-level="0">
<a href="{{url}}"><span class="s-event_news__tag label label-default">{{tag}}</span></a>
<a href="{{url}}"><span class="s-annc__tag label label-default">{{tag}}</span></a>
</span>
</li>
<li class="s-event_news__extra_info-wrap s-event_news__meta--item ">
<li class="s-annc__extra_info-wrap s-annc__meta--item ">
<span>{{speaker-head}}:</span>
<span>{{speaker}}</span>
<span>&nbsp;/&nbsp;<span>
@ -25,30 +25,30 @@
</li>
</ul>
<section class="s-event_news__post-wrap">
<div class="s-event_news__sub-img pull-left">
<section class="s-annc__post-wrap">
<div class="s-annc__sub-img pull-left {{hide_class}}">
<img src="{{img_src}}"></img>
<span class="s-event_news__img_description">{{img_description}}</span>
<span class="s-annc__img_description">{{img_description}}</span>
</div>
<div class="s-event_news__subtitle">{{subtitle_ann}}</div>
<p class="s-event_news__post-body">{{body}}</p>
<div class="s-annc__subtitle">{{subtitle_ann}}</div>
<p class="s-annc__post-body">{{body}}</p>
</section>
<hr>
<section class="s-event_news__post-wrap">
<p class="s-event_news__post-notes">{{notes}}</p>
<section class="s-annc__post-wrap">
<p class="s-annc__post-notes">{{notes}}</p>
</section>
<ul class="s-event_news__related-wrap list-unstyled no-print">
<li class="s-event_news__related-file">
<ul class="s-annc__related-wrap list-unstyled no-print">
<li class="s-annc__related-file">
<i class="fa fa-fw fa-paperclip"></i>
<div class="s-event_news__related-file-list" data-list="event_news_files" data-level="0">
<a class="s-event_news__flie-title btn btn-default btn-sm" href="{{file_url}}">{{file_title}}</a>
<div class="s-annc__related-file-list" data-list="event_news_files" data-level="0">
<a class="s-annc__flie-title btn btn-default btn-sm" href="{{file_url}}">{{file_title}}</a>
</div>
</li>
<li class="s-event_news__related-link">
<li class="s-annc__related-link">
<i class="fa fa-fw fa-link"></i>
<div class="s-event_news__related-link-list" data-list="event_news_links" data-level="0">
<a class="s-event_news__link-title btn btn-default btn-sm" href="{{link_url}}" target="_blank">{{link_title}}</a>
<div class="s-annc__related-link-list" data-list="event_news_links" data-level="0">
<a class="s-annc__link-title btn btn-default btn-sm" href="{{link_url}}" target="_blank">{{link_title}}</a>
</div>
</li>
</ul>
@ -68,13 +68,13 @@
// Hiding parent element when children elements are not present
// Tags
hideEmptyEl($('.s-event_news__tag'), $('.s-event_news__tag-wrap'));
hideEmptyEl($('.s-annc__tag'), $('.s-annc__tag-wrap'));
// Attachments
hideEmptyEl($('.s-event_news__flie-title'), $('.s-event_news__related-file'));
hideEmptyEl($('.s-annc__flie-title'), $('.s-annc__related-file'));
// Links
hideEmptyEl($('.s-event_news__link-title'), $('.s-event_news__related-link'));
hideEmptyEl($('.s-annc__link-title'), $('.s-annc__related-link'));
}(jQuery));
</script>