turbogui-angular 7.0.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 (150) hide show
  1. package/esm2020/main/controller/browser.service.mjs +48 -0
  2. package/esm2020/main/controller/dialog.service.mjs +324 -0
  3. package/esm2020/main/controller/globalerror.service.mjs +68 -0
  4. package/esm2020/main/controller/http.service.mjs +70 -0
  5. package/esm2020/main/controller/localization.service.mjs +22 -0
  6. package/esm2020/main/controller/notification.service.mjs +56 -0
  7. package/esm2020/main/controller/user.service.mjs +124 -0
  8. package/esm2020/main/controller/views.service.mjs +113 -0
  9. package/esm2020/main/model/modules/turbogui-angular.module.mjs +142 -0
  10. package/esm2020/main/view/animations/fade.animation.mjs +35 -0
  11. package/esm2020/main/view/components/busy-state-base/busy-state-base.component.mjs +38 -0
  12. package/esm2020/main/view/components/button-base/button-base.component.mjs +180 -0
  13. package/esm2020/main/view/components/button-container/button-container.component.mjs +34 -0
  14. package/esm2020/main/view/components/button-image/button-image.component.mjs +47 -0
  15. package/esm2020/main/view/components/dialog-error/dialog-error.component.mjs +41 -0
  16. package/esm2020/main/view/components/dialog-multiple-option/dialog-multiple-option.component.mjs +38 -0
  17. package/esm2020/main/view/components/dialog-single-option/dialog-single-option.component.mjs +41 -0
  18. package/esm2020/main/view/components/dialog-single-selection-list/dialog-single-selection-list.component.mjs +112 -0
  19. package/esm2020/main/view/components/dialog-two-option/dialog-two-option.component.mjs +42 -0
  20. package/{esm2015/main/view/components/views-container/views-container.component.js → esm2020/main/view/components/views-container/views-container.component.mjs} +15 -13
  21. package/esm2020/main/view/directives/AutoFocusOnDisplayDirective.mjs +39 -0
  22. package/esm2020/main/view/directives/AutoSelectTextOnFocusDirective.mjs +39 -0
  23. package/esm2020/main/view/directives/ElementCreatedDirective.mjs +42 -0
  24. package/esm2020/main/view/directives/ElementDestroyedDirective.mjs +42 -0
  25. package/{esm2015/public_api.js → esm2020/public_api.mjs} +1 -1
  26. package/esm2020/turbogui-angular.mjs +5 -0
  27. package/fesm2015/turbogui-angular.mjs +1953 -0
  28. package/fesm2015/turbogui-angular.mjs.map +1 -0
  29. package/{fesm2015/turbogui-angular.js → fesm2020/turbogui-angular.mjs} +368 -298
  30. package/fesm2020/turbogui-angular.mjs.map +1 -0
  31. package/main/controller/browser.service.d.ts +3 -8
  32. package/main/controller/browser.service.d.ts.map +1 -1
  33. package/main/controller/dialog.service.d.ts +3 -8
  34. package/main/controller/dialog.service.d.ts.map +1 -1
  35. package/main/controller/globalerror.service.d.ts +3 -0
  36. package/main/controller/globalerror.service.d.ts.map +1 -1
  37. package/main/controller/http.service.d.ts +3 -8
  38. package/main/controller/http.service.d.ts.map +1 -1
  39. package/main/controller/localization.service.d.ts +3 -8
  40. package/main/controller/localization.service.d.ts.map +1 -1
  41. package/main/controller/notification.service.d.ts +3 -8
  42. package/main/controller/notification.service.d.ts.map +1 -1
  43. package/main/controller/user.service.d.ts +3 -8
  44. package/main/controller/user.service.d.ts.map +1 -1
  45. package/main/controller/views.service.d.ts +3 -0
  46. package/main/controller/views.service.d.ts.map +1 -1
  47. package/main/model/modules/turbogui-angular.module.d.ts +23 -8
  48. package/main/model/modules/turbogui-angular.module.d.ts.map +1 -1
  49. package/main/view/animations/fade.animation.d.ts +3 -8
  50. package/main/view/animations/fade.animation.d.ts.map +1 -1
  51. package/main/view/components/busy-state-base/busy-state-base.component.d.ts +3 -8
  52. package/main/view/components/busy-state-base/busy-state-base.component.d.ts.map +1 -1
  53. package/main/view/components/button-base/button-base.component.d.ts +3 -0
  54. package/main/view/components/button-base/button-base.component.d.ts.map +1 -1
  55. package/main/view/components/button-container/button-container.component.d.ts +3 -8
  56. package/main/view/components/button-container/button-container.component.d.ts.map +1 -1
  57. package/main/view/components/button-image/button-image.component.d.ts +3 -0
  58. package/main/view/components/button-image/button-image.component.d.ts.map +1 -1
  59. package/main/view/components/dialog-error/dialog-error.component.d.ts +3 -8
  60. package/main/view/components/dialog-error/dialog-error.component.d.ts.map +1 -1
  61. package/main/view/components/dialog-multiple-option/dialog-multiple-option.component.d.ts +3 -8
  62. package/main/view/components/dialog-multiple-option/dialog-multiple-option.component.d.ts.map +1 -1
  63. package/main/view/components/dialog-single-option/dialog-single-option.component.d.ts +3 -8
  64. package/main/view/components/dialog-single-option/dialog-single-option.component.d.ts.map +1 -1
  65. package/main/view/components/dialog-single-selection-list/dialog-single-selection-list.component.d.ts +3 -8
  66. package/main/view/components/dialog-single-selection-list/dialog-single-selection-list.component.d.ts.map +1 -1
  67. package/main/view/components/dialog-two-option/dialog-two-option.component.d.ts +3 -8
  68. package/main/view/components/dialog-two-option/dialog-two-option.component.d.ts.map +1 -1
  69. package/main/view/components/views-container/views-container.component.d.ts +3 -0
  70. package/main/view/components/views-container/views-container.component.d.ts.map +1 -1
  71. package/main/view/directives/AutoFocusOnDisplayDirective.d.ts +3 -0
  72. package/main/view/directives/AutoFocusOnDisplayDirective.d.ts.map +1 -1
  73. package/main/view/directives/AutoSelectTextOnFocusDirective.d.ts +3 -0
  74. package/main/view/directives/AutoSelectTextOnFocusDirective.d.ts.map +1 -1
  75. package/main/view/directives/ElementCreatedDirective.d.ts +3 -0
  76. package/main/view/directives/ElementCreatedDirective.d.ts.map +1 -1
  77. package/main/view/directives/ElementDestroyedDirective.d.ts +3 -0
  78. package/main/view/directives/ElementDestroyedDirective.d.ts.map +1 -1
  79. package/package.json +24 -12
  80. package/turbogui-angular.d.ts +1 -2
  81. package/turbogui-angular.d.ts.map +1 -1
  82. package/bundles/turbogui-angular.umd.js +0 -2431
  83. package/bundles/turbogui-angular.umd.js.map +0 -1
  84. package/esm2015/main/controller/browser.service.js +0 -48
  85. package/esm2015/main/controller/dialog.service.js +0 -329
  86. package/esm2015/main/controller/globalerror.service.js +0 -65
  87. package/esm2015/main/controller/http.service.js +0 -70
  88. package/esm2015/main/controller/localization.service.js +0 -19
  89. package/esm2015/main/controller/notification.service.js +0 -53
  90. package/esm2015/main/controller/user.service.js +0 -125
  91. package/esm2015/main/controller/views.service.js +0 -113
  92. package/esm2015/main/model/modules/turbogui-angular.module.js +0 -93
  93. package/esm2015/main/view/animations/fade.animation.js +0 -32
  94. package/esm2015/main/view/components/busy-state-base/busy-state-base.component.js +0 -39
  95. package/esm2015/main/view/components/button-base/button-base.component.js +0 -149
  96. package/esm2015/main/view/components/button-container/button-container.component.js +0 -35
  97. package/esm2015/main/view/components/button-image/button-image.component.js +0 -46
  98. package/esm2015/main/view/components/dialog-error/dialog-error.component.js +0 -39
  99. package/esm2015/main/view/components/dialog-multiple-option/dialog-multiple-option.component.js +0 -36
  100. package/esm2015/main/view/components/dialog-single-option/dialog-single-option.component.js +0 -39
  101. package/esm2015/main/view/components/dialog-single-selection-list/dialog-single-selection-list.component.js +0 -108
  102. package/esm2015/main/view/components/dialog-two-option/dialog-two-option.component.js +0 -40
  103. package/esm2015/main/view/directives/AutoFocusOnDisplayDirective.js +0 -40
  104. package/esm2015/main/view/directives/AutoSelectTextOnFocusDirective.js +0 -39
  105. package/esm2015/main/view/directives/ElementCreatedDirective.js +0 -38
  106. package/esm2015/main/view/directives/ElementDestroyedDirective.js +0 -38
  107. package/esm2015/turbogui-angular.js +0 -7
  108. package/fesm2015/turbogui-angular.js.map +0 -1
  109. package/main/controller/browser.service.ngfactory.d.ts.map +0 -1
  110. package/main/controller/dialog.service.ngfactory.d.ts.map +0 -1
  111. package/main/controller/globalerror.service.ngfactory.d.ts.map +0 -1
  112. package/main/controller/http.service.ngfactory.d.ts.map +0 -1
  113. package/main/controller/localization.service.ngfactory.d.ts.map +0 -1
  114. package/main/controller/notification.service.ngfactory.d.ts.map +0 -1
  115. package/main/controller/user.service.ngfactory.d.ts.map +0 -1
  116. package/main/controller/views.service.ngfactory.d.ts.map +0 -1
  117. package/main/model/modules/turbogui-angular.module.ngfactory.d.ts.map +0 -1
  118. package/main/view/animations/fade.animation.ngfactory.d.ts.map +0 -1
  119. package/main/view/components/busy-state-base/busy-state-base.component.ngfactory.d.ts.map +0 -1
  120. package/main/view/components/busy-state-base/busy-state-base.component.scss.shim.ngstyle.d.ts.map +0 -1
  121. package/main/view/components/button-container/button-container.component.ngfactory.d.ts.map +0 -1
  122. package/main/view/components/button-container/button-container.component.scss.shim.ngstyle.d.ts.map +0 -1
  123. package/main/view/components/button-image/button-image.component.ngfactory.d.ts.map +0 -1
  124. package/main/view/components/button-image/button-image.component.scss.shim.ngstyle.d.ts.map +0 -1
  125. package/main/view/components/dialog-error/dialog-error.component.ngfactory.d.ts.map +0 -1
  126. package/main/view/components/dialog-error/dialog-error.component.scss.shim.ngstyle.d.ts.map +0 -1
  127. package/main/view/components/dialog-multiple-option/dialog-multiple-option.component.ngfactory.d.ts.map +0 -1
  128. package/main/view/components/dialog-multiple-option/dialog-multiple-option.component.scss.shim.ngstyle.d.ts.map +0 -1
  129. package/main/view/components/dialog-single-option/dialog-single-option.component.ngfactory.d.ts.map +0 -1
  130. package/main/view/components/dialog-single-option/dialog-single-option.component.scss.shim.ngstyle.d.ts.map +0 -1
  131. package/main/view/components/dialog-single-selection-list/dialog-single-selection-list.component.ngfactory.d.ts.map +0 -1
  132. package/main/view/components/dialog-single-selection-list/dialog-single-selection-list.component.scss.shim.ngstyle.d.ts.map +0 -1
  133. package/main/view/components/dialog-two-option/dialog-two-option.component.ngfactory.d.ts.map +0 -1
  134. package/main/view/components/dialog-two-option/dialog-two-option.component.scss.shim.ngstyle.d.ts.map +0 -1
  135. package/main/view/components/views-container/views-container.component.ngfactory.d.ts.map +0 -1
  136. package/main/view/components/views-container/views-container.component.scss.shim.ngstyle.d.ts.map +0 -1
  137. package/main/view/directives/AutoFocusOnDisplayDirective.ngfactory.d.ts.map +0 -1
  138. package/main/view/directives/AutoSelectTextOnFocusDirective.ngfactory.d.ts.map +0 -1
  139. package/main/view/directives/ElementCreatedDirective.ngfactory.d.ts.map +0 -1
  140. package/main/view/directives/ElementDestroyedDirective.ngfactory.d.ts.map +0 -1
  141. package/turbogui-angular.metadata.json +0 -1
  142. /package/{esm2015/main/controller/httpservice/HTTPServiceGetRequest.js → esm2020/main/controller/httpservice/HTTPServiceGetRequest.mjs} +0 -0
  143. /package/{esm2015/main/controller/httpservice/HTTPServicePostRequest.js → esm2020/main/controller/httpservice/HTTPServicePostRequest.mjs} +0 -0
  144. /package/{esm2015/main/managers/DelayedMethodCallManager.js → esm2020/main/managers/DelayedMethodCallManager.mjs} +0 -0
  145. /package/{esm2015/main/model/classes/GUINotification.js → esm2020/main/model/classes/GUINotification.mjs} +0 -0
  146. /package/{esm2015/main/model/classes/View.js → esm2020/main/model/classes/View.mjs} +0 -0
  147. /package/{esm2015/main/model/classes/ViewModel.js → esm2020/main/model/classes/ViewModel.mjs} +0 -0
  148. /package/{esm2015/main/model/classes/ViewService.js → esm2020/main/model/classes/ViewService.mjs} +0 -0
  149. /package/{esm2015/main/view/components/dialog-base/dialog-base.component.js → esm2020/main/view/components/dialog-base/dialog-base.component.mjs} +0 -0
  150. /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,93 +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 { MatInputModule } from '@angular/material/input';
12
- import { MatSnackBarModule } from '@angular/material/snack-bar';
13
- import { MatButtonModule } from '@angular/material/button';
14
- import { MatFormFieldModule } from '@angular/material/form-field';
15
- import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
16
- import { BusyStateBaseComponent } from '../../view/components/busy-state-base/busy-state-base.component';
17
- import { DialogService } from '../../controller/dialog.service';
18
- import { LocalizationService } from '../../controller/localization.service';
19
- import { HTTPService } from '../../controller/http.service';
20
- import { NotificationService } from '../../controller/notification.service';
21
- import { UserService } from '../../controller/user.service';
22
- import { ViewsService } from '../../controller/views.service';
23
- import { ViewsContainerComponent } from '../../view/components/views-container/views-container.component';
24
- import { ButtonImageComponent } from '../../view/components/button-image/button-image.component';
25
- import { ButtonContainerComponent } from '../../view/components/button-container/button-container.component';
26
- import { DialogErrorComponent } from '../../view/components/dialog-error/dialog-error.component';
27
- import { DialogSingleOptionComponent } from '../../view/components/dialog-single-option/dialog-single-option.component';
28
- import { DialogTwoOptionComponent } from '../../view/components/dialog-two-option/dialog-two-option.component';
29
- import { DialogSingleSelectionListComponent } from '../../view/components/dialog-single-selection-list/dialog-single-selection-list.component';
30
- import { DialogMultipleOptionComponent } from '../../view/components/dialog-multiple-option/dialog-multiple-option.component';
31
- import { BrowserService } from '../../controller/browser.service';
32
- import { ElementCreatedDirective } from '../../view/directives/ElementCreatedDirective';
33
- import { ElementDestroyedDirective } from '../../view/directives/ElementDestroyedDirective';
34
- import { AutoFocusOnDisplayDirective } from '../../view/directives/AutoFocusOnDisplayDirective';
35
- import { AutoSelectTextOnFocusDirective } from '../../view/directives/AutoSelectTextOnFocusDirective';
36
- /**
37
- * This file contains the root module that contains all the library declarations and exports.
38
- */
39
- export class TurboGuiAngularModule {
40
- }
41
- TurboGuiAngularModule.decorators = [
42
- { type: NgModule, args: [{
43
- imports: [
44
- MatDialogModule,
45
- MatSnackBarModule,
46
- MatInputModule,
47
- MatButtonModule,
48
- MatFormFieldModule,
49
- BrowserAnimationsModule
50
- ],
51
- declarations: [
52
- BusyStateBaseComponent,
53
- DialogErrorComponent,
54
- DialogSingleOptionComponent,
55
- DialogTwoOptionComponent,
56
- DialogMultipleOptionComponent,
57
- DialogSingleSelectionListComponent,
58
- ViewsContainerComponent,
59
- ButtonImageComponent,
60
- ButtonContainerComponent,
61
- ElementCreatedDirective,
62
- ElementDestroyedDirective,
63
- AutoFocusOnDisplayDirective,
64
- AutoSelectTextOnFocusDirective
65
- ],
66
- // Globally available singleton services are added here
67
- providers: [
68
- DialogService,
69
- LocalizationService,
70
- HTTPService,
71
- NotificationService,
72
- UserService,
73
- ViewsService,
74
- BrowserService
75
- ],
76
- exports: [
77
- BusyStateBaseComponent,
78
- ViewsContainerComponent,
79
- ButtonImageComponent,
80
- ButtonContainerComponent,
81
- DialogErrorComponent,
82
- DialogSingleOptionComponent,
83
- DialogTwoOptionComponent,
84
- DialogMultipleOptionComponent,
85
- DialogSingleSelectionListComponent,
86
- ElementCreatedDirective,
87
- ElementDestroyedDirective,
88
- AutoFocusOnDisplayDirective,
89
- AutoSelectTextOnFocusDirective
90
- ]
91
- },] }
92
- ];
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHVyYm9ndWktYW5ndWxhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXJib2d1aS1hbmd1bGFyL3NyYy9tYWluL21vZGVsL21vZHVsZXMvdHVyYm9ndWktYW5ndWxhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDekcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDJGQUEyRixDQUFDO0FBQy9JLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQzlILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUd0Rzs7R0FFRztBQXdESCxNQUFNLE9BQU8scUJBQXFCOzs7WUF2RGpDLFFBQVEsU0FBQztnQkFFTixPQUFPLEVBQUU7b0JBQ0wsZUFBZTtvQkFDZixpQkFBaUI7b0JBQ2pCLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixrQkFBa0I7b0JBQ2xCLHVCQUF1QjtpQkFDMUI7Z0JBRUQsWUFBWSxFQUFFO29CQUNWLHNCQUFzQjtvQkFDdEIsb0JBQW9CO29CQUNwQiwyQkFBMkI7b0JBQzNCLHdCQUF3QjtvQkFDeEIsNkJBQTZCO29CQUM3QixrQ0FBa0M7b0JBQ2xDLHVCQUF1QjtvQkFDdkIsb0JBQW9CO29CQUNwQix3QkFBd0I7b0JBQ3hCLHVCQUF1QjtvQkFDdkIseUJBQXlCO29CQUN6QiwyQkFBMkI7b0JBQzNCLDhCQUE4QjtpQkFDakM7Z0JBRUQsdURBQXVEO2dCQUN2RCxTQUFTLEVBQUU7b0JBQ1AsYUFBYTtvQkFDYixtQkFBbUI7b0JBQ25CLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixXQUFXO29CQUNYLFlBQVk7b0JBQ1osY0FBYztpQkFDakI7Z0JBRUQsT0FBTyxFQUFFO29CQUNMLHNCQUFzQjtvQkFDdEIsdUJBQXVCO29CQUN2QixvQkFBb0I7b0JBQ3BCLHdCQUF3QjtvQkFDeEIsb0JBQW9CO29CQUNwQiwyQkFBMkI7b0JBQzNCLHdCQUF3QjtvQkFDeEIsNkJBQTZCO29CQUM3QixrQ0FBa0M7b0JBQ2xDLHVCQUF1QjtvQkFDdkIseUJBQXlCO29CQUN6QiwyQkFBMkI7b0JBQzNCLDhCQUE4QjtpQkFDakM7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVHVyYm9HVUkgaXMgQSBsaWJyYXJ5IHRoYXQgaGVscHMgd2l0aCB0aGUgbW9zdCBjb21tb24gYW5kIGdlbmVyaWMgVUkgZWxlbWVudHMgYW5kIGZ1bmN0aW9uYWxpdGllc1xuICpcbiAqIFdlYnNpdGUgOiAtPiBodHRwOi8vd3d3LnR1cmJvZ3VpLm9yZ1xuICogTGljZW5zZSA6IC0+IExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIExpY2Vuc2UgVXJsIDogLT4gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKiBDb3B5UmlnaHQgOiAtPiBDb3B5cmlnaHQgMjAxOCBFZGVydG9uZSBBZHZhbmRlZCBTb2x1dGlvbnMuIGh0dHBzOi8vd3d3LmVkZXJ0b25lLmNvbVxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRTbmFja0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBCdXN5U3RhdGVCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9jb21wb25lbnRzL2J1c3ktc3RhdGUtYmFzZS9idXN5LXN0YXRlLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb250cm9sbGVyL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnRyb2xsZXIvbG9jYWxpemF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIVFRQU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnRyb2xsZXIvaHR0cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnRyb2xsZXIvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb250cm9sbGVyL3VzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBWaWV3c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb250cm9sbGVyL3ZpZXdzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBWaWV3c0NvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3ZpZXcvY29tcG9uZW50cy92aWV3cy1jb250YWluZXIvdmlld3MtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbkltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9jb21wb25lbnRzL2J1dHRvbi1pbWFnZS9idXR0b24taW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3ZpZXcvY29tcG9uZW50cy9idXR0b24tY29udGFpbmVyL2J1dHRvbi1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ0Vycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9jb21wb25lbnRzL2RpYWxvZy1lcnJvci9kaWFsb2ctZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ1NpbmdsZU9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3ZpZXcvY29tcG9uZW50cy9kaWFsb2ctc2luZ2xlLW9wdGlvbi9kaWFsb2ctc2luZ2xlLW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nVHdvT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9jb21wb25lbnRzL2RpYWxvZy10d28tb3B0aW9uL2RpYWxvZy10d28tb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaWFsb2dTaW5nbGVTZWxlY3Rpb25MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9jb21wb25lbnRzL2RpYWxvZy1zaW5nbGUtc2VsZWN0aW9uLWxpc3QvZGlhbG9nLXNpbmdsZS1zZWxlY3Rpb24tbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dNdWx0aXBsZU9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3ZpZXcvY29tcG9uZW50cy9kaWFsb2ctbXVsdGlwbGUtb3B0aW9uL2RpYWxvZy1tdWx0aXBsZS1vcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb250cm9sbGVyL2Jyb3dzZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEVsZW1lbnRDcmVhdGVkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vdmlldy9kaXJlY3RpdmVzL0VsZW1lbnRDcmVhdGVkRGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRWxlbWVudERlc3Ryb3llZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3ZpZXcvZGlyZWN0aXZlcy9FbGVtZW50RGVzdHJveWVkRGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQXV0b0ZvY3VzT25EaXNwbGF5RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vdmlldy9kaXJlY3RpdmVzL0F1dG9Gb2N1c09uRGlzcGxheURpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEF1dG9TZWxlY3RUZXh0T25Gb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3ZpZXcvZGlyZWN0aXZlcy9BdXRvU2VsZWN0VGV4dE9uRm9jdXNEaXJlY3RpdmUnO1xuXG5cbi8qKlxuICogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSByb290IG1vZHVsZSB0aGF0IGNvbnRhaW5zIGFsbCB0aGUgbGlicmFyeSBkZWNsYXJhdGlvbnMgYW5kIGV4cG9ydHMuXG4gKi9cbkBOZ01vZHVsZSh7XG5cbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgTWF0U25hY2tCYXJNb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGVcbiAgICBdLFxuXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEJ1c3lTdGF0ZUJhc2VDb21wb25lbnQsXG4gICAgICAgIERpYWxvZ0Vycm9yQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dTaW5nbGVPcHRpb25Db21wb25lbnQsXG4gICAgICAgIERpYWxvZ1R3b09wdGlvbkNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nTXVsdGlwbGVPcHRpb25Db21wb25lbnQsXG4gICAgICAgIERpYWxvZ1NpbmdsZVNlbGVjdGlvbkxpc3RDb21wb25lbnQsXG4gICAgICAgIFZpZXdzQ29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25JbWFnZUNvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uQ29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICBFbGVtZW50Q3JlYXRlZERpcmVjdGl2ZSxcbiAgICAgICAgRWxlbWVudERlc3Ryb3llZERpcmVjdGl2ZSxcbiAgICAgICAgQXV0b0ZvY3VzT25EaXNwbGF5RGlyZWN0aXZlLFxuICAgICAgICBBdXRvU2VsZWN0VGV4dE9uRm9jdXNEaXJlY3RpdmVcbiAgICBdLFxuXG4gICAgLy8gR2xvYmFsbHkgYXZhaWxhYmxlIHNpbmdsZXRvbiBzZXJ2aWNlcyBhcmUgYWRkZWQgaGVyZVxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBMb2NhbGl6YXRpb25TZXJ2aWNlLFxuICAgICAgICBIVFRQU2VydmljZSxcbiAgICAgICAgTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgVXNlclNlcnZpY2UsXG4gICAgICAgIFZpZXdzU2VydmljZSxcbiAgICAgICAgQnJvd3NlclNlcnZpY2VcbiAgICBdLFxuXG4gICAgZXhwb3J0czogW1xuICAgICAgICBCdXN5U3RhdGVCYXNlQ29tcG9uZW50LFxuICAgICAgICBWaWV3c0NvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uSW1hZ2VDb21wb25lbnQsXG4gICAgICAgIEJ1dHRvbkNvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nRXJyb3JDb21wb25lbnQsXG4gICAgICAgIERpYWxvZ1NpbmdsZU9wdGlvbkNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nVHdvT3B0aW9uQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dNdWx0aXBsZU9wdGlvbkNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nU2luZ2xlU2VsZWN0aW9uTGlzdENvbXBvbmVudCxcbiAgICAgICAgRWxlbWVudENyZWF0ZWREaXJlY3RpdmUsXG4gICAgICAgIEVsZW1lbnREZXN0cm95ZWREaXJlY3RpdmUsXG4gICAgICAgIEF1dG9Gb2N1c09uRGlzcGxheURpcmVjdGl2ZSxcbiAgICAgICAgQXV0b1NlbGVjdFRleHRPbkZvY3VzRGlyZWN0aXZlXG4gICAgXVxufSlcblxuZXhwb3J0IGNsYXNzIFR1cmJvR3VpQW5ndWxhck1vZHVsZSB7IH1cbiJdfQ==
@@ -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:0px;left:0px;right:0px;bottom:0px;display:flex;justify-content:center;align-items:center;z-index:999999999}.darkBg{position:absolute;cursor:progress;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:#00000096;animation-name:bgfadein;animation-duration:30s;animation-timing-function:ease}svg{z-index:5000;width:40%;height:40%;max-width:130px;max-height:130px;animation-name:loadingfadein;animation-duration:3s;animation-timing-function:ease-in}@keyframes loadingfadein{0%{opacity:0}25%{opacity:0}to{opacity:1}}@keyframes bgfadein{0%{opacity:0}4%{opacity:0}14%{opacity:.2}35%{opacity:.5}to{opacity:1}}\n"]
34
- },] }
35
- ];
36
- BusyStateBaseComponent.propDecorators = {
37
- busyStateBaseFade: [{ type: HostBinding, args: ['@busyStateBaseFade',] }]
38
- };
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzeS1zdGF0ZS1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1cmJvZ3VpLWFuZ3VsYXIvc3JjL21haW4vdmlldy9jb21wb25lbnRzL2J1c3ktc3RhdGUtYmFzZS9idXN5LXN0YXRlLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdyRTs7Ozs7Ozs7R0FRRztBQVNILE1BQU0sT0FBTyxzQkFBc0I7SUFSbkM7UUFXSTs7V0FFRztRQUNnQyxzQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDaEUsQ0FBQzs7O1lBZkEsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLDJ2QkFBK0M7Z0JBQy9DLFVBQVUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7O2FBRTFGOzs7Z0NBU0ksV0FBVyxTQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUdXJib0dVSSBpcyBBIGxpYnJhcnkgdGhhdCBoZWxwcyB3aXRoIHRoZSBtb3N0IGNvbW1vbiBhbmQgZ2VuZXJpYyBVSSBlbGVtZW50cyBhbmQgZnVuY3Rpb25hbGl0aWVzXHJcbiAqXHJcbiAqIFdlYnNpdGUgOiAtPiBodHRwOi8vd3d3LnR1cmJvZ3VpLm9yZ1xyXG4gKiBMaWNlbnNlIDogLT4gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMC4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxyXG4gKiBMaWNlbnNlIFVybCA6IC0+IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxyXG4gKiBDb3B5UmlnaHQgOiAtPiBDb3B5cmlnaHQgMjAxOCBFZGVydG9uZSBBZHZhbmRlZCBTb2x1dGlvbnMuIGh0dHBzOi8vd3d3LmVkZXJ0b25lLmNvbVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmFkZUFuaW1hdGlvbkNsYXNzIH0gZnJvbSAnLi4vLi4vYW5pbWF0aW9ucy9mYWRlLmFuaW1hdGlvbic7XHJcblxyXG5cclxuLyoqXHJcbiAqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgYnkgdHVyYm9HVUkgYW5ndWxhciBsaWJyYXJ5IHRvIHNob3cgdGhlIGJ1c3kgc3RhdGUgdG8gdGhlIHVzZXIuXHJcbiAqIEl0IGlzIHVzZWQgdG8gYmxvY2sgYWxsIHRoZSB1c2VyIGlucHV0IGFuZCBwcm9ncmVzc2l2ZWx5IHNob3dzIGEgYnVzeSBjdXJzb3IgdG8gbm90aWZ5IHRoYXQgdGhlIGFwcGxpY2F0aW9uXHJcbiAqIGlzIHdhaXRpbmcgZm9yIHNvbWV0aGluZy5cclxuICpcclxuICogV2UgY2FuIChzaG91bGQpIG92ZXJyaWRlIHRoaXMgY29tcG9uZW50IHdpdGggb3VyIG93biBvbmUgdG8gYWRhcHQgaXRzIHZpc3VhbCBhcHBlYXJhbmNlIHRvIG91ciBhcHBsaWNhdGlvbi5cclxuICogV2UgY2FuIHRoZW4gc2V0IGRpYWxvZ1NlcnZpY2UuYnVzeVN0YXRlQ29tcG9uZW50Q2xhc3MgdG8gb3VyIGNvbXBvbmVudCBjbGFzcyBhdCB0aGUgYXBwbGljYXRpb24gc3RhcnQgdG8gdG9cclxuICogb3ZlcnJpZGUgdGhlIGRlZmF1bHQgb25lLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0Zy1idXN5LXN0YXRlLWJhc2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXN5LXN0YXRlLWJhc2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGFuaW1hdGlvbnM6IFtGYWRlQW5pbWF0aW9uQ2xhc3MuZ2V0VHJpZ2dlcignYnVzeVN0YXRlQmFzZUZhZGUnLCAnMXMgZWFzZScsICc0MDBtcyBlYXNlJyldLFxyXG4gIHN0eWxlVXJsczogWycuL2J1c3ktc3RhdGUtYmFzZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEJ1c3lTdGF0ZUJhc2VDb21wb25lbnQge1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoaXMgaXMgdXNlZCB0byBhdHRhY2ggdGhlIGZhZGUgYW5pbWF0aW9uIGRpcmVjdGx5IHRvIHRoaXMgY29tcG9uZW50IHNvIGl0IGZhZGVzIGluIGFuZCBvdXQgd2hlbiBjcmVhdGVkIGFuZCByZW1vdmVkIGZyb20gdGhlIGFwcFxyXG4gICAgICovXHJcbiAgICBASG9zdEJpbmRpbmcoJ0BidXN5U3RhdGVCYXNlRmFkZScpIGJ1c3lTdGF0ZUJhc2VGYWRlID0gdHJ1ZTtcclxufVxyXG4iXX0=
@@ -1,149 +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
- }
111
- }
112
- /**
113
- * Listens for the mouse up of the button component
114
- */
115
- onMouseUp() {
116
- if (this._enabled) {
117
- if (this.vibrateOnClick > 0 && window.navigator && window.navigator.vibrate) {
118
- window.navigator.vibrate(this.vibrateOnClick);
119
- }
120
- if (this.releaseOnMouseUp) {
121
- this.currentOpacity = this.defaultOpacity;
122
- this.currentScale = 'scale(' + this.defaultScale + ')';
123
- }
124
- }
125
- }
126
- }
127
- ButtonBaseComponent.decorators = [
128
- { type: Directive }
129
- ];
130
- ButtonBaseComponent.propDecorators = {
131
- currentOpacity: [{ type: HostBinding, args: ['style.opacity',] }],
132
- currentScale: [{ type: HostBinding, args: ['style.transform',] }],
133
- pointerEvents: [{ type: HostBinding, args: ['style.pointer-events',] }],
134
- releaseOnMouseUp: [{ type: Input }],
135
- vibrateOnClick: [{ type: Input }],
136
- defaultOpacity: [{ type: Input }],
137
- defaultScale: [{ type: Input }],
138
- hoverOpacity: [{ type: Input }],
139
- hoverScale: [{ type: Input }],
140
- clickOpacity: [{ type: Input }],
141
- clickScale: [{ type: Input }],
142
- disabledOpacity: [{ type: Input }],
143
- enabled: [{ type: Input }],
144
- onMouseOver: [{ type: HostListener, args: ['mouseover',] }],
145
- onMouseOut: [{ type: HostListener, args: ['mouseout',] }, { type: HostListener, args: ['pointerout',] }, { type: HostListener, args: ['pointerleave',] }],
146
- onMouseDown: [{ type: HostListener, args: ['pointerdown',] }],
147
- onMouseUp: [{ type: HostListener, args: ['pointerup',] }]
148
- };
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVyYm9ndWktYW5ndWxhci9zcmMvbWFpbi92aWV3L2NvbXBvbmVudHMvYnV0dG9uLWJhc2UvYnV0dG9uLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFFSCxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3BGOztHQUVHO0FBRUgsTUFBTSxPQUFnQixtQkFBbUI7SUFEekM7UUFJSTs7V0FFRztRQUMyQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUdsRDs7V0FFRztRQUM2QixpQkFBWSxHQUFHLFVBQVUsQ0FBQztRQUcxRDs7V0FFRztRQUNrQyxrQkFBYSxHQUFHLFNBQVMsQ0FBQztRQUcvRDs7V0FFRztRQUNNLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUdqQzs7O1dBR0c7UUFDTSxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUc3Qjs7V0FFRztRQUNNLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBRzdCOztXQUVHO1FBQ00saUJBQVksR0FBRyxDQUFDLENBQUM7UUFHMUI7O1dBRUc7UUFDTSxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUczQjs7V0FFRztRQUNNLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFHeEI7O1dBRUc7UUFDTSxpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUcxQjs7V0FFRztRQUNNLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFHeEI7O1dBRUc7UUFDTSxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUc5Qjs7V0FFRztRQUNLLGFBQVEsR0FBRyxJQUFJLENBQUM7SUEwRjVCLENBQUM7SUF2Rkc7O09BRUc7SUFDSCxJQUFhLE9BQU8sQ0FBQyxDQUFTO1FBRTFCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBRXJFLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNoRCxDQUFDO0lBQUEsQ0FBQztJQUdGOztPQUVHO0lBQ0gsUUFBUTtRQUVKLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUNqRixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQztJQUNuQyxDQUFDO0lBR0Q7O09BRUc7SUFFSCxXQUFXO1FBRVAsSUFBRyxJQUFJLENBQUMsUUFBUSxFQUFDO1lBRWIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxHQUFJLElBQUksQ0FBQyxVQUE0QixHQUFHLEdBQUcsQ0FBQztTQUMzRTtJQUNMLENBQUM7SUFHRDs7T0FFRztJQUlILFVBQVU7UUFFTixJQUFHLElBQUksQ0FBQyxRQUFRLEVBQUM7WUFFYixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLEdBQUksSUFBSSxDQUFDLFlBQThCLEdBQUcsR0FBRyxDQUFDO1NBQzdFO0lBQ0wsQ0FBQztJQUdEOztPQUVHO0lBRUgsV0FBVztRQUVQLElBQUcsSUFBSSxDQUFDLFFBQVEsRUFBQztZQUViLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsR0FBSSxJQUFJLENBQUMsVUFBNEIsR0FBRyxHQUFHLENBQUM7U0FDM0U7SUFDTCxDQUFDO0lBR0Q7O09BRUc7SUFFSCxTQUFTO1FBRUwsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBRWYsSUFBSSxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFO2dCQUV6RSxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDakQ7WUFFRCxJQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBQztnQkFFckIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO2dCQUMxQyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsR0FBSSxJQUFJLENBQUMsWUFBOEIsR0FBRyxHQUFHLENBQUM7YUFDN0U7U0FDSjtJQUNMLENBQUM7OztZQXpLSixTQUFTOzs7NkJBT0wsV0FBVyxTQUFDLGVBQWU7MkJBTTNCLFdBQVcsU0FBQyxpQkFBaUI7NEJBTTdCLFdBQVcsU0FBQyxzQkFBc0I7K0JBTWxDLEtBQUs7NkJBT0wsS0FBSzs2QkFNTCxLQUFLOzJCQU1MLEtBQUs7MkJBTUwsS0FBSzt5QkFNTCxLQUFLOzJCQU1MLEtBQUs7eUJBTUwsS0FBSzs4QkFNTCxLQUFLO3NCQVlMLEtBQUs7MEJBdUJMLFlBQVksU0FBQyxXQUFXO3lCQWN4QixZQUFZLFNBQUMsVUFBVSxjQUN2QixZQUFZLFNBQUMsWUFBWSxjQUN6QixZQUFZLFNBQUMsY0FBYzswQkFjM0IsWUFBWSxTQUFDLGFBQWE7d0JBYzFCLFlBQVksU0FBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFR1cmJvR1VJIGlzIEEgbGlicmFyeSB0aGF0IGhlbHBzIHdpdGggdGhlIG1vc3QgY29tbW9uIGFuZCBnZW5lcmljIFVJIGVsZW1lbnRzIGFuZCBmdW5jdGlvbmFsaXRpZXNcclxuICpcclxuICogV2Vic2l0ZSA6IC0+IGh0dHA6Ly93d3cudHVyYm9ndWkub3JnXHJcbiAqIExpY2Vuc2UgOiAtPiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXHJcbiAqIExpY2Vuc2UgVXJsIDogLT4gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXHJcbiAqIENvcHlSaWdodCA6IC0+IENvcHlyaWdodCAyMDE4IEVkZXJ0b25lIEFkdmFuZGVkIFNvbHV0aW9ucy4gaHR0cHM6Ly93d3cuZWRlcnRvbmUuY29tXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5cclxuLyoqXHJcbiAqIFRoaXMgaXMgdGhlIGJhc2UgY2xhc3MgZm9yIGFsbCBidXR0b24gY29tcG9uZW50c1xyXG4gKi9cclxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQnV0dG9uQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVmaW5lcyB0aGUgYWN0dWFsIG9wYWNpdHkgdGhhdCBpcyBiaW5kZWQgb24gdGhlIGh0bWwgcGFydFxyXG4gICAgICovXHJcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm9wYWNpdHknKSBjdXJyZW50T3BhY2l0eSA9IC43O1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIERlZmluZXMgdGhlIGFjdHVhbCBzY2FsZSB0aGF0IGlzIGJpbmRlZCBvbiB0aGUgaHRtbCBwYXJ0XHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnc3R5bGUudHJhbnNmb3JtJykgY3VycmVudFNjYWxlID0gJ3NjYWxlKDEpJztcclxuICAgIFxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIERlZmluZXMgaWYgdGhlIGJ1dHRvbiBjYW4gYmUgY2xpY2tlZCBvciBub3RcclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wb2ludGVyLWV2ZW50cycpIHBvaW50ZXJFdmVudHMgPSAnaW5pdGlhbCc7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU3BlY2lmaWVzIGlmIHRoZSBidXR0b24gYW5pbWF0aW9ucyBtdXN0IHJvbGxiYWNrIHdoZW4gdGhlIHVzZXIgcmVsZWFzZXMgdGhlIG1vdXNlIG9yIHBvaW50ZXIgYWZ0ZXIgcHJlc3NpbmcgaXRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcmVsZWFzZU9uTW91c2VVcCA9IHRydWU7XHJcbiAgICBcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGFtb3VudCBvZiBtaWxsaXNlY29uZHMgdGhhdCB0aGUgYnV0dG9uIHdpbGwgdmlicmF0ZSB3aGVuIGl0IGdldHMgY2xpY2tlZCAob25seSBvbiBjb21wYXRpYmxlIGRldmljZXMgYW5kIGJyb3dzZXJzKVxyXG4gICAgICogU2V0IGl0IHRvIDAgdG8gZGlzYWJsZSBjbGljayB2aWJyYXRpb25cclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgdmlicmF0ZU9uQ2xpY2sgPSAyNTtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZWZpbmVzIHRoZSBidXR0b24gb3BhY2l0eSB3aGVuIGl0IGlzIG5vdCBjbGlja2VkXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGRlZmF1bHRPcGFjaXR5ID0gLjc7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVmaW5lcyB0aGUgaW1hZ2Ugc2NhbGUgd2hlbiBpdCBpcyBub3QgY2xpY2tlZFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBkZWZhdWx0U2NhbGUgPSAxO1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIERlZmluZXMgdGhlIGJ1dHRvbiBvcGFjaXR5IHdoZW4gaXQgaXMgaG92ZXJlZFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBob3Zlck9wYWNpdHkgPSAuODtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZWZpbmVzIHRoZSBpbWFnZSBzY2FsZSB3aGVuIGl0IGlzIGhvdmVyZWRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgaG92ZXJTY2FsZSA9IDE7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVmaW5lcyB0aGUgYnV0dG9uIG9wYWNpdHkgd2hlbiBpdCBpcyBjbGlja2VkXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGNsaWNrT3BhY2l0eSA9IDE7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVmaW5lcyB0aGUgaW1hZ2Ugc2NhbGUgd2hlbiBpdCBpcyBjbGlja2VkXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGNsaWNrU2NhbGUgPSAxO1xyXG4gICAgXHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogRGVmaW5lcyB0aGUgYnV0dG9uIG9wYWNpdHkgd2hlbiBpdCBpcyBkaXNhYmxlZFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBkaXNhYmxlZE9wYWNpdHkgPSAuMjtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTdG9yZXMgdGhlIHZhbHVlIHRoYXQgdGVsbHMgaWYgdGhlIGJ1dHRvbiBpcyBlbmFibGVkIG9yIGRpc2FibGVkXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2VuYWJsZWQgPSB0cnVlO1xyXG4gICAgXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgaWYgdGhlIGJ1dHRvbiBpcyBlbmFibGVkIG9yIGRpc2FibGVkXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHNldCBlbmFibGVkKHY6Ym9vbGVhbil7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy5fZW5hYmxlZCA9IHY7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy5jdXJyZW50T3BhY2l0eSA9IHYgPyB0aGlzLmRlZmF1bHRPcGFjaXR5IDogdGhpcy5kaXNhYmxlZE9wYWNpdHk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy5wb2ludGVyRXZlbnRzID0gdiA/ICdpbml0aWFsJyA6ICdub25lJzsgXHJcbiAgICB9O1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldCBidXR0b24gZGVmYXVsdCB2YWx1ZXNcclxuICAgICAqL1xyXG4gICAgbmdPbkluaXQoKSB7XHJcblxyXG4gICAgICAgIHRoaXMuY3VycmVudE9wYWNpdHkgPSB0aGlzLl9lbmFibGVkID8gdGhpcy5kZWZhdWx0T3BhY2l0eSA6IHRoaXMuZGlzYWJsZWRPcGFjaXR5O1xyXG4gICAgICAgIHRoaXMuY3VycmVudFNjYWxlID0gJ3NjYWxlKDEpJztcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBMaXN0ZW5zIGZvciB0aGUgbW91c2Ugb3ZlciB0aGUgYnV0dG9uIGNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZW92ZXInKVxyXG4gICAgb25Nb3VzZU92ZXIoKSB7XHJcblxyXG4gICAgICAgIGlmKHRoaXMuX2VuYWJsZWQpe1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50T3BhY2l0eSA9IHRoaXMuaG92ZXJPcGFjaXR5O1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTY2FsZSA9ICdzY2FsZSgnICsgKHRoaXMuaG92ZXJTY2FsZSBhcyBhbnkgYXMgc3RyaW5nKSArICcpJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTGlzdGVucyBmb3IgdGhlIG1vdXNlIG91dCBvZiB0aGUgYnV0dG9uIGNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZW91dCcpXHJcbiAgICBASG9zdExpc3RlbmVyKCdwb2ludGVyb3V0JylcclxuICAgIEBIb3N0TGlzdGVuZXIoJ3BvaW50ZXJsZWF2ZScpXHJcbiAgICBvbk1vdXNlT3V0KCkge1xyXG5cclxuICAgICAgICBpZih0aGlzLl9lbmFibGVkKXtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE9wYWNpdHkgPSB0aGlzLmRlZmF1bHRPcGFjaXR5O1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTY2FsZSA9ICdzY2FsZSgnICsgKHRoaXMuZGVmYXVsdFNjYWxlIGFzIGFueSBhcyBzdHJpbmcpICsgJyknO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBMaXN0ZW5zIGZvciB0aGUgbW91c2UgZG93biBvbiB0aGUgYnV0dG9uIGNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASG9zdExpc3RlbmVyKCdwb2ludGVyZG93bicpXHJcbiAgICBvbk1vdXNlRG93bigpIHtcclxuXHJcbiAgICAgICAgaWYodGhpcy5fZW5hYmxlZCl7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRPcGFjaXR5ID0gdGhpcy5jbGlja09wYWNpdHk7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFNjYWxlID0gJ3NjYWxlKCcgKyAodGhpcy5jbGlja1NjYWxlIGFzIGFueSBhcyBzdHJpbmcpICsgJyknOyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTGlzdGVucyBmb3IgdGhlIG1vdXNlIHVwIG9mIHRoZSBidXR0b24gY29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3BvaW50ZXJ1cCcpXHJcbiAgICBvbk1vdXNlVXAoKSB7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9lbmFibGVkKSB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZiAodGhpcy52aWJyYXRlT25DbGljayA+IDAgJiYgd2luZG93Lm5hdmlnYXRvciAmJiB3aW5kb3cubmF2aWdhdG9yLnZpYnJhdGUpIHtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgd2luZG93Lm5hdmlnYXRvci52aWJyYXRlKHRoaXMudmlicmF0ZU9uQ2xpY2spO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZih0aGlzLnJlbGVhc2VPbk1vdXNlVXApe1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRPcGFjaXR5ID0gdGhpcy5kZWZhdWx0T3BhY2l0eTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFNjYWxlID0gJ3NjYWxlKCcgKyAodGhpcy5kZWZhdWx0U2NhbGUgYXMgYW55IGFzIHN0cmluZykgKyAnKSc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19