vue-matomo
Advanced tools
Comparing version 4.0.1 to 4.1.0
@@ -1,1 +0,1 @@ | ||
!function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r();else if("function"==typeof define&&define.amd)define([],r);else{var t=r();for(var n in t)("object"==typeof exports?exports:e)[n]=t[n]}}(window,(function(){return function(e){var r={};function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)t.d(n,o,function(r){return e[r]}.bind(null,o));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=0)}([function(e,r,t){"use strict";function n(){return window.Piwik.getAsyncTracker()}function o(e){return new Promise((function(r,t){var n=document.createElement("script");n.async=!0,n.defer=!0,n.src=e,(document.head||document.getElementsByTagName("head")[0]).appendChild(n),n.onload=r,n.onerror=t}))}function i(e,r){return e.resolve(r).href}t.r(r),t.d(r,"matomoKey",(function(){return u})),t.d(r,"default",(function(){return d}));var a={debug:!1,disableCookies:!1,requireCookieConsent:!1,enableHeartBeatTimer:!1,enableLinkTracking:!0,heartBeatTimerInterval:15,requireConsent:!1,trackInitialView:!0,trackerFileName:"matomo",trackerUrl:void 0,trackerScriptUrl:void 0,userId:void 0,cookieDomain:void 0,domains:void 0,preInitActions:[]},u="Matomo";function c(e,r,t){var o,a,u,c=n();if(e.router){if(a=i(e.router,r.fullPath),u=t&&t.fullPath?i(e.router,t.fullPath):void 0,r.meta.analyticsIgnore)return void(e.debug&&console.debug("[vue-matomo] Ignoring "+a));e.debug&&console.debug("[vue-matomo] Tracking "+a),o=r.meta.title||a}u&&c.setReferrerUrl(u),a&&c.setCustomUrl(a),c.trackPageView(o)}function l(e,r){var t=n();if(Number(e.version.split(".")[0])>2?(e.config.globalProperties.$piwik=t,e.config.globalProperties.$matomo=t,e.provide(u,t)):(e.prototype.$piwik=t,e.prototype.$matomo=t),r.trackInitialView&&r.router){var o=r.router.currentRoute.value?r.router.currentRoute.value:r.router.currentRoute;c(r,o)}r.router&&r.router.afterEach((function(e,n){c(r,e,n),r.enableLinkTracking&&t.enableLinkTracking()}))}function s(){return new Promise((function(e,r){var t=Date.now(),n=setInterval((function(){if(window.Piwik)return clearInterval(n),e();if(Date.now()>=t+3e3)throw clearInterval(n),new Error("[vue-matomo]: window.Piwik undefined after waiting for ".concat(3e3,"ms"))}),50)}))}function d(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=Object.assign({},a,r),n=t.host,i=t.siteId,u=t.trackerFileName,c=t.trackerUrl,d=t.trackerScriptUrl,f=d||"".concat(n,"/").concat(u,".js"),p=c||"".concat(n,"/").concat(u,".php");window._paq=window._paq||[],window._paq.push(["setTrackerUrl",p]),window._paq.push(["setSiteId",i]),t.requireConsent&&window._paq.push(["requireConsent"]),t.userId&&window._paq.push(["setUserId",t.userId]),t.enableLinkTracking&&window._paq.push(["enableLinkTracking"]),t.disableCookies&&window._paq.push(["disableCookies"]),t.requireCookieConsent&&window._paq.push(["requireCookieConsent"]),t.enableHeartBeatTimer&&window._paq.push(["enableHeartBeatTimer",t.heartBeatTimerInterval]),t.cookieDomain&&window._paq.push(["setCookieDomain",t.cookieDomain]),t.domains&&window._paq.push(["setDomains",t.domains]),t.preInitActions.forEach((function(e){return window._paq.push(e)})),o(f).then((function(){return s()})).then((function(){return l(e,t)})).catch((function(e){if(e.target)return console.error("[vue-matomo] An error occurred trying to load ".concat(e.target.src,". ")+"If the file exists you may have an ad- or trackingblocker enabled.");console.error(e)}))}}])})); | ||
!function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r();else if("function"==typeof define&&define.amd)define([],r);else{var t=r();for(var o in t)("object"==typeof exports?exports:e)[o]=t[o]}}(window,(function(){return function(e){var r={};function t(o){if(r[o])return r[o].exports;var n=r[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,t),n.l=!0,n.exports}return t.m=e,t.c=r,t.d=function(e,r,o){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)t.d(o,n,function(r){return e[r]}.bind(null,n));return o},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=0)}([function(e,r,t){"use strict";function o(){return window.Piwik.getAsyncTracker()}function n(e){return new Promise((function(r,t){var o=document.createElement("script");o.async=!0,o.defer=!0,o.src=e,(document.head||document.getElementsByTagName("head")[0]).appendChild(o),o.onload=r,o.onerror=t}))}function i(e,r){return e.resolve(r).href}t.r(r),t.d(r,"matomoKey",(function(){return u})),t.d(r,"default",(function(){return d}));var a={debug:!1,disableCookies:!1,requireCookieConsent:!1,enableHeartBeatTimer:!1,enableLinkTracking:!0,heartBeatTimerInterval:15,requireConsent:!1,trackInitialView:!0,trackSiteSearch:!1,trackerFileName:"matomo",trackerUrl:void 0,trackerScriptUrl:void 0,userId:void 0,cookieDomain:void 0,domains:void 0,preInitActions:[]},u="Matomo";function c(e,r,t){if("function"==typeof e.trackSiteSearch){var n=e.trackSiteSearch(r);if(n)return void function(e,r){var t=r.keyword,n=r.category,i=r.resultsCount,a=o();e.debug&&console.debug("[vue-matomo] Site Search "+t),a.trackSiteSearch(t,n,i)}(e,n)}!function(e,r,t){var n,a,u,c=o();if(e.router){if(a=i(e.router,r.fullPath),u=t&&t.fullPath?i(e.router,t.fullPath):void 0,r.meta.analyticsIgnore)return void(e.debug&&console.debug("[vue-matomo] Ignoring "+a));e.debug&&console.debug("[vue-matomo] Tracking "+a),n=r.meta.title||a}u&&c.setReferrerUrl(u);a&&c.setCustomUrl(a);c.trackPageView(n)}(e,r,t)}function s(e,r){var t=o();if(Number(e.version.split(".")[0])>2?(e.config.globalProperties.$piwik=t,e.config.globalProperties.$matomo=t,e.provide(u,t)):(e.prototype.$piwik=t,e.prototype.$matomo=t),r.trackInitialView&&r.router){var n=r.router.currentRoute.value?r.router.currentRoute.value:r.router.currentRoute;c(r,n)}r.router&&r.router.afterEach((function(e,o){c(r,e,o),r.enableLinkTracking&&t.enableLinkTracking()}))}function l(){return new Promise((function(e,r){var t=Date.now(),o=setInterval((function(){if(window.Piwik)return clearInterval(o),e();if(Date.now()>=t+3e3)throw clearInterval(o),new Error("[vue-matomo]: window.Piwik undefined after waiting for ".concat(3e3,"ms"))}),50)}))}function d(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=Object.assign({},a,r),o=t.host,i=t.siteId,u=t.trackerFileName,c=t.trackerUrl,d=t.trackerScriptUrl,f=d||"".concat(o,"/").concat(u,".js"),p=c||"".concat(o,"/").concat(u,".php");window._paq=window._paq||[],window._paq.push(["setTrackerUrl",p]),window._paq.push(["setSiteId",i]),t.requireConsent&&window._paq.push(["requireConsent"]),t.userId&&window._paq.push(["setUserId",t.userId]),t.enableLinkTracking&&window._paq.push(["enableLinkTracking"]),t.disableCookies&&window._paq.push(["disableCookies"]),t.requireCookieConsent&&window._paq.push(["requireCookieConsent"]),t.enableHeartBeatTimer&&window._paq.push(["enableHeartBeatTimer",t.heartBeatTimerInterval]),t.cookieDomain&&window._paq.push(["setCookieDomain",t.cookieDomain]),t.domains&&window._paq.push(["setDomains",t.domains]),t.preInitActions.forEach((function(e){return window._paq.push(e)})),n(f).then((function(){return l()})).then((function(){return s(e,t)})).catch((function(e){if(e.target)return console.error("[vue-matomo] An error occurred trying to load ".concat(e.target.src,". ")+"If the file exists you may have an ad- or trackingblocker enabled.");console.error(e)}))}}])})); |
{ | ||
"name": "vue-matomo", | ||
"version": "4.0.1", | ||
"version": "4.1.0", | ||
"description": "Link your Piwik/Matomo installation", | ||
@@ -5,0 +5,0 @@ "author": "Dennis Ruhe <dennis@amazingsystems.nl>", |
@@ -110,3 +110,19 @@ # VueMatomo | ||
// ] | ||
preInitActions: [] | ||
preInitActions: [], | ||
// A function to determine whether to track an interaction as a site search | ||
// instead of as a page view. If not a function, all interactions will be | ||
// tracked as page views. Receives the new route as an argument, and | ||
// returns either an object of keyword, category (optional) and resultsCount | ||
// (optional) to track as a site search, or a falsey value to track as a page | ||
// view. | ||
// Default: false, i.e. track all interactions as page views | ||
// Example: (to) => { | ||
// if (to.query.q && to.name === 'search') { | ||
// return { keyword: to.query.q, category: to.params.category } | ||
// } else { | ||
// return null | ||
// } | ||
// } | ||
trackSiteSearch: false | ||
}); | ||
@@ -113,0 +129,0 @@ |
@@ -12,2 +12,3 @@ import { getMatomo, getResolvedHref, loadScript } from './utils' | ||
trackInitialView: true, | ||
trackSiteSearch: false, | ||
trackerFileName: 'matomo', | ||
@@ -24,2 +25,21 @@ trackerUrl: undefined, | ||
function trackUserInteraction (options, to, from) { | ||
if (typeof options.trackSiteSearch === 'function') { | ||
const siteSearch = options.trackSiteSearch(to) | ||
if (siteSearch) { | ||
trackMatomoSiteSearch(options, siteSearch) | ||
return | ||
} | ||
} | ||
trackMatomoPageView(options, to, from) | ||
} | ||
function trackMatomoSiteSearch (options, { keyword, category, resultsCount }) { | ||
const Matomo = getMatomo() | ||
options.debug && console.debug('[vue-matomo] Site Search ' + keyword) | ||
Matomo.trackSiteSearch(keyword, category, resultsCount) | ||
} | ||
function trackMatomoPageView (options, to, from) { | ||
@@ -78,3 +98,3 @@ const Matomo = getMatomo() | ||
// Register first page view | ||
trackMatomoPageView(options, currentRoute) | ||
trackUserInteraction(options, currentRoute) | ||
} | ||
@@ -85,3 +105,3 @@ | ||
options.router.afterEach((to, from) => { | ||
trackMatomoPageView(options, to, from) | ||
trackUserInteraction(options, to, from) | ||
@@ -88,0 +108,0 @@ if (options.enableLinkTracking) { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
20520
173
268