coer-elements 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. package/README.md +24 -0
  2. package/Signals/index.d.ts +3 -0
  3. package/Signals/src/breakpoint.signal.d.ts +1 -0
  4. package/Signals/src/isLoading.signal.d.ts +1 -0
  5. package/Signals/src/isModalOpen.signal.d.ts +1 -0
  6. package/Tools/index.d.ts +8 -0
  7. package/Tools/src/Breadcrumbs.class.d.ts +18 -0
  8. package/Tools/src/ControlValue.d.ts +23 -0
  9. package/Tools/src/DateTime.class.d.ts +11 -0
  10. package/Tools/src/Files.class.d.ts +16 -0
  11. package/Tools/src/Page.class.d.ts +66 -0
  12. package/Tools/src/Screen.class.d.ts +11 -0
  13. package/Tools/src/Source.class.d.ts +20 -0
  14. package/Tools/src/Tools.d.ts +33 -0
  15. package/components/index.d.ts +2 -0
  16. package/components/src/coer-alert/coer-alert.component.d.ts +23 -0
  17. package/components/src/components.module.d.ts +10 -0
  18. package/esm2022/Signals/index.mjs +4 -0
  19. package/esm2022/Signals/src/breakpoint.signal.mjs +4 -0
  20. package/esm2022/Signals/src/isLoading.signal.mjs +3 -0
  21. package/esm2022/Signals/src/isModalOpen.signal.mjs +3 -0
  22. package/esm2022/Tools/index.mjs +9 -0
  23. package/esm2022/Tools/src/Breadcrumbs.class.mjs +63 -0
  24. package/esm2022/Tools/src/ControlValue.mjs +44 -0
  25. package/esm2022/Tools/src/DateTime.class.mjs +22 -0
  26. package/esm2022/Tools/src/Files.class.mjs +93 -0
  27. package/esm2022/Tools/src/Page.class.mjs +160 -0
  28. package/esm2022/Tools/src/Screen.class.mjs +43 -0
  29. package/esm2022/Tools/src/Source.class.mjs +79 -0
  30. package/esm2022/Tools/src/Tools.mjs +200 -0
  31. package/esm2022/coer-elements.mjs +5 -0
  32. package/esm2022/components/index.mjs +3 -0
  33. package/esm2022/components/src/coer-alert/coer-alert.component.mjs +227 -0
  34. package/esm2022/components/src/components.module.mjs +92 -0
  35. package/esm2022/index.mjs +4 -0
  36. package/esm2022/interfaces/index.mjs +7 -0
  37. package/esm2022/interfaces/src/IAppSource.interface.mjs +2 -0
  38. package/esm2022/interfaces/src/IBreadcrumb.interface.mjs +2 -0
  39. package/esm2022/interfaces/src/ICoerRef.interface.mjs +2 -0
  40. package/esm2022/interfaces/src/IGoBack.interface.mjs +2 -0
  41. package/esm2022/interfaces/src/IPatch.interface.mjs +2 -0
  42. package/esm2022/interfaces/src/IScreenSize.interface.mjs +2 -0
  43. package/fesm2022/coer-elements.mjs +1010 -0
  44. package/fesm2022/coer-elements.mjs.map +1 -0
  45. package/index.d.ts +3 -0
  46. package/interfaces/index.d.ts +6 -0
  47. package/interfaces/index.ts +6 -0
  48. package/interfaces/src/IAppSource.interface.d.ts +4 -0
  49. package/interfaces/src/IAppSource.interface.ts +4 -0
  50. package/interfaces/src/IBreadcrumb.interface.d.ts +6 -0
  51. package/interfaces/src/IBreadcrumb.interface.ts +6 -0
  52. package/interfaces/src/ICoerRef.interface.d.ts +10 -0
  53. package/interfaces/src/ICoerRef.interface.ts +11 -0
  54. package/interfaces/src/IGoBack.interface.d.ts +6 -0
  55. package/interfaces/src/IGoBack.interface.ts +6 -0
  56. package/interfaces/src/IPatch.interface.d.ts +5 -0
  57. package/interfaces/src/IPatch.interface.ts +5 -0
  58. package/interfaces/src/IScreenSize.interface.d.ts +5 -0
  59. package/interfaces/src/IScreenSize.interface.ts +5 -0
  60. package/package.json +25 -0
  61. package/styles/coer.scss +96 -0
  62. package/styles/colors.scss +167 -0
  63. package/styles/index.css +18 -0
  64. package/styles/index.scss +2 -0
@@ -0,0 +1,160 @@
1
+ import { ActivatedRoute, Router } from '@angular/router';
2
+ import { Component, Inject, inject } from '@angular/core';
3
+ import { CoerAlert } from '../../components';
4
+ import { Breadcrumbs, Source, Tools } from '../';
5
+ import * as i0 from "@angular/core";
6
+ export class Page {
7
+ constructor(page) {
8
+ //Injection
9
+ this.alert = inject(CoerAlert);
10
+ this.router = inject(Router);
11
+ this.activatedRoute = inject(ActivatedRoute);
12
+ /** */
13
+ this.isUpdate = false;
14
+ /** */
15
+ this.isLoading = false;
16
+ /** */
17
+ this.isReady = false;
18
+ /** */
19
+ this.enableAnimations = false;
20
+ /** */
21
+ this.breadcrumbs = [];
22
+ /** */
23
+ this.pageResponse = null;
24
+ /** */
25
+ this.goBack = { show: false };
26
+ //Private Variables
27
+ this._page = '';
28
+ this._source = null;
29
+ this._preventDestroy = false;
30
+ /** */
31
+ this.GoBack = (path) => (() => {
32
+ if (path)
33
+ Breadcrumbs.Remove(path);
34
+ else
35
+ Breadcrumbs.RemoveLast();
36
+ });
37
+ /** Returns true if the value is null or undefined, false otherwise */
38
+ this.IsNotNull = Tools.IsNotNull;
39
+ /** Returns true if the value is null or undefined, false otherwise */
40
+ this.IsNull = Tools.IsNull;
41
+ /** Returns true if the value is null or undefined or contains only whitespace, false otherwise */
42
+ this.IsOnlyWhiteSpace = Tools.IsOnlyWhiteSpace;
43
+ this.SetPageName(page);
44
+ this.SetSource();
45
+ this.GetSource();
46
+ this.GetNavigation();
47
+ this.SetGoBack();
48
+ this.GetPageResponse();
49
+ }
50
+ ngAfterViewInit() {
51
+ this.routeParams = this.activatedRoute.snapshot.params;
52
+ this.queryParams = this.activatedRoute.snapshot.queryParams;
53
+ setTimeout(() => {
54
+ this.isReady = true;
55
+ this.RunPage();
56
+ setTimeout(() => { this.enableAnimations = true; }, 1000);
57
+ });
58
+ }
59
+ ngOnDestroy() {
60
+ if (!this._preventDestroy)
61
+ Source.ClearPageResponse();
62
+ }
63
+ /** Main method. Starts after ngAfterViewInit() */
64
+ RunPage() { }
65
+ ;
66
+ /** Rename the last breadcrumb and update the url id */
67
+ SetPageName(name, id = null) {
68
+ this._page = name;
69
+ let path = this.router.url;
70
+ if (path.includes('?'))
71
+ path = path.split('?')[0];
72
+ if (id) {
73
+ const PATH_ARRAY = path.split('/');
74
+ const PATH_ID = Tools.BreakReference(PATH_ARRAY).pop();
75
+ if (PATH_ID) {
76
+ PATH_ARRAY[PATH_ARRAY.length - 1] = String(id);
77
+ path = PATH_ARRAY.join('/');
78
+ }
79
+ }
80
+ if (this.breadcrumbs.length > 0) {
81
+ this.breadcrumbs[this.breadcrumbs.length - 1].page = name;
82
+ this.breadcrumbs[this.breadcrumbs.length - 1].path = path;
83
+ Breadcrumbs.SetLast(name, path);
84
+ }
85
+ this.router.navigateByUrl(path);
86
+ }
87
+ /** */
88
+ SetSource() {
89
+ Source.Set(this._page);
90
+ }
91
+ /** */
92
+ GetSource() {
93
+ this._source = Source.Get();
94
+ }
95
+ /** */
96
+ GetPageResponse() {
97
+ this.pageResponse = Source.GetPageResponse();
98
+ }
99
+ /** */
100
+ GetNavigation() {
101
+ if (this._source) {
102
+ this.breadcrumbs = Breadcrumbs.Get().map(item => Object.assign({
103
+ page: item.page,
104
+ path: item.path,
105
+ click: this.GoBack(item.path)
106
+ }));
107
+ }
108
+ else
109
+ this.breadcrumbs = [{ page: this._page }];
110
+ }
111
+ /** */
112
+ SetGoBack() {
113
+ if (this._source) {
114
+ this.goBack = {
115
+ show: true,
116
+ path: this._source.path,
117
+ click: this.GoBack()
118
+ };
119
+ }
120
+ }
121
+ /** Navigate to previous page */
122
+ GoToSource(pageResponse = null) {
123
+ if (this._source) {
124
+ Breadcrumbs.RemoveLast();
125
+ this.SetPageResponse(pageResponse);
126
+ Tools.Sleep().then(_ => this.router.navigateByUrl(this._source.path));
127
+ }
128
+ }
129
+ ;
130
+ /** */
131
+ SetPageResponse(pageResponse = null) {
132
+ if (Tools.IsNotNull(pageResponse)) {
133
+ this._preventDestroy = true;
134
+ Source.SetPageResponse(pageResponse);
135
+ }
136
+ }
137
+ ;
138
+ /** */
139
+ ReloadPage() {
140
+ Breadcrumbs.RemoveLast();
141
+ Tools.Sleep().then(_ => window.location.reload());
142
+ }
143
+ /** */
144
+ Log(value, log = null) {
145
+ if (Tools.IsNotNull(log))
146
+ console.log({ log, value });
147
+ else
148
+ console.log(value);
149
+ }
150
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Page, deps: [{ token: String }], target: i0.ɵɵFactoryTarget.Component }); }
151
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: Page, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
152
+ }
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Page, decorators: [{
154
+ type: Component,
155
+ args: [{ template: '' }]
156
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
157
+ type: Inject,
158
+ args: [String]
159
+ }] }] });
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvVG9vbHMvc3JjL1BhZ2UuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQWlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXBGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxLQUFLLENBQUM7O0FBR2pELE1BQU0sT0FBTyxJQUFJO0lBd0NiLFlBQTRCLElBQVk7UUF0Q3hDLFdBQVc7UUFDUSxVQUFLLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFCLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUIsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFekQsTUFBTTtRQUNJLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFcEMsTUFBTTtRQUNJLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFckMsTUFBTTtRQUNJLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFbkMsTUFBTTtRQUNJLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQVE1QyxNQUFNO1FBQ0ksZ0JBQVcsR0FBa0IsRUFBRSxDQUFDO1FBRTFDLE1BQU07UUFDSSxpQkFBWSxHQUFRLElBQUksQ0FBQztRQUVuQyxNQUFNO1FBQ0ksV0FBTSxHQUFZLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBRTVDLG1CQUFtQjtRQUNYLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsWUFBTyxHQUFzQixJQUFJLENBQUM7UUFDbEMsb0JBQWUsR0FB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LEtBQUssRUFBRSxDQUFDLENBQUM7O1lBQ2pELE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQzsrR0FoTFEsSUFBSSxrQkF3Q08sTUFBTTttR0F4Q2pCLElBQUksb0RBRE0sRUFBRTs7NEZBQ1osSUFBSTtrQkFEaEIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OzBCQXlDVixNQUFNOzJCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3QsIGluamVjdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElBcHBTb3VyY2UsIElCcmVhZGNydW1iLCBJR29CYWNrIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IENvZXJBbGVydCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMnOyBcclxuaW1wb3J0IHsgQnJlYWRjcnVtYnMsIFNvdXJjZSwgVG9vbHMgfSBmcm9tICcuLi8nO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgUGFnZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gICAgLy9JbmplY3Rpb25cclxuICAgIHByb3RlY3RlZCByZWFkb25seSBhbGVydCA9IGluamVjdChDb2VyQWxlcnQpO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmF0ZWRSb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgaXNVcGRhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBpc1JlYWR5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgZW5hYmxlQW5pbWF0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIHJvdXRlUGFyYW1zOiBhbnk7XHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgcXVlcnlQYXJhbXM6IGFueTtcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBicmVhZGNydW1iczogSUJyZWFkY3J1bWJbXSA9IFtdO1xyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIHBhZ2VSZXNwb25zZTogYW55ID0gbnVsbDtcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBnb0JhY2s6IElHb0JhY2sgPSB7IHNob3c6IGZhbHNlIH07XHJcblxyXG4gICAgLy9Qcml2YXRlIFZhcmlhYmxlc1xyXG4gICAgcHJpdmF0ZSBfcGFnZTogc3RyaW5nID0gJyc7XHJcbiAgICBwcml2YXRlIF9zb3VyY2U6IElBcHBTb3VyY2UgfCBudWxsID0gbnVsbDtcclxuICAgIHByaXZhdGUgX3ByZXZlbnREZXN0cm95OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoU3RyaW5nKSBwYWdlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLlNldFBhZ2VOYW1lKHBhZ2UpO1xyXG4gICAgICAgIHRoaXMuU2V0U291cmNlKCk7XHJcbiAgICAgICAgdGhpcy5HZXRTb3VyY2UoKTtcclxuICAgICAgICB0aGlzLkdldE5hdmlnYXRpb24oKTtcclxuICAgICAgICB0aGlzLlNldEdvQmFjaygpO1xyXG4gICAgICAgIHRoaXMuR2V0UGFnZVJlc3BvbnNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMucm91dGVQYXJhbXMgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtcztcclxuICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcztcclxuXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNSZWFkeSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuUnVuUGFnZSgpO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5lbmFibGVBbmltYXRpb25zID0gdHJ1ZSB9LCAxMDAwKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9wcmV2ZW50RGVzdHJveSkgU291cmNlLkNsZWFyUGFnZVJlc3BvbnNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIE1haW4gbWV0aG9kLiBTdGFydHMgYWZ0ZXIgbmdBZnRlclZpZXdJbml0KCkgKi9cclxuICAgIHByb3RlY3RlZCBSdW5QYWdlKCk6IHZvaWQge307XHJcblxyXG5cclxuICAgIC8qKiBSZW5hbWUgdGhlIGxhc3QgYnJlYWRjcnVtYiBhbmQgdXBkYXRlIHRoZSB1cmwgaWQgKi9cclxuICAgIHByb3RlY3RlZCBTZXRQYWdlTmFtZShuYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsID0gbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3BhZ2UgPSBuYW1lO1xyXG5cclxuICAgICAgICBsZXQgcGF0aCA9IHRoaXMucm91dGVyLnVybDtcclxuICAgICAgICBpZiAocGF0aC5pbmNsdWRlcygnPycpKSBwYXRoID0gcGF0aC5zcGxpdCgnPycpWzBdO1xyXG5cclxuICAgICAgICBpZiAoaWQpIHtcclxuICAgICAgICAgICAgY29uc3QgUEFUSF9BUlJBWSA9IHBhdGguc3BsaXQoJy8nKTtcclxuICAgICAgICAgICAgY29uc3QgUEFUSF9JRCA9IFRvb2xzLkJyZWFrUmVmZXJlbmNlKFBBVEhfQVJSQVkpLnBvcCgpO1xyXG4gICAgICAgICAgICBpZiAoUEFUSF9JRCkge1xyXG4gICAgICAgICAgICAgICAgUEFUSF9BUlJBWVtQQVRIX0FSUkFZLmxlbmd0aCAtIDFdID0gU3RyaW5nKGlkKTtcclxuICAgICAgICAgICAgICAgIHBhdGggPSBQQVRIX0FSUkFZLmpvaW4oJy8nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYnJlYWRjcnVtYnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmJyZWFkY3J1bWJzW3RoaXMuYnJlYWRjcnVtYnMubGVuZ3RoIC0gMV0ucGFnZSA9IG5hbWU7XHJcbiAgICAgICAgICAgIHRoaXMuYnJlYWRjcnVtYnNbdGhpcy5icmVhZGNydW1icy5sZW5ndGggLSAxXS5wYXRoID0gcGF0aDtcclxuICAgICAgICAgICAgQnJlYWRjcnVtYnMuU2V0TGFzdChuYW1lLCBwYXRoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocGF0aClcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcml2YXRlIFNldFNvdXJjZSgpOiB2b2lkIHtcclxuICAgICAgICBTb3VyY2UuU2V0KHRoaXMuX3BhZ2UpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByaXZhdGUgR2V0U291cmNlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3NvdXJjZSA9IFNvdXJjZS5HZXQoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcm90ZWN0ZWQgR2V0UGFnZVJlc3BvbnNlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucGFnZVJlc3BvbnNlID0gU291cmNlLkdldFBhZ2VSZXNwb25zZSgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByaXZhdGUgR2V0TmF2aWdhdGlvbigpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5fc291cmNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYnJlYWRjcnVtYnMgPSBCcmVhZGNydW1icy5HZXQoKS5tYXAoaXRlbSA9PiBPYmplY3QuYXNzaWduKHtcclxuICAgICAgICAgICAgICAgIHBhZ2U6IGl0ZW0ucGFnZSxcclxuICAgICAgICAgICAgICAgIHBhdGg6IGl0ZW0ucGF0aCxcclxuICAgICAgICAgICAgICAgIGNsaWNrOiB0aGlzLkdvQmFjayhpdGVtLnBhdGgpXHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVsc2UgdGhpcy5icmVhZGNydW1icyA9IFt7IHBhZ2U6IHRoaXMuX3BhZ2UgfV07XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJpdmF0ZSBTZXRHb0JhY2soKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3NvdXJjZSkge1xyXG4gICAgICAgICAgICB0aGlzLmdvQmFjayA9IHtcclxuICAgICAgICAgICAgICAgIHNob3c6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBwYXRoOiB0aGlzLl9zb3VyY2UucGF0aCxcclxuICAgICAgICAgICAgICAgIGNsaWNrOiB0aGlzLkdvQmFjaygpXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByaXZhdGUgR29CYWNrID0gKHBhdGg/OiBzdHJpbmcpID0+ICgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHBhdGgpIEJyZWFkY3J1bWJzLlJlbW92ZShwYXRoKTtcclxuICAgICAgICBlbHNlIEJyZWFkY3J1bWJzLlJlbW92ZUxhc3QoKTtcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICAvKiogTmF2aWdhdGUgdG8gcHJldmlvdXMgcGFnZSAqL1xyXG4gICAgcHJvdGVjdGVkIEdvVG9Tb3VyY2U8VD4ocGFnZVJlc3BvbnNlOiBUIHwgbnVsbCA9IG51bGwpOiB2b2lkIHtcclxuICAgICAgICBpZih0aGlzLl9zb3VyY2UpIHtcclxuICAgICAgICAgICAgQnJlYWRjcnVtYnMuUmVtb3ZlTGFzdCgpO1xyXG4gICAgICAgICAgICB0aGlzLlNldFBhZ2VSZXNwb25zZShwYWdlUmVzcG9uc2UpO1xyXG4gICAgICAgICAgICBUb29scy5TbGVlcCgpLnRoZW4oXyA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMuX3NvdXJjZSEucGF0aCkpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHJvdGVjdGVkIFNldFBhZ2VSZXNwb25zZTxUPihwYWdlUmVzcG9uc2U6IFQgfCBudWxsID0gbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChUb29scy5Jc05vdE51bGwocGFnZVJlc3BvbnNlKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9wcmV2ZW50RGVzdHJveSA9IHRydWU7XHJcbiAgICAgICAgICAgIFNvdXJjZS5TZXRQYWdlUmVzcG9uc2UocGFnZVJlc3BvbnNlKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBSZWxvYWRQYWdlKCk6IHZvaWQge1xyXG4gICAgICAgIEJyZWFkY3J1bWJzLlJlbW92ZUxhc3QoKTtcclxuICAgICAgICBUb29scy5TbGVlcCgpLnRoZW4oXyA9PiB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCkpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHByb3RlY3RlZCBMb2codmFsdWU6IGFueSwgbG9nOiBzdHJpbmcgfCBudWxsID0gbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChUb29scy5Jc05vdE51bGwobG9nKSkgY29uc29sZS5sb2coeyBsb2csIHZhbHVlIH0pO1xyXG4gICAgICAgIGVsc2UgY29uc29sZS5sb2codmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogUmV0dXJucyB0cnVlIGlmIHRoZSB2YWx1ZSBpcyBudWxsIG9yIHVuZGVmaW5lZCwgZmFsc2Ugb3RoZXJ3aXNlICovXHJcbiAgICBwcm90ZWN0ZWQgSXNOb3ROdWxsID0gVG9vbHMuSXNOb3ROdWxsO1xyXG5cclxuICAgIC8qKiBSZXR1cm5zIHRydWUgaWYgdGhlIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLCBmYWxzZSBvdGhlcndpc2UgKi9cclxuICAgIHByb3RlY3RlZCBJc051bGwgPSBUb29scy5Jc051bGw7XHJcblxyXG4gICAgLyoqIFJldHVybnMgdHJ1ZSBpZiB0aGUgdmFsdWUgaXMgbnVsbCBvciB1bmRlZmluZWQgb3IgY29udGFpbnMgb25seSB3aGl0ZXNwYWNlLCBmYWxzZSBvdGhlcndpc2UgKi9cclxuICAgIHByb3RlY3RlZCBJc09ubHlXaGl0ZVNwYWNlICA9IFRvb2xzLklzT25seVdoaXRlU3BhY2U7XHJcbn0iXX0=
@@ -0,0 +1,43 @@
1
+ import { Observable } from "rxjs";
2
+ export class Screen {
3
+ static get WINDOW_WIDTH() {
4
+ return window.innerWidth;
5
+ }
6
+ static get WINDOW_HEIGHT() {
7
+ return window.innerHeight;
8
+ }
9
+ static get DEVICE_WIDTH() {
10
+ return window.screen.width;
11
+ }
12
+ static get DEVICE_HEIGHT() {
13
+ return window.screen.height;
14
+ }
15
+ static get BREAKPOINT() {
16
+ if (window.innerWidth < 576)
17
+ return 'xs';
18
+ else if (window.innerWidth >= 576 && window.innerWidth < 768)
19
+ return 'sm';
20
+ else if (window.innerWidth >= 768 && window.innerWidth < 992)
21
+ return 'md';
22
+ else if (window.innerWidth >= 992 && window.innerWidth < 1200)
23
+ return 'lg';
24
+ else if (window.innerWidth >= 1200 && window.innerWidth < 1400)
25
+ return 'xl';
26
+ else
27
+ return 'xxl';
28
+ }
29
+ /** */
30
+ static { this.Resize = new Observable(subscriber => {
31
+ window.addEventListener("load", () => {
32
+ window.dispatchEvent(new Event('resize'));
33
+ });
34
+ window.onresize = () => {
35
+ subscriber.next({
36
+ width: window.innerWidth,
37
+ height: window.innerHeight,
38
+ breakpoin: this.BREAKPOINT
39
+ });
40
+ };
41
+ }); }
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NyZWVuLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9Ub29scy9zcmMvU2NyZWVuLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsTUFBTSxPQUFPLE1BQU07SUFFUixNQUFNLEtBQUssWUFBWTtRQUMxQixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUdNLE1BQU0sS0FBSyxhQUFhO1FBQzNCLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQztJQUM5QixDQUFDO0lBR00sTUFBTSxLQUFLLFlBQVk7UUFDMUIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBR00sTUFBTSxLQUFLLGFBQWE7UUFDM0IsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBR00sTUFBTSxLQUFLLFVBQVU7UUFDeEIsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUc7WUFBRSxPQUFPLElBQUksQ0FBQzthQUNwQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksR0FBRyxJQUFJLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRztZQUFFLE9BQU8sSUFBSSxDQUFDO2FBQ3JFLElBQUksTUFBTSxDQUFDLFVBQVUsSUFBSSxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHO1lBQUUsT0FBTyxJQUFJLENBQUM7YUFDckUsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQzthQUN0RSxJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDOztZQUN2RSxPQUFPLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBR0QsTUFBTTthQUNRLFdBQU0sR0FBRyxJQUFJLFVBQVUsQ0FBYyxVQUFVLENBQUMsRUFBRTtRQUM1RCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUNqQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsUUFBUSxHQUFHLEdBQUcsRUFBRTtZQUNuQixVQUFVLENBQUMsSUFBSSxDQUFDO2dCQUNaLEtBQUssRUFBRSxNQUFNLENBQUMsVUFBVTtnQkFDeEIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxXQUFXO2dCQUMxQixTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVU7YUFDN0IsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFBO0lBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJU2NyZWVuU2l6ZSB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFNjcmVlbiB7XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBnZXQgV0lORE9XX1dJRFRIKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldCBXSU5ET1dfSEVJR0hUKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBnZXQgREVWSUNFX1dJRFRIKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHdpbmRvdy5zY3JlZW4ud2lkdGg7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IERFVklDRV9IRUlHSFQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gd2luZG93LnNjcmVlbi5oZWlnaHQ7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IEJSRUFLUE9JTlQoKTogJ3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCcgfCAneHhsJyB7XHJcbiAgICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDwgNTc2KSByZXR1cm4gJ3hzJztcclxuICAgICAgICBlbHNlIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA+PSA1NzYgJiYgd2luZG93LmlubmVyV2lkdGggPCA3NjgpIHJldHVybiAnc20nO1xyXG4gICAgICAgIGVsc2UgaWYgKHdpbmRvdy5pbm5lcldpZHRoID49IDc2OCAmJiB3aW5kb3cuaW5uZXJXaWR0aCA8IDk5MikgcmV0dXJuICdtZCc7XHJcbiAgICAgICAgZWxzZSBpZiAod2luZG93LmlubmVyV2lkdGggPj0gOTkyICYmIHdpbmRvdy5pbm5lcldpZHRoIDwgMTIwMCkgcmV0dXJuICdsZyc7XHJcbiAgICAgICAgZWxzZSBpZiAod2luZG93LmlubmVyV2lkdGggPj0gMTIwMCAmJiB3aW5kb3cuaW5uZXJXaWR0aCA8IDE0MDApIHJldHVybiAneGwnO1xyXG4gICAgICAgIGVsc2UgcmV0dXJuICd4eGwnO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgUmVzaXplID0gbmV3IE9ic2VydmFibGU8SVNjcmVlblNpemU+KHN1YnNjcmliZXIgPT4ge1xyXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibG9hZFwiLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgncmVzaXplJykpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB3aW5kb3cub25yZXNpemUgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogd2luZG93LmlubmVyV2lkdGgsXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHdpbmRvdy5pbm5lckhlaWdodCxcclxuICAgICAgICAgICAgICAgIGJyZWFrcG9pbjogdGhpcy5CUkVBS1BPSU5UXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG59Il19
@@ -0,0 +1,79 @@
1
+ import { Router } from '@angular/router';
2
+ import { inject } from "@angular/core";
3
+ import { Breadcrumbs, Tools } from '../../Tools';
4
+ export class Source {
5
+ static { this.storage = 'COER-System'; }
6
+ /** */
7
+ static Set(page) {
8
+ const ROUTER = inject(Router);
9
+ let path = ROUTER.url;
10
+ if (path.includes('?'))
11
+ path = path.split('?')[0];
12
+ Breadcrumbs.Add(page, path);
13
+ const breadcrumbs = Breadcrumbs.Get();
14
+ if (breadcrumbs.length >= 2) {
15
+ breadcrumbs.pop();
16
+ const breadcrumb = breadcrumbs.pop();
17
+ this.Save({ page: breadcrumb.page, path: breadcrumb.path });
18
+ }
19
+ else
20
+ this.Save(null);
21
+ }
22
+ /** */
23
+ static Save(source) {
24
+ let storage = sessionStorage.getItem(this.storage);
25
+ if (storage)
26
+ storage = JSON.parse(storage);
27
+ storage = Object.assign({}, storage, { source });
28
+ sessionStorage.setItem(this.storage, JSON.stringify(storage));
29
+ }
30
+ /** */
31
+ static Get() {
32
+ let storage = sessionStorage.getItem(this.storage);
33
+ if (storage) {
34
+ storage = JSON.parse(storage);
35
+ if (storage.hasOwnProperty('source')) {
36
+ return storage.source;
37
+ }
38
+ }
39
+ return null;
40
+ }
41
+ /** */
42
+ static GetRoot() {
43
+ const breadcrumbs = Breadcrumbs.Get();
44
+ return (breadcrumbs.length > 0) ? breadcrumbs.shift() : null;
45
+ }
46
+ /** */
47
+ static SetPageResponse(pageResponse) {
48
+ let storage = sessionStorage.getItem(this.storage);
49
+ storage = JSON.parse(storage);
50
+ storage = Object.assign({}, storage, { pageResponse });
51
+ sessionStorage.setItem(this.storage, JSON.stringify(storage));
52
+ }
53
+ /** */
54
+ static GetPageResponse() {
55
+ let storage = sessionStorage.getItem(this.storage);
56
+ if (storage) {
57
+ storage = JSON.parse(storage);
58
+ if (storage.hasOwnProperty('pageResponse')) {
59
+ return Tools.BreakReference(storage.pageResponse);
60
+ }
61
+ }
62
+ return null;
63
+ }
64
+ /** */
65
+ static ClearPageResponse() {
66
+ let storage = sessionStorage.getItem(this.storage);
67
+ storage = JSON.parse(storage);
68
+ if (storage.hasOwnProperty('pageResponse')) {
69
+ delete storage.pageResponse;
70
+ }
71
+ storage = Object.assign({}, storage);
72
+ sessionStorage.setItem(this.storage, JSON.stringify(storage));
73
+ }
74
+ /** Clear Source */
75
+ static Reset() {
76
+ sessionStorage.removeItem(this.storage);
77
+ }
78
+ }
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU291cmNlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29lci1lbGVtZW50cy9Ub29scy9zcmMvU291cmNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWpELE1BQU0sT0FBTyxNQUFNO2FBRVMsWUFBTyxHQUFHLGFBQWEsQ0FBQztJQUVoRCxNQUFNO0lBQ0MsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFZO1FBQzFCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5QixJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7WUFBRSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsRCxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU1QixNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFdEMsSUFBRyxXQUFXLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3pCLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNsQixNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFHLENBQUM7WUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNoRSxDQUFD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O1FBQ2hDLENBQUM7UUFFRCxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBR0QsbUJBQW1CO0lBQ1osTUFBTSxDQUFDLEtBQUs7UUFDZixjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSUFwcFNvdXJjZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1icywgVG9vbHMgfSBmcm9tICcuLi8uLi9Ub29scyc7XHJcblxyXG5leHBvcnQgY2xhc3MgU291cmNlIHtcclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBzdG9yYWdlID0gJ0NPRVItU3lzdGVtJztcclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgU2V0KHBhZ2U6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IFJPVVRFUiA9IGluamVjdChSb3V0ZXIpO1xyXG5cclxuICAgICAgICBsZXQgcGF0aCA9IFJPVVRFUi51cmw7XHJcbiAgICAgICAgaWYgKHBhdGguaW5jbHVkZXMoJz8nKSkgcGF0aCA9IHBhdGguc3BsaXQoJz8nKVswXTtcclxuXHJcbiAgICAgICAgQnJlYWRjcnVtYnMuQWRkKHBhZ2UsIHBhdGgpO1xyXG5cclxuICAgICAgICBjb25zdCBicmVhZGNydW1icyA9IEJyZWFkY3J1bWJzLkdldCgpO1xyXG5cclxuICAgICAgICBpZihicmVhZGNydW1icy5sZW5ndGggPj0gMikge1xyXG4gICAgICAgICAgICBicmVhZGNydW1icy5wb3AoKTtcclxuICAgICAgICAgICAgY29uc3QgYnJlYWRjcnVtYiA9IGJyZWFkY3J1bWJzLnBvcCgpITtcclxuICAgICAgICAgICAgdGhpcy5TYXZlKHsgcGFnZTogYnJlYWRjcnVtYi5wYWdlLCBwYXRoOiBicmVhZGNydW1iLnBhdGggfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbHNlIHRoaXMuU2F2ZShudWxsKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwcml2YXRlIHN0YXRpYyBTYXZlKHNvdXJjZTogSUFwcFNvdXJjZSB8IG51bGwpOiB2b2lkIHtcclxuICAgICAgICBsZXQgc3RvcmFnZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlKSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKHN0b3JhZ2UpIHN0b3JhZ2UgPSBKU09OLnBhcnNlKHN0b3JhZ2UpO1xyXG4gICAgICAgIHN0b3JhZ2UgPSBPYmplY3QuYXNzaWduKHt9LCBzdG9yYWdlLCB7IHNvdXJjZSB9KTtcclxuICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RvcmFnZSwgSlNPTi5zdHJpbmdpZnkoc3RvcmFnZSkpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0KCk6IElBcHBTb3VyY2UgfCBudWxsIHtcclxuICAgICAgICBsZXQgc3RvcmFnZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlKSBhcyBhbnk7XHJcblxyXG4gICAgICAgIGlmIChzdG9yYWdlKSB7XHJcbiAgICAgICAgICAgIHN0b3JhZ2UgPSBKU09OLnBhcnNlKHN0b3JhZ2UpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHN0b3JhZ2UuaGFzT3duUHJvcGVydHkoJ3NvdXJjZScpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RvcmFnZS5zb3VyY2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0Um9vdCgpOiBJQXBwU291cmNlIHwgbnVsbCB7XHJcbiAgICAgICAgY29uc3QgYnJlYWRjcnVtYnMgPSBCcmVhZGNydW1icy5HZXQoKTtcclxuICAgICAgICByZXR1cm4gKGJyZWFkY3J1bWJzLmxlbmd0aCA+IDApID8gYnJlYWRjcnVtYnMuc2hpZnQoKSEgOiBudWxsO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgU2V0UGFnZVJlc3BvbnNlPFQ+KHBhZ2VSZXNwb25zZTogVCk6IHZvaWQge1xyXG4gICAgICAgIGxldCBzdG9yYWdlID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2UpIGFzIGFueTtcclxuICAgICAgICBzdG9yYWdlID0gSlNPTi5wYXJzZShzdG9yYWdlKTtcclxuICAgICAgICBzdG9yYWdlID0gT2JqZWN0LmFzc2lnbih7fSwgc3RvcmFnZSwgeyBwYWdlUmVzcG9uc2UgfSk7XHJcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnN0b3JhZ2UsIEpTT04uc3RyaW5naWZ5KHN0b3JhZ2UpKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqICovXHJcbiAgICBwdWJsaWMgc3RhdGljIEdldFBhZ2VSZXNwb25zZTxUPigpOiBUIHwgbnVsbCB7XHJcbiAgICAgICAgbGV0IHN0b3JhZ2UgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RvcmFnZSkgYXMgYW55O1xyXG5cclxuICAgICAgICBpZiAoc3RvcmFnZSkge1xyXG4gICAgICAgICAgICBzdG9yYWdlID0gSlNPTi5wYXJzZShzdG9yYWdlKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChzdG9yYWdlLmhhc093blByb3BlcnR5KCdwYWdlUmVzcG9uc2UnKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFRvb2xzLkJyZWFrUmVmZXJlbmNlKHN0b3JhZ2UucGFnZVJlc3BvbnNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBDbGVhclBhZ2VSZXNwb25zZSgpOiB2b2lkIHtcclxuICAgICAgICBsZXQgc3RvcmFnZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlKSBhcyBhbnk7XHJcbiAgICAgICAgc3RvcmFnZSA9IEpTT04ucGFyc2Uoc3RvcmFnZSk7XHJcblxyXG4gICAgICAgIGlmIChzdG9yYWdlLmhhc093blByb3BlcnR5KCdwYWdlUmVzcG9uc2UnKSkge1xyXG4gICAgICAgICAgICBkZWxldGUgc3RvcmFnZS5wYWdlUmVzcG9uc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdG9yYWdlID0gT2JqZWN0LmFzc2lnbih7fSwgc3RvcmFnZSk7XHJcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnN0b3JhZ2UsIEpTT04uc3RyaW5naWZ5KHN0b3JhZ2UpKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqIENsZWFyIFNvdXJjZSAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBSZXNldCgpOiB2b2lkIHtcclxuICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuc3RvcmFnZSk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -0,0 +1,200 @@
1
+ import { signal } from "@angular/core";
2
+ const reference_signal = signal({});
3
+ export const Tools = {
4
+ /** Generate a Guid */
5
+ GetGuid: (seed = 'coer-system') => {
6
+ let time = new Date().getTime();
7
+ seed = seed.toString().trim();
8
+ return seed + `-xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g, (c) => {
9
+ const random = (time + Math.random() * 16) % 16 | 0;
10
+ time = Math.floor(time / 16);
11
+ return (c == 'x' ? random : (random & 0x3 | 0x8)).toString(16);
12
+ });
13
+ },
14
+ /** Returns true if the value is null or undefined, false otherwise */
15
+ IsNull: (value) => {
16
+ if (value === undefined)
17
+ return true;
18
+ if (value === null)
19
+ return true;
20
+ return false;
21
+ },
22
+ /** Returns true if the value is not null or undefined, false otherwise */
23
+ IsNotNull: (value) => {
24
+ if (value === undefined)
25
+ return false;
26
+ if (value === null)
27
+ return false;
28
+ return true;
29
+ },
30
+ /** Returns true if the value is null or undefined or contains only whitespace, false otherwise */
31
+ IsOnlyWhiteSpace: (value) => {
32
+ if (value === undefined)
33
+ return true;
34
+ if (value === null)
35
+ return true;
36
+ if (value.toString().trim() === '')
37
+ return true;
38
+ return false;
39
+ },
40
+ /** Break reference of a object or array */
41
+ BreakReference: (object) => {
42
+ if (object === undefined)
43
+ return undefined;
44
+ if (object === null)
45
+ return null;
46
+ const OBJECT = JSON.parse(JSON.stringify(object));
47
+ return (Array.isArray(OBJECT)) ? [...OBJECT] : { ...OBJECT };
48
+ },
49
+ /** Clean extra whitespaces */
50
+ CleanUpBlanks: (text) => {
51
+ if (Tools.IsNull(text))
52
+ return '';
53
+ let worlds = String(text).split(' ');
54
+ worlds = worlds.filter(x => x.length > 0);
55
+ return worlds.join(' ');
56
+ },
57
+ /** Get properties of an object */
58
+ GetObjectProperties: (obj) => {
59
+ const properties = [];
60
+ if (Tools.IsNull(obj))
61
+ return properties;
62
+ for (const property in obj)
63
+ properties.push(String(property));
64
+ return properties;
65
+ },
66
+ /**
67
+ * Set an index and merge more arrays of the same type
68
+ * @returns A new array
69
+ * */
70
+ SetIndex: (array, ...args) => {
71
+ let index = 0;
72
+ for (const arg of args) {
73
+ array = Tools.BreakReference(array).concat(Tools.BreakReference(arg));
74
+ }
75
+ return Tools.BreakReference(array).map(item => Object.assign({ index: index++ }, item));
76
+ },
77
+ /** Set First Char To Lower */
78
+ FirstCharToLower: (text) => {
79
+ if (Tools.IsNull(text))
80
+ return '';
81
+ const textArray = [];
82
+ for (let i = 0; i < text.length; i++) {
83
+ if (i === 0)
84
+ textArray.push(text[i].toLowerCase());
85
+ else
86
+ textArray.push(text[i]);
87
+ }
88
+ return textArray.join('');
89
+ },
90
+ /** Set First Char To Upper */
91
+ FirstCharToUpper: (text) => {
92
+ if (Tools.IsNull(text))
93
+ return '';
94
+ const textArray = [];
95
+ for (let i = 0; i < text.length; i++) {
96
+ if (i === 0)
97
+ textArray.push(text[i].toUpperCase());
98
+ else
99
+ textArray.push(text[i]);
100
+ }
101
+ return textArray.join('');
102
+ },
103
+ /** Sort an array in ascending order by property */
104
+ SortBy: (array, property, propertyType = 'string') => {
105
+ switch (propertyType) {
106
+ case 'string': {
107
+ return array.sort((x, y) => {
108
+ if (String(x[property]).toUpperCase().trim() < String(y[property]).toUpperCase().trim())
109
+ return -1;
110
+ else if (String(x[property]).toUpperCase().trim() > String(y[property]).toUpperCase().trim())
111
+ return 1;
112
+ else
113
+ return 0;
114
+ });
115
+ }
116
+ case 'number': {
117
+ return array.sort((x, y) => Number(x[property] - Number(y[property])));
118
+ }
119
+ }
120
+ },
121
+ /** Sort an array in descending order by property */
122
+ SortByDesc: (array, property, propertyType = 'string') => {
123
+ switch (propertyType) {
124
+ case 'string': {
125
+ return array.sort((x, y) => {
126
+ if (String(x[property]).toUpperCase().trim() < String(y[property]).toUpperCase().trim())
127
+ return 1;
128
+ else if (String(x[property]).toUpperCase().trim() > String(y[property]).toUpperCase().trim())
129
+ return -1;
130
+ else
131
+ return 0;
132
+ });
133
+ }
134
+ case 'number': {
135
+ return array.sort((x, y) => Number(Number(y[property])) - x[property]);
136
+ }
137
+ }
138
+ },
139
+ /** Return a string with forman numeric */
140
+ GetNumericFormat: (value, decimals = 0) => {
141
+ if (value == undefined
142
+ || value == null
143
+ || value.toString().trim() == ''
144
+ || isNaN(Number(value))) {
145
+ return '0';
146
+ }
147
+ let valueInteger = '';
148
+ let valueDecimal = '';
149
+ value = value.toString().replaceAll(' ', '');
150
+ if (value.includes('.') || (decimals > 0)) {
151
+ valueInteger = value.includes('.') ? value.split('.')[0] : value;
152
+ if (decimals > 0) {
153
+ const PADDING = decimals - valueDecimal.length;
154
+ valueDecimal = value.includes('.') ? value.split('.')[1] : '';
155
+ for (let i = 0; i < PADDING; i++)
156
+ valueDecimal += '0';
157
+ valueDecimal = valueDecimal.substring(0, decimals);
158
+ valueDecimal = `.${valueDecimal}`;
159
+ }
160
+ }
161
+ else {
162
+ valueInteger = value;
163
+ }
164
+ let counter = 0;
165
+ const VALUE_INTEGER_ARRAY = [];
166
+ for (const char of valueInteger.split('').reverse()) {
167
+ if (counter == 3) {
168
+ VALUE_INTEGER_ARRAY.push(',');
169
+ counter = 0;
170
+ }
171
+ VALUE_INTEGER_ARRAY.push(char);
172
+ ++counter;
173
+ }
174
+ valueInteger = VALUE_INTEGER_ARRAY.reverse().join('');
175
+ return `${valueInteger}${valueDecimal}`;
176
+ },
177
+ /** Wait the time indicated */
178
+ Sleep: (milliseconds = 0, reference = null) => {
179
+ if (Tools.IsNull(reference)) {
180
+ return new Promise(Resolve => setTimeout(Resolve, milliseconds));
181
+ }
182
+ else
183
+ return new Promise(Resolve => {
184
+ reference = reference.replaceAll(' ', '_').toLowerCase();
185
+ if (reference_signal().hasOwnProperty(reference)) {
186
+ clearInterval(reference_signal()[reference]);
187
+ }
188
+ reference_signal.set(Object.assign(reference_signal(), {
189
+ [reference]: setTimeout(() => {
190
+ Resolve();
191
+ clearInterval(reference_signal()[reference]);
192
+ const _reference = { ...reference_signal() };
193
+ delete _reference[reference];
194
+ reference_signal.set({ ..._reference });
195
+ }, milliseconds)
196
+ }));
197
+ });
198
+ }
199
+ };
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9vbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL1Rvb2xzL3NyYy9Ub29scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFNLEVBQUUsQ0FBQyxDQUFDO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRztJQUNqQixzQkFBc0I7SUFDdEIsT0FBTyxFQUFFLENBQUMsT0FBZSxhQUFhLEVBQUUsRUFBRTtRQUN0QyxJQUFJLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDN0IsT0FBTyxJQUFJLEdBQUcsdUNBQXVDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3pFLE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1lBQ25ELElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQTtZQUM1QixPQUFPLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDbEUsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBR0Qsc0VBQXNFO0lBQ3RFLE1BQU0sRUFBRSxDQUFJLEtBQTJCLEVBQVcsRUFBRTtRQUNoRCxJQUFJLEtBQUssS0FBSyxTQUFTO1lB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QkFDL0MsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUMsU0FBVSxDQUFDLENBQUMsQ0FBQztnQkFDbEQsQ0FBQztnQkFFRCxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFO29CQUNuRCxDQUFDLFNBQVUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7d0JBQzFCLE9BQU8sRUFBRSxDQUFDO3dCQUNWLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFNBQVUsQ0FBQyxDQUFDLENBQUM7d0JBQzlDLE1BQU0sVUFBVSxHQUFHLEVBQUUsR0FBRyxnQkFBZ0IsRUFBRSxFQUFFLENBQUM7d0JBQzdDLE9BQU8sVUFBVSxDQUFDLFNBQVUsQ0FBQyxDQUFDO3dCQUM5QixnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLFVBQVUsRUFBRSxDQUFDLENBQUM7b0JBQzVDLENBQUMsRUFBRSxZQUFZLENBQUM7aUJBQ25CLENBQUMsQ0FBQyxDQUFDO1lBQ1IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNpZ25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmNvbnN0IHJlZmVyZW5jZV9zaWduYWwgPSBzaWduYWw8YW55Pih7fSk7XHJcblxyXG5leHBvcnQgY29uc3QgVG9vbHMgPSB7XHJcbiAgICAvKiogR2VuZXJhdGUgYSBHdWlkICovXHJcbiAgICBHZXRHdWlkOiAoc2VlZDogc3RyaW5nID0gJ2NvZXItc3lzdGVtJykgPT4ge1xyXG4gICAgICAgIGxldCB0aW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgc2VlZCA9IHNlZWQudG9TdHJpbmcoKS50cmltKClcclxuICAgICAgICByZXR1cm4gc2VlZCArIGAteHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4YC5yZXBsYWNlKC9beHldL2csIChjKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJhbmRvbSA9ICh0aW1lICsgTWF0aC5yYW5kb20oKSAqIDE2KSAlIDE2IHwgMFxyXG4gICAgICAgICAgICB0aW1lID0gTWF0aC5mbG9vcih0aW1lIC8gMTYpXHJcbiAgICAgICAgICAgIHJldHVybiAoYyA9PSAneCcgPyByYW5kb20gOiAocmFuZG9tICYgMHgzIHwgMHg4KSkudG9TdHJpbmcoMTYpXHJcbiAgICAgICAgfSlcclxuICAgIH0sXHJcblxyXG5cclxuICAgIC8qKiBSZXR1cm5zIHRydWUgaWYgdGhlIHZhbHVlIGlzIG51bGwgb3IgdW5kZWZpbmVkLCBmYWxzZSBvdGhlcndpc2UgKi9cclxuICAgIElzTnVsbDogPFQ+KHZhbHVlOiBUIHwgbnVsbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4gPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHJldHVybiB0cnVlO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0sXHJcblxyXG5cclxuICAgIC8qKiBSZXR1cm5zIHRydWUgaWYgdGhlIHZhbHVlIGlzIG5vdCBudWxsIG9yIHVuZGVmaW5lZCwgZmFsc2Ugb3RoZXJ3aXNlICovXHJcbiAgICBJc05vdE51bGw6IDxUPih2YWx1ZTogVCB8IG51bGwgfCB1bmRlZmluZWQpOiBib29sZWFuID0+IHtcclxuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSxcclxuXHJcblxyXG4gICAgLyoqIFJldHVybnMgdHJ1ZSBpZiB0aGUgdmFsdWUgaXMgbnVsbCBvciB1bmRlZmluZWQgb3IgY29udGFpbnMgb25seSB3aGl0ZXNwYWNlLCBmYWxzZSBvdGhlcndpc2UgKi9cclxuICAgIElzT25seVdoaXRlU3BhY2U6IDxUPih2YWx1ZTogVCB8IG51bGwgfCB1bmRlZmluZWQpOiBib29sZWFuID0+IHtcclxuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICBpZigodmFsdWUgYXMgc3RyaW5nKS50b1N0cmluZygpLnRyaW0oKSA9PT0gJycpIHJldHVybiB0cnVlO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0sXHJcblxyXG5cclxuICAgIC8qKiBCcmVhayByZWZlcmVuY2Ugb2YgYSBvYmplY3Qgb3IgYXJyYXkgKi9cclxuICAgIEJyZWFrUmVmZXJlbmNlOiA8VD4ob2JqZWN0OiBUKTogVCA9PiB7XHJcbiAgICAgICAgaWYgKG9iamVjdCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkIGFzIFQ7XHJcbiAgICAgICAgaWYgKG9iamVjdCA9PT0gbnVsbCkgcmV0dXJuIG51bGwgYXMgVDtcclxuICAgICAgICBjb25zdCBPQkpFQ1QgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9iamVjdCkpXHJcbiAgICAgICAgcmV0dXJuIChBcnJheS5pc0FycmF5KE9CSkVDVCkpID8gWy4uLk9CSkVDVF0gOiB7IC4uLk9CSkVDVCB9XHJcbiAgICB9LFxyXG5cclxuXHJcbiAgICAvKiogQ2xlYW4gZXh0cmEgd2hpdGVzcGFjZXMgKi9cclxuICAgIENsZWFuVXBCbGFua3M6ICh0ZXh0OiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcgPT4ge1xyXG4gICAgICAgIGlmKFRvb2xzLklzTnVsbCh0ZXh0KSkgcmV0dXJuICcnO1xyXG4gICAgICAgIGxldCB3b3JsZHM6IHN0cmluZ1tdID0gU3RyaW5nKHRleHQpLnNwbGl0KCcgJyk7XHJcbiAgICAgICAgd29ybGRzID0gd29ybGRzLmZpbHRlcih4ID0+IHgubGVuZ3RoID4gMCk7XHJcbiAgICAgICAgcmV0dXJuIHdvcmxkcy5qb2luKCcgJyk7XHJcbiAgICB9LFxyXG5cclxuXHJcbiAgICAvKiogR2V0IHByb3BlcnRpZXMgb2YgYW4gb2JqZWN0ICovXHJcbiAgICBHZXRPYmplY3RQcm9wZXJ0aWVzOiA8VD4ob2JqOiBUIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0cmluZ1tdID0+IHtcclxuICAgICAgICBjb25zdCBwcm9wZXJ0aWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICAgIGlmKFRvb2xzLklzTnVsbChvYmopKSByZXR1cm4gcHJvcGVydGllcztcclxuICAgICAgICBmb3IoY29uc3QgcHJvcGVydHkgaW4gb2JqKSBwcm9wZXJ0aWVzLnB1c2goU3RyaW5nKHByb3BlcnR5KSk7XHJcbiAgICAgICAgcmV0dXJuIHByb3BlcnRpZXM7XHJcbiAgICB9LFxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldCBhbiBpbmRleCBhbmQgbWVyZ2UgbW9yZSBhcnJheXMgb2YgdGhlIHNhbWUgdHlwZVxyXG4gICAgICogQHJldHVybnMgQSBuZXcgYXJyYXlcclxuICAgICAqICovXHJcbiAgICBTZXRJbmRleDogPFQ+KGFycmF5OiBUW10sIC4uLmFyZ3M6IFRbXVtdKTogVFtdID0+IHtcclxuICAgICAgICBsZXQgaW5kZXggPSAwO1xyXG4gICAgICAgIGZvciAoY29uc3QgYXJnIG9mIGFyZ3MpIHtcclxuICAgICAgICAgICAgYXJyYXkgPSBUb29scy5CcmVha1JlZmVyZW5jZShhcnJheSkuY29uY2F0KFRvb2xzLkJyZWFrUmVmZXJlbmNlKGFyZykpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIFRvb2xzLkJyZWFrUmVmZXJlbmNlKGFycmF5KS5tYXAoaXRlbSA9PiBPYmplY3QuYXNzaWduKHsgaW5kZXg6IGluZGV4KysgfSwgaXRlbSkpO1xyXG4gICAgfSxcclxuXHJcblxyXG4gICAgLyoqIFNldCBGaXJzdCBDaGFyIFRvIExvd2VyICovXHJcbiAgICBGaXJzdENoYXJUb0xvd2VyOiAodGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0cmluZyA9PiB7XHJcbiAgICAgICAgaWYgKFRvb2xzLklzTnVsbCh0ZXh0KSkgcmV0dXJuICcnO1xyXG5cclxuICAgICAgICBjb25zdCB0ZXh0QXJyYXk6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgZm9yKGxldCBpID0gMDsgaSA8IHRleHQhLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmKGkgPT09IDApIHRleHRBcnJheS5wdXNoKHRleHQhW2ldLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgICBlbHNlIHRleHRBcnJheS5wdXNoKHRleHQhW2ldKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0ZXh0QXJyYXkuam9pbignJyk7XHJcbiAgICB9LFxyXG5cclxuXHJcbiAgICAvKiogU2V0IEZpcnN0IENoYXIgVG8gVXBwZXIgKi9cclxuICAgIEZpcnN0Q2hhclRvVXBwZXI6ICh0ZXh0OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nID0+IHtcclxuICAgICAgICBpZiAoVG9vbHMuSXNOdWxsKHRleHQpKSByZXR1cm4gJyc7XHJcblxyXG4gICAgICAgIGNvbnN0IHRleHRBcnJheTogc3RyaW5nW10gPSBbXTtcclxuICAgICAgICBmb3IobGV0IGkgPSAwOyBpIDwgdGV4dCEubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYoaSA9PT0gMCkgdGV4dEFycmF5LnB1c2godGV4dCFbaV0udG9VcHBlckNhc2UoKSk7XHJcbiAgICAgICAgICAgIGVsc2UgdGV4dEFycmF5LnB1c2godGV4dCFbaV0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRleHRBcnJheS5qb2luKCcnKTtcclxuICAgIH0sXHJcblxyXG5cclxuICAgIC8qKiBTb3J0IGFuIGFycmF5IGluIGFzY2VuZGluZyBvcmRlciBieSBwcm9wZXJ0eSAqL1xyXG4gICAgU29ydEJ5OiA8VD4oYXJyYXk6IFRbXSwgcHJvcGVydHk6IHN0cmluZywgcHJvcGVydHlUeXBlOiAnc3RyaW5nJyB8ICdudW1iZXInID0gJ3N0cmluZycpOiBUW10gPT4ge1xyXG4gICAgICAgIHN3aXRjaCAocHJvcGVydHlUeXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ3N0cmluZyc6IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBhcnJheS5zb3J0KCh4OiBhbnksIHk6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChTdHJpbmcoeFtwcm9wZXJ0eV0pLnRvVXBwZXJDYXNlKCkudHJpbSgpIDwgU3RyaW5nKHlbcHJvcGVydHldKS50b1VwcGVyQ2FzZSgpLnRyaW0oKSkgcmV0dXJuIC0xO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKFN0cmluZyh4W3Byb3BlcnR5XSkudG9VcHBlckNhc2UoKS50cmltKCkgPiBTdHJpbmcoeVtwcm9wZXJ0eV0pLnRvVXBwZXJDYXNlKCkudHJpbSgpKSByZXR1cm4gMTtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIHJldHVybiAwO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNhc2UgJ251bWJlcic6IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBhcnJheS5zb3J0KCh4OiBhbnksIHk6IGFueSkgPT4gTnVtYmVyKHhbcHJvcGVydHldIC0gTnVtYmVyKHlbcHJvcGVydHldKSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcblxyXG4gICAgLyoqIFNvcnQgYW4gYXJyYXkgaW4gZGVzY2VuZGluZyBvcmRlciBieSBwcm9wZXJ0eSAqL1xyXG4gICAgU29ydEJ5RGVzYzogPFQ+KGFycmF5OiBUW10sIHByb3BlcnR5OiBzdHJpbmcsIHByb3BlcnR5VHlwZTogJ3N0cmluZycgfCAnbnVtYmVyJyA9ICdzdHJpbmcnKTogVFtdID0+IHtcclxuICAgICAgICBzd2l0Y2ggKHByb3BlcnR5VHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlICdzdHJpbmcnOiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYXJyYXkuc29ydCgoeDogYW55LCB5OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoU3RyaW5nKHhbcHJvcGVydHldKS50b1VwcGVyQ2FzZSgpLnRyaW0oKSA8IFN0cmluZyh5W3Byb3BlcnR5XSkudG9VcHBlckNhc2UoKS50cmltKCkpIHJldHVybiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKFN0cmluZyh4W3Byb3BlcnR5XSkudG9VcHBlckNhc2UoKS50cmltKCkgPiBTdHJpbmcoeVtwcm9wZXJ0eV0pLnRvVXBwZXJDYXNlKCkudHJpbSgpKSByZXR1cm4gLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSByZXR1cm4gMDtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjYXNlICdudW1iZXInOiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYXJyYXkuc29ydCgoeDogYW55LCB5OiBhbnkpID0+IE51bWJlcihOdW1iZXIoeVtwcm9wZXJ0eV0pKSAtIHhbcHJvcGVydHldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG5cclxuICAgIC8qKiBSZXR1cm4gYSBzdHJpbmcgd2l0aCBmb3JtYW4gbnVtZXJpYyAqL1xyXG4gICAgR2V0TnVtZXJpY0Zvcm1hdDogKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkLCBkZWNpbWFsczogbnVtYmVyID0gMCk6IHN0cmluZyA9PiB7XHJcbiAgICAgICAgaWYgKHZhbHVlID09IHVuZGVmaW5lZFxyXG4gICAgICAgICAgICB8fCB2YWx1ZSA9PSBudWxsXHJcbiAgICAgICAgICAgIHx8IHZhbHVlLnRvU3RyaW5nKCkudHJpbSgpID09ICcnXHJcbiAgICAgICAgICAgIHx8IGlzTmFOKE51bWJlcih2YWx1ZSkpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnMCc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgdmFsdWVJbnRlZ2VyID0gJyc7XHJcbiAgICAgICAgbGV0IHZhbHVlRGVjaW1hbCA9ICcnO1xyXG4gICAgICAgIHZhbHVlID0gdmFsdWUudG9TdHJpbmcoKS5yZXBsYWNlQWxsKCcgJywgJycpO1xyXG5cclxuICAgICAgICBpZiAodmFsdWUuaW5jbHVkZXMoJy4nKSB8fCAoZGVjaW1hbHMgPiAwKSkge1xyXG4gICAgICAgICAgICB2YWx1ZUludGVnZXIgPSB2YWx1ZS5pbmNsdWRlcygnLicpID8gdmFsdWUuc3BsaXQoJy4nKVswXSA6IHZhbHVlO1xyXG5cclxuICAgICAgICAgICAgaWYgKGRlY2ltYWxzID4gMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgUEFERElORyA9IGRlY2ltYWxzIC0gdmFsdWVEZWNpbWFsLmxlbmd0aDtcclxuICAgICAgICAgICAgICAgIHZhbHVlRGVjaW1hbCA9IHZhbHVlLmluY2x1ZGVzKCcuJykgPyB2YWx1ZS5zcGxpdCgnLicpWzFdIDogJyc7XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IGkgPSAwOyBpIDwgUEFERElORzsgaSsrKSB2YWx1ZURlY2ltYWwgKz0gJzAnO1xyXG4gICAgICAgICAgICAgICAgdmFsdWVEZWNpbWFsID0gdmFsdWVEZWNpbWFsLnN1YnN0cmluZygwLCBkZWNpbWFscyk7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZURlY2ltYWwgPSBgLiR7dmFsdWVEZWNpbWFsfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB2YWx1ZUludGVnZXIgPSB2YWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBjb3VudGVyID0gMDtcclxuICAgICAgICBjb25zdCBWQUxVRV9JTlRFR0VSX0FSUkFZOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICAgIGZvcihjb25zdCBjaGFyIG9mIHZhbHVlSW50ZWdlci5zcGxpdCgnJykucmV2ZXJzZSgpKSB7XHJcbiAgICAgICAgICAgIGlmIChjb3VudGVyID09IDMpIHtcclxuICAgICAgICAgICAgICAgIFZBTFVFX0lOVEVHRVJfQVJSQVkucHVzaCgnLCcpO1xyXG4gICAgICAgICAgICAgICAgY291bnRlciA9IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIFZBTFVFX0lOVEVHRVJfQVJSQVkucHVzaChjaGFyKTtcclxuICAgICAgICAgICAgKytjb3VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdmFsdWVJbnRlZ2VyID0gVkFMVUVfSU5URUdFUl9BUlJBWS5yZXZlcnNlKCkuam9pbignJyk7XHJcbiAgICAgICAgcmV0dXJuIGAke3ZhbHVlSW50ZWdlcn0ke3ZhbHVlRGVjaW1hbH1gO1xyXG4gICAgfSxcclxuXHJcblxyXG4gICAgLyoqIFdhaXQgdGhlIHRpbWUgaW5kaWNhdGVkICovXHJcbiAgICBTbGVlcDogKG1pbGxpc2Vjb25kczogbnVtYmVyID0gMCwgcmVmZXJlbmNlOiBzdHJpbmcgfCBudWxsID0gbnVsbCkgPT4ge1xyXG4gICAgICAgIGlmIChUb29scy5Jc051bGwocmVmZXJlbmNlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoUmVzb2x2ZSA9PiBzZXRUaW1lb3V0KFJlc29sdmUsIG1pbGxpc2Vjb25kcykpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZWxzZSByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oUmVzb2x2ZSA9PiB7XHJcbiAgICAgICAgICAgIHJlZmVyZW5jZSA9IHJlZmVyZW5jZSEucmVwbGFjZUFsbCgnICcsICdfJykudG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChyZWZlcmVuY2Vfc2lnbmFsKCkuaGFzT3duUHJvcGVydHkocmVmZXJlbmNlKSkge1xyXG4gICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChyZWZlcmVuY2Vfc2lnbmFsKClbcmVmZXJlbmNlIV0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZWZlcmVuY2Vfc2lnbmFsLnNldChPYmplY3QuYXNzaWduKHJlZmVyZW5jZV9zaWduYWwoKSwge1xyXG4gICAgICAgICAgICAgICAgW3JlZmVyZW5jZSFdOiBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBSZXNvbHZlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChyZWZlcmVuY2Vfc2lnbmFsKClbcmVmZXJlbmNlIV0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IF9yZWZlcmVuY2UgPSB7IC4uLnJlZmVyZW5jZV9zaWduYWwoKSB9O1xyXG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBfcmVmZXJlbmNlW3JlZmVyZW5jZSFdO1xyXG4gICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZV9zaWduYWwuc2V0KHsgLi4uX3JlZmVyZW5jZSB9KTtcclxuICAgICAgICAgICAgICAgIH0sIG1pbGxpc2Vjb25kcylcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59OyJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lci1lbGVtZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvZXItZWxlbWVudHMvY29lci1lbGVtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './src/components.module';
2
+ export * from './src/coer-alert/coer-alert.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2VyLWVsZW1lbnRzL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvY29tcG9uZW50cy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9jb2VyLWFsZXJ0L2NvZXItYWxlcnQuY29tcG9uZW50JzsiXX0=