Commit fe728525 authored by liboyang's avatar liboyang

整合页面

parent d16f6b79
module.exports = function(grunt) {
var gtx = require('gruntfile-gtx').wrap(grunt);
gtx.loadAuto();
var gruntConfig = require('./grunt');
gruntConfig.package = require('./package.json');
gtx.config(gruntConfig);
// We need our bower components in order to develop
gtx.alias('build:dev', ['recess:app', 'copy:dev']);
gtx.alias('build:dist', ['clean:dist', 'copy:dist', 'clean:dists', 'recess:min', 'concat:dist', 'uglify:dist']);
gtx.alias('release', ['bower-install-simple', 'build:dev', 'bump-commit']);
gtx.alias('release-patch', ['bump-only:patch', 'release']);
gtx.alias('release-minor', ['bump-only:minor', 'release']);
gtx.alias('release-major', ['bump-only:major', 'release']);
gtx.alias('prerelease', ['bump-only:prerelease', 'release']);
gtx.finalise();
}
\ No newline at end of file

---------------------------------------------------------------------------------
源码之家 www.mycodes.net
================================================================================-
╔---------------------------------------------------------------------------╗
┆ ┆
┆ 高级商业 WordPress主题 joomla主题 magento主题 网站模板 免费分享下载平台 ┆
┆ ┆
╚---------------------------------------------------------------------------╝
================================================================================
您下载的文件来自于 源码之家 www.mycodes.net
This file shared on
主题交易市场 http://ymb.me
╔------------------------------------------------------╗
┆ ┆
┆ WordPress Joomla Magento Site template ┆
┆ ┆
╚------------------------------------------------------╝
================================================================================
Premium WordPress, joomla, magento Themes and Web Templates Free Download
================================================================================
\ No newline at end of file
{
"name": "BootstrapAngularAdminWebApp",
"version": "1.3.3",
"authors": [
"Flatfull"
],
"description": "Admin web application template with Bootstrap 3 and AngularJS.",
"keywords": [
"AngularJS",
"admin",
"admin",
"dashboard",
"admin",
"panel",
"app",
"charts",
"components",
"flat",
"flat",
"ui",
"responsive",
"responsive",
"layout",
"ui",
"kit",
"ui",
"route",
"web",
"app",
"widgets"
],
"license": "Envato REGULAR LICENSE",
"homepage": "http://themeforest.net/item/angulr-bootstrap-admin-web-app-with-angularjs/8437259",
"private": true,
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"font-awesome": "~4.2.0",
"bootstrap": "3.3.0",
"angular": "1.3.2",
"angular-animate": "1.3.2",
"angular-cookies": "1.3.2",
"angular-resource": "1.3.2",
"angular-touch": "1.3.2",
"angular-sanitize": "1.3.2",
"angular-translate": "~2.2.0",
"angular-ui-router": "~0.2.11",
"ngstorage": "~0.3.0",
"oclazyload": "0.5.0",
"angular-bootstrap": "0.12.0",
"angular-ui-utils": "~0.1.1",
"moment": "~2.8.3",
"screenfull": "~1.2.1",
"angular-bootstrap-nav-tree": "*",
"angular-file-upload": "~1.1.1",
"ngImgCrop": "~0.2.0",
"angular-ui-select": "~0.8.3",
"angular-ui-calendar": "latest",
"angularjs-toaster": "~0.4.8",
"ng-grid": "~2.0.13",
"textAngular": "~1.2.2",
"venturocket-angular-slider": "~0.3.2",
"videogular": "0.7.0",
"videogular-controls": "~0.7.0",
"videogular-buffering": "~0.7.0",
"videogular-overlay-play": "~0.7.0",
"videogular-poster": "~0.7.0",
"videogular-ima-ads": "~0.7.0"
}
}
module.exports = {
options: {
color: false,
production: false,
directory: 'bower_components'
}
};
\ No newline at end of file
module.exports = {
options: {
files: ['package.json', 'bower.json'],
updateConfigs: ['package'],
commit: true,
commitMessage: 'Release v%VERSION%',
commitFiles: ['-a'],
createTag: true,
tagName: 'v%VERSION%',
tagMessage: 'Version %VERSION%',
push: true,
pushTo: 'origin',
gitDescribeOptions: '--tags --always --abbrev=1 --dirty=-d'
}
}
\ No newline at end of file
module.exports = {
release: {
options: {
insertType: "prepend",
template: '## Release v<%= package.version %>:\n\n{{> features}}{{> fixes}}\n\n',
partials: {
features: '#### Features:\n\n{{#if features}}{{#each features}}{{> feature}}{{/each}}{{else}}{{> empty}}{{/if}}\n',
fixes: '#### Bugfixes:\n\n{{#if fixes}}{{#each fixes}}{{> fix}}{{/each}}{{else}}{{> empty}}{{/if}}',
empty: ' - (none)\n'
},
dest: "update.txt"
}
}
};
\ No newline at end of file
module.exports = {
dist: ['dist/*'],
dists:[
'dist/css/**',
'dist/js/*.js',
'dist/vendor/angular/',
'dist/js/directives',
'dist/js/services',
'dist/js/filters',
'dist/index.min.html'
]
};
\ No newline at end of file
module.exports = {
dist:{
src:[
'src/vendor/jquery/jquery.min.js',
'src/vendor/angular/angular.js',
'src/vendor/angular/**/*.js',
'src/js/*.js',
'src/js/directives/*.js',
'src/js/services/*.js',
'src/js/filters/*.js',
'src/js/controllers/bootstrap.js'
],
dest:'dist/js/dist.js'
}
}
\ No newline at end of file
module.exports = {
dev: {
nonull: true,
files: [
// Include our bower JS dependencies
// angular
{src: "bower_components/angular/angular.js", dest: "src/vendor/angular/angular.js"},
{src: "bower_components/angular-animate/angular-animate.js", dest: "src/vendor/angular/angular-animate/angular-animate.js"},
{src: "bower_components/angular-cookies/angular-cookies.js", dest: "src/vendor/angular/angular-cookies/angular-cookies.js"},
{src: "bower_components/angular-resource/angular-resource.js", dest: "src/vendor/angular/angular-resource/angular-resource.js"},
{src: "bower_components/angular-sanitize/angular-sanitize.js", dest: "src/vendor/angular/angular-sanitize/angular-sanitize.js"},
{src: "bower_components/angular-touch/angular-touch.js", dest: "src/vendor/angular/angular-touch/angular-touch.js"},
// bootstrap
{src: "bower_components/bootstrap/dist/css/bootstrap.css", dest: "src/css/bootstrap.css"},
{src: "bower_components/bootstrap/dist/js/bootstrap.js", dest: "src/vendor/jquery/bootstrap.js"},
{src: "**", dest: "src/fonts", cwd: 'bower_components/bootstrap/fonts', expand : true},
// fontawesome
{src: "bower_components/font-awesome/css/font-awesome.min.css", dest: "src/css/font-awesome.min.css"},
{src: "**", dest: "src/fonts", cwd: 'bower_components/font-awesome/fonts', expand : true},
// libs
{src: "bower_components/moment/min/moment.min.js", dest: "src/vendor/libs/moment.min.js"},
{src: "bower_components/screenfull/dist/screenfull.min.js", dest: "src/vendor/libs/screenfull.min.js"},
// core
{src: "bower_components/angular-ui-router/release/angular-ui-router.js", dest: "src/vendor/angular/angular-ui-router/angular-ui-router.js"},
{src: "bower_components/angular-bootstrap/ui-bootstrap-tpls.js", dest: "src/vendor/angular/angular-bootstrap/ui-bootstrap-tpls.js"},
{src: "bower_components/angular-translate/angular-translate.js", dest: "src/vendor/angular/angular-translate/angular-translate.js"},
{src: "bower_components/angular-ui-utils/ui-utils.js", dest: "src/vendor/angular/angular-ui-utils/ui-utils.js"},
{src: "bower_components/ngstorage/ngStorage.js", dest: "src/vendor/angular/ngstorage/ngStorage.js"},
{src: "bower_components/oclazyload/dist/ocLazyLoad.js", dest: "src/vendor/angular/oclazyload/ocLazyLoad.js"},
// modules for lazy load
{src: "bower_components/angular-ui-select/dist/select.min.js", dest: "src/vendor/modules/angular-ui-select/select.min.js"},
{src: "bower_components/angular-ui-select/dist/select.min.css", dest: "src/vendor/modules/angular-ui-select/select.min.css"},
{src: "bower_components/textAngular/dist/textAngular.min.js", dest: "src/vendor/modules/textAngular/textAngular.min.js"},
{src: "bower_components/textAngular/dist/textAngular-sanitize.min.js", dest: "src/vendor/modules/textAngular/textAngular-sanitize.min.js"},
{src: "bower_components/venturocket-angular-slider/build/angular-slider.min.js", dest: "src/vendor/modules/angular-slider/angular-slider.min.js"},
{src: "bower_components/angular-bootstrap-nav-tree/dist/abn_tree_directive.js", dest: "src/vendor/modules/angular-bootstrap-nav-tree/abn_tree_directive.js"},
{src: "bower_components/angular-bootstrap-nav-tree/dist/abn_tree.css", dest: "src/vendor/modules/angular-bootstrap-nav-tree/abn_tree.css"},
{src: "bower_components/angular-file-upload/angular-file-upload.min.js", dest: "src/vendor/modules/angular-file-upload/angular-file-upload.min.js"},
{src: "bower_components/ngImgCrop/compile/minified/ng-img-crop.js", dest: "src/vendor/modules/ngImgCrop/ng-img-crop.js"},
{src: "bower_components/ngImgCrop/compile/minified/ng-img-crop.css", dest: "src/vendor/modules/ngImgCrop/ng-img-crop.css"},
// {src: "bower_components/angular-ui-calendar/src/calendar.js", dest: "src/vendor/modules/angular-ui-calendar/calendar.js"},
{src: "bower_components/angular-ui-map/ui-map.js", dest: "src/vendor/modules/angular-ui-map/ui-map.js"},
{src: "bower_components/angularjs-toaster/toaster.js", dest: "src/vendor/modules/angularjs-toaster/toaster.js"},
{src: "bower_components/angularjs-toaster/toaster.css", dest: "src/vendor/modules/angularjs-toaster/toaster.css"},
{src: "bower_components/ng-grid/build/ng-grid.min.js", dest: "src/vendor/modules/ng-grid/ng-grid.min.js"},
{src: "bower_components/ng-grid/ng-grid.min.css", dest: "src/vendor/modules/ng-grid/ng-grid.min.css"},
{src: "bower_components/videogular/videogular.min.js", dest: "src/vendor/modules/videogular/videogular.min.js"},
{src: "bower_components/videogular-controls/controls.min.js", dest: "src/vendor/modules/videogular/plugins/controls.min.js"},
{src: "bower_components/videogular-buffering/buffering.min.js", dest: "src/vendor/modules/videogular/plugins/buffering.min.js"},
{src: "bower_components/videogular-overlay-play/overlay-play.min.js", dest: "src/vendor/modules/videogular/plugins/overlay-play.min.js"},
{src: "bower_components/videogular-poster/poster.min.js", dest: "src/vendor/modules/videogular/plugins/poster.min.js"},
{src: "bower_components/videogular-ima-ads/ima-ads.min.js", dest: "src/vendor/modules/videogular/plugins/ima-ads.min.js"},
]
},
dist: {
files: [
{expand: true, dest: 'dist/', src:'**', cwd:'src/'},
{dest: 'dist/index.html', src:'src/index.min.html'}
]
}
};
\ No newline at end of file
module.exports = {
min: {
files: [{
expand: true,
cwd: 'src/tpl/',
src: ['*.html', '**/*.html'],
dest: 'dist/tpl/',
ext: '.html',
extDot: 'first'
}]
}
}
\ No newline at end of file
var requireDirectory = require('require-directory');
module.exports = requireDirectory(module);
\ No newline at end of file
module.exports = {
app: {
files: {
'src/css/app.css': [
'src/css/less/app.less'
]
},
options: {
compile: true
}
},
min: {
files: {
'dist/css/app.min.css': [
'src/css/bootstrap.css',
'src/css/*.css'
]
},
options: {
compress: true
}
}
}
\ No newline at end of file
module.exports = {
dist:{
src:[
'dist/js/dist.js'
],
dest:'dist/js/app.min.js'
}
}
\ No newline at end of file
{
"name": "BootstrapAngularAdminWebApp",
"version": "1.3.3",
"description": "Admin web application template with Bootstrap 3 and AngularJS.",
"scripts": {
"start": "node node_modules/http-server/bin/http-server src -o"
},
"keywords": [
"AngularJS",
"admin",
"admin",
"dashboard",
"admin",
"panel",
"app",
"charts",
"components",
"flat",
"flat",
"ui",
"responsive",
"responsive",
"layout",
"ui",
"kit",
"ui",
"route",
"web",
"app",
"widgets"
],
"repository": "https://heyflat@bitbucket.org/heyflat/angulr.git",
"author": "Flatfull",
"license": "Envato REGULAR LICENSE",
"dependencies": {},
"devDependencies": {
"grunt": "^0.4.5",
"grunt-bower-install-simple": "^0.9.3",
"grunt-bump": "0.0.15",
"grunt-changelog": "^0.2.2",
"grunt-contrib-clean": "^0.6.0",
"grunt-contrib-concat": "^0.5.0",
"grunt-contrib-copy": "^0.5.0",
"grunt-contrib-htmlmin": "^0.3.0",
"grunt-contrib-uglify": "^0.5.1",
"grunt-recess": "^1.0.0",
"gruntfile-gtx": "^0.3.0",
"http-server": "^0.6.1",
"require-directory": "^2.0.0"
}
}
1: Please put the files on a server or local host to preview.
eg: put the "/src" files under a localhost "src" folder
looks like:
"src/css"
"src/fonts"
"src/img"
"src/js"
"src/tpl"
"src/l10n"
"src/index.html"
then preview: http://localhost/src/index.html in your browser.
2: Documents locate "tpl/docs.html" or "http://localhost/src/index.html#/app/docs"
online: http://flatfull.com/themes/angulr/#/app/docs
3: Use Grunt and Bower
install node.js
go to the app root
>npm install -g grunt-cli
>npm install
>grunt bower-install
>grunt build:dev
>grunt build:dist
>npm start
\ No newline at end of file
## Release v1.3.3:
#### Features:
- Added Music app
- Update angular to 1.3.2
- Update angular-bootstrap to 0.12.0
- Update angular-ui-router to 0.2.12
- Update bootstrap to 3.3.0
- Update angular-ui-calendar to latest
- Update oclazyload to 0.5.0
#### Bugfixes:
- Fix fullcalendar
## Release v1.3.2:
#### Features:
- Added ui-select
- Added textAngular
- Added Slider
- Removed Select2
- Code review -- rearrange js files.
move the components to "src/vendor/",
split the "src/js/controllers.js" to "js/controllers/**"
split the "src/js/directives.js" to "js/directives/**"
split the "src/js/services.js" to "js/services/**"
split the "src/js/filters.js" to "js/filters/**"
#### Bugfixes:
- (none)
## Release v1.3.1:
#### Features:
- Added mega menu
- Added tree view
- Added file upload
- Added image crop
- Added weather app
- Added tabs in vbox
- Added double click to create event on Fullcalendar
- Added background image on boxed layout.
- Added angularjs-stripped.html sample page.
- Changed lang file .json to .js
#### Bugfixes:
- Fix fullscreen button stats
- Fix fullscreen on ie11(disabled)
## Release v1.3.0:
#### Features:
- Included Grunt build steps and bower dependency management.
- Can compile application less files with grunt. Use the command `grunt:less`
- Added grunt for versioning and changelogs.
- Added dashboard v2 page
- Added Note app
- Added Contacts app
- Update Fullcalendar to 2.1.1, "js/jquery/fullcalenar/"
- Update FontAwesome to 4.2
#### Bugfixes:
- Fix sparkline on retina display, "js/jquery/charts/sparkline/jquery.sparkline.min.js"
v 1.2.0
1: add dock aside option (horizontal menu)
added: ".app-aside-dock" class to enable horizontal menu
changed: "/tpl/blocks/settings.html", "/tpl/index.html"
AppCtrl in "/js/controller.js", uiNav in "/js/directives.js"
2: add boxed layout option
added: '.container' class to .app to enable boxed layout.
removed: ".bg-auto-left" and ".bg-auto-right" class
3: add ng-grid
added: 'ocLazyLoad' from https://github.com/ocombe/ocLazyLoad
'ng-grid' from http://angular-ui.github.io/ng-grid/
use ocLazyLoad to lazy load the ng-grid modules
'tpl/table_grid.html'
'js/modules/ng-grid/'
changed: 'js/app.js' to config the ocLazyLoad. and add ngGrid state.
4: add toaster
added: 'js/modules/toaster' from https://github.com/jirikavi/AngularJS-Toaster
'tpl/ui_toaster.html'
changed: 'js/app.js' add ui.toaster state
5: fix sub menu when using ".bg-white"
changed: "/css/less/app.color.less"
6: fix dataTables width issue
changed: "/js/jquery/datatables/datatables.bootstrap.css"
v 1.1.3
1: add PSD file
added: "psd/ui.psd"
2: add application layout
added: "tpl/layout_app.html"
changed: changed: "css/less/app.layout.less", add "app-content-full" class;
"uiNav" directive in "js/directives.js". "js/app.js" to config "layout" router.
"tpl/blocks/nav.html" to add layout nav items
3: add full width layout
added: "tpl/layout.html", "tpl/layout_fullwidth.html", "tpl/layout_footer_fullwidth.html"
4: add mobile layout
added: "tpl/layout_mobile.html", "tpl/layout_footer_mobile.html"
5: add off screen nav "pull-right" option
changed: "css/less/app.nav.offscreen.less"
use the "off-screen pull-right" to push the nav right.
6: improvement on ".item" css
changed: "css/less/app.item.less", the ".top, .bottom" does not have the 100% width.
you can use the ".top" + ".w-full" to make it full width.
affect: "tpl/app_dashboard.html", "tpl/ui_widgets.html"
v 1.1.2
1: add off-screen nav on mobile
added "css/less/app.nav.offscreen.less",
changed: "tpl/blocks/header.html", "tpl/app.html"
2: add sample on signin/signup
added: "api" folder for simulate api, "SigninFormController", "SignupFormController" controller in "js/controllers.js"
changed: "tpl/page_signin.html", "tpl/page_signup.html"
3: add .app-aside-right aside
changed: "tpl/app.html", "css/less/layout.css"
4: add pricing table
added: "tpl/page_price.html"
5: use ui-sref-active to get the link active
changed: "tpl/blocks/nav.html"
6: fix ui-bootstrap carousel conflict with ng-animate
added: directive "setNgAnimate" in "js/directives.js",
changed: "tpl/ui-bootstrap.html", add ' set-ng-animate="false" '
7: fix refresh page when choose language
changed: "tpl/blocks/header.html" add lang.isopen, AppCtrl in "js/controllers.js".
8: improvement foled.fixed aside nav on smart device
changed: uiNav directive in "js/directives.js", "css/less/app.nav.less"
v 1.1.1
1: add ui-module directive, this is used for load other dependence.
changed: add "js/modules" folder, and move the "js/app/calendar/ui-calendar.js" to "js/modules".
changed: "js/app.js"(loading ui-calendar.js path)
2: add Angular Select2, use ui-module directive to load dependences
added: "js/jquery/select2" folder, "js/modules/ui-select2.js"
changed: "js/app.js" constant "MODULE_CONFIG", "js/controllers.js" "FormDemoCtrl", "tpl/form_elements.html"
3: add Angular Google Map
added: "js/app/map" folder, "tpl/ui_googlemap.html", "js/modules/ui-map.js"
changed: "tpl/blocks/nav.html"
4: fix nav padding on OS X trackpad users in WebKit/Blink
issue: http://stackoverflow.com/questions/7855590/how-can-i-prevent-scroll-bars-from-being-hidden-for-os-x-trackpad-users-in-webki
changed: "css/less/app.layout.css", regenerated "app.css"
5: fix header show first when modal closing.
changed: "css/less/app.layout.css", regenerated "app.css"
6: fix flot resize error
changed: "js/jquery/charts/flot/jquery.flot.resize.js"
7: update documents
update about "ui-module" directive.
v 1.1.0
1: change .no-touch to .smart class
changed: "AppCtrl" in "js/controllers.js", detect is smart device then add "smart" class
"css/less/app.layout.less" change the ".no-touch" to ".smart" class.
2: fix butterbar when page scrolled
changed: "uiButterbar" directive in "js/directives.js", scroll to top when page trasistion.
3: add a example how to bind ngModel on the bootstrap-slider.js
changed: "FormDemoCtrl" in "js/controllers.js", "tpl/form_elements.html"
4: fix .less files error
changed: "less/app.butterbar.less", "less/app.colors.less", "less/app.reset.less"
v 1.0.3
1: Save settings to local storage
add: "js/angular/ngStorage.min.js"
changed: "AppCtrl" in "js/controllers.js", "tpl/blocks/header.html", "tpl/blocks/settings.html", "index.html"
2: Add scroll to top at the bottom
changed "tpl/app.html", use ui-scroll directive
3: Fix scroll to top when modal opened
changed: "css/less/app.layout.css", regenerated "app.css"
v 1.0.2
1: Add angular-translate for international
add: "js/angular/angular-translate.js", "js/angular/angular-cookies.min.js", "l10n" folder
changed: "js/app.js", "js/controllers.js", "tpl/blocks/header.html", "tpl/blocks/nav.html"
2: Add footable jquery plugin
added: "js/jquery/footable/footable.all.min.js", "tpl/table_footable.html"
changed "js/app.js" to config ui-jq footable files
3: fix menu on small device.
changed: "tpl/blocks/header.html" add ui-scroll="app" on menu button.
and give a "#app" on "tpl/index.html".
you can change the name "#app" as you want.
4: fix line-height on ".btn-icon" class
changed: "css/less/app.button.less", regenerated app.css
v 1.0.1
1: Add Fullscreen directive
usage: <a ui-fullscreen></a> or <a ui-fullscreen target="#target"></a>
added: "js/libs/screenfull.min.js"
changed: "tpl/blocks/header.html", "js/directives.js" add "uiFullscreen" directive
2: Add Butterbar directive for loading indicator
usage: <div ui-butterbar></div>
added: "css/less/app.butterbar.less"
changed: "tpl/app.html", "js/directives.js" add "uiButterbar" directive
3: Add list group .auto class
effect 404 page
List group has .auto class for "bg-info","bg-primary" ...
Changed, css/less/app.mixins.less, and regenerated app.css
4: Fix scroll bounce when page transition
changed, css/less/app.ng.class, and regenerated app.css
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
.arrow {
border-width: @arrow-outer-width;
z-index: 10;
&,
&:after {
position: absolute;
display: block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
&:after{
border-width: @arrow-width;
content: "";
}
&.top {
left: 50%;
margin-left: -@arrow-outer-width;
border-top-width: 0;
border-bottom-color: @arrow-outer-color;
top: -@arrow-outer-width;
&:after {
top: 1px;
margin-left: -@arrow-width;
border-top-width: 0;
border-bottom-color: @arrow-color;
}
&.arrow-primary{
&:after{
border-bottom-color: @brand-primary;
}
}
&.arrow-info{
&:after{
border-bottom-color: @brand-info;
}
}
&.arrow-success{
&:after{
border-bottom-color: @brand-success;
}
}
&.arrow-danger{
&:after{
border-bottom-color: @brand-danger;
}
}
&.arrow-warning{
&:after{
border-bottom-color: @brand-warning;
}
}
&.arrow-light{
&:after{
border-bottom-color: @brand-light;
}
}
&.arrow-dark{
&:after{
border-bottom-color: @brand-dark;
}
}
&.arrow-black{
&:after{
border-bottom-color: @brand-black;
}
}
}
&.right {
top: 50%;
right: -@arrow-outer-width;
margin-top: -@arrow-outer-width;
border-right-width: 0;
border-left-color: @arrow-outer-color;
&:after {
right: 1px;
bottom: -@arrow-width;
border-right-width: 0;
border-left-color: @arrow-color;
}
&.arrow-primary{
&:after{
border-left-color: @brand-primary;
}
}
&.arrow-info{
&:after{
border-left-color: @brand-info;
}
}
&.arrow-success{
&:after{
border-left-color: @brand-success;
}
}
&.arrow-danger{
&:after{
border-left-color: @brand-danger;
}
}
&.arrow-warning{
&:after{
border-left-color: @brand-warning;
}
}
&.arrow-light{
&:after{
border-left-color: @brand-light;
}
}
&.arrow-dark{
&:after{
border-left-color: @brand-dark;
}
}
&.arrow-black{
&:after{
border-left-color: @brand-black;
}
}
}
&.bottom {
left: 50%;
bottom: -@arrow-outer-width;
margin-left: -@arrow-outer-width;
border-bottom-width: 0;
border-top-color: @arrow-outer-color;
&:after {
bottom: 1px;
margin-left: -@arrow-width;
border-bottom-width: 0;
border-top-color: @arrow-color;
}
&.arrow-primary{
&:after{
border-top-color: @brand-primary;
}
}
&.arrow-info{
&:after{
border-top-color: @brand-info;
}
}
&.arrow-success{
&:after{
border-top-color: @brand-success;
}
}
&.arrow-danger{
&:after{
border-top-color: @brand-danger;
}
}
&.arrow-warning{
&:after{
border-top-color: @brand-warning;
}
}
&.arrow-light{
&:after{
border-top-color: @brand-light;
}
}
&.arrow-dark{
&:after{
border-top-color: @brand-dark;
}
}
&.arrow-black{
&:after{
border-top-color: @brand-black;
}
}
}
&.left {
top: 50%;
left: -@arrow-outer-width;
margin-top: -@arrow-outer-width;
border-left-width: 0;
border-right-color: @arrow-outer-color;
&:after {
left: 1px;
bottom: -@arrow-width;
border-left-width: 0;
border-right-color: @arrow-color;
}
&.arrow-primary{
&:after{
border-right-color: @brand-primary;
}
}
&.arrow-info{
&:after{
border-right-color: @brand-info;
}
}
&.arrow-success{
&:after{
border-right-color: @brand-success;
}
}
&.arrow-danger{
&:after{
border-right-color: @brand-danger;
}
}
&.arrow-warning{
&:after{
border-right-color: @brand-warning;
}
}
&.arrow-light{
&:after{
border-right-color: @brand-light;
}
}
&.arrow-dark{
&:after{
border-right-color: @brand-dark;
}
}
&.arrow-black{
&:after{
border-right-color: @brand-black;
}
}
}
&.pull-left{
left: @arrow-outer-width + 10;
}
&.pull-right{
left: auto;
right: @arrow-outer-width + 10;
}
&.pull-up{
top: @arrow-outer-width + 10;
}
&.pull-down{
top: auto;
bottom: @arrow-outer-width + 10;
}
}
\ No newline at end of file
.butterbar{
position: relative;
margin-bottom: -@butterbar-height;
height: @butterbar-height;
.bar{
position: absolute;
height: 0;
width: 100%;
text-indent: -9999px;
background-color: @brand-info;
&:before{
content: "";
height: @butterbar-height;
position: absolute;
left: 50%;
right: 50%;
background-color: inherit;
}
}
}
.butterbar.active{
-webkit-animation: changebar @butterbar-time*3 infinite @butterbar-time;
-moz-animation: changebar @butterbar-time*3 infinite @butterbar-time;
animation: changebar @butterbar-time*3 infinite @butterbar-time;
.bar{
-webkit-animation: changebar @butterbar-time*3 infinite;
-moz-animation: changebar @butterbar-time*3 infinite;
animation: changebar @butterbar-time*3 infinite;
&:before{
-webkit-animation: movingbar @butterbar-time infinite;
-moz-animation: movingbar @butterbar-time infinite;
animation: movingbar @butterbar-time infinite;
}
}
}
/* Moving bar */
@-webkit-keyframes movingbar{
0% { left:50%; right:50% }
99.9% { left:0%; right:0% }
100% { left:50%; right:50%}
}
@-moz-keyframes movingbar{
0% { left:50%; right:50% }
99.9% { left:0%; right:0% }
100% { left:50%; right:50%}
}
@keyframes movingbar{
0% { left:50%; right:50% }
99.9% { left:0%; right:0% }
100% { left:50%; right:50%}
}
/* change bar */
@-webkit-keyframes changebar{
0% { background-color: @brand-info }
33.3% { background-color: @brand-info }
33.33% { background-color: @brand-warning }
66.6% { background-color: @brand-warning }
66.66% { background-color: @brand-primary }
99.9% { background-color: @brand-primary }
}
@-moz-keyframes changebar{
0% { background-color: @brand-info }
33.3% { background-color: @brand-info }
33.33% { background-color: @brand-warning }
66.6% { background-color: @brand-warning }
66.66% { background-color: @brand-primary }
99.9% { background-color: @brand-primary }
}
@keyframes changebar{
0% { background-color: @brand-info }
33.3% { background-color: @brand-info }
33.33% { background-color: @brand-warning }
66.6% { background-color: @brand-warning }
66.66% { background-color: @brand-primary }
99.9% { background-color: @brand-primary }
}
\ No newline at end of file
.btn{
font-weight: 500;
border-radius: @btn-border-radius;
outline: 0!important;
}
.btn-link{
color: @text-color;
&.active{
webkit-box-shadow:none;
box-shadow:none;
}
}
.btn-default{
.button-variant(@text-color, @btn-default-bg, @btn-default-border);
background-color: #fff;
border-bottom-color: darken(@btn-default-border, 2%);
.box-shadow(0 1px 1px rgba(90,90,90,0.1));
&.btn-bg{
border-color:rgba(0,0,0,0.1);
background-clip: padding-box;
}
}
.btn-primary{
.button-variant(#fff, @brand-primary, @brand-primary);
}
.btn-success{
.button-variant(#fff, @brand-success, @brand-success);
}
.btn-info{
.button-variant(#fff, @brand-info, @brand-info);
}
.btn-warning{
.button-variant(#fff, @brand-warning, @brand-warning);
}
.btn-danger{
.button-variant(#fff, @brand-danger, @brand-danger);
}
.btn-dark{
.button-variant(#fff, @brand-dark, @brand-dark);
}
.btn-black{
.button-variant(#fff, @brand-black, @brand-black);
}
.btn-icon{
padding: 0 !important;
text-align: center;
width:34px;
height: 34px;
i{
top: -1px;
position: relative;
line-height: 34px;
}
&.btn-sm{
width: 30px;
height: 30px;
i{
line-height: 30px;
}
}
&.btn-lg{
width: 45px;
height: 45px;
i{
line-height: 45px;
}
}
}
.btn-rounded{
border-radius: 50px;
padding-left: 15px;
padding-right: 15px;
&.btn-lg{
padding-left: 25px;
padding-right: 25px;
}
}
.btn{
> i{
&.pull-left,
&.pull-right{
line-height: @line-height-base;
}
}
}
.btn-block {
padding-left: 12px;
padding-right: 12px;
}
.btn-group-vertical > .btn:first-child:not(:last-child){
border-top-right-radius: @border-radius-base;
}
.btn-group-vertical > .btn:last-child:not(:first-child){
border-bottom-left-radius: @border-radius-base;
}
.btn-addon {
i{
margin: -7px -12px;
margin-right: 12px;
background-color: rgba(0, 0, 0, 0.1);
width: 34px;
height: 34px;
line-height: 34px;
text-align: center;
float: left;
position: relative;
border-radius: @btn-border-radius 0 0 @btn-border-radius;
&.pull-right{
margin-right: -12px;
margin-left: 12px;
border-radius: 0 @btn-border-radius @btn-border-radius 0;
}
}
&.btn-sm{
i{
margin: -6px -10px;
margin-right: 10px;
width: 30px;
height: 30px;
line-height: 30px;
&.pull-right{
margin-right: -10px;
margin-left: 10px;
}
}
}
&.btn-lg{
i{
margin: -11px -16px;
margin-right: 16px;
width: 45px;
height: 45px;
line-height: 45px;
&.pull-right{
margin-right: -16px;
margin-left: 16px;
}
}
}
&.btn-default{
i{
background-color: transparent;
border-right: 1px solid @border-color;
}
}
}
.btn-groups .btn{
margin-bottom: 5px;
}
\ No newline at end of file
.bg-gd{
#gradient > .vertical(rgba(40,50,60,0), rgba(40,50,60,0.075), 0, 100%);
filter:none;
}
.bg-gd-dk{
#gradient > .vertical(rgba(40,50,60,0), rgba(40,50,60,0.5), 10%, 100%);
filter:none;
}
.bg-light {
.color-variant(@brand-light, 2%, 3%, 3%, 5%);
color: @text-color;
}
.bg-dark {
.color-variant(@brand-dark, 5%, 10%, 5%, 10%);
.font-variant(@brand-dark);
}
.bg-black {
.color-variant(@brand-black, 5%, 10%, 5%, 10%);
.font-variant(@brand-black);
}
.bg-primary {
.color-variant(@brand-primary, 5%, 10%, 5%, 10%);
.font-variant(@brand-primary);
}
.bg-success {
.color-variant(@brand-success, 5%, 10%, 5%, 10%);
.font-variant(@brand-success);
}
.bg-info {
.color-variant(@brand-info, 5%, 10%, 5%, 10%);
.font-variant(@brand-info);
}
.bg-warning {
.color-variant(@brand-warning, 5%, 10%, 5%, 10%);
.font-variant(@brand-warning);
}
.bg-danger {
.color-variant(@brand-danger, 5%, 10%, 5%, 10%);
.font-variant(@brand-danger);
}
.bg-white {
background-color: #fff;
color: @text-color;
a {
color: @link-color;
&:hover{
color: darken(@link-color, 10%);
}
}
.text-muted{color: @text-muted !important;}
.lt,
.lter,
.dk,
.dker{
background-color: #fff;
}
}
.bg-white-only{background-color:#fff;}
.bg-white-opacity{
background-color: rgba(255, 255, 255, 0.5);
}
.bg-black-opacity{
background-color: rgba(32, 43, 54, 0.5);
}
a.bg-light{
&:hover{
color: @link-color;
}
}
.text-wariant(@brand-primary, primary);
.text-wariant(@brand-info, info);
.text-wariant(@brand-success, success);
.text-wariant(@brand-warning, warning);
.text-wariant(@brand-danger, danger);
.text-wariant(@brand-dark, dark);
.text-wariant(@brand-black, black);
.text-white {
color: #fff;
}
.text-muted {
color: @text-muted;
}
\ No newline at end of file
.i-switch{
cursor: pointer;
position: relative;
display: inline-block;
width: @switch-width;
height: @switch-height;
border-radius: 30px;
background-color: @brand-success;
margin: 0;
input{
position: absolute;
.opacity(0);
&:checked{
+ i{
&:before{
top: 50%;
bottom: 50%;
left: 50%;
right: 5px;
border-width: 0;
border-radius: 5px;
}
&:after{
margin-left: @switch-width - @switch-height + 1;
}
}
}
}
i{
&:before{
content: "";
position: absolute;
top: -1px;
bottom: -1px;
left: -1px;
right: -1px;
background-color: #fff;
border: 1px solid #f0f0f0;
border-radius: 30px;
.transition(all 0.2s);
}
&:after{
content: "";
position: absolute;
background-color: #fff;
width: @switch-height - 2;
top: 1px;
bottom: 1px;
border-radius: 50%;
.box-shadow(1px 1px 3px rgba(0, 0, 0, 0.25));
.transition(margin-left 0.3s);
}
}
}
.i-switch-md{
width: @switch-md-width;
height: @switch-md-height;
input{
&:checked{
+ i{
&:after{
margin-left: @switch-md-width - @switch-md-height + 1;
}
}
}
}
i{
&:after{
width: @switch-md-height - 2;
}
}
}
.i-switch-lg{
width: @switch-lg-width;
height: @switch-lg-height;
input{
&:checked{
+ i{
&:after{
margin-left: @switch-lg-width - @switch-lg-height + 1;
}
}
}
}
i{
&:after{
width: @switch-lg-height - 2;
}
}
}
.i-checks{
padding-left: 20px;
cursor: pointer;
input{
opacity: 0;
position: absolute;
margin-left: -20px;
&:checked + i{
border-color: @brand-info;
&:before{
left: 4px;
top: 4px;
width: 10px;
height: 10px;
background-color: @brand-info;
}
}
&:checked + span .active{
display: inherit;
}
&[type="radio"] + i{
&,
&:before{
border-radius: 50%;
}
}
&[type="checkbox"]:checked + i:before{
}
&[type="radio"]:checked + i:before{
}
&[disabled],
fieldset[disabled] & {
& + i{
border-color: lighten(@input-border, 5%);
&:before{
background-color: lighten(@input-border, 5%);
}
}
}
}
> i{
width: 20px;
height: 20px;
line-height: 1;
border: 1px solid @input-border;
background-color: #fff;
margin-left: -20px;
margin-top: -2px;
display: inline-block;
vertical-align: middle;
margin-right: 4px;
position: relative;
&:before{
content:"";
position: absolute;
left: 50%;
top: 50%;
width: 0px;
height: 0px;
background-color: transparent;
.transition(all 0.2s);
}
}
> span{
margin-left: -20px;
.active{
display: none;
}
}
}
.i-checks-sm{
input{
&:checked + i{
&:before{
left: 3px;
top: 3px;
width: 8px;
height: 8px;
}
}
}
> i{
width: 16px;
height: 16px;
margin-left: -18px;
margin-right: 6px;
}
}
.i-checks-lg{
input{
&:checked + i{
&:before{
left: 8px;
top: 8px;
width: 12px;
height: 12px;
}
}
}
> i{
width: 30px;
height: 30px;
}
}
// ui.bootstrap datepicker
.datepicker{margin: 0 5px}
.datepicker .btn-default{border-width: 0;box-shadow: none;}
.datepicker .btn[disabled]{opacity: 0.4}
.datepicker .btn-info .text-info{color: #fff !important;}
\ No newline at end of file
.item{
position: relative;
.top{
position: absolute;
top: 0;
left: 0;
}
.bottom{
position: absolute;
bottom: 0;
left: 0;
}
.center{
position: absolute;
top:50%;
}
}
.item-overlay{
display: none;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
&.active,
.item:hover & {
display: block;
}
}
\ No newline at end of file
html{
background: url('../img/bg.jpg');
background-attachment: fixed;
background-size: cover;
}
.app.container{
padding-left: 0;
padding-right: 0;
}
@media (min-width: 768px) {
.app.container{
width: 750px;
.box-shadow(0 0 30px rgba(0,0,0,0.3));
.app-aside{
overflow-x: hidden;
}
&.app-aside-folded{
.app-aside{
overflow-x: visible;
}
}
&.app-aside-fixed{
.aside-wrap{
left: inherit;
}
&.app-aside-folded{
.app-aside{
> ul.nav{
position: absolute;
}
}
}
}
.app-header,
.app-aside{
max-width: 750px;
}
.app-footer-fixed{
left: auto;
right: auto;
width: 100%;
max-width: 750 - @app-aside-width;
}
&.app-aside-folded{
.app-footer-fixed{
max-width: 750 - @app-aside-folded-width;
}
}
&.app-aside-dock{
.app-footer-fixed{
max-width: 750px;
}
}
}
}
@media (min-width: 992px) {
.app.container{
width: 970px;
.app-header,
.app-aside{
max-width: 970px;
}
.app-footer-fixed{
max-width: 970 - @app-aside-width;
}
&.app-aside-folded{
.app-footer-fixed{
max-width: 970 - @app-aside-folded-width;
}
}
&.app-aside-dock{
.app-footer-fixed{
max-width: 970px;
}
}
}
}
@media (min-width: 1200px) {
.app.container{
width: 1170px;
.app-header,
.app-aside{
max-width: 1170px;
}
.app-footer-fixed{
max-width: 1170 - @app-aside-width;
}
&.app-aside-folded{
.app-footer-fixed{
max-width: 1170 - @app-aside-folded-width;
}
}
&.app-aside-dock{
.app-footer-fixed{
max-width: 1170px;
}
}
}
}
\ No newline at end of file
/*layout*/
html, body{
width: 100%;
height: 100%;
}
body{
overflow-x: hidden;
}
.app{
height: auto;
min-height: 100%;
width: 100%;
position: relative;
&:before{
content: "";
position: absolute;
width: inherit;
top: 0;
bottom: 0;
z-index: -1;
background-color: @body-bg;
border: inherit;
display: block;
}
}
.app-header-fixed{
padding-top: @app-header-height;
.app-header{
position: fixed;
top: 0;
width: 100%;
}
}
.app-header{
z-index: 1025;
border-radius: 0;
}
// menu
.app-aside{
float: left;
&:before{
content: "";
position: absolute;
width: inherit;
top: 0;
bottom: 0;
z-index: -1;
background-color: inherit;
border: inherit;
}
}
.app-aside-footer{
position: absolute;
bottom: 0;
width: 100%;
z-index: 1000;
max-width: @app-aside-width;
.app-aside-folded & {
max-width: @app-aside-folded-width;
}
~ div{
padding-bottom: 50px;
}
}
.app-aside-right{
padding-bottom: @app-header-height;
}
// content
.app-content{
height: 100%;
.clearfix();
}
.app-content-full{
position: absolute;
top: @app-header-height;
bottom: @app-header-height;
height: auto;
width: auto !important;
padding: 0 !important;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
&.h-full{
bottom: 0;
height: auto;
}
}
.app-content-body{
padding-bottom: @app-header-height;
float: left;
width: 100%;
}
// footer
.app-footer{
position: absolute;
bottom: 0;
left: 0;
right: 0;
z-index: 1005;
&.app-footer-fixed{
position: fixed;
}
}
.hbox{
display: table;
table-layout: fixed;
border-spacing: 0;
width: 100%;
height: 100%;
.col{
display: table-cell;
vertical-align: top;
height: 100%;
float: none;
}
}
.v-middle{vertical-align: middle !important;}
.v-top{vertical-align: top !important;}
.v-bottom{vertical-align: bottom !important;}
.vbox{
display: table;
border-spacing:0;
position: relative;
width: 100%;
height: 100%;
min-height: 240px;
.row-row {
display: table-row;
height: 100%;
.cell {
position: relative;
height: 100%;
width: 100%;
-webkit-overflow-scrolling:touch;
overflow: auto;
.ie & {
display: table-cell;
}
.cell-inner {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
}
}
}
// navbar
.navbar{
.navbar-form-sm{
margin-top: 10px;
margin-bottom: 10px;
}
border-width: 0;
border-radius: 0;
margin: 0;
}
.navbar-md{
min-height: @app-header-md-height;
.navbar-btn{
margin-top: 13px;
}
.navbar-form{
margin-top: 15px;
}
.navbar-nav > li > a{
padding-top: 20px;
padding-bottom: 20px;
}
.navbar-brand{
line-height: 60px;
}
}
.navbar-header{
> button{
text-decoration: none;
line-height: 30px;
font-size: 16px;
padding: 10px 17px;
border: none;
background-color: transparent;
}
}
.navbar-brand{
float: none;
text-align: center;
font-size: 20px;
font-weight: 700;
height: auto;
line-height: @app-header-height;
display: inline-block;
padding: 0 20px;
&:hover{
text-decoration: none;
}
img{
max-height: 20px;
margin-top: -4px;
vertical-align: middle;
}
}
@media (min-width: 768px) {
.app-aside,
.navbar-header {
width: @app-aside-width;
}
.navbar-collapse,
.app-content,
.app-footer{
margin-left: @app-aside-width;
}
.app-aside-right{
position: absolute;
top: @app-header-height;
bottom: 0;
right: 0;
z-index: 1000;
&.pos-fix{
z-index: 1010;
}
}
.visible-folded{display: none;}
.app-aside-folded{
.hidden-folded{
display: none !important;
}
.visible-folded{
display: inherit;
}
.text-center-folded{
text-align: center;
}
.pull-none-folded{
float: none !important;
}
.w-auto-folded{
width: auto;
}
.app-aside,
.navbar-header {
width: @app-aside-folded-width;
}
.navbar-collapse,
.app-content,
.app-footer{
margin-left: @app-aside-folded-width;
}
.app-header{
.navbar-brand{
display: block;
padding: 0;
}
}
}
.app-aside-fixed{
.app-header{
.navbar-header{
position: fixed;
}
}
.aside-wrap{
position: fixed;
overflow: hidden;
top: @app-header-height;
bottom: 0;
left: 0;
width: @app-aside-width;
z-index: 1000;
.navi-wrap{
width: @app-aside-width + @scroll-bar-width;
position: relative;
height: 100%;
overflow-x:hidden;
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
&::-webkit-scrollbar {
-webkit-appearance: none;
}
&::-webkit-scrollbar:vertical {
width: @scroll-bar-width;
}
}
.smart & .navi-wrap{
width: @app-aside-width;
}
}
&.app-aside-folded{
.app-aside{
position: fixed;
top: 0;
bottom: 0;
z-index: 1010;
}
.aside-wrap{
width: @app-aside-folded-width;
.navi-wrap{
width: @app-aside-folded-width + @scroll-bar-width;
}
.smart & .navi-wrap{
width: @app-aside-folded-width;
}
}
}
}
.bg-auto{
&:before{
content: "";
position: absolute;
width: inherit;
top: 0;
bottom: 0;
z-index: -1;
background-color: inherit;
border: inherit;
}
&.b-l:before{
margin-left: -1px;
}
&.b-r:before{
margin-right: -1px;
}
}
.col.show{
display: table-cell !important;
}
}
// sm
@media (min-width: 768px) and (max-width: 991px) {
.hbox-auto-sm{
display: block;
> .col{
width: auto;
height: auto;
display: block;
&.show{
display: block !important;
}
}
}
}
// xs
@media (max-width: 767px) {
.app-aside{
float: none;
}
.app-content-full{
width: 100% !important;
}
.hbox-auto-xs{
display: block;
> .col{
width: auto;
height: auto;
display: block;
}
}
.navbar-nav{
margin-top: 0;
margin-bottom: 0;
> li > a{
box-shadow:0 -1px 0 rgba(0,0,0,0.1);
.up{
top: 0;
}
.avatar{
width: 30px;
margin-top: -5px;
}
}
.open .dropdown-menu{
background-color: #fff;
}
}
.navbar-form{
box-shadow:0 -1px 0 rgba(0,0,0,0.1);
margin-top: 0 !important;
margin-bottom: 0 !important;
.form-group{
margin-bottom: 0;
}
}
}
\ No newline at end of file
// Core variables and mixins
@import "app.variables.less";
@import "app.mixins.less";
@import "app.reset.less";
@import "app.layout.less";
@import "app.layout.boxed.less";
@import "app.nav.less";
@import "app.nav.offscreen.less";
@import "app.nav.dock.less";
@import "app.arrow.less";
@import "app.buttons.less";
@import "app.widgets.less";
@import "app.components.less";
@import "app.plugin.less";
@import "app.item.less";
@import "app.ng.less";
@import "app.colors.less";
@import "app.utilities.less";
@import "app.butterbar.less";
\ No newline at end of file
This diff is collapsed.
@media (min-width: @app-aside-dock-media) {
.app-aside-dock{
.app-content,
.app-footer{
margin-left: 0;
}
.app-aside-footer ~ div{
padding-bottom: 0;
}
&.app-aside-fixed{
&.app-header-fixed{
padding-top: 115px;
}
.app-aside{
position: fixed;
top: 50px;
width: 100%;
z-index: 1000;
}
}
.app-aside,
.aside-wrap,
.navi-wrap{
float: none;
width: 100% !important;
position: relative;
top: 0;
overflow: visible !important;
}
.app-aside{
bottom: auto !important;
&.b-r{
border-right-width: 0;
border-bottom:1px solid @border-color;
}
&:before {
display: none;
}
nav > .nav{
float: left;
}
.hidden-folded,
.line,
.navi-wrap > div{
display: none !important;
}
.navi > ul > li{
position: relative;
float: left;
display: inline-block;
> a{
padding: 10px 15px 12px 15px;
text-align: center;
height: auto;
> .badge,
> .label{
position: absolute;
top: 5px;
right: 8px;
padding: 1px 4px;
}
> i{
margin-left: auto;
margin-right: auto;
margin-bottom: -7px;
margin-top: -10px;
display: block;
float: none;
font-size: 14px;
line-height: 40px;
width: 40px;
}
> span.pull-right{
position: absolute;
bottom: 2px;
left: 50%;
margin-left: -6px;
display: block !important;
line-height: 1;
i {
&.text{
.rotate(90deg);
line-height: 14px;
}
line-height: 12px;
width: 12px;
font-size: 12px;
}
}
> span{
font-weight: normal;
display: block;
}
}
.nav-sub{
height: auto !important;
display: none;
position: absolute;
left: 0;
top: auto !important;
z-index: 1050;
width: @app-aside-width;
.box-shadow(0 2px 6px rgba(0,0,0,0.1));
}
.nav-sub-header{
display: none !important;
}
}
.navi li li a{
padding-left: 15px;
}
.navi li:hover,
.navi li:focus,
.navi li:active{
.nav-sub{
display: block;
opacity: 1;
margin-left: 0;
height: auto !important;
overflow: auto;
}
}
}
}
}
\ No newline at end of file
.nav-sub{
opacity: 0;
height: 0;
overflow: hidden;
margin-left: -20px;
.transition(all .2s ease-in-out 0s);
.active &,
.app-aside-folded li:hover &,
.app-aside-folded li:focus &,
.app-aside-folded li:active &{
opacity: 1;
margin-left: 0;
height: auto !important;
overflow: auto;
}
}
.nav-sub-header {
display: none !important;
a{
padding: floor((@app-aside-folded-nav-height - @line-height-computed)/2) 20px;
}
}
.navi {
ul.nav {
li {
display: block;
position: relative;
li {
a {
padding-left: @app-aside-nav-height + 15px;
}
}
a {
font-weight: normal;
text-transform: none;
display: block;
padding: floor((@app-aside-nav-height - @line-height-computed)/2) 20px;
position: relative;
.transition(background-color .2s ease-in-out 0s);
.badge,
.label {
font-size: 11px;
padding: 2px 5px;
margin-top: 2px;
}
> i {
margin: floor(-(@app-aside-nav-height - @line-height-computed)/2) -10px;
line-height: @app-aside-nav-height;
width: @app-aside-nav-height;
float: left;
margin-right: 5px;
text-align: center;
position: relative;
overflow: hidden;
&:before {
position: relative;
z-index: 2;
}
}
}
}
}
}
@media (min-width: 768px) {
.app-aside-folded{
.nav-sub-header{
display: block !important;
a{
padding: floor((@app-aside-folded-nav-height - @line-height-computed)/2) 20px !important;
}
}
.navi{
> ul {
> li {
> a {
position: relative;
padding: 0;
text-align: center;
height: @app-aside-folded-nav-height;
border: none;
span {
display: none;
&.pull-right{
display: none !important;
}
}
i{
width: auto;
float: none;
display: block;
font-size: 16px;
margin: 0;
line-height: @app-aside-folded-nav-height;
border: none !important;
b{
left: 0 !important;
}
}
.badge,
.label{
position: absolute;
right: 12px;
top: 8px;
z-index: 3;
}
}
}
ul{
height: 0 !important;
position: absolute;
left: 100%;
top: 0 !important;
z-index: 1050;
width: @app-aside-width;
.box-shadow(0 2px 6px rgba(0,0,0,0.1));
}
}
li {
li{
a{
padding-left: 20px !important;
}
}
}
}
}
.app-aside-folded.app-aside-fixed .app-aside{
> ul.nav {
&:before{
content:"";
width: @app-aside-folded-width;
height: @app-aside-folded-nav-height;
position: absolute;
left: -@app-aside-folded-width;
top: 0;
}
z-index: 1010;
opacity: 1;
height: auto;
overflow: visible;
overflow-y: auto;
display: block;
width: @app-aside-width + @app-aside-folded-width;
left: @app-aside-folded-width + 20;
position: fixed;
-webkit-overflow-scrolling: touch;
a{
padding-left: 20px !important;
padding-right: 20px !important;
}
}
}
}
\ No newline at end of file
@media (max-width: 767px) {
.app{
overflow-x: hidden;
}
.app-content{
.transition-transform(0.2s ease);
}
.off-screen{
position: absolute;
top: 50px;
bottom: 0;
width: @off-screen-width;
display: block !important;
visibility: visible;
overflow-x: hidden;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
z-index: 1010;
+ *{
background-color: @body-bg;
.transition-transform(0.2s ease);
.backface-visibility(hidden);
.translate3d(@off-screen-width, 0px, 0px);
overflow: hidden;
position: absolute;
width: 100%;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 1015;
padding-top: 50px;
.off-screen-toggle {
display:block !important;
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 1020;
}
}
&.pull-right{
right: 0;
+ *{
.translate3d(-@off-screen-width, 0px, 0px);
}
}
}
}
\ No newline at end of file
.form-validation{
.form-control{
&.ng-dirty.ng-invalid{
border-color: @brand-danger;
}
&.ng-dirty.ng-valid{
&,
&:focus{
border-color: @brand-success;
}
}
}
.i-checks{
.ng-invalid.ng-dirty + i{
border-color: @brand-danger;
}
}
}
.ng-animate .bg-auto:before{
display: none;
}
[ui-view].ng-leave {
display: none;
}
[ui-view].ng-leave.smooth {
display: block;
}
.smooth.ng-animate{
position: absolute;
width: 100%;
height: 100%;
overflow: hidden;
}
// big animation
.fade-in-right-big.ng-enter {
-webkit-animation: fadeInRightBig 0.5s;
animation: fadeInRightBig 0.5s;
}
.fade-in-right-big.ng-leave {
-webkit-animation: fadeOutLeftBig 0.5s;
animation: fadeOutLeftBig 0.5s;
}
.fade-in-left-big.ng-enter {
-webkit-animation: fadeInLeftBig 0.5s;
animation: fadeInLeftBig 0.5s;
}
.fade-in-left-big.ng-leave {
-webkit-animation: fadeOutRightBig 0.5s;
animation: fadeOutRightBig 0.5s;
}
.fade-in-up-big.ng-enter {
-webkit-animation: fadeInUpBig 0.5s;
animation: fadeInUpBig 0.5s;
}
.fade-in-up-big.ng-leave {
-webkit-animation: fadeOutUpBig 0.5s;
animation: fadeOutUpBig 0.5s;
}
.fade-in-down-big.ng-enter {
-webkit-animation: fadeInDownBig 0.5s;
animation: fadeInDownBig 0.5s;
}
.fade-in-down-big.ng-leave {
-webkit-animation: fadeOutDownBig 0.5s;
animation: fadeOutDownBig 0.5s;
}
// small
.fade-in.ng-enter {
-webkit-animation: fadeIn 0.5s;
animation: fadeIn 0.5s;
}
.fade-in.ng-leave {
-webkit-animation: fadeOut 0.5s;
animation: fadeOut 0.5s;
}
.fade-in-right.ng-enter {
-webkit-animation: fadeInRight 0.5s;
animation: fadeInRight 0.5s;
}
.fade-in-right.ng-leave {
-webkit-animation: fadeOutLeft 0.5s;
animation: fadeOutLeft 0.5s;
}
.fade-in-left.ng-enter {
-webkit-animation: fadeInLeft 0.5s;
animation: fadeInLeft 0.5s;
}
.fade-in-left.ng-leave {
-webkit-animation: fadeOutRight 0.5s;
animation: fadeOutRight 0.5s;
}
.fade-in-up.ng-enter {
-webkit-animation: fadeInUp 0.5s;
animation: fadeInUp 0.5s;
}
.fade-in-up.ng-leave {
-webkit-animation: fadeOutUp 0.5s;
animation: fadeOutUp 0.5s;
}
.fade-in-down.ng-enter {
-webkit-animation: fadeInDown 0.5s;
animation: fadeInDown 0.5s;
}
.fade-in-down.ng-leave {
-webkit-animation: fadeOutDown 0.5s;
animation: fadeOutDown 0.5s;
}
\ No newline at end of file
/*Charts*/
.jqstooltip{
background-color: rgba(0,0,0,0.8) !important;
border: solid 1px #000 !important;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
padding: 5px 10px !important;
.box-sizing(content-box);
}
// easypie
.easyPieChart {
position: relative;text-align: center;
> div{
position: relative;
z-index: 1;
.text{
position: absolute;
width: 100%;
top: 60%;
line-height: 1;
}
img{
margin-top: -4px;
}
}
canvas {
position: absolute;
top: 0;
left: 0;
z-index: 0
}
}
// flot tip
#flotTip {
padding: 4px 10px;
background-color: rgba(0,0,0,0.8);
border: solid 1px #000 !important;
z-index: 100;
font-size: 12px;
color: #fff;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
// flot lengend
.legendColorBox{
> div{
border: none !important;
margin: 5px;
> div{
border-radius: 10px;
}
}
}
// sortable
.sortable-placeholder{list-style: none;border: 1px dashed #CCC;min-height: 50px;margin-bottom: 5px}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
/*
*/
@brand-primary: #7266ba;
@brand-info: #23b7e5;
@brand-success: #27c24c;
@brand-warning: #fad733;
@brand-danger: #f05050;
@brand-light: #edf1f2;
@brand-dark: #3a3f51;
@brand-black: #1c2b36;
@body-bg: lighten(@brand-light, 1%);
@text-color: #58666e;
@text-muted: lighten(@text-color, 25%);
@font-family-sans-serif: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
@font-family-serif: Georgia, "Times New Roman", Times, serif;
@font-family-base: @font-family-sans-serif;
@font-size-base: 14px;
@font-size-lg: ceil(@font-size-base * 1.23); // ~20px
@font-size-md: ceil(@font-size-base * 1.14); // ~16px
@font-size-sm: ceil(@font-size-base * 0.92); // ~13px
@font-size-xs: ceil(@font-size-base * 0.85); // ~12px
@link-color: darken(@text-color, 15%);
@link-hover-color: darken(@text-color, 30%);
@border-radius-base: 2px;
@border-color: darken(@brand-light, 5%);
@line-height-base: 1.42857143; // 20/14
@line-height-computed: floor(@font-size-base * @line-height-base); // ~20px
@icon-css-prefix: i;
// Buttons
// -------------------------
@btn-default-color: @text-color;
@btn-default-bg: lighten(@brand-light, 5%);
@btn-default-border: @border-color;
@btn-border-radius: @border-radius-base;
@input-border: darken(@border-color, 5%);
@input-border-focus: @brand-info;
@input-border-radius: @border-radius-base;
@panel-bg: #fff;
@panel-border: @border-color;
@panel-heading-border: lighten(@border-color, 5%);
@panel-list-group-border: lighten(@border-color, 5%);
@panel-border-radius: @border-radius-base;
@panel-heading-bg: lighten(@brand-light, 3%);
@panel-footer-bg: #fff;
@nav-bg: lighten(@brand-light, 3%);
@badge-bg: darken(@brand-light, 10%);
@list-group-item-border: lighten(@border-color, 3%);
@list-group-item-hover: lighten(@brand-light, 3%);
@list-group-item-focus: darken(@brand-light, 3%);
@list-group-select-color: #dbeef9;
@list-group-active-color: @brand-info;
@table-border-color: lighten(@border-color, 4%);
@table-striped-color: lighten(@brand-light, 4.5%);;
@arrow-width: 8px;
@arrow-color: #fff;
@arrow-outer-width: (@arrow-width + 1);
@arrow-outer-color: rgba(0,0,0,.1);
@switch-width: 35px;
@switch-height: 20px;
@switch-md-width: 40px;
@switch-md-height: 24px;
@switch-lg-width: 50px;
@switch-lg-height: 30px;
@app-aside-width: 200px;
@app-aside-nav-height: 40px;
@app-aside-folded-width: 60px;
@app-aside-folded-nav-height: 50px;
@app-aside-dock-media: 992px;
@app-header-height: 50px;
@app-header-md-height: 60px;
@scroll-bar-width: 17px;
@butterbar-height: 3px;
@butterbar-time: 0.75s;
@off-screen-width: 75%;
\ No newline at end of file
// icon list
.list-icon i{font-size: 14px;width:40px;vertical-align:middle;margin:0;display: inline-block;text-align: center;.transition(font-size .2s);}
.list-icon div{line-height: 40px;white-space: nowrap;}
.list-icon div:hover i{font-size:26px;}
// settings
.settings{
z-index: 1050;
position: fixed;
top: 120px;
right: -240px;
width: 240px;
.transition(right 0.2s);
}
.settings.active{
right: -1px;
}
.settings > .btn{
background: @panel-heading-bg !important;
border-right-width: 0;
border-color: @border-color;
position: absolute;
left: -42px;
top: -1px;
padding: 10px 15px;
}
.settings .i-checks span b{
width: 50%;
height: 20px;
display: inline-block;
float: left;
}
.settings .i-checks span b.header{
height: 10px;
}
// streamline
.streamline {
position: relative;
border-color: @border-color;
.sl-item:after,
&:after{
content: '';
position: absolute;
background-color: #fff;
border-color: inherit;
border-width: 1px;
border-style: solid;
border-radius: 10px;
width: 9px;
height: 9px;
margin-left: -5px;
bottom: 0;
left: 0;
}
}
.sl-item{
border-color: @border-color;
position: relative;
padding-bottom: 1px;
.clearfix();
&:after{
top: 6px;
bottom: auto;
}
&.b-l{
margin-left: -1px;
}
}
// timeline
.timeline{
margin: 0;
padding: 0;
}
.tl-item{
display: block;
.clearfix();
}
.visible-left{
display: none;
}
.tl-wrap{
display: block;
margin-left: 6em;
padding: 15px 0 15px 20px;
border-style: solid;
border-color: @border-color;
border-width: 0 0 0 4px;
.clearfix();
&:before{
position: relative;
content: "";
float: left;
top: 15px;
margin-left: -27px;
width: 10px;
height: 10px;
border-color: inherit;
border-width: 3px;
border-radius: 50%;
border-style: solid;
background: @brand-light;
box-shadow: 0 0 0 4px @body-bg;
}
&:hover:before{
background: transparent;
border-color: #fff;
}
}
.tl-date{
position: relative;
top: 10px;
float: left;
margin-left: -7.5em;
display: block;
width: 4.5em;
text-align: right;
}
.tl-content{
display: inline-block;
position: relative;
padding-top: 10px;
padding-bottom: 10px;
&.block{
display: block;
width: 100%;
}
&.panel{
margin-bottom: 0;
}
}
.tl-header{
display: block;
width: 12em;
text-align: center;
margin-left: 2px;
}
.timeline-center{
.tl-item{
margin-left: 50%;
.tl-wrap{
margin-left: -2px;
}
}
.tl-header{
width: auto;
margin: 0;
}
.tl-left{
margin-left: 0;
margin-right: 50%;
.hidden-left{
display: none !important;
}
.visible-left{
display: inherit;
}
.tl-wrap{
float: right;
margin-right: -2px;
border-left-width: 0;
border-right-width: 4px;
padding-left: 0;
padding-right: 20px;
&:before{
float: right;
margin-left: 0;
margin-right: -27px;
}
}
.tl-date{
float: right;
margin-left: 0;
margin-right: -8.5em;
text-align: left;
}
}
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<div class="ui-dialog-title">
提示
</div>
<div class="ui-dialog-content">
<div>{{msgText}}</div>
<div><span style="color: red">{{errText}}</span></div>
</div>
<div class="ui-dialog-confirm">
<button class="btn btn-info" ng-click="confirmYes()">确定</button>
</div>
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.
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.
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