Put new assets and use some old ones
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 587 B |
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="38px" height="38px" viewBox="0 0 38 38" enable-background="new 0 0 38 38" xml:space="preserve">
|
||||
<path fill="#FFFFFF" d="M20.286,1C11.055,1,3.571,8.483,3.571,17.714c0,1.519,0.204,2.991,0.584,4.39
|
||||
C2.233,23.636,1,25.995,1,28.643C1,33.258,4.742,37,9.357,37c2.648,0,5.007-1.232,6.539-3.155c1.399,0.38,2.871,0.585,4.39,0.585
|
||||
C29.518,34.43,37,26.945,37,17.714C37,8.483,29.518,1,20.286,1z M9.357,33.143c-2.485,0-4.5-2.015-4.5-4.5
|
||||
c0-2.484,2.015-4.5,4.5-4.5s4.5,2.016,4.5,4.5C13.857,31.128,11.842,33.143,9.357,33.143z M20.27,29.287
|
||||
c-0.881,0-1.739-0.102-2.563-0.289c0.005-0.118,0.009-0.236,0.009-0.355c0-4.615-3.742-8.356-8.357-8.356
|
||||
c-0.123,0-0.245,0.004-0.367,0.009c-0.189-0.83-0.292-1.692-0.292-2.58c0-6.391,5.181-11.571,11.572-11.571
|
||||
c6.391,0,11.57,5.18,11.57,11.571C31.841,24.105,26.66,29.287,20.27,29.287z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 3.0 KiB |
|
@ -0,0 +1,8 @@
|
|||
//= require jquery
|
||||
//= require jquery_ujs
|
||||
|
||||
//= require basic/bootstrap
|
||||
//= require basic/iscroll
|
||||
//= require basic/orbit_js_1.0.1.js
|
||||
//= require basic/jquery.nanoscroller.js
|
||||
//= require basic/jquery.easing.1.3.js
|
|
@ -0,0 +1,205 @@
|
|||
/*
|
||||
* jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
|
||||
*
|
||||
* Uses the built in easing capabilities added In jQuery 1.1
|
||||
* to offer multiple easing options
|
||||
*
|
||||
* TERMS OF USE - jQuery Easing
|
||||
*
|
||||
* Open source under the BSD License.
|
||||
*
|
||||
* Copyright © 2008 George McGinley Smith
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
* Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* Neither the name of the author nor the names of contributors may be used to endorse
|
||||
* or promote products derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
// t: current time, b: begInnIng value, c: change In value, d: duration
|
||||
jQuery.easing['jswing'] = jQuery.easing['swing'];
|
||||
|
||||
jQuery.extend( jQuery.easing,
|
||||
{
|
||||
def: 'easeOutQuad',
|
||||
swing: function (x, t, b, c, d) {
|
||||
//alert(jQuery.easing.default);
|
||||
return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
|
||||
},
|
||||
easeInQuad: function (x, t, b, c, d) {
|
||||
return c*(t/=d)*t + b;
|
||||
},
|
||||
easeOutQuad: function (x, t, b, c, d) {
|
||||
return -c *(t/=d)*(t-2) + b;
|
||||
},
|
||||
easeInOutQuad: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return c/2*t*t + b;
|
||||
return -c/2 * ((--t)*(t-2) - 1) + b;
|
||||
},
|
||||
easeInCubic: function (x, t, b, c, d) {
|
||||
return c*(t/=d)*t*t + b;
|
||||
},
|
||||
easeOutCubic: function (x, t, b, c, d) {
|
||||
return c*((t=t/d-1)*t*t + 1) + b;
|
||||
},
|
||||
easeInOutCubic: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return c/2*t*t*t + b;
|
||||
return c/2*((t-=2)*t*t + 2) + b;
|
||||
},
|
||||
easeInQuart: function (x, t, b, c, d) {
|
||||
return c*(t/=d)*t*t*t + b;
|
||||
},
|
||||
easeOutQuart: function (x, t, b, c, d) {
|
||||
return -c * ((t=t/d-1)*t*t*t - 1) + b;
|
||||
},
|
||||
easeInOutQuart: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
|
||||
return -c/2 * ((t-=2)*t*t*t - 2) + b;
|
||||
},
|
||||
easeInQuint: function (x, t, b, c, d) {
|
||||
return c*(t/=d)*t*t*t*t + b;
|
||||
},
|
||||
easeOutQuint: function (x, t, b, c, d) {
|
||||
return c*((t=t/d-1)*t*t*t*t + 1) + b;
|
||||
},
|
||||
easeInOutQuint: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
|
||||
return c/2*((t-=2)*t*t*t*t + 2) + b;
|
||||
},
|
||||
easeInSine: function (x, t, b, c, d) {
|
||||
return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
|
||||
},
|
||||
easeOutSine: function (x, t, b, c, d) {
|
||||
return c * Math.sin(t/d * (Math.PI/2)) + b;
|
||||
},
|
||||
easeInOutSine: function (x, t, b, c, d) {
|
||||
return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
|
||||
},
|
||||
easeInExpo: function (x, t, b, c, d) {
|
||||
return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
|
||||
},
|
||||
easeOutExpo: function (x, t, b, c, d) {
|
||||
return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
|
||||
},
|
||||
easeInOutExpo: function (x, t, b, c, d) {
|
||||
if (t==0) return b;
|
||||
if (t==d) return b+c;
|
||||
if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
|
||||
return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
|
||||
},
|
||||
easeInCirc: function (x, t, b, c, d) {
|
||||
return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
|
||||
},
|
||||
easeOutCirc: function (x, t, b, c, d) {
|
||||
return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
|
||||
},
|
||||
easeInOutCirc: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
|
||||
return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
|
||||
},
|
||||
easeInElastic: function (x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
|
||||
},
|
||||
easeOutElastic: function (x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||
},
|
||||
easeInOutElastic: function (x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
|
||||
return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
|
||||
},
|
||||
easeInBack: function (x, t, b, c, d, s) {
|
||||
if (s == undefined) s = 1.70158;
|
||||
return c*(t/=d)*t*((s+1)*t - s) + b;
|
||||
},
|
||||
easeOutBack: function (x, t, b, c, d, s) {
|
||||
if (s == undefined) s = 1.70158;
|
||||
return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
|
||||
},
|
||||
easeInOutBack: function (x, t, b, c, d, s) {
|
||||
if (s == undefined) s = 1.70158;
|
||||
if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
|
||||
return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
|
||||
},
|
||||
easeInBounce: function (x, t, b, c, d) {
|
||||
return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
|
||||
},
|
||||
easeOutBounce: function (x, t, b, c, d) {
|
||||
if ((t/=d) < (1/2.75)) {
|
||||
return c*(7.5625*t*t) + b;
|
||||
} else if (t < (2/2.75)) {
|
||||
return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
|
||||
} else if (t < (2.5/2.75)) {
|
||||
return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
|
||||
} else {
|
||||
return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
|
||||
}
|
||||
},
|
||||
easeInOutBounce: function (x, t, b, c, d) {
|
||||
if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
|
||||
return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
*
|
||||
* TERMS OF USE - EASING EQUATIONS
|
||||
*
|
||||
* Open source under the BSD License.
|
||||
*
|
||||
* Copyright © 2001 Robert Penner
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
* Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* Neither the name of the author nor the names of contributors may be used to endorse
|
||||
* or promote products derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
|
@ -0,0 +1,752 @@
|
|||
/*! nanoScrollerJS - v0.7.2
|
||||
* http://jamesflorentino.github.com/nanoScrollerJS/
|
||||
* Copyright (c) 2013 James Florentino; Licensed MIT */
|
||||
|
||||
|
||||
(function($, window, document) {
|
||||
"use strict";
|
||||
|
||||
var BROWSER_IS_IE7, BROWSER_SCROLLBAR_WIDTH, DOMSCROLL, DOWN, DRAG, KEYDOWN, KEYUP, MOUSEDOWN, MOUSEMOVE, MOUSEUP, MOUSEWHEEL, NanoScroll, PANEDOWN, RESIZE, SCROLL, SCROLLBAR, TOUCHMOVE, UP, WHEEL, defaults, getBrowserScrollbarWidth;
|
||||
defaults = {
|
||||
/**
|
||||
a classname for the pane element.
|
||||
@property paneClass
|
||||
@type String
|
||||
@default 'pane'
|
||||
*/
|
||||
|
||||
paneClass: 'pane',
|
||||
/**
|
||||
a classname for the slider element.
|
||||
@property sliderClass
|
||||
@type String
|
||||
@default 'slider'
|
||||
*/
|
||||
|
||||
sliderClass: 'slider',
|
||||
/**
|
||||
a classname for the content element.
|
||||
@property contentClass
|
||||
@type String
|
||||
@default 'content'
|
||||
*/
|
||||
|
||||
contentClass: 'content',
|
||||
/**
|
||||
a setting to enable native scrolling in iOS devices.
|
||||
@property iOSNativeScrolling
|
||||
@type Boolean
|
||||
@default false
|
||||
*/
|
||||
|
||||
iOSNativeScrolling: false,
|
||||
/**
|
||||
a setting to prevent the rest of the page being
|
||||
scrolled when user scrolls the `.content` element.
|
||||
@property preventPageScrolling
|
||||
@type Boolean
|
||||
@default false
|
||||
*/
|
||||
|
||||
preventPageScrolling: false,
|
||||
/**
|
||||
a setting to disable binding to the resize event.
|
||||
@property disableResize
|
||||
@type Boolean
|
||||
@default false
|
||||
*/
|
||||
|
||||
disableResize: false,
|
||||
/**
|
||||
a setting to make the scrollbar always visible.
|
||||
@property alwaysVisible
|
||||
@type Boolean
|
||||
@default false
|
||||
*/
|
||||
|
||||
alwaysVisible: false,
|
||||
/**
|
||||
a default timeout for the `flash()` method.
|
||||
@property flashDelay
|
||||
@type Number
|
||||
@default 1500
|
||||
*/
|
||||
|
||||
flashDelay: 1500,
|
||||
/**
|
||||
a minimum height for the `.slider` element.
|
||||
@property sliderMinHeight
|
||||
@type Number
|
||||
@default 20
|
||||
*/
|
||||
|
||||
sliderMinHeight: 20,
|
||||
/**
|
||||
a maximum height for the `.slider` element.
|
||||
@property sliderMaxHeight
|
||||
@type Number
|
||||
@default null
|
||||
*/
|
||||
|
||||
sliderMaxHeight: null
|
||||
};
|
||||
/**
|
||||
@property SCROLLBAR
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
SCROLLBAR = 'scrollbar';
|
||||
/**
|
||||
@property SCROLL
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
SCROLL = 'scroll';
|
||||
/**
|
||||
@property MOUSEDOWN
|
||||
@type String
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
MOUSEDOWN = 'mousedown';
|
||||
/**
|
||||
@property MOUSEMOVE
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
MOUSEMOVE = 'mousemove';
|
||||
/**
|
||||
@property MOUSEWHEEL
|
||||
@type String
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
MOUSEWHEEL = 'mousewheel';
|
||||
/**
|
||||
@property MOUSEUP
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
MOUSEUP = 'mouseup';
|
||||
/**
|
||||
@property RESIZE
|
||||
@type String
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
RESIZE = 'resize';
|
||||
/**
|
||||
@property DRAG
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
DRAG = 'drag';
|
||||
/**
|
||||
@property UP
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
UP = 'up';
|
||||
/**
|
||||
@property PANEDOWN
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
PANEDOWN = 'panedown';
|
||||
/**
|
||||
@property DOMSCROLL
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
DOMSCROLL = 'DOMMouseScroll';
|
||||
/**
|
||||
@property DOWN
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
DOWN = 'down';
|
||||
/**
|
||||
@property WHEEL
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
WHEEL = 'wheel';
|
||||
/**
|
||||
@property KEYDOWN
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
KEYDOWN = 'keydown';
|
||||
/**
|
||||
@property KEYUP
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
KEYUP = 'keyup';
|
||||
/**
|
||||
@property TOUCHMOVE
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
TOUCHMOVE = 'touchmove';
|
||||
/**
|
||||
@property BROWSER_IS_IE7
|
||||
@type Boolean
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
BROWSER_IS_IE7 = window.navigator.appName === 'Microsoft Internet Explorer' && /msie 7./i.test(window.navigator.appVersion) && window.ActiveXObject;
|
||||
/**
|
||||
@property BROWSER_SCROLLBAR_WIDTH
|
||||
@type Number
|
||||
@static
|
||||
@default null
|
||||
@private
|
||||
*/
|
||||
|
||||
BROWSER_SCROLLBAR_WIDTH = null;
|
||||
/**
|
||||
Returns browser's native scrollbar width
|
||||
@method getBrowserScrollbarWidth
|
||||
@return {Number} the scrollbar width in pixels
|
||||
@static
|
||||
@private
|
||||
*/
|
||||
|
||||
getBrowserScrollbarWidth = function() {
|
||||
var outer, outerStyle, scrollbarWidth;
|
||||
outer = document.createElement('div');
|
||||
outerStyle = outer.style;
|
||||
outerStyle.position = 'absolute';
|
||||
outerStyle.width = '100px';
|
||||
outerStyle.height = '100px';
|
||||
outerStyle.overflow = SCROLL;
|
||||
outerStyle.top = '-9999px';
|
||||
document.body.appendChild(outer);
|
||||
scrollbarWidth = outer.offsetWidth - outer.clientWidth;
|
||||
document.body.removeChild(outer);
|
||||
return scrollbarWidth;
|
||||
};
|
||||
/**
|
||||
@class NanoScroll
|
||||
@param element {HTMLElement|Node} the main element
|
||||
@param options {Object} nanoScroller's options
|
||||
@constructor
|
||||
*/
|
||||
|
||||
NanoScroll = (function() {
|
||||
|
||||
function NanoScroll(el, options) {
|
||||
this.el = el;
|
||||
this.options = options;
|
||||
BROWSER_SCROLLBAR_WIDTH || (BROWSER_SCROLLBAR_WIDTH = getBrowserScrollbarWidth());
|
||||
this.$el = $(this.el);
|
||||
this.doc = $(document);
|
||||
this.win = $(window);
|
||||
this.$content = this.$el.children("." + options.contentClass);
|
||||
this.$content.attr('tabindex', 0);
|
||||
this.content = this.$content[0];
|
||||
if (this.options.iOSNativeScrolling && (this.el.style.WebkitOverflowScrolling != null)) {
|
||||
this.nativeScrolling();
|
||||
} else {
|
||||
this.generate();
|
||||
}
|
||||
this.createEvents();
|
||||
this.addEvents();
|
||||
this.reset();
|
||||
}
|
||||
|
||||
/**
|
||||
Prevents the rest of the page being scrolled
|
||||
when user scrolls the `.content` element.
|
||||
@method preventScrolling
|
||||
@param event {Event}
|
||||
@param direction {String} Scroll direction (up or down)
|
||||
@private
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.preventScrolling = function(e, direction) {
|
||||
if (!this.isActive) {
|
||||
return;
|
||||
}
|
||||
if (e.type === DOMSCROLL) {
|
||||
if (direction === DOWN && e.originalEvent.detail > 0 || direction === UP && e.originalEvent.detail < 0) {
|
||||
e.preventDefault();
|
||||
}
|
||||
} else if (e.type === MOUSEWHEEL) {
|
||||
if (!e.originalEvent || !e.originalEvent.wheelDelta) {
|
||||
return;
|
||||
}
|
||||
if (direction === DOWN && e.originalEvent.wheelDelta < 0 || direction === UP && e.originalEvent.wheelDelta > 0) {
|
||||
e.preventDefault();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
Enable iOS native scrolling
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.nativeScrolling = function() {
|
||||
this.$content.css({
|
||||
WebkitOverflowScrolling: 'touch'
|
||||
});
|
||||
this.iOSNativeScrolling = true;
|
||||
this.isActive = true;
|
||||
};
|
||||
|
||||
/**
|
||||
Updates those nanoScroller properties that
|
||||
are related to current scrollbar position.
|
||||
@method updateScrollValues
|
||||
@private
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.updateScrollValues = function() {
|
||||
var content;
|
||||
content = this.content;
|
||||
this.maxScrollTop = content.scrollHeight - content.clientHeight;
|
||||
this.contentScrollTop = content.scrollTop;
|
||||
if (!this.iOSNativeScrolling) {
|
||||
this.maxSliderTop = this.paneHeight - this.sliderHeight;
|
||||
this.sliderTop = this.contentScrollTop * this.maxSliderTop / this.maxScrollTop;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
Creates event related methods
|
||||
@method createEvents
|
||||
@private
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.createEvents = function() {
|
||||
var _this = this;
|
||||
this.events = {
|
||||
down: function(e) {
|
||||
_this.isBeingDragged = true;
|
||||
_this.offsetY = e.pageY - _this.slider.offset().top;
|
||||
_this.pane.addClass('active');
|
||||
_this.doc.bind(MOUSEMOVE, _this.events[DRAG]).bind(MOUSEUP, _this.events[UP]);
|
||||
return false;
|
||||
},
|
||||
drag: function(e) {
|
||||
_this.sliderY = e.pageY - _this.$el.offset().top - _this.offsetY;
|
||||
_this.scroll();
|
||||
_this.updateScrollValues();
|
||||
if (_this.contentScrollTop >= _this.maxScrollTop) {
|
||||
_this.$el.trigger('scrollend');
|
||||
} else if (_this.contentScrollTop === 0) {
|
||||
_this.$el.trigger('scrolltop');
|
||||
}
|
||||
return false;
|
||||
},
|
||||
up: function(e) {
|
||||
_this.isBeingDragged = false;
|
||||
_this.pane.removeClass('active');
|
||||
_this.doc.unbind(MOUSEMOVE, _this.events[DRAG]).unbind(MOUSEUP, _this.events[UP]);
|
||||
return false;
|
||||
},
|
||||
resize: function(e) {
|
||||
_this.reset();
|
||||
},
|
||||
panedown: function(e) {
|
||||
_this.sliderY = (e.offsetY || e.originalEvent.layerY) - (_this.sliderHeight * 0.5);
|
||||
_this.scroll();
|
||||
_this.events.down(e);
|
||||
return false;
|
||||
},
|
||||
scroll: function(e) {
|
||||
if (_this.isBeingDragged) {
|
||||
return;
|
||||
}
|
||||
_this.updateScrollValues();
|
||||
if (!_this.iOSNativeScrolling) {
|
||||
_this.sliderY = _this.sliderTop;
|
||||
_this.slider.css({
|
||||
top: _this.sliderTop
|
||||
});
|
||||
}
|
||||
if (e == null) {
|
||||
return;
|
||||
}
|
||||
if (_this.contentScrollTop >= _this.maxScrollTop) {
|
||||
if (_this.options.preventPageScrolling) {
|
||||
_this.preventScrolling(e, DOWN);
|
||||
}
|
||||
_this.$el.trigger('scrollend');
|
||||
} else if (_this.contentScrollTop === 0) {
|
||||
if (_this.options.preventPageScrolling) {
|
||||
_this.preventScrolling(e, UP);
|
||||
}
|
||||
_this.$el.trigger('scrolltop');
|
||||
}
|
||||
},
|
||||
wheel: function(e) {
|
||||
if (e == null) {
|
||||
return;
|
||||
}
|
||||
_this.sliderY += -e.wheelDeltaY || -e.delta;
|
||||
_this.scroll();
|
||||
return false;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
Adds event listeners with jQuery.
|
||||
@method addEvents
|
||||
@private
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.addEvents = function() {
|
||||
var events;
|
||||
this.removeEvents();
|
||||
events = this.events;
|
||||
if (!this.options.disableResize) {
|
||||
this.win.bind(RESIZE, events[RESIZE]);
|
||||
}
|
||||
if (!this.iOSNativeScrolling) {
|
||||
this.slider.bind(MOUSEDOWN, events[DOWN]);
|
||||
this.pane.bind(MOUSEDOWN, events[PANEDOWN]).bind("" + MOUSEWHEEL + " " + DOMSCROLL, events[WHEEL]);
|
||||
}
|
||||
this.$content.bind("" + SCROLL + " " + MOUSEWHEEL + " " + DOMSCROLL + " " + TOUCHMOVE, events[SCROLL]);
|
||||
};
|
||||
|
||||
/**
|
||||
Removes event listeners with jQuery.
|
||||
@method removeEvents
|
||||
@private
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.removeEvents = function() {
|
||||
var events;
|
||||
events = this.events;
|
||||
this.win.unbind(RESIZE, events[RESIZE]);
|
||||
if (!this.iOSNativeScrolling) {
|
||||
this.slider.unbind();
|
||||
this.pane.unbind();
|
||||
}
|
||||
this.$content.unbind("" + SCROLL + " " + MOUSEWHEEL + " " + DOMSCROLL + " " + TOUCHMOVE, events[SCROLL]);
|
||||
};
|
||||
|
||||
/**
|
||||
Generates nanoScroller's scrollbar and elements for it.
|
||||
@method generate
|
||||
@chainable
|
||||
@private
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.generate = function() {
|
||||
var contentClass, cssRule, options, paneClass, sliderClass;
|
||||
options = this.options;
|
||||
paneClass = options.paneClass, sliderClass = options.sliderClass, contentClass = options.contentClass;
|
||||
if (!this.$el.find("" + paneClass).length && !this.$el.find("" + sliderClass).length) {
|
||||
this.$el.append("<div class=\"" + paneClass + "\"><div class=\"" + sliderClass + "\" /></div>");
|
||||
}
|
||||
this.pane = this.$el.children("." + paneClass);
|
||||
this.slider = this.pane.find("." + sliderClass);
|
||||
if (BROWSER_SCROLLBAR_WIDTH) {
|
||||
cssRule = this.$el.css('direction') === 'rtl' ? {
|
||||
left: -BROWSER_SCROLLBAR_WIDTH
|
||||
} : {
|
||||
right: -BROWSER_SCROLLBAR_WIDTH
|
||||
};
|
||||
this.$el.addClass('has-scrollbar');
|
||||
}
|
||||
if (cssRule != null) {
|
||||
this.$content.css(cssRule);
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
@method restore
|
||||
@private
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.restore = function() {
|
||||
this.stopped = false;
|
||||
this.pane.show();
|
||||
this.addEvents();
|
||||
};
|
||||
|
||||
/**
|
||||
Resets nanoScroller's scrollbar.
|
||||
@method reset
|
||||
@chainable
|
||||
@example
|
||||
$(".nano").nanoScroller();
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.reset = function() {
|
||||
var content, contentHeight, contentStyle, contentStyleOverflowY, paneBottom, paneHeight, paneOuterHeight, paneTop, sliderHeight;
|
||||
if (this.iOSNativeScrolling) {
|
||||
this.contentHeight = this.content.scrollHeight;
|
||||
return;
|
||||
}
|
||||
if (!this.$el.find("." + this.options.paneClass).length) {
|
||||
this.generate().stop();
|
||||
}
|
||||
if (this.stopped) {
|
||||
this.restore();
|
||||
}
|
||||
content = this.content;
|
||||
contentStyle = content.style;
|
||||
contentStyleOverflowY = contentStyle.overflowY;
|
||||
if (BROWSER_IS_IE7) {
|
||||
this.$content.css({
|
||||
height: this.$content.height()
|
||||
});
|
||||
}
|
||||
contentHeight = content.scrollHeight + BROWSER_SCROLLBAR_WIDTH;
|
||||
paneHeight = this.pane.outerHeight();
|
||||
paneTop = parseInt(this.pane.css('top'), 10);
|
||||
paneBottom = parseInt(this.pane.css('bottom'), 10);
|
||||
paneOuterHeight = paneHeight + paneTop + paneBottom;
|
||||
sliderHeight = Math.round(paneOuterHeight / contentHeight * paneOuterHeight);
|
||||
if (sliderHeight < this.options.sliderMinHeight) {
|
||||
sliderHeight = this.options.sliderMinHeight;
|
||||
} else if ((this.options.sliderMaxHeight != null) && sliderHeight > this.options.sliderMaxHeight) {
|
||||
sliderHeight = this.options.sliderMaxHeight;
|
||||
}
|
||||
if (contentStyleOverflowY === SCROLL && contentStyle.overflowX !== SCROLL) {
|
||||
sliderHeight += BROWSER_SCROLLBAR_WIDTH;
|
||||
}
|
||||
this.maxSliderTop = paneOuterHeight - sliderHeight;
|
||||
this.contentHeight = contentHeight;
|
||||
this.paneHeight = paneHeight;
|
||||
this.paneOuterHeight = paneOuterHeight;
|
||||
this.sliderHeight = sliderHeight;
|
||||
this.slider.height(sliderHeight);
|
||||
this.events.scroll();
|
||||
this.pane.show();
|
||||
this.isActive = true;
|
||||
if ((content.scrollHeight === content.clientHeight) || (this.pane.outerHeight(true) >= content.scrollHeight && contentStyleOverflowY !== SCROLL)) {
|
||||
this.pane.hide();
|
||||
this.isActive = false;
|
||||
} else if (this.el.clientHeight === content.scrollHeight && contentStyleOverflowY === SCROLL) {
|
||||
this.slider.hide();
|
||||
} else {
|
||||
this.slider.show();
|
||||
}
|
||||
this.pane.css({
|
||||
opacity: (this.options.alwaysVisible ? 1 : ''),
|
||||
visibility: (this.options.alwaysVisible ? 'visible' : '')
|
||||
});
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
@method scroll
|
||||
@private
|
||||
@example
|
||||
$(".nano").nanoScroller({ scroll: 'top' });
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.scroll = function() {
|
||||
if (!this.isActive) {
|
||||
return;
|
||||
}
|
||||
this.sliderY = Math.max(0, this.sliderY);
|
||||
this.sliderY = Math.min(this.maxSliderTop, this.sliderY);
|
||||
this.$content.scrollTop((this.paneHeight - this.contentHeight + BROWSER_SCROLLBAR_WIDTH) * this.sliderY / this.maxSliderTop * -1);
|
||||
if (!this.iOSNativeScrolling) {
|
||||
this.slider.css({
|
||||
top: this.sliderY
|
||||
});
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
Scroll at the bottom with an offset value
|
||||
@method scrollBottom
|
||||
@param offsetY {Number}
|
||||
@chainable
|
||||
@example
|
||||
$(".nano").nanoScroller({ scrollBottom: value });
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.scrollBottom = function(offsetY) {
|
||||
if (!this.isActive) {
|
||||
return;
|
||||
}
|
||||
this.reset();
|
||||
this.$content.scrollTop(this.contentHeight - this.$content.height() - offsetY).trigger(MOUSEWHEEL);
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
Scroll at the top with an offset value
|
||||
@method scrollTop
|
||||
@param offsetY {Number}
|
||||
@chainable
|
||||
@example
|
||||
$(".nano").nanoScroller({ scrollTop: value });
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.scrollTop = function(offsetY) {
|
||||
if (!this.isActive) {
|
||||
return;
|
||||
}
|
||||
this.reset();
|
||||
this.$content.scrollTop(+offsetY).trigger(MOUSEWHEEL);
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
Scroll to an element
|
||||
@method scrollTo
|
||||
@param node {Node} A node to scroll to.
|
||||
@chainable
|
||||
@example
|
||||
$(".nano").nanoScroller({ scrollTo: $('#a_node') });
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.scrollTo = function(node) {
|
||||
if (!this.isActive) {
|
||||
return;
|
||||
}
|
||||
this.reset();
|
||||
this.scrollTop($(node).get(0).offsetTop);
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
To stop the operation.
|
||||
This option will tell the plugin to disable all event bindings and hide the gadget scrollbar from the UI.
|
||||
@method stop
|
||||
@chainable
|
||||
@example
|
||||
$(".nano").nanoScroller({ stop: true });
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.stop = function() {
|
||||
this.stopped = true;
|
||||
this.removeEvents();
|
||||
this.pane.hide();
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
To flash the scrollbar gadget for an amount of time defined in plugin settings (defaults to 1,5s).
|
||||
Useful if you want to show the user (e.g. on pageload) that there is more content waiting for him.
|
||||
@method flash
|
||||
@chainable
|
||||
@example
|
||||
$(".nano").nanoScroller({ flash: true });
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.flash = function() {
|
||||
var _this = this;
|
||||
if (!this.isActive) {
|
||||
return;
|
||||
}
|
||||
this.reset();
|
||||
this.pane.addClass('flashed');
|
||||
setTimeout(function() {
|
||||
_this.pane.removeClass('flashed');
|
||||
}, this.options.flashDelay);
|
||||
return this;
|
||||
};
|
||||
|
||||
return NanoScroll;
|
||||
|
||||
})();
|
||||
$.fn.nanoScroller = function(settings) {
|
||||
return this.each(function() {
|
||||
var options, scrollbar;
|
||||
if (!(scrollbar = this.nanoscroller)) {
|
||||
options = $.extend({}, defaults, settings);
|
||||
this.nanoscroller = scrollbar = new NanoScroll(this, options);
|
||||
}
|
||||
if (settings && typeof settings === "object") {
|
||||
$.extend(scrollbar.options, settings);
|
||||
if (settings.scrollBottom) {
|
||||
return scrollbar.scrollBottom(settings.scrollBottom);
|
||||
}
|
||||
if (settings.scrollTop) {
|
||||
return scrollbar.scrollTop(settings.scrollTop);
|
||||
}
|
||||
if (settings.scrollTo) {
|
||||
return scrollbar.scrollTo(settings.scrollTo);
|
||||
}
|
||||
if (settings.scroll === 'bottom') {
|
||||
return scrollbar.scrollBottom(0);
|
||||
}
|
||||
if (settings.scroll === 'top') {
|
||||
return scrollbar.scrollTop(0);
|
||||
}
|
||||
if (settings.scroll && settings.scroll instanceof $) {
|
||||
return scrollbar.scrollTo(settings.scroll);
|
||||
}
|
||||
if (settings.stop) {
|
||||
return scrollbar.stop();
|
||||
}
|
||||
if (settings.flash) {
|
||||
return scrollbar.flash();
|
||||
}
|
||||
}
|
||||
return scrollbar.reset();
|
||||
});
|
||||
};
|
||||
})(jQuery, window, document);
|
|
@ -0,0 +1,370 @@
|
|||
$ua = navigator.userAgent;
|
||||
$.extend($.support, { touch: "ontouchend" in document });
|
||||
if($.support.touch) {
|
||||
mouseenterEvent = clickEvent = "touchstart";
|
||||
} else {
|
||||
clickEvent = "click";
|
||||
mouseenterEvent = "mouseenter";
|
||||
}
|
||||
|
||||
|
||||
// Focus first element
|
||||
!function ($) {
|
||||
$.fn.focusFirstField = function(){
|
||||
$this = this;
|
||||
$this.find(":text:visible:enabled").filter(function(){
|
||||
return $(this).parents(":hidden").size() == 0;
|
||||
}).slice(0,1).focus();
|
||||
return this;
|
||||
}
|
||||
}(window.jQuery);
|
||||
|
||||
|
||||
// Search Clear
|
||||
!function ($) {
|
||||
$.fn.searchClear = function (param){
|
||||
_defaultSettings = {
|
||||
inputName: ':input',
|
||||
inputIcon: 'inputIcon',
|
||||
clearBtnIcon: 'clearBtnIcon',
|
||||
};
|
||||
_set = $.extend(_defaultSettings, param);
|
||||
$this = this;
|
||||
$input = this.find(_set.inputName);
|
||||
$tmp = '<i class="'+_set.inputIcon+'"></i><i class="'+_set.clearBtnIcon+' search-clear"></i>';
|
||||
$input.wrap('<div class="sc-field" />');
|
||||
$this.find('.sc-field').prepend($tmp);
|
||||
$searchClear = $this.find(".search-clear");
|
||||
function run(e) {
|
||||
$searchClear.hide();
|
||||
if($input.val().length > 0) {
|
||||
$searchClear.show();
|
||||
}else {
|
||||
$searchClear.hide();
|
||||
}
|
||||
$input.on("blur keyup", function(){
|
||||
if($(this).val().length > 0) {
|
||||
$searchClear.show();
|
||||
}else {
|
||||
$searchClear.hide();
|
||||
}
|
||||
});
|
||||
$searchClear.on({
|
||||
click: function(){
|
||||
$(this).hide();
|
||||
$input.val("")
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
// Checking IE10
|
||||
// if Windows 8 and IE is ture. remove search clear buttom and fix text input padding-right
|
||||
if(/Windows NT 6.2/g.test(navigator.userAgent)){
|
||||
if(/MSIE/g.test(navigator.userAgent)){
|
||||
$searchClear.remove();
|
||||
$input.css({
|
||||
'padding-right': '5px',
|
||||
});
|
||||
}else{run()}
|
||||
}else{run()}
|
||||
}
|
||||
}(window.jQuery);
|
||||
|
||||
// Fixed Nav
|
||||
!function ($) {
|
||||
fixedNav = function () {
|
||||
if($('.fixed-nav').length){
|
||||
var $fixedNav = $('.fixed-nav');
|
||||
if($sidebarState){
|
||||
$fixedNav.addClass('open');
|
||||
}
|
||||
$fixedNav.on(clickEvent, function() {
|
||||
if($sidebarState) {
|
||||
window.localStorage.removeItem('sidebarState');
|
||||
$fixedNav.removeClass('open');
|
||||
}else{
|
||||
window.localStorage.setItem('sidebarState', 1);
|
||||
$fixedNav.addClass('open');
|
||||
}
|
||||
$sidebarState = window.localStorage.getItem('sidebarState')
|
||||
});
|
||||
}
|
||||
};
|
||||
}(window.jQuery);
|
||||
|
||||
|
||||
// Sidebar
|
||||
!function ($) {
|
||||
sidebarNav = function () {
|
||||
var $sidebar = $('#sidebar'),
|
||||
$sidebarMenu = $('#sidebar-menu'),
|
||||
$scroller = $('.scroller'),
|
||||
$sidebarNav = $('.sidebar-nav'),
|
||||
$el = $('.sidebar-nav').children('li'),
|
||||
$elIndex = null,
|
||||
$blockList = $('.sub-nav-block-list'),
|
||||
$block = $('.sub-nav-block'),
|
||||
$blockIndex = 0,
|
||||
$arrow = $('.sub-nav-arrow'),
|
||||
$wrap = $('#main-wrap'),
|
||||
$wrapLeft = $wrap.css('margin-left'),
|
||||
$position = 0,
|
||||
$arrowHeightFormat = $('.position').height()-8;
|
||||
if($('#sidebar').length>0) {
|
||||
$wrap.css({'margin-left': 61});
|
||||
$wrapLeft = 61;
|
||||
}
|
||||
if($el.hasClass('active')) {
|
||||
// Menu defaults active
|
||||
$elIndex = $el.filter('.active').index();
|
||||
if($sidebarState) {
|
||||
$block.eq($elIndex).addClass('show');
|
||||
$blockList.css({'width': 180});
|
||||
$wrap.css({
|
||||
'margin-left': 241,
|
||||
});
|
||||
}
|
||||
|
||||
// Arrow defaults position
|
||||
$position = $el.eq($elIndex).offset().top-$el.eq($elIndex).height()/2+$arrowHeightFormat-$(document).scrollTop();
|
||||
$arrow.css({
|
||||
'top': $position,
|
||||
});
|
||||
}
|
||||
if($.support.touch) {
|
||||
$el.find('a').removeAttr('href');
|
||||
};
|
||||
$el.on(mouseenterEvent, function(e) {
|
||||
$block.siblings().removeClass('show').eq($(this).index()).addClass('show');
|
||||
$arrow.stop(true, false).animate({
|
||||
top: ($(this).offset().top-$(this).height()/2)+$arrowHeightFormat-$(document).scrollTop(),
|
||||
},{
|
||||
duration: 500,
|
||||
easing: 'easeInOutBack',
|
||||
});
|
||||
if(!$sidebarState || !$el.hasClass('active')) {
|
||||
$blockList.css({'width': 180});
|
||||
if($('#pageslide').length) {
|
||||
if($('#pageslide').is(":hidden")) {
|
||||
$wrap.css({
|
||||
'margin-left': $blockList.width()+$sidebarNav.width(),
|
||||
});
|
||||
}
|
||||
}else{
|
||||
$wrap.css({
|
||||
'margin-left': $blockList.width()+$sidebarNav.width(),
|
||||
});
|
||||
}
|
||||
// if($('.topnav').length) {
|
||||
// $('.topnav').css({
|
||||
// 'left': $blockList.width()+$sidebarNav.width()+20,
|
||||
// });
|
||||
// }
|
||||
if($('.bottomnav').length) {
|
||||
$('.bottomnav').css({
|
||||
'left': $blockList.width()+$sidebarNav.width()+20,
|
||||
});
|
||||
}
|
||||
$sidebar.css({
|
||||
'width': $blockList.width()+$sidebarNav.width(),
|
||||
});
|
||||
}
|
||||
});
|
||||
// $el.on('mouseleave', function() {
|
||||
// $el.hasClass('active') ? $position = $el.eq($elIndex).offset().top-$el.eq($elIndex).height()/2+$arrowHeightFormat-$(document).scrollTop() : 0;
|
||||
// $(this).hasClass('active') ? '':$(this).children('span').removeClass('hover');
|
||||
// });
|
||||
$block.on({
|
||||
mouseenter: function() {
|
||||
$blockIndex = $block.filter('.sub-nav-block show').index();
|
||||
$el.eq($blockIndex).hasClass('active') ? '':$el.eq($blockIndex).children('span').addClass('hover');
|
||||
},
|
||||
mouseleave: function() {
|
||||
$block.removeClass('show');
|
||||
if(!$sidebarState || !$el.hasClass('active')) {
|
||||
$blockList.css({'width': 0});
|
||||
if($('#pageslide').length) {
|
||||
if($('#pageslide').is(":hidden")) {
|
||||
$wrap.css({
|
||||
'margin-left': $wrapLeft,
|
||||
});
|
||||
// if($('.topnav').length) {
|
||||
// if($sidebarState) {
|
||||
// $('.topnav').css({
|
||||
// 'left': 261,
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
}
|
||||
} else {
|
||||
$wrap.css({
|
||||
'margin-left': $blockList.width()+$sidebarNav.width(),
|
||||
});
|
||||
}
|
||||
// if($('.topnav').length) {
|
||||
// $('.topnav').css({
|
||||
// 'left': $blockList.width()+$sidebarNav.width()+20,
|
||||
// });
|
||||
// }
|
||||
if($('.bottomnav').length) {
|
||||
$('.bottomnav').css({
|
||||
'left': $blockList.width()+$sidebarNav.width()+20,
|
||||
});
|
||||
}
|
||||
$sidebar.css({'width': 61});
|
||||
}else{
|
||||
$block.eq($elIndex).addClass('show');
|
||||
};
|
||||
|
||||
|
||||
if($elIndex === null) {
|
||||
$position = 0;
|
||||
} else {
|
||||
$position = $el.eq($elIndex).offset().top-$el.eq($elIndex).height()/2+$arrowHeightFormat-$(document).scrollTop();
|
||||
}
|
||||
$arrow.stop(true, false).animate({
|
||||
top: $position,
|
||||
},{
|
||||
duration: 500,
|
||||
easing: 'easeInOutBack',
|
||||
});
|
||||
}
|
||||
});
|
||||
// Touch Start
|
||||
$wrap.on({
|
||||
touchstart: function() {
|
||||
if(!$sidebarState || !$el.hasClass('active')) {
|
||||
if($block.hasClass('show')) {
|
||||
$blockIndex = $block.filter('.sub-nav-block show').index();
|
||||
$block.removeClass('show');
|
||||
$blockList.css({'width': 0});
|
||||
$wrap.css({
|
||||
'margin-left': $wrapLeft,
|
||||
});
|
||||
$sidebar.css({'width': 61});
|
||||
$arrow.stop().animate({
|
||||
top: $position,
|
||||
},{
|
||||
duration: 500,
|
||||
easing: 'easeInOutBack',
|
||||
});
|
||||
$el.eq($blockIndex).hasClass('active') ? '':$el.eq($blockIndex).children('span').removeClass('hover');
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
// Sidebar Nav Drag
|
||||
if(/MSIE 8.0/g.test($ua)){
|
||||
$sidebarMenu.addClass('nano')
|
||||
.css({'position': 'relative', 'top': '0px'})
|
||||
.children('.scroller')
|
||||
.addClass('content')
|
||||
.removeClass('scroller');
|
||||
$sidebarMenu.nanoScroller({ scrollTop: 0 });
|
||||
} else {
|
||||
var sidebarMenu = new iScroll('sidebar-menu', {
|
||||
vScrollbar: true,
|
||||
scrollbarClass: 'myScrollbar',
|
||||
onBeforeScrollStart: function (e) {
|
||||
var target = e.target;
|
||||
clearTimeout(this.hoverTimeout);
|
||||
while (target.nodeName != "SPAN") target = target.parentNode;
|
||||
$target = $(target.parentNode).index();
|
||||
},
|
||||
touch: function () {
|
||||
if (this.hoverTarget) {
|
||||
clearTimeout(this.hoverTimeout);
|
||||
$('.sub-nav-block').removeClass('show')
|
||||
$('.sub-nav-block').eq($target).addClass('show')
|
||||
}
|
||||
},
|
||||
});
|
||||
};
|
||||
};
|
||||
}(window.jQuery);
|
||||
|
||||
|
||||
|
||||
// Initial State
|
||||
!function ($) {
|
||||
initialState = function () {
|
||||
if($('.bottomnav').length) {
|
||||
var $bottomnavHeight = $('.bottomnav').outerHeight();
|
||||
$('.wrap-inner').css({
|
||||
'padding-bottom': $bottomnavHeight,
|
||||
})
|
||||
if($sidebarState) {
|
||||
$('.bottomnav').css({
|
||||
'left': 261,
|
||||
});
|
||||
}
|
||||
}
|
||||
// if($('.topnav').length) {
|
||||
// if($sidebarState) {
|
||||
// $('.topnav').css({
|
||||
// 'left': 261,
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
};
|
||||
}(window.jQuery);
|
||||
|
||||
|
||||
// Open Slide
|
||||
function openSlide() {
|
||||
var $openSlide = $('.open-slide'),
|
||||
$pageslideW;
|
||||
|
||||
$(window).width() > 1440 ? $pageslideW = 1024 : $pageslideW = 954;
|
||||
$(window).resize(function() {
|
||||
$(this).width() > 1440 ? $pageslideW = 1024 : $pageslideW = 954;
|
||||
})
|
||||
$openSlide.each(function() {
|
||||
if($(this).hasClass('view-page')) {
|
||||
$(this).pageslide({ W: $pageslideW, iframe: true});
|
||||
} else if($('#items').length) {
|
||||
$(this).pageslide({ W: 600});
|
||||
} else {
|
||||
$(this).pageslide();
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//Global Variables
|
||||
var $sidebarState = window.localStorage.getItem('sidebarState');
|
||||
|
||||
|
||||
// Document Ready
|
||||
$(function() {
|
||||
initialState();
|
||||
$('#login').on('shown', function () {
|
||||
$(document.body).addClass('modalBlur');
|
||||
$('#login').focusFirstField();
|
||||
}).on("hide", function() {
|
||||
$(document.body).removeClass('modalBlur');
|
||||
});
|
||||
$('#search').searchClear({
|
||||
inputName: '.search-query',
|
||||
inputIcon: 'icon-search',
|
||||
clearBtnIcon: 'icons-cross-3',
|
||||
});
|
||||
$('#member-filter').on('shown', function() {
|
||||
$(this).find('.nano').nanoScroller({ scrollTop: 0, iOSNativeScrolling: true });
|
||||
});
|
||||
if($('#sidebar').length) {
|
||||
if(!/MSIE 8.0/g.test(navigator.userAgent)){
|
||||
document.getElementById('sidebar').addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
|
||||
}
|
||||
}
|
||||
if($('#pageslide').length) {
|
||||
openSlide();
|
||||
}
|
||||
if($('.tags').length) {
|
||||
$('#filter-input').fastLiveFilter('#tags-list', '.filter-item', '.tag');
|
||||
}
|
||||
if($('#card-list').length) {
|
||||
$('#filter-input').fastLiveFilter('#card-list', '.filter-item', '.user-name');
|
||||
}
|
||||
sidebarNav();
|
||||
});
|
|
@ -0,0 +1,31 @@
|
|||
// Sidebar Nav Active
|
||||
!function ($) {
|
||||
demo_fu1 = function () {
|
||||
$sidebarNavList = $('.sidebar-nav>li');
|
||||
$subNavBlock = $('.sub-nav-block');
|
||||
$subNavBlockList = $('.sub-nav-block-list');
|
||||
$search = window.location.search.substring(1);
|
||||
$pathname = window.location.pathname.substring(1);
|
||||
$pathname = $pathname.split("/");
|
||||
$pathname = $pathname[$pathname.length-1];
|
||||
if($search.indexOf("sidebarNavList")!=-1){
|
||||
$search = $search.split("&");
|
||||
$searchA = $search[0].split("=")[1];
|
||||
$searchB = $search[1].split("=")[1];
|
||||
$sidebarNavList.eq($searchA).addClass('active');
|
||||
$subNavBlock.eq($searchA).find('li').eq($searchB).addClass('active');
|
||||
if($pathname == "categories.shtml") {
|
||||
$('.demo1').attr('href','authorized.shtml?sidebarNavList='+$searchA+'&subNavBlockList=2')
|
||||
}
|
||||
}
|
||||
};
|
||||
}(window.jQuery);
|
||||
|
||||
|
||||
|
||||
// Local Storage
|
||||
!function ($) {
|
||||
sidebarState = function () {
|
||||
window.localStorage.setItem('sidebarState', 1);
|
||||
};
|
||||
}(window.jQuery);
|
|
@ -0,0 +1,46 @@
|
|||
$(document).ready(function() {
|
||||
|
||||
$.each($(".dymanic_load"),function(){
|
||||
if($(this).attr("path")==''){$(this).html("App setting Failed");}
|
||||
|
||||
if($(this).attr("path")!=''){
|
||||
ajax_load_proc($(this),$(this).attr("path"));
|
||||
}
|
||||
}
|
||||
);
|
||||
$("#main_content").addClass("module");
|
||||
});
|
||||
|
||||
function ajax_load_proc(wapper,url){
|
||||
$.get(encodeURI(url), {}, function(respText,textSta,XML){
|
||||
if (textSta == 'success') {
|
||||
wapper.html(respText);
|
||||
};
|
||||
if(textSta == 'error')
|
||||
wapper.html("Loading Failed<br/> <a href='"+$(this).attr('path')+"'>Go See</a>");
|
||||
});
|
||||
}
|
||||
|
||||
// Ad Banner FX code [start]
|
||||
function getTimeout() {
|
||||
return $(this).attr('time_to_next');
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
$(document).on('click', '.slideshow img', function()
|
||||
{
|
||||
if($(this).attr('link_url')!='')
|
||||
{
|
||||
if($(this).attr('link_open')=='new_window')
|
||||
{
|
||||
window.open($(this).attr('link_url'));
|
||||
}
|
||||
else
|
||||
{
|
||||
document.location.href=$(this).attr('link_url')
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
// Ad Banner FX code [end]
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
$(function() {
|
||||
var bannerEffect,
|
||||
bannerTime,
|
||||
bannerSpeed,
|
||||
bannerW,
|
||||
bannerH;
|
||||
|
||||
$(".ad_banner_ad_fx").change(function () {
|
||||
bannerTime = $("#pageslide #timeout").val()*1000;
|
||||
bannerSpeed = $("#pageslide #speed").val()*1000;
|
||||
|
||||
bannerTime = parseInt(bannerTime) || 300;
|
||||
bannerSpeed = parseInt(bannerSpeed) || 300;
|
||||
slideshow($(this).val(), bannerTime, bannerSpeed);
|
||||
});
|
||||
slideshow = function (bannerEffect, bannerTime, bannerSpeed) {
|
||||
var $preview = $('#pageslide .preview'),
|
||||
$previewImg = $('#pageslide .preview img');
|
||||
$preview.cycle('destroy');
|
||||
$previewImg.removeAttr('style');
|
||||
$preview.cycle({
|
||||
fx: bannerEffect,
|
||||
timeout: bannerTime,
|
||||
speed: bannerSpeed,
|
||||
});
|
||||
}
|
||||
$('.open-slide').on('click', function() {
|
||||
var $preview = $('#pageslide .preview'),
|
||||
$data = $(this).data(),
|
||||
effect = $data.fx,
|
||||
time = $data.time,
|
||||
speed = $data.speed,
|
||||
W = $data.w,
|
||||
H = $data.h;
|
||||
$("#pageslide #timeout").attr("value", time/1000);
|
||||
$("#pageslide #speed").attr("value", speed/1000);
|
||||
$("#pageslide #banner_width").attr("value", W);
|
||||
$("#pageslide #banner_height").attr("value", H);
|
||||
$("#pageslide #ad_banner_ad_fx option").each(function(i) {
|
||||
if($(this).attr("value") == effect) {
|
||||
this.selected = true;
|
||||
}
|
||||
});
|
||||
slideshow(effect, time, speed)
|
||||
})
|
||||
$('.open-modal').on('click', function() {
|
||||
var $data = $(this).data()
|
||||
bannerEffect = $data.fx;
|
||||
bannerTime = $data.time;
|
||||
bannerSpeed = $data.speed;
|
||||
bannerW = $data.w;
|
||||
bannerH = $data.h;
|
||||
$('#preview').modal('show');
|
||||
});
|
||||
$('#preview').on('shown', function() {
|
||||
if(bannerW > 500) {
|
||||
var resize = 500/bannerW
|
||||
bannerW = Math.floor(bannerW*resize);
|
||||
bannerH = Math.floor(bannerH*resize);
|
||||
};
|
||||
if(bannerH > 300) {
|
||||
var resize = 300/bannerH
|
||||
bannerW = Math.floor(bannerW*resize);
|
||||
bannerH = Math.floor(bannerH*resize);
|
||||
}
|
||||
$(this).find('.preview').cycle({
|
||||
fx: bannerEffect,
|
||||
timeout: bannerTime,
|
||||
speed: bannerSpeed,
|
||||
fit: 1,
|
||||
width: bannerW,
|
||||
height: bannerH,
|
||||
});
|
||||
});
|
||||
$('#preview').on('hidden', function() {
|
||||
$(this).find('.preview').cycle('destroy');
|
||||
$(this).find('.preview img').removeAttr('style');
|
||||
});
|
||||
});
|
|
@ -0,0 +1,3 @@
|
|||
$(function(){
|
||||
$('.main-list').footable();
|
||||
});
|
|
@ -0,0 +1,27 @@
|
|||
$(function () {
|
||||
var $fileList = $('.file-list'),
|
||||
$fileType = $('.file-type');
|
||||
$type = ['pdf', 'psd', 'ai', 'fla', 'swf', 'in', 'acc', 'do', 'xl', 'pp', 'zip', 'rar', '7z', 'txt', 'jp', 'gif', 'png', 'mp3', 'wav']
|
||||
|
||||
$fileType.each(function (i) {
|
||||
var $fileTypeHref = $(this).children('a').attr('href');
|
||||
$fileTypeHref = $fileTypeHref.split("/");
|
||||
$fileTypeHref = $fileTypeHref[$fileTypeHref.length-1];
|
||||
$fileTypeHref = $fileTypeHref.split(".");
|
||||
$fileTypeHref = $fileTypeHref[$fileTypeHref.length-1];
|
||||
|
||||
for(var j = 0; j<$type.length; j++) {
|
||||
if($fileTypeHref.indexOf($type[j])!=-1) {
|
||||
if($type[j] == "swf") {
|
||||
$fileType.eq(i).addClass('type-fla');
|
||||
} else if($type[j] == "zip" || $type[j] == "rar" || $type[j] == "7z") {
|
||||
$fileType.eq(i).addClass('type-zip');
|
||||
} else if($type[j] == "mp3" || $type[j] == "wav") {
|
||||
$fileType.eq(i).addClass('type-audio');
|
||||
} else {
|
||||
$fileType.eq(i).addClass('type-'+$type[j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
|
@ -0,0 +1,169 @@
|
|||
/* ===========================================================
|
||||
* bootstrap-fileupload.js j2
|
||||
* http://jasny.github.com/bootstrap/javascript.html#fileupload
|
||||
* ===========================================================
|
||||
* Copyright 2012 Jasny BV, Netherlands.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License")
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ========================================================== */
|
||||
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_
|
||||
|
||||
/* FILEUPLOAD PUBLIC CLASS DEFINITION
|
||||
* ================================= */
|
||||
|
||||
var Fileupload = function (element, options) {
|
||||
this.$element = $(element)
|
||||
this.type = this.$element.data('uploadtype') || (this.$element.find('.thumbnail').length > 0 ? "image" : "file")
|
||||
|
||||
this.$input = this.$element.find(':file')
|
||||
if (this.$input.length === 0) return
|
||||
|
||||
this.name = this.$input.attr('name') || options.name
|
||||
|
||||
this.$hidden = this.$element.find('input[type=hidden][name="'+this.name+'"]')
|
||||
if (this.$hidden.length === 0) {
|
||||
this.$hidden = $('<input type="hidden" />')
|
||||
this.$element.prepend(this.$hidden)
|
||||
}
|
||||
|
||||
this.$preview = this.$element.find('.fileupload-preview')
|
||||
var height = this.$preview.css('height')
|
||||
if (this.$preview.css('display') != 'inline' && height != '0px' && height != 'none') this.$preview.css('line-height', height)
|
||||
|
||||
this.original = {
|
||||
'exists': this.$element.hasClass('fileupload-exists'),
|
||||
'preview': this.$preview.html(),
|
||||
'hiddenVal': this.$hidden.val()
|
||||
}
|
||||
|
||||
this.$remove = this.$element.find('[data-dismiss="fileupload"]')
|
||||
|
||||
this.$element.find('[data-trigger="fileupload"]').on('click.fileupload', $.proxy(this.trigger, this))
|
||||
|
||||
this.listen()
|
||||
}
|
||||
|
||||
Fileupload.prototype = {
|
||||
|
||||
listen: function() {
|
||||
this.$input.on('change.fileupload', $.proxy(this.change, this))
|
||||
$(this.$input[0].form).on('reset.fileupload', $.proxy(this.reset, this))
|
||||
if (this.$remove) this.$remove.on('click.fileupload', $.proxy(this.clear, this))
|
||||
},
|
||||
|
||||
change: function(e, invoked) {
|
||||
if (invoked === 'clear') return
|
||||
|
||||
var file = e.target.files !== undefined ? e.target.files[0] : (e.target.value ? { name: e.target.value.replace(/^.+\\/, '') } : null)
|
||||
|
||||
if (!file) {
|
||||
this.clear()
|
||||
return
|
||||
}
|
||||
|
||||
this.$hidden.val('')
|
||||
this.$hidden.attr('name', '')
|
||||
this.$input.attr('name', this.name)
|
||||
|
||||
if (this.type === "image" && this.$preview.length > 0 && (typeof file.type !== "undefined" ? file.type.match('image.*') : file.name.match('\\.(gif|png|jpe?g)$')) && typeof FileReader !== "undefined") {
|
||||
var reader = new FileReader()
|
||||
var preview = this.$preview
|
||||
var element = this.$element
|
||||
|
||||
reader.onload = function(e) {
|
||||
preview.html('<img src="' + e.target.result + '" ' + (preview.css('max-height') != 'none' ? 'style="max-height: ' + preview.css('max-height') + ';"' : '') + ' />')
|
||||
element.addClass('fileupload-exists').removeClass('fileupload-new')
|
||||
}
|
||||
|
||||
reader.readAsDataURL(file)
|
||||
} else {
|
||||
this.$preview.text(file.name)
|
||||
this.$element.addClass('fileupload-exists').removeClass('fileupload-new')
|
||||
}
|
||||
},
|
||||
|
||||
clear: function(e) {
|
||||
this.$hidden.val('')
|
||||
this.$hidden.attr('name', this.name)
|
||||
this.$input.attr('name', '')
|
||||
|
||||
//ie8+ doesn't support changing the value of input with type=file so clone instead
|
||||
if (navigator.userAgent.match(/msie/i)){
|
||||
var inputClone = this.$input.clone(true);
|
||||
this.$input.after(inputClone);
|
||||
this.$input.remove();
|
||||
this.$input = inputClone;
|
||||
}else{
|
||||
this.$input.val('')
|
||||
}
|
||||
|
||||
this.$preview.html('')
|
||||
this.$element.addClass('fileupload-new').removeClass('fileupload-exists')
|
||||
|
||||
if (e) {
|
||||
this.$input.trigger('change', [ 'clear' ])
|
||||
e.preventDefault()
|
||||
}
|
||||
},
|
||||
|
||||
reset: function(e) {
|
||||
this.clear()
|
||||
|
||||
this.$hidden.val(this.original.hiddenVal)
|
||||
this.$preview.html(this.original.preview)
|
||||
|
||||
if (this.original.exists) this.$element.addClass('fileupload-exists').removeClass('fileupload-new')
|
||||
else this.$element.addClass('fileupload-new').removeClass('fileupload-exists')
|
||||
},
|
||||
|
||||
trigger: function(e) {
|
||||
this.$input.trigger('click')
|
||||
e.preventDefault()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* FILEUPLOAD PLUGIN DEFINITION
|
||||
* =========================== */
|
||||
|
||||
$.fn.fileupload = function (options) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('fileupload')
|
||||
if (!data) $this.data('fileupload', (data = new Fileupload(this, options)))
|
||||
if (typeof options == 'string') data[options]()
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.fileupload.Constructor = Fileupload
|
||||
|
||||
|
||||
/* FILEUPLOAD DATA-API
|
||||
* ================== */
|
||||
|
||||
$(document).on('click.fileupload.data-api', '[data-provides="fileupload"]', function (e) {
|
||||
var $this = $(this)
|
||||
if ($this.data('fileupload')) return
|
||||
$this.fileupload($this.data())
|
||||
|
||||
var $target = $(e.target).closest('[data-dismiss="fileupload"],[data-trigger="fileupload"]');
|
||||
if ($target.length > 0) {
|
||||
$target.trigger('click.fileupload')
|
||||
e.preventDefault()
|
||||
}
|
||||
})
|
||||
|
||||
}(window.jQuery);
|
|
@ -0,0 +1,25 @@
|
|||
function cardCheck() {
|
||||
if($('.tags').length) {
|
||||
var $card = $('.checkbox-card .card'),
|
||||
$check = $card.children($('input[type="checkbox"]'));
|
||||
$check.each(function(){
|
||||
if($(this).attr('checked')) {
|
||||
$(this).parent(".check").addClass("active");
|
||||
}
|
||||
})
|
||||
} else {
|
||||
var $card = $('.checkbox-card>li'),
|
||||
$check = $('input[type="checkbox"]');
|
||||
$check.each(function(){
|
||||
if($(this).attr('checked')) {
|
||||
$(this).parent("li").addClass("active");
|
||||
}
|
||||
})
|
||||
}
|
||||
$card.on('click', function() {
|
||||
$(this).toggleClass('active')
|
||||
});
|
||||
}
|
||||
$(function(){
|
||||
cardCheck();
|
||||
});
|
|
@ -0,0 +1,17 @@
|
|||
!function ($) {
|
||||
$.fn.datetimepick = function() {
|
||||
var $this = this,
|
||||
$format = $this.attr('data-date-format'),
|
||||
$language = $this.attr('data-language'),
|
||||
$pickTime = ("ture" === $this.attr('data-picktime'));
|
||||
$this.datetimepicker({
|
||||
format: $format,
|
||||
pickTime: $pickTime,
|
||||
language: $language,
|
||||
});
|
||||
}
|
||||
}(window.jQuery);
|
||||
|
||||
$(function(){
|
||||
$('.datetimepick').datetimepick();
|
||||
});
|
|
@ -0,0 +1,412 @@
|
|||
/*!
|
||||
* FooTable - Awesome Responsive Tables
|
||||
* http://themergency.com/footable
|
||||
*
|
||||
* Requires jQuery - http://jquery.com/
|
||||
*
|
||||
* Copyright 2012 Steven Usher & Brad Vincent
|
||||
* Released under the MIT license
|
||||
* You are free to use FooTable in commercial projects as long as this copyright header is left intact.
|
||||
*
|
||||
* Date: 18 Nov 2012
|
||||
*/
|
||||
(function ($, w, undefined) {
|
||||
w.footable = {
|
||||
options: {
|
||||
delay: 100, // The number of millseconds to wait before triggering the react event
|
||||
breakpoints: { // The different screen resolution breakpoints
|
||||
phone: 480,
|
||||
tablet: 1024
|
||||
},
|
||||
parsers: { // The default parser to parse the value out of a cell (values are used in building up row detail)
|
||||
alpha: function (cell) {
|
||||
return $(cell).data('value') || $.trim($(cell).text());
|
||||
}
|
||||
},
|
||||
toggleSelector: '.detail-row', //the selector to show/hide the detail row
|
||||
createDetail: function (element, data) { //creates the contents of the detail row
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
element.append('<div><strong>' + data[i].name + '</strong> : ' + data[i].display + '</div>');
|
||||
}
|
||||
},
|
||||
classes: {
|
||||
loading : 'footable-loading',
|
||||
loaded : 'footable-loaded',
|
||||
sorted : 'footable-sorted',
|
||||
descending : 'footable-sorted-desc',
|
||||
indicator : 'footable-sort-indicator'
|
||||
},
|
||||
debug: false // Whether or not to log information to the console.
|
||||
},
|
||||
|
||||
version: {
|
||||
major: 0, minor: 1,
|
||||
toString: function () {
|
||||
return w.footable.version.major + '.' + w.footable.version.minor;
|
||||
},
|
||||
parse: function (str) {
|
||||
version = /(\d+)\.?(\d+)?\.?(\d+)?/.exec(str);
|
||||
return {
|
||||
major: parseInt(version[1]) || 0,
|
||||
minor: parseInt(version[2]) || 0,
|
||||
patch: parseInt(version[3]) || 0
|
||||
};
|
||||
}
|
||||
},
|
||||
|
||||
plugins: {
|
||||
_validate: function (plugin) {
|
||||
///<summary>Simple validation of the <paramref name="plugin"/> to make sure any members called by Foobox actually exist.</summary>
|
||||
///<param name="plugin">The object defining the plugin, this should implement a string property called "name" and a function called "init".</param>
|
||||
|
||||
if (typeof plugin['name'] !== 'string') {
|
||||
if (w.footable.options.debug == true) console.error('Validation failed, plugin does not implement a string property called "name".', plugin);
|
||||
return false;
|
||||
}
|
||||
if (!$.isFunction(plugin['init'])) {
|
||||
if (w.footable.options.debug == true) console.error('Validation failed, plugin "' + plugin['name'] + '" does not implement a function called "init".', plugin);
|
||||
return false;
|
||||
}
|
||||
if (w.footable.options.debug == true) console.log('Validation succeeded for plugin "' + plugin['name'] + '".', plugin);
|
||||
return true;
|
||||
},
|
||||
registered: [], // An array containing all registered plugins.
|
||||
register: function (plugin, options) {
|
||||
///<summary>Registers a <paramref name="plugin"/> and its default <paramref name="options"/> with Foobox.</summary>
|
||||
///<param name="plugin">The plugin that should implement a string property called "name" and a function called "init".</param>
|
||||
///<param name="options">The default options to merge with the Foobox's base options.</param>
|
||||
|
||||
if (w.footable.plugins._validate(plugin)) {
|
||||
w.footable.plugins.registered.push(plugin);
|
||||
if (options != undefined && typeof options === 'object') $.extend(true, w.footable.options, options);
|
||||
if (w.footable.options.debug == true) console.log('Plugin "' + plugin['name'] + '" has been registered with the Foobox.', plugin);
|
||||
}
|
||||
},
|
||||
init: function (instance) {
|
||||
///<summary>Loops through all registered plugins and calls the "init" method supplying the current <paramref name="instance"/> of the Foobox as the first parameter.</summary>
|
||||
///<param name="instance">The current instance of the Foobox that the plugin is being initialized for.</param>
|
||||
|
||||
for(var i = 0; i < w.footable.plugins.registered.length; i++){
|
||||
try {
|
||||
w.footable.plugins.registered[i]['init'](instance);
|
||||
} catch(err) {
|
||||
if (w.footable.options.debug == true) console.error(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var instanceCount = 0;
|
||||
|
||||
$.fn.footable = function(options) {
|
||||
///<summary>The main constructor call to initialize the plugin using the supplied <paramref name="options"/>.</summary>
|
||||
///<param name="options">
|
||||
///<para>A JSON object containing user defined options for the plugin to use. Any options not supplied will have a default value assigned.</para>
|
||||
///<para>Check the documentation or the default options object above for more information on available options.</para>
|
||||
///</param>
|
||||
|
||||
options=options||{};
|
||||
var o=$.extend(true,{},w.footable.options,options); //merge user and default options
|
||||
return this.each(function () {
|
||||
instanceCount++;
|
||||
this.footable = new Footable(this, o, instanceCount);
|
||||
});
|
||||
};
|
||||
|
||||
//helper for using timeouts
|
||||
function Timer() {
|
||||
///<summary>Simple timer object created around a timeout.</summary>
|
||||
var t=this;
|
||||
t.id=null;
|
||||
t.busy=false;
|
||||
t.start=function (code,milliseconds) {
|
||||
///<summary>Starts the timer and waits the specified amount of <paramref name="milliseconds"/> before executing the supplied <paramref name="code"/>.</summary>
|
||||
///<param name="code">The code to execute once the timer runs out.</param>
|
||||
///<param name="milliseconds">The time in milliseconds to wait before executing the supplied <paramref name="code"/>.</param>
|
||||
|
||||
if (t.busy) {return;}
|
||||
t.stop();
|
||||
t.id=setTimeout(function () {
|
||||
code();
|
||||
t.id=null;
|
||||
t.busy=false;
|
||||
},milliseconds);
|
||||
t.busy=true;
|
||||
};
|
||||
t.stop=function () {
|
||||
///<summary>Stops the timer if its runnning and resets it back to its starting state.</summary>
|
||||
|
||||
if(t.id!=null) {
|
||||
clearTimeout(t.id);
|
||||
t.id=null;
|
||||
t.busy=false;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
function Footable(t, o, id) {
|
||||
///<summary>Inits a new instance of the plugin.</summary>
|
||||
///<param name="t">The main table element to apply this plugin to.</param>
|
||||
///<param name="o">The options supplied to the plugin. Check the defaults object to see all available options.</param>
|
||||
///<param name="id">The id to assign to this instance of the plugin.</param>
|
||||
|
||||
var ft = this;
|
||||
ft.id = id;
|
||||
ft.table = t;
|
||||
ft.options = o;
|
||||
ft.breakpoints = [];
|
||||
ft.breakpointNames = '';
|
||||
ft.columns = { };
|
||||
|
||||
var opt = ft.options;
|
||||
var cls = opt.classes;
|
||||
|
||||
// This object simply houses all the timers used in the footable.
|
||||
ft.timers = {
|
||||
resize: new Timer(),
|
||||
register: function (name) {
|
||||
ft.timers[name] = new Timer();
|
||||
return ft.timers[name];
|
||||
}
|
||||
};
|
||||
|
||||
w.footable.plugins.init(ft);
|
||||
|
||||
ft.init = function() {
|
||||
var $window = $(w), $table = $(ft.table);
|
||||
|
||||
if ($table.hasClass(cls.loaded)) {
|
||||
//already loaded FooTable for the table, so don't init again
|
||||
ft.raise('footable_already_initialized');
|
||||
return;
|
||||
}
|
||||
|
||||
$table.addClass(cls.loading);
|
||||
|
||||
// Get the column data once for the life time of the plugin
|
||||
$table.find('> thead > tr > th, > thead > tr > td').each(function() {
|
||||
var data = ft.getColumnData(this);
|
||||
ft.columns[data.index] = data;
|
||||
|
||||
var count = data.index + 1;
|
||||
//get all the cells in the column
|
||||
var $column = $table.find('> tbody > tr > td:nth-child(' + count + ')');
|
||||
//add the className to the cells specified by data-class="blah"
|
||||
if (data.className != null) $column.not('.footable-cell-detail').addClass(data.className);
|
||||
});
|
||||
|
||||
// Create a nice friendly array to work with out of the breakpoints object.
|
||||
for(var name in opt.breakpoints) {
|
||||
ft.breakpoints.push({ 'name': name, 'width': opt.breakpoints[name] });
|
||||
ft.breakpointNames += (name + ' ');
|
||||
}
|
||||
|
||||
// Sort the breakpoints so the smallest is checked first
|
||||
ft.breakpoints.sort(function(a, b) { return a['width'] - b['width']; });
|
||||
|
||||
//bind the toggle selector click events
|
||||
ft.bindToggleSelectors();
|
||||
|
||||
ft.raise('footable_initializing');
|
||||
|
||||
$table.bind('footable_initialized', function (e) {
|
||||
//resize the footable onload
|
||||
ft.resize();
|
||||
|
||||
//remove the loading class
|
||||
$table.removeClass(cls.loading);
|
||||
|
||||
//hides all elements within the table that have the attribute data-hide="init"
|
||||
$table.find('[data-init="hide"]').hide();
|
||||
$table.find('[data-init="show"]').show();
|
||||
|
||||
//add the loaded class
|
||||
$table.addClass(cls.loaded);
|
||||
});
|
||||
|
||||
$window
|
||||
.bind('resize.footable', function () {
|
||||
ft.timers.resize.stop();
|
||||
ft.timers.resize.start(function() {
|
||||
ft.raise('footable_resizing');
|
||||
ft.resize();
|
||||
ft.raise('footable_resized');
|
||||
}, opt.delay);
|
||||
});
|
||||
|
||||
ft.raise('footable_initialized');
|
||||
};
|
||||
|
||||
//moved this out into it's own function so that it can be called from other add-ons
|
||||
ft.bindToggleSelectors = function() {
|
||||
var $table = $(ft.table);
|
||||
$table.find(opt.toggleSelector).unbind('click.footable').bind('click.footable', function (e) {
|
||||
if ($table.is('.breakpoint')) {
|
||||
var $row = $(this).is('tr') ? $(this) : $(this).parents('tr:first');
|
||||
ft.toggleDetail($row.get(0));
|
||||
}
|
||||
return false;
|
||||
});
|
||||
};
|
||||
|
||||
ft.parse = function(cell, column) {
|
||||
var parser = opt.parsers[column.type] || opt.parsers.alpha;
|
||||
return parser(cell);
|
||||
};
|
||||
|
||||
ft.getColumnData = function(th) {
|
||||
var $th = $(th), hide = $th.data('hide');
|
||||
hide = hide || '';
|
||||
hide = hide.split(',');
|
||||
var data = {
|
||||
'index': $th.index(),
|
||||
'hide': { },
|
||||
'type': $th.data('type') || 'alpha',
|
||||
'name': $th.data('name') || $.trim($th.text()),
|
||||
'ignore': $th.data('ignore') || false,
|
||||
'className': $th.data('class') || null
|
||||
};
|
||||
data.hide['default'] = ($th.data('hide')==="all") || ($.inArray('default', hide) >= 0);
|
||||
|
||||
for(var name in opt.breakpoints) {
|
||||
data.hide[name] = ($th.data('hide')==="all") || ($.inArray(name, hide) >= 0);
|
||||
}
|
||||
var e = ft.raise('footable_column_data', { 'column': { 'data': data, 'th': th } });
|
||||
return e.column.data;
|
||||
};
|
||||
|
||||
ft.getViewportWidth = function() {
|
||||
return window.innerWidth || (document.body ? document.body.offsetWidth : 0);
|
||||
};
|
||||
|
||||
ft.getViewportHeight = function() {
|
||||
return window.innerHeight || (document.body ? document.body.offsetHeight : 0);
|
||||
};
|
||||
|
||||
ft.hasBreakpointColumn = function(breakpoint) {
|
||||
for(var c in ft.columns) {
|
||||
if (ft.columns[c].hide[breakpoint]) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
ft.resize = function() {
|
||||
var $table = $(ft.table);
|
||||
var info = {
|
||||
'width': $table.width(), //the table width
|
||||
'height': $table.height(), //the table height
|
||||
'viewportWidth': ft.getViewportWidth(), //the width of the viewport
|
||||
'viewportHeight': ft.getViewportHeight(), //the width of the viewport
|
||||
'orientation': null
|
||||
};
|
||||
info.orientation = info.viewportWidth > info.viewportHeight ? 'landscape' : 'portrait';
|
||||
|
||||
if (info.viewportWidth < info.width) info.width = info.viewportWidth;
|
||||
if (info.viewportHeight < info.height) info.height = info.viewportHeight;
|
||||
|
||||
var pinfo = $table.data('footable_info');
|
||||
$table.data('footable_info', info);
|
||||
|
||||
// This (if) statement is here purely to make sure events aren't raised twice as mobile safari seems to do
|
||||
if (!pinfo || ((pinfo && pinfo.width && pinfo.width != info.width) || (pinfo && pinfo.height && pinfo.height != info.height))) {
|
||||
var current = null, breakpoint;
|
||||
for (var i = 0; i < ft.breakpoints.length; i++) {
|
||||
breakpoint = ft.breakpoints[i];
|
||||
if (breakpoint && breakpoint.width && info.width <= breakpoint.width) {
|
||||
current = breakpoint;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var breakpointName = (current == null ? 'default' : current['name']);
|
||||
|
||||
var hasBreakpointFired = ft.hasBreakpointColumn(breakpointName);
|
||||
|
||||
$table
|
||||
.removeClass('default breakpoint').removeClass(ft.breakpointNames)
|
||||
.addClass(breakpointName + (hasBreakpointFired ? ' breakpoint' : ''))
|
||||
.find('> thead > tr > th').each(function() {
|
||||
var data = ft.columns[$(this).index()];
|
||||
var count = data.index + 1;
|
||||
//get all the cells in the column
|
||||
var $column = $table.find('> tbody > tr > td:nth-child(' + count + '), > tfoot > tr > td:nth-child(' + count + '), > colgroup > col:nth-child(' + count + ')').add(this);
|
||||
|
||||
if (data.hide[breakpointName] == false) $column.show();
|
||||
else $column.hide();
|
||||
})
|
||||
.end()
|
||||
.find('> tbody > tr.footable-detail-show').each(function() {
|
||||
ft.createOrUpdateDetailRow(this);
|
||||
});
|
||||
|
||||
$table.find('> tbody > tr.footable-detail-show:visible').each(function() {
|
||||
var $next = $(this).next();
|
||||
if ($next.hasClass('footable-row-detail')) {
|
||||
if (breakpointName == 'default' && !hasBreakpointFired) $next.hide();
|
||||
else $next.show();
|
||||
}
|
||||
});
|
||||
|
||||
// adding .footable-last-column to the last th and td in order to allow for styling if the last column is hidden (which won't work using :last-child)
|
||||
$table.find('> thead > tr > th.footable-last-column,> tbody > tr > td.footable-last-column').removeClass('footable-last-column');
|
||||
$table.find('> thead > tr > th:visible:last,> tbody > tr > td:visible:last').addClass('footable-last-column');
|
||||
|
||||
ft.raise('footable_breakpoint_' + breakpointName, { 'info': info });
|
||||
}
|
||||
};
|
||||
|
||||
ft.toggleDetail = function(actualRow) {
|
||||
var $row = $(actualRow),
|
||||
created = ft.createOrUpdateDetailRow($row.get(0)),
|
||||
$next = $row.next();
|
||||
|
||||
if (!created && $next.is(':visible')) {
|
||||
$row.removeClass('footable-detail-show');
|
||||
//only hide the next row if it's a detail row
|
||||
if($next.hasClass('footable-row-detail'))
|
||||
$next.hide();
|
||||
} else {
|
||||
$row.addClass('footable-detail-show');
|
||||
$next.show();
|
||||
}
|
||||
};
|
||||
|
||||
ft.createOrUpdateDetailRow = function (actualRow) {
|
||||
var $row = $(actualRow), $next = $row.next(), $detail, values = [];
|
||||
if ($row.is(':hidden')) return; //if the row is hidden for some readon (perhaps filtered) then get out of here
|
||||
$row.find('> td:hidden').each(function () {
|
||||
var column = ft.columns[$(this).index()];
|
||||
if (column.ignore == true) return true;
|
||||
values.push({ 'name': column.name, 'value': ft.parse(this, column), 'display': $.trim($(this).html()) });
|
||||
});
|
||||
if(values.length == 0) //return if we don't have any data to show
|
||||
return;
|
||||
var colspan = $row.find('> td:visible').length;
|
||||
var exists = $next.hasClass('footable-row-detail');
|
||||
if (!exists) { // Create
|
||||
$next = $('<tr class="footable-row-detail"><td class="footable-cell-detail"><div class="footable-row-detail-inner"></div></td></tr>');
|
||||
$row.after($next);
|
||||
}
|
||||
$next.find('> td:first').attr('colspan', colspan);
|
||||
$detail = $next.find('.footable-row-detail-inner').empty();
|
||||
opt.createDetail($detail, values);
|
||||
return !exists;
|
||||
};
|
||||
|
||||
ft.raise = function(eventName, args) {
|
||||
args = args || { };
|
||||
var def = { 'ft': ft };
|
||||
$.extend(true, def, args);
|
||||
var e = $.Event(eventName, def);
|
||||
if (!e.ft) { $.extend(true, e, def); } //pre jQuery 1.6 which did not allow data to be passed to event object constructor
|
||||
$(ft.table).trigger(e);
|
||||
return e;
|
||||
};
|
||||
|
||||
ft.init();
|
||||
return ft;
|
||||
};
|
||||
})(jQuery, window);
|
|
@ -0,0 +1,59 @@
|
|||
$(function() {
|
||||
var $container = $('.gallery'),
|
||||
$containerData = $container.data();
|
||||
|
||||
$container.imagesLoaded( function(){
|
||||
$container.masonry({
|
||||
itemSelector : '.rgalbum',
|
||||
isAnimated: true,
|
||||
});
|
||||
if($containerData.galleryId == 'gallery') {
|
||||
var $albumname = $('.albumname'),
|
||||
$img = $('.rgalbum img');
|
||||
$albumname.each(function(i) {
|
||||
var $imgH = $(this).prevAll($img).height(),
|
||||
$H = $(this).height()+20,
|
||||
$fontSize = parseInt($(this).css('font-size'));
|
||||
$lineHeight = parseInt($(this).css('line-height'));
|
||||
if($H > $imgH) {
|
||||
$(this).css({
|
||||
'bottom': "auto",
|
||||
'top': 0,
|
||||
});
|
||||
$(this).hover(function() {
|
||||
$(this).stop(true, true).delay(500).animate({
|
||||
'top': '-='+($H-$imgH),
|
||||
},($H-$imgH)*10)
|
||||
},function() {
|
||||
$(this).stop(true, true);
|
||||
$(this).css({
|
||||
'bottom': "auto",
|
||||
'top': 0,
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
$('#orbit_gallery').delegate('.icons-tag','click',function(){
|
||||
$(this).parents('.gallery_info').nextAll('.albumtag').slideToggle(300, function() {
|
||||
$container.masonry({
|
||||
itemSelector : '.rgalbum',
|
||||
isAnimated: true,
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('.add-imgs').on({
|
||||
click: function() {
|
||||
$('#fileupload').slideToggle(300, function() {
|
||||
if(!$(this).is(':hidden')) {
|
||||
$('.add-imgs').html('<i class="icons-cross-2"></i> Close panel');
|
||||
} else {
|
||||
$('.add-imgs').html('<i class="icons-plus"></i> Add Image');
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
|
@ -0,0 +1,74 @@
|
|||
// Items Quantity
|
||||
function itemsQuantity() {
|
||||
var $sortable = $('.sortable'),
|
||||
$host = $sortable.children('.navbar').eq(0),
|
||||
$navbar = $('.sortable li').children('.navbar'),
|
||||
$quantity = $sortable.find('li').length;
|
||||
$host.find('.badge').text($quantity);
|
||||
$navbar.each(function(i) {
|
||||
if($navbar.eq(i).next('ol').length>0) {
|
||||
var $amount = $navbar.eq(i).next('ol').find('li').length;
|
||||
$navbar.eq(i).find('.badge').text($amount);
|
||||
}else{
|
||||
$navbar.eq(i).find('.badge').text('0');
|
||||
}
|
||||
$navbar.eq(i).find('.badge').text()>0 ? $navbar.eq(i).find('.badge').addClass('badge-info'):$navbar.eq(i).find('.badge').removeClass('badge-info');
|
||||
})
|
||||
}
|
||||
function tip() {
|
||||
if(!$.support.touch) {
|
||||
$('.tip').tooltip({
|
||||
position: {
|
||||
my: "center bottom-4",
|
||||
at: "center top",
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
function touchSupport() {
|
||||
if($.support.touch) {
|
||||
$('.item-menu').css({
|
||||
'display': 'inline-block'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
$(function(){
|
||||
$('.sortable').nestedSortable({
|
||||
handle: '.brand',
|
||||
items: 'li',
|
||||
maxLevels: 3,
|
||||
opacity: .6,
|
||||
toleranceElement: '> div',
|
||||
placeholder: 'placeholder',
|
||||
startCollapsed: true,
|
||||
disableNesting: 'no-nest',
|
||||
stop: function(event, ui) {
|
||||
$.post("<%= Rails.application.routes.url_helpers.admin_update_position_path %>", { id: ui.item.attr('id'), parent_id: (ui.item.parent().closest('li').attr('id') || ui.item.parent().closest('ol').attr('id')), position: ui.item.index() } );
|
||||
}
|
||||
});
|
||||
$(".sortable").delegate(".brand, .delete", clickEvent, function(e){
|
||||
if($(this).hasClass('delete')) {
|
||||
$target = $(this);
|
||||
$('#dialog a.delete-item').attr("href", $(this).attr("rel"));
|
||||
$('#dialog').modal('show');
|
||||
} else {
|
||||
if($(this).closest('li').children('ol').length > 0){
|
||||
$(this).closest('li').toggleClass('collapsed');
|
||||
}
|
||||
}
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
tip();
|
||||
touchSupport()
|
||||
itemsQuantity();
|
||||
});
|
||||
|
||||
function reloadStructure(){
|
||||
$.pageslide.close();
|
||||
openSlide();
|
||||
tip();
|
||||
touchSupport()
|
||||
itemsQuantity();
|
||||
};
|
|
@ -0,0 +1,38 @@
|
|||
function append_id(){
|
||||
if ($("#object_id").length == 1) {
|
||||
return "&id="+$("#object_id").val();
|
||||
}
|
||||
else{
|
||||
return '';
|
||||
};
|
||||
}
|
||||
|
||||
$("div.editable").live("mouseenter mouseleave", function (event) {
|
||||
$(this).children('.edit_link').toggle();
|
||||
});
|
||||
|
||||
$("#page_design").live('change', function() {
|
||||
$.getScript($(this).attr('rel') + '?design_id=' + $(this).val() + append_id());
|
||||
});
|
||||
|
||||
|
||||
$("#module_app_list select").live('change', function() {
|
||||
$.getScript($(this).attr('rel') + '?module_app_id='+$(this).val() + append_id());
|
||||
});
|
||||
|
||||
$("#widget_list select, #frontend_list select").live('change', function() {
|
||||
$.getScript($(this).attr('rel') +'?frontend=' + $(this).val() + '&module_app_id=' + $("#module_app_list select").val() + append_id() );
|
||||
});
|
||||
|
||||
$("#tag_list select").live('change', function() {
|
||||
$.getScript($(this).attr('rel') + '?type=' + $(this).val() + append_id() );
|
||||
});
|
||||
|
||||
$("select.widget_field_select").live('change', function() {
|
||||
$.getScript($(this).attr('rel') + '?widget_field_value='+ $(this).val()+'&dom_id=' + $(this).attr("id") + '&field_seri=' +$(this).attr('field_seri')+ '&module_app_id=' +$("#page_module_app_id,page_part_module_app_id").val() + append_id() );
|
||||
});
|
||||
|
||||
$('.part_kind').live('click', function() {
|
||||
$('.part_kind_partial').hide();
|
||||
$('#part_' + $(this).attr('value')).show();
|
||||
});
|
|
@ -0,0 +1,21 @@
|
|||
function update_cates_and_tags()
|
||||
{
|
||||
$('.select_option,.select_all').removeAttr('disabled');
|
||||
$(".select_all:checked").each(function( obj ) {
|
||||
// $(this).parent().siblings('label').find('.select_option').attr('disabled',"disabled");
|
||||
$(this).parent().siblings('label').find('.select_option').removeAttr('checked');
|
||||
});
|
||||
$(".select_option:checked").each(function( obj ) {
|
||||
// $(this).parent().siblings('label').find('.select_all').attr('disabled',"disabled");
|
||||
$(this).parent().siblings('label').find('.select_all').removeAttr('checked');
|
||||
});
|
||||
}
|
||||
|
||||
function rebind(){
|
||||
$("#widget_data_source_category,#widget_data_source_tag,#app_page_category,#app_page_tag").find('input').change(function(){update_cates_and_tags()});
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
update_cates_and_tags();
|
||||
rebind();
|
||||
});
|
|
@ -0,0 +1,82 @@
|
|||
/**
|
||||
* fastLiveFilter jQuery plugin 1.0.3
|
||||
*
|
||||
* Copyright (c) 2011, Anthony Bush
|
||||
* License: <http://www.opensource.org/licenses/bsd-license.php>
|
||||
* Project Website: http://anthonybush.com/projects/jquery_fast_live_filter/
|
||||
**/
|
||||
!function ($) {
|
||||
$.fn.fastLiveFilter = function(list, item, tar, options) {
|
||||
// Options: input, list, timeout, callback
|
||||
options = options || {};
|
||||
list = $(list);
|
||||
var input = this;
|
||||
var target = $(tar);
|
||||
var timeout = options.timeout || 0;
|
||||
var callback = options.callback || function() {};
|
||||
|
||||
var keyTimeout;
|
||||
|
||||
// NOTE: because we cache lis & len here, users would need to re-init the plugin
|
||||
// if they modify the list in the DOM later. This doesn't give us that much speed
|
||||
// boost, so perhaps it's not worth putting it here.
|
||||
var lis = list.find(item);
|
||||
var len = lis.length;
|
||||
var oldDisplay = len > 0 ? lis[0].style.display : "block";
|
||||
callback(len); // do a one-time callback on initialization to make sure everything's in sync
|
||||
|
||||
input.change(function() {
|
||||
// var startTime = new Date().getTime();
|
||||
var filter = input.val().toLowerCase();
|
||||
var li;
|
||||
var numShown = 0;
|
||||
for (var i = 0; i < len; i++) {
|
||||
li = lis.eq(i);
|
||||
if ((li.find(target).text()).toLowerCase().indexOf(filter) >= 0) {
|
||||
if (li.hasClass("mark")) {
|
||||
li.removeClass('mark');
|
||||
|
||||
// for Orbit
|
||||
// var showTags = lis.not('.mark').find('input[type="checkbox"]:checked').length;
|
||||
// if(lis.showTags) {
|
||||
// $('#deselect, #deleteTags').removeClass('hide')
|
||||
// }
|
||||
}
|
||||
numShown++;
|
||||
} else {
|
||||
if (!li.hasClass("mark")) {
|
||||
li.addClass('mark');
|
||||
|
||||
// for Orbit
|
||||
// var showTags = lis.not('.mark').find('input[type="checkbox"]:checked').length;
|
||||
// if(showTags == 0) {
|
||||
// $('#deselect, #deleteTags').addClass('hide')
|
||||
// }
|
||||
li.children('.card').removeClass('active').children('input').attr('checked', false);
|
||||
if($('.tags input[type="checkbox"]:checked').length == 0) {
|
||||
$('#deselect, #deleteTags, #addDefault').addClass('hide')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
callback(numShown);
|
||||
// var endTime = new Date().getTime();
|
||||
// console.log('Search for ' + filter + ' took: ' + (endTime - startTime) + ' (' + numShown + ' results)');
|
||||
return false;
|
||||
}).keydown(function(e) {
|
||||
// TODO: one point of improvement could be in here: currently the change event is
|
||||
// invoked even if a change does not occur (e.g. by pressing a modifier key or
|
||||
// something)
|
||||
clearTimeout(keyTimeout);
|
||||
keyTimeout = setTimeout(function() { input.change(); }, timeout);
|
||||
if(e.which == '13') {
|
||||
e.preventDefault();
|
||||
}
|
||||
// } else if(e.which == '8') {
|
||||
// clearTimeout(keyTimeout);
|
||||
// keyTimeout = setTimeout(function() { input.change(); }, timeout);
|
||||
// }
|
||||
});
|
||||
return this; // maintain jQuery chainability
|
||||
}
|
||||
}(window.jQuery);
|
|
@ -0,0 +1,451 @@
|
|||
/*
|
||||
* jQuery UI Nested Sortable
|
||||
* v 1.3.5 / 21 jun 2012
|
||||
* http://mjsarfatti.com/code/nestedSortable
|
||||
*
|
||||
* Depends on:
|
||||
* jquery.ui.sortable.js 1.8+
|
||||
*
|
||||
* Copyright (c) 2010-2012 Manuele J Sarfatti
|
||||
* Licensed under the MIT License
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
$.widget("mjs.nestedSortable", $.extend({}, $.ui.sortable.prototype, {
|
||||
|
||||
options: {
|
||||
tabSize: 20,
|
||||
disableNesting: 'mjs-nestedSortable-no-nesting',
|
||||
errorClass: 'mjs-nestedSortable-error',
|
||||
doNotClear: false,
|
||||
listType: 'ol',
|
||||
maxLevels: 0,
|
||||
protectRoot: false,
|
||||
rootID: null,
|
||||
rtl: false,
|
||||
isAllowed: function(item, parent) { return true; }
|
||||
},
|
||||
|
||||
_create: function() {
|
||||
this.element.data('sortable', this.element.data('nestedSortable'));
|
||||
|
||||
if (!this.element.is(this.options.listType))
|
||||
throw new Error('nestedSortable: Please check the listType option is set to your actual list type');
|
||||
|
||||
return $.ui.sortable.prototype._create.apply(this, arguments);
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
this.element
|
||||
.removeData("nestedSortable")
|
||||
.unbind(".nestedSortable");
|
||||
return $.ui.sortable.prototype.destroy.apply(this, arguments);
|
||||
},
|
||||
|
||||
_mouseDrag: function(event) {
|
||||
|
||||
//Compute the helpers position
|
||||
this.position = this._generatePosition(event);
|
||||
this.positionAbs = this._convertPositionTo("absolute");
|
||||
|
||||
if (!this.lastPositionAbs) {
|
||||
this.lastPositionAbs = this.positionAbs;
|
||||
}
|
||||
|
||||
var o = this.options;
|
||||
|
||||
//Do scrolling
|
||||
if(this.options.scroll) {
|
||||
var scrolled = false;
|
||||
if(this.scrollParent[0] != document && this.scrollParent[0].tagName != 'HTML') {
|
||||
|
||||
if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity)
|
||||
this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed;
|
||||
else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity)
|
||||
this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed;
|
||||
|
||||
if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity)
|
||||
this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed;
|
||||
else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity)
|
||||
this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed;
|
||||
|
||||
} else {
|
||||
|
||||
if(event.pageY - $(document).scrollTop() < o.scrollSensitivity)
|
||||
scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
|
||||
else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity)
|
||||
scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);
|
||||
|
||||
if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity)
|
||||
scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
|
||||
else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity)
|
||||
scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);
|
||||
|
||||
}
|
||||
|
||||
if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour)
|
||||
$.ui.ddmanager.prepareOffsets(this, event);
|
||||
}
|
||||
|
||||
//Regenerate the absolute position used for position checks
|
||||
this.positionAbs = this._convertPositionTo("absolute");
|
||||
|
||||
// Find the top offset before rearrangement,
|
||||
var previousTopOffset = this.placeholder.offset().top;
|
||||
|
||||
//Set the helper position
|
||||
if(!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left+'px';
|
||||
if(!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top+'px';
|
||||
|
||||
//Rearrange
|
||||
for (var i = this.items.length - 1; i >= 0; i--) {
|
||||
|
||||
//Cache variables and intersection, continue if no intersection
|
||||
var item = this.items[i], itemElement = item.item[0], intersection = this._intersectsWithPointer(item);
|
||||
if (!intersection) continue;
|
||||
|
||||
if(itemElement != this.currentItem[0] //cannot intersect with itself
|
||||
&& this.placeholder[intersection == 1 ? "next" : "prev"]()[0] != itemElement //no useless actions that have been done before
|
||||
&& !$.contains(this.placeholder[0], itemElement) //no action if the item moved is the parent of the item checked
|
||||
&& (this.options.type == 'semi-dynamic' ? !$.contains(this.element[0], itemElement) : true)
|
||||
//&& itemElement.parentNode == this.placeholder[0].parentNode // only rearrange items within the same container
|
||||
) {
|
||||
|
||||
$(itemElement).mouseenter();
|
||||
|
||||
this.direction = intersection == 1 ? "down" : "up";
|
||||
|
||||
if (this.options.tolerance == "pointer" || this._intersectsWithSides(item)) {
|
||||
$(itemElement).mouseleave();
|
||||
this._rearrange(event, item);
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
|
||||
// Clear emtpy ul's/ol's
|
||||
this._clearEmpty(itemElement);
|
||||
|
||||
this._trigger("change", event, this._uiHash());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var parentItem = (this.placeholder[0].parentNode.parentNode &&
|
||||
$(this.placeholder[0].parentNode.parentNode).closest('.ui-sortable').length)
|
||||
? $(this.placeholder[0].parentNode.parentNode)
|
||||
: null,
|
||||
level = this._getLevel(this.placeholder),
|
||||
childLevels = this._getChildLevels(this.helper);
|
||||
|
||||
// To find the previous sibling in the list, keep backtracking until we hit a valid list item.
|
||||
var previousItem = this.placeholder[0].previousSibling ? $(this.placeholder[0].previousSibling) : null;
|
||||
if (previousItem != null) {
|
||||
while (previousItem[0].nodeName.toLowerCase() != 'li' || previousItem[0] == this.currentItem[0] || previousItem[0] == this.helper[0]) {
|
||||
if (previousItem[0].previousSibling) {
|
||||
previousItem = $(previousItem[0].previousSibling);
|
||||
} else {
|
||||
previousItem = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// To find the next sibling in the list, keep stepping forward until we hit a valid list item.
|
||||
var nextItem = this.placeholder[0].nextSibling ? $(this.placeholder[0].nextSibling) : null;
|
||||
if (nextItem != null) {
|
||||
while (nextItem[0].nodeName.toLowerCase() != 'li' || nextItem[0] == this.currentItem[0] || nextItem[0] == this.helper[0]) {
|
||||
if (nextItem[0].nextSibling) {
|
||||
nextItem = $(nextItem[0].nextSibling);
|
||||
} else {
|
||||
nextItem = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var newList = document.createElement(o.listType);
|
||||
|
||||
this.beyondMaxLevels = 0;
|
||||
|
||||
// If the item is moved to the left, send it to its parent's level unless there are siblings below it.
|
||||
if (parentItem != null && nextItem == null &&
|
||||
(o.rtl && (this.positionAbs.left + this.helper.outerWidth() > parentItem.offset().left + parentItem.outerWidth()) ||
|
||||
!o.rtl && (this.positionAbs.left < parentItem.offset().left))) {
|
||||
parentItem.after(this.placeholder[0]);
|
||||
this._clearEmpty(parentItem[0]);
|
||||
this._trigger("change", event, this._uiHash());
|
||||
}
|
||||
// If the item is below a sibling and is moved to the right, make it a child of that sibling.
|
||||
else if (previousItem != null &&
|
||||
(o.rtl && (this.positionAbs.left + this.helper.outerWidth() < previousItem.offset().left + previousItem.outerWidth() - o.tabSize) ||
|
||||
!o.rtl && (this.positionAbs.left > previousItem.offset().left + o.tabSize))) {
|
||||
this._isAllowed(previousItem, level, level+childLevels+1);
|
||||
if (!previousItem.children(o.listType).length) {
|
||||
previousItem[0].appendChild(newList);
|
||||
}
|
||||
// If this item is being moved from the top, add it to the top of the list.
|
||||
if (previousTopOffset && (previousTopOffset <= previousItem.offset().top)) {
|
||||
previousItem.children(o.listType).prepend(this.placeholder);
|
||||
}
|
||||
// Otherwise, add it to the bottom of the list.
|
||||
else {
|
||||
previousItem.children(o.listType)[0].appendChild(this.placeholder[0]);
|
||||
}
|
||||
this._trigger("change", event, this._uiHash());
|
||||
}
|
||||
else {
|
||||
this._isAllowed(parentItem, level, level+childLevels);
|
||||
}
|
||||
|
||||
//Post events to containers
|
||||
this._contactContainers(event);
|
||||
|
||||
//Interconnect with droppables
|
||||
if($.ui.ddmanager) $.ui.ddmanager.drag(this, event);
|
||||
|
||||
//Call callbacks
|
||||
this._trigger('sort', event, this._uiHash());
|
||||
|
||||
this.lastPositionAbs = this.positionAbs;
|
||||
return false;
|
||||
|
||||
},
|
||||
|
||||
_mouseStop: function(event, noPropagation) {
|
||||
|
||||
// If the item is in a position not allowed, send it back
|
||||
if (this.beyondMaxLevels) {
|
||||
|
||||
this.placeholder.removeClass(this.options.errorClass);
|
||||
|
||||
if (this.domPosition.prev) {
|
||||
$(this.domPosition.prev).after(this.placeholder);
|
||||
} else {
|
||||
$(this.domPosition.parent).prepend(this.placeholder);
|
||||
}
|
||||
|
||||
this._trigger("revert", event, this._uiHash());
|
||||
|
||||
}
|
||||
|
||||
// Clean last empty ul/ol
|
||||
for (var i = this.items.length - 1; i >= 0; i--) {
|
||||
var item = this.items[i].item[0];
|
||||
this._clearEmpty(item);
|
||||
}
|
||||
|
||||
$.ui.sortable.prototype._mouseStop.apply(this, arguments);
|
||||
|
||||
|
||||
// for Orbit ----> Check the number of pages in each page
|
||||
if($('#items').length) {
|
||||
var $sortable = $('.sortable'),
|
||||
$host = $sortable.children('.navbar').eq(0),
|
||||
$navbar = $('.sortable li').children('.navbar'),
|
||||
$quantity = $sortable.find('li').length;
|
||||
$host.find('.badge').text($quantity);
|
||||
$navbar.each(function(i) {
|
||||
if($navbar.eq(i).next('ol').length>0) {
|
||||
var $amount = $navbar.eq(i).next('ol').find('li').length;
|
||||
$navbar.eq(i).find('.badge').text($amount);
|
||||
}else{
|
||||
$navbar.eq(i).find('.badge').text('0');
|
||||
}
|
||||
if($navbar.eq(i).next('ol').length==1 && $navbar.eq(i).next('ol').children('li').length==0){
|
||||
$navbar.eq(i).next('ol').remove();
|
||||
}
|
||||
$navbar.eq(i).find('.badge').text()>0 ? $navbar.eq(i).find('.badge').addClass('badge-info'):$navbar.eq(i).find('.badge').removeClass('badge-info');
|
||||
});
|
||||
}
|
||||
//
|
||||
},
|
||||
|
||||
serialize: function(options) {
|
||||
|
||||
var o = $.extend({}, this.options, options),
|
||||
items = this._getItemsAsjQuery(o && o.connected),
|
||||
str = [];
|
||||
|
||||
$(items).each(function() {
|
||||
var res = ($(o.item || this).attr(o.attribute || 'id') || '')
|
||||
.match(o.expression || (/(.+)[-=_](.+)/)),
|
||||
pid = ($(o.item || this).parent(o.listType)
|
||||
.parent(o.items)
|
||||
.attr(o.attribute || 'id') || '')
|
||||
.match(o.expression || (/(.+)[-=_](.+)/));
|
||||
|
||||
if (res) {
|
||||
str.push(((o.key || res[1]) + '[' + (o.key && o.expression ? res[1] : res[2]) + ']')
|
||||
+ '='
|
||||
+ (pid ? (o.key && o.expression ? pid[1] : pid[2]) : o.rootID));
|
||||
}
|
||||
});
|
||||
|
||||
if(!str.length && o.key) {
|
||||
str.push(o.key + '=');
|
||||
}
|
||||
|
||||
return str.join('&');
|
||||
|
||||
},
|
||||
|
||||
toHierarchy: function(options) {
|
||||
|
||||
var o = $.extend({}, this.options, options),
|
||||
sDepth = o.startDepthCount || 0,
|
||||
ret = [];
|
||||
|
||||
$(this.element).children(o.items).each(function () {
|
||||
var level = _recursiveItems(this);
|
||||
ret.push(level);
|
||||
});
|
||||
|
||||
return ret;
|
||||
|
||||
function _recursiveItems(item) {
|
||||
var id = ($(item).attr(o.attribute || 'id') || '').match(o.expression || (/(.+)[-=_](.+)/));
|
||||
if (id) {
|
||||
var currentItem = {"id" : id[2]};
|
||||
if ($(item).children(o.listType).children(o.items).length > 0) {
|
||||
currentItem.children = [];
|
||||
$(item).children(o.listType).children(o.items).each(function() {
|
||||
var level = _recursiveItems(this);
|
||||
currentItem.children.push(level);
|
||||
});
|
||||
}
|
||||
return currentItem;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
toArray: function(options) {
|
||||
|
||||
var o = $.extend({}, this.options, options),
|
||||
sDepth = o.startDepthCount || 0,
|
||||
ret = [],
|
||||
left = 2;
|
||||
|
||||
ret.push({
|
||||
"item_id": o.rootID,
|
||||
"parent_id": 'none',
|
||||
"depth": sDepth,
|
||||
"left": '1',
|
||||
"right": ($(o.items, this.element).length + 1) * 2
|
||||
});
|
||||
|
||||
$(this.element).children(o.items).each(function () {
|
||||
left = _recursiveArray(this, sDepth + 1, left);
|
||||
});
|
||||
|
||||
ret = ret.sort(function(a,b){ return (a.left - b.left); });
|
||||
|
||||
return ret;
|
||||
|
||||
function _recursiveArray(item, depth, left) {
|
||||
|
||||
var right = left + 1,
|
||||
id,
|
||||
pid;
|
||||
|
||||
if ($(item).children(o.listType).children(o.items).length > 0) {
|
||||
depth ++;
|
||||
$(item).children(o.listType).children(o.items).each(function () {
|
||||
right = _recursiveArray($(this), depth, right);
|
||||
});
|
||||
depth --;
|
||||
}
|
||||
|
||||
id = ($(item).attr(o.attribute || 'id')).match(o.expression || (/(.+)[-=_](.+)/));
|
||||
|
||||
if (depth === sDepth + 1) {
|
||||
pid = o.rootID;
|
||||
} else {
|
||||
var parentItem = ($(item).parent(o.listType)
|
||||
.parent(o.items)
|
||||
.attr(o.attribute || 'id'))
|
||||
.match(o.expression || (/(.+)[-=_](.+)/));
|
||||
pid = parentItem[2];
|
||||
}
|
||||
|
||||
if (id) {
|
||||
ret.push({"item_id": id[2], "parent_id": pid, "depth": depth, "left": left, "right": right});
|
||||
}
|
||||
|
||||
left = right + 1;
|
||||
return left;
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
_clearEmpty: function(item) {
|
||||
|
||||
var emptyList = $(item).children(this.options.listType);
|
||||
if (emptyList.length && !emptyList.children().length && !this.options.doNotClear) {
|
||||
emptyList.remove();
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
_getLevel: function(item) {
|
||||
|
||||
var level = 1;
|
||||
|
||||
if (this.options.listType) {
|
||||
var list = item.closest(this.options.listType);
|
||||
while (list && list.length > 0 &&
|
||||
!list.is('.ui-sortable')) {
|
||||
level++;
|
||||
list = list.parent().closest(this.options.listType);
|
||||
}
|
||||
}
|
||||
|
||||
return level;
|
||||
},
|
||||
|
||||
_getChildLevels: function(parent, depth) {
|
||||
var self = this,
|
||||
o = this.options,
|
||||
result = 0;
|
||||
depth = depth || 0;
|
||||
|
||||
$(parent).children(o.listType).children(o.items).each(function (index, child) {
|
||||
result = Math.max(self._getChildLevels(child, depth + 1), result);
|
||||
});
|
||||
|
||||
return depth ? result + 1 : result;
|
||||
},
|
||||
|
||||
_isAllowed: function(parentItem, level, levels) {
|
||||
var o = this.options,
|
||||
isRoot = $(this.domPosition.parent).hasClass('ui-sortable') ? true : false,
|
||||
maxLevels = this.placeholder.closest('.ui-sortable').nestedSortable('option', 'maxLevels'); // this takes into account the maxLevels set to the recipient list
|
||||
|
||||
// Is the root protected?
|
||||
// Are we trying to nest under a no-nest?
|
||||
// Are we nesting too deep?
|
||||
if (!o.isAllowed(this.currentItem, parentItem) ||
|
||||
parentItem && parentItem.hasClass(o.disableNesting) ||
|
||||
o.protectRoot && (parentItem == null && !isRoot || isRoot && level > 1)) {
|
||||
this.placeholder.addClass(o.errorClass);
|
||||
if (maxLevels < levels && maxLevels != 0) {
|
||||
this.beyondMaxLevels = levels - maxLevels;
|
||||
} else {
|
||||
this.beyondMaxLevels = 1;
|
||||
}
|
||||
} else {
|
||||
if (maxLevels < levels && maxLevels != 0) {
|
||||
this.placeholder.addClass(o.errorClass);
|
||||
this.beyondMaxLevels = levels - maxLevels;
|
||||
} else {
|
||||
this.placeholder.removeClass(o.errorClass);
|
||||
this.beyondMaxLevels = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}));
|
||||
|
||||
$.mjs.nestedSortable.prototype.options = $.extend({}, $.ui.sortable.prototype.options, $.mjs.nestedSortable.prototype.options);
|
||||
})(jQuery);
|
|
@ -0,0 +1,752 @@
|
|||
/*! nanoScrollerJS - v0.7.2
|
||||
* http://jamesflorentino.github.com/nanoScrollerJS/
|
||||
* Copyright (c) 2013 James Florentino; Licensed MIT */
|
||||
|
||||
|
||||
(function($, window, document) {
|
||||
"use strict";
|
||||
|
||||
var BROWSER_IS_IE7, BROWSER_SCROLLBAR_WIDTH, DOMSCROLL, DOWN, DRAG, KEYDOWN, KEYUP, MOUSEDOWN, MOUSEMOVE, MOUSEUP, MOUSEWHEEL, NanoScroll, PANEDOWN, RESIZE, SCROLL, SCROLLBAR, TOUCHMOVE, UP, WHEEL, defaults, getBrowserScrollbarWidth;
|
||||
defaults = {
|
||||
/**
|
||||
a classname for the pane element.
|
||||
@property paneClass
|
||||
@type String
|
||||
@default 'pane'
|
||||
*/
|
||||
|
||||
paneClass: 'pane',
|
||||
/**
|
||||
a classname for the slider element.
|
||||
@property sliderClass
|
||||
@type String
|
||||
@default 'slider'
|
||||
*/
|
||||
|
||||
sliderClass: 'slider',
|
||||
/**
|
||||
a classname for the content element.
|
||||
@property contentClass
|
||||
@type String
|
||||
@default 'content'
|
||||
*/
|
||||
|
||||
contentClass: 'content',
|
||||
/**
|
||||
a setting to enable native scrolling in iOS devices.
|
||||
@property iOSNativeScrolling
|
||||
@type Boolean
|
||||
@default false
|
||||
*/
|
||||
|
||||
iOSNativeScrolling: false,
|
||||
/**
|
||||
a setting to prevent the rest of the page being
|
||||
scrolled when user scrolls the `.content` element.
|
||||
@property preventPageScrolling
|
||||
@type Boolean
|
||||
@default false
|
||||
*/
|
||||
|
||||
preventPageScrolling: false,
|
||||
/**
|
||||
a setting to disable binding to the resize event.
|
||||
@property disableResize
|
||||
@type Boolean
|
||||
@default false
|
||||
*/
|
||||
|
||||
disableResize: false,
|
||||
/**
|
||||
a setting to make the scrollbar always visible.
|
||||
@property alwaysVisible
|
||||
@type Boolean
|
||||
@default false
|
||||
*/
|
||||
|
||||
alwaysVisible: false,
|
||||
/**
|
||||
a default timeout for the `flash()` method.
|
||||
@property flashDelay
|
||||
@type Number
|
||||
@default 1500
|
||||
*/
|
||||
|
||||
flashDelay: 1500,
|
||||
/**
|
||||
a minimum height for the `.slider` element.
|
||||
@property sliderMinHeight
|
||||
@type Number
|
||||
@default 20
|
||||
*/
|
||||
|
||||
sliderMinHeight: 20,
|
||||
/**
|
||||
a maximum height for the `.slider` element.
|
||||
@property sliderMaxHeight
|
||||
@type Number
|
||||
@default null
|
||||
*/
|
||||
|
||||
sliderMaxHeight: null
|
||||
};
|
||||
/**
|
||||
@property SCROLLBAR
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
SCROLLBAR = 'scrollbar';
|
||||
/**
|
||||
@property SCROLL
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
SCROLL = 'scroll';
|
||||
/**
|
||||
@property MOUSEDOWN
|
||||
@type String
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
MOUSEDOWN = 'mousedown';
|
||||
/**
|
||||
@property MOUSEMOVE
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
MOUSEMOVE = 'mousemove';
|
||||
/**
|
||||
@property MOUSEWHEEL
|
||||
@type String
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
MOUSEWHEEL = 'mousewheel';
|
||||
/**
|
||||
@property MOUSEUP
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
MOUSEUP = 'mouseup';
|
||||
/**
|
||||
@property RESIZE
|
||||
@type String
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
RESIZE = 'resize';
|
||||
/**
|
||||
@property DRAG
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
DRAG = 'drag';
|
||||
/**
|
||||
@property UP
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
UP = 'up';
|
||||
/**
|
||||
@property PANEDOWN
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
PANEDOWN = 'panedown';
|
||||
/**
|
||||
@property DOMSCROLL
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
DOMSCROLL = 'DOMMouseScroll';
|
||||
/**
|
||||
@property DOWN
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
DOWN = 'down';
|
||||
/**
|
||||
@property WHEEL
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
WHEEL = 'wheel';
|
||||
/**
|
||||
@property KEYDOWN
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
KEYDOWN = 'keydown';
|
||||
/**
|
||||
@property KEYUP
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
KEYUP = 'keyup';
|
||||
/**
|
||||
@property TOUCHMOVE
|
||||
@type String
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
TOUCHMOVE = 'touchmove';
|
||||
/**
|
||||
@property BROWSER_IS_IE7
|
||||
@type Boolean
|
||||
@static
|
||||
@final
|
||||
@private
|
||||
*/
|
||||
|
||||
BROWSER_IS_IE7 = window.navigator.appName === 'Microsoft Internet Explorer' && /msie 7./i.test(window.navigator.appVersion) && window.ActiveXObject;
|
||||
/**
|
||||
@property BROWSER_SCROLLBAR_WIDTH
|
||||
@type Number
|
||||
@static
|
||||
@default null
|
||||
@private
|
||||
*/
|
||||
|
||||
BROWSER_SCROLLBAR_WIDTH = null;
|
||||
/**
|
||||
Returns browser's native scrollbar width
|
||||
@method getBrowserScrollbarWidth
|
||||
@return {Number} the scrollbar width in pixels
|
||||
@static
|
||||
@private
|
||||
*/
|
||||
|
||||
getBrowserScrollbarWidth = function() {
|
||||
var outer, outerStyle, scrollbarWidth;
|
||||
outer = document.createElement('div');
|
||||
outerStyle = outer.style;
|
||||
outerStyle.position = 'absolute';
|
||||
outerStyle.width = '100px';
|
||||
outerStyle.height = '100px';
|
||||
outerStyle.overflow = SCROLL;
|
||||
outerStyle.top = '-9999px';
|
||||
document.body.appendChild(outer);
|
||||
scrollbarWidth = outer.offsetWidth - outer.clientWidth;
|
||||
document.body.removeChild(outer);
|
||||
return scrollbarWidth;
|
||||
};
|
||||
/**
|
||||
@class NanoScroll
|
||||
@param element {HTMLElement|Node} the main element
|
||||
@param options {Object} nanoScroller's options
|
||||
@constructor
|
||||
*/
|
||||
|
||||
NanoScroll = (function() {
|
||||
|
||||
function NanoScroll(el, options) {
|
||||
this.el = el;
|
||||
this.options = options;
|
||||
BROWSER_SCROLLBAR_WIDTH || (BROWSER_SCROLLBAR_WIDTH = getBrowserScrollbarWidth());
|
||||
this.$el = $(this.el);
|
||||
this.doc = $(document);
|
||||
this.win = $(window);
|
||||
this.$content = this.$el.children("." + options.contentClass);
|
||||
this.$content.attr('tabindex', 0);
|
||||
this.content = this.$content[0];
|
||||
if (this.options.iOSNativeScrolling && (this.el.style.WebkitOverflowScrolling != null)) {
|
||||
this.nativeScrolling();
|
||||
} else {
|
||||
this.generate();
|
||||
}
|
||||
this.createEvents();
|
||||
this.addEvents();
|
||||
this.reset();
|
||||
}
|
||||
|
||||
/**
|
||||
Prevents the rest of the page being scrolled
|
||||
when user scrolls the `.content` element.
|
||||
@method preventScrolling
|
||||
@param event {Event}
|
||||
@param direction {String} Scroll direction (up or down)
|
||||
@private
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.preventScrolling = function(e, direction) {
|
||||
if (!this.isActive) {
|
||||
return;
|
||||
}
|
||||
if (e.type === DOMSCROLL) {
|
||||
if (direction === DOWN && e.originalEvent.detail > 0 || direction === UP && e.originalEvent.detail < 0) {
|
||||
e.preventDefault();
|
||||
}
|
||||
} else if (e.type === MOUSEWHEEL) {
|
||||
if (!e.originalEvent || !e.originalEvent.wheelDelta) {
|
||||
return;
|
||||
}
|
||||
if (direction === DOWN && e.originalEvent.wheelDelta < 0 || direction === UP && e.originalEvent.wheelDelta > 0) {
|
||||
e.preventDefault();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
Enable iOS native scrolling
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.nativeScrolling = function() {
|
||||
this.$content.css({
|
||||
WebkitOverflowScrolling: 'touch'
|
||||
});
|
||||
this.iOSNativeScrolling = true;
|
||||
this.isActive = true;
|
||||
};
|
||||
|
||||
/**
|
||||
Updates those nanoScroller properties that
|
||||
are related to current scrollbar position.
|
||||
@method updateScrollValues
|
||||
@private
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.updateScrollValues = function() {
|
||||
var content;
|
||||
content = this.content;
|
||||
this.maxScrollTop = content.scrollHeight - content.clientHeight;
|
||||
this.contentScrollTop = content.scrollTop;
|
||||
if (!this.iOSNativeScrolling) {
|
||||
this.maxSliderTop = this.paneHeight - this.sliderHeight;
|
||||
this.sliderTop = this.contentScrollTop * this.maxSliderTop / this.maxScrollTop;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
Creates event related methods
|
||||
@method createEvents
|
||||
@private
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.createEvents = function() {
|
||||
var _this = this;
|
||||
this.events = {
|
||||
down: function(e) {
|
||||
_this.isBeingDragged = true;
|
||||
_this.offsetY = e.pageY - _this.slider.offset().top;
|
||||
_this.pane.addClass('active');
|
||||
_this.doc.bind(MOUSEMOVE, _this.events[DRAG]).bind(MOUSEUP, _this.events[UP]);
|
||||
return false;
|
||||
},
|
||||
drag: function(e) {
|
||||
_this.sliderY = e.pageY - _this.$el.offset().top - _this.offsetY;
|
||||
_this.scroll();
|
||||
_this.updateScrollValues();
|
||||
if (_this.contentScrollTop >= _this.maxScrollTop) {
|
||||
_this.$el.trigger('scrollend');
|
||||
} else if (_this.contentScrollTop === 0) {
|
||||
_this.$el.trigger('scrolltop');
|
||||
}
|
||||
return false;
|
||||
},
|
||||
up: function(e) {
|
||||
_this.isBeingDragged = false;
|
||||
_this.pane.removeClass('active');
|
||||
_this.doc.unbind(MOUSEMOVE, _this.events[DRAG]).unbind(MOUSEUP, _this.events[UP]);
|
||||
return false;
|
||||
},
|
||||
resize: function(e) {
|
||||
_this.reset();
|
||||
},
|
||||
panedown: function(e) {
|
||||
_this.sliderY = (e.offsetY || e.originalEvent.layerY) - (_this.sliderHeight * 0.5);
|
||||
_this.scroll();
|
||||
_this.events.down(e);
|
||||
return false;
|
||||
},
|
||||
scroll: function(e) {
|
||||
if (_this.isBeingDragged) {
|
||||
return;
|
||||
}
|
||||
_this.updateScrollValues();
|
||||
if (!_this.iOSNativeScrolling) {
|
||||
_this.sliderY = _this.sliderTop;
|
||||
_this.slider.css({
|
||||
top: _this.sliderTop
|
||||
});
|
||||
}
|
||||
if (e == null) {
|
||||
return;
|
||||
}
|
||||
if (_this.contentScrollTop >= _this.maxScrollTop) {
|
||||
if (_this.options.preventPageScrolling) {
|
||||
_this.preventScrolling(e, DOWN);
|
||||
}
|
||||
_this.$el.trigger('scrollend');
|
||||
} else if (_this.contentScrollTop === 0) {
|
||||
if (_this.options.preventPageScrolling) {
|
||||
_this.preventScrolling(e, UP);
|
||||
}
|
||||
_this.$el.trigger('scrolltop');
|
||||
}
|
||||
},
|
||||
wheel: function(e) {
|
||||
if (e == null) {
|
||||
return;
|
||||
}
|
||||
_this.sliderY += -e.wheelDeltaY || -e.delta;
|
||||
_this.scroll();
|
||||
return false;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
Adds event listeners with jQuery.
|
||||
@method addEvents
|
||||
@private
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.addEvents = function() {
|
||||
var events;
|
||||
this.removeEvents();
|
||||
events = this.events;
|
||||
if (!this.options.disableResize) {
|
||||
this.win.bind(RESIZE, events[RESIZE]);
|
||||
}
|
||||
if (!this.iOSNativeScrolling) {
|
||||
this.slider.bind(MOUSEDOWN, events[DOWN]);
|
||||
this.pane.bind(MOUSEDOWN, events[PANEDOWN]).bind("" + MOUSEWHEEL + " " + DOMSCROLL, events[WHEEL]);
|
||||
}
|
||||
this.$content.bind("" + SCROLL + " " + MOUSEWHEEL + " " + DOMSCROLL + " " + TOUCHMOVE, events[SCROLL]);
|
||||
};
|
||||
|
||||
/**
|
||||
Removes event listeners with jQuery.
|
||||
@method removeEvents
|
||||
@private
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.removeEvents = function() {
|
||||
var events;
|
||||
events = this.events;
|
||||
this.win.unbind(RESIZE, events[RESIZE]);
|
||||
if (!this.iOSNativeScrolling) {
|
||||
this.slider.unbind();
|
||||
this.pane.unbind();
|
||||
}
|
||||
this.$content.unbind("" + SCROLL + " " + MOUSEWHEEL + " " + DOMSCROLL + " " + TOUCHMOVE, events[SCROLL]);
|
||||
};
|
||||
|
||||
/**
|
||||
Generates nanoScroller's scrollbar and elements for it.
|
||||
@method generate
|
||||
@chainable
|
||||
@private
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.generate = function() {
|
||||
var contentClass, cssRule, options, paneClass, sliderClass;
|
||||
options = this.options;
|
||||
paneClass = options.paneClass, sliderClass = options.sliderClass, contentClass = options.contentClass;
|
||||
if (!this.$el.find("" + paneClass).length && !this.$el.find("" + sliderClass).length) {
|
||||
this.$el.append("<div class=\"" + paneClass + "\"><div class=\"" + sliderClass + "\" /></div>");
|
||||
}
|
||||
this.pane = this.$el.children("." + paneClass);
|
||||
this.slider = this.pane.find("." + sliderClass);
|
||||
if (BROWSER_SCROLLBAR_WIDTH) {
|
||||
cssRule = this.$el.css('direction') === 'rtl' ? {
|
||||
left: -BROWSER_SCROLLBAR_WIDTH
|
||||
} : {
|
||||
right: -BROWSER_SCROLLBAR_WIDTH
|
||||
};
|
||||
this.$el.addClass('has-scrollbar');
|
||||
}
|
||||
if (cssRule != null) {
|
||||
this.$content.css(cssRule);
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
@method restore
|
||||
@private
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.restore = function() {
|
||||
this.stopped = false;
|
||||
this.pane.show();
|
||||
this.addEvents();
|
||||
};
|
||||
|
||||
/**
|
||||
Resets nanoScroller's scrollbar.
|
||||
@method reset
|
||||
@chainable
|
||||
@example
|
||||
$(".nano").nanoScroller();
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.reset = function() {
|
||||
var content, contentHeight, contentStyle, contentStyleOverflowY, paneBottom, paneHeight, paneOuterHeight, paneTop, sliderHeight;
|
||||
if (this.iOSNativeScrolling) {
|
||||
this.contentHeight = this.content.scrollHeight;
|
||||
return;
|
||||
}
|
||||
if (!this.$el.find("." + this.options.paneClass).length) {
|
||||
this.generate().stop();
|
||||
}
|
||||
if (this.stopped) {
|
||||
this.restore();
|
||||
}
|
||||
content = this.content;
|
||||
contentStyle = content.style;
|
||||
contentStyleOverflowY = contentStyle.overflowY;
|
||||
if (BROWSER_IS_IE7) {
|
||||
this.$content.css({
|
||||
height: this.$content.height()
|
||||
});
|
||||
}
|
||||
contentHeight = content.scrollHeight + BROWSER_SCROLLBAR_WIDTH;
|
||||
paneHeight = this.pane.outerHeight();
|
||||
paneTop = parseInt(this.pane.css('top'), 10);
|
||||
paneBottom = parseInt(this.pane.css('bottom'), 10);
|
||||
paneOuterHeight = paneHeight + paneTop + paneBottom;
|
||||
sliderHeight = Math.round(paneOuterHeight / contentHeight * paneOuterHeight);
|
||||
if (sliderHeight < this.options.sliderMinHeight) {
|
||||
sliderHeight = this.options.sliderMinHeight;
|
||||
} else if ((this.options.sliderMaxHeight != null) && sliderHeight > this.options.sliderMaxHeight) {
|
||||
sliderHeight = this.options.sliderMaxHeight;
|
||||
}
|
||||
if (contentStyleOverflowY === SCROLL && contentStyle.overflowX !== SCROLL) {
|
||||
sliderHeight += BROWSER_SCROLLBAR_WIDTH;
|
||||
}
|
||||
this.maxSliderTop = paneOuterHeight - sliderHeight;
|
||||
this.contentHeight = contentHeight;
|
||||
this.paneHeight = paneHeight;
|
||||
this.paneOuterHeight = paneOuterHeight;
|
||||
this.sliderHeight = sliderHeight;
|
||||
this.slider.height(sliderHeight);
|
||||
this.events.scroll();
|
||||
this.pane.show();
|
||||
this.isActive = true;
|
||||
if ((content.scrollHeight === content.clientHeight) || (this.pane.outerHeight(true) >= content.scrollHeight && contentStyleOverflowY !== SCROLL)) {
|
||||
this.pane.hide();
|
||||
this.isActive = false;
|
||||
} else if (this.el.clientHeight === content.scrollHeight && contentStyleOverflowY === SCROLL) {
|
||||
this.slider.hide();
|
||||
} else {
|
||||
this.slider.show();
|
||||
}
|
||||
this.pane.css({
|
||||
opacity: (this.options.alwaysVisible ? 1 : ''),
|
||||
visibility: (this.options.alwaysVisible ? 'visible' : '')
|
||||
});
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
@method scroll
|
||||
@private
|
||||
@example
|
||||
$(".nano").nanoScroller({ scroll: 'top' });
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.scroll = function() {
|
||||
if (!this.isActive) {
|
||||
return;
|
||||
}
|
||||
this.sliderY = Math.max(0, this.sliderY);
|
||||
this.sliderY = Math.min(this.maxSliderTop, this.sliderY);
|
||||
this.$content.scrollTop((this.paneHeight - this.contentHeight + BROWSER_SCROLLBAR_WIDTH) * this.sliderY / this.maxSliderTop * -1);
|
||||
if (!this.iOSNativeScrolling) {
|
||||
this.slider.css({
|
||||
top: this.sliderY
|
||||
});
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
Scroll at the bottom with an offset value
|
||||
@method scrollBottom
|
||||
@param offsetY {Number}
|
||||
@chainable
|
||||
@example
|
||||
$(".nano").nanoScroller({ scrollBottom: value });
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.scrollBottom = function(offsetY) {
|
||||
if (!this.isActive) {
|
||||
return;
|
||||
}
|
||||
this.reset();
|
||||
this.$content.scrollTop(this.contentHeight - this.$content.height() - offsetY).trigger(MOUSEWHEEL);
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
Scroll at the top with an offset value
|
||||
@method scrollTop
|
||||
@param offsetY {Number}
|
||||
@chainable
|
||||
@example
|
||||
$(".nano").nanoScroller({ scrollTop: value });
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.scrollTop = function(offsetY) {
|
||||
if (!this.isActive) {
|
||||
return;
|
||||
}
|
||||
this.reset();
|
||||
this.$content.scrollTop(+offsetY).trigger(MOUSEWHEEL);
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
Scroll to an element
|
||||
@method scrollTo
|
||||
@param node {Node} A node to scroll to.
|
||||
@chainable
|
||||
@example
|
||||
$(".nano").nanoScroller({ scrollTo: $('#a_node') });
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.scrollTo = function(node) {
|
||||
if (!this.isActive) {
|
||||
return;
|
||||
}
|
||||
this.reset();
|
||||
this.scrollTop($(node).get(0).offsetTop);
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
To stop the operation.
|
||||
This option will tell the plugin to disable all event bindings and hide the gadget scrollbar from the UI.
|
||||
@method stop
|
||||
@chainable
|
||||
@example
|
||||
$(".nano").nanoScroller({ stop: true });
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.stop = function() {
|
||||
this.stopped = true;
|
||||
this.removeEvents();
|
||||
this.pane.hide();
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
To flash the scrollbar gadget for an amount of time defined in plugin settings (defaults to 1,5s).
|
||||
Useful if you want to show the user (e.g. on pageload) that there is more content waiting for him.
|
||||
@method flash
|
||||
@chainable
|
||||
@example
|
||||
$(".nano").nanoScroller({ flash: true });
|
||||
*/
|
||||
|
||||
|
||||
NanoScroll.prototype.flash = function() {
|
||||
var _this = this;
|
||||
if (!this.isActive) {
|
||||
return;
|
||||
}
|
||||
this.reset();
|
||||
this.pane.addClass('flashed');
|
||||
setTimeout(function() {
|
||||
_this.pane.removeClass('flashed');
|
||||
}, this.options.flashDelay);
|
||||
return this;
|
||||
};
|
||||
|
||||
return NanoScroll;
|
||||
|
||||
})();
|
||||
$.fn.nanoScroller = function(settings) {
|
||||
return this.each(function() {
|
||||
var options, scrollbar;
|
||||
if (!(scrollbar = this.nanoscroller)) {
|
||||
options = $.extend({}, defaults, settings);
|
||||
this.nanoscroller = scrollbar = new NanoScroll(this, options);
|
||||
}
|
||||
if (settings && typeof settings === "object") {
|
||||
$.extend(scrollbar.options, settings);
|
||||
if (settings.scrollBottom) {
|
||||
return scrollbar.scrollBottom(settings.scrollBottom);
|
||||
}
|
||||
if (settings.scrollTop) {
|
||||
return scrollbar.scrollTop(settings.scrollTop);
|
||||
}
|
||||
if (settings.scrollTo) {
|
||||
return scrollbar.scrollTo(settings.scrollTo);
|
||||
}
|
||||
if (settings.scroll === 'bottom') {
|
||||
return scrollbar.scrollBottom(0);
|
||||
}
|
||||
if (settings.scroll === 'top') {
|
||||
return scrollbar.scrollTop(0);
|
||||
}
|
||||
if (settings.scroll && settings.scroll instanceof $) {
|
||||
return scrollbar.scrollTo(settings.scroll);
|
||||
}
|
||||
if (settings.stop) {
|
||||
return scrollbar.stop();
|
||||
}
|
||||
if (settings.flash) {
|
||||
return scrollbar.flash();
|
||||
}
|
||||
}
|
||||
return scrollbar.reset();
|
||||
});
|
||||
};
|
||||
})(jQuery, window, document);
|
|
@ -0,0 +1,270 @@
|
|||
/*
|
||||
* jQuery pageSlide
|
||||
* Version 2.0
|
||||
* http://srobbin.com/jquery-pageslide/
|
||||
*
|
||||
* jQuery Javascript plugin which slides a webpage over to reveal an additional interaction pane.
|
||||
*
|
||||
* Copyright (c) 2011 Scott Robbin (srobbin.com)
|
||||
* Dual licensed under the MIT and GPL licenses.
|
||||
*/
|
||||
|
||||
!(function($){
|
||||
// Convenience vars for accessing elements
|
||||
var $body = $('#main-wrap'),
|
||||
$pageslide = $('#pageslide'),
|
||||
$viewPage = $('#view-page');
|
||||
|
||||
var _sliding = false, // Mutex to assist closing only once
|
||||
_lastCaller; // Used to keep track of last element to trigger pageslide
|
||||
|
||||
// If the pageslide element doesn't exist, create it
|
||||
if( $pageslide.length == 0 ) {
|
||||
$pageslide = $('<div />').attr( 'id', 'pageslide' )
|
||||
.css( 'display', 'none' )
|
||||
.appendTo( $body );
|
||||
}
|
||||
|
||||
/*
|
||||
* Private methods
|
||||
*/
|
||||
function _load( url, useIframe ) {
|
||||
// Are we loading an element from the page or a URL?
|
||||
if ( url.indexOf("#") === 0 ) {
|
||||
// Load a page element
|
||||
$(url).clone(true).appendTo( $pageslide.empty() ).show();
|
||||
} else {
|
||||
// Load a URL. Into an iframe?
|
||||
if( useIframe ) {
|
||||
var iframe = $("<iframe />").attr({
|
||||
id: "page_iframe",
|
||||
src: url,
|
||||
frameborder: 0,
|
||||
hspace: 0
|
||||
})
|
||||
.css({
|
||||
width: "100%",
|
||||
height: "100%"
|
||||
});
|
||||
|
||||
$viewPage.find('.content').html( iframe );
|
||||
$viewPage.clone(true).appendTo( $pageslide.empty() ).show();
|
||||
$viewPage.find('.content').empty();
|
||||
} else {
|
||||
$viewPage.find('.content').load(url, function(){
|
||||
$viewPage.clone(true).appendTo( $pageslide.empty() ).show();
|
||||
});
|
||||
}
|
||||
|
||||
$pageslide.data( 'localEl', false );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Function that controls opening of the pageslide
|
||||
function _start( direction, speed ) {
|
||||
var slideWidth = $pageslide.outerWidth( true ),
|
||||
bodyAnimateIn = {},
|
||||
slideAnimateIn = {};
|
||||
|
||||
// If the slide is open or opening, just ignore the call
|
||||
if( $pageslide.is(':visible') || _sliding ) return;
|
||||
_sliding = true;
|
||||
|
||||
switch( direction ) {
|
||||
case 'left':
|
||||
$pageslide.css({ left: 'auto', right: '-' + slideWidth + 'px' });
|
||||
bodyAnimateIn['width'] = '-=' + slideWidth;
|
||||
slideAnimateIn['right'] = '+=' + slideWidth;
|
||||
break;
|
||||
default:
|
||||
if($sidebarState && !$('#items').length) {
|
||||
$pageslide.css({ left: '-' + (slideWidth-241) + 'px', right: 'auto' });
|
||||
}else{
|
||||
$pageslide.css({ left: '-' + (slideWidth-61) + 'px', right: 'auto' });
|
||||
};
|
||||
bodyAnimateIn['margin-left'] = '+=' + slideWidth;
|
||||
if($(window).width() < 1440 && slideWidth > 963 ) {
|
||||
bodyAnimateIn['width'] = $body.width();
|
||||
}
|
||||
slideAnimateIn['left'] = '+=' + slideWidth;
|
||||
break;
|
||||
}
|
||||
|
||||
// Animate the slide, and attach this slide's settings to the element
|
||||
$body.animate(bodyAnimateIn, speed);
|
||||
$pageslide.show()
|
||||
.animate(slideAnimateIn, speed, function() {
|
||||
_sliding = false;
|
||||
$pageslide.children('.nano').nanoScroller({ scrollTop: 0, iOSNativeScrolling: true });
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
* Declaration
|
||||
*/
|
||||
$.fn.pageslide = function(options) {
|
||||
var $elements = this;
|
||||
|
||||
// On click
|
||||
$elements.on(clickEvent, function(e) {
|
||||
var $self = $(this),
|
||||
settings = $.extend({ href: $self.attr('href') }, options);
|
||||
|
||||
// Prevent the default behavior and stop propagation
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
||||
if ( $pageslide.is(':visible') && $self[0] == _lastCaller ) {
|
||||
// If we clicked the same element twice, toggle closed
|
||||
// $.pageslide.close();
|
||||
} else {
|
||||
// Open
|
||||
$.pageslide( settings );
|
||||
|
||||
if($('#items').length) {
|
||||
$('.item-menu > a, .navbar-inner').removeClass("active");
|
||||
$(this).parents('.navbar-inner').addClass('active').end().addClass('active');
|
||||
if(!$.support.touch) {
|
||||
if($('.item-menu > a').hasClass('active')) {
|
||||
$('.item-menu').css({
|
||||
'display': 'none',
|
||||
});
|
||||
$(this).parents('.item-menu').css({
|
||||
'display': 'inline-block',
|
||||
});
|
||||
}
|
||||
}
|
||||
} else if($('.tags-groups').length) {
|
||||
$(this).parents('li').addClass("active").siblings().removeClass("active").parent('ul').siblings().children('li').removeClass("active");
|
||||
} else {
|
||||
$(this).parents("tr").addClass("active").siblings().removeClass("active");;
|
||||
}
|
||||
$pageslide.focusFirstField(); // focus first form
|
||||
setTimeout(setScroll, 300);
|
||||
// Record the last element to trigger pageslide
|
||||
_lastCaller = $self[0];
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/*
|
||||
* Default settings
|
||||
*/
|
||||
$.fn.pageslide.defaults = {
|
||||
speed: 300, // Accepts standard jQuery effects speeds (i.e. fast, normal or milliseconds)
|
||||
direction: 'right', // Accepts 'left' or 'right'
|
||||
modal: false, // If set to true, you must explicitly close pageslide using $.pageslide.close();
|
||||
iframe: false, // By default, linked pages are loaded into an iframe. Set this to false if you don't want an iframe.
|
||||
href: null, // Override the source of the content. Optional in most cases, but required when opening pageslide programmatically.
|
||||
W: 264
|
||||
};
|
||||
|
||||
/*
|
||||
* Public methods
|
||||
*/
|
||||
|
||||
// Open the pageslide
|
||||
$.pageslide = function( options ) {
|
||||
// Extend the settings with those the user has provided
|
||||
var settings = $.extend({}, $.fn.pageslide.defaults, options);
|
||||
|
||||
// Are we trying to open in different direction?
|
||||
if( ($pageslide.is(':visible') && $pageslide.data( 'W' ) != settings.W) || ($pageslide.is(':visible') && $pageslide.data( 'direction' ) != settings.direction) ) {
|
||||
$.pageslide.close(function(){
|
||||
$pageslide.css({'width': settings.W});
|
||||
_load( settings.href, settings.iframe );
|
||||
_start( settings.direction, settings.speed );
|
||||
});
|
||||
} else {
|
||||
_load( settings.href, settings.iframe );
|
||||
if( $pageslide.is(':hidden') ) {
|
||||
$pageslide.css({'width': settings.W});
|
||||
_start( settings.direction, settings.speed );
|
||||
}
|
||||
}
|
||||
|
||||
$pageslide.data( settings );
|
||||
|
||||
|
||||
|
||||
if($('#add-tags').length) {
|
||||
$('.set_new').addClass('active in').siblings().removeClass('active in');
|
||||
$('#pageslide .selete_defat .search-query').attr('id','filter-default-tag')
|
||||
$('#filter-default-tag').fastLiveFilter('.add-defalt-tags-list', '.filter-item', '.tag');
|
||||
$('.add-defalt-tags-list .filter-item').removeClass('mark');
|
||||
}
|
||||
}
|
||||
|
||||
// Close the pageslide
|
||||
$.pageslide.close = function( callback ) {
|
||||
var $pageslide = $('#pageslide'),
|
||||
slideWidth = $pageslide.outerWidth( true ),
|
||||
speed = $pageslide.data( 'speed' ),
|
||||
bodyAnimateIn = {},
|
||||
slideAnimateIn = {}
|
||||
|
||||
// If the slide isn't open, just ignore the call
|
||||
if( $pageslide.is(':hidden') || _sliding ) return;
|
||||
_sliding = true;
|
||||
|
||||
switch( $pageslide.data( 'direction' ) ) {
|
||||
case 'left':
|
||||
bodyAnimateIn['width'] = '+=' + slideWidth;
|
||||
slideAnimateIn['right'] = '-=' + slideWidth;
|
||||
break;
|
||||
default:
|
||||
bodyAnimateIn['margin-left'] = '-=' + slideWidth;
|
||||
slideAnimateIn['left'] = '-=' + slideWidth;
|
||||
if($pageslide.find('.preview').length) {
|
||||
$pageslide.find('.preview').cycle('destroy');
|
||||
$pageslide.find('.preview img').removeAttr('style');
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if($('#items').length) {
|
||||
$(".navbar-inner").removeClass("active");
|
||||
$('.item-menu > a, .navbar-inner').removeClass("active");
|
||||
if(!$.support.touch) {
|
||||
$('.item-menu').css({
|
||||
'display': 'none',
|
||||
});
|
||||
}
|
||||
} else if($('.tags-groups').length) {
|
||||
$('.tags-groups').children('li').removeClass("active");
|
||||
} else {
|
||||
$("tr").removeClass("active");
|
||||
};
|
||||
|
||||
$pageslide.animate(slideAnimateIn, speed);
|
||||
$body.animate(bodyAnimateIn, speed, function() {
|
||||
$pageslide.hide();
|
||||
_sliding = false;
|
||||
if( typeof callback != 'undefined' ) callback();
|
||||
$body.css({'width': 'auto'})
|
||||
});
|
||||
}
|
||||
|
||||
/* Events */
|
||||
|
||||
// Don't let clicks to the pageslide close the window
|
||||
$pageslide.click(function(e) {
|
||||
e.stopPropagation();
|
||||
});
|
||||
|
||||
// Close the pageslide if the document is clicked or the users presses the ESC key, unless the pageslide is modal
|
||||
$(document).bind('click keyup', function(e) {
|
||||
// If this is a keyup event, let's see if it's an ESC key
|
||||
if( e.type == "keyup" && e.keyCode != 27) return;
|
||||
|
||||
// Make sure it's visible, and we're not modal
|
||||
if( $pageslide.is( ':visible' ) && !$pageslide.data( 'modal' ) ) {
|
||||
$.pageslide.close();
|
||||
}
|
||||
});
|
||||
function setScroll(){
|
||||
$pageslide.children('.nano').nanoScroller({ scrollTop: 0, iOSNativeScrolling: true }); // set nano scroll
|
||||
};
|
||||
|
||||
})(jQuery);
|
|
@ -0,0 +1,347 @@
|
|||
/*
|
||||
* jQuery pageSlide
|
||||
* Version 2.0
|
||||
* http://srobbin.com/jquery-pageslide/
|
||||
*
|
||||
* jQuery Javascript plugin which slides a webpage over to reveal an additional interaction pane.
|
||||
*
|
||||
* Copyright (c) 2011 Scott Robbin (srobbin.com)
|
||||
* Dual licensed under the MIT and GPL licenses.
|
||||
*/
|
||||
|
||||
(function($){
|
||||
// Convenience vars for accessing elements
|
||||
var $body = $('#main-wrap'),
|
||||
$pageslide = $('#pageslide'),
|
||||
$viewPage = $('#view-page');
|
||||
|
||||
var _sliding = false, // Mutex to assist closing only once
|
||||
_lastCaller; // Used to keep track of last element to trigger pageslide
|
||||
|
||||
// If the pageslide element doesn't exist, create it
|
||||
if( $pageslide.length == 0 ) {
|
||||
$pageslide = $('<div />').attr( 'id', 'pageslide' )
|
||||
.css( 'display', 'none' )
|
||||
.appendTo( $('#main-wrap') );
|
||||
}
|
||||
|
||||
/*
|
||||
* Private methods
|
||||
*/
|
||||
function _load( url, useIframe ) {
|
||||
// Are we loading an element from the page or a URL?
|
||||
|
||||
if ( url.indexOf("#") === 0 ) {
|
||||
// Load a page element
|
||||
$(url).clone(true).appendTo( $pageslide.empty() ).show();
|
||||
if($('#items').length) {
|
||||
$pageslide.css({'width': '324px'});
|
||||
} else {
|
||||
$pageslide.css({'width': '264px'});
|
||||
}
|
||||
} else {
|
||||
// Load a URL. Into an iframe?
|
||||
if( useIframe ) {
|
||||
var iframe = $("<iframe />").attr({
|
||||
src: url,
|
||||
frameborder: 0,
|
||||
hspace: 0
|
||||
})
|
||||
.css({
|
||||
width: "100%",
|
||||
height: "100%"
|
||||
});
|
||||
|
||||
$pageslide.html( iframe );
|
||||
} else {
|
||||
$viewPage.find('.content').load(url, function(){
|
||||
$viewPage.clone(true).appendTo( $pageslide.empty() ).show();
|
||||
});
|
||||
$(window).width() > 1600 ? $pageslide.css({'width': '1024px'}) : $pageslide.css({'width': '953px'});
|
||||
// $pageslide.load( url );
|
||||
}
|
||||
|
||||
$pageslide.data( 'localEl', false );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Function that controls opening of the pageslide
|
||||
function _start( direction, speed ) {
|
||||
var slideWidth,
|
||||
bodyAnimateIn = {},
|
||||
slideAnimateIn = {};
|
||||
// If the slide is open or opening, just ignore the call
|
||||
if( $pageslide.is(':visible') || _sliding ) return;
|
||||
_sliding = true;
|
||||
|
||||
switch( direction ) {
|
||||
case 'left':
|
||||
if($(window).width() > 1600) {
|
||||
$pageslide.css({'width': '1024px'});
|
||||
slideWidth = $pageslide.outerWidth( true );
|
||||
bodyAnimateIn['width'] = '-=' + slideWidth;
|
||||
} else {
|
||||
$pageslide.css({'width': '953px'});
|
||||
slideWidth = $pageslide.outerWidth( true );
|
||||
}
|
||||
|
||||
$pageslide.css({ left: 'auto', right: '-' + slideWidth + 'px' });
|
||||
slideAnimateIn['right'] = '+=' + slideWidth;
|
||||
|
||||
|
||||
|
||||
// bodyAnimateIn['margin-left'] = '-=' + slideWidth;
|
||||
|
||||
// for Orbit ---> Fixed page does not move to the left
|
||||
if($('#items').length) {
|
||||
// bodyAnimateIn['padding-left'] = '+=' + slideWidth;
|
||||
}
|
||||
//
|
||||
|
||||
break;
|
||||
default:
|
||||
// Original
|
||||
// $pageslide.css({ left: '-' + slideWidth + 'px', right: 'auto' });
|
||||
// bodyAnimateIn['margin-left'] = '+=' + slideWidth;
|
||||
|
||||
// for Orbit
|
||||
// if($('#items').length) {
|
||||
// $pageslide.css({'width': '324px'});
|
||||
// slideWidth = $pageslide.outerWidth( true );
|
||||
// } else {
|
||||
// $pageslide.css({'width': '264px'});
|
||||
// }
|
||||
slideWidth = $pageslide.outerWidth( true );
|
||||
if($sidebarState && !$('#items').length) {
|
||||
$pageslide.css({ left: '-' + (slideWidth-241) + 'px', right: 'auto' });
|
||||
}else{
|
||||
$pageslide.css({ left: '-' + (slideWidth-61) + 'px', right: 'auto' });
|
||||
};
|
||||
|
||||
|
||||
bodyAnimateIn['margin-left'] = '+=' + slideWidth;
|
||||
// bodyAnimateIn['width'] = '-=' + slideWidth;
|
||||
//
|
||||
|
||||
slideAnimateIn['left'] = '+=' + slideWidth;
|
||||
break;
|
||||
}
|
||||
|
||||
// Animate the slide, and attach this slide's settings to the element
|
||||
console.log("d")
|
||||
$body.animate(bodyAnimateIn, speed);
|
||||
$pageslide.show()
|
||||
.animate(slideAnimateIn, speed, function() {
|
||||
_sliding = false;
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
* Declaration
|
||||
*/
|
||||
$.fn.pageslide = function(options) {
|
||||
var $elements = this,
|
||||
$ua = navigator.userAgent,
|
||||
event = ($ua.match(/iPad/i)||$ua.match(/iPhone/i)||$ua.match(/iPod/i)||$ua.match(/Android/)) ? "touchstart" : "click";
|
||||
// On click
|
||||
$elements.on(event, function(e) {
|
||||
var $self = $(this),
|
||||
settings = $.extend({ href: $self.attr('href') }, options);
|
||||
|
||||
// Prevent the default behavior and stop propagation
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
||||
if ( $pageslide.is(':visible') && $self[0] == _lastCaller ) {
|
||||
// If we clicked the same element twice, toggle closed
|
||||
$.pageslide.close();
|
||||
} else {
|
||||
// Open
|
||||
$.pageslide( settings );
|
||||
|
||||
// for Orbit
|
||||
|
||||
if($('#items').length) {
|
||||
$('.item-menu > a, .navbar-inner').removeClass("active");
|
||||
$(this).parents('.navbar-inner').addClass('active').end().addClass('active');
|
||||
if(!$.support.touch) {
|
||||
if($('.item-menu > a').hasClass('active')) {
|
||||
$('.item-menu').css({
|
||||
'display': 'none',
|
||||
});
|
||||
$(this).parents('.item-menu').css({
|
||||
'display': 'inline-block',
|
||||
});
|
||||
}
|
||||
}
|
||||
if($(this).hasClass('view-page')) {
|
||||
pageID = $(this).data('pageId');
|
||||
}
|
||||
} else if($('.tags-groups').length) {
|
||||
$(this).parents('li').addClass("active").siblings().removeClass("active").parent('ul').siblings().children('li').removeClass("active");
|
||||
} else {
|
||||
$(this).parents("tr").addClass("active").siblings().removeClass("active");;
|
||||
}
|
||||
$pageslide.focusFirstField(); // focus first form
|
||||
|
||||
setTimeout(setScroll, 300);
|
||||
//
|
||||
|
||||
// Record the last element to trigger pageslide
|
||||
_lastCaller = $self[0];
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/*
|
||||
* Default settings
|
||||
*/
|
||||
$.fn.pageslide.defaults = {
|
||||
speed: 300, // Accepts standard jQuery effects speeds (i.e. fast, normal or milliseconds)
|
||||
direction: 'right', // Accepts 'left' or 'right'
|
||||
modal: false, // If set to true, you must explicitly close pageslide using $.pageslide.close();
|
||||
iframe: false, // By default, linked pages are loaded into an iframe. Set this to false if you don't want an iframe.
|
||||
href: null // Override the source of the content. Optional in most cases, but required when opening pageslide programmatically.
|
||||
};
|
||||
|
||||
/*
|
||||
* Public methods
|
||||
*/
|
||||
|
||||
// Open the pageslide
|
||||
$.pageslide = function( options ) {
|
||||
// Extend the settings with those the user has provided
|
||||
var settings = $.extend({}, $.fn.pageslide.defaults, options);
|
||||
|
||||
// Are we trying to open in different direction?
|
||||
// if( $pageslide.is(':visible') && $pageslide.data( 'direction' ) != settings.direction) {
|
||||
if( $pageslide.is(':visible')) {
|
||||
$.pageslide.close(function(){
|
||||
_load( settings.href, settings.iframe );
|
||||
_start( settings.direction, settings.speed );
|
||||
});
|
||||
} else {
|
||||
_load( settings.href, settings.iframe );
|
||||
if( $pageslide.is(':hidden') ) {
|
||||
_start( settings.direction, settings.speed );
|
||||
}
|
||||
}
|
||||
$pageslide.data( settings );
|
||||
|
||||
|
||||
// for Orbit
|
||||
if($('#add-tags').length) {
|
||||
$('.set_new').addClass('active in').siblings().removeClass('active in');
|
||||
$('#pageslide .selete_defat .search-query').attr('id','filter-default-tag')
|
||||
$('#filter-default-tag').fastLiveFilter('.add-defalt-tags-list', '.filter-item', '.tag');
|
||||
$('.add-defalt-tags-list .filter-item').removeClass('mark');
|
||||
}
|
||||
//
|
||||
}
|
||||
|
||||
// Close the pageslide
|
||||
$.pageslide.close = function( callback ) {
|
||||
var $pageslide = $('#pageslide'),
|
||||
slideWidth,
|
||||
speed = $pageslide.data( 'speed' ),
|
||||
bodyAnimateIn = {},
|
||||
slideAnimateIn = {}
|
||||
|
||||
// If the slide isn't open, just ignore the call
|
||||
if( $pageslide.is(':hidden') || _sliding ) return;
|
||||
_sliding = true;
|
||||
|
||||
switch( $pageslide.data( 'direction' ) ) {
|
||||
case 'left':
|
||||
if($(window).width() > 1600) {
|
||||
$pageslide.css({'width': '1024px'});
|
||||
} else {
|
||||
$pageslide.css({'width': '953px'});
|
||||
}
|
||||
slideWidth = $pageslide.outerWidth( true );
|
||||
// bodyAnimateIn['margin-left'] = '+=' + slideWidth;
|
||||
if($(window).width() > 1600) {
|
||||
bodyAnimateIn['width'] = '+=' + slideWidth;
|
||||
}
|
||||
|
||||
// for Orbit ---> Fixed page does not move to the left
|
||||
if($('#items').length) {
|
||||
bodyAnimateIn['padding-left'] = '-=' + slideWidth;
|
||||
}
|
||||
//
|
||||
|
||||
slideAnimateIn['right'] = '-=' + slideWidth;
|
||||
break;
|
||||
default:
|
||||
// Original
|
||||
// bodyAnimateIn['margin-left'] = '-=' + slideWidth;
|
||||
// bodyAnimateIn['width'] = '+=' + slideWidth;
|
||||
|
||||
// for Orbit
|
||||
// if($('#items').length) {
|
||||
// $pageslide.css({'width': '324px'});
|
||||
// slideWidth = $pageslide.outerWidth( true );
|
||||
// } else {
|
||||
// $pageslide.css({'width': '264px'});
|
||||
// }
|
||||
slideWidth = $pageslide.outerWidth( true );
|
||||
bodyAnimateIn['margin-left'] = '-=' + slideWidth;
|
||||
// bodyAnimateIn['width'] = '+=' + slideWidth;
|
||||
if($pageslide.find('.preview').length) {
|
||||
$pageslide.find('.preview').cycle('destroy');
|
||||
$pageslide.find('.preview img').removeAttr('style');
|
||||
}
|
||||
//
|
||||
|
||||
slideAnimateIn['left'] = '-=' + slideWidth;
|
||||
break;
|
||||
}
|
||||
|
||||
// for Orbit
|
||||
if($('#items').length) {
|
||||
$(".navbar-inner").removeClass("active");
|
||||
$('.item-menu > a, .navbar-inner').removeClass("active");
|
||||
if(!$.support.touch) {
|
||||
$('.item-menu').css({
|
||||
'display': 'none',
|
||||
});
|
||||
}
|
||||
} else if($('.tags-groups').length) {
|
||||
$('.tags-groups').children('li').removeClass("active");
|
||||
} else {
|
||||
$("tr").removeClass("active");
|
||||
};
|
||||
//
|
||||
|
||||
$pageslide.animate(slideAnimateIn, speed);
|
||||
$body.animate(bodyAnimateIn, speed, function() {
|
||||
$pageslide.hide();
|
||||
_sliding = false;
|
||||
if( typeof callback != 'undefined' ) callback();
|
||||
$body.css({'width': 'auto'});
|
||||
});
|
||||
}
|
||||
|
||||
/* Events */
|
||||
|
||||
// Don't let clicks to the pageslide close the window
|
||||
$pageslide.click(function(e) {
|
||||
e.stopPropagation();
|
||||
});
|
||||
|
||||
// Close the pageslide if the document is clicked or the users presses the ESC key, unless the pageslide is modal
|
||||
$(document).bind('click keyup', function(e) {
|
||||
// If this is a keyup event, let's see if it's an ESC key
|
||||
if( e.type == "keyup" && e.keyCode != 27) return;
|
||||
|
||||
// Make sure it's visible, and we're not modal
|
||||
if( $pageslide.is( ':visible' ) && !$pageslide.data( 'modal' ) ) {
|
||||
$.pageslide.close();
|
||||
}
|
||||
});
|
||||
function setScroll(){
|
||||
$pageslide.children('.nano').nanoScroller({ scrollTop: 0, iOSNativeScrolling: true }); // set nano scroll
|
||||
};
|
||||
|
||||
})(jQuery);
|
|
@ -0,0 +1,11 @@
|
|||
/*
|
||||
* jQuery UI Touch Punch 0.2.2
|
||||
*
|
||||
* Copyright 2011, Dave Furfero
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
*
|
||||
* Depends:
|
||||
* jquery.ui.widget.js
|
||||
* jquery.ui.mouse.js
|
||||
*/
|
||||
(function(b){b.support.touch="ontouchend" in document;if(!b.support.touch){return;}var c=b.ui.mouse.prototype,e=c._mouseInit,a;function d(g,h){if(g.originalEvent.touches.length>1){return;}g.preventDefault();var i=g.originalEvent.changedTouches[0],f=document.createEvent("MouseEvents");f.initMouseEvent(h,true,true,window,1,i.screenX,i.screenY,i.clientX,i.clientY,false,false,false,false,0,null);g.target.dispatchEvent(f);}c._touchStart=function(g){var f=this;if(a||!f._mouseCapture(g.originalEvent.changedTouches[0])){return;}a=true;f._touchMoved=false;d(g,"mouseover");d(g,"mousemove");d(g,"mousedown");};c._touchMove=function(f){if(!a){return;}this._touchMoved=true;d(f,"mousemove");};c._touchEnd=function(f){if(!a){return;}d(f,"mouseup");d(f,"mouseout");if(!this._touchMoved){d(f,"click");}a=false;};c._mouseInit=function(){var f=this;f.element.bind("touchstart",b.proxy(f,"_touchStart")).bind("touchmove",b.proxy(f,"_touchMove")).bind("touchend",b.proxy(f,"_touchEnd"));e.call(f);};})(jQuery);
|
|
@ -0,0 +1,24 @@
|
|||
function loadViewPage(url) {
|
||||
var $listView = $('#list-view');
|
||||
|
||||
$listView.empty().removeClass('in active');
|
||||
$listView.load(url, function(response, status, xhr) {
|
||||
$(this).addClass('in active');
|
||||
})
|
||||
}
|
||||
|
||||
$(function() {
|
||||
$viewType = window.localStorage.getItem('viewType') || '#member-list';
|
||||
$viewSwitchNo = window.localStorage.getItem('viewSwitchNo') || 0;
|
||||
loadViewPage('member-list.html ' + $viewType);
|
||||
$('.view-switch').children('.btn').eq($viewSwitchNo).addClass('active');
|
||||
$('.view-switch').delegate(".btn", clickEvent, function(e){
|
||||
var url = $(this).attr('href'),
|
||||
ID = url.split("#"),
|
||||
ID = '#' + ID[ID.length-1];
|
||||
window.localStorage.setItem('viewType', ID);
|
||||
window.localStorage.setItem('viewSwitchNo', $(this).index());
|
||||
loadViewPage(url);
|
||||
e.preventDefault();
|
||||
});
|
||||
})
|
|
@ -0,0 +1,60 @@
|
|||
// Search Clear
|
||||
!function ($) {
|
||||
$.fn.searchClear = function (param){
|
||||
_defaultSettings = {
|
||||
inputName: ':input',
|
||||
inputIcon: 'inputIcon',
|
||||
clearBtnIcon: 'clearBtnIcon',
|
||||
};
|
||||
_set = $.extend(_defaultSettings, param);
|
||||
$this = this;
|
||||
$input = this.find(_set.inputName);
|
||||
$tmp = '<i class="'+_set.inputIcon+'"></i><i class="'+_set.clearBtnIcon+' search-clear"></i>';
|
||||
$input.wrap('<div class="sc-field" />');
|
||||
$this.find('.sc-field').prepend($tmp);
|
||||
$searchClear = $this.find(".search-clear");
|
||||
function run(e) {
|
||||
$searchClear.hide();
|
||||
if($input.val().length > 0) {
|
||||
$searchClear.show();
|
||||
}else {
|
||||
$searchClear.hide();
|
||||
}
|
||||
$input.on("blur keyup", function(){
|
||||
if($(this).val().length > 0) {
|
||||
$searchClear.show();
|
||||
}else {
|
||||
$searchClear.hide();
|
||||
}
|
||||
});
|
||||
$searchClear.on({
|
||||
click: function(){
|
||||
$(this).hide();
|
||||
$input.val("")
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
// Checking IE10
|
||||
// if Windows 8 and IE is ture. remove search clear buttom and fix text input padding-right
|
||||
if(/Windows NT 6.2/g.test(navigator.userAgent)){
|
||||
if(/MSIE/g.test(navigator.userAgent)){
|
||||
$searchClear.remove();
|
||||
$input.css({
|
||||
'padding-right': '5px',
|
||||
});
|
||||
}else{run()}
|
||||
}else{run()}
|
||||
}
|
||||
}(window.jQuery);
|
||||
|
||||
|
||||
|
||||
var $moduleWidth = 0,
|
||||
$moduleNav = $('.module-nav');
|
||||
|
||||
var navMenu = new iScroll(document.getElementsByClassName('nav-scroll')[0], {
|
||||
snap: true,
|
||||
momentum: false,
|
||||
hScrollbar: false,
|
||||
});
|
|
@ -0,0 +1,3 @@
|
|||
$(function() {
|
||||
$('#filter-input').fastLiveFilter('#tags-list', '.tags');
|
||||
});
|
|
@ -0,0 +1,118 @@
|
|||
function checkTagsQuantity() {
|
||||
var $tagLead = $('.tag-lead'),
|
||||
$tagsGroups = $('.tags-groups');
|
||||
|
||||
$tagsGroups.each(function(i) {
|
||||
var $children = $(this).children().length;
|
||||
$tagLead.eq(i).children('.badge').text($children);
|
||||
})
|
||||
}
|
||||
|
||||
function checkedLength() {
|
||||
var $card = $('.card'),
|
||||
$moduleTags,
|
||||
$defaultTags,
|
||||
$toDefault;
|
||||
$card.on('click', function() {
|
||||
if($('.default-tags').length) {
|
||||
$moduleTags = $('.module-tags input[type="checkbox"]:checked');
|
||||
$defaultTags = $('.default-tags input[type="checkbox"]:checked');
|
||||
|
||||
if($moduleTags.length > 1 || $moduleTags.length+$defaultTags.length > 1) {
|
||||
$('#mergerTags').removeClass('hide');
|
||||
} else {
|
||||
$('#mergerTags').addClass('hide');
|
||||
};
|
||||
|
||||
if ($moduleTags.length > 0 || $defaultTags.length > 0) {
|
||||
$('#deselect').removeClass('hide');
|
||||
$('#deleteTags').removeClass('hide');
|
||||
$('#deselect').on('click', deselect);
|
||||
} else {
|
||||
$('#deselect').addClass('hide');
|
||||
$('#deleteTags').addClass('hide');
|
||||
$('#deselect').off('click', deselect);
|
||||
};
|
||||
|
||||
if ($moduleTags.length > 0 && $defaultTags.length == 0) {
|
||||
$('#addDefault').removeClass('hide');
|
||||
} else {
|
||||
$('#addDefault').addClass('hide');
|
||||
};
|
||||
} else {
|
||||
$moduleTags = $('.module-tags input[type="checkbox"]:checked');
|
||||
|
||||
if ($moduleTags.length > 0) {
|
||||
$('#deselect').removeClass('hide');
|
||||
$('#deleteTags').removeClass('hide');
|
||||
$('#deselect').on('click', deselect);
|
||||
} else {
|
||||
$('#deselect').addClass('hide');
|
||||
$('#deleteTags').addClass('hide');
|
||||
$('#deselect').off('click', deselect);
|
||||
};
|
||||
};
|
||||
})
|
||||
$('#mergerTags').on('click', function() {
|
||||
if($moduleTags || $defaultTags) {
|
||||
if($moduleTags.length > 1 || $moduleTags.length+$defaultTags.length > 1) {
|
||||
mergerTags()
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
function deselect() {
|
||||
$('.tags input[type="checkbox"]').attr('checked', false);
|
||||
$('.card').removeClass('active');
|
||||
$('.bottomnav button').not('.open-slide').addClass('hide');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function addTagsTab() {
|
||||
$('#add-tags .nav a').click(function (e) {
|
||||
e.preventDefault();
|
||||
$(this).tab('show');
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
function mergerTags() {
|
||||
var $moduleTags = $('.module-tags input[type="checkbox"]:checked'),
|
||||
$defaultTags = $('.default-tags input[type="checkbox"]:checked');
|
||||
|
||||
$defaultTags.each(function(i) {
|
||||
$defaultTags.eq(i).parents('.filter-item').clone().appendTo('#tags-merger .tags-groups');
|
||||
$('#tags-merger .tags-groups .filter-item').addClass('def');
|
||||
});
|
||||
$moduleTags.each(function(i) {
|
||||
$moduleTags.eq(i).parents('.filter-item').clone().appendTo('#tags-merger .tags-groups');
|
||||
});
|
||||
|
||||
$('#tags-merger').modal('show', changeTagName());
|
||||
function changeTagName() {
|
||||
var $tagsMerger = $('#tags-merger'),
|
||||
$newTagsName = $('.new-tags-name'),
|
||||
$filterItem = $tagsMerger.find('.filter-item');
|
||||
$filterItem.find('.card, .amount').remove();
|
||||
$filterItem.find('a').removeAttr('class');
|
||||
$filterItem.find('a').removeAttr('href');
|
||||
$filterItem.on('click', function() {
|
||||
$(this).find('.tag').each(function(i) {
|
||||
$newTagsName.eq(i).val($(this).text())
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
$(function() {
|
||||
if($('.default-tags').length) {
|
||||
checkTagsQuantity();
|
||||
checkedLength();
|
||||
$('#tags-merger').on('hidden', function () {
|
||||
$(this).find('.filter-item').remove();
|
||||
});
|
||||
} else {
|
||||
checkedLength();
|
||||
};
|
||||
addTagsTab();
|
||||
});
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Bulgarian translation for bootstrap-datetimepicker
|
||||
* Apostol Apostolov <apostol.s.apostolov@gmail.com>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['bg'] = {
|
||||
days: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота", "Неделя"],
|
||||
daysShort: ["Нед", "Пон", "Вто", "Сря", "Чет", "Пет", "Съб", "Нед"],
|
||||
daysMin: ["Н", "П", "В", "С", "Ч", "П", "С", "Н"],
|
||||
months: ["Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"],
|
||||
monthsShort: ["Ян", "Фев", "Мар", "Апр", "Май", "Юни", "Юли", "Авг", "Сеп", "Окт", "Ное", "Дек"],
|
||||
today: "днес"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Czech translation for bootstrap-datetimepicker
|
||||
* Matěj Koubík <matej@koubik.name>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['cs'] = {
|
||||
days: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"],
|
||||
daysShort: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"],
|
||||
daysMin: ["N", "P", "Ú", "St", "Č", "P", "So", "N"],
|
||||
months: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"],
|
||||
monthsShort: ["Led", "Úno", "Bře", "Dub", "Kvě", "Čer", "Čnc", "Srp", "Zář", "Říj", "Lis", "Pro"],
|
||||
today: "Dnes"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Danish translation for bootstrap-datetimepicker
|
||||
* Christian Pedersen <http://github.com/chripede>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['da'] = {
|
||||
days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"],
|
||||
daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"],
|
||||
daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"],
|
||||
months: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"],
|
||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
|
||||
today: "I Dag"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* German translation for bootstrap-datetimepicker
|
||||
* Sam Zurcher <sam@orelias.ch>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['de'] = {
|
||||
days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"],
|
||||
daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam", "Son"],
|
||||
daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"],
|
||||
months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"],
|
||||
monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"],
|
||||
today: "Heute"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Spanish translation for bootstrap-datetimepicker
|
||||
* Bruno Bonamin <bruno.bonamin@gmail.com>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['es'] = {
|
||||
days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"],
|
||||
daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Dom"],
|
||||
daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", "Do"],
|
||||
months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
|
||||
monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"],
|
||||
today: "Hoy"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Finnish translation for bootstrap-datetimepicker
|
||||
* Jaakko Salonen <https://github.com/jsalonen>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['fi'] = {
|
||||
days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai", "sunnuntai"],
|
||||
daysShort: ["sun", "maa", "tii", "kes", "tor", "per", "lau", "sun"],
|
||||
daysMin: ["su", "ma", "ti", "ke", "to", "pe", "la", "su"],
|
||||
months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"],
|
||||
monthsShort: ["tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mar", "jou"],
|
||||
today: "tänään"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* French translation for bootstrap-datetimepicker
|
||||
* Nico Mollet <nico.mollet@gmail.com>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['fr'] = {
|
||||
days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"],
|
||||
daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"],
|
||||
daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"],
|
||||
months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"],
|
||||
monthsShort: ["Jan", "Fev", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Dec"],
|
||||
today: "Aujourd'hui"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,13 @@
|
|||
/**
|
||||
* Croatian localisation
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['hr'] = {
|
||||
days: ["Nedjelja", "Ponedjelja", "Utorak", "Srijeda", "Četrtak", "Petak", "Subota", "Nedjelja"],
|
||||
daysShort: ["Ned", "Pon", "Uto", "Srr", "Čet", "Pet", "Sub", "Ned"],
|
||||
daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su", "Ne"],
|
||||
months: ["Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"],
|
||||
monthsShort: ["Sije", "Velj", "Ožu", "Tra", "Svi", "Lip", "Jul", "Kol", "Ruj", "Lis", "Stu", "Pro"],
|
||||
today: "Danas"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,13 @@
|
|||
/**
|
||||
* Bahasa translation for bootstrap-datetimepicker
|
||||
* Azwar Akbar <azwar.akbar@gmail.com>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['id'] = {
|
||||
days: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"],
|
||||
daysShort: ["Mgu", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Mgu"],
|
||||
daysMin: ["Mg", "Sn", "Sl", "Ra", "Ka", "Ju", "Sa", "Mg"],
|
||||
months: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"],
|
||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"]
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Icelandic translation for bootstrap-datetimepicker
|
||||
* Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['is'] = {
|
||||
days: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur", "Sunnudagur"],
|
||||
daysShort: ["Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau", "Sun"],
|
||||
daysMin: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La", "Su"],
|
||||
months: ["Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember"],
|
||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maí", "Jún", "Júl", "Ágú", "Sep", "Okt", "Nóv", "Des"],
|
||||
today: "Í Dag"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Italian translation for bootstrap-datetimepicker
|
||||
* Enrico Rubboli <rubboli@gmail.com>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['it'] = {
|
||||
days: ["Domenica", "Lunedi", "Martedi", "Mercoledi", "Giovedi", "Venerdi", "Sabato", "Domenica"],
|
||||
daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"],
|
||||
daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"],
|
||||
months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"],
|
||||
monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"],
|
||||
today: "Oggi"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,13 @@
|
|||
/**
|
||||
* Japanese translation for bootstrap-datetimepicker
|
||||
* Norio Suzuki <https://github.com/suzuki/>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['ja'] = {
|
||||
days: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜", "日曜"],
|
||||
daysShort: ["日", "月", "火", "水", "木", "金", "土", "日"],
|
||||
daysMin: ["日", "月", "火", "水", "木", "金", "土", "日"],
|
||||
months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
|
||||
monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,13 @@
|
|||
/**
|
||||
* Korean translation for bootstrap-datetimepicker
|
||||
* Gu Youn <http://github.com/guyoun>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['kr'] = {
|
||||
days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"],
|
||||
daysShort: ["일", "월", "화", "수", "목", "금", "토", "일"],
|
||||
daysMin: ["일", "월", "화", "수", "목", "금", "토", "일"],
|
||||
months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"],
|
||||
monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"]
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,16 @@
|
|||
/**
|
||||
* Lithuanian translation for bootstrap-datetimepicker
|
||||
* Šarūnas Gliebus <ssharunas@yahoo.co.uk>
|
||||
*/
|
||||
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['lt'] = {
|
||||
days: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis", "Sekmadienis"],
|
||||
daysShort: ["S", "Pr", "A", "T", "K", "Pn", "Š", "S"],
|
||||
daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Št", "Sk"],
|
||||
months: ["Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "Rugpjūtis", "Rugsėjis", "Spalis", "Lapkritis", "Gruodis"],
|
||||
monthsShort: ["Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rugp", "Rugs", "Spa", "Lap", "Gru"],
|
||||
today: "Šiandien",
|
||||
weekStart: 1
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,16 @@
|
|||
/**
|
||||
* Latvian translation for bootstrap-datetimepicker
|
||||
* Artis Avotins <artis@apit.lv>
|
||||
*/
|
||||
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['lv'] = {
|
||||
days: ["Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena", "Svētdiena"],
|
||||
daysShort: ["Sv", "P", "O", "T", "C", "Pk", "S", "Sv"],
|
||||
daysMin: ["Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "St", "Sv"],
|
||||
months: ["Janvāris", "Februāris", "Marts", "Aprīlis", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"],
|
||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jūn", "Jūl", "Aug", "Sep", "Okt", "Nov", "Dec."],
|
||||
today: "Šodien",
|
||||
weekStart: 1
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Malay translation for bootstrap-datetimepicker
|
||||
* Ateman Faiz <noorulfaiz@gmail.com>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['ms'] = {
|
||||
days: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Ahad"],
|
||||
daysShort: ["Aha", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab", "Aha"],
|
||||
daysMin: ["Ah", "Is", "Se", "Ra", "Kh", "Ju", "Sa", "Ah"],
|
||||
months: ["Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November", "Disember"],
|
||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"],
|
||||
today: "Hari Ini"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Norwegian (bokmål) translation for bootstrap-datetimepicker
|
||||
* Fredrik Sundmyhr <http://github.com/fsundmyhr>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['nb'] = {
|
||||
days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"],
|
||||
daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"],
|
||||
daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"],
|
||||
months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"],
|
||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"],
|
||||
today: "I Dag"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Dutch translation for bootstrap-datetimepicker
|
||||
* Reinier Goltstein <mrgoltstein@gmail.com>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['nl'] = {
|
||||
days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"],
|
||||
daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"],
|
||||
daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"],
|
||||
months: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"],
|
||||
monthsShort: ["Jan", "Feb", "Mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
|
||||
today: "Vandaag"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,15 @@
|
|||
/**
|
||||
* Polish translation for bootstrap-datetimepicker
|
||||
* Robert <rtpm@gazeta.pl>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['pl'] = {
|
||||
days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela"],
|
||||
daysShort: ["Nie", "Pn", "Wt", "Śr", "Czw", "Pt", "So", "Nie"],
|
||||
daysMin: ["N", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "N"],
|
||||
months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"],
|
||||
monthsShort: ["Sty", "Lu", "Mar", "Kw", "Maj", "Cze", "Lip", "Sie", "Wrz", "Pa", "Lis", "Gru"],
|
||||
today: "Dzisiaj",
|
||||
weekStart: 1
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Brazilian translation for bootstrap-datetimepicker
|
||||
* Cauan Cabral <cauan@radig.com.br>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['pt-BR'] = {
|
||||
days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"],
|
||||
daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"],
|
||||
daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"],
|
||||
months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"],
|
||||
monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"],
|
||||
today: "Hoje"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Portuguese translation for bootstrap-datetimepicker
|
||||
* Original code: Cauan Cabral <cauan@radig.com.br>
|
||||
* Tiago Melo <tiago.blackcode@gmail.com>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['pt'] = {
|
||||
days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"],
|
||||
daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"],
|
||||
daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"],
|
||||
months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"],
|
||||
monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"]
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,15 @@
|
|||
/**
|
||||
* Romanian translation for bootstrap-datetimepicker
|
||||
* Cristian Vasile <cristi.mie@gmail.com>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['ro'] = {
|
||||
days: ["Duminică", "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă", "Duminică"],
|
||||
daysShort: ["Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm", "Dum"],
|
||||
daysMin: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ", "Du"],
|
||||
months: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"],
|
||||
monthsShort: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
||||
today: "Astăzi",
|
||||
weekStart: 1
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Russian translation for bootstrap-datetimepicker
|
||||
* Victor Taranenko <darwin@snowdale.com>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['ru'] = {
|
||||
days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"],
|
||||
daysShort: ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Вск"],
|
||||
daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"],
|
||||
months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"],
|
||||
monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"],
|
||||
today: "Сегодня"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Slovak translation for bootstrap-datetimepicker
|
||||
* Marek Lichtner <marek@licht.sk>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates["sk"] = {
|
||||
days: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota", "Nedeľa"],
|
||||
daysShort: ["Ne", "Po", "Ut", "St", "Št", "Pi", "So", "Ne"],
|
||||
daysMin: ["Ne", "Po", "Ut", "St", "Št", "Pi", "So", "Ne"],
|
||||
months: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"],
|
||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"],
|
||||
today: "Dnes"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Slovene translation for bootstrap-datetimepicker
|
||||
* Gregor Rudolf <gregor.rudolf@gmail.com>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['sl'] = {
|
||||
days: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota", "Nedelja"],
|
||||
daysShort: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob", "Ned"],
|
||||
daysMin: ["Ne", "Po", "To", "Sr", "Če", "Pe", "So", "Ne"],
|
||||
months: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"],
|
||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"],
|
||||
today: "Danes"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Serbian latin translation for bootstrap-datetimepicker
|
||||
* Bojan Milosavlević <milboj@gmail.com>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['sr-latin'] = {
|
||||
days: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota", "Nedelja"],
|
||||
daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", "Ned"],
|
||||
daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"],
|
||||
months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"],
|
||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"],
|
||||
today: "Danas"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Serbian cyrillic translation for bootstrap-datetimepicker
|
||||
* Bojan Milosavlević <milboj@gmail.com>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['sr'] = {
|
||||
days: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота", "Недеља"],
|
||||
daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Нед"],
|
||||
daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су", "Н"],
|
||||
months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"],
|
||||
monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"],
|
||||
today: "Данас"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Swedish translation for bootstrap-datetimepicker
|
||||
* Patrik Ragnarsson <patrik@starkast.net>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['sv'] = {
|
||||
days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"],
|
||||
daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör", "Sön"],
|
||||
daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö", "Sö"],
|
||||
months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"],
|
||||
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"],
|
||||
today: "I Dag"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Thai translation for bootstrap-datetimepicker
|
||||
* Suchau Jiraprapot <seroz24@gmail.com>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['th'] = {
|
||||
days: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"],
|
||||
daysShort: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"],
|
||||
daysMin: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"],
|
||||
months: ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"],
|
||||
monthsShort: ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."],
|
||||
today: "วันนี้"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,15 @@
|
|||
/**
|
||||
* Turkish translation for bootstrap-datetimepicker
|
||||
* Serkan Algur <kaisercrazy_2@hotmail.com>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['tr'] = {
|
||||
days: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar"],
|
||||
daysShort: ["Pz", "Pzt", "Sal", "Çrş", "Prş", "Cu", "Cts", "Pz"],
|
||||
daysMin: ["Pz", "Pzt", "Sa", "Çr", "Pr", "Cu", "Ct", "Pz"],
|
||||
months: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"],
|
||||
monthsShort: ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"],
|
||||
today: "Bugün"
|
||||
};
|
||||
}(jQuery));
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
* Simplified Chinese translation for bootstrap-datetimepicker
|
||||
* Yuan Cheung <advanimal@gmail.com>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['zh-CN'] = {
|
||||
days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"],
|
||||
daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"],
|
||||
daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"],
|
||||
months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
|
||||
monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
|
||||
today: "今日"
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,13 @@
|
|||
/**
|
||||
* Traditional Chinese translation for bootstrap-datetimepicker
|
||||
* Rung-Sheng Jang <daniel@i-trend.co.cc>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datetimepicker.dates['zh-TW'] = {
|
||||
days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"],
|
||||
daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"],
|
||||
daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"],
|
||||
months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
|
||||
monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"]
|
||||
};
|
||||
}(jQuery));
|
|
@ -0,0 +1,81 @@
|
|||
// Focus first element
|
||||
!function ($) {
|
||||
$.fn.focusFirstField = function(){
|
||||
$this = this;
|
||||
$this.find(":text:visible:enabled").filter(function(){
|
||||
return $(this).parents(":hidden").size() == 0;
|
||||
}).slice(0,1).focus();
|
||||
return this;
|
||||
}
|
||||
}(window.jQuery);
|
||||
|
||||
|
||||
// Search Clear
|
||||
!function ($) {
|
||||
$.fn.searchClear = function (param){
|
||||
_defaultSettings = {
|
||||
inputName: ':input',
|
||||
inputIcon: 'inputIcon',
|
||||
clearBtnIcon: 'clearBtnIcon',
|
||||
};
|
||||
_set = $.extend(_defaultSettings, param);
|
||||
$this = this;
|
||||
$input = this.find(_set.inputName);
|
||||
$tmp = '<i class="'+_set.inputIcon+'"></i><i class="'+_set.clearBtnIcon+' search-clear"></i>';
|
||||
$input.wrap('<div class="sc-field" />');
|
||||
$this.find('.sc-field').prepend($tmp);
|
||||
$searchClear = $this.find(".search-clear");
|
||||
function run(e) {
|
||||
$searchClear.hide();
|
||||
if($input.val().length > 0) {
|
||||
$searchClear.show();
|
||||
}else {
|
||||
$searchClear.hide();
|
||||
}
|
||||
$input.on("blur keyup", function(){
|
||||
if($(this).val().length > 0) {
|
||||
$searchClear.show();
|
||||
}else {
|
||||
$searchClear.hide();
|
||||
}
|
||||
});
|
||||
$searchClear.on({
|
||||
click: function(){
|
||||
$(this).hide();
|
||||
$input.val("")
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
// Checking IE10
|
||||
// if Windows 8 and IE is ture. remove search clear buttom and fix text input padding-right
|
||||
if(/Windows NT 6.2/g.test(navigator.userAgent)){
|
||||
if(/MSIE/g.test(navigator.userAgent)){
|
||||
$searchClear.remove();
|
||||
$input.css({
|
||||
'padding-right': '5px',
|
||||
});
|
||||
}else{run()}
|
||||
}else{run()}
|
||||
}
|
||||
}(window.jQuery);
|
||||
|
||||
// Document Ready
|
||||
$(function() {
|
||||
$('body').prepend("<div id='orbit_bar_temp'/>");
|
||||
$("#orbit_bar_temp").load('/load_orbit_bar',function(){
|
||||
$('body').prepend($(this).html());
|
||||
$(this).remove();
|
||||
$('#search').searchClear({
|
||||
inputName: '.search-query',
|
||||
inputIcon: 'icon-search',
|
||||
clearBtnIcon: 'icons-cross-3',
|
||||
});
|
||||
$('#login').on('shown', function () {
|
||||
$(document.body).addClass('modalBlur');
|
||||
$('#login').focusFirstField();
|
||||
}).on("hide", function() {
|
||||
$(document.body).removeClass('modalBlur');
|
||||
});
|
||||
});
|
||||
});
|
|
@ -0,0 +1,7 @@
|
|||
//= require jquery
|
||||
//= require jquery_ujs
|
||||
|
||||
//= require basic/bootstrap
|
||||
//= require kernel
|
||||
//= require lib/jquery.preload-min.js
|
||||
//= require lib/jquery.cycle.all.latest.js
|
|
@ -0,0 +1,7 @@
|
|||
//= require basic
|
||||
//= require lib/jquery-ui-1.10.2.custom.min.js
|
||||
//= require lib/jquery.ui.touch-punch.min.js
|
||||
//= require lib/jquery.mjs.nestedSortable.js
|
||||
//= require lib/items/items
|
||||
//= require lib/items/update_cates_and_tags
|
||||
//= require lib/items/page_widget_edit_interface
|
|
@ -0,0 +1,10 @@
|
|||
/*
|
||||
*= require basic/bootstrap
|
||||
*= require basic/bootstrap-responsive
|
||||
*= require basic/font-awesome
|
||||
*= require basic/icon
|
||||
*= require basic/orbit_bar
|
||||
*= require basic/global
|
||||
*= require basic/nanoscroller
|
||||
*= require basic/bootstrap-datetimepicker
|
||||
*/
|
|
@ -0,0 +1,221 @@
|
|||
/*!
|
||||
* Datepicker for Bootstrap
|
||||
*
|
||||
* Copyright 2012 Stefan Petre
|
||||
* Licensed under the Apache License v2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*/
|
||||
.clearfix {
|
||||
*zoom:1;
|
||||
}
|
||||
.clearfix:before,
|
||||
.clearfix:after {
|
||||
display:table;
|
||||
content:"";
|
||||
line-height:0;
|
||||
}
|
||||
.clearfix:after {
|
||||
clear:both;
|
||||
}
|
||||
.hide-text {
|
||||
font:0/0 a;
|
||||
color:transparent;
|
||||
text-shadow:none;
|
||||
background-color:transparent;
|
||||
border:0;
|
||||
}
|
||||
.input-block-level {
|
||||
display:block;
|
||||
width:100%;
|
||||
min-height:30px;
|
||||
-webkit-box-sizing:border-box;
|
||||
-moz-box-sizing:border-box;
|
||||
box-sizing:border-box;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget {
|
||||
top:0;
|
||||
left:0;
|
||||
min-width: 113px;
|
||||
padding:4px;
|
||||
margin-top:1px;
|
||||
-webkit-border-radius:4px;
|
||||
-moz-border-radius:4px;
|
||||
border-radius:4px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget:before {
|
||||
content:'';
|
||||
display:inline-block;
|
||||
border-left:7px solid transparent;
|
||||
border-right:7px solid transparent;
|
||||
border-bottom:7px solid #ccc;
|
||||
border-bottom-color:rgba(0,0,0,0.2);
|
||||
position:absolute;
|
||||
top:-7px;
|
||||
left:6px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget:after {
|
||||
content:'';
|
||||
display:inline-block;
|
||||
border-left:6px solid transparent;
|
||||
border-right:6px solid transparent;
|
||||
border-bottom:6px solid #fff;
|
||||
position:absolute;
|
||||
top:-6px;
|
||||
left:7px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .timepicker {
|
||||
min-width: 110px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget>ul {
|
||||
list-style-type:none;
|
||||
margin:0;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .timepicker-hour,
|
||||
.bootstrap-datetimepicker-widget .timepicker-minute,
|
||||
.bootstrap-datetimepicker-widget .timepicker-second {
|
||||
font-weight:bold;
|
||||
font-size:1.2em;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table[data-hour-format="12"] .separator {
|
||||
width:4px;
|
||||
padding:0;
|
||||
margin:0;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .datepicker>div {
|
||||
display:none;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .picker-switch {
|
||||
text-align:center;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget table {
|
||||
width:100%;
|
||||
margin:0;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget td,
|
||||
.bootstrap-datetimepicker-widget th {
|
||||
text-align:center;
|
||||
width:20px;
|
||||
height:20px;
|
||||
-webkit-border-radius:4px;
|
||||
-moz-border-radius:4px;
|
||||
border-radius:4px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget td.day:hover,
|
||||
.bootstrap-datetimepicker-widget td.hour:hover,
|
||||
.bootstrap-datetimepicker-widget td.minute:hover,
|
||||
.bootstrap-datetimepicker-widget td.second:hover {
|
||||
background:#eee;
|
||||
cursor:pointer;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget td.old,
|
||||
.bootstrap-datetimepicker-widget td.new {
|
||||
color:#999;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget td.active,
|
||||
.bootstrap-datetimepicker-widget td.active:hover {
|
||||
color:#fff;
|
||||
background-color:#006dcc;
|
||||
background-image:-moz-linear-gradient(top,#08c,#04c);
|
||||
background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));
|
||||
background-image:-webkit-linear-gradient(top,#08c,#04c);
|
||||
background-image:-o-linear-gradient(top,#08c,#04c);
|
||||
background-image:linear-gradient(to bottom,#08c,#04c);
|
||||
background-repeat:repeat-x;
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);
|
||||
border-color:#04c #04c #002a80;
|
||||
border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);
|
||||
*background-color:#04c;
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
color:#fff;
|
||||
text-shadow:0 -1px 0 rgba(0,0,0,0.25);
|
||||
}
|
||||
.bootstrap-datetimepicker-widget td.active:hover,
|
||||
.bootstrap-datetimepicker-widget td.active:hover:hover,
|
||||
.bootstrap-datetimepicker-widget td.active:active,
|
||||
.bootstrap-datetimepicker-widget td.active:hover:active,
|
||||
.bootstrap-datetimepicker-widget td.active.active,
|
||||
.bootstrap-datetimepicker-widget td.active:hover.active,
|
||||
.bootstrap-datetimepicker-widget td.active.disabled,
|
||||
.bootstrap-datetimepicker-widget td.active:hover.disabled,
|
||||
.bootstrap-datetimepicker-widget td.active[disabled],
|
||||
.bootstrap-datetimepicker-widget td.active:hover[disabled] {
|
||||
color:#fff;
|
||||
background-color:#04c;
|
||||
*background-color:#003bb3;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget td.active:active,
|
||||
.bootstrap-datetimepicker-widget td.active:hover:active,
|
||||
.bootstrap-datetimepicker-widget td.active.active,
|
||||
.bootstrap-datetimepicker-widget td.active:hover.active {
|
||||
background-color:#039 \9;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget td span {
|
||||
display:block;
|
||||
width:100%;
|
||||
height:54px;
|
||||
line-height:54px;
|
||||
float:left;
|
||||
cursor:pointer;
|
||||
-webkit-border-radius:4px;
|
||||
-moz-border-radius:4px;
|
||||
border-radius:4px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget .datepicker-months td span,
|
||||
.bootstrap-datetimepicker-widget .datepicker-years td span {
|
||||
width: 50px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget td span:hover {
|
||||
background:#eee;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget td span.active {
|
||||
color:#fff;
|
||||
background-color:#006dcc;
|
||||
background-image:-moz-linear-gradient(top,#08c,#04c);
|
||||
background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));
|
||||
background-image:-webkit-linear-gradient(top,#08c,#04c);
|
||||
background-image:-o-linear-gradient(top,#08c,#04c);
|
||||
background-image:linear-gradient(to bottom,#08c,#04c);
|
||||
background-repeat:repeat-x;
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);
|
||||
border-color:#04c #04c #002a80;
|
||||
border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);
|
||||
*background-color:#04c;
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
color:#fff;
|
||||
text-shadow:0 -1px 0 rgba(0,0,0,0.25);
|
||||
}
|
||||
.bootstrap-datetimepicker-widget td span.active:hover,
|
||||
.bootstrap-datetimepicker-widget td span.active:active,
|
||||
.bootstrap-datetimepicker-widget td span.active.active,
|
||||
.bootstrap-datetimepicker-widget td span.active.disabled,
|
||||
.bootstrap-datetimepicker-widget td span.active[disabled] {
|
||||
color:#fff;
|
||||
background-color:#04c;
|
||||
*background-color:#003bb3;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget td span.active:active,
|
||||
.bootstrap-datetimepicker-widget td span.active.active {
|
||||
background-color:#039 \9;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget td span.old {
|
||||
color:#999;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget th.switch {
|
||||
width:145px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget th.next,
|
||||
.bootstrap-datetimepicker-widget th.prev {
|
||||
font-size:21px;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget thead tr:first-child th {
|
||||
cursor:pointer;
|
||||
}
|
||||
.bootstrap-datetimepicker-widget thead tr:first-child th:hover {
|
||||
background:#eee;
|
||||
}
|
||||
.input-append.date .add-on i,
|
||||
.input-prepend.date .add-on i {
|
||||
cursor:pointer;
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
/* Font Awesome 3.0
|
||||
the iconic font designed for use with Twitter Bootstrap
|
||||
-------------------------------------------------------
|
||||
The full suite of pictographic icons, examples, and documentation
|
||||
can be found at: http://fortawesome.github.com/Font-Awesome/
|
||||
|
||||
License
|
||||
-------------------------------------------------------
|
||||
• The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL
|
||||
• Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
|
||||
http://opensource.org/licenses/mit-license.html
|
||||
• The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/
|
||||
• Attribution is no longer required in Font Awesome 3.0, but much appreciated:
|
||||
"Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"
|
||||
|
||||
Contact
|
||||
-------------------------------------------------------
|
||||
Email: dave@davegandy.com
|
||||
Twitter: http://twitter.com/fortaweso_me
|
||||
Work: Lead Product Designer @ http://kyruus.com
|
||||
|
||||
*/
|
||||
@font-face {
|
||||
font-family: 'FontAwesome';
|
||||
src:url(<%= asset_path'fontawesome-webfont.eot' %>);
|
||||
src:url(<%= asset_path'fontawesome-webfont.eot?#iefix' %>) format('embedded-opentype'),
|
||||
url(<%= asset_path'fontawesome-webfont.woff' %>) format('woff'),
|
||||
url(<%= asset_path'fontawesome-webfont.ttf' %>) format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
|
@ -0,0 +1,421 @@
|
|||
a:focus {
|
||||
outline: thin dotted;
|
||||
}
|
||||
a:active,
|
||||
a:hover {
|
||||
outline: 0;
|
||||
}
|
||||
/**:link,
|
||||
*:visited,
|
||||
*:hover,
|
||||
*:active,
|
||||
*:focus,
|
||||
.transition {
|
||||
-webkit-transition: all .2s linear;
|
||||
-moz-transition: all .2s linear;
|
||||
-o-transition: all .2s linear;
|
||||
transition: all .2s linear;
|
||||
}
|
||||
.dont-move, #sidebar, #main-wrap, #sidebar-menu .scroller, .sub-nav-block-list {
|
||||
-webkit-transition: none;
|
||||
-moz-transition: none;
|
||||
-o-transition: none;
|
||||
transition: none;
|
||||
}*/
|
||||
::selection {
|
||||
color: white;
|
||||
background: black;
|
||||
text-shadow: none !important;
|
||||
}
|
||||
/*::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
}
|
||||
::-webkit-scrollbar-track {
|
||||
background: #FFF;
|
||||
-webkit-box-shadow: inset 1px 1px 2px rgba(0,0,0,0.1);
|
||||
}
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: #CCC;
|
||||
-webkit-box-shadow: inset 1px 1px 2px rgba(0,0,0,0.2);
|
||||
}
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #AAA;
|
||||
}
|
||||
::-webkit-scrollbar-thumb:active {
|
||||
background: #888;
|
||||
-webkit-box-shadow: inset 1px 1px 2px rgba(0,0,0,0.3);
|
||||
}*/
|
||||
body {
|
||||
background-color: #F3F3F3;
|
||||
font-family: 'Chivo';
|
||||
}
|
||||
body.modalBlur > nav,
|
||||
body.modalBlur > section {
|
||||
-webkit-filter: blur(5px);
|
||||
}
|
||||
.label {
|
||||
font-family: 'Quicksand';
|
||||
}
|
||||
.btn {
|
||||
font-family: 'Varela Round';
|
||||
letter-spacing: -.4px;
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
label,
|
||||
legend {
|
||||
font-family: 'Raleway';
|
||||
}
|
||||
|
||||
|
||||
/* Sidebar */
|
||||
#sidebar {
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
min-width: 61px;
|
||||
z-index: 1030;
|
||||
position: fixed;
|
||||
background-color: #171717;
|
||||
-webkit-box-shadow: inset -1px 0px 10px #000000;
|
||||
-moz-box-shadow: inset -1px 0px 10px #000000;
|
||||
-o-box-shadow: inset -1px 0px 10px #000000;
|
||||
box-shadow: inset -1px 0px 10px #000000;
|
||||
}
|
||||
#sidebar #sidebar-menu {
|
||||
position: absolute;
|
||||
top: 88px;
|
||||
bottom: 0;
|
||||
z-index: 1;
|
||||
display: block;
|
||||
width: 61px;
|
||||
/*overflow: auto;*/
|
||||
}
|
||||
#sidebar .scroller {
|
||||
position: absolute;z-index:1;
|
||||
/*-webkit-touch-callout:none;*/
|
||||
-webkit-tap-highlight-color:rgba(0,0,0,0);
|
||||
width:100%;
|
||||
padding:0;
|
||||
}
|
||||
#sidebar-menu .content,
|
||||
#sidebar-menu .pane {
|
||||
margin-top: 88px;
|
||||
}
|
||||
#sidebar .sidebar-nav {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
font-size: 1em;
|
||||
width: 61px;
|
||||
text-align: center;
|
||||
list-style: none;
|
||||
}
|
||||
#sidebar > h2.position {
|
||||
top: 40px;
|
||||
margin: 0;
|
||||
width: 61px;
|
||||
color: #FFFFFF;
|
||||
font-weight: normal;
|
||||
font-size: 2.4em;
|
||||
line-height: 47px;
|
||||
line-height: 46px\9;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
background-color: #08c;
|
||||
background-image: -moz-linear-gradient(top, #08c, #006091);
|
||||
background-image: -ms-linear-gradient(top, #08c, #006091);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#006091));
|
||||
background-image: -webkit-linear-gradient(top, #08c, #006091);
|
||||
background-image: -o-linear-gradient(top, #08c, #006091);
|
||||
background-image: linear-gradient(top, #08c, #006091);
|
||||
-webkit-box-shadow: 0px 1px 0px #333333;
|
||||
-moz-box-shadow: 0px 1px 0px #333333;
|
||||
-o-box-shadow: 0px 1px 0px #333333;
|
||||
box-shadow: 0px 1px 0px #333333;
|
||||
}
|
||||
#sidebar > h2.position:after {
|
||||
left: 50%;
|
||||
bottom: 0;
|
||||
width: 0px;
|
||||
height: 0px;
|
||||
content: " ";
|
||||
display: block;
|
||||
margin-left: -6px;
|
||||
position: absolute;
|
||||
margin-bottom: -1px;
|
||||
border-style: solid;
|
||||
border-width: 0 6px 6px 6px;
|
||||
border-color: transparent transparent #171717 transparent;
|
||||
}
|
||||
#sidebar > h2.position a {
|
||||
color: #FFFFFF;
|
||||
padding: 6px 6px 5px;
|
||||
text-decoration: none;
|
||||
-webkit-text-shadow: 0px -1px 0px #333333;
|
||||
-moz-text-shadow: 0px -1px 0px #333333;
|
||||
-o-text-shadow: 0px -1px 0px #333333;
|
||||
text-shadow: 0px -1px 0px #333333;
|
||||
}
|
||||
#sidebar .sidebar-nav > li {
|
||||
min-width: 61px;
|
||||
height: 45px;
|
||||
}
|
||||
#sidebar .sidebar-nav > li.active {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
#sidebar .sidebar-nav > li.active .sub-nav-block {
|
||||
display: block;
|
||||
}
|
||||
#sidebar .sidebar-nav > li.active > a > span {
|
||||
color: #FFFFFF;
|
||||
cursor: pointer;
|
||||
-webkit-text-shadow: 0px -1px 0px #636363;
|
||||
-moz-text-shadow: 0px -1px 0px #636363;
|
||||
-o-text-shadow: 0px -1px 0px #636363;
|
||||
text-shadow: 0px -1px 0px #636363;
|
||||
}
|
||||
#sidebar .sidebar-nav > li > a > span {
|
||||
padding: 10px;
|
||||
color: #B0B0B0;
|
||||
display: block;
|
||||
-webkit-text-shadow: 0px 1px 0px #000000;
|
||||
-moz-text-shadow: 0px 1px 0px #000000;
|
||||
-o-text-shadow: 0px 1px 0px #000000;
|
||||
text-shadow: 0px 1px 0px #000000;
|
||||
}
|
||||
#sidebar .sidebar-nav > li > a > span > i {
|
||||
font-size: 1.7em;
|
||||
}
|
||||
#sidebar .sub-nav-block-list {
|
||||
top: 40px;
|
||||
bottom: 0;
|
||||
left: 61px;
|
||||
position: fixed;
|
||||
text-align: left;
|
||||
/*overflow: hidden;*/
|
||||
-webkit-box-shadow: -1px 0px 10px rgba(33, 33, 33, .8);
|
||||
-moz-box-shadow: -1px 0px 10px rgba(33, 33, 33, .8);
|
||||
-o-box-shadow: -1px 0px 10px rgba(33, 33, 33, .8);
|
||||
box-shadow: -1px 0px 10px rgba(33, 33, 33, .8);
|
||||
}
|
||||
#sidebar .sub-nav-block-list .sub-nav-block {
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: #0088CC;
|
||||
}
|
||||
#sidebar .sub-nav-block-list .sub-nav-block.show {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
}
|
||||
#sidebar .sub-nav-block-list .sub-nav-block:before {
|
||||
bottom: 0px;
|
||||
right: -20px;
|
||||
opacity: .1;
|
||||
color: #FFFFFF;
|
||||
font-size: 14em;
|
||||
line-height: 150px;
|
||||
position: absolute;
|
||||
display: none\9; /* 用IE的去死 */
|
||||
}
|
||||
#sidebar .sub-nav-block-list .sub-nav-block h4 {
|
||||
color: #FFFFFF;
|
||||
margin-top: 15px;
|
||||
font-weight: normal;
|
||||
padding: 0 15px 10px;
|
||||
border-bottom: 1px solid #1C9BCC;
|
||||
}
|
||||
#sidebar .sub-nav-block-list .sub-nav-block > ul {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
#sidebar .sub-nav-block-list .sub-nav-block a {
|
||||
line-height: 25px;
|
||||
color: #90D0FA;
|
||||
-webkit-text-shadow: none;
|
||||
-moz-text-shadow: none;
|
||||
-o-text-shadow: none;
|
||||
text-shadow: none;
|
||||
}
|
||||
#sidebar .sub-nav-block-list .sub-nav-block li.active a {
|
||||
background-color: #EEEEEE;
|
||||
color: #0081c2;
|
||||
position: relative;
|
||||
}
|
||||
#sidebar .sub-nav-block-list .sub-nav-block li.active a:after {
|
||||
top: 50%;
|
||||
right: 10px;
|
||||
width: auto;
|
||||
height: auto;
|
||||
display: inline;
|
||||
content: "\e0d4";
|
||||
font-size: 1.3em;
|
||||
position: absolute;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
margin-top: -0.75em;
|
||||
font-family: 'entypo';
|
||||
text-decoration: inherit;
|
||||
}
|
||||
#sidebar .sub-nav-block-list .sub-nav-block a:hover {
|
||||
color: #0081c2;
|
||||
}
|
||||
#sidebar .sub-nav-arrow {
|
||||
left: 53px;
|
||||
top: -10px;
|
||||
width: 0px;
|
||||
height: 0px;
|
||||
z-index: -1;
|
||||
position: absolute;
|
||||
border-style: solid;
|
||||
border-width: 8px 8px 8px 0;
|
||||
border-color: transparent #0088CC transparent transparent;
|
||||
display: none\9; /* 用IE的去死 */
|
||||
}
|
||||
|
||||
|
||||
/* Vertical Scrollbar */
|
||||
#sidebar .myScrollbarV {
|
||||
position: absolute;
|
||||
z-index: 100;
|
||||
width: 2px;
|
||||
bottom: 2px;
|
||||
top: 2px;
|
||||
left: 1px
|
||||
}
|
||||
|
||||
#sidebar .myScrollbarV > div {
|
||||
position: absolute;
|
||||
z-index: 100;
|
||||
width: 100%;
|
||||
border-radius: 1px;
|
||||
background-color: rgba(0, 136, 204, .3);
|
||||
}
|
||||
|
||||
|
||||
/* Main Wrap */
|
||||
#main-wrap {
|
||||
padding-top: 40px;
|
||||
}
|
||||
#main-wrap .wrap-inner {
|
||||
padding: 60px 20px 20px;
|
||||
}
|
||||
#main-wrap .wrap-inner.initial {
|
||||
padding: 20px 20px 20px;
|
||||
}
|
||||
|
||||
|
||||
/* Member Filter */
|
||||
#member-filter.modal {
|
||||
width: 80%;
|
||||
margin-left: -40%;
|
||||
}
|
||||
#member-filter.modal.fade.in {
|
||||
top: 50px;
|
||||
}
|
||||
#member-filter .modal-body {
|
||||
max-height: 425px;
|
||||
}
|
||||
#member-filter .modal-body form {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
#member-filter .modal-body form fieldset {
|
||||
min-height: 140px;
|
||||
}
|
||||
#member-filter .modal-body .radio.inline,
|
||||
#member-filter .modal-body .checkbox.inline {
|
||||
display: inline-block;
|
||||
padding-top: 5px;
|
||||
margin-bottom: 0;
|
||||
vertical-align: middle;
|
||||
min-width: 100px;
|
||||
margin-left: 0;
|
||||
}
|
||||
#member-filter .modal-body .form-actions {
|
||||
margin: 20px 0 0;
|
||||
padding: 10px 0 0;
|
||||
background-color: transparent;
|
||||
text-align: right;
|
||||
}
|
||||
#member-filter .modal-body .form-actions.condition {
|
||||
margin: 10px 0 0 195px;
|
||||
}
|
||||
#member-filter .member-filter-options {
|
||||
float: left;
|
||||
display: inline-block;
|
||||
width: 175px;
|
||||
min-height: 400px;
|
||||
margin-right: 10px;
|
||||
padding: 0 10px 0 0;
|
||||
}
|
||||
#member-filter .member-filter-options select {
|
||||
width: 165px;
|
||||
}
|
||||
#member-filter .member-filter-options .btn {
|
||||
display: block;
|
||||
}
|
||||
#member-filter .member-filter-result {
|
||||
padding-left: 15px;
|
||||
min-height: 370px;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/* Edit link in structure */
|
||||
.editable {
|
||||
position: relative;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
min-height: 50px;
|
||||
}
|
||||
.edit_link {
|
||||
display: none;
|
||||
}
|
||||
.edit_link a {
|
||||
position: absolute;
|
||||
z-index: 10;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
text-indent: -9999px;
|
||||
background: url(<%= asset_path 'editicon.png' %>) no-repeat center center rgba(255,255,255,.8);
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 1);
|
||||
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 1);
|
||||
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 1);
|
||||
}
|
||||
.editable:hover .edit_link {
|
||||
display: block;
|
||||
}
|
||||
|
||||
|
||||
/* IE go die */
|
||||
:root #sidebar .sub-nav-block:before {
|
||||
display: block\9;
|
||||
}
|
||||
|
||||
|
||||
/* Responsive */
|
||||
@media (max-width: 767px) {
|
||||
body {
|
||||
padding: 0;
|
||||
}
|
||||
#member-filter.modal {
|
||||
width: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
/* Main Wrap */
|
||||
#main-wrap .wrap-inner {
|
||||
padding: 20px 0;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,715 @@
|
|||
[data-icons]:before {
|
||||
font-family: 'entypo';
|
||||
content: attr(data-icons);
|
||||
speak: none;
|
||||
font-weight: normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'entypo';
|
||||
src:url(<%= asset_path 'entypo.eot' %>);
|
||||
src:url(<%= asset_path 'entypo.eot?#iefix' %>) format('embedded-opentype'),
|
||||
url(<%= asset_path 'entypo.svg#entypo' %>) format('svg'),
|
||||
url(<%= asset_path 'entypo.woff' %>) format('woff'),
|
||||
url(<%= asset_path 'entypo.ttf' %>) format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
/* Font Awesome styles
|
||||
------------------------------------------------------- */
|
||||
/* includes sprites.less reset */
|
||||
.ui-icon,
|
||||
[class^="icon-"],
|
||||
[class*=" icon-"] {
|
||||
font-family: 'FontAwesome';
|
||||
}
|
||||
.ui-icon,
|
||||
[class^="icons-"],
|
||||
[class*=" icons-"] {
|
||||
font-family: 'entypo';
|
||||
}
|
||||
.ui-icon,
|
||||
[class^="icon"],
|
||||
[class*=" icon"] {
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
text-decoration: inherit;
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
height: auto;
|
||||
margin-top: 0;
|
||||
line-height: normal;
|
||||
vertical-align: baseline;
|
||||
background-image: none !important;
|
||||
background-position: 0% 0%;
|
||||
background-repeat: repeat;
|
||||
|
||||
|
||||
}
|
||||
.ui-icon,
|
||||
[class^="icon"]:before,
|
||||
[class*=" icon"]:before {
|
||||
text-decoration: inherit;
|
||||
display: inline-block;
|
||||
speak: none;
|
||||
}
|
||||
/* makes sure icons active on rollover in links */
|
||||
a .ui-icon,
|
||||
a [class^="icon"],
|
||||
a [class*=" icon"] {
|
||||
display: inline-block;
|
||||
}
|
||||
/* makes the font 33% larger relative to the icon container */
|
||||
.icon-large:before {
|
||||
vertical-align: -10%;
|
||||
font-size: 1.3333333333333333em;
|
||||
}
|
||||
.btn .ui-icon
|
||||
.nav .ui-icon,
|
||||
.btn [class^="icon"],
|
||||
.nav [class^="icon"],
|
||||
.btn [class*=" icon"],
|
||||
.nav [class*=" icon"] {
|
||||
display: inline;
|
||||
/* keeps button heights with and without icons the same */
|
||||
line-height: .6em;
|
||||
}
|
||||
.btn .ui-icon.icon-spin,
|
||||
.nav .ui-icon.icon-spin,
|
||||
.btn [class^="icon"].icon-spin,
|
||||
.nav [class^="icon"].icon-spin,
|
||||
.btn [class*=" icon"].icon-spin,
|
||||
.nav [class*=" icon"].icon-spin {
|
||||
display: inline-block;
|
||||
}
|
||||
li .ui-icon,
|
||||
li [class^="icon"],
|
||||
li [class*=" icon"] {
|
||||
display: inline-block;
|
||||
width: 1.25em;
|
||||
text-align: center;
|
||||
}
|
||||
li .ui-icon.icon-large,
|
||||
li [class^="icon"].icon-large,
|
||||
li [class*=" icon"].icon-large {
|
||||
/* increased font size for icon-large */
|
||||
|
||||
width: 1.5625em;
|
||||
}
|
||||
ul.icons {
|
||||
list-style-type: none;
|
||||
text-indent: -0.75em;
|
||||
}
|
||||
ul.icons li .ui-icon,
|
||||
ul.icons li [class^="icon"],
|
||||
ul.icons li [class*=" icon"] {
|
||||
width: .75em;
|
||||
}
|
||||
.icon-muted {
|
||||
color: #eeeeee;
|
||||
}
|
||||
.icon-border {
|
||||
border: solid 1px #eeeeee;
|
||||
padding: .2em .25em .15em;
|
||||
-webkit-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
.icon-2x {
|
||||
font-size: 2em;
|
||||
}
|
||||
.icon-2x.icon-border {
|
||||
border-width: 2px;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.icon-3x {
|
||||
font-size: 3em;
|
||||
}
|
||||
.icon-3x.icon-border {
|
||||
border-width: 3px;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.icon-4x {
|
||||
font-size: 4em;
|
||||
}
|
||||
.icon-4x.icon-border {
|
||||
border-width: 4px;
|
||||
-webkit-border-radius: 6px;
|
||||
-moz-border-radius: 6px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
.pull-right {
|
||||
float: right;
|
||||
}
|
||||
.pull-left {
|
||||
float: left;
|
||||
}
|
||||
[class^="icon"].pull-left,
|
||||
[class*=" icon"].pull-left {
|
||||
margin-right: .35em;
|
||||
}
|
||||
[class^="icon"].pull-right,
|
||||
[class*=" icon"].pull-right {
|
||||
margin-left: .35em;
|
||||
}
|
||||
.btn [class^="icon"].pull-left.icon-2x,
|
||||
.btn [class*=" icon"].pull-left.icon-2x,
|
||||
.btn [class^="icon"].pull-right.icon-2x,
|
||||
.btn [class*=" icon"].pull-right.icon-2x {
|
||||
margin-top: .35em;
|
||||
}
|
||||
.btn [class^="icon"].icon-spin.icon-large,
|
||||
.btn [class*=" icon"].icon-spin.icon-large {
|
||||
height: .75em;
|
||||
}
|
||||
.btn.btn-small [class^="icon"].pull-left.icon-2x,
|
||||
.btn.btn-small [class*=" icon"].pull-left.icon-2x,
|
||||
.btn.btn-small [class^="icon"].pull-right.icon-2x,
|
||||
.btn.btn-small [class*=" icon"].pull-right.icon-2x {
|
||||
margin-top: .45em;
|
||||
}
|
||||
.btn.btn-large [class^="icon"].pull-left.icon-2x,
|
||||
.btn.btn-large [class*=" icon"].pull-left.icon-2x,
|
||||
.btn.btn-large [class^="icon"].pull-right.icon-2x,
|
||||
.btn.btn-large [class*=" icon"].pull-right.icon-2x {
|
||||
margin-top: .2em;
|
||||
}
|
||||
.icon-spin {
|
||||
display: inline-block;
|
||||
-webkit-animation: spin 2s infinite linear;
|
||||
-moz-animation: spin 2s infinite linear;
|
||||
-o-animation: spin 2s infinite linear;
|
||||
animation: spin 2s infinite linear;
|
||||
}
|
||||
@-moz-keyframes spin {
|
||||
0% { -moz-transform: rotate(0deg); }
|
||||
100% { -moz-transform: rotate(359deg); }
|
||||
}
|
||||
@-webkit-keyframes spin {
|
||||
0% { -webkit-transform: rotate(0deg); }
|
||||
100% { -webkit-transform: rotate(359deg); }
|
||||
}
|
||||
@-o-keyframes spin {
|
||||
0% { -o-transform: rotate(0deg); }
|
||||
100% { -o-transform: rotate(359deg); }
|
||||
}
|
||||
@-ms-keyframes spin {
|
||||
0% { -ms-transform: rotate(0deg); }
|
||||
100% { -ms-transform: rotate(359deg); }
|
||||
}
|
||||
@keyframes spin {
|
||||
0% { transform: rotate(0deg); }
|
||||
100% { transform: rotate(359deg); }
|
||||
}
|
||||
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
|
||||
readers do not read off random characters that represent icons */
|
||||
.icon-glass:before { content: "\f000"; }
|
||||
.icon-music:before { content: "\f001"; }
|
||||
.icon-search:before { content: "\f002"; }
|
||||
.icon-envelope:before { content: "\f003"; }
|
||||
.icon-heart:before { content: "\f004"; }
|
||||
.icon-star:before { content: "\f005"; }
|
||||
.icon-star-empty:before { content: "\f006"; }
|
||||
.icon-user:before { content: "\f007"; }
|
||||
.icon-film:before { content: "\f008"; }
|
||||
.icon-th-large:before { content: "\f009"; }
|
||||
.icon-th:before { content: "\f00a"; }
|
||||
.icon-th-list:before { content: "\f00b"; }
|
||||
.icon-ok:before { content: "\f00c"; }
|
||||
.icon-remove:before { content: "\f00d"; }
|
||||
.icon-zoom-in:before { content: "\f00e"; }
|
||||
|
||||
.icon-zoom-out:before { content: "\f010"; }
|
||||
.icon-off:before { content: "\f011"; }
|
||||
.icon-signal:before { content: "\f012"; }
|
||||
.icon-cog:before { content: "\f013"; }
|
||||
.icon-trash:before { content: "\f014"; }
|
||||
.icon-home:before { content: "\f015"; }
|
||||
.icon-file:before { content: "\f016"; }
|
||||
.icon-time:before { content: "\f017"; }
|
||||
.icon-road:before { content: "\f018"; }
|
||||
.icon-download-alt:before { content: "\f019"; }
|
||||
.icon-download:before { content: "\f01a"; }
|
||||
.icon-upload:before { content: "\f01b"; }
|
||||
.icon-inbox:before { content: "\f01c"; }
|
||||
.icon-play-circle:before { content: "\f01d"; }
|
||||
.icon-repeat:before { content: "\f01e"; }
|
||||
|
||||
/* \f020 doesn't work in Safari. all shifted one down */
|
||||
.icon-refresh:before { content: "\f021"; }
|
||||
.icon-list-alt:before { content: "\f022"; }
|
||||
.icon-lock:before { content: "\f023"; }
|
||||
.icon-flag:before { content: "\f024"; }
|
||||
.icon-headphones:before { content: "\f025"; }
|
||||
.icon-volume-off:before { content: "\f026"; }
|
||||
.icon-volume-down:before { content: "\f027"; }
|
||||
.icon-volume-up:before { content: "\f028"; }
|
||||
.icon-qrcode:before { content: "\f029"; }
|
||||
.icon-barcode:before { content: "\f02a"; }
|
||||
.icon-tag:before { content: "\f02b"; }
|
||||
.icon-tags:before { content: "\f02c"; }
|
||||
.icon-book:before { content: "\f02d"; }
|
||||
.icon-bookmark:before { content: "\f02e"; }
|
||||
.icon-print:before { content: "\f02f"; }
|
||||
|
||||
.icon-camera:before { content: "\f030"; }
|
||||
.icon-font:before { content: "\f031"; }
|
||||
.icon-bold:before { content: "\f032"; }
|
||||
.icon-italic:before { content: "\f033"; }
|
||||
.icon-text-height:before { content: "\f034"; }
|
||||
.icon-text-width:before { content: "\f035"; }
|
||||
.icon-align-left:before { content: "\f036"; }
|
||||
.icon-align-center:before { content: "\f037"; }
|
||||
.icon-align-right:before { content: "\f038"; }
|
||||
.icon-align-justify:before { content: "\f039"; }
|
||||
.icon-list:before { content: "\f03a"; }
|
||||
.icon-indent-left:before { content: "\f03b"; }
|
||||
.icon-indent-right:before { content: "\f03c"; }
|
||||
.icon-facetime-video:before { content: "\f03d"; }
|
||||
.icon-picture:before { content: "\f03e"; }
|
||||
|
||||
.icon-pencil:before { content: "\f040"; }
|
||||
.icon-map-marker:before { content: "\f041"; }
|
||||
.icon-adjust:before { content: "\f042"; }
|
||||
.icon-tint:before { content: "\f043"; }
|
||||
.icon-edit:before { content: "\f044"; }
|
||||
.icon-share:before { content: "\f045"; }
|
||||
.icon-check:before { content: "\f046"; }
|
||||
.icon-move:before { content: "\f047"; }
|
||||
.icon-step-backward:before { content: "\f048"; }
|
||||
.icon-fast-backward:before { content: "\f049"; }
|
||||
.icon-backward:before { content: "\f04a"; }
|
||||
.icon-play:before { content: "\f04b"; }
|
||||
.icon-pause:before { content: "\f04c"; }
|
||||
.icon-stop:before { content: "\f04d"; }
|
||||
.icon-forward:before { content: "\f04e"; }
|
||||
|
||||
.icon-fast-forward:before { content: "\f050"; }
|
||||
.icon-step-forward:before { content: "\f051"; }
|
||||
.icon-eject:before { content: "\f052"; }
|
||||
.icon-chevron-left:before { content: "\f053"; }
|
||||
.icon-chevron-right:before { content: "\f054"; }
|
||||
.icon-plus-sign:before { content: "\f055"; }
|
||||
.icon-minus-sign:before { content: "\f056"; }
|
||||
.icon-remove-sign:before { content: "\f057"; }
|
||||
.icon-ok-sign:before { content: "\f058"; }
|
||||
.icon-question-sign:before { content: "\f059"; }
|
||||
.icon-info-sign:before { content: "\f05a"; }
|
||||
.icon-screenshot:before { content: "\f05b"; }
|
||||
.icon-remove-circle:before { content: "\f05c"; }
|
||||
.icon-ok-circle:before { content: "\f05d"; }
|
||||
.icon-ban-circle:before { content: "\f05e"; }
|
||||
|
||||
.icon-arrow-left:before { content: "\f060"; }
|
||||
.icon-arrow-right:before { content: "\f061"; }
|
||||
.icon-arrow-up:before { content: "\f062"; }
|
||||
.icon-arrow-down:before { content: "\f063"; }
|
||||
.icon-share-alt:before { content: "\f064"; }
|
||||
.icon-resize-full:before { content: "\f065"; }
|
||||
.icon-resize-small:before { content: "\f066"; }
|
||||
.icon-plus:before { content: "\f067"; }
|
||||
.icon-minus:before { content: "\f068"; }
|
||||
.icon-asterisk:before { content: "\f069"; }
|
||||
.icon-exclamation-sign:before { content: "\f06a"; }
|
||||
.icon-gift:before { content: "\f06b"; }
|
||||
.icon-leaf:before { content: "\f06c"; }
|
||||
.icon-fire:before { content: "\f06d"; }
|
||||
.icon-eye-open:before { content: "\f06e"; }
|
||||
|
||||
.icon-eye-close:before { content: "\f070"; }
|
||||
.icon-warning-sign:before { content: "\f071"; }
|
||||
.icon-plane:before { content: "\f072"; }
|
||||
.icon-calendar:before { content: "\f073"; }
|
||||
.icon-random:before { content: "\f074"; }
|
||||
.icon-comment:before { content: "\f075"; }
|
||||
.icon-magnet:before { content: "\f076"; }
|
||||
.icon-chevron-up:before { content: "\f077"; }
|
||||
.icon-chevron-down:before { content: "\f078"; }
|
||||
.icon-retweet:before { content: "\f079"; }
|
||||
.icon-shopping-cart:before { content: "\f07a"; }
|
||||
.icon-folder-close:before { content: "\f07b"; }
|
||||
.icon-folder-open:before { content: "\f07c"; }
|
||||
.icon-resize-vertical:before { content: "\f07d"; }
|
||||
.icon-resize-horizontal:before { content: "\f07e"; }
|
||||
|
||||
.icon-bar-chart:before { content: "\f080"; }
|
||||
.icon-twitter-sign:before { content: "\f081"; }
|
||||
.icon-facebook-sign:before { content: "\f082"; }
|
||||
.icon-camera-retro:before { content: "\f083"; }
|
||||
.icon-key:before { content: "\f084"; }
|
||||
.icon-cogs:before { content: "\f085"; }
|
||||
.icon-comments:before { content: "\f086"; }
|
||||
.icon-thumbs-up:before { content: "\f087"; }
|
||||
.icon-thumbs-down:before { content: "\f088"; }
|
||||
.icon-star-half:before { content: "\f089"; }
|
||||
.icon-heart-empty:before { content: "\f08a"; }
|
||||
.icon-signout:before { content: "\f08b"; }
|
||||
.icon-linkedin-sign:before { content: "\f08c"; }
|
||||
.icon-pushpin:before { content: "\f08d"; }
|
||||
.icon-external-link:before { content: "\f08e"; }
|
||||
|
||||
.icon-signin:before { content: "\f090"; }
|
||||
.icon-trophy:before { content: "\f091"; }
|
||||
.icon-github-sign:before { content: "\f092"; }
|
||||
.icon-upload-alt:before { content: "\f093"; }
|
||||
.icon-lemon:before { content: "\f094"; }
|
||||
.icon-phone:before { content: "\f095"; }
|
||||
.icon-check-empty:before { content: "\f096"; }
|
||||
.icon-bookmark-empty:before { content: "\f097"; }
|
||||
.icon-phone-sign:before { content: "\f098"; }
|
||||
.icon-twitter:before { content: "\f099"; }
|
||||
.icon-facebook:before { content: "\f09a"; }
|
||||
.icon-github:before { content: "\f09b"; }
|
||||
.icon-unlock:before { content: "\f09c"; }
|
||||
.icon-credit-card:before { content: "\f09d"; }
|
||||
.icon-rss:before { content: "\f09e"; }
|
||||
|
||||
.icon-hdd:before { content: "\f0a0"; }
|
||||
.icon-bullhorn:before { content: "\f0a1"; }
|
||||
.icon-bell:before { content: "\f0a2"; }
|
||||
.icon-certificate:before { content: "\f0a3"; }
|
||||
.icon-hand-right:before { content: "\f0a4"; }
|
||||
.icon-hand-left:before { content: "\f0a5"; }
|
||||
.icon-hand-up:before { content: "\f0a6"; }
|
||||
.icon-hand-down:before { content: "\f0a7"; }
|
||||
.icon-circle-arrow-left:before { content: "\f0a8"; }
|
||||
.icon-circle-arrow-right:before { content: "\f0a9"; }
|
||||
.icon-circle-arrow-up:before { content: "\f0aa"; }
|
||||
.icon-circle-arrow-down:before { content: "\f0ab"; }
|
||||
.icon-globe:before { content: "\f0ac"; }
|
||||
.icon-wrench:before { content: "\f0ad"; }
|
||||
.icon-tasks:before { content: "\f0ae"; }
|
||||
|
||||
.icon-filter:before { content: "\f0b0"; }
|
||||
.icon-briefcase:before { content: "\f0b1"; }
|
||||
.icon-fullscreen:before { content: "\f0b2"; }
|
||||
|
||||
.icon-group:before { content: "\f0c0"; }
|
||||
.icon-link:before { content: "\f0c1"; }
|
||||
.icon-cloud:before { content: "\f0c2"; }
|
||||
.icon-beaker:before { content: "\f0c3"; }
|
||||
.icon-cut:before { content: "\f0c4"; }
|
||||
.icon-copy:before { content: "\f0c5"; }
|
||||
.icon-paper-clip:before { content: "\f0c6"; }
|
||||
.icon-save:before { content: "\f0c7"; }
|
||||
.icon-sign-blank:before { content: "\f0c8"; }
|
||||
.icon-reorder:before { content: "\f0c9"; }
|
||||
.icon-list-ul:before { content: "\f0ca"; }
|
||||
.icon-list-ol:before { content: "\f0cb"; }
|
||||
.icon-strikethrough:before { content: "\f0cc"; }
|
||||
.icon-underline:before { content: "\f0cd"; }
|
||||
.icon-table:before { content: "\f0ce"; }
|
||||
|
||||
.icon-magic:before { content: "\f0d0"; }
|
||||
.icon-truck:before { content: "\f0d1"; }
|
||||
.icon-pinterest:before { content: "\f0d2"; }
|
||||
.icon-pinterest-sign:before { content: "\f0d3"; }
|
||||
.icon-google-plus-sign:before { content: "\f0d4"; }
|
||||
.icon-google-plus:before { content: "\f0d5"; }
|
||||
.icon-money:before { content: "\f0d6"; }
|
||||
.icon-caret-down:before { content: "\f0d7"; }
|
||||
.icon-caret-up:before { content: "\f0d8"; }
|
||||
.icon-caret-left:before { content: "\f0d9"; }
|
||||
.icon-caret-right:before { content: "\f0da"; }
|
||||
.icon-columns:before { content: "\f0db"; }
|
||||
.icon-sort:before { content: "\f0dc"; }
|
||||
.icon-sort-down:before { content: "\f0dd"; }
|
||||
.icon-sort-up:before { content: "\f0de"; }
|
||||
|
||||
.icon-envelope-alt:before { content: "\f0e0"; }
|
||||
.icon-linkedin:before { content: "\f0e1"; }
|
||||
.icon-undo:before { content: "\f0e2"; }
|
||||
.icon-legal:before { content: "\f0e3"; }
|
||||
.icon-dashboard:before { content: "\f0e4"; }
|
||||
.icon-comment-alt:before { content: "\f0e5"; }
|
||||
.icon-comments-alt:before { content: "\f0e6"; }
|
||||
.icon-bolt:before { content: "\f0e7"; }
|
||||
.icon-sitemap:before { content: "\f0e8"; }
|
||||
.icon-umbrella:before { content: "\f0e9"; }
|
||||
.icon-paste:before { content: "\f0ea"; }
|
||||
.icon-lightbulb:before { content: "\f0eb"; }
|
||||
.icon-exchange:before { content: "\f0ec"; }
|
||||
.icon-cloud-download:before { content: "\f0ed"; }
|
||||
.icon-cloud-upload:before { content: "\f0ee"; }
|
||||
|
||||
.icon-user-md:before { content: "\f0f0"; }
|
||||
.icon-stethoscope:before { content: "\f0f1"; }
|
||||
.icon-suitcase:before { content: "\f0f2"; }
|
||||
.icon-bell-alt:before { content: "\f0f3"; }
|
||||
.icon-coffee:before { content: "\f0f4"; }
|
||||
.icon-food:before { content: "\f0f5"; }
|
||||
.icon-file-alt:before { content: "\f0f6"; }
|
||||
.icon-building:before { content: "\f0f7"; }
|
||||
.icon-hospital:before { content: "\f0f8"; }
|
||||
.icon-ambulance:before { content: "\f0f9"; }
|
||||
.icon-medkit:before { content: "\f0fa"; }
|
||||
.icon-fighter-jet:before { content: "\f0fb"; }
|
||||
.icon-beer:before { content: "\f0fc"; }
|
||||
.icon-h-sign:before { content: "\f0fd"; }
|
||||
.icon-plus-sign-alt:before { content: "\f0fe"; }
|
||||
|
||||
.icon-double-angle-left:before { content: "\f100"; }
|
||||
.icon-double-angle-right:before { content: "\f101"; }
|
||||
.icon-double-angle-up:before { content: "\f102"; }
|
||||
.icon-double-angle-down:before { content: "\f103"; }
|
||||
.icon-angle-left:before { content: "\f104"; }
|
||||
.icon-angle-right:before { content: "\f105"; }
|
||||
.icon-angle-up:before { content: "\f106"; }
|
||||
.icon-angle-down:before { content: "\f107"; }
|
||||
.icon-desktop:before { content: "\f108"; }
|
||||
.icon-laptop:before { content: "\f109"; }
|
||||
.icon-tablet:before { content: "\f10a"; }
|
||||
.icon-mobile-phone:before { content: "\f10b"; }
|
||||
.icon-circle-blank:before { content: "\f10c"; }
|
||||
.icon-quote-left:before { content: "\f10d"; }
|
||||
.icon-quote-right:before { content: "\f10e"; }
|
||||
|
||||
.icon-spinner:before { content: "\f110"; }
|
||||
.icon-circle:before { content: "\f111"; }
|
||||
.icon-reply:before { content: "\f112"; }
|
||||
.icon-github-alt:before { content: "\f113"; }
|
||||
.icon-folder-close-alt:before { content: "\f114"; }
|
||||
.icon-folder-open-alt:before { content: "\f115"; }
|
||||
|
||||
.icons-phone:before { content: "\e000"; }
|
||||
.icons-mobile:before { content: "\e001"; }
|
||||
.icons-mouse:before { content: "\e002"; }
|
||||
.icons-directions:before { content: "\e003"; }
|
||||
.icons-mail:before { content: "\e004"; }
|
||||
.icons-paperplane:before { content: "\e005"; }
|
||||
.icons-pencil:before { content: "\e006"; }
|
||||
.icons-feather:before { content: "\e007"; }
|
||||
.icons-paperclip:before { content: "\e008"; }
|
||||
.icons-drawer:before { content: "\e009"; }
|
||||
.icons-reply:before { content: "\e00a"; }
|
||||
.icons-reply-all:before { content: "\e00b"; }
|
||||
.icons-forward:before { content: "\e00c"; }
|
||||
.icons-user:before { content: "\e00d"; }
|
||||
.icons-users:before { content: "\e00e"; }
|
||||
.icons-user-add:before { content: "\e00f"; }
|
||||
.icons-vcard:before { content: "\e010"; }
|
||||
.icons-export:before { content: "\e011"; }
|
||||
.icons-location:before { content: "\e012"; }
|
||||
.icons-map:before { content: "\e013"; }
|
||||
.icons-compass:before { content: "\e014"; }
|
||||
.icons-location-2:before { content: "\e015"; }
|
||||
.icons-target:before { content: "\e016"; }
|
||||
.icons-share:before { content: "\e017"; }
|
||||
.icons-sharable:before { content: "\e018"; }
|
||||
.icons-heart:before { content: "\e019"; }
|
||||
.icons-heart-2:before { content: "\e01a"; }
|
||||
.icons-star:before { content: "\e01b"; }
|
||||
.icons-star-2:before { content: "\e01c"; }
|
||||
.icons-thumbs-up:before { content: "\e01d"; }
|
||||
.icons-thumbs-down:before { content: "\e01e"; }
|
||||
.icons-chat:before { content: "\e01f"; }
|
||||
.icons-comment:before { content: "\e020"; }
|
||||
.icons-quote:before { content: "\e021"; }
|
||||
.icons-house:before { content: "\e022"; }
|
||||
.icons-popup:before { content: "\e023"; }
|
||||
.icons-search:before { content: "\e024"; }
|
||||
.icons-flashlight:before { content: "\e025"; }
|
||||
.icons-printer:before { content: "\e026"; }
|
||||
.icons-bell:before { content: "\e027"; }
|
||||
.icons-link:before { content: "\e028"; }
|
||||
.icons-flag:before { content: "\e029"; }
|
||||
.icons-cog:before { content: "\e02a"; }
|
||||
.icons-tools:before { content: "\e02b"; }
|
||||
.icons-trophy:before { content: "\e02c"; }
|
||||
.icons-tag:before { content: "\e02d"; }
|
||||
.icons-camera:before { content: "\e02e"; }
|
||||
.icons-megaphone:before { content: "\e02f"; }
|
||||
.icons-moon:before { content: "\e030"; }
|
||||
.icons-palette:before { content: "\e031"; }
|
||||
.icons-leaf:before { content: "\e032"; }
|
||||
.icons-music:before { content: "\e033"; }
|
||||
.icons-music-2:before { content: "\e034"; }
|
||||
.icons-new:before { content: "\e035"; }
|
||||
.icons-graduation:before { content: "\e036"; }
|
||||
.icons-book:before { content: "\e037"; }
|
||||
.icons-newspaper:before { content: "\e038"; }
|
||||
.icons-bag:before { content: "\e039"; }
|
||||
.icons-airplane:before { content: "\e03a"; }
|
||||
.icons-lifebuoy:before { content: "\e03b"; }
|
||||
.icons-eye:before { content: "\e03c"; }
|
||||
.icons-clock:before { content: "\e03d"; }
|
||||
.icons-microphone:before { content: "\e03e"; }
|
||||
.icons-calendar:before { content: "\e03f"; }
|
||||
.icons-bolt:before { content: "\e040"; }
|
||||
.icons-thunder:before { content: "\e041"; }
|
||||
.icons-droplet:before { content: "\e042"; }
|
||||
.icons-cd:before { content: "\e043"; }
|
||||
.icons-briefcase:before { content: "\e044"; }
|
||||
.icons-air:before { content: "\e045"; }
|
||||
.icons-hourglass:before { content: "\e046"; }
|
||||
.icons-gauge:before { content: "\e047"; }
|
||||
.icons-language:before { content: "\e048"; }
|
||||
.icons-network:before { content: "\e049"; }
|
||||
.icons-key:before { content: "\e04a"; }
|
||||
.icons-battery:before { content: "\e04b"; }
|
||||
.icons-bucket:before { content: "\e04c"; }
|
||||
.icons-magnet:before { content: "\e04d"; }
|
||||
.icons-drive:before { content: "\e04e"; }
|
||||
.icons-cup:before { content: "\e04f"; }
|
||||
.icons-rocket:before { content: "\e050"; }
|
||||
.icons-brush:before { content: "\e051"; }
|
||||
.icons-suitcase:before { content: "\e052"; }
|
||||
.icons-cone:before { content: "\e053"; }
|
||||
.icons-earth:before { content: "\e054"; }
|
||||
.icons-keyboard:before { content: "\e055"; }
|
||||
.icons-browser:before { content: "\e056"; }
|
||||
.icons-publish:before { content: "\e057"; }
|
||||
.icons-progress-3:before { content: "\e058"; }
|
||||
.icons-progress-2:before { content: "\e059"; }
|
||||
.icons-brogress-1:before { content: "\e05a"; }
|
||||
.icons-progress-0:before { content: "\e05b"; }
|
||||
.icons-sun:before { content: "\e05c"; }
|
||||
.icons-sun-2:before { content: "\e05d"; }
|
||||
.icons-adjust:before { content: "\e05e"; }
|
||||
.icons-code:before { content: "\e05f"; }
|
||||
.icons-screen:before { content: "\e060"; }
|
||||
.icons-infinity:before { content: "\e061"; }
|
||||
.icons-light-bulb:before { content: "\e062"; }
|
||||
.icons-credit-card:before { content: "\e063"; }
|
||||
.icons-database:before { content: "\e064"; }
|
||||
.icons-voicemail:before { content: "\e065"; }
|
||||
.icons-clipboard:before { content: "\e066"; }
|
||||
.icons-cart:before { content: "\e067"; }
|
||||
.icons-box:before { content: "\e068"; }
|
||||
.icons-ticket:before { content: "\e069"; }
|
||||
.icons-rss:before { content: "\e06a"; }
|
||||
.icons-signal:before { content: "\e06b"; }
|
||||
.icons-thermometer:before { content: "\e06c"; }
|
||||
.icons-droplets:before { content: "\e06d"; }
|
||||
.icons-untitled:before { content: "\e06e"; }
|
||||
.icons-statistics:before { content: "\e06f"; }
|
||||
.icons-pie:before { content: "\e070"; }
|
||||
.icons-bars:before { content: "\e071"; }
|
||||
.icons-graph:before { content: "\e072"; }
|
||||
.icons-lock:before { content: "\e073"; }
|
||||
.icons-lock-open:before { content: "\e074"; }
|
||||
.icons-logout:before { content: "\e075"; }
|
||||
.icons-login:before { content: "\e076"; }
|
||||
.icons-checkmark:before { content: "\e077"; }
|
||||
.icons-cross:before { content: "\e078"; }
|
||||
.icons-minus:before { content: "\e079"; }
|
||||
.icons-plus:before { content: "\e07a"; }
|
||||
.icons-cross-2:before { content: "\e07b"; }
|
||||
.icons-minus-2:before { content: "\e07c"; }
|
||||
.icons-plus-2:before { content: "\e07d"; }
|
||||
.icons-cross-3:before { content: "\e07e"; }
|
||||
.icons-minus-3:before { content: "\e07f"; }
|
||||
.icons-plus-3:before { content: "\e080"; }
|
||||
.icons-erase:before { content: "\e081"; }
|
||||
.icons-blocked:before { content: "\e082"; }
|
||||
.icons-info:before { content: "\e083"; }
|
||||
.icons-info-2:before { content: "\e084"; }
|
||||
.icons-question:before { content: "\e085"; }
|
||||
.icons-help:before { content: "\e086"; }
|
||||
.icons-warning:before { content: "\e087"; }
|
||||
.icons-cycle:before { content: "\e088"; }
|
||||
.icons-cw:before { content: "\e089"; }
|
||||
.icons-ccw:before { content: "\e08a"; }
|
||||
.icons-shuffle:before { content: "\e08b"; }
|
||||
.icons-arrow:before { content: "\e08c"; }
|
||||
.icons-arrow-2:before { content: "\e08d"; }
|
||||
.icons-retweet:before { content: "\e08e"; }
|
||||
.icons-loop:before { content: "\e08f"; }
|
||||
.icons-history:before { content: "\e090"; }
|
||||
.icons-back:before { content: "\e091"; }
|
||||
.icons-switch:before { content: "\e092"; }
|
||||
.icons-list:before { content: "\e093"; }
|
||||
.icons-add-to-list:before { content: "\e094"; }
|
||||
.icons-layout:before { content: "\e095"; }
|
||||
.icons-list-2:before { content: "\e096"; }
|
||||
.icons-text:before { content: "\e097"; }
|
||||
.icons-text-2:before { content: "\e098"; }
|
||||
.icons-document:before { content: "\e099"; }
|
||||
.icons-docs:before { content: "\e09a"; }
|
||||
.icons-landscape:before { content: "\e09b"; }
|
||||
.icons-pictures:before { content: "\e09c"; }
|
||||
.icons-video:before { content: "\e09d"; }
|
||||
.icons-music-3:before { content: "\e09e"; }
|
||||
.icons-folder:before { content: "\e09f"; }
|
||||
.icons-archive:before { content: "\e0a0"; }
|
||||
.icons-trash:before { content: "\e0a1"; }
|
||||
.icons-upload:before { content: "\e0a2"; }
|
||||
.icons-download:before { content: "\e0a3"; }
|
||||
.icons-disk:before { content: "\e0a4"; }
|
||||
.icons-install:before { content: "\e0a5"; }
|
||||
.icons-cloud:before { content: "\e0a6"; }
|
||||
.icons-upload-2:before { content: "\e0a7"; }
|
||||
.icons-bookmark:before { content: "\e0a8"; }
|
||||
.icons-bookmarks:before { content: "\e0a9"; }
|
||||
.icons-book-2:before { content: "\e0aa"; }
|
||||
.icons-play:before { content: "\e0ab"; }
|
||||
.icons-pause:before { content: "\e0ac"; }
|
||||
.icons-record:before { content: "\e0ad"; }
|
||||
.icons-stop:before { content: "\e0ae"; }
|
||||
.icons-next:before { content: "\e0af"; }
|
||||
.icons-previous:before { content: "\e0b0"; }
|
||||
.icons-first:before { content: "\e0b1"; }
|
||||
.icons-last:before { content: "\e0b2"; }
|
||||
.icons-resize-enlarge:before { content: "\e0b3"; }
|
||||
.icons-resize-shrink:before { content: "\e0b4"; }
|
||||
.icons-volume:before { content: "\e0b5"; }
|
||||
.icons-sound:before { content: "\e0b6"; }
|
||||
.icons-mute:before { content: "\e0b7"; }
|
||||
.icons-flow-cascade:before { content: "\e0b8"; }
|
||||
.icons-flow-branch:before { content: "\e0b9"; }
|
||||
.icons-flow-tree:before { content: "\e0ba"; }
|
||||
.icons-flow-line:before { content: "\e0bb"; }
|
||||
.icons-flow-parallel:before { content: "\e0bc"; }
|
||||
.icons-arrow-left:before { content: "\e0bd"; }
|
||||
.icons-arrow-down:before { content: "\e0be"; }
|
||||
.icons-arrow-up--upload:before { content: "\e0bf"; }
|
||||
.icons-arrow-right:before { content: "\e0c0"; }
|
||||
.icons-arrow-left-2:before { content: "\e0c1"; }
|
||||
.icons-arrow-down-2:before { content: "\e0c2"; }
|
||||
.icons-arrow-up:before { content: "\e0c3"; }
|
||||
.icons-arrow-right-2:before { content: "\e0c4"; }
|
||||
.icons-arrow-left-3:before { content: "\e0c5"; }
|
||||
.icons-arrow-down-3:before { content: "\e0c6"; }
|
||||
.icons-arrow-up-2:before { content: "\e0c7"; }
|
||||
.icons-arrow-right-3:before { content: "\e0c8"; }
|
||||
.icons-arrow-left-4:before { content: "\e0c9"; }
|
||||
.icons-arrow-down-4:before { content: "\e0ca"; }
|
||||
.icons-arrow-up-3:before { content: "\e0cb"; }
|
||||
.icons-arrow-right-4:before { content: "\e0cc"; }
|
||||
.icons-arrow-left-5:before { content: "\e0cd"; }
|
||||
.icons-arrow-down-5:before { content: "\e0ce"; }
|
||||
.icons-arrow-up-4:before { content: "\e0cf"; }
|
||||
.icons-arrow-right-5:before { content: "\e0d0"; }
|
||||
.icons-arrow-left-6:before { content: "\e0d1"; }
|
||||
.icons-arrow-down-6:before { content: "\e0d2"; }
|
||||
.icons-arrow-up-5:before { content: "\e0d3"; }
|
||||
.icons-arrow-right-6:before { content: "\e0d4"; }
|
||||
.icons-arrow-left-7:before { content: "\e0d5"; }
|
||||
.icons-arrow-down-7:before { content: "\e0d6"; }
|
||||
.icons-arrow-up-6:before { content: "\e0d7"; }
|
||||
.icons-untitled-2:before { content: "\e0d8"; }
|
||||
.icons-arrow-left-8:before { content: "\e0d9"; }
|
||||
.icons-arrow-down-8:before { content: "\e0da"; }
|
||||
.icons-arrow-up-7:before { content: "\e0db"; }
|
||||
.icons-arrow-right-7:before { content: "\e0dc"; }
|
||||
.icons-menu:before { content: "\e0dd"; }
|
||||
.icons-ellipsis:before { content: "\e0de"; }
|
||||
.icons-dots:before { content: "\e0df"; }
|
||||
.icons-dot:before { content: "\e0e0"; }
|
||||
.icons-cc:before { content: "\e0e1"; }
|
||||
.icons-cc-by:before { content: "\e0e2"; }
|
||||
.icons-cc-nc:before { content: "\e0e3"; }
|
||||
.icons-cc-nc-eu:before { content: "\e0e4"; }
|
||||
.icons-cc-nc-jp:before { content: "\e0e5"; }
|
||||
.icons-cc-sa:before { content: "\e0e6"; }
|
||||
.icons-cc-nd:before { content: "\e0e7"; }
|
||||
.icons-cc-pd:before { content: "\e0e8"; }
|
||||
.icons-cc-zero:before { content: "\e0e9"; }
|
||||
.icons-cc-share:before { content: "\e0ea"; }
|
||||
.icons-cc-share-2:before { content: "\e0eb"; }
|
||||
.icons-daniel-bruce:before { content: "\e0ec"; }
|
||||
.icons-daniel-bruce-2:before { content: "\e0ed"; }
|
|
@ -0,0 +1,64 @@
|
|||
/** initial setup **/
|
||||
.nano {
|
||||
position : relative;
|
||||
width : 100%;
|
||||
height : 100%;
|
||||
overflow : hidden;
|
||||
}
|
||||
.nano .content {
|
||||
position : absolute;
|
||||
overflow : scroll;
|
||||
overflow-x : hidden;
|
||||
top : 0;
|
||||
right : 0;
|
||||
bottom : 0;
|
||||
left : 0;
|
||||
}
|
||||
.nano .content:focus {
|
||||
outline: thin dotted;
|
||||
}
|
||||
.nano .content::-webkit-scrollbar {
|
||||
visibility: hidden;
|
||||
}
|
||||
.has-scrollbar .content::-webkit-scrollbar {
|
||||
visibility: visible;
|
||||
}
|
||||
.nano > .pane {
|
||||
/*background : rgba(0,0,0,.25);*/
|
||||
position : absolute;
|
||||
width : 10px;
|
||||
right : 0;
|
||||
top : 0;
|
||||
bottom : 0;
|
||||
visibility : hidden\9; /* Target only IE7 and IE8 with this hack */
|
||||
opacity : .01;
|
||||
-webkit-transition : .2s;
|
||||
-moz-transition : .2s;
|
||||
-o-transition : .2s;
|
||||
transition : .2s;
|
||||
-moz-border-radius : 5px;
|
||||
-webkit-border-radius : 5px;
|
||||
border-radius : 5px;
|
||||
}
|
||||
.nano > .pane > .slider {
|
||||
background: #444;
|
||||
background: rgba(0,0,0,.5);
|
||||
position : relative;
|
||||
margin : 0 1px;
|
||||
-moz-border-radius : 3px;
|
||||
-webkit-border-radius : 3px;
|
||||
border-radius : 3px;
|
||||
}
|
||||
.nano:hover > .pane, .pane.active, .pane.flashed {
|
||||
visibility : visible\9; /* Target only IE7 and IE8 with this hack */
|
||||
opacity : 0.99;
|
||||
}
|
||||
#sidebar-menu > .pane {
|
||||
width : 4px\9;
|
||||
right : auto\9;
|
||||
left : 0\9;
|
||||
opacity : 1\9;
|
||||
}
|
||||
#sidebar-menu > .pane > .slider {
|
||||
background: #0088cc\9;
|
||||
}
|
|
@ -0,0 +1,224 @@
|
|||
#orbit-bar {
|
||||
top: 0px;
|
||||
left: -10px;
|
||||
right: -10px;
|
||||
height: 40px;
|
||||
z-index: 1041;
|
||||
position: fixed;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
#orbit-bar .orbitlogo {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-size: 70%;
|
||||
display: inline-block;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-image: url(<%= asset_path 'orbit-logo.svg' %>);
|
||||
|
||||
/* For Suck IE */
|
||||
background-image: url(<%= asset_path 'orbit-logo.png' %>)\9;
|
||||
}
|
||||
#orbit-bar.navbar .nav > li > a {
|
||||
color: #EEE;
|
||||
text-shadow: 0 -1px 0 #000;
|
||||
border-right: 1px solid #363636;
|
||||
box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
#orbit-bar.navbar .nav > li:first-child > a {
|
||||
border-left: 1px solid #363636;
|
||||
box-shadow: -1px 0px 0px rgba(0, 0, 0, 0.3), inset -1px 0px 0px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
#orbit-bar.navbar .nav > li > a:focus,
|
||||
#orbit-bar.navbar .nav > li > a:hover {
|
||||
background-color: #0095CF;
|
||||
text-shadow: 0 -1px 0 #014380;
|
||||
}
|
||||
#orbit-bar.navbar .nav li.dropdown.open > .dropdown-toggle,
|
||||
#orbit-bar.navbar .nav li.dropdown.active > .dropdown-toggle,
|
||||
#orbit-bar.navbar .nav li.dropdown.open.active > .dropdown-toggle {
|
||||
background-color: #0095CF;
|
||||
text-shadow: 0 -1px 0 #014380;
|
||||
}
|
||||
#orbit-bar .navbar-inner {
|
||||
height: 40px;
|
||||
border-width: 0;
|
||||
min-height: 40px;
|
||||
background-color: #333333;
|
||||
-webkit-border-radius: 0px;
|
||||
-moz-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
-webkit-box-shadow: 0 2px 10px rgba(0,0,0,.7);
|
||||
-moz-box-shadow: 0 2px 10px rgba(0,0,0,.7);
|
||||
box-shadow: 0 2px 10px rgba(0,0,0,.7);
|
||||
|
||||
/* Customization Color*/
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#1D1D1D));
|
||||
background-image: -webkit-linear-gradient(top, #333333, #1D1D1D);
|
||||
background-image: -moz-linear-gradient(top, #333333, #1D1D1D);
|
||||
background-image: -o-linear-gradient(top, #333333, #1D1D1D);
|
||||
background-image: linear-gradient(to bottom, #333333, #1D1D1D);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#1D1D1D', GradientType=0);
|
||||
}
|
||||
#orbit-bar .nav {
|
||||
top: auto;
|
||||
left: auto;
|
||||
right: auto;
|
||||
bottom: auto;
|
||||
}
|
||||
#orbit-bar .nav [class^="icon"],
|
||||
#orbit-bar .nav [class*=" icon"] {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
/*Login*/
|
||||
#orbit-bar .modal {
|
||||
width: 460px;
|
||||
margin-left: -230px;
|
||||
}
|
||||
#orbit-bar .modal-footer {
|
||||
text-align: center;
|
||||
}
|
||||
#orbit-bar .modal .container {
|
||||
width: 312px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
#orbit-bar .modal [class^="icon"],
|
||||
#orbit-bar .modal [class*=" icon"] {
|
||||
font-size: 1em;
|
||||
color: #8D8D8D;
|
||||
}
|
||||
#orbit-bar .modal .input-append,
|
||||
#orbit-bar .modal .input-prepend {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
/*Search*/
|
||||
#orbit-bar #search {
|
||||
margin-bottom: 0;
|
||||
position: relative;
|
||||
padding: 8px 10px 0;
|
||||
border-right: 1px solid #363636;
|
||||
box-shadow: 1px 0px 0px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
#orbit-bar #search form {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
#orbit-bar #search input[type="text"] {
|
||||
height: 14px;
|
||||
padding-left: 25px;
|
||||
padding-right: 25px;
|
||||
-webkit-border-radius: 12px;
|
||||
-moz-border-radius: 12px;
|
||||
-o-border-radius: 12px;
|
||||
border-radius: 12px;
|
||||
|
||||
/* For Suck IE */
|
||||
line-height: 16px\9;
|
||||
}
|
||||
#orbit-bar #search .icon-search,
|
||||
#orbit-bar #search .search-clear {
|
||||
position: absolute;
|
||||
color: #A3A3A3;
|
||||
top: 14px;
|
||||
}
|
||||
#orbit-bar #search .icon-search {
|
||||
left: 13px;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
#orbit-bar #search .search-clear {
|
||||
right: 14px;
|
||||
font-size: 1.3em;
|
||||
}
|
||||
#orbit-bar #search .search-clear:hover {
|
||||
color: #333;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
/*User info*/
|
||||
#orbit-bar #orbit-user .user-pic {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
margin: -12px 10px -10px -15px;
|
||||
}
|
||||
|
||||
/*Language & flag*/
|
||||
#orbit-bar #orbit-language [class^="flag-"],
|
||||
#orbit-bar #orbit-language [class*=" flag-"] {
|
||||
background-image: url(<%= asset_path 'flag.png' %>);
|
||||
background-repeat: no-repeat;
|
||||
background-color: transparent;
|
||||
display: inline-block;
|
||||
margin: -8px 0 -8px -5px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
#orbit-bar #orbit-language .dropdown-menu [class^="flag-"],
|
||||
#orbit-bar #orbit-language .dropdown-menu [class*=" flag-"] {
|
||||
margin: -8px 10px -8px 0px;
|
||||
}
|
||||
.flag-bg {background-position: 0px 0px;}
|
||||
.flag-cs {background-position: -24px 0px;}
|
||||
.flag-da {background-position: -48px 0px;}
|
||||
.flag-de {background-position: -72px 0px;}
|
||||
.flag-en {background-position: 0px -24px;}
|
||||
.flag-es {background-position: -24px -24px;}
|
||||
.flag-fi {background-position: -48px -24px;}
|
||||
.flag-fr {background-position: -72px -24px;}
|
||||
.flag-hr {background-position: 0px -48px;}
|
||||
.flag-id {background-position: -24px -48px;}
|
||||
.flag-is {background-position: -48px -48px;}
|
||||
.flag-it {background-position: -72px -48px;}
|
||||
.flag-ja {background-position: 0px -72px;}
|
||||
.flag-kr {background-position: -24px -72px;}
|
||||
.flag-lt {background-position: -48px -72px;}
|
||||
.flag-lv {background-position: -72px -72px;}
|
||||
.flag-ms {background-position: 0px -96px;}
|
||||
.flag-nb {background-position: -24px -96px;}
|
||||
.flag-nl {background-position: -48px -96px;}
|
||||
.flag-pl {background-position: -72px -96px;}
|
||||
.flag-pt-BR {background-position: 0px -120px;}
|
||||
.flag-pt {background-position: -24px -120px;}
|
||||
.flag-ro {background-position: -48px -120px;}
|
||||
.flag-ru {background-position: -72px -120px;}
|
||||
.flag-sk {background-position: 0px -144px;}
|
||||
.flag-sl {background-position: -24px -144px;}
|
||||
.flag-sr {background-position: -48px -144px;}
|
||||
.flag-sv {background-position: -72px -144px;}
|
||||
.flag-th {background-position: 0px -168px;}
|
||||
.flag-tr {background-position: -24px -168px;}
|
||||
.flag-zh-CN {background-position: -48px -168px;}
|
||||
.flag-zh-TW {background-position: -72px -168px;}
|
||||
|
||||
|
||||
/* For Retina */
|
||||
@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (max--moz-device-pixel-ratio: 2) {
|
||||
#orbit-bar #orbit-language [class^="flag-"],
|
||||
#orbit-bar #orbit-language [class*=" flag-"] {
|
||||
background-image: url(<%= asset_path 'flag@2x.png' %>);
|
||||
background-size: 96px 192px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Responsive */
|
||||
@media (max-width: 480px) {
|
||||
#orbit-bar .navbar-inner .nav {
|
||||
margin-right: 0;
|
||||
}
|
||||
#orbit-bar #orbit-user span,
|
||||
#orbit-bar #search {
|
||||
display: none;
|
||||
}
|
||||
#orbit-bar #orbit-language [class^="flag-"],
|
||||
#orbit-bar #orbit-language [class*=" flag-"] {
|
||||
margin: -8px;
|
||||
}
|
||||
#orbit-bar #orbit-user .user-pic {
|
||||
margin: -12px -15px -10px -15px;
|
||||
}
|
||||
#orbit-bar .modal {
|
||||
width: 350px;
|
||||
margin-left: -175px;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,149 @@
|
|||
.mini-layout {
|
||||
|
||||
}
|
||||
.mini-layout .mini-layout-sidebar {
|
||||
position: relative;
|
||||
}
|
||||
.mini-layout .mini-layout-sidebar:before {
|
||||
content: "";
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
right: -8.5555%;
|
||||
border-right: 1px solid #e5e5e5;
|
||||
}
|
||||
.checkbox-card {
|
||||
margin: 0;
|
||||
}
|
||||
.checkbox-card li {
|
||||
position: relative;
|
||||
list-style: none;
|
||||
color: #FFFFFF;
|
||||
width: 180px;
|
||||
height: 40px;
|
||||
margin: 0 10px 10px 0;
|
||||
float: left;
|
||||
display: inline-block;
|
||||
background-color: #cccccc;
|
||||
overflow: hidden;
|
||||
-webkit-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
-webkit-transition: all .2s linear;
|
||||
-moz-transition: all .2s linear;
|
||||
-o-transition: all .2s linear;
|
||||
transition: all .2s linear;
|
||||
}
|
||||
.checkbox-card li.mark {
|
||||
width: 0;
|
||||
height: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
filter: alpha(opacity=0);
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
.checkbox-card li:hover {
|
||||
background-color: #0088cc;
|
||||
}
|
||||
.checkbox-card li:after {
|
||||
content: "";
|
||||
display: block;
|
||||
clear: both;
|
||||
height: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
.checkbox-card li.active:before {
|
||||
-webkit-text-size-adjust : none;
|
||||
font-family: FontAwesome;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
color: #FFF;
|
||||
text-decoration: inherit;
|
||||
content: "\f00c";
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
top: 0px;
|
||||
line-height: 14px;
|
||||
text-indent: 10px;
|
||||
font-size: 10px;
|
||||
width: 0px;
|
||||
height: 0px;
|
||||
border-style: solid;
|
||||
border-width: 0 22px 22px 0;
|
||||
border-color: transparent #51a351 transparent transparent;
|
||||
}
|
||||
.checkbox-card li.active label {
|
||||
}
|
||||
.checkbox-card li label {
|
||||
margin-bottom: 0px;
|
||||
overflow: hidden;
|
||||
-webkit-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
.checkbox-card li input {
|
||||
visibility: hidden;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.checkbox-card li label span {
|
||||
-webkit-text-size-adjust : none;
|
||||
font-size: 10px;
|
||||
display: block;
|
||||
width: 130px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
color: #666666;
|
||||
margin-top: -3px;
|
||||
}
|
||||
.checkbox-card li:hover label span,
|
||||
.checkbox-card li:hover label span.user-name {
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.checkbox-card li label span.user-name {
|
||||
font-size: 12px;
|
||||
color: #363636;
|
||||
padding: 2px 0 0;
|
||||
margin-top: 0;
|
||||
}
|
||||
.checkbox-card li .user-pic {
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Responsive */
|
||||
@media (max-width: 767px) {
|
||||
.mini-layout .mini-layout-sidebar,
|
||||
.mini-layout .mini-layout-body {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
.mini-layout .mini-layout-sidebar .nav {
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
margin-bottom: 10px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
.mini-layout .mini-layout-sidebar:before {
|
||||
border-right: none;
|
||||
}
|
||||
.mini-layout .mini-layout-sidebar .nav-stacked > li {
|
||||
float: left;
|
||||
}
|
||||
.checkbox-card li {
|
||||
width: 210px;
|
||||
margin: 0 0 10px 9px;
|
||||
}
|
||||
.checkbox-card li label span {
|
||||
width: 160px;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,78 @@
|
|||
#dashboards hr {
|
||||
border-top: 1px solid #e0dfdf;
|
||||
border-bottom: 1px solid #fefefe;
|
||||
}
|
||||
#dashboards .box {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
#dashboards .box-header {
|
||||
height: 20px;
|
||||
border: 1px solid #ddd;
|
||||
margin-bottom: -1px;
|
||||
padding: 10px;
|
||||
background-color: #fafafa;
|
||||
background-image: -moz-linear-gradient(top, #fafafa, #efefef);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fafafa), to(#efefef));
|
||||
background-image: -webkit-linear-gradient(top, #fafafa, #efefef);
|
||||
background-image: -o-linear-gradient(top, #fafafa, #efefef);
|
||||
background-image: linear-gradient(to bottom, #fafafa, #efefef);
|
||||
filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fafafa', endColorstr='#efefef', GradientType=0);
|
||||
-webkit-box-shadow: none;
|
||||
-moz-box-shadow: none;
|
||||
box-shadow: none;
|
||||
-webkit-border-radius: 2px 2px 0px 0px;
|
||||
-moz-border-radius: 2px 2px 0px 0px;
|
||||
border-radius: 2px 2px 0px 0px;
|
||||
overflow: hidden;
|
||||
}
|
||||
#dashboards .box-header h2{
|
||||
font-size: 16px;
|
||||
line-height: 16px;
|
||||
float:left;
|
||||
margin-top: 0px;
|
||||
color: #646464;
|
||||
font-weight: normal;
|
||||
text-shadow: 0px 1px 0px #fff;
|
||||
}
|
||||
#dashboards .box-header h2 i{
|
||||
margin: 1px 0px 0px 5px;
|
||||
text-shadow: 0px 1px 0px rgba(255, 255, 255, .9);
|
||||
}
|
||||
#dashboards .box-header .break{
|
||||
border-left: 1px solid #fcfcfc;
|
||||
border-right: 1px solid #ddd;
|
||||
margin: -13px 10px -9px 10px;
|
||||
padding: 13px 0px 9px 0px;
|
||||
|
||||
}
|
||||
#dashboards .box-content {
|
||||
margin-top: -1px;
|
||||
padding: 10px;
|
||||
border: 1px solid #ddd;
|
||||
background: #fcfcfc;
|
||||
-webkit-border-radius: 0px 0px 2px 2px;
|
||||
-moz-border-radius: 0px 0px 2px 2px;
|
||||
border-radius: 0px 0px 2px 2px;
|
||||
-webkit-box-shadow: 0 1px 0px rgba(255, 255, 255, .6);
|
||||
-moz-box-shadow: 0 1px 0px rgba(255, 255, 255, .6);
|
||||
box-shadow: 0 1px 0px rgba(255, 255, 255, .6);
|
||||
}
|
||||
#dashboards .box-content .table {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
#dashboards .box-content .pager {
|
||||
margin: 10px 0 0;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
|
||||
/* Responsive */
|
||||
@media (max-width: 480px) {
|
||||
#dashboards hr {
|
||||
display: none;
|
||||
}
|
||||
#dashboards .row-fluid {
|
||||
margin-bottom: -10px;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,157 @@
|
|||
.fileupload {
|
||||
margin-bottom: 9px;
|
||||
}
|
||||
|
||||
.fileupload .input-prepend label,
|
||||
.fileupload .input-append label {
|
||||
display: inline;
|
||||
}
|
||||
.fileupload .input-prepend label .uneditable-input,
|
||||
.fileupload .input-append label .uneditable-input {
|
||||
margin-left: -4px;
|
||||
margin-right: -4px;
|
||||
}
|
||||
.fileupload .uneditable-input {
|
||||
display: inline-block;
|
||||
margin-bottom: 0;
|
||||
vertical-align: top;
|
||||
cursor: text;
|
||||
}
|
||||
|
||||
.fileupload .thumbnail {
|
||||
display: inline-block;
|
||||
margin-right: 5px;
|
||||
margin-bottom: 5px;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.fileupload .thumbnail > img {
|
||||
display: inline-block;
|
||||
max-height: 100%;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.fileupload .btn {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.fileupload .btn-file {
|
||||
margin-bottom: 5px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.fileupload .btn-file > input {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
margin: 0;
|
||||
font-size: 23px;
|
||||
cursor: pointer;
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
transform: translate(-300px, 0) scale(4);
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
.fileupload-exists .fileupload-new,
|
||||
.fileupload-new .fileupload-exists {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.fileupload .fileupload-remove {
|
||||
clear: both;
|
||||
display: none;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.fileupload-edit .fileupload-remove,
|
||||
.fileupload-edit .btn .fileupload-exists {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.fileupload-edit .btn .fileupload-new {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.fileupload-inline .fileupload-controls {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.fileupload-new .input-append .btn-file {
|
||||
-webkit-border-radius: 0 3px 3px 0;
|
||||
-moz-border-radius: 0 3px 3px 0;
|
||||
border-radius: 0 3px 3px 0;
|
||||
}
|
||||
|
||||
.fileupload-preview {
|
||||
max-width: 200px;
|
||||
max-height: 200px;
|
||||
}
|
||||
|
||||
.thumbnail-borderless .thumbnail {
|
||||
padding: 0;
|
||||
border: none;
|
||||
-webkit-border-radius: 0;
|
||||
-moz-border-radius: 0;
|
||||
border-radius: 0;
|
||||
-webkit-box-shadow: none;
|
||||
-moz-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.fileupload-new.thumbnail-borderless .thumbnail {
|
||||
border: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.control-group.warning .fileupload .uneditable-input {
|
||||
color: #a47e3c;
|
||||
border-color: #a47e3c;
|
||||
}
|
||||
|
||||
.control-group.warning .fileupload .fileupload-preview {
|
||||
color: #a47e3c;
|
||||
}
|
||||
|
||||
.control-group.warning .fileupload .thumbnail {
|
||||
border-color: #a47e3c;
|
||||
}
|
||||
|
||||
.control-group.error .fileupload .uneditable-input {
|
||||
color: #b94a48;
|
||||
border-color: #b94a48;
|
||||
}
|
||||
|
||||
.control-group.error .fileupload .fileupload-preview {
|
||||
color: #b94a48;
|
||||
}
|
||||
|
||||
.control-group.error .fileupload .thumbnail {
|
||||
border-color: #b94a48;
|
||||
}
|
||||
|
||||
.control-group.success .fileupload .uneditable-input {
|
||||
color: #468847;
|
||||
border-color: #468847;
|
||||
}
|
||||
|
||||
.control-group.success .fileupload .fileupload-preview {
|
||||
color: #468847;
|
||||
}
|
||||
|
||||
.control-group.success .fileupload .thumbnail {
|
||||
border-color: #468847;
|
||||
}
|
||||
@media (min-width: 768px) and (max-width: 979px) {
|
||||
.fileupload .input-medium {
|
||||
width: 90px!important;
|
||||
}
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.fileupload .input-medium {
|
||||
width: 90px!important;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,84 @@
|
|||
/* Filter */
|
||||
#filter.open {
|
||||
border-bottom: none;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
#filter .filter-nav {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
#filter.open .filter-nav {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
#filter .filter-nav a {
|
||||
text-decoration: none;
|
||||
}
|
||||
#filter .filter-nav .accordion-group {
|
||||
border: none;
|
||||
}
|
||||
#filter .filter-nav .accordion-group.active {
|
||||
background-color: #08c;
|
||||
position: relative;
|
||||
}
|
||||
#filter .filter-nav .accordion-group.active a {
|
||||
color: #FFF;
|
||||
}
|
||||
#filter .filter-nav .accordion-group.active:after {
|
||||
display: block;
|
||||
height: 0px;
|
||||
width: 0px;
|
||||
position: absolute;
|
||||
bottom: -12px;
|
||||
left: 50%;
|
||||
margin-left: -5px;
|
||||
content: "";
|
||||
border-style: solid;
|
||||
border-width: 0 6px 6px 6px;
|
||||
border-color: transparent transparent #e5e5e5 transparent;
|
||||
z-index: 5
|
||||
}
|
||||
#filter .filter-group {
|
||||
clear: both;
|
||||
border: none;
|
||||
margin-bottom: 0px;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
-o-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
#filter .filter-group .accordion-body {
|
||||
background-color: #e5e5e5;
|
||||
border-radius: 3px;
|
||||
}
|
||||
#filter .filter-group .accordion-body .filter-clear {
|
||||
padding: 4px;
|
||||
border-top: 1px solid #D5D5D5;
|
||||
text-align: right;
|
||||
-webkit-box-shadow: inset 0px 1px 0px #ECECEC;
|
||||
-moz-box-shadow: inset 0px 1px 0px #ECECEC;
|
||||
-o-box-shadow: inset 0px 1px 0px #ECECEC;
|
||||
box-shadow: inset 0px 1px 0px #ECECEC;
|
||||
}
|
||||
#filter .filter-group .accordion-body .filter-clear a {
|
||||
text-decoration: none;
|
||||
}
|
||||
#filter .filter-group .collapse.in {
|
||||
}
|
||||
#filter .filter-group .accordion-inner {
|
||||
padding: 8px 8px 5px;
|
||||
/*margin-top: 10px;*/
|
||||
}
|
||||
#filter .filter-group .accordion-inner > .btn {
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
|
||||
/* Responsive */
|
||||
@media (max-width: 480px) {
|
||||
/* Filter */
|
||||
#filter .filter-nav {
|
||||
float: left;
|
||||
}
|
||||
#filter .accordion-inner.pagination-right {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,299 @@
|
|||
#orbit_gallery {
|
||||
margin: 0;
|
||||
padding: 0 0 10px;
|
||||
list-style: none;
|
||||
}
|
||||
#orbit_gallery .rgalbum {
|
||||
margin: 5px;
|
||||
padding: 10px;
|
||||
width: 200px;
|
||||
background: #FFFFFF;
|
||||
-webkit-transition-property: left, right, top;
|
||||
-moz-transition-property: left, right, top;
|
||||
-ms-transition-property: left, right, top;
|
||||
-o-transition-property: left, right, top;
|
||||
transition-property: left, right, top;
|
||||
}
|
||||
#orbit_gallery .rgalbum:hover {
|
||||
box-shadow: 0px 0px 5px rgba(0,0,0,.2);
|
||||
}
|
||||
#orbit_gallery .rgalbum a {
|
||||
position: relative;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
margin: 0 0 10px;
|
||||
width: 200px;
|
||||
-webkit-transition: all .2s linear;
|
||||
-moz-transition: all .2s linear;
|
||||
-o-transition: all .2s linear;
|
||||
transition: all .2s linear;
|
||||
}
|
||||
#orbit_gallery .rgalbum a img {
|
||||
max-width: 200px;
|
||||
}
|
||||
#orbit_gallery .rgalbum:hover a img {
|
||||
-webkit-filter: blur(2px);
|
||||
}
|
||||
#orbit_gallery .rgalbum a span {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
display: block;
|
||||
margin: 0;
|
||||
background-color: #000000;
|
||||
opacity: .0;
|
||||
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
filter: alpha(opacity=0);
|
||||
-webkit-transition: all .2s linear;
|
||||
-moz-transition: all .2s linear;
|
||||
-o-transition: all .2s linear;
|
||||
transition: all .2s linear;
|
||||
}
|
||||
#orbit_gallery .rgalbum:hover a span {
|
||||
opacity: .4;
|
||||
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
|
||||
filter: alpha(opacity=40);
|
||||
}
|
||||
#orbit_gallery .rgalbum a .albumname {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
margin: 0;
|
||||
padding: 10px;
|
||||
color: #F2F2F2;
|
||||
text-shadow: 0px -1px 0 rgba(0,0,0,0.4);
|
||||
letter-spacing: -0.5px;
|
||||
font-size: 30px;
|
||||
font-family: 'Playfair Display SC', sans-serif;
|
||||
line-height: 28px;
|
||||
opacity: .0;
|
||||
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
filter: alpha(opacity=0);
|
||||
-webkit-transition: all .2s linear;
|
||||
-moz-transition: all .2s linear;
|
||||
-o-transition: all .2s linear;
|
||||
transition: all .2s linear;
|
||||
-webkit-text-size-adjust : none;
|
||||
}
|
||||
#orbit_gallery .rgalbum:hover a .albumname {
|
||||
opacity: 1;
|
||||
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
|
||||
filter: alpha(opacity=100);
|
||||
-webkit-transition: all .2s linear;
|
||||
-moz-transition: all .2s linear;
|
||||
-o-transition: all .2s linear;
|
||||
transition: all .2s linear;
|
||||
}
|
||||
#orbit_gallery .rgalbum .gallery_info {
|
||||
margin: 0;
|
||||
list-style: none;
|
||||
}
|
||||
#orbit_gallery .rgalbum .gallery_info li {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
color: #777777;
|
||||
font-size: 11px;
|
||||
line-height: 20px;
|
||||
cursor: pointer;
|
||||
-webkit-text-size-adjust : none;
|
||||
}
|
||||
#orbit_gallery .rgalbum .gallery_info li:hover {
|
||||
color: #0088CC;
|
||||
}
|
||||
#orbit_gallery .rgalbum .gallery_info li .icons-tag {
|
||||
margin-left: 10px;
|
||||
}
|
||||
#orbit_gallery .rgalbum .gallery_info li.albumcateg {
|
||||
float: right;
|
||||
overflow: hidden;
|
||||
max-width: 125px;
|
||||
text-align: right;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
#orbit_gallery .rgalbum .gallery_info li.view {
|
||||
overflow: hidden;
|
||||
max-width: 50px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
#orbit_gallery .rgalbum .albumtag {
|
||||
display: none;
|
||||
overflow: hidden;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
|
||||
/* Gallery Body */
|
||||
.rgbody .gallery-info {
|
||||
padding: 0 5px;
|
||||
}
|
||||
.rgbody .gallery-info h3 {
|
||||
margin: 5px 0 0;
|
||||
color: #333;
|
||||
text-shadow: 0 1px 0 #ffffff;
|
||||
font-family: 'Playfair Display SC', sans-serif;
|
||||
}
|
||||
.rgbody .gallery-info .muted {
|
||||
font-family: 'Raleway', sans-serif;
|
||||
}
|
||||
|
||||
#imgholder {
|
||||
margin: 0;
|
||||
padding: 0 0 10px;
|
||||
list-style: none;
|
||||
}
|
||||
#imgholder .rgalbum {
|
||||
margin: 5px;
|
||||
padding: 5px;
|
||||
width: 200px;
|
||||
background: #FFFFFF;
|
||||
-webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, .1);
|
||||
-moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, .1);
|
||||
box-shadow: 0px 0px 5px rgba(0, 0, 0, .1);
|
||||
-webkit-transition-property: left, right, top;
|
||||
-moz-transition-property: left, right, top;
|
||||
-ms-transition-property: left, right, top;
|
||||
-o-transition-property: left, right, top;
|
||||
transition-property: left, right, top;
|
||||
-o-box-shadow: 0px 0px 5px rgba(0, 0, 0, .1);
|
||||
}
|
||||
#imgholder .rgalbum a {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
margin: 0;
|
||||
width: 200px;
|
||||
-webkit-transition: all .2s linear;
|
||||
-moz-transition: all .2s linear;
|
||||
-o-transition: all .2s linear;
|
||||
transition: all .2s linear;
|
||||
}
|
||||
#imgholder .rgalbum a img {
|
||||
max-width: 200px;
|
||||
}
|
||||
|
||||
|
||||
/* File Upload */
|
||||
#fileupload {
|
||||
position: relative;
|
||||
display: none;
|
||||
clear: both;
|
||||
overflow: hidden;
|
||||
margin: 40px 0 15px;
|
||||
/*height: 300px;*/
|
||||
border: 1px solid #d4d4d4;
|
||||
border-radius: 4px;
|
||||
background-color: #FDFDFD;
|
||||
/*-webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, .15) inset;
|
||||
box-shadow: 0px 0px 10px rgba(0, 0, 0, .15) inset;*/
|
||||
}
|
||||
#fileupload form, #fileupload table {
|
||||
margin: 0;
|
||||
}
|
||||
#fileupload .fileupload-buttonbar .navbar {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
#fileupload .fileupload-buttonbar .navbar button {
|
||||
border: none;
|
||||
border-right: 1px solid #d4d4d4;
|
||||
background-color: transparent;
|
||||
padding: 10px 15px 10px;
|
||||
color: #777777;
|
||||
text-decoration: none;
|
||||
text-shadow: 0 1px 0 #ffffff;
|
||||
}
|
||||
#fileupload .fileupload-buttonbar .navbar button:hover {
|
||||
color: #333333;
|
||||
text-decoration: none;
|
||||
background-color: #EDEDED;
|
||||
}
|
||||
#fileupload .fileupload-buttonbar .navbar .fileinput-button {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
#fileupload .fileupload-buttonbar .navbar .fileinput-button input {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
margin: 0;
|
||||
font-size: 23px;
|
||||
opacity: 0;
|
||||
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
filter: alpha(opacity=0);
|
||||
cursor: pointer;
|
||||
-webkit-transform: translate(-300px, 0) scale(4);
|
||||
-moz-transform: translate(-300px, 0) scale(4);
|
||||
-ms-transform: translate(-300px, 0) scale(4);
|
||||
-o-transform: translate(-300px, 0) scale(4);
|
||||
transform: translate(-300px, 0) scale(4);
|
||||
direction: ltr;
|
||||
}
|
||||
#fileupload .fileupload-buttonbar .navbar-inner {
|
||||
border-width: 0 0 1px;
|
||||
border-radius: 4px 4px 0 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#fileupload .fileupload-progress .progress {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
left: 0;
|
||||
margin-bottom: 0;
|
||||
height: 5px;
|
||||
border-radius: 0;
|
||||
background-color: transparent;
|
||||
background-image: none;
|
||||
}
|
||||
#fileupload .fileupload-progress .progress-success.progress-striped .bar {
|
||||
background-color: #0088CC;
|
||||
}
|
||||
#fileupload .fileupload-progress .progress-extended {
|
||||
position: absolute;
|
||||
top: 1px;
|
||||
right: 0;
|
||||
padding-right: 15px;
|
||||
color: #0088CC;
|
||||
text-align: right;
|
||||
text-shadow: 0 1px 0 #ffffff;
|
||||
letter-spacing: -0.1em;
|
||||
font-size: 20px;
|
||||
font-family: 'Varela Round', sans-serif;
|
||||
line-height: 40px;
|
||||
}
|
||||
|
||||
#fileupload #dropzone {
|
||||
margin: 15px 10px 10px;
|
||||
padding: 30px;
|
||||
text-align: center;
|
||||
font-size: 2em;
|
||||
font-family: 'Raleway';
|
||||
line-height: 1.2em;
|
||||
color: #e4e4e4;
|
||||
}
|
||||
#fileupload #dropzone div[data-icons] {
|
||||
font-size: 4em;
|
||||
height: 70px;
|
||||
padding-top: 30px;
|
||||
text-shadow: 0px -1px 0px #ececec;
|
||||
color: #f5f5f5;
|
||||
}
|
||||
#fileupload #dropzone.drop {
|
||||
padding: 28px;
|
||||
border: 2px dashed #0088CC;
|
||||
border-radius: 10px;
|
||||
color: #0088CC;
|
||||
}
|
||||
#fileupload #dropzone.drop div[data-icons] {
|
||||
text-shadow: 0px -1px 0px #0c5f80;
|
||||
color: #0088CC;
|
||||
}
|
||||
|
||||
#fileupload .fileupload-loading {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
width: 128px;
|
||||
height: 128px;
|
||||
background: url(../img/loading.gif) center no-repeat;
|
||||
display: none;
|
||||
}
|
|
@ -0,0 +1,277 @@
|
|||
#items .ui-tooltip {
|
||||
color: #FFFFFF;
|
||||
padding: 0px 5px;
|
||||
position: absolute;
|
||||
z-index: 9999;
|
||||
max-width: 300px;
|
||||
border-radius: 3px;
|
||||
background-color: #000;
|
||||
}
|
||||
#items .ui-tooltip:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: -3px;
|
||||
margin-left: -4px;
|
||||
width: 0px;
|
||||
height: 0px;
|
||||
border-style: solid;
|
||||
border-width: 4px 4px 0 4px;
|
||||
border-color: #000000 transparent transparent transparent;
|
||||
}
|
||||
#items .sortable {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0 10px;
|
||||
border: 1px solid #d4d4d4;
|
||||
background-color: rgb(236, 236, 236);
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
#items .sortable ol,
|
||||
#items .sortable ul {
|
||||
list-style: none;
|
||||
}
|
||||
#items .sortable .navbar {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
#items .sortable > .navbar {
|
||||
margin: -1px -11px 10px;
|
||||
}
|
||||
#items .sortable .navbar .nav > li > a,
|
||||
#items .sortable .navbar .brand {
|
||||
padding: 10px;
|
||||
}
|
||||
#items .sortable .navbar .item-title {
|
||||
color: #777777;
|
||||
padding: 0 10px;
|
||||
position: relative;
|
||||
line-height: 3.5em;
|
||||
display: inline-block;
|
||||
float: left;
|
||||
}
|
||||
#items .sortable .navbar .item-title:hover {
|
||||
}
|
||||
#items .sortable .navbar .item-title a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
/*#items .sortable .navbar .active .item-title>a {
|
||||
max-width: 70px;
|
||||
display: inline-block;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}*/
|
||||
#items .sortable .navbar .item-title .item-menu a {
|
||||
display: inline-block;
|
||||
padding: 3px 5px;
|
||||
clear: both;
|
||||
font-weight: normal;
|
||||
line-height: 20px;
|
||||
color: #333333;
|
||||
white-space: nowrap;
|
||||
-webkit-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
#items .sortable .navbar .item-title .item-menu a:hover,
|
||||
#items .sortable .navbar .item-title .item-menu a:focus,
|
||||
#items .sortable .navbar .item-title .item-menu a.active {
|
||||
color: #ffffff;
|
||||
text-decoration: none;
|
||||
background-color: #0081c2;
|
||||
}
|
||||
#items .sortable .navbar .item-title .item-menu a.delete:hover,
|
||||
#items .sortable .navbar .item-title .item-menu a.delete:focus {
|
||||
background-color: #bd362f;
|
||||
}
|
||||
#items .sortable .navbar .item-title .item-menu:before {
|
||||
/*position: absolute;
|
||||
top: 50%;
|
||||
left: -5px;
|
||||
margin-top: -5px;
|
||||
display: inline-block;
|
||||
width: 0px;
|
||||
height: 0px;
|
||||
border-style: solid;
|
||||
border-width: 5px 5px 5px 0;
|
||||
border-color: transparent rgb(233, 233, 233) transparent transparent;
|
||||
content: '';*/
|
||||
}
|
||||
#items .sortable .navbar .item-title em {
|
||||
display: inline-block;
|
||||
padding: 0 5px;
|
||||
max-width: 300px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
#items .sortable .navbar .item-info {
|
||||
margin-top: 12px;
|
||||
color: #DDDDDD;
|
||||
text-align: right;
|
||||
}
|
||||
#items .sortable ol {
|
||||
margin-left: 12px;
|
||||
}
|
||||
#items .sortable ol {
|
||||
margin: -59px 0 15px;
|
||||
padding: 59px 10px 0;
|
||||
border: 1px solid #d4d4d4;
|
||||
background-color: rgb(236, 236, 236);
|
||||
-webkit-box-shadow: 0 0 10px rgba(150, 150, 150, .3);
|
||||
-moz-box-shadow: 0 0 10px rgba(150, 150, 150, .3);
|
||||
box-shadow: 0 0 10px rgba(150, 150, 150, .3);
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
#items .sortable li {
|
||||
margin-left: 30px;
|
||||
margin-left: 0\9;
|
||||
position: relative;
|
||||
-webkit-transition: none;
|
||||
-moz-transition: none;
|
||||
-o-transition: none;
|
||||
transition: none;
|
||||
}
|
||||
#items .sortable li:after {
|
||||
top: 10px;
|
||||
z-index: 1;
|
||||
content: "";
|
||||
width: 10px;
|
||||
left: -20px;
|
||||
height: 10px;
|
||||
display: block;
|
||||
position: absolute;;
|
||||
border-width: 0 0 2px 2px;
|
||||
border-color: rgba(100, 100, 100, .5);
|
||||
border-style: solid;
|
||||
display: none\9; /* 用IE的去死 */
|
||||
}
|
||||
#items .sortable li:before {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: -20px;
|
||||
bottom: -15px;
|
||||
border-left: 2px solid rgb(226, 226, 226);
|
||||
box-shadow: 1px 1px 0px rgba(255, 255, 255, .4);
|
||||
display: none\9; /* 用IE的去死 */
|
||||
}
|
||||
#items .sortable li:last-child:before {
|
||||
bottom: auto;
|
||||
height: 20px;
|
||||
}
|
||||
#items .sortable li.collapsed > ol {
|
||||
display: none;
|
||||
}
|
||||
#items .sortable li.collapsed > .navbar {
|
||||
position: relative;
|
||||
margin-right: 8px;
|
||||
}
|
||||
#items .sortable li.collapsed > .navbar:before,
|
||||
#items .sortable li.collapsed > .navbar:after {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
left: 4px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 0;
|
||||
background-color: rgb(235, 235, 235);
|
||||
border: 1px solid rgb(221, 221, 221);
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
#items .sortable li.collapsed > .navbar:before {
|
||||
top: 1px;
|
||||
left: 1px;
|
||||
z-index: 1;
|
||||
background-color: rgb(241, 241, 241);
|
||||
}
|
||||
#items .sortable li.disabled .navbar .navbar-inner {
|
||||
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
|
||||
filter: alpha(opacity=40);
|
||||
opacity: .4;
|
||||
}
|
||||
#items .sortable li > .navbar .navbar-inner {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
#items .sortable .navbar .navbar-inner.active {
|
||||
border: 2px solid #3a87ad;
|
||||
}
|
||||
#items .sortable .navbar .navbar-inner .item-menu {
|
||||
display: none;
|
||||
padding: 0 10px;
|
||||
/*margin-left: 10px;*/
|
||||
line-height: 34px;
|
||||
position: relative;
|
||||
/*background-color: rgb(233, 233, 233);
|
||||
background-image: -moz-linear-gradient(top, rgb(224, 224, 224), rgb(238, 238, 238));
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(224, 224, 224)), to(rgb(238, 238, 238)));
|
||||
background-image: -webkit-linear-gradient(top, rgb(224, 224, 224), rgb(238, 238, 238));
|
||||
background-image: -o-linear-gradient(top, rgb(224, 224, 224), rgb(238, 238, 238));
|
||||
background-image: linear-gradient(to bottom, rgb(224, 224, 224), rgb(238, 238, 238));
|
||||
border-top: 1px solid rgb(213, 213, 213);
|
||||
border-bottom: 1px solid #FFFFFF;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;*/
|
||||
}
|
||||
#items .sortable .navbar .navbar-inner:hover .item-menu {
|
||||
display: inline-block!important;
|
||||
}
|
||||
#items .sortable li .navbar .brand {
|
||||
line-height: 14px;
|
||||
cursor: move;
|
||||
color: #DDDDDD;
|
||||
text-shadow: 0 -1px 0 rgba(0,0,0,.2);
|
||||
}
|
||||
#items .sortable li .navbar .brand:hover {
|
||||
color: #CCCCCC;
|
||||
text-shadow: 0 -1px 0 rgba(0,0,0,.5);
|
||||
}
|
||||
#items .sortable li .navbar .item-type {
|
||||
line-height: 14px;
|
||||
padding: 13px 0 12px;
|
||||
display: block;
|
||||
float: left;
|
||||
margin-left: -5px;
|
||||
font-size: 16px;
|
||||
font-weight: 200;
|
||||
}
|
||||
#items .sortable li .navbar .item-type.link {
|
||||
color: #51a351;
|
||||
}
|
||||
#items .sortable li .navbar .item-type.page {
|
||||
color: #2f96b4;
|
||||
}
|
||||
#items .sortable .placeholder {
|
||||
height: 40px;
|
||||
margin-bottom: 10px;
|
||||
border: 2px dashed #bce8f1;
|
||||
background-color: #d9edf7;
|
||||
-webkit-border-radius: 7px;
|
||||
-moz-border-radius: 7px;
|
||||
border-radius: 7px;
|
||||
}
|
||||
#items .sortable .mjs-nestedSortable-error {
|
||||
background: #f2dede;
|
||||
border-color: #eed3d7;
|
||||
}
|
||||
|
||||
|
||||
/* IE go dead */
|
||||
:root #items .sortable li {
|
||||
margin-left: 30px;
|
||||
}
|
||||
:root #items .sortable li:after,
|
||||
:root #items .sortable li:before {
|
||||
display: block\9;
|
||||
}
|
|
@ -0,0 +1,83 @@
|
|||
@charset "UTF-8";
|
||||
/*
|
||||
* jQuery File Upload UI Plugin CSS 7.4
|
||||
* https://github.com/blueimp/jQuery-File-Upload
|
||||
*
|
||||
* Copyright 2010, Sebastian Tschan
|
||||
* https://blueimp.net
|
||||
*
|
||||
* Licensed under the MIT license:
|
||||
* http://www.opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
.fileinput-button {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
float: left;
|
||||
margin-right: 4px;
|
||||
}
|
||||
.fileinput-button input {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
margin: 0;
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
transform: translate(-300px, 0) scale(4);
|
||||
font-size: 23px;
|
||||
direction: ltr;
|
||||
cursor: pointer;
|
||||
}
|
||||
.fileupload-buttonbar .btn,
|
||||
.fileupload-buttonbar .toggle {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.files .progress {
|
||||
width: 200px;
|
||||
}
|
||||
.progress-animated .bar {
|
||||
background: url(../img/progressbar.gif) !important;
|
||||
filter: none;
|
||||
}
|
||||
.fileupload-loading {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
width: 128px;
|
||||
height: 128px;
|
||||
background: url(../img/loading.gif) center no-repeat;
|
||||
display: none;
|
||||
}
|
||||
.fileupload-processing .fileupload-loading {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Fix for IE 6: */
|
||||
* html .fileinput-button {
|
||||
line-height: 24px;
|
||||
margin: 1px -3px 0 0;
|
||||
}
|
||||
|
||||
/* Fix for IE 7: */
|
||||
* + html .fileinput-button {
|
||||
padding: 2px 15px;
|
||||
margin: 1px 0 0 0;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.fileupload-buttonbar .toggle,
|
||||
.files .toggle,
|
||||
.files .btn span {
|
||||
display: none;
|
||||
}
|
||||
.files .preview * {
|
||||
width: 40px;
|
||||
}
|
||||
.files .name * {
|
||||
width: 80px;
|
||||
display: inline-block;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.files .progress {
|
||||
width: 20px;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,197 @@
|
|||
.main-forms fieldset {
|
||||
background-color: #FFFFFF;
|
||||
border: 1px solid #EDEDED;
|
||||
-webkit-border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
.main-forms fieldset .input-area {
|
||||
padding: 20px 20px 0;
|
||||
}
|
||||
.main-forms fieldset .input-area:after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: block;
|
||||
height: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
.main-forms fieldset .input-area .nav-name {
|
||||
float: left;
|
||||
width: 100px;
|
||||
padding-top: 5px;
|
||||
text-align: right;
|
||||
display: block;
|
||||
margin-bottom: 5px;
|
||||
font-size: 14px;
|
||||
font-weight: normal;
|
||||
line-height: 20px;
|
||||
}
|
||||
.main-forms fieldset .input-area .control-label {
|
||||
width: 100px;
|
||||
}
|
||||
.main-forms fieldset .input-area .controls {
|
||||
margin-left: 120px;
|
||||
}
|
||||
.main-forms fieldset .input-area .controls hr {
|
||||
margin: 5px 0 10px;
|
||||
}
|
||||
.main-forms fieldset .input-area .controls h5 {
|
||||
margin: 5px 0;
|
||||
}
|
||||
.main-forms fieldset .input-area .controls .file-link {
|
||||
margin-right: 10px;
|
||||
display: inline-block;
|
||||
width: 178px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.main-forms fieldset .input-area .controls .input-prepend {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.main-forms fieldset .input-area .controls .input-prepend a {
|
||||
text-decoration: none;
|
||||
color: #333333;
|
||||
}
|
||||
.main-forms fieldset .input-area .controls .input-prepend .tab-content > .active {
|
||||
display: inline-block;
|
||||
}
|
||||
.main-forms fieldset .input-area .controls .add-btn {
|
||||
margin: 3px 0;
|
||||
}
|
||||
.main-forms fieldset .input-area .fileupload {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.main-forms fieldset .input-area .datetimepick {
|
||||
margin-right: 5px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.main-forms fieldset .input-area .language-area .input-content .mceLayout {
|
||||
width: 100%!important;
|
||||
}
|
||||
.main-forms fieldset .input-area .module-nav,
|
||||
.main-forms fieldset .input-area .language-nav {
|
||||
margin: 0 0 20px;
|
||||
padding: 0 0 15px 120px;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
.main-forms fieldset .input-area .module-nav li,
|
||||
.main-forms fieldset .input-area .language-nav li {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.main-forms fieldset .input-area .module-nav li.active:before,
|
||||
.main-forms fieldset .input-area .module-nav li.active:after,
|
||||
.main-forms fieldset .input-area .language-nav li.active:before,
|
||||
.main-forms fieldset .input-area .language-nav li.active:after {
|
||||
display: block;
|
||||
height: 0px;
|
||||
width: 0px;
|
||||
position: absolute;
|
||||
bottom: -15px;
|
||||
left: 50%;
|
||||
margin-left: -5px;
|
||||
content: "";
|
||||
border-style: solid;
|
||||
border-width: 0 6px 6px 6px;
|
||||
border-color: transparent transparent #EDEDED transparent;
|
||||
z-index: 5
|
||||
}
|
||||
.main-forms fieldset .input-area .module-nav li.active:after {
|
||||
display: none;
|
||||
}
|
||||
.main-forms fieldset .input-area .language-nav li.active:after {
|
||||
bottom: -16px;
|
||||
margin-left: -4px;
|
||||
border-width: 0 5px 5px 5px;
|
||||
border-color: transparent transparent #FFFFFF transparent;
|
||||
}
|
||||
.main-forms fieldset .input-area .module-nav {
|
||||
margin-bottom: 0;
|
||||
border-bottom: none;
|
||||
}
|
||||
.main-forms fieldset .input-area .language-area,
|
||||
.main-forms fieldset .input-area .module-area {
|
||||
overflow: hidden;
|
||||
}
|
||||
.main-forms fieldset .input-area .module-area {
|
||||
padding-top: 20px;
|
||||
margin-bottom: 40px;
|
||||
background-color: #EDEDED;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.main-forms fieldset .form-actions {
|
||||
padding-left: 140px;
|
||||
margin: 0px;
|
||||
-webkit-border-radius: 0 0 9px 9px;
|
||||
-moz-border-radius: 0 0 9px 9px;
|
||||
border-radius: 0 0 9px 9px;
|
||||
}
|
||||
.main-forms fieldset .input-area .nav-scroll {
|
||||
margin-left: 120px;
|
||||
width:800px;
|
||||
position:relative;
|
||||
z-index:1;
|
||||
overflow:hidden;
|
||||
}
|
||||
.main-forms fieldset .input-area .nav-scroll .scroller {
|
||||
width: 1000px;
|
||||
height:100%;
|
||||
float:left;
|
||||
padding:0;
|
||||
}
|
||||
.main-forms fieldset .input-area .controls[data-toggle^="buttons-"] label {
|
||||
position: relative;
|
||||
margin: 0 0 5px;
|
||||
}
|
||||
.main-forms fieldset .input-area .controls[data-toggle^="buttons-"] input[type="radio"],
|
||||
.main-forms fieldset .input-area .controls[data-toggle^="buttons-"] input[type="checkbox"] {
|
||||
margin-left: 0;
|
||||
margin-top: 0;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block;
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
}
|
||||
.main-forms fieldset .input-area .question {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
|
||||
/* Responsive */
|
||||
@media (min-width: 768px) and (max-width: 979px) {
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.main-forms fieldset .input-area .nav-name {
|
||||
float: none;
|
||||
width: auto;
|
||||
padding-top: 0;
|
||||
text-align: left;
|
||||
}
|
||||
.main-forms fieldset .input-area .module-area {
|
||||
padding: 20px;
|
||||
}
|
||||
.main-forms fieldset .input-area .module-nav,
|
||||
.main-forms fieldset .input-area .language-nav {
|
||||
padding: 0 0 15px 0px;
|
||||
}
|
||||
.main-forms fieldset .form-actions {
|
||||
padding-right: 20px;
|
||||
padding-left: 20px;
|
||||
}
|
||||
.main-forms fieldset .input-area .control-label {
|
||||
width: auto;
|
||||
}
|
||||
.main-forms fieldset .input-area .controls {
|
||||
margin-left: 0;
|
||||
}
|
||||
.main-forms fieldset .form-actions {
|
||||
padding-left: 20px;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,184 @@
|
|||
/* Main List */
|
||||
.main-list {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.main-list tbody {
|
||||
border: 1px solid #dddddd;
|
||||
}
|
||||
.main-list thead {
|
||||
border: 1px solid #454545;
|
||||
}
|
||||
.main-list thead th {
|
||||
vertical-align: middle;
|
||||
background-color: #454545;
|
||||
white-space: nowrap;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.main-list tbody tr.disable td {
|
||||
color: #C5C5C5;
|
||||
background-color: #eeeeee;
|
||||
}
|
||||
.main-list tbody tr.disable td .label-info {
|
||||
background-color: #999999;
|
||||
}
|
||||
.main-list tbody tr.active td:first-child {
|
||||
position: relative;
|
||||
}
|
||||
.main-list tbody tr.active td:first-child:before {
|
||||
content: "";
|
||||
width: 0px;
|
||||
height: 0px;
|
||||
left: -21px;
|
||||
top: 50%;
|
||||
margin-top: -6px;
|
||||
position: absolute;
|
||||
border-style: solid;
|
||||
border-width: 6px 0 6px 6px;
|
||||
border-color: transparent transparent transparent #333333;
|
||||
}
|
||||
.main-list td {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
.main-list td.preview img {
|
||||
width: 100%;
|
||||
}
|
||||
.main-list td .banner-link {
|
||||
width: 100px;
|
||||
max-width: 120px;
|
||||
display: inline-block;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
.main-list td .file-list {
|
||||
display: inline-block;
|
||||
margin: 0 0 -6px;
|
||||
}
|
||||
.main-list td .file-list:after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: block;
|
||||
height: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
.main-list td .file-type {
|
||||
position: relative;
|
||||
list-style: none;
|
||||
float: left;
|
||||
display: inline-block;
|
||||
}
|
||||
.main-list td .file-type a {
|
||||
background-color: #A6A6A6;
|
||||
color: #FFFFFF;
|
||||
margin-right: 10px;
|
||||
padding: 2px 5px 2px 3px;
|
||||
border-radius: 3px;
|
||||
text-decoration: none;
|
||||
text-shadow: 0px -1px 0px rgba(100, 100, 100, .6);
|
||||
}
|
||||
.main-list td .file-type i,
|
||||
.main-forms fieldset .input-area .controls .file-type i {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-bottom: -1px;
|
||||
display: inline-block;
|
||||
}
|
||||
.main-list td .file-type[class^="type-"] i,
|
||||
.main-list td .file-type[class*=" type-"] i,
|
||||
.main-forms fieldset .input-area .controls .file-type[class*=" type-"] i,
|
||||
.main-forms fieldset .input-area .controls .file-type[class^="type-"] i {
|
||||
background-image: url(<%= asset_path 'file_type.png' %>);
|
||||
}
|
||||
.file-type.type-pdf i {background-position: 0px 0px;}
|
||||
.file-type.type-psd i {background-position: -16px 0px;}
|
||||
.file-type.type-ai i {background-position: -32px 0px;}
|
||||
.file-type.type-fla i {background-position: -48px 0px;}
|
||||
.file-type.type-in i {background-position: -64px 0px;}
|
||||
.file-type.type-acc i {background-position: 0px -16px;}
|
||||
.file-type.type-do i {background-position: -16px -16px;}
|
||||
.file-type.type-xl i {background-position: -32px -16px;}
|
||||
.file-type.type-pp i {background-position: -48px -16px;}
|
||||
.file-type.type-zip i {background-position: -64px -16px;}
|
||||
.file-type.type-txt i {background-position: 0px -32px;}
|
||||
.file-type.type-jp i {background-position: -16px -32px;}
|
||||
.file-type.type-gif i {background-position: -32px -32px;}
|
||||
.file-type.type-png i {background-position: -48px -32px;}
|
||||
.file-type.type-audio i {background-position: -64px -32px;}
|
||||
|
||||
.main-list td .quick-edit {
|
||||
height: 22px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
.main-list td .quick-edit .nav {
|
||||
display: none;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.main-list tr:hover .quick-edit .nav {
|
||||
display: block;
|
||||
}
|
||||
.main-list td .quick-edit .nav > li > a {
|
||||
padding-top: 4px;
|
||||
padding-bottom: 4px;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.main-list thead tr.sort-header th a {
|
||||
padding: 8px;
|
||||
margin: -8px;
|
||||
display: block;
|
||||
color: #FFFFFF;
|
||||
text-decoration: none;
|
||||
}
|
||||
.main-list thead tr.sort-header th.active a {
|
||||
padding-bottom: 4px;
|
||||
border-bottom: 4px solid #08c;
|
||||
}
|
||||
.main-list .footable-row-detail td {
|
||||
padding: 0;
|
||||
border-top: none;
|
||||
}
|
||||
.main-list .footable-row-detail td .footable-row-detail-inner {
|
||||
padding: 8px;
|
||||
position: relative;
|
||||
border-radius: 5px;
|
||||
margin: 0 8px 8px;
|
||||
background-color: #ededed;
|
||||
}
|
||||
.main-list .footable-row-detail td .footable-row-detail-inner:after {
|
||||
display: block;
|
||||
height: 0px;
|
||||
width: 0px;
|
||||
position: absolute;
|
||||
top: -6px;
|
||||
left: 50%;
|
||||
margin-left: -3px;
|
||||
content: "";
|
||||
border-style: solid;
|
||||
border-width: 0 6px 6px 6px;
|
||||
border-color: transparent transparent #ededed transparent;
|
||||
}
|
||||
.main-list .footable-row-detail td .footable-row-detail-inner div {
|
||||
margin: 10px 0;
|
||||
}
|
||||
#preview .preview {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
|
||||
/* For Retina */
|
||||
@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (max--moz-device-pixel-ratio: 2) {
|
||||
.main-list td .file-type[class^="type-"] i,
|
||||
.main-list td .file-type[class*=" type-"] i,
|
||||
.main-forms fieldset .input-area .controls .file-type[class*=" type-"] i,
|
||||
.main-forms fieldset .input-area .controls .file-type[class^="type-"] i {
|
||||
background-image: url(<%= asset_path 'file_type@2x.png' %>);
|
||||
background-size: 80px 48px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Responsive */
|
||||
@media (max-width: 480px) {
|
||||
.main-list td .quick-edit .nav {
|
||||
display: block;
|
||||
}
|
||||
}
|