Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
tospur
Overview
Overview
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
felix
tospur
Commits
2fc2824f
Commit
2fc2824f
authored
Sep 06, 2015
by
felix
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
后台界面优化
parent
3414a351
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
2774 additions
and
694 deletions
+2774
-694
wp-content/plugins/tospur/Admin/House.php
+0
-8
wp-content/plugins/tospur/Admin/rentHouse.php
+0
-5
wp-content/plugins/tospur/Admin/secHandHouse.php
+0
-5
wp-content/plugins/tospur/Admin/views/addTag.html
+32
-0
wp-content/plugins/tospur/Admin/views/business.html
+12
-0
wp-content/plugins/tospur/Admin/views/css/bootstrap-theme.css
+68
-77
wp-content/plugins/tospur/Admin/views/css/bootstrap-theme.min.css
+2
-11
wp-content/plugins/tospur/Admin/views/css/bootstrap.css
+0
-0
wp-content/plugins/tospur/Admin/views/houseInfo.html
+265
-0
wp-content/plugins/tospur/Admin/views/js/bootstrap.js
+2225
-220
wp-content/plugins/tospur/Admin/views/js/bootstrap.min.js
+4
-8
wp-content/plugins/tospur/Admin/views/owner.html
+12
-0
wp-content/plugins/tospur/Admin/views/photos.html
+90
-0
wp-content/plugins/tospur/Admin/views/recommend.html
+0
-0
wp-content/plugins/tospur/Admin/views/secHandHouse.html
+35
-360
wp-content/plugins/tospur/Admin/views/weixin.html
+15
-0
wp-content/plugins/tospur/index.php
+14
-0
No files found.
wp-content/plugins/tospur/Admin/House.php
View file @
2fc2824f
...
@@ -6,14 +6,6 @@ require_once(PLUGIN_DIR . 'Tools/Core.php');
...
@@ -6,14 +6,6 @@ require_once(PLUGIN_DIR . 'Tools/Core.php');
require_once
(
PLUGIN_DIR
.
'Admin/Tospur_House.php'
);
require_once
(
PLUGIN_DIR
.
'Admin/Tospur_House.php'
);
class
House
extends
Tospur_House
{
class
House
extends
Tospur_House
{
public
static
function
init_view
(){
public
static
function
init_view
(){
wp_enqueue_script
(
'jquery-ui'
);
wp_enqueue_script
(
'bootstrapjs'
);
wp_enqueue_script
(
'publicjs'
);
wp_enqueue_script
(
'validate'
);
wp_enqueue_style
(
'jquery-ui_css'
);
wp_enqueue_style
(
'bootstrapMinCss'
);
global
$wpdb
;
global
$wpdb
;
$type
=
$_POST
[
"type"
];
$type
=
$_POST
[
"type"
];
$context
=
array
();
$context
=
array
();
...
...
wp-content/plugins/tospur/Admin/rentHouse.php
View file @
2fc2824f
...
@@ -5,11 +5,6 @@ require_once(PLUGIN_DIR . 'Tools/Image.php');
...
@@ -5,11 +5,6 @@ require_once(PLUGIN_DIR . 'Tools/Image.php');
class
RentHouse
extends
Tospur_House
{
class
RentHouse
extends
Tospur_House
{
//二手房信息
//二手房信息
public
static
function
rentHouse_html
(){
public
static
function
rentHouse_html
(){
wp_enqueue_script
(
'bootstrapjs'
);
wp_enqueue_script
(
'publicjs'
);
wp_enqueue_script
(
'validate'
);
wp_enqueue_style
(
'bootstrapMinCss'
);
global
$wpdb
;
global
$wpdb
;
$type
=
$_POST
[
"type"
];
$type
=
$_POST
[
"type"
];
$context
=
array
();
$context
=
array
();
...
...
wp-content/plugins/tospur/Admin/secHandHouse.php
View file @
2fc2824f
...
@@ -5,11 +5,6 @@ require_once(PLUGIN_DIR . 'Tools/Image.php');
...
@@ -5,11 +5,6 @@ require_once(PLUGIN_DIR . 'Tools/Image.php');
class
SecHandHouse
extends
Tospur_House
{
class
SecHandHouse
extends
Tospur_House
{
//二手房信息
//二手房信息
public
static
function
secHandHouse_html
(){
public
static
function
secHandHouse_html
(){
wp_enqueue_script
(
'bootstrapjs'
);
wp_enqueue_script
(
'publicjs'
);
wp_enqueue_script
(
'validate'
);
wp_enqueue_style
(
'bootstrapMinCss'
);
global
$wpdb
;
global
$wpdb
;
$type
=
$_POST
[
"type"
];
$type
=
$_POST
[
"type"
];
$context
=
array
();
$context
=
array
();
...
...
wp-content/plugins/tospur/Admin/views/addTag.html
0 → 100644
View file @
2fc2824f
{% block addTag %}
{% if feature %}
<style>
.table
td
{
text-align
:
center
;
}
</style>
<!-- 房源特色出层 -->
<div
class=
"modal fade"
id=
"houseFeature"
tabindex=
"-1"
role=
"dialog"
aria-labelledby=
"myModalLabel"
>
<div
class=
"modal-dialog"
role=
"document"
style=
"position: absolute;top: 0;bottom: 0;left: 0;right: 0; margin: auto;height: 200px;overflow-y: auto;overflow-x: hidden;"
>
<div
class=
"modal-content"
>
<div
class=
"row"
id=
"featureTable"
>
<div
class=
"col-md-12"
>
<table
class=
"table"
>
{% for item in feature %}
{% if loop.index0%4 == 0%}
<tr>
{% endif %}
<td>
{{ item.value }}
</td>
{% if loop.index0%4 == 3%}
</tr>
{% endif %}
{% endfor %}
</table>
</div>
</div>
</div>
</div>
</div>
{% endif %}
{% endblock %}
\ No newline at end of file
wp-content/plugins/tospur/Admin/views/business.html
0 → 100644
View file @
2fc2824f
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<label
for=
"total_price"
>
总价:
</label>
<input
name=
"total_price"
id=
"total_price"
type=
"text"
value=
"{{result.total_price}}"
class=
"form-control"
>
万元
</div>
<div
class=
"col-md-6"
>
<label
for=
"average_price"
>
单价:
</label>
<input
name=
"average_price"
id=
"average_price"
type=
"text"
value=
"{{result.average_price}}"
class=
"form-control"
>
元
</div>
</div>
\ No newline at end of file
wp-content/plugins/tospur/Admin/views/css/bootstrap-theme.css
View file @
2fc2824f
...
@@ -3,25 +3,15 @@
...
@@ -3,25 +3,15 @@
* Copyright 2011-2015 Twitter, Inc.
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
*/
/*!
* Generated using the Bootstrap Customizer (http://v3.bootcss.com/customize/?id=77eb5b80e2738ea76db2)
* Config saved to config.json and https://gist.github.com/77eb5b80e2738ea76db2
*/
/*!
* Bootstrap v3.3.5 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
.btn-default
,
.btn-default
,
.btn-primary
,
.btn-primary
,
.btn-success
,
.btn-success
,
.btn-info
,
.btn-info
,
.btn-warning
,
.btn-warning
,
.btn-danger
{
.btn-danger
{
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0
.2
);
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.2
);
-webkit-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.15
),
0
1px
1px
rgba
(
0
,
0
,
0
,
0
.075
);
-webkit-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.15
),
0
1px
1px
rgba
(
0
,
0
,
0
,
.075
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.15
),
0
1px
1px
rgba
(
0
,
0
,
0
,
0
.075
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.15
),
0
1px
1px
rgba
(
0
,
0
,
0
,
.075
);
}
}
.btn-default
:active
,
.btn-default
:active
,
.btn-primary
:active
,
.btn-primary
:active
,
...
@@ -35,8 +25,8 @@
...
@@ -35,8 +25,8 @@
.btn-info.active
,
.btn-info.active
,
.btn-warning.active
,
.btn-warning.active
,
.btn-danger.active
{
.btn-danger.active
{
-webkit-box-shadow
:
inset
0
3px
5px
rgba
(
0
,
0
,
0
,
0
.125
);
-webkit-box-shadow
:
inset
0
3px
5px
rgba
(
0
,
0
,
0
,
.125
);
box-shadow
:
inset
0
3px
5px
rgba
(
0
,
0
,
0
,
0
.125
);
box-shadow
:
inset
0
3px
5px
rgba
(
0
,
0
,
0
,
.125
);
}
}
.btn-default.disabled
,
.btn-default.disabled
,
.btn-primary.disabled
,
.btn-primary.disabled
,
...
@@ -72,15 +62,15 @@ fieldset[disabled] .btn-danger {
...
@@ -72,15 +62,15 @@ fieldset[disabled] .btn-danger {
background-image
:
none
;
background-image
:
none
;
}
}
.btn-default
{
.btn-default
{
background-image
:
-webkit-linear-gradient
(
top
,
#ffffff
0%
,
#e0e0e0
100%
);
text-shadow
:
0
1px
0
#fff
;
background-image
:
-o-linear-gradient
(
top
,
#ffffff
0%
,
#e0e0e0
100%
);
background-image
:
-webkit-linear-gradient
(
top
,
#fff
0%
,
#e0e0e0
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#ffffff
),
to
(
#e0e0e0
));
background-image
:
-o-linear-gradient
(
top
,
#fff
0%
,
#e0e0e0
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#ffffff
0%
,
#e0e0e0
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#fff
),
to
(
#e0e0e0
));
background-image
:
linear-gradient
(
to
bottom
,
#fff
0%
,
#e0e0e0
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffffffff'
,
endColorstr
=
'#ffe0e0e0'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffffffff'
,
endColorstr
=
'#ffe0e0e0'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
background-repeat
:
repeat-x
;
background-repeat
:
repeat-x
;
border-color
:
#dbdbdb
;
border-color
:
#dbdbdb
;
text-shadow
:
0
1px
0
#fff
;
border-color
:
#ccc
;
border-color
:
#ccc
;
}
}
.btn-default
:hover
,
.btn-default
:hover
,
...
@@ -321,41 +311,41 @@ fieldset[disabled] .btn-danger.active {
...
@@ -321,41 +311,41 @@ fieldset[disabled] .btn-danger.active {
}
}
.thumbnail
,
.thumbnail
,
.img-thumbnail
{
.img-thumbnail
{
-webkit-box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0
.075
);
-webkit-box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
.075
);
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0
.075
);
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
.075
);
}
}
.dropdown-menu
>
li
>
a
:hover
,
.dropdown-menu
>
li
>
a
:hover
,
.dropdown-menu
>
li
>
a
:focus
{
.dropdown-menu
>
li
>
a
:focus
{
background-color
:
#e8e8e8
;
background-image
:
-webkit-linear-gradient
(
top
,
#f5f5f5
0%
,
#e8e8e8
100%
);
background-image
:
-webkit-linear-gradient
(
top
,
#f5f5f5
0%
,
#e8e8e8
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f5f5f5
0%
,
#e8e8e8
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f5f5f5
0%
,
#e8e8e8
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#f5f5f5
),
to
(
#e8e8e8
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#f5f5f5
),
to
(
#e8e8e8
));
background-image
:
linear-gradient
(
to
bottom
,
#f5f5f5
0%
,
#e8e8e8
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#f5f5f5
0%
,
#e8e8e8
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff5f5f5'
,
endColorstr
=
'#ffe8e8e8'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff5f5f5'
,
endColorstr
=
'#ffe8e8e8'
,
GradientType
=
0
);
background-
color
:
#e8e8e8
;
background-
repeat
:
repeat-x
;
}
}
.dropdown-menu
>
.active
>
a
,
.dropdown-menu
>
.active
>
a
,
.dropdown-menu
>
.active
>
a
:hover
,
.dropdown-menu
>
.active
>
a
:hover
,
.dropdown-menu
>
.active
>
a
:focus
{
.dropdown-menu
>
.active
>
a
:focus
{
background-color
:
#2e6da4
;
background-image
:
-webkit-linear-gradient
(
top
,
#337ab7
0%
,
#2e6da4
100%
);
background-image
:
-webkit-linear-gradient
(
top
,
#337ab7
0%
,
#2e6da4
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0%
,
#2e6da4
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0%
,
#2e6da4
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#337ab7
),
to
(
#2e6da4
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#337ab7
),
to
(
#2e6da4
));
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0%
,
#2e6da4
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0%
,
#2e6da4
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff2e6da4'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff2e6da4'
,
GradientType
=
0
);
background-
color
:
#2e6da4
;
background-
repeat
:
repeat-x
;
}
}
.navbar-default
{
.navbar-default
{
background-image
:
-webkit-linear-gradient
(
top
,
#ffffff
0%
,
#f8f8f8
100%
);
background-image
:
-webkit-linear-gradient
(
top
,
#fff
0%
,
#f8f8f8
100%
);
background-image
:
-o-linear-gradient
(
top
,
#ffffff
0%
,
#f8f8f8
100%
);
background-image
:
-o-linear-gradient
(
top
,
#fff
0%
,
#f8f8f8
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#ffffff
),
to
(
#f8f8f8
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#fff
),
to
(
#f8f8f8
));
background-image
:
linear-gradient
(
to
bottom
,
#ffffff
0%
,
#f8f8f8
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#fff
0%
,
#f8f8f8
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffffffff'
,
endColorstr
=
'#fff8f8f8'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffffffff'
,
endColorstr
=
'#fff8f8f8'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
background-repeat
:
repeat-x
;
border-radius
:
4px
;
border-radius
:
4px
;
-webkit-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.15
),
0
1px
5px
rgba
(
0
,
0
,
0
,
0
.075
);
-webkit-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.15
),
0
1px
5px
rgba
(
0
,
0
,
0
,
.075
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.15
),
0
1px
5px
rgba
(
0
,
0
,
0
,
0
.075
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.15
),
0
1px
5px
rgba
(
0
,
0
,
0
,
.075
);
}
}
.navbar-default
.navbar-nav
>
.open
>
a
,
.navbar-default
.navbar-nav
>
.open
>
a
,
.navbar-default
.navbar-nav
>
.active
>
a
{
.navbar-default
.navbar-nav
>
.active
>
a
{
...
@@ -363,23 +353,23 @@ fieldset[disabled] .btn-danger.active {
...
@@ -363,23 +353,23 @@ fieldset[disabled] .btn-danger.active {
background-image
:
-o-linear-gradient
(
top
,
#dbdbdb
0%
,
#e2e2e2
100%
);
background-image
:
-o-linear-gradient
(
top
,
#dbdbdb
0%
,
#e2e2e2
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#dbdbdb
),
to
(
#e2e2e2
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#dbdbdb
),
to
(
#e2e2e2
));
background-image
:
linear-gradient
(
to
bottom
,
#dbdbdb
0%
,
#e2e2e2
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#dbdbdb
0%
,
#e2e2e2
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffdbdbdb'
,
endColorstr
=
'#ffe2e2e2'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffdbdbdb'
,
endColorstr
=
'#ffe2e2e2'
,
GradientType
=
0
);
-webkit-box-shadow
:
inset
0
3px
9px
rgba
(
0
,
0
,
0
,
0.075
);
background-repeat
:
repeat-x
;
box-shadow
:
inset
0
3px
9px
rgba
(
0
,
0
,
0
,
0.075
);
-webkit-box-shadow
:
inset
0
3px
9px
rgba
(
0
,
0
,
0
,
.075
);
box-shadow
:
inset
0
3px
9px
rgba
(
0
,
0
,
0
,
.075
);
}
}
.navbar-brand
,
.navbar-brand
,
.navbar-nav
>
li
>
a
{
.navbar-nav
>
li
>
a
{
text-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
0
.25
);
text-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
.25
);
}
}
.navbar-inverse
{
.navbar-inverse
{
background-image
:
-webkit-linear-gradient
(
top
,
#3c3c3c
0%
,
#222222
100%
);
background-image
:
-webkit-linear-gradient
(
top
,
#3c3c3c
0%
,
#222
100%
);
background-image
:
-o-linear-gradient
(
top
,
#3c3c3c
0%
,
#222222
100%
);
background-image
:
-o-linear-gradient
(
top
,
#3c3c3c
0%
,
#222
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#3c3c3c
),
to
(
#222222
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#3c3c3c
),
to
(
#222
));
background-image
:
linear-gradient
(
to
bottom
,
#3c3c3c
0%
,
#222222
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#3c3c3c
0%
,
#222
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff3c3c3c'
,
endColorstr
=
'#ff222222'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff3c3c3c'
,
endColorstr
=
'#ff222222'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
background-repeat
:
repeat-x
;
border-radius
:
4px
;
border-radius
:
4px
;
}
}
.navbar-inverse
.navbar-nav
>
.open
>
a
,
.navbar-inverse
.navbar-nav
>
.open
>
a
,
...
@@ -388,14 +378,14 @@ fieldset[disabled] .btn-danger.active {
...
@@ -388,14 +378,14 @@ fieldset[disabled] .btn-danger.active {
background-image
:
-o-linear-gradient
(
top
,
#080808
0%
,
#0f0f0f
100%
);
background-image
:
-o-linear-gradient
(
top
,
#080808
0%
,
#0f0f0f
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#080808
),
to
(
#0f0f0f
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#080808
),
to
(
#0f0f0f
));
background-image
:
linear-gradient
(
to
bottom
,
#080808
0%
,
#0f0f0f
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#080808
0%
,
#0f0f0f
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff080808'
,
endColorstr
=
'#ff0f0f0f'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff080808'
,
endColorstr
=
'#ff0f0f0f'
,
GradientType
=
0
);
-webkit-box-shadow
:
inset
0
3px
9px
rgba
(
0
,
0
,
0
,
0.25
);
background-repeat
:
repeat-x
;
box-shadow
:
inset
0
3px
9px
rgba
(
0
,
0
,
0
,
0.25
);
-webkit-box-shadow
:
inset
0
3px
9px
rgba
(
0
,
0
,
0
,
.25
);
box-shadow
:
inset
0
3px
9px
rgba
(
0
,
0
,
0
,
.25
);
}
}
.navbar-inverse
.navbar-brand
,
.navbar-inverse
.navbar-brand
,
.navbar-inverse
.navbar-nav
>
li
>
a
{
.navbar-inverse
.navbar-nav
>
li
>
a
{
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0
.25
);
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.25
);
}
}
.navbar-static-top
,
.navbar-static-top
,
.navbar-fixed-top
,
.navbar-fixed-top
,
...
@@ -411,22 +401,22 @@ fieldset[disabled] .btn-danger.active {
...
@@ -411,22 +401,22 @@ fieldset[disabled] .btn-danger.active {
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0%
,
#2e6da4
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0%
,
#2e6da4
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#337ab7
),
to
(
#2e6da4
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#337ab7
),
to
(
#2e6da4
));
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0%
,
#2e6da4
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0%
,
#2e6da4
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff2e6da4'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff2e6da4'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
}
}
}
}
.alert
{
.alert
{
text-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
0
.2
);
text-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
.2
);
-webkit-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.25
),
0
1px
2px
rgba
(
0
,
0
,
0
,
0
.05
);
-webkit-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.25
),
0
1px
2px
rgba
(
0
,
0
,
0
,
.05
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.25
),
0
1px
2px
rgba
(
0
,
0
,
0
,
0
.05
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.25
),
0
1px
2px
rgba
(
0
,
0
,
0
,
.05
);
}
}
.alert-success
{
.alert-success
{
background-image
:
-webkit-linear-gradient
(
top
,
#dff0d8
0%
,
#c8e5bc
100%
);
background-image
:
-webkit-linear-gradient
(
top
,
#dff0d8
0%
,
#c8e5bc
100%
);
background-image
:
-o-linear-gradient
(
top
,
#dff0d8
0%
,
#c8e5bc
100%
);
background-image
:
-o-linear-gradient
(
top
,
#dff0d8
0%
,
#c8e5bc
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#dff0d8
),
to
(
#c8e5bc
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#dff0d8
),
to
(
#c8e5bc
));
background-image
:
linear-gradient
(
to
bottom
,
#dff0d8
0%
,
#c8e5bc
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#dff0d8
0%
,
#c8e5bc
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffdff0d8'
,
endColorstr
=
'#ffc8e5bc'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffdff0d8'
,
endColorstr
=
'#ffc8e5bc'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
border-color
:
#b2dba1
;
border-color
:
#b2dba1
;
}
}
.alert-info
{
.alert-info
{
...
@@ -434,8 +424,8 @@ fieldset[disabled] .btn-danger.active {
...
@@ -434,8 +424,8 @@ fieldset[disabled] .btn-danger.active {
background-image
:
-o-linear-gradient
(
top
,
#d9edf7
0%
,
#b9def0
100%
);
background-image
:
-o-linear-gradient
(
top
,
#d9edf7
0%
,
#b9def0
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#d9edf7
),
to
(
#b9def0
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#d9edf7
),
to
(
#b9def0
));
background-image
:
linear-gradient
(
to
bottom
,
#d9edf7
0%
,
#b9def0
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#d9edf7
0%
,
#b9def0
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffd9edf7'
,
endColorstr
=
'#ffb9def0'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffd9edf7'
,
endColorstr
=
'#ffb9def0'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
border-color
:
#9acfea
;
border-color
:
#9acfea
;
}
}
.alert-warning
{
.alert-warning
{
...
@@ -443,8 +433,8 @@ fieldset[disabled] .btn-danger.active {
...
@@ -443,8 +433,8 @@ fieldset[disabled] .btn-danger.active {
background-image
:
-o-linear-gradient
(
top
,
#fcf8e3
0%
,
#f8efc0
100%
);
background-image
:
-o-linear-gradient
(
top
,
#fcf8e3
0%
,
#f8efc0
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#fcf8e3
),
to
(
#f8efc0
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#fcf8e3
),
to
(
#f8efc0
));
background-image
:
linear-gradient
(
to
bottom
,
#fcf8e3
0%
,
#f8efc0
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#fcf8e3
0%
,
#f8efc0
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fffcf8e3'
,
endColorstr
=
'#fff8efc0'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fffcf8e3'
,
endColorstr
=
'#fff8efc0'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
border-color
:
#f5e79e
;
border-color
:
#f5e79e
;
}
}
.alert-danger
{
.alert-danger
{
...
@@ -452,8 +442,8 @@ fieldset[disabled] .btn-danger.active {
...
@@ -452,8 +442,8 @@ fieldset[disabled] .btn-danger.active {
background-image
:
-o-linear-gradient
(
top
,
#f2dede
0%
,
#e7c3c3
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f2dede
0%
,
#e7c3c3
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#f2dede
),
to
(
#e7c3c3
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#f2dede
),
to
(
#e7c3c3
));
background-image
:
linear-gradient
(
to
bottom
,
#f2dede
0%
,
#e7c3c3
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#f2dede
0%
,
#e7c3c3
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff2dede'
,
endColorstr
=
'#ffe7c3c3'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff2dede'
,
endColorstr
=
'#ffe7c3c3'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
border-color
:
#dca7a7
;
border-color
:
#dca7a7
;
}
}
.progress
{
.progress
{
...
@@ -461,58 +451,58 @@ fieldset[disabled] .btn-danger.active {
...
@@ -461,58 +451,58 @@ fieldset[disabled] .btn-danger.active {
background-image
:
-o-linear-gradient
(
top
,
#ebebeb
0%
,
#f5f5f5
100%
);
background-image
:
-o-linear-gradient
(
top
,
#ebebeb
0%
,
#f5f5f5
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#ebebeb
),
to
(
#f5f5f5
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#ebebeb
),
to
(
#f5f5f5
));
background-image
:
linear-gradient
(
to
bottom
,
#ebebeb
0%
,
#f5f5f5
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#ebebeb
0%
,
#f5f5f5
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffebebeb'
,
endColorstr
=
'#fff5f5f5'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffebebeb'
,
endColorstr
=
'#fff5f5f5'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
}
}
.progress-bar
{
.progress-bar
{
background-image
:
-webkit-linear-gradient
(
top
,
#337ab7
0%
,
#286090
100%
);
background-image
:
-webkit-linear-gradient
(
top
,
#337ab7
0%
,
#286090
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0%
,
#286090
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0%
,
#286090
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#337ab7
),
to
(
#286090
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#337ab7
),
to
(
#286090
));
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0%
,
#286090
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0%
,
#286090
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff286090'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff286090'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
}
}
.progress-bar-success
{
.progress-bar-success
{
background-image
:
-webkit-linear-gradient
(
top
,
#5cb85c
0%
,
#449d44
100%
);
background-image
:
-webkit-linear-gradient
(
top
,
#5cb85c
0%
,
#449d44
100%
);
background-image
:
-o-linear-gradient
(
top
,
#5cb85c
0%
,
#449d44
100%
);
background-image
:
-o-linear-gradient
(
top
,
#5cb85c
0%
,
#449d44
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#5cb85c
),
to
(
#449d44
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#5cb85c
),
to
(
#449d44
));
background-image
:
linear-gradient
(
to
bottom
,
#5cb85c
0%
,
#449d44
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#5cb85c
0%
,
#449d44
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff5cb85c'
,
endColorstr
=
'#ff449d44'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff5cb85c'
,
endColorstr
=
'#ff449d44'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
}
}
.progress-bar-info
{
.progress-bar-info
{
background-image
:
-webkit-linear-gradient
(
top
,
#5bc0de
0%
,
#31b0d5
100%
);
background-image
:
-webkit-linear-gradient
(
top
,
#5bc0de
0%
,
#31b0d5
100%
);
background-image
:
-o-linear-gradient
(
top
,
#5bc0de
0%
,
#31b0d5
100%
);
background-image
:
-o-linear-gradient
(
top
,
#5bc0de
0%
,
#31b0d5
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#5bc0de
),
to
(
#31b0d5
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#5bc0de
),
to
(
#31b0d5
));
background-image
:
linear-gradient
(
to
bottom
,
#5bc0de
0%
,
#31b0d5
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#5bc0de
0%
,
#31b0d5
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff5bc0de'
,
endColorstr
=
'#ff31b0d5'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff5bc0de'
,
endColorstr
=
'#ff31b0d5'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
}
}
.progress-bar-warning
{
.progress-bar-warning
{
background-image
:
-webkit-linear-gradient
(
top
,
#f0ad4e
0%
,
#ec971f
100%
);
background-image
:
-webkit-linear-gradient
(
top
,
#f0ad4e
0%
,
#ec971f
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f0ad4e
0%
,
#ec971f
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f0ad4e
0%
,
#ec971f
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#f0ad4e
),
to
(
#ec971f
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#f0ad4e
),
to
(
#ec971f
));
background-image
:
linear-gradient
(
to
bottom
,
#f0ad4e
0%
,
#ec971f
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#f0ad4e
0%
,
#ec971f
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff0ad4e'
,
endColorstr
=
'#ffec971f'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff0ad4e'
,
endColorstr
=
'#ffec971f'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
}
}
.progress-bar-danger
{
.progress-bar-danger
{
background-image
:
-webkit-linear-gradient
(
top
,
#d9534f
0%
,
#c9302c
100%
);
background-image
:
-webkit-linear-gradient
(
top
,
#d9534f
0%
,
#c9302c
100%
);
background-image
:
-o-linear-gradient
(
top
,
#d9534f
0%
,
#c9302c
100%
);
background-image
:
-o-linear-gradient
(
top
,
#d9534f
0%
,
#c9302c
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#d9534f
),
to
(
#c9302c
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#d9534f
),
to
(
#c9302c
));
background-image
:
linear-gradient
(
to
bottom
,
#d9534f
0%
,
#c9302c
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#d9534f
0%
,
#c9302c
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffd9534f'
,
endColorstr
=
'#ffc9302c'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffd9534f'
,
endColorstr
=
'#ffc9302c'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
}
}
.progress-bar-striped
{
.progress-bar-striped
{
background-image
:
-webkit-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0
.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
-webkit-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
.15
)
50%
,
rgba
(
255
,
255
,
255
,
.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
-o-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0
.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
-o-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
.15
)
50%
,
rgba
(
255
,
255
,
255
,
.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0
.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
.15
)
50%
,
rgba
(
255
,
255
,
255
,
.15
)
75%
,
transparent
75%
,
transparent
);
}
}
.list-group
{
.list-group
{
border-radius
:
4px
;
border-radius
:
4px
;
-webkit-box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0
.075
);
-webkit-box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
.075
);
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0
.075
);
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
.075
);
}
}
.list-group-item.active
,
.list-group-item.active
,
.list-group-item.active
:hover
,
.list-group-item.active
:hover
,
...
@@ -522,8 +512,8 @@ fieldset[disabled] .btn-danger.active {
...
@@ -522,8 +512,8 @@ fieldset[disabled] .btn-danger.active {
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0%
,
#2b669a
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0%
,
#2b669a
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#337ab7
),
to
(
#2b669a
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#337ab7
),
to
(
#2b669a
));
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0%
,
#2b669a
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0%
,
#2b669a
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff2b669a'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff2b669a'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
border-color
:
#2b669a
;
border-color
:
#2b669a
;
}
}
.list-group-item.active
.badge
,
.list-group-item.active
.badge
,
...
@@ -532,65 +522,66 @@ fieldset[disabled] .btn-danger.active {
...
@@ -532,65 +522,66 @@ fieldset[disabled] .btn-danger.active {
text-shadow
:
none
;
text-shadow
:
none
;
}
}
.panel
{
.panel
{
-webkit-box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0
.05
);
-webkit-box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
.05
);
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0
.05
);
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
.05
);
}
}
.panel-default
>
.panel-heading
{
.panel-default
>
.panel-heading
{
background-image
:
-webkit-linear-gradient
(
top
,
#f5f5f5
0%
,
#e8e8e8
100%
);
background-image
:
-webkit-linear-gradient
(
top
,
#f5f5f5
0%
,
#e8e8e8
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f5f5f5
0%
,
#e8e8e8
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f5f5f5
0%
,
#e8e8e8
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#f5f5f5
),
to
(
#e8e8e8
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#f5f5f5
),
to
(
#e8e8e8
));
background-image
:
linear-gradient
(
to
bottom
,
#f5f5f5
0%
,
#e8e8e8
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#f5f5f5
0%
,
#e8e8e8
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff5f5f5'
,
endColorstr
=
'#ffe8e8e8'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff5f5f5'
,
endColorstr
=
'#ffe8e8e8'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
}
}
.panel-primary
>
.panel-heading
{
.panel-primary
>
.panel-heading
{
background-image
:
-webkit-linear-gradient
(
top
,
#337ab7
0%
,
#2e6da4
100%
);
background-image
:
-webkit-linear-gradient
(
top
,
#337ab7
0%
,
#2e6da4
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0%
,
#2e6da4
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0%
,
#2e6da4
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#337ab7
),
to
(
#2e6da4
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#337ab7
),
to
(
#2e6da4
));
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0%
,
#2e6da4
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0%
,
#2e6da4
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff2e6da4'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff2e6da4'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
}
}
.panel-success
>
.panel-heading
{
.panel-success
>
.panel-heading
{
background-image
:
-webkit-linear-gradient
(
top
,
#dff0d8
0%
,
#d0e9c6
100%
);
background-image
:
-webkit-linear-gradient
(
top
,
#dff0d8
0%
,
#d0e9c6
100%
);
background-image
:
-o-linear-gradient
(
top
,
#dff0d8
0%
,
#d0e9c6
100%
);
background-image
:
-o-linear-gradient
(
top
,
#dff0d8
0%
,
#d0e9c6
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#dff0d8
),
to
(
#d0e9c6
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#dff0d8
),
to
(
#d0e9c6
));
background-image
:
linear-gradient
(
to
bottom
,
#dff0d8
0%
,
#d0e9c6
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#dff0d8
0%
,
#d0e9c6
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffdff0d8'
,
endColorstr
=
'#ffd0e9c6'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffdff0d8'
,
endColorstr
=
'#ffd0e9c6'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
}
}
.panel-info
>
.panel-heading
{
.panel-info
>
.panel-heading
{
background-image
:
-webkit-linear-gradient
(
top
,
#d9edf7
0%
,
#c4e3f3
100%
);
background-image
:
-webkit-linear-gradient
(
top
,
#d9edf7
0%
,
#c4e3f3
100%
);
background-image
:
-o-linear-gradient
(
top
,
#d9edf7
0%
,
#c4e3f3
100%
);
background-image
:
-o-linear-gradient
(
top
,
#d9edf7
0%
,
#c4e3f3
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#d9edf7
),
to
(
#c4e3f3
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#d9edf7
),
to
(
#c4e3f3
));
background-image
:
linear-gradient
(
to
bottom
,
#d9edf7
0%
,
#c4e3f3
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#d9edf7
0%
,
#c4e3f3
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffd9edf7'
,
endColorstr
=
'#ffc4e3f3'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffd9edf7'
,
endColorstr
=
'#ffc4e3f3'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
}
}
.panel-warning
>
.panel-heading
{
.panel-warning
>
.panel-heading
{
background-image
:
-webkit-linear-gradient
(
top
,
#fcf8e3
0%
,
#faf2cc
100%
);
background-image
:
-webkit-linear-gradient
(
top
,
#fcf8e3
0%
,
#faf2cc
100%
);
background-image
:
-o-linear-gradient
(
top
,
#fcf8e3
0%
,
#faf2cc
100%
);
background-image
:
-o-linear-gradient
(
top
,
#fcf8e3
0%
,
#faf2cc
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#fcf8e3
),
to
(
#faf2cc
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#fcf8e3
),
to
(
#faf2cc
));
background-image
:
linear-gradient
(
to
bottom
,
#fcf8e3
0%
,
#faf2cc
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#fcf8e3
0%
,
#faf2cc
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fffcf8e3'
,
endColorstr
=
'#fffaf2cc'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fffcf8e3'
,
endColorstr
=
'#fffaf2cc'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
}
}
.panel-danger
>
.panel-heading
{
.panel-danger
>
.panel-heading
{
background-image
:
-webkit-linear-gradient
(
top
,
#f2dede
0%
,
#ebcccc
100%
);
background-image
:
-webkit-linear-gradient
(
top
,
#f2dede
0%
,
#ebcccc
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f2dede
0%
,
#ebcccc
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f2dede
0%
,
#ebcccc
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#f2dede
),
to
(
#ebcccc
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#f2dede
),
to
(
#ebcccc
));
background-image
:
linear-gradient
(
to
bottom
,
#f2dede
0%
,
#ebcccc
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#f2dede
0%
,
#ebcccc
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff2dede'
,
endColorstr
=
'#ffebcccc'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff2dede'
,
endColorstr
=
'#ffebcccc'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
}
}
.well
{
.well
{
background-image
:
-webkit-linear-gradient
(
top
,
#e8e8e8
0%
,
#f5f5f5
100%
);
background-image
:
-webkit-linear-gradient
(
top
,
#e8e8e8
0%
,
#f5f5f5
100%
);
background-image
:
-o-linear-gradient
(
top
,
#e8e8e8
0%
,
#f5f5f5
100%
);
background-image
:
-o-linear-gradient
(
top
,
#e8e8e8
0%
,
#f5f5f5
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#e8e8e8
),
to
(
#f5f5f5
));
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#e8e8e8
),
to
(
#f5f5f5
));
background-image
:
linear-gradient
(
to
bottom
,
#e8e8e8
0%
,
#f5f5f5
100%
);
background-image
:
linear-gradient
(
to
bottom
,
#e8e8e8
0%
,
#f5f5f5
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffe8e8e8'
,
endColorstr
=
'#fff5f5f5'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffe8e8e8'
,
endColorstr
=
'#fff5f5f5'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
border-color
:
#dcdcdc
;
border-color
:
#dcdcdc
;
-webkit-box-shadow
:
inset
0
1px
3px
rgba
(
0
,
0
,
0
,
0.05
),
0
1px
0
rgba
(
255
,
255
,
255
,
0
.1
);
-webkit-box-shadow
:
inset
0
1px
3px
rgba
(
0
,
0
,
0
,
.05
),
0
1px
0
rgba
(
255
,
255
,
255
,
.1
);
box-shadow
:
inset
0
1px
3px
rgba
(
0
,
0
,
0
,
0.05
),
0
1px
0
rgba
(
255
,
255
,
255
,
0
.1
);
box-shadow
:
inset
0
1px
3px
rgba
(
0
,
0
,
0
,
.05
),
0
1px
0
rgba
(
255
,
255
,
255
,
.1
);
}
}
/*# sourceMappingURL=bootstrap-theme.css.map */
wp-content/plugins/tospur/Admin/views/css/bootstrap-theme.min.css
View file @
2fc2824f
...
@@ -2,13 +2,4 @@
...
@@ -2,13 +2,4 @@
* Bootstrap v3.3.5 (http://getbootstrap.com)
* Bootstrap v3.3.5 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
*/
.btn-danger
,
.btn-default
,
.btn-info
,
.btn-primary
,
.btn-success
,
.btn-warning
{
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.2
);
-webkit-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.15
),
0
1px
1px
rgba
(
0
,
0
,
0
,
.075
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.15
),
0
1px
1px
rgba
(
0
,
0
,
0
,
.075
)}
.btn-danger.active
,
.btn-danger
:active
,
.btn-default.active
,
.btn-default
:active
,
.btn-info.active
,
.btn-info
:active
,
.btn-primary.active
,
.btn-primary
:active
,
.btn-success.active
,
.btn-success
:active
,
.btn-warning.active
,
.btn-warning
:active
{
-webkit-box-shadow
:
inset
0
3px
5px
rgba
(
0
,
0
,
0
,
.125
);
box-shadow
:
inset
0
3px
5px
rgba
(
0
,
0
,
0
,
.125
)}
.btn-danger.disabled
,
.btn-danger
[
disabled
],
.btn-default.disabled
,
.btn-default
[
disabled
],
.btn-info.disabled
,
.btn-info
[
disabled
],
.btn-primary.disabled
,
.btn-primary
[
disabled
],
.btn-success.disabled
,
.btn-success
[
disabled
],
.btn-warning.disabled
,
.btn-warning
[
disabled
],
fieldset
[
disabled
]
.btn-danger
,
fieldset
[
disabled
]
.btn-default
,
fieldset
[
disabled
]
.btn-info
,
fieldset
[
disabled
]
.btn-primary
,
fieldset
[
disabled
]
.btn-success
,
fieldset
[
disabled
]
.btn-warning
{
-webkit-box-shadow
:
none
;
box-shadow
:
none
}
.btn-danger
.badge
,
.btn-default
.badge
,
.btn-info
.badge
,
.btn-primary
.badge
,
.btn-success
.badge
,
.btn-warning
.badge
{
text-shadow
:
none
}
.btn.active
,
.btn
:active
{
background-image
:
none
}
.btn-default
{
text-shadow
:
0
1px
0
#fff
;
background-image
:
-webkit-linear-gradient
(
top
,
#fff
0
,
#e0e0e0
100%
);
background-image
:
-o-linear-gradient
(
top
,
#fff
0
,
#e0e0e0
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#fff
),
to
(
#e0e0e0
));
background-image
:
linear-gradient
(
to
bottom
,
#fff
0
,
#e0e0e0
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffffffff'
,
endColorstr
=
'#ffe0e0e0'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
background-repeat
:
repeat-x
;
border-color
:
#dbdbdb
;
border-color
:
#ccc
}
.btn-default
:focus
,
.btn-default
:hover
{
background-color
:
#e0e0e0
;
background-position
:
0
-15px
}
.btn-default.active
,
.btn-default
:active
{
background-color
:
#e0e0e0
;
border-color
:
#dbdbdb
}
.btn-default.disabled
,
.btn-default.disabled.active
,
.btn-default.disabled.focus
,
.btn-default.disabled
:active
,
.btn-default.disabled
:focus
,
.btn-default.disabled
:hover
,
.btn-default
[
disabled
],
.btn-default
[
disabled
]
.active
,
.btn-default
[
disabled
]
.focus
,
.btn-default
[
disabled
]
:active
,
.btn-default
[
disabled
]
:focus
,
.btn-default
[
disabled
]
:hover
,
fieldset
[
disabled
]
.btn-default
,
fieldset
[
disabled
]
.btn-default.active
,
fieldset
[
disabled
]
.btn-default.focus
,
fieldset
[
disabled
]
.btn-default
:active
,
fieldset
[
disabled
]
.btn-default
:focus
,
fieldset
[
disabled
]
.btn-default
:hover
{
background-color
:
#e0e0e0
;
background-image
:
none
}
.btn-primary
{
background-image
:
-webkit-linear-gradient
(
top
,
#337ab7
0
,
#265a88
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0
,
#265a88
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#337ab7
),
to
(
#265a88
));
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0
,
#265a88
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff265a88'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
background-repeat
:
repeat-x
;
border-color
:
#245580
}
.btn-primary
:focus
,
.btn-primary
:hover
{
background-color
:
#265a88
;
background-position
:
0
-15px
}
.btn-primary.active
,
.btn-primary
:active
{
background-color
:
#265a88
;
border-color
:
#245580
}
.btn-primary.disabled
,
.btn-primary.disabled.active
,
.btn-primary.disabled.focus
,
.btn-primary.disabled
:active
,
.btn-primary.disabled
:focus
,
.btn-primary.disabled
:hover
,
.btn-primary
[
disabled
],
.btn-primary
[
disabled
]
.active
,
.btn-primary
[
disabled
]
.focus
,
.btn-primary
[
disabled
]
:active
,
.btn-primary
[
disabled
]
:focus
,
.btn-primary
[
disabled
]
:hover
,
fieldset
[
disabled
]
.btn-primary
,
fieldset
[
disabled
]
.btn-primary.active
,
fieldset
[
disabled
]
.btn-primary.focus
,
fieldset
[
disabled
]
.btn-primary
:active
,
fieldset
[
disabled
]
.btn-primary
:focus
,
fieldset
[
disabled
]
.btn-primary
:hover
{
background-color
:
#265a88
;
background-image
:
none
}
.btn-success
{
background-image
:
-webkit-linear-gradient
(
top
,
#5cb85c
0
,
#419641
100%
);
background-image
:
-o-linear-gradient
(
top
,
#5cb85c
0
,
#419641
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#5cb85c
),
to
(
#419641
));
background-image
:
linear-gradient
(
to
bottom
,
#5cb85c
0
,
#419641
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff5cb85c'
,
endColorstr
=
'#ff419641'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
background-repeat
:
repeat-x
;
border-color
:
#3e8f3e
}
.btn-success
:focus
,
.btn-success
:hover
{
background-color
:
#419641
;
background-position
:
0
-15px
}
.btn-success.active
,
.btn-success
:active
{
background-color
:
#419641
;
border-color
:
#3e8f3e
}
.btn-success.disabled
,
.btn-success.disabled.active
,
.btn-success.disabled.focus
,
.btn-success.disabled
:active
,
.btn-success.disabled
:focus
,
.btn-success.disabled
:hover
,
.btn-success
[
disabled
],
.btn-success
[
disabled
]
.active
,
.btn-success
[
disabled
]
.focus
,
.btn-success
[
disabled
]
:active
,
.btn-success
[
disabled
]
:focus
,
.btn-success
[
disabled
]
:hover
,
fieldset
[
disabled
]
.btn-success
,
fieldset
[
disabled
]
.btn-success.active
,
fieldset
[
disabled
]
.btn-success.focus
,
fieldset
[
disabled
]
.btn-success
:active
,
fieldset
[
disabled
]
.btn-success
:focus
,
fieldset
[
disabled
]
.btn-success
:hover
{
background-color
:
#419641
;
background-image
:
none
}
.btn-info
{
background-image
:
-webkit-linear-gradient
(
top
,
#5bc0de
0
,
#2aabd2
100%
);
background-image
:
-o-linear-gradient
(
top
,
#5bc0de
0
,
#2aabd2
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#5bc0de
),
to
(
#2aabd2
));
background-image
:
linear-gradient
(
to
bottom
,
#5bc0de
0
,
#2aabd2
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff5bc0de'
,
endColorstr
=
'#ff2aabd2'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
background-repeat
:
repeat-x
;
border-color
:
#28a4c9
}
.btn-info
:focus
,
.btn-info
:hover
{
background-color
:
#2aabd2
;
background-position
:
0
-15px
}
.btn-info.active
,
.btn-info
:active
{
background-color
:
#2aabd2
;
border-color
:
#28a4c9
}
.btn-info.disabled
,
.btn-info.disabled.active
,
.btn-info.disabled.focus
,
.btn-info.disabled
:active
,
.btn-info.disabled
:focus
,
.btn-info.disabled
:hover
,
.btn-info
[
disabled
],
.btn-info
[
disabled
]
.active
,
.btn-info
[
disabled
]
.focus
,
.btn-info
[
disabled
]
:active
,
.btn-info
[
disabled
]
:focus
,
.btn-info
[
disabled
]
:hover
,
fieldset
[
disabled
]
.btn-info
,
fieldset
[
disabled
]
.btn-info.active
,
fieldset
[
disabled
]
.btn-info.focus
,
fieldset
[
disabled
]
.btn-info
:active
,
fieldset
[
disabled
]
.btn-info
:focus
,
fieldset
[
disabled
]
.btn-info
:hover
{
background-color
:
#2aabd2
;
background-image
:
none
}
.btn-warning
{
background-image
:
-webkit-linear-gradient
(
top
,
#f0ad4e
0
,
#eb9316
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f0ad4e
0
,
#eb9316
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#f0ad4e
),
to
(
#eb9316
));
background-image
:
linear-gradient
(
to
bottom
,
#f0ad4e
0
,
#eb9316
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff0ad4e'
,
endColorstr
=
'#ffeb9316'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
background-repeat
:
repeat-x
;
border-color
:
#e38d13
}
.btn-warning
:focus
,
.btn-warning
:hover
{
background-color
:
#eb9316
;
background-position
:
0
-15px
}
.btn-warning.active
,
.btn-warning
:active
{
background-color
:
#eb9316
;
border-color
:
#e38d13
}
.btn-warning.disabled
,
.btn-warning.disabled.active
,
.btn-warning.disabled.focus
,
.btn-warning.disabled
:active
,
.btn-warning.disabled
:focus
,
.btn-warning.disabled
:hover
,
.btn-warning
[
disabled
],
.btn-warning
[
disabled
]
.active
,
.btn-warning
[
disabled
]
.focus
,
.btn-warning
[
disabled
]
:active
,
.btn-warning
[
disabled
]
:focus
,
.btn-warning
[
disabled
]
:hover
,
fieldset
[
disabled
]
.btn-warning
,
fieldset
[
disabled
]
.btn-warning.active
,
fieldset
[
disabled
]
.btn-warning.focus
,
fieldset
[
disabled
]
.btn-warning
:active
,
fieldset
[
disabled
]
.btn-warning
:focus
,
fieldset
[
disabled
]
.btn-warning
:hover
{
background-color
:
#eb9316
;
background-image
:
none
}
.btn-danger
{
background-image
:
-webkit-linear-gradient
(
top
,
#d9534f
0
,
#c12e2a
100%
);
background-image
:
-o-linear-gradient
(
top
,
#d9534f
0
,
#c12e2a
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#d9534f
),
to
(
#c12e2a
));
background-image
:
linear-gradient
(
to
bottom
,
#d9534f
0
,
#c12e2a
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffd9534f'
,
endColorstr
=
'#ffc12e2a'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
background-repeat
:
repeat-x
;
border-color
:
#b92c28
}
.btn-danger
:focus
,
.btn-danger
:hover
{
background-color
:
#c12e2a
;
background-position
:
0
-15px
}
.btn-danger.active
,
.btn-danger
:active
{
background-color
:
#c12e2a
;
border-color
:
#b92c28
}
.btn-danger.disabled
,
.btn-danger.disabled.active
,
.btn-danger.disabled.focus
,
.btn-danger.disabled
:active
,
.btn-danger.disabled
:focus
,
.btn-danger.disabled
:hover
,
.btn-danger
[
disabled
],
.btn-danger
[
disabled
]
.active
,
.btn-danger
[
disabled
]
.focus
,
.btn-danger
[
disabled
]
:active
,
.btn-danger
[
disabled
]
:focus
,
.btn-danger
[
disabled
]
:hover
,
fieldset
[
disabled
]
.btn-danger
,
fieldset
[
disabled
]
.btn-danger.active
,
fieldset
[
disabled
]
.btn-danger.focus
,
fieldset
[
disabled
]
.btn-danger
:active
,
fieldset
[
disabled
]
.btn-danger
:focus
,
fieldset
[
disabled
]
.btn-danger
:hover
{
background-color
:
#c12e2a
;
background-image
:
none
}
.img-thumbnail
,
.thumbnail
{
-webkit-box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
.075
);
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
.075
)}
.dropdown-menu
>
li
>
a
:focus
,
.dropdown-menu
>
li
>
a
:hover
{
background-color
:
#e8e8e8
;
background-image
:
-webkit-linear-gradient
(
top
,
#f5f5f5
0
,
#e8e8e8
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f5f5f5
0
,
#e8e8e8
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#f5f5f5
),
to
(
#e8e8e8
));
background-image
:
linear-gradient
(
to
bottom
,
#f5f5f5
0
,
#e8e8e8
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff5f5f5'
,
endColorstr
=
'#ffe8e8e8'
,
GradientType
=
0
);
background-repeat
:
repeat-x
}
.dropdown-menu
>
.active
>
a
,
.dropdown-menu
>
.active
>
a
:focus
,
.dropdown-menu
>
.active
>
a
:hover
{
background-color
:
#2e6da4
;
background-image
:
-webkit-linear-gradient
(
top
,
#337ab7
0
,
#2e6da4
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0
,
#2e6da4
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#337ab7
),
to
(
#2e6da4
));
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0
,
#2e6da4
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff2e6da4'
,
GradientType
=
0
);
background-repeat
:
repeat-x
}
.navbar-default
{
background-image
:
-webkit-linear-gradient
(
top
,
#fff
0
,
#f8f8f8
100%
);
background-image
:
-o-linear-gradient
(
top
,
#fff
0
,
#f8f8f8
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#fff
),
to
(
#f8f8f8
));
background-image
:
linear-gradient
(
to
bottom
,
#fff
0
,
#f8f8f8
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffffffff'
,
endColorstr
=
'#fff8f8f8'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
background-repeat
:
repeat-x
;
border-radius
:
4px
;
-webkit-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.15
),
0
1px
5px
rgba
(
0
,
0
,
0
,
.075
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.15
),
0
1px
5px
rgba
(
0
,
0
,
0
,
.075
)}
.navbar-default
.navbar-nav
>
.active
>
a
,
.navbar-default
.navbar-nav
>
.open
>
a
{
background-image
:
-webkit-linear-gradient
(
top
,
#dbdbdb
0
,
#e2e2e2
100%
);
background-image
:
-o-linear-gradient
(
top
,
#dbdbdb
0
,
#e2e2e2
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#dbdbdb
),
to
(
#e2e2e2
));
background-image
:
linear-gradient
(
to
bottom
,
#dbdbdb
0
,
#e2e2e2
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffdbdbdb'
,
endColorstr
=
'#ffe2e2e2'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
-webkit-box-shadow
:
inset
0
3px
9px
rgba
(
0
,
0
,
0
,
.075
);
box-shadow
:
inset
0
3px
9px
rgba
(
0
,
0
,
0
,
.075
)}
.navbar-brand
,
.navbar-nav
>
li
>
a
{
text-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
.25
)}
.navbar-inverse
{
background-image
:
-webkit-linear-gradient
(
top
,
#3c3c3c
0
,
#222
100%
);
background-image
:
-o-linear-gradient
(
top
,
#3c3c3c
0
,
#222
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#3c3c3c
),
to
(
#222
));
background-image
:
linear-gradient
(
to
bottom
,
#3c3c3c
0
,
#222
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff3c3c3c'
,
endColorstr
=
'#ff222222'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
background-repeat
:
repeat-x
;
border-radius
:
4px
}
.navbar-inverse
.navbar-nav
>
.active
>
a
,
.navbar-inverse
.navbar-nav
>
.open
>
a
{
background-image
:
-webkit-linear-gradient
(
top
,
#080808
0
,
#0f0f0f
100%
);
background-image
:
-o-linear-gradient
(
top
,
#080808
0
,
#0f0f0f
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#080808
),
to
(
#0f0f0f
));
background-image
:
linear-gradient
(
to
bottom
,
#080808
0
,
#0f0f0f
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff080808'
,
endColorstr
=
'#ff0f0f0f'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
-webkit-box-shadow
:
inset
0
3px
9px
rgba
(
0
,
0
,
0
,
.25
);
box-shadow
:
inset
0
3px
9px
rgba
(
0
,
0
,
0
,
.25
)}
.navbar-inverse
.navbar-brand
,
.navbar-inverse
.navbar-nav
>
li
>
a
{
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
.25
)}
.navbar-fixed-bottom
,
.navbar-fixed-top
,
.navbar-static-top
{
border-radius
:
0
}
@media
(
max-width
:
767px
){
.navbar
.navbar-nav
.open
.dropdown-menu
>
.active
>
a
,
.navbar
.navbar-nav
.open
.dropdown-menu
>
.active
>
a
:focus
,
.navbar
.navbar-nav
.open
.dropdown-menu
>
.active
>
a
:hover
{
color
:
#fff
;
background-image
:
-webkit-linear-gradient
(
top
,
#337ab7
0
,
#2e6da4
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0
,
#2e6da4
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#337ab7
),
to
(
#2e6da4
));
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0
,
#2e6da4
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff2e6da4'
,
GradientType
=
0
);
background-repeat
:
repeat-x
}}
.alert
{
text-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
.2
);
-webkit-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.25
),
0
1px
2px
rgba
(
0
,
0
,
0
,
.05
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
.25
),
0
1px
2px
rgba
(
0
,
0
,
0
,
.05
)}
.alert-success
{
background-image
:
-webkit-linear-gradient
(
top
,
#dff0d8
0
,
#c8e5bc
100%
);
background-image
:
-o-linear-gradient
(
top
,
#dff0d8
0
,
#c8e5bc
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#dff0d8
),
to
(
#c8e5bc
));
background-image
:
linear-gradient
(
to
bottom
,
#dff0d8
0
,
#c8e5bc
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffdff0d8'
,
endColorstr
=
'#ffc8e5bc'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
border-color
:
#b2dba1
}
.alert-info
{
background-image
:
-webkit-linear-gradient
(
top
,
#d9edf7
0
,
#b9def0
100%
);
background-image
:
-o-linear-gradient
(
top
,
#d9edf7
0
,
#b9def0
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#d9edf7
),
to
(
#b9def0
));
background-image
:
linear-gradient
(
to
bottom
,
#d9edf7
0
,
#b9def0
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffd9edf7'
,
endColorstr
=
'#ffb9def0'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
border-color
:
#9acfea
}
.alert-warning
{
background-image
:
-webkit-linear-gradient
(
top
,
#fcf8e3
0
,
#f8efc0
100%
);
background-image
:
-o-linear-gradient
(
top
,
#fcf8e3
0
,
#f8efc0
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#fcf8e3
),
to
(
#f8efc0
));
background-image
:
linear-gradient
(
to
bottom
,
#fcf8e3
0
,
#f8efc0
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fffcf8e3'
,
endColorstr
=
'#fff8efc0'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
border-color
:
#f5e79e
}
.alert-danger
{
background-image
:
-webkit-linear-gradient
(
top
,
#f2dede
0
,
#e7c3c3
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f2dede
0
,
#e7c3c3
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#f2dede
),
to
(
#e7c3c3
));
background-image
:
linear-gradient
(
to
bottom
,
#f2dede
0
,
#e7c3c3
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff2dede'
,
endColorstr
=
'#ffe7c3c3'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
border-color
:
#dca7a7
}
.progress
{
background-image
:
-webkit-linear-gradient
(
top
,
#ebebeb
0
,
#f5f5f5
100%
);
background-image
:
-o-linear-gradient
(
top
,
#ebebeb
0
,
#f5f5f5
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#ebebeb
),
to
(
#f5f5f5
));
background-image
:
linear-gradient
(
to
bottom
,
#ebebeb
0
,
#f5f5f5
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffebebeb'
,
endColorstr
=
'#fff5f5f5'
,
GradientType
=
0
);
background-repeat
:
repeat-x
}
.progress-bar
{
background-image
:
-webkit-linear-gradient
(
top
,
#337ab7
0
,
#286090
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0
,
#286090
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#337ab7
),
to
(
#286090
));
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0
,
#286090
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff286090'
,
GradientType
=
0
);
background-repeat
:
repeat-x
}
.progress-bar-success
{
background-image
:
-webkit-linear-gradient
(
top
,
#5cb85c
0
,
#449d44
100%
);
background-image
:
-o-linear-gradient
(
top
,
#5cb85c
0
,
#449d44
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#5cb85c
),
to
(
#449d44
));
background-image
:
linear-gradient
(
to
bottom
,
#5cb85c
0
,
#449d44
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff5cb85c'
,
endColorstr
=
'#ff449d44'
,
GradientType
=
0
);
background-repeat
:
repeat-x
}
.progress-bar-info
{
background-image
:
-webkit-linear-gradient
(
top
,
#5bc0de
0
,
#31b0d5
100%
);
background-image
:
-o-linear-gradient
(
top
,
#5bc0de
0
,
#31b0d5
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#5bc0de
),
to
(
#31b0d5
));
background-image
:
linear-gradient
(
to
bottom
,
#5bc0de
0
,
#31b0d5
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff5bc0de'
,
endColorstr
=
'#ff31b0d5'
,
GradientType
=
0
);
background-repeat
:
repeat-x
}
.progress-bar-warning
{
background-image
:
-webkit-linear-gradient
(
top
,
#f0ad4e
0
,
#ec971f
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f0ad4e
0
,
#ec971f
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#f0ad4e
),
to
(
#ec971f
));
background-image
:
linear-gradient
(
to
bottom
,
#f0ad4e
0
,
#ec971f
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff0ad4e'
,
endColorstr
=
'#ffec971f'
,
GradientType
=
0
);
background-repeat
:
repeat-x
}
.progress-bar-danger
{
background-image
:
-webkit-linear-gradient
(
top
,
#d9534f
0
,
#c9302c
100%
);
background-image
:
-o-linear-gradient
(
top
,
#d9534f
0
,
#c9302c
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#d9534f
),
to
(
#c9302c
));
background-image
:
linear-gradient
(
to
bottom
,
#d9534f
0
,
#c9302c
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffd9534f'
,
endColorstr
=
'#ffc9302c'
,
GradientType
=
0
);
background-repeat
:
repeat-x
}
.progress-bar-striped
{
background-image
:
-webkit-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
.15
)
50%
,
rgba
(
255
,
255
,
255
,
.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
-o-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
.15
)
50%
,
rgba
(
255
,
255
,
255
,
.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
.15
)
50%
,
rgba
(
255
,
255
,
255
,
.15
)
75%
,
transparent
75%
,
transparent
)}
.list-group
{
border-radius
:
4px
;
-webkit-box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
.075
);
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
.075
)}
.list-group-item.active
,
.list-group-item.active
:focus
,
.list-group-item.active
:hover
{
text-shadow
:
0
-1px
0
#286090
;
background-image
:
-webkit-linear-gradient
(
top
,
#337ab7
0
,
#2b669a
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0
,
#2b669a
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#337ab7
),
to
(
#2b669a
));
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0
,
#2b669a
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff2b669a'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
border-color
:
#2b669a
}
.list-group-item.active
.badge
,
.list-group-item.active
:focus
.badge
,
.list-group-item.active
:hover
.badge
{
text-shadow
:
none
}
.panel
{
-webkit-box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
.05
);
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
.05
)}
.panel-default
>
.panel-heading
{
background-image
:
-webkit-linear-gradient
(
top
,
#f5f5f5
0
,
#e8e8e8
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f5f5f5
0
,
#e8e8e8
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#f5f5f5
),
to
(
#e8e8e8
));
background-image
:
linear-gradient
(
to
bottom
,
#f5f5f5
0
,
#e8e8e8
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff5f5f5'
,
endColorstr
=
'#ffe8e8e8'
,
GradientType
=
0
);
background-repeat
:
repeat-x
}
.panel-primary
>
.panel-heading
{
background-image
:
-webkit-linear-gradient
(
top
,
#337ab7
0
,
#2e6da4
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0
,
#2e6da4
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#337ab7
),
to
(
#2e6da4
));
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0
,
#2e6da4
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff2e6da4'
,
GradientType
=
0
);
background-repeat
:
repeat-x
}
.panel-success
>
.panel-heading
{
background-image
:
-webkit-linear-gradient
(
top
,
#dff0d8
0
,
#d0e9c6
100%
);
background-image
:
-o-linear-gradient
(
top
,
#dff0d8
0
,
#d0e9c6
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#dff0d8
),
to
(
#d0e9c6
));
background-image
:
linear-gradient
(
to
bottom
,
#dff0d8
0
,
#d0e9c6
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffdff0d8'
,
endColorstr
=
'#ffd0e9c6'
,
GradientType
=
0
);
background-repeat
:
repeat-x
}
.panel-info
>
.panel-heading
{
background-image
:
-webkit-linear-gradient
(
top
,
#d9edf7
0
,
#c4e3f3
100%
);
background-image
:
-o-linear-gradient
(
top
,
#d9edf7
0
,
#c4e3f3
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#d9edf7
),
to
(
#c4e3f3
));
background-image
:
linear-gradient
(
to
bottom
,
#d9edf7
0
,
#c4e3f3
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffd9edf7'
,
endColorstr
=
'#ffc4e3f3'
,
GradientType
=
0
);
background-repeat
:
repeat-x
}
.panel-warning
>
.panel-heading
{
background-image
:
-webkit-linear-gradient
(
top
,
#fcf8e3
0
,
#faf2cc
100%
);
background-image
:
-o-linear-gradient
(
top
,
#fcf8e3
0
,
#faf2cc
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#fcf8e3
),
to
(
#faf2cc
));
background-image
:
linear-gradient
(
to
bottom
,
#fcf8e3
0
,
#faf2cc
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fffcf8e3'
,
endColorstr
=
'#fffaf2cc'
,
GradientType
=
0
);
background-repeat
:
repeat-x
}
.panel-danger
>
.panel-heading
{
background-image
:
-webkit-linear-gradient
(
top
,
#f2dede
0
,
#ebcccc
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f2dede
0
,
#ebcccc
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#f2dede
),
to
(
#ebcccc
));
background-image
:
linear-gradient
(
to
bottom
,
#f2dede
0
,
#ebcccc
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff2dede'
,
endColorstr
=
'#ffebcccc'
,
GradientType
=
0
);
background-repeat
:
repeat-x
}
.well
{
background-image
:
-webkit-linear-gradient
(
top
,
#e8e8e8
0
,
#f5f5f5
100%
);
background-image
:
-o-linear-gradient
(
top
,
#e8e8e8
0
,
#f5f5f5
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#e8e8e8
),
to
(
#f5f5f5
));
background-image
:
linear-gradient
(
to
bottom
,
#e8e8e8
0
,
#f5f5f5
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffe8e8e8'
,
endColorstr
=
'#fff5f5f5'
,
GradientType
=
0
);
background-repeat
:
repeat-x
;
border-color
:
#dcdcdc
;
-webkit-box-shadow
:
inset
0
1px
3px
rgba
(
0
,
0
,
0
,
.05
),
0
1px
0
rgba
(
255
,
255
,
255
,
.1
);
box-shadow
:
inset
0
1px
3px
rgba
(
0
,
0
,
0
,
.05
),
0
1px
0
rgba
(
255
,
255
,
255
,
.1
)}
\ No newline at end of file
/*!
* Generated using the Bootstrap Customizer (http://v3.bootcss.com/customize/?id=77eb5b80e2738ea76db2)
* Config saved to config.json and https://gist.github.com/77eb5b80e2738ea76db2
*//*!
* Bootstrap v3.3.5 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
.btn-default
,
.btn-primary
,
.btn-success
,
.btn-info
,
.btn-warning
,
.btn-danger
{
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0.2
);
-webkit-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.15
),
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.15
),
0
1px
1px
rgba
(
0
,
0
,
0
,
0.075
)}
.btn-default
:active
,
.btn-primary
:active
,
.btn-success
:active
,
.btn-info
:active
,
.btn-warning
:active
,
.btn-danger
:active
,
.btn-default.active
,
.btn-primary.active
,
.btn-success.active
,
.btn-info.active
,
.btn-warning.active
,
.btn-danger.active
{
-webkit-box-shadow
:
inset
0
3px
5px
rgba
(
0
,
0
,
0
,
0.125
);
box-shadow
:
inset
0
3px
5px
rgba
(
0
,
0
,
0
,
0.125
)}
.btn-default.disabled
,
.btn-primary.disabled
,
.btn-success.disabled
,
.btn-info.disabled
,
.btn-warning.disabled
,
.btn-danger.disabled
,
.btn-default
[
disabled
],
.btn-primary
[
disabled
],
.btn-success
[
disabled
],
.btn-info
[
disabled
],
.btn-warning
[
disabled
],
.btn-danger
[
disabled
],
fieldset
[
disabled
]
.btn-default
,
fieldset
[
disabled
]
.btn-primary
,
fieldset
[
disabled
]
.btn-success
,
fieldset
[
disabled
]
.btn-info
,
fieldset
[
disabled
]
.btn-warning
,
fieldset
[
disabled
]
.btn-danger
{
-webkit-box-shadow
:
none
;
box-shadow
:
none
}
.btn-default
.badge
,
.btn-primary
.badge
,
.btn-success
.badge
,
.btn-info
.badge
,
.btn-warning
.badge
,
.btn-danger
.badge
{
text-shadow
:
none
}
.btn
:active
,
.btn.active
{
background-image
:
none
}
.btn-default
{
background-image
:
-webkit-linear-gradient
(
top
,
#fff
0
,
#e0e0e0
100%
);
background-image
:
-o-linear-gradient
(
top
,
#fff
0
,
#e0e0e0
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#fff
),
to
(
#e0e0e0
));
background-image
:
linear-gradient
(
to
bottom
,
#fff
0
,
#e0e0e0
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffffffff'
,
endColorstr
=
'#ffe0e0e0'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
background-repeat
:
repeat-x
;
border-color
:
#dbdbdb
;
text-shadow
:
0
1px
0
#fff
;
border-color
:
#ccc
}
.btn-default
:hover
,
.btn-default
:focus
{
background-color
:
#e0e0e0
;
background-position
:
0
-15px
}
.btn-default
:active
,
.btn-default.active
{
background-color
:
#e0e0e0
;
border-color
:
#dbdbdb
}
.btn-default.disabled
,
.btn-default
[
disabled
],
fieldset
[
disabled
]
.btn-default
,
.btn-default.disabled
:hover
,
.btn-default
[
disabled
]
:hover
,
fieldset
[
disabled
]
.btn-default
:hover
,
.btn-default.disabled
:focus
,
.btn-default
[
disabled
]
:focus
,
fieldset
[
disabled
]
.btn-default
:focus
,
.btn-default.disabled.focus
,
.btn-default
[
disabled
]
.focus
,
fieldset
[
disabled
]
.btn-default.focus
,
.btn-default.disabled
:active
,
.btn-default
[
disabled
]
:active
,
fieldset
[
disabled
]
.btn-default
:active
,
.btn-default.disabled.active
,
.btn-default
[
disabled
]
.active
,
fieldset
[
disabled
]
.btn-default.active
{
background-color
:
#e0e0e0
;
background-image
:
none
}
.btn-primary
{
background-image
:
-webkit-linear-gradient
(
top
,
#337ab7
0
,
#265a88
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0
,
#265a88
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#337ab7
),
to
(
#265a88
));
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0
,
#265a88
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff265a88'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
background-repeat
:
repeat-x
;
border-color
:
#245580
}
.btn-primary
:hover
,
.btn-primary
:focus
{
background-color
:
#265a88
;
background-position
:
0
-15px
}
.btn-primary
:active
,
.btn-primary.active
{
background-color
:
#265a88
;
border-color
:
#245580
}
.btn-primary.disabled
,
.btn-primary
[
disabled
],
fieldset
[
disabled
]
.btn-primary
,
.btn-primary.disabled
:hover
,
.btn-primary
[
disabled
]
:hover
,
fieldset
[
disabled
]
.btn-primary
:hover
,
.btn-primary.disabled
:focus
,
.btn-primary
[
disabled
]
:focus
,
fieldset
[
disabled
]
.btn-primary
:focus
,
.btn-primary.disabled.focus
,
.btn-primary
[
disabled
]
.focus
,
fieldset
[
disabled
]
.btn-primary.focus
,
.btn-primary.disabled
:active
,
.btn-primary
[
disabled
]
:active
,
fieldset
[
disabled
]
.btn-primary
:active
,
.btn-primary.disabled.active
,
.btn-primary
[
disabled
]
.active
,
fieldset
[
disabled
]
.btn-primary.active
{
background-color
:
#265a88
;
background-image
:
none
}
.btn-success
{
background-image
:
-webkit-linear-gradient
(
top
,
#5cb85c
0
,
#419641
100%
);
background-image
:
-o-linear-gradient
(
top
,
#5cb85c
0
,
#419641
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#5cb85c
),
to
(
#419641
));
background-image
:
linear-gradient
(
to
bottom
,
#5cb85c
0
,
#419641
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff5cb85c'
,
endColorstr
=
'#ff419641'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
background-repeat
:
repeat-x
;
border-color
:
#3e8f3e
}
.btn-success
:hover
,
.btn-success
:focus
{
background-color
:
#419641
;
background-position
:
0
-15px
}
.btn-success
:active
,
.btn-success.active
{
background-color
:
#419641
;
border-color
:
#3e8f3e
}
.btn-success.disabled
,
.btn-success
[
disabled
],
fieldset
[
disabled
]
.btn-success
,
.btn-success.disabled
:hover
,
.btn-success
[
disabled
]
:hover
,
fieldset
[
disabled
]
.btn-success
:hover
,
.btn-success.disabled
:focus
,
.btn-success
[
disabled
]
:focus
,
fieldset
[
disabled
]
.btn-success
:focus
,
.btn-success.disabled.focus
,
.btn-success
[
disabled
]
.focus
,
fieldset
[
disabled
]
.btn-success.focus
,
.btn-success.disabled
:active
,
.btn-success
[
disabled
]
:active
,
fieldset
[
disabled
]
.btn-success
:active
,
.btn-success.disabled.active
,
.btn-success
[
disabled
]
.active
,
fieldset
[
disabled
]
.btn-success.active
{
background-color
:
#419641
;
background-image
:
none
}
.btn-info
{
background-image
:
-webkit-linear-gradient
(
top
,
#5bc0de
0
,
#2aabd2
100%
);
background-image
:
-o-linear-gradient
(
top
,
#5bc0de
0
,
#2aabd2
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#5bc0de
),
to
(
#2aabd2
));
background-image
:
linear-gradient
(
to
bottom
,
#5bc0de
0
,
#2aabd2
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff5bc0de'
,
endColorstr
=
'#ff2aabd2'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
background-repeat
:
repeat-x
;
border-color
:
#28a4c9
}
.btn-info
:hover
,
.btn-info
:focus
{
background-color
:
#2aabd2
;
background-position
:
0
-15px
}
.btn-info
:active
,
.btn-info.active
{
background-color
:
#2aabd2
;
border-color
:
#28a4c9
}
.btn-info.disabled
,
.btn-info
[
disabled
],
fieldset
[
disabled
]
.btn-info
,
.btn-info.disabled
:hover
,
.btn-info
[
disabled
]
:hover
,
fieldset
[
disabled
]
.btn-info
:hover
,
.btn-info.disabled
:focus
,
.btn-info
[
disabled
]
:focus
,
fieldset
[
disabled
]
.btn-info
:focus
,
.btn-info.disabled.focus
,
.btn-info
[
disabled
]
.focus
,
fieldset
[
disabled
]
.btn-info.focus
,
.btn-info.disabled
:active
,
.btn-info
[
disabled
]
:active
,
fieldset
[
disabled
]
.btn-info
:active
,
.btn-info.disabled.active
,
.btn-info
[
disabled
]
.active
,
fieldset
[
disabled
]
.btn-info.active
{
background-color
:
#2aabd2
;
background-image
:
none
}
.btn-warning
{
background-image
:
-webkit-linear-gradient
(
top
,
#f0ad4e
0
,
#eb9316
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f0ad4e
0
,
#eb9316
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#f0ad4e
),
to
(
#eb9316
));
background-image
:
linear-gradient
(
to
bottom
,
#f0ad4e
0
,
#eb9316
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff0ad4e'
,
endColorstr
=
'#ffeb9316'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
background-repeat
:
repeat-x
;
border-color
:
#e38d13
}
.btn-warning
:hover
,
.btn-warning
:focus
{
background-color
:
#eb9316
;
background-position
:
0
-15px
}
.btn-warning
:active
,
.btn-warning.active
{
background-color
:
#eb9316
;
border-color
:
#e38d13
}
.btn-warning.disabled
,
.btn-warning
[
disabled
],
fieldset
[
disabled
]
.btn-warning
,
.btn-warning.disabled
:hover
,
.btn-warning
[
disabled
]
:hover
,
fieldset
[
disabled
]
.btn-warning
:hover
,
.btn-warning.disabled
:focus
,
.btn-warning
[
disabled
]
:focus
,
fieldset
[
disabled
]
.btn-warning
:focus
,
.btn-warning.disabled.focus
,
.btn-warning
[
disabled
]
.focus
,
fieldset
[
disabled
]
.btn-warning.focus
,
.btn-warning.disabled
:active
,
.btn-warning
[
disabled
]
:active
,
fieldset
[
disabled
]
.btn-warning
:active
,
.btn-warning.disabled.active
,
.btn-warning
[
disabled
]
.active
,
fieldset
[
disabled
]
.btn-warning.active
{
background-color
:
#eb9316
;
background-image
:
none
}
.btn-danger
{
background-image
:
-webkit-linear-gradient
(
top
,
#d9534f
0
,
#c12e2a
100%
);
background-image
:
-o-linear-gradient
(
top
,
#d9534f
0
,
#c12e2a
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#d9534f
),
to
(
#c12e2a
));
background-image
:
linear-gradient
(
to
bottom
,
#d9534f
0
,
#c12e2a
100%
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffd9534f'
,
endColorstr
=
'#ffc12e2a'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
background-repeat
:
repeat-x
;
border-color
:
#b92c28
}
.btn-danger
:hover
,
.btn-danger
:focus
{
background-color
:
#c12e2a
;
background-position
:
0
-15px
}
.btn-danger
:active
,
.btn-danger.active
{
background-color
:
#c12e2a
;
border-color
:
#b92c28
}
.btn-danger.disabled
,
.btn-danger
[
disabled
],
fieldset
[
disabled
]
.btn-danger
,
.btn-danger.disabled
:hover
,
.btn-danger
[
disabled
]
:hover
,
fieldset
[
disabled
]
.btn-danger
:hover
,
.btn-danger.disabled
:focus
,
.btn-danger
[
disabled
]
:focus
,
fieldset
[
disabled
]
.btn-danger
:focus
,
.btn-danger.disabled.focus
,
.btn-danger
[
disabled
]
.focus
,
fieldset
[
disabled
]
.btn-danger.focus
,
.btn-danger.disabled
:active
,
.btn-danger
[
disabled
]
:active
,
fieldset
[
disabled
]
.btn-danger
:active
,
.btn-danger.disabled.active
,
.btn-danger
[
disabled
]
.active
,
fieldset
[
disabled
]
.btn-danger.active
{
background-color
:
#c12e2a
;
background-image
:
none
}
.thumbnail
,
.img-thumbnail
{
-webkit-box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.075
);
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.075
)}
.dropdown-menu
>
li
>
a
:hover
,
.dropdown-menu
>
li
>
a
:focus
{
background-image
:
-webkit-linear-gradient
(
top
,
#f5f5f5
0
,
#e8e8e8
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f5f5f5
0
,
#e8e8e8
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#f5f5f5
),
to
(
#e8e8e8
));
background-image
:
linear-gradient
(
to
bottom
,
#f5f5f5
0
,
#e8e8e8
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff5f5f5'
,
endColorstr
=
'#ffe8e8e8'
,
GradientType
=
0
);
background-color
:
#e8e8e8
}
.dropdown-menu
>
.active
>
a
,
.dropdown-menu
>
.active
>
a
:hover
,
.dropdown-menu
>
.active
>
a
:focus
{
background-image
:
-webkit-linear-gradient
(
top
,
#337ab7
0
,
#2e6da4
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0
,
#2e6da4
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#337ab7
),
to
(
#2e6da4
));
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0
,
#2e6da4
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff2e6da4'
,
GradientType
=
0
);
background-color
:
#2e6da4
}
.navbar-default
{
background-image
:
-webkit-linear-gradient
(
top
,
#fff
0
,
#f8f8f8
100%
);
background-image
:
-o-linear-gradient
(
top
,
#fff
0
,
#f8f8f8
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#fff
),
to
(
#f8f8f8
));
background-image
:
linear-gradient
(
to
bottom
,
#fff
0
,
#f8f8f8
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffffffff'
,
endColorstr
=
'#fff8f8f8'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
border-radius
:
4px
;
-webkit-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.15
),
0
1px
5px
rgba
(
0
,
0
,
0
,
0.075
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.15
),
0
1px
5px
rgba
(
0
,
0
,
0
,
0.075
)}
.navbar-default
.navbar-nav
>
.open
>
a
,
.navbar-default
.navbar-nav
>
.active
>
a
{
background-image
:
-webkit-linear-gradient
(
top
,
#dbdbdb
0
,
#e2e2e2
100%
);
background-image
:
-o-linear-gradient
(
top
,
#dbdbdb
0
,
#e2e2e2
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#dbdbdb
),
to
(
#e2e2e2
));
background-image
:
linear-gradient
(
to
bottom
,
#dbdbdb
0
,
#e2e2e2
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffdbdbdb'
,
endColorstr
=
'#ffe2e2e2'
,
GradientType
=
0
);
-webkit-box-shadow
:
inset
0
3px
9px
rgba
(
0
,
0
,
0
,
0.075
);
box-shadow
:
inset
0
3px
9px
rgba
(
0
,
0
,
0
,
0.075
)}
.navbar-brand
,
.navbar-nav
>
li
>
a
{
text-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
0.25
)}
.navbar-inverse
{
background-image
:
-webkit-linear-gradient
(
top
,
#3c3c3c
0
,
#222
100%
);
background-image
:
-o-linear-gradient
(
top
,
#3c3c3c
0
,
#222
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#3c3c3c
),
to
(
#222
));
background-image
:
linear-gradient
(
to
bottom
,
#3c3c3c
0
,
#222
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff3c3c3c'
,
endColorstr
=
'#ff222222'
,
GradientType
=
0
);
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
enabled
=
false
);
border-radius
:
4px
}
.navbar-inverse
.navbar-nav
>
.open
>
a
,
.navbar-inverse
.navbar-nav
>
.active
>
a
{
background-image
:
-webkit-linear-gradient
(
top
,
#080808
0
,
#0f0f0f
100%
);
background-image
:
-o-linear-gradient
(
top
,
#080808
0
,
#0f0f0f
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#080808
),
to
(
#0f0f0f
));
background-image
:
linear-gradient
(
to
bottom
,
#080808
0
,
#0f0f0f
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff080808'
,
endColorstr
=
'#ff0f0f0f'
,
GradientType
=
0
);
-webkit-box-shadow
:
inset
0
3px
9px
rgba
(
0
,
0
,
0
,
0.25
);
box-shadow
:
inset
0
3px
9px
rgba
(
0
,
0
,
0
,
0.25
)}
.navbar-inverse
.navbar-brand
,
.navbar-inverse
.navbar-nav
>
li
>
a
{
text-shadow
:
0
-1px
0
rgba
(
0
,
0
,
0
,
0.25
)}
.navbar-static-top
,
.navbar-fixed-top
,
.navbar-fixed-bottom
{
border-radius
:
0
}
@media
(
max-width
:
767px
){
.navbar
.navbar-nav
.open
.dropdown-menu
>
.active
>
a
,
.navbar
.navbar-nav
.open
.dropdown-menu
>
.active
>
a
:hover
,
.navbar
.navbar-nav
.open
.dropdown-menu
>
.active
>
a
:focus
{
color
:
#fff
;
background-image
:
-webkit-linear-gradient
(
top
,
#337ab7
0
,
#2e6da4
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0
,
#2e6da4
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#337ab7
),
to
(
#2e6da4
));
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0
,
#2e6da4
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff2e6da4'
,
GradientType
=
0
)}}
.alert
{
text-shadow
:
0
1px
0
rgba
(
255
,
255
,
255
,
0.2
);
-webkit-box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.25
),
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
);
box-shadow
:
inset
0
1px
0
rgba
(
255
,
255
,
255
,
0.25
),
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
)}
.alert-success
{
background-image
:
-webkit-linear-gradient
(
top
,
#dff0d8
0
,
#c8e5bc
100%
);
background-image
:
-o-linear-gradient
(
top
,
#dff0d8
0
,
#c8e5bc
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#dff0d8
),
to
(
#c8e5bc
));
background-image
:
linear-gradient
(
to
bottom
,
#dff0d8
0
,
#c8e5bc
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffdff0d8'
,
endColorstr
=
'#ffc8e5bc'
,
GradientType
=
0
);
border-color
:
#b2dba1
}
.alert-info
{
background-image
:
-webkit-linear-gradient
(
top
,
#d9edf7
0
,
#b9def0
100%
);
background-image
:
-o-linear-gradient
(
top
,
#d9edf7
0
,
#b9def0
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#d9edf7
),
to
(
#b9def0
));
background-image
:
linear-gradient
(
to
bottom
,
#d9edf7
0
,
#b9def0
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffd9edf7'
,
endColorstr
=
'#ffb9def0'
,
GradientType
=
0
);
border-color
:
#9acfea
}
.alert-warning
{
background-image
:
-webkit-linear-gradient
(
top
,
#fcf8e3
0
,
#f8efc0
100%
);
background-image
:
-o-linear-gradient
(
top
,
#fcf8e3
0
,
#f8efc0
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#fcf8e3
),
to
(
#f8efc0
));
background-image
:
linear-gradient
(
to
bottom
,
#fcf8e3
0
,
#f8efc0
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fffcf8e3'
,
endColorstr
=
'#fff8efc0'
,
GradientType
=
0
);
border-color
:
#f5e79e
}
.alert-danger
{
background-image
:
-webkit-linear-gradient
(
top
,
#f2dede
0
,
#e7c3c3
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f2dede
0
,
#e7c3c3
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#f2dede
),
to
(
#e7c3c3
));
background-image
:
linear-gradient
(
to
bottom
,
#f2dede
0
,
#e7c3c3
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff2dede'
,
endColorstr
=
'#ffe7c3c3'
,
GradientType
=
0
);
border-color
:
#dca7a7
}
.progress
{
background-image
:
-webkit-linear-gradient
(
top
,
#ebebeb
0
,
#f5f5f5
100%
);
background-image
:
-o-linear-gradient
(
top
,
#ebebeb
0
,
#f5f5f5
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#ebebeb
),
to
(
#f5f5f5
));
background-image
:
linear-gradient
(
to
bottom
,
#ebebeb
0
,
#f5f5f5
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffebebeb'
,
endColorstr
=
'#fff5f5f5'
,
GradientType
=
0
)}
.progress-bar
{
background-image
:
-webkit-linear-gradient
(
top
,
#337ab7
0
,
#286090
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0
,
#286090
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#337ab7
),
to
(
#286090
));
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0
,
#286090
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff286090'
,
GradientType
=
0
)}
.progress-bar-success
{
background-image
:
-webkit-linear-gradient
(
top
,
#5cb85c
0
,
#449d44
100%
);
background-image
:
-o-linear-gradient
(
top
,
#5cb85c
0
,
#449d44
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#5cb85c
),
to
(
#449d44
));
background-image
:
linear-gradient
(
to
bottom
,
#5cb85c
0
,
#449d44
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff5cb85c'
,
endColorstr
=
'#ff449d44'
,
GradientType
=
0
)}
.progress-bar-info
{
background-image
:
-webkit-linear-gradient
(
top
,
#5bc0de
0
,
#31b0d5
100%
);
background-image
:
-o-linear-gradient
(
top
,
#5bc0de
0
,
#31b0d5
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#5bc0de
),
to
(
#31b0d5
));
background-image
:
linear-gradient
(
to
bottom
,
#5bc0de
0
,
#31b0d5
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff5bc0de'
,
endColorstr
=
'#ff31b0d5'
,
GradientType
=
0
)}
.progress-bar-warning
{
background-image
:
-webkit-linear-gradient
(
top
,
#f0ad4e
0
,
#ec971f
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f0ad4e
0
,
#ec971f
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#f0ad4e
),
to
(
#ec971f
));
background-image
:
linear-gradient
(
to
bottom
,
#f0ad4e
0
,
#ec971f
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff0ad4e'
,
endColorstr
=
'#ffec971f'
,
GradientType
=
0
)}
.progress-bar-danger
{
background-image
:
-webkit-linear-gradient
(
top
,
#d9534f
0
,
#c9302c
100%
);
background-image
:
-o-linear-gradient
(
top
,
#d9534f
0
,
#c9302c
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#d9534f
),
to
(
#c9302c
));
background-image
:
linear-gradient
(
to
bottom
,
#d9534f
0
,
#c9302c
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffd9534f'
,
endColorstr
=
'#ffc9302c'
,
GradientType
=
0
)}
.progress-bar-striped
{
background-image
:
-webkit-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
-o-linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
);
background-image
:
linear-gradient
(
45deg
,
rgba
(
255
,
255
,
255
,
0.15
)
25%
,
transparent
25%
,
transparent
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
50%
,
rgba
(
255
,
255
,
255
,
0.15
)
75%
,
transparent
75%
,
transparent
)}
.list-group
{
border-radius
:
4px
;
-webkit-box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.075
);
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.075
)}
.list-group-item.active
,
.list-group-item.active
:hover
,
.list-group-item.active
:focus
{
text-shadow
:
0
-1px
0
#286090
;
background-image
:
-webkit-linear-gradient
(
top
,
#337ab7
0
,
#2b669a
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0
,
#2b669a
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#337ab7
),
to
(
#2b669a
));
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0
,
#2b669a
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff2b669a'
,
GradientType
=
0
);
border-color
:
#2b669a
}
.list-group-item.active
.badge
,
.list-group-item.active
:hover
.badge
,
.list-group-item.active
:focus
.badge
{
text-shadow
:
none
}
.panel
{
-webkit-box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
);
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.05
)}
.panel-default
>
.panel-heading
{
background-image
:
-webkit-linear-gradient
(
top
,
#f5f5f5
0
,
#e8e8e8
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f5f5f5
0
,
#e8e8e8
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#f5f5f5
),
to
(
#e8e8e8
));
background-image
:
linear-gradient
(
to
bottom
,
#f5f5f5
0
,
#e8e8e8
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff5f5f5'
,
endColorstr
=
'#ffe8e8e8'
,
GradientType
=
0
)}
.panel-primary
>
.panel-heading
{
background-image
:
-webkit-linear-gradient
(
top
,
#337ab7
0
,
#2e6da4
100%
);
background-image
:
-o-linear-gradient
(
top
,
#337ab7
0
,
#2e6da4
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#337ab7
),
to
(
#2e6da4
));
background-image
:
linear-gradient
(
to
bottom
,
#337ab7
0
,
#2e6da4
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ff337ab7'
,
endColorstr
=
'#ff2e6da4'
,
GradientType
=
0
)}
.panel-success
>
.panel-heading
{
background-image
:
-webkit-linear-gradient
(
top
,
#dff0d8
0
,
#d0e9c6
100%
);
background-image
:
-o-linear-gradient
(
top
,
#dff0d8
0
,
#d0e9c6
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#dff0d8
),
to
(
#d0e9c6
));
background-image
:
linear-gradient
(
to
bottom
,
#dff0d8
0
,
#d0e9c6
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffdff0d8'
,
endColorstr
=
'#ffd0e9c6'
,
GradientType
=
0
)}
.panel-info
>
.panel-heading
{
background-image
:
-webkit-linear-gradient
(
top
,
#d9edf7
0
,
#c4e3f3
100%
);
background-image
:
-o-linear-gradient
(
top
,
#d9edf7
0
,
#c4e3f3
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#d9edf7
),
to
(
#c4e3f3
));
background-image
:
linear-gradient
(
to
bottom
,
#d9edf7
0
,
#c4e3f3
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffd9edf7'
,
endColorstr
=
'#ffc4e3f3'
,
GradientType
=
0
)}
.panel-warning
>
.panel-heading
{
background-image
:
-webkit-linear-gradient
(
top
,
#fcf8e3
0
,
#faf2cc
100%
);
background-image
:
-o-linear-gradient
(
top
,
#fcf8e3
0
,
#faf2cc
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#fcf8e3
),
to
(
#faf2cc
));
background-image
:
linear-gradient
(
to
bottom
,
#fcf8e3
0
,
#faf2cc
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fffcf8e3'
,
endColorstr
=
'#fffaf2cc'
,
GradientType
=
0
)}
.panel-danger
>
.panel-heading
{
background-image
:
-webkit-linear-gradient
(
top
,
#f2dede
0
,
#ebcccc
100%
);
background-image
:
-o-linear-gradient
(
top
,
#f2dede
0
,
#ebcccc
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#f2dede
),
to
(
#ebcccc
));
background-image
:
linear-gradient
(
to
bottom
,
#f2dede
0
,
#ebcccc
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#fff2dede'
,
endColorstr
=
'#ffebcccc'
,
GradientType
=
0
)}
.well
{
background-image
:
-webkit-linear-gradient
(
top
,
#e8e8e8
0
,
#f5f5f5
100%
);
background-image
:
-o-linear-gradient
(
top
,
#e8e8e8
0
,
#f5f5f5
100%
);
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
color-stop
(
0
,
#e8e8e8
),
to
(
#f5f5f5
));
background-image
:
linear-gradient
(
to
bottom
,
#e8e8e8
0
,
#f5f5f5
100%
);
background-repeat
:
repeat-x
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
gradient
(
startColorstr
=
'#ffe8e8e8'
,
endColorstr
=
'#fff5f5f5'
,
GradientType
=
0
);
border-color
:
#dcdcdc
;
-webkit-box-shadow
:
inset
0
1px
3px
rgba
(
0
,
0
,
0
,
0.05
),
0
1px
0
rgba
(
255
,
255
,
255
,
0.1
);
box-shadow
:
inset
0
1px
3px
rgba
(
0
,
0
,
0
,
0.05
),
0
1px
0
rgba
(
255
,
255
,
255
,
0.1
)}
\ No newline at end of file
wp-content/plugins/tospur/Admin/views/css/bootstrap.css
View file @
2fc2824f
This source diff could not be displayed because it is too large. You can
view the blob
instead.
wp-content/plugins/tospur/Admin/views/houseInfo.html
0 → 100644
View file @
2fc2824f
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-12"
>
<label
for=
"housename"
>
城市:
</label>
<select
id=
"baseCity"
name=
"baseCity"
class=
"form-control"
>
<option
value=
"-1"
>
城市
</option>
{% for item in city %}
<option
{{
item
.
id =
=
result
.
city_id
?"
selected
"
:
""
}}
value=
"{{ item.id }}"
>
{{ item.value }}
</option>
{% endfor %}
</select>
<select
id=
"baseAreaId"
name=
"baseAreaId"
class=
"form-control"
>
<option
value =
"-1"
>
区域
</option>
{% if district %}
{% for item in district %}
<option
{{
item
.
id =
=
result
.
district_id
?"
selected
"
:
""
}}
value=
"{{ item.id }}"
>
{{ item.value }}
</option>
{% endfor %}
{% endif %}
</select>
<select
id=
"basePlateId"
name=
"basePlateId"
class=
"form-control"
>
<option
value =
"-1"
>
板块
</option>
{% if district %}
{% for item in plate %}
<option
{{
item
.
id =
=
result
.
plate_id
?"
selected
"
:
""
}}
value=
"{{ item.id }}"
>
{{ item.value }}
</option>
{% endfor %}
{% endif %}
</select>
</div>
</div>
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-12"
>
<label
for=
"address"
>
地址:
</label>
<input
name=
"address"
type=
"text"
value=
"{{result.address}}"
class=
"form-control"
style=
"width:80%;"
>
</div>
</div>
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<label
for=
"address"
>
小区名称:
</label>
<input
name=
"community_name"
type=
"text"
value=
"{{result.community_name}}"
class=
"form-control"
>
</div>
<div
class=
"col-md-6"
>
<label
for=
"suite"
>
门牌号码:
</label></th>
<input
name=
"suite"
type=
"text"
value=
"{{result.suite}}"
class=
"form-control"
>
</div>
</div>
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<label
for=
"floor"
>
楼层:
</label>
<input
name=
"floor"
type=
"text"
value=
"{{result.floor}}"
class=
"form-control"
>
</div>
<div
class=
"col-md-6"
>
<label
for=
"totalFloor"
>
总层:
</label>
<input
type=
"text"
name=
"totalFloor"
value=
"{{result.totalFloor}}"
class=
"form-control"
>
</div>
</div>
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<label
for=
"faceto"
>
朝向:
</label>
<select
name=
"faceto"
class=
"form-control"
>
<option
value=
"其他"
>
其他
</option>
<option
value=
"东"
>
东
</option>
<option
value=
"南"
>
南
</option>
<option
value=
"西"
>
西
</option>
<option
value=
"北"
>
北
</option>
<option
value=
"东西"
>
东西
</option>
<option
value=
"南北"
>
南北
</option>
<option
value=
"南南"
>
南南
</option>
<option
value=
"东南"
>
东南
</option>
<option
value=
"东北"
>
东北
</option>
<option
value=
"西南"
>
西南
</option>
<option
value=
"西北"
>
西北
</option>
</select>
</div>
<div
class=
"col-md-6"
>
<label
for=
"age"
>
建筑年代:
</label>
<!--<input name="age" type="text" value="{{result.age}}" class="form-control">-->
<select
name=
"age"
class=
"form-control"
>
<option>
未知
</option>
{% for item in age%}
<option
{{
item =
=
result
.
age
?"
selected
"
:
""
}}
value=
"{{item}}"
>
{{item}}
</option>
{% endfor %}
</select>
</div>
</div>
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<label
for=
"address"
>
小区名称:
</label>
<input
name=
"community_name"
type=
"text"
value=
"{{result.community_name}}"
class=
"form-control"
>
</div>
<div
class=
"col-md-6"
>
<label
for=
"suite"
>
门牌号码:
</label></th>
<input
name=
"suite"
type=
"text"
value=
"{{result.suite}}"
class=
"form-control"
>
</div>
</div>
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<label
for=
"from"
>
户型:
</label>
<select
name=
"roomNum"
class=
"form-control"
>
<option
value=
"0"
>
0
</option>
<option
value=
"1"
>
1
</option>
<option
value=
"2"
>
2
</option>
<option
value=
"3"
>
3
</option>
<option
value=
"4"
>
4
</option>
<option
value=
"5"
>
5
</option>
<option
value=
"6"
>
6
</option>
<option
value=
"7"
>
7
</option>
<option
value=
"8"
>
8
</option>
</select>
<label
for=
"roomNum"
>
室
</label>
<select
name=
"livingRoom"
class=
"form-control"
>
<option
value=
"0"
>
0
</option>
<option
value=
"1"
>
1
</option>
<option
value=
"2"
>
2
</option>
<option
value=
"3"
>
3
</option>
<option
value=
"4"
>
4
</option>
</select>
<label
for=
"livingRoom"
>
厅
</label>
<select
name=
"bathRoom"
class=
"form-control"
>
<option
value=
"0"
>
0
</option>
<option
value=
"1"
>
1
</option>
<option
value=
"2"
>
2
</option>
<option
value=
"3"
>
3
</option>
<option
value=
"4"
>
4
</option>
</select>
<label
for=
"bathRoom"
>
卫
</label>
<select
name=
"kitchen"
class=
"form-control"
>
<option
value=
"0"
>
0
</option>
<option
value=
"1"
>
1
</option>
<option
value=
"2"
>
2
</option>
<option
value=
"3"
>
3
</option>
</select>
<label
for=
"kitchen"
>
厨
</label>
<select
name=
"balcony"
class=
"form-control"
>
<option
value=
"0"
>
0
</option>
<option
value=
"1"
>
1
</option>
<option
value=
"2"
>
2
</option>
<option
value=
"3"
>
3
</option>
</select>
<label
for=
"balcony"
>
阳台
</label>
</div>
<div
class=
"col-md-6"
>
<label
for=
"decoration"
>
装修程度:
</label>
<select
name=
"decoration"
class=
"form-control"
>
<option
value=
"毛坯"
>
毛坯
</option>
<option
value=
"简单装修"
>
简单装修
</option>
<option
value=
"中等装修"
>
中等装修
</option>
<option
value=
"精装修"
>
精装修
</option>
<option
value=
"豪华装修"
>
豪华装修
</option>
</select>
</div>
</div>
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<label
for=
"baseRoom"
>
建筑类型:
</label>
<select
id=
"baseRoom"
name=
"baseRoom"
class=
"form-control"
>
{% for item in room %}
<option
{{
item
.
id =
=
result
.
room_id
?"
selected
"
:
""
}}
value=
"{{ item.id }}"
>
{{ item.value }}
</option>
{% endfor %}
</select>
</div>
<div
class=
"col-md-6"
>
<label
for=
"propertyRight"
>
产权:
</label>
<select
name=
"propertyRight"
class=
"form-control"
>
<option
value=
"个人产权"
>
个人产权
</option>
<option
value=
"单位产权"
>
单位产权
</option>
<option
value=
"售后产权"
>
售后产权
</option>
<option
value=
"家庭成员共有"
>
家庭成员共有
</option>
<option
value=
"使用权"
>
使用权
</option>
<option
value=
"小产权"
>
小产权
</option>
<option
value=
"协议房"
>
协议房
</option>
<option
value=
"私产"
>
私产
</option>
<option
value=
"公产"
>
公产
</option>
<option
value=
"合同发票"
>
合同发票
</option>
<option
value=
"三联单"
>
三联单
</option>
<option
value=
"其他"
>
其他
</option>
</select>
</div>
</div>
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<label
for=
"covered_area"
>
建筑面积:
</label>
<input
name=
"covered_area"
type=
"text"
value=
"{{result.covered_area}}"
class=
"form-control"
>
平方米
</div>
<div
class=
"col-md-6"
>
<label
for=
"useArea"
>
使用面积:
</label>
<input
type=
"text"
name=
"useArea"
value=
"{{result.useArea}}"
class=
"form-control"
>
平方米
</div>
</div>
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<label
for=
"propertyProof"
>
产证:
</label>
<input
type=
"text"
name=
"propertyProof"
value=
"{{result.propertyProof}}"
class=
"form-control"
>
</div>
<div
class=
"col-md-6"
>
<label
for=
"structure"
>
结构:
</label>
<select
name=
"structure"
class=
"form-control"
>
<option
value=
"其他"
>
其他
</option>
<option
value=
"框架"
>
框架
</option>
<option
value=
"砖混"
>
砖混
</option>
<option
value=
"剪力"
>
剪力
</option>
<option
value=
"钢混"
>
钢混
</option>
<option
value=
"木混"
>
木混
</option>
<option
value=
"砖木"
>
砖木
</option>
</select>
</div>
</div>
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<input
type=
"checkbox"
id=
"keyCheck"
{{
result
.
key
?"
checked
"
:
""
}}
class=
"form-control"
>
<label
for=
"key"
>
钥匙:
</label>
<input
type=
"text"
{%
if
not
result
.
key
%}
disabled=
"true"
{%
endif
%}
id=
"key"
name=
"key"
value=
"{{result.key}}"
style=
"width: 10%"
class=
"form-control"
>
</div>
<div
class=
"col-md-6"
>
<input
type=
"checkbox"
id=
"garageCheck"
{{
result
.
garage
?"
checked
"
:
""
}}
class=
"form-control"
>
<label
for=
"garage"
>
车库:
</label>
<input
type=
"text"
{%
if
not
result
.
garage
%}
disabled=
"true"
{%
endif
%}
id=
"garage"
name=
"garage"
value=
"{{result.garage}}"
class=
"form-control"
>
</div>
</div>
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<label
for=
"street"
>
街道:
</label>
<input
type=
"text"
name=
"street"
value=
"{{result.street}}"
class=
"form-control"
>
</div>
<div
class=
"col-md-6"
>
<label
for=
"traffic"
>
交通线路:
</label>
<input
name=
"traffic"
type=
"text"
value=
"{{result.traffic}}"
class=
"form-control"
style=
"width:80%;"
>
</div>
</div>
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<label
for=
"periphery"
>
周边配套:
</label>
<input
name=
"periphery"
type=
"text"
value=
"{{result.periphery}}"
class=
"form-control"
>
</div>
<div
class=
"col-md-6"
>
<label
for=
"location"
>
地域坐标:
</label>
<input
name=
"location"
id=
"location"
type=
"text"
value=
"{{result.location}}"
class=
"form-control"
>
</div>
</div>
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-12"
>
<label
for=
"matching_facilities"
>
设施:
</label>
<input
type=
"text"
name=
"matching_facilities"
value=
"{{result.matching_facilities}}"
class=
"form-control"
style=
"width:80%;"
>
</div>
</div>
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-12"
>
<label
for=
"overview"
>
房源点评:
</label>
<textarea
name=
"overview"
rows=
"4"
cols=
"60"
class=
"form-control"
>
{{result.overview}}
</textarea>
</div>
</div>
wp-content/plugins/tospur/Admin/views/js/bootstrap.js
View file @
2fc2824f
/*!
/*!
* Bootstrap v3.3.5 (http://getbootstrap.com)
* Bootstrap v3.3.5 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Copyright 2011-2015 Twitter, Inc.
* Licensed under
MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Licensed under
the MIT license
*/
*/
/*!
* Generated using the Bootstrap Customizer (http://v3.bootcss.com/customize/?id=77eb5b80e2738ea76db2)
* Config saved to config.json and https://gist.github.com/77eb5b80e2738ea76db2
*/
if
(
typeof
jQuery
===
'undefined'
)
{
if
(
typeof
jQuery
===
'undefined'
)
{
throw
new
Error
(
'Bootstrap
\'
s JavaScript requires jQuery'
)
throw
new
Error
(
'Bootstrap
\'
s JavaScript requires jQuery'
)
}
}
+
function
(
$
)
{
+
function
(
$
)
{
'use strict'
;
'use strict'
;
var
version
=
$
.
fn
.
jquery
.
split
(
' '
)[
0
].
split
(
'.'
)
var
version
=
$
.
fn
.
jquery
.
split
(
' '
)[
0
].
split
(
'.'
)
...
@@ -20,8 +17,8 @@ if (typeof jQuery === 'undefined') {
...
@@ -20,8 +17,8 @@ if (typeof jQuery === 'undefined') {
}(
jQuery
);
}(
jQuery
);
/* ========================================================================
/* ========================================================================
* Bootstrap:
modal
.js v3.3.5
* Bootstrap:
transition
.js v3.3.5
* http://getbootstrap.com/javascript/#
modal
s
* http://getbootstrap.com/javascript/#
transition
s
* ========================================================================
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
...
@@ -31,328 +28,2336 @@ if (typeof jQuery === 'undefined') {
...
@@ -31,328 +28,2336 @@ if (typeof jQuery === 'undefined') {
+
function
(
$
)
{
+
function
(
$
)
{
'use strict'
;
'use strict'
;
//
MODAL CLASS DEFINITION
//
CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
// ======================
// ======================
======================================
var
Modal
=
function
(
element
,
options
)
{
function
transitionEnd
()
{
this
.
options
=
options
var
el
=
document
.
createElement
(
'bootstrap'
)
this
.
$body
=
$
(
document
.
body
)
this
.
$element
=
$
(
element
)
this
.
$dialog
=
this
.
$element
.
find
(
'.modal-dialog'
)
this
.
$backdrop
=
null
this
.
isShown
=
null
this
.
originalBodyPad
=
null
this
.
scrollbarWidth
=
0
this
.
ignoreBackdropClick
=
false
if
(
this
.
options
.
remote
)
{
var
transEndEventNames
=
{
this
.
$element
WebkitTransition
:
'webkitTransitionEnd'
,
.
find
(
'.modal-content'
)
MozTransition
:
'transitionend'
,
.
load
(
this
.
options
.
remote
,
$
.
proxy
(
function
()
{
OTransition
:
'oTransitionEnd otransitionend'
,
this
.
$element
.
trigger
(
'loaded.bs.modal'
)
transition
:
'transitionend'
},
this
))
}
}
}
Modal
.
VERSION
=
'3.3.5'
for
(
var
name
in
transEndEventNames
)
{
if
(
el
.
style
[
name
]
!==
undefined
)
{
return
{
end
:
transEndEventNames
[
name
]
}
}
}
Modal
.
TRANSITION_DURATION
=
300
return
false
// explicit for ie8 ( ._.)
Modal
.
BACKDROP_TRANSITION_DURATION
=
150
}
Modal
.
DEFAULTS
=
{
// http://blog.alexmaccaw.com/css-transitions
backdrop
:
true
,
$
.
fn
.
emulateTransitionEnd
=
function
(
duration
)
{
keyboard
:
true
,
var
called
=
false
show
:
true
var
$el
=
this
$
(
this
).
one
(
'bsTransitionEnd'
,
function
()
{
called
=
true
})
var
callback
=
function
()
{
if
(
!
called
)
$
(
$el
).
trigger
(
$
.
support
.
transition
.
end
)
}
setTimeout
(
callback
,
duration
)
return
this
}
}
Modal
.
prototype
.
toggle
=
function
(
_relatedTarget
)
{
$
(
function
()
{
return
this
.
isShown
?
this
.
hide
()
:
this
.
show
(
_relatedTarget
)
$
.
support
.
transition
=
transitionEnd
()
if
(
!
$
.
support
.
transition
)
return
$
.
event
.
special
.
bsTransitionEnd
=
{
bindType
:
$
.
support
.
transition
.
end
,
delegateType
:
$
.
support
.
transition
.
end
,
handle
:
function
(
e
)
{
if
(
$
(
e
.
target
).
is
(
this
))
return
e
.
handleObj
.
handler
.
apply
(
this
,
arguments
)
}
}
}
})
Modal
.
prototype
.
show
=
function
(
_relatedTarget
)
{
}(
jQuery
);
var
that
=
this
var
e
=
$
.
Event
(
'show.bs.modal'
,
{
relatedTarget
:
_relatedTarget
})
this
.
$element
.
trigger
(
e
)
/* ========================================================================
* Bootstrap: alert.js v3.3.5
* http://getbootstrap.com/javascript/#alerts
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
if
(
this
.
isShown
||
e
.
isDefaultPrevented
())
return
this
.
isShown
=
true
+
function
(
$
)
{
'use strict'
;
this
.
checkScrollbar
()
// ALERT CLASS DEFINITION
this
.
setScrollbar
()
// ======================
this
.
$body
.
addClass
(
'modal-open'
)
this
.
escape
()
var
dismiss
=
'[data-dismiss="alert"]'
this
.
resize
()
var
Alert
=
function
(
el
)
{
$
(
el
).
on
(
'click'
,
dismiss
,
this
.
close
)
}
this
.
$element
.
on
(
'click.dismiss.bs.modal'
,
'[data-dismiss="modal"]'
,
$
.
proxy
(
this
.
hide
,
this
))
Alert
.
VERSION
=
'3.3.5'
this
.
$dialog
.
on
(
'mousedown.dismiss.bs.modal'
,
function
()
{
Alert
.
TRANSITION_DURATION
=
150
that
.
$element
.
one
(
'mouseup.dismiss.bs.modal'
,
function
(
e
)
{
if
(
$
(
e
.
target
).
is
(
that
.
$element
))
that
.
ignoreBackdropClick
=
true
})
})
this
.
backdrop
(
function
()
{
Alert
.
prototype
.
close
=
function
(
e
)
{
var
transition
=
$
.
support
.
transition
&&
that
.
$element
.
hasClass
(
'fade'
)
var
$this
=
$
(
this
)
var
selector
=
$this
.
attr
(
'data-target'
)
if
(
!
that
.
$element
.
parent
().
length
)
{
if
(
!
selector
)
{
that
.
$element
.
appendTo
(
that
.
$body
)
// don't move modals dom position
selector
=
$this
.
attr
(
'href'
)
selector
=
selector
&&
selector
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
''
)
// strip for ie7
}
}
that
.
$element
var
$parent
=
$
(
selector
)
.
show
()
.
scrollTop
(
0
)
that
.
adjustDialog
()
if
(
e
)
e
.
preventDefault
()
if
(
transition
)
{
if
(
!
$parent
.
length
)
{
that
.
$element
[
0
].
offsetWidth
// force reflow
$parent
=
$this
.
closest
(
'.alert'
)
}
}
that
.
$element
.
addClass
(
'in'
)
$parent
.
trigger
(
e
=
$
.
Event
(
'close.bs.alert'
)
)
that
.
enforceFocus
()
if
(
e
.
isDefaultPrevented
())
return
var
e
=
$
.
Event
(
'shown.bs.modal'
,
{
relatedTarget
:
_relatedTarget
}
)
$parent
.
removeClass
(
'in'
)
transition
?
function
removeElement
()
{
that
.
$dialog
// wait for modal to slide in
// detach from parent, fire event then clean up data
.
one
(
'bsTransitionEnd'
,
function
()
{
$parent
.
detach
().
trigger
(
'closed.bs.alert'
).
remove
()
that
.
$element
.
trigger
(
'focus'
).
trigger
(
e
)
})
.
emulateTransitionEnd
(
Modal
.
TRANSITION_DURATION
)
:
that
.
$element
.
trigger
(
'focus'
).
trigger
(
e
)
})
}
}
Modal
.
prototype
.
hide
=
function
(
e
)
{
$
.
support
.
transition
&&
$parent
.
hasClass
(
'fade'
)
?
if
(
e
)
e
.
preventDefault
()
$parent
.
one
(
'bsTransitionEnd'
,
removeElement
)
.
emulateTransitionEnd
(
Alert
.
TRANSITION_DURATION
)
:
removeElement
()
}
e
=
$
.
Event
(
'hide.bs.modal'
)
this
.
$element
.
trigger
(
e
)
// ALERT PLUGIN DEFINITION
// =======================
if
(
!
this
.
isShown
||
e
.
isDefaultPrevented
())
return
function
Plugin
(
option
)
{
return
this
.
each
(
function
()
{
var
$this
=
$
(
this
)
var
data
=
$this
.
data
(
'bs.alert'
)
this
.
isShown
=
false
if
(
!
data
)
$this
.
data
(
'bs.alert'
,
(
data
=
new
Alert
(
this
)))
if
(
typeof
option
==
'string'
)
data
[
option
].
call
(
$this
)
})
}
this
.
escape
()
var
old
=
$
.
fn
.
alert
this
.
resize
()
$
(
document
).
off
(
'focusin.bs.modal'
)
$
.
fn
.
alert
=
Plugin
$
.
fn
.
alert
.
Constructor
=
Alert
this
.
$element
.
removeClass
(
'in'
)
.
off
(
'click.dismiss.bs.modal'
)
.
off
(
'mouseup.dismiss.bs.modal'
)
this
.
$dialog
.
off
(
'mousedown.dismiss.bs.modal'
)
// ALERT NO CONFLICT
// =================
$
.
support
.
transition
&&
this
.
$element
.
hasClass
(
'fade'
)
?
$
.
fn
.
alert
.
noConflict
=
function
()
{
this
.
$element
$
.
fn
.
alert
=
old
.
one
(
'bsTransitionEnd'
,
$
.
proxy
(
this
.
hideModal
,
this
))
return
this
.
emulateTransitionEnd
(
Modal
.
TRANSITION_DURATION
)
:
this
.
hideModal
()
}
}
Modal
.
prototype
.
enforceFocus
=
function
()
{
$
(
document
)
// ALERT DATA-API
.
off
(
'focusin.bs.modal'
)
// guard against infinite focus loop
// ==============
.
on
(
'focusin.bs.modal'
,
$
.
proxy
(
function
(
e
)
{
if
(
this
.
$element
[
0
]
!==
e
.
target
&&
!
this
.
$element
.
has
(
e
.
target
).
length
)
{
$
(
document
).
on
(
'click.bs.alert.data-api'
,
dismiss
,
Alert
.
prototype
.
close
)
this
.
$element
.
trigger
(
'focus'
)
}(
jQuery
);
/* ========================================================================
* Bootstrap: button.js v3.3.5
* http://getbootstrap.com/javascript/#buttons
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+
function
(
$
)
{
'use strict'
;
// BUTTON PUBLIC CLASS DEFINITION
// ==============================
var
Button
=
function
(
element
,
options
)
{
this
.
$element
=
$
(
element
)
this
.
options
=
$
.
extend
({},
Button
.
DEFAULTS
,
options
)
this
.
isLoading
=
false
}
}
},
this
))
Button
.
VERSION
=
'3.3.5'
Button
.
DEFAULTS
=
{
loadingText
:
'loading...'
}
}
Modal
.
prototype
.
escape
=
function
()
{
Button
.
prototype
.
setState
=
function
(
state
)
{
if
(
this
.
isShown
&&
this
.
options
.
keyboard
)
{
var
d
=
'disabled'
this
.
$element
.
on
(
'keydown.dismiss.bs.modal'
,
$
.
proxy
(
function
(
e
)
{
var
$el
=
this
.
$element
e
.
which
==
27
&&
this
.
hide
()
var
val
=
$el
.
is
(
'input'
)
?
'val'
:
'html'
},
this
))
var
data
=
$el
.
data
()
}
else
if
(
!
this
.
isShown
)
{
this
.
$element
.
off
(
'keydown.dismiss.bs.modal'
)
state
+=
'Text'
if
(
data
.
resetText
==
null
)
$el
.
data
(
'resetText'
,
$el
[
val
]())
// push to event loop to allow forms to submit
setTimeout
(
$
.
proxy
(
function
()
{
$el
[
val
](
data
[
state
]
==
null
?
this
.
options
[
state
]
:
data
[
state
])
if
(
state
==
'loadingText'
)
{
this
.
isLoading
=
true
$el
.
addClass
(
d
).
attr
(
d
,
d
)
}
else
if
(
this
.
isLoading
)
{
this
.
isLoading
=
false
$el
.
removeClass
(
d
).
removeAttr
(
d
)
}
}
},
this
),
0
)
}
}
Modal
.
prototype
.
resize
=
function
()
{
Button
.
prototype
.
toggle
=
function
()
{
if
(
this
.
isShown
)
{
var
changed
=
true
$
(
window
).
on
(
'resize.bs.modal'
,
$
.
proxy
(
this
.
handleUpdate
,
this
))
var
$parent
=
this
.
$element
.
closest
(
'[data-toggle="buttons"]'
)
if
(
$parent
.
length
)
{
var
$input
=
this
.
$element
.
find
(
'input'
)
if
(
$input
.
prop
(
'type'
)
==
'radio'
)
{
if
(
$input
.
prop
(
'checked'
))
changed
=
false
$parent
.
find
(
'.active'
).
removeClass
(
'active'
)
this
.
$element
.
addClass
(
'active'
)
}
else
if
(
$input
.
prop
(
'type'
)
==
'checkbox'
)
{
if
((
$input
.
prop
(
'checked'
))
!==
this
.
$element
.
hasClass
(
'active'
))
changed
=
false
this
.
$element
.
toggleClass
(
'active'
)
}
$input
.
prop
(
'checked'
,
this
.
$element
.
hasClass
(
'active'
))
if
(
changed
)
$input
.
trigger
(
'change'
)
}
else
{
}
else
{
$
(
window
).
off
(
'resize.bs.modal'
)
this
.
$element
.
attr
(
'aria-pressed'
,
!
this
.
$element
.
hasClass
(
'active'
))
this
.
$element
.
toggleClass
(
'active'
)
}
}
}
}
Modal
.
prototype
.
hideModal
=
function
()
{
var
that
=
this
// BUTTON PLUGIN DEFINITION
this
.
$element
.
hide
()
// ========================
this
.
backdrop
(
function
()
{
that
.
$body
.
removeClass
(
'modal-open'
)
function
Plugin
(
option
)
{
that
.
resetAdjustments
()
return
this
.
each
(
function
()
{
that
.
resetScrollbar
()
var
$this
=
$
(
this
)
that
.
$element
.
trigger
(
'hidden.bs.modal'
)
var
data
=
$this
.
data
(
'bs.button'
)
var
options
=
typeof
option
==
'object'
&&
option
if
(
!
data
)
$this
.
data
(
'bs.button'
,
(
data
=
new
Button
(
this
,
options
)))
if
(
option
==
'toggle'
)
data
.
toggle
()
else
if
(
option
)
data
.
setState
(
option
)
})
})
}
}
Modal
.
prototype
.
removeBackdrop
=
function
()
{
var
old
=
$
.
fn
.
button
this
.
$backdrop
&&
this
.
$backdrop
.
remove
()
this
.
$backdrop
=
null
}
Modal
.
prototype
.
backdrop
=
function
(
callback
)
{
$
.
fn
.
button
=
Plugin
var
that
=
this
$
.
fn
.
button
.
Constructor
=
Button
var
animate
=
this
.
$element
.
hasClass
(
'fade'
)
?
'fade'
:
''
if
(
this
.
isShown
&&
this
.
options
.
backdrop
)
{
var
doAnimate
=
$
.
support
.
transition
&&
animate
this
.
$backdrop
=
$
(
document
.
createElement
(
'div'
))
// BUTTON NO CONFLICT
.
addClass
(
'modal-backdrop '
+
animate
)
// ==================
.
appendTo
(
this
.
$body
)
this
.
$element
.
on
(
'click.dismiss.bs.modal'
,
$
.
proxy
(
function
(
e
)
{
$
.
fn
.
button
.
noConflict
=
function
()
{
if
(
this
.
ignoreBackdropClick
)
{
$
.
fn
.
button
=
old
this
.
ignoreBackdropClick
=
false
return
this
return
}
}
if
(
e
.
target
!==
e
.
currentTarget
)
return
this
.
options
.
backdrop
==
'static'
?
this
.
$element
[
0
].
focus
()
:
this
.
hide
()
},
this
))
if
(
doAnimate
)
this
.
$backdrop
[
0
].
offsetWidth
// force reflow
this
.
$backdrop
.
addClass
(
'in'
)
// BUTTON DATA-API
// ===============
if
(
!
callback
)
return
$
(
document
)
.
on
(
'click.bs.button.data-api'
,
'[data-toggle^="button"]'
,
function
(
e
)
{
var
$btn
=
$
(
e
.
target
)
if
(
!
$btn
.
hasClass
(
'btn'
))
$btn
=
$btn
.
closest
(
'.btn'
)
Plugin
.
call
(
$btn
,
'toggle'
)
if
(
!
(
$
(
e
.
target
).
is
(
'input[type="radio"]'
)
||
$
(
e
.
target
).
is
(
'input[type="checkbox"]'
)))
e
.
preventDefault
()
})
.
on
(
'focus.bs.button.data-api blur.bs.button.data-api'
,
'[data-toggle^="button"]'
,
function
(
e
)
{
$
(
e
.
target
).
closest
(
'.btn'
).
toggleClass
(
'focus'
,
/^focus
(
in
)?
$/
.
test
(
e
.
type
))
})
doAnimate
?
}(
jQuery
);
this
.
$backdrop
.
one
(
'bsTransitionEnd'
,
callback
)
.
emulateTransitionEnd
(
Modal
.
BACKDROP_TRANSITION_DURATION
)
:
callback
()
}
else
if
(
!
this
.
isShown
&&
this
.
$backdrop
)
{
/* ========================================================================
this
.
$backdrop
.
removeClass
(
'in'
)
* Bootstrap: carousel.js v3.3.5
* http://getbootstrap.com/javascript/#carousel
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
var
callbackRemove
=
function
()
{
that
.
removeBackdrop
()
callback
&&
callback
()
}
$
.
support
.
transition
&&
this
.
$element
.
hasClass
(
'fade'
)
?
this
.
$backdrop
.
one
(
'bsTransitionEnd'
,
callbackRemove
)
.
emulateTransitionEnd
(
Modal
.
BACKDROP_TRANSITION_DURATION
)
:
callbackRemove
()
}
else
if
(
callback
)
{
+
function
(
$
)
{
callback
()
'use strict'
;
}
}
// these following methods are used to handle overflowing modals
// CAROUSEL CLASS DEFINITION
// =========================
Modal
.
prototype
.
handleUpdate
=
function
()
{
var
Carousel
=
function
(
element
,
options
)
{
this
.
adjustDialog
()
this
.
$element
=
$
(
element
)
this
.
$indicators
=
this
.
$element
.
find
(
'.carousel-indicators'
)
this
.
options
=
options
this
.
paused
=
null
this
.
sliding
=
null
this
.
interval
=
null
this
.
$active
=
null
this
.
$items
=
null
this
.
options
.
keyboard
&&
this
.
$element
.
on
(
'keydown.bs.carousel'
,
$
.
proxy
(
this
.
keydown
,
this
))
this
.
options
.
pause
==
'hover'
&&
!
(
'ontouchstart'
in
document
.
documentElement
)
&&
this
.
$element
.
on
(
'mouseenter.bs.carousel'
,
$
.
proxy
(
this
.
pause
,
this
))
.
on
(
'mouseleave.bs.carousel'
,
$
.
proxy
(
this
.
cycle
,
this
))
}
}
Modal
.
prototype
.
adjustDialog
=
function
()
{
Carousel
.
VERSION
=
'3.3.5'
var
modalIsOverflowing
=
this
.
$element
[
0
].
scrollHeight
>
document
.
documentElement
.
clientHeight
this
.
$element
.
css
({
Carousel
.
TRANSITION_DURATION
=
600
paddingLeft
:
!
this
.
bodyIsOverflowing
&&
modalIsOverflowing
?
this
.
scrollbarWidth
:
''
,
paddingRight
:
this
.
bodyIsOverflowing
&&
!
modalIsOverflowing
?
this
.
scrollbarWidth
:
''
Carousel
.
DEFAULTS
=
{
})
interval
:
5000
,
pause
:
'hover'
,
wrap
:
true
,
keyboard
:
true
}
}
Modal
.
prototype
.
resetAdjustments
=
function
()
{
Carousel
.
prototype
.
keydown
=
function
(
e
)
{
this
.
$element
.
css
({
if
(
/input|textarea/i
.
test
(
e
.
target
.
tagName
))
return
paddingLeft
:
''
,
switch
(
e
.
which
)
{
paddingRight
:
''
case
37
:
this
.
prev
();
break
})
case
39
:
this
.
next
();
break
default
:
return
}
}
Modal
.
prototype
.
checkScrollbar
=
function
()
{
e
.
preventDefault
()
var
fullWindowWidth
=
window
.
innerWidth
}
if
(
!
fullWindowWidth
)
{
// workaround for missing window.innerWidth in IE8
var
documentElementRect
=
document
.
documentElement
.
getBoundingClientRect
()
Carousel
.
prototype
.
cycle
=
function
(
e
)
{
fullWindowWidth
=
documentElementRect
.
right
-
Math
.
abs
(
documentElementRect
.
left
)
e
||
(
this
.
paused
=
false
)
this
.
interval
&&
clearInterval
(
this
.
interval
)
this
.
options
.
interval
&&
!
this
.
paused
&&
(
this
.
interval
=
setInterval
(
$
.
proxy
(
this
.
next
,
this
),
this
.
options
.
interval
))
return
this
}
Carousel
.
prototype
.
getItemIndex
=
function
(
item
)
{
this
.
$items
=
item
.
parent
().
children
(
'.item'
)
return
this
.
$items
.
index
(
item
||
this
.
$active
)
}
Carousel
.
prototype
.
getItemForDirection
=
function
(
direction
,
active
)
{
var
activeIndex
=
this
.
getItemIndex
(
active
)
var
willWrap
=
(
direction
==
'prev'
&&
activeIndex
===
0
)
||
(
direction
==
'next'
&&
activeIndex
==
(
this
.
$items
.
length
-
1
))
if
(
willWrap
&&
!
this
.
options
.
wrap
)
return
active
var
delta
=
direction
==
'prev'
?
-
1
:
1
var
itemIndex
=
(
activeIndex
+
delta
)
%
this
.
$items
.
length
return
this
.
$items
.
eq
(
itemIndex
)
}
Carousel
.
prototype
.
to
=
function
(
pos
)
{
var
that
=
this
var
activeIndex
=
this
.
getItemIndex
(
this
.
$active
=
this
.
$element
.
find
(
'.item.active'
))
if
(
pos
>
(
this
.
$items
.
length
-
1
)
||
pos
<
0
)
return
if
(
this
.
sliding
)
return
this
.
$element
.
one
(
'slid.bs.carousel'
,
function
()
{
that
.
to
(
pos
)
})
// yes, "slid"
if
(
activeIndex
==
pos
)
return
this
.
pause
().
cycle
()
return
this
.
slide
(
pos
>
activeIndex
?
'next'
:
'prev'
,
this
.
$items
.
eq
(
pos
))
}
Carousel
.
prototype
.
pause
=
function
(
e
)
{
e
||
(
this
.
paused
=
true
)
if
(
this
.
$element
.
find
(
'.next, .prev'
).
length
&&
$
.
support
.
transition
)
{
this
.
$element
.
trigger
(
$
.
support
.
transition
.
end
)
this
.
cycle
(
true
)
}
this
.
interval
=
clearInterval
(
this
.
interval
)
return
this
}
Carousel
.
prototype
.
next
=
function
()
{
if
(
this
.
sliding
)
return
return
this
.
slide
(
'next'
)
}
Carousel
.
prototype
.
prev
=
function
()
{
if
(
this
.
sliding
)
return
return
this
.
slide
(
'prev'
)
}
Carousel
.
prototype
.
slide
=
function
(
type
,
next
)
{
var
$active
=
this
.
$element
.
find
(
'.item.active'
)
var
$next
=
next
||
this
.
getItemForDirection
(
type
,
$active
)
var
isCycling
=
this
.
interval
var
direction
=
type
==
'next'
?
'left'
:
'right'
var
that
=
this
if
(
$next
.
hasClass
(
'active'
))
return
(
this
.
sliding
=
false
)
var
relatedTarget
=
$next
[
0
]
var
slideEvent
=
$
.
Event
(
'slide.bs.carousel'
,
{
relatedTarget
:
relatedTarget
,
direction
:
direction
})
this
.
$element
.
trigger
(
slideEvent
)
if
(
slideEvent
.
isDefaultPrevented
())
return
this
.
sliding
=
true
isCycling
&&
this
.
pause
()
if
(
this
.
$indicators
.
length
)
{
this
.
$indicators
.
find
(
'.active'
).
removeClass
(
'active'
)
var
$nextIndicator
=
$
(
this
.
$indicators
.
children
()[
this
.
getItemIndex
(
$next
)])
$nextIndicator
&&
$nextIndicator
.
addClass
(
'active'
)
}
var
slidEvent
=
$
.
Event
(
'slid.bs.carousel'
,
{
relatedTarget
:
relatedTarget
,
direction
:
direction
})
// yes, "slid"
if
(
$
.
support
.
transition
&&
this
.
$element
.
hasClass
(
'slide'
))
{
$next
.
addClass
(
type
)
$next
[
0
].
offsetWidth
// force reflow
$active
.
addClass
(
direction
)
$next
.
addClass
(
direction
)
$active
.
one
(
'bsTransitionEnd'
,
function
()
{
$next
.
removeClass
([
type
,
direction
].
join
(
' '
)).
addClass
(
'active'
)
$active
.
removeClass
([
'active'
,
direction
].
join
(
' '
))
that
.
sliding
=
false
setTimeout
(
function
()
{
that
.
$element
.
trigger
(
slidEvent
)
},
0
)
})
.
emulateTransitionEnd
(
Carousel
.
TRANSITION_DURATION
)
}
else
{
$active
.
removeClass
(
'active'
)
$next
.
addClass
(
'active'
)
this
.
sliding
=
false
this
.
$element
.
trigger
(
slidEvent
)
}
isCycling
&&
this
.
cycle
()
return
this
}
// CAROUSEL PLUGIN DEFINITION
// ==========================
function
Plugin
(
option
)
{
return
this
.
each
(
function
()
{
var
$this
=
$
(
this
)
var
data
=
$this
.
data
(
'bs.carousel'
)
var
options
=
$
.
extend
({},
Carousel
.
DEFAULTS
,
$this
.
data
(),
typeof
option
==
'object'
&&
option
)
var
action
=
typeof
option
==
'string'
?
option
:
options
.
slide
if
(
!
data
)
$this
.
data
(
'bs.carousel'
,
(
data
=
new
Carousel
(
this
,
options
)))
if
(
typeof
option
==
'number'
)
data
.
to
(
option
)
else
if
(
action
)
data
[
action
]()
else
if
(
options
.
interval
)
data
.
pause
().
cycle
()
})
}
var
old
=
$
.
fn
.
carousel
$
.
fn
.
carousel
=
Plugin
$
.
fn
.
carousel
.
Constructor
=
Carousel
// CAROUSEL NO CONFLICT
// ====================
$
.
fn
.
carousel
.
noConflict
=
function
()
{
$
.
fn
.
carousel
=
old
return
this
}
// CAROUSEL DATA-API
// =================
var
clickHandler
=
function
(
e
)
{
var
href
var
$this
=
$
(
this
)
var
$target
=
$
(
$this
.
attr
(
'data-target'
)
||
(
href
=
$this
.
attr
(
'href'
))
&&
href
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
''
))
// strip for ie7
if
(
!
$target
.
hasClass
(
'carousel'
))
return
var
options
=
$
.
extend
({},
$target
.
data
(),
$this
.
data
())
var
slideIndex
=
$this
.
attr
(
'data-slide-to'
)
if
(
slideIndex
)
options
.
interval
=
false
Plugin
.
call
(
$target
,
options
)
if
(
slideIndex
)
{
$target
.
data
(
'bs.carousel'
).
to
(
slideIndex
)
}
e
.
preventDefault
()
}
$
(
document
)
.
on
(
'click.bs.carousel.data-api'
,
'[data-slide]'
,
clickHandler
)
.
on
(
'click.bs.carousel.data-api'
,
'[data-slide-to]'
,
clickHandler
)
$
(
window
).
on
(
'load'
,
function
()
{
$
(
'[data-ride="carousel"]'
).
each
(
function
()
{
var
$carousel
=
$
(
this
)
Plugin
.
call
(
$carousel
,
$carousel
.
data
())
})
})
}(
jQuery
);
/* ========================================================================
* Bootstrap: collapse.js v3.3.5
* http://getbootstrap.com/javascript/#collapse
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+
function
(
$
)
{
'use strict'
;
// COLLAPSE PUBLIC CLASS DEFINITION
// ================================
var
Collapse
=
function
(
element
,
options
)
{
this
.
$element
=
$
(
element
)
this
.
options
=
$
.
extend
({},
Collapse
.
DEFAULTS
,
options
)
this
.
$trigger
=
$
(
'[data-toggle="collapse"][href="#'
+
element
.
id
+
'"],'
+
'[data-toggle="collapse"][data-target="#'
+
element
.
id
+
'"]'
)
this
.
transitioning
=
null
if
(
this
.
options
.
parent
)
{
this
.
$parent
=
this
.
getParent
()
}
else
{
this
.
addAriaAndCollapsedClass
(
this
.
$element
,
this
.
$trigger
)
}
if
(
this
.
options
.
toggle
)
this
.
toggle
()
}
Collapse
.
VERSION
=
'3.3.5'
Collapse
.
TRANSITION_DURATION
=
350
Collapse
.
DEFAULTS
=
{
toggle
:
true
}
Collapse
.
prototype
.
dimension
=
function
()
{
var
hasWidth
=
this
.
$element
.
hasClass
(
'width'
)
return
hasWidth
?
'width'
:
'height'
}
Collapse
.
prototype
.
show
=
function
()
{
if
(
this
.
transitioning
||
this
.
$element
.
hasClass
(
'in'
))
return
var
activesData
var
actives
=
this
.
$parent
&&
this
.
$parent
.
children
(
'.panel'
).
children
(
'.in, .collapsing'
)
if
(
actives
&&
actives
.
length
)
{
activesData
=
actives
.
data
(
'bs.collapse'
)
if
(
activesData
&&
activesData
.
transitioning
)
return
}
var
startEvent
=
$
.
Event
(
'show.bs.collapse'
)
this
.
$element
.
trigger
(
startEvent
)
if
(
startEvent
.
isDefaultPrevented
())
return
if
(
actives
&&
actives
.
length
)
{
Plugin
.
call
(
actives
,
'hide'
)
activesData
||
actives
.
data
(
'bs.collapse'
,
null
)
}
var
dimension
=
this
.
dimension
()
this
.
$element
.
removeClass
(
'collapse'
)
.
addClass
(
'collapsing'
)[
dimension
](
0
)
.
attr
(
'aria-expanded'
,
true
)
this
.
$trigger
.
removeClass
(
'collapsed'
)
.
attr
(
'aria-expanded'
,
true
)
this
.
transitioning
=
1
var
complete
=
function
()
{
this
.
$element
.
removeClass
(
'collapsing'
)
.
addClass
(
'collapse in'
)[
dimension
](
''
)
this
.
transitioning
=
0
this
.
$element
.
trigger
(
'shown.bs.collapse'
)
}
if
(
!
$
.
support
.
transition
)
return
complete
.
call
(
this
)
var
scrollSize
=
$
.
camelCase
([
'scroll'
,
dimension
].
join
(
'-'
))
this
.
$element
.
one
(
'bsTransitionEnd'
,
$
.
proxy
(
complete
,
this
))
.
emulateTransitionEnd
(
Collapse
.
TRANSITION_DURATION
)[
dimension
](
this
.
$element
[
0
][
scrollSize
])
}
Collapse
.
prototype
.
hide
=
function
()
{
if
(
this
.
transitioning
||
!
this
.
$element
.
hasClass
(
'in'
))
return
var
startEvent
=
$
.
Event
(
'hide.bs.collapse'
)
this
.
$element
.
trigger
(
startEvent
)
if
(
startEvent
.
isDefaultPrevented
())
return
var
dimension
=
this
.
dimension
()
this
.
$element
[
dimension
](
this
.
$element
[
dimension
]())[
0
].
offsetHeight
this
.
$element
.
addClass
(
'collapsing'
)
.
removeClass
(
'collapse in'
)
.
attr
(
'aria-expanded'
,
false
)
this
.
$trigger
.
addClass
(
'collapsed'
)
.
attr
(
'aria-expanded'
,
false
)
this
.
transitioning
=
1
var
complete
=
function
()
{
this
.
transitioning
=
0
this
.
$element
.
removeClass
(
'collapsing'
)
.
addClass
(
'collapse'
)
.
trigger
(
'hidden.bs.collapse'
)
}
if
(
!
$
.
support
.
transition
)
return
complete
.
call
(
this
)
this
.
$element
[
dimension
](
0
)
.
one
(
'bsTransitionEnd'
,
$
.
proxy
(
complete
,
this
))
.
emulateTransitionEnd
(
Collapse
.
TRANSITION_DURATION
)
}
Collapse
.
prototype
.
toggle
=
function
()
{
this
[
this
.
$element
.
hasClass
(
'in'
)
?
'hide'
:
'show'
]()
}
Collapse
.
prototype
.
getParent
=
function
()
{
return
$
(
this
.
options
.
parent
)
.
find
(
'[data-toggle="collapse"][data-parent="'
+
this
.
options
.
parent
+
'"]'
)
.
each
(
$
.
proxy
(
function
(
i
,
element
)
{
var
$element
=
$
(
element
)
this
.
addAriaAndCollapsedClass
(
getTargetFromTrigger
(
$element
),
$element
)
},
this
))
.
end
()
}
Collapse
.
prototype
.
addAriaAndCollapsedClass
=
function
(
$element
,
$trigger
)
{
var
isOpen
=
$element
.
hasClass
(
'in'
)
$element
.
attr
(
'aria-expanded'
,
isOpen
)
$trigger
.
toggleClass
(
'collapsed'
,
!
isOpen
)
.
attr
(
'aria-expanded'
,
isOpen
)
}
function
getTargetFromTrigger
(
$trigger
)
{
var
href
var
target
=
$trigger
.
attr
(
'data-target'
)
||
(
href
=
$trigger
.
attr
(
'href'
))
&&
href
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
''
)
// strip for ie7
return
$
(
target
)
}
// COLLAPSE PLUGIN DEFINITION
// ==========================
function
Plugin
(
option
)
{
return
this
.
each
(
function
()
{
var
$this
=
$
(
this
)
var
data
=
$this
.
data
(
'bs.collapse'
)
var
options
=
$
.
extend
({},
Collapse
.
DEFAULTS
,
$this
.
data
(),
typeof
option
==
'object'
&&
option
)
if
(
!
data
&&
options
.
toggle
&&
/show|hide/
.
test
(
option
))
options
.
toggle
=
false
if
(
!
data
)
$this
.
data
(
'bs.collapse'
,
(
data
=
new
Collapse
(
this
,
options
)))
if
(
typeof
option
==
'string'
)
data
[
option
]()
})
}
var
old
=
$
.
fn
.
collapse
$
.
fn
.
collapse
=
Plugin
$
.
fn
.
collapse
.
Constructor
=
Collapse
// COLLAPSE NO CONFLICT
// ====================
$
.
fn
.
collapse
.
noConflict
=
function
()
{
$
.
fn
.
collapse
=
old
return
this
}
// COLLAPSE DATA-API
// =================
$
(
document
).
on
(
'click.bs.collapse.data-api'
,
'[data-toggle="collapse"]'
,
function
(
e
)
{
var
$this
=
$
(
this
)
if
(
!
$this
.
attr
(
'data-target'
))
e
.
preventDefault
()
var
$target
=
getTargetFromTrigger
(
$this
)
var
data
=
$target
.
data
(
'bs.collapse'
)
var
option
=
data
?
'toggle'
:
$this
.
data
()
Plugin
.
call
(
$target
,
option
)
})
}(
jQuery
);
/* ========================================================================
* Bootstrap: dropdown.js v3.3.5
* http://getbootstrap.com/javascript/#dropdowns
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+
function
(
$
)
{
'use strict'
;
// DROPDOWN CLASS DEFINITION
// =========================
var
backdrop
=
'.dropdown-backdrop'
var
toggle
=
'[data-toggle="dropdown"]'
var
Dropdown
=
function
(
element
)
{
$
(
element
).
on
(
'click.bs.dropdown'
,
this
.
toggle
)
}
Dropdown
.
VERSION
=
'3.3.5'
function
getParent
(
$this
)
{
var
selector
=
$this
.
attr
(
'data-target'
)
if
(
!
selector
)
{
selector
=
$this
.
attr
(
'href'
)
selector
=
selector
&&
/#
[
A-Za-z
]
/
.
test
(
selector
)
&&
selector
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
''
)
// strip for ie7
}
var
$parent
=
selector
&&
$
(
selector
)
return
$parent
&&
$parent
.
length
?
$parent
:
$this
.
parent
()
}
function
clearMenus
(
e
)
{
if
(
e
&&
e
.
which
===
3
)
return
$
(
backdrop
).
remove
()
$
(
toggle
).
each
(
function
()
{
var
$this
=
$
(
this
)
var
$parent
=
getParent
(
$this
)
var
relatedTarget
=
{
relatedTarget
:
this
}
if
(
!
$parent
.
hasClass
(
'open'
))
return
if
(
e
&&
e
.
type
==
'click'
&&
/input|textarea/i
.
test
(
e
.
target
.
tagName
)
&&
$
.
contains
(
$parent
[
0
],
e
.
target
))
return
$parent
.
trigger
(
e
=
$
.
Event
(
'hide.bs.dropdown'
,
relatedTarget
))
if
(
e
.
isDefaultPrevented
())
return
$this
.
attr
(
'aria-expanded'
,
'false'
)
$parent
.
removeClass
(
'open'
).
trigger
(
'hidden.bs.dropdown'
,
relatedTarget
)
})
}
Dropdown
.
prototype
.
toggle
=
function
(
e
)
{
var
$this
=
$
(
this
)
if
(
$this
.
is
(
'.disabled, :disabled'
))
return
var
$parent
=
getParent
(
$this
)
var
isActive
=
$parent
.
hasClass
(
'open'
)
clearMenus
()
if
(
!
isActive
)
{
if
(
'ontouchstart'
in
document
.
documentElement
&&
!
$parent
.
closest
(
'.navbar-nav'
).
length
)
{
// if mobile we use a backdrop because click events don't delegate
$
(
document
.
createElement
(
'div'
))
.
addClass
(
'dropdown-backdrop'
)
.
insertAfter
(
$
(
this
))
.
on
(
'click'
,
clearMenus
)
}
var
relatedTarget
=
{
relatedTarget
:
this
}
$parent
.
trigger
(
e
=
$
.
Event
(
'show.bs.dropdown'
,
relatedTarget
))
if
(
e
.
isDefaultPrevented
())
return
$this
.
trigger
(
'focus'
)
.
attr
(
'aria-expanded'
,
'true'
)
$parent
.
toggleClass
(
'open'
)
.
trigger
(
'shown.bs.dropdown'
,
relatedTarget
)
}
return
false
}
Dropdown
.
prototype
.
keydown
=
function
(
e
)
{
if
(
!
/
(
38|40|27|32
)
/
.
test
(
e
.
which
)
||
/input|textarea/i
.
test
(
e
.
target
.
tagName
))
return
var
$this
=
$
(
this
)
e
.
preventDefault
()
e
.
stopPropagation
()
if
(
$this
.
is
(
'.disabled, :disabled'
))
return
var
$parent
=
getParent
(
$this
)
var
isActive
=
$parent
.
hasClass
(
'open'
)
if
(
!
isActive
&&
e
.
which
!=
27
||
isActive
&&
e
.
which
==
27
)
{
if
(
e
.
which
==
27
)
$parent
.
find
(
toggle
).
trigger
(
'focus'
)
return
$this
.
trigger
(
'click'
)
}
var
desc
=
' li:not(.disabled):visible a'
var
$items
=
$parent
.
find
(
'.dropdown-menu'
+
desc
)
if
(
!
$items
.
length
)
return
var
index
=
$items
.
index
(
e
.
target
)
if
(
e
.
which
==
38
&&
index
>
0
)
index
--
// up
if
(
e
.
which
==
40
&&
index
<
$items
.
length
-
1
)
index
++
// down
if
(
!~
index
)
index
=
0
$items
.
eq
(
index
).
trigger
(
'focus'
)
}
// DROPDOWN PLUGIN DEFINITION
// ==========================
function
Plugin
(
option
)
{
return
this
.
each
(
function
()
{
var
$this
=
$
(
this
)
var
data
=
$this
.
data
(
'bs.dropdown'
)
if
(
!
data
)
$this
.
data
(
'bs.dropdown'
,
(
data
=
new
Dropdown
(
this
)))
if
(
typeof
option
==
'string'
)
data
[
option
].
call
(
$this
)
})
}
var
old
=
$
.
fn
.
dropdown
$
.
fn
.
dropdown
=
Plugin
$
.
fn
.
dropdown
.
Constructor
=
Dropdown
// DROPDOWN NO CONFLICT
// ====================
$
.
fn
.
dropdown
.
noConflict
=
function
()
{
$
.
fn
.
dropdown
=
old
return
this
}
// APPLY TO STANDARD DROPDOWN ELEMENTS
// ===================================
$
(
document
)
.
on
(
'click.bs.dropdown.data-api'
,
clearMenus
)
.
on
(
'click.bs.dropdown.data-api'
,
'.dropdown form'
,
function
(
e
)
{
e
.
stopPropagation
()
})
.
on
(
'click.bs.dropdown.data-api'
,
toggle
,
Dropdown
.
prototype
.
toggle
)
.
on
(
'keydown.bs.dropdown.data-api'
,
toggle
,
Dropdown
.
prototype
.
keydown
)
.
on
(
'keydown.bs.dropdown.data-api'
,
'.dropdown-menu'
,
Dropdown
.
prototype
.
keydown
)
}(
jQuery
);
/* ========================================================================
* Bootstrap: modal.js v3.3.5
* http://getbootstrap.com/javascript/#modals
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+
function
(
$
)
{
'use strict'
;
// MODAL CLASS DEFINITION
// ======================
var
Modal
=
function
(
element
,
options
)
{
this
.
options
=
options
this
.
$body
=
$
(
document
.
body
)
this
.
$element
=
$
(
element
)
this
.
$dialog
=
this
.
$element
.
find
(
'.modal-dialog'
)
this
.
$backdrop
=
null
this
.
isShown
=
null
this
.
originalBodyPad
=
null
this
.
scrollbarWidth
=
0
this
.
ignoreBackdropClick
=
false
if
(
this
.
options
.
remote
)
{
this
.
$element
.
find
(
'.modal-content'
)
.
load
(
this
.
options
.
remote
,
$
.
proxy
(
function
()
{
this
.
$element
.
trigger
(
'loaded.bs.modal'
)
},
this
))
}
}
Modal
.
VERSION
=
'3.3.5'
Modal
.
TRANSITION_DURATION
=
300
Modal
.
BACKDROP_TRANSITION_DURATION
=
150
Modal
.
DEFAULTS
=
{
backdrop
:
true
,
keyboard
:
true
,
show
:
true
}
Modal
.
prototype
.
toggle
=
function
(
_relatedTarget
)
{
return
this
.
isShown
?
this
.
hide
()
:
this
.
show
(
_relatedTarget
)
}
Modal
.
prototype
.
show
=
function
(
_relatedTarget
)
{
var
that
=
this
var
e
=
$
.
Event
(
'show.bs.modal'
,
{
relatedTarget
:
_relatedTarget
})
this
.
$element
.
trigger
(
e
)
if
(
this
.
isShown
||
e
.
isDefaultPrevented
())
return
this
.
isShown
=
true
this
.
checkScrollbar
()
this
.
setScrollbar
()
this
.
$body
.
addClass
(
'modal-open'
)
this
.
escape
()
this
.
resize
()
this
.
$element
.
on
(
'click.dismiss.bs.modal'
,
'[data-dismiss="modal"]'
,
$
.
proxy
(
this
.
hide
,
this
))
this
.
$dialog
.
on
(
'mousedown.dismiss.bs.modal'
,
function
()
{
that
.
$element
.
one
(
'mouseup.dismiss.bs.modal'
,
function
(
e
)
{
if
(
$
(
e
.
target
).
is
(
that
.
$element
))
that
.
ignoreBackdropClick
=
true
})
})
this
.
backdrop
(
function
()
{
var
transition
=
$
.
support
.
transition
&&
that
.
$element
.
hasClass
(
'fade'
)
if
(
!
that
.
$element
.
parent
().
length
)
{
that
.
$element
.
appendTo
(
that
.
$body
)
// don't move modals dom position
}
that
.
$element
.
show
()
.
scrollTop
(
0
)
that
.
adjustDialog
()
if
(
transition
)
{
that
.
$element
[
0
].
offsetWidth
// force reflow
}
that
.
$element
.
addClass
(
'in'
)
that
.
enforceFocus
()
var
e
=
$
.
Event
(
'shown.bs.modal'
,
{
relatedTarget
:
_relatedTarget
})
transition
?
that
.
$dialog
// wait for modal to slide in
.
one
(
'bsTransitionEnd'
,
function
()
{
that
.
$element
.
trigger
(
'focus'
).
trigger
(
e
)
})
.
emulateTransitionEnd
(
Modal
.
TRANSITION_DURATION
)
:
that
.
$element
.
trigger
(
'focus'
).
trigger
(
e
)
})
}
Modal
.
prototype
.
hide
=
function
(
e
)
{
if
(
e
)
e
.
preventDefault
()
e
=
$
.
Event
(
'hide.bs.modal'
)
this
.
$element
.
trigger
(
e
)
if
(
!
this
.
isShown
||
e
.
isDefaultPrevented
())
return
this
.
isShown
=
false
this
.
escape
()
this
.
resize
()
$
(
document
).
off
(
'focusin.bs.modal'
)
this
.
$element
.
removeClass
(
'in'
)
.
off
(
'click.dismiss.bs.modal'
)
.
off
(
'mouseup.dismiss.bs.modal'
)
this
.
$dialog
.
off
(
'mousedown.dismiss.bs.modal'
)
$
.
support
.
transition
&&
this
.
$element
.
hasClass
(
'fade'
)
?
this
.
$element
.
one
(
'bsTransitionEnd'
,
$
.
proxy
(
this
.
hideModal
,
this
))
.
emulateTransitionEnd
(
Modal
.
TRANSITION_DURATION
)
:
this
.
hideModal
()
}
Modal
.
prototype
.
enforceFocus
=
function
()
{
$
(
document
)
.
off
(
'focusin.bs.modal'
)
// guard against infinite focus loop
.
on
(
'focusin.bs.modal'
,
$
.
proxy
(
function
(
e
)
{
if
(
this
.
$element
[
0
]
!==
e
.
target
&&
!
this
.
$element
.
has
(
e
.
target
).
length
)
{
this
.
$element
.
trigger
(
'focus'
)
}
},
this
))
}
Modal
.
prototype
.
escape
=
function
()
{
if
(
this
.
isShown
&&
this
.
options
.
keyboard
)
{
this
.
$element
.
on
(
'keydown.dismiss.bs.modal'
,
$
.
proxy
(
function
(
e
)
{
e
.
which
==
27
&&
this
.
hide
()
},
this
))
}
else
if
(
!
this
.
isShown
)
{
this
.
$element
.
off
(
'keydown.dismiss.bs.modal'
)
}
}
Modal
.
prototype
.
resize
=
function
()
{
if
(
this
.
isShown
)
{
$
(
window
).
on
(
'resize.bs.modal'
,
$
.
proxy
(
this
.
handleUpdate
,
this
))
}
else
{
$
(
window
).
off
(
'resize.bs.modal'
)
}
}
Modal
.
prototype
.
hideModal
=
function
()
{
var
that
=
this
this
.
$element
.
hide
()
this
.
backdrop
(
function
()
{
that
.
$body
.
removeClass
(
'modal-open'
)
that
.
resetAdjustments
()
that
.
resetScrollbar
()
that
.
$element
.
trigger
(
'hidden.bs.modal'
)
})
}
Modal
.
prototype
.
removeBackdrop
=
function
()
{
this
.
$backdrop
&&
this
.
$backdrop
.
remove
()
this
.
$backdrop
=
null
}
Modal
.
prototype
.
backdrop
=
function
(
callback
)
{
var
that
=
this
var
animate
=
this
.
$element
.
hasClass
(
'fade'
)
?
'fade'
:
''
if
(
this
.
isShown
&&
this
.
options
.
backdrop
)
{
var
doAnimate
=
$
.
support
.
transition
&&
animate
this
.
$backdrop
=
$
(
document
.
createElement
(
'div'
))
.
addClass
(
'modal-backdrop '
+
animate
)
.
appendTo
(
this
.
$body
)
this
.
$element
.
on
(
'click.dismiss.bs.modal'
,
$
.
proxy
(
function
(
e
)
{
if
(
this
.
ignoreBackdropClick
)
{
this
.
ignoreBackdropClick
=
false
return
}
if
(
e
.
target
!==
e
.
currentTarget
)
return
this
.
options
.
backdrop
==
'static'
?
this
.
$element
[
0
].
focus
()
:
this
.
hide
()
},
this
))
if
(
doAnimate
)
this
.
$backdrop
[
0
].
offsetWidth
// force reflow
this
.
$backdrop
.
addClass
(
'in'
)
if
(
!
callback
)
return
doAnimate
?
this
.
$backdrop
.
one
(
'bsTransitionEnd'
,
callback
)
.
emulateTransitionEnd
(
Modal
.
BACKDROP_TRANSITION_DURATION
)
:
callback
()
}
else
if
(
!
this
.
isShown
&&
this
.
$backdrop
)
{
this
.
$backdrop
.
removeClass
(
'in'
)
var
callbackRemove
=
function
()
{
that
.
removeBackdrop
()
callback
&&
callback
()
}
$
.
support
.
transition
&&
this
.
$element
.
hasClass
(
'fade'
)
?
this
.
$backdrop
.
one
(
'bsTransitionEnd'
,
callbackRemove
)
.
emulateTransitionEnd
(
Modal
.
BACKDROP_TRANSITION_DURATION
)
:
callbackRemove
()
}
else
if
(
callback
)
{
callback
()
}
}
// these following methods are used to handle overflowing modals
Modal
.
prototype
.
handleUpdate
=
function
()
{
this
.
adjustDialog
()
}
Modal
.
prototype
.
adjustDialog
=
function
()
{
var
modalIsOverflowing
=
this
.
$element
[
0
].
scrollHeight
>
document
.
documentElement
.
clientHeight
this
.
$element
.
css
({
paddingLeft
:
!
this
.
bodyIsOverflowing
&&
modalIsOverflowing
?
this
.
scrollbarWidth
:
''
,
paddingRight
:
this
.
bodyIsOverflowing
&&
!
modalIsOverflowing
?
this
.
scrollbarWidth
:
''
})
}
Modal
.
prototype
.
resetAdjustments
=
function
()
{
this
.
$element
.
css
({
paddingLeft
:
''
,
paddingRight
:
''
})
}
Modal
.
prototype
.
checkScrollbar
=
function
()
{
var
fullWindowWidth
=
window
.
innerWidth
if
(
!
fullWindowWidth
)
{
// workaround for missing window.innerWidth in IE8
var
documentElementRect
=
document
.
documentElement
.
getBoundingClientRect
()
fullWindowWidth
=
documentElementRect
.
right
-
Math
.
abs
(
documentElementRect
.
left
)
}
}
this
.
bodyIsOverflowing
=
document
.
body
.
clientWidth
<
fullWindowWidth
this
.
bodyIsOverflowing
=
document
.
body
.
clientWidth
<
fullWindowWidth
this
.
scrollbarWidth
=
this
.
measureScrollbar
()
this
.
scrollbarWidth
=
this
.
measureScrollbar
()
}
}
Modal
.
prototype
.
setScrollbar
=
function
()
{
Modal
.
prototype
.
setScrollbar
=
function
()
{
var
bodyPad
=
parseInt
((
this
.
$body
.
css
(
'padding-right'
)
||
0
),
10
)
var
bodyPad
=
parseInt
((
this
.
$body
.
css
(
'padding-right'
)
||
0
),
10
)
this
.
originalBodyPad
=
document
.
body
.
style
.
paddingRight
||
''
this
.
originalBodyPad
=
document
.
body
.
style
.
paddingRight
||
''
if
(
this
.
bodyIsOverflowing
)
this
.
$body
.
css
(
'padding-right'
,
bodyPad
+
this
.
scrollbarWidth
)
if
(
this
.
bodyIsOverflowing
)
this
.
$body
.
css
(
'padding-right'
,
bodyPad
+
this
.
scrollbarWidth
)
}
Modal
.
prototype
.
resetScrollbar
=
function
()
{
this
.
$body
.
css
(
'padding-right'
,
this
.
originalBodyPad
)
}
Modal
.
prototype
.
measureScrollbar
=
function
()
{
// thx walsh
var
scrollDiv
=
document
.
createElement
(
'div'
)
scrollDiv
.
className
=
'modal-scrollbar-measure'
this
.
$body
.
append
(
scrollDiv
)
var
scrollbarWidth
=
scrollDiv
.
offsetWidth
-
scrollDiv
.
clientWidth
this
.
$body
[
0
].
removeChild
(
scrollDiv
)
return
scrollbarWidth
}
// MODAL PLUGIN DEFINITION
// =======================
function
Plugin
(
option
,
_relatedTarget
)
{
return
this
.
each
(
function
()
{
var
$this
=
$
(
this
)
var
data
=
$this
.
data
(
'bs.modal'
)
var
options
=
$
.
extend
({},
Modal
.
DEFAULTS
,
$this
.
data
(),
typeof
option
==
'object'
&&
option
)
if
(
!
data
)
$this
.
data
(
'bs.modal'
,
(
data
=
new
Modal
(
this
,
options
)))
if
(
typeof
option
==
'string'
)
data
[
option
](
_relatedTarget
)
else
if
(
options
.
show
)
data
.
show
(
_relatedTarget
)
})
}
var
old
=
$
.
fn
.
modal
$
.
fn
.
modal
=
Plugin
$
.
fn
.
modal
.
Constructor
=
Modal
// MODAL NO CONFLICT
// =================
$
.
fn
.
modal
.
noConflict
=
function
()
{
$
.
fn
.
modal
=
old
return
this
}
// MODAL DATA-API
// ==============
$
(
document
).
on
(
'click.bs.modal.data-api'
,
'[data-toggle="modal"]'
,
function
(
e
)
{
var
$this
=
$
(
this
)
var
href
=
$this
.
attr
(
'href'
)
var
$target
=
$
(
$this
.
attr
(
'data-target'
)
||
(
href
&&
href
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
''
)))
// strip for ie7
var
option
=
$target
.
data
(
'bs.modal'
)
?
'toggle'
:
$
.
extend
({
remote
:
!
/#/
.
test
(
href
)
&&
href
},
$target
.
data
(),
$this
.
data
())
if
(
$this
.
is
(
'a'
))
e
.
preventDefault
()
$target
.
one
(
'show.bs.modal'
,
function
(
showEvent
)
{
if
(
showEvent
.
isDefaultPrevented
())
return
// only register focus restorer if modal will actually get shown
$target
.
one
(
'hidden.bs.modal'
,
function
()
{
$this
.
is
(
':visible'
)
&&
$this
.
trigger
(
'focus'
)
})
})
Plugin
.
call
(
$target
,
option
,
this
)
})
}(
jQuery
);
/* ========================================================================
* Bootstrap: tooltip.js v3.3.5
* http://getbootstrap.com/javascript/#tooltip
* Inspired by the original jQuery.tipsy by Jason Frame
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+
function
(
$
)
{
'use strict'
;
// TOOLTIP PUBLIC CLASS DEFINITION
// ===============================
var
Tooltip
=
function
(
element
,
options
)
{
this
.
type
=
null
this
.
options
=
null
this
.
enabled
=
null
this
.
timeout
=
null
this
.
hoverState
=
null
this
.
$element
=
null
this
.
inState
=
null
this
.
init
(
'tooltip'
,
element
,
options
)
}
Tooltip
.
VERSION
=
'3.3.5'
Tooltip
.
TRANSITION_DURATION
=
150
Tooltip
.
DEFAULTS
=
{
animation
:
true
,
placement
:
'top'
,
selector
:
false
,
template
:
'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
,
trigger
:
'hover focus'
,
title
:
''
,
delay
:
0
,
html
:
false
,
container
:
false
,
viewport
:
{
selector
:
'body'
,
padding
:
0
}
}
Tooltip
.
prototype
.
init
=
function
(
type
,
element
,
options
)
{
this
.
enabled
=
true
this
.
type
=
type
this
.
$element
=
$
(
element
)
this
.
options
=
this
.
getOptions
(
options
)
this
.
$viewport
=
this
.
options
.
viewport
&&
$
(
$
.
isFunction
(
this
.
options
.
viewport
)
?
this
.
options
.
viewport
.
call
(
this
,
this
.
$element
)
:
(
this
.
options
.
viewport
.
selector
||
this
.
options
.
viewport
))
this
.
inState
=
{
click
:
false
,
hover
:
false
,
focus
:
false
}
if
(
this
.
$element
[
0
]
instanceof
document
.
constructor
&&
!
this
.
options
.
selector
)
{
throw
new
Error
(
'`selector` option must be specified when initializing '
+
this
.
type
+
' on the window.document object!'
)
}
var
triggers
=
this
.
options
.
trigger
.
split
(
' '
)
for
(
var
i
=
triggers
.
length
;
i
--
;)
{
var
trigger
=
triggers
[
i
]
if
(
trigger
==
'click'
)
{
this
.
$element
.
on
(
'click.'
+
this
.
type
,
this
.
options
.
selector
,
$
.
proxy
(
this
.
toggle
,
this
))
}
else
if
(
trigger
!=
'manual'
)
{
var
eventIn
=
trigger
==
'hover'
?
'mouseenter'
:
'focusin'
var
eventOut
=
trigger
==
'hover'
?
'mouseleave'
:
'focusout'
this
.
$element
.
on
(
eventIn
+
'.'
+
this
.
type
,
this
.
options
.
selector
,
$
.
proxy
(
this
.
enter
,
this
))
this
.
$element
.
on
(
eventOut
+
'.'
+
this
.
type
,
this
.
options
.
selector
,
$
.
proxy
(
this
.
leave
,
this
))
}
}
this
.
options
.
selector
?
(
this
.
_options
=
$
.
extend
({},
this
.
options
,
{
trigger
:
'manual'
,
selector
:
''
}))
:
this
.
fixTitle
()
}
Tooltip
.
prototype
.
getDefaults
=
function
()
{
return
Tooltip
.
DEFAULTS
}
Tooltip
.
prototype
.
getOptions
=
function
(
options
)
{
options
=
$
.
extend
({},
this
.
getDefaults
(),
this
.
$element
.
data
(),
options
)
if
(
options
.
delay
&&
typeof
options
.
delay
==
'number'
)
{
options
.
delay
=
{
show
:
options
.
delay
,
hide
:
options
.
delay
}
}
return
options
}
Tooltip
.
prototype
.
getDelegateOptions
=
function
()
{
var
options
=
{}
var
defaults
=
this
.
getDefaults
()
this
.
_options
&&
$
.
each
(
this
.
_options
,
function
(
key
,
value
)
{
if
(
defaults
[
key
]
!=
value
)
options
[
key
]
=
value
})
return
options
}
Tooltip
.
prototype
.
enter
=
function
(
obj
)
{
var
self
=
obj
instanceof
this
.
constructor
?
obj
:
$
(
obj
.
currentTarget
).
data
(
'bs.'
+
this
.
type
)
if
(
!
self
)
{
self
=
new
this
.
constructor
(
obj
.
currentTarget
,
this
.
getDelegateOptions
())
$
(
obj
.
currentTarget
).
data
(
'bs.'
+
this
.
type
,
self
)
}
if
(
obj
instanceof
$
.
Event
)
{
self
.
inState
[
obj
.
type
==
'focusin'
?
'focus'
:
'hover'
]
=
true
}
if
(
self
.
tip
().
hasClass
(
'in'
)
||
self
.
hoverState
==
'in'
)
{
self
.
hoverState
=
'in'
return
}
clearTimeout
(
self
.
timeout
)
self
.
hoverState
=
'in'
if
(
!
self
.
options
.
delay
||
!
self
.
options
.
delay
.
show
)
return
self
.
show
()
self
.
timeout
=
setTimeout
(
function
()
{
if
(
self
.
hoverState
==
'in'
)
self
.
show
()
},
self
.
options
.
delay
.
show
)
}
Tooltip
.
prototype
.
isInStateTrue
=
function
()
{
for
(
var
key
in
this
.
inState
)
{
if
(
this
.
inState
[
key
])
return
true
}
return
false
}
Tooltip
.
prototype
.
leave
=
function
(
obj
)
{
var
self
=
obj
instanceof
this
.
constructor
?
obj
:
$
(
obj
.
currentTarget
).
data
(
'bs.'
+
this
.
type
)
if
(
!
self
)
{
self
=
new
this
.
constructor
(
obj
.
currentTarget
,
this
.
getDelegateOptions
())
$
(
obj
.
currentTarget
).
data
(
'bs.'
+
this
.
type
,
self
)
}
if
(
obj
instanceof
$
.
Event
)
{
self
.
inState
[
obj
.
type
==
'focusout'
?
'focus'
:
'hover'
]
=
false
}
if
(
self
.
isInStateTrue
())
return
clearTimeout
(
self
.
timeout
)
self
.
hoverState
=
'out'
if
(
!
self
.
options
.
delay
||
!
self
.
options
.
delay
.
hide
)
return
self
.
hide
()
self
.
timeout
=
setTimeout
(
function
()
{
if
(
self
.
hoverState
==
'out'
)
self
.
hide
()
},
self
.
options
.
delay
.
hide
)
}
Tooltip
.
prototype
.
show
=
function
()
{
var
e
=
$
.
Event
(
'show.bs.'
+
this
.
type
)
if
(
this
.
hasContent
()
&&
this
.
enabled
)
{
this
.
$element
.
trigger
(
e
)
var
inDom
=
$
.
contains
(
this
.
$element
[
0
].
ownerDocument
.
documentElement
,
this
.
$element
[
0
])
if
(
e
.
isDefaultPrevented
()
||
!
inDom
)
return
var
that
=
this
var
$tip
=
this
.
tip
()
var
tipId
=
this
.
getUID
(
this
.
type
)
this
.
setContent
()
$tip
.
attr
(
'id'
,
tipId
)
this
.
$element
.
attr
(
'aria-describedby'
,
tipId
)
if
(
this
.
options
.
animation
)
$tip
.
addClass
(
'fade'
)
var
placement
=
typeof
this
.
options
.
placement
==
'function'
?
this
.
options
.
placement
.
call
(
this
,
$tip
[
0
],
this
.
$element
[
0
])
:
this
.
options
.
placement
var
autoToken
=
/
\s?
auto
?\s?
/i
var
autoPlace
=
autoToken
.
test
(
placement
)
if
(
autoPlace
)
placement
=
placement
.
replace
(
autoToken
,
''
)
||
'top'
$tip
.
detach
()
.
css
({
top
:
0
,
left
:
0
,
display
:
'block'
})
.
addClass
(
placement
)
.
data
(
'bs.'
+
this
.
type
,
this
)
this
.
options
.
container
?
$tip
.
appendTo
(
this
.
options
.
container
)
:
$tip
.
insertAfter
(
this
.
$element
)
this
.
$element
.
trigger
(
'inserted.bs.'
+
this
.
type
)
var
pos
=
this
.
getPosition
()
var
actualWidth
=
$tip
[
0
].
offsetWidth
var
actualHeight
=
$tip
[
0
].
offsetHeight
if
(
autoPlace
)
{
var
orgPlacement
=
placement
var
viewportDim
=
this
.
getPosition
(
this
.
$viewport
)
placement
=
placement
==
'bottom'
&&
pos
.
bottom
+
actualHeight
>
viewportDim
.
bottom
?
'top'
:
placement
==
'top'
&&
pos
.
top
-
actualHeight
<
viewportDim
.
top
?
'bottom'
:
placement
==
'right'
&&
pos
.
right
+
actualWidth
>
viewportDim
.
width
?
'left'
:
placement
==
'left'
&&
pos
.
left
-
actualWidth
<
viewportDim
.
left
?
'right'
:
placement
$tip
.
removeClass
(
orgPlacement
)
.
addClass
(
placement
)
}
var
calculatedOffset
=
this
.
getCalculatedOffset
(
placement
,
pos
,
actualWidth
,
actualHeight
)
this
.
applyPlacement
(
calculatedOffset
,
placement
)
var
complete
=
function
()
{
var
prevHoverState
=
that
.
hoverState
that
.
$element
.
trigger
(
'shown.bs.'
+
that
.
type
)
that
.
hoverState
=
null
if
(
prevHoverState
==
'out'
)
that
.
leave
(
that
)
}
$
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
'fade'
)
?
$tip
.
one
(
'bsTransitionEnd'
,
complete
)
.
emulateTransitionEnd
(
Tooltip
.
TRANSITION_DURATION
)
:
complete
()
}
}
Tooltip
.
prototype
.
applyPlacement
=
function
(
offset
,
placement
)
{
var
$tip
=
this
.
tip
()
var
width
=
$tip
[
0
].
offsetWidth
var
height
=
$tip
[
0
].
offsetHeight
// manually read margins because getBoundingClientRect includes difference
var
marginTop
=
parseInt
(
$tip
.
css
(
'margin-top'
),
10
)
var
marginLeft
=
parseInt
(
$tip
.
css
(
'margin-left'
),
10
)
// we must check for NaN for ie 8/9
if
(
isNaN
(
marginTop
))
marginTop
=
0
if
(
isNaN
(
marginLeft
))
marginLeft
=
0
offset
.
top
+=
marginTop
offset
.
left
+=
marginLeft
// $.fn.offset doesn't round pixel values
// so we use setOffset directly with our own function B-0
$
.
offset
.
setOffset
(
$tip
[
0
],
$
.
extend
({
using
:
function
(
props
)
{
$tip
.
css
({
top
:
Math
.
round
(
props
.
top
),
left
:
Math
.
round
(
props
.
left
)
})
}
},
offset
),
0
)
$tip
.
addClass
(
'in'
)
// check to see if placing tip in new offset caused the tip to resize itself
var
actualWidth
=
$tip
[
0
].
offsetWidth
var
actualHeight
=
$tip
[
0
].
offsetHeight
if
(
placement
==
'top'
&&
actualHeight
!=
height
)
{
offset
.
top
=
offset
.
top
+
height
-
actualHeight
}
var
delta
=
this
.
getViewportAdjustedDelta
(
placement
,
offset
,
actualWidth
,
actualHeight
)
if
(
delta
.
left
)
offset
.
left
+=
delta
.
left
else
offset
.
top
+=
delta
.
top
var
isVertical
=
/top|bottom/
.
test
(
placement
)
var
arrowDelta
=
isVertical
?
delta
.
left
*
2
-
width
+
actualWidth
:
delta
.
top
*
2
-
height
+
actualHeight
var
arrowOffsetPosition
=
isVertical
?
'offsetWidth'
:
'offsetHeight'
$tip
.
offset
(
offset
)
this
.
replaceArrow
(
arrowDelta
,
$tip
[
0
][
arrowOffsetPosition
],
isVertical
)
}
Tooltip
.
prototype
.
replaceArrow
=
function
(
delta
,
dimension
,
isVertical
)
{
this
.
arrow
()
.
css
(
isVertical
?
'left'
:
'top'
,
50
*
(
1
-
delta
/
dimension
)
+
'%'
)
.
css
(
isVertical
?
'top'
:
'left'
,
''
)
}
Tooltip
.
prototype
.
setContent
=
function
()
{
var
$tip
=
this
.
tip
()
var
title
=
this
.
getTitle
()
$tip
.
find
(
'.tooltip-inner'
)[
this
.
options
.
html
?
'html'
:
'text'
](
title
)
$tip
.
removeClass
(
'fade in top bottom left right'
)
}
Tooltip
.
prototype
.
hide
=
function
(
callback
)
{
var
that
=
this
var
$tip
=
$
(
this
.
$tip
)
var
e
=
$
.
Event
(
'hide.bs.'
+
this
.
type
)
function
complete
()
{
if
(
that
.
hoverState
!=
'in'
)
$tip
.
detach
()
that
.
$element
.
removeAttr
(
'aria-describedby'
)
.
trigger
(
'hidden.bs.'
+
that
.
type
)
callback
&&
callback
()
}
this
.
$element
.
trigger
(
e
)
if
(
e
.
isDefaultPrevented
())
return
$tip
.
removeClass
(
'in'
)
$
.
support
.
transition
&&
$tip
.
hasClass
(
'fade'
)
?
$tip
.
one
(
'bsTransitionEnd'
,
complete
)
.
emulateTransitionEnd
(
Tooltip
.
TRANSITION_DURATION
)
:
complete
()
this
.
hoverState
=
null
return
this
}
Tooltip
.
prototype
.
fixTitle
=
function
()
{
var
$e
=
this
.
$element
if
(
$e
.
attr
(
'title'
)
||
typeof
$e
.
attr
(
'data-original-title'
)
!=
'string'
)
{
$e
.
attr
(
'data-original-title'
,
$e
.
attr
(
'title'
)
||
''
).
attr
(
'title'
,
''
)
}
}
Tooltip
.
prototype
.
hasContent
=
function
()
{
return
this
.
getTitle
()
}
Tooltip
.
prototype
.
getPosition
=
function
(
$element
)
{
$element
=
$element
||
this
.
$element
var
el
=
$element
[
0
]
var
isBody
=
el
.
tagName
==
'BODY'
var
elRect
=
el
.
getBoundingClientRect
()
if
(
elRect
.
width
==
null
)
{
// width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
elRect
=
$
.
extend
({},
elRect
,
{
width
:
elRect
.
right
-
elRect
.
left
,
height
:
elRect
.
bottom
-
elRect
.
top
})
}
var
elOffset
=
isBody
?
{
top
:
0
,
left
:
0
}
:
$element
.
offset
()
var
scroll
=
{
scroll
:
isBody
?
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
:
$element
.
scrollTop
()
}
var
outerDims
=
isBody
?
{
width
:
$
(
window
).
width
(),
height
:
$
(
window
).
height
()
}
:
null
return
$
.
extend
({},
elRect
,
scroll
,
outerDims
,
elOffset
)
}
Tooltip
.
prototype
.
getCalculatedOffset
=
function
(
placement
,
pos
,
actualWidth
,
actualHeight
)
{
return
placement
==
'bottom'
?
{
top
:
pos
.
top
+
pos
.
height
,
left
:
pos
.
left
+
pos
.
width
/
2
-
actualWidth
/
2
}
:
placement
==
'top'
?
{
top
:
pos
.
top
-
actualHeight
,
left
:
pos
.
left
+
pos
.
width
/
2
-
actualWidth
/
2
}
:
placement
==
'left'
?
{
top
:
pos
.
top
+
pos
.
height
/
2
-
actualHeight
/
2
,
left
:
pos
.
left
-
actualWidth
}
:
/* placement == 'right' */
{
top
:
pos
.
top
+
pos
.
height
/
2
-
actualHeight
/
2
,
left
:
pos
.
left
+
pos
.
width
}
}
Tooltip
.
prototype
.
getViewportAdjustedDelta
=
function
(
placement
,
pos
,
actualWidth
,
actualHeight
)
{
var
delta
=
{
top
:
0
,
left
:
0
}
if
(
!
this
.
$viewport
)
return
delta
var
viewportPadding
=
this
.
options
.
viewport
&&
this
.
options
.
viewport
.
padding
||
0
var
viewportDimensions
=
this
.
getPosition
(
this
.
$viewport
)
if
(
/right|left/
.
test
(
placement
))
{
var
topEdgeOffset
=
pos
.
top
-
viewportPadding
-
viewportDimensions
.
scroll
var
bottomEdgeOffset
=
pos
.
top
+
viewportPadding
-
viewportDimensions
.
scroll
+
actualHeight
if
(
topEdgeOffset
<
viewportDimensions
.
top
)
{
// top overflow
delta
.
top
=
viewportDimensions
.
top
-
topEdgeOffset
}
else
if
(
bottomEdgeOffset
>
viewportDimensions
.
top
+
viewportDimensions
.
height
)
{
// bottom overflow
delta
.
top
=
viewportDimensions
.
top
+
viewportDimensions
.
height
-
bottomEdgeOffset
}
}
else
{
var
leftEdgeOffset
=
pos
.
left
-
viewportPadding
var
rightEdgeOffset
=
pos
.
left
+
viewportPadding
+
actualWidth
if
(
leftEdgeOffset
<
viewportDimensions
.
left
)
{
// left overflow
delta
.
left
=
viewportDimensions
.
left
-
leftEdgeOffset
}
else
if
(
rightEdgeOffset
>
viewportDimensions
.
right
)
{
// right overflow
delta
.
left
=
viewportDimensions
.
left
+
viewportDimensions
.
width
-
rightEdgeOffset
}
}
return
delta
}
Tooltip
.
prototype
.
getTitle
=
function
()
{
var
title
var
$e
=
this
.
$element
var
o
=
this
.
options
title
=
$e
.
attr
(
'data-original-title'
)
||
(
typeof
o
.
title
==
'function'
?
o
.
title
.
call
(
$e
[
0
])
:
o
.
title
)
return
title
}
Tooltip
.
prototype
.
getUID
=
function
(
prefix
)
{
do
prefix
+=
~~
(
Math
.
random
()
*
1000000
)
while
(
document
.
getElementById
(
prefix
))
return
prefix
}
Tooltip
.
prototype
.
tip
=
function
()
{
if
(
!
this
.
$tip
)
{
this
.
$tip
=
$
(
this
.
options
.
template
)
if
(
this
.
$tip
.
length
!=
1
)
{
throw
new
Error
(
this
.
type
+
' `template` option must consist of exactly 1 top-level element!'
)
}
}
return
this
.
$tip
}
Tooltip
.
prototype
.
arrow
=
function
()
{
return
(
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
'.tooltip-arrow'
))
}
Tooltip
.
prototype
.
enable
=
function
()
{
this
.
enabled
=
true
}
Tooltip
.
prototype
.
disable
=
function
()
{
this
.
enabled
=
false
}
Tooltip
.
prototype
.
toggleEnabled
=
function
()
{
this
.
enabled
=
!
this
.
enabled
}
Tooltip
.
prototype
.
toggle
=
function
(
e
)
{
var
self
=
this
if
(
e
)
{
self
=
$
(
e
.
currentTarget
).
data
(
'bs.'
+
this
.
type
)
if
(
!
self
)
{
self
=
new
this
.
constructor
(
e
.
currentTarget
,
this
.
getDelegateOptions
())
$
(
e
.
currentTarget
).
data
(
'bs.'
+
this
.
type
,
self
)
}
}
if
(
e
)
{
self
.
inState
.
click
=
!
self
.
inState
.
click
if
(
self
.
isInStateTrue
())
self
.
enter
(
self
)
else
self
.
leave
(
self
)
}
else
{
self
.
tip
().
hasClass
(
'in'
)
?
self
.
leave
(
self
)
:
self
.
enter
(
self
)
}
}
Tooltip
.
prototype
.
destroy
=
function
()
{
var
that
=
this
clearTimeout
(
this
.
timeout
)
this
.
hide
(
function
()
{
that
.
$element
.
off
(
'.'
+
that
.
type
).
removeData
(
'bs.'
+
that
.
type
)
if
(
that
.
$tip
)
{
that
.
$tip
.
detach
()
}
that
.
$tip
=
null
that
.
$arrow
=
null
that
.
$viewport
=
null
})
}
// TOOLTIP PLUGIN DEFINITION
// =========================
function
Plugin
(
option
)
{
return
this
.
each
(
function
()
{
var
$this
=
$
(
this
)
var
data
=
$this
.
data
(
'bs.tooltip'
)
var
options
=
typeof
option
==
'object'
&&
option
if
(
!
data
&&
/destroy|hide/
.
test
(
option
))
return
if
(
!
data
)
$this
.
data
(
'bs.tooltip'
,
(
data
=
new
Tooltip
(
this
,
options
)))
if
(
typeof
option
==
'string'
)
data
[
option
]()
})
}
var
old
=
$
.
fn
.
tooltip
$
.
fn
.
tooltip
=
Plugin
$
.
fn
.
tooltip
.
Constructor
=
Tooltip
// TOOLTIP NO CONFLICT
// ===================
$
.
fn
.
tooltip
.
noConflict
=
function
()
{
$
.
fn
.
tooltip
=
old
return
this
}
}(
jQuery
);
/* ========================================================================
* Bootstrap: popover.js v3.3.5
* http://getbootstrap.com/javascript/#popovers
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+
function
(
$
)
{
'use strict'
;
// POPOVER PUBLIC CLASS DEFINITION
// ===============================
var
Popover
=
function
(
element
,
options
)
{
this
.
init
(
'popover'
,
element
,
options
)
}
if
(
!
$
.
fn
.
tooltip
)
throw
new
Error
(
'Popover requires tooltip.js'
)
Popover
.
VERSION
=
'3.3.5'
Popover
.
DEFAULTS
=
$
.
extend
({},
$
.
fn
.
tooltip
.
Constructor
.
DEFAULTS
,
{
placement
:
'right'
,
trigger
:
'click'
,
content
:
''
,
template
:
'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
})
// NOTE: POPOVER EXTENDS tooltip.js
// ================================
Popover
.
prototype
=
$
.
extend
({},
$
.
fn
.
tooltip
.
Constructor
.
prototype
)
Popover
.
prototype
.
constructor
=
Popover
Popover
.
prototype
.
getDefaults
=
function
()
{
return
Popover
.
DEFAULTS
}
Popover
.
prototype
.
setContent
=
function
()
{
var
$tip
=
this
.
tip
()
var
title
=
this
.
getTitle
()
var
content
=
this
.
getContent
()
$tip
.
find
(
'.popover-title'
)[
this
.
options
.
html
?
'html'
:
'text'
](
title
)
$tip
.
find
(
'.popover-content'
).
children
().
detach
().
end
()[
// we use append for html objects to maintain js events
this
.
options
.
html
?
(
typeof
content
==
'string'
?
'html'
:
'append'
)
:
'text'
](
content
)
$tip
.
removeClass
(
'fade top bottom left right in'
)
// IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
// this manually by checking the contents.
if
(
!
$tip
.
find
(
'.popover-title'
).
html
())
$tip
.
find
(
'.popover-title'
).
hide
()
}
}
Modal
.
prototype
.
resetScrollbar
=
function
()
{
Popover
.
prototype
.
hasContent
=
function
()
{
this
.
$body
.
css
(
'padding-right'
,
this
.
originalBodyPad
)
return
this
.
getTitle
()
||
this
.
getContent
(
)
}
}
Modal
.
prototype
.
measureScrollbar
=
function
()
{
// thx walsh
Popover
.
prototype
.
getContent
=
function
()
{
var
scrollDiv
=
document
.
createElement
(
'div'
)
var
$e
=
this
.
$element
scrollDiv
.
className
=
'modal-scrollbar-measure'
var
o
=
this
.
options
this
.
$body
.
append
(
scrollDiv
)
var
scrollbarWidth
=
scrollDiv
.
offsetWidth
-
scrollDiv
.
clientWidth
return
$e
.
attr
(
'data-content'
)
this
.
$body
[
0
].
removeChild
(
scrollDiv
)
||
(
typeof
o
.
content
==
'function'
?
return
scrollbarWidth
o
.
content
.
call
(
$e
[
0
])
:
o
.
content
)
}
}
Popover
.
prototype
.
arrow
=
function
()
{
return
(
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
'.arrow'
))
}
// MODAL PLUGIN DEFINITION
// POPOVER PLUGIN DEFINITION
// =========================
function
Plugin
(
option
)
{
return
this
.
each
(
function
()
{
var
$this
=
$
(
this
)
var
data
=
$this
.
data
(
'bs.popover'
)
var
options
=
typeof
option
==
'object'
&&
option
if
(
!
data
&&
/destroy|hide/
.
test
(
option
))
return
if
(
!
data
)
$this
.
data
(
'bs.popover'
,
(
data
=
new
Popover
(
this
,
options
)))
if
(
typeof
option
==
'string'
)
data
[
option
]()
})
}
var
old
=
$
.
fn
.
popover
$
.
fn
.
popover
=
Plugin
$
.
fn
.
popover
.
Constructor
=
Popover
// POPOVER NO CONFLICT
// ===================
$
.
fn
.
popover
.
noConflict
=
function
()
{
$
.
fn
.
popover
=
old
return
this
}
}(
jQuery
);
/* ========================================================================
* Bootstrap: scrollspy.js v3.3.5
* http://getbootstrap.com/javascript/#scrollspy
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+
function
(
$
)
{
'use strict'
;
// SCROLLSPY CLASS DEFINITION
// ==========================
function
ScrollSpy
(
element
,
options
)
{
this
.
$body
=
$
(
document
.
body
)
this
.
$scrollElement
=
$
(
element
).
is
(
document
.
body
)
?
$
(
window
)
:
$
(
element
)
this
.
options
=
$
.
extend
({},
ScrollSpy
.
DEFAULTS
,
options
)
this
.
selector
=
(
this
.
options
.
target
||
''
)
+
' .nav li > a'
this
.
offsets
=
[]
this
.
targets
=
[]
this
.
activeTarget
=
null
this
.
scrollHeight
=
0
this
.
$scrollElement
.
on
(
'scroll.bs.scrollspy'
,
$
.
proxy
(
this
.
process
,
this
))
this
.
refresh
()
this
.
process
()
}
ScrollSpy
.
VERSION
=
'3.3.5'
ScrollSpy
.
DEFAULTS
=
{
offset
:
10
}
ScrollSpy
.
prototype
.
getScrollHeight
=
function
()
{
return
this
.
$scrollElement
[
0
].
scrollHeight
||
Math
.
max
(
this
.
$body
[
0
].
scrollHeight
,
document
.
documentElement
.
scrollHeight
)
}
ScrollSpy
.
prototype
.
refresh
=
function
()
{
var
that
=
this
var
offsetMethod
=
'offset'
var
offsetBase
=
0
this
.
offsets
=
[]
this
.
targets
=
[]
this
.
scrollHeight
=
this
.
getScrollHeight
()
if
(
!
$
.
isWindow
(
this
.
$scrollElement
[
0
]))
{
offsetMethod
=
'position'
offsetBase
=
this
.
$scrollElement
.
scrollTop
()
}
this
.
$body
.
find
(
this
.
selector
)
.
map
(
function
()
{
var
$el
=
$
(
this
)
var
href
=
$el
.
data
(
'target'
)
||
$el
.
attr
(
'href'
)
var
$href
=
/^#./
.
test
(
href
)
&&
$
(
href
)
return
(
$href
&&
$href
.
length
&&
$href
.
is
(
':visible'
)
&&
[[
$href
[
offsetMethod
]().
top
+
offsetBase
,
href
]])
||
null
})
.
sort
(
function
(
a
,
b
)
{
return
a
[
0
]
-
b
[
0
]
})
.
each
(
function
()
{
that
.
offsets
.
push
(
this
[
0
])
that
.
targets
.
push
(
this
[
1
])
})
}
ScrollSpy
.
prototype
.
process
=
function
()
{
var
scrollTop
=
this
.
$scrollElement
.
scrollTop
()
+
this
.
options
.
offset
var
scrollHeight
=
this
.
getScrollHeight
()
var
maxScroll
=
this
.
options
.
offset
+
scrollHeight
-
this
.
$scrollElement
.
height
()
var
offsets
=
this
.
offsets
var
targets
=
this
.
targets
var
activeTarget
=
this
.
activeTarget
var
i
if
(
this
.
scrollHeight
!=
scrollHeight
)
{
this
.
refresh
()
}
if
(
scrollTop
>=
maxScroll
)
{
return
activeTarget
!=
(
i
=
targets
[
targets
.
length
-
1
])
&&
this
.
activate
(
i
)
}
if
(
activeTarget
&&
scrollTop
<
offsets
[
0
])
{
this
.
activeTarget
=
null
return
this
.
clear
()
}
for
(
i
=
offsets
.
length
;
i
--
;)
{
activeTarget
!=
targets
[
i
]
&&
scrollTop
>=
offsets
[
i
]
&&
(
offsets
[
i
+
1
]
===
undefined
||
scrollTop
<
offsets
[
i
+
1
])
&&
this
.
activate
(
targets
[
i
])
}
}
ScrollSpy
.
prototype
.
activate
=
function
(
target
)
{
this
.
activeTarget
=
target
this
.
clear
()
var
selector
=
this
.
selector
+
'[data-target="'
+
target
+
'"],'
+
this
.
selector
+
'[href="'
+
target
+
'"]'
var
active
=
$
(
selector
)
.
parents
(
'li'
)
.
addClass
(
'active'
)
if
(
active
.
parent
(
'.dropdown-menu'
).
length
)
{
active
=
active
.
closest
(
'li.dropdown'
)
.
addClass
(
'active'
)
}
active
.
trigger
(
'activate.bs.scrollspy'
)
}
ScrollSpy
.
prototype
.
clear
=
function
()
{
$
(
this
.
selector
)
.
parentsUntil
(
this
.
options
.
target
,
'.active'
)
.
removeClass
(
'active'
)
}
// SCROLLSPY PLUGIN DEFINITION
// ===========================
function
Plugin
(
option
)
{
return
this
.
each
(
function
()
{
var
$this
=
$
(
this
)
var
data
=
$this
.
data
(
'bs.scrollspy'
)
var
options
=
typeof
option
==
'object'
&&
option
if
(
!
data
)
$this
.
data
(
'bs.scrollspy'
,
(
data
=
new
ScrollSpy
(
this
,
options
)))
if
(
typeof
option
==
'string'
)
data
[
option
]()
})
}
var
old
=
$
.
fn
.
scrollspy
$
.
fn
.
scrollspy
=
Plugin
$
.
fn
.
scrollspy
.
Constructor
=
ScrollSpy
// SCROLLSPY NO CONFLICT
// =====================
$
.
fn
.
scrollspy
.
noConflict
=
function
()
{
$
.
fn
.
scrollspy
=
old
return
this
}
// SCROLLSPY DATA-API
// ==================
$
(
window
).
on
(
'load.bs.scrollspy.data-api'
,
function
()
{
$
(
'[data-spy="scroll"]'
).
each
(
function
()
{
var
$spy
=
$
(
this
)
Plugin
.
call
(
$spy
,
$spy
.
data
())
})
})
}(
jQuery
);
/* ========================================================================
* Bootstrap: tab.js v3.3.5
* http://getbootstrap.com/javascript/#tabs
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+
function
(
$
)
{
'use strict'
;
// TAB CLASS DEFINITION
// ====================
var
Tab
=
function
(
element
)
{
// jscs:disable requireDollarBeforejQueryAssignment
this
.
element
=
$
(
element
)
// jscs:enable requireDollarBeforejQueryAssignment
}
Tab
.
VERSION
=
'3.3.5'
Tab
.
TRANSITION_DURATION
=
150
Tab
.
prototype
.
show
=
function
()
{
var
$this
=
this
.
element
var
$ul
=
$this
.
closest
(
'ul:not(.dropdown-menu)'
)
var
selector
=
$this
.
data
(
'target'
)
if
(
!
selector
)
{
selector
=
$this
.
attr
(
'href'
)
selector
=
selector
&&
selector
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
''
)
// strip for ie7
}
if
(
$this
.
parent
(
'li'
).
hasClass
(
'active'
))
return
var
$previous
=
$ul
.
find
(
'.active:last a'
)
var
hideEvent
=
$
.
Event
(
'hide.bs.tab'
,
{
relatedTarget
:
$this
[
0
]
})
var
showEvent
=
$
.
Event
(
'show.bs.tab'
,
{
relatedTarget
:
$previous
[
0
]
})
$previous
.
trigger
(
hideEvent
)
$this
.
trigger
(
showEvent
)
if
(
showEvent
.
isDefaultPrevented
()
||
hideEvent
.
isDefaultPrevented
())
return
var
$target
=
$
(
selector
)
this
.
activate
(
$this
.
closest
(
'li'
),
$ul
)
this
.
activate
(
$target
,
$target
.
parent
(),
function
()
{
$previous
.
trigger
({
type
:
'hidden.bs.tab'
,
relatedTarget
:
$this
[
0
]
})
$this
.
trigger
({
type
:
'shown.bs.tab'
,
relatedTarget
:
$previous
[
0
]
})
})
}
Tab
.
prototype
.
activate
=
function
(
element
,
container
,
callback
)
{
var
$active
=
container
.
find
(
'> .active'
)
var
transition
=
callback
&&
$
.
support
.
transition
&&
(
$active
.
length
&&
$active
.
hasClass
(
'fade'
)
||
!!
container
.
find
(
'> .fade'
).
length
)
function
next
()
{
$active
.
removeClass
(
'active'
)
.
find
(
'> .dropdown-menu > .active'
)
.
removeClass
(
'active'
)
.
end
()
.
find
(
'[data-toggle="tab"]'
)
.
attr
(
'aria-expanded'
,
false
)
element
.
addClass
(
'active'
)
.
find
(
'[data-toggle="tab"]'
)
.
attr
(
'aria-expanded'
,
true
)
if
(
transition
)
{
element
[
0
].
offsetWidth
// reflow for transition
element
.
addClass
(
'in'
)
}
else
{
element
.
removeClass
(
'fade'
)
}
if
(
element
.
parent
(
'.dropdown-menu'
).
length
)
{
element
.
closest
(
'li.dropdown'
)
.
addClass
(
'active'
)
.
end
()
.
find
(
'[data-toggle="tab"]'
)
.
attr
(
'aria-expanded'
,
true
)
}
callback
&&
callback
()
}
$active
.
length
&&
transition
?
$active
.
one
(
'bsTransitionEnd'
,
next
)
.
emulateTransitionEnd
(
Tab
.
TRANSITION_DURATION
)
:
next
()
$active
.
removeClass
(
'in'
)
}
// TAB PLUGIN DEFINITION
// =====================
function
Plugin
(
option
)
{
return
this
.
each
(
function
()
{
var
$this
=
$
(
this
)
var
data
=
$this
.
data
(
'bs.tab'
)
if
(
!
data
)
$this
.
data
(
'bs.tab'
,
(
data
=
new
Tab
(
this
)))
if
(
typeof
option
==
'string'
)
data
[
option
]()
})
}
var
old
=
$
.
fn
.
tab
$
.
fn
.
tab
=
Plugin
$
.
fn
.
tab
.
Constructor
=
Tab
// TAB NO CONFLICT
// ===============
$
.
fn
.
tab
.
noConflict
=
function
()
{
$
.
fn
.
tab
=
old
return
this
}
// TAB DATA-API
// ============
var
clickHandler
=
function
(
e
)
{
e
.
preventDefault
()
Plugin
.
call
(
$
(
this
),
'show'
)
}
$
(
document
)
.
on
(
'click.bs.tab.data-api'
,
'[data-toggle="tab"]'
,
clickHandler
)
.
on
(
'click.bs.tab.data-api'
,
'[data-toggle="pill"]'
,
clickHandler
)
}(
jQuery
);
/* ========================================================================
* Bootstrap: affix.js v3.3.5
* http://getbootstrap.com/javascript/#affix
* ========================================================================
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+
function
(
$
)
{
'use strict'
;
// AFFIX CLASS DEFINITION
// ======================
var
Affix
=
function
(
element
,
options
)
{
this
.
options
=
$
.
extend
({},
Affix
.
DEFAULTS
,
options
)
this
.
$target
=
$
(
this
.
options
.
target
)
.
on
(
'scroll.bs.affix.data-api'
,
$
.
proxy
(
this
.
checkPosition
,
this
))
.
on
(
'click.bs.affix.data-api'
,
$
.
proxy
(
this
.
checkPositionWithEventLoop
,
this
))
this
.
$element
=
$
(
element
)
this
.
affixed
=
null
this
.
unpin
=
null
this
.
pinnedOffset
=
null
this
.
checkPosition
()
}
Affix
.
VERSION
=
'3.3.5'
Affix
.
RESET
=
'affix affix-top affix-bottom'
Affix
.
DEFAULTS
=
{
offset
:
0
,
target
:
window
}
Affix
.
prototype
.
getState
=
function
(
scrollHeight
,
height
,
offsetTop
,
offsetBottom
)
{
var
scrollTop
=
this
.
$target
.
scrollTop
()
var
position
=
this
.
$element
.
offset
()
var
targetHeight
=
this
.
$target
.
height
()
if
(
offsetTop
!=
null
&&
this
.
affixed
==
'top'
)
return
scrollTop
<
offsetTop
?
'top'
:
false
if
(
this
.
affixed
==
'bottom'
)
{
if
(
offsetTop
!=
null
)
return
(
scrollTop
+
this
.
unpin
<=
position
.
top
)
?
false
:
'bottom'
return
(
scrollTop
+
targetHeight
<=
scrollHeight
-
offsetBottom
)
?
false
:
'bottom'
}
var
initializing
=
this
.
affixed
==
null
var
colliderTop
=
initializing
?
scrollTop
:
position
.
top
var
colliderHeight
=
initializing
?
targetHeight
:
height
if
(
offsetTop
!=
null
&&
scrollTop
<=
offsetTop
)
return
'top'
if
(
offsetBottom
!=
null
&&
(
colliderTop
+
colliderHeight
>=
scrollHeight
-
offsetBottom
))
return
'bottom'
return
false
}
Affix
.
prototype
.
getPinnedOffset
=
function
()
{
if
(
this
.
pinnedOffset
)
return
this
.
pinnedOffset
this
.
$element
.
removeClass
(
Affix
.
RESET
).
addClass
(
'affix'
)
var
scrollTop
=
this
.
$target
.
scrollTop
()
var
position
=
this
.
$element
.
offset
()
return
(
this
.
pinnedOffset
=
position
.
top
-
scrollTop
)
}
Affix
.
prototype
.
checkPositionWithEventLoop
=
function
()
{
setTimeout
(
$
.
proxy
(
this
.
checkPosition
,
this
),
1
)
}
Affix
.
prototype
.
checkPosition
=
function
()
{
if
(
!
this
.
$element
.
is
(
':visible'
))
return
var
height
=
this
.
$element
.
height
()
var
offset
=
this
.
options
.
offset
var
offsetTop
=
offset
.
top
var
offsetBottom
=
offset
.
bottom
var
scrollHeight
=
Math
.
max
(
$
(
document
).
height
(),
$
(
document
.
body
).
height
())
if
(
typeof
offset
!=
'object'
)
offsetBottom
=
offsetTop
=
offset
if
(
typeof
offsetTop
==
'function'
)
offsetTop
=
offset
.
top
(
this
.
$element
)
if
(
typeof
offsetBottom
==
'function'
)
offsetBottom
=
offset
.
bottom
(
this
.
$element
)
var
affix
=
this
.
getState
(
scrollHeight
,
height
,
offsetTop
,
offsetBottom
)
if
(
this
.
affixed
!=
affix
)
{
if
(
this
.
unpin
!=
null
)
this
.
$element
.
css
(
'top'
,
''
)
var
affixType
=
'affix'
+
(
affix
?
'-'
+
affix
:
''
)
var
e
=
$
.
Event
(
affixType
+
'.bs.affix'
)
this
.
$element
.
trigger
(
e
)
if
(
e
.
isDefaultPrevented
())
return
this
.
affixed
=
affix
this
.
unpin
=
affix
==
'bottom'
?
this
.
getPinnedOffset
()
:
null
this
.
$element
.
removeClass
(
Affix
.
RESET
)
.
addClass
(
affixType
)
.
trigger
(
affixType
.
replace
(
'affix'
,
'affixed'
)
+
'.bs.affix'
)
}
if
(
affix
==
'bottom'
)
{
this
.
$element
.
offset
({
top
:
scrollHeight
-
height
-
offsetBottom
})
}
}
// AFFIX PLUGIN DEFINITION
// =======================
// =======================
function
Plugin
(
option
,
_relatedTarget
)
{
function
Plugin
(
option
)
{
return
this
.
each
(
function
()
{
return
this
.
each
(
function
()
{
var
$this
=
$
(
this
)
var
$this
=
$
(
this
)
var
data
=
$this
.
data
(
'bs.
modal
'
)
var
data
=
$this
.
data
(
'bs.
affix
'
)
var
options
=
$
.
extend
({},
Modal
.
DEFAULTS
,
$this
.
data
(),
typeof
option
==
'object'
&&
option
)
var
options
=
typeof
option
==
'object'
&&
option
if
(
!
data
)
$this
.
data
(
'bs.modal'
,
(
data
=
new
Modal
(
this
,
options
)))
if
(
!
data
)
$this
.
data
(
'bs.affix'
,
(
data
=
new
Affix
(
this
,
options
)))
if
(
typeof
option
==
'string'
)
data
[
option
](
_relatedTarget
)
if
(
typeof
option
==
'string'
)
data
[
option
]()
else
if
(
options
.
show
)
data
.
show
(
_relatedTarget
)
})
})
}
}
var
old
=
$
.
fn
.
modal
var
old
=
$
.
fn
.
affix
$
.
fn
.
modal
=
Plugin
$
.
fn
.
affix
=
Plugin
$
.
fn
.
modal
.
Constructor
=
Modal
$
.
fn
.
affix
.
Constructor
=
Affix
//
MODAL
NO CONFLICT
//
AFFIX
NO CONFLICT
// =================
// =================
$
.
fn
.
modal
.
noConflict
=
function
()
{
$
.
fn
.
affix
.
noConflict
=
function
()
{
$
.
fn
.
modal
=
old
$
.
fn
.
affix
=
old
return
this
return
this
}
}
//
MODAL
DATA-API
//
AFFIX
DATA-API
// ==============
// ==============
$
(
document
).
on
(
'click.bs.modal.data-api'
,
'[data-toggle="modal"]'
,
function
(
e
)
{
$
(
window
).
on
(
'load'
,
function
()
{
var
$this
=
$
(
this
)
$
(
'[data-spy="affix"]'
).
each
(
function
()
{
var
href
=
$this
.
attr
(
'href'
)
var
$spy
=
$
(
this
)
var
$target
=
$
(
$this
.
attr
(
'data-target'
)
||
(
href
&&
href
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
''
)))
// strip for ie7
var
data
=
$spy
.
data
()
var
option
=
$target
.
data
(
'bs.modal'
)
?
'toggle'
:
$
.
extend
({
remote
:
!
/#/
.
test
(
href
)
&&
href
},
$target
.
data
(),
$this
.
data
())
if
(
$this
.
is
(
'a'
))
e
.
preventDefault
()
data
.
offset
=
data
.
offset
||
{}
$target
.
one
(
'show.bs.modal'
,
function
(
showEvent
)
{
if
(
data
.
offsetBottom
!=
null
)
data
.
offset
.
bottom
=
data
.
offsetBottom
if
(
showEvent
.
isDefaultPrevented
())
return
// only register focus restorer if modal will actually get shown
if
(
data
.
offsetTop
!=
null
)
data
.
offset
.
top
=
data
.
offsetTop
$target
.
one
(
'hidden.bs.modal'
,
function
()
{
$this
.
is
(
':visible'
)
&&
$this
.
trigger
(
'focus'
)
Plugin
.
call
(
$spy
,
data
)
})
})
})
Plugin
.
call
(
$target
,
option
,
this
)
})
})
}(
jQuery
);
}(
jQuery
);
wp-content/plugins/tospur/Admin/views/js/bootstrap.min.js
View file @
2fc2824f
/*!
/*!
* Bootstrap v3.3.5 (http://getbootstrap.com)
* Bootstrap v3.3.5 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Copyright 2011-2015 Twitter, Inc.
* Licensed under
MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Licensed under
the MIT license
*/
*/
if
(
"undefined"
==
typeof
jQuery
)
throw
new
Error
(
"Bootstrap's JavaScript requires jQuery"
);
+
function
(
a
){
"use strict"
;
var
b
=
a
.
fn
.
jquery
.
split
(
" "
)[
0
].
split
(
"."
);
if
(
b
[
0
]
<
2
&&
b
[
1
]
<
9
||
1
==
b
[
0
]
&&
9
==
b
[
1
]
&&
b
[
2
]
<
1
)
throw
new
Error
(
"Bootstrap's JavaScript requires jQuery version 1.9.1 or higher"
)}(
jQuery
),
+
function
(
a
){
"use strict"
;
function
b
(){
var
a
=
document
.
createElement
(
"bootstrap"
),
b
=
{
WebkitTransition
:
"webkitTransitionEnd"
,
MozTransition
:
"transitionend"
,
OTransition
:
"oTransitionEnd otransitionend"
,
transition
:
"transitionend"
};
for
(
var
c
in
b
)
if
(
void
0
!==
a
.
style
[
c
])
return
{
end
:
b
[
c
]};
return
!
1
}
a
.
fn
.
emulateTransitionEnd
=
function
(
b
){
var
c
=!
1
,
d
=
this
;
a
(
this
).
one
(
"bsTransitionEnd"
,
function
(){
c
=!
0
});
var
e
=
function
(){
c
||
a
(
d
).
trigger
(
a
.
support
.
transition
.
end
)};
return
setTimeout
(
e
,
b
),
this
},
a
(
function
(){
a
.
support
.
transition
=
b
(),
a
.
support
.
transition
&&
(
a
.
event
.
special
.
bsTransitionEnd
=
{
bindType
:
a
.
support
.
transition
.
end
,
delegateType
:
a
.
support
.
transition
.
end
,
handle
:
function
(
b
){
return
a
(
b
.
target
).
is
(
this
)?
b
.
handleObj
.
handler
.
apply
(
this
,
arguments
):
void
0
}})})}(
jQuery
),
+
function
(
a
){
"use strict"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
c
=
a
(
this
),
e
=
c
.
data
(
"bs.alert"
);
e
||
c
.
data
(
"bs.alert"
,
e
=
new
d
(
this
)),
"string"
==
typeof
b
&&
e
[
b
].
call
(
c
)})}
var
c
=
'[data-dismiss="alert"]'
,
d
=
function
(
b
){
a
(
b
).
on
(
"click"
,
c
,
this
.
close
)};
d
.
VERSION
=
"3.3.5"
,
d
.
TRANSITION_DURATION
=
150
,
d
.
prototype
.
close
=
function
(
b
){
function
c
(){
g
.
detach
().
trigger
(
"closed.bs.alert"
).
remove
()}
var
e
=
a
(
this
),
f
=
e
.
attr
(
"data-target"
);
f
||
(
f
=
e
.
attr
(
"href"
),
f
=
f
&&
f
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
g
=
a
(
f
);
b
&&
b
.
preventDefault
(),
g
.
length
||
(
g
=
e
.
closest
(
".alert"
)),
g
.
trigger
(
b
=
a
.
Event
(
"close.bs.alert"
)),
b
.
isDefaultPrevented
()
||
(
g
.
removeClass
(
"in"
),
a
.
support
.
transition
&&
g
.
hasClass
(
"fade"
)?
g
.
one
(
"bsTransitionEnd"
,
c
).
emulateTransitionEnd
(
d
.
TRANSITION_DURATION
):
c
())};
var
e
=
a
.
fn
.
alert
;
a
.
fn
.
alert
=
b
,
a
.
fn
.
alert
.
Constructor
=
d
,
a
.
fn
.
alert
.
noConflict
=
function
(){
return
a
.
fn
.
alert
=
e
,
this
},
a
(
document
).
on
(
"click.bs.alert.data-api"
,
c
,
d
.
prototype
.
close
)}(
jQuery
),
+
function
(
a
){
"use strict"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.button"
),
f
=
"object"
==
typeof
b
&&
b
;
e
||
d
.
data
(
"bs.button"
,
e
=
new
c
(
this
,
f
)),
"toggle"
==
b
?
e
.
toggle
():
b
&&
e
.
setState
(
b
)})}
var
c
=
function
(
b
,
d
){
this
.
$element
=
a
(
b
),
this
.
options
=
a
.
extend
({},
c
.
DEFAULTS
,
d
),
this
.
isLoading
=!
1
};
c
.
VERSION
=
"3.3.5"
,
c
.
DEFAULTS
=
{
loadingText
:
"loading..."
},
c
.
prototype
.
setState
=
function
(
b
){
var
c
=
"disabled"
,
d
=
this
.
$element
,
e
=
d
.
is
(
"input"
)?
"val"
:
"html"
,
f
=
d
.
data
();
b
+=
"Text"
,
null
==
f
.
resetText
&&
d
.
data
(
"resetText"
,
d
[
e
]()),
setTimeout
(
a
.
proxy
(
function
(){
d
[
e
](
null
==
f
[
b
]?
this
.
options
[
b
]:
f
[
b
]),
"loadingText"
==
b
?(
this
.
isLoading
=!
0
,
d
.
addClass
(
c
).
attr
(
c
,
c
)):
this
.
isLoading
&&
(
this
.
isLoading
=!
1
,
d
.
removeClass
(
c
).
removeAttr
(
c
))},
this
),
0
)},
c
.
prototype
.
toggle
=
function
(){
var
a
=!
0
,
b
=
this
.
$element
.
closest
(
'[data-toggle="buttons"]'
);
if
(
b
.
length
){
var
c
=
this
.
$element
.
find
(
"input"
);
"radio"
==
c
.
prop
(
"type"
)?(
c
.
prop
(
"checked"
)
&&
(
a
=!
1
),
b
.
find
(
".active"
).
removeClass
(
"active"
),
this
.
$element
.
addClass
(
"active"
)):
"checkbox"
==
c
.
prop
(
"type"
)
&&
(
c
.
prop
(
"checked"
)
!==
this
.
$element
.
hasClass
(
"active"
)
&&
(
a
=!
1
),
this
.
$element
.
toggleClass
(
"active"
)),
c
.
prop
(
"checked"
,
this
.
$element
.
hasClass
(
"active"
)),
a
&&
c
.
trigger
(
"change"
)}
else
this
.
$element
.
attr
(
"aria-pressed"
,
!
this
.
$element
.
hasClass
(
"active"
)),
this
.
$element
.
toggleClass
(
"active"
)};
var
d
=
a
.
fn
.
button
;
a
.
fn
.
button
=
b
,
a
.
fn
.
button
.
Constructor
=
c
,
a
.
fn
.
button
.
noConflict
=
function
(){
return
a
.
fn
.
button
=
d
,
this
},
a
(
document
).
on
(
"click.bs.button.data-api"
,
'[data-toggle^="button"]'
,
function
(
c
){
var
d
=
a
(
c
.
target
);
d
.
hasClass
(
"btn"
)
||
(
d
=
d
.
closest
(
".btn"
)),
b
.
call
(
d
,
"toggle"
),
a
(
c
.
target
).
is
(
'input[type="radio"]'
)
||
a
(
c
.
target
).
is
(
'input[type="checkbox"]'
)
||
c
.
preventDefault
()}).
on
(
"focus.bs.button.data-api blur.bs.button.data-api"
,
'[data-toggle^="button"]'
,
function
(
b
){
a
(
b
.
target
).
closest
(
".btn"
).
toggleClass
(
"focus"
,
/^focus
(
in
)?
$/
.
test
(
b
.
type
))})}(
jQuery
),
+
function
(
a
){
"use strict"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.carousel"
),
f
=
a
.
extend
({},
c
.
DEFAULTS
,
d
.
data
(),
"object"
==
typeof
b
&&
b
),
g
=
"string"
==
typeof
b
?
b
:
f
.
slide
;
e
||
d
.
data
(
"bs.carousel"
,
e
=
new
c
(
this
,
f
)),
"number"
==
typeof
b
?
e
.
to
(
b
):
g
?
e
[
g
]():
f
.
interval
&&
e
.
pause
().
cycle
()})}
var
c
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
$indicators
=
this
.
$element
.
find
(
".carousel-indicators"
),
this
.
options
=
c
,
this
.
paused
=
null
,
this
.
sliding
=
null
,
this
.
interval
=
null
,
this
.
$active
=
null
,
this
.
$items
=
null
,
this
.
options
.
keyboard
&&
this
.
$element
.
on
(
"keydown.bs.carousel"
,
a
.
proxy
(
this
.
keydown
,
this
)),
"hover"
==
this
.
options
.
pause
&&!
(
"ontouchstart"
in
document
.
documentElement
)
&&
this
.
$element
.
on
(
"mouseenter.bs.carousel"
,
a
.
proxy
(
this
.
pause
,
this
)).
on
(
"mouseleave.bs.carousel"
,
a
.
proxy
(
this
.
cycle
,
this
))};
c
.
VERSION
=
"3.3.5"
,
c
.
TRANSITION_DURATION
=
600
,
c
.
DEFAULTS
=
{
interval
:
5
e3
,
pause
:
"hover"
,
wrap
:
!
0
,
keyboard
:
!
0
},
c
.
prototype
.
keydown
=
function
(
a
){
if
(
!
/input|textarea/i
.
test
(
a
.
target
.
tagName
)){
switch
(
a
.
which
){
case
37
:
this
.
prev
();
break
;
case
39
:
this
.
next
();
break
;
default
:
return
}
a
.
preventDefault
()}},
c
.
prototype
.
cycle
=
function
(
b
){
return
b
||
(
this
.
paused
=!
1
),
this
.
interval
&&
clearInterval
(
this
.
interval
),
this
.
options
.
interval
&&!
this
.
paused
&&
(
this
.
interval
=
setInterval
(
a
.
proxy
(
this
.
next
,
this
),
this
.
options
.
interval
)),
this
},
c
.
prototype
.
getItemIndex
=
function
(
a
){
return
this
.
$items
=
a
.
parent
().
children
(
".item"
),
this
.
$items
.
index
(
a
||
this
.
$active
)},
c
.
prototype
.
getItemForDirection
=
function
(
a
,
b
){
var
c
=
this
.
getItemIndex
(
b
),
d
=
"prev"
==
a
&&
0
===
c
||
"next"
==
a
&&
c
==
this
.
$items
.
length
-
1
;
if
(
d
&&!
this
.
options
.
wrap
)
return
b
;
var
e
=
"prev"
==
a
?
-
1
:
1
,
f
=
(
c
+
e
)
%
this
.
$items
.
length
;
return
this
.
$items
.
eq
(
f
)},
c
.
prototype
.
to
=
function
(
a
){
var
b
=
this
,
c
=
this
.
getItemIndex
(
this
.
$active
=
this
.
$element
.
find
(
".item.active"
));
return
a
>
this
.
$items
.
length
-
1
||
0
>
a
?
void
0
:
this
.
sliding
?
this
.
$element
.
one
(
"slid.bs.carousel"
,
function
(){
b
.
to
(
a
)}):
c
==
a
?
this
.
pause
().
cycle
():
this
.
slide
(
a
>
c
?
"next"
:
"prev"
,
this
.
$items
.
eq
(
a
))},
c
.
prototype
.
pause
=
function
(
b
){
return
b
||
(
this
.
paused
=!
0
),
this
.
$element
.
find
(
".next, .prev"
).
length
&&
a
.
support
.
transition
&&
(
this
.
$element
.
trigger
(
a
.
support
.
transition
.
end
),
this
.
cycle
(
!
0
)),
this
.
interval
=
clearInterval
(
this
.
interval
),
this
},
c
.
prototype
.
next
=
function
(){
return
this
.
sliding
?
void
0
:
this
.
slide
(
"next"
)},
c
.
prototype
.
prev
=
function
(){
return
this
.
sliding
?
void
0
:
this
.
slide
(
"prev"
)},
c
.
prototype
.
slide
=
function
(
b
,
d
){
var
e
=
this
.
$element
.
find
(
".item.active"
),
f
=
d
||
this
.
getItemForDirection
(
b
,
e
),
g
=
this
.
interval
,
h
=
"next"
==
b
?
"left"
:
"right"
,
i
=
this
;
if
(
f
.
hasClass
(
"active"
))
return
this
.
sliding
=!
1
;
var
j
=
f
[
0
],
k
=
a
.
Event
(
"slide.bs.carousel"
,{
relatedTarget
:
j
,
direction
:
h
});
if
(
this
.
$element
.
trigger
(
k
),
!
k
.
isDefaultPrevented
()){
if
(
this
.
sliding
=!
0
,
g
&&
this
.
pause
(),
this
.
$indicators
.
length
){
this
.
$indicators
.
find
(
".active"
).
removeClass
(
"active"
);
var
l
=
a
(
this
.
$indicators
.
children
()[
this
.
getItemIndex
(
f
)]);
l
&&
l
.
addClass
(
"active"
)}
var
m
=
a
.
Event
(
"slid.bs.carousel"
,{
relatedTarget
:
j
,
direction
:
h
});
return
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"slide"
)?(
f
.
addClass
(
b
),
f
[
0
].
offsetWidth
,
e
.
addClass
(
h
),
f
.
addClass
(
h
),
e
.
one
(
"bsTransitionEnd"
,
function
(){
f
.
removeClass
([
b
,
h
].
join
(
" "
)).
addClass
(
"active"
),
e
.
removeClass
([
"active"
,
h
].
join
(
" "
)),
i
.
sliding
=!
1
,
setTimeout
(
function
(){
i
.
$element
.
trigger
(
m
)},
0
)}).
emulateTransitionEnd
(
c
.
TRANSITION_DURATION
)):(
e
.
removeClass
(
"active"
),
f
.
addClass
(
"active"
),
this
.
sliding
=!
1
,
this
.
$element
.
trigger
(
m
)),
g
&&
this
.
cycle
(),
this
}};
var
d
=
a
.
fn
.
carousel
;
a
.
fn
.
carousel
=
b
,
a
.
fn
.
carousel
.
Constructor
=
c
,
a
.
fn
.
carousel
.
noConflict
=
function
(){
return
a
.
fn
.
carousel
=
d
,
this
};
var
e
=
function
(
c
){
var
d
,
e
=
a
(
this
),
f
=
a
(
e
.
attr
(
"data-target"
)
||
(
d
=
e
.
attr
(
"href"
))
&&
d
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
));
if
(
f
.
hasClass
(
"carousel"
)){
var
g
=
a
.
extend
({},
f
.
data
(),
e
.
data
()),
h
=
e
.
attr
(
"data-slide-to"
);
h
&&
(
g
.
interval
=!
1
),
b
.
call
(
f
,
g
),
h
&&
f
.
data
(
"bs.carousel"
).
to
(
h
),
c
.
preventDefault
()}};
a
(
document
).
on
(
"click.bs.carousel.data-api"
,
"[data-slide]"
,
e
).
on
(
"click.bs.carousel.data-api"
,
"[data-slide-to]"
,
e
),
a
(
window
).
on
(
"load"
,
function
(){
a
(
'[data-ride="carousel"]'
).
each
(
function
(){
var
c
=
a
(
this
);
b
.
call
(
c
,
c
.
data
())})})}(
jQuery
),
+
function
(
a
){
"use strict"
;
function
b
(
b
){
var
c
,
d
=
b
.
attr
(
"data-target"
)
||
(
c
=
b
.
attr
(
"href"
))
&&
c
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
);
return
a
(
d
)}
function
c
(
b
){
return
this
.
each
(
function
(){
var
c
=
a
(
this
),
e
=
c
.
data
(
"bs.collapse"
),
f
=
a
.
extend
({},
d
.
DEFAULTS
,
c
.
data
(),
"object"
==
typeof
b
&&
b
);
!
e
&&
f
.
toggle
&&
/show|hide/
.
test
(
b
)
&&
(
f
.
toggle
=!
1
),
e
||
c
.
data
(
"bs.collapse"
,
e
=
new
d
(
this
,
f
)),
"string"
==
typeof
b
&&
e
[
b
]()})}
var
d
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
options
=
a
.
extend
({},
d
.
DEFAULTS
,
c
),
this
.
$trigger
=
a
(
'[data-toggle="collapse"][href="#'
+
b
.
id
+
'"],[data-toggle="collapse"][data-target="#'
+
b
.
id
+
'"]'
),
this
.
transitioning
=
null
,
this
.
options
.
parent
?
this
.
$parent
=
this
.
getParent
():
this
.
addAriaAndCollapsedClass
(
this
.
$element
,
this
.
$trigger
),
this
.
options
.
toggle
&&
this
.
toggle
()};
d
.
VERSION
=
"3.3.5"
,
d
.
TRANSITION_DURATION
=
350
,
d
.
DEFAULTS
=
{
toggle
:
!
0
},
d
.
prototype
.
dimension
=
function
(){
var
a
=
this
.
$element
.
hasClass
(
"width"
);
return
a
?
"width"
:
"height"
},
d
.
prototype
.
show
=
function
(){
if
(
!
this
.
transitioning
&&!
this
.
$element
.
hasClass
(
"in"
)){
var
b
,
e
=
this
.
$parent
&&
this
.
$parent
.
children
(
".panel"
).
children
(
".in, .collapsing"
);
if
(
!
(
e
&&
e
.
length
&&
(
b
=
e
.
data
(
"bs.collapse"
),
b
&&
b
.
transitioning
))){
var
f
=
a
.
Event
(
"show.bs.collapse"
);
if
(
this
.
$element
.
trigger
(
f
),
!
f
.
isDefaultPrevented
()){
e
&&
e
.
length
&&
(
c
.
call
(
e
,
"hide"
),
b
||
e
.
data
(
"bs.collapse"
,
null
));
var
g
=
this
.
dimension
();
this
.
$element
.
removeClass
(
"collapse"
).
addClass
(
"collapsing"
)[
g
](
0
).
attr
(
"aria-expanded"
,
!
0
),
this
.
$trigger
.
removeClass
(
"collapsed"
).
attr
(
"aria-expanded"
,
!
0
),
this
.
transitioning
=
1
;
var
h
=
function
(){
this
.
$element
.
removeClass
(
"collapsing"
).
addClass
(
"collapse in"
)[
g
](
""
),
this
.
transitioning
=
0
,
this
.
$element
.
trigger
(
"shown.bs.collapse"
)};
if
(
!
a
.
support
.
transition
)
return
h
.
call
(
this
);
var
i
=
a
.
camelCase
([
"scroll"
,
g
].
join
(
"-"
));
this
.
$element
.
one
(
"bsTransitionEnd"
,
a
.
proxy
(
h
,
this
)).
emulateTransitionEnd
(
d
.
TRANSITION_DURATION
)[
g
](
this
.
$element
[
0
][
i
])}}}},
d
.
prototype
.
hide
=
function
(){
if
(
!
this
.
transitioning
&&
this
.
$element
.
hasClass
(
"in"
)){
var
b
=
a
.
Event
(
"hide.bs.collapse"
);
if
(
this
.
$element
.
trigger
(
b
),
!
b
.
isDefaultPrevented
()){
var
c
=
this
.
dimension
();
this
.
$element
[
c
](
this
.
$element
[
c
]())[
0
].
offsetHeight
,
this
.
$element
.
addClass
(
"collapsing"
).
removeClass
(
"collapse in"
).
attr
(
"aria-expanded"
,
!
1
),
this
.
$trigger
.
addClass
(
"collapsed"
).
attr
(
"aria-expanded"
,
!
1
),
this
.
transitioning
=
1
;
var
e
=
function
(){
this
.
transitioning
=
0
,
this
.
$element
.
removeClass
(
"collapsing"
).
addClass
(
"collapse"
).
trigger
(
"hidden.bs.collapse"
)};
return
a
.
support
.
transition
?
void
this
.
$element
[
c
](
0
).
one
(
"bsTransitionEnd"
,
a
.
proxy
(
e
,
this
)).
emulateTransitionEnd
(
d
.
TRANSITION_DURATION
):
e
.
call
(
this
)}}},
d
.
prototype
.
toggle
=
function
(){
this
[
this
.
$element
.
hasClass
(
"in"
)?
"hide"
:
"show"
]()},
d
.
prototype
.
getParent
=
function
(){
return
a
(
this
.
options
.
parent
).
find
(
'[data-toggle="collapse"][data-parent="'
+
this
.
options
.
parent
+
'"]'
).
each
(
a
.
proxy
(
function
(
c
,
d
){
var
e
=
a
(
d
);
this
.
addAriaAndCollapsedClass
(
b
(
e
),
e
)},
this
)).
end
()},
d
.
prototype
.
addAriaAndCollapsedClass
=
function
(
a
,
b
){
var
c
=
a
.
hasClass
(
"in"
);
a
.
attr
(
"aria-expanded"
,
c
),
b
.
toggleClass
(
"collapsed"
,
!
c
).
attr
(
"aria-expanded"
,
c
)};
var
e
=
a
.
fn
.
collapse
;
a
.
fn
.
collapse
=
c
,
a
.
fn
.
collapse
.
Constructor
=
d
,
a
.
fn
.
collapse
.
noConflict
=
function
(){
return
a
.
fn
.
collapse
=
e
,
this
},
a
(
document
).
on
(
"click.bs.collapse.data-api"
,
'[data-toggle="collapse"]'
,
function
(
d
){
var
e
=
a
(
this
);
e
.
attr
(
"data-target"
)
||
d
.
preventDefault
();
var
f
=
b
(
e
),
g
=
f
.
data
(
"bs.collapse"
),
h
=
g
?
"toggle"
:
e
.
data
();
c
.
call
(
f
,
h
)})}(
jQuery
),
+
function
(
a
){
"use strict"
;
function
b
(
b
){
var
c
=
b
.
attr
(
"data-target"
);
c
||
(
c
=
b
.
attr
(
"href"
),
c
=
c
&&
/#
[
A-Za-z
]
/
.
test
(
c
)
&&
c
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
d
=
c
&&
a
(
c
);
return
d
&&
d
.
length
?
d
:
b
.
parent
()}
function
c
(
c
){
c
&&
3
===
c
.
which
||
(
a
(
e
).
remove
(),
a
(
f
).
each
(
function
(){
var
d
=
a
(
this
),
e
=
b
(
d
),
f
=
{
relatedTarget
:
this
};
e
.
hasClass
(
"open"
)
&&
(
c
&&
"click"
==
c
.
type
&&
/input|textarea/i
.
test
(
c
.
target
.
tagName
)
&&
a
.
contains
(
e
[
0
],
c
.
target
)
||
(
e
.
trigger
(
c
=
a
.
Event
(
"hide.bs.dropdown"
,
f
)),
c
.
isDefaultPrevented
()
||
(
d
.
attr
(
"aria-expanded"
,
"false"
),
e
.
removeClass
(
"open"
).
trigger
(
"hidden.bs.dropdown"
,
f
))))}))}
function
d
(
b
){
return
this
.
each
(
function
(){
var
c
=
a
(
this
),
d
=
c
.
data
(
"bs.dropdown"
);
d
||
c
.
data
(
"bs.dropdown"
,
d
=
new
g
(
this
)),
"string"
==
typeof
b
&&
d
[
b
].
call
(
c
)})}
var
e
=
".dropdown-backdrop"
,
f
=
'[data-toggle="dropdown"]'
,
g
=
function
(
b
){
a
(
b
).
on
(
"click.bs.dropdown"
,
this
.
toggle
)};
g
.
VERSION
=
"3.3.5"
,
g
.
prototype
.
toggle
=
function
(
d
){
var
e
=
a
(
this
);
if
(
!
e
.
is
(
".disabled, :disabled"
)){
var
f
=
b
(
e
),
g
=
f
.
hasClass
(
"open"
);
if
(
c
(),
!
g
){
"ontouchstart"
in
document
.
documentElement
&&!
f
.
closest
(
".navbar-nav"
).
length
&&
a
(
document
.
createElement
(
"div"
)).
addClass
(
"dropdown-backdrop"
).
insertAfter
(
a
(
this
)).
on
(
"click"
,
c
);
var
h
=
{
relatedTarget
:
this
};
if
(
f
.
trigger
(
d
=
a
.
Event
(
"show.bs.dropdown"
,
h
)),
d
.
isDefaultPrevented
())
return
;
e
.
trigger
(
"focus"
).
attr
(
"aria-expanded"
,
"true"
),
f
.
toggleClass
(
"open"
).
trigger
(
"shown.bs.dropdown"
,
h
)}
return
!
1
}},
g
.
prototype
.
keydown
=
function
(
c
){
if
(
/
(
38|40|27|32
)
/
.
test
(
c
.
which
)
&&!
/input|textarea/i
.
test
(
c
.
target
.
tagName
)){
var
d
=
a
(
this
);
if
(
c
.
preventDefault
(),
c
.
stopPropagation
(),
!
d
.
is
(
".disabled, :disabled"
)){
var
e
=
b
(
d
),
g
=
e
.
hasClass
(
"open"
);
if
(
!
g
&&
27
!=
c
.
which
||
g
&&
27
==
c
.
which
)
return
27
==
c
.
which
&&
e
.
find
(
f
).
trigger
(
"focus"
),
d
.
trigger
(
"click"
);
var
h
=
" li:not(.disabled):visible a"
,
i
=
e
.
find
(
".dropdown-menu"
+
h
);
if
(
i
.
length
){
var
j
=
i
.
index
(
c
.
target
);
38
==
c
.
which
&&
j
>
0
&&
j
--
,
40
==
c
.
which
&&
j
<
i
.
length
-
1
&&
j
++
,
~
j
||
(
j
=
0
),
i
.
eq
(
j
).
trigger
(
"focus"
)}}}};
var
h
=
a
.
fn
.
dropdown
;
a
.
fn
.
dropdown
=
d
,
a
.
fn
.
dropdown
.
Constructor
=
g
,
a
.
fn
.
dropdown
.
noConflict
=
function
(){
return
a
.
fn
.
dropdown
=
h
,
this
},
a
(
document
).
on
(
"click.bs.dropdown.data-api"
,
c
).
on
(
"click.bs.dropdown.data-api"
,
".dropdown form"
,
function
(
a
){
a
.
stopPropagation
()}).
on
(
"click.bs.dropdown.data-api"
,
f
,
g
.
prototype
.
toggle
).
on
(
"keydown.bs.dropdown.data-api"
,
f
,
g
.
prototype
.
keydown
).
on
(
"keydown.bs.dropdown.data-api"
,
".dropdown-menu"
,
g
.
prototype
.
keydown
)}(
jQuery
),
+
function
(
a
){
"use strict"
;
function
b
(
b
,
d
){
return
this
.
each
(
function
(){
var
e
=
a
(
this
),
f
=
e
.
data
(
"bs.modal"
),
g
=
a
.
extend
({},
c
.
DEFAULTS
,
e
.
data
(),
"object"
==
typeof
b
&&
b
);
f
||
e
.
data
(
"bs.modal"
,
f
=
new
c
(
this
,
g
)),
"string"
==
typeof
b
?
f
[
b
](
d
):
g
.
show
&&
f
.
show
(
d
)})}
var
c
=
function
(
b
,
c
){
this
.
options
=
c
,
this
.
$body
=
a
(
document
.
body
),
this
.
$element
=
a
(
b
),
this
.
$dialog
=
this
.
$element
.
find
(
".modal-dialog"
),
this
.
$backdrop
=
null
,
this
.
isShown
=
null
,
this
.
originalBodyPad
=
null
,
this
.
scrollbarWidth
=
0
,
this
.
ignoreBackdropClick
=!
1
,
this
.
options
.
remote
&&
this
.
$element
.
find
(
".modal-content"
).
load
(
this
.
options
.
remote
,
a
.
proxy
(
function
(){
this
.
$element
.
trigger
(
"loaded.bs.modal"
)},
this
))};
c
.
VERSION
=
"3.3.5"
,
c
.
TRANSITION_DURATION
=
300
,
c
.
BACKDROP_TRANSITION_DURATION
=
150
,
c
.
DEFAULTS
=
{
backdrop
:
!
0
,
keyboard
:
!
0
,
show
:
!
0
},
c
.
prototype
.
toggle
=
function
(
a
){
return
this
.
isShown
?
this
.
hide
():
this
.
show
(
a
)},
c
.
prototype
.
show
=
function
(
b
){
var
d
=
this
,
e
=
a
.
Event
(
"show.bs.modal"
,{
relatedTarget
:
b
});
this
.
$element
.
trigger
(
e
),
this
.
isShown
||
e
.
isDefaultPrevented
()
||
(
this
.
isShown
=!
0
,
this
.
checkScrollbar
(),
this
.
setScrollbar
(),
this
.
$body
.
addClass
(
"modal-open"
),
this
.
escape
(),
this
.
resize
(),
this
.
$element
.
on
(
"click.dismiss.bs.modal"
,
'[data-dismiss="modal"]'
,
a
.
proxy
(
this
.
hide
,
this
)),
this
.
$dialog
.
on
(
"mousedown.dismiss.bs.modal"
,
function
(){
d
.
$element
.
one
(
"mouseup.dismiss.bs.modal"
,
function
(
b
){
a
(
b
.
target
).
is
(
d
.
$element
)
&&
(
d
.
ignoreBackdropClick
=!
0
)})}),
this
.
backdrop
(
function
(){
var
e
=
a
.
support
.
transition
&&
d
.
$element
.
hasClass
(
"fade"
);
d
.
$element
.
parent
().
length
||
d
.
$element
.
appendTo
(
d
.
$body
),
d
.
$element
.
show
().
scrollTop
(
0
),
d
.
adjustDialog
(),
e
&&
d
.
$element
[
0
].
offsetWidth
,
d
.
$element
.
addClass
(
"in"
),
d
.
enforceFocus
();
var
f
=
a
.
Event
(
"shown.bs.modal"
,{
relatedTarget
:
b
});
e
?
d
.
$dialog
.
one
(
"bsTransitionEnd"
,
function
(){
d
.
$element
.
trigger
(
"focus"
).
trigger
(
f
)}).
emulateTransitionEnd
(
c
.
TRANSITION_DURATION
):
d
.
$element
.
trigger
(
"focus"
).
trigger
(
f
)}))},
c
.
prototype
.
hide
=
function
(
b
){
b
&&
b
.
preventDefault
(),
b
=
a
.
Event
(
"hide.bs.modal"
),
this
.
$element
.
trigger
(
b
),
this
.
isShown
&&!
b
.
isDefaultPrevented
()
&&
(
this
.
isShown
=!
1
,
this
.
escape
(),
this
.
resize
(),
a
(
document
).
off
(
"focusin.bs.modal"
),
this
.
$element
.
removeClass
(
"in"
).
off
(
"click.dismiss.bs.modal"
).
off
(
"mouseup.dismiss.bs.modal"
),
this
.
$dialog
.
off
(
"mousedown.dismiss.bs.modal"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"fade"
)?
this
.
$element
.
one
(
"bsTransitionEnd"
,
a
.
proxy
(
this
.
hideModal
,
this
)).
emulateTransitionEnd
(
c
.
TRANSITION_DURATION
):
this
.
hideModal
())},
c
.
prototype
.
enforceFocus
=
function
(){
a
(
document
).
off
(
"focusin.bs.modal"
).
on
(
"focusin.bs.modal"
,
a
.
proxy
(
function
(
a
){
this
.
$element
[
0
]
===
a
.
target
||
this
.
$element
.
has
(
a
.
target
).
length
||
this
.
$element
.
trigger
(
"focus"
)},
this
))},
c
.
prototype
.
escape
=
function
(){
this
.
isShown
&&
this
.
options
.
keyboard
?
this
.
$element
.
on
(
"keydown.dismiss.bs.modal"
,
a
.
proxy
(
function
(
a
){
27
==
a
.
which
&&
this
.
hide
()},
this
)):
this
.
isShown
||
this
.
$element
.
off
(
"keydown.dismiss.bs.modal"
)},
c
.
prototype
.
resize
=
function
(){
this
.
isShown
?
a
(
window
).
on
(
"resize.bs.modal"
,
a
.
proxy
(
this
.
handleUpdate
,
this
)):
a
(
window
).
off
(
"resize.bs.modal"
)},
c
.
prototype
.
hideModal
=
function
(){
var
a
=
this
;
this
.
$element
.
hide
(),
this
.
backdrop
(
function
(){
a
.
$body
.
removeClass
(
"modal-open"
),
a
.
resetAdjustments
(),
a
.
resetScrollbar
(),
a
.
$element
.
trigger
(
"hidden.bs.modal"
)})},
c
.
prototype
.
removeBackdrop
=
function
(){
this
.
$backdrop
&&
this
.
$backdrop
.
remove
(),
this
.
$backdrop
=
null
},
c
.
prototype
.
backdrop
=
function
(
b
){
var
d
=
this
,
e
=
this
.
$element
.
hasClass
(
"fade"
)?
"fade"
:
""
;
if
(
this
.
isShown
&&
this
.
options
.
backdrop
){
var
f
=
a
.
support
.
transition
&&
e
;
if
(
this
.
$backdrop
=
a
(
document
.
createElement
(
"div"
)).
addClass
(
"modal-backdrop "
+
e
).
appendTo
(
this
.
$body
),
this
.
$element
.
on
(
"click.dismiss.bs.modal"
,
a
.
proxy
(
function
(
a
){
return
this
.
ignoreBackdropClick
?
void
(
this
.
ignoreBackdropClick
=!
1
):
void
(
a
.
target
===
a
.
currentTarget
&&
(
"static"
==
this
.
options
.
backdrop
?
this
.
$element
[
0
].
focus
():
this
.
hide
()))},
this
)),
f
&&
this
.
$backdrop
[
0
].
offsetWidth
,
this
.
$backdrop
.
addClass
(
"in"
),
!
b
)
return
;
f
?
this
.
$backdrop
.
one
(
"bsTransitionEnd"
,
b
).
emulateTransitionEnd
(
c
.
BACKDROP_TRANSITION_DURATION
):
b
()}
else
if
(
!
this
.
isShown
&&
this
.
$backdrop
){
this
.
$backdrop
.
removeClass
(
"in"
);
var
g
=
function
(){
d
.
removeBackdrop
(),
b
&&
b
()};
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"fade"
)?
this
.
$backdrop
.
one
(
"bsTransitionEnd"
,
g
).
emulateTransitionEnd
(
c
.
BACKDROP_TRANSITION_DURATION
):
g
()}
else
b
&&
b
()},
c
.
prototype
.
handleUpdate
=
function
(){
this
.
adjustDialog
()},
c
.
prototype
.
adjustDialog
=
function
(){
var
a
=
this
.
$element
[
0
].
scrollHeight
>
document
.
documentElement
.
clientHeight
;
this
.
$element
.
css
({
paddingLeft
:
!
this
.
bodyIsOverflowing
&&
a
?
this
.
scrollbarWidth
:
""
,
paddingRight
:
this
.
bodyIsOverflowing
&&!
a
?
this
.
scrollbarWidth
:
""
})},
c
.
prototype
.
resetAdjustments
=
function
(){
this
.
$element
.
css
({
paddingLeft
:
""
,
paddingRight
:
""
})},
c
.
prototype
.
checkScrollbar
=
function
(){
var
a
=
window
.
innerWidth
;
if
(
!
a
){
var
b
=
document
.
documentElement
.
getBoundingClientRect
();
a
=
b
.
right
-
Math
.
abs
(
b
.
left
)}
this
.
bodyIsOverflowing
=
document
.
body
.
clientWidth
<
a
,
this
.
scrollbarWidth
=
this
.
measureScrollbar
()},
c
.
prototype
.
setScrollbar
=
function
(){
var
a
=
parseInt
(
this
.
$body
.
css
(
"padding-right"
)
||
0
,
10
);
this
.
originalBodyPad
=
document
.
body
.
style
.
paddingRight
||
""
,
this
.
bodyIsOverflowing
&&
this
.
$body
.
css
(
"padding-right"
,
a
+
this
.
scrollbarWidth
)},
c
.
prototype
.
resetScrollbar
=
function
(){
this
.
$body
.
css
(
"padding-right"
,
this
.
originalBodyPad
)},
c
.
prototype
.
measureScrollbar
=
function
(){
var
a
=
document
.
createElement
(
"div"
);
a
.
className
=
"modal-scrollbar-measure"
,
this
.
$body
.
append
(
a
);
var
b
=
a
.
offsetWidth
-
a
.
clientWidth
;
return
this
.
$body
[
0
].
removeChild
(
a
),
b
};
var
d
=
a
.
fn
.
modal
;
a
.
fn
.
modal
=
b
,
a
.
fn
.
modal
.
Constructor
=
c
,
a
.
fn
.
modal
.
noConflict
=
function
(){
return
a
.
fn
.
modal
=
d
,
this
},
a
(
document
).
on
(
"click.bs.modal.data-api"
,
'[data-toggle="modal"]'
,
function
(
c
){
var
d
=
a
(
this
),
e
=
d
.
attr
(
"href"
),
f
=
a
(
d
.
attr
(
"data-target"
)
||
e
&&
e
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
g
=
f
.
data
(
"bs.modal"
)?
"toggle"
:
a
.
extend
({
remote
:
!
/#/
.
test
(
e
)
&&
e
},
f
.
data
(),
d
.
data
());
d
.
is
(
"a"
)
&&
c
.
preventDefault
(),
f
.
one
(
"show.bs.modal"
,
function
(
a
){
a
.
isDefaultPrevented
()
||
f
.
one
(
"hidden.bs.modal"
,
function
(){
d
.
is
(
":visible"
)
&&
d
.
trigger
(
"focus"
)})}),
b
.
call
(
f
,
g
,
this
)})}(
jQuery
),
+
function
(
a
){
"use strict"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.tooltip"
),
f
=
"object"
==
typeof
b
&&
b
;(
e
||!
/destroy|hide/
.
test
(
b
))
&&
(
e
||
d
.
data
(
"bs.tooltip"
,
e
=
new
c
(
this
,
f
)),
"string"
==
typeof
b
&&
e
[
b
]())})}
var
c
=
function
(
a
,
b
){
this
.
type
=
null
,
this
.
options
=
null
,
this
.
enabled
=
null
,
this
.
timeout
=
null
,
this
.
hoverState
=
null
,
this
.
$element
=
null
,
this
.
inState
=
null
,
this
.
init
(
"tooltip"
,
a
,
b
)};
c
.
VERSION
=
"3.3.5"
,
c
.
TRANSITION_DURATION
=
150
,
c
.
DEFAULTS
=
{
animation
:
!
0
,
placement
:
"top"
,
selector
:
!
1
,
template
:
'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
,
trigger
:
"hover focus"
,
title
:
""
,
delay
:
0
,
html
:
!
1
,
container
:
!
1
,
viewport
:{
selector
:
"body"
,
padding
:
0
}},
c
.
prototype
.
init
=
function
(
b
,
c
,
d
){
if
(
this
.
enabled
=!
0
,
this
.
type
=
b
,
this
.
$element
=
a
(
c
),
this
.
options
=
this
.
getOptions
(
d
),
this
.
$viewport
=
this
.
options
.
viewport
&&
a
(
a
.
isFunction
(
this
.
options
.
viewport
)?
this
.
options
.
viewport
.
call
(
this
,
this
.
$element
):
this
.
options
.
viewport
.
selector
||
this
.
options
.
viewport
),
this
.
inState
=
{
click
:
!
1
,
hover
:
!
1
,
focus
:
!
1
},
this
.
$element
[
0
]
instanceof
document
.
constructor
&&!
this
.
options
.
selector
)
throw
new
Error
(
"`selector` option must be specified when initializing "
+
this
.
type
+
" on the window.document object!"
);
for
(
var
e
=
this
.
options
.
trigger
.
split
(
" "
),
f
=
e
.
length
;
f
--
;){
var
g
=
e
[
f
];
if
(
"click"
==
g
)
this
.
$element
.
on
(
"click."
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
toggle
,
this
));
else
if
(
"manual"
!=
g
){
var
h
=
"hover"
==
g
?
"mouseenter"
:
"focusin"
,
i
=
"hover"
==
g
?
"mouseleave"
:
"focusout"
;
this
.
$element
.
on
(
h
+
"."
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
enter
,
this
)),
this
.
$element
.
on
(
i
+
"."
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
leave
,
this
))}}
this
.
options
.
selector
?
this
.
_options
=
a
.
extend
({},
this
.
options
,{
trigger
:
"manual"
,
selector
:
""
}):
this
.
fixTitle
()},
c
.
prototype
.
getDefaults
=
function
(){
return
c
.
DEFAULTS
},
c
.
prototype
.
getOptions
=
function
(
b
){
return
b
=
a
.
extend
({},
this
.
getDefaults
(),
this
.
$element
.
data
(),
b
),
b
.
delay
&&
"number"
==
typeof
b
.
delay
&&
(
b
.
delay
=
{
show
:
b
.
delay
,
hide
:
b
.
delay
}),
b
},
c
.
prototype
.
getDelegateOptions
=
function
(){
var
b
=
{},
c
=
this
.
getDefaults
();
return
this
.
_options
&&
a
.
each
(
this
.
_options
,
function
(
a
,
d
){
c
[
a
]
!=
d
&&
(
b
[
a
]
=
d
)}),
b
},
c
.
prototype
.
enter
=
function
(
b
){
var
c
=
b
instanceof
this
.
constructor
?
b
:
a
(
b
.
currentTarget
).
data
(
"bs."
+
this
.
type
);
return
c
||
(
c
=
new
this
.
constructor
(
b
.
currentTarget
,
this
.
getDelegateOptions
()),
a
(
b
.
currentTarget
).
data
(
"bs."
+
this
.
type
,
c
)),
b
instanceof
a
.
Event
&&
(
c
.
inState
[
"focusin"
==
b
.
type
?
"focus"
:
"hover"
]
=!
0
),
c
.
tip
().
hasClass
(
"in"
)
||
"in"
==
c
.
hoverState
?
void
(
c
.
hoverState
=
"in"
):(
clearTimeout
(
c
.
timeout
),
c
.
hoverState
=
"in"
,
c
.
options
.
delay
&&
c
.
options
.
delay
.
show
?
void
(
c
.
timeout
=
setTimeout
(
function
(){
"in"
==
c
.
hoverState
&&
c
.
show
()},
c
.
options
.
delay
.
show
)):
c
.
show
())},
c
.
prototype
.
isInStateTrue
=
function
(){
for
(
var
a
in
this
.
inState
)
if
(
this
.
inState
[
a
])
return
!
0
;
return
!
1
},
c
.
prototype
.
leave
=
function
(
b
){
var
c
=
b
instanceof
this
.
constructor
?
b
:
a
(
b
.
currentTarget
).
data
(
"bs."
+
this
.
type
);
return
c
||
(
c
=
new
this
.
constructor
(
b
.
currentTarget
,
this
.
getDelegateOptions
()),
a
(
b
.
currentTarget
).
data
(
"bs."
+
this
.
type
,
c
)),
b
instanceof
a
.
Event
&&
(
c
.
inState
[
"focusout"
==
b
.
type
?
"focus"
:
"hover"
]
=!
1
),
c
.
isInStateTrue
()?
void
0
:(
clearTimeout
(
c
.
timeout
),
c
.
hoverState
=
"out"
,
c
.
options
.
delay
&&
c
.
options
.
delay
.
hide
?
void
(
c
.
timeout
=
setTimeout
(
function
(){
"out"
==
c
.
hoverState
&&
c
.
hide
()},
c
.
options
.
delay
.
hide
)):
c
.
hide
())},
c
.
prototype
.
show
=
function
(){
var
b
=
a
.
Event
(
"show.bs."
+
this
.
type
);
if
(
this
.
hasContent
()
&&
this
.
enabled
){
this
.
$element
.
trigger
(
b
);
var
d
=
a
.
contains
(
this
.
$element
[
0
].
ownerDocument
.
documentElement
,
this
.
$element
[
0
]);
if
(
b
.
isDefaultPrevented
()
||!
d
)
return
;
var
e
=
this
,
f
=
this
.
tip
(),
g
=
this
.
getUID
(
this
.
type
);
this
.
setContent
(),
f
.
attr
(
"id"
,
g
),
this
.
$element
.
attr
(
"aria-describedby"
,
g
),
this
.
options
.
animation
&&
f
.
addClass
(
"fade"
);
var
h
=
"function"
==
typeof
this
.
options
.
placement
?
this
.
options
.
placement
.
call
(
this
,
f
[
0
],
this
.
$element
[
0
]):
this
.
options
.
placement
,
i
=
/
\s?
auto
?\s?
/i
,
j
=
i
.
test
(
h
);
j
&&
(
h
=
h
.
replace
(
i
,
""
)
||
"top"
),
f
.
detach
().
css
({
top
:
0
,
left
:
0
,
display
:
"block"
}).
addClass
(
h
).
data
(
"bs."
+
this
.
type
,
this
),
this
.
options
.
container
?
f
.
appendTo
(
this
.
options
.
container
):
f
.
insertAfter
(
this
.
$element
),
this
.
$element
.
trigger
(
"inserted.bs."
+
this
.
type
);
var
k
=
this
.
getPosition
(),
l
=
f
[
0
].
offsetWidth
,
m
=
f
[
0
].
offsetHeight
;
if
(
j
){
var
n
=
h
,
o
=
this
.
getPosition
(
this
.
$viewport
);
h
=
"bottom"
==
h
&&
k
.
bottom
+
m
>
o
.
bottom
?
"top"
:
"top"
==
h
&&
k
.
top
-
m
<
o
.
top
?
"bottom"
:
"right"
==
h
&&
k
.
right
+
l
>
o
.
width
?
"left"
:
"left"
==
h
&&
k
.
left
-
l
<
o
.
left
?
"right"
:
h
,
f
.
removeClass
(
n
).
addClass
(
h
)}
var
p
=
this
.
getCalculatedOffset
(
h
,
k
,
l
,
m
);
this
.
applyPlacement
(
p
,
h
);
var
q
=
function
(){
var
a
=
e
.
hoverState
;
e
.
$element
.
trigger
(
"shown.bs."
+
e
.
type
),
e
.
hoverState
=
null
,
"out"
==
a
&&
e
.
leave
(
e
)};
a
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
"fade"
)?
f
.
one
(
"bsTransitionEnd"
,
q
).
emulateTransitionEnd
(
c
.
TRANSITION_DURATION
):
q
()}},
c
.
prototype
.
applyPlacement
=
function
(
b
,
c
){
var
d
=
this
.
tip
(),
e
=
d
[
0
].
offsetWidth
,
f
=
d
[
0
].
offsetHeight
,
g
=
parseInt
(
d
.
css
(
"margin-top"
),
10
),
h
=
parseInt
(
d
.
css
(
"margin-left"
),
10
);
isNaN
(
g
)
&&
(
g
=
0
),
isNaN
(
h
)
&&
(
h
=
0
),
b
.
top
+=
g
,
b
.
left
+=
h
,
a
.
offset
.
setOffset
(
d
[
0
],
a
.
extend
({
using
:
function
(
a
){
d
.
css
({
top
:
Math
.
round
(
a
.
top
),
left
:
Math
.
round
(
a
.
left
)})}},
b
),
0
),
d
.
addClass
(
"in"
);
var
i
=
d
[
0
].
offsetWidth
,
j
=
d
[
0
].
offsetHeight
;
"top"
==
c
&&
j
!=
f
&&
(
b
.
top
=
b
.
top
+
f
-
j
);
var
k
=
this
.
getViewportAdjustedDelta
(
c
,
b
,
i
,
j
);
k
.
left
?
b
.
left
+=
k
.
left
:
b
.
top
+=
k
.
top
;
var
l
=
/top|bottom/
.
test
(
c
),
m
=
l
?
2
*
k
.
left
-
e
+
i
:
2
*
k
.
top
-
f
+
j
,
n
=
l
?
"offsetWidth"
:
"offsetHeight"
;
d
.
offset
(
b
),
this
.
replaceArrow
(
m
,
d
[
0
][
n
],
l
)},
c
.
prototype
.
replaceArrow
=
function
(
a
,
b
,
c
){
this
.
arrow
().
css
(
c
?
"left"
:
"top"
,
50
*
(
1
-
a
/
b
)
+
"%"
).
css
(
c
?
"top"
:
"left"
,
""
)},
c
.
prototype
.
setContent
=
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
();
a
.
find
(
".tooltip-inner"
)[
this
.
options
.
html
?
"html"
:
"text"
](
b
),
a
.
removeClass
(
"fade in top bottom left right"
)},
c
.
prototype
.
hide
=
function
(
b
){
function
d
(){
"in"
!=
e
.
hoverState
&&
f
.
detach
(),
e
.
$element
.
removeAttr
(
"aria-describedby"
).
trigger
(
"hidden.bs."
+
e
.
type
),
b
&&
b
()}
var
e
=
this
,
f
=
a
(
this
.
$tip
),
g
=
a
.
Event
(
"hide.bs."
+
this
.
type
);
return
this
.
$element
.
trigger
(
g
),
g
.
isDefaultPrevented
()?
void
0
:(
f
.
removeClass
(
"in"
),
a
.
support
.
transition
&&
f
.
hasClass
(
"fade"
)?
f
.
one
(
"bsTransitionEnd"
,
d
).
emulateTransitionEnd
(
c
.
TRANSITION_DURATION
):
d
(),
this
.
hoverState
=
null
,
this
)},
c
.
prototype
.
fixTitle
=
function
(){
var
a
=
this
.
$element
;(
a
.
attr
(
"title"
)
||
"string"
!=
typeof
a
.
attr
(
"data-original-title"
))
&&
a
.
attr
(
"data-original-title"
,
a
.
attr
(
"title"
)
||
""
).
attr
(
"title"
,
""
)},
c
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()},
c
.
prototype
.
getPosition
=
function
(
b
){
b
=
b
||
this
.
$element
;
var
c
=
b
[
0
],
d
=
"BODY"
==
c
.
tagName
,
e
=
c
.
getBoundingClientRect
();
null
==
e
.
width
&&
(
e
=
a
.
extend
({},
e
,{
width
:
e
.
right
-
e
.
left
,
height
:
e
.
bottom
-
e
.
top
}));
var
f
=
d
?{
top
:
0
,
left
:
0
}:
b
.
offset
(),
g
=
{
scroll
:
d
?
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
:
b
.
scrollTop
()},
h
=
d
?{
width
:
a
(
window
).
width
(),
height
:
a
(
window
).
height
()}:
null
;
return
a
.
extend
({},
e
,
g
,
h
,
f
)},
c
.
prototype
.
getCalculatedOffset
=
function
(
a
,
b
,
c
,
d
){
return
"bottom"
==
a
?{
top
:
b
.
top
+
b
.
height
,
left
:
b
.
left
+
b
.
width
/
2
-
c
/
2
}:
"top"
==
a
?{
top
:
b
.
top
-
d
,
left
:
b
.
left
+
b
.
width
/
2
-
c
/
2
}:
"left"
==
a
?{
top
:
b
.
top
+
b
.
height
/
2
-
d
/
2
,
left
:
b
.
left
-
c
}:{
top
:
b
.
top
+
b
.
height
/
2
-
d
/
2
,
left
:
b
.
left
+
b
.
width
}},
c
.
prototype
.
getViewportAdjustedDelta
=
function
(
a
,
b
,
c
,
d
){
var
e
=
{
top
:
0
,
left
:
0
};
if
(
!
this
.
$viewport
)
return
e
;
var
f
=
this
.
options
.
viewport
&&
this
.
options
.
viewport
.
padding
||
0
,
g
=
this
.
getPosition
(
this
.
$viewport
);
if
(
/right|left/
.
test
(
a
)){
var
h
=
b
.
top
-
f
-
g
.
scroll
,
i
=
b
.
top
+
f
-
g
.
scroll
+
d
;
h
<
g
.
top
?
e
.
top
=
g
.
top
-
h
:
i
>
g
.
top
+
g
.
height
&&
(
e
.
top
=
g
.
top
+
g
.
height
-
i
)}
else
{
var
j
=
b
.
left
-
f
,
k
=
b
.
left
+
f
+
c
;
j
<
g
.
left
?
e
.
left
=
g
.
left
-
j
:
k
>
g
.
right
&&
(
e
.
left
=
g
.
left
+
g
.
width
-
k
)}
return
e
},
c
.
prototype
.
getTitle
=
function
(){
var
a
,
b
=
this
.
$element
,
c
=
this
.
options
;
return
a
=
b
.
attr
(
"data-original-title"
)
||
(
"function"
==
typeof
c
.
title
?
c
.
title
.
call
(
b
[
0
]):
c
.
title
)},
c
.
prototype
.
getUID
=
function
(
a
){
do
a
+=~~
(
1
e6
*
Math
.
random
());
while
(
document
.
getElementById
(
a
));
return
a
},
c
.
prototype
.
tip
=
function
(){
if
(
!
this
.
$tip
&&
(
this
.
$tip
=
a
(
this
.
options
.
template
),
1
!=
this
.
$tip
.
length
))
throw
new
Error
(
this
.
type
+
" `template` option must consist of exactly 1 top-level element!"
);
return
this
.
$tip
},
c
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
".tooltip-arrow"
)},
c
.
prototype
.
enable
=
function
(){
this
.
enabled
=!
0
},
c
.
prototype
.
disable
=
function
(){
this
.
enabled
=!
1
},
c
.
prototype
.
toggleEnabled
=
function
(){
this
.
enabled
=!
this
.
enabled
},
c
.
prototype
.
toggle
=
function
(
b
){
var
c
=
this
;
b
&&
(
c
=
a
(
b
.
currentTarget
).
data
(
"bs."
+
this
.
type
),
c
||
(
c
=
new
this
.
constructor
(
b
.
currentTarget
,
this
.
getDelegateOptions
()),
a
(
b
.
currentTarget
).
data
(
"bs."
+
this
.
type
,
c
))),
b
?(
c
.
inState
.
click
=!
c
.
inState
.
click
,
c
.
isInStateTrue
()?
c
.
enter
(
c
):
c
.
leave
(
c
)):
c
.
tip
().
hasClass
(
"in"
)?
c
.
leave
(
c
):
c
.
enter
(
c
)},
c
.
prototype
.
destroy
=
function
(){
var
a
=
this
;
clearTimeout
(
this
.
timeout
),
this
.
hide
(
function
(){
a
.
$element
.
off
(
"."
+
a
.
type
).
removeData
(
"bs."
+
a
.
type
),
a
.
$tip
&&
a
.
$tip
.
detach
(),
a
.
$tip
=
null
,
a
.
$arrow
=
null
,
a
.
$viewport
=
null
})};
var
d
=
a
.
fn
.
tooltip
;
a
.
fn
.
tooltip
=
b
,
a
.
fn
.
tooltip
.
Constructor
=
c
,
a
.
fn
.
tooltip
.
noConflict
=
function
(){
return
a
.
fn
.
tooltip
=
d
,
this
}}(
jQuery
),
+
function
(
a
){
"use strict"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.popover"
),
f
=
"object"
==
typeof
b
&&
b
;(
e
||!
/destroy|hide/
.
test
(
b
))
&&
(
e
||
d
.
data
(
"bs.popover"
,
e
=
new
c
(
this
,
f
)),
"string"
==
typeof
b
&&
e
[
b
]())})}
var
c
=
function
(
a
,
b
){
this
.
init
(
"popover"
,
a
,
b
)};
if
(
!
a
.
fn
.
tooltip
)
throw
new
Error
(
"Popover requires tooltip.js"
);
c
.
VERSION
=
"3.3.5"
,
c
.
DEFAULTS
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
DEFAULTS
,{
placement
:
"right"
,
trigger
:
"click"
,
content
:
""
,
template
:
'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
}),
c
.
prototype
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
prototype
),
c
.
prototype
.
constructor
=
c
,
c
.
prototype
.
getDefaults
=
function
(){
return
c
.
DEFAULTS
},
c
.
prototype
.
setContent
=
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
(),
c
=
this
.
getContent
();
a
.
find
(
".popover-title"
)[
this
.
options
.
html
?
"html"
:
"text"
](
b
),
a
.
find
(
".popover-content"
).
children
().
detach
().
end
()[
this
.
options
.
html
?
"string"
==
typeof
c
?
"html"
:
"append"
:
"text"
](
c
),
a
.
removeClass
(
"fade top bottom left right in"
),
a
.
find
(
".popover-title"
).
html
()
||
a
.
find
(
".popover-title"
).
hide
()},
c
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()
||
this
.
getContent
()},
c
.
prototype
.
getContent
=
function
(){
var
a
=
this
.
$element
,
b
=
this
.
options
;
return
a
.
attr
(
"data-content"
)
||
(
"function"
==
typeof
b
.
content
?
b
.
content
.
call
(
a
[
0
]):
b
.
content
)},
c
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
".arrow"
)};
var
d
=
a
.
fn
.
popover
;
a
.
fn
.
popover
=
b
,
a
.
fn
.
popover
.
Constructor
=
c
,
a
.
fn
.
popover
.
noConflict
=
function
(){
return
a
.
fn
.
popover
=
d
,
this
}}(
jQuery
),
+
function
(
a
){
"use strict"
;
function
b
(
c
,
d
){
this
.
$body
=
a
(
document
.
body
),
this
.
$scrollElement
=
a
(
a
(
c
).
is
(
document
.
body
)?
window
:
c
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
selector
=
(
this
.
options
.
target
||
""
)
+
" .nav li > a"
,
this
.
offsets
=
[],
this
.
targets
=
[],
this
.
activeTarget
=
null
,
this
.
scrollHeight
=
0
,
this
.
$scrollElement
.
on
(
"scroll.bs.scrollspy"
,
a
.
proxy
(
this
.
process
,
this
)),
this
.
refresh
(),
this
.
process
()}
function
c
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.scrollspy"
),
f
=
"object"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"bs.scrollspy"
,
e
=
new
b
(
this
,
f
)),
"string"
==
typeof
c
&&
e
[
c
]()})}
b
.
VERSION
=
"3.3.5"
,
b
.
DEFAULTS
=
{
offset
:
10
},
b
.
prototype
.
getScrollHeight
=
function
(){
return
this
.
$scrollElement
[
0
].
scrollHeight
||
Math
.
max
(
this
.
$body
[
0
].
scrollHeight
,
document
.
documentElement
.
scrollHeight
)},
b
.
prototype
.
refresh
=
function
(){
var
b
=
this
,
c
=
"offset"
,
d
=
0
;
this
.
offsets
=
[],
this
.
targets
=
[],
this
.
scrollHeight
=
this
.
getScrollHeight
(),
a
.
isWindow
(
this
.
$scrollElement
[
0
])
||
(
c
=
"position"
,
d
=
this
.
$scrollElement
.
scrollTop
()),
this
.
$body
.
find
(
this
.
selector
).
map
(
function
(){
var
b
=
a
(
this
),
e
=
b
.
data
(
"target"
)
||
b
.
attr
(
"href"
),
f
=
/^#./
.
test
(
e
)
&&
a
(
e
);
return
f
&&
f
.
length
&&
f
.
is
(
":visible"
)
&&
[[
f
[
c
]().
top
+
d
,
e
]]
||
null
}).
sort
(
function
(
a
,
b
){
return
a
[
0
]
-
b
[
0
]}).
each
(
function
(){
b
.
offsets
.
push
(
this
[
0
]),
b
.
targets
.
push
(
this
[
1
])})},
b
.
prototype
.
process
=
function
(){
var
a
,
b
=
this
.
$scrollElement
.
scrollTop
()
+
this
.
options
.
offset
,
c
=
this
.
getScrollHeight
(),
d
=
this
.
options
.
offset
+
c
-
this
.
$scrollElement
.
height
(),
e
=
this
.
offsets
,
f
=
this
.
targets
,
g
=
this
.
activeTarget
;
if
(
this
.
scrollHeight
!=
c
&&
this
.
refresh
(),
b
>=
d
)
return
g
!=
(
a
=
f
[
f
.
length
-
1
])
&&
this
.
activate
(
a
);
if
(
g
&&
b
<
e
[
0
])
return
this
.
activeTarget
=
null
,
this
.
clear
();
for
(
a
=
e
.
length
;
a
--
;)
g
!=
f
[
a
]
&&
b
>=
e
[
a
]
&&
(
void
0
===
e
[
a
+
1
]
||
b
<
e
[
a
+
1
])
&&
this
.
activate
(
f
[
a
])},
b
.
prototype
.
activate
=
function
(
b
){
this
.
activeTarget
=
b
,
this
.
clear
();
var
c
=
this
.
selector
+
'[data-target="'
+
b
+
'"],'
+
this
.
selector
+
'[href="'
+
b
+
'"]'
,
d
=
a
(
c
).
parents
(
"li"
).
addClass
(
"active"
);
d
.
parent
(
".dropdown-menu"
).
length
&&
(
d
=
d
.
closest
(
"li.dropdown"
).
addClass
(
"active"
)),
/*!
d
.
trigger
(
"activate.bs.scrollspy"
)},
b
.
prototype
.
clear
=
function
(){
a
(
this
.
selector
).
parentsUntil
(
this
.
options
.
target
,
".active"
).
removeClass
(
"active"
)};
var
d
=
a
.
fn
.
scrollspy
;
a
.
fn
.
scrollspy
=
c
,
a
.
fn
.
scrollspy
.
Constructor
=
b
,
a
.
fn
.
scrollspy
.
noConflict
=
function
(){
return
a
.
fn
.
scrollspy
=
d
,
this
},
a
(
window
).
on
(
"load.bs.scrollspy.data-api"
,
function
(){
a
(
'[data-spy="scroll"]'
).
each
(
function
(){
var
b
=
a
(
this
);
c
.
call
(
b
,
b
.
data
())})})}(
jQuery
),
+
function
(
a
){
"use strict"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.tab"
);
e
||
d
.
data
(
"bs.tab"
,
e
=
new
c
(
this
)),
"string"
==
typeof
b
&&
e
[
b
]()})}
var
c
=
function
(
b
){
this
.
element
=
a
(
b
)};
c
.
VERSION
=
"3.3.5"
,
c
.
TRANSITION_DURATION
=
150
,
c
.
prototype
.
show
=
function
(){
var
b
=
this
.
element
,
c
=
b
.
closest
(
"ul:not(.dropdown-menu)"
),
d
=
b
.
data
(
"target"
);
if
(
d
||
(
d
=
b
.
attr
(
"href"
),
d
=
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
)),
!
b
.
parent
(
"li"
).
hasClass
(
"active"
)){
var
e
=
c
.
find
(
".active:last a"
),
f
=
a
.
Event
(
"hide.bs.tab"
,{
relatedTarget
:
b
[
0
]}),
g
=
a
.
Event
(
"show.bs.tab"
,{
relatedTarget
:
e
[
0
]});
if
(
e
.
trigger
(
f
),
b
.
trigger
(
g
),
!
g
.
isDefaultPrevented
()
&&!
f
.
isDefaultPrevented
()){
var
h
=
a
(
d
);
this
.
activate
(
b
.
closest
(
"li"
),
c
),
this
.
activate
(
h
,
h
.
parent
(),
function
(){
e
.
trigger
({
type
:
"hidden.bs.tab"
,
relatedTarget
:
b
[
0
]}),
b
.
trigger
({
type
:
"shown.bs.tab"
,
relatedTarget
:
e
[
0
]})})}}},
c
.
prototype
.
activate
=
function
(
b
,
d
,
e
){
function
f
(){
g
.
removeClass
(
"active"
).
find
(
"> .dropdown-menu > .active"
).
removeClass
(
"active"
).
end
().
find
(
'[data-toggle="tab"]'
).
attr
(
"aria-expanded"
,
!
1
),
b
.
addClass
(
"active"
).
find
(
'[data-toggle="tab"]'
).
attr
(
"aria-expanded"
,
!
0
),
h
?(
b
[
0
].
offsetWidth
,
b
.
addClass
(
"in"
)):
b
.
removeClass
(
"fade"
),
b
.
parent
(
".dropdown-menu"
).
length
&&
b
.
closest
(
"li.dropdown"
).
addClass
(
"active"
).
end
().
find
(
'[data-toggle="tab"]'
).
attr
(
"aria-expanded"
,
!
0
),
e
&&
e
()}
var
g
=
d
.
find
(
"> .active"
),
h
=
e
&&
a
.
support
.
transition
&&
(
g
.
length
&&
g
.
hasClass
(
"fade"
)
||!!
d
.
find
(
"> .fade"
).
length
);
g
.
length
&&
h
?
g
.
one
(
"bsTransitionEnd"
,
f
).
emulateTransitionEnd
(
c
.
TRANSITION_DURATION
):
f
(),
g
.
removeClass
(
"in"
)};
var
d
=
a
.
fn
.
tab
;
a
.
fn
.
tab
=
b
,
a
.
fn
.
tab
.
Constructor
=
c
,
a
.
fn
.
tab
.
noConflict
=
function
(){
return
a
.
fn
.
tab
=
d
,
this
};
var
e
=
function
(
c
){
c
.
preventDefault
(),
b
.
call
(
a
(
this
),
"show"
)};
a
(
document
).
on
(
"click.bs.tab.data-api"
,
'[data-toggle="tab"]'
,
e
).
on
(
"click.bs.tab.data-api"
,
'[data-toggle="pill"]'
,
e
)}(
jQuery
),
+
function
(
a
){
"use strict"
;
function
b
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"bs.affix"
),
f
=
"object"
==
typeof
b
&&
b
;
e
||
d
.
data
(
"bs.affix"
,
e
=
new
c
(
this
,
f
)),
"string"
==
typeof
b
&&
e
[
b
]()})}
var
c
=
function
(
b
,
d
){
this
.
options
=
a
.
extend
({},
c
.
DEFAULTS
,
d
),
this
.
$target
=
a
(
this
.
options
.
target
).
on
(
"scroll.bs.affix.data-api"
,
a
.
proxy
(
this
.
checkPosition
,
this
)).
on
(
"click.bs.affix.data-api"
,
a
.
proxy
(
this
.
checkPositionWithEventLoop
,
this
)),
this
.
$element
=
a
(
b
),
this
.
affixed
=
null
,
this
.
unpin
=
null
,
this
.
pinnedOffset
=
null
,
this
.
checkPosition
()};
c
.
VERSION
=
"3.3.5"
,
c
.
RESET
=
"affix affix-top affix-bottom"
,
c
.
DEFAULTS
=
{
offset
:
0
,
target
:
window
},
c
.
prototype
.
getState
=
function
(
a
,
b
,
c
,
d
){
var
e
=
this
.
$target
.
scrollTop
(),
f
=
this
.
$element
.
offset
(),
g
=
this
.
$target
.
height
();
if
(
null
!=
c
&&
"top"
==
this
.
affixed
)
return
c
>
e
?
"top"
:
!
1
;
if
(
"bottom"
==
this
.
affixed
)
return
null
!=
c
?
e
+
this
.
unpin
<=
f
.
top
?
!
1
:
"bottom"
:
a
-
d
>=
e
+
g
?
!
1
:
"bottom"
;
var
h
=
null
==
this
.
affixed
,
i
=
h
?
e
:
f
.
top
,
j
=
h
?
g
:
b
;
return
null
!=
c
&&
c
>=
e
?
"top"
:
null
!=
d
&&
i
+
j
>=
a
-
d
?
"bottom"
:
!
1
},
c
.
prototype
.
getPinnedOffset
=
function
(){
if
(
this
.
pinnedOffset
)
return
this
.
pinnedOffset
;
this
.
$element
.
removeClass
(
c
.
RESET
).
addClass
(
"affix"
);
var
a
=
this
.
$target
.
scrollTop
(),
b
=
this
.
$element
.
offset
();
return
this
.
pinnedOffset
=
b
.
top
-
a
},
c
.
prototype
.
checkPositionWithEventLoop
=
function
(){
setTimeout
(
a
.
proxy
(
this
.
checkPosition
,
this
),
1
)},
c
.
prototype
.
checkPosition
=
function
(){
if
(
this
.
$element
.
is
(
":visible"
)){
var
b
=
this
.
$element
.
height
(),
d
=
this
.
options
.
offset
,
e
=
d
.
top
,
f
=
d
.
bottom
,
g
=
Math
.
max
(
a
(
document
).
height
(),
a
(
document
.
body
).
height
());
"object"
!=
typeof
d
&&
(
f
=
e
=
d
),
"function"
==
typeof
e
&&
(
e
=
d
.
top
(
this
.
$element
)),
"function"
==
typeof
f
&&
(
f
=
d
.
bottom
(
this
.
$element
));
var
h
=
this
.
getState
(
g
,
b
,
e
,
f
);
if
(
this
.
affixed
!=
h
){
null
!=
this
.
unpin
&&
this
.
$element
.
css
(
"top"
,
""
);
var
i
=
"affix"
+
(
h
?
"-"
+
h
:
""
),
j
=
a
.
Event
(
i
+
".bs.affix"
);
if
(
this
.
$element
.
trigger
(
j
),
j
.
isDefaultPrevented
())
return
;
this
.
affixed
=
h
,
this
.
unpin
=
"bottom"
==
h
?
this
.
getPinnedOffset
():
null
,
this
.
$element
.
removeClass
(
c
.
RESET
).
addClass
(
i
).
trigger
(
i
.
replace
(
"affix"
,
"affixed"
)
+
".bs.affix"
)}
"bottom"
==
h
&&
this
.
$element
.
offset
({
top
:
g
-
b
-
f
})}};
var
d
=
a
.
fn
.
affix
;
a
.
fn
.
affix
=
b
,
a
.
fn
.
affix
.
Constructor
=
c
,
a
.
fn
.
affix
.
noConflict
=
function
(){
return
a
.
fn
.
affix
=
d
,
this
},
a
(
window
).
on
(
"load"
,
function
(){
a
(
'[data-spy="affix"]'
).
each
(
function
(){
var
c
=
a
(
this
),
d
=
c
.
data
();
d
.
offset
=
d
.
offset
||
{},
null
!=
d
.
offsetBottom
&&
(
d
.
offset
.
bottom
=
d
.
offsetBottom
),
null
!=
d
.
offsetTop
&&
(
d
.
offset
.
top
=
d
.
offsetTop
),
b
.
call
(
c
,
d
)})})}(
jQuery
);
* Generated using the Bootstrap Customizer (http://v3.bootcss.com/customize/?id=77eb5b80e2738ea76db2)
\ No newline at end of file
* Config saved to config.json and https://gist.github.com/77eb5b80e2738ea76db2
*/
if
(
"undefined"
==
typeof
jQuery
)
throw
new
Error
(
"Bootstrap's JavaScript requires jQuery"
);
+
function
(
t
){
"use strict"
;
var
e
=
t
.
fn
.
jquery
.
split
(
" "
)[
0
].
split
(
"."
);
if
(
e
[
0
]
<
2
&&
e
[
1
]
<
9
||
1
==
e
[
0
]
&&
9
==
e
[
1
]
&&
e
[
2
]
<
1
)
throw
new
Error
(
"Bootstrap's JavaScript requires jQuery version 1.9.1 or higher"
)}(
jQuery
),
+
function
(
t
){
"use strict"
;
function
e
(
e
,
o
){
return
this
.
each
(
function
(){
var
s
=
t
(
this
),
n
=
s
.
data
(
"bs.modal"
),
r
=
t
.
extend
({},
i
.
DEFAULTS
,
s
.
data
(),
"object"
==
typeof
e
&&
e
);
n
||
s
.
data
(
"bs.modal"
,
n
=
new
i
(
this
,
r
)),
"string"
==
typeof
e
?
n
[
e
](
o
):
r
.
show
&&
n
.
show
(
o
)})}
var
i
=
function
(
e
,
i
){
this
.
options
=
i
,
this
.
$body
=
t
(
document
.
body
),
this
.
$element
=
t
(
e
),
this
.
$dialog
=
this
.
$element
.
find
(
".modal-dialog"
),
this
.
$backdrop
=
null
,
this
.
isShown
=
null
,
this
.
originalBodyPad
=
null
,
this
.
scrollbarWidth
=
0
,
this
.
ignoreBackdropClick
=!
1
,
this
.
options
.
remote
&&
this
.
$element
.
find
(
".modal-content"
).
load
(
this
.
options
.
remote
,
t
.
proxy
(
function
(){
this
.
$element
.
trigger
(
"loaded.bs.modal"
)},
this
))};
i
.
VERSION
=
"3.3.5"
,
i
.
TRANSITION_DURATION
=
300
,
i
.
BACKDROP_TRANSITION_DURATION
=
150
,
i
.
DEFAULTS
=
{
backdrop
:
!
0
,
keyboard
:
!
0
,
show
:
!
0
},
i
.
prototype
.
toggle
=
function
(
t
){
return
this
.
isShown
?
this
.
hide
():
this
.
show
(
t
)},
i
.
prototype
.
show
=
function
(
e
){
var
o
=
this
,
s
=
t
.
Event
(
"show.bs.modal"
,{
relatedTarget
:
e
});
this
.
$element
.
trigger
(
s
),
this
.
isShown
||
s
.
isDefaultPrevented
()
||
(
this
.
isShown
=!
0
,
this
.
checkScrollbar
(),
this
.
setScrollbar
(),
this
.
$body
.
addClass
(
"modal-open"
),
this
.
escape
(),
this
.
resize
(),
this
.
$element
.
on
(
"click.dismiss.bs.modal"
,
'[data-dismiss="modal"]'
,
t
.
proxy
(
this
.
hide
,
this
)),
this
.
$dialog
.
on
(
"mousedown.dismiss.bs.modal"
,
function
(){
o
.
$element
.
one
(
"mouseup.dismiss.bs.modal"
,
function
(
e
){
t
(
e
.
target
).
is
(
o
.
$element
)
&&
(
o
.
ignoreBackdropClick
=!
0
)})}),
this
.
backdrop
(
function
(){
var
s
=
t
.
support
.
transition
&&
o
.
$element
.
hasClass
(
"fade"
);
o
.
$element
.
parent
().
length
||
o
.
$element
.
appendTo
(
o
.
$body
),
o
.
$element
.
show
().
scrollTop
(
0
),
o
.
adjustDialog
(),
s
&&
o
.
$element
[
0
].
offsetWidth
,
o
.
$element
.
addClass
(
"in"
),
o
.
enforceFocus
();
var
n
=
t
.
Event
(
"shown.bs.modal"
,{
relatedTarget
:
e
});
s
?
o
.
$dialog
.
one
(
"bsTransitionEnd"
,
function
(){
o
.
$element
.
trigger
(
"focus"
).
trigger
(
n
)}).
emulateTransitionEnd
(
i
.
TRANSITION_DURATION
):
o
.
$element
.
trigger
(
"focus"
).
trigger
(
n
)}))},
i
.
prototype
.
hide
=
function
(
e
){
e
&&
e
.
preventDefault
(),
e
=
t
.
Event
(
"hide.bs.modal"
),
this
.
$element
.
trigger
(
e
),
this
.
isShown
&&!
e
.
isDefaultPrevented
()
&&
(
this
.
isShown
=!
1
,
this
.
escape
(),
this
.
resize
(),
t
(
document
).
off
(
"focusin.bs.modal"
),
this
.
$element
.
removeClass
(
"in"
).
off
(
"click.dismiss.bs.modal"
).
off
(
"mouseup.dismiss.bs.modal"
),
this
.
$dialog
.
off
(
"mousedown.dismiss.bs.modal"
),
t
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"fade"
)?
this
.
$element
.
one
(
"bsTransitionEnd"
,
t
.
proxy
(
this
.
hideModal
,
this
)).
emulateTransitionEnd
(
i
.
TRANSITION_DURATION
):
this
.
hideModal
())},
i
.
prototype
.
enforceFocus
=
function
(){
t
(
document
).
off
(
"focusin.bs.modal"
).
on
(
"focusin.bs.modal"
,
t
.
proxy
(
function
(
t
){
this
.
$element
[
0
]
===
t
.
target
||
this
.
$element
.
has
(
t
.
target
).
length
||
this
.
$element
.
trigger
(
"focus"
)},
this
))},
i
.
prototype
.
escape
=
function
(){
this
.
isShown
&&
this
.
options
.
keyboard
?
this
.
$element
.
on
(
"keydown.dismiss.bs.modal"
,
t
.
proxy
(
function
(
t
){
27
==
t
.
which
&&
this
.
hide
()},
this
)):
this
.
isShown
||
this
.
$element
.
off
(
"keydown.dismiss.bs.modal"
)},
i
.
prototype
.
resize
=
function
(){
this
.
isShown
?
t
(
window
).
on
(
"resize.bs.modal"
,
t
.
proxy
(
this
.
handleUpdate
,
this
)):
t
(
window
).
off
(
"resize.bs.modal"
)},
i
.
prototype
.
hideModal
=
function
(){
var
t
=
this
;
this
.
$element
.
hide
(),
this
.
backdrop
(
function
(){
t
.
$body
.
removeClass
(
"modal-open"
),
t
.
resetAdjustments
(),
t
.
resetScrollbar
(),
t
.
$element
.
trigger
(
"hidden.bs.modal"
)})},
i
.
prototype
.
removeBackdrop
=
function
(){
this
.
$backdrop
&&
this
.
$backdrop
.
remove
(),
this
.
$backdrop
=
null
},
i
.
prototype
.
backdrop
=
function
(
e
){
var
o
=
this
,
s
=
this
.
$element
.
hasClass
(
"fade"
)?
"fade"
:
""
;
if
(
this
.
isShown
&&
this
.
options
.
backdrop
){
var
n
=
t
.
support
.
transition
&&
s
;
if
(
this
.
$backdrop
=
t
(
document
.
createElement
(
"div"
)).
addClass
(
"modal-backdrop "
+
s
).
appendTo
(
this
.
$body
),
this
.
$element
.
on
(
"click.dismiss.bs.modal"
,
t
.
proxy
(
function
(
t
){
return
this
.
ignoreBackdropClick
?
void
(
this
.
ignoreBackdropClick
=!
1
):
void
(
t
.
target
===
t
.
currentTarget
&&
(
"static"
==
this
.
options
.
backdrop
?
this
.
$element
[
0
].
focus
():
this
.
hide
()))},
this
)),
n
&&
this
.
$backdrop
[
0
].
offsetWidth
,
this
.
$backdrop
.
addClass
(
"in"
),
!
e
)
return
;
n
?
this
.
$backdrop
.
one
(
"bsTransitionEnd"
,
e
).
emulateTransitionEnd
(
i
.
BACKDROP_TRANSITION_DURATION
):
e
()}
else
if
(
!
this
.
isShown
&&
this
.
$backdrop
){
this
.
$backdrop
.
removeClass
(
"in"
);
var
r
=
function
(){
o
.
removeBackdrop
(),
e
&&
e
()};
t
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"fade"
)?
this
.
$backdrop
.
one
(
"bsTransitionEnd"
,
r
).
emulateTransitionEnd
(
i
.
BACKDROP_TRANSITION_DURATION
):
r
()}
else
e
&&
e
()},
i
.
prototype
.
handleUpdate
=
function
(){
this
.
adjustDialog
()},
i
.
prototype
.
adjustDialog
=
function
(){
var
t
=
this
.
$element
[
0
].
scrollHeight
>
document
.
documentElement
.
clientHeight
;
this
.
$element
.
css
({
paddingLeft
:
!
this
.
bodyIsOverflowing
&&
t
?
this
.
scrollbarWidth
:
""
,
paddingRight
:
this
.
bodyIsOverflowing
&&!
t
?
this
.
scrollbarWidth
:
""
})},
i
.
prototype
.
resetAdjustments
=
function
(){
this
.
$element
.
css
({
paddingLeft
:
""
,
paddingRight
:
""
})},
i
.
prototype
.
checkScrollbar
=
function
(){
var
t
=
window
.
innerWidth
;
if
(
!
t
){
var
e
=
document
.
documentElement
.
getBoundingClientRect
();
t
=
e
.
right
-
Math
.
abs
(
e
.
left
)}
this
.
bodyIsOverflowing
=
document
.
body
.
clientWidth
<
t
,
this
.
scrollbarWidth
=
this
.
measureScrollbar
()},
i
.
prototype
.
setScrollbar
=
function
(){
var
t
=
parseInt
(
this
.
$body
.
css
(
"padding-right"
)
||
0
,
10
);
this
.
originalBodyPad
=
document
.
body
.
style
.
paddingRight
||
""
,
this
.
bodyIsOverflowing
&&
this
.
$body
.
css
(
"padding-right"
,
t
+
this
.
scrollbarWidth
)},
i
.
prototype
.
resetScrollbar
=
function
(){
this
.
$body
.
css
(
"padding-right"
,
this
.
originalBodyPad
)},
i
.
prototype
.
measureScrollbar
=
function
(){
var
t
=
document
.
createElement
(
"div"
);
t
.
className
=
"modal-scrollbar-measure"
,
this
.
$body
.
append
(
t
);
var
e
=
t
.
offsetWidth
-
t
.
clientWidth
;
return
this
.
$body
[
0
].
removeChild
(
t
),
e
};
var
o
=
t
.
fn
.
modal
;
t
.
fn
.
modal
=
e
,
t
.
fn
.
modal
.
Constructor
=
i
,
t
.
fn
.
modal
.
noConflict
=
function
(){
return
t
.
fn
.
modal
=
o
,
this
},
t
(
document
).
on
(
"click.bs.modal.data-api"
,
'[data-toggle="modal"]'
,
function
(
i
){
var
o
=
t
(
this
),
s
=
o
.
attr
(
"href"
),
n
=
t
(
o
.
attr
(
"data-target"
)
||
s
&&
s
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
r
=
n
.
data
(
"bs.modal"
)?
"toggle"
:
t
.
extend
({
remote
:
!
/#/
.
test
(
s
)
&&
s
},
n
.
data
(),
o
.
data
());
o
.
is
(
"a"
)
&&
i
.
preventDefault
(),
n
.
one
(
"show.bs.modal"
,
function
(
t
){
t
.
isDefaultPrevented
()
||
n
.
one
(
"hidden.bs.modal"
,
function
(){
o
.
is
(
":visible"
)
&&
o
.
trigger
(
"focus"
)})}),
e
.
call
(
n
,
r
,
this
)})}(
jQuery
);
\ No newline at end of file
wp-content/plugins/tospur/Admin/views/owner.html
0 → 100644
View file @
2fc2824f
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<label
for=
"owner_name"
>
业主姓名:
</label>
<input
name=
"owner_name"
id=
"owner_name"
type=
"text"
value=
""
class=
"form-control"
>
</div>
<div
class=
"col-md-6"
>
<label
for=
"owner_phone"
>
业主电话:
</label>
<input
name=
"owner_phone"
id=
"owner_phone"
type=
"text"
value=
""
class=
"form-control"
>
</div>
</div>
\ No newline at end of file
wp-content/plugins/tospur/Admin/views/photos.html
0 → 100644
View file @
2fc2824f
<table
class=
"form-table"
>
<thead>
<tr>
<th>
类型
</th>
<th>
相册
</th>
<th>
设为封面
</th>
<th></th>
</tr>
</thead>
<tbody
id=
"photosTbody"
>
{% set exists_photo_ids = "" %}
{% for item in images %}
{% if exists_photo_ids != "" %}
{% set exists_photo_ids = exists_photo_ids~"," %}
{% endif %}
{% set exists_photo_ids = exists_photo_ids~item.image_id %}
<tr>
<td>
<select
name=
"exists_photo[{{ item.image_id }}][type]"
style=
"margin-right: 50px"
>
{% for i in photoType %}
<option
{{
i
.
id =
=
item
.
image_type
?"
selected
"
:
""
}}
value=
"{{ i.id }}"
>
{{ i.value }}
</option>
{% endfor %}
</select>
</td>
<td>
<img
src=
"{{siteUrl}}{{item.path}}"
height=
"90"
width=
"140"
style=
"margin-right: 50px"
>
</td>
<td>
<input
type=
"radio"
name=
"frontCover"
style=
"margin-right: 50px"
value=
"{{item.image_id}}"
{{
result
.
frontCover_id =
=
item
.
image_id
?"
checked
"
:
""
}}
/>
</td>
<td>
<input
type=
"button"
value=
"删除"
class=
"button action cancel existsCancel"
>
</div>
</tr>
{% endfor %}
</tbody>
</table>
<input
type=
"hidden"
name=
"exists_photo_ids"
value=
"{{exists_photo_ids}}"
>
<button
type=
"button"
id=
"housePicture"
class=
"button action"
data-toggle=
"modal"
style=
"margin-top: 10px"
>
新增
</button>
<script>
(
function
(
$
){
$
(
document
).
ready
(
function
(){
//新增房源相册
var
j
=
0
;
$
(
"#housePicture"
).
click
(
function
(){
var
tr
=
$
(
"<tr>"
);
var
td
=
$
(
"<td>"
);
var
select
=
$
(
"<select>"
).
attr
({
"name"
:
"data["
+
j
+
"][type]"
}).
addClass
(
"form-control"
);
{
%
for
item
in
photoType
%
}
select
.
append
(
$
(
"<option>"
).
attr
(
"value"
,{{
item
.
id
}}).
append
(
'{{item.value}}'
));
{
%
endfor
%
}
var
td1
=
td
.
clone
().
append
(
select
);
var
file
=
$
(
"<input>"
).
attr
({
"type"
:
"file"
,
"name"
:
"files["
+
j
+
"]"
}).
addClass
(
"picFiles form-control"
);
var
td2
=
td
.
clone
().
append
(
file
);
var
radio
=
$
(
"<input>"
).
attr
({
"type"
:
"radio"
,
"name"
:
"frontCover"
,
"value"
:
j
}).
addClass
(
"form-control"
);
var
td3
=
td
.
clone
().
append
(
radio
);
var
picDelet
=
$
(
"<input>"
).
attr
({
"type"
:
"button"
,
"value"
:
"删除"
}).
addClass
(
"button action existsCancel form-control"
);
var
td4
=
td
.
clone
().
append
(
picDelet
);
tr
.
append
(
td1
).
append
(
td2
).
append
(
td3
).
append
(
td4
);
$
(
"#photosTbody"
).
append
(
tr
);
j
++
});
$
(
"#photosTbody"
).
on
(
"change"
,
".picFiles"
,
function
(){
var
that
=
this
;
if
(
this
.
files
&&
this
.
files
[
0
]){
var
reader
=
new
FileReader
();
reader
.
onload
=
function
(
e
){
var
img
=
$
(
"<img>"
).
attr
({
"src"
:
e
.
target
.
result
,
"heghit"
:
90
,
"width"
:
140
});
$
(
that
).
before
(
img
);
$
(
that
).
hide
();
}
reader
.
readAsDataURL
(
this
.
files
[
0
]);
}
});
$
(
"#photosTbody"
).
on
(
"click"
,
".existsCancel"
,
function
(){
$
(
this
).
parent
().
parent
().
remove
();
});
});
})(
jQuery
);
</script>
\ No newline at end of file
wp-content/plugins/tospur/Admin/views/recommend.html
0 → 100644
View file @
2fc2824f
wp-content/plugins/tospur/Admin/views/secHandHouse.html
View file @
2fc2824f
...
@@ -5,329 +5,62 @@
...
@@ -5,329 +5,62 @@
{% set title = houseId?"修改二手房房源":"添加二手房房源" %}
{% set title = houseId?"修改二手房房源":"添加二手房房源" %}
<meta
charset=
"utf-8"
>
<meta
charset=
"utf-8"
>
<title>
{{title}}
</title>
<title>
{{title}}
</title>
<script>
var
i
=
0
;
</script>
</head>
</head>
<body>
<body>
<h2
class=
"title"
>
{{title}}
</h2>
<h2
class=
"title"
>
{{title}}
</h2>
<form
action=
""
method=
"POST"
enctype=
"multipart/form-data"
id=
"secHouse"
>
<form
action=
""
method=
"POST"
enctype=
"multipart/form-data"
id=
"secHouse"
class=
"form-inline"
>
<div
class=
"row"
>
<div
class=
"row"
>
<div
class=
"col-md-11"
>
<div
class=
"col-md-11"
>
<div
class=
"row"
>
<!-- Nav tabs -->
<div
class=
"col-md-3"
>
<ul
class=
"nav nav-tabs"
role=
"tablist"
>
<label
for=
"housename"
>
房源名:
</label>
<li
role=
"presentation"
class=
"active"
><a
href=
"#info"
aria-controls=
"info"
role=
"tab"
data-toggle=
"tab"
>
楼盘情况
</a></li>
<input
name=
"housename"
id=
"housename"
type=
"text"
value=
"{{result.name}}"
class=
"form-control"
>
<li
role=
"presentation"
><a
href=
"#weixin"
aria-controls=
"weixin"
role=
"tab"
data-toggle=
"tab"
>
微信营销
</a></li>
</div>
<li
role=
"presentation"
><a
href=
"#business"
aria-controls=
"business"
role=
"tab"
data-toggle=
"tab"
>
业务信息
</a></li>
<div
class=
"col-md-3"
>
{% if not houseId %}
<label
for=
"address"
>
小区名称:
</label>
<li
role=
"presentation"
><a
href=
"#owner"
aria-controls=
"owner"
role=
"tab"
data-toggle=
"tab"
>
业主信息
</a></li>
<input
name=
"community_name"
type=
"text"
value=
"{{result.community_name}}"
class=
"form-control"
>
{% endif %}
</div>
<li
role=
"presentation"
><a
href=
"#photos"
aria-controls=
"photos"
role=
"tab"
data-toggle=
"tab"
>
房源相册
</a></li>
<div
class=
"col-md-3"
>
<li
role=
"presentation"
><a
href=
"#recommend"
aria-controls=
"recommend"
role=
"tab"
data-toggle=
"tab"
>
推荐房源
</a></li>
<label
for=
"total_price"
>
售价:
</label>
</ul>
<div
class=
"row"
>
<p>
<input
name=
"total_price"
id=
"total_price"
type=
"text"
value=
"{{result.total_price}}"
class=
"form-control"
style=
"width:80%;display: inline-block"
>
万元
</p>
<!-- Tab panes -->
<div
class=
"tab-content"
>
<div
role=
"tabpanel"
class=
"tab-pane active"
id=
"info"
>
{% include 'houseInfo.html' %}
</div>
</div>
<div
role=
"tabpanel"
class=
"tab-pane"
id=
"weixin"
>
{% include 'weixin.html' %}
</div>
</div>
<div
class=
"col-md-3"
>
<div
role=
"tabpanel"
class=
"tab-pane"
id=
"business"
>
<label
for=
"average_price"
>
单价:
</label>
{% include 'business.html' %}
<p>
<input
name=
"average_price"
id=
"average_price"
type=
"text"
value=
"{{result.average_price}}"
class=
"form-control"
style=
"width:80%;display: inline-block"
>
元
</p>
</div>
</div>
</div><br>
<div
role=
"tabpanel"
class=
"tab-pane"
id=
"owner"
>
<div
class=
"row"
>
{% include 'owner.html' %}
<div
class=
"col-md-6"
>
<label
for=
"mark"
>
标签:
</label>
<input
name=
"mark"
id=
"mark"
type=
"text"
value=
"{{mark}}"
class=
"form-control"
>
</div>
</div>
</div><br>
<div
role=
"tabpanel"
class=
"tab-pane"
id=
"photos"
>
<div
class=
"row"
>
{% include 'photos.html' %}
{% if not houseId %}
</div>
<div
class=
"col-md-4"
>
<div
role=
"tabpanel"
class=
"tab-pane"
id=
"recommend"
>
<label
for=
"owner_name"
>
业主姓名:
</label>
{% include 'recommend.html' %}
<input
name=
"owner_name"
id=
"owner_name"
type=
"text"
value=
""
class=
"form-control"
>
</div>
</div>
<div
class=
"col-md-4"
>
<label
for=
"owner_phone"
>
业主电话:
</label>
<input
name=
"owner_phone"
id=
"owner_phone"
type=
"text"
value=
""
class=
"form-control"
>
</div>
</div>
{% endif %}
</div><br>
<h2
class=
"title"
>
基本信息
</h2>
<div
class=
"row"
>
<div
class=
"col-md-12"
>
<label
for=
"suite"
>
门牌号码:
</label></th>
<input
name=
"suite"
type=
"text"
value=
"{{result.suite}}"
style=
"width: 10%"
>
<label
for=
"floor"
>
楼层:
</label>
<input
name=
"floor"
type=
"text"
value=
"{{result.floor}}"
style=
"width: 5%"
>
<label
for=
"totalFloor"
>
总层:
</label>
<input
type=
"text"
name=
"totalFloor"
value=
"{{result.totalFloor}}"
style=
"width: 5%"
>
<label
for=
"faceto"
>
朝向:
</label>
<select
name=
"faceto"
>
<option
value=
"其他"
>
其他
</option>
<option
value=
"东"
>
东
</option>
<option
value=
"南"
>
南
</option>
<option
value=
"西"
>
西
</option>
<option
value=
"北"
>
北
</option>
<option
value=
"东西"
>
东西
</option>
<option
value=
"南北"
>
南北
</option>
<option
value=
"南南"
>
南南
</option>
<option
value=
"东南"
>
东南
</option>
<option
value=
"东北"
>
东北
</option>
<option
value=
"西南"
>
西南
</option>
<option
value=
"西北"
>
西北
</option>
</select>
<label
for=
"age"
>
建筑年代:
</label>
<!--<input name="age" type="text" value="{{result.age}}" class="form-control">-->
<select
name=
"age"
>
<option>
未知
</option>
{% for item in age%}
<option
{{
item =
=
result
.
age
?"
selected
"
:
""
}}
value=
"{{item}}"
>
{{item}}
</option>
{% endfor %}
</select>
<label
for=
"propertyRight"
>
产权:
</label>
<select
name=
"propertyRight"
>
<option
value=
"个人产权"
>
个人产权
</option>
<option
value=
"单位产权"
>
单位产权
</option>
<option
value=
"售后产权"
>
售后产权
</option>
<option
value=
"家庭成员共有"
>
家庭成员共有
</option>
<option
value=
"使用权"
>
使用权
</option>
<option
value=
"小产权"
>
小产权
</option>
<option
value=
"协议房"
>
协议房
</option>
<option
value=
"私产"
>
私产
</option>
<option
value=
"公产"
>
公产
</option>
<option
value=
"合同发票"
>
合同发票
</option>
<option
value=
"三联单"
>
三联单
</option>
<option
value=
"其他"
>
其他
</option>
</select>
</div>
</div><br>
<div
class=
"row"
>
<div
class=
"col-md-12"
>
<label
for=
"propertyProof"
>
产证:
</label>
<input
type=
"text"
name=
"propertyProof"
value=
"{{result.propertyProof}}"
>
<label
for=
"decoration"
>
装修状况:
</label>
<select
name=
"decoration"
>
<option
value=
"毛坯"
>
毛坯
</option>
<option
value=
"简单装修"
>
简单装修
</option>
<option
value=
"中等装修"
>
中等装修
</option>
<option
value=
"精装修"
>
精装修
</option>
<option
value=
"豪华装修"
>
豪华装修
</option>
</select>
<label
for=
"useArea"
>
使用面积:
</label>
<input
type=
"text"
name=
"useArea"
value=
"{{result.useArea}}"
style=
"width: 10%;display: inline-block"
>
平方米
<label
for=
"covered_area"
>
建筑面积:
</label>
<input
name=
"covered_area"
type=
"text"
value=
"{{result.covered_area}}"
style=
"width:10%;display: inline-block"
>
平方米
<input
type=
"checkbox"
id=
"keyCheck"
{{
result
.
key
?"
checked
"
:
""
}}
>
<label
for=
"key"
>
钥匙:
</label><input
type=
"text"
{%
if
not
result
.
key
%}
disabled=
"true"
{%
endif
%}
id=
"key"
name=
"key"
value=
"{{result.key}}"
style=
"width: 10%"
>
</div>
</div><br>
<div
class=
"row"
>
<div
class=
"col-md-12"
>
<input
type=
"checkbox"
id=
"garageCheck"
{{
result
.
garage
?"
checked
"
:
""
}}
>
<label
for=
"garage"
>
车库:
</label><input
type=
"text"
{%
if
not
result
.
garage
%}
disabled=
"true"
{%
endif
%}
id=
"garage"
name=
"garage"
value=
"{{result.garage}}"
style=
"width: 10%"
>
<label
for=
"street"
>
街道:
</label>
<input
type=
"text"
name=
"street"
value=
"{{result.street}}"
>
<label
for=
"flat"
>
楼号:
</label>
<input
name=
"flat"
type=
"text"
value=
"{{result.flat}}"
style=
"width: 10%;"
>
<label
for=
"matching_facilities"
>
设施:
</label>
<input
type=
"text"
name=
"matching_facilities"
value=
"{{result.matching_facilities}}"
>
<label
for=
"structure"
>
结构:
</label>
<select
name=
"structure"
>
<option
value=
"其他"
>
其他
</option>
<option
value=
"框架"
>
框架
</option>
<option
value=
"砖混"
>
砖混
</option>
<option
value=
"剪力"
>
剪力
</option>
<option
value=
"钢混"
>
钢混
</option>
<option
value=
"木混"
>
木混
</option>
<option
value=
"砖木"
>
砖木
</option>
</select>
</div>
</div><br>
<div
class=
"row"
>
<div
class=
"col-md-12"
>
<label
for=
"from"
>
户型:
</label>
<select
id=
"buildproperty_id"
name=
"buildproperty_id"
>
{% for item in buildProperty %}
<option
{{
item
.
id =
=
result
.
buildproperty_id
?"
selected
"
:
""
}}
value=
"{{ item.id }}"
>
{{ item.value }}
</option>
{% endfor %}
</select>
<label
for=
"roomNum"
>
室:
</label>
<select
name=
"roomNum"
>
<option
value=
"0"
>
0
</option>
<option
value=
"1"
>
1
</option>
<option
value=
"2"
>
2
</option>
<option
value=
"3"
>
3
</option>
<option
value=
"4"
>
4
</option>
<option
value=
"5"
>
5
</option>
<option
value=
"6"
>
6
</option>
<option
value=
"7"
>
7
</option>
<option
value=
"8"
>
8
</option>
</select>
<label
for=
"livingRoom"
>
厅:
</label>
<select
name=
"livingRoom"
>
<option
value=
"0"
>
0
</option>
<option
value=
"1"
>
1
</option>
<option
value=
"2"
>
2
</option>
<option
value=
"3"
>
3
</option>
<option
value=
"4"
>
4
</option>
</select>
<label
for=
"bathRoom"
>
卫:
</label>
<select
name=
"bathRoom"
>
<option
value=
"0"
>
0
</option>
<option
value=
"1"
>
1
</option>
<option
value=
"2"
>
2
</option>
<option
value=
"3"
>
3
</option>
<option
value=
"4"
>
4
</option>
</select>
<label
for=
"kitchen"
>
厨:
</label>
<select
name=
"kitchen"
>
<option
value=
"0"
>
0
</option>
<option
value=
"1"
>
1
</option>
<option
value=
"2"
>
2
</option>
<option
value=
"3"
>
3
</option>
</select>
<label
for=
"balcony"
>
阳台:
</label>
<select
name=
"balcony"
>
<option
value=
"0"
>
0
</option>
<option
value=
"1"
>
1
</option>
<option
value=
"2"
>
2
</option>
<option
value=
"3"
>
3
</option>
</select>
</div>
</div><br>
<div
class=
"row"
>
<div
class=
"col-md-12"
>
<label
for=
"overview"
>
房源点评:
</label>
<textarea
name=
"overview"
rows=
"4"
cols=
"40"
class=
"form-control"
>
{{result.overview}}
</textarea>
</div>
</div><br>
<h2
class=
"title"
>
位置及周边
</h2>
<div
class=
"row"
>
<div
class=
"col-md-4"
>
<label
for=
"from"
>
所属地区:
</label>
<div
class=
"row"
>
<div
class=
"col-md-3"
>
<select
id=
"baseCity"
name=
"baseCity"
class=
"required"
>
<option
value=
"-1"
>
城市
</option>
{% for item in city %}
<option
{{
item
.
id =
=
result
.
city_id
?"
selected
"
:
""
}}
value=
"{{ item.id }}"
>
{{ item.value }}
</option>
{% endfor %}
</select>
</div>
<div
class=
"col-md-3"
>
<select
id=
"baseAreaId"
name=
"baseAreaId"
>
<option
value =
"-1"
>
区域
</option>
{% if district %}
{% for item in district %}
<option
{{
item
.
id =
=
result
.
district_id
?"
selected
"
:
""
}}
value=
"{{ item.id }}"
>
{{ item.value }}
</option>
{% endfor %}
{% endif %}
</select>
</div>
<div
class=
"col-md-3"
>
<select
id=
"basePlateId"
name=
"basePlateId"
>
<option
value =
"-1"
>
板块
</option>
{% if district %}
{% for item in plate %}
<option
{{
item
.
id =
=
result
.
plate_id
?"
selected
"
:
""
}}
value=
"{{ item.id }}"
>
{{ item.value }}
</option>
{% endfor %}
{% endif %}
</select>
</div>
</div>
</div>
<div
class=
"col-md-4"
>
<label
for=
"address"
>
地址:
</label>
<input
name=
"address"
type=
"text"
value=
"{{result.address}}"
class=
"form-control"
>
</div>
<div
class=
"col-md-4"
>
<label
for=
"traffic"
>
交通线路:
</label>
<input
name=
"traffic"
type=
"text"
value=
"{{result.traffic}}"
class=
"form-control"
>
</div>
</div><br>
<div
class=
"row"
>
<div
class=
"col-md-4"
>
<label
for=
"periphery"
>
周边配套:
</label>
<input
name=
"periphery"
type=
"text"
value=
"{{result.periphery}}"
class=
"form-control"
>
</div>
<div
class=
"col-md-4"
>
<label
for=
"location"
>
地域坐标:
</label>
<input
name=
"location"
id=
"location"
type=
"text"
value=
"{{result.location}}"
class=
"form-control"
>
</div>
</div><br>
<h2
class=
"title"
>
关联信息
</h2>
<h2
class=
"title"
>
关联信息
</h2>
<table
class=
"form-table"
>
<table
class=
"form-table"
>
<tbody>
<tbody>
<tr>
<tr>
<th><label>
房源相册:
</label></th>
<td>
{% if houseId %}
<div
class=
"row"
>
<div
class=
"col-md-3"
>
<font>
类型
</font>
</div>
<div
class=
"col-md-3"
>
<font>
相册
</font>
</div>
<div
class=
"col-md-3"
>
<font>
设为封面
</font>
</div>
</div>
{% endif %}
<div
id=
"picList"
>
{% set exists_photo_ids = "" %}
{% for item in images %}
{% if exists_photo_ids != "" %}
{% set exists_photo_ids = exists_photo_ids~"," %}
{% endif %}
{% set exists_photo_ids = exists_photo_ids~item.image_id %}
<div
class=
"row"
>
<div
class=
"col-md-3"
>
<select
name=
"exists_photo[{{ item.image_id }}][type]"
style=
"margin-right: 50px"
>
{% for i in photoType %}
<option
{{
i
.
id =
=
item
.
image_type
?"
selected
"
:
""
}}
value=
"{{ i.id }}"
>
{{ i.value }}
</option>
{% endfor %}
</select>
</div>
<div
class=
"col-md-3"
>
<img
src=
"{{siteUrl}}{{item.path}}"
height=
"90"
width=
"140"
style=
"margin-right: 50px"
>
</div>
<div
class=
"col-md-3"
>
<input
type=
"radio"
name=
"frontCover"
style=
"margin-right: 50px"
value=
"{{item.image_id}}"
{{
result
.
frontCover_id =
=
item
.
image_id
?"
checked
"
:
""
}}
/>
</div>
<div
class=
"col-md-2"
>
<input
type=
"button"
value=
"删除"
class=
"button action cancel existsCancel"
>
</div>
</div>
{% endfor %}
<input
type=
"hidden"
name=
"exists_photo_ids"
value=
"{{exists_photo_ids}}"
>
</div>
<button
type=
"button"
id=
"housePicture"
class=
"button action"
data-toggle=
"modal"
style=
"margin-top: 10px"
>
新增
</button>
</td>
</tr>
<tr>
<th><label
for=
"traffic"
>
推荐房源
</label></th>
<th><label
for=
"traffic"
>
推荐房源
</label></th>
<td>
<td>
<div
id=
"houseImg"
>
<div
id=
"houseImg"
>
...
@@ -470,27 +203,8 @@
...
@@ -470,27 +203,8 @@
</div>
</div>
</div>
</div>
</div>
</div>
{% include 'addTag.html' %}
<!-- 房源特色出层 -->
{{ block('addTag') }}
<div
class=
"modal fade"
id=
"houseFeature"
tabindex=
"-1"
role=
"dialog"
aria-labelledby=
"myModalLabel"
>
<div
class=
"modal-dialog"
role=
"document"
>
<div
class=
"modal-content"
>
<div
id=
"featureTable"
>
<div
class=
"row"
>
<div
class=
"col-md-2"
>
<label
for=
"feature"
>
特色:
</label>
</div>
<div
class=
"col-md-10"
id=
"featureList"
>
{% for item in feature %}
<div
id=
"{{ item.id }}"
>
{{ item.value }}
</div>
{% endfor %}
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -691,35 +405,6 @@
...
@@ -691,35 +405,6 @@
controlCommand
(
"consultantImg"
,
1
,
1
);
controlCommand
(
"consultantImg"
,
1
,
1
);
});
});
//新增房源相册
$
(
"#housePicture"
).
click
(
function
(){
var
radio
=
$
(
"<input>"
).
attr
({
"type"
:
"radio"
,
"name"
:
"frontCover"
,
"value"
:
i
,});
var
picDelet
=
$
(
"<input>"
).
attr
({
"type"
:
"button"
,
"value"
:
"删除"
}).
addClass
(
"button action existsCancel"
);
var
file
=
$
(
"<input>"
).
attr
({
"type"
:
"file"
,
"name"
:
"files["
+
i
+
"]"
}).
addClass
(
"picFiles"
);
var
select
=
$
(
"<select>"
).
attr
({
"name"
:
"data["
+
i
+
"][type]"
});
var
dicRadio
=
$
(
"<div>"
).
append
(
radio
).
addClass
(
"col-md-3"
);
var
dicPicDelet
=
$
(
"<div>"
).
append
(
picDelet
).
addClass
(
"col-md-2"
);
var
dicFile
=
$
(
"<div>"
).
append
(
file
).
addClass
(
"col-md-3"
);
var
dicSelect
=
$
(
"<div>"
).
append
(
select
).
addClass
(
"col-md-3"
);
var
div
=
$
(
"<div>"
).
append
(
dicSelect
).
append
(
dicFile
).
append
(
dicRadio
).
append
(
dicPicDelet
).
addClass
(
"row"
);
{
%
for
item
in
photoType
%
}
select
.
append
(
$
(
"<option>"
).
attr
(
"value"
,{{
item
.
id
}}).
append
(
'{{item.value}}'
));
{
%
endfor
%
}
var
p
=
$
(
"<p>"
).
append
(
div
);
var
fontA
=
$
(
"<div>"
).
append
(
"<font>"
).
append
(
"设为封面"
).
addClass
(
"col-md-3"
);
var
fontB
=
$
(
"<div>"
).
append
(
"<font>"
).
append
(
"类型"
).
addClass
(
"col-md-3"
);
var
fontC
=
$
(
"<div>"
).
append
(
"<font>"
).
append
(
"相册"
).
addClass
(
"col-md-3"
);
var
titleP
=
$
(
"<div>"
).
append
(
fontB
).
append
(
fontC
).
append
(
fontA
).
addClass
(
"row"
);
$
(
"#picList"
).
append
(
p
);
var
url
=
getUrlParmas
();
if
(
!
url
.
id
){
if
(
titleFlag
==
0
){
$
(
"#picList"
).
before
(
titleP
);
titleFlag
=
1
}
}
i
++
});
//显示选中的特色
//显示选中的特色
$
(
"#featureTable"
).
find
(
"#featureList > div"
).
click
(
function
(){
$
(
"#featureTable"
).
find
(
"#featureList > div"
).
click
(
function
(){
var
houseFeature
=
$
(
"<input>"
).
attr
({
"type"
:
"hidden"
,
"name"
:
"data[houseFeature][]"
,
"value"
:
$
(
this
).
attr
(
"id"
)});
var
houseFeature
=
$
(
"<input>"
).
attr
({
"type"
:
"hidden"
,
"name"
:
"data[houseFeature][]"
,
"value"
:
$
(
this
).
attr
(
"id"
)});
...
@@ -730,12 +415,6 @@
...
@@ -730,12 +415,6 @@
});
});
//房源相册
$
(
"#picList"
).
on
(
"change"
,
".picFiles"
,
function
(){
readURL
(
this
,
2
);
$
(
this
).
hide
();
});
//删除房源相册、推荐房源、推荐置业顾问
//删除房源相册、推荐房源、推荐置业顾问
$
(
"#houseImg,#consultantImg,#feature"
).
on
(
"click"
,
".imgCancel,.consultantCancel,.picDelet,.featureCancel"
,
function
(){
$
(
"#houseImg,#consultantImg,#feature"
).
on
(
"click"
,
".imgCancel,.consultantCancel,.picDelet,.featureCancel"
,
function
(){
$
(
this
).
parents
(
"p"
).
remove
();
$
(
this
).
parents
(
"p"
).
remove
();
...
@@ -745,10 +424,6 @@
...
@@ -745,10 +424,6 @@
$
(
this
).
parent
().
remove
();
$
(
this
).
parent
().
remove
();
});
});
$
(
"#picList"
).
on
(
"click"
,
".existsCancel"
,
function
(){
$
(
this
).
parent
().
parent
().
remove
();
});
$
(
"input[id='keyCheck']"
).
change
(
function
(){
$
(
"input[id='keyCheck']"
).
change
(
function
(){
textDisable
(
"keyCheck"
,
"key"
);
textDisable
(
"keyCheck"
,
"key"
);
});
});
...
...
wp-content/plugins/tospur/Admin/views/weixin.html
0 → 100644
View file @
2fc2824f
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-12"
>
<label
for=
"housename"
>
标题:
</label>
<input
name=
"housename"
id=
"housename"
type=
"text"
value=
"{{result.name}}"
class=
"form-control"
>
</div>
</div>
<br
/>
<div
class=
"row"
>
<div
class=
"col-md-12"
>
<label
for=
"mark"
>
标签:
</label>
<input
name=
"mark"
id=
"mark"
type=
"text"
value=
"{{mark}}"
class=
"form-control"
>
</div>
</div>
\ No newline at end of file
wp-content/plugins/tospur/index.php
View file @
2fc2824f
...
@@ -38,6 +38,7 @@ function tospur_theme_format(){
...
@@ -38,6 +38,7 @@ function tospur_theme_format(){
add_filter
(
'admin_footer_text'
,
tospur_remove_admin_footer_text
,
1000
);
add_filter
(
'admin_footer_text'
,
tospur_remove_admin_footer_text
,
1000
);
add_filter
(
'update_footer'
,
tospur_remove_admin_footer_upgrade
,
1000
);
add_filter
(
'update_footer'
,
tospur_remove_admin_footer_upgrade
,
1000
);
add_action
(
'login_enqueue_scripts'
,
'tospur_login_logo'
);
add_action
(
'login_enqueue_scripts'
,
'tospur_login_logo'
);
add_action
(
'admin_enqueue_scripts'
,
'tospur_load_resources'
);
//admin bar
//admin bar
add_action
(
'wp_before_admin_bar_render'
,
'tospur_remove_admin_bar'
);
add_action
(
'wp_before_admin_bar_render'
,
'tospur_remove_admin_bar'
);
function
tospur_remove_admin_footer_text
(
$footer_text
=
''
){
function
tospur_remove_admin_footer_text
(
$footer_text
=
''
){
...
@@ -68,6 +69,19 @@ function tospur_theme_format(){
...
@@ -68,6 +69,19 @@ function tospur_theme_format(){
<?php
}
<?php
}
}
}
function
tospur_load_resources
(){
wp_enqueue_script
(
'jquery-ui'
);
wp_enqueue_script
(
'bootstrapjs'
);
wp_enqueue_script
(
'publicjs'
);
wp_enqueue_script
(
'validate'
);
wp_enqueue_style
(
'jquery-ui_css'
);
wp_enqueue_style
(
'bootstrapMinCss'
);
}
function
tospur_register_script_style
(){
function
tospur_register_script_style
(){
wp_register_script
(
'jquery-ui'
,
plugins_url
(
'Admin/views'
,
__FILE__
)
.
"/js/jquery-ui.js"
);
wp_register_script
(
'jquery-ui'
,
plugins_url
(
'Admin/views'
,
__FILE__
)
.
"/js/jquery-ui.js"
);
wp_register_script
(
'validate'
,
plugins_url
(
'Admin/views'
,
__FILE__
)
.
"/js/jquery.validate.js"
);
wp_register_script
(
'validate'
,
plugins_url
(
'Admin/views'
,
__FILE__
)
.
"/js/jquery.validate.js"
);
...
...
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