Updating AdminLTE to version 2.4.0

parent 0a8fdf5a
...@@ -8,68 +8,18 @@ Introduction ...@@ -8,68 +8,18 @@ Introduction
**AdminLTE** -- is a fully responsive admin template. Based on **[Bootstrap 3](https://github.com/twbs/bootstrap)** framework. Highly customizable and easy to use. Fits many screen resolutions from small mobile devices to large desktops. Check out the live preview now and see for yourself. **AdminLTE** -- is a fully responsive admin template. Based on **[Bootstrap 3](https://github.com/twbs/bootstrap)** framework. Highly customizable and easy to use. Fits many screen resolutions from small mobile devices to large desktops. Check out the live preview now and see for yourself.
**Download & Preview on [Almsaeed Studio](https://almsaeedstudio.com)** **Download & Preview on [AdminLTE.IO](https://adminlte.io)**
Looking for Premium Templates? ### Looking for Premium Templates?
------------------------------ **AdminLTE.IO just opened a new premium templates website. Hand picked to ensure the best quality and the most affordable prices. Visit https://themequarry.com for more information.**
**Almsaeed studio just opened a new premium templates page. Hand picked to insure the best quality and the most affordable prices. Visit https://almsaeedstudio.com/premium for more information.**
## Documentation & Installation Guide
Visit the [online documentation](https://adminlte.io/docs) for the most
updated guide.
!["AdminLTE Presentation"] (https://almsaeedstudio.com/AdminLTE2.png "AdminLTE Presentation") !["AdminLTE Presentation"](https://adminlte.io/AdminLTE2.png "AdminLTE Presentation")
**AdminLTE** has been carefully coded with clear comments in all of its JS, LESS and HTML files. LESS has been used to increase code customizability. ### Contribution
Installation
------------
There are multiple ways to install AdminLTE.
####Download:
Download from Github or [visit Almsaeed Studio](https://almsaeedstudio.com) and download the latest release.
####Using The Command Line:
**Github**
- Fork the repository ([here is the guide](https://help.github.com/articles/fork-a-repo/)).
- Clone to your machine
```
git clone https://github.com/YOUR_USERNAME/AdminLTE.git
```
**Bower**
```
bower install admin-lte
```
**npm**
```
npm install --save admin-lte
```
**Composer**
```
composer require "almasaeed2010/adminlte=~2.0"
```
Documentation
-------------
Visit the [online documentation](https://almsaeedstudio.com/themes/AdminLTE/documentation/index.html) for the most
updated guide. Information will be added on a weekly basis.
Browser Support
---------------
- IE 9+
- Firefox (latest)
- Chrome (latest)
- Safari (latest)
- Opera (latest)
Contribution
------------
Contribution are always **welcome and recommended**! Here is how: Contribution are always **welcome and recommended**! Here is how:
- Fork the repository ([here is the guide](https://help.github.com/articles/fork-a-repo/)). - Fork the repository ([here is the guide](https://help.github.com/articles/fork-a-repo/)).
...@@ -79,46 +29,29 @@ Contribution are always **welcome and recommended**! Here is how: ...@@ -79,46 +29,29 @@ Contribution are always **welcome and recommended**! Here is how:
#### Contribution Requirements: #### Contribution Requirements:
- When you contribute, you agree to give a non-exclusive license to Almsaeed Studio to use that contribution in any context as we (Almsaeed Studio) see appropriate. - When you contribute, you agree to give a non-exclusive license to AdminLTE.IO to use that contribution in any context as we (AdminLTE.IO) see appropriate.
- If you use content provided by another party, it must be appropriately licensed using an [open source](http://opensource.org/licenses) license. - If you use content provided by another party, it must be appropriately licensed using an [open source](http://opensource.org/licenses) license.
- Contributions are only accepted through Github pull requests. - Contributions are only accepted through Github pull requests.
- Finally, contributed code must work in all supported browsers (see above for browser support). - Finally, contributed code must work in all supported browsers (see above for browser support).
License ### License
------- AdminLTE is an open source project by [AdminLTE.IO](https://adminlte.io) that is licensed under [MIT](http://opensource.org/licenses/MIT). AdminLTE.IO
AdminLTE is an open source project by [Almsaeed Studio](https://almsaeedstudio.com) that is licensed under [MIT](http://opensource.org/licenses/MIT). Almsaeed Studio reserves the right to change the license of future releases. Wondering what you can or can't do? View the [license guide](https://adminlte.io/docs/license).
reserves the right to change the license of future releases.
Todo List
---------
- ~~Light sidebar colors~~ (Done v2.1.0)
- ~~Right sidebar~~ (Done v2.1.0)
- ~~Minified main-sidebar~~ (Done v2.1.0)
- Right to left support
- ~~Custom pace style~~ (Done v2.3.1)
Legacy Releases
----------------
AdminLTE 1.x can be easily upgraded to 2.x using [this guide](https://almsaeedstudio.com/themes/AdminLTE/documentation/index.html#upgrade), but if you intend to keep using AdminLTE 1.x, you can download the latest release from the [releases](https://github.com/almasaeed2010/AdminLTE/releases) section above.
Change log
----------
**For the most recent change log, visit the [releases page](https://github.com/almasaeed2010/AdminLTE/releases) or the [changelog file](https://github.com/almasaeed2010/AdminLTE/blob/master/changelog.md).** We will add a detailed release notes to each new release.
Image Credits
-------------
[Pixeden](http://www.pixeden.com/psd-web-elements/flat-responsive-showcase-psd)
[Graphicsfuel](http://www.graphicsfuel.com/2013/02/13-high-resolution-blur-backgrounds/)
[Pickaface](http://pickaface.net/) ### Legacy Releases
AdminLTE 1.x can be easily upgraded to 2.x using [this guide](https://adminlte.io/themes/AdminLTE/documentation/index.html#upgrade), but if you intend to keep using AdminLTE 1.x, you can download the latest release from the [releases](https://github.com/almasaeed2010/AdminLTE/releases) section above.
[Unsplash](https://unsplash.com/) ### Change log
**For the most recent change log, visit the [releases page](https://github.com/almasaeed2010/AdminLTE/releases) or the [changelog file](https://github.com/almasaeed2010/AdminLTE/blob/master/changelog.md).** We will add detailed release notes to each new release.
[Uifaces](http://uifaces.com/) ### Image Credits
- [Pixeden](http://www.pixeden.com/psd-web-elements/flat-responsive-showcase-psd)
- [Graphicsfuel](http://www.graphicsfuel.com/2013/02/13-high-resolution-blur-backgrounds/)
- [Pickaface](http://pickaface.net/)
- [Unsplash](https://unsplash.com/)
- [Uifaces](http://uifaces.com/)
Donations ### Donations
---------
Donations are **greatly appreciated!** Donations are **greatly appreciated!**
[![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif "AdminLTE Presentation")](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=629XCUSXBHCBC "Donate") [![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif "AdminLTE Presentation")](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=629XCUSXBHCBC "Donate")
$(function () {
'use strict'
$.get('/adsync', function (response) {
var col = $('<div />').html(response)
$('.content-wrapper .content').append(col)
})
$(document).on('click', '.ad-click-event', function (e) {
e.preventDefault()
var category = 'Premium Template'
var action = ''
if ($(e.target).is('img')) {
action = 'Image Buy Now'
} else {
action = $(this).text().toLowerCase().indexOf('buy') > -1 ? 'Buy Now' : 'Preview'
}
var label = $(this).attr('href')
var went = false
function go() {
if (!went) {
went = true
window.location.href = label
}
}
setTimeout(go, 500)
ga('send', 'event', {
eventCategory: category,
eventAction : action,
eventLabel : label,
transport : 'beacon',
hitCallback : go,
dimension1 : window.location.pathname + window.location.search + window.location.hash,
dimension2 : window.location.host
})
})
})
$(function () {
'use strict'
var i = $('<i />', { 'class': 'fa fa-star-o' })
i.css('color', '#fff')
var a = $('<a />', { href: 'https://themequarry.com' })
a.append(i)
var span = $('<span />')
span.append('Premium Templates')
span.css('color', '#fff')
a.append(span)
var li = $('<li />', { 'class': 'bg-green' })
li.append(a)
li.on('mouseover', function () {
$(this).find('a').first().css('background-color', '#008d4c')
$(this).find('.fa').removeClass('fa-star-o').addClass('fa-star')
})
li.on('mouseout', function () {
$(this).find('a').first().css('background-color', '#00a65a')
$(this).find('.fa').removeClass('fa-star').addClass('fa-star-o')
})
$('.sidebar-menu').append(li)
})
$(function () {
'use strict'
var ds = window.localStorage
if (ds && ds.getItem('no_show') != null) {
return
}
/**
* Create ThemeQuarry ad
*/
var wrapper_css = {
'padding' : '20px 30px',
'background' : '#f39c12',
'display' : 'none',
'z-index' : '999999',
'font-size' : '16px',
'font-weight': 600
}
var link_css = {
'color' : 'rgba(255, 255, 255, 0.9)',
'display' : 'inline-block',
'margin-right' : '10px',
'text-decoration': 'none'
}
var link_hover_css = {
'text-decoration': 'underline',
'color' : '#f9f9f9'
}
var btn_css = {
'margin-top' : '-5px',
'border' : '0',
'box-shadow' : 'none',
'color' : '#f39c12',
'font-weight': '600',
'background' : '#fff'
}
var close_css = {
'color' : '#fff',
'font-size': '20px'
}
var wrapper = $('<div />').css(wrapper_css)
var link = $('<a />', { href: 'https://themequarry.com' })
.html('Ready to sell your theme? Submit your theme to our new marketplace now and let over 200k visitors see it!')
.css(link_css)
.hover(function () {
$(this).css(link_hover_css)
}, function () {
$(this).css(link_css)
})
var btn = $('<a />', {
'class': 'btn btn-default btn-sm',
href : 'https://themequarry.com'
}).html('Let\'s Do It!').css(btn_css)
var close = $('<a />', {
'class' : 'pull-right',
href : '#',
'data-toggle' : 'tooltip',
'data-placement': 'left',
'title' : 'Never show me this again!'
}).html('&times;')
.css(close_css)
.click(function (e) {
e.preventDefault()
$(wrapper).slideUp()
if (ds) {
ds.setItem('no_show', true)
}
})
wrapper.append(close)
wrapper.append(link)
wrapper.append(btn)
$('.content-wrapper').prepend(wrapper)
wrapper.hide(4).delay(500).slideDown()
});
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date()
a = s.createElement(o),
m = s.getElementsByTagName(o)[0]
a.async = 1
a.src = g
m.parentNode.insertBefore(a, m)
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga')
ga('create', 'UA-46680343-1', 'auto')
ga('send', 'pageview')
\ No newline at end of file
{ {
"name": "AdminLTE", "name": "admin-lte",
"homepage": "http://almsaeedstudio.com", "homepage": "https://adminlte.io",
"authors": [ "authors": [
"Abdullah Almsaeed <abdullah@almsaeedstudio.com>" "Abdullah Almsaeed <abdullah@almsaeedstudio.com>"
], ],
...@@ -29,5 +29,34 @@ ...@@ -29,5 +29,34 @@
"bower_components", "bower_components",
"composer.json", "composer.json",
"documentation" "documentation"
] ],
"dependencies": {
"bootstrap-slider": "*",
"chart.js": "1.0.*",
"ckeditor": "^4.7.0",
"bootstrap-colorpicker": "^2.5.1",
"bootstrap": "^3.3.7",
"jquery": "^3.2.1",
"datatables.net": "^1.10.15",
"datatables.net-bs": "^2.1.1",
"bootstrap-datepicker": "^1.7.0",
"bootstrap-daterangepicker": "^2.1.25",
"moment": "^2.18.1",
"fastclick": "^1.0.6",
"Flot": "flot#^0.8.3",
"fullcalendar": "^3.4.0",
"inputmask": "jquery.inputmask#^3.3.7",
"ion.rangeSlider": "ionrangeslider#^2.2.0",
"jvectormap": "^2.0.4",
"jquery-knob": "^1.2.13",
"morris.js": "^0.5.1",
"PACE": "pace#^1.0.2",
"select2": "^4.0.3",
"jquery-slimscroll": "slimscroll#^1.3.8",
"bootstrap-timepicker": "^0.5.2",
"jquery-sparkline": "^2.1.3",
"font-awesome": "^4.7.0",
"Ionicons": "ionicons#^2.0.1",
"jquery-ui": "1.11.4"
}
} }
{
"extends" : "../js/.jshintrc",
"asi" : false,
"browser" : false,
"es3" : false,
"node" : true
}
\ No newline at end of file
{
"disallowEmptyBlocks": true,
"disallowKeywords": ["with"],
"disallowMixedSpacesAndTabs": true,
"disallowMultipleLineStrings": true,
"disallowMultipleVarDecl": true,
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
"disallowSpaceBeforeBinaryOperators": [","],
"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
"disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
"disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
"disallowSpacesInsideArrayBrackets": true,
"disallowSpacesInsideParentheses": true,
"disallowTrailingComma": true,
"disallowTrailingWhitespace": true,
"requireCamelCaseOrUpperCaseIdentifiers": true,
"requireCapitalizedConstructors": true,
"requireCommaBeforeLineBreak": true,
"requireDollarBeforejQueryAssignment": true,
"requireDotNotation": true,
"requireLineFeedAtFileEnd": true,
"requirePaddingNewLinesAfterUseStrict": true,
"requirePaddingNewLinesBeforeExport": true,
"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", "<", ">=", "<="],
"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch"],
"requireSpaceAfterLineComment": true,
"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", "<", ">=", "<="],
"requireSpaceBetweenArguments": true,
"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningCurlyBrace": true, "beforeOpeningRoundBrace": true },
"requireSpacesInConditionalExpression": true,
"requireSpacesInForStatement": true,
"requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
"requireSpacesInFunctionExpression": { "beforeOpeningCurlyBrace": true },
"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
"requireSpacesInsideObjectBrackets": "allButNested",
"validateAlignedFunctionParameters": true,
"validateIndentation": 2,
"validateLineBreaks": "LF",
"validateNewlineAfterArrayElements": true,
"validateQuoteMarks": "'",
"maxErrors": "3000"
}
\ No newline at end of file
{
"asi" : true,
"browser" : true,
"eqeqeq" : false,
"eqnull" : true,
"es3" : true,
"expr" : true,
"jquery" : true,
"latedef" : true,
"laxbreak" : true,
"nonbsp" : true,
"strict" : true,
"undef" : true,
"unused" : true,
// External variabls and plugins
"predef": [ "AdminLTEOptions", "FastClick", "moment", "Morris", "Chart" ]
}
/* BoxRefresh()
* =========
* Adds AJAX content control to a box.
*
* @Usage: $('#my-box').boxRefresh(options)
* or add [data-widget="box-refresh"] to the box element
* Pass any option as data-option="value"
*/
+function ($) {
'use strict'
var DataKey = 'lte.boxrefresh'
var Default = {
source : '',
params : {},
trigger : '.refresh-btn',
content : '.box-body',
loadInContent : true,
responseType : '',
overlayTemplate: '<div class="overlay"><div class="fa fa-refresh fa-spin"></div></div>',
onLoadStart : function () {
},
onLoadDone : function (response) {
return response
}
}
var Selector = {
data: '[data-widget="box-refresh"]'
}
// BoxRefresh Class Definition
// =========================
var BoxRefresh = function (element, options) {
this.element = element
this.options = options
this.$overlay = $(options.overlay)
if (options.source === '') {
throw new Error('Source url was not defined. Please specify a url in your BoxRefresh source option.')
}
this._setUpListeners()
this.load()
}
BoxRefresh.prototype.load = function () {
this._addOverlay()
this.options.onLoadStart.call($(this))
$.get(this.options.source, this.options.params, function (response) {
if (this.options.loadInContent) {
$(this.options.content).html(response)
}
this.options.onLoadDone.call($(this), response)
this._removeOverlay()
}.bind(this), this.options.responseType !== '' && this.options.responseType)
}
// Private
BoxRefresh.prototype._setUpListeners = function () {
$(this.element).on('click', Selector.trigger, function (event) {
if (event) event.preventDefault()
this.load()
}.bind(this))
}
BoxRefresh.prototype._addOverlay = function () {
$(this.element).append(this.$overlay)
}
BoxRefresh.prototype._removeOverlay = function () {
$(this.element).remove(this.$overlay)
}
// Plugin Definition
// =================
function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data(DataKey)
if (!data) {
var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
$this.data(DataKey, (data = new BoxRefresh($this, options)))
}
if (typeof data == 'string') {
if (typeof data[option] == 'undefined') {
throw new Error('No method named ' + option)
}
data[option]()
}
})
}
var old = $.fn.boxRefresh
$.fn.boxRefresh = Plugin
$.fn.boxRefresh.Constructor = BoxRefresh
// No Conflict Mode
// ================
$.fn.boxRefresh.noConflict = function () {
$.fn.boxRefresh = old
return this
}
// BoxRefresh Data API
// =================
$(window).on('load', function () {
$(Selector.data).each(function () {
Plugin.call($(this))
})
})
}(jQuery)
/* BoxWidget()
* ======
* Adds box widget functions to boxes.
*
* @Usage: $('.my-box').boxWidget(options)
* This plugin auto activates on any element using the `.box` class
* Pass any option as data-option="value"
*/
+function ($) {
'use strict'
var DataKey = 'lte.boxwidget'
var Default = {
animationSpeed : 500,
collapseTrigger: '[data-widget="collapse"]',
removeTrigger : '[data-widget="remove"]',
collapseIcon : 'fa-minus',
expandIcon : 'fa-plus',
removeIcon : 'fa-times'
}
var Selector = {
data : '.box',
collapsed: '.collapsed-box',
body : '.box-body',
footer : '.box-footer',
tools : '.box-tools'
}
var ClassName = {
collapsed: 'collapsed-box'
}
var Event = {
collapsed: 'collapsed.boxwidget',
expanded : 'expanded.boxwidget',
removed : 'removed.boxwidget'
}
// BoxWidget Class Definition
// =====================
var BoxWidget = function (element, options) {
this.element = element
this.options = options
this._setUpListeners()
}
BoxWidget.prototype.toggle = function () {
var isOpen = !$(this.element).is(Selector.collapsed)
if (isOpen) {
this.collapse()
} else {
this.expand()
}
}
BoxWidget.prototype.expand = function () {
var expandedEvent = $.Event(Event.expanded)
var collapseIcon = this.options.collapseIcon
var expandIcon = this.options.expandIcon
$(this.element).removeClass(ClassName.collapsed)
$(this.element)
.find(Selector.tools)
.find('.' + expandIcon)
.removeClass(expandIcon)
.addClass(collapseIcon)
$(this.element).find(Selector.body + ', ' + Selector.footer)
.slideDown(this.options.animationSpeed, function () {
$(this.element).trigger(expandedEvent)
}.bind(this))
}
BoxWidget.prototype.collapse = function () {
var collapsedEvent = $.Event(Event.collapsed)
var collapseIcon = this.options.collapseIcon
var expandIcon = this.options.expandIcon
$(this.element)
.find(Selector.tools)
.find('.' + collapseIcon)
.removeClass(collapseIcon)
.addClass(expandIcon)
$(this.element).find(Selector.body + ', ' + Selector.footer)
.slideUp(this.options.animationSpeed, function () {
$(this.element).addClass(ClassName.collapsed)
$(this.element).trigger(collapsedEvent)
}.bind(this))
}
BoxWidget.prototype.remove = function () {
var removedEvent = $.Event(Event.removed)
$(this.element).slideUp(this.options.animationSpeed, function () {
$(this.element).trigger(removedEvent)
$(this.element).remove()
}.bind(this))
}
// Private
BoxWidget.prototype._setUpListeners = function () {
var that = this
$(this.element).on('click', this.options.collapseTrigger, function (event) {
if (event) event.preventDefault()
that.toggle()
})
$(this.element).on('click', this.options.removeTrigger, function (event) {
if (event) event.preventDefault()
that.remove()
})
}
// Plugin Definition
// =================
function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data(DataKey)
if (!data) {
var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
$this.data(DataKey, (data = new BoxWidget($this, options)))
}
if (typeof option == 'string') {
if (typeof data[option] == 'undefined') {
throw new Error('No method named ' + option)
}
data[option]()
}
})
}
var old = $.fn.boxWidget
$.fn.boxWidget = Plugin
$.fn.boxWidget.Constructor = BoxWidget
// No Conflict Mode
// ================
$.fn.boxWidget.noConflict = function () {
$.fn.boxWidget = old
return this
}
// BoxWidget Data API
// ==================
$(window).on('load', function () {
$(Selector.data).each(function () {
Plugin.call($(this))
})
})
}(jQuery)
/* ControlSidebar()
* ===============
* Toggles the state of the control sidebar
*
* @Usage: $('#control-sidebar-trigger').controlSidebar(options)
* or add [data-toggle="control-sidebar"] to the trigger
* Pass any option as data-option="value"
*/
+function ($) {
'use strict'
var DataKey = 'lte.controlsidebar'
var Default = {
slide: true
}
var Selector = {
sidebar: '.control-sidebar',
data : '[data-toggle="control-sidebar"]',
open : '.control-sidebar-open',
bg : '.control-sidebar-bg',
wrapper: '.wrapper',
content: '.content-wrapper',
boxed : '.layout-boxed'
}
var ClassName = {
open : 'control-sidebar-open',
fixed: 'fixed'
}
var Event = {
collapsed: 'collapsed.controlsidebar',
expanded : 'expanded.controlsidebar'
}
// ControlSidebar Class Definition
// ===============================
var ControlSidebar = function (element, options) {
this.element = element
this.options = options
this.hasBindedResize = false
this.init()
}
ControlSidebar.prototype.init = function () {
// Add click listener if the element hasn't been
// initialized using the data API
if (!$(this.element).is(Selector.data)) {
$(this).on('click', this.toggle)
}
this.fix()
$(window).resize(function () {
this.fix()
}.bind(this))
}
ControlSidebar.prototype.toggle = function (event) {
if (event) event.preventDefault()
this.fix()
if (!$(Selector.sidebar).is(Selector.open) && !$('body').is(Selector.open)) {
this.expand()
} else {
this.collapse()
}
}
ControlSidebar.prototype.expand = function () {
if (!this.options.slide) {
$('body').addClass(ClassName.open)
} else {
$(Selector.sidebar).addClass(ClassName.open)
}
$(this.element).trigger($.Event(Event.expanded))
}
ControlSidebar.prototype.collapse = function () {
$('body, ' + Selector.sidebar).removeClass(ClassName.open)
$(this.element).trigger($.Event(Event.collapsed))
}
ControlSidebar.prototype.fix = function () {
if ($('body').is(Selector.boxed)) {
this._fixForBoxed($(Selector.bg))
}
}
// Private
ControlSidebar.prototype._fixForBoxed = function (bg) {
bg.css({
position: 'absolute',
height : $(Selector.wrapper).height()
})
}
// Plugin Definition
// =================
function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data(DataKey)
if (!data) {
var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
$this.data(DataKey, (data = new ControlSidebar($this, options)))
}
if (typeof option == 'string') data.toggle()
})
}
var old = $.fn.controlSidebar
$.fn.controlSidebar = Plugin
$.fn.controlSidebar.Constructor = ControlSidebar
// No Conflict Mode
// ================
$.fn.controlSidebar.noConflict = function () {
$.fn.controlSidebar = old
return this
}
// ControlSidebar Data API
// =======================
$(document).on('click', Selector.data, function (event) {
if (event) event.preventDefault()
Plugin.call($(this), 'toggle')
})
}(jQuery)
/* DirectChat()
* ===============
* Toggles the state of the control sidebar
*
* @Usage: $('#my-chat-box').directChat()
* or add [data-widget="direct-chat"] to the trigger
*/
+function ($) {
'use strict'
var DataKey = 'lte.directchat'
var Selector = {
data: '[data-widget="chat-pane-toggle"]',
box : '.direct-chat'
}
var ClassName = {
open: 'direct-chat-contacts-open'
}
// DirectChat Class Definition
// ===========================
var DirectChat = function (element) {
this.element = element
}
DirectChat.prototype.toggle = function ($trigger) {
$trigger.parents(Selector.box).first().toggleClass(ClassName.open)
}
// Plugin Definition
// =================
function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data(DataKey)
if (!data) {
$this.data(DataKey, (data = new DirectChat($this)))
}
if (typeof option == 'string') data.toggle($this)
})
}
var old = $.fn.directChat
$.fn.directChat = Plugin
$.fn.directChat.Constructor = DirectChat
// No Conflict Mode
// ================
$.fn.directChat.noConflict = function () {
$.fn.directChat = old
return this
}
// DirectChat Data API
// ===================
$(document).on('click', Selector.data, function (event) {
if (event) event.preventDefault()
Plugin.call($(this), 'toggle')
})
}(jQuery)
/* Layout()
* ========
* Implements AdminLTE layout.
* Fixes the layout height in case min-height fails.
*
* @usage activated automatically upon window load.
* Configure any options by passing data-option="value"
* to the body tag.
*/
+function ($) {
'use strict'
var DataKey = 'lte.layout'
var Default = {
slimscroll : true,
resetHeight: true
}
var Selector = {
wrapper : '.wrapper',
contentWrapper: '.content-wrapper',
layoutBoxed : '.layout-boxed',
mainFooter : '.main-footer',
mainHeader : '.main-header',
sidebar : '.sidebar',
controlSidebar: '.control-sidebar',
fixed : '.fixed',
sidebarMenu : '.sidebar-menu',
logo : '.main-header .logo'
}
var ClassName = {
fixed : 'fixed',
holdTransition: 'hold-transition'
}
var Layout = function (options) {
this.options = options
this.bindedResize = false
this.activate()
}
Layout.prototype.activate = function () {
this.fix()
this.fixSidebar()
$('body').removeClass(ClassName.holdTransition)
if (this.options.resetHeight) {
$('body, html, ' + Selector.wrapper).css({
'height' : 'auto',
'min-height': '100%'
})
}
if (!this.bindedResize) {
$(window).resize(function () {
this.fix()
this.fixSidebar()
$(Selector.logo + ', ' + Selector.sidebar).one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function () {
this.fix()
this.fixSidebar()
}.bind(this))
}.bind(this))
this.bindedResize = true
}
$(Selector.sidebarMenu).on('expanded.tree', function () {
this.fix()
this.fixSidebar()
}.bind(this))
$(Selector.sidebarMenu).on('collapsed.tree', function () {
this.fix()
this.fixSidebar()
}.bind(this))
}
Layout.prototype.fix = function () {
// Remove overflow from .wrapper if layout-boxed exists
$(Selector.layoutBoxed + ' > ' + Selector.wrapper).css('overflow', 'hidden')
// Get window height and the wrapper height
var footerHeight = $(Selector.mainFooter).outerHeight() || 0
var neg = $(Selector.mainHeader).outerHeight() + footerHeight
var windowHeight = $(window).height()
var sidebarHeight = $(Selector.sidebar).height() || 0
// Set the min-height of the content and sidebar based on
// the height of the document.
if ($('body').hasClass(ClassName.fixed)) {
$(Selector.contentWrapper).css('min-height', windowHeight - footerHeight)
} else {
var postSetHeight
if (windowHeight >= sidebarHeight) {
$(Selector.contentWrapper).css('min-height', windowHeight - neg)
postSetHeight = windowHeight - neg
} else {
$(Selector.contentWrapper).css('min-height', sidebarHeight)
postSetHeight = sidebarHeight
}
// Fix for the control sidebar height
var $controlSidebar = $(Selector.controlSidebar)
if (typeof $controlSidebar !== 'undefined') {
if ($controlSidebar.height() > postSetHeight)
$(Selector.contentWrapper).css('min-height', $controlSidebar.height())
}
}
}
Layout.prototype.fixSidebar = function () {
// Make sure the body tag has the .fixed class
if (!$('body').hasClass(ClassName.fixed)) {
if (typeof $.fn.slimScroll !== 'undefined') {
$(Selector.sidebar).slimScroll({ destroy: true }).height('auto')
}
return
}
// Enable slimscroll for fixed layout
if (this.options.slimscroll) {
if (typeof $.fn.slimScroll !== 'undefined') {
// Destroy if it exists
$(Selector.sidebar).slimScroll({ destroy: true }).height('auto')
// Add slimscroll
$(Selector.sidebar).slimScroll({
height: ($(window).height() - $(Selector.mainHeader).height()) + 'px',
color : 'rgba(0,0,0,0.2)',
size : '3px'
})
}
}
}
// Plugin Definition
// =================
function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data(DataKey)
if (!data) {
var options = $.extend({}, Default, $this.data(), typeof option === 'object' && option)
$this.data(DataKey, (data = new Layout(options)))
}
if (typeof option === 'string') {
if (typeof data[option] === 'undefined') {
throw new Error('No method named ' + option)
}
data[option]()
}
})
}
var old = $.fn.layout
$.fn.layout = Plugin
$.fn.layout.Constuctor = Layout
// No conflict mode
// ================
$.fn.layout.noConflict = function () {
$.fn.layout = old
return this
}
// Layout DATA-API
// ===============
$(window).on('load', function () {
Plugin.call($('body'))
})
}(jQuery)
/* PushMenu()
* ==========
* Adds the push menu functionality to the sidebar.
*
* @usage: $('.btn').pushMenu(options)
* or add [data-toggle="push-menu"] to any button
* Pass any option as data-option="value"
*/
+function ($) {
'use strict'
var DataKey = 'lte.pushmenu'
var Default = {
collapseScreenSize : 767,
expandOnHover : false,
expandTransitionDelay: 200
}
var Selector = {
collapsed : '.sidebar-collapse',
open : '.sidebar-open',
mainSidebar : '.main-sidebar',
contentWrapper: '.content-wrapper',
searchInput : '.sidebar-form .form-control',
button : '[data-toggle="push-menu"]',
mini : '.sidebar-mini',
expanded : '.sidebar-expanded-on-hover',
layoutFixed : '.fixed'
}
var ClassName = {
collapsed : 'sidebar-collapse',
open : 'sidebar-open',
mini : 'sidebar-mini',
expanded : 'sidebar-expanded-on-hover',
expandFeature: 'sidebar-mini-expand-feature',
layoutFixed : 'fixed'
}
var Event = {
expanded : 'expanded.pushMenu',
collapsed: 'collapsed.pushMenu'
}
// PushMenu Class Definition
// =========================
var PushMenu = function (options) {
this.options = options
this.init()
}
PushMenu.prototype.init = function () {
if (this.options.expandOnHover
|| ($('body').is(Selector.mini + Selector.layoutFixed))) {
this.expandOnHover()
$('body').addClass(ClassName.expandFeature)
}
$(Selector.contentWrapper).click(function () {
// Enable hide menu when clicking on the content-wrapper on small screens
if ($(window).width() <= this.options.collapseScreenSize && $('body').hasClass(ClassName.open)) {
this.close()
}
}.bind(this))
// __Fix for android devices
$(Selector.searchInput).click(function (e) {
e.stopPropagation()
})
}
PushMenu.prototype.toggle = function () {
var windowWidth = $(window).width()
var isOpen = !$('body').hasClass(ClassName.collapsed)
if (windowWidth <= this.options.collapseScreenSize) {
isOpen = $('body').hasClass(ClassName.open)
}
if (!isOpen) {
this.open()
} else {
this.close()
}
}
PushMenu.prototype.open = function () {
var windowWidth = $(window).width()
if (windowWidth > this.options.collapseScreenSize) {
$('body').removeClass(ClassName.collapsed)
.trigger($.Event(Event.expanded))
}
else {
$('body').addClass(ClassName.open)
.trigger($.Event(Event.expanded))
}
}
PushMenu.prototype.close = function () {
var windowWidth = $(window).width()
if (windowWidth > this.options.collapseScreenSize) {
$('body').addClass(ClassName.collapsed)
.trigger($.Event(Event.collapsed))
} else {
$('body').removeClass(ClassName.open + ' ' + ClassName.collapsed)
.trigger($.Event(Event.collapsed))
}
}
PushMenu.prototype.expandOnHover = function () {
$(Selector.mainSidebar).hover(function () {
if ($('body').is(Selector.mini + Selector.collapsed)
&& $(window).width() > this.options.collapseScreenSize) {
this.expand()
}
}.bind(this), function () {
if ($('body').is(Selector.expanded)) {
this.collapse()
}
}.bind(this))
}
PushMenu.prototype.expand = function () {
setTimeout(function () {
$('body').removeClass(ClassName.collapsed)
.addClass(ClassName.expanded)
}, this.options.expandTransitionDelay)
}
PushMenu.prototype.collapse = function () {
setTimeout(function () {
$('body').removeClass(ClassName.expanded)
.addClass(ClassName.collapsed)
}, this.options.expandTransitionDelay)
}
// PushMenu Plugin Definition
// ==========================
function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data(DataKey)
if (!data) {
var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
$this.data(DataKey, (data = new PushMenu(options)))
}
if (option == 'toggle') data.toggle()
})
}
var old = $.fn.pushMenu
$.fn.pushMenu = Plugin
$.fn.pushMenu.Constructor = PushMenu
// No Conflict Mode
// ================
$.fn.pushMenu.noConflict = function () {
$.fn.pushMenu = old
return this
}
// Data API
// ========
$(document).on('click', Selector.button, function (e) {
e.preventDefault()
Plugin.call($(this), 'toggle')
})
$(window).on('load', function () {
Plugin.call($(Selector.button))
})
}(jQuery)
/* TodoList()
* =========
* Converts a list into a todoList.
*
* @Usage: $('.my-list').todoList(options)
* or add [data-widget="todo-list"] to the ul element
* Pass any option as data-option="value"
*/
+function ($) {
'use strict'
var DataKey = 'lte.todolist'
var Default = {
onCheck : function (item) {
return item
},
onUnCheck: function (item) {
return item
}
}
var Selector = {
data: '[data-widget="todo-list"]'
}
var ClassName = {
done: 'done'
}
// TodoList Class Definition
// =========================
var TodoList = function (element, options) {
this.element = element
this.options = options
this._setUpListeners()
}
TodoList.prototype.toggle = function (item) {
item.parents(Selector.li).first().toggleClass(ClassName.done)
if (!item.prop('checked')) {
this.unCheck(item)
return
}
this.check(item)
}
TodoList.prototype.check = function (item) {
this.options.onCheck.call(item)
}
TodoList.prototype.unCheck = function (item) {
this.options.onUnCheck.call(item)
}
// Private
TodoList.prototype._setUpListeners = function () {
var that = this
$(this.element).on('change ifChanged', 'input:checkbox', function () {
that.toggle($(this))
})
}
// Plugin Definition
// =================
function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data(DataKey)
if (!data) {
var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
$this.data(DataKey, (data = new TodoList($this, options)))
}
if (typeof data == 'string') {
if (typeof data[option] == 'undefined') {
throw new Error('No method named ' + option)
}
data[option]()
}
})
}
var old = $.fn.todoList
$.fn.todoList = Plugin
$.fn.todoList.Constructor = TodoList
// No Conflict Mode
// ================
$.fn.todoList.noConflict = function () {
$.fn.todoList = old
return this
}
// TodoList Data API
// =================
$(window).on('load', function () {
$(Selector.data).each(function () {
Plugin.call($(this))
})
})
}(jQuery)
/* Tree()
* ======
* Converts a nested list into a multilevel
* tree view menu.
*
* @Usage: $('.my-menu').tree(options)
* or add [data-widget="tree"] to the ul element
* Pass any option as data-option="value"
*/
+function ($) {
'use strict'
var DataKey = 'lte.tree'
var Default = {
animationSpeed: 500,
accordion : true,
followLink : false,
trigger : '.treeview a'
}
var Selector = {
tree : '.tree',
treeview : '.treeview',
treeviewMenu: '.treeview-menu',
open : '.menu-open, .active',
li : 'li',
data : '[data-widget="tree"]',
active : '.active'
}
var ClassName = {
open: 'menu-open',
tree: 'tree'
}
var Event = {
collapsed: 'collapsed.tree',
expanded : 'expanded.tree'
}
// Tree Class Definition
// =====================
var Tree = function (element, options) {
this.element = element
this.options = options
$(this.element).addClass(ClassName.tree)
$(Selector.treeview + Selector.active, this.element).addClass(ClassName.open)
this._setUpListeners()
}
Tree.prototype.toggle = function (link, event) {
var treeviewMenu = link.next(Selector.treeviewMenu)
var parentLi = link.parent()
var isOpen = parentLi.hasClass(ClassName.open)
if (!parentLi.is(Selector.treeview)) {
return
}
if (!this.options.followLink || link.attr('href') == '#') {
event.preventDefault()
}
if (isOpen) {
this.collapse(treeviewMenu, parentLi)
} else {
this.expand(treeviewMenu, parentLi)
}
}
Tree.prototype.expand = function (tree, parent) {
var expandedEvent = $.Event(Event.expanded)
if (this.options.accordion) {
var openMenuLi = parent.siblings(Selector.open)
var openTree = openMenuLi.children(Selector.treeviewMenu)
this.collapse(openTree, openMenuLi)
}
parent.addClass(ClassName.open)
tree.slideDown(this.options.animationSpeed, function () {
$(this.element).trigger(expandedEvent)
}.bind(this))
}
Tree.prototype.collapse = function (tree, parentLi) {
var collapsedEvent = $.Event(Event.collapsed)
tree.find(Selector.open).removeClass(ClassName.open)
parentLi.removeClass(ClassName.open)
tree.slideUp(this.options.animationSpeed, function () {
tree.find(Selector.open + ' > ' + Selector.treeview).slideUp()
$(this.element).trigger(collapsedEvent)
}.bind(this))
}
// Private
Tree.prototype._setUpListeners = function () {
var that = this
$(this.element).on('click', this.options.trigger, function (event) {
that.toggle($(this), event)
})
}
// Plugin Definition
// =================
function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data(DataKey)
if (!data) {
var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
$this.data(DataKey, new Tree($this, options))
}
})
}
var old = $.fn.tree
$.fn.tree = Plugin
$.fn.tree.Constructor = Tree
// No Conflict Mode
// ================
$.fn.tree.noConflict = function () {
$.fn.tree = old
return this
}
// Tree Data API
// =============
$(window).on('load', function () {
$(Selector.data).each(function () {
Plugin.call($(this))
})
})
}(jQuery)
/*! /*!
* AdminLTE v2.3.5 Without Third-Party Plugins * AdminLTE v2.4.0 Without Third-Party Plugins
* Author: Almsaeed Studio * Author: Almsaeed Studio
* Website: Almsaeed Studio <http://almsaeedstudio.com> * Website: Almsaeed Studio <https://adminlte.io>
* License: Open source - MIT * License: Open source - MIT
* Please visit http://opensource.org/licenses/MIT for more information * Please visit http://opensource.org/licenses/MIT for more information
!*/ !*/
//google fonts
@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic);
//Bootstrap Variables & Mixins //Bootstrap Variables & Mixins
//The core bootstrap code have not been modified. These files //The core bootstrap code have not been modified. These files
//are included only for reference. //are included only for reference.
@import (reference) "../bootstrap-less/mixins.less"; @import (reference) "../../bower_components/bootstrap/less/mixins";
@import (reference) "../bootstrap-less/variables.less"; @import (reference) "../../bower_components/bootstrap/less/variables";
//MISC //MISC
//---- //----
@import "core.less"; @import "core";
@import "variables.less"; @import "variables";
@import "mixins.less"; @import "mixins";
//COMPONENTS //COMPONENTS
//----------- //-----------
@import "header.less"; @import "header";
@import "sidebar.less"; @import "sidebar";
@import "sidebar-mini.less"; @import "sidebar-mini";
@import "control-sidebar.less"; @import "control-sidebar";
@import "dropdown.less"; @import "dropdown";
@import "forms.less"; @import "forms";
@import "progress-bars.less"; @import "progress-bars";
@import "small-box.less"; @import "small-box";
@import "boxes.less"; @import "boxes";
@import "info-box.less"; @import "info-box";
@import "timeline.less"; @import "timeline";
@import "buttons.less"; @import "buttons";
@import "callout.less"; @import "callout";
@import "alerts.less"; @import "alerts";
@import "navs.less"; @import "navs";
@import "products.less"; @import "products";
@import "table.less"; @import "table";
@import "labels.less"; @import "labels";
@import "direct-chat.less"; @import "direct-chat";
@import "users-list.less"; @import "users-list";
@import "carousel.less"; @import "carousel";
@import "modal.less"; @import "modal";
@import "social-widgets.less"; @import "social-widgets";
@import "treeview";
//PAGES //PAGES
//------ //------
@import "mailbox.less"; @import "mailbox";
@import "lockscreen.less"; @import "lockscreen";
@import "login_and_register.less"; @import "login_and_register";
@import "404_500_errors.less"; @import "404_500_errors";
@import "invoice.less"; @import "invoice";
@import "profile"; @import "profile";
//Miscellaneous //Miscellaneous
//------------- //-------------
@import "miscellaneous.less"; @import "miscellaneous";
@import "print.less"; @import "print";
/*! /*!
* AdminLTE v2.3.8 * AdminLTE v2.4.0
* Author: Almsaeed Studio * Author: Almsaeed Studio
* Website: Almsaeed Studio <http://almsaeedstudio.com> * Website: Almsaeed Studio <https://adminlte.io>
* License: Open source - MIT * License: Open source - MIT
* Please visit http://opensource.org/licenses/MIT for more information * Please visit http://opensource.org/licenses/MIT for more information
!*/ */
//google fonts // Bootstrap
@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic); //--------------------------------------------------------
//Bootstrap Variables & Mixins @import (reference) "../../bower_components/bootstrap/less/mixins";
//The core bootstrap code have not been modified. These files @import (reference) "../../bower_components/bootstrap/less/variables";
//are included only for reference.
@import (reference) "../bootstrap-less/mixins.less"; // MISC
@import (reference) "../bootstrap-less/variables.less"; //--------------------------------------------------------
//MISC @import "core";
//---- @import "variables";
@import "core.less"; @import "mixins";
@import "variables.less";
@import "mixins.less"; // COMPONENTS
//COMPONENTS //--------------------------------------------------------
//----------- @import "header";
@import "header.less"; @import "sidebar";
@import "sidebar.less"; @import "sidebar-mini";
@import "sidebar-mini.less"; @import "control-sidebar";
@import "control-sidebar.less"; @import "dropdown";
@import "dropdown.less"; @import "forms";
@import "forms.less"; @import "progress-bars";
@import "progress-bars.less"; @import "small-box";
@import "small-box.less"; @import "boxes";
@import "boxes.less"; @import "info-box";
@import "info-box.less"; @import "timeline";
@import "timeline.less"; @import "buttons";
@import "buttons.less"; @import "callout";
@import "callout.less"; @import "alerts";
@import "alerts.less"; @import "navs";
@import "navs.less"; @import "products";
@import "products.less"; @import "table";
@import "table.less"; @import "labels";
@import "labels.less"; @import "direct-chat";
@import "direct-chat.less"; @import "users-list";
@import "users-list.less"; @import "carousel";
@import "carousel.less"; @import "modal";
@import "modal.less"; @import "social-widgets";
@import "social-widgets.less"; @import "treeview";
//PAGES
//------ // PAGES
@import "mailbox.less"; //--------------------------------------------------------
@import "lockscreen.less"; @import "mailbox";
@import "login_and_register.less"; @import "lockscreen";
@import "404_500_errors.less"; @import "login_and_register";
@import "invoice.less"; @import "404_500_errors";
@import "invoice";
@import "profile"; @import "profile";
//Plugins
//-------- // Plugins
@import "plugins.less"; //--------------------------------------------------------
//Miscellaneous @import "plugins";
//-------------
@import "miscellaneous.less"; // Miscellaneous
@import "print.less"; //--------------------------------------------------------
@import "miscellaneous";
@import "print";
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
*/ */
// Import variables and mixins as a reference for separate plugins version // Import variables and mixins as a reference for separate plugins version
@import (reference) "../bootstrap-less/mixins"; @import (reference) "../../bower_components/bootstrap/less/mixins";
@import (reference) "../bootstrap-less/variables"; @import (reference) "../../bower_components/bootstrap/less/variables";
@import (reference) "variables"; @import (reference) "variables";
@import (reference) "mixins"; @import (reference) "mixins";
......
/* /*
* Component: Control sidebar. By default, this is the right sidebar. * Component: Control sidebar. By default, this is the right sidebar.
*/ */
//The sidebar's background control class // The sidebar's background control class
//This is a hack to make the background visible while scrolling // This is a hack to make the background visible while scrolling
.control-sidebar-bg { .control-sidebar-bg {
position: fixed; position: fixed;
z-index: 1000; z-index: 1000;
bottom: 0; bottom: 0;
} }
//Transitions // Transitions
.control-sidebar-bg, .control-sidebar-bg,
.control-sidebar { .control-sidebar {
top: 0; top: 0;
...@@ -18,20 +18,20 @@ ...@@ -18,20 +18,20 @@
.transition(right @transition-speed ease-in-out); .transition(right @transition-speed ease-in-out);
} }
//The sidebar // The sidebar
.control-sidebar { .control-sidebar {
position: absolute; position: absolute;
padding-top: @navbar-height; padding-top: @navbar-height;
z-index: 1010; z-index: 1010;
//Fix position after header collapse // Fix position after header collapse
@media (max-width: @screen-sm) { @media (max-width: @screen-sm) {
padding-top: @navbar-height + 50; padding-top: @navbar-height + 50;
} }
//Tab panes // Tab panes
> .tab-content { > .tab-content {
padding: 10px 15px; padding: 10px 15px;
} }
//Open state with slide over content effect // Open state with slide over content effect
&.control-sidebar-open { &.control-sidebar-open {
&, &,
+ .control-sidebar-bg { + .control-sidebar-bg {
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
} }
} }
//Open without slide over content // Open without slide over content
.control-sidebar-open { .control-sidebar-open {
.control-sidebar-bg, .control-sidebar-bg,
.control-sidebar { .control-sidebar {
...@@ -55,7 +55,17 @@ ...@@ -55,7 +55,17 @@
} }
} }
//Control sidebar tabs // Fixed Layout
.fixed {
.control-sidebar {
position: fixed;
height: 100%;
overflow-y: auto;
padding-bottom: 50px;
}
}
// Control sidebar tabs
.nav-tabs.control-sidebar-tabs { .nav-tabs.control-sidebar-tabs {
> li { > li {
&:first-of-type > a { &:first-of-type > a {
...@@ -68,7 +78,7 @@ ...@@ -68,7 +78,7 @@
> a { > a {
.border-radius(0); .border-radius(0);
//Hover and active states // Hover and active states
&, &,
&:hover { &:hover {
border-top: none; border-top: none;
...@@ -80,7 +90,7 @@ ...@@ -80,7 +90,7 @@
font-size: 16px; font-size: 16px;
} }
} }
//Active state // Active state
&.active { &.active {
> a { > a {
&, &,
...@@ -94,7 +104,7 @@ ...@@ -94,7 +104,7 @@
} }
} }
} }
//Remove responsiveness on small screens // Remove responsiveness on small screens
@media (max-width: @screen-sm) { @media (max-width: @screen-sm) {
display: table; display: table;
> li { > li {
...@@ -103,7 +113,7 @@ ...@@ -103,7 +113,7 @@
} }
} }
//Headings in the sidebar content // Headings in the sidebar content
.control-sidebar-heading { .control-sidebar-heading {
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
...@@ -111,14 +121,14 @@ ...@@ -111,14 +121,14 @@
margin-bottom: 10px; margin-bottom: 10px;
} }
//Subheadings // Subheadings
.control-sidebar-subheading { .control-sidebar-subheading {
display: block; display: block;
font-weight: 400; font-weight: 400;
font-size: 14px; font-size: 14px;
} }
//Control Sidebar Menu // Control Sidebar Menu
.control-sidebar-menu { .control-sidebar-menu {
list-style: none; list-style: none;
padding: 0; padding: 0;
...@@ -155,22 +165,22 @@ ...@@ -155,22 +165,22 @@
} }
} }
//Dark skin // Dark skin
.control-sidebar-dark { .control-sidebar-dark {
color: @sidebar-dark-color; color: @sidebar-dark-color;
// Background // Background
&, &,
+ .control-sidebar-bg { + .control-sidebar-bg {
background: @sidebar-dark-bg; background: @sidebar-dark-bg;
} }
// Sidebar tabs // Sidebar tabs
.nav-tabs.control-sidebar-tabs { .nav-tabs.control-sidebar-tabs {
border-bottom: darken(@sidebar-dark-bg, 3%); border-bottom: darken(@sidebar-dark-bg, 3%);
> li { > li {
> a { > a {
background: darken(@sidebar-dark-bg, 5%); background: darken(@sidebar-dark-bg, 5%);
color: @sidebar-dark-color; color: @sidebar-dark-color;
//Hover and active states // Hover and active states
&, &,
&:hover, &:hover,
&:focus { &:focus {
...@@ -186,7 +196,7 @@ ...@@ -186,7 +196,7 @@
color: #fff; color: #fff;
} }
} }
//Active state // Active state
&.active { &.active {
> a { > a {
&, &,
...@@ -200,12 +210,12 @@ ...@@ -200,12 +210,12 @@
} }
} }
} }
//Heading & subheading // Heading & subheading
.control-sidebar-heading, .control-sidebar-heading,
.control-sidebar-subheading { .control-sidebar-subheading {
color: #fff; color: #fff;
} }
//Sidebar list // Sidebar list
.control-sidebar-menu { .control-sidebar-menu {
> li { > li {
> a { > a {
...@@ -222,23 +232,23 @@ ...@@ -222,23 +232,23 @@
} }
} }
//Light skin // Light skin
.control-sidebar-light { .control-sidebar-light {
color: lighten(@sidebar-light-color, 10%); color: lighten(@sidebar-light-color, 10%);
// Background // Background
&, &,
+ .control-sidebar-bg { + .control-sidebar-bg {
background: @sidebar-light-bg; background: @sidebar-light-bg;
border-left: 1px solid @gray-lte; border-left: 1px solid @gray-lte;
} }
// Sidebar tabs // Sidebar tabs
.nav-tabs.control-sidebar-tabs { .nav-tabs.control-sidebar-tabs {
border-bottom: @gray-lte; border-bottom: @gray-lte;
> li { > li {
> a { > a {
background: darken(@sidebar-light-bg, 5%); background: darken(@sidebar-light-bg, 5%);
color: @sidebar-light-color; color: @sidebar-light-color;
//Hover and active states // Hover and active states
&, &,
&:hover, &:hover,
&:focus { &:focus {
...@@ -251,7 +261,7 @@ ...@@ -251,7 +261,7 @@
background: darken(@sidebar-light-bg, 3%); background: darken(@sidebar-light-bg, 3%);
} }
} }
//Active state // Active state
&.active { &.active {
> a { > a {
&, &,
...@@ -265,12 +275,12 @@ ...@@ -265,12 +275,12 @@
} }
} }
} }
//Heading & subheading // Heading & subheading
.control-sidebar-heading, .control-sidebar-heading,
.control-sidebar-subheading { .control-sidebar-subheading {
color: #111; color: #111;
} }
//Sidebar list // Sidebar list
.control-sidebar-menu { .control-sidebar-menu {
margin-left: -14px; margin-left: -14px;
> li { > li {
......
...@@ -39,31 +39,29 @@ body { ...@@ -39,31 +39,29 @@ body {
/* /*
* Content Wrapper - contains the main content * Content Wrapper - contains the main content
* ```.right-side has been deprecated as of v2.0.0 in favor of .content-wrapper ```
*/ */
.content-wrapper, .content-wrapper,
.right-side,
.main-footer { .main-footer {
//Using disposable variable to join statements with a comma // Using disposable variable to join statements with a comma
@transition-rule: @transition-speed @transition-fn, @transition-rule: @transition-speed @transition-fn,
margin @transition-speed @transition-fn; margin @transition-speed @transition-fn;
.transition-transform(@transition-rule); .transition-transform(@transition-rule);
margin-left: @sidebar-width; margin-left: @sidebar-width;
z-index: 820; z-index: 820;
//Top nav layout // Top nav layout
.layout-top-nav & { .layout-top-nav & {
margin-left: 0; margin-left: 0;
} }
@media (max-width: @screen-xs-max) { @media (max-width: @screen-xs-max) {
margin-left: 0; margin-left: 0;
} }
//When opening the sidebar on large screens // When opening the sidebar on large screens
.sidebar-collapse & { .sidebar-collapse & {
@media (min-width: @screen-sm) { @media (min-width: @screen-sm) {
margin-left: 0; margin-left: 0;
} }
} }
//When opening the sidebar on small screens // When opening the sidebar on small screens
.sidebar-open & { .sidebar-open & {
@media (max-width: @screen-xs-max) { @media (max-width: @screen-xs-max) {
.translate(@sidebar-width, 0); .translate(@sidebar-width, 0);
...@@ -71,8 +69,7 @@ body { ...@@ -71,8 +69,7 @@ body {
} }
} }
.content-wrapper, .content-wrapper {
.right-side {
min-height: 100%; min-height: 100%;
background-color: @body-bg; background-color: @body-bg;
z-index: 800; z-index: 800;
...@@ -109,16 +106,20 @@ body { ...@@ -109,16 +106,20 @@ body {
max-width: 100%; max-width: 100%;
} }
} }
.wrapper {
overflow: hidden;
}
} }
body.hold-transition { .hold-transition {
.content-wrapper, .content-wrapper,
.right-side, .right-side,
.main-footer, .main-footer,
.main-sidebar, .main-sidebar,
.left-side, .left-side,
.main-header .navbar, .main-header .navbar,
.main-header .logo { .main-header .logo,
.menu-open .fa-angle-left {
/* Fix for IE */ /* Fix for IE */
.transition(none); .transition(none);
} }
......
.box {
.datepicker-inline {
&,
.datepicker-days {
&,
> table {
width: 100%;
td {
&:hover {
background-color: rgba(255, 255, 255, .3);
}
&.day {
&.old,
&.new {
color: #777;
}
}
}
}
}
}
}
\ No newline at end of file
...@@ -2,14 +2,13 @@ ...@@ -2,14 +2,13 @@
* Plugin: Full Calendar * Plugin: Full Calendar
* --------------------- * ---------------------
*/ */
// Import variables and mixins as a reference for separate plugins version // Import variables and mixins as a reference for separate plugins version
@import (reference) "../bootstrap-less/mixins"; @import (reference) "../../bower_components/bootstrap/less/mixins";
@import (reference) "../bootstrap-less/variables"; @import (reference) "../../bower_components/bootstrap/less/variables";
@import (reference) "variables"; @import (reference) "variables";
@import (reference) "mixins"; @import (reference) "mixins";
//Fullcalendar buttons // Fullcalendar buttons
.fc-button { .fc-button {
background: #f4f4f4; background: #f4f4f4;
background-image: none; background-image: none;
......
...@@ -74,22 +74,12 @@ ...@@ -74,22 +74,12 @@
} }
//Different radius each side //Different radius each side
.border-radius(@top-left; .border-radius(@top-left, @top-right, @bottom-left, @bottom-right)
@top-right
;
@bottom-left
;
@bottom-right
)
{ {
border-top-left-radius: @top-left border-top-left-radius: @top-left;
; border-top-right-radius: @top-right;
border-top-right-radius: @top-right border-bottom-right-radius: @bottom-right;
; border-bottom-left-radius: @bottom-left;
border-bottom-right-radius: @bottom-right
;
border-bottom-left-radius: @bottom-left
;
} }
//Gradient background //Gradient background
...@@ -140,9 +130,13 @@ ...@@ -140,9 +130,13 @@
border-left: 3px solid transparent; border-left: 3px solid transparent;
} }
//Hover and active states //Hover and active states
&:hover > a, &.active > a { &:hover > a,
&.active > a,
&.menu-open > a {
color: @sidebar-dark-hover-color; color: @sidebar-dark-hover-color;
background: @sidebar-dark-hover-bg; background: @sidebar-dark-hover-bg;
}
&.active > a {
border-left-color: @link-hover-border-color; border-left-color: @link-hover-border-color;
} }
//First Level Submenu //First Level Submenu
...@@ -159,7 +153,7 @@ ...@@ -159,7 +153,7 @@
} }
} }
//All submenus //All submenus
.treeview-menu { .sidebar-menu .treeview-menu {
> li { > li {
> a { > a {
color: @sidebar-dark-submenu-color; color: @sidebar-dark-submenu-color;
...@@ -211,7 +205,10 @@ ...@@ -211,7 +205,10 @@
} }
.content-wrapper, .content-wrapper,
.main-footer { .main-footer {
border-left: 1px solid @gray-lte; //border-left: 1px solid @gray-lte;
}
.main-sidebar {
border-right: 1px solid @gray-lte;
} }
//User Panel (resides in the sidebar) //User Panel (resides in the sidebar)
.user-panel { .user-panel {
...@@ -261,7 +258,7 @@ ...@@ -261,7 +258,7 @@
} }
} }
//All submenus //All submenus
.treeview-menu { .sidebar-menu .treeview-menu {
> li { > li {
> a { > a {
color: @sidebar-light-submenu-color; color: @sidebar-light-submenu-color;
......
...@@ -68,10 +68,16 @@ ...@@ -68,10 +68,16 @@
> .nav-tabs { > .nav-tabs {
margin: 0; margin: 0;
border-bottom-color: #f4f4f4; border-bottom-color: #f4f4f4;
.border-top-radius(@box-border-radius); .border-top-radius(@box-border-radius);
> li { > li {
border-top: 3px solid transparent; border-top: 3px solid transparent;
margin-bottom: -2px; margin-bottom: -2px;
&.disabled > a {
color: #777;
}
> a { > a {
color: #444; color: #444;
.border-radius(0); .border-radius(0);
......
// Customized third-party plugins // Customized third-party plugins
@import "bootstrap-social.less"; @import "bootstrap-social.less";
@import "fullcalendar.less"; @import "fullcalendar.less";
@import "select2.less"; @import "select2.less";
\ No newline at end of file @import "datepicker";
\ No newline at end of file
...@@ -2,10 +2,9 @@ ...@@ -2,10 +2,9 @@
* Plugin: Select2 * Plugin: Select2
* --------------- * ---------------
*/ */
// Import variables and mixins as a reference for separate plugins version // Import variables and mixins as a reference for separate plugins version
@import (reference) "../bootstrap-less/mixins"; @import (reference) "../../bower_components/bootstrap/less/mixins";
@import (reference) "../bootstrap-less/variables"; @import (reference) "../../bower_components/bootstrap/less/variables";
@import (reference) "variables"; @import (reference) "variables";
@import (reference) "mixins"; @import (reference) "mixins";
...@@ -72,11 +71,16 @@ ...@@ -72,11 +71,16 @@
border: 1px solid @gray-lte; border: 1px solid @gray-lte;
&:focus { &:focus {
outline: none; outline: none;
border: 1px solid @light-blue; //border: 1px solid @light-blue;
} }
} }
} }
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default .select2-search--dropdown .select2-search__field {
border-color: @light-blue !important;
}
.select2-container--default .select2-results__option[aria-disabled=true] { .select2-container--default .select2-results__option[aria-disabled=true] {
color: #999; color: #999;
} }
......
...@@ -42,49 +42,11 @@ ...@@ -42,49 +42,11 @@
} }
> .treeview-menu { > .treeview-menu {
//Add some padding to the treeview menu // Add some padding to the treeview menu
padding-top: 5px; padding-top: 5px;
padding-bottom: 5px; padding-bottom: 5px;
border-bottom-right-radius: 4px; border-bottom-right-radius: 4px;
} }
//Show menu items on hover
&:hover {
> a {
//overflow: visible;
}
> a > span:not(.pull-right),//:not(.pull-right-container),
> .treeview-menu {
display: block !important;
position: absolute;
width: @sidebar-width - 50;
left: 50px;
}
//position the header & treeview menus
> a > span {
top: 0;
margin-left: -3px;
padding: 12px 5px 12px 20px;
background-color: inherit;
}
> a > .pull-right-container {
//display: block!important;
position: relative!important;
float: right;
width: auto!important;
left: 200px - 20px!important;
top: -22px!important;
z-index: 900;
> .label:not(:first-of-type) {
display: none;
}
}
> .treeview-menu {
top: 44px;
margin-left: 0;
}
}
} }
} }
...@@ -124,6 +86,56 @@ ...@@ -124,6 +86,56 @@
} }
} }
// Show menu items on hover
.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse {
.sidebar-menu > li:hover {
> a {
//overflow: visible;
}
> a > span:not(.pull-right), //:not(.pull-right-container),
> .treeview-menu {
display: block !important;
position: absolute;
width: @sidebar-width - 50;
left: 50px;
}
//position the header & treeview menus
> a > span {
top: 0;
margin-left: -3px;
padding: 12px 5px 12px 20px;
background-color: inherit;
}
> a > .pull-right-container {
//display: block!important;
position: relative !important;
float: right;
width: auto !important;
left: 200px - 20px !important;
top: -22px !important;
z-index: 900;
> .label:not(:first-of-type) {
display: none;
}
}
> .treeview-menu {
top: 44px;
margin-left: 0;
}
}
}
.sidebar-expanded-on-hover {
.main-footer,
.content-wrapper {
margin-left: 50px;
}
.main-sidebar {
box-shadow: @sidebar-expanded-shadow;
}
}
//A fix for text overflow while transitioning from sidebar mini to full sidebar //A fix for text overflow while transitioning from sidebar mini to full sidebar
.sidebar-menu, .sidebar-menu,
.main-sidebar .user-panel, .main-sidebar .user-panel,
......
...@@ -2,11 +2,8 @@ ...@@ -2,11 +2,8 @@
* Component: Sidebar * Component: Sidebar
* ------------------ * ------------------
*/ */
//Main Sidebar // Main Sidebar
// ``` .left-side has been deprecated as of 2.0.0 in favor of .main-sidebar ``` .main-sidebar {
.main-sidebar,
.left-side {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
...@@ -14,21 +11,25 @@ ...@@ -14,21 +11,25 @@
min-height: 100%; min-height: 100%;
width: @sidebar-width; width: @sidebar-width;
z-index: 810; z-index: 810;
//Using disposable variable to join statements with a comma
@transition-rule: @transition-speed @transition-fn, // Using disposable variable to join statements with a comma
width @transition-speed @transition-fn; @transition-rule: @transition-speed @transition-fn, width @transition-speed @transition-fn;
.transition-transform(@transition-rule); .transition-transform(@transition-rule);
@media (max-width: @screen-header-collapse) { @media (max-width: @screen-header-collapse) {
padding-top: 100px; padding-top: 100px;
} }
@media (max-width: @screen-xs-max) { @media (max-width: @screen-xs-max) {
.translate(-@sidebar-width, 0); .translate(-@sidebar-width, 0);
} }
.sidebar-collapse & { .sidebar-collapse & {
@media (min-width: @screen-sm) { @media (min-width: @screen-sm) {
.translate(-@sidebar-width, 0); .translate(-@sidebar-width, 0);
} }
} }
.sidebar-open & { .sidebar-open & {
@media (max-width: @screen-xs-max) { @media (max-width: @screen-xs-max) {
.translate(0, 0); .translate(0, 0);
...@@ -40,14 +41,14 @@ ...@@ -40,14 +41,14 @@
padding-bottom: 10px; padding-bottom: 10px;
} }
// remove border from form // Remove border from form
.sidebar-form { .sidebar-form {
input:focus { input:focus {
border-color: transparent; border-color: transparent;
} }
} }
//Sidebar user panel // Sidebar user panel
.user-panel { .user-panel {
position: relative; position: relative;
width: 100%; width: 100%;
...@@ -119,6 +120,7 @@ ...@@ -119,6 +120,7 @@
height: auto; height: auto;
padding: 0; padding: 0;
margin-right: 10px; margin-right: 10px;
.transition(transform .5s ease);
} }
li > a > .fa-angle-left { li > a > .fa-angle-left {
position: absolute; position: absolute;
...@@ -126,44 +128,14 @@ ...@@ -126,44 +128,14 @@
right: 10px; right: 10px;
margin-top: -8px; margin-top: -8px;
} }
li.active {
.menu-open {
> a > .fa-angle-left, > a > .fa-angle-left,
> a > .pull-right-container > .fa-angle-left { > a > .pull-right-container > .fa-angle-left {
.rotate(-90deg); .rotate(-90deg);
} }
> .treeview-menu {
display: block;
}
} }
.active > .treeview-menu {
// Tree view menu display: block;
.treeview-menu {
display: none;
list-style: none;
padding: 0;
margin: 0;
padding-left: 5px;
.treeview-menu {
padding-left: 20px;
}
> li {
margin: 0;
> a {
padding: 5px 5px 5px 15px;
display: block;
font-size: 14px;
> .fa,
> .glyphicon,
> .ion {
width: 20px;
}
> .pull-right-container > .fa-angle-left,
> .pull-right-container > .fa-angle-down,
> .fa-angle-left,
> .fa-angle-down {
width: auto;
}
}
}
} }
} }
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
* Skin: Black * Skin: Black
* ----------- * -----------
*/ */
@import "../../bootstrap-less/mixins.less"; @import "../../../bower_components/bootstrap/less/mixins.less";
@import "../../bootstrap-less/variables.less"; @import "../../../bower_components/bootstrap/less/variables.less";
@import "../variables.less"; @import "../variables.less";
@import "../mixins.less"; @import "../mixins.less";
...@@ -11,30 +11,31 @@ ...@@ -11,30 +11,31 @@
.skin-black-light { .skin-black-light {
//Navbar & Logo //Navbar & Logo
.main-header { .main-header {
.box-shadow(0px 1px 1px rgba(0, 0, 0, 0.05)); //.box-shadow(0px 1px 1px rgba(0, 0, 0, 0.05));
border-bottom: 1px solid @gray-lte;
.navbar-toggle { .navbar-toggle {
color: #333; color: #333;
} }
.navbar-brand { .navbar-brand {
color: #333; color: #333;
border-right: 1px solid #eee; border-right: 1px solid @gray-lte;
} }
.navbar { .navbar {
.navbar-variant(#fff; #333; #999; #fff); .navbar-variant(#fff; #333; #999; #fff);
> .sidebar-toggle { > .sidebar-toggle {
color: #333; color: #333;
border-right: 1px solid #eee; border-right: 1px solid @gray-lte;
} }
.navbar-nav { .navbar-nav {
> li > a { > li > a {
border-right: 1px solid #eee; border-right: 1px solid @gray-lte;
} }
} }
.navbar-custom-menu .navbar-nav, .navbar-custom-menu .navbar-nav,
.navbar-right { .navbar-right {
> li { > li {
> a { > a {
border-left: 1px solid #eee; border-left: 1px solid @gray-lte;
border-right-width: 0; border-right-width: 0;
} }
} }
...@@ -42,7 +43,7 @@ ...@@ -42,7 +43,7 @@
} }
> .logo { > .logo {
.logo-variant(#fff; #333); .logo-variant(#fff; #333);
border-right: 1px solid #eee; border-right: 1px solid @gray-lte;
@media (max-width: @screen-header-collapse) { @media (max-width: @screen-header-collapse) {
.logo-variant(#222; #fff); .logo-variant(#222; #fff);
border-right: none; border-right: none;
...@@ -61,4 +62,4 @@ ...@@ -61,4 +62,4 @@
} }
//Create the sidebar skin //Create the sidebar skin
.skin-light-sidebar(#fff); .skin-light-sidebar(#fff);
} }
\ No newline at end of file
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
* Skin: Black * Skin: Black
* ----------- * -----------
*/ */
@import "../../bootstrap-less/mixins.less"; @import "../../../bower_components/bootstrap/less/mixins.less";
@import "../../bootstrap-less/variables.less"; @import "../../../bower_components/bootstrap/less/variables.less";
@import "../variables.less"; @import "../variables.less";
@import "../mixins.less"; @import "../mixins.less";
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
* Skin: Blue * Skin: Blue
* ---------- * ----------
*/ */
@import "../../bootstrap-less/mixins.less"; @import "../../../bower_components/bootstrap/less/mixins.less";
@import "../../bootstrap-less/variables.less"; @import "../../../bower_components/bootstrap/less/variables.less";
@import "../variables.less"; @import "../variables.less";
@import "../mixins.less"; @import "../mixins.less";
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
* Skin: Blue * Skin: Blue
* ---------- * ----------
*/ */
@import "../../bootstrap-less/mixins.less"; @import "../../../bower_components/bootstrap/less/mixins.less";
@import "../../bootstrap-less/variables.less"; @import "../../../bower_components/bootstrap/less/variables.less";
@import "../variables.less"; @import "../variables.less";
@import "../mixins.less"; @import "../mixins.less";
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
* Skin: Green * Skin: Green
* ----------- * -----------
*/ */
@import "../../bootstrap-less/mixins.less"; @import "../../../bower_components/bootstrap/less/mixins.less";
@import "../../bootstrap-less/variables.less"; @import "../../../bower_components/bootstrap/less/variables.less";
@import "../variables.less"; @import "../variables.less";
@import "../mixins.less"; @import "../mixins.less";
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
* Skin: Green * Skin: Green
* ----------- * -----------
*/ */
@import "../../bootstrap-less/mixins.less"; @import "../../../bower_components/bootstrap/less/mixins.less";
@import "../../bootstrap-less/variables.less"; @import "../../../bower_components/bootstrap/less/variables.less";
@import "../variables.less"; @import "../variables.less";
@import "../mixins.less"; @import "../mixins.less";
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
* Skin: Purple * Skin: Purple
* ------------ * ------------
*/ */
@import "../../bootstrap-less/mixins.less"; @import "../../../bower_components/bootstrap/less/mixins.less";
@import "../../bootstrap-less/variables.less"; @import "../../../bower_components/bootstrap/less/variables.less";
@import "../variables.less"; @import "../variables.less";
@import "../mixins.less"; @import "../mixins.less";
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
* Skin: Purple * Skin: Purple
* ------------ * ------------
*/ */
@import "../../bootstrap-less/mixins.less"; @import "../../../bower_components/bootstrap/less/mixins.less";
@import "../../bootstrap-less/variables.less"; @import "../../../bower_components/bootstrap/less/variables.less";
@import "../variables.less"; @import "../variables.less";
@import "../mixins.less"; @import "../mixins.less";
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
* Skin: Red * Skin: Red
* --------- * ---------
*/ */
@import "../../bootstrap-less/mixins.less"; @import "../../../bower_components/bootstrap/less/mixins.less";
@import "../../bootstrap-less/variables.less"; @import "../../../bower_components/bootstrap/less/variables.less";
@import "../variables.less"; @import "../variables.less";
@import "../mixins.less"; @import "../mixins.less";
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
* Skin: Red * Skin: Red
* --------- * ---------
*/ */
@import "../../bootstrap-less/mixins.less"; @import "../../../bower_components/bootstrap/less/mixins.less";
@import "../../bootstrap-less/variables.less"; @import "../../../bower_components/bootstrap/less/variables.less";
@import "../variables.less"; @import "../variables.less";
@import "../mixins.less"; @import "../mixins.less";
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
* Skin: Yellow * Skin: Yellow
* ------------ * ------------
*/ */
@import "../../bootstrap-less/mixins.less"; @import "../../../bower_components/bootstrap/less/mixins.less";
@import "../../bootstrap-less/variables.less"; @import "../../../bower_components/bootstrap/less/variables.less";
@import "../variables.less"; @import "../variables.less";
@import "../mixins.less"; @import "../mixins.less";
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
* Skin: Yellow * Skin: Yellow
* ------------ * ------------
*/ */
@import "../../bootstrap-less/mixins.less"; @import "../../../bower_components/bootstrap/less/mixins.less";
@import "../../bootstrap-less/variables.less"; @import "../../../bower_components/bootstrap/less/variables.less";
@import "../variables.less"; @import "../variables.less";
@import "../mixins.less"; @import "../mixins.less";
......
...@@ -68,4 +68,4 @@ table.text-center { ...@@ -68,4 +68,4 @@ table.text-center {
td { td {
text-align: right; text-align: right;
} }
} }
\ No newline at end of file
// Tree view menu
.treeview-menu {
display: none;
list-style: none;
padding: 0;
margin: 0;
padding-left: 5px;
.treeview-menu {
padding-left: 20px;
}
> li {
margin: 0;
> a {
padding: 5px 5px 5px 15px;
display: block;
font-size: 14px;
> .fa,
> .glyphicon,
> .ion {
width: 20px;
}
> .pull-right-container > .fa-angle-left,
> .pull-right-container > .fa-angle-down,
> .fa-angle-left,
> .fa-angle-down {
width: auto;
}
}
}
}
\ No newline at end of file
//AdminLTE 2 Variables.less // AdminLTE 2 Variables.less
//========================= // =========================
//PATHS // PATHS
//-------------------------------------------------------- // --------------------------------------------------------
@boxed-layout-bg-image-path: "../img/boxed-bg.jpg"; @boxed-layout-bg-image-path: "../img/boxed-bg.jpg";
//COLORS // COLORS
//-------------------------------------------------------- // --------------------------------------------------------
//Primary // Primary
@light-blue: #3c8dbc; @light-blue: #3c8dbc;
//Danger // Danger
@red: #dd4b39; @red: #dd4b39;
//Success // Success
@green: #00a65a; @green: #00a65a;
//Info // Info
@aqua: #00c0ef; @aqua: #00c0ef;
//Warning // Warning
@yellow: #f39c12; @yellow: #f39c12;
@blue: #0073b7; @blue: #0073b7;
@navy: #001F3F; @navy: #001F3F;
...@@ -30,27 +30,27 @@ ...@@ -30,27 +30,27 @@
@black: #111; @black: #111;
@gray-lte: #d2d6de; @gray-lte: #d2d6de;
//LAYOUT // LAYOUT
//-------------------------------------------------------- // --------------------------------------------------------
//Side bar and logo width // Side bar and logo width
@sidebar-width: 230px; @sidebar-width: 230px;
//Boxed layout maximum width // Boxed layout maximum width
@boxed-layout-max-width: 1024px; @boxed-layout-max-width: 1024px;
//When the logo should go to the top of the screen // When the logo should go to the top of the screen
@screen-header-collapse: @screen-xs-max; @screen-header-collapse: @screen-xs-max;
//Link colors (Aka: <a> tags) // Link colors (Aka: <a> tags)
@link-color: @light-blue; @link-color: @light-blue;
@link-hover-color: lighten(@link-color, 15%); @link-hover-color: lighten(@link-color, 15%);
//Body background (Affects main content background only) // Body background (Affects main content background only)
@body-bg: #ecf0f5; @body-bg: #ecf0f5;
//SIDEBAR SKINS // SIDEBAR SKINS
//-------------------------------------------------------- // --------------------------------------------------------
//Dark sidebar // Dark sidebar
@sidebar-dark-bg: #222d32; @sidebar-dark-bg: #222d32;
@sidebar-dark-hover-bg: darken(@sidebar-dark-bg, 2%); @sidebar-dark-hover-bg: darken(@sidebar-dark-bg, 2%);
@sidebar-dark-color: lighten(@sidebar-dark-bg, 60%); @sidebar-dark-color: lighten(@sidebar-dark-bg, 60%);
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
@sidebar-dark-submenu-color: lighten(@sidebar-dark-submenu-bg, 40%); @sidebar-dark-submenu-color: lighten(@sidebar-dark-submenu-bg, 40%);
@sidebar-dark-submenu-hover-color: #fff; @sidebar-dark-submenu-hover-color: #fff;
//Light sidebar // Light sidebar
@sidebar-light-bg: #f9fafc; @sidebar-light-bg: #f9fafc;
@sidebar-light-hover-bg: lighten(#f0f0f1, 1.5%); @sidebar-light-hover-bg: lighten(#f0f0f1, 1.5%);
@sidebar-light-color: #444; @sidebar-light-color: #444;
...@@ -68,55 +68,58 @@ ...@@ -68,55 +68,58 @@
@sidebar-light-submenu-color: #777; @sidebar-light-submenu-color: #777;
@sidebar-light-submenu-hover-color: #000; @sidebar-light-submenu-hover-color: #000;
//CONTROL SIDEBAR // sidebar-expanded-on-hover
//-------------------------------------------------------- @sidebar-expanded-shadow: 3px 0 8px rgba(0,0,0,.125);
// CONTROL SIDEBAR
// --------------------------------------------------------
@control-sidebar-width: @sidebar-width; @control-sidebar-width: @sidebar-width;
//BOXES // BOXES
//-------------------------------------------------------- // --------------------------------------------------------
@box-border-color: #f4f4f4; @box-border-color: #f4f4f4;
@box-border-radius: 3px; @box-border-radius: 3px;
@box-footer-bg: #fff; @box-footer-bg: #fff;
@box-boxshadow: 0 1px 1px rgba(0, 0, 0, .1); @box-boxshadow: 0 1px 1px rgba(0, 0, 0, .1);
@box-padding: 10px; @box-padding: 10px;
//Box variants // Box variants
@box-default-border-top-color: #d2d6de; @box-default-border-top-color: #d2d6de;
//BUTTONS // BUTTONS
//-------------------------------------------------------- // --------------------------------------------------------
@btn-boxshadow: none; @btn-boxshadow: none;
//PROGRESS BARS // PROGRESS BARS
//-------------------------------------------------------- // --------------------------------------------------------
@progress-bar-border-radius: 1px; @progress-bar-border-radius: 1px;
@progress-bar-sm-border-radius: 1px; @progress-bar-sm-border-radius: 1px;
@progress-bar-xs-border-radius: 1px; @progress-bar-xs-border-radius: 1px;
//FORMS // FORMS
//-------------------------------------------------------- // --------------------------------------------------------
@input-radius: 0; @input-radius: 0;
//BUTTONS // BUTTONS
//-------------------------------------------------------- // --------------------------------------------------------
//Border radius for non flat buttons // Border radius for non flat buttons
@btn-border-radius: 3px; @btn-border-radius: 3px;
//DIRECT CHAT // DIRECT CHAT
//-------------------------------------------------------- // --------------------------------------------------------
@direct-chat-height: 250px; @direct-chat-height: 250px;
@direct-chat-default-msg-bg: @gray-lte; @direct-chat-default-msg-bg: @gray-lte;
@direct-chat-default-font-color: #444; @direct-chat-default-font-color: #444;
@direct-chat-default-msg-border-color: @gray-lte; @direct-chat-default-msg-border-color: @gray-lte;
//CHAT WIDGET // CHAT WIDGET
//-------------------------------------------------------- // --------------------------------------------------------
@attachment-border-radius: 3px; @attachment-border-radius: 3px;
//TRANSITIONS SETTINGS // TRANSITIONS SETTINGS
//-------------------------------------------------------- // --------------------------------------------------------
//Transition global options // Transition global options
@transition-speed: .3s; @transition-speed: .3s;
@transition-fn: ease-in-out; @transition-fn: ease-in-out;
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -57,7 +57,10 @@ ...@@ -57,7 +57,10 @@
.select2-dropdown .select2-search__field:focus, .select2-dropdown .select2-search__field:focus,
.select2-search--inline .select2-search__field:focus { .select2-search--inline .select2-search__field:focus {
outline: none; outline: none;
border: 1px solid #3c8dbc; }
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default .select2-search--dropdown .select2-search__field {
border-color: #3c8dbc !important;
} }
.select2-container--default .select2-results__option[aria-disabled=true] { .select2-container--default .select2-results__option[aria-disabled=true] {
color: #999; color: #999;
......
.select2-container--default.select2-container--focus,.select2-selection.select2-container--focus,.select2-container--default:focus,.select2-selection:focus,.select2-container--default:active,.select2-selection:active{outline:none}.select2-container--default .select2-selection--single,.select2-selection .select2-selection--single{border:1px solid #d2d6de;border-radius:0;padding:6px 12px;height:34px}.select2-container--default.select2-container--open{border-color:#3c8dbc}.select2-dropdown{border:1px solid #d2d6de;border-radius:0}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#3c8dbc;color:white}.select2-results__option{padding:6px 12px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{padding-left:0;padding-right:0;height:auto;margin-top:-4px}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:6px;padding-left:20px}.select2-container--default .select2-selection--single .select2-selection__arrow{height:28px;right:3px}.select2-container--default .select2-selection--single .select2-selection__arrow b{margin-top:0}.select2-dropdown .select2-search__field,.select2-search--inline .select2-search__field{border:1px solid #d2d6de}.select2-dropdown .select2-search__field:focus,.select2-search--inline .select2-search__field:focus{outline:none;border:1px solid #3c8dbc}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option[aria-selected=true],.select2-container--default .select2-results__option[aria-selected=true]:hover{color:#444}.select2-container--default .select2-selection--multiple{border:1px solid #d2d6de;border-radius:0}.select2-container--default .select2-selection--multiple:focus{border-color:#3c8dbc}.select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#d2d6de}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#3c8dbc;border-color:#367fa9;padding:1px 10px;color:#fff}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{margin-right:5px;color:rgba(255,255,255,0.7)}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container .select2-selection--single .select2-selection__rendered{padding-right:10px} .select2-container--default.select2-container--focus,.select2-selection.select2-container--focus,.select2-container--default:focus,.select2-selection:focus,.select2-container--default:active,.select2-selection:active{outline:none}.select2-container--default .select2-selection--single,.select2-selection .select2-selection--single{border:1px solid #d2d6de;border-radius:0;padding:6px 12px;height:34px}.select2-container--default.select2-container--open{border-color:#3c8dbc}.select2-dropdown{border:1px solid #d2d6de;border-radius:0}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#3c8dbc;color:white}.select2-results__option{padding:6px 12px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{padding-left:0;padding-right:0;height:auto;margin-top:-4px}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:6px;padding-left:20px}.select2-container--default .select2-selection--single .select2-selection__arrow{height:28px;right:3px}.select2-container--default .select2-selection--single .select2-selection__arrow b{margin-top:0}.select2-dropdown .select2-search__field,.select2-search--inline .select2-search__field{border:1px solid #d2d6de}.select2-dropdown .select2-search__field:focus,.select2-search--inline .select2-search__field:focus{outline:none}.select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .select2-search--dropdown .select2-search__field{border-color:#3c8dbc !important}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option[aria-selected=true],.select2-container--default .select2-results__option[aria-selected=true]:hover{color:#444}.select2-container--default .select2-selection--multiple{border:1px solid #d2d6de;border-radius:0}.select2-container--default .select2-selection--multiple:focus{border-color:#3c8dbc}.select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#d2d6de}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#3c8dbc;border-color:#367fa9;padding:1px 10px;color:#fff}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{margin-right:5px;color:rgba(255,255,255,0.7)}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container .select2-selection--single .select2-selection__rendered{padding-right:10px}
\ No newline at end of file \ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
.skin-black-light .main-header{-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.skin-black-light .main-header .navbar-toggle{color:#333}.skin-black-light .main-header .navbar-brand{color:#333;border-right:1px solid #eee}.skin-black-light .main-header .navbar{background-color:#fff}.skin-black-light .main-header .navbar .nav>li>a{color:#333}.skin-black-light .main-header .navbar .nav>li>a:hover,.skin-black-light .main-header .navbar .nav>li>a:active,.skin-black-light .main-header .navbar .nav>li>a:focus,.skin-black-light .main-header .navbar .nav .open>a,.skin-black-light .main-header .navbar .nav .open>a:hover,.skin-black-light .main-header .navbar .nav .open>a:focus,.skin-black-light .main-header .navbar .nav>.active>a{background:#fff;color:#999}.skin-black-light .main-header .navbar .sidebar-toggle{color:#333}.skin-black-light .main-header .navbar .sidebar-toggle:hover{color:#999;background:#fff}.skin-black-light .main-header .navbar>.sidebar-toggle{color:#333;border-right:1px solid #eee}.skin-black-light .main-header .navbar .navbar-nav>li>a{border-right:1px solid #eee}.skin-black-light .main-header .navbar .navbar-custom-menu .navbar-nav>li>a,.skin-black-light .main-header .navbar .navbar-right>li>a{border-left:1px solid #eee;border-right-width:0}.skin-black-light .main-header>.logo{background-color:#fff;color:#333;border-bottom:0 solid transparent;border-right:1px solid #eee}.skin-black-light .main-header>.logo:hover{background-color:#fcfcfc}@media (max-width:767px){.skin-black-light .main-header>.logo{background-color:#222;color:#fff;border-bottom:0 solid transparent;border-right:none}.skin-black-light .main-header>.logo:hover{background-color:#1f1f1f}}.skin-black-light .main-header li.user-header{background-color:#222}.skin-black-light .content-header{background:transparent;box-shadow:none}.skin-black-light .wrapper,.skin-black-light .main-sidebar,.skin-black-light .left-side{background-color:#f9fafc}.skin-black-light .content-wrapper,.skin-black-light .main-footer{border-left:1px solid #d2d6de}.skin-black-light .user-panel>.info,.skin-black-light .user-panel>.info>a{color:#444}.skin-black-light .sidebar-menu>li{-webkit-transition:border-left-color .3s ease;-o-transition:border-left-color .3s ease;transition:border-left-color .3s ease}.skin-black-light .sidebar-menu>li.header{color:#848484;background:#f9fafc}.skin-black-light .sidebar-menu>li>a{border-left:3px solid transparent;font-weight:600}.skin-black-light .sidebar-menu>li:hover>a,.skin-black-light .sidebar-menu>li.active>a{color:#000;background:#f4f4f5}.skin-black-light .sidebar-menu>li.active{border-left-color:#fff}.skin-black-light .sidebar-menu>li.active>a{font-weight:600}.skin-black-light .sidebar-menu>li>.treeview-menu{background:#f4f4f5}.skin-black-light .sidebar a{color:#444}.skin-black-light .sidebar a:hover{text-decoration:none}.skin-black-light .treeview-menu>li>a{color:#777}.skin-black-light .treeview-menu>li.active>a,.skin-black-light .treeview-menu>li>a:hover{color:#000}.skin-black-light .treeview-menu>li.active>a{font-weight:600}.skin-black-light .sidebar-form{border-radius:3px;border:1px solid #d2d6de;margin:10px 10px}.skin-black-light .sidebar-form input[type="text"],.skin-black-light .sidebar-form .btn{box-shadow:none;background-color:#fff;border:1px solid transparent;height:35px}.skin-black-light .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-black-light .sidebar-form input[type="text"]:focus,.skin-black-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-black-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-black-light .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}@media (min-width:768px){.skin-black-light.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{border-left:1px solid #d2d6de}} .skin-black-light .main-header{border-bottom:1px solid #d2d6de}.skin-black-light .main-header .navbar-toggle{color:#333}.skin-black-light .main-header .navbar-brand{color:#333;border-right:1px solid #d2d6de}.skin-black-light .main-header .navbar{background-color:#fff}.skin-black-light .main-header .navbar .nav>li>a{color:#333}.skin-black-light .main-header .navbar .nav>li>a:hover,.skin-black-light .main-header .navbar .nav>li>a:active,.skin-black-light .main-header .navbar .nav>li>a:focus,.skin-black-light .main-header .navbar .nav .open>a,.skin-black-light .main-header .navbar .nav .open>a:hover,.skin-black-light .main-header .navbar .nav .open>a:focus,.skin-black-light .main-header .navbar .nav>.active>a{background:#fff;color:#999}.skin-black-light .main-header .navbar .sidebar-toggle{color:#333}.skin-black-light .main-header .navbar .sidebar-toggle:hover{color:#999;background:#fff}.skin-black-light .main-header .navbar>.sidebar-toggle{color:#333;border-right:1px solid #d2d6de}.skin-black-light .main-header .navbar .navbar-nav>li>a{border-right:1px solid #d2d6de}.skin-black-light .main-header .navbar .navbar-custom-menu .navbar-nav>li>a,.skin-black-light .main-header .navbar .navbar-right>li>a{border-left:1px solid #d2d6de;border-right-width:0}.skin-black-light .main-header>.logo{background-color:#fff;color:#333;border-bottom:0 solid transparent;border-right:1px solid #d2d6de}.skin-black-light .main-header>.logo:hover{background-color:#fcfcfc}@media (max-width:767px){.skin-black-light .main-header>.logo{background-color:#222;color:#fff;border-bottom:0 solid transparent;border-right:none}.skin-black-light .main-header>.logo:hover{background-color:#1f1f1f}}.skin-black-light .main-header li.user-header{background-color:#222}.skin-black-light .content-header{background:transparent;box-shadow:none}.skin-black-light .wrapper,.skin-black-light .main-sidebar,.skin-black-light .left-side{background-color:#f9fafc}.skin-black-light .main-sidebar{border-right:1px solid #d2d6de}.skin-black-light .user-panel>.info,.skin-black-light .user-panel>.info>a{color:#444}.skin-black-light .sidebar-menu>li{-webkit-transition:border-left-color .3s ease;-o-transition:border-left-color .3s ease;transition:border-left-color .3s ease}.skin-black-light .sidebar-menu>li.header{color:#848484;background:#f9fafc}.skin-black-light .sidebar-menu>li>a{border-left:3px solid transparent;font-weight:600}.skin-black-light .sidebar-menu>li:hover>a,.skin-black-light .sidebar-menu>li.active>a{color:#000;background:#f4f4f5}.skin-black-light .sidebar-menu>li.active{border-left-color:#fff}.skin-black-light .sidebar-menu>li.active>a{font-weight:600}.skin-black-light .sidebar-menu>li>.treeview-menu{background:#f4f4f5}.skin-black-light .sidebar a{color:#444}.skin-black-light .sidebar a:hover{text-decoration:none}.skin-black-light .sidebar-menu .treeview-menu>li>a{color:#777}.skin-black-light .sidebar-menu .treeview-menu>li.active>a,.skin-black-light .sidebar-menu .treeview-menu>li>a:hover{color:#000}.skin-black-light .sidebar-menu .treeview-menu>li.active>a{font-weight:600}.skin-black-light .sidebar-form{border-radius:3px;border:1px solid #d2d6de;margin:10px 10px}.skin-black-light .sidebar-form input[type="text"],.skin-black-light .sidebar-form .btn{box-shadow:none;background-color:#fff;border:1px solid transparent;height:35px}.skin-black-light .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-black-light .sidebar-form input[type="text"]:focus,.skin-black-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-black-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-black-light .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}@media (min-width:768px){.skin-black-light.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{border-left:1px solid #d2d6de}}
\ No newline at end of file \ No newline at end of file
...@@ -93,9 +93,12 @@ ...@@ -93,9 +93,12 @@
border-left: 3px solid transparent; border-left: 3px solid transparent;
} }
.skin-black .sidebar-menu > li:hover > a, .skin-black .sidebar-menu > li:hover > a,
.skin-black .sidebar-menu > li.active > a { .skin-black .sidebar-menu > li.active > a,
.skin-black .sidebar-menu > li.menu-open > a {
color: #ffffff; color: #ffffff;
background: #1e282c; background: #1e282c;
}
.skin-black .sidebar-menu > li.active > a {
border-left-color: #ffffff; border-left-color: #ffffff;
} }
.skin-black .sidebar-menu > li > .treeview-menu { .skin-black .sidebar-menu > li > .treeview-menu {
...@@ -108,11 +111,11 @@ ...@@ -108,11 +111,11 @@
.skin-black .sidebar a:hover { .skin-black .sidebar a:hover {
text-decoration: none; text-decoration: none;
} }
.skin-black .treeview-menu > li > a { .skin-black .sidebar-menu .treeview-menu > li > a {
color: #8aa4af; color: #8aa4af;
} }
.skin-black .treeview-menu > li.active > a, .skin-black .sidebar-menu .treeview-menu > li.active > a,
.skin-black .treeview-menu > li > a:hover { .skin-black .sidebar-menu .treeview-menu > li > a:hover {
color: #ffffff; color: #ffffff;
} }
.skin-black .sidebar-form { .skin-black .sidebar-form {
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment