turbogui-angular 11.0.2 → 12.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.
Files changed (74) hide show
  1. package/esm2022/main/controller/browser.service.mjs +48 -48
  2. package/esm2022/main/controller/dialog.service.mjs +327 -324
  3. package/esm2022/main/controller/globalerror.service.mjs +68 -68
  4. package/esm2022/main/controller/http.service.mjs +70 -70
  5. package/esm2022/main/controller/httpservice/HTTPServiceGetRequest.mjs +14 -14
  6. package/esm2022/main/controller/httpservice/HTTPServicePostRequest.mjs +14 -14
  7. package/esm2022/main/controller/localization.service.mjs +22 -22
  8. package/esm2022/main/controller/notification.service.mjs +56 -56
  9. package/esm2022/main/controller/user.service.mjs +124 -124
  10. package/esm2022/main/controller/views.service.mjs +113 -113
  11. package/esm2022/main/managers/DelayedMethodCallManager.mjs +69 -69
  12. package/esm2022/main/model/classes/GUINotification.mjs +31 -31
  13. package/esm2022/main/model/classes/View.mjs +33 -33
  14. package/esm2022/main/model/classes/ViewModel.mjs +13 -13
  15. package/esm2022/main/model/classes/ViewService.mjs +27 -27
  16. package/esm2022/main/model/modules/turbogui-angular.module.mjs +140 -140
  17. package/esm2022/main/view/animations/fade.animation.mjs +35 -35
  18. package/esm2022/main/view/components/busy-state-base/busy-state-base.component.mjs +38 -38
  19. package/esm2022/main/view/components/button-base/button-base.component.mjs +180 -180
  20. package/esm2022/main/view/components/button-container/button-container.component.mjs +34 -34
  21. package/esm2022/main/view/components/button-image/button-image.component.mjs +47 -47
  22. package/esm2022/main/view/components/dialog-base/dialog-base.component.mjs +13 -13
  23. package/esm2022/main/view/components/dialog-error/dialog-error.component.mjs +41 -41
  24. package/esm2022/main/view/components/dialog-multiple-option/dialog-multiple-option.component.mjs +38 -38
  25. package/esm2022/main/view/components/dialog-options-base/dialog-options-base.component.mjs +14 -14
  26. package/esm2022/main/view/components/dialog-single-option/dialog-single-option.component.mjs +41 -41
  27. package/esm2022/main/view/components/dialog-single-selection-list/dialog-single-selection-list.component.mjs +112 -112
  28. package/esm2022/main/view/components/dialog-two-option/dialog-two-option.component.mjs +42 -42
  29. package/esm2022/main/view/components/views-container/views-container.component.mjs +70 -70
  30. package/esm2022/main/view/directives/AutoFocusOnDisplayDirective.mjs +39 -39
  31. package/esm2022/main/view/directives/AutoSelectTextOnFocusDirective.mjs +39 -39
  32. package/esm2022/main/view/directives/ElementCreatedDirective.mjs +42 -42
  33. package/esm2022/main/view/directives/ElementDestroyedDirective.mjs +42 -42
  34. package/esm2022/public_api.mjs +43 -43
  35. package/esm2022/turbogui-angular.mjs +4 -4
  36. package/fesm2022/turbogui-angular.mjs +1865 -1862
  37. package/fesm2022/turbogui-angular.mjs.map +1 -1
  38. package/index.d.ts +5 -5
  39. package/main/controller/browser.service.d.ts +29 -29
  40. package/main/controller/dialog.service.d.ts +186 -184
  41. package/main/controller/dialog.service.d.ts.map +1 -1
  42. package/main/controller/globalerror.service.d.ts +54 -54
  43. package/main/controller/http.service.d.ts +37 -37
  44. package/main/controller/httpservice/HTTPServiceGetRequest.d.ts +14 -14
  45. package/main/controller/httpservice/HTTPServicePostRequest.d.ts +14 -14
  46. package/main/controller/localization.service.d.ts +9 -9
  47. package/main/controller/notification.service.d.ts +36 -36
  48. package/main/controller/user.service.d.ts +57 -57
  49. package/main/controller/views.service.d.ts +71 -71
  50. package/main/managers/DelayedMethodCallManager.d.ts +51 -51
  51. package/main/model/classes/GUINotification.d.ts +27 -27
  52. package/main/model/classes/View.d.ts +39 -39
  53. package/main/model/classes/ViewModel.d.ts +13 -13
  54. package/main/model/classes/ViewService.d.ts +26 -26
  55. package/main/model/modules/turbogui-angular.module.d.ts +28 -28
  56. package/main/view/animations/fade.animation.d.ts +16 -16
  57. package/main/view/components/busy-state-base/busy-state-base.component.d.ts +18 -18
  58. package/main/view/components/button-base/button-base.component.d.ts +94 -94
  59. package/main/view/components/button-container/button-container.component.d.ts +13 -13
  60. package/main/view/components/button-image/button-image.component.d.ts +31 -31
  61. package/main/view/components/dialog-base/dialog-base.component.d.ts +13 -13
  62. package/main/view/components/dialog-error/dialog-error.component.d.ts +13 -13
  63. package/main/view/components/dialog-multiple-option/dialog-multiple-option.component.d.ts +13 -13
  64. package/main/view/components/dialog-options-base/dialog-options-base.component.d.ts +14 -14
  65. package/main/view/components/dialog-single-option/dialog-single-option.component.d.ts +13 -13
  66. package/main/view/components/dialog-single-selection-list/dialog-single-selection-list.component.d.ts +62 -62
  67. package/main/view/components/dialog-two-option/dialog-two-option.component.d.ts +14 -14
  68. package/main/view/components/views-container/views-container.component.d.ts +45 -45
  69. package/main/view/directives/AutoFocusOnDisplayDirective.d.ts +20 -20
  70. package/main/view/directives/AutoSelectTextOnFocusDirective.d.ts +19 -19
  71. package/main/view/directives/ElementCreatedDirective.d.ts +23 -23
  72. package/main/view/directives/ElementDestroyedDirective.d.ts +23 -23
  73. package/package.json +6 -6
  74. package/public_api.d.ts +40 -40
@@ -1,68 +1,68 @@
1
- /**
2
- * TurboGUI is A library that helps with the most common and generic UI elements and functionalities
3
- *
4
- * Website : -> http://www.turbogui.org
5
- * License : -> Licensed under the Apache License, Version 2.0. You may not use this file except in compliance with the License.
6
- * License Url : -> http://www.apache.org/licenses/LICENSE-2.0
7
- * CopyRight : -> Copyright 2018 Edertone Advanded Solutions. https://www.edertone.com
8
- */
9
- import { Injectable } from '@angular/core';
10
- import * as i0 from "@angular/core";
11
- /**
12
- * Captures all the application exceptions and performs any required action.
13
- * It also contains multiple general error management features.
14
- *
15
- * To define this class as your application error handler, you must add the following to your
16
- * main app module providers:
17
- * {
18
- * provide: ErrorHandler,
19
- * useClass: GlobalErrorService
20
- * },
21
- * GlobalErrorService
22
- *
23
- * You cannot access the error handler at runtime. If you need to modify any of the behaviours
24
- * or implement your custom ones, you must extend this class and set your new one as the error
25
- * handler provider.
26
- */
27
- export class GlobalErrorService {
28
- constructor() {
29
- /**
30
- * Enables or disables the error notification to user via an alert box
31
- * Extend this class and override this value on your custom error handle to change it
32
- */
33
- this.showExceptionsToUser = true;
34
- /**
35
- * Enables or disables the error notification to user via an alert box
36
- * Extend this class and override this value on your custom error handle to change it
37
- */
38
- this.showExceptionsOnConsole = true;
39
- /**
40
- * Defines the text that will be used for the alert that is shown to the user when an exception happens
41
- * and showExceptionsToUser is true
42
- * Extend this class and override this value on your custom error handle to change it
43
- */
44
- this.errorAlertMessage = 'Application exception:\n\n';
45
- }
46
- /**
47
- * Show an alert with the received error detail and also log it to the js console.
48
- *
49
- * Angular expects at least this method to be implemented on any class that is used as a global exception handler.
50
- *
51
- * @param error An error instance
52
- */
53
- handleError(error) {
54
- if (this.showExceptionsToUser) {
55
- alert(this.errorAlertMessage + error);
56
- }
57
- if (this.showExceptionsOnConsole) {
58
- console.log(error);
59
- }
60
- throw error;
61
- }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GlobalErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
63
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GlobalErrorService }); }
64
- }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GlobalErrorService, decorators: [{
66
- type: Injectable
67
- }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsZXJyb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1cmJvZ3VpLWFuZ3VsYXIvc3JjL21haW4vY29udHJvbGxlci9nbG9iYWxlcnJvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7QUFHekQ7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsTUFBTSxPQUFPLGtCQUFrQjtJQUQvQjtRQUlJOzs7V0FHRztRQUNjLHlCQUFvQixHQUFHLElBQUksQ0FBQztRQUc3Qzs7O1dBR0c7UUFDYyw0QkFBdUIsR0FBRyxJQUFJLENBQUM7UUFHaEQ7Ozs7V0FJRztRQUNjLHNCQUFpQixHQUFHLDRCQUE0QixDQUFDO0tBd0JyRTtJQXJCRzs7Ozs7O09BTUc7SUFDSCxXQUFXLENBQUMsS0FBVTtRQUVsQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUUzQixLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixHQUFJLEtBQWdCLENBQUMsQ0FBQztTQUNyRDtRQUVELElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBRTlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEI7UUFFRCxNQUFNLEtBQUssQ0FBQztJQUNoQixDQUFDOytHQTdDUSxrQkFBa0I7bUhBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUdXJib0dVSSBpcyBBIGxpYnJhcnkgdGhhdCBoZWxwcyB3aXRoIHRoZSBtb3N0IGNvbW1vbiBhbmQgZ2VuZXJpYyBVSSBlbGVtZW50cyBhbmQgZnVuY3Rpb25hbGl0aWVzXHJcbiAqXHJcbiAqIFdlYnNpdGUgOiAtPiBodHRwOi8vd3d3LnR1cmJvZ3VpLm9yZ1xyXG4gKiBMaWNlbnNlIDogLT4gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMC4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxyXG4gKiBMaWNlbnNlIFVybCA6IC0+IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxyXG4gKiBDb3B5UmlnaHQgOiAtPiBDb3B5cmlnaHQgMjAxOCBFZGVydG9uZSBBZHZhbmRlZCBTb2x1dGlvbnMuIGh0dHBzOi8vd3d3LmVkZXJ0b25lLmNvbVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IEluamVjdGFibGUsIEVycm9ySGFuZGxlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBDYXB0dXJlcyBhbGwgdGhlIGFwcGxpY2F0aW9uIGV4Y2VwdGlvbnMgYW5kIHBlcmZvcm1zIGFueSByZXF1aXJlZCBhY3Rpb24uXHJcbiAqIEl0IGFsc28gY29udGFpbnMgbXVsdGlwbGUgZ2VuZXJhbCBlcnJvciBtYW5hZ2VtZW50IGZlYXR1cmVzLlxyXG4gKlxyXG4gKiBUbyBkZWZpbmUgdGhpcyBjbGFzcyBhcyB5b3VyIGFwcGxpY2F0aW9uIGVycm9yIGhhbmRsZXIsIHlvdSBtdXN0IGFkZCB0aGUgZm9sbG93aW5nIHRvIHlvdXJcclxuICogbWFpbiBhcHAgbW9kdWxlIHByb3ZpZGVyczpcclxuICogICAgICB7XHJcbiAqICAgICAgICAgIHByb3ZpZGU6IEVycm9ySGFuZGxlcixcclxuICogICAgICAgICAgdXNlQ2xhc3M6IEdsb2JhbEVycm9yU2VydmljZVxyXG4gKiAgICAgIH0sXHJcbiAqICAgICAgR2xvYmFsRXJyb3JTZXJ2aWNlXHJcbiAqXHJcbiAqIFlvdSBjYW5ub3QgYWNjZXNzIHRoZSBlcnJvciBoYW5kbGVyIGF0IHJ1bnRpbWUuIElmIHlvdSBuZWVkIHRvIG1vZGlmeSBhbnkgb2YgdGhlIGJlaGF2aW91cnNcclxuICogb3IgaW1wbGVtZW50IHlvdXIgY3VzdG9tIG9uZXMsIHlvdSBtdXN0IGV4dGVuZCB0aGlzIGNsYXNzIGFuZCBzZXQgeW91ciBuZXcgb25lIGFzIHRoZSBlcnJvclxyXG4gKiBoYW5kbGVyIHByb3ZpZGVyLlxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgR2xvYmFsRXJyb3JTZXJ2aWNlIGltcGxlbWVudHMgRXJyb3JIYW5kbGVyIHtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBlcnJvciBub3RpZmljYXRpb24gdG8gdXNlciB2aWEgYW4gYWxlcnQgYm94XHJcbiAgICAgKiBFeHRlbmQgdGhpcyBjbGFzcyBhbmQgb3ZlcnJpZGUgdGhpcyB2YWx1ZSBvbiB5b3VyIGN1c3RvbSBlcnJvciBoYW5kbGUgdG8gY2hhbmdlIGl0XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2hvd0V4Y2VwdGlvbnNUb1VzZXIgPSB0cnVlO1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIGVycm9yIG5vdGlmaWNhdGlvbiB0byB1c2VyIHZpYSBhbiBhbGVydCBib3hcclxuICAgICAqIEV4dGVuZCB0aGlzIGNsYXNzIGFuZCBvdmVycmlkZSB0aGlzIHZhbHVlIG9uIHlvdXIgY3VzdG9tIGVycm9yIGhhbmRsZSB0byBjaGFuZ2UgaXRcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzaG93RXhjZXB0aW9uc09uQ29uc29sZSA9IHRydWU7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVmaW5lcyB0aGUgdGV4dCB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgdGhlIGFsZXJ0IHRoYXQgaXMgc2hvd24gdG8gdGhlIHVzZXIgd2hlbiBhbiBleGNlcHRpb24gaGFwcGVuc1xyXG4gICAgICogYW5kIHNob3dFeGNlcHRpb25zVG9Vc2VyIGlzIHRydWVcclxuICAgICAqIEV4dGVuZCB0aGlzIGNsYXNzIGFuZCBvdmVycmlkZSB0aGlzIHZhbHVlIG9uIHlvdXIgY3VzdG9tIGVycm9yIGhhbmRsZSB0byBjaGFuZ2UgaXRcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBlcnJvckFsZXJ0TWVzc2FnZSA9ICdBcHBsaWNhdGlvbiBleGNlcHRpb246XFxuXFxuJztcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTaG93IGFuIGFsZXJ0IHdpdGggdGhlIHJlY2VpdmVkIGVycm9yIGRldGFpbCBhbmQgYWxzbyBsb2cgaXQgdG8gdGhlIGpzIGNvbnNvbGUuXHJcbiAgICAgKlxyXG4gICAgICogQW5ndWxhciBleHBlY3RzIGF0IGxlYXN0IHRoaXMgbWV0aG9kIHRvIGJlIGltcGxlbWVudGVkIG9uIGFueSBjbGFzcyB0aGF0IGlzIHVzZWQgYXMgYSBnbG9iYWwgZXhjZXB0aW9uIGhhbmRsZXIuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGVycm9yIEFuIGVycm9yIGluc3RhbmNlXHJcbiAgICAgKi9cclxuICAgIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpIHtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc2hvd0V4Y2VwdGlvbnNUb1VzZXIpIHtcclxuXHJcbiAgICAgICAgICAgIGFsZXJ0KHRoaXMuZXJyb3JBbGVydE1lc3NhZ2UgKyAoZXJyb3IgYXMgc3RyaW5nKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5zaG93RXhjZXB0aW9uc09uQ29uc29sZSkge1xyXG5cclxuICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICB9XHJcbn1cclxuIl19
1
+ /**
2
+ * TurboGUI is A library that helps with the most common and generic UI elements and functionalities
3
+ *
4
+ * Website : -> http://www.turbogui.org
5
+ * License : -> Licensed under the Apache License, Version 2.0. You may not use this file except in compliance with the License.
6
+ * License Url : -> http://www.apache.org/licenses/LICENSE-2.0
7
+ * CopyRight : -> Copyright 2018 Edertone Advanded Solutions. https://www.edertone.com
8
+ */
9
+ import { Injectable } from '@angular/core';
10
+ import * as i0 from "@angular/core";
11
+ /**
12
+ * Captures all the application exceptions and performs any required action.
13
+ * It also contains multiple general error management features.
14
+ *
15
+ * To define this class as your application error handler, you must add the following to your
16
+ * main app module providers:
17
+ * {
18
+ * provide: ErrorHandler,
19
+ * useClass: GlobalErrorService
20
+ * },
21
+ * GlobalErrorService
22
+ *
23
+ * You cannot access the error handler at runtime. If you need to modify any of the behaviours
24
+ * or implement your custom ones, you must extend this class and set your new one as the error
25
+ * handler provider.
26
+ */
27
+ export class GlobalErrorService {
28
+ constructor() {
29
+ /**
30
+ * Enables or disables the error notification to user via an alert box
31
+ * Extend this class and override this value on your custom error handle to change it
32
+ */
33
+ this.showExceptionsToUser = true;
34
+ /**
35
+ * Enables or disables the error notification to user via an alert box
36
+ * Extend this class and override this value on your custom error handle to change it
37
+ */
38
+ this.showExceptionsOnConsole = true;
39
+ /**
40
+ * Defines the text that will be used for the alert that is shown to the user when an exception happens
41
+ * and showExceptionsToUser is true
42
+ * Extend this class and override this value on your custom error handle to change it
43
+ */
44
+ this.errorAlertMessage = 'Application exception:\n\n';
45
+ }
46
+ /**
47
+ * Show an alert with the received error detail and also log it to the js console.
48
+ *
49
+ * Angular expects at least this method to be implemented on any class that is used as a global exception handler.
50
+ *
51
+ * @param error An error instance
52
+ */
53
+ handleError(error) {
54
+ if (this.showExceptionsToUser) {
55
+ alert(this.errorAlertMessage + error);
56
+ }
57
+ if (this.showExceptionsOnConsole) {
58
+ console.log(error);
59
+ }
60
+ throw error;
61
+ }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: GlobalErrorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
63
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: GlobalErrorService }); }
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: GlobalErrorService, decorators: [{
66
+ type: Injectable
67
+ }] });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsZXJyb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1cmJvZ3VpLWFuZ3VsYXIvc3JjL21haW4vY29udHJvbGxlci9nbG9iYWxlcnJvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7QUFHekQ7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsTUFBTSxPQUFPLGtCQUFrQjtJQUQvQjtRQUlJOzs7V0FHRztRQUNjLHlCQUFvQixHQUFHLElBQUksQ0FBQztRQUc3Qzs7O1dBR0c7UUFDYyw0QkFBdUIsR0FBRyxJQUFJLENBQUM7UUFHaEQ7Ozs7V0FJRztRQUNjLHNCQUFpQixHQUFHLDRCQUE0QixDQUFDO0tBd0JyRTtJQXJCRzs7Ozs7O09BTUc7SUFDSCxXQUFXLENBQUMsS0FBVTtRQUVsQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUUzQixLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixHQUFJLEtBQWdCLENBQUMsQ0FBQztTQUNyRDtRQUVELElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBRTlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEI7UUFFRCxNQUFNLEtBQUssQ0FBQztJQUNoQixDQUFDOzhHQTdDUSxrQkFBa0I7a0hBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUdXJib0dVSSBpcyBBIGxpYnJhcnkgdGhhdCBoZWxwcyB3aXRoIHRoZSBtb3N0IGNvbW1vbiBhbmQgZ2VuZXJpYyBVSSBlbGVtZW50cyBhbmQgZnVuY3Rpb25hbGl0aWVzXHJcbiAqXHJcbiAqIFdlYnNpdGUgOiAtPiBodHRwOi8vd3d3LnR1cmJvZ3VpLm9yZ1xyXG4gKiBMaWNlbnNlIDogLT4gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMC4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxyXG4gKiBMaWNlbnNlIFVybCA6IC0+IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxyXG4gKiBDb3B5UmlnaHQgOiAtPiBDb3B5cmlnaHQgMjAxOCBFZGVydG9uZSBBZHZhbmRlZCBTb2x1dGlvbnMuIGh0dHBzOi8vd3d3LmVkZXJ0b25lLmNvbVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IEluamVjdGFibGUsIEVycm9ySGFuZGxlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBDYXB0dXJlcyBhbGwgdGhlIGFwcGxpY2F0aW9uIGV4Y2VwdGlvbnMgYW5kIHBlcmZvcm1zIGFueSByZXF1aXJlZCBhY3Rpb24uXHJcbiAqIEl0IGFsc28gY29udGFpbnMgbXVsdGlwbGUgZ2VuZXJhbCBlcnJvciBtYW5hZ2VtZW50IGZlYXR1cmVzLlxyXG4gKlxyXG4gKiBUbyBkZWZpbmUgdGhpcyBjbGFzcyBhcyB5b3VyIGFwcGxpY2F0aW9uIGVycm9yIGhhbmRsZXIsIHlvdSBtdXN0IGFkZCB0aGUgZm9sbG93aW5nIHRvIHlvdXJcclxuICogbWFpbiBhcHAgbW9kdWxlIHByb3ZpZGVyczpcclxuICogICAgICB7XHJcbiAqICAgICAgICAgIHByb3ZpZGU6IEVycm9ySGFuZGxlcixcclxuICogICAgICAgICAgdXNlQ2xhc3M6IEdsb2JhbEVycm9yU2VydmljZVxyXG4gKiAgICAgIH0sXHJcbiAqICAgICAgR2xvYmFsRXJyb3JTZXJ2aWNlXHJcbiAqXHJcbiAqIFlvdSBjYW5ub3QgYWNjZXNzIHRoZSBlcnJvciBoYW5kbGVyIGF0IHJ1bnRpbWUuIElmIHlvdSBuZWVkIHRvIG1vZGlmeSBhbnkgb2YgdGhlIGJlaGF2aW91cnNcclxuICogb3IgaW1wbGVtZW50IHlvdXIgY3VzdG9tIG9uZXMsIHlvdSBtdXN0IGV4dGVuZCB0aGlzIGNsYXNzIGFuZCBzZXQgeW91ciBuZXcgb25lIGFzIHRoZSBlcnJvclxyXG4gKiBoYW5kbGVyIHByb3ZpZGVyLlxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgR2xvYmFsRXJyb3JTZXJ2aWNlIGltcGxlbWVudHMgRXJyb3JIYW5kbGVyIHtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBlcnJvciBub3RpZmljYXRpb24gdG8gdXNlciB2aWEgYW4gYWxlcnQgYm94XHJcbiAgICAgKiBFeHRlbmQgdGhpcyBjbGFzcyBhbmQgb3ZlcnJpZGUgdGhpcyB2YWx1ZSBvbiB5b3VyIGN1c3RvbSBlcnJvciBoYW5kbGUgdG8gY2hhbmdlIGl0XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2hvd0V4Y2VwdGlvbnNUb1VzZXIgPSB0cnVlO1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIGVycm9yIG5vdGlmaWNhdGlvbiB0byB1c2VyIHZpYSBhbiBhbGVydCBib3hcclxuICAgICAqIEV4dGVuZCB0aGlzIGNsYXNzIGFuZCBvdmVycmlkZSB0aGlzIHZhbHVlIG9uIHlvdXIgY3VzdG9tIGVycm9yIGhhbmRsZSB0byBjaGFuZ2UgaXRcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzaG93RXhjZXB0aW9uc09uQ29uc29sZSA9IHRydWU7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVmaW5lcyB0aGUgdGV4dCB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgdGhlIGFsZXJ0IHRoYXQgaXMgc2hvd24gdG8gdGhlIHVzZXIgd2hlbiBhbiBleGNlcHRpb24gaGFwcGVuc1xyXG4gICAgICogYW5kIHNob3dFeGNlcHRpb25zVG9Vc2VyIGlzIHRydWVcclxuICAgICAqIEV4dGVuZCB0aGlzIGNsYXNzIGFuZCBvdmVycmlkZSB0aGlzIHZhbHVlIG9uIHlvdXIgY3VzdG9tIGVycm9yIGhhbmRsZSB0byBjaGFuZ2UgaXRcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBlcnJvckFsZXJ0TWVzc2FnZSA9ICdBcHBsaWNhdGlvbiBleGNlcHRpb246XFxuXFxuJztcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTaG93IGFuIGFsZXJ0IHdpdGggdGhlIHJlY2VpdmVkIGVycm9yIGRldGFpbCBhbmQgYWxzbyBsb2cgaXQgdG8gdGhlIGpzIGNvbnNvbGUuXHJcbiAgICAgKlxyXG4gICAgICogQW5ndWxhciBleHBlY3RzIGF0IGxlYXN0IHRoaXMgbWV0aG9kIHRvIGJlIGltcGxlbWVudGVkIG9uIGFueSBjbGFzcyB0aGF0IGlzIHVzZWQgYXMgYSBnbG9iYWwgZXhjZXB0aW9uIGhhbmRsZXIuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGVycm9yIEFuIGVycm9yIGluc3RhbmNlXHJcbiAgICAgKi9cclxuICAgIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpIHtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc2hvd0V4Y2VwdGlvbnNUb1VzZXIpIHtcclxuXHJcbiAgICAgICAgICAgIGFsZXJ0KHRoaXMuZXJyb3JBbGVydE1lc3NhZ2UgKyAoZXJyb3IgYXMgc3RyaW5nKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5zaG93RXhjZXB0aW9uc09uQ29uc29sZSkge1xyXG5cclxuICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,70 +1,70 @@
1
- /**
2
- * TurboGUI is A library that helps with the most common and generic UI elements and functionalities
3
- *
4
- * Website : -> http://www.turbogui.org
5
- * License : -> Licensed under the Apache License, Version 2.0. You may not use this file except in compliance with the License.
6
- * License Url : -> http://www.apache.org/licenses/LICENSE-2.0
7
- * CopyRight : -> Copyright 2018 Edertone Advanded Solutions. https://www.edertone.com
8
- */
9
- import { Injectable } from '@angular/core';
10
- import { HTTPManager, StringUtils } from 'turbocommons-ts';
11
- import { DialogErrorComponent } from '../view/components/dialog-error/dialog-error.component';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "./dialog.service";
14
- /**
15
- * Manages application http communications
16
- */
17
- export class HTTPService extends HTTPManager {
18
- /**
19
- * execute() method option that tells the service to avoid blocking the user interface with a modal busy state while the requests that are
20
- * launched by the execute method are running.
21
- */
22
- static { this.NO_MODAL_BUSY_STATE = 'NO_MODAL_BUSY_STATE'; }
23
- /**
24
- * execute() method option that tells the service to skip showing an error dialog when a request fails. We normally use this to handle the
25
- * errors by ourselves or if we want to hide the error dialog for a specific request.
26
- */
27
- static { this.DISABLE_ERROR_HANDLING = 'DISABLE_ERROR_HANDLING'; }
28
- constructor(dialogService) {
29
- super(true);
30
- this.dialogService = dialogService;
31
- }
32
- /**
33
- * The same method as HTTPManager.execute but with the ability to enable several options which are specific to this service:
34
- *
35
- * - HTTPService.NO_MODAL_BUSY_STATE To prevent the default behaviour of locking the UI while the request is running
36
- * - HTTPService.DISABLE_ERROR_HANDLING To prevent the default behaviour of showing a detailed error dialog when a request fails
37
- *
38
- * @see HTTPManager.execute()
39
- */
40
- execute(requests, finishedCallback = null, progressCallback = null, options = []) {
41
- if (options.indexOf(HTTPService.NO_MODAL_BUSY_STATE) < 0) {
42
- this.dialogService.addModalBusyState();
43
- }
44
- super.execute(requests, (results, anyError) => {
45
- if (options.indexOf(HTTPService.NO_MODAL_BUSY_STATE) < 0) {
46
- this.dialogService.removeModalBusyState();
47
- }
48
- if ((options.indexOf(HTTPService.DISABLE_ERROR_HANDLING) < 0) && anyError) {
49
- for (let result of results) {
50
- if (result.isError) {
51
- let errorMsg = result.errorMsg + '\n\n' + result.response;
52
- if (StringUtils.isEmpty(errorMsg)) {
53
- errorMsg = 'Unknown error. Make sure Internet connection is available';
54
- }
55
- this.dialogService.addDialog('600px', ['Error: ' + result.code, errorMsg], ['Ok'], DialogErrorComponent);
56
- }
57
- }
58
- }
59
- if (finishedCallback !== null) {
60
- finishedCallback(results, anyError);
61
- }
62
- }, progressCallback);
63
- }
64
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HTTPService, deps: [{ token: i1.DialogService }], target: i0.ɵɵFactoryTarget.Injectable }); }
65
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HTTPService }); }
66
- }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HTTPService, decorators: [{
68
- type: Injectable
69
- }], ctorParameters: function () { return [{ type: i1.DialogService }]; } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVyYm9ndWktYW5ndWxhci9zcmMvbWFpbi9jb250cm9sbGVyL2h0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUEwQixXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3REFBd0QsQ0FBQzs7O0FBRzlGOztHQUVHO0FBRUgsTUFBTSxPQUFPLFdBQVksU0FBUSxXQUFXO0lBR3hDOzs7T0FHRzthQUNhLHdCQUFtQixHQUFHLHFCQUFxQixDQUFDO0lBRzVEOzs7T0FHRzthQUNhLDJCQUFzQixHQUFHLHdCQUF3QixDQUFDO0lBR2xFLFlBQW1CLGFBQTRCO1FBRTNDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUZHLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBRy9DLENBQUM7SUFHRDs7Ozs7OztPQU9HO0lBQ0gsT0FBTyxDQUFDLFFBQXlFLEVBQ3pFLG1CQUE4SSxJQUFJLEVBQ2xKLG1CQUFtRixJQUFJLEVBQ3ZGLFVBQWdHLEVBQUU7UUFFdEcsSUFBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsRUFBQztZQUVyRCxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDekM7UUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUUxQyxJQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxFQUFDO2dCQUVwRCxJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixFQUFFLENBQUM7YUFDN0M7WUFFRCxJQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUM7Z0JBRXJFLEtBQUksSUFBSSxNQUFNLElBQUksT0FBTyxFQUFDO29CQUV0QixJQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUM7d0JBRWQsSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsR0FBRyxNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQzt3QkFFMUQsSUFBRyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFDOzRCQUU3QixRQUFRLEdBQUcsMkRBQTJELENBQUM7eUJBQzFFO3dCQUVELElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztxQkFDNUc7aUJBQ0o7YUFDSjtZQUVELElBQUcsZ0JBQWdCLEtBQUssSUFBSSxFQUFDO2dCQUV6QixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDdkM7UUFFSixDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUMxQixDQUFDOytHQXhFUSxXQUFXO21IQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVHVyYm9HVUkgaXMgQSBsaWJyYXJ5IHRoYXQgaGVscHMgd2l0aCB0aGUgbW9zdCBjb21tb24gYW5kIGdlbmVyaWMgVUkgZWxlbWVudHMgYW5kIGZ1bmN0aW9uYWxpdGllc1xyXG4gKlxyXG4gKiBXZWJzaXRlIDogLT4gaHR0cDovL3d3dy50dXJib2d1aS5vcmdcclxuICogTGljZW5zZSA6IC0+IExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cclxuICogTGljZW5zZSBVcmwgOiAtPiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuICogQ29weVJpZ2h0IDogLT4gQ29weXJpZ2h0IDIwMTggRWRlcnRvbmUgQWR2YW5kZWQgU29sdXRpb25zLiBodHRwczovL3d3dy5lZGVydG9uZS5jb21cclxuICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEhUVFBNYW5hZ2VyLCBIVFRQTWFuYWdlckJhc2VSZXF1ZXN0LCBTdHJpbmdVdGlscyB9IGZyb20gJ3R1cmJvY29tbW9ucy10cyc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlhbG9nRXJyb3JDb21wb25lbnQgfSBmcm9tICcuLi92aWV3L2NvbXBvbmVudHMvZGlhbG9nLWVycm9yL2RpYWxvZy1lcnJvci5jb21wb25lbnQnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBNYW5hZ2VzIGFwcGxpY2F0aW9uIGh0dHAgY29tbXVuaWNhdGlvbnNcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEhUVFBTZXJ2aWNlIGV4dGVuZHMgSFRUUE1hbmFnZXIge1xyXG4gICAgXHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogZXhlY3V0ZSgpIG1ldGhvZCBvcHRpb24gdGhhdCB0ZWxscyB0aGUgc2VydmljZSB0byBhdm9pZCBibG9ja2luZyB0aGUgdXNlciBpbnRlcmZhY2Ugd2l0aCBhIG1vZGFsIGJ1c3kgc3RhdGUgd2hpbGUgdGhlIHJlcXVlc3RzIHRoYXQgYXJlXHJcbiAgICAgKiBsYXVuY2hlZCBieSB0aGUgZXhlY3V0ZSBtZXRob2QgYXJlIHJ1bm5pbmcuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyByZWFkb25seSBOT19NT0RBTF9CVVNZX1NUQVRFID0gJ05PX01PREFMX0JVU1lfU1RBVEUnO1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIGV4ZWN1dGUoKSBtZXRob2Qgb3B0aW9uIHRoYXQgdGVsbHMgdGhlIHNlcnZpY2UgdG8gc2tpcCBzaG93aW5nIGFuIGVycm9yIGRpYWxvZyB3aGVuIGEgcmVxdWVzdCBmYWlscy4gV2Ugbm9ybWFsbHkgdXNlIHRoaXMgdG8gaGFuZGxlIHRoZVxyXG4gICAgICogZXJyb3JzIGJ5IG91cnNlbHZlcyBvciBpZiB3ZSB3YW50IHRvIGhpZGUgdGhlIGVycm9yIGRpYWxvZyBmb3IgYSBzcGVjaWZpYyByZXF1ZXN0LlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgRElTQUJMRV9FUlJPUl9IQU5ETElORyA9ICdESVNBQkxFX0VSUk9SX0hBTkRMSU5HJztcclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UpIHtcclxuXHJcbiAgICAgICAgc3VwZXIodHJ1ZSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc2FtZSBtZXRob2QgYXMgSFRUUE1hbmFnZXIuZXhlY3V0ZSBidXQgd2l0aCB0aGUgYWJpbGl0eSB0byBlbmFibGUgc2V2ZXJhbCBvcHRpb25zIHdoaWNoIGFyZSBzcGVjaWZpYyB0byB0aGlzIHNlcnZpY2U6XHJcbiAgICAgKlxyXG4gICAgICogLSBIVFRQU2VydmljZS5OT19NT0RBTF9CVVNZX1NUQVRFIFRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYmVoYXZpb3VyIG9mIGxvY2tpbmcgdGhlIFVJIHdoaWxlIHRoZSByZXF1ZXN0IGlzIHJ1bm5pbmdcclxuICAgICAqIC0gSFRUUFNlcnZpY2UuRElTQUJMRV9FUlJPUl9IQU5ETElORyBUbyBwcmV2ZW50IHRoZSBkZWZhdWx0IGJlaGF2aW91ciBvZiBzaG93aW5nIGEgZGV0YWlsZWQgZXJyb3IgZGlhbG9nIHdoZW4gYSByZXF1ZXN0IGZhaWxzXHJcbiAgICAgKlxyXG4gICAgICogQHNlZSBIVFRQTWFuYWdlci5leGVjdXRlKClcclxuICAgICAqL1xyXG4gICAgZXhlY3V0ZShyZXF1ZXN0czogc3RyaW5nfHN0cmluZ1tdfEhUVFBNYW5hZ2VyQmFzZVJlcXVlc3R8SFRUUE1hbmFnZXJCYXNlUmVxdWVzdFtdLFxyXG4gICAgICAgICAgICBmaW5pc2hlZENhbGxiYWNrOiAoKHJlc3VsdHM6IHt1cmw6c3RyaW5nLCByZXNwb25zZTphbnksIGlzRXJyb3I6Ym9vbGVhbiwgZXJyb3JNc2c6c3RyaW5nLCBjb2RlOm51bWJlcn1bXSwgYW55RXJyb3I6Ym9vbGVhbikgPT4gdm9pZCkgfCBudWxsID0gbnVsbCxcclxuICAgICAgICAgICAgcHJvZ3Jlc3NDYWxsYmFjazogbnVsbCB8ICgoY29tcGxldGVkVXJsOiBzdHJpbmcsIHRvdGFsUmVxdWVzdHM6IG51bWJlcikgPT4gdm9pZCkgPSBudWxsLFxyXG4gICAgICAgICAgICBvcHRpb25zOiAodHlwZW9mIEhUVFBTZXJ2aWNlLk5PX01PREFMX0JVU1lfU1RBVEV8dHlwZW9mIEhUVFBTZXJ2aWNlLkRJU0FCTEVfRVJST1JfSEFORExJTkcpW10gPSBbXSl7XHJcbiAgICBcclxuICAgICAgICBpZihvcHRpb25zLmluZGV4T2YoSFRUUFNlcnZpY2UuTk9fTU9EQUxfQlVTWV9TVEFURSkgPCAwKXtcclxuICAgICAgICAgICBcclxuICAgICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuYWRkTW9kYWxCdXN5U3RhdGUoKTsgXHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgc3VwZXIuZXhlY3V0ZShyZXF1ZXN0cywgKHJlc3VsdHMsIGFueUVycm9yKSA9PiB7IFxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgaWYob3B0aW9ucy5pbmRleE9mKEhUVFBTZXJ2aWNlLk5PX01PREFMX0JVU1lfU1RBVEUpIDwgMCl7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5yZW1vdmVNb2RhbEJ1c3lTdGF0ZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZigob3B0aW9ucy5pbmRleE9mKEhUVFBTZXJ2aWNlLkRJU0FCTEVfRVJST1JfSEFORExJTkcpIDwgMCkgJiYgYW55RXJyb3Ipe1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IHJlc3VsdCBvZiByZXN1bHRzKXtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBpZihyZXN1bHQuaXNFcnJvcil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZXJyb3JNc2cgPSByZXN1bHQuZXJyb3JNc2cgKyAnXFxuXFxuJyArIHJlc3VsdC5yZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKFN0cmluZ1V0aWxzLmlzRW1wdHkoZXJyb3JNc2cpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvck1zZyA9ICdVbmtub3duIGVycm9yLiBNYWtlIHN1cmUgSW50ZXJuZXQgY29ubmVjdGlvbiBpcyBhdmFpbGFibGUnOyAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5hZGREaWFsb2coJzYwMHB4JywgWydFcnJvcjogJyArIHJlc3VsdC5jb2RlLCBlcnJvck1zZ10sIFsnT2snXSwgRGlhbG9nRXJyb3JDb21wb25lbnQpOyAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZihmaW5pc2hlZENhbGxiYWNrICE9PSBudWxsKXtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgZmluaXNoZWRDYWxsYmFjayhyZXN1bHRzLCBhbnlFcnJvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgIH0sIHByb2dyZXNzQ2FsbGJhY2spO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
1
+ /**
2
+ * TurboGUI is A library that helps with the most common and generic UI elements and functionalities
3
+ *
4
+ * Website : -> http://www.turbogui.org
5
+ * License : -> Licensed under the Apache License, Version 2.0. You may not use this file except in compliance with the License.
6
+ * License Url : -> http://www.apache.org/licenses/LICENSE-2.0
7
+ * CopyRight : -> Copyright 2018 Edertone Advanded Solutions. https://www.edertone.com
8
+ */
9
+ import { Injectable } from '@angular/core';
10
+ import { HTTPManager, StringUtils } from 'turbocommons-ts';
11
+ import { DialogErrorComponent } from '../view/components/dialog-error/dialog-error.component';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "./dialog.service";
14
+ /**
15
+ * Manages application http communications
16
+ */
17
+ export class HTTPService extends HTTPManager {
18
+ /**
19
+ * execute() method option that tells the service to avoid blocking the user interface with a modal busy state while the requests that are
20
+ * launched by the execute method are running.
21
+ */
22
+ static { this.NO_MODAL_BUSY_STATE = 'NO_MODAL_BUSY_STATE'; }
23
+ /**
24
+ * execute() method option that tells the service to skip showing an error dialog when a request fails. We normally use this to handle the
25
+ * errors by ourselves or if we want to hide the error dialog for a specific request.
26
+ */
27
+ static { this.DISABLE_ERROR_HANDLING = 'DISABLE_ERROR_HANDLING'; }
28
+ constructor(dialogService) {
29
+ super(true);
30
+ this.dialogService = dialogService;
31
+ }
32
+ /**
33
+ * The same method as HTTPManager.execute but with the ability to enable several options which are specific to this service:
34
+ *
35
+ * - HTTPService.NO_MODAL_BUSY_STATE To prevent the default behaviour of locking the UI while the request is running
36
+ * - HTTPService.DISABLE_ERROR_HANDLING To prevent the default behaviour of showing a detailed error dialog when a request fails
37
+ *
38
+ * @see HTTPManager.execute()
39
+ */
40
+ execute(requests, finishedCallback = null, progressCallback = null, options = []) {
41
+ if (options.indexOf(HTTPService.NO_MODAL_BUSY_STATE) < 0) {
42
+ this.dialogService.addModalBusyState();
43
+ }
44
+ super.execute(requests, (results, anyError) => {
45
+ if (options.indexOf(HTTPService.NO_MODAL_BUSY_STATE) < 0) {
46
+ this.dialogService.removeModalBusyState();
47
+ }
48
+ if ((options.indexOf(HTTPService.DISABLE_ERROR_HANDLING) < 0) && anyError) {
49
+ for (let result of results) {
50
+ if (result.isError) {
51
+ let errorMsg = result.errorMsg + '\n\n' + result.response;
52
+ if (StringUtils.isEmpty(errorMsg)) {
53
+ errorMsg = 'Unknown error. Make sure Internet connection is available';
54
+ }
55
+ this.dialogService.addDialog('600px', ['Error: ' + result.code, errorMsg], ['Ok'], DialogErrorComponent);
56
+ }
57
+ }
58
+ }
59
+ if (finishedCallback !== null) {
60
+ finishedCallback(results, anyError);
61
+ }
62
+ }, progressCallback);
63
+ }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: HTTPService, deps: [{ token: i1.DialogService }], target: i0.ɵɵFactoryTarget.Injectable }); }
65
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: HTTPService }); }
66
+ }
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: HTTPService, decorators: [{
68
+ type: Injectable
69
+ }], ctorParameters: () => [{ type: i1.DialogService }] });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVyYm9ndWktYW5ndWxhci9zcmMvbWFpbi9jb250cm9sbGVyL2h0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUEwQixXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3REFBd0QsQ0FBQzs7O0FBRzlGOztHQUVHO0FBRUgsTUFBTSxPQUFPLFdBQVksU0FBUSxXQUFXO0lBR3hDOzs7T0FHRzthQUNhLHdCQUFtQixHQUFHLHFCQUFxQixBQUF4QixDQUF5QjtJQUc1RDs7O09BR0c7YUFDYSwyQkFBc0IsR0FBRyx3QkFBd0IsQUFBM0IsQ0FBNEI7SUFHbEUsWUFBbUIsYUFBNEI7UUFFM0MsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRkcsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFHL0MsQ0FBQztJQUdEOzs7Ozs7O09BT0c7SUFDSCxPQUFPLENBQUMsUUFBeUUsRUFDekUsbUJBQThJLElBQUksRUFDbEosbUJBQW1GLElBQUksRUFDdkYsVUFBZ0csRUFBRTtRQUV0RyxJQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxFQUFDO1lBRXJELElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUN6QztRQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBRTFDLElBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEVBQUM7Z0JBRXBELElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUM3QztZQUVELElBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBQztnQkFFckUsS0FBSSxJQUFJLE1BQU0sSUFBSSxPQUFPLEVBQUM7b0JBRXRCLElBQUcsTUFBTSxDQUFDLE9BQU8sRUFBQzt3QkFFZCxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO3dCQUUxRCxJQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUM7NEJBRTdCLFFBQVEsR0FBRywyREFBMkQsQ0FBQzt5QkFDMUU7d0JBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO3FCQUM1RztpQkFDSjthQUNKO1lBRUQsSUFBRyxnQkFBZ0IsS0FBSyxJQUFJLEVBQUM7Z0JBRXpCLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQzthQUN2QztRQUVKLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFCLENBQUM7OEdBeEVRLFdBQVc7a0hBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUdXJib0dVSSBpcyBBIGxpYnJhcnkgdGhhdCBoZWxwcyB3aXRoIHRoZSBtb3N0IGNvbW1vbiBhbmQgZ2VuZXJpYyBVSSBlbGVtZW50cyBhbmQgZnVuY3Rpb25hbGl0aWVzXHJcbiAqXHJcbiAqIFdlYnNpdGUgOiAtPiBodHRwOi8vd3d3LnR1cmJvZ3VpLm9yZ1xyXG4gKiBMaWNlbnNlIDogLT4gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMC4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxyXG4gKiBMaWNlbnNlIFVybCA6IC0+IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxyXG4gKiBDb3B5UmlnaHQgOiAtPiBDb3B5cmlnaHQgMjAxOCBFZGVydG9uZSBBZHZhbmRlZCBTb2x1dGlvbnMuIGh0dHBzOi8vd3d3LmVkZXJ0b25lLmNvbVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSFRUUE1hbmFnZXIsIEhUVFBNYW5hZ2VyQmFzZVJlcXVlc3QsIFN0cmluZ1V0aWxzIH0gZnJvbSAndHVyYm9jb21tb25zLXRzJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4vZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaWFsb2dFcnJvckNvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXcvY29tcG9uZW50cy9kaWFsb2ctZXJyb3IvZGlhbG9nLWVycm9yLmNvbXBvbmVudCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIE1hbmFnZXMgYXBwbGljYXRpb24gaHR0cCBjb21tdW5pY2F0aW9uc1xyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSFRUUFNlcnZpY2UgZXh0ZW5kcyBIVFRQTWFuYWdlciB7XHJcbiAgICBcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBleGVjdXRlKCkgbWV0aG9kIG9wdGlvbiB0aGF0IHRlbGxzIHRoZSBzZXJ2aWNlIHRvIGF2b2lkIGJsb2NraW5nIHRoZSB1c2VyIGludGVyZmFjZSB3aXRoIGEgbW9kYWwgYnVzeSBzdGF0ZSB3aGlsZSB0aGUgcmVxdWVzdHMgdGhhdCBhcmVcclxuICAgICAqIGxhdW5jaGVkIGJ5IHRoZSBleGVjdXRlIG1ldGhvZCBhcmUgcnVubmluZy5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IE5PX01PREFMX0JVU1lfU1RBVEUgPSAnTk9fTU9EQUxfQlVTWV9TVEFURSc7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogZXhlY3V0ZSgpIG1ldGhvZCBvcHRpb24gdGhhdCB0ZWxscyB0aGUgc2VydmljZSB0byBza2lwIHNob3dpbmcgYW4gZXJyb3IgZGlhbG9nIHdoZW4gYSByZXF1ZXN0IGZhaWxzLiBXZSBub3JtYWxseSB1c2UgdGhpcyB0byBoYW5kbGUgdGhlXHJcbiAgICAgKiBlcnJvcnMgYnkgb3Vyc2VsdmVzIG9yIGlmIHdlIHdhbnQgdG8gaGlkZSB0aGUgZXJyb3IgZGlhbG9nIGZvciBhIHNwZWNpZmljIHJlcXVlc3QuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyByZWFkb25seSBESVNBQkxFX0VSUk9SX0hBTkRMSU5HID0gJ0RJU0FCTEVfRVJST1JfSEFORExJTkcnO1xyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSkge1xyXG5cclxuICAgICAgICBzdXBlcih0cnVlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzYW1lIG1ldGhvZCBhcyBIVFRQTWFuYWdlci5leGVjdXRlIGJ1dCB3aXRoIHRoZSBhYmlsaXR5IHRvIGVuYWJsZSBzZXZlcmFsIG9wdGlvbnMgd2hpY2ggYXJlIHNwZWNpZmljIHRvIHRoaXMgc2VydmljZTpcclxuICAgICAqXHJcbiAgICAgKiAtIEhUVFBTZXJ2aWNlLk5PX01PREFMX0JVU1lfU1RBVEUgVG8gcHJldmVudCB0aGUgZGVmYXVsdCBiZWhhdmlvdXIgb2YgbG9ja2luZyB0aGUgVUkgd2hpbGUgdGhlIHJlcXVlc3QgaXMgcnVubmluZ1xyXG4gICAgICogLSBIVFRQU2VydmljZS5ESVNBQkxFX0VSUk9SX0hBTkRMSU5HIFRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYmVoYXZpb3VyIG9mIHNob3dpbmcgYSBkZXRhaWxlZCBlcnJvciBkaWFsb2cgd2hlbiBhIHJlcXVlc3QgZmFpbHNcclxuICAgICAqXHJcbiAgICAgKiBAc2VlIEhUVFBNYW5hZ2VyLmV4ZWN1dGUoKVxyXG4gICAgICovXHJcbiAgICBleGVjdXRlKHJlcXVlc3RzOiBzdHJpbmd8c3RyaW5nW118SFRUUE1hbmFnZXJCYXNlUmVxdWVzdHxIVFRQTWFuYWdlckJhc2VSZXF1ZXN0W10sXHJcbiAgICAgICAgICAgIGZpbmlzaGVkQ2FsbGJhY2s6ICgocmVzdWx0czoge3VybDpzdHJpbmcsIHJlc3BvbnNlOmFueSwgaXNFcnJvcjpib29sZWFuLCBlcnJvck1zZzpzdHJpbmcsIGNvZGU6bnVtYmVyfVtdLCBhbnlFcnJvcjpib29sZWFuKSA9PiB2b2lkKSB8IG51bGwgPSBudWxsLFxyXG4gICAgICAgICAgICBwcm9ncmVzc0NhbGxiYWNrOiBudWxsIHwgKChjb21wbGV0ZWRVcmw6IHN0cmluZywgdG90YWxSZXF1ZXN0czogbnVtYmVyKSA9PiB2b2lkKSA9IG51bGwsXHJcbiAgICAgICAgICAgIG9wdGlvbnM6ICh0eXBlb2YgSFRUUFNlcnZpY2UuTk9fTU9EQUxfQlVTWV9TVEFURXx0eXBlb2YgSFRUUFNlcnZpY2UuRElTQUJMRV9FUlJPUl9IQU5ETElORylbXSA9IFtdKXtcclxuICAgIFxyXG4gICAgICAgIGlmKG9wdGlvbnMuaW5kZXhPZihIVFRQU2VydmljZS5OT19NT0RBTF9CVVNZX1NUQVRFKSA8IDApe1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5hZGRNb2RhbEJ1c3lTdGF0ZSgpOyBcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICBzdXBlci5leGVjdXRlKHJlcXVlc3RzLCAocmVzdWx0cywgYW55RXJyb3IpID0+IHsgXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZihvcHRpb25zLmluZGV4T2YoSFRUUFNlcnZpY2UuTk9fTU9EQUxfQlVTWV9TVEFURSkgPCAwKXtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnJlbW92ZU1vZGFsQnVzeVN0YXRlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmKChvcHRpb25zLmluZGV4T2YoSFRUUFNlcnZpY2UuRElTQUJMRV9FUlJPUl9IQU5ETElORykgPCAwKSAmJiBhbnlFcnJvcil7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGZvcihsZXQgcmVzdWx0IG9mIHJlc3VsdHMpe1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGlmKHJlc3VsdC5pc0Vycm9yKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBlcnJvck1zZyA9IHJlc3VsdC5lcnJvck1zZyArICdcXG5cXG4nICsgcmVzdWx0LnJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoU3RyaW5nVXRpbHMuaXNFbXB0eShlcnJvck1zZykpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yTXNnID0gJ1Vua25vd24gZXJyb3IuIE1ha2Ugc3VyZSBJbnRlcm5ldCBjb25uZWN0aW9uIGlzIGF2YWlsYWJsZSc7ICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmFkZERpYWxvZygnNjAwcHgnLCBbJ0Vycm9yOiAnICsgcmVzdWx0LmNvZGUsIGVycm9yTXNnXSwgWydPayddLCBEaWFsb2dFcnJvckNvbXBvbmVudCk7ICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmKGZpbmlzaGVkQ2FsbGJhY2sgIT09IG51bGwpe1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBmaW5pc2hlZENhbGxiYWNrKHJlc3VsdHMsIGFueUVycm9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgfSwgcHJvZ3Jlc3NDYWxsYmFjayk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,15 +1,15 @@
1
- /**
2
- * TurboGUI is A library that helps with the most common and generic UI elements and functionalities
3
- *
4
- * Website : -> http://www.turbogui.org
5
- * License : -> Licensed under the Apache License, Version 2.0. You may not use this file except in compliance with the License.
6
- * License Url : -> http://www.apache.org/licenses/LICENSE-2.0
7
- * CopyRight : -> Copyright 2018 Edertone Advanded Solutions. https://www.edertone.com
8
- */
9
- import { HTTPManagerGetRequest } from 'turbocommons-ts';
10
- /**
11
- * Class that defines a GET http request, to be used by HttpService
12
- */
13
- export class HTTPServiceGetRequest extends HTTPManagerGetRequest {
14
- }
1
+ /**
2
+ * TurboGUI is A library that helps with the most common and generic UI elements and functionalities
3
+ *
4
+ * Website : -> http://www.turbogui.org
5
+ * License : -> Licensed under the Apache License, Version 2.0. You may not use this file except in compliance with the License.
6
+ * License Url : -> http://www.apache.org/licenses/LICENSE-2.0
7
+ * CopyRight : -> Copyright 2018 Edertone Advanded Solutions. https://www.edertone.com
8
+ */
9
+ import { HTTPManagerGetRequest } from 'turbocommons-ts';
10
+ /**
11
+ * Class that defines a GET http request, to be used by HttpService
12
+ */
13
+ export class HTTPServiceGetRequest extends HTTPManagerGetRequest {
14
+ }
15
15
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUFNlcnZpY2VHZXRSZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVyYm9ndWktYW5ndWxhci9zcmMvbWFpbi9jb250cm9sbGVyL2h0dHBzZXJ2aWNlL0hUVFBTZXJ2aWNlR2V0UmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBR0gsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHeEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEscUJBQXFCO0NBQy9EIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFR1cmJvR1VJIGlzIEEgbGlicmFyeSB0aGF0IGhlbHBzIHdpdGggdGhlIG1vc3QgY29tbW9uIGFuZCBnZW5lcmljIFVJIGVsZW1lbnRzIGFuZCBmdW5jdGlvbmFsaXRpZXNcclxuICpcclxuICogV2Vic2l0ZSA6IC0+IGh0dHA6Ly93d3cudHVyYm9ndWkub3JnXHJcbiAqIExpY2Vuc2UgOiAtPiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXHJcbiAqIExpY2Vuc2UgVXJsIDogLT4gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXHJcbiAqIENvcHlSaWdodCA6IC0+IENvcHlyaWdodCAyMDE4IEVkZXJ0b25lIEFkdmFuZGVkIFNvbHV0aW9ucy4gaHR0cHM6Ly93d3cuZWRlcnRvbmUuY29tXHJcbiAqL1xyXG5cclxuXHJcbmltcG9ydCB7IEhUVFBNYW5hZ2VyR2V0UmVxdWVzdCB9IGZyb20gJ3R1cmJvY29tbW9ucy10cyc7XHJcblxyXG5cclxuLyoqXHJcbiAqIENsYXNzIHRoYXQgZGVmaW5lcyBhIEdFVCBodHRwIHJlcXVlc3QsIHRvIGJlIHVzZWQgYnkgSHR0cFNlcnZpY2VcclxuICovXHJcbmV4cG9ydCBjbGFzcyBIVFRQU2VydmljZUdldFJlcXVlc3QgZXh0ZW5kcyBIVFRQTWFuYWdlckdldFJlcXVlc3Qge1xyXG59XHJcbiJdfQ==
@@ -1,15 +1,15 @@
1
- /**
2
- * TurboGUI is A library that helps with the most common and generic UI elements and functionalities
3
- *
4
- * Website : -> http://www.turbogui.org
5
- * License : -> Licensed under the Apache License, Version 2.0. You may not use this file except in compliance with the License.
6
- * License Url : -> http://www.apache.org/licenses/LICENSE-2.0
7
- * CopyRight : -> Copyright 2018 Edertone Advanded Solutions. https://www.edertone.com
8
- */
9
- import { HTTPManagerPostRequest } from 'turbocommons-ts';
10
- /**
11
- * Class that defines a POST http request, to be used by HttpService
12
- */
13
- export class HTTPServicePostRequest extends HTTPManagerPostRequest {
14
- }
1
+ /**
2
+ * TurboGUI is A library that helps with the most common and generic UI elements and functionalities
3
+ *
4
+ * Website : -> http://www.turbogui.org
5
+ * License : -> Licensed under the Apache License, Version 2.0. You may not use this file except in compliance with the License.
6
+ * License Url : -> http://www.apache.org/licenses/LICENSE-2.0
7
+ * CopyRight : -> Copyright 2018 Edertone Advanded Solutions. https://www.edertone.com
8
+ */
9
+ import { HTTPManagerPostRequest } from 'turbocommons-ts';
10
+ /**
11
+ * Class that defines a POST http request, to be used by HttpService
12
+ */
13
+ export class HTTPServicePostRequest extends HTTPManagerPostRequest {
14
+ }
15
15
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUFNlcnZpY2VQb3N0UmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1cmJvZ3VpLWFuZ3VsYXIvc3JjL21haW4vY29udHJvbGxlci9odHRwc2VydmljZS9IVFRQU2VydmljZVBvc3RSZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFHSCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUd6RDs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxzQkFBc0I7Q0FDakUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVHVyYm9HVUkgaXMgQSBsaWJyYXJ5IHRoYXQgaGVscHMgd2l0aCB0aGUgbW9zdCBjb21tb24gYW5kIGdlbmVyaWMgVUkgZWxlbWVudHMgYW5kIGZ1bmN0aW9uYWxpdGllc1xyXG4gKlxyXG4gKiBXZWJzaXRlIDogLT4gaHR0cDovL3d3dy50dXJib2d1aS5vcmdcclxuICogTGljZW5zZSA6IC0+IExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cclxuICogTGljZW5zZSBVcmwgOiAtPiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuICogQ29weVJpZ2h0IDogLT4gQ29weXJpZ2h0IDIwMTggRWRlcnRvbmUgQWR2YW5kZWQgU29sdXRpb25zLiBodHRwczovL3d3dy5lZGVydG9uZS5jb21cclxuICovXHJcblxyXG5cclxuaW1wb3J0IHsgSFRUUE1hbmFnZXJQb3N0UmVxdWVzdCB9IGZyb20gJ3R1cmJvY29tbW9ucy10cyc7XHJcblxyXG5cclxuLyoqXHJcbiAqIENsYXNzIHRoYXQgZGVmaW5lcyBhIFBPU1QgaHR0cCByZXF1ZXN0LCB0byBiZSB1c2VkIGJ5IEh0dHBTZXJ2aWNlXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgSFRUUFNlcnZpY2VQb3N0UmVxdWVzdCBleHRlbmRzIEhUVFBNYW5hZ2VyUG9zdFJlcXVlc3Qge1xyXG59XHJcblxyXG4iXX0=
@@ -1,22 +1,22 @@
1
- /**
2
- * TurboGUI is A library that helps with the most common and generic UI elements and functionalities
3
- *
4
- * Website : -> http://www.turbogui.org
5
- * License : -> Licensed under the Apache License, Version 2.0. You may not use this file except in compliance with the License.
6
- * License Url : -> http://www.apache.org/licenses/LICENSE-2.0
7
- * CopyRight : -> Copyright 2018 Edertone Advanded Solutions. https://www.edertone.com
8
- */
9
- import { Injectable } from '@angular/core';
10
- import { LocalizationManager } from 'turbocommons-ts';
11
- import * as i0 from "@angular/core";
12
- /**
13
- * Manages application text translations and languages
14
- */
15
- export class LocalizationService extends LocalizationManager {
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
17
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizationService }); }
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizationService, decorators: [{
20
- type: Injectable
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXJib2d1aS1hbmd1bGFyL3NyYy9tYWluL2NvbnRyb2xsZXIvbG9jYWxpemF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBR3REOztHQUVHO0FBRUgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG1CQUFtQjsrR0FBL0MsbUJBQW1CO21IQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVHVyYm9HVUkgaXMgQSBsaWJyYXJ5IHRoYXQgaGVscHMgd2l0aCB0aGUgbW9zdCBjb21tb24gYW5kIGdlbmVyaWMgVUkgZWxlbWVudHMgYW5kIGZ1bmN0aW9uYWxpdGllc1xyXG4gKlxyXG4gKiBXZWJzaXRlIDogLT4gaHR0cDovL3d3dy50dXJib2d1aS5vcmdcclxuICogTGljZW5zZSA6IC0+IExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cclxuICogTGljZW5zZSBVcmwgOiAtPiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuICogQ29weVJpZ2h0IDogLT4gQ29weXJpZ2h0IDIwMTggRWRlcnRvbmUgQWR2YW5kZWQgU29sdXRpb25zLiBodHRwczovL3d3dy5lZGVydG9uZS5jb21cclxuICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvbk1hbmFnZXIgfSBmcm9tICd0dXJib2NvbW1vbnMtdHMnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBNYW5hZ2VzIGFwcGxpY2F0aW9uIHRleHQgdHJhbnNsYXRpb25zIGFuZCBsYW5ndWFnZXNcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIExvY2FsaXphdGlvblNlcnZpY2UgZXh0ZW5kcyBMb2NhbGl6YXRpb25NYW5hZ2VyIHtcclxuXHJcbn1cclxuIl19
1
+ /**
2
+ * TurboGUI is A library that helps with the most common and generic UI elements and functionalities
3
+ *
4
+ * Website : -> http://www.turbogui.org
5
+ * License : -> Licensed under the Apache License, Version 2.0. You may not use this file except in compliance with the License.
6
+ * License Url : -> http://www.apache.org/licenses/LICENSE-2.0
7
+ * CopyRight : -> Copyright 2018 Edertone Advanded Solutions. https://www.edertone.com
8
+ */
9
+ import { Injectable } from '@angular/core';
10
+ import { LocalizationManager } from 'turbocommons-ts';
11
+ import * as i0 from "@angular/core";
12
+ /**
13
+ * Manages application text translations and languages
14
+ */
15
+ export class LocalizationService extends LocalizationManager {
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LocalizationService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
17
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LocalizationService }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: LocalizationService, decorators: [{
20
+ type: Injectable
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXJib2d1aS1hbmd1bGFyL3NyYy9tYWluL2NvbnRyb2xsZXIvbG9jYWxpemF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBR3REOztHQUVHO0FBRUgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG1CQUFtQjs4R0FBL0MsbUJBQW1CO2tIQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVHVyYm9HVUkgaXMgQSBsaWJyYXJ5IHRoYXQgaGVscHMgd2l0aCB0aGUgbW9zdCBjb21tb24gYW5kIGdlbmVyaWMgVUkgZWxlbWVudHMgYW5kIGZ1bmN0aW9uYWxpdGllc1xyXG4gKlxyXG4gKiBXZWJzaXRlIDogLT4gaHR0cDovL3d3dy50dXJib2d1aS5vcmdcclxuICogTGljZW5zZSA6IC0+IExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cclxuICogTGljZW5zZSBVcmwgOiAtPiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuICogQ29weVJpZ2h0IDogLT4gQ29weXJpZ2h0IDIwMTggRWRlcnRvbmUgQWR2YW5kZWQgU29sdXRpb25zLiBodHRwczovL3d3dy5lZGVydG9uZS5jb21cclxuICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvbk1hbmFnZXIgfSBmcm9tICd0dXJib2NvbW1vbnMtdHMnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBNYW5hZ2VzIGFwcGxpY2F0aW9uIHRleHQgdHJhbnNsYXRpb25zIGFuZCBsYW5ndWFnZXNcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIExvY2FsaXphdGlvblNlcnZpY2UgZXh0ZW5kcyBMb2NhbGl6YXRpb25NYW5hZ2VyIHtcclxuXHJcbn1cclxuIl19
@@ -1,56 +1,56 @@
1
- /**
2
- * TurboGUI is A library that helps with the most common and generic UI elements and functionalities
3
- *
4
- * Website : -> http://www.turbogui.org
5
- * License : -> Licensed under the Apache License, Version 2.0. You may not use this file except in compliance with the License.
6
- * License Url : -> http://www.apache.org/licenses/LICENSE-2.0
7
- * CopyRight : -> Copyright 2018 Edertone Advanded Solutions. https://www.edertone.com
8
- */
9
- import { Injectable } from '@angular/core';
10
- import { Subject } from 'rxjs';
11
- import * as i0 from "@angular/core";
12
- /**
13
- * This is the main application event bus.
14
- * All global events that happen on the application are broadcasted by this service, and
15
- * can be listened by any application element who previously subscribed
16
- */
17
- export class NotificationService {
18
- constructor() {
19
- /**
20
- * The Observable instance that handles subscriptions and notifications
21
- */
22
- this._notifications = new Subject();
23
- }
24
- /**
25
- * used by other services or components to subscribe to all notifications that are generated by this service
26
- *
27
- * @param notificationHandler A method that will be used to receive each notification as a GUINotification instance
28
- *
29
- * @returns The new subscription object. Make sure to unsubscribe when not required anymore
30
- */
31
- subscribe(notificationHandler) {
32
- return this._notifications.subscribe(notificationHandler);
33
- }
34
- /**
35
- * Launch a notification to anyone who may be listening
36
- *
37
- * @param notification A notification instance to launch
38
- */
39
- send(notification) {
40
- this._notifications.next(notification);
41
- }
42
- /**
43
- * End a previously initiated subscription
44
- *
45
- * @param subscription A previously created subscription instance from which we want to unsubscribe
46
- */
47
- unsubscribe(subscription) {
48
- return subscription.unsubscribe();
49
- }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
51
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService }); }
52
- }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, decorators: [{
54
- type: Injectable
55
- }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXJib2d1aS1hbmd1bGFyL3NyYy9tYWluL2NvbnRyb2xsZXIvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7O0FBSTdDOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBSUk7O1dBRUc7UUFDYyxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFtQixDQUFDO0tBb0NwRTtJQWpDRzs7Ozs7O09BTUc7SUFDSCxTQUFTLENBQUMsbUJBQTJEO1FBRWpFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBR0Q7Ozs7T0FJRztJQUNILElBQUksQ0FBQyxZQUE2QjtRQUU5QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBR0Q7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxZQUEwQjtRQUVsQyxPQUFPLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QyxDQUFDOytHQXpDUSxtQkFBbUI7bUhBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUdXJib0dVSSBpcyBBIGxpYnJhcnkgdGhhdCBoZWxwcyB3aXRoIHRoZSBtb3N0IGNvbW1vbiBhbmQgZ2VuZXJpYyBVSSBlbGVtZW50cyBhbmQgZnVuY3Rpb25hbGl0aWVzXHJcbiAqXHJcbiAqIFdlYnNpdGUgOiAtPiBodHRwOi8vd3d3LnR1cmJvZ3VpLm9yZ1xyXG4gKiBMaWNlbnNlIDogLT4gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMC4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxyXG4gKiBMaWNlbnNlIFVybCA6IC0+IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxyXG4gKiBDb3B5UmlnaHQgOiAtPiBDb3B5cmlnaHQgMjAxOCBFZGVydG9uZSBBZHZhbmRlZCBTb2x1dGlvbnMuIGh0dHBzOi8vd3d3LmVkZXJ0b25lLmNvbVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEdVSU5vdGlmaWNhdGlvbiB9IGZyb20gJy4uL21vZGVsL2NsYXNzZXMvR1VJTm90aWZpY2F0aW9uJztcclxuXHJcblxyXG4vKipcclxuICogVGhpcyBpcyB0aGUgbWFpbiBhcHBsaWNhdGlvbiBldmVudCBidXMuXHJcbiAqIEFsbCBnbG9iYWwgZXZlbnRzIHRoYXQgaGFwcGVuIG9uIHRoZSBhcHBsaWNhdGlvbiBhcmUgYnJvYWRjYXN0ZWQgYnkgdGhpcyBzZXJ2aWNlLCBhbmRcclxuICogY2FuIGJlIGxpc3RlbmVkIGJ5IGFueSBhcHBsaWNhdGlvbiBlbGVtZW50IHdobyBwcmV2aW91c2x5IHN1YnNjcmliZWRcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvblNlcnZpY2Uge1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBPYnNlcnZhYmxlIGluc3RhbmNlIHRoYXQgaGFuZGxlcyBzdWJzY3JpcHRpb25zIGFuZCBub3RpZmljYXRpb25zXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX25vdGlmaWNhdGlvbnMgPSBuZXcgU3ViamVjdDxHVUlOb3RpZmljYXRpb24+KCk7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdXNlZCBieSBvdGhlciBzZXJ2aWNlcyBvciBjb21wb25lbnRzIHRvIHN1YnNjcmliZSB0byBhbGwgbm90aWZpY2F0aW9ucyB0aGF0IGFyZSBnZW5lcmF0ZWQgYnkgdGhpcyBzZXJ2aWNlXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIG5vdGlmaWNhdGlvbkhhbmRsZXIgQSBtZXRob2QgdGhhdCB3aWxsIGJlIHVzZWQgdG8gcmVjZWl2ZSBlYWNoIG5vdGlmaWNhdGlvbiBhcyBhIEdVSU5vdGlmaWNhdGlvbiBpbnN0YW5jZVxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIFRoZSBuZXcgc3Vic2NyaXB0aW9uIG9iamVjdC4gTWFrZSBzdXJlIHRvIHVuc3Vic2NyaWJlIHdoZW4gbm90IHJlcXVpcmVkIGFueW1vcmVcclxuICAgICAqL1xyXG4gICAgc3Vic2NyaWJlKG5vdGlmaWNhdGlvbkhhbmRsZXI6IChub3RpZmljYXRpb246IEdVSU5vdGlmaWNhdGlvbikgPT4gYW55KSB7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9ub3RpZmljYXRpb25zLnN1YnNjcmliZShub3RpZmljYXRpb25IYW5kbGVyKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBMYXVuY2ggYSBub3RpZmljYXRpb24gdG8gYW55b25lIHdobyBtYXkgYmUgbGlzdGVuaW5nXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIG5vdGlmaWNhdGlvbiBBIG5vdGlmaWNhdGlvbiBpbnN0YW5jZSB0byBsYXVuY2hcclxuICAgICAqL1xyXG4gICAgc2VuZChub3RpZmljYXRpb246IEdVSU5vdGlmaWNhdGlvbikge1xyXG5cclxuICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25zLm5leHQobm90aWZpY2F0aW9uKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFbmQgYSBwcmV2aW91c2x5IGluaXRpYXRlZCBzdWJzY3JpcHRpb25cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gc3Vic2NyaXB0aW9uIEEgcHJldmlvdXNseSBjcmVhdGVkIHN1YnNjcmlwdGlvbiBpbnN0YW5jZSBmcm9tIHdoaWNoIHdlIHdhbnQgdG8gdW5zdWJzY3JpYmVcclxuICAgICAqL1xyXG4gICAgdW5zdWJzY3JpYmUoc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24pIHtcclxuXHJcbiAgICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
1
+ /**
2
+ * TurboGUI is A library that helps with the most common and generic UI elements and functionalities
3
+ *
4
+ * Website : -> http://www.turbogui.org
5
+ * License : -> Licensed under the Apache License, Version 2.0. You may not use this file except in compliance with the License.
6
+ * License Url : -> http://www.apache.org/licenses/LICENSE-2.0
7
+ * CopyRight : -> Copyright 2018 Edertone Advanded Solutions. https://www.edertone.com
8
+ */
9
+ import { Injectable } from '@angular/core';
10
+ import { Subject } from 'rxjs';
11
+ import * as i0 from "@angular/core";
12
+ /**
13
+ * This is the main application event bus.
14
+ * All global events that happen on the application are broadcasted by this service, and
15
+ * can be listened by any application element who previously subscribed
16
+ */
17
+ export class NotificationService {
18
+ constructor() {
19
+ /**
20
+ * The Observable instance that handles subscriptions and notifications
21
+ */
22
+ this._notifications = new Subject();
23
+ }
24
+ /**
25
+ * used by other services or components to subscribe to all notifications that are generated by this service
26
+ *
27
+ * @param notificationHandler A method that will be used to receive each notification as a GUINotification instance
28
+ *
29
+ * @returns The new subscription object. Make sure to unsubscribe when not required anymore
30
+ */
31
+ subscribe(notificationHandler) {
32
+ return this._notifications.subscribe(notificationHandler);
33
+ }
34
+ /**
35
+ * Launch a notification to anyone who may be listening
36
+ *
37
+ * @param notification A notification instance to launch
38
+ */
39
+ send(notification) {
40
+ this._notifications.next(notification);
41
+ }
42
+ /**
43
+ * End a previously initiated subscription
44
+ *
45
+ * @param subscription A previously created subscription instance from which we want to unsubscribe
46
+ */
47
+ unsubscribe(subscription) {
48
+ return subscription.unsubscribe();
49
+ }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
51
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NotificationService }); }
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: NotificationService, decorators: [{
54
+ type: Injectable
55
+ }] });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXJib2d1aS1hbmd1bGFyL3NyYy9tYWluL2NvbnRyb2xsZXIvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7O0FBSTdDOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBSUk7O1dBRUc7UUFDYyxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFtQixDQUFDO0tBb0NwRTtJQWpDRzs7Ozs7O09BTUc7SUFDSCxTQUFTLENBQUMsbUJBQTJEO1FBRWpFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBR0Q7Ozs7T0FJRztJQUNILElBQUksQ0FBQyxZQUE2QjtRQUU5QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBR0Q7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxZQUEwQjtRQUVsQyxPQUFPLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QyxDQUFDOzhHQXpDUSxtQkFBbUI7a0hBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUdXJib0dVSSBpcyBBIGxpYnJhcnkgdGhhdCBoZWxwcyB3aXRoIHRoZSBtb3N0IGNvbW1vbiBhbmQgZ2VuZXJpYyBVSSBlbGVtZW50cyBhbmQgZnVuY3Rpb25hbGl0aWVzXHJcbiAqXHJcbiAqIFdlYnNpdGUgOiAtPiBodHRwOi8vd3d3LnR1cmJvZ3VpLm9yZ1xyXG4gKiBMaWNlbnNlIDogLT4gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMC4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxyXG4gKiBMaWNlbnNlIFVybCA6IC0+IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxyXG4gKiBDb3B5UmlnaHQgOiAtPiBDb3B5cmlnaHQgMjAxOCBFZGVydG9uZSBBZHZhbmRlZCBTb2x1dGlvbnMuIGh0dHBzOi8vd3d3LmVkZXJ0b25lLmNvbVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEdVSU5vdGlmaWNhdGlvbiB9IGZyb20gJy4uL21vZGVsL2NsYXNzZXMvR1VJTm90aWZpY2F0aW9uJztcclxuXHJcblxyXG4vKipcclxuICogVGhpcyBpcyB0aGUgbWFpbiBhcHBsaWNhdGlvbiBldmVudCBidXMuXHJcbiAqIEFsbCBnbG9iYWwgZXZlbnRzIHRoYXQgaGFwcGVuIG9uIHRoZSBhcHBsaWNhdGlvbiBhcmUgYnJvYWRjYXN0ZWQgYnkgdGhpcyBzZXJ2aWNlLCBhbmRcclxuICogY2FuIGJlIGxpc3RlbmVkIGJ5IGFueSBhcHBsaWNhdGlvbiBlbGVtZW50IHdobyBwcmV2aW91c2x5IHN1YnNjcmliZWRcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvblNlcnZpY2Uge1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBPYnNlcnZhYmxlIGluc3RhbmNlIHRoYXQgaGFuZGxlcyBzdWJzY3JpcHRpb25zIGFuZCBub3RpZmljYXRpb25zXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX25vdGlmaWNhdGlvbnMgPSBuZXcgU3ViamVjdDxHVUlOb3RpZmljYXRpb24+KCk7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogdXNlZCBieSBvdGhlciBzZXJ2aWNlcyBvciBjb21wb25lbnRzIHRvIHN1YnNjcmliZSB0byBhbGwgbm90aWZpY2F0aW9ucyB0aGF0IGFyZSBnZW5lcmF0ZWQgYnkgdGhpcyBzZXJ2aWNlXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIG5vdGlmaWNhdGlvbkhhbmRsZXIgQSBtZXRob2QgdGhhdCB3aWxsIGJlIHVzZWQgdG8gcmVjZWl2ZSBlYWNoIG5vdGlmaWNhdGlvbiBhcyBhIEdVSU5vdGlmaWNhdGlvbiBpbnN0YW5jZVxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIFRoZSBuZXcgc3Vic2NyaXB0aW9uIG9iamVjdC4gTWFrZSBzdXJlIHRvIHVuc3Vic2NyaWJlIHdoZW4gbm90IHJlcXVpcmVkIGFueW1vcmVcclxuICAgICAqL1xyXG4gICAgc3Vic2NyaWJlKG5vdGlmaWNhdGlvbkhhbmRsZXI6IChub3RpZmljYXRpb246IEdVSU5vdGlmaWNhdGlvbikgPT4gYW55KSB7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9ub3RpZmljYXRpb25zLnN1YnNjcmliZShub3RpZmljYXRpb25IYW5kbGVyKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBMYXVuY2ggYSBub3RpZmljYXRpb24gdG8gYW55b25lIHdobyBtYXkgYmUgbGlzdGVuaW5nXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIG5vdGlmaWNhdGlvbiBBIG5vdGlmaWNhdGlvbiBpbnN0YW5jZSB0byBsYXVuY2hcclxuICAgICAqL1xyXG4gICAgc2VuZChub3RpZmljYXRpb246IEdVSU5vdGlmaWNhdGlvbikge1xyXG5cclxuICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25zLm5leHQobm90aWZpY2F0aW9uKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFbmQgYSBwcmV2aW91c2x5IGluaXRpYXRlZCBzdWJzY3JpcHRpb25cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gc3Vic2NyaXB0aW9uIEEgcHJldmlvdXNseSBjcmVhdGVkIHN1YnNjcmlwdGlvbiBpbnN0YW5jZSBmcm9tIHdoaWNoIHdlIHdhbnQgdG8gdW5zdWJzY3JpYmVcclxuICAgICAqL1xyXG4gICAgdW5zdWJzY3JpYmUoc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24pIHtcclxuXHJcbiAgICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==