summaryrefslogtreecommitdiff
path: root/addons/website/static/src
diff options
context:
space:
mode:
Diffstat (limited to 'addons/website/static/src')
-rw-r--r--addons/website/static/src/js/backend/dashboard.js3
-rw-r--r--addons/website/static/src/js/content/menu.js12
-rw-r--r--addons/website/static/src/js/menu/customize.js9
-rw-r--r--addons/website/static/src/scss/compatibility/bs3_for_12_0.scss300
-rw-r--r--addons/website/static/src/scss/website.ui.scss1
5 files changed, 324 insertions, 1 deletions
diff --git a/addons/website/static/src/js/backend/dashboard.js b/addons/website/static/src/js/backend/dashboard.js
index b4fe22ba84e..1a83e8dc39a 100644
--- a/addons/website/static/src/js/backend/dashboard.js
+++ b/addons/website/static/src/js/backend/dashboard.js
@@ -44,6 +44,9 @@ var Dashboard = AbstractAction.extend(ControlPanelMixin, {
var self = this;
return $.when(ajax.loadLibs(this), this._super()).then(function() {
return self.fetch_data();
+ }).then(function(){
+ var website = _.findWhere(self.websites, {selected: true});
+ self.website_id = website ? website.id : false;
});
},
diff --git a/addons/website/static/src/js/content/menu.js b/addons/website/static/src/js/content/menu.js
index c5371e3c5fb..42a12414557 100644
--- a/addons/website/static/src/js/content/menu.js
+++ b/addons/website/static/src/js/content/menu.js
@@ -98,6 +98,17 @@ sAnimation.registry.autohideMenu = sAnimation.Class.extend({
def.resolve();
});
});
+
+ // The previous code will make sure we wait for images to be fully
+ // loaded before initializing the auto more menu. But in some cases,
+ // it is not enough, we also have to wait for fonts or even extra
+ // scripts. Those will have no impact on the feature in most cases
+ // though, so we will only update the auto more menu at that time,
+ // no wait for it to initialize the feature.
+ var $window = $(window);
+ $window.on('load.autohideMenu', function () {
+ $window.trigger('resize');
+ });
}
return $.when.apply($, defs).then(function () {
if (!self.noAutohide) {
@@ -112,6 +123,7 @@ sAnimation.registry.autohideMenu = sAnimation.Class.extend({
destroy: function () {
this._super.apply(this, arguments);
if (!this.noAutohide) {
+ $(window).off('.autohideMenu');
dom.destroyAutoMoreMenu(this.$el);
}
},
diff --git a/addons/website/static/src/js/menu/customize.js b/addons/website/static/src/js/menu/customize.js
index d8ce436248e..b931e938cc6 100644
--- a/addons/website/static/src/js/menu/customize.js
+++ b/addons/website/static/src/js/menu/customize.js
@@ -18,8 +18,14 @@ var CustomizeMenu = Widget.extend({
/**
* @override
*/
- start: function () {
+ willStart: function () {
this.viewName = $(document.documentElement).data('view-xmlid');
+ return this._super.apply(this, arguments);
+ },
+ /**
+ * @override
+ */
+ start: function () {
if (!this.viewName) {
_.defer(this.destroy.bind(this));
}
@@ -27,6 +33,7 @@ var CustomizeMenu = Widget.extend({
if (this.$el.is('.show')) {
this._loadCustomizeOptions();
}
+ return this._super.apply(this, arguments);
},
//--------------------------------------------------------------------------
diff --git a/addons/website/static/src/scss/compatibility/bs3_for_12_0.scss b/addons/website/static/src/scss/compatibility/bs3_for_12_0.scss
new file mode 100644
index 00000000000..82beeec2cbf
--- /dev/null
+++ b/addons/website/static/src/scss/compatibility/bs3_for_12_0.scss
@@ -0,0 +1,300 @@
+/**
+ * This file's purpose is to *ease* migration from 11.0.
+ */
+
+// Restore gray utilities
+$-compat-gray-map: (
+ 'gray-darker': '900',
+ 'gray-dark': '900',
+ 'gray': '700',
+ 'gray-light': '600',
+ 'gray-lighter': '200',
+);
+@each $old, $new in $-compat-gray-map {
+ @include bg-variant(".bg-#{$old}", gray($new));
+ @include text-emphasis-variant(".text-#{$old}", gray($new));
+}
+
+// Restore media ?
+
+// Restore progress bars
+@each $color, $value in $theme-colors {
+ @include bg-variant(".progress-bar-#{$color}", $value);
+}
+
+// Adapt radio ?
+
+// Adapt labels
+.label {
+ @extend .badge;
+}
+@each $color, $value in $theme-colors {
+ .label-#{$color} {
+ @include badge-variant($value);
+ }
+}
+.label-default {
+ @include badge-variant(theme-color('secondary'));
+}
+
+// Adapt center-block
+.center-block {
+ display: block;
+ margin: auto;
+}
+
+// Adapt pull-* classes
+.pull-left {
+ float: left;
+}
+.pull-right {
+ float: right;
+}
+
+// Adapt pagination
+.pagination > li {
+ @extend .page-item;
+ > a {
+ @extend .page-link;
+ }
+}
+
+// Adapt carousel
+.carousel .item {
+ @extend .carousel-item;
+}
+
+// Adapt checkboxes ?
+
+// Adapt tables
+.table-condensed {
+ @extend .table-sm;
+}
+
+// Adapt forms
+.control-label {
+ @extend .col-form-label;
+}
+.help-block {
+ @extend .form-text;
+}
+.has-error .form-control {
+ @extend .is-invalid;
+}
+.has-success .form-control {
+ @extend .is-valid;
+}
+.form-horizontal .form-group {
+ @extend .row;
+}
+
+// Adapt list-inline
+.list-inline > li {
+ @extend .list-inline-item;
+}
+
+// Adapt list-group
+.panel .list-group {
+ @extend .list-group-flush;
+}
+
+// Adapt image utilies
+.img-rounded {
+ @extend .rounded;
+}
+.img-circle {
+ @extend .rounded-circle;
+}
+
+// Adapt input group
+.input-group {
+ .input-group-btn:first-child {
+ @extend .input-group-prepend;
+ }
+ .form-control ~ .input-group-btn {
+ @extend .input-group-append;
+ }
+ .input-group-addon {
+ @extend .input-group-append;
+ @extend .input-group-text;
+ }
+}
+
+// Adapt panels
+.panel {
+ @extend .card;
+}
+@each $color, $value in $theme-colors {
+ @include bg-variant(".panel-#{$color}", $value);
+}
+@include bg-variant(".panel-default", $white);
+.panel-heading {
+ @extend .card-header;
+}
+.panel-body {
+ @extend .card-body;
+}
+.panel-footer {
+ @extend .card-footer;
+}
+.well {
+ @extend .card;
+ @extend .card-body;
+}
+
+// Adapt grid (push-pull, xs ?)
+@each $breakpoint in map-keys($grid-breakpoints) {
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
+ $infix: if($infix != "", $infix, "-xs");
+
+ @include media-breakpoint-up($breakpoint, $grid-breakpoints) {
+ // `$grid-columns - 1` because offsetting by the width of an entire row isn't possible
+ @for $i from 0 through ($grid-columns - 1) {
+ .col#{$infix}-offset-#{$i} {
+ @include make-col-offset($i, $grid-columns);
+ }
+ }
+ }
+}
+
+// Adapt breadcrumb
+.breadcrumb > li {
+ @extend .breadcrumb-item;
+}
+
+// Adapt nav
+.nav > li {
+ @extend .nav-item;
+ > a {
+ @extend .nav-link;
+ }
+}
+.nav-stacked {
+ flex-direction: column;
+}
+@include bg-variant(".navbar-default", $light);
+
+// Adapt img-responsive
+.img-responsive {
+ @extend .img-fluid;
+}
+
+// Adapt dropdowns
+.dropdown-menu {
+ a {
+ @extend .dropdown-item;
+ }
+ .divider {
+ @extend .dropdown-divider;
+ }
+}
+.dropdown-toggle .caret {
+ display: none;
+}
+
+// Adapt buttons
+.btn-default {
+ @include button-variant(theme-color('secondary'), theme-color('secondary'));
+}
+
+// Adapt display classes
+.hidden, .hide {
+ display: none !important;
+}
+.hidden {
+ &-xs {
+ @include media-breakpoint-down(sm) {
+ display: none;
+ }
+ }
+ &-sm {
+ @include media-breakpoint-only(md) {
+ display: none;
+ }
+ }
+ &-md {
+ @include media-breakpoint-only(lg) {
+ display: none;
+ }
+ }
+ &-lg {
+ @include media-breakpoint-only(xl) {
+ display: none;
+ }
+ }
+ &-print {
+ @media print {
+ display: none;
+ }
+ }
+}
+.show {
+ display: block !important;
+}
+.visible {
+ &-xs {
+ &-block, &-inline-block {
+ display: none;
+ }
+ @include media-breakpoint-down(sm) {
+ &-block {
+ display: block;
+ }
+ &-inline-block {
+ display: inline-block;
+ }
+ }
+ }
+ &-sm {
+ &-block, &-inline-block {
+ display: none;
+ }
+ @include media-breakpoint-only(md) {
+ &-block {
+ display: block;
+ }
+ &-inline-block {
+ display: inline-block;
+ }
+ }
+ }
+ &-md {
+ &-block, &-inline-block {
+ display: none;
+ }
+ @include media-breakpoint-only(lg) {
+ &-block {
+ display: block;
+ }
+ &-inline-block {
+ display: inline-block;
+ }
+ }
+ }
+ &-lg {
+ &-block, &-inline-block {
+ display: none;
+ }
+ @include media-breakpoint-only(xl) {
+ &-block {
+ display: block;
+ }
+ &-inline-block {
+ display: inline-block;
+ }
+ }
+ }
+ &-print {
+ &-block, &-inline-block {
+ display: none;
+ }
+ @media print {
+ &-block {
+ display: block;
+ }
+ &-inline-block {
+ display: inline-block;
+ }
+ }
+ }
+}
diff --git a/addons/website/static/src/scss/website.ui.scss b/addons/website/static/src/scss/website.ui.scss
index 1d1c42203b4..d9554a20a1c 100644
--- a/addons/website/static/src/scss/website.ui.scss
+++ b/addons/website/static/src/scss/website.ui.scss
@@ -298,6 +298,7 @@ body .modal {
}
#o_new_content_menu_choices {
+ @include o-w-preserve-base;
@include o-position-absolute($o-navbar-height, 0, 0, 0);
position: fixed;
display: flex;