application-sidebar 1.0.35 → 1.0.37
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/esm2022/lib/application-sidebar.component.mjs +28 -18
- package/esm2022/lib/services/mixpanel.service.mjs +33 -0
- package/esm2022/lib/services/url-context.service.mjs +2 -3
- package/fesm2022/application-sidebar.mjs +56 -18
- package/fesm2022/application-sidebar.mjs.map +1 -1
- package/lib/application-sidebar.component.d.ts +3 -1
- package/lib/services/mixpanel.service.d.ts +15 -0
- package/package.json +1 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class MixpanelService {
|
|
4
|
+
constructor() { }
|
|
5
|
+
/**
|
|
6
|
+
* Push new action to mixpanel.
|
|
7
|
+
*
|
|
8
|
+
* @param {string} id Name of the action to track.
|
|
9
|
+
* @param {*} [action={}] Actions object with custom capitalizeproperties.
|
|
10
|
+
* @memberof MixpanelService
|
|
11
|
+
*/
|
|
12
|
+
productTrackEvent(event, properties = {}) {
|
|
13
|
+
if (window.mixpanel) {
|
|
14
|
+
var superProperties = window.mixpanel.persistence?.props;
|
|
15
|
+
if (superProperties?.app_name !== properties.AppName) {
|
|
16
|
+
this.registerTrackEvent({ 'app_name': properties.AppName });
|
|
17
|
+
}
|
|
18
|
+
window.mixpanel && window.mixpanel.track(event, properties);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
registerTrackEvent(updateInfo) {
|
|
22
|
+
window.mixpanel && window.mixpanel.register(updateInfo);
|
|
23
|
+
}
|
|
24
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MixpanelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
+
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MixpanelService, providedIn: 'root' });
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MixpanelService, decorators: [{
|
|
28
|
+
type: Injectable,
|
|
29
|
+
args: [{
|
|
30
|
+
providedIn: 'root'
|
|
31
|
+
}]
|
|
32
|
+
}], ctorParameters: function () { return []; } });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWl4cGFuZWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcGxpY2F0aW9uLXNpZGViYXIvc3JjL2xpYi9zZXJ2aWNlcy9taXhwYW5lbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDLE1BQU0sT0FBTyxlQUFlO0lBQzFCLGdCQUFlLENBQUM7SUFFaEI7Ozs7OztPQU1HO0lBQ0gsaUJBQWlCLENBQUMsS0FBYSxFQUFFLGFBQWtCLEVBQUU7UUFDbkQsSUFBRyxNQUFNLENBQUMsUUFBUSxFQUFDO1lBQ2pCLElBQUksZUFBZSxHQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQztZQUMxRCxJQUFHLGVBQWUsRUFBRSxRQUFRLEtBQUssVUFBVSxDQUFDLE9BQU8sRUFBQztnQkFDbEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUMsVUFBVSxFQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDO2FBQzFEO1lBQ0QsTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDN0Q7SUFDSCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsVUFBVTtRQUMzQixNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFELENBQUM7MkhBckJVLGVBQWU7K0hBQWYsZUFBZSxjQUhkLE1BQU07OzRGQUdQLGVBQWU7a0JBSjNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuZGVjbGFyZSB2YXIgd2luZG93OiBhbnk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuXG5leHBvcnQgY2xhc3MgTWl4cGFuZWxTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBQdXNoIG5ldyBhY3Rpb24gdG8gbWl4cGFuZWwuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZCBOYW1lIG9mIHRoZSBhY3Rpb24gdG8gdHJhY2suXG4gICAqIEBwYXJhbSB7Kn0gW2FjdGlvbj17fV0gQWN0aW9ucyBvYmplY3Qgd2l0aCBjdXN0b20gY2FwaXRhbGl6ZXByb3BlcnRpZXMuXG4gICAqIEBtZW1iZXJvZiBNaXhwYW5lbFNlcnZpY2VcbiAgICovXG4gIHByb2R1Y3RUcmFja0V2ZW50KGV2ZW50OiBzdHJpbmcsIHByb3BlcnRpZXM6IGFueSA9IHt9KTogdm9pZCB7XG4gICAgaWYod2luZG93Lm1peHBhbmVsKXtcbiAgICAgIHZhciBzdXBlclByb3BlcnRpZXMgPSAgd2luZG93Lm1peHBhbmVsLnBlcnNpc3RlbmNlPy5wcm9wcztcbiAgICAgIGlmKHN1cGVyUHJvcGVydGllcz8uYXBwX25hbWUgIT09IHByb3BlcnRpZXMuQXBwTmFtZSl7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJUcmFja0V2ZW50KHsnYXBwX25hbWUnOnByb3BlcnRpZXMuQXBwTmFtZX0pO1xuICAgICAgfVxuICAgICAgd2luZG93Lm1peHBhbmVsICYmIHdpbmRvdy5taXhwYW5lbC50cmFjayhldmVudCwgcHJvcGVydGllcyk7XG4gICAgfVxuICB9XG4gIHJlZ2lzdGVyVHJhY2tFdmVudCh1cGRhdGVJbmZvKSB7XG4gICAgd2luZG93Lm1peHBhbmVsICYmIHdpbmRvdy5taXhwYW5lbC5yZWdpc3Rlcih1cGRhdGVJbmZvKTtcbiAgfVxufVxuIl19
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
3
|
-
import
|
|
3
|
+
import moment from 'moment';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/router";
|
|
6
|
-
const moment = momentImported;
|
|
7
6
|
export class UrlContextService {
|
|
8
7
|
activatedRoute;
|
|
9
8
|
router;
|
|
@@ -101,4 +100,4 @@ export class UrlContextService {
|
|
|
101
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UrlContextService, decorators: [{
|
|
102
101
|
type: Injectable
|
|
103
102
|
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i1.Router }]; } });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLWNvbnRleHQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcGxpY2F0aW9uLXNpZGViYXIvc3JjL2xpYi9zZXJ2aWNlcy91cmwtY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7OztBQUc1QixNQUFNLE9BQU8saUJBQWlCO0lBSU47SUFBdUM7SUFIbkQsV0FBVyxDQUFDO0lBR3BCLFlBQW9CLGNBQThCLEVBQVMsTUFBYztRQUFyRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ3JFLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSx5QkFBeUIsR0FBRyxVQUFTLEdBQUcsRUFBRSxNQUFNO1FBQ25ELElBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDWCxLQUFJLElBQUksR0FBRyxJQUFJLE1BQU0sRUFBRTtnQkFDbkIsR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQzthQUN4QztZQUNELEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNsQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2Ys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aW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVcmxDb250ZXh0U2VydmljZSB7XG4gICAgcHJpdmF0ZSBxdWVyeVBhcmFtcztcbiAgICBcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwdWJsaWMgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlQYXJhbXMgPSBwYXJhbXM7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBwcmVwYXJlVXJsV2l0aFF1ZXJ5UGFyYW1zID0gZnVuY3Rpb24odXJsLCBwYXJhbXMpIHtcbiAgICAgICAgaWYoT2JqZWN0LmtleXMocGFyYW1zKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB1cmwgKz0gXCI/XCI7XG4gICAgICAgICAgICBmb3IodmFyIGtleSBpbiBwYXJhbXMpIHtcbiAgICAgICAgICAgICAgICB1cmwgKz0ga2V5ICsgXCI9XCIgKyBwYXJhbXNba2V5XSArIFwiJlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoLyZcXHMqJC8sIFwiXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1cmw7XG4gICAgfVxuXG4gICAgcHVibGljIHNldERhdGVSYW5nZVVybFZhbCA9IGZ1bmN0aW9uKGRhdGVSYW5nZSkge1xuICAgICAgICBpZih0eXBlb2YgZGF0ZVJhbmdlID09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBpZihkYXRlUmFuZ2UudmFsdWUgPT0gJ2N1c3RvbScpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbW9tZW50KGRhdGVSYW5nZS5zdGFydERhdGUpLmZvcm1hdCgnWCcpICsgJywnICtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vbWVudChkYXRlUmFuZ2UuZW5kRGF0ZSkuZm9ybWF0KCdYJykgKyAnLCcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgbW9tZW50KGRhdGVSYW5nZS5wcmV2U3RhcnREYXRlKS5mb3JtYXQoJ1gnKSArICcsJyArXG4gICAgICAgICAgICAgICAgICAgICAgICBtb21lbnQoZGF0ZVJhbmdlLnByZXZFbmREYXRlKS5mb3JtYXQoJ1gnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGVSYW5nZS5uYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGVSYW5nZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB2YWxpZGF0ZUtleVN0cm9rZSA9IGZ1bmN0aW9uKGV2ZW50KSB7XG4gICAgICAgIHZhciBrZXlzdHJva2U7XG4gICAgICAgIGNvbnNvbGUubG9nKGV2ZW50KTtcbiAgICAgICAgaWYobmF2aWdhdG9yLnBsYXRmb3JtLnRvVXBwZXJDYXNlKCkuaW5kZXhPZignTUFDJyk+PTApIHtcbiAgICAgICAgICAgIGtleXN0cm9rZSA9ICdtZXRhS2V5JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGtleXN0cm9rZSA9ICdjdHJsS2V5JztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKGV2ZW50W2tleXN0cm9rZV0pIHJldHVybiB0cnVlO1xuICAgICAgICBlbHNlIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0VXJsQW5kT3BlblRhYiA9IGZ1bmN0aW9uKHVybCwgcGFyYW1zLCBpc1JvdXRlckxpbmspe1xuICAgICAgICBpZihPYmplY3Qua2V5cyhwYXJhbXMpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHVybCA9IHRoaXMucHJlcGFyZVVybFdpdGhRdWVyeVBhcmFtcyh1cmwsIHBhcmFtcyk7XG4gICAgICAgICAgICB1cmwgKz0gXCImXCI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB1cmwgKz0gXCI/XCI7XG4gICAgICAgIH1cbiAgICAgICAgdXJsICs9ICd0aWQ9JyArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZyg3KSArIFwiLVwiICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpICsgXCItXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpICsgXCItXCIgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoNyk7XG4gICAgICAgIFxuXG4gICAgICAgIGlmKHRoaXMucXVlcnlQYXJhbXMuaGFzT3duUHJvcGVydHkoJ3VzZVByb2QnKSkge1xuICAgICAgICAgICAgdXJsICs9ICcmdXNlUHJvZD0nK3RoaXMucXVlcnlQYXJhbXNbJ3VzZVByb2QnXTtcbiAgICAgICAgfVxuICAgICAgICBpZihpc1JvdXRlckxpbmspe1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJOZXcgVGFiIFJvdXRlciBVcmwgPVwiLCB1cmwpO1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHsgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZSwgcXVlcnlQYXJhbXM6IHRoaXMucXVlcnlQYXJhbXMsIHJlcGxhY2VVcmw6IHRydWV9KS50aGVuKHJlc3VsdCA9PiB7ICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTsgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiTmV3IFRhYiBMaW5rIFVybCBcIiwgYCR7d2luZG93LmxvY2F0aW9uLm9yaWdpbn0vJHt1cmx9YCk7XG4gICAgICAgICAgICB3aW5kb3cub3BlbihgJHt3aW5kb3cubG9jYXRpb24ub3JpZ2lufS8ke3VybH1gLCAnX2JsYW5rJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGlzRGV2RW52aXJvbm1lbnQoKXtcbiAgICAgICAgdHJ5e1xuICAgICAgICAgICAgaWYoIHdpbmRvdy5sb2NhdGlvbi5ocmVmLmluZGV4T2YoJ2hlcm9rdWFwcCcpID4gLTEgfHwgd2luZG93LmxvY2F0aW9uLmhyZWYuaW5kZXhPZignbG9jYWxob3N0JykgPiAtMSB8fCB3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKCd0ZXN0JykgPiAtMSl7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5xdWVyeVBhcmFtcy5oYXNPd25Qcm9wZXJ0eSgndXNlUHJvZCcpIHx8IChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlUHJvZCcpICYmIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VQcm9kJykgIT09IG51bGwpKXtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICAgICAgfVxuICAgICAgICB9Y2F0Y2goZXJyb3Ipe1xuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICBcbiAgICBcbiAgICB9XG59Il19
|