vue-gtag
Advanced tools
Comparing version 0.1.0 to 0.2.0
@@ -1,1 +0,1 @@ | ||
!function(e,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var t=n();for(var o in t)("object"==typeof exports?exports:e)[o]=t[o]}}("undefined"!=typeof self?self:this,(function(){return function(e){var n={};function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{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,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"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&n&&"string"!=typeof e)for(var r in e)t.d(o,r,function(n){return e[n]}.bind(null,r));return o},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=0)}([function(e,n,t){"use strict";t.r(n);var o=function(e){var n;if("undefined"!=typeof window){for(var t=arguments.length,o=new Array(t>1?t-1:0),r=1;r<t;r++)o[r-1]=arguments[r];(n=window)[A.globalObjectName].apply(n,[e].concat(o))}},r=function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];o.apply(void 0,["config",A.config.id].concat(n))},a=function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];o.apply(void 0,["event"].concat(n))},i=function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];a.apply(void 0,["page_view"].concat(n))},c=function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];a.apply(void 0,["screen_view"].concat(n))},f=function(e){r({custom_map:e})},u=function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];a.apply(void 0,["timing_complete"].concat(n))},p=function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];a.apply(void 0,["exception"].concat(n))},l=function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];a.apply(void 0,["linker"].concat(n))},d=function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];a.apply(void 0,["purchase"].concat(n))},s=function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];o.apply(void 0,["set"].concat(n))},g=function(){window["ga-disable-".concat(A.config.id)]=!1},y=function(){window["ga-disable-".concat(A.config.id)]=!0},v=function(){j.prototype.$gtag={query:o,config:r,event:a,pageview:i,screenview:c,customMap:f,time:u,exception:p,linker:l,purchase:d,set:s,optIn:g,optOut:y,$getOptions:function(){return JSON.parse(JSON.stringify(A))}}};function w(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function m(e){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function b(e,n){"undefined"!=typeof console&&(console.warn("[vue-gtag] "+e),n&&console.warn(n.stack))}function h(e){return e&&"object"===m(e)&&!Array.isArray(e)}var j,_,O=function(e,n){if(e.path!==n.path){var t,o=A.pageTrackerTemplate,a=A.pageTrackerScreenviewEnabled,i=A.appName,f=o(e,n);t=f||(a?{app_name:i,screen_name:e.name}:{page_title:e.name,page_path:e.path,page_location:window.location.href}),!a||t.app_name?!a||t.screen_name?a?c(t):r(t):b("To use the screenview, name your routes"):b("To use the screenview, add the appName to the plugin options")}},S=function(){if("undefined"!=typeof document&&"undefined"!=typeof window){var e=A.config,n=A.globalObjectName,t=A.enabled;(function(e){return new Promise((function(n,t){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("script");r.async=!0,r.src=e,r.setAttribute("rel","preconnect"),r.charset="utf-8",o.appendChild(r),r.onload=n,r.onerror=t}))})("https://www.googletagmanager.com/gtag/js?id=".concat(e.id)).then((function(){t||y(),window.dataLayer=window.dataLayer||[],window[n]=function(){window.dataLayer.push(arguments)},window[n]("js",new Date),window[n]("config",e.id,e.params),A.pageTrackerEnabled&&_.onReady((function(){_.afterEach(O)}))})).catch((function(){b("Ops! Something happened and gtag.js couldn't be loaded")}))}},A={};n.default=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2?arguments[2]:void 0;j=e,A=function e(n){for(var t=arguments.length,o=new Array(t>1?t-1:0),r=1;r<t;r++)o[r-1]=arguments[r];if(!o.length)return n;var a=o.shift();if(h(n)&&h(a))for(var i in a)h(a[i])?(n[i]||Object.assign(n,w({},i,{})),e(n[i],a[i])):Object.assign(n,w({},i,a[i]));return e.apply(void 0,[n].concat(o))}({enabled:!0,globalObjectName:"gtag",pageTrackerTemplate:function(){return null},pageTrackerEnabled:null!=(_=t),pageTrackerScreenviewEnabled:!1,config:{id:null,params:{send_page_view:!0}}},n),v(),S()}}])})); | ||
!function(e,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var t=n();for(var o in t)("object"==typeof exports?exports:e)[o]=t[o]}}("undefined"!=typeof self?self:this,(function(){return function(e){var n={};function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{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,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"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&n&&"string"!=typeof e)for(var r in e)t.d(o,r,function(n){return e[n]}.bind(null,r));return o},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=0)}([function(e,n,t){"use strict";function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,n){"undefined"!=typeof console&&(console.warn("[vue-gtag] "+e),n&&n.stack&&console.warn(n.stack))}function i(e){return"function"==typeof e}function c(e){return e&&"object"===r(e)&&!Array.isArray(e)}t.r(n);var u,f,p=function(e){var n,t=m(),o=t.globalObjectName;if("undefined"!=typeof window){for(var r=arguments.length,a=new Array(r>1?r-1:0),i=1;i<r;i++)a[i-1]=arguments[i];(n=window)[o].apply(n,[e].concat(a))}},l=function(){for(var e=m(),n=arguments.length,t=new Array(n),o=0;o<n;o++)t[o]=arguments[o];p.apply(void 0,["config",e.config.id].concat(t))},d=function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];p.apply(void 0,["event"].concat(n))},s=function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];d.apply(void 0,["screen_view"].concat(n))},y={query:p,config:l,event:d,pageview:function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];d.apply(void 0,["page_view"].concat(n))},screenview:s,customMap:function(e){l({custom_map:e})},time:function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];d.apply(void 0,["timing_complete"].concat(n))},exception:function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];d.apply(void 0,["exception"].concat(n))},linker:function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];d.apply(void 0,["linker"].concat(n))},purchase:function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];d.apply(void 0,["purchase"].concat(n))},set:function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];p.apply(void 0,["set"].concat(n))},optIn:function(){var e=m().config;window["ga-disable-".concat(e.id)]=!1},optOut:function(){var e=m().config;window["ga-disable-".concat(e.id)]=!0}},g=function(){var e=h();e.$gtag=e.prototype.$gtag=y},v=function(e,n){if(e.path!==n.path){var t,o=m(),r=o.pageTrackerTemplate,c=o.pageTrackerScreenviewEnabled,u=o.appName,f=i(r)?r(e,n):null;t=f||(c?{app_name:u,screen_name:e.name}:{page_title:e.name,page_path:e.path,page_location:window.location.href}),!c||t.app_name?!c||t.screen_name?c?s(t):l(t):a("To use the screenview, name your routes"):a("To use the screenview, add the appName to the plugin options")}},w=function(){if("undefined"!=typeof document&&"undefined"!=typeof window){var e,n,t=m(),o=t.enabled,r=t.globalObjectName,c=t.config,u=t.pageTrackerEnabled,f=t.onReady;return o||(window["ga-disable-".concat(c.id)]=!0),window.dataLayer=window.dataLayer||[],window[r]=function(){window.dataLayer.push(arguments)},window[r]("js",new Date),window[r]("config",c.id,c.params),u&&(e=j())&&e.onReady((function(){e.afterEach(v)})),(n="https://www.googletagmanager.com/gtag/js?id=".concat(c.id),new Promise((function(e,t){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("script");r.async=!0,r.src=n,r.setAttribute("rel","preconnect"),r.charset="utf-8",o.appendChild(r),r.onload=e,r.onerror=t}))).then((function(){var e=window[r];return i(f)&&f(e),e})).catch((function(e){return a("Ops! Something happened and gtag.js couldn't be loaded",e),e}))}},b={enabled:!0,bootstrap:!0,globalObjectName:"gtag",pageTrackerTemplate:null,onReady:null,pageTrackerEnabled:!0,pageTrackerScreenviewEnabled:!1,config:{id:null,params:{send_page_view:!0}}},m=function(){return b},h=function(){return u},j=function(){return f};t.d(n,"bootstrap",(function(){return _}));n.default=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2?arguments[2]:void 0;u=e,f=t,b=function e(n){for(var t=arguments.length,r=new Array(t>1?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];if(!r.length)return n;var i=r.shift();if(c(n)&&c(i))for(var u in i)c(i[u])?(n[u]||Object.assign(n,o({},u,{})),e(n[u],i[u])):Object.assign(n,o({},u,i[u]));return e.apply(void 0,[n].concat(r))}(b,n),g(),b.bootstrap&&w()};var _=w}])})); |
{ | ||
"name": "vue-gtag", | ||
"description": "Global Site Tag (gtag.js) plugin for Vue", | ||
"version": "0.1.0", | ||
"version": "0.2.0", | ||
"author": { | ||
@@ -18,4 +18,6 @@ "name": "Matteo Gabriele", | ||
"dev": "webpack --mode development --watch", | ||
"lint": "eslint src --ext .js", | ||
"lint:fix": "eslint src --ext .js --fix", | ||
"test": "jest", | ||
"prepublish": "webpack --mode production", | ||
"prepublish": "yarn lint && webpack --mode production", | ||
"semantic-release": "semantic-release" | ||
@@ -28,2 +30,7 @@ }, | ||
}, | ||
"jest": { | ||
"moduleNameMapper": { | ||
"@/(.*)$": "<rootDir>/src/$1" | ||
} | ||
}, | ||
"keywords": [ | ||
@@ -53,2 +60,3 @@ "google", | ||
"@babel/preset-env": "^7.7.1", | ||
"@vue/test-utils": "^1.0.0-beta.29", | ||
"babel-eslint": "^10.0.3", | ||
@@ -62,7 +70,13 @@ "babel-loader": "^8.0.6", | ||
"eslint-loader": "^3.0.2", | ||
"eslint-plugin-jest": "^23.0.4", | ||
"eslint-plugin-prettier": "^3.1.1", | ||
"eslint-plugin-vue": "^6.0.1", | ||
"flush-promises": "^1.0.2", | ||
"jest": "^24.9.0", | ||
"prettier": "^1.19.1", | ||
"semantic-release": "^15.13.31", | ||
"terser-webpack-plugin": "^2.2.1", | ||
"vue": "^2.6.10", | ||
"vue-router": "^3.1.3", | ||
"vue-template-compiler": "^2.6.10", | ||
"webpack": "^4.41.2", | ||
@@ -69,0 +83,0 @@ "webpack-cli": "^3.3.10" |
@@ -13,2 +13,6 @@ <p> | ||
## Notes before you install this package | ||
The package is maybe not ready yet for production, has no tests yet and might have limited features and lacks in documentation compared to vue-analytics. | ||
**In case you need more flexibility and reliability, right now I still suggest you to install [vue-analytics](https://github.com/MatteoGabriele/vue-analytics) as your main tracking system.** | ||
## Requirements | ||
@@ -24,5 +28,2 @@ | ||
## Notes | ||
The package is ready for production, but has no tests yet and might have limited features and documentation compared to vue-analytics. | ||
In case you need more flexibility, right now I still suggest you to install [vue-analytics](https://github.com/MatteoGabriele/vue-analytics) as your main tracking system. | ||
@@ -112,2 +113,21 @@ Make sure to also give a read at the official gtag.js [documentation](https://developers.google.com/analytics/devguides/collection/gtagjs) | ||
## Example Usage | ||
```js | ||
export default { | ||
name: "Example", | ||
methods: { | ||
recordEvent() { | ||
var callback = function() { | ||
console.log("Conversion Recorded") | ||
}; | ||
this.$gtag.event("conversion", { | ||
send_to: "your-id-here", | ||
event_callback: callback | ||
}); | ||
} | ||
} | ||
}; | ||
``` | ||
# Issues and features requests | ||
@@ -114,0 +134,0 @@ |
Sorry, the diff of this file is not supported yet
13633
135
24