Put new assets and use some old ones

This commit is contained in:
chris 2013-04-12 03:09:40 +08:00
parent 76b4356bc0
commit e4c33b443f
107 changed files with 38275 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

BIN
app/assets/images/flag.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 587 B

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -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

2167
app/assets/javascripts/basic/bootstrap.js vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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.
*
*/

View File

@ -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);

View File

@ -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();
});

View File

@ -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+'&amp;subNavBlockList=2')
}
}
};
}(window.jQuery);
// Local Storage
!function ($) {
sidebarState = function () {
window.localStorage.setItem('sidebarState', 1);
};
}(window.jQuery);

View File

@ -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]

View File

@ -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');
});
});

View File

@ -0,0 +1,3 @@
$(function(){
$('.main-list').footable();
});

View File

@ -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]);
}
}
}
});
});

View File

@ -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);

View File

@ -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();
});

Binary file not shown.

View File

@ -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();
});

View File

@ -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);

View File

@ -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;
}
});
});

View File

@ -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();
};

View File

@ -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();
});

View File

@ -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();
});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -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);

View File

@ -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);

View File

@ -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);

File diff suppressed because it is too large Load Diff

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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();
});
})

View File

@ -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,
});

View File

@ -0,0 +1,3 @@
$(function() {
$('#filter-input').fastLiveFilter('#tags-list', '.tags');
});

View File

@ -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();
});

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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));

View File

@ -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');
});
});
});

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -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

View File

@ -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

View File

@ -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
*/

View File

@ -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;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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;
}

View File

@ -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;
}
}

View File

@ -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"; }

View File

@ -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;
}

View File

@ -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;
}
}

1514
app/assets/stylesheets/icon-ie7.min.css vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

Some files were not shown because too many files have changed in this diff Show More