summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js')
-rw-r--r--addons/web/static/src/js/chrome/abstract_web_client.js12
-rw-r--r--addons/web/static/src/js/core/abstract_service.js4
-rw-r--r--addons/web/static/src/js/core/service_mixins.js4
-rw-r--r--addons/web/static/src/js/services/notification_service.js5
4 files changed, 23 insertions, 2 deletions
diff --git a/addons/web/static/src/js/chrome/abstract_web_client.js b/addons/web/static/src/js/chrome/abstract_web_client.js
index bce77a352ea..f88d96e4223 100644
--- a/addons/web/static/src/js/chrome/abstract_web_client.js
+++ b/addons/web/static/src/js/chrome/abstract_web_client.js
@@ -85,6 +85,7 @@ var AbstractWebClient = Widget.extend(ServiceProviderMixin, KeyboardNavigationMi
},
getScrollPosition: '_onGetScrollPosition',
scrollTo: '_onScrollTo',
+ set_title_part: '_onSetTitlePart',
},
init: function (parent) {
this.client_options = {};
@@ -426,6 +427,17 @@ var AbstractWebClient = Widget.extend(ServiceProviderMixin, KeyboardNavigationMi
_onScrollTo: function (ev) {
},
/**
+ * @private
+ * @param {OdooEvent} ev
+ * @param {string} ev.data.part
+ * @param {string} [ev.data.title]
+ */
+ _onSetTitlePart: function (ev) {
+ var part = ev.data.part;
+ var title = ev.data.title;
+ this.set_title_part(part, title);
+ },
+ /**
* Displays a visual effect (for example, a rainbowman0
*
* @private
diff --git a/addons/web/static/src/js/core/abstract_service.js b/addons/web/static/src/js/core/abstract_service.js
index 14efef09b39..e6840cc92f9 100644
--- a/addons/web/static/src/js/core/abstract_service.js
+++ b/addons/web/static/src/js/core/abstract_service.js
@@ -12,6 +12,10 @@ var AbstractService = Class.extend(Mixins.EventDispatcherMixin, ServicesMixin, {
Mixins.EventDispatcherMixin.init.call(this, arguments);
this.setParent(parent);
},
+ /**
+ * @abstract
+ */
+ start: function () {},
});
return AbstractService;
diff --git a/addons/web/static/src/js/core/service_mixins.js b/addons/web/static/src/js/core/service_mixins.js
index 463b0aef4b1..d1868c98d1f 100644
--- a/addons/web/static/src/js/core/service_mixins.js
+++ b/addons/web/static/src/js/core/service_mixins.js
@@ -49,8 +49,10 @@ var ServiceProviderMixin = {
});
});
if (Service) {
- this.services[Service.prototype.name] = new Service(this);
+ var service = new Service(this);
+ this.services[Service.prototype.name] = service;
delete this.UndeployedServices[Service.prototype.name];
+ service.start();
} else {
done = true;
}
diff --git a/addons/web/static/src/js/services/notification_service.js b/addons/web/static/src/js/services/notification_service.js
index bbeeca51bb8..2196626a4f5 100644
--- a/addons/web/static/src/js/services/notification_service.js
+++ b/addons/web/static/src/js/services/notification_service.js
@@ -24,7 +24,10 @@ var NotificationService = AbstractService.extend({
close: '_onCloseNotification',
},
- init: function () {
+ /**
+ * @override
+ */
+ start: function () {
this._super.apply(this, arguments);
this.notifications = {};
},