Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
L
luna
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ops
luna
Commits
ad077e23
Unverified
Commit
ad077e23
authored
Feb 08, 2018
by
liuzheng712
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: update
parent
be6d2036
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
1307 additions
and
134 deletions
+1307
-134
.angular-cli.json
.angular-cli.json
+2
-0
leftbar.component.html
src/app/elements/leftbar/leftbar.component.html
+29
-74
leftbar.component.scss
src/app/elements/leftbar/leftbar.component.scss
+43
-0
leftbar.component.ts
src/app/elements/leftbar/leftbar.component.ts
+84
-2
setting-page.component.html
src/app/setting-page/setting-page.component.html
+2
-2
setting-page.component.scss
src/app/setting-page/setting-page.component.scss
+4
-0
test-page.component.html
src/app/test-page/test-page.component.html
+7
-6
inspinia.js
src/assets/inspinia/inspinia.js
+298
-0
style.scss
src/assets/inspinia/style.scss
+1
-1
jquery.slimscroll.js
src/assets/slimscroll/jquery.slimscroll.js
+471
-0
jquery.slimscroll.min.js
src/assets/slimscroll/jquery.slimscroll.min.js
+17
-0
jumpserver.css
src/sass/jumpserver.css
+348
-0
style.scss
src/sass/style.scss
+1
-49
logo-text.png
src/static/imgs/logo-text.png
+0
-0
No files found.
.angular-cli.json
View file @
ad077e23
...
...
@@ -31,6 +31,8 @@
"../node_modules/jquery-sparkline/jquery.sparkline.js"
,
"../node_modules/tether/dist/js/tether.min.js"
,
"../node_modules/bootstrap/dist/js/bootstrap.min.js"
,
"assets/inspinia/inspinia.js"
,
"assets/slimscroll/jquery.slimscroll.min.js"
,
"../node_modules/xterm/dist/xterm.js"
],
"environmentSource"
:
"environments/environment.ts"
,
...
...
src/app/elements/leftbar/leftbar.component.html
View file @
ad077e23
<nav
class=
"navbar-default navbar-static-side"
role=
"navigation"
>
<div
class=
"sidebar-collapse"
>
<ul
class=
"nav"
id=
"side-menu"
>
<li
id=
"index"
>
<a
href=
""
>
<i
class=
"fa fa-dashboard"
style=
"font-size: 13px"
></i>
<span
class=
"nav-label"
>
trans 'Dashboard'
</span><span
class=
"label label-info pull-right"
></span>
</a>
</li>
<li
id=
"users"
>
<a
href=
"#"
>
<i
class=
"fa fa-group"
style=
"font-size: 13px"
></i>
<span
class=
"nav-label"
>
trans 'Users'
</span><span
class=
"fa arrow"
></span>
</a>
<ul
class=
"nav nav-second-level active"
>
<li
id=
"user"
><a
href=
""
>
trans 'User'
</a></li>
<li
id=
"user-group"
><a
href=
""
>
trans 'User group'
</a></li>
<li
id=
"login-log"
><a
href=
""
>
trans 'Login logs'
</a></li>
</ul>
</li>
<li
id=
"assets"
>
<a>
<i
class=
"fa fa-inbox"
></i>
<span
class=
"nav-label"
>
trans 'Assets'
</span><span
class=
"fa arrow"
></span>
</a>
<ul
class=
"nav nav-second-level"
>
<li
id=
"asset"
><a
href=
""
>
trans 'Asset'
</a></li>
<li
id=
"asset-group"
><a
href=
""
>
trans 'Asset group'
</a></li>
<li
id=
"cluster"
><a
href=
""
>
trans 'Cluster'
</a></li>
<li
id=
"admin-user"
><a
href=
""
>
trans 'Admin user'
</a></li>
<li
id=
"system-user"
><a
href=
""
>
trans 'System user'
</a></li>
<li
id=
"label"
><a
href=
""
>
trans 'Labels'
</a></li>
</ul>
</li>
<li
id=
"perms"
>
<a
href=
"#"
><i
class=
"fa fa-edit"
></i>
<span
class=
"nav-label"
>
trans 'Perms'
</span><span
class=
"fa arrow"
></span></a>
<ul
class=
"nav nav-second-level"
>
<li
id=
"asset-permission"
>
<a
href=
""
>
trans 'Asset permission'
</a>
</li>
</ul>
</li>
<li
id=
"terminal"
>
<a>
<i
class=
"fa fa-rocket"
></i>
<span
class=
"nav-label"
>
trans 'Sessions'
</span><span
class=
"fa arrow"
></span>
</a>
<ul
class=
"nav nav-second-level"
>
<li
id=
"session-online"
><a
href=
""
>
trans 'Session online'
</a>
</li>
<li
id=
"session-offline"
><a
href=
""
>
trans 'Session offline'
</a>
</li>
<li
id=
"command"
><a
href=
""
>
trans 'Commands'
</a></li>
<li
id=
"terminal"
><a
href=
""
>
trans 'Terminal'
</a></li>
</ul>
</li>
<li
id=
"ops"
>
<a>
<i
class=
"fa fa-coffee"
></i>
<span
class=
"nav-label"
>
trans 'Job Center'
</span><span
class=
"fa arrow"
></span>
</a>
<ul
class=
"nav nav-second-level"
>
<li
id=
"task"
><a
href=
""
>
trans 'Task'
</a></li>
</ul>
</li>
<li
id=
"settings"
>
<a
href=
""
>
<i
class=
"fa fa-gears"
></i>
<span
class=
"nav-label"
>
trans 'Settings'
</span><span
class=
"label label-info pull-right"
></span>
</a>
</li>
</ul>
</div>
</nav>
<div
id=
"wrapper"
>
<nav
class=
"navbar-default navbar-static-side"
role=
"navigation"
>
<div
class=
"sidebar-collapse"
>
<ul
class=
"nav"
>
<li
class=
"nav-header"
>
<div
class=
"dropdown profile-element"
>
<div
href=
"http://www.jumpserver.org"
target=
"_blank"
>
<img
alt=
"image"
height=
"55"
src=
"/static/imgs/logo-text.png"
style=
"margin-left: 10px"
>
</div>
</div>
<div
class=
"clearfix"
></div>
<div
class=
"logo-element"
>
<img
alt=
"image"
height=
"40"
src=
"/static/imgs/logo.png"
>
</div>
</li>
<li
*
ngFor=
"let bar of leftbar"
>
<a
href=
"#"
>
<i
class=
"{{bar.class}}"
></i>
<span
class=
"nav-label"
>
{{bar.name|trans}}
</span>
<span
class=
"{{bar.label}}"
></span>
</a>
<ul
class=
"nav nav-second-level collapse"
>
<li
*
ngFor=
"let child of bar.child"
><a>
{{child.name|trans}}
</a></li>
</ul>
</li>
</ul>
</div>
</nav>
</div>
src/app/elements/leftbar/leftbar.component.scss
View file @
ad077e23
nav
{
height
:
100%
;
font-family
:
"open sans"
,
"Helvetica Neue"
,
Helvetica
,
Arial
,
sans-serif
;
background-color
:
#2f4050
;
font-size
:
13px
;
}
.nav-header
{
padding
:
0
;
width
:
100%
;
}
.navbar-default
{
background-color
:
#2f4050
;
border-color
:
#2f4050
;
}
.nav-header
,
body
.mini-navbar
.nav-header
{
padding
:
0
;
background
:
#202c37
;
}
.profile-element
div
:last-child
a
{
line-height
:
60px
;
width
:
150px
;
float
:
left
;
font-size
:
22px
;
color
:
#1ab394
;
}
.logo-element
{
padding
:
10px
0
;
}
.nav.nav-tabs
li
.active
{
background-color
:
#FFF
;
}
.nav.nav-tabs
li
>
a
{
max-height
:
38px
;
}
.nav.nav-tabs
li
.active
a
{
border
:
none
;
}
src/app/elements/leftbar/leftbar.component.ts
View file @
ad077e23
import
{
Component
,
OnInit
}
from
'@angular/core'
;
import
{
Component
,
OnInit
}
from
'@angular/core'
;
@
Component
({
selector
:
'app-element-leftbar'
,
...
...
@@ -6,8 +6,90 @@ import { Component, OnInit } from '@angular/core';
styleUrls
:
[
'./leftbar.component.scss'
]
})
export
class
ElementLeftbarComponent
implements
OnInit
{
leftbar
=
[
{
'name'
:
'Dashboard'
,
'class'
:
'fa fa-dashboard'
,
'label'
:
'label label-info pull-right'
},
{
'name'
:
'Users'
,
'class'
:
'fa fa-group'
,
'label'
:
'fa arrow'
,
'child'
:
[
{
'name'
:
'User'
,
},
{
'name'
:
'User group'
,
},
{
'name'
:
'Login logs'
,
}
]
},
{
'name'
:
'Assets'
,
'class'
:
'fa fa-inbox'
,
'label'
:
'fa arrow'
,
'child'
:
[
{
'name'
:
'Asset'
,
},
{
'name'
:
'Asset group'
,
},
{
'name'
:
'Cluster'
,
},
{
'name'
:
'Admin user'
,
},
{
'name'
:
'System user'
,
},
{
'name'
:
'Labels'
,
}
]
},
{
'name'
:
'Perms'
,
'class'
:
'fa fa-edit'
,
'label'
:
'fa arrow'
,
'child'
:
[{
'name'
:
'Asset permission'
}]
},
{
'name'
:
'Sessions'
,
'class'
:
'fa fa-rocket'
,
'label'
:
'fa arrow'
,
'child'
:
[
{
'name'
:
'Session online'
},
{
'name'
:
'Session offline'
},
{
'name'
:
'Commands'
},
{
'name'
:
'Terminal'
},
]
},
{
'name'
:
'Job Center'
,
'class'
:
'fa fa-coffee'
,
'label'
:
'fa arrow'
,
'child'
:
[
{
'name'
:
'Task'
},
]
},
{
'name'
:
'Settings'
,
'class'
:
'fa fa-gears'
,
'label'
:
'label label-info pull-right'
},
];
constructor
()
{
}
constructor
()
{
}
ngOnInit
()
{
}
...
...
src/app/setting-page/setting-page.component.html
View file @
ad077e23
<div
class=
"
wrapper
"
>
<div
class=
"
pace-done
"
>
<app-element-leftbar></app-element-leftbar>
<
app-sp-basic></app-sp-basic
>
<
!--<app-sp-basic></app-sp-basic>--
>
<app-element-ofooter></app-element-ofooter>
</div>
src/app/setting-page/setting-page.component.scss
View file @
ad077e23
.pace-done
{
width
:
100%
;
padding
:
0
;
}
src/app/test-page/test-page.component.html
View file @
ad077e23
<app-element-table
[
rows
]="
rows
"
[
columns
]="
columns
"
[
config
]="
config
"
></app-element-table>
<button
mat-raised-button
(
click
)="
test
()"
>
Test
</button>
<!--<app-element-table-->
<!--[rows]="rows"-->
<!--[columns]="columns"-->
<!--[config]="config"-->
<!--></app-element-table>-->
<!--<button mat-raised-button (click)="test()">Test</button>-->
<app-element-leftbar></app-element-leftbar>
src/assets/inspinia/inspinia.js
0 → 100755
View file @
ad077e23
/*
*
* INSPINIA - Responsive Admin Theme
* version 2.7.1
*
*/
$
(
document
).
ready
(
function
()
{
// Add body-small class if window less than 768px
if
(
$
(
this
).
width
()
<
769
)
{
$
(
'body'
).
addClass
(
'body-small'
)
}
else
{
$
(
'body'
).
removeClass
(
'body-small'
)
}
// MetisMenu
$
(
'#side-menu'
).
metisMenu
();
// Collapse ibox function
$
(
'.collapse-link'
).
on
(
'click'
,
function
()
{
var
ibox
=
$
(
this
).
closest
(
'div.ibox'
);
var
button
=
$
(
this
).
find
(
'i'
);
var
content
=
ibox
.
children
(
'.ibox-content'
);
content
.
slideToggle
(
200
);
button
.
toggleClass
(
'fa-chevron-up'
).
toggleClass
(
'fa-chevron-down'
);
ibox
.
toggleClass
(
''
).
toggleClass
(
'border-bottom'
);
setTimeout
(
function
()
{
ibox
.
resize
();
ibox
.
find
(
'[id^=map-]'
).
resize
();
},
50
);
});
// Close ibox function
$
(
'.close-link'
).
on
(
'click'
,
function
()
{
var
content
=
$
(
this
).
closest
(
'div.ibox'
);
content
.
remove
();
});
// Fullscreen ibox function
$
(
'.fullscreen-link'
).
on
(
'click'
,
function
()
{
var
ibox
=
$
(
this
).
closest
(
'div.ibox'
);
var
button
=
$
(
this
).
find
(
'i'
);
$
(
'body'
).
toggleClass
(
'fullscreen-ibox-mode'
);
button
.
toggleClass
(
'fa-expand'
).
toggleClass
(
'fa-compress'
);
ibox
.
toggleClass
(
'fullscreen'
);
setTimeout
(
function
()
{
$
(
window
).
trigger
(
'resize'
);
},
100
);
});
// Close menu in canvas mode
$
(
'.close-canvas-menu'
).
on
(
'click'
,
function
()
{
$
(
"body"
).
toggleClass
(
"mini-navbar"
);
SmoothlyMenu
();
});
// Run menu of canvas
$
(
'body.canvas-menu .sidebar-collapse'
).
slimScroll
({
height
:
'100%'
,
railOpacity
:
0.9
});
// Open close right sidebar
$
(
'.right-sidebar-toggle'
).
on
(
'click'
,
function
()
{
$
(
'#right-sidebar'
).
toggleClass
(
'sidebar-open'
);
});
// Initialize slimscroll for right sidebar
$
(
'.sidebar-container'
).
slimScroll
({
height
:
'100%'
,
railOpacity
:
0.4
,
wheelStep
:
10
});
// Open close small chat
$
(
'.open-small-chat'
).
on
(
'click'
,
function
()
{
$
(
this
).
children
().
toggleClass
(
'fa-comments'
).
toggleClass
(
'fa-remove'
);
$
(
'.small-chat-box'
).
toggleClass
(
'active'
);
});
// Initialize slimscroll for small chat
$
(
'.small-chat-box .content'
).
slimScroll
({
height
:
'234px'
,
railOpacity
:
0.4
});
// Small todo handler
$
(
'.check-link'
).
on
(
'click'
,
function
()
{
var
button
=
$
(
this
).
find
(
'i'
);
var
label
=
$
(
this
).
next
(
'span'
);
button
.
toggleClass
(
'fa-check-square'
).
toggleClass
(
'fa-square-o'
);
label
.
toggleClass
(
'todo-completed'
);
return
false
;
});
// Append config box / Only for demo purpose
// Uncomment on server mode to enable XHR calls
//$.get("skin-config.html", function (data) {
// if (!$('body').hasClass('no-skin-config'))
// $('body').append(data);
//});
// Minimalize menu
$
(
'.navbar-minimalize'
).
on
(
'click'
,
function
(
event
)
{
event
.
preventDefault
();
$
(
"body"
).
toggleClass
(
"mini-navbar"
);
SmoothlyMenu
();
});
// Tooltips demo
$
(
'.tooltip-demo'
).
tooltip
({
selector
:
"[data-toggle=tooltip]"
,
container
:
"body"
});
// Full height of sidebar
function
fix_height
()
{
var
heightWithoutNavbar
=
$
(
"body > #wrapper"
).
height
()
-
61
;
$
(
".sidebar-panel"
).
css
(
"min-height"
,
heightWithoutNavbar
+
"px"
);
var
navbarheight
=
$
(
'nav.navbar-default'
).
height
();
var
wrapperHeight
=
$
(
'#page-wrapper'
).
height
();
if
(
navbarheight
>
wrapperHeight
)
{
$
(
'#page-wrapper'
).
css
(
"min-height"
,
navbarheight
+
"px"
);
}
if
(
navbarheight
<
wrapperHeight
)
{
$
(
'#page-wrapper'
).
css
(
"min-height"
,
$
(
window
).
height
()
+
"px"
);
}
if
(
$
(
'body'
).
hasClass
(
'fixed-nav'
))
{
if
(
navbarheight
>
wrapperHeight
)
{
$
(
'#page-wrapper'
).
css
(
"min-height"
,
navbarheight
+
"px"
);
}
else
{
$
(
'#page-wrapper'
).
css
(
"min-height"
,
$
(
window
).
height
()
-
60
+
"px"
);
}
}
}
fix_height
();
// Fixed Sidebar
$
(
window
).
bind
(
"load"
,
function
()
{
if
(
$
(
"body"
).
hasClass
(
'fixed-sidebar'
))
{
$
(
'.sidebar-collapse'
).
slimScroll
({
height
:
'100%'
,
railOpacity
:
0.9
});
}
});
// Move right sidebar top after scroll
$
(
window
).
scroll
(
function
()
{
if
(
$
(
window
).
scrollTop
()
>
0
&&
!
$
(
'body'
).
hasClass
(
'fixed-nav'
))
{
$
(
'#right-sidebar'
).
addClass
(
'sidebar-top'
);
}
else
{
$
(
'#right-sidebar'
).
removeClass
(
'sidebar-top'
);
}
});
$
(
window
).
bind
(
"load resize scroll"
,
function
()
{
if
(
!
$
(
"body"
).
hasClass
(
'body-small'
))
{
fix_height
();
}
});
$
(
"[data-toggle=popover]"
)
.
popover
();
// Add slimscroll to element
$
(
'.full-height-scroll'
).
slimscroll
({
height
:
'100%'
})
});
// Minimalize menu when screen is less than 768px
$
(
window
).
bind
(
"resize"
,
function
()
{
if
(
$
(
this
).
width
()
<
769
)
{
$
(
'body'
).
addClass
(
'body-small'
)
}
else
{
$
(
'body'
).
removeClass
(
'body-small'
)
}
});
// Local Storage functions
// Set proper body class and plugins based on user configuration
$
(
document
).
ready
(
function
()
{
if
(
localStorageSupport
())
{
var
collapse
=
localStorage
.
getItem
(
"collapse_menu"
);
var
fixedsidebar
=
localStorage
.
getItem
(
"fixedsidebar"
);
var
fixednavbar
=
localStorage
.
getItem
(
"fixednavbar"
);
var
boxedlayout
=
localStorage
.
getItem
(
"boxedlayout"
);
var
fixedfooter
=
localStorage
.
getItem
(
"fixedfooter"
);
var
body
=
$
(
'body'
);
if
(
fixedsidebar
==
'on'
)
{
body
.
addClass
(
'fixed-sidebar'
);
$
(
'.sidebar-collapse'
).
slimScroll
({
height
:
'100%'
,
railOpacity
:
0.9
});
}
if
(
collapse
==
'on'
)
{
if
(
body
.
hasClass
(
'fixed-sidebar'
))
{
if
(
!
body
.
hasClass
(
'body-small'
))
{
body
.
addClass
(
'mini-navbar'
);
}
}
else
{
if
(
!
body
.
hasClass
(
'body-small'
))
{
body
.
addClass
(
'mini-navbar'
);
}
}
}
if
(
fixednavbar
==
'on'
)
{
$
(
".navbar-static-top"
).
removeClass
(
'navbar-static-top'
).
addClass
(
'navbar-fixed-top'
);
body
.
addClass
(
'fixed-nav'
);
}
if
(
boxedlayout
==
'on'
)
{
body
.
addClass
(
'boxed-layout'
);
}
if
(
fixedfooter
==
'on'
)
{
$
(
".footer"
).
addClass
(
'fixed'
);
}
}
});
// check if browser support HTML5 local storage
function
localStorageSupport
()
{
return
((
'localStorage'
in
window
)
&&
window
[
'localStorage'
]
!==
null
)
}
// For demo purpose - animation css script
function
animationHover
(
element
,
animation
)
{
element
=
$
(
element
);
element
.
hover
(
function
()
{
element
.
addClass
(
'animated '
+
animation
);
},
function
()
{
//wait for animation to finish before removing classes
window
.
setTimeout
(
function
()
{
element
.
removeClass
(
'animated '
+
animation
);
},
2000
);
});
}
function
SmoothlyMenu
()
{
if
(
!
$
(
'body'
).
hasClass
(
'mini-navbar'
)
||
$
(
'body'
).
hasClass
(
'body-small'
))
{
// Hide menu in order to smoothly turn on when maximize menu
$
(
'#side-menu'
).
hide
();
// For smoothly turn on menu
setTimeout
(
function
()
{
$
(
'#side-menu'
).
fadeIn
(
400
);
},
200
);
}
else
if
(
$
(
'body'
).
hasClass
(
'fixed-sidebar'
))
{
$
(
'#side-menu'
).
hide
();
setTimeout
(
function
()
{
$
(
'#side-menu'
).
fadeIn
(
400
);
},
100
);
}
else
{
// Remove all inline style from jquery fadeIn function to reset menu state
$
(
'#side-menu'
).
removeAttr
(
'style'
);
}
}
// Dragable panels
function
WinMove
()
{
var
element
=
"[class*=col]"
;
var
handle
=
".ibox-title"
;
var
connect
=
"[class*=col]"
;
$
(
element
).
sortable
(
{
handle
:
handle
,
connectWith
:
connect
,
tolerance
:
'pointer'
,
forcePlaceholderSize
:
true
,
opacity
:
0.8
})
.
disableSelection
();
}
src/assets/inspinia/style.scss
View file @
ad077e23
...
...
@@ -25,7 +25,7 @@
@import
"imports/spinners"
;
// Landing page styles
@import
"imports/landing"
;
//
@import "imports/landing";
// RTL Support
@import
"imports/rtl"
;
...
...
src/assets/slimscroll/jquery.slimscroll.js
0 → 100755
View file @
ad077e23
/*! Copyright (c) 2011 Piotr Rochala (http://rocha.la)
* Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
* and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
*
* Version: 1.3.6
*
*/
(
function
(
$
)
{
$
.
fn
.
extend
({
slimScroll
:
function
(
options
)
{
var
defaults
=
{
// width in pixels of the visible scroll area
width
:
'auto'
,
// height in pixels of the visible scroll area
height
:
'250px'
,
// width in pixels of the scrollbar and rail
size
:
'7px'
,
// scrollbar color, accepts any hex/color value
color
:
'#000'
,
// scrollbar position - left/right
position
:
'right'
,
// distance in pixels between the side edge and the scrollbar
distance
:
'1px'
,
// default scroll position on load - top / bottom / $('selector')
start
:
'top'
,
// sets scrollbar opacity
opacity
:
.
4
,
// enables always-on mode for the scrollbar
alwaysVisible
:
false
,
// check if we should hide the scrollbar when user is hovering over
disableFadeOut
:
false
,
// sets visibility of the rail
railVisible
:
false
,
// sets rail color
railColor
:
'#333'
,
// sets rail opacity
railOpacity
:
.
2
,
// whether we should use jQuery UI Draggable to enable bar dragging
railDraggable
:
true
,
// defautlt CSS class of the slimscroll rail
railClass
:
'slimScrollRail'
,
// defautlt CSS class of the slimscroll bar
barClass
:
'slimScrollBar'
,
// defautlt CSS class of the slimscroll wrapper
wrapperClass
:
'slimScrollDiv'
,
// check if mousewheel should scroll the window if we reach top/bottom
allowPageScroll
:
false
,
// scroll amount applied to each mouse wheel step
wheelStep
:
20
,
// scroll amount applied when user is using gestures
touchScrollStep
:
200
,
// sets border radius
borderRadius
:
'7px'
,
// sets border radius of the rail
railBorderRadius
:
'7px'
};
var
o
=
$
.
extend
(
defaults
,
options
);
// do it for every element that matches selector
this
.
each
(
function
(){
var
isOverPanel
,
isOverBar
,
isDragg
,
queueHide
,
touchDif
,
barHeight
,
percentScroll
,
lastScroll
,
divS
=
'<div></div>'
,
minBarHeight
=
30
,
releaseScroll
=
false
;
// used in event handlers and for better minification
var
me
=
$
(
this
);
// ensure we are not binding it again
if
(
me
.
parent
().
hasClass
(
o
.
wrapperClass
))
{
// start from last bar position
var
offset
=
me
.
scrollTop
();
// find bar and rail
bar
=
me
.
closest
(
'.'
+
o
.
barClass
);
rail
=
me
.
closest
(
'.'
+
o
.
railClass
);
getBarHeight
();
// check if we should scroll existing instance
if
(
$
.
isPlainObject
(
options
))
{
// Pass height: auto to an existing slimscroll object to force a resize after contents have changed
if
(
'height'
in
options
&&
options
.
height
==
'auto'
)
{
me
.
parent
().
css
(
'height'
,
'auto'
);
me
.
css
(
'height'
,
'auto'
);
var
height
=
me
.
parent
().
parent
().
height
();
me
.
parent
().
css
(
'height'
,
height
);
me
.
css
(
'height'
,
height
);
}
if
(
'scrollTo'
in
options
)
{
// jump to a static point
offset
=
parseInt
(
o
.
scrollTo
);
}
else
if
(
'scrollBy'
in
options
)
{
// jump by value pixels
offset
+=
parseInt
(
o
.
scrollBy
);
}
else
if
(
'destroy'
in
options
)
{
// remove slimscroll elements
bar
.
remove
();
rail
.
remove
();
me
.
unwrap
();
return
;
}
// scroll content by the given offset
scrollContent
(
offset
,
false
,
true
);
}
return
;
}
else
if
(
$
.
isPlainObject
(
options
))
{
if
(
'destroy'
in
options
)
{
return
;
}
}
// optionally set height to the parent's height
o
.
height
=
(
o
.
height
==
'auto'
)
?
me
.
parent
().
height
()
:
o
.
height
;
// wrap content
var
wrapper
=
$
(
divS
)
.
addClass
(
o
.
wrapperClass
)
.
css
({
position
:
'relative'
,
overflow
:
'hidden'
,
width
:
o
.
width
,
height
:
o
.
height
});
// update style for the div
me
.
css
({
overflow
:
'hidden'
,
width
:
o
.
width
,
height
:
o
.
height
});
// create scrollbar rail
var
rail
=
$
(
divS
)
.
addClass
(
o
.
railClass
)
.
css
({
width
:
o
.
size
,
height
:
'100%'
,
position
:
'absolute'
,
top
:
0
,
display
:
(
o
.
alwaysVisible
&&
o
.
railVisible
)
?
'block'
:
'none'
,
'border-radius'
:
o
.
railBorderRadius
,
background
:
o
.
railColor
,
opacity
:
o
.
railOpacity
,
zIndex
:
90
});
// create scrollbar
var
bar
=
$
(
divS
)
.
addClass
(
o
.
barClass
)
.
css
({
background
:
o
.
color
,
width
:
o
.
size
,
position
:
'absolute'
,
top
:
0
,
opacity
:
o
.
opacity
,
display
:
o
.
alwaysVisible
?
'block'
:
'none'
,
'border-radius'
:
o
.
borderRadius
,
BorderRadius
:
o
.
borderRadius
,
MozBorderRadius
:
o
.
borderRadius
,
WebkitBorderRadius
:
o
.
borderRadius
,
zIndex
:
99
});
// set position
var
posCss
=
(
o
.
position
==
'right'
)
?
{
right
:
o
.
distance
}
:
{
left
:
o
.
distance
};
rail
.
css
(
posCss
);
bar
.
css
(
posCss
);
// wrap it
me
.
wrap
(
wrapper
);
// append to parent div
me
.
parent
().
append
(
bar
);
me
.
parent
().
append
(
rail
);
// make it draggable and no longer dependent on the jqueryUI
if
(
o
.
railDraggable
){
bar
.
bind
(
"mousedown"
,
function
(
e
)
{
var
$doc
=
$
(
document
);
isDragg
=
true
;
t
=
parseFloat
(
bar
.
css
(
'top'
));
pageY
=
e
.
pageY
;
$doc
.
bind
(
"mousemove.slimscroll"
,
function
(
e
){
currTop
=
t
+
e
.
pageY
-
pageY
;
bar
.
css
(
'top'
,
currTop
);
scrollContent
(
0
,
bar
.
position
().
top
,
false
);
// scroll content
});
$doc
.
bind
(
"mouseup.slimscroll"
,
function
(
e
)
{
isDragg
=
false
;
hideBar
();
$doc
.
unbind
(
'.slimscroll'
);
});
return
false
;
}).
bind
(
"selectstart.slimscroll"
,
function
(
e
){
e
.
stopPropagation
();
e
.
preventDefault
();
return
false
;
});
}
// on rail over
rail
.
hover
(
function
(){
showBar
();
},
function
(){
hideBar
();
});
// on bar over
bar
.
hover
(
function
(){
isOverBar
=
true
;
},
function
(){
isOverBar
=
false
;
});
// show on parent mouseover
me
.
hover
(
function
(){
isOverPanel
=
true
;
showBar
();
hideBar
();
},
function
(){
isOverPanel
=
false
;
hideBar
();
});
// support for mobile
me
.
bind
(
'touchstart'
,
function
(
e
,
b
){
if
(
e
.
originalEvent
.
touches
.
length
)
{
// record where touch started
touchDif
=
e
.
originalEvent
.
touches
[
0
].
pageY
;
}
});
me
.
bind
(
'touchmove'
,
function
(
e
){
// prevent scrolling the page if necessary
if
(
!
releaseScroll
)
{
e
.
originalEvent
.
preventDefault
();
}
if
(
e
.
originalEvent
.
touches
.
length
)
{
// see how far user swiped
var
diff
=
(
touchDif
-
e
.
originalEvent
.
touches
[
0
].
pageY
)
/
o
.
touchScrollStep
;
// scroll content
scrollContent
(
diff
,
true
);
touchDif
=
e
.
originalEvent
.
touches
[
0
].
pageY
;
}
});
// set up initial height
getBarHeight
();
// check start position
if
(
o
.
start
===
'bottom'
)
{
// scroll content to bottom
bar
.
css
({
top
:
me
.
outerHeight
()
-
bar
.
outerHeight
()
});
scrollContent
(
0
,
true
);
}
else
if
(
o
.
start
!==
'top'
)
{
// assume jQuery selector
scrollContent
(
$
(
o
.
start
).
position
().
top
,
null
,
true
);
// make sure bar stays hidden
if
(
!
o
.
alwaysVisible
)
{
bar
.
hide
();
}
}
// attach scroll events
attachWheel
(
this
);
function
_onWheel
(
e
)
{
// use mouse wheel only when mouse is over
if
(
!
isOverPanel
)
{
return
;
}
var
e
=
e
||
window
.
event
;
var
delta
=
0
;
if
(
e
.
wheelDelta
)
{
delta
=
-
e
.
wheelDelta
/
120
;
}
if
(
e
.
detail
)
{
delta
=
e
.
detail
/
3
;
}
var
target
=
e
.
target
||
e
.
srcTarget
||
e
.
srcElement
;
if
(
$
(
target
).
closest
(
'.'
+
o
.
wrapperClass
).
is
(
me
.
parent
()))
{
// scroll content
scrollContent
(
delta
,
true
);
}
// stop window scroll
if
(
e
.
preventDefault
&&
!
releaseScroll
)
{
e
.
preventDefault
();
}
if
(
!
releaseScroll
)
{
e
.
returnValue
=
false
;
}
}
function
scrollContent
(
y
,
isWheel
,
isJump
)
{
releaseScroll
=
false
;
var
delta
=
y
;
var
maxTop
=
me
.
outerHeight
()
-
bar
.
outerHeight
();
if
(
isWheel
)
{
// move bar with mouse wheel
delta
=
parseInt
(
bar
.
css
(
'top'
))
+
y
*
parseInt
(
o
.
wheelStep
)
/
100
*
bar
.
outerHeight
();
// move bar, make sure it doesn't go out
delta
=
Math
.
min
(
Math
.
max
(
delta
,
0
),
maxTop
);
// if scrolling down, make sure a fractional change to the
// scroll position isn't rounded away when the scrollbar's CSS is set
// this flooring of delta would happened automatically when
// bar.css is set below, but we floor here for clarity
delta
=
(
y
>
0
)
?
Math
.
ceil
(
delta
)
:
Math
.
floor
(
delta
);
// scroll the scrollbar
bar
.
css
({
top
:
delta
+
'px'
});
}
// calculate actual scroll amount
percentScroll
=
parseInt
(
bar
.
css
(
'top'
))
/
(
me
.
outerHeight
()
-
bar
.
outerHeight
());
delta
=
percentScroll
*
(
me
[
0
].
scrollHeight
-
me
.
outerHeight
());
if
(
isJump
)
{
delta
=
y
;
var
offsetTop
=
delta
/
me
[
0
].
scrollHeight
*
me
.
outerHeight
();
offsetTop
=
Math
.
min
(
Math
.
max
(
offsetTop
,
0
),
maxTop
);
bar
.
css
({
top
:
offsetTop
+
'px'
});
}
// scroll content
me
.
scrollTop
(
delta
);
// fire scrolling event
me
.
trigger
(
'slimscrolling'
,
~~
delta
);
// ensure bar is visible
showBar
();
// trigger hide when scroll is stopped
hideBar
();
}
function
attachWheel
(
target
)
{
if
(
window
.
addEventListener
)
{
target
.
addEventListener
(
'DOMMouseScroll'
,
_onWheel
,
false
);
target
.
addEventListener
(
'mousewheel'
,
_onWheel
,
false
);
}
else
{
document
.
attachEvent
(
"onmousewheel"
,
_onWheel
)
}
}
function
getBarHeight
()
{
// calculate scrollbar height and make sure it is not too small
barHeight
=
Math
.
max
((
me
.
outerHeight
()
/
me
[
0
].
scrollHeight
)
*
me
.
outerHeight
(),
minBarHeight
);
bar
.
css
({
height
:
barHeight
+
'px'
});
// hide scrollbar if content is not long enough
var
display
=
barHeight
==
me
.
outerHeight
()
?
'none'
:
'block'
;
bar
.
css
({
display
:
display
});
}
function
showBar
()
{
// recalculate bar height
getBarHeight
();
clearTimeout
(
queueHide
);
// when bar reached top or bottom
if
(
percentScroll
==
~~
percentScroll
)
{
//release wheel
releaseScroll
=
o
.
allowPageScroll
;
// publish approporiate event
if
(
lastScroll
!=
percentScroll
)
{
var
msg
=
(
~~
percentScroll
==
0
)
?
'top'
:
'bottom'
;
me
.
trigger
(
'slimscroll'
,
msg
);
}
}
else
{
releaseScroll
=
false
;
}
lastScroll
=
percentScroll
;
// show only when required
if
(
barHeight
>=
me
.
outerHeight
())
{
//allow window scroll
releaseScroll
=
true
;
return
;
}
bar
.
stop
(
true
,
true
).
fadeIn
(
'fast'
);
if
(
o
.
railVisible
)
{
rail
.
stop
(
true
,
true
).
fadeIn
(
'fast'
);
}
}
function
hideBar
()
{
// only hide when options allow it
if
(
!
o
.
alwaysVisible
)
{
queueHide
=
setTimeout
(
function
(){
if
(
!
(
o
.
disableFadeOut
&&
isOverPanel
)
&&
!
isOverBar
&&
!
isDragg
)
{
bar
.
fadeOut
(
'slow'
);
rail
.
fadeOut
(
'slow'
);
}
},
1000
);
}
}
});
// maintain chainability
return
this
;
}
});
$
.
fn
.
extend
({
slimscroll
:
$
.
fn
.
slimScroll
});
})(
jQuery
);
\ No newline at end of file
src/assets/slimscroll/jquery.slimscroll.min.js
0 → 100755
View file @
ad077e23
/*! Copyright (c) 2011 Piotr Rochala (http://rocha.la)
* Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
* and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
*
* Version: 1.3.6
*
*/
(
function
(
e
){
e
.
fn
.
extend
({
slimScroll
:
function
(
g
){
var
a
=
e
.
extend
({
width
:
"auto"
,
height
:
"250px"
,
size
:
"7px"
,
color
:
"#000"
,
position
:
"right"
,
distance
:
"1px"
,
start
:
"top"
,
opacity
:.
4
,
alwaysVisible
:
!
1
,
disableFadeOut
:
!
1
,
railVisible
:
!
1
,
railColor
:
"#333"
,
railOpacity
:.
2
,
railDraggable
:
!
0
,
railClass
:
"slimScrollRail"
,
barClass
:
"slimScrollBar"
,
wrapperClass
:
"slimScrollDiv"
,
allowPageScroll
:
!
1
,
wheelStep
:
20
,
touchScrollStep
:
200
,
borderRadius
:
"7px"
,
railBorderRadius
:
"7px"
},
g
);
this
.
each
(
function
(){
function
v
(
d
){
if
(
r
){
d
=
d
||
window
.
event
;
var
c
=
0
;
d
.
wheelDelta
&&
(
c
=-
d
.
wheelDelta
/
120
);
d
.
detail
&&
(
c
=
d
.
detail
/
3
);
e
(
d
.
target
||
d
.
srcTarget
||
d
.
srcElement
).
closest
(
"."
+
a
.
wrapperClass
).
is
(
b
.
parent
())
&&
m
(
c
,
!
0
);
d
.
preventDefault
&&!
k
&&
d
.
preventDefault
();
k
||
(
d
.
returnValue
=!
1
)}}
function
m
(
d
,
e
,
g
){
k
=!
1
;
var
f
=
d
,
h
=
b
.
outerHeight
()
-
c
.
outerHeight
();
e
&&
(
f
=
parseInt
(
c
.
css
(
"top"
))
+
d
*
parseInt
(
a
.
wheelStep
)
/
100
*
c
.
outerHeight
(),
f
=
Math
.
min
(
Math
.
max
(
f
,
0
),
h
),
f
=
0
<
d
?
Math
.
ceil
(
f
):
Math
.
floor
(
f
),
c
.
css
({
top
:
f
+
"px"
}));
l
=
parseInt
(
c
.
css
(
"top"
))
/
(
b
.
outerHeight
()
-
c
.
outerHeight
());
f
=
l
*
(
b
[
0
].
scrollHeight
-
b
.
outerHeight
());
g
&&
(
f
=
d
,
d
=
f
/
b
[
0
].
scrollHeight
*
b
.
outerHeight
(),
d
=
Math
.
min
(
Math
.
max
(
d
,
0
),
h
),
c
.
css
({
top
:
d
+
"px"
}));
b
.
scrollTop
(
f
);
b
.
trigger
(
"slimscrolling"
,
~~
f
);
w
();
p
()}
function
x
(){
u
=
Math
.
max
(
b
.
outerHeight
()
/
b
[
0
].
scrollHeight
*
b
.
outerHeight
(),
30
);
c
.
css
({
height
:
u
+
"px"
});
var
a
=
u
==
b
.
outerHeight
()?
"none"
:
"block"
;
c
.
css
({
display
:
a
})}
function
w
(){
x
();
clearTimeout
(
B
);
l
==~~
l
?(
k
=
a
.
allowPageScroll
,
C
!=
l
&&
b
.
trigger
(
"slimscroll"
,
0
==~~
l
?
"top"
:
"bottom"
)):
k
=!
1
;
C
=
l
;
u
>=
b
.
outerHeight
()?
k
=!
0
:(
c
.
stop
(
!
0
,
!
0
).
fadeIn
(
"fast"
),
a
.
railVisible
&&
h
.
stop
(
!
0
,
!
0
).
fadeIn
(
"fast"
))}
function
p
(){
a
.
alwaysVisible
||
(
B
=
setTimeout
(
function
(){
a
.
disableFadeOut
&&
r
||
y
||
z
||
(
c
.
fadeOut
(
"slow"
),
h
.
fadeOut
(
"slow"
))},
1
E3
))}
var
r
,
y
,
z
,
B
,
A
,
u
,
l
,
C
,
k
=!
1
,
b
=
e
(
this
);
if
(
b
.
parent
().
hasClass
(
a
.
wrapperClass
)){
var
n
=
b
.
scrollTop
(),
c
=
b
.
closest
(
"."
+
a
.
barClass
),
h
=
b
.
closest
(
"."
+
a
.
railClass
);
x
();
if
(
e
.
isPlainObject
(
g
)){
if
(
"height"
in
g
&&
"auto"
==
g
.
height
){
b
.
parent
().
css
(
"height"
,
"auto"
);
b
.
css
(
"height"
,
"auto"
);
var
q
=
b
.
parent
().
parent
().
height
();
b
.
parent
().
css
(
"height"
,
q
);
b
.
css
(
"height"
,
q
)}
if
(
"scrollTo"
in
g
)
n
=
parseInt
(
a
.
scrollTo
);
else
if
(
"scrollBy"
in
g
)
n
+=
parseInt
(
a
.
scrollBy
);
else
if
(
"destroy"
in
g
){
c
.
remove
();
h
.
remove
();
b
.
unwrap
();
return
}
m
(
n
,
!
1
,
!
0
)}}
else
if
(
!
(
e
.
isPlainObject
(
g
)
&&
"destroy"
in
g
)){
a
.
height
=
"auto"
==
a
.
height
?
b
.
parent
().
height
():
a
.
height
;
n
=
e
(
"<div></div>"
).
addClass
(
a
.
wrapperClass
).
css
({
position
:
"relative"
,
overflow
:
"hidden"
,
width
:
a
.
width
,
height
:
a
.
height
});
b
.
css
({
overflow
:
"hidden"
,
width
:
a
.
width
,
height
:
a
.
height
});
var
h
=
e
(
"<div></div>"
).
addClass
(
a
.
railClass
).
css
({
width
:
a
.
size
,
height
:
"100%"
,
position
:
"absolute"
,
top
:
0
,
display
:
a
.
alwaysVisible
&&
a
.
railVisible
?
"block"
:
"none"
,
"border-radius"
:
a
.
railBorderRadius
,
background
:
a
.
railColor
,
opacity
:
a
.
railOpacity
,
zIndex
:
90
}),
c
=
e
(
"<div></div>"
).
addClass
(
a
.
barClass
).
css
({
background
:
a
.
color
,
width
:
a
.
size
,
position
:
"absolute"
,
top
:
0
,
opacity
:
a
.
opacity
,
display
:
a
.
alwaysVisible
?
"block"
:
"none"
,
"border-radius"
:
a
.
borderRadius
,
BorderRadius
:
a
.
borderRadius
,
MozBorderRadius
:
a
.
borderRadius
,
WebkitBorderRadius
:
a
.
borderRadius
,
zIndex
:
99
}),
q
=
"right"
==
a
.
position
?
{
right
:
a
.
distance
}:{
left
:
a
.
distance
};
h
.
css
(
q
);
c
.
css
(
q
);
b
.
wrap
(
n
);
b
.
parent
().
append
(
c
);
b
.
parent
().
append
(
h
);
a
.
railDraggable
&&
c
.
bind
(
"mousedown"
,
function
(
a
){
var
b
=
e
(
document
);
z
=!
0
;
t
=
parseFloat
(
c
.
css
(
"top"
));
pageY
=
a
.
pageY
;
b
.
bind
(
"mousemove.slimscroll"
,
function
(
a
){
currTop
=
t
+
a
.
pageY
-
pageY
;
c
.
css
(
"top"
,
currTop
);
m
(
0
,
c
.
position
().
top
,
!
1
)});
b
.
bind
(
"mouseup.slimscroll"
,
function
(
a
){
z
=!
1
;
p
();
b
.
unbind
(
".slimscroll"
)});
return
!
1
}).
bind
(
"selectstart.slimscroll"
,
function
(
a
){
a
.
stopPropagation
();
a
.
preventDefault
();
return
!
1
});
h
.
hover
(
function
(){
w
()},
function
(){
p
()});
c
.
hover
(
function
(){
y
=!
0
},
function
(){
y
=!
1
});
b
.
hover
(
function
(){
r
=!
0
;
w
();
p
()},
function
(){
r
=!
1
;
p
()});
b
.
bind
(
"touchstart"
,
function
(
a
,
b
){
a
.
originalEvent
.
touches
.
length
&&
(
A
=
a
.
originalEvent
.
touches
[
0
].
pageY
)});
b
.
bind
(
"touchmove"
,
function
(
b
){
k
||
b
.
originalEvent
.
preventDefault
();
b
.
originalEvent
.
touches
.
length
&&
(
m
((
A
-
b
.
originalEvent
.
touches
[
0
].
pageY
)
/
a
.
touchScrollStep
,
!
0
),
A
=
b
.
originalEvent
.
touches
[
0
].
pageY
)});
x
();
"bottom"
===
a
.
start
?(
c
.
css
({
top
:
b
.
outerHeight
()
-
c
.
outerHeight
()}),
m
(
0
,
!
0
)):
"top"
!==
a
.
start
&&
(
m
(
e
(
a
.
start
).
position
().
top
,
null
,
!
0
),
a
.
alwaysVisible
||
c
.
hide
());
window
.
addEventListener
?(
this
.
addEventListener
(
"DOMMouseScroll"
,
v
,
!
1
),
this
.
addEventListener
(
"mousewheel"
,
v
,
!
1
)):
document
.
attachEvent
(
"onmousewheel"
,
v
)}});
return
this
}});
e
.
fn
.
extend
({
slimscroll
:
e
.
fn
.
slimScroll
})})(
jQuery
);
\ No newline at end of file
src/sass/jumpserver.css
0 → 100644
View file @
ad077e23
.red-fonts
{
color
:
#ed5565
;
}
.form-group.required
.control-label
:after
{
content
:
" *"
;
color
:
red
;
}
.n-invalid
{
border
:
1px
solid
#f00
;}
.primary-panel
.ibox-title
{
color
:
#ffffff
;
background-color
:
#1AB394
;
}
.primary-panel
.ibox-content
{
border
:
1px
solid
#1AB394
;
}
.info-panel
.ibox-title
{
color
:
#ffffff
;
background-color
:
#23c6c8
;
}
.info-panel
.ibox-content
{
border
:
1px
solid
#23c6c8
;
;
}
th
a
{
color
:
#676a6c
;
}
.select2-container--default
.select2-results__option--highlighted
[
aria-selected
]
{
background-color
:
#d2d2d2
!important
;
color
:
#333
!important
;
}
.select2-selection--single
,
.select2-selection--multiple
{
border
:
1px
solid
#e5e6e7
!important
;
cursor
:
text
!important
;
}
.select2-container--forcus
{
border
:
1px
solid
#1AB394
!important
;
}
.select2-selection__choice
,
.chosen-container-multi
.chosen-choices
li
.search-choice
{
background
:
#f1f1f1
!important
;
border
:
1px
solid
#e5e6e7
!important
;
/*border: 1px solid #ededed;*/
border-radius
:
2px
!important
;
box-shadow
:
none
!important
;
color
:
#333333
!important
;
cursor
:
default
!important
;
line-height
:
13px
!important
;
/*margin: 3px 0 3px 5px !important;*/
padding
:
3px
20px
3px
5px
!important
;
position
:
relative
!important
;
}
.select2-container--default.select2-container--focus
.select2-selection--multiple
{
border
:
1px
solid
#1ab394
!important
;
box-shadow
:
0
0
5px
rgba
(
0
,
0
,
0
,
0.3
)
!important
;
}
.passwordBox2
{
max-width
:
660px
;
margin
:
0
auto
;
padding
:
100px
20px
20px
20px
;
}
.no-borders-tr
td
{
border-top
:
none
!important
;
}
table
.dataTable
tbody
>
tr
.selected
,
table
.dataTable
tbody
>
tr
>
.selected
{
background-color
:
#1ab394
!important
;
}
table
.dataTable
tbody
tr
.selected
a
,
table
.dataTable
tbody
th
.selected
a
,
table
.dataTable
tbody
td
.selected
a
,
table
.dataTable
tbody
tr
.selected
td
i
.text-navy
,
table
.dataTable
tbody
th
.selected
td
i
.text-navy
,
table
.dataTable
tbody
td
.selected
td
i
.text-navy
{
color
:
white
!important
;
}
.m-0
{
margin
:
0px
!important
;
}
.m-t-0
{
margin-top
:
0px
!important
;
}
.m-b-0
{
margin-bottom
:
0px
!important
;
}
.m-l-0
{
margin-left
:
0px
!important
;
}
.m-r-0
{
margin-right
:
0px
!important
;
}
.m-5
{
margin
:
5px
!important
;
}
.m-t-5
{
margin-top
:
5px
!important
;
}
.m-b-5
{
margin-bottom
:
5px
!important
;
}
.m-l-5
{
margin-left
:
5px
!important
;
}
.m-r-5
{
margin-right
:
5px
!important
;
}
.m-10
{
margin
:
10px
!important
;
}
.m-t-10
{
margin-top
:
10px
!important
;
}
.m-b-10
{
margin-bottom
:
10px
!important
;
}
.m-l-10
{
margin-left
:
10px
!important
;
}
.m-r-10
{
margin-right
:
10px
!important
;
}
.m-15
{
margin
:
15px
!important
;
}
.m-t-15
{
margin-top
:
15px
!important
;
}
.m-b-15
{
margin-bottom
:
15px
!important
;
}
.m-l-15
{
margin-left
:
15px
!important
;
}
.m-r-15
{
margin-right
:
15px
!important
;
}
.m-20
{
margin
:
20px
!important
;
}
.m-t-20
{
margin-top
:
20px
!important
;
}
.m-b-20
{
margin-bottom
:
20px
!important
;
}
.m-l-20
{
margin-left
:
20px
!important
;
}
.m-r-20
{
margin-right
:
20px
!important
;
}
.m-25
{
margin
:
25px
!important
;
}
.m-t-25
{
margin-top
:
25px
!important
;
}
.m-b-25
{
margin-bottom
:
25px
!important
;
}
.m-l-25
{
margin-left
:
25px
!important
;
}
.m-r-25
{
margin-right
:
25px
!important
;
}
.m-30
{
margin
:
30px
!important
;
}
.m-t-30
{
margin-top
:
30px
!important
;
}
.m-b-30
{
margin-bottom
:
30px
!important
;
}
.m-l-30
{
margin-left
:
30px
!important
;
}
.m-r-30
{
margin-right
:
30px
!important
;
}
.ydxbd
{
font-size
:
12px
;
width
:
100%
;
overflow
:
hidden
;
padding-top
:
15px
;
margin-bottom
:
15px
;
display
:
block
;
background
:
#f4f4f4
;
padding-left
:
10px
;
padding-bottom
:
15px
;
}
.mar
{
margin-left
:
2px
;
line-height
:
0px
;
}
.mar-j
{
margin-left
:
3px
;
margin-right
:
3px
;
}
.form-asset-on
p
{
margin-bottom
:
0px
;
}
.form-asset-on
button
{
background
:
#f1f1f1
;
margin-right
:
2px
;
}
.form-asset-on
{
border
:
1px
solid
#e5e6e7
;
padding-top
:
5px
;
padding-bottom
:
0px
;
padding-left
:
5px
;
padding-right
:
5px
;
min-height
:
34px
;
height
:
100%
;
}
.mgl-5
{
margin-left
:
5px
;
font-size
:
12px
;
}
.c02
{
color
:
#999
;
}
.tagBtnList
{
font-size
:
12px
;
line-height
:
32px
;
margin
:
-5px
0
0
0
;
padding-left
:
0px
;
}
.tagBtn2
{
margin
:
0
5px
5px
0
;
font-size
:
12px
;
vertical-align
:
middle
;
}
div
.dataTables_wrapper
div
.dataTables_filter
,
.dataTables_length
{
float
:
right
!important
;
}
div
.dataTables_wrapper
div
.dataTables_filter
{
margin-left
:
15px
;
}
.simple-tag
{
background-color
:
#f3f3f4
;
border
:
1px
solid
#e7eaec
;
border-radius
:
2px
;
color
:
inherit
;
display
:
inline-block
;
font-size
:
10px
;
margin-right
:
5px
;
margin-top
:
5px
;
padding
:
5px
12px
;
}
#op
.col-md-6
{
padding-left
:
0
;
}
.help-message
{
padding-left
:
10px
;
font-size
:
12px
;
line-height
:
18px
;
margin-bottom
:
0
;
margin-left
:
10px
;
margin-right
:
10px
}
.navbar-default
{
background-color
:
#2f4050
;
border-color
:
#2f4050
;
}
.nav-header
,
body
.mini-navbar
.nav-header
{
padding
:
0
;
background
:
#202c37
;
}
.profile-element
div
:first-child
{
line-height
:
60px
;
/*width: 70px;*/
float
:
left
;
text-align
:
center
;
}
.profile-element
div
:last-child
a
{
line-height
:
60px
;
width
:
150px
;
float
:
left
;
font-size
:
22px
;
color
:
#1ab394
;
}
.logo-element
{
padding
:
10px
0
;
}
.welcome-message
img
{
margin
:
-11px
0
;
}
.nav.nav-tabs
li
.active
{
background-color
:
#FFF
;
}
.ibox-title
{
border-top
:
none
;
}
.nav.nav-tabs
li
>
a
{
max-height
:
38px
;
}
.nav.nav-tabs
li
.active
a
{
border
:
none
;
}
.popover
{
max-width
:
100%
;
/* Max Width of the popover (depending on the container!) */
padding-left
:
20px
;
padding-right
:
20px
;
}
src/sass/style.scss
View file @
ad077e23
...
...
@@ -17,55 +17,7 @@ $roboto-font-path: "~roboto-fontface/fonts";
*
*/
$asset-path
:
'../static/imgs/inspinia'
;
// Variables, Mixins
@import
"../assets/inspinia/imports/variables"
;
@import
"../assets/inspinia/imports/mixins"
;
// INSPINIA Theme Elements
@import
"../assets/inspinia/imports/typography"
;
@import
"../assets/inspinia/imports/navigation"
;
@import
"../assets/inspinia/imports/top_navigation"
;
@import
"../assets/inspinia/imports/buttons"
;
@import
"../assets/inspinia/imports/badges_labels"
;
@import
"../assets/inspinia/imports/elements"
;
@import
"../assets/inspinia/imports/sidebar"
;
@import
"../assets/inspinia/imports/base"
;
@import
"../assets/inspinia/imports/pages"
;
@import
"../assets/inspinia/imports/chat"
;
@import
"../assets/inspinia/imports/metismenu"
;
@import
"../assets/inspinia/imports/spinners"
;
// Landing page styles
//@import "../assets/inspinia/imports/landing";
// RTL Support
@import
"../assets/inspinia/imports/rtl"
;
// For demo only - config box style
@import
"../assets/inspinia/imports/theme-config"
;
// INSPINIA Skins
@import
"../assets/inspinia/imports/skins"
;
@import
"../assets/inspinia/imports/md-skin"
;
// Media query style
@import
"../assets/inspinia/imports/media"
;
// Custom style
// Your custom style to override base style
@import
"../assets/inspinia/imports/custom"
;
// Clear layout on print mode
@media
print
{
nav
.navbar-static-side
{
display
:
none
;
}
body
{
overflow
:
visible
!
important
;
}
#page-wrapper
{
margin
:
0
;
}
}
@import
"../assets/inspinia/style"
;
@import
'~@angular/material/prebuilt-themes/deeppurple-amber.css'
;
...
...
src/static/imgs/logo-text.png
0 → 100644
View file @
ad077e23
12.4 KB
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment