summaryrefslogtreecommitdiff
path: root/addons/web/doc/module/17
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/web/doc/module/17
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/web/doc/module/17')
-rw-r--r--addons/web/doc/module/1752
1 files changed, 52 insertions, 0 deletions
diff --git a/addons/web/doc/module/17 b/addons/web/doc/module/17
new file mode 100644
index 00000000..d6d6ecc7
--- /dev/null
+++ b/addons/web/doc/module/17
@@ -0,0 +1,52 @@
+# HG changeset patch
+# Parent 2921a545adc3406d3139be7951f3225e94493466
+diff --git a/static/src/js/first_module.js b/static/src/js/first_module.js
+--- a/static/src/js/first_module.js
++++ b/static/src/js/first_module.js
+@@ -7,13 +7,46 @@ openerp.web_example = function (instance
+ '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();
++ }
+ });
+ };