Merge remote-tracking branch 'upstream/bootstrap' into bootstrap
This commit is contained in:
@@ -240,9 +240,9 @@ pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap
|
||||
.row:before, #dashboard .data_list_vertical:before, .row:after, #dashboard .data_list_vertical:after { content: " "; /* 1 */ display: table; /* 2 */ }
|
||||
.row:after, #dashboard .data_list_vertical:after { clear: both; }
|
||||
|
||||
.col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-4, #dashboard .data_list_vertical li, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { position: relative; min-height: 1px; padding-left: 5px; padding-right: 5px; }
|
||||
.col-xs-12, .col-sm-12, .col-md-12, .col-lg-12, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-4, #dashboard .data_list_vertical li, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1 { position: relative; min-height: 1px; padding-left: 5px; padding-right: 5px; }
|
||||
|
||||
.col-xs-11, .col-xs-10, .col-xs-9, .col-xs-8, .col-xs-7, .col-xs-6, .col-xs-5, .col-xs-4, #dashboard .data_list_vertical li, .col-xs-3, .col-xs-2, .col-xs-1, .col-xs-12 { float: left; }
|
||||
.col-xs-12, .col-xs-11, .col-xs-10, .col-xs-9, .col-xs-8, .col-xs-7, .col-xs-6, .col-xs-5, .col-xs-4, #dashboard .data_list_vertical li, .col-xs-3, .col-xs-2, .col-xs-1 { float: left; }
|
||||
|
||||
.col-xs-1 { width: 8.33333%; }
|
||||
|
||||
@@ -268,6 +268,8 @@ pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap
|
||||
|
||||
.col-xs-12 { width: 100%; }
|
||||
|
||||
.col-xs-pull-0 { right: 0%; }
|
||||
|
||||
.col-xs-pull-1 { right: 8.33333%; }
|
||||
|
||||
.col-xs-pull-2 { right: 16.66667%; }
|
||||
@@ -292,6 +294,8 @@ pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap
|
||||
|
||||
.col-xs-pull-12 { right: 100%; }
|
||||
|
||||
.col-xs-push-0 { left: 0%; }
|
||||
|
||||
.col-xs-push-1 { left: 8.33333%; }
|
||||
|
||||
.col-xs-push-2 { left: 16.66667%; }
|
||||
@@ -316,6 +320,8 @@ pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap
|
||||
|
||||
.col-xs-push-12 { left: 100%; }
|
||||
|
||||
.col-xs-offset-0 { margin-left: 0%; }
|
||||
|
||||
.col-xs-offset-1 { margin-left: 8.33333%; }
|
||||
|
||||
.col-xs-offset-2 { margin-left: 16.66667%; }
|
||||
@@ -341,7 +347,7 @@ pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap
|
||||
.col-xs-offset-12 { margin-left: 100%; }
|
||||
|
||||
@media (min-width: 768px) { .container { width: 728px; }
|
||||
.col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col-sm-12 { float: left; }
|
||||
.col-sm-12, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1 { float: left; }
|
||||
.col-sm-1 { width: 8.33333%; }
|
||||
.col-sm-2 { width: 16.66667%; }
|
||||
.col-sm-3 { width: 25%; }
|
||||
@@ -354,6 +360,7 @@ pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap
|
||||
.col-sm-10 { width: 83.33333%; }
|
||||
.col-sm-11 { width: 91.66667%; }
|
||||
.col-sm-12 { width: 100%; }
|
||||
.col-sm-pull-0 { right: 0%; }
|
||||
.col-sm-pull-1 { right: 8.33333%; }
|
||||
.col-sm-pull-2 { right: 16.66667%; }
|
||||
.col-sm-pull-3 { right: 25%; }
|
||||
@@ -366,6 +373,7 @@ pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap
|
||||
.col-sm-pull-10 { right: 83.33333%; }
|
||||
.col-sm-pull-11 { right: 91.66667%; }
|
||||
.col-sm-pull-12 { right: 100%; }
|
||||
.col-sm-push-0 { left: 0%; }
|
||||
.col-sm-push-1 { left: 8.33333%; }
|
||||
.col-sm-push-2 { left: 16.66667%; }
|
||||
.col-sm-push-3 { left: 25%; }
|
||||
@@ -378,6 +386,7 @@ pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap
|
||||
.col-sm-push-10 { left: 83.33333%; }
|
||||
.col-sm-push-11 { left: 91.66667%; }
|
||||
.col-sm-push-12 { left: 100%; }
|
||||
.col-sm-offset-0 { margin-left: 0%; }
|
||||
.col-sm-offset-1 { margin-left: 8.33333%; }
|
||||
.col-sm-offset-2 { margin-left: 16.66667%; }
|
||||
.col-sm-offset-3 { margin-left: 25%; }
|
||||
@@ -391,7 +400,7 @@ pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap
|
||||
.col-sm-offset-11 { margin-left: 91.66667%; }
|
||||
.col-sm-offset-12 { margin-left: 100%; } }
|
||||
@media (min-width: 992px) { .container { width: 940px; }
|
||||
.col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-md-12 { float: left; }
|
||||
.col-md-12, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1 { float: left; }
|
||||
.col-md-1 { width: 8.33333%; }
|
||||
.col-md-2 { width: 16.66667%; }
|
||||
.col-md-3 { width: 25%; }
|
||||
@@ -404,6 +413,7 @@ pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap
|
||||
.col-md-10 { width: 83.33333%; }
|
||||
.col-md-11 { width: 91.66667%; }
|
||||
.col-md-12 { width: 100%; }
|
||||
.col-md-pull-0 { right: 0%; }
|
||||
.col-md-pull-1 { right: 8.33333%; }
|
||||
.col-md-pull-2 { right: 16.66667%; }
|
||||
.col-md-pull-3 { right: 25%; }
|
||||
@@ -416,6 +426,7 @@ pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap
|
||||
.col-md-pull-10 { right: 83.33333%; }
|
||||
.col-md-pull-11 { right: 91.66667%; }
|
||||
.col-md-pull-12 { right: 100%; }
|
||||
.col-md-push-0 { left: 0%; }
|
||||
.col-md-push-1 { left: 8.33333%; }
|
||||
.col-md-push-2 { left: 16.66667%; }
|
||||
.col-md-push-3 { left: 25%; }
|
||||
@@ -428,6 +439,7 @@ pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap
|
||||
.col-md-push-10 { left: 83.33333%; }
|
||||
.col-md-push-11 { left: 91.66667%; }
|
||||
.col-md-push-12 { left: 100%; }
|
||||
.col-md-offset-0 { margin-left: 0%; }
|
||||
.col-md-offset-1 { margin-left: 8.33333%; }
|
||||
.col-md-offset-2 { margin-left: 16.66667%; }
|
||||
.col-md-offset-3 { margin-left: 25%; }
|
||||
@@ -441,7 +453,7 @@ pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap
|
||||
.col-md-offset-11 { margin-left: 91.66667%; }
|
||||
.col-md-offset-12 { margin-left: 100%; } }
|
||||
@media (min-width: 1200px) { .container { width: 1170px; }
|
||||
.col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-lg-12 { float: left; }
|
||||
.col-lg-12, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1 { float: left; }
|
||||
.col-lg-1 { width: 8.33333%; }
|
||||
.col-lg-2 { width: 16.66667%; }
|
||||
.col-lg-3 { width: 25%; }
|
||||
@@ -454,6 +466,7 @@ pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap
|
||||
.col-lg-10 { width: 83.33333%; }
|
||||
.col-lg-11 { width: 91.66667%; }
|
||||
.col-lg-12 { width: 100%; }
|
||||
.col-lg-pull-0 { right: 0%; }
|
||||
.col-lg-pull-1 { right: 8.33333%; }
|
||||
.col-lg-pull-2 { right: 16.66667%; }
|
||||
.col-lg-pull-3 { right: 25%; }
|
||||
@@ -466,6 +479,7 @@ pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap
|
||||
.col-lg-pull-10 { right: 83.33333%; }
|
||||
.col-lg-pull-11 { right: 91.66667%; }
|
||||
.col-lg-pull-12 { right: 100%; }
|
||||
.col-lg-push-0 { left: 0%; }
|
||||
.col-lg-push-1 { left: 8.33333%; }
|
||||
.col-lg-push-2 { left: 16.66667%; }
|
||||
.col-lg-push-3 { left: 25%; }
|
||||
@@ -478,6 +492,7 @@ pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap
|
||||
.col-lg-push-10 { left: 83.33333%; }
|
||||
.col-lg-push-11 { left: 91.66667%; }
|
||||
.col-lg-push-12 { left: 100%; }
|
||||
.col-lg-offset-0 { margin-left: 0%; }
|
||||
.col-lg-offset-1 { margin-left: 8.33333%; }
|
||||
.col-lg-offset-2 { margin-left: 16.66667%; }
|
||||
.col-lg-offset-3 { margin-left: 25%; }
|
||||
@@ -3688,13 +3703,13 @@ td.actions { min-width: 200px; }
|
||||
.tree .tree-item-disable, .tree .tree-folder-name-disable { color: #cccccc; }
|
||||
.tree .tree-item-disable:hover, .tree .tree-folder-name-disable:hover { color: #cccccc; background-color: none; }
|
||||
|
||||
.tree-actions { padding-bottom: 4px; display: inline-block; }
|
||||
.tree-actions { display: inline-block; }
|
||||
|
||||
.tree-panel-heading-controls { margin: -20px -20px 20px; padding: 5px; border-bottom: solid 1px #dfdfdf; }
|
||||
|
||||
label.control-label { font-size: 13px; font-weight: normal; color: #666666; }
|
||||
|
||||
label.control-label span.label-tooltip { text-decoration: none; font-size: 13px; background-color: #ebebeb; border: none; border-bottom: solid 1px #dfdfdf; padding: 0 5px; -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; -o-border-radius: 3px; border-radius: 3px; }
|
||||
label.control-label span.label-tooltip { text-decoration: none; font-size: 13px; color: #3586ae; background-color: #edf7fb; border: none; border-bottom: solid 1px #d8edf7; padding: 0 5px; -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; -o-border-radius: 3px; border-radius: 3px; }
|
||||
|
||||
label.required:before { content: "*"; color: red; font-size: 14px; position: relative; line-height: 12px; }
|
||||
|
||||
@@ -3767,7 +3782,7 @@ textarea:focus, input[type="text"]:focus, input[type="password"]:focus, input[ty
|
||||
|
||||
.switch .slide-button, .toggle p span { display: none; }
|
||||
|
||||
.switch { background-color: #d2d2d2; border-radius: 3px; }
|
||||
.switch { background-color: #e9e9e9; border-radius: 3px; }
|
||||
.switch label { padding: 0; cursor: pointer; }
|
||||
|
||||
@media only screen { .toggle { position: relative; padding: 0; margin-left: 100px; }
|
||||
@@ -3801,10 +3816,10 @@ textarea:focus, input[type="text"]:focus, input[type="password"]:focus, input[ty
|
||||
.toggle input:checked ~ .slide-button { right: 50%; }
|
||||
.toggle input:focus ~ .slide-button, .switch input:focus + label { outline: 1px dotted #888888; }
|
||||
.switch, .toggle { -webkit-animation: bugfix infinite 1s; }
|
||||
.prestashop-switch { min-width: 150px; color: #666666; text-align: center; border-radius: 3px; -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 2px 5px 1px inset; box-shadow: rgba(0, 0, 0, 0.2) 0 2px 5px 1px inset; }
|
||||
.prestashop-switch { min-width: 150px; color: #999999; text-align: center; border-radius: 3px; -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 2px 5px 1px inset; box-shadow: rgba(0, 0, 0, 0.2) 0 2px 5px 1px inset; }
|
||||
.prestashop-switch label { padding-top: 0 !important; font-weight: 500; }
|
||||
.prestashop-switch input:checked + label { color: #333333 !important; text-shadow: rgba(255, 255, 255, 0.7) 1px 1px 0; }
|
||||
.prestashop-switch input:not(:checked) + label i { color: #666666 !important; }
|
||||
.prestashop-switch input:not(:checked) + label i { color: #999999 !important; }
|
||||
.prestashop-switch .slide-button { position: relative; margin-right: 3px; color: white; }
|
||||
.prestashop-switch p { color: #333333; }
|
||||
.prestashop-switch span { color: white; } }
|
||||
|
||||
8
admin-dev/themes/default/js/modernizr-loads.js
Normal file
8
admin-dev/themes/default/js/modernizr-loads.js
Normal file
@@ -0,0 +1,8 @@
|
||||
Modernizr.load([
|
||||
{
|
||||
test: window.matchMedia,
|
||||
nope: ["themes/default/js/vendor/matchMedia.js", "themes/default/js/vendor/matchMedia.addListener.js"]
|
||||
},
|
||||
"themes/default/js/vendor/enquire.js",
|
||||
"themes/default/js/admin-theme.js"
|
||||
]);
|
||||
75
admin-dev/themes/default/js/vendor/matchMedia.addListener.js
vendored
Normal file
75
admin-dev/themes/default/js/vendor/matchMedia.addListener.js
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
/*! matchMedia() polyfill addListener/removeListener extension. Author & copyright (c) 2012: Scott Jehl. Dual MIT/BSD license */
|
||||
(function(){
|
||||
// Bail out for browsers that have addListener support
|
||||
if (window.matchMedia && window.matchMedia('all').addListener) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var localMatchMedia = window.matchMedia,
|
||||
hasMediaQueries = localMatchMedia('only all').matches,
|
||||
isListening = false,
|
||||
timeoutID = 0, // setTimeout for debouncing 'handleChange'
|
||||
queries = [], // Contains each 'mql' and associated 'listeners' if 'addListener' is used
|
||||
handleChange = function(evt) {
|
||||
// Debounce
|
||||
clearTimeout(timeoutID);
|
||||
|
||||
timeoutID = setTimeout(function() {
|
||||
for (var i = 0, il = queries.length; i < il; i++) {
|
||||
var mql = queries[i].mql,
|
||||
listeners = queries[i].listeners || [],
|
||||
matches = localMatchMedia(mql.media).matches;
|
||||
|
||||
// Update mql.matches value and call listeners
|
||||
// Fire listeners only if transitioning to or from matched state
|
||||
if (matches !== mql.matches) {
|
||||
mql.matches = matches;
|
||||
|
||||
for (var j = 0, jl = listeners.length; j < jl; j++) {
|
||||
listeners[j].call(window, mql);
|
||||
}
|
||||
}
|
||||
}
|
||||
}, 30);
|
||||
};
|
||||
|
||||
window.matchMedia = function(media) {
|
||||
var mql = localMatchMedia(media),
|
||||
listeners = [],
|
||||
index = 0;
|
||||
|
||||
mql.addListener = function(listener) {
|
||||
// Changes would not occur to css media type so return now (Affects IE <= 8)
|
||||
if (!hasMediaQueries) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Set up 'resize' listener for browsers that support CSS3 media queries (Not for IE <= 8)
|
||||
// There should only ever be 1 resize listener running for performance
|
||||
if (!isListening) {
|
||||
isListening = true;
|
||||
window.addEventListener('resize', handleChange, true);
|
||||
}
|
||||
|
||||
// Push object only if it has not been pushed already
|
||||
if (index === 0) {
|
||||
index = queries.push({
|
||||
mql : mql,
|
||||
listeners : listeners
|
||||
});
|
||||
}
|
||||
|
||||
listeners.push(listener);
|
||||
};
|
||||
|
||||
mql.removeListener = function(listener) {
|
||||
for (var i = 0, il = listeners.length; i < il; i++){
|
||||
if (listeners[i] === listener){
|
||||
listeners.splice(i, 1);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return mql;
|
||||
};
|
||||
}());
|
||||
46
admin-dev/themes/default/js/vendor/matchMedia.js
vendored
Normal file
46
admin-dev/themes/default/js/vendor/matchMedia.js
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */
|
||||
|
||||
window.matchMedia || (window.matchMedia = function() {
|
||||
"use strict";
|
||||
|
||||
// For browsers that support matchMedium api such as IE 9 and webkit
|
||||
var styleMedia = (window.styleMedia || window.media);
|
||||
|
||||
// For those that don't support matchMedium
|
||||
if (!styleMedia) {
|
||||
var style = document.createElement('style'),
|
||||
script = document.getElementsByTagName('script')[0],
|
||||
info = null;
|
||||
|
||||
style.type = 'text/css';
|
||||
style.id = 'matchmediajs-test';
|
||||
|
||||
script.parentNode.insertBefore(style, script);
|
||||
|
||||
// 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
|
||||
info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;
|
||||
|
||||
styleMedia = {
|
||||
matchMedium: function(media) {
|
||||
var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';
|
||||
|
||||
// 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
|
||||
if (style.styleSheet) {
|
||||
style.styleSheet.cssText = text;
|
||||
} else {
|
||||
style.textContent = text;
|
||||
}
|
||||
|
||||
// Test if media query is true or false
|
||||
return info.width === '1px';
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
return function(media) {
|
||||
return {
|
||||
matches: styleMedia.matchMedium(media || 'all'),
|
||||
media: media || 'all'
|
||||
};
|
||||
};
|
||||
}());
|
||||
4
admin-dev/themes/default/js/vendor/modernizr.js
vendored
Normal file
4
admin-dev/themes/default/js/vendor/modernizr.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -7,9 +7,10 @@ label.control-label
|
||||
label.control-label span.label-tooltip
|
||||
text-decoration: none
|
||||
font-size: 13px
|
||||
background-color: darken($bg-content-color,5%)
|
||||
color: #3586AE
|
||||
background-color: lighten(#D8EDF7,5%)
|
||||
border: none
|
||||
border-bottom: solid 1px darken($bg-content-color,10%)
|
||||
border-bottom: solid 1px #D8EDF7
|
||||
padding: 0 5px
|
||||
@include border-radius(3px)
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
.switch .slide-button, .toggle p span
|
||||
display: none
|
||||
.switch
|
||||
background-color: darken($bg-content-color,15%)
|
||||
background-color: #E9E9E9
|
||||
border-radius: 3px
|
||||
label
|
||||
padding: 0
|
||||
@@ -144,7 +144,7 @@
|
||||
// Prestashop Theme
|
||||
.prestashop-switch
|
||||
min-width: 150px
|
||||
color: #666
|
||||
color: #999
|
||||
text-align: center
|
||||
border-radius: 3px
|
||||
@include box-shadow(rgba(black,0.2) 0 2px 5px 1px inset)
|
||||
@@ -156,7 +156,7 @@
|
||||
@include text-shadow(rgba(white,0.7) 1px 1px 0)
|
||||
input:not(:checked) + label
|
||||
i
|
||||
color: #666!important
|
||||
color: #999!important
|
||||
.slide-button
|
||||
position: relative
|
||||
margin-right: 3px
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
color: #ccc
|
||||
background-color: none
|
||||
.tree-actions
|
||||
padding-bottom: 4px
|
||||
display: inline-block
|
||||
|
||||
.tree-panel-heading-controls
|
||||
|
||||
@@ -23,4 +23,4 @@
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
<div class="tree-panel-heading-controls">{if isset($toolbar)}{$toolbar}{/if}</div>
|
||||
<div class="tree-panel-heading-controls clearfix">{if isset($toolbar)}{$toolbar}{/if}</div>
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
{l s='Legend:'}
|
||||
</span>
|
||||
</label>
|
||||
<div class="col-lg-9">
|
||||
{foreach from=$languages item=language}
|
||||
{if $languages|count > 1}
|
||||
<div class="translatable-field row lang-{$language.id_lang}">
|
||||
@@ -81,6 +82,7 @@
|
||||
</div>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -321,14 +321,12 @@
|
||||
</span>
|
||||
</label>
|
||||
<div class="col-lg-9">
|
||||
<div class="row">
|
||||
{include
|
||||
file="controllers/products/textarea_lang.tpl"
|
||||
languages=$languages
|
||||
input_name='description_short'
|
||||
input_value=$product->description_short
|
||||
max=$PS_PRODUCT_SHORT_DESC_LIMIT}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -341,12 +339,10 @@
|
||||
</span>
|
||||
</label>
|
||||
<div class="col-lg-9">
|
||||
<div class="row">
|
||||
{include
|
||||
file="controllers/products/textarea_lang.tpl"
|
||||
languages=$languages input_name='description'
|
||||
input_value=$product->description}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
<div class="alert alert-warning" id="available_quantity_ajax_msg" style="display: none;"></div>
|
||||
<div class="alert alert-danger" id="available_quantity_ajax_error_msg" style="display: none;"></div>
|
||||
<div class="alert alert-success" id="available_quantity_ajax_success_msg" style="display: none;"></div>
|
||||
<div class="row" {if $product->is_virtual || $product->cache_is_pack}style="display:none;"{/if} class="row stockForVirtualProduct">
|
||||
<div class="form-group" {if $product->is_virtual || $product->cache_is_pack}style="display:none;"{/if} class="row stockForVirtualProduct">
|
||||
<div class="col-lg-9 col-lg-offset-3">
|
||||
<p class="checkbox">
|
||||
<label for="advanced_stock_management">
|
||||
@@ -107,7 +107,7 @@
|
||||
<p>{l s='Given the quantities of the products in this pack, the maximum quantity should be:'} {$pack_quantity}</p>
|
||||
</div>
|
||||
{/if}
|
||||
<div class="row">
|
||||
<div class="form-group">
|
||||
<div class="col-lg-9 col-lg-offset-3">
|
||||
<table class="table">
|
||||
<thead>
|
||||
@@ -128,7 +128,7 @@
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div id="when_out_of_stock" class="row">
|
||||
<div id="when_out_of_stock" class="form-group">
|
||||
<label class="control-label col-lg-3">{l s='When out of stock:'}</label>
|
||||
<div class="col-lg-9">
|
||||
<p class="radio">
|
||||
@@ -195,12 +195,10 @@
|
||||
</span>
|
||||
</label>
|
||||
<div class="col-lg-9">
|
||||
<div class="row">
|
||||
{include file="controllers/products/input_text_lang.tpl"
|
||||
languages=$languages
|
||||
input_value=$product->available_now
|
||||
input_name='available_now'}
|
||||
</div>
|
||||
{include file="controllers/products/input_text_lang.tpl"
|
||||
languages=$languages
|
||||
input_value=$product->available_now
|
||||
input_name='available_now'}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@@ -213,12 +211,10 @@
|
||||
|
||||
</label>
|
||||
<div class="col-lg-9">
|
||||
<div class="row">
|
||||
{include file="controllers/products/input_text_lang.tpl"
|
||||
languages=$languages
|
||||
input_value=$product->available_later
|
||||
input_name='available_later'}
|
||||
</div>
|
||||
{include file="controllers/products/input_text_lang.tpl"
|
||||
languages=$languages
|
||||
input_value=$product->available_later
|
||||
input_name='available_later'}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
<div class="tree-panel-heading-controls">
|
||||
<div class="tree-panel-heading-controls clearfix">
|
||||
<!-- <i class="icon-tag"></i> {l s=$title} -->
|
||||
{if isset($toolbar)}{$toolbar}{/if}
|
||||
</div>
|
||||
@@ -52,6 +52,7 @@ class AdminControllerCore extends Controller
|
||||
|
||||
/** @var string Object identifier inside the associated table */
|
||||
protected $identifier = false;
|
||||
protected $identifier_name = 'name';
|
||||
|
||||
/** @var string Tab name */
|
||||
public $className;
|
||||
@@ -1119,8 +1120,6 @@ class AdminControllerCore extends Controller
|
||||
if (!is_array($this->toolbar_title))
|
||||
$this->toolbar_title = array($this->toolbar_title);
|
||||
|
||||
$title = implode(' '.Configuration::get('PS_NAVIGATION_PIPE').' ', $this->toolbar_title);
|
||||
|
||||
switch ($this->display)
|
||||
{
|
||||
case 'view':
|
||||
@@ -1135,9 +1134,14 @@ class AdminControllerCore extends Controller
|
||||
'href' => $back,
|
||||
'desc' => $this->l('Back to list')
|
||||
);
|
||||
$obj = $this->loadObject(true);
|
||||
if (Validate::isLoadedObject($obj) && isset($obj->{$this->identifier_name}) && !empty($obj->{$this->identifier_name}))
|
||||
{
|
||||
array_pop($this->toolbar_title);
|
||||
$this->toolbar_title[] = is_array($obj->{$this->identifier_name}) ? $obj->{$this->identifier_name}[$this->context->employee->id_lang] : $obj->{$this->identifier_name};
|
||||
}
|
||||
break;
|
||||
case 'add':
|
||||
case 'edit':
|
||||
// Default save button - action dynamically handled in javascript
|
||||
$this->page_header_toolbar_btn['save'] = array(
|
||||
'href' => '#',
|
||||
@@ -1154,6 +1158,14 @@ class AdminControllerCore extends Controller
|
||||
'href' => $back,
|
||||
'desc' => $this->l('Cancel')
|
||||
);
|
||||
case 'edit':
|
||||
$obj = $this->loadObject(true);
|
||||
if (Validate::isLoadedObject($obj) && isset($obj->{$this->identifier_name}) && !empty($obj->{$this->identifier_name}))
|
||||
{
|
||||
array_pop($this->toolbar_title);
|
||||
$this->toolbar_title[] = sprintf($this->l('Edit: %s'),
|
||||
is_array($obj->{$this->identifier_name}) ? $obj->{$this->identifier_name}[$this->context->employee->id_lang] : $obj->{$this->identifier_name});
|
||||
}
|
||||
break;
|
||||
case 'options':
|
||||
// Default save button - action dynamically handled in javascript
|
||||
@@ -1163,6 +1175,8 @@ class AdminControllerCore extends Controller
|
||||
);
|
||||
}
|
||||
|
||||
$title = implode(' '.Configuration::get('PS_NAVIGATION_PIPE').' ', $this->toolbar_title);
|
||||
|
||||
if (is_array($this->page_header_toolbar_btn)
|
||||
&& $this->page_header_toolbar_btn instanceof Traversable
|
||||
|| trim($title) != '')
|
||||
@@ -1959,8 +1973,8 @@ class AdminControllerCore extends Controller
|
||||
|
||||
//loads specific javascripts for the admin theme, bootstrap.js should be moved into /js root directory
|
||||
$this->addJS(__PS_BASE_URI__.$admin_webpath.'/themes/'.$this->bo_theme.'/js/vendor/bootstrap.js');
|
||||
$this->addJS(__PS_BASE_URI__.$admin_webpath.'/themes/'.$this->bo_theme.'/js/vendor/enquire.js');
|
||||
$this->addJS(__PS_BASE_URI__.$admin_webpath.'/themes/'.$this->bo_theme.'/js/admin-theme.js');
|
||||
$this->addJS(__PS_BASE_URI__.$admin_webpath.'/themes/'.$this->bo_theme.'/js/vendor/modernizr.js');
|
||||
$this->addJS(__PS_BASE_URI__.$admin_webpath.'/themes/'.$this->bo_theme.'/js/modernizr-loads.js');
|
||||
|
||||
if (!Tools::getValue('submitFormAjax'))
|
||||
{
|
||||
|
||||
@@ -160,16 +160,14 @@ class AdminCategoriesControllerCore extends AdminController
|
||||
|
||||
public function initPageHeaderToolbar()
|
||||
{
|
||||
if (empty($this->display))
|
||||
{
|
||||
parent::initPageHeaderToolbar();
|
||||
|
||||
if ($this->display != 'add')
|
||||
$this->page_header_toolbar_btn['new_category'] = array(
|
||||
'href' => self::$currentIndex.'&addcategory&token='.$this->token,
|
||||
'desc' => $this->l('Add new category'),
|
||||
'icon' => 'process-icon-new'
|
||||
);
|
||||
}
|
||||
|
||||
parent::initPageHeaderToolbar();
|
||||
}
|
||||
|
||||
public function initContent()
|
||||
|
||||
@@ -150,6 +150,8 @@ class AdminEmployeesControllerCore extends AdminController
|
||||
|
||||
public function initPageHeaderToolbar()
|
||||
{
|
||||
parent::initPageHeaderToolbar();
|
||||
|
||||
if (empty($this->display))
|
||||
$this->page_header_toolbar_btn['new_employee'] = array(
|
||||
'href' => self::$currentIndex.'&addemployee&token='.$this->token,
|
||||
@@ -157,7 +159,16 @@ class AdminEmployeesControllerCore extends AdminController
|
||||
'icon' => 'process-icon-new'
|
||||
);
|
||||
|
||||
parent::initPageHeaderToolbar();
|
||||
if ($this->display == 'edit')
|
||||
{
|
||||
$obj = $this->loadObject(true);
|
||||
if (Validate::isLoadedObject($obj))
|
||||
{
|
||||
array_pop($this->toolbar_title);
|
||||
$this->toolbar_title[] = sprintf($this->l('Edit: %1$s %2$s'), $obj->lastname, $obj->firstname);
|
||||
$this->page_header_toolbar_title = implode(' '.Configuration::get('PS_NAVIGATION_PIPE').' ', $this->toolbar_title);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function renderList()
|
||||
|
||||
@@ -36,6 +36,7 @@ class AdminMetaControllerCore extends AdminController
|
||||
parent::__construct();
|
||||
|
||||
$this->bootstrap = true;
|
||||
$this->identifier_name = 'page';
|
||||
$this->ht_file = _PS_ROOT_DIR_.'/.htaccess';
|
||||
$this->rb_file = _PS_ROOT_DIR_.'/robots.txt';
|
||||
$this->sm_file = _PS_ROOT_DIR_.'/sitemap.xml';
|
||||
|
||||
@@ -2414,6 +2414,7 @@ class AdminProductsControllerCore extends AdminController
|
||||
if ($this->tabAccess['add'] && $this->display != 'add')
|
||||
$this->page_header_toolbar_btn['duplicate'] = array(
|
||||
'short' => 'Duplicate',
|
||||
'href' => '#',
|
||||
'desc' => $this->l('Duplicate'),
|
||||
'confirm' => 1,
|
||||
'js' => 'if (confirm(\''.$this->l('Also copy images').' ?\')) document.location = \''.$this->context->link->getAdminLink('AdminProducts').'&id_product='.(int)$product->id.'&duplicateproduct\'; else document.location = \''.$this->context->link->getAdminLink('AdminProducts').'&id_product='.(int)$product->id.'&duplicateproduct&noimage=1\';'
|
||||
|
||||
@@ -199,7 +199,7 @@ class AdminSearchConfControllerCore extends AdminController
|
||||
'desc' => $this->l('Add new alias'),
|
||||
'icon' => 'process-icon-new'
|
||||
);
|
||||
|
||||
$this->identifier_name = 'alias';
|
||||
parent::initPageHeaderToolbar();
|
||||
}
|
||||
|
||||
|
||||
@@ -86,6 +86,8 @@ class AdminSearchEnginesControllerCore extends AdminController
|
||||
'desc' => $this->l('Add new search engine'),
|
||||
'icon' => 'process-icon-new'
|
||||
);
|
||||
|
||||
$this->identifier_name = 'server';
|
||||
|
||||
parent::initPageHeaderToolbar();
|
||||
}
|
||||
|
||||
@@ -87,7 +87,8 @@ class Dashactivity extends Module
|
||||
'gapi_mode' => $gapi_mode,
|
||||
'dashactivity_config_form' => $this->renderConfigForm(),
|
||||
'date_subtitle' => $this->l('(from %s to %s)'),
|
||||
'date_format' => $this->context->language->date_format_lite
|
||||
'date_format' => $this->context->language->date_format_lite,
|
||||
'link' => $this->context->link,
|
||||
), $this->getConfigFieldsValues()));
|
||||
return $this->display(__FILE__, 'dashboard_zone_one.tpl');
|
||||
}
|
||||
@@ -311,33 +312,49 @@ class Dashactivity extends Module
|
||||
),
|
||||
);
|
||||
|
||||
$sub_widget = array(
|
||||
array('label' => $this->l('Show Pending'), 'config_name' => 'DASHACTIVITY_SHOW_PENDING'),
|
||||
array('label' => $this->l('Show Notifications'), 'config_name' => 'DASHACTIVITY_SHOW_NOTIFICATION'),
|
||||
array('label' => $this->l('Show Clients'), 'config_name' => 'DASHACTIVITY_SHOW_CUSTOMERS'),
|
||||
array('label' => $this->l('Show Newsletters'), 'config_name' => 'DASHACTIVITY_SHOW_NEWSLETTER'),
|
||||
array('label' => $this->l('Show Traffic'), 'config_name' => 'DASHACTIVITY_SHOW_TRAFFIC'),
|
||||
);
|
||||
|
||||
foreach($sub_widget as $widget)
|
||||
$fields_form['form']['input'][] = array(
|
||||
'type' => 'switch',
|
||||
'label' => $widget['label'],
|
||||
'name' => $widget['config_name'],
|
||||
'is_bool' => true,
|
||||
'values' => array(
|
||||
array(
|
||||
'id' => 'active_on',
|
||||
'value' => 1,
|
||||
'label' => $this->l('Enabled')
|
||||
$fields_form['form']['input'][] = array(
|
||||
'label' => $this->l('Cart as active'),
|
||||
'desc' => $this->l('Default time range to consider a Shopping cart as active (default 30, max 120)'),
|
||||
'name' => 'DASHACTIVITY_CART_ACTIVE',
|
||||
'type' => 'select',
|
||||
'options' => array(
|
||||
'query' => array(
|
||||
array('id' => 15, 'name' => 15),
|
||||
array('id' => 30, 'name' => 30),
|
||||
array('id' => 45, 'name' => 45),
|
||||
array('id' => 60, 'name' => 60),
|
||||
array('id' => 90, 'name' => 90),
|
||||
array('id' => 120, 'name' => 120),
|
||||
),
|
||||
array(
|
||||
'id' => 'active_off',
|
||||
'value' => 0,
|
||||
'label' => $this->l('Disabled')
|
||||
)
|
||||
),
|
||||
);
|
||||
'id' => 'id',
|
||||
'name' => 'name',
|
||||
),
|
||||
);
|
||||
$fields_form['form']['input'][] = array(
|
||||
'label' => $this->l('Visitor online'),
|
||||
'desc' => $this->l('Default time range to consider a Visitor as online (default 30, max 120)'),
|
||||
'name' => 'DASHACTIVITY_VISITOR_ONLINE',
|
||||
'type' => 'select',
|
||||
'options' => array(
|
||||
'query' => array(
|
||||
array('id' => 15, 'name' => 15),
|
||||
array('id' => 30, 'name' => 30),
|
||||
array('id' => 45, 'name' => 45),
|
||||
array('id' => 60, 'name' => 60),
|
||||
array('id' => 90, 'name' => 90),
|
||||
array('id' => 120, 'name' => 120),
|
||||
),
|
||||
'id' => 'id',
|
||||
'name' => 'name',
|
||||
),
|
||||
);
|
||||
$fields_form['form']['input'][] = array(
|
||||
'label' => $this->l('Cart abandoned'),
|
||||
'desc' => $this->l('Default time range to consider a Shopping cart as abandoned (default 24hrs)'),
|
||||
'name' => 'DASHACTIVITY_CART_ABANDONED',
|
||||
'type' => 'text',
|
||||
'suffix' => $this->l('hrs'),
|
||||
);
|
||||
|
||||
$helper = new HelperForm();
|
||||
$helper->show_toolbar = false;
|
||||
@@ -361,13 +378,9 @@ class Dashactivity extends Module
|
||||
public function getConfigFieldsValues()
|
||||
{
|
||||
return array(
|
||||
'DASHACTIVITY_SHOW_STOCK' => Configuration::get('PS_STOCK_MANAGEMENT'),
|
||||
'DASHACTIVITY_SHOW_RETURNS' => Configuration::get('PS_ORDER_RETURN'),
|
||||
'DASHACTIVITY_SHOW_PENDING' => Tools::getValue('DASHACTIVITY_SHOW_PENDING', Configuration::get('DASHACTIVITY_SHOW_PENDING')),
|
||||
'DASHACTIVITY_SHOW_NOTIFICATION' => Tools::getValue('DASHACTIVITY_SHOW_NOTIFICATION', Configuration::get('DASHACTIVITY_SHOW_NOTIFICATION')),
|
||||
'DASHACTIVITY_SHOW_CUSTOMERS' => Tools::getValue('DASHACTIVITY_SHOW_CUSTOMERS', Configuration::get('DASHACTIVITY_SHOW_CUSTOMERS')),
|
||||
'DASHACTIVITY_SHOW_NEWSLETTER' => Tools::getValue('DASHACTIVITY_SHOW_NEWSLETTER', Configuration::get('DASHACTIVITY_SHOW_NEWSLETTER')),
|
||||
'DASHACTIVITY_SHOW_TRAFFIC' => Tools::getValue('DASHACTIVITY_SHOW_TRAFFIC', Configuration::get('DASHACTIVITY_SHOW_TRAFFIC')),
|
||||
'DASHACTIVITY_CART_ACTIVE' => Tools::getValue('DASHACTIVITY_CART_ACTIVE', Configuration::get('DASHACTIVITY_CART_ACTIVE')),
|
||||
'DASHACTIVITY_CART_ABANDONED' => Tools::getValue('DASHACTIVITY_CART_ABANDONED', Configuration::get('DASHACTIVITY_CART_ABANDONED')),
|
||||
'DASHACTIVITY_VISITOR_ONLINE' => Tools::getValue('DASHACTIVITY_VISITOR_ONLINE', Configuration::get('DASHACTIVITY_VISITOR_ONLINE')),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -64,7 +64,6 @@
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
{if $DASHACTIVITY_SHOW_PENDING}
|
||||
<section id="dash_pending" class="loading">
|
||||
<header><i class="icon-time"></i> {l s='Currently Pending' mod='dashactivity'}</header>
|
||||
<ul class="data_list">
|
||||
@@ -74,32 +73,26 @@
|
||||
<span id="pending_orders"></span>
|
||||
</span>
|
||||
</li>
|
||||
{if $DASHACTIVITY_SHOW_RETURNS}
|
||||
<li>
|
||||
<span class="data_label">{l s='Return/Exchanges' mod='dashactivity'}</span>
|
||||
<span class="data_value size_l">
|
||||
<span id="return_exchanges"></span>
|
||||
</span>
|
||||
</li>
|
||||
{/if}
|
||||
<li>
|
||||
<span class="data_label">{l s='Abandoned Carts' mod='dashactivity'}</span>
|
||||
<span class="data_value size_l">
|
||||
<span id="abandoned_cart"></span>
|
||||
</span>
|
||||
</li>
|
||||
{if $DASHACTIVITY_SHOW_STOCK}
|
||||
<li>
|
||||
<span class="data_label">{l s='Products Out of Stock' mod='dashactivity'}</span>
|
||||
<span class="data_value size_l">
|
||||
<span id="products_out_of_stock"></span>
|
||||
</span>
|
||||
</li>
|
||||
{/if}
|
||||
</ul>
|
||||
</section>
|
||||
{/if}
|
||||
{if $DASHACTIVITY_SHOW_NOTIFICATION}
|
||||
<section id="dash_notifications" class="loading">
|
||||
<header><i class="icon-exclamation-sign"></i> {l s='Notifications' mod='dashactivity'}</header>
|
||||
<ul class="data_list_vertical">
|
||||
@@ -123,8 +116,6 @@
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
{/if}
|
||||
{if $DASHACTIVITY_SHOW_CUSTOMERS}
|
||||
<section id="dash_customers" class="loading">
|
||||
<header><i class="icon-user"></i> {l s='Customers & Newsletters' mod='dashactivity'} <span class="subtitle small" id="customers-newsletters-subtitle"><span></header>
|
||||
<ul class="data_list">
|
||||
@@ -148,8 +139,6 @@
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
{/if}
|
||||
{if $DASHACTIVITY_SHOW_TRAFFIC}
|
||||
<section id="dash_traffic" class="loading">
|
||||
<header>
|
||||
<i class="icon-globe"></i> {l s='Traffic' mod='dashactivity'} <span class="subtitle small" id="traffic-subtitle"><span>
|
||||
@@ -184,9 +173,7 @@
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
{/if}
|
||||
</section>
|
||||
|
||||
<script type="text/javascript">
|
||||
date_subtitle = "{$date_subtitle}";
|
||||
date_format = "{$date_format}";
|
||||
|
||||
@@ -24,11 +24,10 @@
|
||||
*}
|
||||
|
||||
<section id="dashproducts" class="panel widget">
|
||||
|
||||
<header class="panel-heading">
|
||||
<i class="icon-bar-chart"></i> {l s='Product and Sales'}
|
||||
<span class="panel-heading-action">
|
||||
<a class="list-toolbar-btn" href="#" title="configure">
|
||||
<a class="list-toolbar-btn" href="#" onclick="toggleDashConfig('dashproducts'); return false;" title="configure">
|
||||
<i class="process-icon-configure"></i>
|
||||
</a>
|
||||
<a class="list-toolbar-btn" href="#" onclick="refreshDashboard('dashproducts'); return false;" title="refresh">
|
||||
@@ -36,67 +35,72 @@
|
||||
</a>
|
||||
</span>
|
||||
</header>
|
||||
|
||||
<nav>
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="active">
|
||||
<a href="#dash_recent_orders" data-toggle="tab">
|
||||
<i class="icon-fire"></i> {l s='Recent Orders'}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#dash_best_sellers" data-toggle="tab">
|
||||
<i class="icon-trophy"></i> {l s='Best Sellers'}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#dash_most_viewed" data-toggle="tab">
|
||||
<i class="icon-eye-open"></i> {l s='Most Viewed'}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#dash_top_search" data-toggle="tab">
|
||||
<i class="icon-search"></i> {l s='Top Search'}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="tab-content panel">
|
||||
<div class="tab-pane active" id="dash_recent_orders">
|
||||
<h3>{l s="Last 10 orders"}</h3>
|
||||
<table class="table data_table" id="table_recent_orders">
|
||||
<thead>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
<section id="dashproducts_config" class="dash_config hide">
|
||||
<header><i class="icon-wrench"></i> {l s='Configuration' mod='dashactivity'}</header>
|
||||
{$dashproducts_config_form}
|
||||
</section>
|
||||
<section>
|
||||
<nav>
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="active">
|
||||
<a href="#dash_recent_orders" data-toggle="tab">
|
||||
<i class="icon-fire"></i> {l s='Recent Orders'}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#dash_best_sellers" data-toggle="tab">
|
||||
<i class="icon-trophy"></i> {l s='Best Sellers'}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#dash_most_viewed" data-toggle="tab">
|
||||
<i class="icon-eye-open"></i> {l s='Most Viewed'}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#dash_top_search" data-toggle="tab">
|
||||
<i class="icon-search"></i> {l s='Top Search'}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
<div class="tab-content panel">
|
||||
<div class="tab-pane active" id="dash_recent_orders">
|
||||
<h3>{l s="Last 10 orders"}</h3>
|
||||
<table class="table data_table" id="table_recent_orders">
|
||||
<thead>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="tab-pane" id="dash_best_sellers">
|
||||
<h3>{l s="Top 10 products"} - {l s="From:"} {$date_from} {l s="to:"} {$date_to}</h3>
|
||||
<table class="table data_table" id="table_best_sellers">
|
||||
<thead>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="tab-pane" id="dash_most_viewed">
|
||||
<h3>{l s="Most Viewed"} - {l s="From:"} {$date_from} {l s="to:"} {$date_to}</h3>
|
||||
<table class="table data_table" id="table_most_viewed">
|
||||
<thead>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="tab-pane" id="dash_top_search">
|
||||
<h3>{l s="Top 10 most search terms"} - {l s="From:"} {$date_from} {l s="to:"} {$date_to}</h3>
|
||||
<table class="table data_table" id="table_top_10_most_search">
|
||||
<thead>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="dash_best_sellers">
|
||||
<h3>{l s="Top 10 products"} - {l s="From:"} {$date_from} {l s="to:"} {$date_to}</h3>
|
||||
<table class="table data_table" id="table_best_sellers">
|
||||
<thead>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="tab-pane" id="dash_most_viewed">
|
||||
<h3>{l s="Most Viewed"} - {l s="From:"} {$date_from} {l s="to:"} {$date_to}</h3>
|
||||
<table class="table data_table" id="table_most_viewed">
|
||||
<thead>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="tab-pane" id="dash_top_search">
|
||||
<h3>{l s="Top 10 most search terms"} - {l s="From:"} {$date_from} {l s="to:"} {$date_to}</h3>
|
||||
<table class="table data_table" id="table_top_10_most_search">
|
||||
<thead>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
Reference in New Issue
Block a user