From: Tom Hughes Date: Sat, 24 Aug 2013 11:55:29 +0000 (+0100) Subject: Add support triggering a piwik goal when a map layer is selected X-Git-Tag: live~4787 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/b394a4d309794d719ebe5e77fc69d2a8411aa161 Add support triggering a piwik goal when a map layer is selected --- diff --git a/app/assets/javascripts/index.js b/app/assets/javascripts/index.js index 2a704f724..d577e0cf7 100644 --- a/app/assets/javascripts/index.js +++ b/app/assets/javascripts/index.js @@ -113,6 +113,18 @@ $(document).ready(function () { map.on('moveend layeradd layerremove', updateLocation); + if (OSM.PIWIK) { + map.on('layeradd', function (e) { + if (e.layer.options) { + var goal = OSM.PIWIK.goals[e.layer.options.keyid]; + + if (goal) { + $('body').trigger('piwikgoal', goal); + } + } + }); + } + var marker = L.marker([0, 0], {icon: getUserIcon()}); if (!params.object_zoom) { diff --git a/app/assets/javascripts/piwik.js b/app/assets/javascripts/piwik.js index d81a9ec63..a48e903ad 100644 --- a/app/assets/javascripts/piwik.js +++ b/app/assets/javascripts/piwik.js @@ -1,13 +1,14 @@ if (OSM.PIWIK) { $(document).ready(function () { var base = document.location.protocol + "//" + OSM.PIWIK.location + "/"; + var piwikTracker; - $.ajax({ + var piwikLoader = $.ajax({ url: base + "piwik.js", dataType: "script", cache: true, success: function () { - var piwikTracker = Piwik.getTracker(base + "piwik.php", OSM.PIWIK.site); + piwikTracker = Piwik.getTracker(base + "piwik.php", OSM.PIWIK.site); piwikTracker.trackPageView(); piwikTracker.enableLinkTracking(); @@ -17,5 +18,11 @@ if (OSM.PIWIK) { }); } }); + + $("body").on("piwikgoal", function (e, goal) { + piwikLoader.done(function () { + piwikTracker.trackGoal(goal); + }); + }); }); }