diff options
| author | Xavier Morel <xmo@openerp.com> | 2012-12-05 14:28:54 +0100 |
|---|---|---|
| committer | Xavier Morel <xmo@openerp.com> | 2012-12-05 14:28:54 +0100 |
| commit | 5122dab978f99566e54b080554d340ed7f8559c0 (patch) | |
| tree | eb13727cff9a33d76e7048c9007d6777e38fa109 /addons/web/doc/module/static/src/js/first_module.js.6.diff | |
| parent | 538834d9c34e3bd54e984e8bf03953260399a22e (diff) | |
[ADD] bit o' tutorial for web modules
bzr revid: xmo@openerp.com-20121205132854-j0r8qgh5u2qwlqj1
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.diff | 55 |
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(); ++ } + }); + }; |
