summaryrefslogtreecommitdiff
path: root/addons/web/doc/module/static/src/js/first_module.js.6.diff
diff options
context:
space:
mode:
authorThibault Delavallée <tde@openerp.com>2012-12-10 13:54:23 +0100
committerThibault Delavallée <tde@openerp.com>2012-12-10 13:54:23 +0100
commit1ca5e68b1f3ddb440b104c6c47ea35e8d26a1eed (patch)
tree4070b56d1253290fa69f4fbc43ad4862c883080e /addons/web/doc/module/static/src/js/first_module.js.6.diff
parenta5ca416f055871fb2765567c2cf2f06445c1d2ca (diff)
parent70f8f99b35c93a880cf15a1f21b7f88aef5a8d36 (diff)
[MERGE] Sync with trunk.
bzr revid: tde@openerp.com-20121130093732-i8y10ayjqiaq5t7p bzr revid: tde@openerp.com-20121204142854-pauouyapnw7z8zwj bzr revid: tde@openerp.com-20121205101544-k4ui6thr0ibzw0vx bzr revid: tde@openerp.com-20121210125423-81wbh4af9sxdqjki
Diffstat (limited to 'addons/web/doc/module/static/src/js/first_module.js.6.diff')
-rw-r--r--addons/web/doc/module/static/src/js/first_module.js.6.diff55
1 files changed, 55 insertions, 0 deletions
diff --git a/addons/web/doc/module/static/src/js/first_module.js.6.diff b/addons/web/doc/module/static/src/js/first_module.js.6.diff
new file mode 100644
index 00000000000..7dd17af0e18
--- /dev/null
+++ b/addons/web/doc/module/static/src/js/first_module.js.6.diff
@@ -0,0 +1,55 @@
+--- web_example/static/src/js/first_module.js
++++ web_example/static/src/js/first_module.js
+@@ -1,19 +1,52 @@
+ // static/src/js/first_module.js
+ openerp.web_example = function (instance) {
+ instance.web.client_actions.add('example.action', 'instance.web_example.Action');
+ instance.web_example.Action = instance.web.Widget.extend({
+ template: 'web_example.action',
+ events: {
+ 'click .oe_web_example_start button': 'watch_start',
+ 'click .oe_web_example_stop button': 'watch_stop'
+ },
++ init: function () {
++ this._super.apply(this, arguments);
++ this._start = null;
++ this._watch = null;
++ },
++ update_counter: function () {
++ var h, m, s;
++ // Subtracting javascript dates returns the difference in milliseconds
++ var diff = new Date() - this._start;
++ s = diff / 1000;
++ m = Math.floor(s / 60);
++ s -= 60*m;
++ h = Math.floor(m / 60);
++ m -= 60*h;
++ this.$('.oe_web_example_timer').text(
++ _.str.sprintf("%02d:%02d:%02d", h, m, s));
++ },
+ watch_start: function () {
+ this.$el.addClass('oe_web_example_started')
+ .removeClass('oe_web_example_stopped');
++ this._start = new Date();
++ // Update the UI to the current time
++ this.update_counter();
++ // Update the counter at 30 FPS (33ms/frame)
++ this._watch = setInterval(
++ this.proxy('update_counter'),
++ 33);
+ },
+ watch_stop: function () {
++ clearInterval(this._watch);
++ this.update_counter();
++ this._start = this._watch = null;
+ this.$el.removeClass('oe_web_example_started')
+ .addClass('oe_web_example_stopped');
+ },
++ destroy: function () {
++ if (this._watch) {
++ clearInterval(this._watch);
++ }
++ this._super();
++ }
+ });
+ };