Merge branch 'master' of gitlab.tp.rulingcom.com:saurabh/orbit4-5 into gravity
After Width: | Height: | Size: 2.1 KiB |
|
@ -0,0 +1,53 @@
|
|||
(function() {
|
||||
"use strict";
|
||||
|
||||
// Commonly use variables
|
||||
var doc = document;
|
||||
|
||||
var group = {
|
||||
// Detect and change the top position of the cycle navs
|
||||
cycleFix: function() {
|
||||
if( doc.querySelectorAll( ".group-post-banner-image").length >= 1 ) {
|
||||
var imgs = doc.querySelectorAll( ".group-post-banner-image" ),
|
||||
cycleNav = doc.querySelectorAll( ".cycle-nav" ),
|
||||
len = cycleNav.length,
|
||||
i = -1;
|
||||
|
||||
// Hide the navs when there's noly one slide
|
||||
if( imgs.length <= 1 ) {
|
||||
for( i = 0; i < len; i++ ) {
|
||||
cycleNav[ i ].classList.add( "hide" );
|
||||
}
|
||||
}
|
||||
|
||||
} else if ( doc.querySelectorAll( ".group-post-banner-image").length === 0 && doc.querySelector( ".group-post-image-wrap" ) ) {
|
||||
doc.querySelector( ".group-post-image-wrap").classList.add( "hide" );
|
||||
}
|
||||
},
|
||||
// Create scroll effect (with css)
|
||||
scrollEffect: function() {
|
||||
if( doc.querySelector( ".group-page") ) {
|
||||
var page = doc.querySelector( ".group-page" ),
|
||||
wrap = doc.querySelector( ".group-page-banner-image-wrap" ),
|
||||
scrollClass = "scroll";
|
||||
|
||||
// Use pageYOffset to get the Y positoin and add scroll on it, the animation
|
||||
// is done by css transition
|
||||
window.addEventListener( "scroll", function() {
|
||||
if( window.pageYOffset !== 0 ) {
|
||||
page.classList.add( scrollClass );
|
||||
} else {
|
||||
page.classList.remove( scrollClass );
|
||||
}
|
||||
}, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// When DOM is completely loaded, execute these functions
|
||||
document.addEventListener( "DOMContentLoaded", function( event ) {
|
||||
group.cycleFix();
|
||||
group.scrollEffect();
|
||||
});
|
||||
|
||||
})();
|
|
@ -0,0 +1,388 @@
|
|||
/*
|
||||
* The MIT License
|
||||
* Copyright (c) 2012 Matias Meno <m@tias.me>
|
||||
*/
|
||||
@-webkit-keyframes passing-through {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: translateY(40px);
|
||||
-moz-transform: translateY(40px);
|
||||
-ms-transform: translateY(40px);
|
||||
-o-transform: translateY(40px);
|
||||
transform: translateY(40px); }
|
||||
30%, 70% {
|
||||
opacity: 1;
|
||||
-webkit-transform: translateY(0px);
|
||||
-moz-transform: translateY(0px);
|
||||
-ms-transform: translateY(0px);
|
||||
-o-transform: translateY(0px);
|
||||
transform: translateY(0px); }
|
||||
100% {
|
||||
opacity: 0;
|
||||
-webkit-transform: translateY(-40px);
|
||||
-moz-transform: translateY(-40px);
|
||||
-ms-transform: translateY(-40px);
|
||||
-o-transform: translateY(-40px);
|
||||
transform: translateY(-40px); } }
|
||||
@-moz-keyframes passing-through {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: translateY(40px);
|
||||
-moz-transform: translateY(40px);
|
||||
-ms-transform: translateY(40px);
|
||||
-o-transform: translateY(40px);
|
||||
transform: translateY(40px); }
|
||||
30%, 70% {
|
||||
opacity: 1;
|
||||
-webkit-transform: translateY(0px);
|
||||
-moz-transform: translateY(0px);
|
||||
-ms-transform: translateY(0px);
|
||||
-o-transform: translateY(0px);
|
||||
transform: translateY(0px); }
|
||||
100% {
|
||||
opacity: 0;
|
||||
-webkit-transform: translateY(-40px);
|
||||
-moz-transform: translateY(-40px);
|
||||
-ms-transform: translateY(-40px);
|
||||
-o-transform: translateY(-40px);
|
||||
transform: translateY(-40px); } }
|
||||
@keyframes passing-through {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: translateY(40px);
|
||||
-moz-transform: translateY(40px);
|
||||
-ms-transform: translateY(40px);
|
||||
-o-transform: translateY(40px);
|
||||
transform: translateY(40px); }
|
||||
30%, 70% {
|
||||
opacity: 1;
|
||||
-webkit-transform: translateY(0px);
|
||||
-moz-transform: translateY(0px);
|
||||
-ms-transform: translateY(0px);
|
||||
-o-transform: translateY(0px);
|
||||
transform: translateY(0px); }
|
||||
100% {
|
||||
opacity: 0;
|
||||
-webkit-transform: translateY(-40px);
|
||||
-moz-transform: translateY(-40px);
|
||||
-ms-transform: translateY(-40px);
|
||||
-o-transform: translateY(-40px);
|
||||
transform: translateY(-40px); } }
|
||||
@-webkit-keyframes slide-in {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: translateY(40px);
|
||||
-moz-transform: translateY(40px);
|
||||
-ms-transform: translateY(40px);
|
||||
-o-transform: translateY(40px);
|
||||
transform: translateY(40px); }
|
||||
30% {
|
||||
opacity: 1;
|
||||
-webkit-transform: translateY(0px);
|
||||
-moz-transform: translateY(0px);
|
||||
-ms-transform: translateY(0px);
|
||||
-o-transform: translateY(0px);
|
||||
transform: translateY(0px); } }
|
||||
@-moz-keyframes slide-in {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: translateY(40px);
|
||||
-moz-transform: translateY(40px);
|
||||
-ms-transform: translateY(40px);
|
||||
-o-transform: translateY(40px);
|
||||
transform: translateY(40px); }
|
||||
30% {
|
||||
opacity: 1;
|
||||
-webkit-transform: translateY(0px);
|
||||
-moz-transform: translateY(0px);
|
||||
-ms-transform: translateY(0px);
|
||||
-o-transform: translateY(0px);
|
||||
transform: translateY(0px); } }
|
||||
@keyframes slide-in {
|
||||
0% {
|
||||
opacity: 0;
|
||||
-webkit-transform: translateY(40px);
|
||||
-moz-transform: translateY(40px);
|
||||
-ms-transform: translateY(40px);
|
||||
-o-transform: translateY(40px);
|
||||
transform: translateY(40px); }
|
||||
30% {
|
||||
opacity: 1;
|
||||
-webkit-transform: translateY(0px);
|
||||
-moz-transform: translateY(0px);
|
||||
-ms-transform: translateY(0px);
|
||||
-o-transform: translateY(0px);
|
||||
transform: translateY(0px); } }
|
||||
@-webkit-keyframes pulse {
|
||||
0% {
|
||||
-webkit-transform: scale(1);
|
||||
-moz-transform: scale(1);
|
||||
-ms-transform: scale(1);
|
||||
-o-transform: scale(1);
|
||||
transform: scale(1); }
|
||||
10% {
|
||||
-webkit-transform: scale(1.1);
|
||||
-moz-transform: scale(1.1);
|
||||
-ms-transform: scale(1.1);
|
||||
-o-transform: scale(1.1);
|
||||
transform: scale(1.1); }
|
||||
20% {
|
||||
-webkit-transform: scale(1);
|
||||
-moz-transform: scale(1);
|
||||
-ms-transform: scale(1);
|
||||
-o-transform: scale(1);
|
||||
transform: scale(1); } }
|
||||
@-moz-keyframes pulse {
|
||||
0% {
|
||||
-webkit-transform: scale(1);
|
||||
-moz-transform: scale(1);
|
||||
-ms-transform: scale(1);
|
||||
-o-transform: scale(1);
|
||||
transform: scale(1); }
|
||||
10% {
|
||||
-webkit-transform: scale(1.1);
|
||||
-moz-transform: scale(1.1);
|
||||
-ms-transform: scale(1.1);
|
||||
-o-transform: scale(1.1);
|
||||
transform: scale(1.1); }
|
||||
20% {
|
||||
-webkit-transform: scale(1);
|
||||
-moz-transform: scale(1);
|
||||
-ms-transform: scale(1);
|
||||
-o-transform: scale(1);
|
||||
transform: scale(1); } }
|
||||
@keyframes pulse {
|
||||
0% {
|
||||
-webkit-transform: scale(1);
|
||||
-moz-transform: scale(1);
|
||||
-ms-transform: scale(1);
|
||||
-o-transform: scale(1);
|
||||
transform: scale(1); }
|
||||
10% {
|
||||
-webkit-transform: scale(1.1);
|
||||
-moz-transform: scale(1.1);
|
||||
-ms-transform: scale(1.1);
|
||||
-o-transform: scale(1.1);
|
||||
transform: scale(1.1); }
|
||||
20% {
|
||||
-webkit-transform: scale(1);
|
||||
-moz-transform: scale(1);
|
||||
-ms-transform: scale(1);
|
||||
-o-transform: scale(1);
|
||||
transform: scale(1); } }
|
||||
.dropzone, .dropzone * {
|
||||
box-sizing: border-box; }
|
||||
|
||||
.dropzone {
|
||||
min-height: 150px;
|
||||
border: 2px solid rgba(0, 0, 0, 0.3);
|
||||
background: white;
|
||||
padding: 20px 20px; }
|
||||
.dropzone.dz-clickable {
|
||||
cursor: pointer; }
|
||||
.dropzone.dz-clickable * {
|
||||
cursor: default; }
|
||||
.dropzone.dz-clickable .dz-message, .dropzone.dz-clickable .dz-message * {
|
||||
cursor: pointer; }
|
||||
.dropzone.dz-started .dz-message {
|
||||
display: none; }
|
||||
.dropzone.dz-drag-hover {
|
||||
border-style: solid; }
|
||||
.dropzone.dz-drag-hover .dz-message {
|
||||
opacity: 0.5; }
|
||||
.dropzone .dz-message {
|
||||
text-align: center;
|
||||
margin: 2em 0; }
|
||||
.dropzone .dz-preview {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
margin: 16px;
|
||||
min-height: 100px; }
|
||||
.dropzone .dz-preview:hover {
|
||||
z-index: 1000; }
|
||||
.dropzone .dz-preview:hover .dz-details {
|
||||
opacity: 1; }
|
||||
.dropzone .dz-preview.dz-file-preview .dz-image {
|
||||
border-radius: 20px;
|
||||
background: #999;
|
||||
background: linear-gradient(to bottom, #eee, #ddd); }
|
||||
.dropzone .dz-preview.dz-file-preview .dz-details {
|
||||
opacity: 1; }
|
||||
.dropzone .dz-preview.dz-image-preview {
|
||||
background: white; }
|
||||
.dropzone .dz-preview.dz-image-preview .dz-details {
|
||||
-webkit-transition: opacity 0.2s linear;
|
||||
-moz-transition: opacity 0.2s linear;
|
||||
-ms-transition: opacity 0.2s linear;
|
||||
-o-transition: opacity 0.2s linear;
|
||||
transition: opacity 0.2s linear; }
|
||||
.dropzone .dz-preview .dz-remove {
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
border: none; }
|
||||
.dropzone .dz-preview .dz-remove:hover {
|
||||
text-decoration: underline; }
|
||||
.dropzone .dz-preview:hover .dz-details {
|
||||
opacity: 1; }
|
||||
.dropzone .dz-preview .dz-details {
|
||||
z-index: 20;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
opacity: 0;
|
||||
font-size: 13px;
|
||||
min-width: 100%;
|
||||
max-width: 100%;
|
||||
padding: 2em 1em;
|
||||
text-align: center;
|
||||
color: rgba(0, 0, 0, 0.9);
|
||||
line-height: 150%; }
|
||||
.dropzone .dz-preview .dz-details .dz-size {
|
||||
margin-bottom: 1em;
|
||||
font-size: 16px; }
|
||||
.dropzone .dz-preview .dz-details .dz-filename {
|
||||
white-space: nowrap; }
|
||||
.dropzone .dz-preview .dz-details .dz-filename:hover span {
|
||||
border: 1px solid rgba(200, 200, 200, 0.8);
|
||||
background-color: rgba(255, 255, 255, 0.8); }
|
||||
.dropzone .dz-preview .dz-details .dz-filename:not(:hover) {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis; }
|
||||
.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span {
|
||||
border: 1px solid transparent; }
|
||||
.dropzone .dz-preview .dz-details .dz-filename span, .dropzone .dz-preview .dz-details .dz-size span {
|
||||
background-color: rgba(255, 255, 255, 0.4);
|
||||
padding: 0 0.4em;
|
||||
border-radius: 3px; }
|
||||
.dropzone .dz-preview:hover .dz-image img {
|
||||
-webkit-transform: scale(1.05, 1.05);
|
||||
-moz-transform: scale(1.05, 1.05);
|
||||
-ms-transform: scale(1.05, 1.05);
|
||||
-o-transform: scale(1.05, 1.05);
|
||||
transform: scale(1.05, 1.05);
|
||||
-webkit-filter: blur(8px);
|
||||
filter: blur(8px); }
|
||||
.dropzone .dz-preview .dz-image {
|
||||
border-radius: 20px;
|
||||
overflow: hidden;
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
position: relative;
|
||||
display: block;
|
||||
z-index: 10; }
|
||||
.dropzone .dz-preview .dz-image img {
|
||||
display: block; }
|
||||
.dropzone .dz-preview.dz-success .dz-success-mark {
|
||||
-webkit-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
|
||||
-moz-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
|
||||
-ms-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
|
||||
-o-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
|
||||
animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1); }
|
||||
.dropzone .dz-preview.dz-error .dz-error-mark {
|
||||
opacity: 1;
|
||||
-webkit-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
|
||||
-moz-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
|
||||
-ms-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
|
||||
-o-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
|
||||
animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1); }
|
||||
.dropzone .dz-preview .dz-success-mark, .dropzone .dz-preview .dz-error-mark {
|
||||
pointer-events: none;
|
||||
opacity: 0;
|
||||
z-index: 500;
|
||||
position: absolute;
|
||||
display: block;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-left: -27px;
|
||||
margin-top: -27px; }
|
||||
.dropzone .dz-preview .dz-success-mark svg, .dropzone .dz-preview .dz-error-mark svg {
|
||||
display: block;
|
||||
width: 54px;
|
||||
height: 54px; }
|
||||
.dropzone .dz-preview.dz-processing .dz-progress {
|
||||
opacity: 1;
|
||||
-webkit-transition: all 0.2s linear;
|
||||
-moz-transition: all 0.2s linear;
|
||||
-ms-transition: all 0.2s linear;
|
||||
-o-transition: all 0.2s linear;
|
||||
transition: all 0.2s linear; }
|
||||
.dropzone .dz-preview.dz-complete .dz-progress {
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 0.4s ease-in;
|
||||
-moz-transition: opacity 0.4s ease-in;
|
||||
-ms-transition: opacity 0.4s ease-in;
|
||||
-o-transition: opacity 0.4s ease-in;
|
||||
transition: opacity 0.4s ease-in; }
|
||||
.dropzone .dz-preview:not(.dz-processing) .dz-progress {
|
||||
-webkit-animation: pulse 6s ease infinite;
|
||||
-moz-animation: pulse 6s ease infinite;
|
||||
-ms-animation: pulse 6s ease infinite;
|
||||
-o-animation: pulse 6s ease infinite;
|
||||
animation: pulse 6s ease infinite; }
|
||||
.dropzone .dz-preview .dz-progress {
|
||||
opacity: 1;
|
||||
z-index: 1000;
|
||||
pointer-events: none;
|
||||
position: absolute;
|
||||
height: 16px;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
margin-top: -8px;
|
||||
width: 80px;
|
||||
margin-left: -40px;
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
-webkit-transform: scale(1);
|
||||
border-radius: 8px;
|
||||
overflow: hidden; }
|
||||
.dropzone .dz-preview .dz-progress .dz-upload {
|
||||
background: #333;
|
||||
background: linear-gradient(to bottom, #666, #444);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 0;
|
||||
-webkit-transition: width 300ms ease-in-out;
|
||||
-moz-transition: width 300ms ease-in-out;
|
||||
-ms-transition: width 300ms ease-in-out;
|
||||
-o-transition: width 300ms ease-in-out;
|
||||
transition: width 300ms ease-in-out; }
|
||||
.dropzone .dz-preview.dz-error .dz-error-message {
|
||||
display: block; }
|
||||
.dropzone .dz-preview.dz-error:hover .dz-error-message {
|
||||
opacity: 1;
|
||||
pointer-events: auto; }
|
||||
.dropzone .dz-preview .dz-error-message {
|
||||
pointer-events: none;
|
||||
z-index: 1000;
|
||||
position: absolute;
|
||||
display: block;
|
||||
display: none;
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 0.3s ease;
|
||||
-moz-transition: opacity 0.3s ease;
|
||||
-ms-transition: opacity 0.3s ease;
|
||||
-o-transition: opacity 0.3s ease;
|
||||
transition: opacity 0.3s ease;
|
||||
border-radius: 8px;
|
||||
font-size: 13px;
|
||||
top: 130px;
|
||||
left: -10px;
|
||||
width: 140px;
|
||||
background: #be2626;
|
||||
background: linear-gradient(to bottom, #be2626, #a92222);
|
||||
padding: 0.5em 1.2em;
|
||||
color: white; }
|
||||
.dropzone .dz-preview .dz-error-message:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: -6px;
|
||||
left: 64px;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-left: 6px solid transparent;
|
||||
border-right: 6px solid transparent;
|
||||
border-bottom: 6px solid #be2626; }
|
|
@ -0,0 +1,2 @@
|
|||
/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20141007 */
|
||||
!function(a){"use strict";function b(){try{this.playVideo()}catch(a){}}function c(){try{this.pauseVideo()}catch(a){}}var d='<div class=cycle-youtube><iframe width="640" height="360" frameborder="0" allowfullscreen="" data-yt-api-binded="0" src="{{url}}"></iframe></div>';a.extend(a.fn.cycle.defaults,{youtubeAllowFullScreen:!0,youtubeAutostart:!1,youtubeAutostop:!0}),a(document).on("cycle-bootstrap",function(e,f){f.youtube&&(f.hideNonActive=!1,f.container.find(f.slides).each(function(b){if(void 0!==a(this).attr("href")){var c,e=a(this),g=e.attr("href"),h=f.youtubeAllowFullScreen?"true":"false";g+=(/\?/.test(g)?"&":"?")+"enablejsapi=1",f.youtubeAutostart&&f.startingSlide===b&&(g+="&autoplay=1"),c=f.API.tmpl(d,{url:g,allowFullScreen:h}),e.replaceWith(c)}}),f.slides=f.slides.replace(/(\b>?a\b)/,"div.cycle-youtube"),f.youtubeAutostart&&f.container.on("cycle-initialized cycle-after",function(c,d){var e="cycle-initialized"==c.type?d.currSlide:d.nextSlide;a(d.slides[e]).find("object,embed").each(b)}),f.youtubeAutostop&&f.container.on("cycle-before",function(b,d){a(d.slides[d.currSlide]).find("object,embed").each(c)}))})}(jQuery);
|
|
@ -14,3 +14,8 @@
|
|||
*= require lib/filter
|
||||
*= require lib/pageslide
|
||||
*/
|
||||
|
||||
/* Hide ckeditor text, it's breaking the layout but we need to keep them for future use */
|
||||
.ui-helper-hidden-accessible {
|
||||
display: none;
|
||||
}
|
||||
|
|
|
@ -318,6 +318,12 @@
|
|||
}
|
||||
}
|
||||
|
||||
@media (max-width: 540px) {
|
||||
#orbit-bar .orbit-bar-search-sign-language #search input[type="search"] {
|
||||
width: 130px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 430px) {
|
||||
#orbit-bar #search{
|
||||
display: none;
|
||||
|
|
|
@ -0,0 +1,107 @@
|
|||
@charset "utf-8";
|
||||
|
||||
@import url(http://fonts.googleapis.com/css?family=Maven+Pro);
|
||||
|
||||
@import url(http://fonts.googleapis.com/css?family=Roboto);
|
||||
|
||||
// Font stacks
|
||||
$main-font: "Maven Pro", "微軟正黑體" sans-serif;
|
||||
$paragraph-font: "Roboto", "微軟正黑體", sans-serif;
|
||||
$gray: #f3f3f3;
|
||||
$dark-gray: #aaaaaa;
|
||||
$light-gray: #cdcdcd;
|
||||
$white: white;
|
||||
$light-black: #353535;
|
||||
$black: black;
|
||||
$green: #4ad976;
|
||||
$blue: #4171d5;
|
||||
$red: #c71932;
|
||||
$blue-green: #00acee;
|
||||
$group-page-bar-color: #171717;
|
||||
|
||||
// Transition units
|
||||
$fast: 0.3s;
|
||||
$normal: 0.6s;
|
||||
$slow: 1s;
|
||||
|
||||
// Border radius units
|
||||
$general: 0.25rem;
|
||||
|
||||
// General style
|
||||
body {
|
||||
background: $gray;
|
||||
font-family: $main-font;
|
||||
}
|
||||
|
||||
// Override and resolve the conflict with main-form.css for that I need RWD support for this page
|
||||
.main-forms fieldset .input-area .controls textarea {
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
// Override select2 styles, I need this evil power
|
||||
#main-wrap {
|
||||
.select2-container-multi {
|
||||
margin-right: 0.9375rem;
|
||||
min-width: 200px;
|
||||
.select2-choices {
|
||||
padding: 8px 0.5rem 6px;
|
||||
border-radius: $general;
|
||||
}
|
||||
.select2-search-choice {
|
||||
padding: 10px 1.75rem 10px 0.7rem;
|
||||
border-color: lighten($light-gray, 5%);
|
||||
background: $white;
|
||||
> div {
|
||||
&:before {
|
||||
content: "\F007";
|
||||
font-family: FontAwesome;
|
||||
display: inline-block;
|
||||
font-size: 0.9375rem;
|
||||
color: $blue;
|
||||
margin: 0 0.5rem 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.select2-search-choice-close {
|
||||
right: 15px;
|
||||
left: auto;
|
||||
&:before {
|
||||
content: "\f057";
|
||||
font-family: FontAwesome;
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
left: 6px;
|
||||
top: 6px;
|
||||
font-size: 0.9375rem;
|
||||
color: $dark-gray;
|
||||
}
|
||||
&:hover {
|
||||
&:before {
|
||||
color: $red;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.wrap-inner {
|
||||
.upload-status-notice {
|
||||
position: fixed;
|
||||
right: 1rem;
|
||||
top: 4rem;
|
||||
color: $white;
|
||||
padding: 16px 1.375rem;
|
||||
background-color: $blue;
|
||||
border-radius: $general;
|
||||
font-size: 0.8125rem;
|
||||
box-shadow: 0px 0px 16px 3px rgba(0, 0, 0, 0.2);
|
||||
-webkit-animation-duration: .3s;
|
||||
animation-duration: .3s;
|
||||
z-index: 3000;
|
||||
}
|
||||
}
|
||||
|
||||
.img-avatar {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
|
@ -1,249 +0,0 @@
|
|||
@charset "utf-8";
|
||||
body {
|
||||
background: #f3f3f3;
|
||||
}
|
||||
|
||||
#main-wrap {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
*,
|
||||
*:before,
|
||||
*:after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.group-page {}
|
||||
|
||||
.group-page-banner-image-wrap {
|
||||
position: relative;
|
||||
max-height: 280px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.group-page-view-switch {
|
||||
position: absolute;
|
||||
right: 2rem;
|
||||
top: 2rem;
|
||||
}
|
||||
|
||||
.group-page-banner-image {
|
||||
max-width: 100%;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.group-page-bar {
|
||||
overflow: hidden;
|
||||
background: #171717;
|
||||
padding: 20px 2rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.group-page-title {
|
||||
padding: 6px 0;
|
||||
color: #fff;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.group-page-setion {
|
||||
padding: 30px 2rem;
|
||||
overflow: hidden;
|
||||
max-width: 1350px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.gorup-page-info-wrap {
|
||||
display: block;
|
||||
font-size: .9rem;
|
||||
float: right;
|
||||
padding: 5px .5rem;
|
||||
border: 2px solid #cdcdcd;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.group-page-description-wrap {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.gorup-page-info-wrap {
|
||||
text-align: right;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.group-page-status-wrap {
|
||||
float: right;
|
||||
font-size: 0.75rem;
|
||||
color: #fff;
|
||||
background: #1d9e20;
|
||||
padding: 2px .4rem;
|
||||
border-radius: .2rem;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.group-page-status-wrap.close-eye{
|
||||
background: #c71932;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.group-page-description-wrap {
|
||||
padding: 16px 1.2rem 16px;
|
||||
margin-bottom: 15px;
|
||||
box-shadow: inset 0 0 8px #aaa;
|
||||
border-radius: .2rem;
|
||||
}
|
||||
|
||||
.group-page-description {
|
||||
clear: both;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.group-page-post {
|
||||
clear: both;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
margin-bottom: 40px;
|
||||
background: #fff;
|
||||
padding: 28px 1.5rem;
|
||||
border-radius: .2rem;
|
||||
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .2);
|
||||
}
|
||||
|
||||
.group-page-post-link{
|
||||
text-decoration: none;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.group-page-post:hover {
|
||||
box-shadow: 0 1px 25px 0 rgba(0, 0, 0, .2);
|
||||
}
|
||||
|
||||
.group-page-post-link:hover {
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.group-page-post-image-wrap {
|
||||
display: inline-block;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.group-page-post-image {
|
||||
max-width: 100%;
|
||||
width: 100%;
|
||||
margin-top: 12px;
|
||||
/*border-radius: 50%;*/
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.group-page-post-content {
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
.group-page-post-title {
|
||||
font-weight: normal;
|
||||
font-size: 1.5rem;
|
||||
line-height: 1;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.group-page-post-meta-wrap {
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
.group-page-post-author,
|
||||
.group-page-post-postdate {
|
||||
margin-right: .5rem;
|
||||
}
|
||||
/* scroll view */
|
||||
.group-page.scroll {
|
||||
padding-top: 7rem;
|
||||
}
|
||||
.group-page.scroll .group-page-banner-image-wrap {
|
||||
height: 70px;
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.group-page.scroll .group-page-title {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.group-page.scroll .group-page-title {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.group-page.scroll .group-page-new-post {
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
.group-page.scroll .group-page-new-post {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.group-page.scroll .group-page-view-switch {
|
||||
position: static;
|
||||
display: inline-block;
|
||||
margin: 6px .5rem 0 0;
|
||||
}
|
||||
|
||||
.group-page.scroll .btn {
|
||||
padding: 2px 5px;
|
||||
}
|
||||
|
||||
.group-page li a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.group-page .group-page-feed-view .active {
|
||||
color: #fff;
|
||||
}
|
||||
/* 600px */
|
||||
|
||||
@media screen and (min-width: 37.5rem) {
|
||||
.group-page-post {
|
||||
text-align: left;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.group-page-post-image-wrap {
|
||||
float: left;
|
||||
width: 12%;
|
||||
margin-right: 4%;
|
||||
min-width: 100px;
|
||||
}
|
||||
.group-page-post-content-wrap {
|
||||
float: left;
|
||||
width: 72%;
|
||||
}
|
||||
.group-page.scroll .group-page-view-switch {
|
||||
margin: 6px .5rem 0 0;
|
||||
}
|
||||
.group-page.scroll .group-page-bar {
|
||||
padding: 0 5rem 0 2rem;
|
||||
position: fixed;
|
||||
top: 70px;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
/* 760px */
|
||||
|
||||
@media screen and (min-width: 47.5rem) {
|
||||
.group-page-post-content-wrap {
|
||||
width: 80%;
|
||||
}
|
||||
.group-page-bar {
|
||||
text-align: left;
|
||||
}
|
||||
.group-page-title {
|
||||
float: left;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.group-page-new-post {
|
||||
float: right;
|
||||
}
|
||||
.group-page-view-switch {
|
||||
float: right;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,765 @@
|
|||
@charset "utf-8";
|
||||
|
||||
@import url(http://fonts.googleapis.com/css?family=Maven+Pro);
|
||||
|
||||
@import url(http://fonts.googleapis.com/css?family=Roboto);
|
||||
|
||||
// Font stacks
|
||||
|
||||
$main-font: "Maven Pro", "微軟正黑體" sans-serif;
|
||||
$paragraph-font: "Roboto", "微軟正黑體", sans-serif;
|
||||
$gray: #f3f3f3;
|
||||
$dark-gray: #aaaaaa;
|
||||
$light-gray: #cdcdcd;
|
||||
$white: white;
|
||||
$light-black: #353535;
|
||||
$black: black;
|
||||
$green: #4ad976;
|
||||
$blue: #4171d5;
|
||||
$red: #c71932;
|
||||
$blue-green: #00acee;
|
||||
$group-page-bar-color: #171717;
|
||||
|
||||
// Transition units
|
||||
$fast: 0.3s;
|
||||
$normal: 0.6s;
|
||||
$slow: 1s;
|
||||
|
||||
// Border radius units
|
||||
$general: 0.25rem;
|
||||
|
||||
// General style
|
||||
body {
|
||||
background: $gray;
|
||||
font-family: $main-font;
|
||||
}
|
||||
|
||||
*,
|
||||
*:before,
|
||||
*:after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6, label, legend {
|
||||
font-family: $main-font;
|
||||
}
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover, a:visited {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
// General classes
|
||||
|
||||
.screen-reader {
|
||||
position: absolute;
|
||||
top: -9999px;
|
||||
left: -9999px;
|
||||
}
|
||||
|
||||
// Buttons
|
||||
.button {
|
||||
padding: 8px .75rem;
|
||||
color: $black;
|
||||
border: none;
|
||||
border-radius: 15rem;
|
||||
background: $gray;
|
||||
}
|
||||
|
||||
.button-default {
|
||||
color: $blue;
|
||||
background-color: transparent;
|
||||
border: 2px solid $blue;
|
||||
transition: $fast all;
|
||||
&:hover {
|
||||
color: $white;
|
||||
background-color: $blue;
|
||||
}
|
||||
}
|
||||
|
||||
.button-activated {
|
||||
color: #fff;
|
||||
background-color: $green;
|
||||
}
|
||||
|
||||
.button-primary {
|
||||
color: $white;
|
||||
background-color: $blue;
|
||||
transition: $fast all;
|
||||
&:hover {
|
||||
color: $white;
|
||||
background-color: darken($blue, 15%);
|
||||
}
|
||||
}
|
||||
|
||||
// Button group
|
||||
.button-group {
|
||||
display: inline-block;
|
||||
list-style: none;
|
||||
> .button-group-common {
|
||||
display: inline-block;
|
||||
}
|
||||
> .button:first-child {
|
||||
border-radius: 15rem 0 0 15rem;
|
||||
margin-right: -4px;
|
||||
}
|
||||
> .button:last-child {
|
||||
border-radius: 0 15rem 15rem 0;
|
||||
}
|
||||
li {
|
||||
color: $blue;
|
||||
background-color: rgba($white, 0.2);
|
||||
&:hover {
|
||||
a {
|
||||
color: $white;
|
||||
}
|
||||
}
|
||||
}
|
||||
> .active {
|
||||
color: $white;
|
||||
background-color: $blue;
|
||||
a {
|
||||
color: $white;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Tool Tip
|
||||
.tool-tip-parent {
|
||||
position: relative;
|
||||
&:hover {
|
||||
.tool-tip {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tool-tip {
|
||||
padding: 10px 0.75rem;
|
||||
border-radius: .2rem;
|
||||
color: $white;
|
||||
background: rgba($black, 0.85);
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 100%;
|
||||
z-index: 150;
|
||||
display: none;
|
||||
&:after {
|
||||
border: 5px solid transparent;
|
||||
border-top-color: rgba($black, 0.85);
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 10px;
|
||||
bottom: -10px;
|
||||
}
|
||||
&.right {
|
||||
left: auto;
|
||||
right: 0;
|
||||
&:after {
|
||||
left: auto;
|
||||
right: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.topnav {
|
||||
display: none;
|
||||
}
|
||||
|
||||
// breadcrumb
|
||||
.breadcrumb {
|
||||
padding-left: 0;
|
||||
margin: 0;
|
||||
background: none;
|
||||
> li {
|
||||
text-shadow: none;
|
||||
font-size: 13px;
|
||||
}
|
||||
}
|
||||
|
||||
// dropzone
|
||||
|
||||
.dropzone-pool {
|
||||
border: 2px dashed $blue;
|
||||
margin-bottom: 16px;
|
||||
font-family: $paragraph-font;
|
||||
font-size: 0.9375rem;
|
||||
color: $dark-gray;
|
||||
margin-right: 1rem;
|
||||
border-radius: $general;
|
||||
}
|
||||
|
||||
// overriding member css
|
||||
#main-wrap {}
|
||||
|
||||
// Group page
|
||||
#main-wrap {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.group-page-banner-wrap {
|
||||
height: 280px;
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
transition: $fast all;
|
||||
z-index: 500;
|
||||
background: $black;
|
||||
}
|
||||
|
||||
.group-page-banner-image-wrap {
|
||||
background-color: $black;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.group-page-view-switch {
|
||||
position: absolute;
|
||||
top: 4rem;
|
||||
right: 2rem;
|
||||
}
|
||||
|
||||
.group-page-banner-image {
|
||||
width: auto;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.group-page-bar {
|
||||
padding: 0 2rem 20px 6rem;
|
||||
text-align: center;
|
||||
background: rgba($group-page-bar-color, 0.95);
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.group-page-view-switch-in-bar {
|
||||
display: none;
|
||||
.button {
|
||||
padding: 3px .75rem;
|
||||
}
|
||||
}
|
||||
|
||||
.group-page-title {
|
||||
margin-bottom: 12px;
|
||||
padding: 6px 0;
|
||||
color: $white;
|
||||
font-family: $main-font;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.group-page-section {
|
||||
overflow: hidden;
|
||||
max-width: 1150px;
|
||||
margin: auto;
|
||||
padding: 300px 2rem 30px;
|
||||
}
|
||||
|
||||
.gorup-page-info-wrap {
|
||||
font-size: .9rem;
|
||||
padding: 6px 1rem;
|
||||
display: block;
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.group-page-description-wrap {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.gorup-page-info-wrap {
|
||||
margin-bottom: 10px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.group-page-status-wrap {
|
||||
font-size: .75rem;
|
||||
float: right;
|
||||
padding: 2px 0.5rem;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.group-page-status-wrap.close-eye {
|
||||
margin-left: 5px;
|
||||
background: $red;
|
||||
}
|
||||
|
||||
.group-page-description-wrap {
|
||||
margin-bottom: 15px;
|
||||
padding: 16px 1.2rem 16px;
|
||||
border-radius: .2rem;
|
||||
box-shadow: inset 0 0 8px $dark-gray;
|
||||
}
|
||||
|
||||
.group-page-description {
|
||||
clear: both;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.group-page-post {
|
||||
clear: both;
|
||||
margin-bottom: 40px;
|
||||
padding: 28px 1.5rem;
|
||||
text-align: center;
|
||||
border-radius: $general;
|
||||
background: $white;
|
||||
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);
|
||||
transition: $normal box-shadow;
|
||||
}
|
||||
|
||||
.group-page-post-link {
|
||||
text-decoration: none;
|
||||
color: $black;
|
||||
}
|
||||
|
||||
.group-page-post:hover {
|
||||
box-shadow: 0 1px 25px 0 rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.group-page-post-link:hover {
|
||||
text-decoration: none;
|
||||
color: $black;
|
||||
}
|
||||
|
||||
.group-page-post-image-wrap {
|
||||
display: inline-block;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.group-page-post-image {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
margin-top: 12px;
|
||||
border: 2px solid $gray;
|
||||
border-radius: $general;
|
||||
}
|
||||
|
||||
.group-page-post-content {
|
||||
margin-bottom: .5rem;
|
||||
color: $dark-gray;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.group-page-post-title {
|
||||
font-size: 1.5rem;
|
||||
font-weight: normal;
|
||||
line-height: 1;
|
||||
margin-bottom: 12px;
|
||||
color: $light-black;
|
||||
font-family: $paragraph-font;
|
||||
}
|
||||
|
||||
.group-page-post-sub-wrap {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.group-page-post-meta-wrap {
|
||||
color: $dark-gray;
|
||||
}
|
||||
|
||||
.group-page-post-author,
|
||||
.group-page-post-sub-wrap {
|
||||
margin-right: .5rem;
|
||||
}
|
||||
|
||||
.group-page-seen-by {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.group-page-seen-by-lead {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
// scroll view
|
||||
|
||||
.group-page.scroll {
|
||||
padding-top: 7rem;
|
||||
.group-page-banner-wrap {
|
||||
height: 120px;
|
||||
}
|
||||
.group-page-title {
|
||||
margin-bottom: 0;
|
||||
font-size: 1.625rem;
|
||||
line-height: 50px;
|
||||
}
|
||||
.group-page-new-post {
|
||||
margin-top: 18px;
|
||||
padding: 6px 10px;
|
||||
}
|
||||
.group-page-new-post {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
}
|
||||
.group-page-view-switch {
|
||||
position: static;
|
||||
display: inline-block;
|
||||
margin: 6px .5rem 0 0;
|
||||
display: none;
|
||||
}
|
||||
.group-page-view-switch-in-bar {
|
||||
display: inline-block;
|
||||
margin-top: 18px;
|
||||
.button {
|
||||
padding: 4px .75rem;
|
||||
}
|
||||
}
|
||||
.group-page-section {
|
||||
padding-top: 60px;
|
||||
}
|
||||
.btn {
|
||||
padding: 2px 5px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.group-page li a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.group-page-switch-btn {
|
||||
color: $blue;
|
||||
&:hover {
|
||||
color: $white;
|
||||
}
|
||||
}
|
||||
|
||||
// 400px
|
||||
@media screen and (min-width: 25rem) {
|
||||
.group-page-new-post {
|
||||
margin: 0 0.625rem 16px;
|
||||
float: none;
|
||||
display: inline-block;
|
||||
}
|
||||
.group-page-view-switch-in-bar {
|
||||
float: none;
|
||||
margin: 0;
|
||||
.button {
|
||||
padding: 6px .75rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 600px
|
||||
|
||||
@media screen and (min-width: 37.5rem) {
|
||||
.group-page-post {
|
||||
margin-bottom: 35px;
|
||||
text-align: left;
|
||||
}
|
||||
.group-page-post-image-wrap {
|
||||
float: left;
|
||||
width: 12%;
|
||||
min-width: 100px;
|
||||
margin-right: 4%;
|
||||
max-height: 140px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.group-page-post-content-wrap {
|
||||
float: left;
|
||||
width: 70%;
|
||||
font-family: $paragraph-font;
|
||||
}
|
||||
}
|
||||
|
||||
/* 760px */
|
||||
|
||||
@media screen and (min-width: 47.5rem) {
|
||||
.group-page-post-content-wrap {
|
||||
width: 70%;
|
||||
}
|
||||
.group-page-bar {
|
||||
text-align: left;
|
||||
}
|
||||
.group-page-title {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 70px;
|
||||
transition: .6s all;
|
||||
}
|
||||
.group-page-new-post {
|
||||
float: right;
|
||||
margin: 18px 0 0 0;
|
||||
}
|
||||
.group-page-view-switch-in-bar {
|
||||
margin: 18px 8px 0 0;
|
||||
float: right;
|
||||
li {
|
||||
padding: 8px .75rem;
|
||||
}
|
||||
}
|
||||
.group-page-view-switch {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
// 900px
|
||||
@media screen and (min-width: 56.25rem) {
|
||||
.group-page-post-content-wrap {
|
||||
width: 80%;
|
||||
}
|
||||
}
|
||||
|
||||
// Group post
|
||||
.group-post {
|
||||
padding: 50px 2rem 30px;
|
||||
max-width: 1150px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.group-post-meta {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.group-post-title {
|
||||
font-family: $main-font;
|
||||
float: left;
|
||||
width: 90%;
|
||||
font-weight: normal;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.group-post-avatar-wrap {
|
||||
float: right;
|
||||
padding: 0 0.375rem 0 0;
|
||||
}
|
||||
|
||||
.group-post-avatar-username-toggle {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.group-post-avatar {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.group-post-username {
|
||||
display: none;
|
||||
top: 100%;
|
||||
padding-bottom: 30px;
|
||||
right: 0;
|
||||
left: auto;
|
||||
white-space: nowrap;
|
||||
font-size: 0.75rem;
|
||||
&:after {
|
||||
border-top-color: transparent;
|
||||
border-bottom-color: rgba(0, 0, 0, 0.85);
|
||||
top: -10px;
|
||||
left: auto;
|
||||
right: 20px;
|
||||
bottom: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.group-post-postdate {
|
||||
display: inline-block;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.group-post-image-wrap {
|
||||
position: relative;
|
||||
background: $black;
|
||||
&:hover {
|
||||
.cycle-nav {
|
||||
opacity: 1;
|
||||
}
|
||||
.group-post-cycle-prev {
|
||||
left: 2rem;
|
||||
}
|
||||
.group-post-cycle-next {
|
||||
right: 2rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.group-post-image-list {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.cycle-nav {
|
||||
font-size: 1.2rem;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
margin-top: -1.25rem;
|
||||
line-height: 1.5rem;
|
||||
color: $white;
|
||||
z-index: 500;
|
||||
width: 2.5rem;
|
||||
height: 2.5rem;
|
||||
cursor: pointer;
|
||||
-webkit-transition: $normal all;
|
||||
transition: $normal all;
|
||||
text-align: center;
|
||||
background-color: rgba($black, 0.8);
|
||||
border-radius: 50%;
|
||||
opacity: 0;
|
||||
&:hover {
|
||||
background-color: $blue;
|
||||
}
|
||||
.group-post-cycle-nav-icon {
|
||||
line-height: 2.6rem;
|
||||
}
|
||||
}
|
||||
|
||||
.group-post-cycle-prev {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.group-post-cycle-next {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.group-post-content {
|
||||
font-family: $main-font;
|
||||
font-size: .8125rem;
|
||||
margin: 15px 0;
|
||||
}
|
||||
|
||||
.group-post-attachment-wrap {
|
||||
float: left;
|
||||
width: 80%;
|
||||
margin: 10px 0 25px;
|
||||
}
|
||||
|
||||
.group-post-attachments {
|
||||
a {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.group-post-attachment-file-format {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.group-post-seen-by {
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
.group-post-seen-by-names {
|
||||
display: block;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
.group-post-seen-by-name {
|
||||
display: block;
|
||||
color: #fff;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
.group-post-seen-by-lead {
|
||||
margin-right: 4px;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.group-post-seen-by-names {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.group-post-seen-by-count {
|
||||
border-radius: 50%;
|
||||
background: $gray;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
// Comment section
|
||||
.comments {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.comments .group-post-respond-comment {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
padding: 0 1rem;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.group-post-respond-submit {
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
|
||||
.group-post-comment-list {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.group-post-comment-wrap {
|
||||
overflow: hidden;
|
||||
margin-bottom: 25px;
|
||||
padding-bottom: 8px;
|
||||
border-bottom: 1px solid lighten($light-gray, 12%);
|
||||
}
|
||||
|
||||
.group-post-no-comment {
|
||||
font-size: 0.8125rem;
|
||||
}
|
||||
|
||||
.group-post-comment-avatar {
|
||||
float: left;
|
||||
width: 60px;
|
||||
margin-right: 1rem;
|
||||
img {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
.group-post-comment-author {
|
||||
font-size: .9375rem;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.group-post-comment-time {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.group-post-comment-content {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.group-post-comment-body {
|
||||
float: left;
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
// 260px
|
||||
@media screen and (min-width: 16.25rem) {
|
||||
.group-post-attachments {
|
||||
a {
|
||||
display: inline-block;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
}
|
||||
.group-post-attachments-file-name {
|
||||
display: inline-block;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 370px) {
|
||||
.group-post-comment-body {
|
||||
width: 60%;
|
||||
}
|
||||
}
|
||||
|
||||
// group new
|
|
@ -1,5 +1,5 @@
|
|||
class Admin::GroupsController < OrbitMemberController
|
||||
|
||||
class Admin::GroupsController < OrbitGroupController
|
||||
include Admin::GroupsHelper
|
||||
def index
|
||||
@groups = current_user.groups
|
||||
end
|
||||
|
@ -13,30 +13,37 @@ class Admin::GroupsController < OrbitMemberController
|
|||
end
|
||||
|
||||
def newpost
|
||||
render_401 and return if !user_can_write?
|
||||
@no_breadcrumb = true
|
||||
uid = params[:group_id].split("-").last
|
||||
@group = Group.find_by(:uid => uid)
|
||||
@grouppost = GroupPost.new
|
||||
end
|
||||
|
||||
def createpost
|
||||
uid = params[:group_id].split("-").last
|
||||
group = Group.find_by(:uid => uid)
|
||||
gp = GroupPost.new(post_params)
|
||||
gp.group = group
|
||||
gp.group = @group
|
||||
gp.save
|
||||
redirect_to admin_group_path(group)
|
||||
redirect_to admin_group_path(@group)
|
||||
end
|
||||
|
||||
def showpost
|
||||
|
||||
render_401 and return if !user_can_read?
|
||||
if (current_user.id.to_s != @post.author.to_s) && (!@post.read_by.include?(current_user.id.to_s))
|
||||
@post.read_by << current_user.id.to_s
|
||||
@post.save
|
||||
end
|
||||
@read_by_names = @post.read_by.collect{|rb|
|
||||
user = User.find(rb) rescue nil
|
||||
author = (user.member_profile.name == nil ? user.user_name : user.member_profile.name rescue "") if !user.nil?
|
||||
author
|
||||
}
|
||||
end
|
||||
|
||||
def show
|
||||
@no_breadcrumb = true
|
||||
@no_filter = true
|
||||
uid = params[:id].split("-").last
|
||||
@group = Group.find_by(:uid => uid)
|
||||
if !user_can_read?
|
||||
render_401 and return
|
||||
end
|
||||
end
|
||||
|
||||
def create_category
|
||||
|
@ -46,6 +53,28 @@ class Admin::GroupsController < OrbitMemberController
|
|||
render :partial => "group_categories"
|
||||
end
|
||||
|
||||
def upload_photo
|
||||
photo = GroupPostImage.new(post_image_params)
|
||||
photo.save
|
||||
render :json => {"success" => true,"id" => photo.id.to_s}.to_json
|
||||
end
|
||||
|
||||
|
||||
def upload_file
|
||||
file = GroupPostFile.new(post_file_params)
|
||||
file.save
|
||||
render :json => {"success" => true,"id" => file.id.to_s}.to_json
|
||||
end
|
||||
|
||||
def download_file
|
||||
file_id = params[:id]
|
||||
file = GroupPostFile.find(file_id) rescue nil
|
||||
if !file.nil?
|
||||
redirect_to file.file.url and return
|
||||
end
|
||||
render :nothing => true
|
||||
end
|
||||
|
||||
def create
|
||||
group = Group.new(group_params)
|
||||
group.save
|
||||
|
@ -70,20 +99,55 @@ class Admin::GroupsController < OrbitMemberController
|
|||
end
|
||||
end
|
||||
|
||||
def new_comment
|
||||
gpc = GroupPostComment.new(comment_params)
|
||||
gpc.save
|
||||
render :partial => "post_comment", :collection => [gpc]
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def category_params
|
||||
params.require(:category).permit!
|
||||
end
|
||||
|
||||
def comment_params
|
||||
params.require(:group_post_comment).permit!
|
||||
end
|
||||
|
||||
def post_params
|
||||
p = params.require(:group_post).permit!
|
||||
p["author"] = current_user.id
|
||||
images = []
|
||||
p[:group_post_images].each do |id|
|
||||
gpi = GroupPostImage.find(id) rescue nil
|
||||
if !gpi.nil?
|
||||
images << gpi
|
||||
end
|
||||
end if !p[:group_post_images].nil?
|
||||
files = []
|
||||
p[:group_post_files].each do |id|
|
||||
gpf = GroupPostFile.find(id) rescue nil
|
||||
if !gpf.nil?
|
||||
files << gpf
|
||||
end
|
||||
end if !p[:group_post_files].nil?
|
||||
p[:group_post_images] = images
|
||||
p[:group_post_files] = files
|
||||
p
|
||||
end
|
||||
|
||||
def post_image_params
|
||||
params.require(:group_post_image).permit!
|
||||
end
|
||||
|
||||
def post_file_params
|
||||
params.require(:group_post_file).permit!
|
||||
end
|
||||
|
||||
def group_params
|
||||
p = params.require(:group).permit!
|
||||
p["user_ids"] = [] if p["user_ids"].nil?
|
||||
p["user_ids"] << current_user.id.to_s
|
||||
p["admins"] = []
|
||||
p["admins"] << current_user.id.to_s
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
class OrbitGroupController < ApplicationController
|
||||
layout "member"
|
||||
before_action :authenticate_user, :get_group, :set_access_rights
|
||||
|
||||
def get_group
|
||||
case params[:action]
|
||||
when "show"
|
||||
uid = params[:id].split("-").last
|
||||
@group = Group.find_by(:uid => uid)
|
||||
when "newpost", "createpost"
|
||||
uid = params[:group_id].split("-").last
|
||||
@group = Group.find_by(:uid => uid)
|
||||
when "showpost"
|
||||
uid = params[:id].split("-").last
|
||||
@post = GroupPost.find_by(:uid => uid)
|
||||
@group = @post.group
|
||||
end
|
||||
end
|
||||
|
||||
def set_access_rights
|
||||
@access_right_level = "none"
|
||||
read_or_write = @group.permission rescue "read"
|
||||
case params[:action]
|
||||
when "show", "showpost", "newpost"
|
||||
is_member = @group.users.include?(current_user)
|
||||
if @group.admins.include?(current_user.id.to_s)
|
||||
@access_right_level = "admin"
|
||||
elsif is_member
|
||||
if read_or_write == "write"
|
||||
@access_right_level = "write"
|
||||
elsif read_or_write == "read"
|
||||
@access_right_level = "read"
|
||||
end
|
||||
elsif !is_member && @group.privacy == "open"
|
||||
@access_right_level = "read"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def render_401
|
||||
render "public/401"
|
||||
end
|
||||
end
|
|
@ -35,7 +35,7 @@ class PagePartsController < ApplicationController
|
|||
def edit_sub_part
|
||||
@part = part_model.find(params[:part_id])
|
||||
@subpart = SubPart.find(params[:sub_part_id])
|
||||
@select_number = @part.sub_parts.index(@subpart)
|
||||
@select_number = @part.sub_parts.index{|sp| sp.id.to_s == @subpart.id.to_s}
|
||||
@child_page_count = 0
|
||||
@kind = @subpart.kind
|
||||
@modules = ModuleApp.widget_enabled
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
module Admin::GroupsHelper
|
||||
def remote_file_exists?(url)
|
||||
url = URI.parse(url)
|
||||
Net::HTTP.start(url.host, url.port) do |http|
|
||||
return http.head(url.request_uri)['Content-Type'].start_with? 'image'
|
||||
end
|
||||
end
|
||||
|
||||
def parse_for_images(content)
|
||||
urls = URI.extract(content)
|
||||
images = []
|
||||
urls.each do |url|
|
||||
images << url if !url.nil? && remote_file_exists?(url)
|
||||
end if !urls.empty?
|
||||
|
||||
image_content = "<br />"
|
||||
images.each do |img|
|
||||
content = content.sub(img,"")
|
||||
image_content = image_content + "<img src='#{img}' style='width:auto;' /><br />"
|
||||
end if !images.empty?
|
||||
return [content, image_content]
|
||||
end
|
||||
|
||||
def is_user_group_admin?
|
||||
return (@access_right_level == "admin" ? true : false)
|
||||
end
|
||||
|
||||
def user_can_write?
|
||||
return (@access_right_level == "admin" || @access_right_level == "write" ? true : false)
|
||||
end
|
||||
|
||||
def user_can_read?
|
||||
return (@access_right_level == "admin" || @access_right_level == "write" || @access_right_level == "read" ? true : false)
|
||||
end
|
||||
end
|
|
@ -80,7 +80,7 @@ class AttributeValue
|
|||
{
|
||||
"key" => self.attribute_field.key,
|
||||
"title" => self.attribute_field.title,
|
||||
"value" => "",
|
||||
"value" => " ",
|
||||
"val" => field_value = self.value
|
||||
}
|
||||
end
|
||||
|
|
|
@ -1,20 +1,24 @@
|
|||
class Group
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
include Slug
|
||||
include Mongoid::Timestamps
|
||||
include Slug
|
||||
|
||||
field :title, as: :slug_title, type: String, localize: true
|
||||
field :description, localize: true
|
||||
field :admins, type: Array, default: []
|
||||
field :privacy, default: "closed"
|
||||
mount_uploader :image, ImageUploader
|
||||
field :title, as: :slug_title, type: String, localize: true
|
||||
field :description, localize: true
|
||||
field :admins, type: Array, default: []
|
||||
field :privacy, default: "closed"
|
||||
field :permission, default: "write"
|
||||
field :archive, type: Boolean, default: false
|
||||
mount_uploader :image, ImageUploader
|
||||
|
||||
belongs_to :group_category
|
||||
has_and_belongs_to_many :users
|
||||
has_many :group_posts
|
||||
|
||||
scope :closed, ->{ where(privacy: "closed") }
|
||||
scope :open, ->{ where(privacy: "open") }
|
||||
belongs_to :group_category
|
||||
has_and_belongs_to_many :users
|
||||
has_many :group_posts
|
||||
|
||||
scope :closed, ->{ where(privacy: "closed") }
|
||||
scope :open, ->{ where(privacy: "open") }
|
||||
scope :archived, ->{ where(archive: true) }
|
||||
scope :not_archived, ->{ where(archive: false) }
|
||||
|
||||
|
||||
end
|
|
@ -7,8 +7,10 @@ class GroupPost
|
|||
field :content
|
||||
field :read_by, type: Array, default: []
|
||||
field :author, type: BSON::ObjectId
|
||||
mount_uploader :image, ImageUploader
|
||||
|
||||
belongs_to :group
|
||||
has_many :group_post_images, :autosave => true, :dependent => :destroy
|
||||
has_many :group_post_files, :autosave => true, :dependent => :destroy
|
||||
has_many :group_post_comments, :autosave => true, :dependent => :destroy
|
||||
|
||||
end
|
|
@ -0,0 +1,9 @@
|
|||
class GroupPostComment
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
|
||||
field :comment
|
||||
|
||||
belongs_to :user
|
||||
belongs_to :group_post
|
||||
end
|
|
@ -0,0 +1,9 @@
|
|||
class GroupPostFile
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
|
||||
mount_uploader :file, AssetUploader
|
||||
|
||||
belongs_to :group_post
|
||||
|
||||
end
|
|
@ -0,0 +1,9 @@
|
|||
class GroupPostImage
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
|
||||
mount_uploader :image, ImageUploader
|
||||
|
||||
belongs_to :group_post
|
||||
|
||||
end
|
|
@ -47,7 +47,7 @@ class MemberProfile
|
|||
|
||||
|
||||
def name
|
||||
if self.first_name || self.last_name
|
||||
if self.first_name != "" || self.last_name != ""
|
||||
I18n.locale.eql?(:zh_tw) ? "#{self.last_name} #{self.first_name}" : "#{self.first_name} #{self.last_name}"
|
||||
end
|
||||
end
|
||||
|
@ -135,7 +135,7 @@ class MemberProfile
|
|||
data = self.send(field["key"]) rescue ""
|
||||
data = (data =~ /\A#{URI::regexp(['http', 'https'])}\z/) ? "<a href='#{data}' target='blank'>#{data}</a>" : data
|
||||
data = (data =~ /\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i) ? "<a href='mailto:#{data}'>#{data}</a>" : data
|
||||
field_data = data.blank? ? {} : {"key" => field["key"],"title" => I18n.t("users."+field["key"]), "value" =>data}
|
||||
field_data = data.blank? ? {"key" => field["key"],"title" => I18n.t("users."+field["key"]), "value" => " "} : {"key" => field["key"],"title" => I18n.t("users."+field["key"]), "value" =>data}
|
||||
field_data
|
||||
end
|
||||
|
||||
|
|
|
@ -151,7 +151,7 @@ class MemberProfileFieldValue
|
|||
{
|
||||
"key" => self.member_profile_field.key,
|
||||
"title" => self.member_profile_field.title,
|
||||
"value" => (field_value.blank? ? "" : field_value),
|
||||
"value" => (field_value.blank? ? " " : field_value),
|
||||
"val" => field_value = self.value
|
||||
}
|
||||
end
|
||||
|
|
|
@ -21,6 +21,7 @@ class User
|
|||
has_many :authorizations
|
||||
belongs_to :member_profile
|
||||
has_and_belongs_to_many :groups
|
||||
has_many :group_post_comments
|
||||
has_one :facebook, :autosave => true, :dependent => :destroy
|
||||
has_one :google, :autosave => true, :dependent => :destroy
|
||||
# has_one :desktop, :dependent => :destroy
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
(function( $ ) {
|
||||
|
||||
"use strict"
|
||||
"use strict";
|
||||
|
||||
function init() {
|
||||
var doc = document,
|
||||
lang = doc.documentElement.lang;
|
||||
lang = doc.documentElement.lang,
|
||||
pageModule = doc.body.getAttribute( "data-module" );
|
||||
|
||||
var orbit = {
|
||||
|
||||
|
@ -68,7 +69,7 @@
|
|||
i = -1,
|
||||
elsLen = els.length;
|
||||
|
||||
for( i = 0; i < elsLen; i ++ ) {
|
||||
for ( i = 0; i < elsLen; i ++ ) {
|
||||
if ( els[ i ].firstChild !== null ) {
|
||||
if( els[ i ].firstChild.length > maxLen ) {
|
||||
newTitle = els[ i ].firstChild.textContent;
|
||||
|
@ -79,6 +80,20 @@
|
|||
}
|
||||
},
|
||||
|
||||
member: {
|
||||
equalHeight: function() {
|
||||
var bigbrother = -1;
|
||||
|
||||
$( ".i-member-item" ).each( function() {
|
||||
bigbrother = bigbrother > $( ".i-member-item" ).height() ? bigbrother : $( ".i-member-item" ).height();
|
||||
});
|
||||
|
||||
$( ".i-member-item" ).each( function() {
|
||||
$( ".i-member-item" ).height( bigbrother );
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// Add link and cursor class name on element that has data-link attribute
|
||||
addLinkOnADBanner: function( els ) {
|
||||
$.each( els, function() {
|
||||
|
@ -112,10 +127,10 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// Specific functions that will be running on homepage
|
||||
if ( doc.body.getAttribute( "data-module" ) === "home" ) {
|
||||
if ( pageModule === "home" ) {
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ html {
|
|||
body {
|
||||
font-family: $sub-font;
|
||||
font-size: inherit;
|
||||
margin-top: 40px; // needed for Orbit bar
|
||||
margin-top: 40px;
|
||||
}
|
||||
a:hover,
|
||||
a:focus {
|
||||
|
@ -26,3 +26,12 @@ th,
|
|||
td {
|
||||
padding: 8px .5rem;
|
||||
}
|
||||
|
||||
.borderless>tbody>tr>td,
|
||||
.borderless>tbody>tr>th,
|
||||
.borderless>tfoot>tr>td,
|
||||
.borderless>tfoot>tr>th,
|
||||
.borderless>thead>tr>td,
|
||||
.borderless>thead>tr>th {
|
||||
border: none !important;
|
||||
}
|
|
@ -1,8 +1,5 @@
|
|||
@charset "utf-8";
|
||||
|
||||
// Google fonts
|
||||
@import url(http://fonts.googleapis.com/css?family=Roboto);
|
||||
|
||||
// Base Color
|
||||
$theme-gray: #495054;
|
||||
$theme-gray-light: #cecece;
|
||||
|
@ -17,11 +14,13 @@ $theme-color-main: #47bab5;
|
|||
$theme-color-second: #5bc0de;
|
||||
$theme-color-third: #ed4c43;
|
||||
|
||||
|
||||
// Font stacks
|
||||
$main-font: 'Roboto', "微軟正黑體", "Helvetica Neue", Helvetica, sans-serif;
|
||||
$sub-font: 'Roboto', "新細明體", "Helvetica Neue", Helvetica, sans-serif;
|
||||
|
||||
// Font sizes
|
||||
$font-15: 0.9375rem;
|
||||
$font-13: 0.8125rem;
|
||||
|
||||
//
|
||||
// Modules
|
||||
|
@ -71,3 +70,10 @@ $table-th-bgcolor: $theme-color-main;
|
|||
|
||||
// Font sizes
|
||||
$w-item-heading-font-size: 0.85rem;
|
||||
|
||||
|
||||
//
|
||||
// Member Module
|
||||
// --------------------------------------------------
|
||||
|
||||
$border-width: 4px;
|
|
@ -1,4 +0,0 @@
|
|||
@import "bootstrap/mixins";
|
||||
@import "bootstrap/variables";
|
||||
@import "base/mixins";
|
||||
@import "base/variables";
|
|
@ -1,4 +1,3 @@
|
|||
@import url("http://fonts.googleapis.com/css?family=Droid+Sans:400,700");
|
||||
@import "bootstrap/mixins";
|
||||
@import "bootstrap/variables";
|
||||
@import "base/mixins";
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
@charset "utf-8";
|
||||
|
||||
@import "../initial";
|
||||
|
||||
//
|
||||
// Widget
|
||||
//
|
||||
//
|
||||
|
||||
// Widget
|
||||
// ## gerenral styles
|
||||
|
@ -15,19 +16,46 @@
|
|||
}
|
||||
}
|
||||
|
||||
.w-ad-banner__wrap {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
// Widget 1
|
||||
.w-ad-banner__slide {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.banner-pager {
|
||||
@include list-reset;
|
||||
position: absolute;
|
||||
right: 1em;
|
||||
top: 1em;
|
||||
z-index: 200;
|
||||
|
||||
li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
a {
|
||||
background: $theme-color-main;
|
||||
display: inline-block;
|
||||
margin-right: 0.25em;
|
||||
width: 0.8em;
|
||||
height: 0.8em;
|
||||
border-radius: 50%;
|
||||
opacity: .5;
|
||||
}
|
||||
|
||||
.active-slide a {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.banner-responsive {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
// Widget 1
|
||||
.ad-banner-widget-1 {
|
||||
.w-ad-banner__wrap {
|
||||
width: 100%;
|
||||
}
|
||||
.w-ad-banner__slide {
|
||||
width: 100%;
|
||||
}
|
||||
.w-ad-banner__image {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
.w-ad-banner__caption {
|
||||
background: $theme-color-main;
|
||||
color: $theme-white;
|
||||
|
@ -44,123 +72,50 @@
|
|||
font-family: $main-font;
|
||||
font-size: $w-caption-desc;
|
||||
}
|
||||
|
||||
}
|
||||
.w-ad-banner__pager {
|
||||
@include list-reset();
|
||||
position: absolute;
|
||||
right: 1em;
|
||||
top: 1em;
|
||||
z-index: 200;
|
||||
|
||||
li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
a {
|
||||
background: $theme-color-main;
|
||||
display: inline-block;
|
||||
margin-right: 0.25em;
|
||||
width: 0.8em;
|
||||
height: 0.8em;
|
||||
border-radius: 50%;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.active-slide a{
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Widget 2
|
||||
// Widget 2
|
||||
.ad-banner-widget-2 {
|
||||
.w-ad-banner__wrap {
|
||||
width: 100%;
|
||||
}
|
||||
.w-ad-banner__slide {
|
||||
width: 100%;
|
||||
}
|
||||
.w-ad-banner__image {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
.youtube {
|
||||
}
|
||||
|
||||
.youtube, .cycle-youtube {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
object, embed{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
object, embed {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.w-ad-banner__pager {
|
||||
@include list-reset();
|
||||
position: absolute;
|
||||
|
||||
.banner-pager {
|
||||
right: 1em;
|
||||
bottom: 1em;
|
||||
z-index: 102;
|
||||
|
||||
li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
a {
|
||||
background: $theme-color-main;
|
||||
display: inline-block;
|
||||
margin-right: 0.25em;
|
||||
width: 0.8em;
|
||||
height: 0.8em;
|
||||
border-radius: 50%;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.active-slide a{
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Widget 3
|
||||
.ad-banner-widget-3 {
|
||||
.w-ad-banner__wrap {
|
||||
.w-ad-banner__wrap {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.w-ad-banner__slide {
|
||||
width: 100%;
|
||||
}
|
||||
.w-ad-banner__image {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
.w-ad-banner__pager {
|
||||
@include list-reset();
|
||||
position: absolute;
|
||||
|
||||
.banner-pager {
|
||||
top: auto;
|
||||
right: 1em;
|
||||
bottom: 1em;
|
||||
z-index: 200;
|
||||
|
||||
li {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
a {
|
||||
background: $theme-color-main;
|
||||
display: inline-block;
|
||||
margin-right: 0.25em;
|
||||
width: 0.8em;
|
||||
height: 0.8em;
|
||||
border-radius: 50%;
|
||||
opacity: 0.5;
|
||||
}
|
||||
.active-slide a{
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.cycle-slide-active{
|
||||
.cycle-slide-active {
|
||||
z-index: 101 !important;
|
||||
}
|
|
@ -1,64 +1,126 @@
|
|||
@charset "utf-8";
|
||||
|
||||
@import "../initial";
|
||||
|
||||
// Member index page
|
||||
.index-member {
|
||||
.index-title {
|
||||
@extend .unity-title;
|
||||
}
|
||||
th,
|
||||
td {
|
||||
font-family: $sub-font;
|
||||
font-size: .8125rem;
|
||||
}
|
||||
th[class^="member-data-title"] {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.index-member-item {
|
||||
min-height: 200px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.index-member-item:nth-child(2n+1) {
|
||||
clear: both;
|
||||
}
|
||||
.member-data-title-job-title:before,
|
||||
.member-data-title-name:before,
|
||||
.member-data-title-email:before,
|
||||
.member-data-title-office-tel:before {
|
||||
font-family: "fontAwesome";
|
||||
font-size: .75rem;
|
||||
display: inline-block;
|
||||
min-width: 15px;
|
||||
margin-right: .3125rem;
|
||||
content: "\f007";
|
||||
color: gray;
|
||||
}
|
||||
.member-data-title-job-title:before {
|
||||
content: "\f19d";
|
||||
}
|
||||
.member-data-title-email:before {
|
||||
content: "\f0e0";
|
||||
}
|
||||
.member-data-title-office-tel:before {
|
||||
content: "\f098";
|
||||
}
|
||||
.member-profile-data-wrap {
|
||||
overflow: hidden;
|
||||
}
|
||||
.member-pic {
|
||||
border-radius: .25rem;
|
||||
}
|
||||
}
|
||||
// Member show page
|
||||
.show-member {
|
||||
font-family: $sub-font;
|
||||
th, td {
|
||||
font-size: .8125rem;
|
||||
}
|
||||
.member-plugins {
|
||||
margin-bottom: 20px;
|
||||
a {
|
||||
font-size: .8125rem;
|
||||
//
|
||||
// Index
|
||||
//
|
||||
// Member Index
|
||||
// ## Gerneral styles for Index
|
||||
// Index 2
|
||||
.index-member-2 {
|
||||
.i-member-section {
|
||||
max-width: 500px;
|
||||
margin: auto;
|
||||
}
|
||||
.i-member-status-title {
|
||||
@extend .unity-title;
|
||||
}
|
||||
.i-member-item-inner {
|
||||
background: none;
|
||||
border-radius: 0.25rem;
|
||||
padding: 24px 1rem;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.i-member-pic-wrap {
|
||||
height: auto;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.i-member-pic {
|
||||
width: 100%;
|
||||
}
|
||||
.i-member-profile-list {
|
||||
@include list-reset;
|
||||
}
|
||||
.i-member-profile-item {
|
||||
margin-bottom: 8px;
|
||||
font-size: $font-13;
|
||||
}
|
||||
// RWD
|
||||
@media screen and (min-width: $screen-sm) {
|
||||
.i-member-section {
|
||||
max-width: 100%;
|
||||
}
|
||||
.i-member-item-inner {
|
||||
background: $theme-gray-lighter;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// // Index 3
|
||||
.index-member-3 {
|
||||
.i-member-section {
|
||||
max-width: 500px;
|
||||
margin: auto;
|
||||
}
|
||||
.i-member-status-title {
|
||||
@extend .unity-title;
|
||||
}
|
||||
.i-member-item-inner {
|
||||
background: none;
|
||||
border-radius: 0.25rem;
|
||||
padding: 24px 1rem;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.i-member-pic-wrap {
|
||||
height: auto;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.i-member-pic {
|
||||
width: 100%;
|
||||
}
|
||||
.i-member-profile-list {
|
||||
@include list-reset;
|
||||
}
|
||||
.i-member-profile-item {
|
||||
margin-bottom: 8px;
|
||||
font-size: $font-13;
|
||||
}
|
||||
.i-member-item:nth-child(odd) {
|
||||
clear: both;
|
||||
}
|
||||
.i-member-item-inner {}
|
||||
.i-member-pic-wrap {
|
||||
padding: 0;
|
||||
}
|
||||
// RWD
|
||||
@media screen and (min-width: $screen-sm) {
|
||||
.i-member-section {
|
||||
max-width: 100%;
|
||||
}
|
||||
.i-member-item-inner {
|
||||
background: $theme-gray-lighter;
|
||||
}
|
||||
|
||||
}
|
||||
@media screen and (min-width: $screen-md) {
|
||||
.i-member-pic-wrap {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
height: 125px;
|
||||
}
|
||||
.i-member-pic {
|
||||
position: absolute;
|
||||
top: -100%;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: -100%;
|
||||
margin: auto;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Show page
|
||||
.show-member {
|
||||
font-family: $sub-font;
|
||||
th, td {
|
||||
font-size: .8125rem;
|
||||
}
|
||||
.member-plugins {
|
||||
margin-bottom: 20px;
|
||||
a {
|
||||
font-size: .8125rem;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,3 +1,5 @@
|
|||
@import url("http://fonts.googleapis.com/css?family=Droid+Sans:400,700");
|
||||
|
||||
// Base
|
||||
@import "base/pagination";
|
||||
@import "base/orbitbar-override";
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
data-cycle-slides=".w-ad-banner__slide"
|
||||
data-cycle-log="false"
|
||||
data-overlay=".w-ad-banner__caption"
|
||||
data-pager=".w-ad-banner__pager"
|
||||
data-pager=".w-ad-banner__pager-1"
|
||||
data-pager-template="<li><a href='#'></a></li>"
|
||||
data-pager-active-class="active-slide"
|
||||
>
|
||||
|
@ -15,11 +15,11 @@
|
|||
data-cycle-desc="{{context}}"
|
||||
data-overlay-template="<h2>{{title}}</h2>{{desc}}"
|
||||
>
|
||||
<img class="w-ad-banner__image" src="{{image_link}}">
|
||||
<img class="w-ad-banner__image banner-responsive" src="{{image_link}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-ad-banner__caption"></div>
|
||||
<ul class="w-ad-banner__pager"></ul>
|
||||
<ul class="w-ad-banner__pager-1 banner-pager"></ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div class="w-ad-banner ad-banner-widget-3">
|
||||
<div class="w-ad-banner ad-banner-widget-2">
|
||||
<div class="w-ad-banner__wrap cycle-slideshow"
|
||||
data-list="images"
|
||||
data-level="0"
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
data-cycle-log="false"
|
||||
data-overlay=".w-ad-banner__caption"
|
||||
data-cycle-auto-height="640:360"
|
||||
data-pager=".w-ad-banner__pager"
|
||||
data-pager=".w-ad-banner__pager-2"
|
||||
data-pager-template="<li><a href='#'></a></li>"
|
||||
data-pager-active-class="active-slide"
|
||||
data-cycle-youtube="true"
|
||||
|
@ -15,24 +15,50 @@
|
|||
|
||||
{{html}}
|
||||
</div>
|
||||
<ul class="w-ad-banner__pager"></ul>
|
||||
<ul class="w-ad-banner__pager-2 banner-pager"></ul>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
if (typeof ad_banners_count === 'undefined'){
|
||||
var ad_banners_count = 0;
|
||||
}
|
||||
|
||||
if(document.getElementById("youtube-iframe-api") == null){
|
||||
var tag = document.createElement('script');
|
||||
tag.setAttribute("id", "youtube-iframe-api");
|
||||
tag.src = "https://www.youtube.com/iframe_api";
|
||||
var firstScriptTag = document.getElementsByTagName('script')[0];
|
||||
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
|
||||
}
|
||||
|
||||
$("document").ready(function(){
|
||||
$("*[data-youtube-id]").each(function(){
|
||||
var obj = $(this).find("embed");
|
||||
obj.attr("id",$(this).data("youtube-id"));
|
||||
$("*[data-yt-binded=0]").each(function(){
|
||||
$(this).attr("data-yt-binded","1");
|
||||
var obj = $(this).find("iframe");
|
||||
obj.attr("id",$(this).data("youtube-id") + "_" + ad_banners_count);
|
||||
ad_banners_count++;
|
||||
})
|
||||
});
|
||||
function onYouTubePlayerReady(playerId) {
|
||||
var y = document.getElementById(playerId);
|
||||
y.addEventListener("onStateChange", "onytplayerStateChange");
|
||||
|
||||
if (typeof onYouTubeIframeAPIReady !== 'function'){
|
||||
function onYouTubeIframeAPIReady(){
|
||||
$(".w-ad-banner iframe[data-yt-api-binded=0]").each(function(){
|
||||
$(this).attr("data-yt-api-binded","1");
|
||||
new YT.Player($(this).attr("id"), {
|
||||
events: {
|
||||
'onStateChange': onPlayerStateChange
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
function onytplayerStateChange(newState) {
|
||||
if(newState == 0){
|
||||
$(".cycle-slideshow").cycle("resume");
|
||||
}else if(newState == 1){
|
||||
$(".cycle-slideshow").cycle("pause");
|
||||
|
||||
function onPlayerStateChange(event){
|
||||
var iframe = $(event.target.getIframe()),
|
||||
cyclediv = iframe.parents("div.cycle-slideshow");
|
||||
if(event.data == YT.PlayerState.PLAYING || event.data == YT.PlayerState.BUFFERING){
|
||||
cyclediv.cycle("pause");
|
||||
}else if(event.data == YT.PlayerState.PAUSED || event.data == YT.PlayerState.ENDED){
|
||||
cyclediv.cycle("resume");
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -4,16 +4,19 @@
|
|||
data-level="0"
|
||||
data-cycle-slides=".w-ad-banner__slide"
|
||||
data-cycle-log="false"
|
||||
data-pager=".w-ad-banner__pager"
|
||||
data-pager=".w-ad-banner__pager-3"
|
||||
data-pager-template="<li><a href='#'></a></li>"
|
||||
data-pager-active-class="active-slide"
|
||||
>
|
||||
<div class="w-ad-banner__slide {{class}}"
|
||||
data-link="{{link}}"
|
||||
data-cycle-title="{{title}}"
|
||||
data-cycle-desc="{{context}}"
|
||||
data-overlay-template="<h2>{{title}}</h2>{{desc}}"
|
||||
>
|
||||
<img class="w-ad-banner__image" src="{{image_link}}">
|
||||
<img class="w-ad-banner__image banner-responsive" src="{{image_link}}">
|
||||
</div>
|
||||
</div>
|
||||
<ul class="w-ad-banner__pager"></ul>
|
||||
<ul class="w-ad-banner__pager-3 banner-pager"></ul>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
<div class="w-ad-banner ad-banner-widget-4">
|
||||
<div class="w-ad-banner__wrap cycle-slideshow"
|
||||
data-list="images"
|
||||
data-level="0"
|
||||
data-cycle-slides=".w-ad-banner__slide"
|
||||
data-cycle-log="false"
|
||||
>
|
||||
<div class="w-ad-banner__slide {{class}}"
|
||||
data-link="{{link}}"
|
||||
>
|
||||
<img class="w-ad-banner__image banner-responsive" src="{{image_link}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -19,8 +19,8 @@
|
|||
{
|
||||
"filename" : "ad_banner_widget3",
|
||||
"name" : {
|
||||
"zh_tw" : "3. 廣告輪播 ( 圖片 )",
|
||||
"en" : "3. AD banner ( image )"
|
||||
"zh_tw" : "3. 橫幅輪播 ( 圖片, 導航圖示 )",
|
||||
"en" : "3. Carousel ( image, navigation )"
|
||||
},
|
||||
"thumbnail" : "thumbnail-block.png"
|
||||
},
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
<div class="w-adm widget-admission-1">
|
||||
<h3 class="w-adm__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<table class="w-adm__table table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="w-adm__th w-adm__th--category">{{category-head}}</th>
|
||||
<th class="w-adm__th w-adm__th--title">{{title-head}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-level="0" data-list="announcements">
|
||||
<tr>
|
||||
<td class="w-adm__category">{{category}}</td>
|
||||
<td>
|
||||
<span class="w-adm__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-adm__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="w-adm__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
|
@ -1,24 +1,19 @@
|
|||
<div class="w-annc widget-announcement-11">
|
||||
<div class="w-annc widget-announcement-11">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<table class="w-annc__table table">
|
||||
<thead>
|
||||
<tr>
|
||||
<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="announcements">
|
||||
<tr>
|
||||
<td>
|
||||
<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-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
<td class="w-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<ul class="w-annc__list" data-level="0" data-list="announcements">
|
||||
<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-annc__postdate">{{postdate}}</span>
|
||||
</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-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -2,26 +2,23 @@
|
|||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<div class="w-annc__inner row">
|
||||
<div class="w-annc__img-wrap col-md-4 bullseye">
|
||||
<img class="w-annc__img" src="{{main_picture}}" alt="{{main_picture_description}}" title="{{main_picture_description}}">
|
||||
</div>
|
||||
<ul class="w-annc__list col-md-8" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item">
|
||||
<div class="w-annc__content row">
|
||||
<h4 class="w-annc__entry-title col-md-9">
|
||||
<table class="w-annc__table table">
|
||||
<thead>
|
||||
<tr>
|
||||
<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="announcements">
|
||||
<tr>
|
||||
<td>
|
||||
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="w-annc__status label {{status-class}}">{{status}}</span>
|
||||
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<span class="w-annc__postdate-wrap col-md-3" date-format="%Y-%m-%d">
|
||||
<i class="fa fa-calendar-o"></i>
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
<td class="w-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
|
@ -0,0 +1,24 @@
|
|||
<div class="w-annc widget-announcement-13">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<table class="w-annc__table table">
|
||||
<thead>
|
||||
<tr>
|
||||
<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="announcements">
|
||||
<tr>
|
||||
<td class="w-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
|
||||
<td>
|
||||
<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-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
|
@ -0,0 +1,27 @@
|
|||
<div class="w-annc widget-announcement-14">
|
||||
<h3 class="w-annc__widget-title">
|
||||
<span>{{widget-title}}</span>
|
||||
</h3>
|
||||
<div class="w-annc__inner row">
|
||||
<div class="w-annc__img-wrap col-md-4 bullseye">
|
||||
<img class="w-annc__img" src="{{main_picture}}" alt="{{main_picture_description}}" title="{{main_picture_description}}">
|
||||
</div>
|
||||
<ul class="w-annc__list col-md-8" data-level="0" data-list="announcements">
|
||||
<li class="w-annc__item">
|
||||
<div class="w-annc__content row">
|
||||
<h4 class="w-annc__entry-title col-md-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-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<span class="w-annc__postdate-wrap col-md-3" date-format="%Y-%m-%d">
|
||||
<i class="fa fa-calendar-o"></i>
|
||||
<span class="w-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
|
@ -1,20 +1,25 @@
|
|||
<div class="i-annc index-announcement-1 {{display}}">
|
||||
<div class="i-annc index-announcement-1 {{display}}">
|
||||
<h3 class="i-annc__page-title">{{page-title}}</h3>
|
||||
<table class="i-annc__table table table-striped">
|
||||
<table class="i-annc__table table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<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">{{category-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="announcements">
|
||||
<tr>
|
||||
<td class="i-annc__category">{{category}}</td>
|
||||
<td>
|
||||
<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="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
<td><span class="i-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</span></td>
|
||||
<td><a class="i-annc__title" href="{{link_to_show}}">{{title}}</a></td>
|
||||
<td>{{category}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
||||
{{pagination_goes_here}}
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
<div class="i-annc index-announcement-10">
|
||||
<h3 class="i-annc__page-title">{{page-title}}</h3>
|
||||
<ul class="i-annc__list" data-level="0" data-list="announcements">
|
||||
<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-annc__postdate">{{postdate}}</span>
|
||||
</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-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<span class="i-annc__category-wrap col-sm-2">
|
||||
<i class="fa fa-tasks"></i>
|
||||
<span class="i-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</li>
|
||||
</ul>>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -0,0 +1,18 @@
|
|||
<div class="i-annc index-announcement-11">
|
||||
<h3 class="i-annc__page-title">{{page-title}}</h3>
|
||||
<ul class="i-annc__list" data-level="0" data-list="announcements">
|
||||
<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-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<span class="i-annc__postdate-wrap col-sm-3" date-format="%Y-%m-%d">
|
||||
<i class="fa fa-calendar-o"></i>
|
||||
<span class="i-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -0,0 +1,18 @@
|
|||
<div class="i-annc index-announcement-12">
|
||||
<h3 class="i-annc__page-title">{{page-title}}</h3>
|
||||
<ul class="i-annc__list" data-level="0" data-list="announcements">
|
||||
<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-annc__postdate">{{postdate}}</span>
|
||||
</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-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -0,0 +1,23 @@
|
|||
<div class="i-annc index-announcement-13 {{display}}">
|
||||
<h3 class="i-annc__page-title">{{page-title}}</h3>
|
||||
<table class="i-annc__table table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<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="announcements">
|
||||
<tr>
|
||||
<td>
|
||||
<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-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
<td class="i-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -0,0 +1,23 @@
|
|||
<div class="i-annc index-announcement-14 {{display}}">
|
||||
<h3 class="i-annc__page-title">{{page-title}}</h3>
|
||||
<table class="i-annc__table table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<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="announcements">
|
||||
<tr>
|
||||
<td class="i-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
|
||||
<td>
|
||||
<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-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -0,0 +1,25 @@
|
|||
<div class="i-annc index-announcement-15 {{display}}">
|
||||
<h3 class="i-annc__page-title">{{page-title}}</h3>
|
||||
<table class="i-annc__table table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<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="announcements">
|
||||
<tr>
|
||||
<td class="i-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
|
||||
<td>
|
||||
<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-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
<td class="i-annc__category">{{view_count}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -0,0 +1,39 @@
|
|||
<div class="i-annc index-announcement-16 {{display}}">
|
||||
<h3 class="i-annc__page-title">{{page-title}}</h3>
|
||||
<table class="i-annc__table table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<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="announcements">
|
||||
<tr>
|
||||
<td class="i-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</td>
|
||||
<td>
|
||||
<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-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
<td>
|
||||
<ul data-list="bulletin_links" data-level="1">
|
||||
<li>
|
||||
<a class="i-annc__title" href="{{link_url}}">{{link_title}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<ul data-list="bulletin_files" data-level="1">
|
||||
<li>
|
||||
<a class="i-annc__title" href="{{file_url}}">{{file_title}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -1,30 +1,27 @@
|
|||
<div class="i-annc index-announcement-2 {{display}}">
|
||||
<div class="i-annc index-announcement-1 {{display}}">
|
||||
<h3 class="i-annc__page-title">{{page-title}}</h3>
|
||||
<ul class="i-annc__list" data-level="0" data-list="announcements">
|
||||
<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-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>
|
||||
<table class="i-annc__table table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<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="announcements">
|
||||
<tr>
|
||||
<td class="i-annc__category">{{category}}</td>
|
||||
<td>
|
||||
<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="i-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<i class="fa fa-calendar-o"></i>
|
||||
<span class="i-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="i-annc__category-wrap">
|
||||
<i class="fa fa-tasks"></i>
|
||||
<span class="i-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="i-annc__entry-title">
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="i-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
<td><span class="i-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</span></td>
|
||||
<td class="i-annc__category">{{view_count}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
||||
{{pagination_goes_here}}
|
|
@ -1,30 +1,25 @@
|
|||
<div class="i-annc index-announcement-3 {{display}}">
|
||||
<div class="i-annc index-announcement-3 {{display}}">
|
||||
<h3 class="i-annc__page-title">{{page-title}}</h3>
|
||||
<ul class="i-annc__list" data-level="0" data-list="announcements">
|
||||
<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>
|
||||
<table class="i-annc__table table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<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="announcements">
|
||||
<tr>
|
||||
<td><span class="i-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</span></td>
|
||||
<td>
|
||||
<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="i-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<i class="fa fa-calendar-o"></i>
|
||||
<span class="i-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="i-annc__category-wrap">
|
||||
<i class="fa fa-tasks"></i>
|
||||
<span class="i-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="i-annc__entry-title">
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="i-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
<div class="i-annc__img-wrap col-sm-4">
|
||||
<img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
<td class="i-annc__category">{{category}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -0,0 +1,27 @@
|
|||
<div class="i-annc index-announcement-4 {{display}}">
|
||||
<h3 class="i-annc__page-title">{{page-title}}</h3>
|
||||
<table class="i-annc__table table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<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="announcements">
|
||||
<tr>
|
||||
<td><span class="i-annc__postdate" date-format="%Y-%m-%d">{{postdate}}</span></td>
|
||||
<td>
|
||||
<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="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</td>
|
||||
<td class="i-annc__category">{{category}}</td>
|
||||
<td class="i-annc__category">{{view_count}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -0,0 +1,30 @@
|
|||
<div class="i-annc index-announcement-5">
|
||||
<h3 class="i-annc__page-title">{{page-title}}</h3>
|
||||
<ul class="i-annc__list" data-level="0" data-list="announcements">
|
||||
<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-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-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<i class="fa fa-calendar-o"></i>
|
||||
<span class="i-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="i-annc__category-wrap">
|
||||
<i class="fa fa-tasks"></i>
|
||||
<span class="i-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="i-annc__entry-title">
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="i-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -0,0 +1,30 @@
|
|||
<div class="i-annc index-announcement-6">
|
||||
<h3 class="i-annc__page-title">{{page-title}}</h3>
|
||||
<ul class="i-annc__list" data-level="0" data-list="announcements">
|
||||
<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-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<i class="fa fa-calendar-o"></i>
|
||||
<span class="i-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="i-annc__category-wrap">
|
||||
<i class="fa fa-tasks"></i>
|
||||
<span class="i-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="i-annc__entry-title">
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="i-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
<div class="i-annc__img-wrap col-sm-4">
|
||||
<img class="i-annc__img" src="{{img_src}}" alt="{{img_description}}">
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -0,0 +1,30 @@
|
|||
<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="announcements">
|
||||
<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-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-annc__postdate-wrap" date-format="%Y-%m-%d">
|
||||
<i class="fa fa-calendar-o"></i>
|
||||
<span class="i-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="i-annc__category-wrap">
|
||||
<i class="fa fa-tasks"></i>
|
||||
<span class="i-annc__category">{{category}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="i-annc__entry-title">
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="i-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -0,0 +1,26 @@
|
|||
<div class="i-annc index-announcement-8">
|
||||
<h3 class="i-annc__page-title">{{page-title}}</h3>
|
||||
<ul class="i-annc__list row" data-level="0" data-list="announcements">
|
||||
<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-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
<span class="i-annc__category-wrap">
|
||||
<i class="fa fa-tasks"></i>
|
||||
<span class="i-annc__category">{{category}}</span>
|
||||
</span>
|
||||
<span class="i-annc__status-wrap" data-list="statuses" data-level="1">
|
||||
<span class="i-annc__status label {{status-class}}">{{status}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<h4 class="i-annc__entry-title">
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<p class="i-annc__subtitle">{{subtitle}}</p>
|
||||
</div>
|
||||
</li>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -0,0 +1,22 @@
|
|||
<div class="i-annc index-announcement-9">
|
||||
<h3 class="i-annc__page-title">{{page-title}}</h3>
|
||||
<ul class="i-annc__list" data-level="0" data-list="announcements">
|
||||
<li class="i-annc__item row">
|
||||
<span class="i-annc__category-wrap col-sm-2">
|
||||
<i class="fa fa-tasks"></i>
|
||||
<span class="i-annc__category">{{category}}</span>
|
||||
</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-class}}">{{status}}</span>
|
||||
</span>
|
||||
<a class="i-annc__title" href="{{link_to_show}}">{{title}}</a>
|
||||
</h4>
|
||||
<span class="i-annc__postdate-wrap col-sm-2" date-format="%Y-%m-%d">
|
||||
<i class="fa fa-calendar-o"></i>
|
||||
<span class="i-annc__postdate">{{postdate}}</span>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -3,26 +3,130 @@
|
|||
{
|
||||
"filename" : "annc_index1",
|
||||
"name" : {
|
||||
"zh_tw" : "1. 標準表格列表 ( 模組標題, 日期, 標題, 類別 )",
|
||||
"en" : "1. Standard Table List (widget-title, postdate, title, category)"
|
||||
"zh_tw" : "1. 標準標題列表-1A ( 模組標題, 類別, 狀態, 標題, 日期 )",
|
||||
"en" : "1. Standard Title List-1 (widget-title, category, status, title, postdate)"
|
||||
},
|
||||
"thumbnail" : "annc_index1_thumbs.png"
|
||||
},
|
||||
{
|
||||
"filename" : "annc_index2",
|
||||
"name" : {
|
||||
"zh_tw" : "2. 左圖右文 ( 模組標題, 圖片, 狀態, 日期, 類別, 標題, 副標題 )",
|
||||
"en" : "2. Balanced Image + Text(Right) (widget-title, image, status, postdate, category, title, subtitle)"
|
||||
"zh_tw" : "2. 標準標題列表-1B ( 模組標題, 類別, 狀態, 標題, 日期, 瀏覽人次 )",
|
||||
"en" : "2. Standard Title List-1B (widget-title, category, status, title, postdate, view-counts)"
|
||||
},
|
||||
"thumbnail" : "annc_index2_thumbs.png"
|
||||
},
|
||||
{
|
||||
"filename" : "annc_index3",
|
||||
"name" : {
|
||||
"zh_tw" : "3. 右圖左文 ( 模組標題, 狀態, 日期, 類別, 標題, 副標題, 圖片 )",
|
||||
"en" : "3. Balanced Image + Text(left) (widget-title, status, postdate, category, title, subtitle, image)"
|
||||
"zh_tw" : "3. 標準表格列表-2A ( 模組標題, 日期, 狀態, 標題, 類別 )",
|
||||
"en" : "3. Standard Table List-2 (widget-title, postdate, status, title, category)"
|
||||
},
|
||||
"thumbnail" : "annc_index3_thumbs.png"
|
||||
},
|
||||
{
|
||||
"filename" : "annc_index4",
|
||||
"name" : {
|
||||
"zh_tw" : "4. 標準表格列表-2B ( 模組標題, 日期, 狀態, 標題, 類別, 瀏覽人次 )",
|
||||
"en" : "4. Standard Table List-2 (widget-title, postdate, status, title, category, view-counts)"
|
||||
},
|
||||
"thumbnail" : "annc_index4_thumbs.png"
|
||||
},
|
||||
{
|
||||
"filename" : "annc_index5",
|
||||
"name" : {
|
||||
"zh_tw" : "5. 左圖右文 ( 模組標題, 圖片, 狀態, 日期, 類別, 標題, 副標題 )",
|
||||
"en" : "5. Balanced Image + Text(Left) (widget-title, image, status, postdate, category, title, subtitle)"
|
||||
},
|
||||
"thumbnail" : "annc_index5_thumbs.png"
|
||||
},
|
||||
{
|
||||
"filename" : "annc_index6",
|
||||
"name" : {
|
||||
"zh_tw" : "6. 右圖左文 ( 模組標題, 圖片, 狀態, 日期, 類別, 標題, 副標題 )",
|
||||
"en" : "6. Balanced Image + Text(Right) (widget-title, image, status, postdate, category, title, subtitle)"
|
||||
},
|
||||
"thumbnail" : "annc_index6_thumbs.png"
|
||||
},
|
||||
{
|
||||
"filename" : "annc_index7",
|
||||
"name" : {
|
||||
"zh_tw" : "7. 三欄圖文 ( 模組標題, 圖片, 狀態, 日期, 類別, 標題, 副標題 )",
|
||||
"en" : "7. 3-Column Standard Image + Text (widget-title, image, status, postdate, category, title, subtitle)"
|
||||
},
|
||||
"thumbnail" : "annc_index7_thumbs.png"
|
||||
},
|
||||
{
|
||||
"filename" : "annc_index8",
|
||||
"name" : {
|
||||
"zh_tw" : "8. 標準文字列表 ( 模組標題, 日期, 類別, 狀態, 標題, 副標題 )",
|
||||
"en" : "8. Standard Text List (widget-title, postdate, category, status, title, subtitle)"
|
||||
},
|
||||
"thumbnail" : "annc_index8_thumbs.png"
|
||||
},
|
||||
{
|
||||
"filename" : "annc_index9",
|
||||
"name" : {
|
||||
"zh_tw" : "9. 標準標題列表-1 ( 模組標題, 類別, 狀態, 標題, 日期 )",
|
||||
"en" : "9. Standard Title List-1 (widget-title, category, status, title, postdate)"
|
||||
},
|
||||
"thumbnail" : "annc_index9_thumbs.png"
|
||||
},
|
||||
{
|
||||
"filename" : "annc_index10",
|
||||
"name" : {
|
||||
"zh_tw" : "10. 標準標題列表-2 ( 模組標題, 日期, 狀態, 標題, 類別 )",
|
||||
"en" : "10. Standard Title List-2 (widget-title, postdate, status, title, category)"
|
||||
},
|
||||
"thumbnail" : "annc_index10_thumbs.png"
|
||||
},
|
||||
{
|
||||
"filename" : "annc_index11",
|
||||
"name" : {
|
||||
"zh_tw" : "11. 精簡標題列表-1 ( 模組標題, 狀態, 標題, 日期 )",
|
||||
"en" : "11. Simple Title List-1 (widget-title, status, title, postdate)"
|
||||
},
|
||||
"thumbnail" : "annc_index11_thumbs.png"
|
||||
},
|
||||
{
|
||||
"filename" : "annc_index12",
|
||||
"name" : {
|
||||
"zh_tw" : "12. 精簡標題列表-2 ( 模組標題, 日期, 狀態, 標題 )",
|
||||
"en" : "12. Simple Title List-2 (widget-title, postdate, status, title)"
|
||||
},
|
||||
"thumbnail" : "annc_index12_thumbs.png"
|
||||
},
|
||||
{
|
||||
"filename" : "annc_index13",
|
||||
"name" : {
|
||||
"zh_tw" : "13. 精簡表格列表-1 ( 模組標題, 狀態, 標題, 日期 )",
|
||||
"en" : "13. Simple Table List (widget-title, status, title, postdate)"
|
||||
},
|
||||
"thumbnail" : "annc_index13_thumbs.png"
|
||||
},
|
||||
{
|
||||
"filename" : "annc_index14",
|
||||
"name" : {
|
||||
"zh_tw" : "14. 精簡表格列表-2 ( 模組標題, 日期, 狀態, 標題 )",
|
||||
"en" : "14. Simple Table List (widget-title, postdate, status, title)"
|
||||
},
|
||||
"thumbnail" : "annc_index14_thumbs.png"
|
||||
},
|
||||
{
|
||||
"filename" : "annc_index15",
|
||||
"name" : {
|
||||
"zh_tw" : "15. 精簡表格列表-3 ( 模組標題, 日期, 狀態, 標題, 瀏覽人次 )",
|
||||
"en" : "15. Simple Table List (widget-title, postdate, status, title, view-counts)"
|
||||
},
|
||||
"thumbnail" : "annc_index15_thumbs.png"
|
||||
},
|
||||
{
|
||||
"filename" : "annc_index16",
|
||||
"name" : {
|
||||
"zh_tw" : "16. 連結 + 附件表格列表 ( 模組標題, 日期, 狀態, 標題 )",
|
||||
"en" : "16. Table List including Links and attachments (widget-title, postdate, status, title, view-counts)"
|
||||
},
|
||||
"thumbnail" : "annc_index16_thumbs.png"
|
||||
}
|
||||
],
|
||||
"widgets" : [
|
||||
|
@ -101,7 +205,7 @@
|
|||
{
|
||||
"filename" : "annc_widget10",
|
||||
"name" : {
|
||||
"zh_tw" : "10. 精簡標題列表 ( 模組標題, 狀態, 標題, 日期 )",
|
||||
"zh_tw" : "10. 精簡標題列表-1 ( 模組標題, 狀態, 標題, 日期 )",
|
||||
"en" : "10. Simple Title List-1 (widget-title, status, title, postdate)"
|
||||
},
|
||||
"thumbnail" : "annc_widget10_thumbs.png"
|
||||
|
@ -109,18 +213,34 @@
|
|||
{
|
||||
"filename" : "annc_widget11",
|
||||
"name" : {
|
||||
"zh_tw" : "11. 精簡表格列表 ( 模組標題, 狀態, 標題, 日期 )",
|
||||
"en" : "11. Simple Table List (widget-title, status, title, postdate)"
|
||||
"zh_tw" : "11. 精簡標題列表-2 ( 模組標題, 日期, 狀態, 標題 )",
|
||||
"en" : "11. Simple Title List-2 (widget-title, postdate, status, title)"
|
||||
},
|
||||
"thumbnail" : "annc_widget11_thumbs.png"
|
||||
},
|
||||
{
|
||||
"filename" : "annc_widget12",
|
||||
"name" : {
|
||||
"zh_tw" : "12. 一圖 + 標題列表 ( 模組標題, 圖片, 狀態, 標題, 日期 )",
|
||||
"en" : "12. 1 Image + Title List (widget-title, status, title, postdate)"
|
||||
"zh_tw" : "12. 精簡表格列表-1 ( 模組標題, 狀態, 標題, 日期 )",
|
||||
"en" : "12. Simple Table List (widget-title, status, title, postdate)"
|
||||
},
|
||||
"thumbnail" : "annc_widget12_thumbs.png"
|
||||
},
|
||||
{
|
||||
"filename" : "annc_widget13",
|
||||
"name" : {
|
||||
"zh_tw" : "13. 精簡表格列表-2 ( 模組標題, 日期, 狀態, 標題 )",
|
||||
"en" : "13. Simple Table List (widget-title, postdate, status, title)"
|
||||
},
|
||||
"thumbnail" : "annc_widget13_thumbs.png"
|
||||
},
|
||||
{
|
||||
"filename" : "annc_widget14",
|
||||
"name" : {
|
||||
"zh_tw" : "14. 一圖 + 標題列表 ( 模組標題, 圖片, 狀態, 標題, 日期 )",
|
||||
"en" : "14. 1 Image + Title List (widget-title, status, title, postdate)"
|
||||
},
|
||||
"thumbnail" : "annc_widget14_thumbs.png"
|
||||
}
|
||||
]
|
||||
}
|
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.7 KiB |
|
@ -17,4 +17,3 @@
|
|||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<%= javascript_include_tag "plugin/jquery.cycle2.carousel.min"%>
|
|
@ -1,46 +1,46 @@
|
|||
{
|
||||
"frontend": [
|
||||
{
|
||||
"filename" : "gallery_index1",
|
||||
"name" : {
|
||||
"zh_tw" : "1. 相本排版-1",
|
||||
"en" : "1. Gallery-1"
|
||||
},
|
||||
"thumbnail" : "thumbnail-block-list.png"
|
||||
},
|
||||
{
|
||||
"filename" : "gallery_index2",
|
||||
"name" : {
|
||||
"zh_tw" : "2. 相本排版-2",
|
||||
"en" : "2. Gallery-2"
|
||||
},
|
||||
"thumbnail" : "thumbnail-block.png"
|
||||
}
|
||||
],
|
||||
"widgets" : [
|
||||
{
|
||||
"filename" : "gallery_widget1",
|
||||
"name" : {
|
||||
"zh_tw" : "1. 相本排版-1",
|
||||
"en" : "1. Gallery-1"
|
||||
},
|
||||
"thumbnail" : "thumbnail-block.png"
|
||||
},
|
||||
{
|
||||
"filename" : "gallery_widget2",
|
||||
"name" : {
|
||||
"zh_tw" : "2. 相本排版-2",
|
||||
"en" : "2. Gallery-2"
|
||||
},
|
||||
"thumbnail" : "thumbnail-block.png"
|
||||
},
|
||||
{
|
||||
"filename" : "gallery_widget3",
|
||||
"name" : {
|
||||
"zh_tw" : "3. 相本排版-3",
|
||||
"en" : "2. Gallery-3"
|
||||
},
|
||||
"thumbnail" : "thumbnail-block.png"
|
||||
}
|
||||
]
|
||||
{
|
||||
"frontend": [
|
||||
{
|
||||
"filename" : "gallery_index1",
|
||||
"name" : {
|
||||
"zh_tw" : "1. 相本排版-1",
|
||||
"en" : "1. Gallery-1"
|
||||
},
|
||||
"thumbnail" : "thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "gallery_index2",
|
||||
"name" : {
|
||||
"zh_tw" : "2. 相本排版-2",
|
||||
"en" : "2. Gallery-2"
|
||||
},
|
||||
"thumbnail" : "thumb.png"
|
||||
}
|
||||
],
|
||||
"widgets" : [
|
||||
{
|
||||
"filename" : "gallery_widget1",
|
||||
"name" : {
|
||||
"zh_tw" : "1. 相本排版-1",
|
||||
"en" : "1. Gallery-1"
|
||||
},
|
||||
"thumbnail" : "thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "gallery_widget2",
|
||||
"name" : {
|
||||
"zh_tw" : "2. 相本排版-2",
|
||||
"en" : "2. Gallery-2"
|
||||
},
|
||||
"thumbnail" : "thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "gallery_widget3",
|
||||
"name" : {
|
||||
"zh_tw" : "3. 相本排版-3",
|
||||
"en" : "2. Gallery-3"
|
||||
},
|
||||
"thumbnail" : "thumb.png"
|
||||
}
|
||||
]
|
||||
}
|
After Width: | Height: | Size: 4.0 KiB |
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"frontend": [
|
||||
{
|
||||
"filename" : "member_index1",
|
||||
"name" : {
|
||||
"zh_tw" : "1. 表格列表",
|
||||
"en" : "1. Table List"
|
||||
},
|
||||
"thumbnail" : "thumbnail-block-list.png"
|
||||
},
|
||||
{
|
||||
"filename" : "member_index2",
|
||||
"name" : {
|
||||
"zh_tw" : "2. 單欄式 ( 類別標題, 個人照片, 個人資料)",
|
||||
"en" : "2. Single Column (category title, photo, profile)"
|
||||
},
|
||||
"thumbnail" : "member_index2_thumb.png"
|
||||
},
|
||||
{
|
||||
"filename" : "member_index3",
|
||||
"name" : {
|
||||
"zh_tw" : "3. 名片式 ( 類別標題, 個人照片, 個人資料 )",
|
||||
"en" : "3. Two Columns (category title, photo, profile)"
|
||||
},
|
||||
"thumbnail" : "member_index3_thumb.png"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,31 +1,17 @@
|
|||
<div class="index-member index1">
|
||||
<div class="index-member-group" data-list="roles" data-level="0">
|
||||
<div class="index-member-group-item">
|
||||
<div class="index-member-status" data-level="1" data-list="status-list">
|
||||
<h3 class="index-title">
|
||||
<span>{{status-title}}</span>
|
||||
</h3>
|
||||
<div class="index-member-list row" data-level="2" data-list="members">
|
||||
<div class="index-member-item clearfix col-lg-6 row">
|
||||
<div class="member-pic-wrap col-xs-4">
|
||||
<a href="{{link_to_show}}">
|
||||
<img class="member-pic" src="{{image}}" alt="{{name}}" title="{{name}}" width="100%">
|
||||
</a>
|
||||
</div>
|
||||
<div class="member-profile-data-wrap col-xs-8">
|
||||
<table class="table">
|
||||
<tbody data-list="profile_data" data-level="3">
|
||||
<tr>
|
||||
<th class="{{title_class}}">{{title}}</th>
|
||||
<td class="{{value_class}}">{{value}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="i-member index-member-1">
|
||||
<div class="i-member-group" data-list="roles" data-level="0">
|
||||
<div class="index-member-status" data-level="1" data-list="status-list">
|
||||
<h3 class="i-member__status-title">{{status-title}}</h3>
|
||||
<div class="index-member-list" >
|
||||
<table class="i-member__table table table-striped">
|
||||
<tbody data-level="2" data-list="members">
|
||||
<tr data-list="profile_data" data-level="3">
|
||||
<td class="{{value_class}}">{{value}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -0,0 +1,29 @@
|
|||
<div class="i-member index-member-2">
|
||||
<div data-list="roles" data-level="0">
|
||||
<div class="i-member-section">
|
||||
<div data-level="1" data-list="status-list">
|
||||
<h3 class="i-member-status-title">{{status-title}}</h3>
|
||||
<div class="i-member-list" data-level="2" data-list="members">
|
||||
<div class="i-member-item row">
|
||||
<div class="i-member-item-inner clearfix">
|
||||
<div class="i-member-pic-wrap col-sm-3">
|
||||
<a class="i-member-link" href="{{link_to_show}}">
|
||||
<img class="i-member-pic img-thumbnail" src="{{image}}" alt="{{name}}" title="{{name}}">
|
||||
</a>
|
||||
</div>
|
||||
<div class="i-member-profile-data-wrap col-sm-9">
|
||||
<ul class="i-member-profile-list" data-list="profile_data" data-level="3">
|
||||
<li class="i-member-profile-item">
|
||||
<span class="i-member-title {{title_class}}">{{title}}</span>
|
||||
<span class="i-member-value {{value_class}}">: {{value}}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -0,0 +1,29 @@
|
|||
<div class="i-member index-member-3">
|
||||
<div data-list="roles" data-level="0">
|
||||
<div class="i-member-section">
|
||||
<div data-level="1" data-list="status-list">
|
||||
<h3 class="i-member-status-title">{{status-title}}</h3>
|
||||
<div class="i-member-list row" data-level="2" data-list="members">
|
||||
<div class="i-member-item col-md-6">
|
||||
<div class="i-member-item-inner clearfix">
|
||||
<div class="i-member-pic-wrap col-sm-4">
|
||||
<a class="i-member-link" href="{{link_to_show}}">
|
||||
<img class="i-member-pic" src="{{image}}" alt="{{name}}" title="{{name}}">
|
||||
</a>
|
||||
</div>
|
||||
<div class="i-member-profile-data-wrap col-sm-8">
|
||||
<ul class="i-member-profile-list" data-list="profile_data" data-level="3">
|
||||
<li class="i-member-profile-item">
|
||||
<span class="i-member-title {{title_class}}">{{title}}</span>
|
||||
<span class="i-member-value {{value_class}}">: {{value}}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -1,31 +0,0 @@
|
|||
<div class="index-member index1">
|
||||
<div class="index-member-group" data-list="roles" data-level="0">
|
||||
<div class="index-member-group-item">
|
||||
<div class="index-member-status" data-level="1" data-list="status-list">
|
||||
<h3 class="index-title">
|
||||
<span>{{status-title}}</span>
|
||||
</h3>
|
||||
<div class="index-member-list row" data-level="2" data-list="members">
|
||||
<div class="index-member-item clearfix col-lg-6 row">
|
||||
<div class="member-pic-wrap col-xs-4">
|
||||
<a href="{{link_to_show}}">
|
||||
<img class="member-pic" src="{{image}}" alt="{{name}}" title="{{name}}" width="100%">
|
||||
</a>
|
||||
</div>
|
||||
<div class="member-profile-data-wrap col-xs-8">
|
||||
<table class="table">
|
||||
<tbody data-list="profile_data" data-level="3">
|
||||
<tr>
|
||||
<th class="{{title_class}}">{{title}}</th>
|
||||
<td class="{{value_class}}">{{value}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
|
@ -1,31 +0,0 @@
|
|||
<div class="index-member index1">
|
||||
<div class="index-member-group" data-list="roles" data-level="0">
|
||||
<div class="index-member-group-item">
|
||||
<div class="index-member-status" data-level="1" data-list="status-list">
|
||||
<h3 class="index-title">
|
||||
<span>{{status-title}}</span>
|
||||
</h3>
|
||||
<div class="index-member-list row" data-level="2" data-list="members">
|
||||
<div class="index-member-item clearfix col-lg-6 row">
|
||||
<div class="member-pic-wrap col-xs-4">
|
||||
<a href="{{link_to_show}}">
|
||||
<img class="member-pic" src="{{image}}" alt="{{name}}" title="{{name}}" width="100%">
|
||||
</a>
|
||||
</div>
|
||||
<div class="member-profile-data-wrap col-xs-8">
|
||||
<table class="table">
|
||||
<tbody data-list="profile_data" data-level="3">
|
||||
<tr>
|
||||
<th class="{{title_class}}">{{title}}</th>
|
||||
<td class="{{value_class}}">{{value}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{pagination_goes_here}}
|
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 2.5 KiB |
|
@ -11,7 +11,8 @@
|
|||
<%= javascript_include_tag "plugin/modernizr"%>
|
||||
<%= javascript_include_tag "plugin/jquery-bullseye-min"%>
|
||||
<%= javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/jquery.cycle2/20140415/jquery.cycle2.min.js"%>
|
||||
<%= javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/jquery.cycle2/20140415/jquery.cycle2.video.min.js"%>
|
||||
<%= javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/jquery.cycle2/20140415/jquery.cycle2.carousel.min.js"%>
|
||||
<%= javascript_include_tag "plugin/jquery.cycle2.video.min.js"%>
|
||||
<%= javascript_include_tag "app"%>
|
||||
<%= javascript_include_tag "#{@dataApi}" if @dataApi != nil%>
|
||||
<%= render_google_analytics %>
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
<% content_for :page_specific_javascript do -%>
|
||||
<%= javascript_include_tag "group.js" %>
|
||||
<% end -%>
|
||||
<%
|
||||
current_user_is_group_admin = group.admins.include?(current_user.id.to_s) ? true : false
|
||||
if !current_user_is_group_admin
|
||||
|
@ -22,7 +25,7 @@
|
|||
group.admins.each_with_index do |admin,i|
|
||||
user = User.find(admin) rescue nil
|
||||
if !user.nil?
|
||||
author = author + (user.member_profile.name == "" ? user.user_name : user.member_profile.name rescue "")
|
||||
author = author + (user.member_profile.name == nil ? user.user_name : user.member_profile.name rescue "")
|
||||
author = author + ", " if i != group.admins.count - 1
|
||||
end
|
||||
end
|
||||
|
@ -35,7 +38,9 @@
|
|||
<span class="label <%= group.privacy == 'closed' ? "label-important" : "label-success" %>"><%= group.privacy %></span>
|
||||
</li>
|
||||
<li>
|
||||
<%= group.description %>
|
||||
<% content = group.description %>
|
||||
<%= content[0..250] %>
|
||||
<%= "..." if content.length > 250 %>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -2,16 +2,8 @@
|
|||
<%= stylesheet_link_tag "lib/main-forms" %>
|
||||
<%= stylesheet_link_tag "lib/fileupload" %>
|
||||
<%= stylesheet_link_tag "lib/main-list" %>
|
||||
<%= stylesheet_link_tag "group_admin" %>
|
||||
<%= stylesheet_link_tag "select2/select2" %>
|
||||
<style>
|
||||
.select2-container{
|
||||
width : 600px;
|
||||
}
|
||||
.img-avatar{
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
</style>
|
||||
<% end %>
|
||||
<% content_for :page_specific_javascript do %>
|
||||
<%= javascript_include_tag "lib/bootstrap-fileupload" %>
|
||||
|
@ -67,13 +59,28 @@
|
|||
</div>
|
||||
</div>
|
||||
<!-- privacy settings -->
|
||||
<div class="control-group">
|
||||
<div class="control-group" id="privacy_box">
|
||||
<label class="control-label muted">Privacy</label>
|
||||
<div class="controls">
|
||||
<input type="radio" name="group[privacy]" value="open" /> Open
|
||||
<input type="radio" name="group[privacy]" value="closed" checked="checked" /> Closed
|
||||
<label class="radio inline">
|
||||
<input type="radio" name="group[privacy]" value="open" /> Open
|
||||
</label>
|
||||
<label class="radio inline">
|
||||
<input type="radio" name="group[privacy]" value="closed" checked="checked" /> Closed
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group" id="permission_box">
|
||||
<label class="control-label muted">Permission</label>
|
||||
<div class="controls">
|
||||
<label class="radio inline">
|
||||
<input type="radio" name="group[permission]" value="read" /> Read
|
||||
</label>
|
||||
<label class="radio inline">
|
||||
<input type="radio" name="group[permission]" value="write" checked="checked" /> Write
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t(:members) %></label>
|
||||
<div class="controls">
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<a href="/admin/posts/<%= post.to_param %>" class="group-page-post-link">
|
||||
<div class="group-page-post">
|
||||
<div class="group-page-post clearfix">
|
||||
<div class="group-page-post-image-wrap">
|
||||
<% if !post.image.nil? %>
|
||||
<img class="group-page-post-image" src="<%= post.image.url %>" alt="<%= post.title %>">
|
||||
<% if !post.group_post_images.blank? %>
|
||||
<img class="group-page-post-image" src="<%= post.group_post_images.first.image.thumb.url %>" alt="<%= post.title %>">
|
||||
<% else %>
|
||||
<img class="group-page-post-image" src="/assets/member-pic.png" alt="Post image">
|
||||
<img class="group-page-post-image" src="/assets/no-image.jpg" alt="Post image">
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="group-page-post-content-wrap">
|
||||
|
@ -21,15 +21,26 @@
|
|||
<%
|
||||
user = User.find(post.author) rescue nil
|
||||
if !user.nil?
|
||||
author = (user.member_profile.name == "" ? user.user_name : user.member_profile.name rescue "")
|
||||
author = (user.member_profile.name == nil ? user.user_name : user.member_profile.name rescue "")
|
||||
%>
|
||||
<i class="group-page-post-author-icon icon-user"></i> <%= author %>
|
||||
<% end %>
|
||||
</span>
|
||||
<span class="group-page-post-postdate">
|
||||
<% date = DateTime.parse(post.created_at.to_s).strftime("%d %B") %>
|
||||
<i class="group-page-post-postdate-icon icon-time"></i> <%= date %>
|
||||
</span>
|
||||
<div class="group-page-post-sub-wrap">
|
||||
<span class="group-page-post-postdate">
|
||||
<% date = DateTime.parse(post.created_at.to_s).strftime("%d %B %H:%M") %>
|
||||
<i class="group-page-post-postdate-icon icon-time"></i> <%= date %>
|
||||
</span>
|
||||
<!-- <span class="group-post-time">10:25</span> -->
|
||||
</div>
|
||||
<!-- <div class="group-page-seen-by tool-tip-parent">
|
||||
<i class="fa fa-eye"></i>
|
||||
<em class="group-page-seen-by-lead">Seen by: </em>
|
||||
<div class="gorup-post-seen-by-names tool-tip right">
|
||||
<span class="group-page-seen-by-name">Harry</span>
|
||||
<span class="group-page-seen-by-name">Ika</span>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
<li class="group-post-comment">
|
||||
<div class="group-post-comment-wrap">
|
||||
<div class="group-post-comment-avatar">
|
||||
<%
|
||||
user = post_comment.user rescue nil
|
||||
if !user.nil?
|
||||
author = (user.member_profile.name == nil ? user.user_name : user.member_profile.name rescue "")
|
||||
avatar = (!user.member_profile.avatar.nil? ? user.member_profile.avatar.thumb.url : "/assets/member-pic.png" rescue "/assets/member-pic.png")
|
||||
end
|
||||
%>
|
||||
<img src="<%= avatar %> " alt="Avatar image">
|
||||
</div>
|
||||
<div class="group-post-comment-body">
|
||||
<div class="group-post-comment-author-wrap">
|
||||
<div class="group-post-comment-author"><%= author %></div>
|
||||
<% date = DateTime.parse(post_comment.created_at.to_s).strftime("%d %B") %>
|
||||
<div class="group-post-comment-time muted"><%= date %></div>
|
||||
</div>
|
||||
<div class="group-post-comment-content">
|
||||
<% content_images = parse_for_images(post_comment.comment) %>
|
||||
<%= content_images.first %>
|
||||
<%= content_images.last.html_safe %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
|
@ -2,13 +2,24 @@
|
|||
<%= stylesheet_link_tag "lib/main-forms" %>
|
||||
<%= stylesheet_link_tag "lib/fileupload" %>
|
||||
<%= stylesheet_link_tag "lib/main-list" %>
|
||||
<%= stylesheet_link_tag "lib/dropzone" %>
|
||||
<%= stylesheet_link_tag "group_show" %>
|
||||
<%= stylesheet_link_tag "group_admin" %>
|
||||
<%= stylesheet_link_tag "//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" %>
|
||||
<%= stylesheet_link_tag "//cdnjs.cloudflare.com/ajax/libs/animate.css/3.2.6/animate.min.css" %>
|
||||
<% end %>
|
||||
<% content_for :page_specific_javascript do %>
|
||||
<%= javascript_include_tag "lib/bootstrap-fileupload" %>
|
||||
<%= javascript_include_tag "lib/file-type" %>
|
||||
<%= javascript_include_tag "lib/module-area" %>
|
||||
<%= javascript_include_tag "lib/module-area" %>
|
||||
<%= javascript_include_tag "lib/dropzone" %>
|
||||
<% end %>
|
||||
<div class="input-area">
|
||||
|
||||
<div class="upload-status-notice hide">
|
||||
<i class="fa fa-refresh fa-spin"></i>
|
||||
<span class="upload-text">Uploading...</span>
|
||||
</div>
|
||||
|
||||
<!-- Module Tabs -->
|
||||
<ul class="nav nav-pills module-nav">
|
||||
|
@ -21,40 +32,31 @@
|
|||
<div class="tab-pane fade in active" id="basic">
|
||||
<!-- group banner image -->
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t(:image) %></label>
|
||||
<label class="control-label muted"><%= t(:images) %></label>
|
||||
<div class="controls">
|
||||
<div class="fileupload fileupload-new clearfix <%= 'fileupload-edit' if @grouppost.image.file %>" data-provides="fileupload">
|
||||
<div class="fileupload-new thumbnail pull-left">
|
||||
<% if @grouppost.image.file %>
|
||||
<%= image_tag @grouppost.image %>
|
||||
<% else %>
|
||||
<img src="http://www.placehold.it/50x50/EFEFEF/AAAAAA" />
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="fileupload-preview fileupload-exists thumbnail pull-left"></div>
|
||||
<span class="btn btn-file">
|
||||
<span class="fileupload-new"><%= t(:select_image) %></span>
|
||||
<span class="fileupload-exists"><%= t(:change) %></span>
|
||||
<%= f.file_field :image %>
|
||||
</span>
|
||||
<a href="#" class="btn fileupload-exists" data-dismiss="fileupload"><%= t(:cancel) %></a>
|
||||
<div class="controls" data-toggle="buttons-checkbox">
|
||||
<label class="checkbox inline btn btn-danger fileupload-remove">
|
||||
<%= f.check_box :remove_image %><%= t(:remove) %>
|
||||
</label>
|
||||
</div>
|
||||
<!-- <input name="group_post_images" type="file" multiple > -->
|
||||
<div class="dropzone dropzone-pool" id="group-post-images">
|
||||
<div class="dropzone-previews" id="group-post-images-container"></div>
|
||||
</div>
|
||||
<% if params[:action] == "editpost" %>
|
||||
<button class="upload_image_btn btn">Upload</button>
|
||||
<% end %>
|
||||
<button class="remove_image_btn btn btn-warning">
|
||||
<i class="fa fa-ban"></i>
|
||||
<span>Remove all images</span>
|
||||
</button>
|
||||
</div>
|
||||
<div id="image_ids">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Language -->
|
||||
<div class="tab-content language-area">
|
||||
|
||||
<!-- Title-->
|
||||
<div class="control-group input-title">
|
||||
<div class="control-group input-title">
|
||||
<label class="control-label muted"><%= t(:title) %></label>
|
||||
<div class="controls">
|
||||
<%= f.text_field :title, class: "input-block-level", placeholder: t(:title), value: (@grouppost.title rescue nil) %>
|
||||
|
@ -71,11 +73,39 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label muted"><%= t(:files) %></label>
|
||||
<div class="controls">
|
||||
<!-- <input name="group_post_images" type="file" multiple > -->
|
||||
<div class="dropzone dropzone-pool" id="group-post-files">
|
||||
<div class="dropzone-previews" id="group-post-files-container"></div>
|
||||
</div>
|
||||
<% if params[:action] == "editpost" %>
|
||||
<button class="upload_file_btn">Upload</button>
|
||||
<% end %>
|
||||
<button class="remove_file_btn btn btn-warning">
|
||||
<i class="fa fa-ban"></i>
|
||||
<span>Remove all files<span>
|
||||
</button>
|
||||
</div>
|
||||
<div id="file_ids">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- Form Actions -->
|
||||
|
||||
<div class="form-actions">
|
||||
<%= f.submit t('submit'), class: 'btn btn-primary' %>
|
||||
<%= f.submit t('submit'), class: 'btn btn-primary', id: "create-post-form-btn" %>
|
||||
<%= link_to t('cancel'), admin_groups_path, :class=>"btn" %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -2,4 +2,137 @@
|
|||
<fieldset>
|
||||
<%= render :partial => "post_form", locals: {f: f} %>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<script type="text/javascript">
|
||||
Dropzone.autoDiscover = false;
|
||||
var image_id_panel = $("#image_ids");
|
||||
var file_id_panel = $("#file_ids");
|
||||
var groupImageDropzone = new Dropzone("div#group-post-images", {
|
||||
url : "/admin/posts/image",
|
||||
previewsContainer : "#group-post-images-container",
|
||||
paramName : "group_post_image[image]",
|
||||
clickable : true,
|
||||
autoProcessQueue : false,
|
||||
addRemoveLinks : true,
|
||||
uploadMultiple : false,
|
||||
accept: function(file, done) {
|
||||
var regex = new RegExp(/(\.|\/)(gif|jpe?g|png)$/i)
|
||||
if(regex.test(file.name)){
|
||||
done();
|
||||
}else{
|
||||
this.removeFile(file);
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
$(".upload_image_btn").on("click",function(){
|
||||
$("#group-post-images a.dz-remove").remove();
|
||||
doImagesUpload();
|
||||
return false;
|
||||
})
|
||||
|
||||
$(".remove_image_btn").on("click",function(){
|
||||
groupImageDropzone.removeAllFiles();
|
||||
return false;
|
||||
})
|
||||
|
||||
groupImageDropzone.on("success",function(file,data){
|
||||
image_id_panel.append("<input type='hidden' name='group_post[group_post_images][]' value='" + data.id + "' />");
|
||||
})
|
||||
groupImageDropzone.on("sending",function(file,xhr,obj){
|
||||
obj.append("authenticity_token",$("form#new_group_post input[name=authenticity_token]").val());
|
||||
})
|
||||
|
||||
var doImagesUpload = function(){
|
||||
groupImageDropzone.processQueue();
|
||||
groupImageDropzone.on("complete", function(file) {
|
||||
var filesCount = groupImageDropzone.getQueuedFiles().length;
|
||||
if(filesCount > 0){
|
||||
doImagesUpload();
|
||||
}else{
|
||||
if(groupFilesDropzone.getQueuedFiles().length > 0){
|
||||
doFilesUpload();
|
||||
}else{
|
||||
submitForm();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
var groupFilesDropzone = new Dropzone("div#group-post-files", {
|
||||
url : "/admin/posts/file",
|
||||
previewsContainer : "#group-post-files-container",
|
||||
paramName : "group_post_file[file]",
|
||||
clickable : true,
|
||||
autoProcessQueue : false,
|
||||
addRemoveLinks : true,
|
||||
uploadMultiple : false,
|
||||
accept: function(file, done) {
|
||||
var regex = new RegExp(/(\.|\/)(pdf|doc?x|xls?x|rtf|txt|ppt?x|mp3|mov|avi|gif|jpe?g|png|zip|rar)$/i)
|
||||
if(regex.test(file.name)){
|
||||
done();
|
||||
}else{
|
||||
this.removeFile(file);
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
$(".upload_file_btn").on("click",function(){
|
||||
$("#group-post-files a.dz-remove").remove();
|
||||
doFilesUpload();
|
||||
return false;
|
||||
})
|
||||
|
||||
$(".remove_file_btn").on("click",function(){
|
||||
groupFilesDropzone.removeAllFiles();
|
||||
return false;
|
||||
})
|
||||
|
||||
groupFilesDropzone.on("success",function(file,data){
|
||||
file_id_panel.append("<input type='hidden' name='group_post[group_post_files][]' value='" + data.id + "' />");
|
||||
})
|
||||
groupFilesDropzone.on("sending",function(file,xhr,obj){
|
||||
obj.append("authenticity_token",$("form#new_group_post input[name=authenticity_token]").val());
|
||||
})
|
||||
|
||||
var doFilesUpload = function(){
|
||||
groupFilesDropzone.processQueue();
|
||||
groupFilesDropzone.on("complete", function(file) {
|
||||
var filesCount = groupFilesDropzone.getQueuedFiles().length;
|
||||
if(filesCount > 0){
|
||||
doFilesUpload();
|
||||
}else{
|
||||
submitForm();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$("#create-post-form-btn").on("click",function(){
|
||||
if(groupImageDropzone.getQueuedFiles().length > 0){
|
||||
doImagesUpload();
|
||||
}else if(groupFilesDropzone.getQueuedFiles().length > 0){
|
||||
doFilesUpload();
|
||||
}else{
|
||||
submitForm();
|
||||
}
|
||||
// uploading all the files
|
||||
$(".upload-status-notice")
|
||||
.removeClass("hide")
|
||||
.addClass("animated slideInRight");
|
||||
return false;
|
||||
})
|
||||
|
||||
var submitForm = function(){
|
||||
if(groupImageDropzone.getQueuedFiles().length > 0 || groupFilesDropzone.getQueuedFiles().length > 0){
|
||||
return false;
|
||||
}else{
|
||||
$(".upload-status-notice span.upload-text").text("Submitting");
|
||||
$("form#new_group_post").submit();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</script>
|