turbogui-angular 6.1.0 → 8.0.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 (153) hide show
  1. package/README.md +2 -2
  2. package/esm2020/main/controller/browser.service.mjs +48 -0
  3. package/esm2020/main/controller/dialog.service.mjs +324 -0
  4. package/esm2020/main/controller/globalerror.service.mjs +68 -0
  5. package/esm2020/main/controller/http.service.mjs +70 -0
  6. package/esm2020/main/controller/localization.service.mjs +22 -0
  7. package/esm2020/main/controller/notification.service.mjs +56 -0
  8. package/esm2020/main/controller/user.service.mjs +124 -0
  9. package/esm2020/main/controller/views.service.mjs +113 -0
  10. package/esm2020/main/model/modules/turbogui-angular.module.mjs +142 -0
  11. package/esm2020/main/view/animations/fade.animation.mjs +35 -0
  12. package/esm2020/main/view/components/busy-state-base/busy-state-base.component.mjs +38 -0
  13. package/esm2020/main/view/components/button-base/button-base.component.mjs +180 -0
  14. package/esm2020/main/view/components/button-container/button-container.component.mjs +34 -0
  15. package/esm2020/main/view/components/button-image/button-image.component.mjs +47 -0
  16. package/esm2020/main/view/components/dialog-error/dialog-error.component.mjs +41 -0
  17. package/esm2020/main/view/components/dialog-multiple-option/dialog-multiple-option.component.mjs +38 -0
  18. package/esm2020/main/view/components/dialog-single-option/dialog-single-option.component.mjs +41 -0
  19. package/esm2020/main/view/components/dialog-single-selection-list/dialog-single-selection-list.component.mjs +112 -0
  20. package/esm2020/main/view/components/dialog-two-option/dialog-two-option.component.mjs +42 -0
  21. package/{esm2015/main/view/components/views-container/views-container.component.js → esm2020/main/view/components/views-container/views-container.component.mjs} +15 -13
  22. package/esm2020/main/view/directives/AutoFocusOnDisplayDirective.mjs +39 -0
  23. package/esm2020/main/view/directives/AutoSelectTextOnFocusDirective.mjs +39 -0
  24. package/esm2020/main/view/directives/ElementCreatedDirective.mjs +42 -0
  25. package/esm2020/main/view/directives/ElementDestroyedDirective.mjs +42 -0
  26. package/{esm2015/public_api.js → esm2020/public_api.mjs} +1 -1
  27. package/esm2020/turbogui-angular.mjs +5 -0
  28. package/fesm2015/turbogui-angular.mjs +1953 -0
  29. package/fesm2015/turbogui-angular.mjs.map +1 -0
  30. package/{fesm2015/turbogui-angular.js → fesm2020/turbogui-angular.mjs} +432 -306
  31. package/fesm2020/turbogui-angular.mjs.map +1 -0
  32. package/main/controller/browser.service.d.ts +3 -8
  33. package/main/controller/browser.service.d.ts.map +1 -1
  34. package/main/controller/dialog.service.d.ts +7 -8
  35. package/main/controller/dialog.service.d.ts.map +1 -1
  36. package/main/controller/globalerror.service.d.ts +3 -0
  37. package/main/controller/globalerror.service.d.ts.map +1 -1
  38. package/main/controller/http.service.d.ts +3 -8
  39. package/main/controller/http.service.d.ts.map +1 -1
  40. package/main/controller/localization.service.d.ts +3 -8
  41. package/main/controller/localization.service.d.ts.map +1 -1
  42. package/main/controller/notification.service.d.ts +3 -8
  43. package/main/controller/notification.service.d.ts.map +1 -1
  44. package/main/controller/user.service.d.ts +3 -8
  45. package/main/controller/user.service.d.ts.map +1 -1
  46. package/main/controller/views.service.d.ts +3 -0
  47. package/main/controller/views.service.d.ts.map +1 -1
  48. package/main/model/modules/turbogui-angular.module.d.ts +23 -8
  49. package/main/model/modules/turbogui-angular.module.d.ts.map +1 -1
  50. package/main/view/animations/fade.animation.d.ts +3 -8
  51. package/main/view/animations/fade.animation.d.ts.map +1 -1
  52. package/main/view/components/busy-state-base/busy-state-base.component.d.ts +3 -8
  53. package/main/view/components/busy-state-base/busy-state-base.component.d.ts.map +1 -1
  54. package/main/view/components/button-base/button-base.component.d.ts +3 -0
  55. package/main/view/components/button-base/button-base.component.d.ts.map +1 -1
  56. package/main/view/components/button-container/button-container.component.d.ts +3 -8
  57. package/main/view/components/button-container/button-container.component.d.ts.map +1 -1
  58. package/main/view/components/button-image/button-image.component.d.ts +3 -0
  59. package/main/view/components/button-image/button-image.component.d.ts.map +1 -1
  60. package/main/view/components/dialog-error/dialog-error.component.d.ts +3 -8
  61. package/main/view/components/dialog-error/dialog-error.component.d.ts.map +1 -1
  62. package/main/view/components/dialog-multiple-option/dialog-multiple-option.component.d.ts +3 -8
  63. package/main/view/components/dialog-multiple-option/dialog-multiple-option.component.d.ts.map +1 -1
  64. package/main/view/components/dialog-single-option/dialog-single-option.component.d.ts +3 -8
  65. package/main/view/components/dialog-single-option/dialog-single-option.component.d.ts.map +1 -1
  66. package/main/view/components/dialog-single-selection-list/dialog-single-selection-list.component.d.ts +33 -11
  67. package/main/view/components/dialog-single-selection-list/dialog-single-selection-list.component.d.ts.map +1 -1
  68. package/main/view/components/dialog-two-option/dialog-two-option.component.d.ts +3 -8
  69. package/main/view/components/dialog-two-option/dialog-two-option.component.d.ts.map +1 -1
  70. package/main/view/components/views-container/views-container.component.d.ts +3 -0
  71. package/main/view/components/views-container/views-container.component.d.ts.map +1 -1
  72. package/main/view/directives/AutoFocusOnDisplayDirective.d.ts +3 -0
  73. package/main/view/directives/AutoFocusOnDisplayDirective.d.ts.map +1 -1
  74. package/main/view/directives/AutoSelectTextOnFocusDirective.d.ts +3 -0
  75. package/main/view/directives/AutoSelectTextOnFocusDirective.d.ts.map +1 -1
  76. package/main/view/directives/ElementCreatedDirective.d.ts +3 -0
  77. package/main/view/directives/ElementCreatedDirective.d.ts.map +1 -1
  78. package/main/view/directives/ElementDestroyedDirective.d.ts +3 -0
  79. package/main/view/directives/ElementDestroyedDirective.d.ts.map +1 -1
  80. package/package.json +25 -13
  81. package/turbogui-angular.d.ts +1 -2
  82. package/turbogui-angular.d.ts.map +1 -1
  83. package/bundles/turbogui-angular.umd.js +0 -2203
  84. package/bundles/turbogui-angular.umd.js.map +0 -1
  85. package/bundles/turbogui-angular.umd.min.js +0 -17
  86. package/bundles/turbogui-angular.umd.min.js.map +0 -1
  87. package/esm2015/main/controller/browser.service.js +0 -48
  88. package/esm2015/main/controller/dialog.service.js +0 -323
  89. package/esm2015/main/controller/globalerror.service.js +0 -65
  90. package/esm2015/main/controller/http.service.js +0 -70
  91. package/esm2015/main/controller/localization.service.js +0 -19
  92. package/esm2015/main/controller/notification.service.js +0 -53
  93. package/esm2015/main/controller/user.service.js +0 -125
  94. package/esm2015/main/controller/views.service.js +0 -113
  95. package/esm2015/main/model/modules/turbogui-angular.module.js +0 -89
  96. package/esm2015/main/view/animations/fade.animation.js +0 -32
  97. package/esm2015/main/view/components/busy-state-base/busy-state-base.component.js +0 -39
  98. package/esm2015/main/view/components/button-base/button-base.component.js +0 -147
  99. package/esm2015/main/view/components/button-container/button-container.component.js +0 -35
  100. package/esm2015/main/view/components/button-image/button-image.component.js +0 -46
  101. package/esm2015/main/view/components/dialog-error/dialog-error.component.js +0 -39
  102. package/esm2015/main/view/components/dialog-multiple-option/dialog-multiple-option.component.js +0 -36
  103. package/esm2015/main/view/components/dialog-single-option/dialog-single-option.component.js +0 -39
  104. package/esm2015/main/view/components/dialog-single-selection-list/dialog-single-selection-list.component.js +0 -64
  105. package/esm2015/main/view/components/dialog-two-option/dialog-two-option.component.js +0 -40
  106. package/esm2015/main/view/directives/AutoFocusOnDisplayDirective.js +0 -40
  107. package/esm2015/main/view/directives/AutoSelectTextOnFocusDirective.js +0 -39
  108. package/esm2015/main/view/directives/ElementCreatedDirective.js +0 -38
  109. package/esm2015/main/view/directives/ElementDestroyedDirective.js +0 -38
  110. package/esm2015/turbogui-angular.js +0 -7
  111. package/fesm2015/turbogui-angular.js.map +0 -1
  112. package/main/controller/browser.service.ngfactory.d.ts.map +0 -1
  113. package/main/controller/dialog.service.ngfactory.d.ts.map +0 -1
  114. package/main/controller/globalerror.service.ngfactory.d.ts.map +0 -1
  115. package/main/controller/http.service.ngfactory.d.ts.map +0 -1
  116. package/main/controller/localization.service.ngfactory.d.ts.map +0 -1
  117. package/main/controller/notification.service.ngfactory.d.ts.map +0 -1
  118. package/main/controller/user.service.ngfactory.d.ts.map +0 -1
  119. package/main/controller/views.service.ngfactory.d.ts.map +0 -1
  120. package/main/model/modules/turbogui-angular.module.ngfactory.d.ts.map +0 -1
  121. package/main/view/animations/fade.animation.ngfactory.d.ts.map +0 -1
  122. package/main/view/components/busy-state-base/busy-state-base.component.ngfactory.d.ts.map +0 -1
  123. package/main/view/components/busy-state-base/busy-state-base.component.scss.shim.ngstyle.d.ts.map +0 -1
  124. package/main/view/components/button-container/button-container.component.ngfactory.d.ts.map +0 -1
  125. package/main/view/components/button-container/button-container.component.scss.shim.ngstyle.d.ts.map +0 -1
  126. package/main/view/components/button-image/button-image.component.ngfactory.d.ts.map +0 -1
  127. package/main/view/components/button-image/button-image.component.scss.shim.ngstyle.d.ts.map +0 -1
  128. package/main/view/components/dialog-error/dialog-error.component.ngfactory.d.ts.map +0 -1
  129. package/main/view/components/dialog-error/dialog-error.component.scss.shim.ngstyle.d.ts.map +0 -1
  130. package/main/view/components/dialog-multiple-option/dialog-multiple-option.component.ngfactory.d.ts.map +0 -1
  131. package/main/view/components/dialog-multiple-option/dialog-multiple-option.component.scss.shim.ngstyle.d.ts.map +0 -1
  132. package/main/view/components/dialog-single-option/dialog-single-option.component.ngfactory.d.ts.map +0 -1
  133. package/main/view/components/dialog-single-option/dialog-single-option.component.scss.shim.ngstyle.d.ts.map +0 -1
  134. package/main/view/components/dialog-single-selection-list/dialog-single-selection-list.component.ngfactory.d.ts.map +0 -1
  135. package/main/view/components/dialog-single-selection-list/dialog-single-selection-list.component.scss.shim.ngstyle.d.ts.map +0 -1
  136. package/main/view/components/dialog-two-option/dialog-two-option.component.ngfactory.d.ts.map +0 -1
  137. package/main/view/components/dialog-two-option/dialog-two-option.component.scss.shim.ngstyle.d.ts.map +0 -1
  138. package/main/view/components/views-container/views-container.component.ngfactory.d.ts.map +0 -1
  139. package/main/view/components/views-container/views-container.component.scss.shim.ngstyle.d.ts.map +0 -1
  140. package/main/view/directives/AutoFocusOnDisplayDirective.ngfactory.d.ts.map +0 -1
  141. package/main/view/directives/AutoSelectTextOnFocusDirective.ngfactory.d.ts.map +0 -1
  142. package/main/view/directives/ElementCreatedDirective.ngfactory.d.ts.map +0 -1
  143. package/main/view/directives/ElementDestroyedDirective.ngfactory.d.ts.map +0 -1
  144. package/turbogui-angular.metadata.json +0 -1
  145. /package/{esm2015/main/controller/httpservice/HTTPServiceGetRequest.js → esm2020/main/controller/httpservice/HTTPServiceGetRequest.mjs} +0 -0
  146. /package/{esm2015/main/controller/httpservice/HTTPServicePostRequest.js → esm2020/main/controller/httpservice/HTTPServicePostRequest.mjs} +0 -0
  147. /package/{esm2015/main/managers/DelayedMethodCallManager.js → esm2020/main/managers/DelayedMethodCallManager.mjs} +0 -0
  148. /package/{esm2015/main/model/classes/GUINotification.js → esm2020/main/model/classes/GUINotification.mjs} +0 -0
  149. /package/{esm2015/main/model/classes/View.js → esm2020/main/model/classes/View.mjs} +0 -0
  150. /package/{esm2015/main/model/classes/ViewModel.js → esm2020/main/model/classes/ViewModel.mjs} +0 -0
  151. /package/{esm2015/main/model/classes/ViewService.js → esm2020/main/model/classes/ViewService.mjs} +0 -0
  152. /package/{esm2015/main/view/components/dialog-base/dialog-base.component.js → esm2020/main/view/components/dialog-base/dialog-base.component.mjs} +0 -0
  153. /package/{esm2015/main/view/components/dialog-options-base/dialog-options-base.component.js → esm2020/main/view/components/dialog-options-base/dialog-options-base.component.mjs} +0 -0
@@ -1,125 +0,0 @@
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 { ConversionUtils, StringUtils } from 'turbocommons-ts';
11
- import { HTTPService } from '../controller/http.service';
12
- import { LocalizationService } from '../controller/localization.service';
13
- import { HTTPServicePostRequest } from '../controller/httpservice/HTTPServicePostRequest';
14
- /**
15
- * Manages the users model and commands
16
- */
17
- export class UserService {
18
- constructor(httpService, ls) {
19
- this.httpService = httpService;
20
- this.ls = ls;
21
- /**
22
- * Path to the web service that performs the user login
23
- */
24
- this.loginWebService = 'users/login';
25
- /**
26
- * The username that is currently defined and will be used by the login methods
27
- */
28
- this.userName = '';
29
- /**
30
- * The password for the user that is currently defined and will be used by the login methods
31
- */
32
- this.password = '';
33
- /**
34
- * Check public getter for docs
35
- */
36
- this._isLogged = false;
37
- /**
38
- * @see token() getter for more info
39
- */
40
- this._token = '';
41
- }
42
- /**
43
- * Tells if the services contains a non empty username and password specified
44
- */
45
- get isUserAndPswDefined() {
46
- return !StringUtils.isEmpty(this.userName) && !StringUtils.isEmpty(this.password);
47
- }
48
- /**
49
- * Tells if exists a user that is currently logged or not
50
- */
51
- get isLogged() {
52
- return this._isLogged;
53
- }
54
- /**
55
- * Gives the value for the currently active user authentication token or an empty string if no user logged
56
- */
57
- get token() {
58
- return this._token;
59
- }
60
- /**
61
- * Perform a user login against the configured login webservice
62
- *
63
- * @param loginOkCallback Method to be executed once the login finishes chorrectly. An object with all the service response data will be passed to this method
64
- * @param loginFailCallback Method to be executed once the login finishes incorrectly.
65
- */
66
- login(loginOkCallback = null, loginFailCallback = null) {
67
- const request = new HTTPServicePostRequest(this.loginWebService);
68
- request.ignoreGlobalPostParams = true;
69
- const encodedCredentials = ConversionUtils.stringToBase64(ConversionUtils.stringToBase64(this.userName) + ',' + ConversionUtils.stringToBase64(this.password));
70
- request.parameters = {
71
- data: encodedCredentials
72
- };
73
- request.successCallback = (response) => {
74
- if (response !== '') {
75
- response = JSON.parse(response);
76
- this._isLogged = true;
77
- this._token = response.token;
78
- this.httpService.setGlobalPostParam('token', response.token);
79
- if (loginOkCallback !== null) {
80
- loginOkCallback(response);
81
- }
82
- }
83
- else {
84
- this._clearUserAndToken();
85
- if (loginFailCallback !== null) {
86
- loginFailCallback();
87
- }
88
- }
89
- };
90
- this.httpService.execute(request);
91
- }
92
- /**
93
- * Perform the logout for the currently logged user
94
- */
95
- logout(logoutOkCallback = null) {
96
- const request = new HTTPServicePostRequest('users/logout');
97
- request.parameters = {
98
- token: this._token
99
- };
100
- request.successCallback = () => {
101
- this._clearUserAndToken();
102
- if (logoutOkCallback !== null) {
103
- logoutOkCallback();
104
- }
105
- };
106
- this.httpService.execute(request);
107
- }
108
- _clearUserAndToken() {
109
- this.userName = '';
110
- this.password = '';
111
- this._isLogged = false;
112
- this._token = '';
113
- if (this.httpService.isGlobalPostParam('token')) {
114
- this.httpService.deleteGlobalPostParam('token');
115
- }
116
- }
117
- }
118
- UserService.decorators = [
119
- { type: Injectable }
120
- ];
121
- UserService.ctorParameters = () => [
122
- { type: HTTPService },
123
- { type: LocalizationService }
124
- ];
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVyYm9ndWktYW5ndWxhci9zcmMvbWFpbi9jb250cm9sbGVyL3VzZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUcxRjs7R0FFRztBQUVILE1BQU0sT0FBTyxXQUFXO0lBaUNwQixZQUFtQixXQUF3QixFQUN4QixFQUF1QjtRQUR2QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixPQUFFLEdBQUYsRUFBRSxDQUFxQjtRQS9CMUM7O1dBRUc7UUFDSCxvQkFBZSxHQUFHLGFBQWEsQ0FBQztRQUdoQzs7V0FFRztRQUNILGFBQVEsR0FBRyxFQUFFLENBQUM7UUFHZDs7V0FFRztRQUNILGFBQVEsR0FBRyxFQUFFLENBQUM7UUFHZDs7V0FFRztRQUNLLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFHMUI7O1dBRUc7UUFDSyxXQUFNLEdBQUcsRUFBRSxDQUFDO0lBS3BCLENBQUM7SUFHRDs7T0FFRztJQUNILElBQUksbUJBQW1CO1FBRW5CLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFHRDs7T0FFRztJQUNILElBQUksUUFBUTtRQUVSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBR0Q7O09BRUc7SUFDSCxJQUFJLEtBQUs7UUFFTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUdEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLGtCQUFvRCxJQUFJLEVBQUUsb0JBQXlDLElBQUk7UUFFekcsTUFBTSxPQUFPLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFakUsT0FBTyxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztRQUV0QyxNQUFNLGtCQUFrQixHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQ2pELGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRTdHLE9BQU8sQ0FBQyxVQUFVLEdBQUc7WUFDakIsSUFBSSxFQUFFLGtCQUFrQjtTQUMzQixDQUFDO1FBRUYsT0FBTyxDQUFDLGVBQWUsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBRW5DLElBQUksUUFBUSxLQUFLLEVBQUUsRUFBRTtnQkFFakIsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRWhDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFN0QsSUFBSSxlQUFlLEtBQUssSUFBSSxFQUFFO29CQUUxQixlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQzdCO2FBRUo7aUJBQU07Z0JBRUgsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBRTFCLElBQUksaUJBQWlCLEtBQUssSUFBSSxFQUFFO29CQUU1QixpQkFBaUIsRUFBRSxDQUFDO2lCQUN2QjthQUNKO1FBQ0wsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUdEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG1CQUF3QyxJQUFJO1FBRS9DLE1BQU0sT0FBTyxHQUFHLElBQUksc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFM0QsT0FBTyxDQUFDLFVBQVUsR0FBRztZQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDckIsQ0FBQztRQUVGLE9BQU8sQ0FBQyxlQUFlLEdBQUcsR0FBRyxFQUFFO1lBRTNCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBRTFCLElBQUksZ0JBQWdCLEtBQUssSUFBSSxFQUFFO2dCQUUzQixnQkFBZ0IsRUFBRSxDQUFDO2FBQ3RCO1FBQ0wsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUdPLGtCQUFrQjtRQUV0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUVqQixJQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEVBQUM7WUFFM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNuRDtJQUNMLENBQUM7OztZQXZKSixVQUFVOzs7WUFSRixXQUFXO1lBQ1gsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFR1cmJvR1VJIGlzIEEgbGlicmFyeSB0aGF0IGhlbHBzIHdpdGggdGhlIG1vc3QgY29tbW9uIGFuZCBnZW5lcmljIFVJIGVsZW1lbnRzIGFuZCBmdW5jdGlvbmFsaXRpZXNcclxuICpcclxuICogV2Vic2l0ZSA6IC0+IGh0dHA6Ly93d3cudHVyYm9ndWkub3JnXHJcbiAqIExpY2Vuc2UgOiAtPiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXHJcbiAqIExpY2Vuc2UgVXJsIDogLT4gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXHJcbiAqIENvcHlSaWdodCA6IC0+IENvcHlyaWdodCAyMDE4IEVkZXJ0b25lIEFkdmFuZGVkIFNvbHV0aW9ucy4gaHR0cHM6Ly93d3cuZWRlcnRvbmUuY29tXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb252ZXJzaW9uVXRpbHMsIFN0cmluZ1V0aWxzIH0gZnJvbSAndHVyYm9jb21tb25zLXRzJztcclxuaW1wb3J0IHsgSFRUUFNlcnZpY2UgfSBmcm9tICcuLi9jb250cm9sbGVyL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi9jb250cm9sbGVyL2xvY2FsaXphdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSFRUUFNlcnZpY2VQb3N0UmVxdWVzdCB9IGZyb20gJy4uL2NvbnRyb2xsZXIvaHR0cHNlcnZpY2UvSFRUUFNlcnZpY2VQb3N0UmVxdWVzdCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIE1hbmFnZXMgdGhlIHVzZXJzIG1vZGVsIGFuZCBjb21tYW5kc1xyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVXNlclNlcnZpY2Uge1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhdGggdG8gdGhlIHdlYiBzZXJ2aWNlIHRoYXQgcGVyZm9ybXMgdGhlIHVzZXIgbG9naW5cclxuICAgICAqL1xyXG4gICAgbG9naW5XZWJTZXJ2aWNlID0gJ3VzZXJzL2xvZ2luJztcclxuICAgIFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHVzZXJuYW1lIHRoYXQgaXMgY3VycmVudGx5IGRlZmluZWQgYW5kIHdpbGwgYmUgdXNlZCBieSB0aGUgbG9naW4gbWV0aG9kc1xyXG4gICAgICovXHJcbiAgICB1c2VyTmFtZSA9ICcnO1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBwYXNzd29yZCBmb3IgdGhlIHVzZXIgdGhhdCBpcyBjdXJyZW50bHkgZGVmaW5lZCBhbmQgd2lsbCBiZSB1c2VkIGJ5IHRoZSBsb2dpbiBtZXRob2RzXHJcbiAgICAgKi9cclxuICAgIHBhc3N3b3JkID0gJyc7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2hlY2sgcHVibGljIGdldHRlciBmb3IgZG9jc1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9pc0xvZ2dlZCA9IGZhbHNlO1xyXG4gICAgXHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogQHNlZSB0b2tlbigpIGdldHRlciBmb3IgbW9yZSBpbmZvXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3Rva2VuID0gJyc7XHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBodHRwU2VydmljZTogSFRUUFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBwdWJsaWMgbHM6IExvY2FsaXphdGlvblNlcnZpY2UpIHtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUZWxscyBpZiB0aGUgc2VydmljZXMgY29udGFpbnMgYSBub24gZW1wdHkgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIHNwZWNpZmllZFxyXG4gICAgICovXHJcbiAgICBnZXQgaXNVc2VyQW5kUHN3RGVmaW5lZCgpOiBib29sZWFuICB7XHJcblxyXG4gICAgICAgIHJldHVybiAhU3RyaW5nVXRpbHMuaXNFbXB0eSh0aGlzLnVzZXJOYW1lKSAmJiAhU3RyaW5nVXRpbHMuaXNFbXB0eSh0aGlzLnBhc3N3b3JkKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUZWxscyBpZiBleGlzdHMgYSB1c2VyIHRoYXQgaXMgY3VycmVudGx5IGxvZ2dlZCBvciBub3RcclxuICAgICAqL1xyXG4gICAgZ2V0IGlzTG9nZ2VkKCk6IGJvb2xlYW4ge1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5faXNMb2dnZWQ7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBHaXZlcyB0aGUgdmFsdWUgZm9yIHRoZSBjdXJyZW50bHkgYWN0aXZlIHVzZXIgYXV0aGVudGljYXRpb24gdG9rZW4gb3IgYW4gZW1wdHkgc3RyaW5nIGlmIG5vIHVzZXIgbG9nZ2VkXHJcbiAgICAgKi9cclxuICAgIGdldCB0b2tlbigpIHtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Rva2VuO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcmZvcm0gYSB1c2VyIGxvZ2luIGFnYWluc3QgdGhlIGNvbmZpZ3VyZWQgbG9naW4gd2Vic2VydmljZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gbG9naW5Pa0NhbGxiYWNrIE1ldGhvZCB0byBiZSBleGVjdXRlZCBvbmNlIHRoZSBsb2dpbiBmaW5pc2hlcyBjaG9ycmVjdGx5LiBBbiBvYmplY3Qgd2l0aCBhbGwgdGhlIHNlcnZpY2UgcmVzcG9uc2UgZGF0YSB3aWxsIGJlIHBhc3NlZCB0byB0aGlzIG1ldGhvZFxyXG4gICAgICogQHBhcmFtIGxvZ2luRmFpbENhbGxiYWNrIE1ldGhvZCB0byBiZSBleGVjdXRlZCBvbmNlIHRoZSBsb2dpbiBmaW5pc2hlcyBpbmNvcnJlY3RseS5cclxuICAgICAqL1xyXG4gICAgbG9naW4obG9naW5Pa0NhbGxiYWNrOiBudWxsIHwgKChyZXNwb25zZTogYW55KSA9PiB2b2lkKSA9IG51bGwsIGxvZ2luRmFpbENhbGxiYWNrOiBudWxsIHwgKCgpID0+IHZvaWQpID0gbnVsbCkge1xyXG5cclxuICAgICAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEhUVFBTZXJ2aWNlUG9zdFJlcXVlc3QodGhpcy5sb2dpbldlYlNlcnZpY2UpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHJlcXVlc3QuaWdub3JlR2xvYmFsUG9zdFBhcmFtcyA9IHRydWU7XHJcblxyXG4gICAgICAgIGNvbnN0IGVuY29kZWRDcmVkZW50aWFscyA9IENvbnZlcnNpb25VdGlscy5zdHJpbmdUb0Jhc2U2NChcclxuICAgICAgICAgICAgICAgIENvbnZlcnNpb25VdGlscy5zdHJpbmdUb0Jhc2U2NCh0aGlzLnVzZXJOYW1lKSArICcsJyArIENvbnZlcnNpb25VdGlscy5zdHJpbmdUb0Jhc2U2NCh0aGlzLnBhc3N3b3JkKSk7XHJcblxyXG4gICAgICAgIHJlcXVlc3QucGFyYW1ldGVycyA9IHtcclxuICAgICAgICAgICAgZGF0YTogZW5jb2RlZENyZWRlbnRpYWxzXHJcbiAgICAgICAgfTtcclxuICAgICAgICBcclxuICAgICAgICByZXF1ZXN0LnN1Y2Nlc3NDYWxsYmFjayA9IChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICBpZiAocmVzcG9uc2UgIT09ICcnKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgcmVzcG9uc2UgPSBKU09OLnBhcnNlKHJlc3BvbnNlKTsgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9pc0xvZ2dlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90b2tlbiA9IHJlc3BvbnNlLnRva2VuO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5odHRwU2VydmljZS5zZXRHbG9iYWxQb3N0UGFyYW0oJ3Rva2VuJywgcmVzcG9uc2UudG9rZW4pO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChsb2dpbk9rQ2FsbGJhY2sgIT09IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgbG9naW5Pa0NhbGxiYWNrKHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5fY2xlYXJVc2VyQW5kVG9rZW4oKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAobG9naW5GYWlsQ2FsbGJhY2sgIT09IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgbG9naW5GYWlsQ2FsbGJhY2soKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuaHR0cFNlcnZpY2UuZXhlY3V0ZShyZXF1ZXN0KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQZXJmb3JtIHRoZSBsb2dvdXQgZm9yIHRoZSBjdXJyZW50bHkgbG9nZ2VkIHVzZXJcclxuICAgICAqL1xyXG4gICAgbG9nb3V0KGxvZ291dE9rQ2FsbGJhY2s6IG51bGwgfCAoKCkgPT4gdm9pZCkgPSBudWxsKSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBIVFRQU2VydmljZVBvc3RSZXF1ZXN0KCd1c2Vycy9sb2dvdXQnKTtcclxuICAgICAgICBcclxuICAgICAgICByZXF1ZXN0LnBhcmFtZXRlcnMgPSB7XHJcbiAgICAgICAgICAgIHRva2VuOiB0aGlzLl90b2tlblxyXG4gICAgICAgIH07XHJcbiAgICAgICAgXHJcbiAgICAgICAgcmVxdWVzdC5zdWNjZXNzQ2FsbGJhY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuX2NsZWFyVXNlckFuZFRva2VuKCk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZiAobG9nb3V0T2tDYWxsYmFjayAhPT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgICAgICAgIGxvZ291dE9rQ2FsbGJhY2soKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuaHR0cFNlcnZpY2UuZXhlY3V0ZShyZXF1ZXN0KTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgXHJcbiAgICBwcml2YXRlIF9jbGVhclVzZXJBbmRUb2tlbigpe1xyXG4gICAgXHJcbiAgICAgICAgdGhpcy51c2VyTmFtZSA9ICcnO1xyXG4gICAgICAgIHRoaXMucGFzc3dvcmQgPSAnJztcclxuICAgICAgICB0aGlzLl9pc0xvZ2dlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3Rva2VuID0gJyc7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYodGhpcy5odHRwU2VydmljZS5pc0dsb2JhbFBvc3RQYXJhbSgndG9rZW4nKSl7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB0aGlzLmh0dHBTZXJ2aWNlLmRlbGV0ZUdsb2JhbFBvc3RQYXJhbSgndG9rZW4nKTtcclxuICAgICAgICB9ICAgIFxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,113 +0,0 @@
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, ComponentFactoryResolver } from '@angular/core';
10
- /**
11
- * Manages adding, removing and manipulating the application views
12
- */
13
- export class ViewsService {
14
- constructor(componentFactoryResolver) {
15
- this.componentFactoryResolver = componentFactoryResolver;
16
- /**
17
- * See getter method for docs
18
- */
19
- this._loadedViewClass = null;
20
- /**
21
- * An instance of the model that is assigned to the currently loaded view
22
- */
23
- this._loadedViewModel = null;
24
- /**
25
- * See setter method for docs
26
- */
27
- this._viewContainerRef = null;
28
- }
29
- /**
30
- * Tells if there's any view currently loaded on the application views container
31
- */
32
- get isViewLoaded() {
33
- return this._loadedViewClass !== null;
34
- }
35
- /**
36
- * Stores a reference to the visual element that will be used as the container for all the views.
37
- * This is automatically assigned by the tg-views-container component once it is created.
38
- *
39
- * @see ViewsContainerComponent for more information
40
- */
41
- set viewContainerRef(ref) {
42
- if (ref !== null && this._viewContainerRef !== null) {
43
- throw new Error('Views container already defined. Only one views container element can exist on an application');
44
- }
45
- this._viewContainerRef = ref;
46
- }
47
- /**
48
- * Create a new view instance with the specified type and add it to the current application views container. Any currently loaded
49
- * view will be removed
50
- *
51
- * Make sure this method is called when all the visual components of the application have been created (ngAfterViewInit)
52
- *
53
- * @param view The classname for the view that we want to create and add to the views container (must extend View base class).
54
- *
55
- * @return The instance of the newly added and created view.
56
- */
57
- pushView(view) {
58
- // If a view is already loaded, we will unload it first
59
- if (this._loadedViewClass !== null) {
60
- // If the loaded view is the same as the specified one, we will do nothing
61
- if (this._loadedViewClass === view) {
62
- return;
63
- }
64
- this.popView();
65
- }
66
- this.verifyViewsContainerExist();
67
- const factory = this.componentFactoryResolver.resolveComponentFactory(view);
68
- const componentRef = this._viewContainerRef.createComponent(factory);
69
- this._loadedViewModel = componentRef.instance.modelClass !== null ? new componentRef.instance.modelClass() : null;
70
- componentRef.changeDetectorRef.detectChanges();
71
- this._loadedViewClass = view;
72
- return componentRef;
73
- }
74
- /**
75
- * Get the model that is instantiated for the currently active view. (A view model only lives while its view is active)
76
- * If no view model is assigned to the current view or no view is loaded, an exception will be thrown.
77
- *
78
- * @return The current view model instance, which must be casted to the appropiate ViewModel extended class
79
- */
80
- get model() {
81
- if (this._loadedViewModel === null) {
82
- throw new Error('No active model. Make sure a view is loaded with an assigned model. Do not access the model until view is initialized (for example on ngAfterViewInit)');
83
- }
84
- return this._loadedViewModel;
85
- }
86
- /**
87
- * Delete the currently loaded view from the views container, and leave it empty.
88
- * If no view is currently loaded, this method will do nothing
89
- */
90
- popView() {
91
- this.verifyViewsContainerExist();
92
- if (this._loadedViewClass !== null) {
93
- this._viewContainerRef.clear();
94
- }
95
- this._loadedViewClass = null;
96
- this._loadedViewModel = null;
97
- }
98
- /**
99
- * Auxiliary method to test if the views container instance is available on the application
100
- */
101
- verifyViewsContainerExist() {
102
- if (this._viewContainerRef === null) {
103
- throw new Error('Views container not defined. Please declare a <views-container> element in your application');
104
- }
105
- }
106
- }
107
- ViewsService.decorators = [
108
- { type: Injectable }
109
- ];
110
- ViewsService.ctorParameters = () => [
111
- { type: ComponentFactoryResolver }
112
- ];
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1cmJvZ3VpLWFuZ3VsYXIvc3JjL21haW4vY29udHJvbGxlci92aWV3cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFFSCxPQUFPLEVBQTBCLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs3Rjs7R0FFRztBQUVILE1BQU0sT0FBTyxZQUFZO0lBcUJyQixZQUE2Qix3QkFBa0Q7UUFBbEQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQWxCL0U7O1dBRUc7UUFDSyxxQkFBZ0IsR0FBc0IsSUFBSSxDQUFDO1FBR25EOztXQUVHO1FBQ0sscUJBQWdCLEdBQXFCLElBQUksQ0FBQztRQUdsRDs7V0FFRztRQUNLLHNCQUFpQixHQUE0QixJQUFJLENBQUM7SUFLMUQsQ0FBQztJQUdEOztPQUVHO0lBQ0gsSUFBSSxZQUFZO1FBRVosT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxDQUFDO0lBQzFDLENBQUM7SUFHRDs7Ozs7T0FLRztJQUNILElBQUksZ0JBQWdCLENBQUMsR0FBNEI7UUFFN0MsSUFBSSxHQUFHLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxJQUFJLEVBQUU7WUFFakQsTUFBTSxJQUFJLEtBQUssQ0FBQywrRkFBK0YsQ0FBQyxDQUFDO1NBQ3BIO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztJQUNqQyxDQUFDO0lBR0Q7Ozs7Ozs7OztPQVNHO0lBQ0gsUUFBUSxDQUFDLElBQWdCO1FBRXJCLHVEQUF1RDtRQUN2RCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxJQUFJLEVBQUU7WUFFaEMsMEVBQTBFO1lBQzFFLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUksRUFBRTtnQkFFaEMsT0FBTzthQUNWO1lBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFFakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVFLE1BQU0sWUFBWSxHQUFJLElBQUksQ0FBQyxpQkFBc0MsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRTNILFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUUvQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBRTdCLE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7SUFHRDs7Ozs7T0FLRztJQUNILElBQUksS0FBSztRQUVMLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUksRUFBRTtZQUVoQyxNQUFNLElBQUksS0FBSyxDQUFDLHdKQUF3SixDQUFDLENBQUM7U0FDN0s7UUFFRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBR0Q7OztPQUdHO0lBQ0gsT0FBTztRQUVILElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBRWpDLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUksRUFBRTtZQUUvQixJQUFJLENBQUMsaUJBQXNDLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDeEQ7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFDakMsQ0FBQztJQUdEOztPQUVHO0lBQ0sseUJBQXlCO1FBRTdCLElBQUksSUFBSSxDQUFDLGlCQUFpQixLQUFLLElBQUksRUFBRTtZQUVqQyxNQUFNLElBQUksS0FBSyxDQUFDLDZGQUE2RixDQUFDLENBQUM7U0FDbEg7SUFDTCxDQUFDOzs7WUF6SUosVUFBVTs7O1lBUmtDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUdXJib0dVSSBpcyBBIGxpYnJhcnkgdGhhdCBoZWxwcyB3aXRoIHRoZSBtb3N0IGNvbW1vbiBhbmQgZ2VuZXJpYyBVSSBlbGVtZW50cyBhbmQgZnVuY3Rpb25hbGl0aWVzXHJcbiAqXHJcbiAqIFdlYnNpdGUgOiAtPiBodHRwOi8vd3d3LnR1cmJvZ3VpLm9yZ1xyXG4gKiBMaWNlbnNlIDogLT4gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMC4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxyXG4gKiBMaWNlbnNlIFVybCA6IC0+IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxyXG4gKiBDb3B5UmlnaHQgOiAtPiBDb3B5cmlnaHQgMjAxOCBFZGVydG9uZSBBZHZhbmRlZCBTb2x1dGlvbnMuIGh0dHBzOi8vd3d3LmVkZXJ0b25lLmNvbVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IFR5cGUsIFZpZXdDb250YWluZXJSZWYsIEluamVjdGFibGUsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBWaWV3IH0gZnJvbSAnLi4vbW9kZWwvY2xhc3Nlcy9WaWV3JztcclxuaW1wb3J0IHsgVmlld01vZGVsIH0gZnJvbSAnLi4vbW9kZWwvY2xhc3Nlcy9WaWV3TW9kZWwnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBNYW5hZ2VzIGFkZGluZywgcmVtb3ZpbmcgYW5kIG1hbmlwdWxhdGluZyB0aGUgYXBwbGljYXRpb24gdmlld3NcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFZpZXdzU2VydmljZSB7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2VlIGdldHRlciBtZXRob2QgZm9yIGRvY3NcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfbG9hZGVkVmlld0NsYXNzOiBUeXBlPFZpZXc+IHwgbnVsbCA9IG51bGw7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQW4gaW5zdGFuY2Ugb2YgdGhlIG1vZGVsIHRoYXQgaXMgYXNzaWduZWQgdG8gdGhlIGN1cnJlbnRseSBsb2FkZWQgdmlld1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9sb2FkZWRWaWV3TW9kZWw6IFZpZXdNb2RlbCB8IG51bGwgPSBudWxsO1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNlZSBzZXR0ZXIgbWV0aG9kIGZvciBkb2NzXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYgfCBudWxsID0gbnVsbDtcclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xyXG5cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUZWxscyBpZiB0aGVyZSdzIGFueSB2aWV3IGN1cnJlbnRseSBsb2FkZWQgb24gdGhlIGFwcGxpY2F0aW9uIHZpZXdzIGNvbnRhaW5lclxyXG4gICAgICovXHJcbiAgICBnZXQgaXNWaWV3TG9hZGVkKCkge1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9hZGVkVmlld0NsYXNzICE9PSBudWxsO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFN0b3JlcyBhIHJlZmVyZW5jZSB0byB0aGUgdmlzdWFsIGVsZW1lbnQgdGhhdCB3aWxsIGJlIHVzZWQgYXMgdGhlIGNvbnRhaW5lciBmb3IgYWxsIHRoZSB2aWV3cy5cclxuICAgICAqIFRoaXMgaXMgYXV0b21hdGljYWxseSBhc3NpZ25lZCBieSB0aGUgdGctdmlld3MtY29udGFpbmVyIGNvbXBvbmVudCBvbmNlIGl0IGlzIGNyZWF0ZWQuXHJcbiAgICAgKlxyXG4gICAgICogQHNlZSBWaWV3c0NvbnRhaW5lckNvbXBvbmVudCBmb3IgbW9yZSBpbmZvcm1hdGlvblxyXG4gICAgICovXHJcbiAgICBzZXQgdmlld0NvbnRhaW5lclJlZihyZWY6IFZpZXdDb250YWluZXJSZWYgfCBudWxsKSB7XHJcblxyXG4gICAgICAgIGlmIChyZWYgIT09IG51bGwgJiYgdGhpcy5fdmlld0NvbnRhaW5lclJlZiAhPT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdWaWV3cyBjb250YWluZXIgYWxyZWFkeSBkZWZpbmVkLiBPbmx5IG9uZSB2aWV3cyBjb250YWluZXIgZWxlbWVudCBjYW4gZXhpc3Qgb24gYW4gYXBwbGljYXRpb24nKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYgPSByZWY7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlIGEgbmV3IHZpZXcgaW5zdGFuY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHR5cGUgYW5kIGFkZCBpdCB0byB0aGUgY3VycmVudCBhcHBsaWNhdGlvbiB2aWV3cyBjb250YWluZXIuIEFueSBjdXJyZW50bHkgbG9hZGVkIFxyXG4gICAgICogdmlldyB3aWxsIGJlIHJlbW92ZWRcclxuICAgICAqXHJcbiAgICAgKiBNYWtlIHN1cmUgdGhpcyBtZXRob2QgaXMgY2FsbGVkIHdoZW4gYWxsIHRoZSB2aXN1YWwgY29tcG9uZW50cyBvZiB0aGUgYXBwbGljYXRpb24gaGF2ZSBiZWVuIGNyZWF0ZWQgKG5nQWZ0ZXJWaWV3SW5pdClcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gdmlldyBUaGUgY2xhc3NuYW1lIGZvciB0aGUgdmlldyB0aGF0IHdlIHdhbnQgdG8gY3JlYXRlIGFuZCBhZGQgdG8gdGhlIHZpZXdzIGNvbnRhaW5lciAobXVzdCBleHRlbmQgVmlldyBiYXNlIGNsYXNzKS5cclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJuIFRoZSBpbnN0YW5jZSBvZiB0aGUgbmV3bHkgYWRkZWQgYW5kIGNyZWF0ZWQgdmlldy4gXHJcbiAgICAgKi9cclxuICAgIHB1c2hWaWV3KHZpZXc6IFR5cGU8Vmlldz4pIHtcclxuXHJcbiAgICAgICAgLy8gSWYgYSB2aWV3IGlzIGFscmVhZHkgbG9hZGVkLCB3ZSB3aWxsIHVubG9hZCBpdCBmaXJzdFxyXG4gICAgICAgIGlmICh0aGlzLl9sb2FkZWRWaWV3Q2xhc3MgIT09IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgIC8vIElmIHRoZSBsb2FkZWQgdmlldyBpcyB0aGUgc2FtZSBhcyB0aGUgc3BlY2lmaWVkIG9uZSwgd2Ugd2lsbCBkbyBub3RoaW5nXHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9sb2FkZWRWaWV3Q2xhc3MgPT09IHZpZXcpIHtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMucG9wVmlldygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy52ZXJpZnlWaWV3c0NvbnRhaW5lckV4aXN0KCk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHZpZXcpO1xyXG5cclxuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSAodGhpcy5fdmlld0NvbnRhaW5lclJlZiBhcyBWaWV3Q29udGFpbmVyUmVmKS5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcblxyXG4gICAgICAgIHRoaXMuX2xvYWRlZFZpZXdNb2RlbCA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZS5tb2RlbENsYXNzICE9PSBudWxsID8gbmV3IChjb21wb25lbnRSZWYuaW5zdGFuY2UubW9kZWxDbGFzcyBhcyBhbnkpKCkgOiBudWxsO1xyXG5cclxuICAgICAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgICB0aGlzLl9sb2FkZWRWaWV3Q2xhc3MgPSB2aWV3O1xyXG5cclxuICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldCB0aGUgbW9kZWwgdGhhdCBpcyBpbnN0YW50aWF0ZWQgZm9yIHRoZSBjdXJyZW50bHkgYWN0aXZlIHZpZXcuIChBIHZpZXcgbW9kZWwgb25seSBsaXZlcyB3aGlsZSBpdHMgdmlldyBpcyBhY3RpdmUpXHJcbiAgICAgKiBJZiBubyB2aWV3IG1vZGVsIGlzIGFzc2lnbmVkIHRvIHRoZSBjdXJyZW50IHZpZXcgb3Igbm8gdmlldyBpcyBsb2FkZWQsIGFuIGV4Y2VwdGlvbiB3aWxsIGJlIHRocm93bi5cclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJuIFRoZSBjdXJyZW50IHZpZXcgbW9kZWwgaW5zdGFuY2UsIHdoaWNoIG11c3QgYmUgY2FzdGVkIHRvIHRoZSBhcHByb3BpYXRlIFZpZXdNb2RlbCBleHRlbmRlZCBjbGFzc1xyXG4gICAgICovXHJcbiAgICBnZXQgbW9kZWwoKSB7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9sb2FkZWRWaWV3TW9kZWwgPT09IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gYWN0aXZlIG1vZGVsLiBNYWtlIHN1cmUgYSB2aWV3IGlzIGxvYWRlZCB3aXRoIGFuIGFzc2lnbmVkIG1vZGVsLiBEbyBub3QgYWNjZXNzIHRoZSBtb2RlbCB1bnRpbCB2aWV3IGlzIGluaXRpYWxpemVkIChmb3IgZXhhbXBsZSBvbiBuZ0FmdGVyVmlld0luaXQpJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9hZGVkVmlld01vZGVsO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIERlbGV0ZSB0aGUgY3VycmVudGx5IGxvYWRlZCB2aWV3IGZyb20gdGhlIHZpZXdzIGNvbnRhaW5lciwgYW5kIGxlYXZlIGl0IGVtcHR5LlxyXG4gICAgICogSWYgbm8gdmlldyBpcyBjdXJyZW50bHkgbG9hZGVkLCB0aGlzIG1ldGhvZCB3aWxsIGRvIG5vdGhpbmdcclxuICAgICAqL1xyXG4gICAgcG9wVmlldygpIHtcclxuXHJcbiAgICAgICAgdGhpcy52ZXJpZnlWaWV3c0NvbnRhaW5lckV4aXN0KCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9sb2FkZWRWaWV3Q2xhc3MgIT09IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgICh0aGlzLl92aWV3Q29udGFpbmVyUmVmIGFzIFZpZXdDb250YWluZXJSZWYpLmNsZWFyKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9sb2FkZWRWaWV3Q2xhc3MgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuX2xvYWRlZFZpZXdNb2RlbCA9IG51bGw7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQXV4aWxpYXJ5IG1ldGhvZCB0byB0ZXN0IGlmIHRoZSB2aWV3cyBjb250YWluZXIgaW5zdGFuY2UgaXMgYXZhaWxhYmxlIG9uIHRoZSBhcHBsaWNhdGlvblxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHZlcmlmeVZpZXdzQ29udGFpbmVyRXhpc3QoKSB7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl92aWV3Q29udGFpbmVyUmVmID09PSBudWxsKSB7XHJcblxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZpZXdzIGNvbnRhaW5lciBub3QgZGVmaW5lZC4gUGxlYXNlIGRlY2xhcmUgYSA8dmlld3MtY29udGFpbmVyPiBlbGVtZW50IGluIHlvdXIgYXBwbGljYXRpb24nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,89 +0,0 @@
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 { NgModule } from '@angular/core';
10
- import { MatDialogModule } from '@angular/material/dialog';
11
- import { MatSnackBarModule } from '@angular/material/snack-bar';
12
- import { MatButtonModule } from '@angular/material/button';
13
- import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
14
- import { BusyStateBaseComponent } from '../../view/components/busy-state-base/busy-state-base.component';
15
- import { DialogService } from '../../controller/dialog.service';
16
- import { LocalizationService } from '../../controller/localization.service';
17
- import { HTTPService } from '../../controller/http.service';
18
- import { NotificationService } from '../../controller/notification.service';
19
- import { UserService } from '../../controller/user.service';
20
- import { ViewsService } from '../../controller/views.service';
21
- import { ViewsContainerComponent } from '../../view/components/views-container/views-container.component';
22
- import { ButtonImageComponent } from '../../view/components/button-image/button-image.component';
23
- import { ButtonContainerComponent } from '../../view/components/button-container/button-container.component';
24
- import { DialogErrorComponent } from '../../view/components/dialog-error/dialog-error.component';
25
- import { DialogSingleOptionComponent } from '../../view/components/dialog-single-option/dialog-single-option.component';
26
- import { DialogTwoOptionComponent } from '../../view/components/dialog-two-option/dialog-two-option.component';
27
- import { DialogSingleSelectionListComponent } from '../../view/components/dialog-single-selection-list/dialog-single-selection-list.component';
28
- import { DialogMultipleOptionComponent } from '../../view/components/dialog-multiple-option/dialog-multiple-option.component';
29
- import { BrowserService } from '../../controller/browser.service';
30
- import { ElementCreatedDirective } from '../../view/directives/ElementCreatedDirective';
31
- import { ElementDestroyedDirective } from '../../view/directives/ElementDestroyedDirective';
32
- import { AutoFocusOnDisplayDirective } from '../../view/directives/AutoFocusOnDisplayDirective';
33
- import { AutoSelectTextOnFocusDirective } from '../../view/directives/AutoSelectTextOnFocusDirective';
34
- /**
35
- * This file contains the root module that contains all the library declarations and exports.
36
- */
37
- export class TurboGuiAngularModule {
38
- }
39
- TurboGuiAngularModule.decorators = [
40
- { type: NgModule, args: [{
41
- imports: [
42
- MatDialogModule,
43
- MatSnackBarModule,
44
- MatButtonModule,
45
- BrowserAnimationsModule
46
- ],
47
- declarations: [
48
- BusyStateBaseComponent,
49
- DialogErrorComponent,
50
- DialogSingleOptionComponent,
51
- DialogTwoOptionComponent,
52
- DialogMultipleOptionComponent,
53
- DialogSingleSelectionListComponent,
54
- ViewsContainerComponent,
55
- ButtonImageComponent,
56
- ButtonContainerComponent,
57
- ElementCreatedDirective,
58
- ElementDestroyedDirective,
59
- AutoFocusOnDisplayDirective,
60
- AutoSelectTextOnFocusDirective
61
- ],
62
- // Globally available singleton services are added here
63
- providers: [
64
- DialogService,
65
- LocalizationService,
66
- HTTPService,
67
- NotificationService,
68
- UserService,
69
- ViewsService,
70
- BrowserService
71
- ],
72
- exports: [
73
- BusyStateBaseComponent,
74
- ViewsContainerComponent,
75
- ButtonImageComponent,
76
- ButtonContainerComponent,
77
- DialogErrorComponent,
78
- DialogSingleOptionComponent,
79
- DialogTwoOptionComponent,
80
- DialogMultipleOptionComponent,
81
- DialogSingleSelectionListComponent,
82
- ElementCreatedDirective,
83
- ElementDestroyedDirective,
84
- AutoFocusOnDisplayDirective,
85
- AutoSelectTextOnFocusDirective
86
- ]
87
- },] }
88
- ];
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHVyYm9ndWktYW5ndWxhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXJib2d1aS1hbmd1bGFyL3NyYy9tYWluL21vZGVsL21vZHVsZXMvdHVyYm9ndWktYW5ndWxhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDMUcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDakcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDN0csT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDakcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkVBQTJFLENBQUM7QUFDeEgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDL0csT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sMkZBQTJGLENBQUM7QUFDL0ksT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0VBQStFLENBQUM7QUFDOUgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBR3RHOztHQUVHO0FBc0RILE1BQU0sT0FBTyxxQkFBcUI7OztZQXJEakMsUUFBUSxTQUFDO2dCQUVOLE9BQU8sRUFBRTtvQkFDTCxlQUFlO29CQUNmLGlCQUFpQjtvQkFDakIsZUFBZTtvQkFDZix1QkFBdUI7aUJBQzFCO2dCQUVELFlBQVksRUFBRTtvQkFDVixzQkFBc0I7b0JBQ3RCLG9CQUFvQjtvQkFDcEIsMkJBQTJCO29CQUMzQix3QkFBd0I7b0JBQ3hCLDZCQUE2QjtvQkFDN0Isa0NBQWtDO29CQUNsQyx1QkFBdUI7b0JBQ3ZCLG9CQUFvQjtvQkFDcEIsd0JBQXdCO29CQUN4Qix1QkFBdUI7b0JBQ3ZCLHlCQUF5QjtvQkFDekIsMkJBQTJCO29CQUMzQiw4QkFBOEI7aUJBQ2pDO2dCQUVELHVEQUF1RDtnQkFDdkQsU0FBUyxFQUFFO29CQUNQLGFBQWE7b0JBQ2IsbUJBQW1CO29CQUNuQixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsV0FBVztvQkFDWCxZQUFZO29CQUNaLGNBQWM7aUJBQ2pCO2dCQUVELE9BQU8sRUFBRTtvQkFDTCxzQkFBc0I7b0JBQ3RCLHVCQUF1QjtvQkFDdkIsb0JBQW9CO29CQUNwQix3QkFBd0I7b0JBQ3hCLG9CQUFvQjtvQkFDcEIsMkJBQTJCO29CQUMzQix3QkFBd0I7b0JBQ3hCLDZCQUE2QjtvQkFDN0Isa0NBQWtDO29CQUNsQyx1QkFBdUI7b0JBQ3ZCLHlCQUF5QjtvQkFDekIsMkJBQTJCO29CQUMzQiw4QkFBOEI7aUJBQ2pDO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFR1cmJvR1VJIGlzIEEgbGlicmFyeSB0aGF0IGhlbHBzIHdpdGggdGhlIG1vc3QgY29tbW9uIGFuZCBnZW5lcmljIFVJIGVsZW1lbnRzIGFuZCBmdW5jdGlvbmFsaXRpZXNcbiAqXG4gKiBXZWJzaXRlIDogLT4gaHR0cDovL3d3dy50dXJib2d1aS5vcmdcbiAqIExpY2Vuc2UgOiAtPiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBMaWNlbnNlIFVybCA6IC0+IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICogQ29weVJpZ2h0IDogLT4gQ29weXJpZ2h0IDIwMTggRWRlcnRvbmUgQWR2YW5kZWQgU29sdXRpb25zLiBodHRwczovL3d3dy5lZGVydG9uZS5jb21cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBCdXN5U3RhdGVCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9jb21wb25lbnRzL2J1c3ktc3RhdGUtYmFzZS9idXN5LXN0YXRlLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb250cm9sbGVyL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnRyb2xsZXIvbG9jYWxpemF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIVFRQU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnRyb2xsZXIvaHR0cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnRyb2xsZXIvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb250cm9sbGVyL3VzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBWaWV3c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb250cm9sbGVyL3ZpZXdzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBWaWV3c0NvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3ZpZXcvY29tcG9uZW50cy92aWV3cy1jb250YWluZXIvdmlld3MtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbkltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9jb21wb25lbnRzL2J1dHRvbi1pbWFnZS9idXR0b24taW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3ZpZXcvY29tcG9uZW50cy9idXR0b24tY29udGFpbmVyL2J1dHRvbi1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ0Vycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9jb21wb25lbnRzL2RpYWxvZy1lcnJvci9kaWFsb2ctZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ1NpbmdsZU9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3ZpZXcvY29tcG9uZW50cy9kaWFsb2ctc2luZ2xlLW9wdGlvbi9kaWFsb2ctc2luZ2xlLW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nVHdvT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9jb21wb25lbnRzL2RpYWxvZy10d28tb3B0aW9uL2RpYWxvZy10d28tb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaWFsb2dTaW5nbGVTZWxlY3Rpb25MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9jb21wb25lbnRzL2RpYWxvZy1zaW5nbGUtc2VsZWN0aW9uLWxpc3QvZGlhbG9nLXNpbmdsZS1zZWxlY3Rpb24tbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dNdWx0aXBsZU9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3ZpZXcvY29tcG9uZW50cy9kaWFsb2ctbXVsdGlwbGUtb3B0aW9uL2RpYWxvZy1tdWx0aXBsZS1vcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb250cm9sbGVyL2Jyb3dzZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEVsZW1lbnRDcmVhdGVkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vdmlldy9kaXJlY3RpdmVzL0VsZW1lbnRDcmVhdGVkRGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRWxlbWVudERlc3Ryb3llZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3ZpZXcvZGlyZWN0aXZlcy9FbGVtZW50RGVzdHJveWVkRGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQXV0b0ZvY3VzT25EaXNwbGF5RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vdmlldy9kaXJlY3RpdmVzL0F1dG9Gb2N1c09uRGlzcGxheURpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEF1dG9TZWxlY3RUZXh0T25Gb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3ZpZXcvZGlyZWN0aXZlcy9BdXRvU2VsZWN0VGV4dE9uRm9jdXNEaXJlY3RpdmUnO1xyXG5cblxuLyoqXG4gKiBUaGlzIGZpbGUgY29udGFpbnMgdGhlIHJvb3QgbW9kdWxlIHRoYXQgY29udGFpbnMgYWxsIHRoZSBsaWJyYXJ5IGRlY2xhcmF0aW9ucyBhbmQgZXhwb3J0cy5cbiAqL1xuQE5nTW9kdWxlKHtcblxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgICAgICBNYXRTbmFja0Jhck1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZVxuICAgIF0sXG5cbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgQnVzeVN0YXRlQmFzZUNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nRXJyb3JDb21wb25lbnQsXG4gICAgICAgIERpYWxvZ1NpbmdsZU9wdGlvbkNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nVHdvT3B0aW9uQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dNdWx0aXBsZU9wdGlvbkNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nU2luZ2xlU2VsZWN0aW9uTGlzdENvbXBvbmVudCxcbiAgICAgICAgVmlld3NDb250YWluZXJDb21wb25lbnQsXG4gICAgICAgIEJ1dHRvbkltYWdlQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25Db250YWluZXJDb21wb25lbnQsXG4gICAgICAgIEVsZW1lbnRDcmVhdGVkRGlyZWN0aXZlLFxuICAgICAgICBFbGVtZW50RGVzdHJveWVkRGlyZWN0aXZlLFxuICAgICAgICBBdXRvRm9jdXNPbkRpc3BsYXlEaXJlY3RpdmUsXG4gICAgICAgIEF1dG9TZWxlY3RUZXh0T25Gb2N1c0RpcmVjdGl2ZVxuICAgIF0sXG5cbiAgICAvLyBHbG9iYWxseSBhdmFpbGFibGUgc2luZ2xldG9uIHNlcnZpY2VzIGFyZSBhZGRlZCBoZXJlXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIExvY2FsaXphdGlvblNlcnZpY2UsXG4gICAgICAgIEhUVFBTZXJ2aWNlLFxuICAgICAgICBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgICAgICBVc2VyU2VydmljZSxcbiAgICAgICAgVmlld3NTZXJ2aWNlLFxuICAgICAgICBCcm93c2VyU2VydmljZVxuICAgIF0sXG5cbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEJ1c3lTdGF0ZUJhc2VDb21wb25lbnQsXG4gICAgICAgIFZpZXdzQ29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25JbWFnZUNvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uQ29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dFcnJvckNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nU2luZ2xlT3B0aW9uQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dUd29PcHRpb25Db21wb25lbnQsXG4gICAgICAgIERpYWxvZ011bHRpcGxlT3B0aW9uQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dTaW5nbGVTZWxlY3Rpb25MaXN0Q29tcG9uZW50LFxuICAgICAgICBFbGVtZW50Q3JlYXRlZERpcmVjdGl2ZSxcbiAgICAgICAgRWxlbWVudERlc3Ryb3llZERpcmVjdGl2ZSxcbiAgICAgICAgQXV0b0ZvY3VzT25EaXNwbGF5RGlyZWN0aXZlLFxuICAgICAgICBBdXRvU2VsZWN0VGV4dE9uRm9jdXNEaXJlY3RpdmVcbiAgICBdXG59KVxuXG5leHBvcnQgY2xhc3MgVHVyYm9HdWlBbmd1bGFyTW9kdWxlIHsgfVxuIl19
@@ -1,32 +0,0 @@
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 { trigger, animate, transition, style } from '@angular/animations';
11
- /**
12
- * Fade animations
13
- */
14
- export class FadeAnimationClass {
15
- /**
16
- * Get a custom trigger to create fade animations when components are added or removed from the application
17
- *
18
- * @param triggerName The name for the trigger we want to create
19
- * @param enter The time and easing that we want to use for the enter state
20
- * @param leave The time and easing that we want to use for the leave state
21
- */
22
- static getTrigger(triggerName, enter = '1s ease', leave = '0s ease') {
23
- return trigger(triggerName, [
24
- transition(':enter', [style({ opacity: 0 }), animate(enter)]),
25
- transition(':leave', [style({ opacity: 1 }), animate(leave, style({ opacity: 0 }))])
26
- ]);
27
- }
28
- }
29
- FadeAnimationClass.decorators = [
30
- { type: Injectable }
31
- ];
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFkZS5hbmltYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXJib2d1aS1hbmd1bGFyL3NyYy9tYWluL3ZpZXcvYW5pbWF0aW9ucy9mYWRlLmFuaW1hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHMUU7O0dBRUc7QUFFSCxNQUFNLE9BQU8sa0JBQWtCO0lBRTNCOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBbUIsRUFBRSxLQUFLLEdBQUcsU0FBUyxFQUFFLEtBQUssR0FBRyxTQUFTO1FBRXZFLE9BQU8sT0FBTyxDQUFDLFdBQVcsRUFBRTtZQUNDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMzRCxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEYsQ0FBQyxDQUFDO0lBQ25DLENBQUM7OztZQWhCSixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFR1cmJvR1VJIGlzIEEgbGlicmFyeSB0aGF0IGhlbHBzIHdpdGggdGhlIG1vc3QgY29tbW9uIGFuZCBnZW5lcmljIFVJIGVsZW1lbnRzIGFuZCBmdW5jdGlvbmFsaXRpZXNcclxuICpcclxuICogV2Vic2l0ZSA6IC0+IGh0dHA6Ly93d3cudHVyYm9ndWkub3JnXHJcbiAqIExpY2Vuc2UgOiAtPiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXHJcbiAqIExpY2Vuc2UgVXJsIDogLT4gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXHJcbiAqIENvcHlSaWdodCA6IC0+IENvcHlyaWdodCAyMDE4IEVkZXJ0b25lIEFkdmFuZGVkIFNvbHV0aW9ucy4gaHR0cHM6Ly93d3cuZWRlcnRvbmUuY29tXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0cmlnZ2VyLCBhbmltYXRlLCB0cmFuc2l0aW9uLCBzdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBGYWRlIGFuaW1hdGlvbnNcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEZhZGVBbmltYXRpb25DbGFzcyB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgYSBjdXN0b20gdHJpZ2dlciB0byBjcmVhdGUgZmFkZSBhbmltYXRpb25zIHdoZW4gY29tcG9uZW50cyBhcmUgYWRkZWQgb3IgcmVtb3ZlZCBmcm9tIHRoZSBhcHBsaWNhdGlvblxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB0cmlnZ2VyTmFtZSBUaGUgbmFtZSBmb3IgdGhlIHRyaWdnZXIgd2Ugd2FudCB0byBjcmVhdGVcclxuICAgICAqIEBwYXJhbSBlbnRlciBUaGUgdGltZSBhbmQgZWFzaW5nIHRoYXQgd2Ugd2FudCB0byB1c2UgZm9yIHRoZSBlbnRlciBzdGF0ZVxyXG4gICAgICogQHBhcmFtIGxlYXZlIFRoZSB0aW1lIGFuZCBlYXNpbmcgdGhhdCB3ZSB3YW50IHRvIHVzZSBmb3IgdGhlIGxlYXZlIHN0YXRlXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBnZXRUcmlnZ2VyKHRyaWdnZXJOYW1lOiBzdHJpbmcsIGVudGVyID0gJzFzIGVhc2UnLCBsZWF2ZSA9ICcwcyBlYXNlJykge1xyXG5cclxuICAgICAgICByZXR1cm4gdHJpZ2dlcih0cmlnZ2VyTmFtZSwgW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW3N0eWxlKHtvcGFjaXR5OiAwfSksIGFuaW1hdGUoZW50ZXIpXSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbc3R5bGUoe29wYWNpdHk6IDF9KSwgYW5pbWF0ZShsZWF2ZSwgc3R5bGUoe29wYWNpdHk6IDB9KSldKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,39 +0,0 @@
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 { Component, HostBinding } from '@angular/core';
10
- import { FadeAnimationClass } from '../../animations/fade.animation';
11
- /**
12
- * This component is used by turboGUI angular library to show the busy state to the user.
13
- * It is used to block all the user input and progressively shows a busy cursor to notify that the application
14
- * is waiting for something.
15
- *
16
- * We can (should) override this component with our own one to adapt its visual appearance to our application.
17
- * We can then set dialogService.busyStateComponentClass to our component class at the application start to to
18
- * override the default one.
19
- */
20
- export class BusyStateBaseComponent {
21
- constructor() {
22
- /**
23
- * This is used to attach the fade animation directly to this component so it fades in and out when created and removed from the app
24
- */
25
- this.busyStateBaseFade = true;
26
- }
27
- }
28
- BusyStateBaseComponent.decorators = [
29
- { type: Component, args: [{
30
- selector: 'tg-busy-state-base',
31
- template: "<div class=\"darkBg\">\r\n\r\n</div>\r\n\r\n<svg width=\"38\" height=\"38\" viewBox=\"0 0 38 38\" xmlns=\"http://www.w3.org/2000/svg\" stroke=\"#fff\">\r\n <g fill=\"none\" fill-rule=\"evenodd\">\r\n <g transform=\"translate(1 1)\" stroke-width=\"1\">\r\n <circle stroke-opacity=\".2\" cx=\"18\" cy=\"18\" r=\"18\"/>\r\n <path d=\"M36 18c0-9.94-8.06-18-18-18\">\r\n <animateTransform\r\n attributeName=\"transform\"\r\n type=\"rotate\"\r\n from=\"0 18 18\"\r\n to=\"360 18 18\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"/>\r\n </path>\r\n </g>\r\n </g>\r\n</svg>\r\n",
32
- animations: [FadeAnimationClass.getTrigger('busyStateBaseFade', '1s ease', '400ms ease')],
33
- styles: [":host{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999999999}.darkBg,:host{display:flex;justify-content:center;align-items:center}.darkBg{position:absolute;cursor:progress;width:100%;height:100%;background-color:rgba(0,0,0,.5882352941176471);-webkit-animation-name:bgfadein;animation-name:bgfadein;-webkit-animation-duration:30s;animation-duration:30s;-webkit-animation-timing-function:ease;animation-timing-function:ease}svg{z-index:5000;width:40%;height:40%;max-width:130px;max-height:130px;-webkit-animation-name:loadingfadein;animation-name:loadingfadein;-webkit-animation-duration:3s;animation-duration:3s;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes loadingfadein{0%{opacity:0}25%{opacity:0}to{opacity:1}}@keyframes loadingfadein{0%{opacity:0}25%{opacity:0}to{opacity:1}}@-webkit-keyframes bgfadein{0%{opacity:0}4%{opacity:0}14%{opacity:.2}35%{opacity:.5}to{opacity:1}}@keyframes bgfadein{0%{opacity:0}4%{opacity:0}14%{opacity:.2}35%{opacity:.5}to{opacity:1}}"]
34
- },] }
35
- ];
36
- BusyStateBaseComponent.propDecorators = {
37
- busyStateBaseFade: [{ type: HostBinding, args: ['@busyStateBaseFade',] }]
38
- };
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzeS1zdGF0ZS1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1cmJvZ3VpLWFuZ3VsYXIvc3JjL21haW4vdmlldy9jb21wb25lbnRzL2J1c3ktc3RhdGUtYmFzZS9idXN5LXN0YXRlLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdyRTs7Ozs7Ozs7R0FRRztBQVNILE1BQU0sT0FBTyxzQkFBc0I7SUFSbkM7UUFXSTs7V0FFRztRQUNnQyxzQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDaEUsQ0FBQzs7O1lBZkEsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLDJ2QkFBK0M7Z0JBQy9DLFVBQVUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7O2FBRTFGOzs7Z0NBU0ksV0FBVyxTQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUdXJib0dVSSBpcyBBIGxpYnJhcnkgdGhhdCBoZWxwcyB3aXRoIHRoZSBtb3N0IGNvbW1vbiBhbmQgZ2VuZXJpYyBVSSBlbGVtZW50cyBhbmQgZnVuY3Rpb25hbGl0aWVzXHJcbiAqXHJcbiAqIFdlYnNpdGUgOiAtPiBodHRwOi8vd3d3LnR1cmJvZ3VpLm9yZ1xyXG4gKiBMaWNlbnNlIDogLT4gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMC4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxyXG4gKiBMaWNlbnNlIFVybCA6IC0+IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxyXG4gKiBDb3B5UmlnaHQgOiAtPiBDb3B5cmlnaHQgMjAxOCBFZGVydG9uZSBBZHZhbmRlZCBTb2x1dGlvbnMuIGh0dHBzOi8vd3d3LmVkZXJ0b25lLmNvbVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmFkZUFuaW1hdGlvbkNsYXNzIH0gZnJvbSAnLi4vLi4vYW5pbWF0aW9ucy9mYWRlLmFuaW1hdGlvbic7XHJcblxyXG5cclxuLyoqXHJcbiAqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgYnkgdHVyYm9HVUkgYW5ndWxhciBsaWJyYXJ5IHRvIHNob3cgdGhlIGJ1c3kgc3RhdGUgdG8gdGhlIHVzZXIuXHJcbiAqIEl0IGlzIHVzZWQgdG8gYmxvY2sgYWxsIHRoZSB1c2VyIGlucHV0IGFuZCBwcm9ncmVzc2l2ZWx5IHNob3dzIGEgYnVzeSBjdXJzb3IgdG8gbm90aWZ5IHRoYXQgdGhlIGFwcGxpY2F0aW9uXHJcbiAqIGlzIHdhaXRpbmcgZm9yIHNvbWV0aGluZy5cclxuICpcclxuICogV2UgY2FuIChzaG91bGQpIG92ZXJyaWRlIHRoaXMgY29tcG9uZW50IHdpdGggb3VyIG93biBvbmUgdG8gYWRhcHQgaXRzIHZpc3VhbCBhcHBlYXJhbmNlIHRvIG91ciBhcHBsaWNhdGlvbi5cclxuICogV2UgY2FuIHRoZW4gc2V0IGRpYWxvZ1NlcnZpY2UuYnVzeVN0YXRlQ29tcG9uZW50Q2xhc3MgdG8gb3VyIGNvbXBvbmVudCBjbGFzcyBhdCB0aGUgYXBwbGljYXRpb24gc3RhcnQgdG8gdG9cclxuICogb3ZlcnJpZGUgdGhlIGRlZmF1bHQgb25lLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0Zy1idXN5LXN0YXRlLWJhc2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXN5LXN0YXRlLWJhc2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGFuaW1hdGlvbnM6IFtGYWRlQW5pbWF0aW9uQ2xhc3MuZ2V0VHJpZ2dlcignYnVzeVN0YXRlQmFzZUZhZGUnLCAnMXMgZWFzZScsICc0MDBtcyBlYXNlJyldLFxyXG4gIHN0eWxlVXJsczogWycuL2J1c3ktc3RhdGUtYmFzZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEJ1c3lTdGF0ZUJhc2VDb21wb25lbnQge1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoaXMgaXMgdXNlZCB0byBhdHRhY2ggdGhlIGZhZGUgYW5pbWF0aW9uIGRpcmVjdGx5IHRvIHRoaXMgY29tcG9uZW50IHNvIGl0IGZhZGVzIGluIGFuZCBvdXQgd2hlbiBjcmVhdGVkIGFuZCByZW1vdmVkIGZyb20gdGhlIGFwcFxyXG4gICAgICovXHJcbiAgICBASG9zdEJpbmRpbmcoJ0BidXN5U3RhdGVCYXNlRmFkZScpIGJ1c3lTdGF0ZUJhc2VGYWRlID0gdHJ1ZTtcclxufVxyXG4iXX0=
@@ -1,147 +0,0 @@
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 { HostBinding, HostListener, Input, Directive } from '@angular/core';
10
- /**
11
- * This is the base class for all button components
12
- */
13
- export class ButtonBaseComponent {
14
- constructor() {
15
- /**
16
- * Defines the actual opacity that is binded on the html part
17
- */
18
- this.currentOpacity = .7;
19
- /**
20
- * Defines the actual scale that is binded on the html part
21
- */
22
- this.currentScale = 'scale(1)';
23
- /**
24
- * Defines if the button can be clicked or not
25
- */
26
- this.pointerEvents = 'initial';
27
- /**
28
- * Specifies if the button animations must rollback when the user releases the mouse or pointer after pressing it
29
- */
30
- this.releaseOnMouseUp = true;
31
- /**
32
- * Specifies the amount of milliseconds that the button will vibrate when it gets clicked (only on compatible devices and browsers)
33
- * Set it to 0 to disable click vibration
34
- */
35
- this.vibrateOnClick = 25;
36
- /**
37
- * Defines the button opacity when it is not clicked
38
- */
39
- this.defaultOpacity = .7;
40
- /**
41
- * Defines the image scale when it is not clicked
42
- */
43
- this.defaultScale = 1;
44
- /**
45
- * Defines the button opacity when it is hovered
46
- */
47
- this.hoverOpacity = .8;
48
- /**
49
- * Defines the image scale when it is hovered
50
- */
51
- this.hoverScale = 1;
52
- /**
53
- * Defines the button opacity when it is clicked
54
- */
55
- this.clickOpacity = 1;
56
- /**
57
- * Defines the image scale when it is clicked
58
- */
59
- this.clickScale = 1;
60
- /**
61
- * Defines the button opacity when it is disabled
62
- */
63
- this.disabledOpacity = .2;
64
- /**
65
- * Stores the value that tells if the button is enabled or disabled
66
- */
67
- this._enabled = true;
68
- }
69
- /**
70
- * Specifies if the button is enabled or disabled
71
- */
72
- set enabled(v) {
73
- this._enabled = v;
74
- this.currentOpacity = v ? this.defaultOpacity : this.disabledOpacity;
75
- this.pointerEvents = v ? 'initial' : 'none';
76
- }
77
- ;
78
- /**
79
- * Set button default values
80
- */
81
- ngOnInit() {
82
- this.currentOpacity = this._enabled ? this.defaultOpacity : this.disabledOpacity;
83
- this.currentScale = 'scale(1)';
84
- }
85
- /**
86
- * Listens for the mouse over the button component
87
- */
88
- onMouseOver() {
89
- if (this._enabled) {
90
- this.currentOpacity = this.hoverOpacity;
91
- this.currentScale = 'scale(' + this.hoverScale + ')';
92
- }
93
- }
94
- /**
95
- * Listens for the mouse out of the button component
96
- */
97
- onMouseOut() {
98
- if (this._enabled) {
99
- this.currentOpacity = this.defaultOpacity;
100
- this.currentScale = 'scale(' + this.defaultScale + ')';
101
- }
102
- }
103
- /**
104
- * Listens for the mouse down on the button component
105
- */
106
- onMouseDown() {
107
- if (this._enabled) {
108
- this.currentOpacity = this.clickOpacity;
109
- this.currentScale = 'scale(' + this.clickScale + ')';
110
- if (this.vibrateOnClick > 0 && window.navigator && window.navigator.vibrate) {
111
- window.navigator.vibrate(this.vibrateOnClick);
112
- }
113
- }
114
- }
115
- /**
116
- * Listens for the mouse up of the button component
117
- */
118
- onMouseUp() {
119
- if (this._enabled && this.releaseOnMouseUp) {
120
- this.currentOpacity = this.defaultOpacity;
121
- this.currentScale = 'scale(' + this.defaultScale + ')';
122
- }
123
- }
124
- }
125
- ButtonBaseComponent.decorators = [
126
- { type: Directive }
127
- ];
128
- ButtonBaseComponent.propDecorators = {
129
- currentOpacity: [{ type: HostBinding, args: ['style.opacity',] }],
130
- currentScale: [{ type: HostBinding, args: ['style.transform',] }],
131
- pointerEvents: [{ type: HostBinding, args: ['style.pointer-events',] }],
132
- releaseOnMouseUp: [{ type: Input }],
133
- vibrateOnClick: [{ type: Input }],
134
- defaultOpacity: [{ type: Input }],
135
- defaultScale: [{ type: Input }],
136
- hoverOpacity: [{ type: Input }],
137
- hoverScale: [{ type: Input }],
138
- clickOpacity: [{ type: Input }],
139
- clickScale: [{ type: Input }],
140
- disabledOpacity: [{ type: Input }],
141
- enabled: [{ type: Input }],
142
- onMouseOver: [{ type: HostListener, args: ['mouseover',] }],
143
- onMouseOut: [{ type: HostListener, args: ['mouseout',] }, { type: HostListener, args: ['pointerout',] }, { type: HostListener, args: ['pointerleave',] }],
144
- onMouseDown: [{ type: HostListener, args: ['pointerdown',] }],
145
- onMouseUp: [{ type: HostListener, args: ['pointerup',] }]
146
- };
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVyYm9ndWktYW5ndWxhci9zcmMvbWFpbi92aWV3L2NvbXBvbmVudHMvYnV0dG9uLWJhc2UvYnV0dG9uLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFFSCxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3BGOztHQUVHO0FBRUgsTUFBTSxPQUFnQixtQkFBbUI7SUFEekM7UUFJSTs7V0FFRztRQUMyQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUdsRDs7V0FFRztRQUM2QixpQkFBWSxHQUFHLFVBQVUsQ0FBQztRQUcxRDs7V0FFRztRQUNrQyxrQkFBYSxHQUFHLFNBQVMsQ0FBQztRQUcvRDs7V0FFRztRQUNNLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUdqQzs7O1dBR0c7UUFDTSxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUc3Qjs7V0FFRztRQUNNLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBRzdCOztXQUVHO1FBQ00saUJBQVksR0FBRyxDQUFDLENBQUM7UUFHMUI7O1dBRUc7UUFDTSxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUczQjs7V0FFRztRQUNNLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFHeEI7O1dBRUc7UUFDTSxpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUcxQjs7V0FFRztRQUNNLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFHeEI7O1dBRUc7UUFDTSxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUc5Qjs7V0FFRztRQUNLLGFBQVEsR0FBRyxJQUFJLENBQUM7SUF1RjVCLENBQUM7SUFwRkc7O09BRUc7SUFDSCxJQUFhLE9BQU8sQ0FBQyxDQUFTO1FBRTFCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBRXJFLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNoRCxDQUFDO0lBQUEsQ0FBQztJQUdGOztPQUVHO0lBQ0gsUUFBUTtRQUVKLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUNqRixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQztJQUNuQyxDQUFDO0lBR0Q7O09BRUc7SUFFSCxXQUFXO1FBRVAsSUFBRyxJQUFJLENBQUMsUUFBUSxFQUFDO1lBRWIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxHQUFJLElBQUksQ0FBQyxVQUE0QixHQUFHLEdBQUcsQ0FBQztTQUMzRTtJQUNMLENBQUM7SUFHRDs7T0FFRztJQUlILFVBQVU7UUFFTixJQUFHLElBQUksQ0FBQyxRQUFRLEVBQUM7WUFFYixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLEdBQUksSUFBSSxDQUFDLFlBQThCLEdBQUcsR0FBRyxDQUFDO1NBQzdFO0lBQ0wsQ0FBQztJQUdEOztPQUVHO0lBRUgsV0FBVztRQUVQLElBQUcsSUFBSSxDQUFDLFFBQVEsRUFBQztZQUViLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsR0FBSSxJQUFJLENBQUMsVUFBNEIsR0FBRyxHQUFHLENBQUM7WUFFeEUsSUFBSSxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFO2dCQUV6RSxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDakQ7U0FDSjtJQUNMLENBQUM7SUFHRDs7T0FFRztJQUVILFNBQVM7UUFFTCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBRXhDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUMxQyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsR0FBSSxJQUFJLENBQUMsWUFBOEIsR0FBRyxHQUFHLENBQUM7U0FDN0U7SUFDTCxDQUFDOzs7WUF0S0osU0FBUzs7OzZCQU9MLFdBQVcsU0FBQyxlQUFlOzJCQU0zQixXQUFXLFNBQUMsaUJBQWlCOzRCQU03QixXQUFXLFNBQUMsc0JBQXNCOytCQU1sQyxLQUFLOzZCQU9MLEtBQUs7NkJBTUwsS0FBSzsyQkFNTCxLQUFLOzJCQU1MLEtBQUs7eUJBTUwsS0FBSzsyQkFNTCxLQUFLO3lCQU1MLEtBQUs7OEJBTUwsS0FBSztzQkFZTCxLQUFLOzBCQXVCTCxZQUFZLFNBQUMsV0FBVzt5QkFjeEIsWUFBWSxTQUFDLFVBQVUsY0FDdkIsWUFBWSxTQUFDLFlBQVksY0FDekIsWUFBWSxTQUFDLGNBQWM7MEJBYzNCLFlBQVksU0FBQyxhQUFhO3dCQW1CMUIsWUFBWSxTQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVHVyYm9HVUkgaXMgQSBsaWJyYXJ5IHRoYXQgaGVscHMgd2l0aCB0aGUgbW9zdCBjb21tb24gYW5kIGdlbmVyaWMgVUkgZWxlbWVudHMgYW5kIGZ1bmN0aW9uYWxpdGllc1xyXG4gKlxyXG4gKiBXZWJzaXRlIDogLT4gaHR0cDovL3d3dy50dXJib2d1aS5vcmdcclxuICogTGljZW5zZSA6IC0+IExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cclxuICogTGljZW5zZSBVcmwgOiAtPiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuICogQ29weVJpZ2h0IDogLT4gQ29weXJpZ2h0IDIwMTggRWRlcnRvbmUgQWR2YW5kZWQgU29sdXRpb25zLiBodHRwczovL3d3dy5lZGVydG9uZS5jb21cclxuICovXHJcblxyXG5pbXBvcnQgeyBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcblxyXG4vKipcclxuICogVGhpcyBpcyB0aGUgYmFzZSBjbGFzcyBmb3IgYWxsIGJ1dHRvbiBjb21wb25lbnRzXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCdXR0b25CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZWZpbmVzIHRoZSBhY3R1YWwgb3BhY2l0eSB0aGF0IGlzIGJpbmRlZCBvbiB0aGUgaHRtbCBwYXJ0XHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnc3R5bGUub3BhY2l0eScpIGN1cnJlbnRPcGFjaXR5ID0gLjc7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVmaW5lcyB0aGUgYWN0dWFsIHNjYWxlIHRoYXQgaXMgYmluZGVkIG9uIHRoZSBodG1sIHBhcnRcclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS50cmFuc2Zvcm0nKSBjdXJyZW50U2NhbGUgPSAnc2NhbGUoMSknO1xyXG4gICAgXHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogRGVmaW5lcyBpZiB0aGUgYnV0dG9uIGNhbiBiZSBjbGlja2VkIG9yIG5vdFxyXG4gICAgICovXHJcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLnBvaW50ZXItZXZlbnRzJykgcG9pbnRlckV2ZW50cyA9ICdpbml0aWFsJztcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgaWYgdGhlIGJ1dHRvbiBhbmltYXRpb25zIG11c3Qgcm9sbGJhY2sgd2hlbiB0aGUgdXNlciByZWxlYXNlcyB0aGUgbW91c2Ugb3IgcG9pbnRlciBhZnRlciBwcmVzc2luZyBpdFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSByZWxlYXNlT25Nb3VzZVVwID0gdHJ1ZTtcclxuICAgIFxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmllcyB0aGUgYW1vdW50IG9mIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBidXR0b24gd2lsbCB2aWJyYXRlIHdoZW4gaXQgZ2V0cyBjbGlja2VkIChvbmx5IG9uIGNvbXBhdGlibGUgZGV2aWNlcyBhbmQgYnJvd3NlcnMpXHJcbiAgICAgKiBTZXQgaXQgdG8gMCB0byBkaXNhYmxlIGNsaWNrIHZpYnJhdGlvblxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB2aWJyYXRlT25DbGljayA9IDI1O1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIERlZmluZXMgdGhlIGJ1dHRvbiBvcGFjaXR5IHdoZW4gaXQgaXMgbm90IGNsaWNrZWRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgZGVmYXVsdE9wYWNpdHkgPSAuNztcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZWZpbmVzIHRoZSBpbWFnZSBzY2FsZSB3aGVuIGl0IGlzIG5vdCBjbGlja2VkXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGRlZmF1bHRTY2FsZSA9IDE7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVmaW5lcyB0aGUgYnV0dG9uIG9wYWNpdHkgd2hlbiBpdCBpcyBob3ZlcmVkXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGhvdmVyT3BhY2l0eSA9IC44O1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIERlZmluZXMgdGhlIGltYWdlIHNjYWxlIHdoZW4gaXQgaXMgaG92ZXJlZFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBob3ZlclNjYWxlID0gMTtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZWZpbmVzIHRoZSBidXR0b24gb3BhY2l0eSB3aGVuIGl0IGlzIGNsaWNrZWRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgY2xpY2tPcGFjaXR5ID0gMTtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZWZpbmVzIHRoZSBpbWFnZSBzY2FsZSB3aGVuIGl0IGlzIGNsaWNrZWRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgY2xpY2tTY2FsZSA9IDE7XHJcbiAgICBcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBEZWZpbmVzIHRoZSBidXR0b24gb3BhY2l0eSB3aGVuIGl0IGlzIGRpc2FibGVkXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGRpc2FibGVkT3BhY2l0eSA9IC4yO1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFN0b3JlcyB0aGUgdmFsdWUgdGhhdCB0ZWxscyBpZiB0aGUgYnV0dG9uIGlzIGVuYWJsZWQgb3IgZGlzYWJsZWRcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfZW5hYmxlZCA9IHRydWU7XHJcbiAgICBcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmllcyBpZiB0aGUgYnV0dG9uIGlzIGVuYWJsZWQgb3IgZGlzYWJsZWRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgc2V0IGVuYWJsZWQodjpib29sZWFuKXtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLl9lbmFibGVkID0gdjtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLmN1cnJlbnRPcGFjaXR5ID0gdiA/IHRoaXMuZGVmYXVsdE9wYWNpdHkgOiB0aGlzLmRpc2FibGVkT3BhY2l0eTtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLnBvaW50ZXJFdmVudHMgPSB2ID8gJ2luaXRpYWwnIDogJ25vbmUnOyBcclxuICAgIH07XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0IGJ1dHRvbiBkZWZhdWx0IHZhbHVlc1xyXG4gICAgICovXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICAgICAgdGhpcy5jdXJyZW50T3BhY2l0eSA9IHRoaXMuX2VuYWJsZWQgPyB0aGlzLmRlZmF1bHRPcGFjaXR5IDogdGhpcy5kaXNhYmxlZE9wYWNpdHk7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50U2NhbGUgPSAnc2NhbGUoMSknO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIExpc3RlbnMgZm9yIHRoZSBtb3VzZSBvdmVyIHRoZSBidXR0b24gY29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlb3ZlcicpXHJcbiAgICBvbk1vdXNlT3ZlcigpIHtcclxuXHJcbiAgICAgICAgaWYodGhpcy5fZW5hYmxlZCl7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRPcGFjaXR5ID0gdGhpcy5ob3Zlck9wYWNpdHk7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFNjYWxlID0gJ3NjYWxlKCcgKyAodGhpcy5ob3ZlclNjYWxlIGFzIGFueSBhcyBzdHJpbmcpICsgJyknO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBMaXN0ZW5zIGZvciB0aGUgbW91c2Ugb3V0IG9mIHRoZSBidXR0b24gY29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlb3V0JylcclxuICAgIEBIb3N0TGlzdGVuZXIoJ3BvaW50ZXJvdXQnKVxyXG4gICAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcmxlYXZlJylcclxuICAgIG9uTW91c2VPdXQoKSB7XHJcblxyXG4gICAgICAgIGlmKHRoaXMuX2VuYWJsZWQpe1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50T3BhY2l0eSA9IHRoaXMuZGVmYXVsdE9wYWNpdHk7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFNjYWxlID0gJ3NjYWxlKCcgKyAodGhpcy5kZWZhdWx0U2NhbGUgYXMgYW55IGFzIHN0cmluZykgKyAnKSc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIExpc3RlbnMgZm9yIHRoZSBtb3VzZSBkb3duIG9uIHRoZSBidXR0b24gY29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3BvaW50ZXJkb3duJylcclxuICAgIG9uTW91c2VEb3duKCkge1xyXG5cclxuICAgICAgICBpZih0aGlzLl9lbmFibGVkKXtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE9wYWNpdHkgPSB0aGlzLmNsaWNrT3BhY2l0eTtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50U2NhbGUgPSAnc2NhbGUoJyArICh0aGlzLmNsaWNrU2NhbGUgYXMgYW55IGFzIHN0cmluZykgKyAnKSc7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZiAodGhpcy52aWJyYXRlT25DbGljayA+IDAgJiYgd2luZG93Lm5hdmlnYXRvciAmJiB3aW5kb3cubmF2aWdhdG9yLnZpYnJhdGUpIHtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgd2luZG93Lm5hdmlnYXRvci52aWJyYXRlKHRoaXMudmlicmF0ZU9uQ2xpY2spO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIExpc3RlbnMgZm9yIHRoZSBtb3VzZSB1cCBvZiB0aGUgYnV0dG9uIGNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASG9zdExpc3RlbmVyKCdwb2ludGVydXAnKVxyXG4gICAgb25Nb3VzZVVwKCkge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fZW5hYmxlZCAmJiB0aGlzLnJlbGVhc2VPbk1vdXNlVXApIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE9wYWNpdHkgPSB0aGlzLmRlZmF1bHRPcGFjaXR5O1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTY2FsZSA9ICdzY2FsZSgnICsgKHRoaXMuZGVmYXVsdFNjYWxlIGFzIGFueSBhcyBzdHJpbmcpICsgJyknO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=