@microsoft/applicationinsights-angularplugin-js 15.4.2-nightly.2608-05 → 15.4.2-nightly.2608-07
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/{fesm2020 → fesm2022}/microsoft-applicationinsights-angularplugin-js.mjs +215 -213
- package/fesm2022/microsoft-applicationinsights-angularplugin-js.mjs.map +1 -0
- package/package.json +9 -16
- package/types/microsoft-applicationinsights-angularplugin-js.d.ts +47 -0
- package/esm2020/lib/IErrorService.mjs +0 -2
- package/esm2020/lib/applicationinsights-angularplugin-error.service.mjs +0 -52
- package/esm2020/lib/applicationinsights-angularplugin-js.component.mjs +0 -152
- package/esm2020/lib/applicationinsights-angularplugin-js.module.mjs +0 -23
- package/esm2020/microsoft-applicationinsights-angularplugin-js.mjs +0 -5
- package/esm2020/public-api.mjs +0 -8
- package/fesm2015/microsoft-applicationinsights-angularplugin-js.mjs +0 -231
- package/fesm2015/microsoft-applicationinsights-angularplugin-js.mjs.map +0 -1
- package/fesm2020/microsoft-applicationinsights-angularplugin-js.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/IErrorService.d.ts +0 -4
- package/lib/applicationinsights-angularplugin-error.service.d.ts +0 -16
- package/lib/applicationinsights-angularplugin-js.component.d.ts +0 -19
- package/lib/applicationinsights-angularplugin-js.module.d.ts +0 -7
- package/public-api.d.ts +0 -4
|
@@ -5,225 +5,227 @@ import dynamicProto from '@microsoft/dynamicproto-js';
|
|
|
5
5
|
import { NavigationEnd } from '@angular/router';
|
|
6
6
|
import { objDeepFreeze } from '@nevware21/ts-utils';
|
|
7
7
|
|
|
8
|
-
class ApplicationinsightsAngularpluginErrorService {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
8
|
+
class ApplicationinsightsAngularpluginErrorService {
|
|
9
|
+
static instance = null;
|
|
10
|
+
analyticsPlugin;
|
|
11
|
+
errorServices = [];
|
|
12
|
+
constructor() {
|
|
13
|
+
if (ApplicationinsightsAngularpluginErrorService.instance === null) {
|
|
14
|
+
ApplicationinsightsAngularpluginErrorService.instance = this;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
set plugin(analyticsPlugin) {
|
|
18
|
+
this.analyticsPlugin = analyticsPlugin;
|
|
19
|
+
}
|
|
20
|
+
clearErrorHandlers() {
|
|
21
|
+
this.errorServices = [];
|
|
22
|
+
}
|
|
23
|
+
addErrorHandler(errorService) {
|
|
24
|
+
if (errorService && isFunction(errorService.handleError)) {
|
|
25
|
+
this.errorServices.push(errorService);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
removeErrorHandler(errorService) {
|
|
29
|
+
if (errorService && isFunction(errorService.handleError)) {
|
|
30
|
+
const idx = this.errorServices.indexOf(errorService);
|
|
31
|
+
if (idx !== -1) {
|
|
32
|
+
this.errorServices.splice(idx, 1);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
handleError(error) {
|
|
37
|
+
if (this.analyticsPlugin) {
|
|
38
|
+
this.analyticsPlugin.trackException({ exception: error });
|
|
39
|
+
}
|
|
40
|
+
if (this.errorServices && this.errorServices.length > 0) {
|
|
41
|
+
arrForEach(this.errorServices, errorService => {
|
|
42
|
+
if (isFunction(errorService.handleError)) {
|
|
43
|
+
errorService.handleError(error);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ApplicationinsightsAngularpluginErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
49
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ApplicationinsightsAngularpluginErrorService, providedIn: "root" });
|
|
50
|
+
}
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ApplicationinsightsAngularpluginErrorService, decorators: [{
|
|
52
|
+
type: Injectable,
|
|
53
|
+
args: [{
|
|
54
|
+
providedIn: "root"
|
|
55
|
+
}]
|
|
56
|
+
}], ctorParameters: () => [] });
|
|
56
57
|
|
|
57
|
-
let undefValue;
|
|
58
|
-
const defaultAngularExtensionConfig = objDeepFreeze({
|
|
59
|
-
router: { blkVal: true, v: undefValue },
|
|
60
|
-
errorServices: { blkVal: true, v: undefValue }
|
|
61
|
-
});
|
|
62
|
-
// eslint-disable-next-line @angular-eslint/component-class-suffix
|
|
63
|
-
class AngularPlugin extends BaseTelemetryPlugin {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
let
|
|
71
|
-
let
|
|
72
|
-
let
|
|
73
|
-
let
|
|
74
|
-
let
|
|
75
|
-
let
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
//
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
if
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
_self["
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
_propertiesPlugin.context.telemetryTrace.
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
_eventSubscription
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
*
|
|
183
|
-
*
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
58
|
+
let undefValue;
|
|
59
|
+
const defaultAngularExtensionConfig = objDeepFreeze({
|
|
60
|
+
router: { blkVal: true, v: undefValue },
|
|
61
|
+
errorServices: { blkVal: true, v: undefValue }
|
|
62
|
+
});
|
|
63
|
+
// eslint-disable-next-line @angular-eslint/component-class-suffix
|
|
64
|
+
class AngularPlugin extends BaseTelemetryPlugin {
|
|
65
|
+
_injector;
|
|
66
|
+
priority = 186;
|
|
67
|
+
identifier = "AngularPlugin";
|
|
68
|
+
constructor(_injector) {
|
|
69
|
+
super();
|
|
70
|
+
this._injector = _injector;
|
|
71
|
+
let _analyticsPlugin;
|
|
72
|
+
let _propertiesPlugin;
|
|
73
|
+
let _angularCfg;
|
|
74
|
+
let _eventSubscription;
|
|
75
|
+
let _isPageInitialLoad;
|
|
76
|
+
let _prevRouter;
|
|
77
|
+
let _errorServiceInstance;
|
|
78
|
+
dynamicProto(AngularPlugin, this, (_self, _base) => {
|
|
79
|
+
const _initDefaults = () => {
|
|
80
|
+
_analyticsPlugin = null;
|
|
81
|
+
_propertiesPlugin = null;
|
|
82
|
+
_angularCfg = null;
|
|
83
|
+
_eventSubscription = null;
|
|
84
|
+
_isPageInitialLoad = true;
|
|
85
|
+
_prevRouter = undefValue;
|
|
86
|
+
_errorServiceInstance = null;
|
|
87
|
+
};
|
|
88
|
+
_initDefaults();
|
|
89
|
+
_self.initialize = (config, core, extensions, pluginChain) => {
|
|
90
|
+
super.initialize(config, core, extensions, pluginChain);
|
|
91
|
+
_self._addHook(onConfigChange(config, (details) => {
|
|
92
|
+
let ctx = _self._getTelCtx();
|
|
93
|
+
_angularCfg = ctx.getExtCfg(_self.identifier, defaultAngularExtensionConfig);
|
|
94
|
+
_propertiesPlugin = core.getPlugin(PropertiesPluginIdentifier)?.plugin;
|
|
95
|
+
_analyticsPlugin = core.getPlugin(AnalyticsPluginIdentifier)?.plugin;
|
|
96
|
+
if (_angularCfg.useInjector && _injector) {
|
|
97
|
+
_errorServiceInstance = this._injector.get(ApplicationinsightsAngularpluginErrorService);
|
|
98
|
+
}
|
|
99
|
+
_errorServiceInstance = _errorServiceInstance ? _errorServiceInstance
|
|
100
|
+
: ApplicationinsightsAngularpluginErrorService.instance;
|
|
101
|
+
// two instance of errorService
|
|
102
|
+
if (_analyticsPlugin) {
|
|
103
|
+
if (_errorServiceInstance !== null) {
|
|
104
|
+
_errorServiceInstance.plugin = _analyticsPlugin;
|
|
105
|
+
if (_angularCfg.errorServices && isArray(_angularCfg.errorServices)) {
|
|
106
|
+
_errorServiceInstance.clearErrorHandlers();
|
|
107
|
+
arrForEach(_angularCfg.errorServices, (errorService) => {
|
|
108
|
+
_errorServiceInstance.addErrorHandler(errorService);
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (_angularCfg.router !== _prevRouter) {
|
|
114
|
+
// router is changed, or has not been initialized yet
|
|
115
|
+
// unsubscribe previous router events
|
|
116
|
+
if (_eventSubscription) {
|
|
117
|
+
_eventSubscription.unsubscribe();
|
|
118
|
+
}
|
|
119
|
+
if (_angularCfg.router) {
|
|
120
|
+
// only track page view if it is the initial page load for this plugin
|
|
121
|
+
if (_isPageInitialLoad) {
|
|
122
|
+
const pageViewTelemetry = {
|
|
123
|
+
uri: _angularCfg.router.url
|
|
124
|
+
};
|
|
125
|
+
_self.trackPageView(pageViewTelemetry);
|
|
126
|
+
}
|
|
127
|
+
// subscribe to new router events
|
|
128
|
+
_eventSubscription = _angularCfg.router.events.subscribe(event => {
|
|
129
|
+
if (_self.isInitialized()) {
|
|
130
|
+
if (event instanceof NavigationEnd) {
|
|
131
|
+
// for page initial load, do not call trackPageView twice
|
|
132
|
+
if (_isPageInitialLoad) {
|
|
133
|
+
_isPageInitialLoad = false;
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
const pvt = {
|
|
137
|
+
uri: _angularCfg.router.url,
|
|
138
|
+
properties: { duration: 0 } // SPA route change loading durations are undefined, so send 0
|
|
139
|
+
};
|
|
140
|
+
_self.trackPageView(pvt);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
_prevRouter = _angularCfg.router;
|
|
146
|
+
}
|
|
147
|
+
}));
|
|
148
|
+
// for test purpose only
|
|
149
|
+
_self["_getDbgPlgTargets"] = () => _angularCfg;
|
|
150
|
+
_self["_getErrorService"] = () => _errorServiceInstance;
|
|
151
|
+
};
|
|
152
|
+
_self.trackPageView = (pageView) => {
|
|
153
|
+
if (_analyticsPlugin) {
|
|
154
|
+
const location = getLocation();
|
|
155
|
+
if (_propertiesPlugin && _propertiesPlugin.context && _propertiesPlugin.context.telemetryTrace) {
|
|
156
|
+
_propertiesPlugin.context.telemetryTrace.traceID = generateW3CId();
|
|
157
|
+
_propertiesPlugin.context.telemetryTrace.name = location && location.pathname || "_unknown_";
|
|
158
|
+
}
|
|
159
|
+
_analyticsPlugin.trackPageView(pageView);
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
_throwInternal(_self.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, "Analytics plugin is not available, Angular plugin telemetry will not be sent: ");
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
_self._doTeardown = (unloadCtx, unloadState, asyncCallback) => {
|
|
166
|
+
if (_analyticsPlugin && _errorServiceInstance !== null) {
|
|
167
|
+
_errorServiceInstance.plugin = null;
|
|
168
|
+
if (_angularCfg) {
|
|
169
|
+
if (_angularCfg.errorServices && Array.isArray(_angularCfg.errorServices)) {
|
|
170
|
+
_errorServiceInstance.clearErrorHandlers();
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
if (_eventSubscription) {
|
|
175
|
+
_eventSubscription.unsubscribe();
|
|
176
|
+
_eventSubscription = null;
|
|
177
|
+
}
|
|
178
|
+
_initDefaults();
|
|
179
|
+
};
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Add Part A fields to the event
|
|
184
|
+
*
|
|
185
|
+
* @param event The event that needs to be processed
|
|
186
|
+
*/
|
|
187
|
+
processTelemetry(event, itemCtx) {
|
|
188
|
+
this.processNext(event, itemCtx);
|
|
189
|
+
}
|
|
190
|
+
initialize(config, core, extensions, pluginChain) {
|
|
191
|
+
// @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging
|
|
192
|
+
}
|
|
193
|
+
trackPageView(pageView) {
|
|
194
|
+
// @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging
|
|
195
|
+
}
|
|
196
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AngularPlugin, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
197
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.19", type: AngularPlugin, isStandalone: false, selector: "lib-applicationinsights-angularplugin-js", usesInheritance: true, ngImport: i0, template: "", isInline: true });
|
|
198
|
+
}
|
|
199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: AngularPlugin, decorators: [{
|
|
200
|
+
type: Component,
|
|
201
|
+
args: [{ selector: "lib-applicationinsights-angularplugin-js", template: "", standalone: false }]
|
|
202
|
+
}], ctorParameters: () => [{ type: i0.Injector }] });
|
|
201
203
|
|
|
202
|
-
class ApplicationinsightsAngularpluginJsModule {
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
210
|
-
type: NgModule,
|
|
211
|
-
args: [{
|
|
212
|
-
declarations: [AngularPlugin],
|
|
213
|
-
imports: [],
|
|
214
|
-
exports: [AngularPlugin],
|
|
215
|
-
providers: [
|
|
216
|
-
ApplicationinsightsAngularpluginErrorService
|
|
217
|
-
]
|
|
218
|
-
}]
|
|
204
|
+
class ApplicationinsightsAngularpluginJsModule {
|
|
205
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ApplicationinsightsAngularpluginJsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
206
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.19", ngImport: i0, type: ApplicationinsightsAngularpluginJsModule, declarations: [AngularPlugin], exports: [AngularPlugin] });
|
|
207
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ApplicationinsightsAngularpluginJsModule, providers: [
|
|
208
|
+
ApplicationinsightsAngularpluginErrorService
|
|
209
|
+
] });
|
|
210
|
+
}
|
|
211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImport: i0, type: ApplicationinsightsAngularpluginJsModule, decorators: [{
|
|
212
|
+
type: NgModule,
|
|
213
|
+
args: [{
|
|
214
|
+
declarations: [AngularPlugin],
|
|
215
|
+
imports: [],
|
|
216
|
+
exports: [AngularPlugin],
|
|
217
|
+
providers: [
|
|
218
|
+
ApplicationinsightsAngularpluginErrorService
|
|
219
|
+
]
|
|
220
|
+
}]
|
|
219
221
|
}] });
|
|
220
222
|
|
|
221
|
-
/*
|
|
222
|
-
* Public API Surface of applicationinsights-angularplugin-js
|
|
223
|
+
/*
|
|
224
|
+
* Public API Surface of applicationinsights-angularplugin-js
|
|
223
225
|
*/
|
|
224
226
|
|
|
225
|
-
/**
|
|
226
|
-
* Generated bundle index. Do not edit.
|
|
227
|
+
/**
|
|
228
|
+
* Generated bundle index. Do not edit.
|
|
227
229
|
*/
|
|
228
230
|
|
|
229
231
|
export { AngularPlugin, ApplicationinsightsAngularpluginErrorService, ApplicationinsightsAngularpluginJsModule };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microsoft-applicationinsights-angularplugin-js.mjs","sources":["../../../projects/applicationinsights-angularplugin-js/src/lib/applicationinsights-angularplugin-error.service.ts","../../../projects/applicationinsights-angularplugin-js/src/lib/applicationinsights-angularplugin-js.component.ts","../../../projects/applicationinsights-angularplugin-js/src/lib/applicationinsights-angularplugin-js.module.ts","../../../projects/applicationinsights-angularplugin-js/src/public-api.ts","../../../projects/applicationinsights-angularplugin-js/src/microsoft-applicationinsights-angularplugin-js.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\r\nimport { IAppInsights, arrForEach, isFunction } from \"@microsoft/applicationinsights-core-js\";\r\nimport { IErrorService } from \"./IErrorService\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class ApplicationinsightsAngularpluginErrorService implements IErrorService {\r\n public static instance: ApplicationinsightsAngularpluginErrorService = null;\r\n private analyticsPlugin: IAppInsights;\r\n private errorServices: IErrorService[] = [];\r\n\r\n constructor() {\r\n if (ApplicationinsightsAngularpluginErrorService.instance === null) {\r\n ApplicationinsightsAngularpluginErrorService.instance = this;\r\n }\r\n }\r\n\r\n public set plugin(analyticsPlugin: IAppInsights) {\r\n this.analyticsPlugin = analyticsPlugin;\r\n }\r\n\r\n public clearErrorHandlers() {\r\n this.errorServices = [];\r\n }\r\n\r\n public addErrorHandler(errorService: IErrorService): void {\r\n if (errorService && isFunction(errorService.handleError)) {\r\n this.errorServices.push(errorService);\r\n }\r\n }\r\n\r\n public removeErrorHandler(errorService: IErrorService): void {\r\n if (errorService && isFunction(errorService.handleError)) {\r\n const idx = this.errorServices.indexOf(errorService);\r\n if (idx !== -1) {\r\n this.errorServices.splice(idx, 1);\r\n }\r\n }\r\n }\r\n\r\n handleError(error: any): void {\r\n if (this.analyticsPlugin) {\r\n this.analyticsPlugin.trackException({ exception: error });\r\n }\r\n\r\n if (this.errorServices && this.errorServices.length > 0) {\r\n arrForEach(this.errorServices, errorService => {\r\n if (isFunction(errorService.handleError)) {\r\n errorService.handleError(error);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n\r\n","import { Component, Injector} from \"@angular/core\";\r\nimport {\r\n IPlugin, IConfiguration, IAppInsightsCore, BaseTelemetryPlugin, arrForEach, ITelemetryItem, ITelemetryPluginChain,\r\n IProcessTelemetryContext, getLocation, _throwInternal, eLoggingSeverity, _eInternalMessageId, IProcessTelemetryUnloadContext,\r\n ITelemetryUnloadState, generateW3CId, onConfigChange, IConfigDefaults, isArray,\r\n IPageViewTelemetry, PropertiesPluginIdentifier, AnalyticsPluginIdentifier\r\n} from \"@microsoft/applicationinsights-core-js\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\nimport { ApplicationinsightsAngularpluginErrorService } from \"./applicationinsights-angularplugin-error.service\";\r\nimport { IErrorService } from \"./IErrorService\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AnalyticsPlugin } from \"@microsoft/applicationinsights-analytics-js\";\r\nimport {objDeepFreeze} from \"@nevware21/ts-utils\";\r\nimport { PropertiesPlugin } from \"@microsoft/applicationinsights-properties-js\";\r\n\r\ninterface IAngularExtensionConfig {\r\n /**\r\n * Angular router for enabling Application Insights PageView tracking.\r\n */\r\n router?: Router;\r\n\r\n /**\r\n * Custom error service for global error handling.\r\n */\r\n errorServices?: IErrorService[];\r\n useInjector?: boolean;\r\n}\r\n\r\nlet undefValue;\r\n\r\nconst defaultAngularExtensionConfig: IConfigDefaults<IAngularExtensionConfig> = objDeepFreeze({\r\n router: { blkVal: true, v: undefValue},\r\n errorServices: { blkVal: true, v: undefValue}\r\n});\r\n\r\n@Component({\r\n selector: \"lib-applicationinsights-angularplugin-js\",\r\n template: \"\",\r\n styles: [],\r\n standalone: false\r\n})\r\n// eslint-disable-next-line @angular-eslint/component-class-suffix\r\nexport class AngularPlugin extends BaseTelemetryPlugin {\r\n public priority = 186;\r\n public identifier = \"AngularPlugin\";\r\n \r\n constructor(private _injector?: Injector) { // _injector is optional to provide\r\n super();\r\n let _analyticsPlugin: AnalyticsPlugin;\r\n let _propertiesPlugin: PropertiesPlugin;\r\n let _angularCfg: IAngularExtensionConfig;\r\n let _eventSubscription: Subscription;\r\n let _isPageInitialLoad: boolean;\r\n let _prevRouter: Router;\r\n let _errorServiceInstance: ApplicationinsightsAngularpluginErrorService;\r\n\r\n dynamicProto(AngularPlugin, this, (_self, _base) => {\r\n\r\n const _initDefaults = () => {\r\n _analyticsPlugin = null;\r\n _propertiesPlugin = null;\r\n _angularCfg = null;\r\n _eventSubscription = null;\r\n _isPageInitialLoad = true;\r\n _prevRouter = undefValue;\r\n _errorServiceInstance = null;\r\n };\r\n\r\n _initDefaults();\r\n\r\n _self.initialize = (config: IConfiguration, core: IAppInsightsCore, extensions: IPlugin[],\r\n pluginChain?: ITelemetryPluginChain) => {\r\n super.initialize(config, core, extensions, pluginChain);\r\n \r\n _self._addHook(onConfigChange(config, (details) => {\r\n let ctx = _self._getTelCtx();\r\n _angularCfg = ctx.getExtCfg<IAngularExtensionConfig>(_self.identifier, defaultAngularExtensionConfig);\r\n _propertiesPlugin = core.getPlugin<PropertiesPlugin>(PropertiesPluginIdentifier)?.plugin as PropertiesPlugin;\r\n _analyticsPlugin = core.getPlugin<AnalyticsPlugin>(AnalyticsPluginIdentifier)?.plugin as AnalyticsPlugin;\r\n \r\n if (_angularCfg.useInjector && _injector){\r\n _errorServiceInstance = this._injector.get(ApplicationinsightsAngularpluginErrorService);\r\n }\r\n _errorServiceInstance = _errorServiceInstance ? _errorServiceInstance\r\n : ApplicationinsightsAngularpluginErrorService.instance;\r\n\r\n // two instance of errorService\r\n\r\n if (_analyticsPlugin) {\r\n if (_errorServiceInstance !== null) {\r\n _errorServiceInstance.plugin = _analyticsPlugin;\r\n if (_angularCfg.errorServices && isArray(_angularCfg.errorServices)) {\r\n _errorServiceInstance.clearErrorHandlers();\r\n arrForEach(_angularCfg.errorServices, (errorService: IErrorService) => {\r\n _errorServiceInstance.addErrorHandler(errorService);\r\n });\r\n }\r\n }\r\n }\r\n \r\n if (_angularCfg.router !== _prevRouter) {\r\n // router is changed, or has not been initialized yet\r\n\r\n // unsubscribe previous router events\r\n if (_eventSubscription) {\r\n _eventSubscription.unsubscribe();\r\n }\r\n\r\n if (_angularCfg.router){\r\n // only track page view if it is the initial page load for this plugin\r\n if (_isPageInitialLoad){\r\n const pageViewTelemetry: IPageViewTelemetry = {\r\n uri: _angularCfg.router.url\r\n };\r\n _self.trackPageView(pageViewTelemetry);\r\n }\r\n \r\n // subscribe to new router events\r\n _eventSubscription = _angularCfg.router.events.subscribe(event => {\r\n if (_self.isInitialized()) {\r\n if (event instanceof NavigationEnd) {\r\n // for page initial load, do not call trackPageView twice\r\n if (_isPageInitialLoad) {\r\n _isPageInitialLoad = false;\r\n return;\r\n }\r\n const pvt: IPageViewTelemetry = {\r\n uri: _angularCfg.router.url,\r\n properties: { duration: 0 } // SPA route change loading durations are undefined, so send 0\r\n };\r\n _self.trackPageView(pvt);\r\n }\r\n }\r\n });\r\n }\r\n _prevRouter = _angularCfg.router;\r\n }\r\n }));\r\n\r\n // for test purpose only\r\n _self[\"_getDbgPlgTargets\"] = () => _angularCfg;\r\n _self[\"_getErrorService\"] = () => _errorServiceInstance;\r\n };\r\n\r\n _self.trackPageView = (pageView: IPageViewTelemetry) => {\r\n if (_analyticsPlugin) {\r\n const location = getLocation();\r\n if (_propertiesPlugin && _propertiesPlugin.context && _propertiesPlugin.context.telemetryTrace) {\r\n _propertiesPlugin.context.telemetryTrace.traceID = generateW3CId();\r\n _propertiesPlugin.context.telemetryTrace.name = location && location.pathname || \"_unknown_\";\r\n }\r\n _analyticsPlugin.trackPageView(pageView);\r\n } else {\r\n _throwInternal(_self.diagLog(),\r\n // eslint-disable-next-line max-len\r\n eLoggingSeverity.CRITICAL, _eInternalMessageId.TelemetryInitializerFailed, \"Analytics plugin is not available, Angular plugin telemetry will not be sent: \");\r\n }\r\n };\r\n \r\n\r\n _self._doTeardown = (unloadCtx?: IProcessTelemetryUnloadContext, unloadState?: ITelemetryUnloadState,\r\n asyncCallback?: () => void): void | boolean => {\r\n if (_analyticsPlugin && _errorServiceInstance !== null) {\r\n _errorServiceInstance.plugin = null;\r\n if (_angularCfg) {\r\n if (_angularCfg.errorServices && Array.isArray(_angularCfg.errorServices)) {\r\n _errorServiceInstance.clearErrorHandlers();\r\n \r\n }\r\n }\r\n }\r\n \r\n if (_eventSubscription) {\r\n _eventSubscription.unsubscribe();\r\n _eventSubscription = null;\r\n }\r\n _initDefaults();\r\n };\r\n });\r\n\r\n }\r\n /**\r\n * Add Part A fields to the event\r\n *\r\n * @param event The event that needs to be processed\r\n */\r\n processTelemetry(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext) {\r\n this.processNext(event, itemCtx);\r\n }\r\n\r\n\r\n initialize(config: IConfiguration, core: IAppInsightsCore, extensions: IPlugin[], pluginChain?: ITelemetryPluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n }\r\n\r\n trackPageView(pageView: IPageViewTelemetry) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n }\r\n \r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { AngularPlugin } from \"./applicationinsights-angularplugin-js.component\";\r\nimport { ApplicationinsightsAngularpluginErrorService } from \"./applicationinsights-angularplugin-error.service\";\r\n\r\n@NgModule({\r\n declarations: [AngularPlugin],\r\n imports: [\r\n ],\r\n exports: [AngularPlugin],\r\n providers: [\r\n ApplicationinsightsAngularpluginErrorService\r\n ]\r\n})\r\nexport class ApplicationinsightsAngularpluginJsModule { }\r\n","/*\r\n * Public API Surface of applicationinsights-angularplugin-js\r\n */\r\n\r\nexport * from \"./lib/applicationinsights-angularplugin-js.component\";\r\nexport * from \"./lib/applicationinsights-angularplugin-js.module\";\r\nexport * from \"./lib/applicationinsights-angularplugin-error.service\";\r\nexport * from \"./lib/IErrorService\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/applicationinsights-angularplugin-js",
|
|
3
|
-
"version": "15.4.2-nightly.2608-
|
|
3
|
+
"version": "15.4.2-nightly.2608-07",
|
|
4
4
|
"description": "Microsoft Application Insights Angular plugin",
|
|
5
5
|
"author": "Microsoft Application Insights Team",
|
|
6
6
|
"license": "MIT",
|
|
@@ -20,30 +20,23 @@
|
|
|
20
20
|
},
|
|
21
21
|
"peerDependencies": {
|
|
22
22
|
"@microsoft/applicationinsights-analytics-js": "nightly3",
|
|
23
|
-
"@angular/common": ">=
|
|
24
|
-
"@angular/core": ">=
|
|
23
|
+
"@angular/common": ">= 15.0.0",
|
|
24
|
+
"@angular/core": ">= 15.0.0"
|
|
25
25
|
},
|
|
26
26
|
"publishConfig": {
|
|
27
27
|
"tag": "nightly"
|
|
28
28
|
},
|
|
29
|
-
"module": "
|
|
30
|
-
"
|
|
31
|
-
"esm2020": "esm2020/microsoft-applicationinsights-angularplugin-js.mjs",
|
|
32
|
-
"fesm2020": "fesm2020/microsoft-applicationinsights-angularplugin-js.mjs",
|
|
33
|
-
"fesm2015": "fesm2015/microsoft-applicationinsights-angularplugin-js.mjs",
|
|
34
|
-
"typings": "index.d.ts",
|
|
29
|
+
"module": "fesm2022/microsoft-applicationinsights-angularplugin-js.mjs",
|
|
30
|
+
"typings": "types/microsoft-applicationinsights-angularplugin-js.d.ts",
|
|
35
31
|
"exports": {
|
|
36
32
|
"./package.json": {
|
|
37
33
|
"default": "./package.json"
|
|
38
34
|
},
|
|
39
35
|
".": {
|
|
40
|
-
"types": "./
|
|
41
|
-
"
|
|
42
|
-
"es2020": "./fesm2020/microsoft-applicationinsights-angularplugin-js.mjs",
|
|
43
|
-
"es2015": "./fesm2015/microsoft-applicationinsights-angularplugin-js.mjs",
|
|
44
|
-
"node": "./fesm2015/microsoft-applicationinsights-angularplugin-js.mjs",
|
|
45
|
-
"default": "./fesm2020/microsoft-applicationinsights-angularplugin-js.mjs"
|
|
36
|
+
"types": "./types/microsoft-applicationinsights-angularplugin-js.d.ts",
|
|
37
|
+
"default": "./fesm2022/microsoft-applicationinsights-angularplugin-js.mjs"
|
|
46
38
|
}
|
|
47
39
|
},
|
|
48
|
-
"sideEffects": false
|
|
40
|
+
"sideEffects": false,
|
|
41
|
+
"type": "module"
|
|
49
42
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injector, ErrorHandler } from '@angular/core';
|
|
3
|
+
import { BaseTelemetryPlugin, ITelemetryItem, IProcessTelemetryContext, IConfiguration, IAppInsightsCore, IPlugin, ITelemetryPluginChain, IPageViewTelemetry, IAppInsights } from '@microsoft/applicationinsights-core-js';
|
|
4
|
+
|
|
5
|
+
declare class AngularPlugin extends BaseTelemetryPlugin {
|
|
6
|
+
private _injector?;
|
|
7
|
+
priority: number;
|
|
8
|
+
identifier: string;
|
|
9
|
+
constructor(_injector?: Injector);
|
|
10
|
+
/**
|
|
11
|
+
* Add Part A fields to the event
|
|
12
|
+
*
|
|
13
|
+
* @param event The event that needs to be processed
|
|
14
|
+
*/
|
|
15
|
+
processTelemetry(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
|
|
16
|
+
initialize(config: IConfiguration, core: IAppInsightsCore, extensions: IPlugin[], pluginChain?: ITelemetryPluginChain): void;
|
|
17
|
+
trackPageView(pageView: IPageViewTelemetry): void;
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AngularPlugin, never>;
|
|
19
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AngularPlugin, "lib-applicationinsights-angularplugin-js", never, {}, {}, never, never, false, never>;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
declare class ApplicationinsightsAngularpluginJsModule {
|
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ApplicationinsightsAngularpluginJsModule, never>;
|
|
24
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ApplicationinsightsAngularpluginJsModule, [typeof AngularPlugin], never, [typeof AngularPlugin]>;
|
|
25
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<ApplicationinsightsAngularpluginJsModule>;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
interface IErrorService extends ErrorHandler {
|
|
29
|
+
handleError(error: any): void;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
declare class ApplicationinsightsAngularpluginErrorService implements IErrorService {
|
|
33
|
+
static instance: ApplicationinsightsAngularpluginErrorService;
|
|
34
|
+
private analyticsPlugin;
|
|
35
|
+
private errorServices;
|
|
36
|
+
constructor();
|
|
37
|
+
set plugin(analyticsPlugin: IAppInsights);
|
|
38
|
+
clearErrorHandlers(): void;
|
|
39
|
+
addErrorHandler(errorService: IErrorService): void;
|
|
40
|
+
removeErrorHandler(errorService: IErrorService): void;
|
|
41
|
+
handleError(error: any): void;
|
|
42
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ApplicationinsightsAngularpluginErrorService, never>;
|
|
43
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ApplicationinsightsAngularpluginErrorService>;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export { AngularPlugin, ApplicationinsightsAngularpluginErrorService, ApplicationinsightsAngularpluginJsModule };
|
|
47
|
+
export type { IErrorService };
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUVycm9yU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcGxpY2F0aW9uaW5zaWdodHMtYW5ndWxhcnBsdWdpbi1qcy9zcmMvbGliL0lFcnJvclNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVycm9ySGFuZGxlciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElFcnJvclNlcnZpY2UgZXh0ZW5kcyBFcnJvckhhbmRsZXIge1xyXG4gICAgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSk6IHZvaWQ7XHJcbn1cclxuIl19
|