@cronapp/framework-analytics-google 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cronapp.json +24 -0
- package/cronapp.nls.json +4 -0
- package/icon.svg +70 -0
- package/package.json +18 -0
- package/src/main/browser/googleAnalytics.ts +22 -0
- package/src/main/browser/index.angularJs.ts +1 -0
- package/target/browser/cronapp.framework.analytics.google.js +1 -0
- package/tsconfig.json +13 -0
- package/webpack.config.js +9 -0
package/cronapp.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"postUpdate": {
|
|
3
|
+
"browser": {
|
|
4
|
+
"includes": [
|
|
5
|
+
{
|
|
6
|
+
"file": "index.html",
|
|
7
|
+
"script": "node_modules/@cronapp/framework-analytics-google/cronapp.framework.analytics.google.js",
|
|
8
|
+
"type": "script"
|
|
9
|
+
}
|
|
10
|
+
]
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"configuration": {
|
|
14
|
+
"title": "cronapp.framework.analytics.google.title",
|
|
15
|
+
"icon": "icon.svg",
|
|
16
|
+
"properties": {
|
|
17
|
+
"cronapp.framework.analytics.google.trackingId": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "cronapp.framework.analytics.google.trackingId",
|
|
20
|
+
"frameworks": ["browser"]
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
package/cronapp.nls.json
ADDED
package/icon.svg
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg
|
|
3
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
4
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
|
5
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
6
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
|
7
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
8
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
9
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
10
|
+
width="24"
|
|
11
|
+
height="24"
|
|
12
|
+
version="1.1"
|
|
13
|
+
id="svg12"
|
|
14
|
+
sodipodi:docname="google_analytics-icon.svg"
|
|
15
|
+
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
|
|
16
|
+
<metadata
|
|
17
|
+
id="metadata18">
|
|
18
|
+
<rdf:RDF>
|
|
19
|
+
<cc:Work
|
|
20
|
+
rdf:about="">
|
|
21
|
+
<dc:format>image/svg+xml</dc:format>
|
|
22
|
+
<dc:type
|
|
23
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
24
|
+
<dc:title></dc:title>
|
|
25
|
+
</cc:Work>
|
|
26
|
+
</rdf:RDF>
|
|
27
|
+
</metadata>
|
|
28
|
+
<defs
|
|
29
|
+
id="defs16" />
|
|
30
|
+
<sodipodi:namedview
|
|
31
|
+
pagecolor="#ffffff"
|
|
32
|
+
bordercolor="#666666"
|
|
33
|
+
borderopacity="1"
|
|
34
|
+
objecttolerance="10"
|
|
35
|
+
gridtolerance="10"
|
|
36
|
+
guidetolerance="10"
|
|
37
|
+
inkscape:pageopacity="0"
|
|
38
|
+
inkscape:pageshadow="2"
|
|
39
|
+
inkscape:window-width="2560"
|
|
40
|
+
inkscape:window-height="1367"
|
|
41
|
+
id="namedview14"
|
|
42
|
+
showgrid="false"
|
|
43
|
+
inkscape:zoom="15.75"
|
|
44
|
+
inkscape:cx="32"
|
|
45
|
+
inkscape:cy="32"
|
|
46
|
+
inkscape:window-x="1280"
|
|
47
|
+
inkscape:window-y="32"
|
|
48
|
+
inkscape:window-maximized="0"
|
|
49
|
+
inkscape:current-layer="svg12" />
|
|
50
|
+
<g
|
|
51
|
+
transform="matrix(0.13636184,0,0,0.13636364,-1.0907368,-1.0909121)"
|
|
52
|
+
id="g10">
|
|
53
|
+
<path
|
|
54
|
+
d="m 130,29 v 132 c 0,14.77 10.2,23 21,23 10,0 21,-7 21,-23 V 30 C 172,16.46 162,8 151,8 140,8 130,17.33 130,29 Z"
|
|
55
|
+
fill="#f9ab00"
|
|
56
|
+
id="path2" />
|
|
57
|
+
<g
|
|
58
|
+
fill="#e37400"
|
|
59
|
+
id="g8">
|
|
60
|
+
<path
|
|
61
|
+
d="m 75,96 v 65 c 0,14.77 10.2,23 21,23 10,0 21,-7 21,-23 V 97 C 117,83.46 107,75 96,75 85,75 75,84.33 75,96 Z"
|
|
62
|
+
id="path4" />
|
|
63
|
+
<circle
|
|
64
|
+
cx="41"
|
|
65
|
+
cy="163"
|
|
66
|
+
r="21"
|
|
67
|
+
id="circle6" />
|
|
68
|
+
</g>
|
|
69
|
+
</g>
|
|
70
|
+
</svg>
|
package/package.json
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cronapp/framework-analytics-google",
|
|
3
|
+
"version": "1.0.4",
|
|
4
|
+
"scripts": {
|
|
5
|
+
"build": "npx webpack --progress --config webpack.config.js",
|
|
6
|
+
"watch": "npx webpack -d eval-source-map --progress --watch --config webpack.config.js",
|
|
7
|
+
"prepublishOnly": "npm run build -p && cp target/browser/* .",
|
|
8
|
+
"postpublish": "git clean -fd"
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"@analytics/google-analytics": "0.5.2",
|
|
12
|
+
"@cronapp/framework-analytics": "1.0.4"
|
|
13
|
+
},
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"@types/angular": "1.8.1",
|
|
16
|
+
"ts-loader": "9.5.1"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import googleAnalytics from '@analytics/google-analytics';
|
|
2
|
+
import IConfigurationService = cronapp.configuration.IConfigurationService;
|
|
3
|
+
import component = cronapp.ioc.component;
|
|
4
|
+
import qualifier = cronapp.ioc.qualifier;
|
|
5
|
+
import bindSingleton = cronapp.ioc.bindSingleton;
|
|
6
|
+
import IAnalyticsPluginFactory = cronapp.analytics.IAnalyticsPluginFactory;
|
|
7
|
+
|
|
8
|
+
@component()
|
|
9
|
+
class GoogleAnalyticsPluginFactory implements IAnalyticsPluginFactory<any> {
|
|
10
|
+
constructor(
|
|
11
|
+
@qualifier(IConfigurationService) private configurationService: IConfigurationService
|
|
12
|
+
) {
|
|
13
|
+
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
async createAnalyticsPlugin(): Promise<any> {
|
|
17
|
+
const trackingId = await this.configurationService.getValue<string>('cronapp.framework.analytics.google.trackingId');
|
|
18
|
+
return googleAnalytics({trackingId});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
bindSingleton(IAnalyticsPluginFactory, GoogleAnalyticsPluginFactory);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import 'googleAnalytics';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{var e={};(()=>{"use strict";function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t(t){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{},o=Object.keys(a);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(a).filter((function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable})))),o.forEach((function(n){e(t,n,a[n])}))}return t}var n={trackingId:null,debug:!1,anonymizeIp:!1,customDimensions:{},resetCustomDimensionsOnPage:[],setCustomDimensionsToPage:!0},a={};function o(e){return e?!function(e){var t=document.querySelectorAll("script[src]");return!!Object.keys(t).filter((function(n){return(t[n].src||"")===e})).length}(e):"undefined"==typeof ga}function i(e){var t=e.instanceName;return{instancePrefix:t?"".concat(t,"."):"",instanceName:t}}function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={},n=e.name,a=e.source,o=e.medium,i=e.content,r=e.keyword;return n&&(t.campaignName=n),a&&(t.campaignSource=a),o&&(t.campaignMedium=o),i&&(t.campaignContent=i),r&&(t.campaignKeyword=r),t}function c(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).customDimensions;return Object.keys(t).reduce((function(n,a){var o=t[a],i=function(e,t,n,a,o){for(t=t.split?t.split("."):t,a=0;a<t.length;a++)e=e?e[t[a]]:o;return e===o?void 0:e}(e,a)||e[a];return"boolean"==typeof i&&(i=i.toString()),i||0===i?(n[o]=i,n):n}),{})}function s(){var e=arguments.length>1?arguments[1]:void 0,t=arguments.length>2?arguments[2]:void 0,n=c(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e);return Object.keys(n).length?e.setCustomDimensionsToPage?(ga("".concat(t,"set"),n),{}):n:{}}const l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},l=!1,u=i(e),f=u.instanceName,g=u.instancePrefix;return{name:"google-analytics",config:t({},n,e),initialize:function(e){var n=e.config,i=e.instance;if(!n.trackingId)throw new Error("No GA trackingId defined");var r=n.customScriptSrc||"https://www.google-analytics.com/analytics.js";if(o(r)&&function(e,t,n,a,o,i,r){e.GoogleAnalyticsObject=o,e[o]=e[o]||function(){(e[o].q=e[o].q||[]).push(arguments)},e[o].l=1*new Date,i=t.createElement(n),r=t.getElementsByTagName(n)[0],i.async=1,i.src=a,r.parentNode.insertBefore(i,r)}(window,document,"script",r,"ga"),!a[f]){var s=t({cookieDomain:n.domain||"auto",siteSpeedSampleRate:n.siteSpeedSampleRate||1,sampleRate:n.sampleRate||100,allowLinker:!0},n.cookieConfig);f&&(s.name=f),ga("create",n.trackingId,s),n.debug&&(ga("".concat(g,"set"),"sendHitTask",null),window.ga_debug={trace:!0}),n.anonymizeIp&&ga("".concat(g,"set"),"anonymizeIp",!0),n.tasks&&["customTask","previewTask","checkProtocolTask","validationTask","checkStorageTask","historyImportTask","samplerTask","buildHitTask","sendHitTask","timingTask","displayFeaturesTask"].forEach((function(e){if(n.tasks.hasOwnProperty(e)){var t=n.tasks[e];"function"==typeof t?ga(n.tasks[e]):null===t&&ga("".concat(g,"set"),e,t)}}));var l=(i.user()||{}).traits||{};if(Object.keys(l).length){var u=c(l,n);ga("".concat(g,"set"),u)}a[f]=!0}},page:function(e){var n=e.payload,a=e.config,i=e.instance,c=n.properties,u=a.resetCustomDimensionsOnPage,f=a.customDimensions,p=i.getState("context.campaign");if(!o()){if(u&&u.length){var d=u.reduce((function(e,t){return f[t]&&(e[f[t]]=null),e}),{});Object.keys(d).length&&ga("".concat(g,"set"),d)}var v=c.path||document.location.pathname,m={page:v,title:c.title,location:c.url},y={page:v,title:c.title};c.referrer!==document.referrer&&(y.referrer=c.referrer);var h=t({},m,r(p),s(c,a,g));ga("".concat(g,"set"),y),l&&delete h.location,ga("".concat(g,"send"),"pageview",h),l=!0}},track:function(e){var n=e.payload,a=e.config,c=e.instance,l=n.properties,u=n.event,f=l.label,g=l.value;!function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2?arguments[2]:void 0;if(!o()){var c,l=i(n).instancePrefix,u={hitType:e.hitType||"event",eventAction:e.event,eventLabel:e.label,eventCategory:e.category||"All",nonInteraction:void 0!==e.nonInteraction&&!!e.nonInteraction};e.value&&(u.eventValue=!(c=e.value)||c<0?0:Math.round(c));var f=t({},u,r(e),s(a.properties,n,l));ga("".concat(l,"send"),"event",f)}}({hitType:"event",event:u,label:f,category:l.category||"All",value:g,nonInteraction:l.nonInteraction,campaign:c.getState("context.campaign")},a,n)},identify:function(e){var t=e.payload,n=e.config;!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!o()){var a=i(n).instancePrefix;if(e&&ga("".concat(a,"set"),"userId",e),Object.keys(t).length){var r=c(t,n);ga("".concat(a,"set"),r)}}}(t.userId,t.traits,n)},loaded:function(){return!!window.gaplugins}}};var u=cronapp.configuration.IConfigurationService,f=cronapp.ioc.component,g=cronapp.ioc.qualifier,p=cronapp.ioc.bindSingleton,d=cronapp.analytics.IAnalyticsPluginFactory;let v=class{constructor(e){this.configurationService=e}createAnalyticsPlugin(){return e=this,t=void 0,a=function*(){const e=yield this.configurationService.getValue("cronapp.framework.analytics.google.trackingId");return l({trackingId:e})},new((n=void 0)||(n=Promise))((function(o,i){function r(e){try{s(a.next(e))}catch(e){i(e)}}function c(e){try{s(a.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(r,c)}s((a=a.apply(e,t||[])).next())}));var e,t,n,a}};var m,y;v=function(e,t,n,a){var o,i=arguments.length,r=i<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,a);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(r=(i<3?o(r):i>3?o(t,n,r):o(t,n))||r);return i>3&&r&&Object.defineProperty(t,n,r),r}([f(),(m=0,y=g(u),function(e,t){y(e,t,m)}),function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}("design:paramtypes",[Object])],v),p(d,v)})();var t=cronapp="undefined"==typeof cronapp?{}:cronapp;for(var n in e)t[n]=e[n];e.__esModule&&Object.defineProperty(t,"__esModule",{value:!0})})();
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "../tsconfig.packages.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"rootDir": "src/main/browser",
|
|
5
|
+
"outDir": "target/browser",
|
|
6
|
+
"baseUrl": "src/main/browser"
|
|
7
|
+
},
|
|
8
|
+
"include": [
|
|
9
|
+
"../typings/@cronapp/framework-core.d.ts",
|
|
10
|
+
"../typings/@cronapp/framework-analytics.d.ts",
|
|
11
|
+
"src"
|
|
12
|
+
]
|
|
13
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const path = require('path');
|
|
2
|
+
const createConfig = require('../webpack.config.js');
|
|
3
|
+
const packageName = 'cronapp.framework.analytics.google';
|
|
4
|
+
|
|
5
|
+
module.exports = (env, options) => {
|
|
6
|
+
const ROOT = path.resolve(__dirname, 'src/main/browser');
|
|
7
|
+
const DESTINATION = path.resolve(__dirname, 'target/browser');
|
|
8
|
+
return createConfig(env, options, packageName, ROOT, DESTINATION);
|
|
9
|
+
};
|