@beacon-interactive-systems-llc/beacon-platform-ui 17.0.1 → 17.1.0
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/esm2020/beacon-interactive-systems-llc-beacon-platform-ui.mjs +5 -0
- package/esm2020/lib/device-detector.service.mjs +77 -0
- package/esm2020/lib/network-connection.service.mjs +32 -0
- package/esm2020/lib/platform-ui.component.mjs +22 -0
- package/esm2020/lib/platform-ui.module.mjs +21 -0
- package/esm2020/lib/platform-ui.service.mjs +14 -0
- package/esm2020/public-api.mjs +7 -0
- package/fesm2015/beacon-interactive-systems-llc-beacon-platform-ui.mjs +164 -0
- package/fesm2015/beacon-interactive-systems-llc-beacon-platform-ui.mjs.map +1 -0
- package/fesm2020/beacon-interactive-systems-llc-beacon-platform-ui.mjs +164 -0
- package/fesm2020/beacon-interactive-systems-llc-beacon-platform-ui.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/device-detector.service.d.ts +11 -0
- package/lib/network-connection.service.d.ts +12 -0
- package/lib/platform-ui.component.d.ts +8 -0
- package/lib/platform-ui.module.d.ts +7 -0
- package/lib/platform-ui.service.d.ts +6 -0
- package/package.json +44 -24
- package/{src/public-api.ts → public-api.d.ts} +0 -2
- package/styles/_layout.scss +58 -29
- package/styles/_leftnav.scss +63 -26
- package/README--internal-dev.md +0 -49
- package/karma.conf.js +0 -44
- package/ng-package.json +0 -8
- package/src/lib/device-detector.service.ts +0 -46
- package/src/lib/network-connection.service.ts +0 -31
- package/src/lib/platform-ui.component.spec.ts +0 -23
- package/src/lib/platform-ui.component.ts +0 -20
- package/src/lib/platform-ui.module.ts +0 -16
- package/src/lib/platform-ui.service.spec.ts +0 -16
- package/src/lib/platform-ui.service.ts +0 -9
- package/src/test.ts +0 -27
- package/tsconfig.lib.json +0 -15
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -17
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVhY29uLWludGVyYWN0aXZlLXN5c3RlbXMtbGxjLWJlYWNvbi1wbGF0Zm9ybS11aS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3BsYXRmb3JtLXVpL3NyYy9iZWFjb24taW50ZXJhY3RpdmUtc3lzdGVtcy1sbGMtYmVhY29uLXBsYXRmb3JtLXVpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
const CUTOFFS = {
|
|
4
|
+
mobile: 767,
|
|
5
|
+
tablet: 1200
|
|
6
|
+
};
|
|
7
|
+
export class DeviceDetectorService {
|
|
8
|
+
get isMobile() { return window.screen.width <= CUTOFFS.mobile; }
|
|
9
|
+
get isTablet() {
|
|
10
|
+
return window.screen.width >= CUTOFFS.mobile && window.screen.width <= CUTOFFS.tablet;
|
|
11
|
+
}
|
|
12
|
+
// assume desktop is anything > 1200
|
|
13
|
+
get isDesktop() { return window.screen.width > CUTOFFS.tablet; }
|
|
14
|
+
getBrowser() {
|
|
15
|
+
if (!!navigator.userAgent.match(/Chrome/) && !navigator.userAgent.match(/Edg/)) {
|
|
16
|
+
return "Chrome";
|
|
17
|
+
}
|
|
18
|
+
else if (!!navigator.userAgent.match(/Opera/) || !!navigator.userAgent.match(/OPR/)) {
|
|
19
|
+
return "Opera";
|
|
20
|
+
}
|
|
21
|
+
else if (!!navigator.userAgent.match(/Firefox/) && !navigator.userAgent.match(/Safari/)) {
|
|
22
|
+
return "Firefox";
|
|
23
|
+
}
|
|
24
|
+
else if (!!navigator.userAgent.match(/Safari/) && !navigator.userAgent.match(/Edg/)) {
|
|
25
|
+
return "Safari";
|
|
26
|
+
}
|
|
27
|
+
else if (!!navigator.userAgent.match(/MSIE/)) {
|
|
28
|
+
return "IE";
|
|
29
|
+
}
|
|
30
|
+
else if (!!navigator.userAgent.match(/Edg/)) {
|
|
31
|
+
return "Microsoft Edge";
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return "Unknown";
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
getOperatingSystem() {
|
|
38
|
+
if (!!navigator.userAgent.match(/Win/)) {
|
|
39
|
+
return "Windows OS";
|
|
40
|
+
}
|
|
41
|
+
else if (!!navigator.userAgent.match(/Mac/)) {
|
|
42
|
+
return "MacOS";
|
|
43
|
+
}
|
|
44
|
+
else if (!!navigator.userAgent.match(/X11/)) {
|
|
45
|
+
return "UNIX OS";
|
|
46
|
+
}
|
|
47
|
+
else if (!!navigator.userAgent.match(/Linux/)) {
|
|
48
|
+
return "Linux OS";
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
return "Unknown";
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
getDeviceType() {
|
|
55
|
+
if (this.isDesktop) {
|
|
56
|
+
return "Desktop";
|
|
57
|
+
}
|
|
58
|
+
else if (this.isMobile) {
|
|
59
|
+
return "Mobile";
|
|
60
|
+
}
|
|
61
|
+
else if (this.isTablet) {
|
|
62
|
+
return "Tablet";
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
return "Unknown";
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
DeviceDetectorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DeviceDetectorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
70
|
+
DeviceDetectorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DeviceDetectorService, providedIn: 'root' });
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DeviceDetectorService, decorators: [{
|
|
72
|
+
type: Injectable,
|
|
73
|
+
args: [{
|
|
74
|
+
providedIn: 'root'
|
|
75
|
+
}]
|
|
76
|
+
}] });
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWRldGVjdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wbGF0Zm9ybS11aS9zcmMvbGliL2RldmljZS1kZXRlY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDLE1BQU0sT0FBTyxHQUFHO0lBQ2QsTUFBTSxFQUFFLEdBQUc7SUFDWCxNQUFNLEVBQUUsSUFBSTtDQUNiLENBQUE7QUFLRCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLElBQUksUUFBUSxLQUFLLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUM7SUFFL0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDdkYsQ0FBQztJQUVGLG9DQUFvQztJQUNwQyxJQUFJLFNBQVMsS0FBSyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUEsQ0FBQyxDQUFDO0lBRy9ELFVBQVU7UUFDUixJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQUUsT0FBTyxRQUFRLENBQUM7U0FBRTthQUMvRixJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFBRSxPQUFPLE9BQU8sQ0FBQztTQUFFO2FBQ25HLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFBRSxPQUFPLFNBQVMsQ0FBQztTQUFFO2FBQ3pHLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFBRSxPQUFPLFFBQVEsQ0FBQztTQUFFO2FBQ3BHLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7U0FBRTthQUN6RCxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUFFLE9BQU8sZ0JBQWdCLENBQUM7U0FBRTthQUNwRTtZQUFFLE9BQU8sU0FBUyxDQUFBO1NBQUU7SUFDM0IsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUFFLE9BQU8sWUFBWSxDQUFDO1NBQUU7YUFDM0QsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFBRSxPQUFPLE9BQU8sQ0FBQztTQUFFO2FBQzNELElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQUUsT0FBTyxTQUFTLENBQUM7U0FBRTthQUM3RCxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUFFLE9BQU8sVUFBVSxDQUFDO1NBQUU7YUFDaEU7WUFBRSxPQUFPLFNBQVMsQ0FBQztTQUFFO0lBQzVCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQUUsT0FBTyxTQUFTLENBQUM7U0FBRTthQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFBRSxPQUFPLFFBQVEsQ0FBQztTQUFFO2FBQ3ZDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUFFLE9BQU8sUUFBUSxDQUFDO1NBQUU7YUFDdkM7WUFBRSxPQUFPLFNBQVMsQ0FBQztTQUFFO0lBQzVCLENBQUM7O21IQWxDVSxxQkFBcUI7dUhBQXJCLHFCQUFxQixjQUZwQixNQUFNOzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5jb25zdCBDVVRPRkZTID0ge1xyXG4gIG1vYmlsZTogNzY3LFxyXG4gIHRhYmxldDogMTIwMFxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXZpY2VEZXRlY3RvclNlcnZpY2Uge1xyXG4gIGdldCBpc01vYmlsZSgpIHsgcmV0dXJuIHdpbmRvdy5zY3JlZW4ud2lkdGggPD0gQ1VUT0ZGUy5tb2JpbGUgfVxyXG5cclxuICBnZXQgaXNUYWJsZXQoKSB7XHJcbiAgICByZXR1cm4gd2luZG93LnNjcmVlbi53aWR0aCA+PSBDVVRPRkZTLm1vYmlsZSAmJiB3aW5kb3cuc2NyZWVuLndpZHRoIDw9IENVVE9GRlMudGFibGV0O1xyXG4gICB9XHJcblxyXG4gIC8vIGFzc3VtZSBkZXNrdG9wIGlzIGFueXRoaW5nID4gMTIwMFxyXG4gIGdldCBpc0Rlc2t0b3AoKSB7IHJldHVybiB3aW5kb3cuc2NyZWVuLndpZHRoID4gQ1VUT0ZGUy50YWJsZXQgfVxyXG5cclxuXHJcbiAgZ2V0QnJvd3NlcigpIHtcclxuICAgIGlmICghIW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0Nocm9tZS8pICYmICFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9FZGcvKSkgeyByZXR1cm4gXCJDaHJvbWVcIjsgfVxyXG4gICAgZWxzZSBpZiAoISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9PcGVyYS8pIHx8ICEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvT1BSLykpIHsgcmV0dXJuIFwiT3BlcmFcIjsgfVxyXG4gICAgZWxzZSBpZiAoISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9GaXJlZm94LykgJiYgIW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL1NhZmFyaS8pKSB7IHJldHVybiBcIkZpcmVmb3hcIjsgfVxyXG4gICAgZWxzZSBpZiAoISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9TYWZhcmkvKSAmJiAhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRWRnLykpIHsgcmV0dXJuIFwiU2FmYXJpXCI7IH1cclxuICAgIGVsc2UgaWYgKCEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvTVNJRS8pKSB7IHJldHVybiBcIklFXCI7IH1cclxuICAgIGVsc2UgaWYgKCEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRWRnLykpIHsgcmV0dXJuIFwiTWljcm9zb2Z0IEVkZ2VcIjsgfVxyXG4gICAgZWxzZSB7IHJldHVybiBcIlVua25vd25cIiB9XHJcbiAgfVxyXG5cclxuICBnZXRPcGVyYXRpbmdTeXN0ZW0oKSB7XHJcbiAgICBpZiAoISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9XaW4vKSkgeyByZXR1cm4gXCJXaW5kb3dzIE9TXCI7IH1cclxuICAgIGVsc2UgaWYgKCEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvTWFjLykpIHsgcmV0dXJuIFwiTWFjT1NcIjsgfVxyXG4gICAgZWxzZSBpZiAoISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9YMTEvKSkgeyByZXR1cm4gXCJVTklYIE9TXCI7IH1cclxuICAgIGVsc2UgaWYgKCEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvTGludXgvKSkgeyByZXR1cm4gXCJMaW51eCBPU1wiOyB9XHJcbiAgICBlbHNlIHsgcmV0dXJuIFwiVW5rbm93blwiOyB9XHJcbiAgfVxyXG5cclxuICBnZXREZXZpY2VUeXBlKCkge1xyXG4gICAgaWYgKHRoaXMuaXNEZXNrdG9wKSB7IHJldHVybiBcIkRlc2t0b3BcIjsgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5pc01vYmlsZSkgeyByZXR1cm4gXCJNb2JpbGVcIjsgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5pc1RhYmxldCkgeyByZXR1cm4gXCJUYWJsZXRcIjsgfVxyXG4gICAgZWxzZSB7IHJldHVybiBcIlVua25vd25cIjsgfVxyXG4gIH1cclxufSJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class NetworkConnectionService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.networkConnectionChange = new Subject();
|
|
7
|
+
this.connectionChanged$ = this.networkConnectionChange.asObservable();
|
|
8
|
+
this.lastOnlineAt = new Date();
|
|
9
|
+
window.addEventListener('online', () => this.updateOnlineStatus());
|
|
10
|
+
window.addEventListener('offline', () => this.updateOnlineStatus());
|
|
11
|
+
}
|
|
12
|
+
get isOnline() {
|
|
13
|
+
return !!window.navigator.onLine;
|
|
14
|
+
}
|
|
15
|
+
get isOffline() {
|
|
16
|
+
return !this.isOnline;
|
|
17
|
+
}
|
|
18
|
+
updateOnlineStatus() {
|
|
19
|
+
this.networkConnectionChange.next(window.navigator.onLine);
|
|
20
|
+
if (window.navigator.offLine)
|
|
21
|
+
this.lastOnlineAt = new Date();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
NetworkConnectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NetworkConnectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
+
NetworkConnectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NetworkConnectionService, providedIn: 'root' });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NetworkConnectionService, decorators: [{
|
|
27
|
+
type: Injectable,
|
|
28
|
+
args: [{
|
|
29
|
+
providedIn: 'root'
|
|
30
|
+
}]
|
|
31
|
+
}], ctorParameters: function () { return []; } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1jb25uZWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wbGF0Zm9ybS11aS9zcmMvbGliL25ldHdvcmstY29ubmVjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFPL0IsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQztRQUtRLDRCQUF1QixHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDbEQsdUJBQWtCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2pFLGlCQUFZLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQU5yQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDbkUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFNRCxJQUFJLFFBQVE7UUFDVixPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDeEIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0QsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU87WUFBRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDL0QsQ0FBQzs7c0hBckJVLHdCQUF3QjswSEFBeEIsd0JBQXdCLGNBRnZCLE1BQU07NEZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuZGVjbGFyZSBjb25zdCB3aW5kb3c6IGFueTtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5ldHdvcmtDb25uZWN0aW9uU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignb25saW5lJywgKCkgPT4gdGhpcy51cGRhdGVPbmxpbmVTdGF0dXMoKSk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignb2ZmbGluZScsICgpID0+IHRoaXMudXBkYXRlT25saW5lU3RhdHVzKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBuZXR3b3JrQ29ubmVjdGlvbkNoYW5nZSA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgcHVibGljIGNvbm5lY3Rpb25DaGFuZ2VkJCA9IHRoaXMubmV0d29ya0Nvbm5lY3Rpb25DaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgcHVibGljIGxhc3RPbmxpbmVBdDogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gIGdldCBpc09ubGluZSgpIHtcclxuICAgIHJldHVybiAhIXdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzT2ZmbGluZSgpIHtcclxuICAgIHJldHVybiAhdGhpcy5pc09ubGluZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlT25saW5lU3RhdHVzKCkge1xyXG4gICAgdGhpcy5uZXR3b3JrQ29ubmVjdGlvbkNoYW5nZS5uZXh0KHdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lKTtcclxuICAgIGlmICh3aW5kb3cubmF2aWdhdG9yLm9mZkxpbmUpIHRoaXMubGFzdE9ubGluZUF0ID0gbmV3IERhdGUoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class PlatformUiComponent {
|
|
4
|
+
constructor() { }
|
|
5
|
+
ngOnInit() {
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
PlatformUiComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
PlatformUiComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: PlatformUiComponent, selector: "lib-platform-ui", ngImport: i0, template: `
|
|
10
|
+
<p>
|
|
11
|
+
platform-ui works!
|
|
12
|
+
</p>
|
|
13
|
+
`, isInline: true });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiComponent, decorators: [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{ selector: 'lib-platform-ui', template: `
|
|
17
|
+
<p>
|
|
18
|
+
platform-ui works!
|
|
19
|
+
</p>
|
|
20
|
+
` }]
|
|
21
|
+
}], ctorParameters: function () { return []; } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tdWkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGxhdGZvcm0tdWkvc3JjL2xpYi9wbGF0Zm9ybS11aS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFZbEQsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs7aUhBTFUsbUJBQW1CO3FHQUFuQixtQkFBbUIsdURBUnBCOzs7O0dBSVQ7NEZBSVUsbUJBQW1CO2tCQVYvQixTQUFTOytCQUNFLGlCQUFpQixZQUNqQjs7OztHQUlUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXBsYXRmb3JtLXVpJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPHA+XHJcbiAgICAgIHBsYXRmb3JtLXVpIHdvcmtzIVxyXG4gICAgPC9wPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGxhdGZvcm1VaUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { PlatformUiComponent } from './platform-ui.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class PlatformUiModule {
|
|
5
|
+
}
|
|
6
|
+
PlatformUiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
+
PlatformUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiModule, declarations: [PlatformUiComponent], exports: [PlatformUiComponent] });
|
|
8
|
+
PlatformUiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiModule });
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiModule, decorators: [{
|
|
10
|
+
type: NgModule,
|
|
11
|
+
args: [{
|
|
12
|
+
declarations: [
|
|
13
|
+
PlatformUiComponent
|
|
14
|
+
],
|
|
15
|
+
imports: [],
|
|
16
|
+
exports: [
|
|
17
|
+
PlatformUiComponent
|
|
18
|
+
]
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tdWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGxhdGZvcm0tdWkvc3JjL2xpYi9wbGF0Zm9ybS11aS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFjOUQsTUFBTSxPQUFPLGdCQUFnQjs7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQVJ6QixtQkFBbUIsYUFLbkIsbUJBQW1COytHQUdWLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQVY1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRSxFQUNSO29CQUNELE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGxhdGZvcm1VaUNvbXBvbmVudCB9IGZyb20gJy4vcGxhdGZvcm0tdWkuY29tcG9uZW50JztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFBsYXRmb3JtVWlDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFBsYXRmb3JtVWlDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQbGF0Zm9ybVVpTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class PlatformUiService {
|
|
4
|
+
constructor() { }
|
|
5
|
+
}
|
|
6
|
+
PlatformUiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7
|
+
PlatformUiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiService, providedIn: 'root' });
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiService, decorators: [{
|
|
9
|
+
type: Injectable,
|
|
10
|
+
args: [{
|
|
11
|
+
providedIn: 'root'
|
|
12
|
+
}]
|
|
13
|
+
}], ctorParameters: function () { return []; } });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tdWkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3BsYXRmb3JtLXVpL3NyYy9saWIvcGxhdGZvcm0tdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLGdCQUFnQixDQUFDOzsrR0FGTixpQkFBaUI7bUhBQWpCLGlCQUFpQixjQUZoQixNQUFNOzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQbGF0Zm9ybVVpU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './lib/network-connection.service';
|
|
2
|
+
export * from './lib/device-detector.service';
|
|
3
|
+
// defaults
|
|
4
|
+
export * from './lib/platform-ui.service';
|
|
5
|
+
export * from './lib/platform-ui.component';
|
|
6
|
+
export * from './lib/platform-ui.module';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3BsYXRmb3JtLXVpL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxXQUFXO0FBQ1gsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9uZXR3b3JrLWNvbm5lY3Rpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RldmljZS1kZXRlY3Rvci5zZXJ2aWNlJztcclxuXHJcbi8vIGRlZmF1bHRzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsYXRmb3JtLXVpLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbGF0Zm9ybS11aS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbGF0Zm9ybS11aS5tb2R1bGUnO1xyXG4iXX0=
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable, Component, NgModule } from '@angular/core';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
|
|
5
|
+
class NetworkConnectionService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.networkConnectionChange = new Subject();
|
|
8
|
+
this.connectionChanged$ = this.networkConnectionChange.asObservable();
|
|
9
|
+
this.lastOnlineAt = new Date();
|
|
10
|
+
window.addEventListener('online', () => this.updateOnlineStatus());
|
|
11
|
+
window.addEventListener('offline', () => this.updateOnlineStatus());
|
|
12
|
+
}
|
|
13
|
+
get isOnline() {
|
|
14
|
+
return !!window.navigator.onLine;
|
|
15
|
+
}
|
|
16
|
+
get isOffline() {
|
|
17
|
+
return !this.isOnline;
|
|
18
|
+
}
|
|
19
|
+
updateOnlineStatus() {
|
|
20
|
+
this.networkConnectionChange.next(window.navigator.onLine);
|
|
21
|
+
if (window.navigator.offLine)
|
|
22
|
+
this.lastOnlineAt = new Date();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
NetworkConnectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NetworkConnectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
26
|
+
NetworkConnectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NetworkConnectionService, providedIn: 'root' });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NetworkConnectionService, decorators: [{
|
|
28
|
+
type: Injectable,
|
|
29
|
+
args: [{
|
|
30
|
+
providedIn: 'root'
|
|
31
|
+
}]
|
|
32
|
+
}], ctorParameters: function () { return []; } });
|
|
33
|
+
|
|
34
|
+
const CUTOFFS = {
|
|
35
|
+
mobile: 767,
|
|
36
|
+
tablet: 1200
|
|
37
|
+
};
|
|
38
|
+
class DeviceDetectorService {
|
|
39
|
+
get isMobile() { return window.screen.width <= CUTOFFS.mobile; }
|
|
40
|
+
get isTablet() {
|
|
41
|
+
return window.screen.width >= CUTOFFS.mobile && window.screen.width <= CUTOFFS.tablet;
|
|
42
|
+
}
|
|
43
|
+
// assume desktop is anything > 1200
|
|
44
|
+
get isDesktop() { return window.screen.width > CUTOFFS.tablet; }
|
|
45
|
+
getBrowser() {
|
|
46
|
+
if (!!navigator.userAgent.match(/Chrome/) && !navigator.userAgent.match(/Edg/)) {
|
|
47
|
+
return "Chrome";
|
|
48
|
+
}
|
|
49
|
+
else if (!!navigator.userAgent.match(/Opera/) || !!navigator.userAgent.match(/OPR/)) {
|
|
50
|
+
return "Opera";
|
|
51
|
+
}
|
|
52
|
+
else if (!!navigator.userAgent.match(/Firefox/) && !navigator.userAgent.match(/Safari/)) {
|
|
53
|
+
return "Firefox";
|
|
54
|
+
}
|
|
55
|
+
else if (!!navigator.userAgent.match(/Safari/) && !navigator.userAgent.match(/Edg/)) {
|
|
56
|
+
return "Safari";
|
|
57
|
+
}
|
|
58
|
+
else if (!!navigator.userAgent.match(/MSIE/)) {
|
|
59
|
+
return "IE";
|
|
60
|
+
}
|
|
61
|
+
else if (!!navigator.userAgent.match(/Edg/)) {
|
|
62
|
+
return "Microsoft Edge";
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
return "Unknown";
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
getOperatingSystem() {
|
|
69
|
+
if (!!navigator.userAgent.match(/Win/)) {
|
|
70
|
+
return "Windows OS";
|
|
71
|
+
}
|
|
72
|
+
else if (!!navigator.userAgent.match(/Mac/)) {
|
|
73
|
+
return "MacOS";
|
|
74
|
+
}
|
|
75
|
+
else if (!!navigator.userAgent.match(/X11/)) {
|
|
76
|
+
return "UNIX OS";
|
|
77
|
+
}
|
|
78
|
+
else if (!!navigator.userAgent.match(/Linux/)) {
|
|
79
|
+
return "Linux OS";
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
return "Unknown";
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
getDeviceType() {
|
|
86
|
+
if (this.isDesktop) {
|
|
87
|
+
return "Desktop";
|
|
88
|
+
}
|
|
89
|
+
else if (this.isMobile) {
|
|
90
|
+
return "Mobile";
|
|
91
|
+
}
|
|
92
|
+
else if (this.isTablet) {
|
|
93
|
+
return "Tablet";
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
return "Unknown";
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
DeviceDetectorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DeviceDetectorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
101
|
+
DeviceDetectorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DeviceDetectorService, providedIn: 'root' });
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DeviceDetectorService, decorators: [{
|
|
103
|
+
type: Injectable,
|
|
104
|
+
args: [{
|
|
105
|
+
providedIn: 'root'
|
|
106
|
+
}]
|
|
107
|
+
}] });
|
|
108
|
+
|
|
109
|
+
class PlatformUiService {
|
|
110
|
+
constructor() { }
|
|
111
|
+
}
|
|
112
|
+
PlatformUiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
113
|
+
PlatformUiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiService, providedIn: 'root' });
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiService, decorators: [{
|
|
115
|
+
type: Injectable,
|
|
116
|
+
args: [{
|
|
117
|
+
providedIn: 'root'
|
|
118
|
+
}]
|
|
119
|
+
}], ctorParameters: function () { return []; } });
|
|
120
|
+
|
|
121
|
+
class PlatformUiComponent {
|
|
122
|
+
constructor() { }
|
|
123
|
+
ngOnInit() {
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
PlatformUiComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
127
|
+
PlatformUiComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: PlatformUiComponent, selector: "lib-platform-ui", ngImport: i0, template: `
|
|
128
|
+
<p>
|
|
129
|
+
platform-ui works!
|
|
130
|
+
</p>
|
|
131
|
+
`, isInline: true });
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiComponent, decorators: [{
|
|
133
|
+
type: Component,
|
|
134
|
+
args: [{ selector: 'lib-platform-ui', template: `
|
|
135
|
+
<p>
|
|
136
|
+
platform-ui works!
|
|
137
|
+
</p>
|
|
138
|
+
` }]
|
|
139
|
+
}], ctorParameters: function () { return []; } });
|
|
140
|
+
|
|
141
|
+
class PlatformUiModule {
|
|
142
|
+
}
|
|
143
|
+
PlatformUiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
144
|
+
PlatformUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiModule, declarations: [PlatformUiComponent], exports: [PlatformUiComponent] });
|
|
145
|
+
PlatformUiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiModule });
|
|
146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiModule, decorators: [{
|
|
147
|
+
type: NgModule,
|
|
148
|
+
args: [{
|
|
149
|
+
declarations: [
|
|
150
|
+
PlatformUiComponent
|
|
151
|
+
],
|
|
152
|
+
imports: [],
|
|
153
|
+
exports: [
|
|
154
|
+
PlatformUiComponent
|
|
155
|
+
]
|
|
156
|
+
}]
|
|
157
|
+
}] });
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Generated bundle index. Do not edit.
|
|
161
|
+
*/
|
|
162
|
+
|
|
163
|
+
export { DeviceDetectorService, NetworkConnectionService, PlatformUiComponent, PlatformUiModule, PlatformUiService };
|
|
164
|
+
//# sourceMappingURL=beacon-interactive-systems-llc-beacon-platform-ui.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"beacon-interactive-systems-llc-beacon-platform-ui.mjs","sources":["../../../projects/platform-ui/src/lib/network-connection.service.ts","../../../projects/platform-ui/src/lib/device-detector.service.ts","../../../projects/platform-ui/src/lib/platform-ui.service.ts","../../../projects/platform-ui/src/lib/platform-ui.component.ts","../../../projects/platform-ui/src/lib/platform-ui.module.ts","../../../projects/platform-ui/src/beacon-interactive-systems-llc-beacon-platform-ui.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\ndeclare const window: any;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NetworkConnectionService {\r\n constructor() {\r\n window.addEventListener('online', () => this.updateOnlineStatus());\r\n window.addEventListener('offline', () => this.updateOnlineStatus());\r\n }\r\n\r\n private networkConnectionChange = new Subject<boolean>();\r\n public connectionChanged$ = this.networkConnectionChange.asObservable();\r\n public lastOnlineAt: Date = new Date();\r\n\r\n get isOnline() {\r\n return !!window.navigator.onLine;\r\n }\r\n\r\n get isOffline() {\r\n return !this.isOnline;\r\n }\r\n\r\n private updateOnlineStatus() {\r\n this.networkConnectionChange.next(window.navigator.onLine);\r\n if (window.navigator.offLine) this.lastOnlineAt = new Date();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nconst CUTOFFS = {\r\n mobile: 767,\r\n tablet: 1200\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DeviceDetectorService {\r\n get isMobile() { return window.screen.width <= CUTOFFS.mobile }\r\n\r\n get isTablet() {\r\n return window.screen.width >= CUTOFFS.mobile && window.screen.width <= CUTOFFS.tablet;\r\n }\r\n\r\n // assume desktop is anything > 1200\r\n get isDesktop() { return window.screen.width > CUTOFFS.tablet }\r\n\r\n\r\n getBrowser() {\r\n if (!!navigator.userAgent.match(/Chrome/) && !navigator.userAgent.match(/Edg/)) { return \"Chrome\"; }\r\n else if (!!navigator.userAgent.match(/Opera/) || !!navigator.userAgent.match(/OPR/)) { return \"Opera\"; }\r\n else if (!!navigator.userAgent.match(/Firefox/) && !navigator.userAgent.match(/Safari/)) { return \"Firefox\"; }\r\n else if (!!navigator.userAgent.match(/Safari/) && !navigator.userAgent.match(/Edg/)) { return \"Safari\"; }\r\n else if (!!navigator.userAgent.match(/MSIE/)) { return \"IE\"; }\r\n else if (!!navigator.userAgent.match(/Edg/)) { return \"Microsoft Edge\"; }\r\n else { return \"Unknown\" }\r\n }\r\n\r\n getOperatingSystem() {\r\n if (!!navigator.userAgent.match(/Win/)) { return \"Windows OS\"; }\r\n else if (!!navigator.userAgent.match(/Mac/)) { return \"MacOS\"; }\r\n else if (!!navigator.userAgent.match(/X11/)) { return \"UNIX OS\"; }\r\n else if (!!navigator.userAgent.match(/Linux/)) { return \"Linux OS\"; }\r\n else { return \"Unknown\"; }\r\n }\r\n\r\n getDeviceType() {\r\n if (this.isDesktop) { return \"Desktop\"; }\r\n else if (this.isMobile) { return \"Mobile\"; }\r\n else if (this.isTablet) { return \"Tablet\"; }\r\n else { return \"Unknown\"; }\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PlatformUiService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-platform-ui',\r\n template: `\r\n <p>\r\n platform-ui works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class PlatformUiComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { PlatformUiComponent } from './platform-ui.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n PlatformUiComponent\r\n ],\r\n imports: [\r\n ],\r\n exports: [\r\n PlatformUiComponent\r\n ]\r\n})\r\nexport class PlatformUiModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAQa,wBAAwB,CAAA;AACnC,IAAA,WAAA,GAAA;AAKQ,QAAA,IAAA,CAAA,uBAAuB,GAAG,IAAI,OAAO,EAAW,CAAC;QAClD,IAAA,CAAA,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,CAAC;AACjE,QAAA,IAAA,CAAA,YAAY,GAAS,IAAI,IAAI,EAAE,CAAC;AANrC,QAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;AACnE,QAAA,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;KACrE;AAMD,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;KAClC;AAED,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;KACvB;IAEO,kBAAkB,GAAA;QACxB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3D,QAAA,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO;AAAE,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;KAC9D;;sHArBU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFvB,MAAM,EAAA,CAAA,CAAA;4FAEP,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACLD,MAAM,OAAO,GAAG;AACd,IAAA,MAAM,EAAE,GAAG;AACX,IAAA,MAAM,EAAE,IAAI;CACb,CAAA;MAKY,qBAAqB,CAAA;AAChC,IAAA,IAAI,QAAQ,GAAA,EAAK,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAA,EAAE;AAE/D,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;KACtF;;AAGF,IAAA,IAAI,SAAS,GAAA,EAAK,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAA,EAAE;IAG/D,UAAU,GAAA;QACR,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AAAE,YAAA,OAAO,QAAQ,CAAC;AAAE,SAAA;aAC/F,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AAAE,YAAA,OAAO,OAAO,CAAC;AAAE,SAAA;aACnG,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AAAE,YAAA,OAAO,SAAS,CAAC;AAAE,SAAA;aACzG,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AAAE,YAAA,OAAO,QAAQ,CAAC;AAAE,SAAA;aACpG,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AAAE,YAAA,OAAO,IAAI,CAAC;AAAE,SAAA;aACzD,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AAAE,YAAA,OAAO,gBAAgB,CAAC;AAAE,SAAA;AACpE,aAAA;AAAE,YAAA,OAAO,SAAS,CAAA;AAAE,SAAA;KAC1B;IAED,kBAAkB,GAAA;QAChB,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AAAE,YAAA,OAAO,YAAY,CAAC;AAAE,SAAA;aAC3D,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AAAE,YAAA,OAAO,OAAO,CAAC;AAAE,SAAA;aAC3D,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AAAE,YAAA,OAAO,SAAS,CAAC;AAAE,SAAA;aAC7D,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;AAAE,YAAA,OAAO,UAAU,CAAC;AAAE,SAAA;AAChE,aAAA;AAAE,YAAA,OAAO,SAAS,CAAC;AAAE,SAAA;KAC3B;IAED,aAAa,GAAA;QACX,IAAI,IAAI,CAAC,SAAS,EAAE;AAAE,YAAA,OAAO,SAAS,CAAC;AAAE,SAAA;aACpC,IAAI,IAAI,CAAC,QAAQ,EAAE;AAAE,YAAA,OAAO,QAAQ,CAAC;AAAE,SAAA;aACvC,IAAI,IAAI,CAAC,QAAQ,EAAE;AAAE,YAAA,OAAO,QAAQ,CAAC;AAAE,SAAA;AACvC,aAAA;AAAE,YAAA,OAAO,SAAS,CAAC;AAAE,SAAA;KAC3B;;mHAlCU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFpB,MAAM,EAAA,CAAA,CAAA;4FAEP,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCJY,iBAAiB,CAAA;AAE5B,IAAA,WAAA,GAAA,GAAiB;;+GAFN,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;4FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCQY,mBAAmB,CAAA;AAE9B,IAAA,WAAA,GAAA,GAAiB;IAEjB,QAAQ,GAAA;KACP;;iHALU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EARpB,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;4FAIU,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAV/B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EACjB,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,CAAA;;;MCOU,gBAAgB,CAAA;;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAhB,gBAAgB,EAAA,YAAA,EAAA,CARzB,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAKnB,mBAAmB,CAAA,EAAA,CAAA,CAAA;+GAGV,gBAAgB,EAAA,CAAA,CAAA;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAV5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,mBAAmB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE,EACR;AACD,oBAAA,OAAO,EAAE;wBACP,mBAAmB;AACpB,qBAAA;iBACF,CAAA;;;ACdD;;AAEG;;;;"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable, Component, NgModule } from '@angular/core';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
|
|
5
|
+
class NetworkConnectionService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.networkConnectionChange = new Subject();
|
|
8
|
+
this.connectionChanged$ = this.networkConnectionChange.asObservable();
|
|
9
|
+
this.lastOnlineAt = new Date();
|
|
10
|
+
window.addEventListener('online', () => this.updateOnlineStatus());
|
|
11
|
+
window.addEventListener('offline', () => this.updateOnlineStatus());
|
|
12
|
+
}
|
|
13
|
+
get isOnline() {
|
|
14
|
+
return !!window.navigator.onLine;
|
|
15
|
+
}
|
|
16
|
+
get isOffline() {
|
|
17
|
+
return !this.isOnline;
|
|
18
|
+
}
|
|
19
|
+
updateOnlineStatus() {
|
|
20
|
+
this.networkConnectionChange.next(window.navigator.onLine);
|
|
21
|
+
if (window.navigator.offLine)
|
|
22
|
+
this.lastOnlineAt = new Date();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
NetworkConnectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NetworkConnectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
26
|
+
NetworkConnectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NetworkConnectionService, providedIn: 'root' });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NetworkConnectionService, decorators: [{
|
|
28
|
+
type: Injectable,
|
|
29
|
+
args: [{
|
|
30
|
+
providedIn: 'root'
|
|
31
|
+
}]
|
|
32
|
+
}], ctorParameters: function () { return []; } });
|
|
33
|
+
|
|
34
|
+
const CUTOFFS = {
|
|
35
|
+
mobile: 767,
|
|
36
|
+
tablet: 1200
|
|
37
|
+
};
|
|
38
|
+
class DeviceDetectorService {
|
|
39
|
+
get isMobile() { return window.screen.width <= CUTOFFS.mobile; }
|
|
40
|
+
get isTablet() {
|
|
41
|
+
return window.screen.width >= CUTOFFS.mobile && window.screen.width <= CUTOFFS.tablet;
|
|
42
|
+
}
|
|
43
|
+
// assume desktop is anything > 1200
|
|
44
|
+
get isDesktop() { return window.screen.width > CUTOFFS.tablet; }
|
|
45
|
+
getBrowser() {
|
|
46
|
+
if (!!navigator.userAgent.match(/Chrome/) && !navigator.userAgent.match(/Edg/)) {
|
|
47
|
+
return "Chrome";
|
|
48
|
+
}
|
|
49
|
+
else if (!!navigator.userAgent.match(/Opera/) || !!navigator.userAgent.match(/OPR/)) {
|
|
50
|
+
return "Opera";
|
|
51
|
+
}
|
|
52
|
+
else if (!!navigator.userAgent.match(/Firefox/) && !navigator.userAgent.match(/Safari/)) {
|
|
53
|
+
return "Firefox";
|
|
54
|
+
}
|
|
55
|
+
else if (!!navigator.userAgent.match(/Safari/) && !navigator.userAgent.match(/Edg/)) {
|
|
56
|
+
return "Safari";
|
|
57
|
+
}
|
|
58
|
+
else if (!!navigator.userAgent.match(/MSIE/)) {
|
|
59
|
+
return "IE";
|
|
60
|
+
}
|
|
61
|
+
else if (!!navigator.userAgent.match(/Edg/)) {
|
|
62
|
+
return "Microsoft Edge";
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
return "Unknown";
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
getOperatingSystem() {
|
|
69
|
+
if (!!navigator.userAgent.match(/Win/)) {
|
|
70
|
+
return "Windows OS";
|
|
71
|
+
}
|
|
72
|
+
else if (!!navigator.userAgent.match(/Mac/)) {
|
|
73
|
+
return "MacOS";
|
|
74
|
+
}
|
|
75
|
+
else if (!!navigator.userAgent.match(/X11/)) {
|
|
76
|
+
return "UNIX OS";
|
|
77
|
+
}
|
|
78
|
+
else if (!!navigator.userAgent.match(/Linux/)) {
|
|
79
|
+
return "Linux OS";
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
return "Unknown";
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
getDeviceType() {
|
|
86
|
+
if (this.isDesktop) {
|
|
87
|
+
return "Desktop";
|
|
88
|
+
}
|
|
89
|
+
else if (this.isMobile) {
|
|
90
|
+
return "Mobile";
|
|
91
|
+
}
|
|
92
|
+
else if (this.isTablet) {
|
|
93
|
+
return "Tablet";
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
return "Unknown";
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
DeviceDetectorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DeviceDetectorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
101
|
+
DeviceDetectorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DeviceDetectorService, providedIn: 'root' });
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DeviceDetectorService, decorators: [{
|
|
103
|
+
type: Injectable,
|
|
104
|
+
args: [{
|
|
105
|
+
providedIn: 'root'
|
|
106
|
+
}]
|
|
107
|
+
}] });
|
|
108
|
+
|
|
109
|
+
class PlatformUiService {
|
|
110
|
+
constructor() { }
|
|
111
|
+
}
|
|
112
|
+
PlatformUiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
113
|
+
PlatformUiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiService, providedIn: 'root' });
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiService, decorators: [{
|
|
115
|
+
type: Injectable,
|
|
116
|
+
args: [{
|
|
117
|
+
providedIn: 'root'
|
|
118
|
+
}]
|
|
119
|
+
}], ctorParameters: function () { return []; } });
|
|
120
|
+
|
|
121
|
+
class PlatformUiComponent {
|
|
122
|
+
constructor() { }
|
|
123
|
+
ngOnInit() {
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
PlatformUiComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
127
|
+
PlatformUiComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: PlatformUiComponent, selector: "lib-platform-ui", ngImport: i0, template: `
|
|
128
|
+
<p>
|
|
129
|
+
platform-ui works!
|
|
130
|
+
</p>
|
|
131
|
+
`, isInline: true });
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiComponent, decorators: [{
|
|
133
|
+
type: Component,
|
|
134
|
+
args: [{ selector: 'lib-platform-ui', template: `
|
|
135
|
+
<p>
|
|
136
|
+
platform-ui works!
|
|
137
|
+
</p>
|
|
138
|
+
` }]
|
|
139
|
+
}], ctorParameters: function () { return []; } });
|
|
140
|
+
|
|
141
|
+
class PlatformUiModule {
|
|
142
|
+
}
|
|
143
|
+
PlatformUiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
144
|
+
PlatformUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiModule, declarations: [PlatformUiComponent], exports: [PlatformUiComponent] });
|
|
145
|
+
PlatformUiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiModule });
|
|
146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiModule, decorators: [{
|
|
147
|
+
type: NgModule,
|
|
148
|
+
args: [{
|
|
149
|
+
declarations: [
|
|
150
|
+
PlatformUiComponent
|
|
151
|
+
],
|
|
152
|
+
imports: [],
|
|
153
|
+
exports: [
|
|
154
|
+
PlatformUiComponent
|
|
155
|
+
]
|
|
156
|
+
}]
|
|
157
|
+
}] });
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Generated bundle index. Do not edit.
|
|
161
|
+
*/
|
|
162
|
+
|
|
163
|
+
export { DeviceDetectorService, NetworkConnectionService, PlatformUiComponent, PlatformUiModule, PlatformUiService };
|
|
164
|
+
//# sourceMappingURL=beacon-interactive-systems-llc-beacon-platform-ui.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"beacon-interactive-systems-llc-beacon-platform-ui.mjs","sources":["../../../projects/platform-ui/src/lib/network-connection.service.ts","../../../projects/platform-ui/src/lib/device-detector.service.ts","../../../projects/platform-ui/src/lib/platform-ui.service.ts","../../../projects/platform-ui/src/lib/platform-ui.component.ts","../../../projects/platform-ui/src/lib/platform-ui.module.ts","../../../projects/platform-ui/src/beacon-interactive-systems-llc-beacon-platform-ui.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\ndeclare const window: any;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NetworkConnectionService {\r\n constructor() {\r\n window.addEventListener('online', () => this.updateOnlineStatus());\r\n window.addEventListener('offline', () => this.updateOnlineStatus());\r\n }\r\n\r\n private networkConnectionChange = new Subject<boolean>();\r\n public connectionChanged$ = this.networkConnectionChange.asObservable();\r\n public lastOnlineAt: Date = new Date();\r\n\r\n get isOnline() {\r\n return !!window.navigator.onLine;\r\n }\r\n\r\n get isOffline() {\r\n return !this.isOnline;\r\n }\r\n\r\n private updateOnlineStatus() {\r\n this.networkConnectionChange.next(window.navigator.onLine);\r\n if (window.navigator.offLine) this.lastOnlineAt = new Date();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nconst CUTOFFS = {\r\n mobile: 767,\r\n tablet: 1200\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DeviceDetectorService {\r\n get isMobile() { return window.screen.width <= CUTOFFS.mobile }\r\n\r\n get isTablet() {\r\n return window.screen.width >= CUTOFFS.mobile && window.screen.width <= CUTOFFS.tablet;\r\n }\r\n\r\n // assume desktop is anything > 1200\r\n get isDesktop() { return window.screen.width > CUTOFFS.tablet }\r\n\r\n\r\n getBrowser() {\r\n if (!!navigator.userAgent.match(/Chrome/) && !navigator.userAgent.match(/Edg/)) { return \"Chrome\"; }\r\n else if (!!navigator.userAgent.match(/Opera/) || !!navigator.userAgent.match(/OPR/)) { return \"Opera\"; }\r\n else if (!!navigator.userAgent.match(/Firefox/) && !navigator.userAgent.match(/Safari/)) { return \"Firefox\"; }\r\n else if (!!navigator.userAgent.match(/Safari/) && !navigator.userAgent.match(/Edg/)) { return \"Safari\"; }\r\n else if (!!navigator.userAgent.match(/MSIE/)) { return \"IE\"; }\r\n else if (!!navigator.userAgent.match(/Edg/)) { return \"Microsoft Edge\"; }\r\n else { return \"Unknown\" }\r\n }\r\n\r\n getOperatingSystem() {\r\n if (!!navigator.userAgent.match(/Win/)) { return \"Windows OS\"; }\r\n else if (!!navigator.userAgent.match(/Mac/)) { return \"MacOS\"; }\r\n else if (!!navigator.userAgent.match(/X11/)) { return \"UNIX OS\"; }\r\n else if (!!navigator.userAgent.match(/Linux/)) { return \"Linux OS\"; }\r\n else { return \"Unknown\"; }\r\n }\r\n\r\n getDeviceType() {\r\n if (this.isDesktop) { return \"Desktop\"; }\r\n else if (this.isMobile) { return \"Mobile\"; }\r\n else if (this.isTablet) { return \"Tablet\"; }\r\n else { return \"Unknown\"; }\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PlatformUiService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-platform-ui',\r\n template: `\r\n <p>\r\n platform-ui works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class PlatformUiComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { PlatformUiComponent } from './platform-ui.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n PlatformUiComponent\r\n ],\r\n imports: [\r\n ],\r\n exports: [\r\n PlatformUiComponent\r\n ]\r\n})\r\nexport class PlatformUiModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class DeviceDetectorService {
|
|
3
|
+
get isMobile(): boolean;
|
|
4
|
+
get isTablet(): boolean;
|
|
5
|
+
get isDesktop(): boolean;
|
|
6
|
+
getBrowser(): "Chrome" | "Opera" | "Firefox" | "Safari" | "IE" | "Microsoft Edge" | "Unknown";
|
|
7
|
+
getOperatingSystem(): "Unknown" | "Windows OS" | "MacOS" | "UNIX OS" | "Linux OS";
|
|
8
|
+
getDeviceType(): "Unknown" | "Desktop" | "Mobile" | "Tablet";
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DeviceDetectorService, never>;
|
|
10
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DeviceDetectorService>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class NetworkConnectionService {
|
|
3
|
+
constructor();
|
|
4
|
+
private networkConnectionChange;
|
|
5
|
+
connectionChanged$: import("rxjs").Observable<boolean>;
|
|
6
|
+
lastOnlineAt: Date;
|
|
7
|
+
get isOnline(): boolean;
|
|
8
|
+
get isOffline(): boolean;
|
|
9
|
+
private updateOnlineStatus;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NetworkConnectionService, never>;
|
|
11
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NetworkConnectionService>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class PlatformUiComponent implements OnInit {
|
|
4
|
+
constructor();
|
|
5
|
+
ngOnInit(): void;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PlatformUiComponent, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PlatformUiComponent, "lib-platform-ui", never, {}, {}, never, never, false>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./platform-ui.component";
|
|
3
|
+
export declare class PlatformUiModule {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PlatformUiModule, never>;
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<PlatformUiModule, [typeof i1.PlatformUiComponent], never, [typeof i1.PlatformUiComponent]>;
|
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<PlatformUiModule>;
|
|
7
|
+
}
|