From 0f2d7d77d4e017a56e8a31439d57f70adafaaef5 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Mon, 29 Mar 2021 20:38:38 +0200 Subject: [PATCH] wait #4358 @0.25 --- js/libs/fluidbook/fluidbook.gamify.js | 34 +++++++++++++++++++++++++++ js/libs/fluidbook/fluidbook.js | 1 + js/libs/fluidbook/fluidbook.links.js | 4 +++- 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 js/libs/fluidbook/fluidbook.gamify.js diff --git a/js/libs/fluidbook/fluidbook.gamify.js b/js/libs/fluidbook/fluidbook.gamify.js new file mode 100644 index 00000000..6291ae51 --- /dev/null +++ b/js/libs/fluidbook/fluidbook.gamify.js @@ -0,0 +1,34 @@ +function FluidbookGamify(fluidbook) { + this.fluidbook = fluidbook; + this.coinsLinksSeen = []; + this.totalCoins = 0; +} + +FluidbookGamify.prototype = { + init: function () { + + }, + + linkClicked: function (id) { + console.log(id); + if (this.coinsLinksSeen.indexOf(id) === -1) { + this.coinsLinksSeen.push(id); + this.updateTotalCoins(); + } + }, + + updateTotalCoins: function () { + var $this = this; + this.totalCoins = 0; + $.each(this.coinsLinksSeen, function (k, uid) { + if ($this.fluidbook.settings.gamifyCoins[uid] !== undefined) { + $this.totalCoins += $this.fluidbook.settings.gamifyCoins[uid]; + } + }); + console.log('new coins score : '+this.totalCoins); + + }, + getTotalCoins: function () { + return this.totalCoins; + } +} \ No newline at end of file diff --git a/js/libs/fluidbook/fluidbook.js b/js/libs/fluidbook/fluidbook.js index 2469c91e..e8076196 100644 --- a/js/libs/fluidbook/fluidbook.js +++ b/js/libs/fluidbook/fluidbook.js @@ -90,6 +90,7 @@ Fluidbook.prototype = { this.printing = new FluidbookPrint(this); this.posad = new FluidbookPOSAd(this); this.notes = new FluidbookNotes(this); + this.gamify = new FluidbookGamify(this); if (this.settings.basket) { this.cart = new FluidbookCart(this); diff --git a/js/libs/fluidbook/fluidbook.links.js b/js/libs/fluidbook/fluidbook.links.js index 91b344ee..b9cbaba5 100644 --- a/js/libs/fluidbook/fluidbook.links.js +++ b/js/libs/fluidbook/fluidbook.links.js @@ -49,7 +49,9 @@ FluidbookLinks.prototype = { }); $(document).on('click touchend', '[data-id] a', function () { - $this.fluidbook.contentlock.addAction($(this).closest('[data-id]').attr('data-id'), 'click'); + var id=$(this).closest('[data-id]').attr('data-id'); + $this.fluidbook.contentlock.addAction(id, 'click'); + $this.fluidbook.gamify.linkClicked(id); return true; }); -- 2.39.5