// breaking things

This commit is contained in:
Kevin Granger
2013-08-20 16:38:31 +02:00
parent f73f84dbf2
commit 44655ecdef
18 changed files with 3561 additions and 2936 deletions
-4
View File
@@ -2,10 +2,6 @@
"name": "admin-theme", "name": "admin-theme",
"version": "0.0.0", "version": "0.0.0",
"dependencies": { "dependencies": {
"requirejs": "~2.1.4",
"modernizr": "~2.6.2",
"jquery": "~1.9.1",
"bootstrap": "https://github.com/twitter/bootstrap/archive/3.0.0-wip.zip",
"font-awesome": "~3.2.1-wip", "font-awesome": "~3.2.1-wip",
"sass-twitter-bootstrap": "https://github.com/jlong/sass-twitter-bootstrap/archive/3.0.0-wip.zip" "sass-twitter-bootstrap": "https://github.com/jlong/sass-twitter-bootstrap/archive/3.0.0-wip.zip"
}, },
File diff suppressed because it is too large Load Diff
+177 -54
View File
@@ -1,4 +1,4 @@
//light //light #F7F7F7
//$main-color: #DBD8CF //sable //$main-color: #DBD8CF //sable
//$main-color: #CFD7DD //bleu //$main-color: #CFD7DD //bleu
//$main-color: #E0E0E0 //$main-color: #E0E0E0
@@ -15,7 +15,8 @@
//$main-color: #373E35 //vert camo //$main-color: #373E35 //vert camo
//$main-color: #262C3F //bleu nuit - pretty sure that a girl could do better naming the colors, sorry about that... //$main-color: #262C3F //bleu nuit - pretty sure that a girl could do better naming the colors, sorry about that...
//$main-color: white //$main-color: white
$main-color: #8C8574 //$main-color: #8C8574
$main-color: #3A3A4A
//$secondary-color: white //blanc //$secondary-color: white //blanc
//$secondary-color: #F5792B //orange //$secondary-color: #F5792B //orange
@@ -36,7 +37,8 @@ $main-color: #8C8574
//$secondary-color: #8BC954 //vert PrestaShop //$secondary-color: #8BC954 //vert PrestaShop
//some tests //some tests
$secondary-color: #79C09D $secondary-color: #00A89C
//$secondary-color: #79C09D
//$secondary-color: invert($main-color) //$secondary-color: invert($main-color)
//$secondary-color: lighten(invert($main-color),20%) //$secondary-color: lighten(invert($main-color),20%)
//$secondary-color: adjust-hue($main-color, 80%) //$secondary-color: adjust-hue($main-color, 80%)
@@ -60,7 +62,7 @@ $bg-content-color: #F8F8F8 //gris
$bg-header-color: #242424 $bg-header-color: #242424
$bg-footer-color: #242424 $bg-footer-color: #242424
$bg-page-head-color : $secondary-color $bg-page-head-color : $secondary-color
$bg-panel-heading-color: lighten($secondary-color,30%) $bg-panel-heading-color: hsl(hue($secondary-color), 20, 90)
//others //others
$badge-notif-color: #EF1778 $badge-notif-color: #EF1778
@@ -68,6 +70,7 @@ $icon-color: #87C795
@import "compass" @import "compass"
@import "bootstrap/variables" @import "bootstrap/variables"
//@import "bootstrap.min.css"
@import "bootstrap" @import "bootstrap"
@import "font-awesome" @import "font-awesome"
@import "toggle-switch" @import "toggle-switch"
@@ -95,21 +98,22 @@ body.fixed-top
#main #main
min-height: 100% min-height: 100%
height: auto!important height: auto!important
padding: 35px 0 60px padding: 38px 0 60px
margin: 0 0 -60px margin: 0 0 -60px 0
background-color: $bg-content-color
.container-fluid, .row-fluid .container-fluid, .row-fluid
width: 100% width: 100%
#content #content
min-height: 900px padding: 90px 20px 100px
padding: 90px 20px 20px
margin-left: 240px margin-left: 240px
@include transition-property(margin) @include transition-property(margin)
@include transition-duration(0.4s) @include transition-duration(0.4s)
@include transition-timing-function(ease-out) @include transition-timing-function(ease-out)
background-color: $bg-content-color
background-image: url('../img/patterns/bedge_grunge.png') // texture //overflow-x: scroll
//background-image: url('../img/patterns/bedge_grunge.png') // texture
fieldset, .panel fieldset, .panel
padding: 20px padding: 20px
margin-bottom: 20px margin-bottom: 20px
@@ -120,12 +124,13 @@ body.fixed-top
.panel-heading .panel-heading
@extend h3 @extend h3
h3, .panel-heading h3, .panel-heading
border: none
height: 30px height: 30px
padding: 0 5px padding: 0 5px
margin: -16px -16px 15px -16px margin: -16px -16px 15px -16px
line-height: 30px
color: contrasted($bg-panel-heading-color) color: contrasted($bg-panel-heading-color)
font-size: 1.2em font-size: 1.2em
line-height: 30px
font-weight: 300 font-weight: 300
text-transform: uppercase text-transform: uppercase
background-color: $bg-panel-heading-color background-color: $bg-panel-heading-color
@@ -157,26 +162,31 @@ body.fixed-top
border: none border: none
border-bottom: solid 1px darken($bg-content-color,10%) border-bottom: solid 1px darken($bg-content-color,10%)
@include box-shadow(white 0 0 0 1px inset) @include box-shadow(white 0 0 0 1px inset)
@media (max-width: $screen-tablet)
margin-left: 0
width: 100%
.page-head .page-head
width: 100% width: 100%
height: 65px height: 55px
padding: 5px 10px 0 0 padding: 0 10px 0 0
margin: 0 margin: 0
border-bottom: 4px solid darken($secondary-color,10%) border-bottom: 4px solid darken($secondary-color,10%)
position: fixed position: fixed
top: 37px top: 38px
left: 0px left: 0px
z-index: 9000 z-index: 499
background-color: $secondary-color background-color: $secondary-color
@include box-shadow(rgba(black,0.15) 0 7px 0, rgba(white,0.15) 0 -1px 0 inset) @include box-shadow(rgba(black,0.15) 0 7px 0)
h2.page-title h2.page-title
@extend .pull-left @extend .pull-left
padding: 0 0 0 260px padding: 0 0 0 260px
font-size: 20px font-size: 20px
line-height: 25px
color: white color: white
text-transform: uppercase text-transform: uppercase
@media (max-width: $screen-tablet)
padding: 0 0 0 20px
.btn-toolbar .btn-toolbar
margin: 0 margin: 0
.nav-tabs .nav-tabs
@@ -188,11 +198,23 @@ body.fixed-top
//background: #f5f5f5 //background: #f5f5f5
#sidebar #sidebar
z-index: 9001 height: 100%!important
z-index: 500
float: left float: left
width: 240px width: 240px
background-color: $main-color background-color: $main-color
border-bottom: 1px solid lighten($main-color,5%) border-bottom: 1px solid lighten($main-color,5%)
.menu
border-top: 1px black solid
.maintab > a [class^="icon-"], .menu .maintab > a [class*=" icon-"]
font-size: 20px
border-radius: 40px
height: 30px
width: 30px
color: white
display: inline-block
text-align: center
line-height: 30px
> ul > li > ul.sub-menu > ul > li > ul.sub-menu
display: none display: none
list-style: none list-style: none
@@ -212,28 +234,29 @@ body.fixed-top
background-color: white background-color: white
> li > li
&.active > a &.active > a
color: contrasted($main-color, 30%) color: contrast-color($main-color, white, #333, 10%)
background-color: $secondary-color background-color: $secondary-color
border-top: 1px solid lighten($secondary-color,10%) border-top: 1px solid lighten($secondary-color,5%)
border-bottom: 1px solid darken($secondary-color,10%) border-bottom: 1px solid darken($secondary-color,20%)
@include box-shadow(darken($secondary-color,10%) -4px 0 0 inset) @include box-shadow(darken($secondary-color,10%) -4px 0 0 inset)
i i
color: $brand-primary!important color: $brand-primary!important
background-color: white background-color: white
&.active:hover > a &.active:hover > a
color: white color: contrast-color($main-color, white, #333, 10%)
@include box-shadow(darken($secondary-color,10%) -4px 0 0 inset) @include box-shadow(darken($secondary-color,10%) -4px 0 0 inset)
&:hover > a &:hover > a
@include box-shadow($brand-primary -4px 0 0 inset) @include box-shadow($brand-primary -4px 0 0 inset)
i i
color: $brand-primary!important color: $secondary-color!important
background-color: white background-color: white
> a > a
display: block display: block
padding: 3px 0 3px 5px padding: 2px 0 2px 8px
border-top: 1px solid lighten($main-color,5%) border-top: 1px solid lighten($main-color,5%)
border-bottom: 1px solid darken($main-color,10%) border-bottom: 1px solid darken($main-color,10%)
font-size: 12px
line-height: 28px
$color: contrast-color($main-color, white, #333, 10%) $color: contrast-color($main-color, white, #333, 10%)
color: mix($main-color, $color, 30%) color: mix($main-color, $color, 30%)
background-color: $main-color background-color: $main-color
@@ -258,12 +281,12 @@ body.fixed-top
li li
a a
display: block display: block
padding: 3px 5px 3px 10px padding: 2px 5px 2px 10px
font-size: 12px font-size: 12px
border: none border: none
border-bottom: solid 1px #eee border-bottom: solid 1px #eee
background-color: white background-color: white
@include box-shadow($main-color -4px 0 0 inset) //@include box-shadow($main-color -4px 0 0 inset)
i i
margin-top: 3px margin-top: 3px
color: $secondary-color color: $secondary-color
@@ -271,7 +294,7 @@ body.fixed-top
color: $brand-primary color: $brand-primary
background-color: mix(white, $main-color, 90%) background-color: mix(white, $main-color, 90%)
text-decoration: none text-decoration: none
@include box-shadow($brand-primary -4px 0 0 inset) //@include box-shadow($brand-primary -4px 0 0 inset)
i i
color: $main-color color: $main-color
&.active &.active
@@ -284,7 +307,6 @@ body.fixed-top
.page-sidebar-closed .page-sidebar-closed
#sidebar #sidebar
width: 50px width: 50px
white-space: nowrap
@include transition-property(width) @include transition-property(width)
@include transition-duration(0.4s) @include transition-duration(0.4s)
@include transition-timing-function(ease-out) @include transition-timing-function(ease-out)
@@ -302,34 +324,28 @@ body.fixed-top
position: absolute position: absolute
left: 50px left: 50px
width: 200px!important width: 200px!important
#content #content
margin-left: 50px margin-left: 50px
.page-head h2.page-title .page-head h2.page-title
padding: 0 0 0 70px padding: 0 0 0 70px
@media (max-width: $screen-tablet)
padding: 0 0 0 20px
@media (max-width: $screen-tablet)
margin-left: 0
width: 100%
.menu-collapse .menu-collapse
height: 67px height: 55px
width: 100% width: 100%
font-size: 2em font-size: 2em
text-align: center text-align: center
line-height: 68px line-height: 55px
display: block display: block
background-color: darken($secondary-color,5%) background-color: darken($secondary-color,10%)
border-bottom: 4px solid darken($secondary-color,15%) border-bottom: 4px solid darken($secondary-color,20%)
i i
color: lighten($secondary-color,10%) color: lighten($secondary-color,10%)
#menu .maintab > a [class^="icon-"], #menu .maintab > a [class*=" icon-"]
font-size: 22px
border-radius: 40px
height: 35px
width: 35px
color: white
display: inline-block
text-align: center
line-height: 35px
// Tool bar // Tool bar
.toolbar_btn .toolbar_btn
position: relative position: relative
@@ -391,7 +407,7 @@ body.fixed-top
color: lighten($main-color,10%)!important color: lighten($main-color,10%)!important
[class^="process-icon-"], [class*=" process-icon-"] [class^="process-icon-"], [class*=" process-icon-"]
height: 32px height: 25px
min-width: 32px min-width: 32px
background-position: center background-position: center
background-repeat: no-repeat background-repeat: no-repeat
@@ -400,7 +416,7 @@ body.fixed-top
font-weight: normal font-weight: normal
font-style: normal font-style: normal
font-size: 25px font-size: 25px
line-height: 32px line-height: 25px
text-decoration: inherit text-decoration: inherit
-webkit-font-smoothing: antialiased -webkit-font-smoothing: antialiased
*margin-right: .3em *margin-right: .3em
@@ -456,8 +472,6 @@ body.fixed-top
.process-icon-new-url .process-icon-new-url
@extend .icon-plus-sign-alt @extend .icon-plus-sign-alt
.navbar-inner .navbar-inner
box-shadow: none!important box-shadow: none!important
.input-append .input-append
@@ -506,7 +520,6 @@ input[type="password"].input-tiny
.fixed-width-XL .fixed-width-XL
width: 200px width: 200px
.btn-group-action .btn-group-action
display: inline-block display: inline-block
white-space: nowrap white-space: nowrap
@@ -543,7 +556,6 @@ input[type="password"].input-tiny
.caret .caret
border-top-color: white!important border-top-color: white!important
hr hr
border-color: darken($bg-content-color,10%) border-color: darken($bg-content-color,10%)
border-bottom: 1px solid white border-bottom: 1px solid white
@@ -601,10 +613,9 @@ hr
//filter table //filter table
tr.filter tr.filter
background-color: rgba(#A39F95,0.5) background-color: darken($bg-content-color,20%)
input[type="text"].filter, input[type="password"].filter, select.filter input[type="text"].filter, input[type="password"].filter, select.filter
font-size: 12px font-size: 12px
border-color: #A39F95
.breadcrumb .breadcrumb
background-color: lighten($bg-content-color,7%) background-color: lighten($bg-content-color,7%)
@@ -637,10 +648,11 @@ tr.filter
font-weight: 500 font-weight: 500
#footer #footer
z-index: 600
min-height: 60px
display: block display: block
width: 100% width: 100%
height: 60px padding: 15px 0 0 0
padding: 5px 0
background-color: $bg-footer-color background-color: $bg-footer-color
color: #888 color: #888
a a
@@ -688,3 +700,114 @@ tr.filter
#nobootstrap #nobootstrap
float: left float: left
.box-stats
padding: 10px
margin-bottom: 20px
background-color: white
@include box-shadow(rgba(black,0.10) 0 2px 0, white 0 0 0 3px inset)
.boxchart-overlay
padding: 10px
margin-right: 10px
float: left
color: white
@include border-radius(3px)
i
@include border-radius(3px)
float: left
color: white
font-size: 30px
height: 50px
width: 50px
text-align: center
line-height: 50px
margin-right: 10px
.title
color: #999
display: block
.value
font-size: 25px
.color1
i, .boxchart-overlay
background-color: #2BA8E3
@include box-shadow(rgba(black,0.15) 0 -3px 0 inset)
.value
color: #2BA8E3
.color2
i, .boxchart-overlay
background-color: #FF5450
@include box-shadow(rgba(black,0.15) 0 -3px 0 inset)
.value
color: #FF5450
.color3
i, .boxchart-overlay
background-color: #9E5BA1
@include box-shadow(rgba(black,0.15) 0 -3px 0 inset)
.value
color: #9E5BA1
.color4
i, .boxchart-overlay
background-color: #95CC6B
@include box-shadow(rgba(black,0.15) 0 -3px 0 inset)
.value
color: #95CC6B
.chart
rect
fill: white
path
stroke: white
stroke-width: 2
fill: none
line
stroke: black
.area
fill: rgba(white,0.30)
stroke-width: 0
.highlighted
background-color: blue
.notification-panel
@extend .panel
padding: 15px
margin: 0
width: 300px
@include box-shadow(rgba(black,0.50) 2px 2px 10px)
.notification-dropdown
background-color: transparent
border: none
box-shadow: none
.list-toolbar-btn
//WIP
#topbar
position: fixed
left: 80
width: 100%
height: 25px
z-index: 600
background-color: $main-color
border-top: black solid 1px
border-bottom: black solid 1px
a
line-height: 25px
color: white
i
height: 25px
width: 25px
line-height: 25px
color: white
font-size: 20px
.menu-collapse
display: none
.menu
padding: 0 0 0 60px
display: inline
li
display: inline
.submenu
display: none
File diff suppressed because it is too large Load Diff
+45 -48
View File
@@ -1,4 +1,4 @@
#nobootstrap{ #nobootstrap {
body {font-family: Arial, Helvetica, sans-serif;} body {font-family: Arial, Helvetica, sans-serif;}
h1, h2, h3, h4 { font-family: Arial, Helvetica, sans-serif; margin-bottom:.5em; line-height:1.4em; } h1, h2, h3, h4 { font-family: Arial, Helvetica, sans-serif; margin-bottom:.5em; line-height:1.4em; }
@@ -7,12 +7,11 @@
h4 { font-size:1.05em; } h4 { font-size:1.05em; }
h6 { font-size:1em; } h6 { font-size:1em; }
//LIST
/*LIST*/ ul, ol {list-style:none; margin: 0; padding: 0;}
ul,ol {list-style:none; margin: 0; padding: 0;}
ul li {color:#585A69;} ul li {color:#585A69;}
/*FORM*/ //FORM
label {color:#585a69;text-shadow:0 1px 0#fff;} label {color:#585a69;text-shadow:0 1px 0#fff;}
fieldset{background-color:#EBEDF4; border:1px solid #CCCED7; color:#585A69; font-size:1.1em;margin:0;padding:1em} fieldset{background-color:#EBEDF4; border:1px solid #CCCED7; color:#585A69; font-size:1.1em;margin:0;padding:1em}
.Bloc {background-color:#EBEDF4; border:1px solid #CCCED7;font-size:1.1em;margin:0;padding:1em} .Bloc {background-color:#EBEDF4; border:1px solid #CCCED7;font-size:1.1em;margin:0;padding:1em}
@@ -28,7 +27,7 @@
.icon {vertical-align:middle} .icon {vertical-align:middle}
.icon-top {vertical-align:top} .icon-top {vertical-align:top}
/*BUTTON*/ //BUTTON
.button{ .button{
background: #e3e3e3 url('../img/bg-button-degrade.png') repeat-x scroll left top; background: #e3e3e3 url('../img/bg-button-degrade.png') repeat-x scroll left top;
background: -moz-linear-gradient(center top , #F9F9F9, #E3E3E3) repeat scroll 0 0 transparent; background: -moz-linear-gradient(center top , #F9F9F9, #E3E3E3) repeat scroll 0 0 transparent;
@@ -45,11 +44,11 @@
#top_container{margin:0;padding:0} #top_container{margin:0;padding:0}
/*HEADER*/ //HEADER
#header { background-color: #394049; height:90px; } #header { background-color: #394049; height:90px; }
/* Portrait orientation targeting */ // Portrait orientation targeting
@media screen and (orientation: portrait) {#header{min-width:1250px}} @media screen and (orientation: portrait) {#header{min-width:1250px}}
/* Portrait orientation targeting */ // Portrait orientation targeting
@media screen and (orientation: landscape) {#header{min-width:1250px}} @media screen and (orientation: landscape) {#header{min-width:1250px}}
#header #header_infos{ position:relative; margin: 0; padding:0; height:60px; } #header #header_infos{ position:relative; margin: 0; padding:0; height:60px; }
#header #header_shopname {float: left; margin:10px 15px 0 10px;} #header #header_shopname {float: left; margin:10px 15px 0 10px;}
@@ -76,7 +75,7 @@
#header #header_search #bo_query{ font: 13px Arial,sans-serif; float:left;background: none repeat scroll 0 0 transparent; border:none; box-shadow:none; padding: 5px 0px 5px 4px; width: 160px; } #header #header_search #bo_query{ font: 13px Arial,sans-serif; float:left;background: none repeat scroll 0 0 transparent; border:none; box-shadow:none; padding: 5px 0px 5px 4px; width: 160px; }
#header #header_search #bo_search_type_chzn{ font-size:13px; float:left; margin:0 23px 0 0; padding:0 4px; vertical-align:middle;width:80px !important;height:27px; border:none;} #header #header_search #bo_search_type_chzn{ font-size:13px; float:left; margin:0 23px 0 0; padding:0 4px; vertical-align:middle;width:80px !important;height:27px; border:none;}
#header #header_search #bo_search_type_chzn.chzn-container-single .chzn-single { box-shadow:none; border-radius:0px; border:none; border-left:1px dotted #ccc;} #header #header_search #bo_search_type_chzn.chzn-container-single .chzn-single { box-shadow:none; border-radius:0px; border:none; border-left:1px dotted #ccc;}
#header #header_search #bo_search_submit { background: url('../img/icon-search2.png') no-repeat scroll center; border:none; width:27px; height:25px; float:left; font-weight:normal; margin:0; padding:0; cursor:pointer; text-indent:-9999em; position:absolute; right:0; display:block; border-left:1px solid #3079ED; border-radius:0px; /*hacking ie7font-size: 0!ie7; color: transparent!ie;*/ } #header #header_search #bo_search_submit { background: url('../img/icon-search2.png') no-repeat scroll center; border:none; width:27px; height:25px; float:left; font-weight:normal; margin:0; padding:0; cursor:pointer; text-indent:-9999em; position:absolute; right:0; display:block; border-left:1px solid #3079ED; border-radius:0px;}
#header #header_quick{float:right; display:block; margin-top:15px;} #header #header_quick{float:right; display:block; margin-top:15px;}
#header #header_quick #quick_select_chzn{ font-size:13px; margin:0 10px 0 0; padding:0px 0 4px; } #header #header_quick #quick_select_chzn{ font-size:13px; margin:0 10px 0 0; padding:0px 0 4px; }
#header #header_myaccount{background:url('../img/bg-lang.png') no-repeat;display:block;float:right;height:16px;margin:8px 1px 0 0;width:16px} #header #header_myaccount{background:url('../img/bg-lang.png') no-repeat;display:block;float:right;height:16px;margin:8px 1px 0 0;width:16px}
@@ -104,7 +103,7 @@
.notifs_wrapper p.no_notifs {border: none;} .notifs_wrapper p.no_notifs {border: none;}
/*MENU*/ //MENU
#header #menu{ background-color: #f8f8f8; border-bottom:1px solid #e5e5e5; float:left;line-height:normal;margin:0;padding:0;width:100%;} #header #menu{ background-color: #f8f8f8; border-bottom:1px solid #e5e5e5; float:left;line-height:normal;margin:0;padding:0;width:100%;}
#header #menu li.maintab{float:left;height:29px;list-style:none;list-style:none;display:block; border-left:1px solid #fff; border-right:1px solid #ccc;} #header #menu li.maintab{float:left;height:29px;list-style:none;list-style:none;display:block; border-left:1px solid #fff; border-right:1px solid #ccc;}
#header #menu li.submenu_size .title{cursor:default;color:#000;display:block; padding:8px 3px 4px 0;font-weight:normal;font-size:12px;} #header #menu li.submenu_size .title{cursor:default;color:#000;display:block; padding:8px 3px 4px 0;font-weight:normal;font-size:12px;}
@@ -124,10 +123,10 @@
#header #menu .submenu li.active a { color: #fff;} #header #menu .submenu li.active a { color: #fff;}
#header #menu .submenu li.active a:hover { color:#666666} #header #menu .submenu li.active a:hover { color:#666666}
/*SEPARATION*/ //SEPARATION
.separation { background-color:#ccc;border-bottom:1px solid #fff; width:100%; height:1px; margin:10px 0;} .separation { background-color:#ccc;border-bottom:1px solid #fff; width:100%; height:1px; margin:10px 0;}
/*TABLE*/ //TABLE
.table_grid {width:100%;} .table_grid {width:100%;}
.table{ background-color:#fff;border:1px solid #ccc; padding:0; border-radius:3px; -moz-border-radius:3px;-webkit-border-radius:3px;} .table{ background-color:#fff;border:1px solid #ccc; padding:0; border-radius:3px; -moz-border-radius:3px;-webkit-border-radius:3px;}
.filter {background-color:#f1f9ff;} .filter {background-color:#f1f9ff;}
@@ -182,17 +181,17 @@
.button-autoupgrade {-moz-border-bottom-colors: none;-moz-border-image: none;-moz-border-left-colors: none;-moz-border-right-colors: none;-moz-border-top-colors: none;border-color: #FFF6D3 #DFD5AF #DFD5AF #FFF6D3;border-right: 1px solid #DFD5AF;border-style: solid;border-width: 1px;color: #268CCD;font-size: medium;padding: 5px;} .button-autoupgrade {-moz-border-bottom-colors: none;-moz-border-image: none;-moz-border-left-colors: none;-moz-border-right-colors: none;-moz-border-top-colors: none;border-color: #FFF6D3 #DFD5AF #DFD5AF #FFF6D3;border-right: 1px solid #DFD5AF;border-style: solid;border-width: 1px;color: #268CCD;font-size: medium;padding: 5px;}
.processing {overflow: auto;} .processing {overflow: auto;}
/*UI ACCORDEON*/ //UI ACCORDEON
.ui-accordion-header { background-color: #ccc; color:#000;} .ui-accordion-header { background-color: #ccc; color:#000;}
/*BLOC*/ //BLOC
.Bloc { background: none repeat scroll 0 0 #EBEDF4;} .Bloc { background: none repeat scroll 0 0 #EBEDF4;}
/*TABLE STATUS COMMANDE*/ //TABLE STATUS COMMANDE
.table td span.color_field { font-size:11px; padding:2px 5px; border-radius:3px; text-transform:uppercase; color:#fff; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px;} .table td span.color_field { font-size:11px; padding:2px 5px; border-radius:3px; text-transform:uppercase; color:#fff; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px;}
/*multishop toolbar*/ //multishop toolbar
.multishop_toolbar { background-color: #F8F8F8; border: 1px solid #CCCCCC; margin-bottom:10px; padding: 10px; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px; font-size: 18px;} .multishop_toolbar { background-color: #F8F8F8; border: 1px solid #CCCCCC; margin-bottom:10px; padding: 10px; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px; font-size: 18px;}
.multishop_toolbar span.text_multishop {vertical-align: 7px; padding-right: 5px; } .multishop_toolbar span.text_multishop {vertical-align: 7px; padding-right: 5px; }
.multishop_toolbar select.shopList { width: 300px; } .multishop_toolbar select.shopList { width: 300px; }
@@ -202,7 +201,7 @@
.multishop_toolbar .chzn-container .chzn-results .group{font-weight: bold;font-style: italic;padding-left: 15px;background-color: #C6DEFC;} .multishop_toolbar .chzn-container .chzn-results .group{font-weight: bold;font-style: italic;padding-left: 15px;background-color: #C6DEFC;}
.multishop_toolbar .chzn-container .chzn-results .shop{padding-left: 30px;background-color: #EAF2FC;} .multishop_toolbar .chzn-container .chzn-results .shop{padding-left: 30px;background-color: #EAF2FC;}
/*toolbarBox*/ //toolbarBox
.toolbar-placeholder {position:relative} .toolbar-placeholder {position:relative}
.toolbarBox {background-color: #F8F8F8; border: 1px solid #CCCCCC; margin-bottom:10px; padding: 5px 0; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px;-o-border-radius:3px;position:relative} .toolbarBox {background-color: #F8F8F8; border: 1px solid #CCCCCC; margin-bottom:10px; padding: 5px 0; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px;-o-border-radius:3px;position:relative}
.toolbarBox .pageTitle { margin-left:10px; line-height:48px} .toolbarBox .pageTitle { margin-left:10px; line-height:48px}
@@ -211,7 +210,7 @@
.toolbarBox ul.cc_button li {color: #666666; float: left; height: 48px; list-style: none outside none; padding: 1px 1px 3px 4px; text-align: center;} .toolbarBox ul.cc_button li {color: #666666; float: left; height: 48px; list-style: none outside none; padding: 1px 1px 3px 4px; text-align: center;}
.toolbarBox a.toolbar_btn { border:1px solid #f8f8f8; min-width:50px; border-width: 1px; font-size:11px;cursor: pointer; display: block; float: left; padding: 3px 5px; white-space: nowrap; text-shadow: 0 1px 0 #ffffff;} .toolbarBox a.toolbar_btn { border:1px solid #f8f8f8; min-width:50px; border-width: 1px; font-size:11px;cursor: pointer; display: block; float: left; padding: 3px 5px; white-space: nowrap; text-shadow: 0 1px 0 #ffffff;}
.toolbarBox a.toolbar_btn:hover { background-color:#fff; border:1px inset #ccc; border-radius:3px;-moz-border-radius:3px; -webkit-border-radius:3px;-o-border-radius:3px;} .toolbarBox a.toolbar_btn:hover { background-color:#fff; border:1px inset #ccc; border-radius:3px;-moz-border-radius:3px; -webkit-border-radius:3px;-o-border-radius:3px;}
.toolbarBox .toolbar_btn span{ display: block; float: none; height: 32px; margin: 0 auto; width: 32px; /*hacking ie7margin:0 !ie; position:relative !ie;*/ } .toolbarBox .toolbar_btn span{ display: block; float: none; height: 32px; margin: 0 auto; width: 32px}
.toolbarBox .process-icon-delete { background-image: url('../img/process-icon-delete.png');} .toolbarBox .process-icon-delete { background-image: url('../img/process-icon-delete.png');}
.toolbarBox .process-icon-duplicate { background-image: url('../img/process-icon-duplicate.png');} .toolbarBox .process-icon-duplicate { background-image: url('../img/process-icon-duplicate.png');}
.toolbarBox .process-icon-preview { background-image: url('../img/process-icon-preview.png');} .toolbarBox .process-icon-preview { background-image: url('../img/process-icon-preview.png');}
@@ -314,11 +313,9 @@
} }
div.fix-toolbar {border-bottom: 1px solid #E0E0E0;position:fixed;top:0;opacity:0.9;z-index:500;margin:auto} div.fix-toolbar {border-bottom: 1px solid #E0E0E0;position:fixed;top:0;opacity:0.9;z-index:500;margin:auto}
/*button upload files*/ //button upload files
#content .qq-upload-button { #content .qq-upload-button {
background: #e4e4e4 url('../img/bg-button-degrade.png') repeat-x scroll left top; background: #e4e4e4 url('../img/bg-button-degrade.png') repeat-x scroll left top;
background: -moz-linear-gradient(center top , #F9F9F9, #E3E3E3) repeat scroll 0 0 transparent; background: -moz-linear-gradient(center top , #F9F9F9, #E3E3E3) repeat scroll 0 0 transparent;
@@ -338,14 +335,14 @@
.file_upload_label {margin-top:5px;} .file_upload_label {margin-top:5px;}
/*leadin*/ //leadin
.leadin {} .leadin {}
.leadin .bloc-leadin{ padding:10px 3px;} .leadin .bloc-leadin{ padding:10px 3px;}
/*productBox*/ //productBox
#productBox { position:relative; width:100%; float:left;} #productBox { position:relative; width:100%; float:left;}
/*tab-pane*/ //tab-pane
form#product_form, form#access_form, form#cart_rule_form, #modules_tab_list { background-color:#ebedf4; border:1px solid #ccced7; min-height:404px; padding: 5px 10px 10px; margin-left:140px;} form#product_form, form#access_form, form#cart_rule_form, #modules_tab_list { background-color:#ebedf4; border:1px solid #ccced7; min-height:404px; padding: 5px 10px 10px; margin-left:140px;}
#modules_tab_list {min-height: inherit} #modules_tab_list {min-height: inherit}
#content form.adminstockmanagement {margin-left:0px;} #content form.adminstockmanagement {margin-left:0px;}
@@ -367,14 +364,14 @@
#categories-treeview { } #categories-treeview { }
#product-tab-content-3-Associations .Association td.col-left { width:200px;} #product-tab-content-3-Associations .Association td.col-left { width:200px;}
/*FILTER MODULE*/ //FILTER MODULE
.filter-module { background-color:#ebedf4; border:1px solid #c2c4d9; padding:10px; display:block; min-height:35px;} .filter-module { background-color:#ebedf4; border:1px solid #c2c4d9; padding:10px; display:block; min-height:35px;}
.filter-module #filternameForm {float:left; margin-right:30px;} .filter-module #filternameForm {float:left; margin-right:30px;}
.filter-module label {width:auto;} .filter-module label {width:auto;}
.filter-module .select-filter { float:left;} .filter-module .select-filter { float:left;}
.filter-module .button-filter { float:right;} .filter-module .button-filter { float:right;}
/*FILTER STOCK*/ //FILTER STOCK
.filter-stock { background-color:#ebedf4; border:1px solid #c2c4d9; margin-bottom:15px; padding:10px; display:block; min-height:25px;} .filter-stock { background-color:#ebedf4; border:1px solid #c2c4d9; margin-bottom:15px; padding:10px; display:block; min-height:25px;}
.filter-stock #stock_instant_state {float:left; margin-right:30px;} .filter-stock #stock_instant_state {float:left; margin-right:30px;}
.filter-stock label {width:auto;} .filter-stock label {width:auto;}
@@ -387,7 +384,7 @@
.filter-stock-extended .select-filter { float:left;} .filter-stock-extended .select-filter { float:left;}
.filter-stock-extended .button-filter { float:right;} .filter-stock-extended .button-filter { float:right;}
/*ADDONS LOGIN*/ //ADDONS LOGIN
#addons_login_div { background: #EBEDF4 url('../img/lock.png') no-repeat scroll left 5px;} #addons_login_div { background: #EBEDF4 url('../img/lock.png') no-repeat scroll left 5px;}
#addons_login_div form#addons_login_form { float:right;} #addons_login_div form#addons_login_form { float:right;}
#addons_login_div p {float:left; font-size:16px; color:#585A69; line-height:24px; text-shadow: 0 1px 0 #fff; margin:0; padding-left:25px;} #addons_login_div p {float:left; font-size:16px; color:#585A69; line-height:24px; text-shadow: 0 1px 0 #fff; margin:0; padding-left:25px;}
@@ -395,7 +392,7 @@
#addons_login_div input { float:left; margin-right:10px;} #addons_login_div input { float:left; margin-right:10px;}
#addons_login_div input#addons_login_button { margin-right: 0px; } #addons_login_div input#addons_login_button { margin-right: 0px; }
/*SIDEBAR*/ //SIDEBAR
.sidebar { position:relative; float:left; width:220px; display:inline;} .sidebar { position:relative; float:left; width:220px; display:inline;}
.sidebar h3 { background-color:#ebedf4; font-weight:bold; display:block; padding:5px;} .sidebar h3 { background-color:#ebedf4; font-weight:bold; display:block; padding:5px;}
.sidebar.navigation h3 {margin:0;} .sidebar.navigation h3 {margin:0;}
@@ -409,7 +406,7 @@
.sidebar ul.categorieList li div.count{ position:absolute; top:0; right:5px;} .sidebar ul.categorieList li div.count{ position:absolute; top:0; right:5px;}
.sidebar .categorieStatus { display:none;} .sidebar .categorieStatus { display:none;}
/*NAVIGATION ENGINE*/ //NAVIGATION ENGINE
.blocEngine { background-color:#eee;} .blocEngine { background-color:#eee;}
.blocEngine .rowForm { display: block;float: left;margin: 0; padding: 5px 0; } .blocEngine .rowForm { display: block;float: left;margin: 0; padding: 5px 0; }
.blocEngine .rowForm label { font-weight:normal;} .blocEngine .rowForm label { font-weight:normal;}
@@ -418,7 +415,7 @@
.blocEngine p { margin-top:10px;display:block; float:left;} .blocEngine p { margin-top:10px;display:block; float:left;}
/*STATCONTAINER*/ //STATCONTAINER
#statsContainer {margin-left:220px; padding:0 0 0 20px;} #statsContainer {margin-left:220px; padding:0 0 0 20px;}
#statsContainer #calendar, #statsContainer #calendar,
#referrersContainer #calendar{ background-color: #EEEEEE;border-top: 1px solid #CCCCCC; display: block; margin: 10px 0;min-height: 25px; padding: 5px;} #referrersContainer #calendar{ background-color: #EEEEEE;border-top: 1px solid #CCCCCC; display: block; margin: 10px 0;min-height: 25px; padding: 5px;}
@@ -499,9 +496,9 @@
#statsContainer .blocStats form { position:absolute; top:10px; right:5px;} #statsContainer .blocStats form { position:absolute; top:10px; right:5px;}
#statsContainer .blocStats form.checkup { position:relative; top:0; left:0;} #statsContainer .blocStats form.checkup { position:relative; top:0; left:0;}
#statsContainer .totalStats { font-size:16px; font-weight:bold;} #statsContainer .totalStats { font-size:16px; font-weight:bold;}
#statsContainer .blocStats .blocConversion { display:block; display:inline-table; min-height:80px /*!ie;*/ } #statsContainer .blocStats .blocConversion { display:block; display:inline-table; min-height:80px}
/*MODULECONTAINER*/ //MODULECONTAINER
#moduleContainer { margin-left:220px; padding:13px 0 0 20px;} #moduleContainer { margin-left:220px; padding:13px 0 0 20px;}
#moduleContainer .table tr th { height:40px;} #moduleContainer .table tr th { height:40px;}
#moduleContainer .table tr td { font-size:12px; vertical-align:top; padding: 5px 7px 0; border-top:1px solid #ccc; border-bottom:none;} #moduleContainer .table tr td { font-size:12px; vertical-align:top; padding: 5px 7px 0; border-top:1px solid #ccc; border-bottom:none;}
@@ -529,7 +526,7 @@
#moduleContainer .moduleGridDesc h3 { color:#3A6EA7; margin:0;} #moduleContainer .moduleGridDesc h3 { color:#3A6EA7; margin:0;}
#moduleContainer ul.listing-grid-module li select { position:absolute; top:0; right:0px; } #moduleContainer ul.listing-grid-module li select { position:absolute; top:0; right:0px; }
/*TAB MODULES LIST*/ //TAB MODULES LIST
#modules_list_container_tab #modules_list_container_content{ #modules_list_container_tab #modules_list_container_content{
list-style-type:none; list-style-type:none;
@@ -570,20 +567,19 @@
.default_modules_list_display_type #modules_list_container_content li table {border:solid 1px #ccc;height:105px;width:100%;margin-bottom:10px} .default_modules_list_display_type #modules_list_container_content li table {border:solid 1px #ccc;height:105px;width:100%;margin-bottom:10px}
#modules_list_container_tab ul li {height:105px} #modules_list_container_tab ul li {height:105px}
/******** ie7 ******/ //******* ie7 *****
.ie7 #modules_list_container_tab #modules_list_container_content li{zoom:1;display:inline;} .ie7 #modules_list_container_tab #modules_list_container_content li{zoom:1;display:inline;}
.ie7 #modules_list_container_content li table {width: 21%;} .ie7 #modules_list_container_content li table {width: 21%;}
.ie7 #modules_list_container_content li table td .btn_right{width:100%;float:right;} .ie7 #modules_list_container_content li table td .btn_right{width:100%;float:right;}
.ie7 #modules_list_container_content li table td .btn_right select{float:left;} .ie7 #modules_list_container_content li table td .btn_right select{float:left;}
.ie7 #modules_list_container_content li table td a.button{display:block;float:right;} .ie7 #modules_list_container_content li table td a.button{display:block;float:right;}
/*MODULE POSITION*/ //MODULE POSITION
.blocLiveEdit { float:right; clear:right; background-color: #EBEDF4; border: 1px solid #C2C4D9;display: block; width:250px;} .blocLiveEdit { float:right; clear:right; background-color: #EBEDF4; border: 1px solid #C2C4D9;display: block; width:250px;}
.blocLiveEdit h2 { background: transparent url('../img/live_edit.png') no-repeat scroll 10px 10px; height: 40px; line-height: 50px;margin: 0; padding: 0 10px; text-indent: 40px;} .blocLiveEdit h2 { background: transparent url('../img/live_edit.png') no-repeat scroll 10px 10px; height: 40px; line-height: 50px;margin: 0; padding: 0 10px; text-indent: 40px;}
.blocLiveEdit p { padding: 0 10px;} .blocLiveEdit p { padding: 0 10px;}
.blocLiveEdit a.button {float: left; margin:10px; display: inline-block;} .blocLiveEdit a.button {float: left; margin:10px; display: inline-block;}
#modulePosition { width:100%; float:left; clear:left;} #modulePosition { width:100%; float:left; clear:left;}
#modulePosition .table tr th { height:40px;} #modulePosition .table tr th { height:40px;}
#modulePosition form{ margin-right:270px;} #modulePosition form{ margin-right:270px;}
@@ -601,13 +597,13 @@
ul.listForm li {padding-bottom:3px;} ul.listForm li {padding-bottom:3px;}
/*FOOTER*/ //FOOTER
#footer {height:40px; font-size:12px;clear:both;font-size:0.9em;color:#666666} #footer {height:40px; font-size:12px;clear:both;font-size:0.9em;color:#666666}
#footer .footerLeft { float:left; margin-left:10px;} #footer .footerLeft { float:left; margin-left:10px;}
#footer .footerRight {float:right; margin-right:10px;} #footer .footerRight {float:right; margin-right:10px;}
#footer .footer_link, #footer .footer_link:hover { color:#268CCD;} #footer .footer_link, #footer .footer_link:hover { color:#268CCD;}
/*DASHBOARD*/ //DASHBOARD
.pageTitleHome { font-size: 1.6em; font-weight: normal; margin:0; padding:10px 0;} .pageTitleHome { font-size: 1.6em; font-weight: normal; margin:0; padding:10px 0;}
.pageTitleHome h3 { font-weight: normal; margin:0;} .pageTitleHome h3 { font-weight: normal; margin:0;}
#dashboard { background-color: #EBEDF4; border: 1px solid #C2C4D9; display: block; padding: 10px; position: relative; min-width:1200px;} #dashboard { background-color: #EBEDF4; border: 1px solid #C2C4D9; display: block; padding: 10px; position: relative; min-width:1200px;}
@@ -663,15 +659,16 @@
background: -o-linear-gradient(top, #ddd, #aaa); background: -o-linear-gradient(top, #ddd, #aaa);
background: -webkit-linear-gradient(top, #ddd, #aaa); background: -webkit-linear-gradient(top, #ddd, #aaa);
background: linear-gradient(top, #ddd, #aaa); background: linear-gradient(top, #ddd, #aaa);
color: #666 color: #666;
} }
/******** CREATE AN ORDER **************/ //******* CREATE AN ORDER *************
#carrier_form label{padding-top:0} #carrier_form label{padding-top:0}
#carrier_form input{margin-top:3px} #carrier_form input{margin-top:3px}
/************** SCENE *****************/ //************* SCENE ****************
#large_scene_image { clear:both; border:1px solid transparent;}
#large_scene_image{clear:both;border:1px solid transparent;}
} }
@@ -23,7 +23,7 @@ $gray-lighter: lighten(#000, 93.5%) ; //#eee
//$brand-primary: #1EAEC0 ; //bleu turquoise //$brand-primary: #1EAEC0 ; //bleu turquoise
//$brand-primary: #33556E ; //$brand-primary: #33556E ;
//$brand-primary: #7F8AAE ; //$brand-primary: #7F8AAE ;
$brand-primary: #173741 ; $brand-primary: #1D7878 ;
$brand-success: #5cb85c ; $brand-success: #5cb85c ;
@@ -89,7 +89,7 @@ $border-radius-base: 3px ;
// $table-bg: transparent ; overall background-color // $table-bg: transparent ; overall background-color
// $table-bg-accent: #f9f9f9 ; for striping // $table-bg-accent: #f9f9f9 ; for striping
$table-bg-hover: lighten($secondary-color,35%) ; $table-bg-hover: $bg-panel-heading-color ;
// $table-border-color: #ddd ; table and cell border // $table-border-color: #ddd ; table and cell border
@@ -395,37 +395,37 @@ $well-bg: darken($bg-content-color,5%) ;
// -------------------------------------------------- // --------------------------------------------------
// Tiny screen / phone // Tiny screen / phone
// $screen-tiny: 480px ; $screen-tiny: 480px ;
// $screen-phone: $screen-tiny ; $screen-phone: $screen-tiny ;
// Small screen / tablet // Small screen / tablet
// $screen-small: 768px ; $screen-small: 768px ;
// $screen-tablet: $screen-small ; $screen-tablet: $screen-small ;
// Medium screen / desktop // Medium screen / desktop
// $screen-medium: 992px ; $screen-medium: 992px ;
// $screen-desktop: $screen-medium ; $screen-desktop: $screen-medium ;
// So media queries don't overlap when required, provide a maximum // So media queries don't overlap when required, provide a maximum
// $screen-small-max: ($screen-medium - 1) ; $screen-small-max: ($screen-medium - 1) ;
// $screen-tablet-max: $screen-small-max ; $screen-tablet-max: $screen-small-max ;
// Large screen / wide desktop // Large screen / wide desktop
// $screen-large: 1200px ; $screen-large: 1200px ;
// $screen-large-desktop: $screen-large ; $screen-large-desktop: $screen-large ;
// Container sizes // Container sizes
// -------------------------------------------------- // --------------------------------------------------
// Small screen / tablet // Small screen / tablet
// $container-tablet: 728px ; $container-tablet: 728px ;
// Medium screen / desktop // Medium screen / desktop
// $container-desktop: 940px ; $container-desktop: 940px ;
// Large screen / wide desktop // Large screen / wide desktop
// $container-large-desktop: 1170px ; $container-large-desktop: 1170px ;
// Grid system // Grid system
+298 -184
View File
@@ -1,6 +1,13 @@
/**
* bootstrap.js v3.0.0 by @fat and @mdo
* Copyright 2013 Twitter Inc.
* http://www.apache.org/licenses/LICENSE-2.0
*/
if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
/* ======================================================================== /* ========================================================================
* Bootstrap: transition.js v3.0.0 * Bootstrap: transition.js v3.0.0
* http://twitter.github.com/bootstrap/javascript.html#transitions * http://twbs.github.com/bootstrap/javascript.html#transitions
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
* *
@@ -40,14 +47,24 @@
} }
} }
// http://blog.alexmaccaw.com/css-transitions
$.fn.emulateTransitionEnd = function (duration) {
var called = false, $el = this
$(this).one($.support.transition.end, function () { called = true })
var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
setTimeout(callback, duration)
return this
}
$(function () { $(function () {
$.support.transition = transitionEnd() $.support.transition = transitionEnd()
}) })
}(window.jQuery); }(window.jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: alert.js v3.0.0 * Bootstrap: alert.js v3.0.0
* http://twitter.github.com/bootstrap/javascript.html#alerts * http://twbs.github.com/bootstrap/javascript.html#alerts
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
* *
@@ -103,7 +120,9 @@
} }
$.support.transition && $parent.hasClass('fade') ? $.support.transition && $parent.hasClass('fade') ?
$parent.on($.support.transition.end, removeElement) : $parent
.one($.support.transition.end, removeElement)
.emulateTransitionEnd(150) :
removeElement() removeElement()
} }
@@ -141,9 +160,10 @@
$(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
}(window.jQuery); }(window.jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: button.js v3.0.0 * Bootstrap: button.js v3.0.0
* http://twitter.github.com/bootstrap/javascript.html#buttons * http://twbs.github.com/bootstrap/javascript.html#buttons
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
* *
@@ -196,10 +216,13 @@
} }
Button.prototype.toggle = function () { Button.prototype.toggle = function () {
var $parent = this.$element.closest('[data-toggle="buttons-radio"]') var $parent = this.$element.closest('[data-toggle="buttons"]')
if ($parent) { if ($parent.length) {
$parent.find('.active').removeClass('active') var $input = this.$element.find('input')
.prop('checked', !this.$element.hasClass('active'))
.trigger('change')
if ($input.prop('type') === 'radio') $parent.find('.active').removeClass('active')
} }
this.$element.toggleClass('active') this.$element.toggleClass('active')
@@ -214,7 +237,7 @@
$.fn.button = function (option) { $.fn.button = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
var data = $this.data('button') var data = $this.data('bs.button')
var options = typeof option == 'object' && option var options = typeof option == 'object' && option
if (!data) $this.data('bs.button', (data = new Button(this, options))) if (!data) $this.data('bs.button', (data = new Button(this, options)))
@@ -243,12 +266,14 @@
var $btn = $(e.target) var $btn = $(e.target)
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
$btn.button('toggle') $btn.button('toggle')
e.preventDefault()
}) })
}(window.jQuery); }(window.jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: carousel.js v3.0.0 * Bootstrap: carousel.js v3.0.0
* http://twitter.github.com/bootstrap/javascript.html#carousel * http://twbs.github.com/bootstrap/javascript.html#carousel
* ======================================================================== * ========================================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
* *
@@ -289,6 +314,7 @@
Carousel.DEFAULTS = { Carousel.DEFAULTS = {
interval: 5000 interval: 5000
, pause: 'hover' , pause: 'hover'
, wrap: true
} }
Carousel.prototype.cycle = function (e) { Carousel.prototype.cycle = function (e) {
@@ -353,12 +379,15 @@
var fallback = type == 'next' ? 'first' : 'last' var fallback = type == 'next' ? 'first' : 'last'
var that = this var that = this
if (!$next.length) {
if (!this.options.wrap) return
$next = this.$element.find('.item')[fallback]()
}
this.sliding = true this.sliding = true
isCycling && this.pause() isCycling && this.pause()
$next = $next.length ? $next : this.$element.find('.item')[fallback]()
var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction }) var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction })
if ($next.hasClass('active')) return if ($next.hasClass('active')) return
@@ -378,12 +407,14 @@
$next[0].offsetWidth // force reflow $next[0].offsetWidth // force reflow
$active.addClass(direction) $active.addClass(direction)
$next.addClass(direction) $next.addClass(direction)
this.$element.one($.support.transition.end, function () { $active
$next.removeClass([type, direction].join(' ')).addClass('active') .one($.support.transition.end, function () {
$active.removeClass(['active', direction].join(' ')) $next.removeClass([type, direction].join(' ')).addClass('active')
that.sliding = false $active.removeClass(['active', direction].join(' '))
setTimeout(function () { that.$element.trigger('slid') }, 0) that.sliding = false
}) setTimeout(function () { that.$element.trigger('slid') }, 0)
})
.emulateTransitionEnd(600)
} else { } else {
this.$element.trigger(e) this.$element.trigger(e)
if (e.isDefaultPrevented()) return if (e.isDefaultPrevented()) return
@@ -408,7 +439,7 @@
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
var data = $this.data('bs.carousel') var data = $this.data('bs.carousel')
var options = $.extend({}, Carousel.DEFAULTS, typeof option == 'object' && option) var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
var action = typeof option == 'string' ? option : options.slide var action = typeof option == 'string' ? option : options.slide
if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
@@ -437,12 +468,13 @@
var $this = $(this), href var $this = $(this), href
var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
var options = $.extend({}, $target.data(), $this.data()) var options = $.extend({}, $target.data(), $this.data())
var slideIndex var slideIndex = $this.attr('data-slide-to')
if (slideIndex) options.interval = false
$target.carousel(options) $target.carousel(options)
if (slideIndex = $this.attr('data-slide-to')) { if (slideIndex = $this.attr('data-slide-to')) {
$target.data('bs.carousel').pause().to(slideIndex).cycle() $target.data('bs.carousel').to(slideIndex)
} }
e.preventDefault() e.preventDefault()
@@ -456,9 +488,10 @@
}) })
}(window.jQuery); }(window.jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: collapse.js v3.0.0 * Bootstrap: collapse.js v3.0.0
* http://twitter.github.com/bootstrap/javascript.html#collapse * http://twbs.github.com/bootstrap/javascript.html#collapse
* ======================================================================== * ========================================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
* *
@@ -502,63 +535,81 @@
Collapse.prototype.show = function () { Collapse.prototype.show = function () {
if (this.transitioning || this.$element.hasClass('in')) return if (this.transitioning || this.$element.hasClass('in')) return
var dimension = this.dimension() var startEvent = $.Event('show.bs.collapse')
var scroll = $.camelCase(['scroll', dimension].join('-')) this.$element.trigger(startEvent)
var actives = this.$parent && this.$parent.find('> .accordion-group > .in') if (startEvent.isDefaultPrevented()) return
var actives = this.$parent && this.$parent.find('> .panel > .in')
if (actives && actives.length) { if (actives && actives.length) {
var hasData = actives.data('collapse') var hasData = actives.data('bs.collapse')
if (hasData && hasData.transitioning) return if (hasData && hasData.transitioning) return
actives.collapse('hide') actives.collapse('hide')
hasData || actives.data('collapse', null) hasData || actives.data('bs.collapse', null)
} }
this.$element[dimension](0)
this.transition('addClass', $.Event('show.bs.collapse'), 'shown.bs.collapse')
if ($.support.transition) this.$element[dimension](this.$element[0][scroll])
}
Collapse.prototype.hide = function () {
if (this.transitioning || !this.$element.hasClass('in')) return
var dimension = this.dimension()
this.reset(this.$element[dimension]())
this.transition('removeClass', $.Event('hide.bs.collapse'), 'hidden')
this.$element[dimension](0)
}
Collapse.prototype.reset = function (size) {
var dimension = this.dimension() var dimension = this.dimension()
this.$element this.$element
.removeClass('collapse') .removeClass('collapse')
[dimension](size || 'auto') .addClass('collapsing')
[0].offsetWidth [dimension](0)
this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')
return this
}
Collapse.prototype.transition = function (method, startEvent, completeEvent) {
var that = this
var complete = function () {
if (startEvent.type == 'show') that.reset()
that.transitioning = 0
that.$element.trigger(completeEvent)
}
this.$element.trigger(startEvent)
if (startEvent.isDefaultPrevented()) return
this.transitioning = 1 this.transitioning = 1
this.$element[method]('in') var complete = function () {
this.$element
.removeClass('collapsing')
.addClass('in')
[dimension]('auto')
this.transitioning = 0
this.$element.trigger('shown.bs.collapse')
}
$.support.transition && this.$element.hasClass('collapse') ? if (!$.support.transition) return complete.call(this)
this.$element.one($.support.transition.end, complete) :
complete() var scrollSize = $.camelCase(['scroll', dimension].join('-'))
this.$element
.one($.support.transition.end, $.proxy(complete, this))
.emulateTransitionEnd(350)
[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')
.removeClass('in')
this.transitioning = 1
var complete = function () {
this.transitioning = 0
this.$element
.trigger('hidden.bs.collapse')
.removeClass('collapsing')
.addClass('collapse')
}
if (!$.support.transition) return complete.call(this)
this.$element
[dimension](0)
.one($.support.transition.end, $.proxy(complete, this))
.emulateTransitionEnd(350)
} }
Collapse.prototype.toggle = function () { Collapse.prototype.toggle = function () {
@@ -574,10 +625,10 @@
$.fn.collapse = function (option) { $.fn.collapse = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
var data = $this.data('collapse') var data = $this.data('bs.collapse')
var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
if (!data) $this.data('collapse', (data = new Collapse(this, options))) if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
if (typeof option == 'string') data[option]() if (typeof option == 'string') data[option]()
}) })
} }
@@ -598,20 +649,29 @@
// ================= // =================
$(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (e) { $(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (e) {
var $this = $(this), href var $this = $(this), href
var target = $this.attr('data-target') var target = $this.attr('data-target')
|| e.preventDefault() || e.preventDefault()
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
var option = $(target).data('collapse') ? 'toggle' : $this.data() var $target = $(target)
var data = $target.data('bs.collapse')
var option = data ? 'toggle' : $this.data()
var parent = $this.attr('data-parent')
var $parent = parent && $(parent)
$this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') if (!data || !data.transitioning) {
$(target).collapse(option) if ($parent) $parent.find('[data-toggle=collapse][data-parent="' + parent + '"]').not($this).addClass('collapsed')
$this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
}
$target.collapse(option)
}) })
}(window.jQuery); }(window.jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: dropdown.js v3.0.0 * Bootstrap: dropdown.js v3.0.0
* http://twitter.github.com/bootstrap/javascript.html#dropdowns * http://twbs.github.com/bootstrap/javascript.html#dropdowns
* ======================================================================== * ========================================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
* *
@@ -651,9 +711,9 @@
clearMenus() clearMenus()
if (!isActive) { if (!isActive) {
if ('ontouchstart' in document.documentElement) { if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
// if mobile we we use a backdrop because click events don't delegate // if mobile we we use a backdrop because click events don't delegate
$('<div class="dropdown-backdrop"/>').insertBefore($(this)).on('click', clearMenus) $('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
} }
$parent.trigger(e = $.Event('show.bs.dropdown')) $parent.trigger(e = $.Event('show.bs.dropdown'))
@@ -663,9 +723,9 @@
$parent $parent
.toggleClass('open') .toggleClass('open')
.trigger('shown.bs.dropdown') .trigger('shown.bs.dropdown')
}
$this.focus() $this.focus()
}
return false return false
} }
@@ -756,7 +816,6 @@
// APPLY TO STANDARD DROPDOWN ELEMENTS // APPLY TO STANDARD DROPDOWN ELEMENTS
// =================================== // ===================================
$(document) $(document)
.on('click.bs.dropdown.data-api', clearMenus) .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', '.dropdown form', function (e) { e.stopPropagation() })
@@ -764,9 +823,10 @@
.on('keydown.bs.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) .on('keydown.bs.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
}(window.jQuery); }(window.jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: modal.js v3.0.0 * Bootstrap: modal.js v3.0.0
* http://twitter.github.com/bootstrap/javascript.html#modals * http://twbs.github.com/bootstrap/javascript.html#modals
* ======================================================================== * ========================================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
* *
@@ -791,11 +851,11 @@
var Modal = function (element, options) { var Modal = function (element, options) {
this.options = options this.options = options
this.$element = $(element).delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this)) this.$element = $(element)
this.$backdrop = this.$backdrop =
this.isShown = null this.isShown = null
if (this.options.remote) this.$element.find('.modal-body').load(this.options.remote) if (this.options.remote) this.$element.load(this.options.remote)
} }
Modal.DEFAULTS = { Modal.DEFAULTS = {
@@ -804,13 +864,13 @@
, show: true , show: true
} }
Modal.prototype.toggle = function () { Modal.prototype.toggle = function (_relatedTarget) {
return this[!this.isShown ? 'show' : 'hide']() return this[!this.isShown ? 'show' : 'hide'](_relatedTarget)
} }
Modal.prototype.show = function () { Modal.prototype.show = function (_relatedTarget) {
var that = this var that = this
var e = $.Event('show.bs.modal') var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
this.$element.trigger(e) this.$element.trigger(e)
@@ -820,6 +880,8 @@
this.escape() this.escape()
this.$element.on('click.dismiss.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
this.backdrop(function () { this.backdrop(function () {
var transition = $.support.transition && that.$element.hasClass('fade') var transition = $.support.transition && that.$element.hasClass('fade')
@@ -839,9 +901,15 @@
that.enforceFocus() that.enforceFocus()
var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
transition ? transition ?
that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown.bs.modal') }) : that.$element.find('.modal-dialog') // wait for modal to slide in
that.$element.focus().trigger('shown.bs.modal') .one($.support.transition.end, function () {
that.$element.focus().trigger(e)
})
.emulateTransitionEnd(300) :
that.$element.focus().trigger(e)
}) })
} }
@@ -863,9 +931,12 @@
this.$element this.$element
.removeClass('in') .removeClass('in')
.attr('aria-hidden', true) .attr('aria-hidden', true)
.off('click.dismiss.modal')
$.support.transition && this.$element.hasClass('fade') ? $.support.transition && this.$element.hasClass('fade') ?
this.hideWithTransition() : this.$element
.one($.support.transition.end, $.proxy(this.hideModal, this))
.emulateTransitionEnd(300) :
this.hideModal() this.hideModal()
} }
@@ -889,19 +960,6 @@
} }
} }
Modal.prototype.hideWithTransition = function () {
var that = this
var timeout = setTimeout(function () {
that.$element.off($.support.transition.end)
that.hideModal()
}, 500)
this.$element.one($.support.transition.end, function () {
clearTimeout(timeout)
that.hideModal()
})
}
Modal.prototype.hideModal = function () { Modal.prototype.hideModal = function () {
var that = this var that = this
this.$element.hide() this.$element.hide()
@@ -926,11 +984,12 @@
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />') this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
.appendTo(document.body) .appendTo(document.body)
this.$backdrop.click( this.$element.on('click.dismiss.modal', $.proxy(function (e) {
this.options.backdrop == 'static' ? if (e.target !== e.currentTarget) return
$.proxy(this.$element[0].focus, this.$element[0]) this.options.backdrop == 'static'
: $.proxy(this.hide, this) ? this.$element[0].focus.call(this.$element[0])
) : this.hide.call(this)
}, this))
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
@@ -939,14 +998,18 @@
if (!callback) return if (!callback) return
doAnimate ? doAnimate ?
this.$backdrop.one($.support.transition.end, callback) : this.$backdrop
.one($.support.transition.end, callback)
.emulateTransitionEnd(150) :
callback() callback()
} else if (!this.isShown && this.$backdrop) { } else if (!this.isShown && this.$backdrop) {
this.$backdrop.removeClass('in') this.$backdrop.removeClass('in')
$.support.transition && this.$element.hasClass('fade')? $.support.transition && this.$element.hasClass('fade')?
this.$backdrop.one($.support.transition.end, callback) : this.$backdrop
.one($.support.transition.end, callback)
.emulateTransitionEnd(150) :
callback() callback()
} else if (callback) { } else if (callback) {
@@ -960,15 +1023,15 @@
var old = $.fn.modal var old = $.fn.modal
$.fn.modal = function (option) { $.fn.modal = function (option, _relatedTarget) {
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.modal')
var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option) var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
if (!data) $this.data('bs.modal', (data = new Modal(this, options))) if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
if (typeof option == 'string') data[option]() if (typeof option == 'string') data[option](_relatedTarget)
else if (options.show) data.show() else if (options.show) data.show(_relatedTarget)
}) })
} }
@@ -991,25 +1054,26 @@
var $this = $(this) var $this = $(this)
var href = $this.attr('href') var href = $this.attr('href')
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7 var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
var option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data()) var option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
e.preventDefault() e.preventDefault()
$target $target
.modal(option) .modal(option, this)
.one('hide', function () { .one('hide', function () {
$this.focus() $this.is(':visible') && $this.focus()
}) })
}) })
var $body = $(document.body) $(document)
.on('bs.modal.shown', '.modal', function () { $body.addClass('modal-open') }) .on('show.bs.modal', '.modal', function () { $(document.body).addClass('modal-open') })
.on('bs.modal.hidden', '.modal', function () { $body.removeClass('modal-open') }) .on('hidden.bs.modal', '.modal', function () { $(document.body).removeClass('modal-open') })
}(window.jQuery); }(window.jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: tooltip.js v3.0.0 * Bootstrap: tooltip.js v3.0.0
* http://twitter.github.com/bootstrap/javascript.html#affix * http://twbs.github.com/bootstrap/javascript.html#tooltip
* Inspired by the original jQuery.tipsy by Jason Frame * Inspired by the original jQuery.tipsy by Jason Frame
* ======================================================================== * ========================================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@@ -1073,7 +1137,7 @@
var eventIn = trigger == 'hover' ? 'mouseenter' : 'focus' var eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
var eventOut = trigger == 'hover' ? 'mouseleave' : 'blur' var eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) 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.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
} }
} }
@@ -1100,37 +1164,43 @@
return options return options
} }
Tooltip.prototype.enter = function (obj) { Tooltip.prototype.getDelegateOptions = function () {
var defaults = this.getDefaults()
var options = {} var options = {}
var defaults = this.getDefaults()
this._options && $.each(this._options, function (key, value) { this._options && $.each(this._options, function (key, value) {
if (defaults[key] != value) options[key] = value if (defaults[key] != value) options[key] = value
}) })
return options
}
Tooltip.prototype.enter = function (obj) {
var self = obj instanceof this.constructor ? var self = obj instanceof this.constructor ?
obj : $(obj.currentTarget)[this.type](options).data('bs.' + this.type) obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type)
clearTimeout(self.timeout)
self.hoverState = 'in'
if (!self.options.delay || !self.options.delay.show) return self.show() if (!self.options.delay || !self.options.delay.show) return self.show()
clearTimeout(this.timeout) self.timeout = setTimeout(function () {
self.hoverState = 'in'
this.timeout = setTimeout(function () {
if (self.hoverState == 'in') self.show() if (self.hoverState == 'in') self.show()
}, self.options.delay.show) }, self.options.delay.show)
} }
Tooltip.prototype.leave = function (obj) { Tooltip.prototype.leave = function (obj) {
var self = obj instanceof this.constructor ? var self = obj instanceof this.constructor ?
obj : $(obj.currentTarget)[this.type](this._options).data('bs.' + this.type) obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type)
clearTimeout(this.timeout) clearTimeout(self.timeout)
self.hoverState = 'out'
if (!self.options.delay || !self.options.delay.hide) return self.hide() if (!self.options.delay || !self.options.delay.hide) return self.hide()
self.hoverState = 'out' self.timeout = setTimeout(function () {
this.timeout = setTimeout(function () {
if (self.hoverState == 'out') self.hide() if (self.hoverState == 'out') self.hide()
}, self.options.delay.hide) }, self.options.delay.hide)
} }
@@ -1153,33 +1223,44 @@
this.options.placement.call(this, $tip[0], this.$element[0]) : this.options.placement.call(this, $tip[0], this.$element[0]) :
this.options.placement this.options.placement
var autoToken = /\s?auto?\s?/i
var autoPlace = autoToken.test(placement)
if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
$tip $tip
.detach() .detach()
.css({ top: 0, left: 0, display: 'block' }) .css({ top: 0, left: 0, display: 'block' })
.addClass(placement)
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
var tp
var pos = this.getPosition() var pos = this.getPosition()
var actualWidth = $tip[0].offsetWidth var actualWidth = $tip[0].offsetWidth
var actualHeight = $tip[0].offsetHeight var actualHeight = $tip[0].offsetHeight
switch (placement) { if (autoPlace) {
case 'bottom': var $parent = this.$element.parent()
tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
break var orgPlacement = placement
case 'top': var docScroll = document.documentElement.scrollTop || document.body.scrollTop
tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2} var parentWidth = this.options.container == 'body' ? window.innerWidth : $parent.outerWidth()
break var parentHeight = this.options.container == 'body' ? window.innerHeight : $parent.outerHeight()
case 'left': var parentLeft = this.options.container == 'body' ? 0 : $parent.offset().left
tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
break placement = placement == 'bottom' && pos.top + pos.height + actualHeight - docScroll > parentHeight ? 'top' :
case 'right': placement == 'top' && pos.top - docScroll - actualHeight < 0 ? 'bottom' :
tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width} placement == 'right' && pos.right + actualWidth > parentWidth ? 'left' :
break placement == 'left' && pos.left - actualWidth < parentLeft ? 'right' :
placement
$tip
.removeClass(orgPlacement)
.addClass(placement)
} }
this.applyPlacement(tp, placement) var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
this.applyPlacement(calculatedOffset, placement)
this.$element.trigger('shown.bs.' + this.type) this.$element.trigger('shown.bs.' + this.type)
} }
} }
@@ -1190,23 +1271,34 @@
var width = $tip[0].offsetWidth var width = $tip[0].offsetWidth
var height = $tip[0].offsetHeight 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 = offset.top + marginTop
offset.left = offset.left + marginLeft
$tip $tip
.offset(offset) .offset(offset)
.addClass(placement)
.addClass('in') .addClass('in')
// check to see if placing tip in new offset caused the tip to resize itself
var actualWidth = $tip[0].offsetWidth var actualWidth = $tip[0].offsetWidth
var actualHeight = $tip[0].offsetHeight var actualHeight = $tip[0].offsetHeight
if (placement == 'top' && actualHeight != height) { if (placement == 'top' && actualHeight != height) {
replace = true replace = true
offset.top = offset.top + height - actualHeight offset.top = offset.top + height - actualHeight
} }
if (placement == 'bottom' || placement == 'top') { if (/bottom|top/.test(placement)) {
var delta = 0 var delta = 0
if (offset.left < 0){ if (offset.left < 0) {
delta = offset.left * -2 delta = offset.left * -2
offset.left = 0 offset.left = 0
@@ -1241,26 +1333,21 @@
var $tip = this.tip() var $tip = this.tip()
var e = $.Event('hide.bs.' + this.type) var e = $.Event('hide.bs.' + this.type)
function complete() {
if (that.hoverState != 'in') $tip.detach()
}
this.$element.trigger(e) this.$element.trigger(e)
if (e.isDefaultPrevented()) return if (e.isDefaultPrevented()) return
$tip.removeClass('in') $tip.removeClass('in')
function removeWithAnimation() {
var timeout = setTimeout(function () {
$tip.off($.support.transition.end).detach()
}, 500)
$tip.one($.support.transition.end, function () {
clearTimeout(timeout)
$tip.detach()
})
}
$.support.transition && this.$tip.hasClass('fade') ? $.support.transition && this.$tip.hasClass('fade') ?
removeWithAnimation() : $tip
$tip.detach() .one($.support.transition.end, complete)
.emulateTransitionEnd(150) :
complete()
this.$element.trigger('hidden.bs.' + this.type) this.$element.trigger('hidden.bs.' + this.type)
@@ -1286,6 +1373,13 @@
}, this.$element.offset()) }, this.$element.offset())
} }
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.getTitle = function () { Tooltip.prototype.getTitle = function () {
var title var title
var $e = this.$element var $e = this.$element
@@ -1301,8 +1395,8 @@
return this.$tip = this.$tip || $(this.options.template) return this.$tip = this.$tip || $(this.options.template)
} }
Tooltip.prototype.arrow =function(){ Tooltip.prototype.arrow = function () {
return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow") return this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')
} }
Tooltip.prototype.validate = function () { Tooltip.prototype.validate = function () {
@@ -1326,7 +1420,7 @@
} }
Tooltip.prototype.toggle = function (e) { Tooltip.prototype.toggle = function (e) {
var self = e ? $(e.currentTarget)[this.type](this._options).data('bs.' + this.type) : this var self = e ? $(e.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type) : this
self.tip().hasClass('in') ? self.leave(self) : self.enter(self) self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
} }
@@ -1363,9 +1457,10 @@
} }
}(window.jQuery); }(window.jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: popover.js v3.0.0 * Bootstrap: popover.js v3.0.0
* http://twitter.github.com/bootstrap/javascript.html#popovers * http://twbs.github.com/bootstrap/javascript.html#popovers
* ======================================================================== * ========================================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
* *
@@ -1392,6 +1487,8 @@
this.init('popover', element, options) this.init('popover', element, options)
} }
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
Popover.DEFAULTS = $.extend({} , $.fn.tooltip.Constructor.DEFAULTS, { Popover.DEFAULTS = $.extend({} , $.fn.tooltip.Constructor.DEFAULTS, {
placement: 'right' placement: 'right'
, trigger: 'click' , trigger: 'click'
@@ -1421,7 +1518,9 @@
$tip.removeClass('fade top bottom left right in') $tip.removeClass('fade top bottom left right in')
$tip.find('.popover-title:empty').hide() // 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()
} }
Popover.prototype.hasContent = function () { Popover.prototype.hasContent = function () {
@@ -1429,11 +1528,17 @@
} }
Popover.prototype.getContent = function () { Popover.prototype.getContent = function () {
var content = typeof this.options.content == 'function' ? var $e = this.$element
this.options.content.call(this.$element[0]) : var o = this.options
this.options.content
return content || this.$element.attr('data-content') return $e.attr('data-content')
|| (typeof o.content == 'function' ?
o.content.call($e[0]) :
o.content)
}
Popover.prototype.arrow = function () {
return this.$arrow = this.$arrow || this.tip().find('.arrow')
} }
Popover.prototype.tip = function () { Popover.prototype.tip = function () {
@@ -1441,10 +1546,6 @@
return this.$tip return this.$tip
} }
Popover.prototype.destroy = function () {
this.hide().$element.off('.' + this.type).removeData(this.type)
}
// POPOVER PLUGIN DEFINITION // POPOVER PLUGIN DEFINITION
// ========================= // =========================
@@ -1474,9 +1575,10 @@
} }
}(window.jQuery); }(window.jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: scrollspy.js v3.0.0 * Bootstrap: scrollspy.js v3.0.0
* http://twitter.github.com/bootstrap/javascript.html#scrollspy * http://twbs.github.com/bootstrap/javascript.html#scrollspy
* ======================================================================== * ========================================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
* *
@@ -1502,10 +1604,10 @@
function ScrollSpy(element, options) { function ScrollSpy(element, options) {
var href var href
var process = $.proxy(this.process, this) var process = $.proxy(this.process, this)
var $element = $(element).is('body') ? $(window) : $(element)
this.$element = $(element).is('body') ? $(window) : $(element)
this.$body = $('body') this.$body = $('body')
this.$scrollElement = $element.on('scroll.bs.scroll-spy.data-api', process) this.$scrollElement = this.$element.on('scroll.bs.scroll-spy.data-api', process)
this.options = $.extend({}, ScrollSpy.DEFAULTS, options) this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
this.selector = (this.options.target this.selector = (this.options.target
|| ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
@@ -1523,6 +1625,8 @@
} }
ScrollSpy.prototype.refresh = function () { ScrollSpy.prototype.refresh = function () {
var offsetMethod = this.$element[0] == window ? 'offset' : 'position'
this.offsets = $([]) this.offsets = $([])
this.targets = $([]) this.targets = $([])
@@ -1536,7 +1640,7 @@
return ($href return ($href
&& $href.length && $href.length
&& [[ $href.position().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]]) || null && [[ $href[offsetMethod]().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]]) || null
}) })
.sort(function (a, b) { return a[0] - b[0] }) .sort(function (a, b) { return a[0] - b[0] })
.each(function () { .each(function () {
@@ -1630,9 +1734,10 @@
}) })
}(window.jQuery); }(window.jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: tab.js v3.0.0 * Bootstrap: tab.js v3.0.0
* http://twitter.github.com/bootstrap/javascript.html#tabs * http://twbs.github.com/bootstrap/javascript.html#tabs
* ======================================================================== * ========================================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
* *
@@ -1720,7 +1825,9 @@
} }
transition ? transition ?
$active.one($.support.transition.end, next) : $active
.one($.support.transition.end, next)
.emulateTransitionEnd(150) :
next() next()
$active.removeClass('in') $active.removeClass('in')
@@ -1763,9 +1870,10 @@
}) })
}(window.jQuery); }(window.jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: affix.js v3.0.0 * Bootstrap: affix.js v3.0.0
* http://twitter.github.com/bootstrap/javascript.html#affix * http://twbs.github.com/bootstrap/javascript.html#affix
* ======================================================================== * ========================================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
* *
@@ -1801,6 +1909,8 @@
this.checkPosition() this.checkPosition()
} }
Affix.RESET = 'affix affix-top affix-bottom'
Affix.DEFAULTS = { Affix.DEFAULTS = {
offset: 0 offset: 0
} }
@@ -1818,7 +1928,6 @@
var offset = this.options.offset var offset = this.options.offset
var offsetTop = offset.top var offsetTop = offset.top
var offsetBottom = offset.bottom var offsetBottom = offset.bottom
var reset = 'affix affix-top affix-bottom'
if (typeof offset != 'object') offsetBottom = offsetTop = offset if (typeof offset != 'object') offsetBottom = offsetTop = offset
if (typeof offsetTop == 'function') offsetTop = offset.top() if (typeof offsetTop == 'function') offsetTop = offset.top()
@@ -1829,11 +1938,16 @@
offsetTop != null && (scrollTop <= offsetTop) ? 'top' : false offsetTop != null && (scrollTop <= offsetTop) ? 'top' : false
if (this.affixed === affix) return if (this.affixed === affix) return
if (this.unpin) this.$element.css('top', '')
this.affixed = affix this.affixed = affix
this.unpin = affix == 'bottom' ? position.top - scrollTop : null this.unpin = affix == 'bottom' ? position.top - scrollTop : null
this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : '')) this.$element.removeClass(Affix.RESET).addClass('affix' + (affix ? '-' + affix : ''))
if (affix == 'bottom') {
this.$element.offset({ top: document.body.offsetHeight - offsetBottom - this.$element.height() })
}
} }
@@ -2,11 +2,11 @@
<div class="row"> <div class="row">
<div class="col-lg-12"> <div class="col-lg-12">
<div class="btn-group pull-right"> <div class="btn-group pull-right">
<a class="btn btn-default btn-small{if !isset($smarty.get.select)} active{/if}" href="index.php?controller={$smarty.get.controller|htmlentities}&token={$smarty.get.token|htmlentities}"> <a class="btn btn-default {if !isset($smarty.get.select)} active{/if}" href="index.php?controller={$smarty.get.controller|htmlentities}&token={$smarty.get.token|htmlentities}">
<i class="icon-list"></i> <i class="icon-list"></i>
{l s='Normal view'} {l s='Normal view'}
</a> </a>
<a class="btn btn-default btn-small{if $smarty.get.select == 'favorites'} active{/if}" href="index.php?controller={$smarty.get.controller|htmlentities}&token={$smarty.get.token|htmlentities}&select=favorites"> <a class="btn btn-default {if $smarty.get.select == 'favorites'} active{/if}" href="index.php?controller={$smarty.get.controller|htmlentities}&token={$smarty.get.token|htmlentities}&select=favorites">
<i class="icon-star"></i> <i class="icon-star"></i>
{l s='Favorites view'} {l s='Favorites view'}
</a> </a>
@@ -32,11 +32,11 @@
</th> </th>
<th colspan="3"> <th colspan="3">
<div class="btn-group pull-right"> <div class="btn-group pull-right">
<a class="btn btn-default btn-small{if !isset($smarty.get.select)} active{/if}" href="index.php?controller={$smarty.get.controller|htmlentities}&token={$smarty.get.token|htmlentities}"> <a class="btn btn-default {if !isset($smarty.get.select)} active{/if}" href="index.php?controller={$smarty.get.controller|htmlentities}&token={$smarty.get.token|htmlentities}">
<i class="icon-list"></i> <i class="icon-list"></i>
{l s='Normal view'} {l s='Normal view'}
</a> </a>
<a class="btn btn-default btn-small{if $smarty.get.select == 'favorites'} active{/if}" href="index.php?controller={$smarty.get.controller|htmlentities}&token={$smarty.get.token|htmlentities}&select=favorites"> <a class="btn btn-default {if $smarty.get.select == 'favorites'} active{/if}" href="index.php?controller={$smarty.get.controller|htmlentities}&token={$smarty.get.token|htmlentities}&select=favorites">
<i class="icon-star"></i> <i class="icon-star"></i>
{l s='Favorites view'} {l s='Favorites view'}
</a> </a>
@@ -24,7 +24,7 @@
*} *}
{if $add_permission eq '1'} {if $add_permission eq '1'}
<div class="panel"> <div class="panel">
{if isset($logged_on_addons)} {if isset($logged_on_addons)}
<!--start addons login--> <!--start addons login-->
<div class="panel-heading"> <div class="panel-heading">
@@ -57,14 +57,14 @@
<label class="control-label col-lg-3">{l s='Addons Login'} :</label> <label class="control-label col-lg-3">{l s='Addons Login'} :</label>
<div class="input-group col-lg-4"> <div class="input-group col-lg-4">
<span class="input-group-addon"><i class="icon-user"></i></span> <span class="input-group-addon"><i class="icon-user"></i></span>
<input type="text" value="" id="username_addons" autocomplete="off" class="ac_input"> <input type="text" value="" id="username_addons" autocomplete="off" class="form-control ac_input">
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<label class="control-label col-lg-3">{l s= 'Password Addons'} :</label> <label class="control-label col-lg-3">{l s= 'Password Addons'} :</label>
<div class="input-group col-lg-4"> <div class="input-group col-lg-4">
<span class="input-group-addon"><i class="icon-key"></i></span> <span class="input-group-addon"><i class="icon-key"></i></span>
<input type="password" value="" id="password_addons" autocomplete="off" class="ac_input"> <input type="password" value="" id="password_addons" autocomplete="off" class="form-control ac_input">
</div> </div>
</div> </div>
<div class="row"> <div class="row">
@@ -39,8 +39,6 @@
</ul> </ul>
</div> </div>
{/if} {/if}
<div class="panel"> <div class="panel">
<div class="panel-heading"> <div class="panel-heading">
<i class="icon-list-ul"></i> <i class="icon-list-ul"></i>
@@ -49,7 +47,6 @@
{include file='controllers/modules/filters.tpl'} {include file='controllers/modules/filters.tpl'}
<!--start sidebar module--> <!--start sidebar module-->
<div class="row"> <div class="row">
<div class="categorieTitle col col-lg-3"> <div class="categorieTitle col col-lg-3">
<div class="list-group"> <div class="list-group">
@@ -149,8 +149,8 @@
</td> </td>
<td> <td>
<div class="btn-group btn-group-action"> <div class="btn-group btn-group-action">
<span class="btn btn-default btn-small">{l s='Choose an action'}</span> <span class="btn btn-default">{l s='Choose an action'}</span>
<button class="btn btn-default btn-small dropdown-toggle" data-toggle="dropdown"> <button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>&nbsp; <span class="caret"></span>&nbsp;
</button> </button>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
@@ -199,7 +199,7 @@
<p>{l s='You have to select a shop to use LiveEdit'}</p> <p>{l s='You have to select a shop to use LiveEdit'}</p>
{else} {else}
<p>{l s='Click here to be redirected to the Front Office of your shop where you can move and delete modules directly.'}</p> <p>{l s='Click here to be redirected to the Front Office of your shop where you can move and delete modules directly.'}</p>
<a class="btn btn-default btn-small pull-right" href="{$url_live_edit}" target="_blank"> <a class="btn btn-default pull-right" href="{$url_live_edit}" target="_blank">
<i class="icon-edit"></i> <i class="icon-edit"></i>
{l s='Run LiveEdit'} {l s='Run LiveEdit'}
</a> </a>
@@ -569,7 +569,7 @@
stock[id_product] = new Array(); stock[id_product] = new Array();
if (this.customizable == '1') if (this.customizable == '1')
{ {
customization_html += '<fieldset class="width3"><legend>{l s='Customization'}</legend><form id="customization_'+id_product+'" class="id_customization" method="post" enctype="multipart/form-data" action="'+admin_cart_link+'" style="display:none;">'; customization_html += '<fieldset class="width3"><h3>{l s='Customization'}</h3><form id="customization_'+id_product+'" class="id_customization" method="post" enctype="multipart/form-data" action="'+admin_cart_link+'" style="display:none;">';
customization_html += '<input type="hidden" name="id_product" value="'+id_product+'" />'; customization_html += '<input type="hidden" name="id_product" value="'+id_product+'" />';
customization_html += '<input type="hidden" name="id_cart" value="'+id_cart+'" />'; customization_html += '<input type="hidden" name="id_cart" value="'+id_cart+'" />';
customization_html += '<input type="hidden" name="action" value="updateCustomizationFields" />'; customization_html += '<input type="hidden" name="action" value="updateCustomizationFields" />';
@@ -983,10 +983,10 @@
<form action="" method="" class="form-horizontal"> <form action="" method="" class="form-horizontal">
<fieldset id="customer_part"> <fieldset id="customer_part">
<legend> <h3>
<i class="icon-user"></i> <i class="icon-user"></i>
{l s='Customer'} {l s='Customer'}
</legend> </h3>
<div class="row"> <div class="row">
<div class="col-lg-12"> <div class="col-lg-12">
<a class="fancybox btn btn-default" href="{$link->getAdminLink('AdminCustomers')|escape:'htmlall':'UTF-8'}&addcustomer&liteDisplaying=1&submitFormAjax=1#"> <a class="fancybox btn btn-default" href="{$link->getAdminLink('AdminCustomers')|escape:'htmlall':'UTF-8'}&addcustomer&liteDisplaying=1&submitFormAjax=1#">
@@ -1010,10 +1010,10 @@
</form> </form>
<form class="form-horizontal" action="{$link->getAdminLink('AdminOrders')|escape:'htmlall':'UTF-8'}&submitAdd{$table}=1" method="post" autocomplete="off"> <form class="form-horizontal" action="{$link->getAdminLink('AdminOrders')|escape:'htmlall':'UTF-8'}&submitAdd{$table}=1" method="post" autocomplete="off">
<fieldset id="products_part" style="display:none;"> <fieldset id="products_part" style="display:none;">
<legend> <h3>
<i class="icon-folder-close"></i> <i class="icon-folder-close"></i>
{l s='Cart'} {l s='Cart'}
</legend> </h3>
<div class="row"> <div class="row">
<label class="control-label col-lg-3"> <label class="control-label col-lg-3">
<span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="{l s='Search a product by tapping the first letters of his/her name.'}"> <span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="{l s='Search a product by tapping the first letters of his/her name.'}">
@@ -1189,10 +1189,10 @@
</div> </div>
</fieldset> </fieldset>
<fieldset id="vouchers_part" style="display:none;"> <fieldset id="vouchers_part" style="display:none;">
<legend> <h3>
<i class="icon-table"></i> <i class="icon-table"></i>
{l s='Vouchers'} {l s='Vouchers'}
</legend> </h3>
<div class="row"> <div class="row">
<div class="col-lg-12"> <div class="col-lg-12">
<a class="fancybox btn btn-default" href="{$link->getAdminLink('AdminCartRules')|escape:'htmlall':'UTF-8'}&addcart_rule&liteDisplaying=1&submitFormAjax=1#"> <a class="fancybox btn btn-default" href="{$link->getAdminLink('AdminCartRules')|escape:'htmlall':'UTF-8'}&addcart_rule&liteDisplaying=1&submitFormAjax=1#">
@@ -1225,10 +1225,10 @@
<div id="vouchers_err" class="alert alert-block" style="display:none;"></div> <div id="vouchers_err" class="alert alert-block" style="display:none;"></div>
</fieldset> </fieldset>
<fieldset id="address_part" style="display:none;"> <fieldset id="address_part" style="display:none;">
<legend> <h3>
<i class="icon-envelope"></i> <i class="icon-envelope"></i>
{l s='Addresses'} {l s='Addresses'}
</legend> </h3>
<div id="addresses_err" class="alert alert-block" style="display:none;"></div> <div id="addresses_err" class="alert alert-block" style="display:none;"></div>
<div class="row"> <div class="row">
@@ -1261,10 +1261,10 @@
</div> </div>
</fieldset> </fieldset>
<fieldset id="carriers_part" style="display:none;"> <fieldset id="carriers_part" style="display:none;">
<legend> <h3>
<i class="icon-truck"></i> <i class="icon-truck"></i>
{l s='Shipping'} {l s='Shipping'}
</legend> </h3>
<div id="carriers_err" style="display:none;" class="alert alert-block"></div> <div id="carriers_err" style="display:none;" class="alert alert-block"></div>
<div id="carrier_form"> <div id="carrier_form">
<div class="row"> <div class="row">
@@ -1304,10 +1304,10 @@
</div> </div>
</fieldset> </fieldset>
<fieldset id="summary_part" style="display:none;"> <fieldset id="summary_part" style="display:none;">
<legend> <h3>
<i class="icon-align-justify"></i> <i class="icon-align-justify"></i>
{l s='Summary'} {l s='Summary'}
</legend> </h3>
<div class="row"> <div class="row">
<div id="send_email_feedback" class="col-lg-12"></div> <div id="send_email_feedback" class="col-lg-12"></div>
</div> </div>
+4 -4
View File
@@ -27,12 +27,12 @@
</div> </div>
{if $display_footer} {if $display_footer}
{hook h="displayBackOfficeFooter"} {hook h="displayBackOfficeFooter"}
<div id="footer"> <div id="footer" class="affix" data-offset-bottom="0">
<div class="col-lg-4"> <div class="col-lg-3">
<a href="http://www.prestashop.com/" target="_blank">PrestaShop&trade; {$ps_version}</a><br /> <a href="http://www.prestashop.com/" target="_blank">PrestaShop&trade; {$ps_version}</a><br />
<span>{l s='Load time: '} {number_format(microtime(true) - $timer_start, 3, '.', '')}s</span> <span>{l s='Load time: '} {number_format(microtime(true) - $timer_start, 3, '.', '')}s</span>
</div> </div>
<div class="col-lg-3"> <div class="col-lg-2">
<a class="link-social link-twitter" href="#" title="Twitter"> <a class="link-social link-twitter" href="#" title="Twitter">
<i class="icon-twitter"></i> <i class="icon-twitter"></i>
</a> </a>
@@ -47,7 +47,7 @@
</a> </a>
</div> </div>
<div class="col-lg-4"> <div class="col-lg-7">
<a href="http://www.prestashop.com/en/contact_us/" target="_blank" class="footer_link">{l s='Contact'}</a> <a href="http://www.prestashop.com/en/contact_us/" target="_blank" class="footer_link">{l s='Contact'}</a>
|&nbsp;<a href="http://forge.prestashop.com" target="_blank" class="footer_link">{l s='Bug Tracker'}</a> |&nbsp;<a href="http://forge.prestashop.com" target="_blank" class="footer_link">{l s='Bug Tracker'}</a>
|&nbsp;<a href="http://www.prestashop.com/forums/" target="_blank" class="footer_link">{l s='Forum'}</a> |&nbsp;<a href="http://www.prestashop.com/forums/" target="_blank" class="footer_link">{l s='Forum'}</a>
+200 -97
View File
@@ -30,13 +30,9 @@
<html lang="{$iso}"> <html lang="{$iso}">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="robots" content="NOFOLLOW, NOINDEX"> <meta name="robots" content="NOFOLLOW, NOINDEX">
<title>{$meta_title} - PrestaShop&trade;</title> <title>{$meta_title} - PrestaShop&trade;</title>
{if $display_header} {if $display_header}
<script type="text/javascript"> <script type="text/javascript">
@@ -44,7 +40,6 @@
var iso_user = '{$iso_user}'; var iso_user = '{$iso_user}';
var country_iso_code = '{$country_iso_code}'; var country_iso_code = '{$country_iso_code}';
var _PS_VERSION_ = '{$smarty.const._PS_VERSION_}'; var _PS_VERSION_ = '{$smarty.const._PS_VERSION_}';
var helpboxes = {$help_box}; var helpboxes = {$help_box};
var roundMode = {$round_mode}; var roundMode = {$round_mode};
{if isset($shop_context)} {if isset($shop_context)}
@@ -77,32 +72,26 @@
var currentIndex = '{$currentIndex}'; var currentIndex = '{$currentIndex}';
var default_language = '{$default_language|intval}'; var default_language = '{$default_language|intval}';
var choose_language_translate = "{l s='Choose language' slashes=1}"; var choose_language_translate = "{l s='Choose language' slashes=1}";
</script> </script>
{/if} {/if}
{if isset($css_files)} {if isset($css_files)}
{foreach from=$css_files key=css_uri item=media} {foreach from=$css_files key=css_uri item=media}
<link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" /> <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
{/foreach} {/foreach}
{/if} {/if}
{if isset($js_files)} {if isset($js_files)}
{foreach from=$js_files item=js_uri} {foreach from=$js_files item=js_uri}
<script type="text/javascript" src="{$js_uri}"></script> <script type="text/javascript" src="{$js_uri}"></script>
{/foreach} {/foreach}
{/if} {/if}
<link rel="icon" type="image/vnd.microsoft.icon" href="{$img_dir}favicon.ico" /> <link rel="icon" type="image/vnd.microsoft.icon" href="{$img_dir}favicon.ico" />
<link rel="shortcut icon" type="image/x-icon" href="{$img_dir}favicon.ico" /> <link rel="shortcut icon" type="image/x-icon" href="{$img_dir}favicon.ico" />
{if isset($displayBackOfficeHeader)} {if isset($displayBackOfficeHeader)}
{$displayBackOfficeHeader} {$displayBackOfficeHeader}
{/if} {/if}
<!--[if IE]> <!--[if IE]>
<link type="text/css" rel="stylesheet" href="{$base_url}css/admin-ie.css" /> <link type="text/css" rel="stylesheet" href="{$base_url}css/admin-ie.css" />
<![endif]--> <![endif]-->
{if isset($brightness)} {if isset($brightness)}
<!-- <!--
/// multishop /// multishop
@@ -111,21 +100,28 @@
</style> </style>
--> -->
{/if} {/if}
<link href='http://fonts.googleapis.com/css?family=Ubuntu:300|Open+Sans' rel='stylesheet' type='text/css'> <link href='http://fonts.googleapis.com/css?family=Ubuntu:300|Open+Sans' rel='stylesheet' type='text/css'>
</head> </head>
<body class="fixed-top page-sidebar-closed"> <body class="fixed-top page-sidebar-closed">
{if $display_header} {if $display_header}
{* begin HEADER *} {* begin HEADER *}
<div id="header"> <header id="header">
<div id="header_infos" class="navbar navbar-fixed-top"> <nav id="header_infos" class="navbar navbar-fixed-top" role="navigation">
<a id="header_shopname" class="navbar-brand" href="{$link->getAdminLink('AdminHome')|escape:'htmlall':'UTF-8'}">{$shop_name}</a>
<ul id="notifs_icon_wrapper" class="nav navbar-nav nav-pills">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse-secondary">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a id="header_shopname" class="navbar-brand" href="{$link->getAdminLink('AdminHome')|escape:'htmlall':'UTF-8'}">
<img src="{$img_dir}prestashop-avatar.png" height="20" width="20" />
{$shop_name}
</a>
<ul id="notifs_icon_wrapper" class="nav navbar-nav nav-pills">
{if {$show_new_orders} == 1} {if {$show_new_orders} == 1}
<li id="orders_notif" class="dropdown" > <li id="orders_notif" class="dropdown" >
<a href="#" class="dropdown-toggle" data-toggle="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">
@@ -134,16 +130,35 @@
<span id="orders_notif_value">0</span> <span id="orders_notif_value">0</span>
</span> </span>
</a> </a>
<div class="dropdown-menu notification-dropdown">
<ul id="orders_notif_wrapper" class="dropdown-menu notification"> <section id="orders_notif_wrapper" class="notification-panel">
<header class="panel-heading">
{l s='Last orders'}
</header>
<div id="list_orders_notif" class="list-group">
<a href="#" class="media list-group-item no_notifs">
<span class="pull-left">
<i class="icon-time"></i>
</span>
<span class="media-body">
{l s='No new orders has been placed on your shop'}<br>
<small class="text-muted">1 minute ago</small>
</span>
</a>
</div>
<footer class="panel-footer text-small">
<a href="index.php?controller=AdminOrders&amp;token={getAdminToken tab='AdminOrders'}">{l s='Show all orders'}</a>
</footer>
</section>
</div>
<!-- <ul id="orders_notif_wrapper" class="dropdown-menu notification">
<li><p>{l s='Last orders'}</p></li> <li><p>{l s='Last orders'}</p></li>
<li><p class="no_notifs">{l s='No new orders has been placed on your shop'}</p></li> <li><p class="no_notifs">{l s='No new orders has been placed on your shop'}</p></li>
<li><ul id="list_orders_notif"></ul></li> <li><ul id="list_orders_notif"></ul></li>
<li><a href="index.php?controller=AdminOrders&amp;token={getAdminToken tab='AdminOrders'}">{l s='Show all orders'} <i class="icon-circle-arrow-right"></i></a></li> <li><a href="index.php?controller=AdminOrders&amp;token={getAdminToken tab='AdminOrders'}">{l s='Show all orders'} <i class="icon-circle-arrow-right"></i></a></li>
</ul> </ul> -->
</li> </li>
{/if} {/if}
{if ($show_new_customers == 1)} {if ($show_new_customers == 1)}
<li id="customers_notif" class="notifs dropdown"> <li id="customers_notif" class="notifs dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">
@@ -152,16 +167,35 @@
<span id="customers_notif_value">0</span> <span id="customers_notif_value">0</span>
</span> </span>
</a> </a>
<div class="dropdown-menu notification-dropdown">
<ul id="customers_notif_wrapper" class="dropdown-menu notification"> <section id="customers_notif_wrapper" class="notification-panel">
<header class="panel-heading">
{l s='Last customers'}
</header>
<div id="list_orders_notif" class="list-group">
<a href="#" class="media list-group-item no_notifs">
<span class="pull-left">
<i class="icon-time"></i>
</span>
<span class="media-body">
{l s='No new customers registered on your shop'}<br>
<small class="text-muted">1 minute ago</small>
</span>
</a>
</div>
<footer class="panel-footer text-small">
<a href="index.php?controller=AdminCustomers&amp;token={getAdminToken tab='AdminCustomers'}">{l s='Show all customers'}</a>
</footer>
</section>
</div>
<!-- <ul id="customers_notif_wrapper" class="dropdown-menu notification">
<li><p>{l s='Last customers'}</p></li> <li><p>{l s='Last customers'}</p></li>
<li><p class="no_notifs">{l s='No new customers registered on your shop'}</p></li> <li><p class="no_notifs">{l s='No new customers registered on your shop'}</p></li>
<li><ul id="list_customers_notif"></ul></li> <li><ul id="list_customers_notif"></ul></li>
<li><a href="index.php?controller=AdminCustomers&amp;token={getAdminToken tab='AdminCustomers'}">{l s='Show all customers'} <i class="icon-circle-arrow-right"></i></a></li> <li><a href="index.php?controller=AdminCustomers&amp;token={getAdminToken tab='AdminCustomers'}">{l s='Show all customers'} <i class="icon-circle-arrow-right"></i></a></li>
</ul> </ul> -->
</li> </li>
{/if} {/if}
{if {$show_new_messages} == 1} {if {$show_new_messages} == 1}
<li id="customer_messages_notif" class="notifs dropdown"> <li id="customer_messages_notif" class="notifs dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">
@@ -170,94 +204,118 @@
<span id="customer_messages_notif_value" >0</span> <span id="customer_messages_notif_value" >0</span>
</span> </span>
</a> </a>
<div class="dropdown-menu notification-dropdown">
<ul id="customer_messages_notif_wrapper" class="dropdown-menu notification"> <section id="customer_messages_notif_wrapper" class="notification-panel">
<header class="panel-heading">
{l s='Last messages'}
</header>
<div id="list_orders_notif" class="list-group">
<a href="#" class="media list-group-item no_notifs">
<span class="pull-left">
<i class="icon-time"></i>
</span>
<span class="media-body">
{l s='No new messages posted on your shop'}<br>
<small class="text-muted">1 minute ago</small>
</span>
</a>
</div>
<footer class="panel-footer text-small">
<a href="index.php?tab=AdminCustomerThreads&amp;token={getAdminToken tab='AdminCustomerThreads'}">{l s='Show all messages'}</a>
</footer>
</section>
</div>
<!-- <ul id="customer_messages_notif_wrapper" class="dropdown-menu notification">
<li>{l s='Last messages'}</li> <li>{l s='Last messages'}</li>
<li><p class="no_notifs">{l s='No new messages posted on your shop'}</p></li> <li><p class="no_notifs">{l s='No new messages posted on your shop'}</p></li>
<li><ul id="list_customer_messages_notif"></ul></li> <li><ul id="list_customer_messages_notif"></ul></li>
<li><a href="index.php?tab=AdminCustomerThreads&amp;token={getAdminToken tab='AdminCustomerThreads'}">{l s='Show all messages'} <i class="icon-circle-arrow-right"></i></a></li> <li><a href="index.php?tab=AdminCustomerThreads&amp;token={getAdminToken tab='AdminCustomerThreads'}">{l s='Show all messages'} <i class="icon-circle-arrow-right"></i></a></li>
</ul> </ul> -->
</li> </li>
{/if} {/if}
</ul> </ul>
<ul id="employee_box" class="nav navbar-nav pull-right"> <ul id="employee_box" class="nav navbar-nav navbar-right">
<li id="employee_infos" class="dropdown"> <li id="employee_infos" class="dropdown">
<a href='#' class="employee_name dropdown-toggle" data-toggle="dropdown">{$first_name}&nbsp;{$last_name} <i class="icon-angle-down"></i></a> <a href='#' class="employee_name dropdown-toggle" data-toggle="dropdown">
<ul id="employee_links" class="dropdown-menu"> {$first_name}&nbsp;{$last_name}
<li><a href="{$link->getAdminLink('AdminEmployees')|escape:'htmlall':'UTF-8'}&id_employee={$employee->id}&amp;updateemployee"><i class="icon-wrench"></i> {l s='My preferences'}</a></li> <img src="{$img_dir}prestashop-avatar.png" height="15" width="15" />
<li><a id="header_logout" href="index.php?logout"><i class="icon-signout"></i> {l s='logout'}</a></li> <i class="icon-angle-down"></i>
</a>
<ul id="employee_links" class="dropdown-menu">
<li><a href="{$link->getAdminLink('AdminEmployees')|escape:'htmlall':'UTF-8'}&id_employee={$employee->id}&amp;updateemployee"><i class="icon-wrench"></i> {l s='My preferences'}</a></li>
<li><a id="header_logout" href="index.php?logout"><i class="icon-signout"></i> {l s='logout'}</a></li>
{if {$base_url}} {if {$base_url}}
<li class="divider"></li> <li class="divider"></li>
<li><a href="{$base_url}" id="header_foaccess" target="_blank" title="{l s='View my shop'}"><i class="icon-eye-open"></i> {l s='View my shop'}</a></li> <li><a href="{$base_url}" id="header_foaccess" target="_blank" title="{l s='View my shop'}"><i class="icon-eye-open"></i> {l s='View my shop'}</a></li>
{/if} {/if}
</ul> </ul>
</li> </li>
</ul> </ul>
<div id="header_search"> <div class="collapse navbar-collapse navbar-collapse-secondary">
<form class="navbar-form" method="post" action="index.php?controller=AdminSearch&amp;token={getAdminToken tab='AdminSearch'}"> <form id="header_search" class="navbar-form" method="post" action="index.php?controller=AdminSearch&amp;token={getAdminToken tab='AdminSearch'}">
<div class="input-group col-lg-2"> <div class="input-group col-lg-2">
<input type="text" name="bo_query" id="bo_query" value="{$bo_query}" class="input-medium" palceholder="{l s='Search'}"/> <input type="text" name="bo_query" id="bo_query" value="{$bo_query}" class="form-control" palceholder="{l s='Search'}"/>
<span class="input-group-btn"> <span class="input-group-btn">
<button type="submit" id="bo_search_submit" class="btn btn-default"> <button type="submit" id="bo_search_submit" class="btn btn-default">
<i class="icon-search"></i> <i class="icon-search"></i>
</button> </button>
</span> </span>
</div> </div>
<!-- //todo Search in section <!-- //todo Search in section
<select name="bo_search_type" id="bo_search_type" class="chosen no-search"> <select name="bo_search_type" id="bo_search_type" class="chosen no-search">
<option value="0">{l s='everywhere'}</option> <option value="0">{l s='everywhere'}</option>
<option value="1" {if {$search_type} == 1} selected="selected" {/if}>{l s='catalog'}</option> <option value="1" {if {$search_type} == 1} selected="selected" {/if}>{l s='catalog'}</option>
<optgroup label="{l s='customers'}:"> <optgroup label="{l s='customers'}:">
<option value="2" {if {$search_type} == 2} selected="selected" {/if}>{l s='by name'}</option> <option value="2" {if {$search_type} == 2} selected="selected" {/if}>{l s='by name'}</option>
<option value="6" {if {$search_type} == 6} selected="selected" {/if}>{l s='by ip address'}</option> <option value="6" {if {$search_type} == 6} selected="selected" {/if}>{l s='by ip address'}</option>
</optgroup> </optgroup>
<option value="3" {if {$search_type} == 3} selected="selected" {/if}>{l s='orders'}</option> <option value="3" {if {$search_type} == 3} selected="selected" {/if}>{l s='orders'}</option>
<option value="4" {if {$search_type} == 4} selected="selected" {/if}>{l s='invoices'}</option> <option value="4" {if {$search_type} == 4} selected="selected" {/if}>{l s='invoices'}</option>
<option value="5" {if {$search_type} == 5} selected="selected" {/if}>{l s='carts'}</option> <option value="5" {if {$search_type} == 5} selected="selected" {/if}>{l s='carts'}</option>
<option value="7" {if {$search_type} == 7} selected="selected" {/if}>{l s='modules'}</option> <option value="7" {if {$search_type} == 7} selected="selected" {/if}>{l s='modules'}</option>
</select> --> </select> -->
</form> </form>
</div>
{if count($quick_access) > 0} {if count($quick_access) > 0}
<div id="header_quick" class="btn-group navbar-nav"> <div id="header_quick" class="btn-group navbar-nav">
<a href="#" id="quick_select" class="btn btn-default dropdown-toggle" data-toggle="dropdown">{l s='Quick Access'} <b class="caret"></b></a> <a href="#" id="quick_select" class="btn btn-default dropdown-toggle" data-toggle="dropdown">{l s='Quick Access'} <b class="caret"></b></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
{foreach $quick_access as $quick} {foreach $quick_access as $quick}
<li><a href="{$quick.link|escape:'htmlall':'UTF-8'}{if $quick.new_window}_blank{/if}"><i class="icon-chevron-right"></i> {$quick.name}</a></li> <li><a href="{$quick.link|escape:'htmlall':'UTF-8'}{if $quick.new_window}_blank{/if}"><i class="icon-chevron-right"></i> {$quick.name}</a></li>
{/foreach} {/foreach}
</ul> </ul>
</div> </div>
{/if} {/if}
<span id="ajax_running" class="navbar-text">
<i class="icon-refresh icon-spin"></i> {l s='Loading...'}
</span>
</div>
</div>
<span id="ajax_running" class="navbar-text">
<i class="icon-refresh icon-spin"></i> {l s='Loading...'}
</span>
{if isset($displayBackOfficeTop)}{$displayBackOfficeTop}{/if} {if isset($displayBackOfficeTop)}{$displayBackOfficeTop}{/if}
</div>{* end header_infos*} </nav>{* end header_infos*}
</div> </header>
{* end header*} {* end header*}
{/if} {/if}
<div id="main"> <div id="main">
<div id="sidebar" data-spy="affix" data-offset-top="0" class="page-sidebar nav-collapse collapse"> <nav id="topbar" class="hide" role="navigation">
{if !$tab} {if !$tab}
<div class="mainsubtablist" style="display:none"></div> <div class="mainsubtablist" style="display:none"></div>
{/if} {/if}
<span class="menu-collapse"> <span class="menu-collapse">
<i class="icon-align-justify"></i> <i class="icon-align-justify"></i>
</span> </span>
<script type="text/javascript"> <script type="text/javascript">
$('.menu-collapse').click(function(){ $('.menu-collapse').click(function(){
$('body').toggleClass('page-sidebar-closed'); $('body').toggleClass('page-sidebar-closed');
}); });
</script> </script>
{if $controller_name != 'AdminLogin'} {if $controller_name != 'AdminLogin'}
<ul id="menu"> <ul class="menu">
<li class="maintab"> <li class="maintab">
<a href="{$link->getAdminLink('AdminHome')|escape:'htmlall':'UTF-8'}" class="title"> <a href="{$link->getAdminLink('AdminHome')|escape:'htmlall':'UTF-8'}" class="title">
<i class="icon-AdminDashboard"></i> <i class="icon-AdminDashboard"></i>
@@ -288,18 +346,63 @@
{/foreach} {/foreach}
</ul> </ul>
{/if} {/if}
</div> </nav>
<nav id="sidebar" data-spy="affix" data-offset-top="0" class="page-sidebar nav-collapse collapse navbar-collapse-primary" role="navigation">
{if !$tab}
<div class="mainsubtablist" style="display:none"></div>
{/if}
<span class="menu-collapse">
<i class="icon-align-justify"></i>
</span>
<script type="text/javascript">
$('.menu-collapse').click(function(){
$('body').toggleClass('page-sidebar-closed');
});
</script>
{if $controller_name != 'AdminLogin'}
<ul class="menu">
<li class="maintab">
<a href="{$link->getAdminLink('AdminHome')|escape:'htmlall':'UTF-8'}" class="title">
<i class="icon-AdminDashboard"></i>
<span class="title">{l s='Dashboard'}</span>
</a>
</li>
{foreach $tabs as $t}
{if $t.active}
<li class="maintab {if $t.current}active{/if}" id="maintab{$t.id_tab}">
<a href="javascript:adminNav('#maintab{$t.id_tab}');" class="title">
<i class="icon-{$t.class_name}"></i>
<span class="title">{if $t.name eq ''}{$t.class_name}{else}{$t.name}{/if}</span>
</a>
<ul class="submenu">
{foreach from=$t.sub_tabs item=t2}
{if $t2.active}
<li {if $t2.current} class="active"{/if}>
<a href="{$t2.href|escape:'htmlall':'UTF-8'}">
{if $t2.name eq ''}{$t2.class_name}{else}{$t2.name|escape:'htmlall':'UTF-8'}{/if}
<!-- <i class="icon-chevron-sign-right pull-right"></i> -->
</a>
</li>
{/if}
{/foreach}
</ul>
</li>
{/if}
{/foreach}
</ul>
{/if}
</nav>
<div id="content" class="page-content"> <div id="content" class="page-content">
{if $display_header && $install_dir_exists}
{if $display_header && $install_dir_exists} <div class="alert alert-block">
<div class="alert alert-block"> {l s='For security reasons, you must also:'}&nbsp;{l s='delete the /install folder'}
{l s='For security reasons, you must also:'}&nbsp;{l s='delete the /install folder'} </div>
</div> {/if}
{/if} {if $display_header && $is_multishop && $shop_list && ($multishop_context & Shop::CONTEXT_GROUP || $multishop_context & Shop::CONTEXT_SHOP)}
<div class="multishop_toolbar">
{if $display_header && $is_multishop && $shop_list && ($multishop_context & Shop::CONTEXT_GROUP || $multishop_context & Shop::CONTEXT_SHOP)} <span class="text_multishop">{l s='Multistore configuration for'}</span> {$shop_list}
<div class="multishop_toolbar"> </div>
<span class="text_multishop">{l s='Multistore configuration for'}</span> {$shop_list} {/if}
</div>
{/if}
@@ -0,0 +1,214 @@
{*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<div id="box-clients" class="col-lg-3 box-stats color1" >
<div class="boxchart-overlay">
<div class="boxchart"></div>
</div>
<span class="title">Clients / 1 month</span>
<span class="value">4 589</span>
</div>
<div id="box-orders" class="col-lg-3 box-stats color2">
<div class="boxchart-overlay">
<div class="boxchart"></div>
</div>
<span class="title">Orders / 1 month</span>
<span class="value">789</span>
</div>
<div id="box-income" class="col-lg-3 box-stats color3">
<i class="icon-money"></i>
<span class="title">Income / 1 month</span>
<span class="value">$999,99</span>
</div>
<div id="box-messages" class="col-lg-3 box-stats color4">
<i class="icon-envelope-alt"></i>
<span class="title">Messages / 1 month</span>
<span class="value">19</span>
</div>
<div class="clearfix"></div>
<div id="box-pie" class="col-lg-6 box-stats">
<div class="boxchart-overlay">
<div class="boxchart"></div>
</div>
<span class="title">Total</span>
<span class="value">19</span>
<ul class="list-unstyled">
<!-- <li>Nombre total de sujets <span class="badge">0</span></li> -->
<li>{l s='Sujets en attente'} <span class="badge">0</span></li>
<li>{l s='Total de messages de clients'}<span class="badge">0</span></li>
<li>{l s='Total de messages d\'employés'}<span class="badge">0</span></li>
<li>{l s='Sujets non lu'}<span class="badge">0</span></li>
<li>{l s='Sujets clos'}<span class="badge">0</span></li>
</ul>
</div>
<div id="box-line" class="col-lg-3 box-stats color1" >
<div class="boxchart-overlay">
<div class="boxchart"></div>
</div>
<span class="title">Trafic / 1 month</span>
<span class="value">4 589</span>
</div>
<div id="box-spline" class="col-lg-3 box-stats color2" >
<div class="boxchart-overlay">
<div class="boxchart"></div>
</div>
<span class="title">Conversion / 1 month</span>
<span class="value">4 589</span>
</div>
<div class="clearfix"></div>
<script>
var data = [4, 8, 15, 16, 23, 42, 8, 15, 16, 23, 42, 16, 23, 42, 8, 15, 15, 16, 23];
var chart = d3.select("#box-clients .boxchart").append("svg")
.attr("class", "chart")
.attr("width", data.length * 6)
.attr("height", 30);
var y = d3.scale.linear()
.domain([0, d3.max(data)])
.range([0, d3.max(data)]);
chart.selectAll("rect")
.data(data)
.enter().append("rect")
.attr("y", function(d) { return 30 - d; })
.attr("x", function(d, i) { return i * 6; })
.attr("width", 4)
.attr("height", y);
</script>
<script>
var data = [4, 8, 15, 16, 23, 42, 8, 15, 16];
var chart = d3.select("#box-orders .boxchart").append("svg")
.attr("class", "chart")
.attr("width", data.length * 6)
.attr("height", 30);
var y = d3.scale.linear()
.domain([0, d3.max(data)])
.range([0, d3.max(data)]);
chart.selectAll("rect")
.data(data)
.enter().append("rect")
.attr("y", function(d) { return 30 - d; })
.attr("x", function(d, i) { return i * 6; })
.attr("width", 4)
.attr("height", y);
</script>
<script>
var myColors = ["#1f77b4", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd", "#8c564b", "#e377c2", "#7f7f7f", "#bcbd22", "#17becf"];
d3.scale.myColors = function() {
return d3.scale.ordinal().range(myColors);
};
var data = [53245, 28479, 19697, 24037, 30245];
var width = 140,
height = 140,
radius = Math.min(width, height) / 2;
var color = d3.scale.ordinal().range(myColors);
var pie = d3.layout.pie()
.sort(null);
var arc = d3.svg.arc()
.innerRadius(radius - 140)
.outerRadius(radius - 120);
var svg = d3.select("#box-pie .boxchart").append("svg")
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate(" + width / 2 + "," + height / 2 + ")");
var path = svg.selectAll("path")
.data(pie(data))
.enter().append("path")
.attr("fill", function(d, i) { return color(i); })
.attr("d", arc);
</script>
<script>
var data = [3, 6, 2, 7, 5, 12, 1, 3, 8, 9, 2, 5, 7],
w = 120,
h = 50,
margin = 5,
y = d3.scale.linear().domain([0, d3.max(data)]).range([0 + margin, h - margin]),
x = d3.scale.linear().domain([0, data.length]).range([0 + margin, w - margin]);
var vis = d3.select("#box-line .boxchart").append("svg")
.attr("class", "chart")
.attr("width", w)
.attr("height", h);
var g = vis.append("g")
.attr("transform", "translate(0, 50)");
var line = d3.svg.line()
.x(function(d,i) { return x(i); })
.y(function(d) { return -1 * y(d); });
g.append("path").attr("d", line(data));
vis.selectAll("dot")
.data(data)
.enter().append("circle")
.attr("stroke", "#1BA6E5")
.attr("stroke-width", 1)
.attr("r", 3)
.attr("transform", "translate(0, 50)")
.attr("fill", "white")
.attr("cx", function(d, i) { return x(i); })
.attr("cy", function(d, i) { return -1 * y(d); });
var area = d3.svg.area()
.x(function(d, i) { return x(i); })
.y0(h)
.y1(function(d, i) { return -1 * y(d); });
g.append("path")
.datum(data)
.attr("class", "area")
.attr("d", area);
</script>
<script>
var data = [3, 6, 2, 7, 5, 12, 1, 3, 8, 9, 2, 5, 7],
w = 120,
h = 50,
margin = 5,
y = d3.scale.linear().domain([0, d3.max(data)]).range([0 + margin, h - margin]),
x = d3.scale.linear().domain([0, data.length]).range([0 + margin, w - margin]);
var vis = d3.select("#box-spline .boxchart").append("svg")
.attr("class", "chart")
.attr("width", w)
.attr("height", h);
var g = vis.append("g")
.attr("transform", "translate(0, 50)");
var line = d3.svg.line()
.interpolate("basis")
.x(function(d,i) { return x(i); })
.y(function(d) { return -1 * y(d); });
g.append("path").attr("d", line(data));
</script>
+1 -1
View File
@@ -3011,7 +3011,7 @@ class AdminControllerCore extends Controller
$html = '<a class="'; $html = '<a class="';
if (count($return) == 0) if (count($return) == 0)
$html .= 'btn btn-default btn-small'; $html .= 'btn btn-default';
$html .= '" href="'.$option['href'].(!is_null($back) ? '&back='.urlencode($back) : '').'" onclick="'.$option['onclick'].'" title="'.$option['title'].'"><i class="icon-'.(isset($option['icon']) && $option['icon'] ? $option['icon']:'cog' ).'"></i> '.$option['text'].'</a>'; $html .= '" href="'.$option['href'].(!is_null($back) ? '&back='.urlencode($back) : '').'" onclick="'.$option['onclick'].'" title="'.$option['title'].'"><i class="icon-'.(isset($option['icon']) && $option['icon'] ? $option['icon']:'cog' ).'"></i> '.$option['text'].'</a>';
$return[] = $html; $return[] = $html;
@@ -195,8 +195,7 @@ class AdminProductsControllerCore extends AdminController
$this->fields_list['id_product'] = array( $this->fields_list['id_product'] = array(
'title' => $this->l('ID'), 'title' => $this->l('ID'),
'align' => 'center', 'align' => 'center',
'type' => 'int', 'type' => 'int'
'width' => 40
); );
$this->fields_list['image'] = array( $this->fields_list['image'] = array(
'title' => $this->l('Photo'), 'title' => $this->l('Photo'),
@@ -223,7 +222,6 @@ class AdminProductsControllerCore extends AdminController
else else
$this->fields_list['name_category'] = array( $this->fields_list['name_category'] = array(
'title' => $this->l('Category'), 'title' => $this->l('Category'),
'width' => 'auto',
'filter_key' => 'cl!name', 'filter_key' => 'cl!name',
); );
$this->fields_list['price'] = array( $this->fields_list['price'] = array(
@@ -3764,11 +3762,11 @@ class AdminProductsControllerCore extends AdminController
$this->fields_list = array( $this->fields_list = array(
'attributes' => array('title' => $this->l('Attributes'), 'align' => 'left'), 'attributes' => array('title' => $this->l('Attributes'), 'align' => 'left'),
'price' => array('title' => $this->l('Impact'), 'type' => 'price', 'align' => 'left', 'width' => 70), 'price' => array('title' => $this->l('Impact'), 'type' => 'price', 'align' => 'left'),
'weight' => array('title' => $this->l('Weight'), 'align' => 'left', 'width' => 70), 'weight' => array('title' => $this->l('Weight'), 'align' => 'left'),
'reference' => array('title' => $this->l('Reference'), 'align' => 'left', 'width' => 70), 'reference' => array('title' => $this->l('Reference'), 'align' => 'left'),
'ean13' => array('title' => $this->l('EAN13'), 'align' => 'left', 'width' => 70), 'ean13' => array('title' => $this->l('EAN13'), 'align' => 'left'),
'upc' => array('title' => $this->l('UPC'), 'align' => 'left', 'width' => 70) 'upc' => array('title' => $this->l('UPC'), 'align' => 'left')
); );
if ($product->id) if ($product->id)