@smartbit4all/ng-client 1.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 (202) hide show
  1. package/README.md +386 -0
  2. package/esm2020/lib/session/api/api/api.mjs +4 -0
  3. package/esm2020/lib/session/api/api/session.service.mjs +306 -0
  4. package/esm2020/lib/session/api/configuration.mjs +91 -0
  5. package/esm2020/lib/session/api/encoder.mjs +19 -0
  6. package/esm2020/lib/session/api/index.mjs +3 -0
  7. package/esm2020/lib/session/api/model/accountInfo.mjs +13 -0
  8. package/esm2020/lib/session/api/model/apiError.mjs +13 -0
  9. package/esm2020/lib/session/api/model/authenticationProviderData.mjs +13 -0
  10. package/esm2020/lib/session/api/model/getAuthenticationProvidersResponse.mjs +2 -0
  11. package/esm2020/lib/session/api/model/models.mjs +9 -0
  12. package/esm2020/lib/session/api/model/refreshSessionRequest.mjs +13 -0
  13. package/esm2020/lib/session/api/model/session.mjs +2 -0
  14. package/esm2020/lib/session/api/model/sessionInfoData.mjs +2 -0
  15. package/esm2020/lib/session/api/model/userActivityLog.mjs +13 -0
  16. package/esm2020/lib/session/api/param.mjs +2 -0
  17. package/esm2020/lib/session/api/variables.mjs +9 -0
  18. package/esm2020/lib/session/cookie-service/smart-cookie.service.mjs +225 -0
  19. package/esm2020/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.component.mjs +90 -0
  20. package/esm2020/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.service.mjs +43 -0
  21. package/esm2020/lib/session/dev-tool/smart-dev-tool-floating-button/smart-dev-tool-floating-button.component.mjs +40 -0
  22. package/esm2020/lib/session/dev-tool/smart-dev-tool.interceptor.mjs +52 -0
  23. package/esm2020/lib/session/dev-tool/smart-dev-tool.service.mjs +161 -0
  24. package/esm2020/lib/session/projects.mjs +12 -0
  25. package/esm2020/lib/session/smart-error-catching.interceptor.mjs +71 -0
  26. package/esm2020/lib/session/smart-header-maintainer.interceptor.mjs +36 -0
  27. package/esm2020/lib/session/smart-session-handler.service.mjs +6 -0
  28. package/esm2020/lib/session/smart-session.module.mjs +74 -0
  29. package/esm2020/lib/session/smart-session.service.mjs +204 -0
  30. package/esm2020/lib/session/smart-timer/smart-session-timer.component.mjs +35 -0
  31. package/esm2020/lib/session/smart-timer/smart-session-timer.service.mjs +51 -0
  32. package/esm2020/lib/smart-ng-client.module.mjs +20 -0
  33. package/esm2020/lib/smart-ng-client.service.mjs +19 -0
  34. package/esm2020/lib/view-context/api/api/api.mjs +4 -0
  35. package/esm2020/lib/view-context/api/api/view.service.mjs +401 -0
  36. package/esm2020/lib/view-context/api/api.module.mjs +40 -0
  37. package/esm2020/lib/view-context/api/configuration.mjs +91 -0
  38. package/esm2020/lib/view-context/api/encoder.mjs +19 -0
  39. package/esm2020/lib/view-context/api/index.mjs +7 -0
  40. package/esm2020/lib/view-context/api/model/closeResult.mjs +17 -0
  41. package/esm2020/lib/view-context/api/model/componentConstraint.mjs +2 -0
  42. package/esm2020/lib/view-context/api/model/messageData.mjs +2 -0
  43. package/esm2020/lib/view-context/api/model/messageOption.mjs +2 -0
  44. package/esm2020/lib/view-context/api/model/messageOptionType.mjs +17 -0
  45. package/esm2020/lib/view-context/api/model/messageResult.mjs +2 -0
  46. package/esm2020/lib/view-context/api/model/messageType.mjs +18 -0
  47. package/esm2020/lib/view-context/api/model/models.mjs +29 -0
  48. package/esm2020/lib/view-context/api/model/openPendingData.mjs +2 -0
  49. package/esm2020/lib/view-context/api/model/smartLinkData.mjs +2 -0
  50. package/esm2020/lib/view-context/api/model/uiAction.mjs +2 -0
  51. package/esm2020/lib/view-context/api/model/uiActionButtonDescriptor.mjs +13 -0
  52. package/esm2020/lib/view-context/api/model/uiActionButtonIconPos.mjs +16 -0
  53. package/esm2020/lib/view-context/api/model/uiActionButtonType.mjs +21 -0
  54. package/esm2020/lib/view-context/api/model/uiActionDescriptor.mjs +2 -0
  55. package/esm2020/lib/view-context/api/model/uiActionDialogDescriptor.mjs +2 -0
  56. package/esm2020/lib/view-context/api/model/uiActionFeedbackType.mjs +16 -0
  57. package/esm2020/lib/view-context/api/model/uiActionInputType.mjs +18 -0
  58. package/esm2020/lib/view-context/api/model/uiActionRequest.mjs +13 -0
  59. package/esm2020/lib/view-context/api/model/view.mjs +2 -0
  60. package/esm2020/lib/view-context/api/model/viewApiError.mjs +13 -0
  61. package/esm2020/lib/view-context/api/model/viewConstraint.mjs +2 -0
  62. package/esm2020/lib/view-context/api/model/viewContext.mjs +2 -0
  63. package/esm2020/lib/view-context/api/model/viewContextData.mjs +2 -0
  64. package/esm2020/lib/view-context/api/model/viewContextUpdate.mjs +2 -0
  65. package/esm2020/lib/view-context/api/model/viewData.mjs +2 -0
  66. package/esm2020/lib/view-context/api/model/viewState.mjs +21 -0
  67. package/esm2020/lib/view-context/api/model/viewStateUpdate.mjs +2 -0
  68. package/esm2020/lib/view-context/api/model/viewType.mjs +17 -0
  69. package/esm2020/lib/view-context/api/param.mjs +2 -0
  70. package/esm2020/lib/view-context/api/variables.mjs +9 -0
  71. package/esm2020/lib/view-context/message-dialog/message-dialog.component.mjs +63 -0
  72. package/esm2020/lib/view-context/projects.mjs +17 -0
  73. package/esm2020/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.mjs +30 -0
  74. package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.mjs +53 -0
  75. package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.mjs +47 -0
  76. package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.mjs +112 -0
  77. package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.mjs +51 -0
  78. package/esm2020/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +81 -0
  79. package/esm2020/lib/view-context/smart-ui-action/ui-action.descriptor.service.mjs +113 -0
  80. package/esm2020/lib/view-context/smart-ui-action/ui-action.model.mjs +7 -0
  81. package/esm2020/lib/view-context/smart-ui-action/ui-action.service.mjs +149 -0
  82. package/esm2020/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.mjs +24 -0
  83. package/esm2020/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.mjs +44 -0
  84. package/esm2020/lib/view-context/smart-view-context.interceptor.mjs +28 -0
  85. package/esm2020/lib/view-context/smart-view-context.model.mjs +2 -0
  86. package/esm2020/lib/view-context/smart-view-context.module.mjs +84 -0
  87. package/esm2020/lib/view-context/smart-view-context.service.mjs +310 -0
  88. package/esm2020/lib/view-context/smart-view-redirect/smart-view-redirect.mjs +33 -0
  89. package/esm2020/lib/view-context/value-api/api.module.mjs +40 -0
  90. package/esm2020/lib/view-context/value-api/configuration.mjs +91 -0
  91. package/esm2020/lib/view-context/value-api/index.mjs +6 -0
  92. package/esm2020/lib/view-context/value-api/model/models.mjs +2 -0
  93. package/esm2020/lib/view-context/value-api/model/valueSetData.mjs +13 -0
  94. package/esm2020/lib/view-context/value-api/param.mjs +2 -0
  95. package/esm2020/lib/view-context/value-api/variables.mjs +9 -0
  96. package/esm2020/projects.mjs +8 -0
  97. package/esm2020/smartbit4all-ng-client.mjs +5 -0
  98. package/fesm2015/smartbit4all-ng-client.mjs +3418 -0
  99. package/fesm2015/smartbit4all-ng-client.mjs.map +1 -0
  100. package/fesm2020/smartbit4all-ng-client.mjs +3423 -0
  101. package/fesm2020/smartbit4all-ng-client.mjs.map +1 -0
  102. package/lib/session/api/api/api.d.ts +3 -0
  103. package/lib/session/api/api/session.service.d.ts +107 -0
  104. package/lib/session/api/configuration.d.ts +104 -0
  105. package/lib/session/api/encoder.d.ts +11 -0
  106. package/lib/session/api/index.d.ts +2 -0
  107. package/lib/session/api/model/accountInfo.d.ts +22 -0
  108. package/lib/session/api/model/apiError.d.ts +15 -0
  109. package/lib/session/api/model/authenticationProviderData.d.ts +17 -0
  110. package/lib/session/api/model/getAuthenticationProvidersResponse.d.ts +15 -0
  111. package/lib/session/api/model/models.d.ts +8 -0
  112. package/lib/session/api/model/refreshSessionRequest.d.ts +14 -0
  113. package/lib/session/api/model/session.d.ts +32 -0
  114. package/lib/session/api/model/sessionInfoData.d.ts +22 -0
  115. package/lib/session/api/model/userActivityLog.d.ts +33 -0
  116. package/lib/session/api/param.d.ts +37 -0
  117. package/lib/session/api/variables.d.ts +8 -0
  118. package/lib/session/cookie-service/smart-cookie.service.d.ts +129 -0
  119. package/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.component.d.ts +28 -0
  120. package/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.service.d.ts +18 -0
  121. package/lib/session/dev-tool/smart-dev-tool-floating-button/smart-dev-tool-floating-button.component.d.ts +15 -0
  122. package/lib/session/dev-tool/smart-dev-tool.interceptor.d.ts +18 -0
  123. package/lib/session/dev-tool/smart-dev-tool.service.d.ts +55 -0
  124. package/lib/session/projects.d.ts +8 -0
  125. package/lib/session/smart-error-catching.interceptor.d.ts +13 -0
  126. package/lib/session/smart-header-maintainer.interceptor.d.ts +11 -0
  127. package/lib/session/smart-session-handler.service.d.ts +11 -0
  128. package/lib/session/smart-session.module.d.ts +15 -0
  129. package/lib/session/smart-session.service.d.ts +50 -0
  130. package/lib/session/smart-timer/smart-session-timer.component.d.ts +14 -0
  131. package/lib/session/smart-timer/smart-session-timer.service.d.ts +21 -0
  132. package/lib/smart-ng-client.module.d.ts +8 -0
  133. package/lib/smart-ng-client.service.d.ts +10 -0
  134. package/lib/view-context/api/api/api.d.ts +3 -0
  135. package/lib/view-context/api/api/view.service.d.ts +147 -0
  136. package/lib/view-context/api/api.module.d.ts +11 -0
  137. package/lib/view-context/api/configuration.d.ts +104 -0
  138. package/lib/view-context/api/encoder.d.ts +11 -0
  139. package/lib/view-context/api/index.d.ts +6 -0
  140. package/lib/view-context/api/model/closeResult.d.ts +17 -0
  141. package/lib/view-context/api/model/componentConstraint.d.ts +25 -0
  142. package/lib/view-context/api/model/messageData.d.ts +27 -0
  143. package/lib/view-context/api/model/messageOption.d.ts +18 -0
  144. package/lib/view-context/api/model/messageOptionType.d.ts +17 -0
  145. package/lib/view-context/api/model/messageResult.d.ts +16 -0
  146. package/lib/view-context/api/model/messageType.d.ts +18 -0
  147. package/lib/view-context/api/model/models.d.ts +28 -0
  148. package/lib/view-context/api/model/openPendingData.d.ts +22 -0
  149. package/lib/view-context/api/model/smartLinkData.d.ts +21 -0
  150. package/lib/view-context/api/model/uiAction.d.ts +26 -0
  151. package/lib/view-context/api/model/uiActionButtonDescriptor.d.ts +18 -0
  152. package/lib/view-context/api/model/uiActionButtonIconPos.d.ts +19 -0
  153. package/lib/view-context/api/model/uiActionButtonType.d.ts +24 -0
  154. package/lib/view-context/api/model/uiActionDescriptor.d.ts +32 -0
  155. package/lib/view-context/api/model/uiActionDialogDescriptor.d.ts +22 -0
  156. package/lib/view-context/api/model/uiActionFeedbackType.d.ts +19 -0
  157. package/lib/view-context/api/model/uiActionInputType.d.ts +18 -0
  158. package/lib/view-context/api/model/uiActionRequest.d.ts +27 -0
  159. package/lib/view-context/api/model/view.d.ts +36 -0
  160. package/lib/view-context/api/model/viewApiError.d.ts +18 -0
  161. package/lib/view-context/api/model/viewConstraint.d.ts +18 -0
  162. package/lib/view-context/api/model/viewContext.d.ts +22 -0
  163. package/lib/view-context/api/model/viewContextData.d.ts +19 -0
  164. package/lib/view-context/api/model/viewContextUpdate.d.ts +22 -0
  165. package/lib/view-context/api/model/viewData.d.ts +25 -0
  166. package/lib/view-context/api/model/viewState.d.ts +21 -0
  167. package/lib/view-context/api/model/viewStateUpdate.d.ts +22 -0
  168. package/lib/view-context/api/model/viewType.d.ts +17 -0
  169. package/lib/view-context/api/param.d.ts +37 -0
  170. package/lib/view-context/api/variables.d.ts +8 -0
  171. package/lib/view-context/message-dialog/message-dialog.component.d.ts +17 -0
  172. package/lib/view-context/projects.d.ts +13 -0
  173. package/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.d.ts +13 -0
  174. package/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.d.ts +25 -0
  175. package/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.d.ts +18 -0
  176. package/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.d.ts +28 -0
  177. package/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.d.ts +25 -0
  178. package/lib/view-context/smart-ui-action/ui-action-toolbar.component.d.ts +24 -0
  179. package/lib/view-context/smart-ui-action/ui-action.descriptor.service.d.ts +21 -0
  180. package/lib/view-context/smart-ui-action/ui-action.model.d.ts +30 -0
  181. package/lib/view-context/smart-ui-action/ui-action.service.d.ts +21 -0
  182. package/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.d.ts +13 -0
  183. package/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.d.ts +17 -0
  184. package/lib/view-context/smart-view-context.interceptor.d.ts +13 -0
  185. package/lib/view-context/smart-view-context.model.d.ts +30 -0
  186. package/lib/view-context/smart-view-context.module.d.ts +20 -0
  187. package/lib/view-context/smart-view-context.service.d.ts +60 -0
  188. package/lib/view-context/smart-view-redirect/smart-view-redirect.d.ts +14 -0
  189. package/lib/view-context/value-api/api.module.d.ts +11 -0
  190. package/lib/view-context/value-api/configuration.d.ts +104 -0
  191. package/lib/view-context/value-api/index.d.ts +5 -0
  192. package/lib/view-context/value-api/model/models.d.ts +1 -0
  193. package/lib/view-context/value-api/model/valueSetData.d.ts +39 -0
  194. package/lib/view-context/value-api/param.d.ts +37 -0
  195. package/lib/view-context/value-api/variables.d.ts +8 -0
  196. package/package.json +38 -0
  197. package/projects.d.ts +4 -0
  198. package/smartbit4all-ng-client-1.0.0.tgz +0 -0
  199. package/smartbit4all-ng-client.d.ts +5 -0
  200. package/src/lib/session/api/README.md +226 -0
  201. package/src/lib/view-context/api/README.md +226 -0
  202. package/src/lib/view-context/value-api/README.md +226 -0
@@ -0,0 +1,204 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { Subject } from "rxjs";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./api";
5
+ import * as i2 from "./cookie-service/smart-cookie.service";
6
+ export class SmartSessionService {
7
+ constructor(apiService, cookieService) {
8
+ this.apiService = apiService;
9
+ this.cookieService = cookieService;
10
+ this.isAuthenticated = false;
11
+ this.authenticationStateChanged = new Subject();
12
+ this.headerParams = new Array();
13
+ this.headersUpdated = new Subject();
14
+ // Locale
15
+ this.localStorageLocaleName = "locale";
16
+ this.localeChanged = new Subject();
17
+ this.sessionExpiracyChanged = new Subject();
18
+ }
19
+ get sessionInfoData() {
20
+ return this._sessionInfoData;
21
+ }
22
+ set sessionInfoData(sessionInfoData) {
23
+ let expiracyChanged = this.sessionInfoData?.expiration !== sessionInfoData?.expiration;
24
+ this._sessionInfoData = sessionInfoData;
25
+ if (expiracyChanged) {
26
+ this.sessionExpiracyChanged.next();
27
+ }
28
+ }
29
+ setSessionHandlerService(smartSessionHandlerService) {
30
+ this.sessionHandlerService = smartSessionHandlerService;
31
+ }
32
+ async handleSessionError(sessionError) {
33
+ if (this.sessionHandlerService) {
34
+ await this.sessionHandlerService.handleSessionError(sessionError);
35
+ }
36
+ throw new Error(`sessionHandlerService was not initialized. Error: ${sessionError.code}`);
37
+ }
38
+ addHeaderParam(headerParam) {
39
+ this.headerParams.push(headerParam);
40
+ this.headersUpdated.next();
41
+ }
42
+ setUpTokenForSessionService() {
43
+ if (this.headerParams.find((header) => header.headerName === "Authorization")) {
44
+ let index = this.headerParams.findIndex((header) => header.headerName === "Authorization");
45
+ this.headerParams[index].value = `Bearer ${this.token}`;
46
+ }
47
+ else {
48
+ this.addHeaderParam({ headerName: "Authorization", value: `Bearer ${this.token}` });
49
+ }
50
+ }
51
+ setUrl(url) {
52
+ this.basePath = url;
53
+ }
54
+ getBasePath() {
55
+ if (!this.basePath) {
56
+ throw new Error("BasePath has not been set in SmartSessionService!");
57
+ }
58
+ return this.basePath;
59
+ }
60
+ setCookieName(name) {
61
+ this.cookieName = name;
62
+ }
63
+ saveTokenToLocalStorage() {
64
+ if (this.sessionInfoData && this.cookieName) {
65
+ localStorage.setItem("token", this.sessionInfoData.sid);
66
+ if (this.sessionInfoData.refreshToken &&
67
+ this.sessionInfoData.refreshToken !== localStorage.getItem("refreshToken")) {
68
+ localStorage.setItem("refreshToken", this.sessionInfoData.refreshToken);
69
+ }
70
+ this.cookieService.set(this.cookieName, this.token);
71
+ }
72
+ }
73
+ setAuthenticationStatus() {
74
+ if (this.sessionInfoData && this.sessionInfoData.authentications) {
75
+ this.isAuthenticated = this.sessionInfoData.authentications.length > 0;
76
+ }
77
+ this.authenticationStateChanged.next(this.isAuthenticated);
78
+ }
79
+ checkStatements() {
80
+ if (!this.basePath) {
81
+ throw new Error("The url of the backend api has not been set!");
82
+ }
83
+ else if (!this.cookieName) {
84
+ throw new Error("The name of the cookie required by the backend has not been set!");
85
+ }
86
+ }
87
+ async initialize() {
88
+ this.checkStatements();
89
+ let tokenFromLocalStorage = localStorage.getItem("token");
90
+ let tokenFromCookies = this.cookieService.get(this.cookieName);
91
+ if (tokenFromLocalStorage &&
92
+ tokenFromCookies &&
93
+ tokenFromLocalStorage === tokenFromCookies) {
94
+ this.token = tokenFromLocalStorage;
95
+ this.setUpTokenForSessionService();
96
+ try {
97
+ await this.getSession();
98
+ }
99
+ catch (err) {
100
+ await this.startSession();
101
+ }
102
+ }
103
+ else {
104
+ await this.clearAndStartNewSession();
105
+ }
106
+ if (this.sessionInfoData && this.sessionInfoData.locale) {
107
+ localStorage.setItem(this.localStorageLocaleName, this.sessionInfoData.locale);
108
+ this.localeChanged.next();
109
+ }
110
+ }
111
+ async startSession() {
112
+ let sessionInfo = await this.apiService.startSession().toPromise();
113
+ if (sessionInfo) {
114
+ this.sessionInfoData = sessionInfo;
115
+ this.token = sessionInfo.sid;
116
+ this.saveTokenToLocalStorage();
117
+ this.setAuthenticationStatus();
118
+ this.setUpTokenForSessionService();
119
+ }
120
+ return this.sessionInfoData;
121
+ }
122
+ async getSession() {
123
+ let sessionInfo = await this.apiService.getSession().toPromise();
124
+ if (sessionInfo) {
125
+ this.sessionInfoData = sessionInfo;
126
+ this.token = sessionInfo.sid;
127
+ this.saveTokenToLocalStorage();
128
+ this.setAuthenticationStatus();
129
+ }
130
+ return this.sessionInfoData;
131
+ }
132
+ async refreshSession() {
133
+ let refreshToken = localStorage.getItem("refreshToken");
134
+ if (!refreshToken) {
135
+ return await this.startSession();
136
+ }
137
+ let sessionInfo = await this.apiService
138
+ .refreshSession({
139
+ refreshToken,
140
+ })
141
+ .toPromise()
142
+ .catch(async (error) => {
143
+ if (error.error &&
144
+ error.error.code &&
145
+ error.error.code === "session.refreshtoken.invalid") {
146
+ await this.startSession();
147
+ }
148
+ });
149
+ if (sessionInfo) {
150
+ this.sessionInfoData = sessionInfo;
151
+ this.token = sessionInfo.sid;
152
+ this.saveTokenToLocalStorage();
153
+ this.setAuthenticationStatus();
154
+ this.setUpTokenForSessionService();
155
+ }
156
+ return this.sessionInfoData;
157
+ }
158
+ async getAuthenticationProviders() {
159
+ let providers = await this.apiService
160
+ .getAuthenticationProviders()
161
+ .toPromise();
162
+ this.providers = providers?.authenticationProviders;
163
+ return this.providers;
164
+ }
165
+ async getIsAuthenticated() {
166
+ if (this.sessionInfoData) {
167
+ return this.isAuthenticated;
168
+ }
169
+ await this.getSession();
170
+ return this.isAuthenticated;
171
+ }
172
+ async clearAndStartNewSession() {
173
+ sessionStorage.clear();
174
+ localStorage.clear();
175
+ this.headerParams = [];
176
+ this.cookieService.delete(this.cookieName);
177
+ await this.startSession();
178
+ }
179
+ getLocale() {
180
+ if (this.sessionInfoData && this.sessionInfoData.locale) {
181
+ if (localStorage.getItem(this.localStorageLocaleName) !== this.sessionInfoData.locale) {
182
+ localStorage.setItem(this.localStorageLocaleName, this.sessionInfoData.locale);
183
+ }
184
+ return this.sessionInfoData.locale;
185
+ }
186
+ throw new Error("There is no SessionInfoData or locale is undefined.");
187
+ }
188
+ async changeLocale(locale) {
189
+ this.sessionInfoData = await this.apiService.setLocale(locale).toPromise();
190
+ if (this.sessionInfoData && this.sessionInfoData.locale) {
191
+ localStorage.setItem(this.localStorageLocaleName, this.sessionInfoData.locale);
192
+ this.localeChanged.next();
193
+ }
194
+ }
195
+ }
196
+ SmartSessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionService, deps: [{ token: i1.SessionService }, { token: i2.SmartCookieService }], target: i0.ɵɵFactoryTarget.Injectable });
197
+ SmartSessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionService, providedIn: "root" });
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionService, decorators: [{
199
+ type: Injectable,
200
+ args: [{
201
+ providedIn: "root",
202
+ }]
203
+ }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.SmartCookieService }]; } });
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC1zZXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBa0IvQixNQUFNLE9BQU8sbUJBQW1CO0lBbUM1QixZQUFvQixVQUEwQixFQUFVLGFBQWlDO1FBQXJFLGVBQVUsR0FBVixVQUFVLENBQWdCO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQW9CO1FBZmxGLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBRWpDLCtCQUEwQixHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRTdELGlCQUFZLEdBQXVCLElBQUksS0FBSyxFQUFFLENBQUM7UUFDL0MsbUJBQWMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVyRCxTQUFTO1FBQ0QsMkJBQXNCLEdBQVcsUUFBUSxDQUFDO1FBQzNDLGtCQUFhLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFN0MsMkJBQXNCLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7SUFJK0IsQ0FBQztJQTlCN0YsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFDRCxJQUFZLGVBQWUsQ0FBQyxlQUE0QztRQUNwRSxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLFVBQVUsS0FBSyxlQUFlLEVBQUUsVUFBVSxDQUFDO1FBRXZGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7UUFFeEMsSUFBSSxlQUFlLEVBQUU7WUFDakIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFD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b25zZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7XG4gICAgQXBpRXJyb3IsXG4gICAgQXV0aGVudGljYXRpb25Qcm92aWRlckRhdGEsXG4gICAgR2V0QXV0aGVudGljYXRpb25Qcm92aWRlcnNSZXNwb25zZSxcbiAgICBTZXNzaW9uSW5mb0RhdGEsXG4gICAgU2Vzc2lvblNlcnZpY2UsXG59IGZyb20gXCIuL2FwaVwiO1xuaW1wb3J0IHsgU21hcnRDb29raWVTZXJ2aWNlIH0gZnJvbSBcIi4vY29va2llLXNlcnZpY2Uvc21hcnQtY29va2llLnNlcnZpY2VcIjtcbmltcG9ydCB7IFNlc3Npb25FcnJvciwgU21hcnRTZXNzaW9uSGFuZGxlclNlcnZpY2UgfSBmcm9tIFwiLi9zbWFydC1zZXNzaW9uLWhhbmRsZXIuc2VydmljZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlclBhcmFtIHtcbiAgICBoZWFkZXJOYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbn1cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcbn0pXG5leHBvcnQgY2xhc3MgU21hcnRTZXNzaW9uU2VydmljZSB7XG4gICAgcHJpdmF0ZSBiYXNlUGF0aD86IHN0cmluZztcbiAgICBwcml2YXRlIHRva2VuPzogc3RyaW5nO1xuICAgIHByaXZhdGUgX3Nlc3Npb25JbmZvRGF0YT86IFNlc3Npb25JbmZvRGF0YTtcblxuICAgIHB1YmxpYyBnZXQgc2Vzc2lvbkluZm9EYXRhKCk6IFNlc3Npb25JbmZvRGF0YSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZXNzaW9uSW5mb0RhdGE7XG4gICAgfVxuICAgIHByaXZhdGUgc2V0IHNlc3Npb25JbmZvRGF0YShzZXNzaW9uSW5mb0RhdGE6IFNlc3Npb25JbmZvRGF0YSB8IHVuZGVmaW5lZCkge1xuICAgICAgICBsZXQgZXhwaXJhY3lDaGFuZ2VkID0gdGhpcy5zZXNzaW9uSW5mb0RhdGE/LmV4cGlyYXRpb24gIT09IHNlc3Npb25JbmZvRGF0YT8uZXhwaXJhdGlvbjtcblxuICAgICAgICB0aGlzLl9zZXNzaW9uSW5mb0RhdGEgPSBzZXNzaW9uSW5mb0RhdGE7XG5cbiAgICAgICAgaWYgKGV4cGlyYWN5Q2hhbmdlZCkge1xuICAgICAgICAgICAgdGhpcy5zZXNzaW9uRXhwaXJhY3lDaGFuZ2VkLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcHJvdmlkZXJzPzogQXJyYXk8QXV0aGVudGljYXRpb25Qcm92aWRlckRhdGE+O1xuICAgIHByaXZhdGUgY29va2llTmFtZT86IHN0cmluZztcbiAgICBwdWJsaWMgaXNBdXRoZW50aWNhdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgYXV0aGVudGljYXRpb25TdGF0ZUNoYW5nZWQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgcHVibGljIGhlYWRlclBhcmFtczogQXJyYXk8SGVhZGVyUGFyYW0+ID0gbmV3IEFycmF5KCk7XG4gICAgcHVibGljIGhlYWRlcnNVcGRhdGVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICAgIC8vIExvY2FsZVxuICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlTG9jYWxlTmFtZTogc3RyaW5nID0gXCJsb2NhbGVcIjtcbiAgICBwdWJsaWMgbG9jYWxlQ2hhbmdlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwdWJsaWMgc2Vzc2lvbkV4cGlyYWN5Q2hhbmdlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwcml2YXRlIHNlc3Npb25IYW5kbGVyU2VydmljZT86IFNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGlTZXJ2aWNlOiBTZXNzaW9uU2VydmljZSwgcHJpdmF0ZSBjb29raWVTZXJ2aWNlOiBTbWFydENvb2tpZVNlcnZpY2UpIHt9XG5cbiAgICBwdWJsaWMgc2V0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlKHNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlOiBTbWFydFNlc3Npb25IYW5kbGVyU2VydmljZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlc3Npb25IYW5kbGVyU2VydmljZSA9IHNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVTZXNzaW9uRXJyb3Ioc2Vzc2lvbkVycm9yOiBTZXNzaW9uRXJyb3IpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMuc2Vzc2lvbkhhbmRsZXJTZXJ2aWNlKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNlc3Npb25IYW5kbGVyU2VydmljZS5oYW5kbGVTZXNzaW9uRXJyb3Ioc2Vzc2lvbkVycm9yKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHNlc3Npb25IYW5kbGVyU2VydmljZSB3YXMgbm90IGluaXRpYWxpemVkLiBFcnJvcjogJHtzZXNzaW9uRXJyb3IuY29kZX1gKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkSGVhZGVyUGFyYW0oaGVhZGVyUGFyYW06IEhlYWRlclBhcmFtKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGVhZGVyUGFyYW1zLnB1c2goaGVhZGVyUGFyYW0pO1xuICAgICAgICB0aGlzLmhlYWRlcnNVcGRhdGVkLm5leHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFVwVG9rZW5Gb3JTZXNzaW9uU2VydmljZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5oZWFkZXJQYXJhbXMuZmluZCgoaGVhZGVyOiBIZWFkZXJQYXJhbSkgPT4gaGVhZGVyLmhlYWRlck5hbWUgPT09IFwiQXV0aG9yaXphdGlvblwiKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGxldCBpbmRleCA9IHRoaXMuaGVhZGVyUGFyYW1zLmZpbmRJbmRleChcbiAgICAgICAgICAgICAgICAoaGVhZGVyOiBIZWFkZXJQYXJhbSkgPT4gaGVhZGVyLmhlYWRlck5hbWUgPT09IFwiQXV0aG9yaXphdGlvblwiXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5oZWFkZXJQYXJhbXNbaW5kZXghXS52YWx1ZSA9IGBCZWFyZXIgJHt0aGlzLnRva2VuIX1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hZGRIZWFkZXJQYXJhbSh7IGhlYWRlck5hbWU6IFwiQXV0aG9yaXphdGlvblwiLCB2YWx1ZTogYEJlYXJlciAke3RoaXMudG9rZW4hfWAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0VXJsKHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYmFzZVBhdGggPSB1cmw7XG4gICAgfVxuICAgIHB1YmxpYyBnZXRCYXNlUGF0aCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXRoaXMuYmFzZVBhdGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkJhc2VQYXRoIGhhcyBub3QgYmVlbiBzZXQgaW4gU21hcnRTZXNzaW9uU2VydmljZSFcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZVBhdGg7XG4gICAgfVxuXG4gICAgcHVibGljIHNldENvb2tpZU5hbWUobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29va2llTmFtZSA9IG5hbWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzYXZlVG9rZW5Ub0xvY2FsU3RvcmFnZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2Vzc2lvbkluZm9EYXRhICYmIHRoaXMuY29va2llTmFtZSkge1xuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJ0b2tlblwiLCB0aGlzLnNlc3Npb25JbmZvRGF0YS5zaWQpO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvbkluZm9EYXRhLnJlZnJlc2hUb2tlbiAmJlxuICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvbkluZm9EYXRhLnJlZnJlc2hUb2tlbiAhPT0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJyZWZyZXNoVG9rZW5cIilcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwicmVmcmVzaFRva2VuXCIsIHRoaXMuc2Vzc2lvbkluZm9EYXRhLnJlZnJlc2hUb2tlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KHRoaXMuY29va2llTmFtZSwgdGhpcy50b2tlbiEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRBdXRoZW50aWNhdGlvblN0YXR1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2Vzc2lvbkluZm9EYXRhICYmIHRoaXMuc2Vzc2lvbkluZm9EYXRhLmF1dGhlbnRpY2F0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5pc0F1dGhlbnRpY2F0ZWQgPSB0aGlzLnNlc3Npb25JbmZvRGF0YS5hdXRoZW50aWNhdGlvbnMubGVuZ3RoID4gMDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9uU3RhdGVDaGFuZ2VkLm5leHQodGhpcy5pc0F1dGhlbnRpY2F0ZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tTdGF0ZW1lbnRzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuYmFzZVBhdGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoZSB1cmwgb2YgdGhlIGJhY2tlbmQgYXBpIGhhcyBub3QgYmVlbiBzZXQhXCIpO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmNvb2tpZU5hbWUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoZSBuYW1lIG9mIHRoZSBjb29raWUgcmVxdWlyZWQgYnkgdGhlIGJhY2tlbmQgaGFzIG5vdCBiZWVuIHNldCFcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5jaGVja1N0YXRlbWVudHMoKTtcblxuICAgICAgICBsZXQgdG9rZW5Gcm9tTG9jYWxTdG9yYWdlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ0b2tlblwiKTtcbiAgICAgICAgbGV0IHRva2VuRnJvbUNvb2tpZXMgPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KHRoaXMuY29va2llTmFtZSEpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRva2VuRnJvbUxvY2FsU3RvcmFnZSAmJlxuICAgICAgICAgICAgdG9rZW5Gcm9tQ29va2llcyAmJlxuICAgICAgICAgICAgdG9rZW5Gcm9tTG9jYWxTdG9yYWdlID09PSB0b2tlbkZyb21Db29raWVzXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy50b2tlbiA9IHRva2VuRnJvbUxvY2FsU3RvcmFnZTtcbiAgICAgICAgICAgIHRoaXMuc2V0VXBUb2tlbkZvclNlc3Npb25TZXJ2aWNlKCk7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0U2Vzc2lvbigpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5zdGFydFNlc3Npb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuY2xlYXJBbmRTdGFydE5ld1Nlc3Npb24oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5zZXNzaW9uSW5mb0RhdGEgJiYgdGhpcy5zZXNzaW9uSW5mb0RhdGEubG9jYWxlKSB7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmxvY2FsU3RvcmFnZUxvY2FsZU5hbWUsIHRoaXMuc2Vzc2lvbkluZm9EYXRhLmxvY2FsZSk7XG4gICAgICAgICAgICB0aGlzLmxvY2FsZUNoYW5nZWQubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBzdGFydFNlc3Npb24oKTogUHJvbWlzZTxTZXNzaW9uSW5mb0RhdGE+IHtcbiAgICAgICAgbGV0IHNlc3Npb25JbmZvID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnN0YXJ0U2Vzc2lvbigpLnRvUHJvbWlzZSgpO1xuICAgICAgICBpZiAoc2Vzc2lvbkluZm8pIHtcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvbkluZm9EYXRhID0gc2Vzc2lvbkluZm87XG4gICAgICAgICAgICB0aGlzLnRva2VuID0gc2Vzc2lvbkluZm8uc2lkO1xuICAgICAgICAgICAgdGhpcy5zYXZlVG9rZW5Ub0xvY2FsU3RvcmFnZSgpO1xuICAgICAgICAgICAgdGhpcy5zZXRBdXRoZW50aWNhdGlvblN0YXR1cygpO1xuICAgICAgICAgICAgdGhpcy5zZXRVcFRva2VuRm9yU2Vzc2lvblNlcnZpY2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnNlc3Npb25JbmZvRGF0YSE7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldFNlc3Npb24oKTogUHJvbWlzZTxTZXNzaW9uSW5mb0RhdGE+IHtcbiAgICAgICAgbGV0IHNlc3Npb25JbmZvID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLmdldFNlc3Npb24oKS50b1Byb21pc2UoKTtcbiAgICAgICAgaWYgKHNlc3Npb25JbmZvKSB7XG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JbmZvRGF0YSA9IHNlc3Npb25JbmZvO1xuICAgICAgICAgICAgdGhpcy50b2tlbiA9IHNlc3Npb25JbmZvLnNpZDtcbiAgICAgICAgICAgIHRoaXMuc2F2ZVRva2VuVG9Mb2NhbFN0b3JhZ2UoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0QXV0aGVudGljYXRpb25TdGF0dXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnNlc3Npb25JbmZvRGF0YSE7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHJlZnJlc2hTZXNzaW9uKCk6IFByb21pc2U8U2Vzc2lvbkluZm9EYXRhPiB7XG4gICAgICAgIGxldCByZWZyZXNoVG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInJlZnJlc2hUb2tlblwiKTtcbiAgICAgICAgaWYgKCFyZWZyZXNoVG9rZW4pIHtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnN0YXJ0U2Vzc2lvbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHNlc3Npb25JbmZvID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAgICAgICAucmVmcmVzaFNlc3Npb24oe1xuICAgICAgICAgICAgICAgIHJlZnJlc2hUb2tlbixcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAudG9Qcm9taXNlKClcbiAgICAgICAgICAgIC5jYXRjaChhc3luYyAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBlcnJvci5lcnJvciAmJlxuICAgICAgICAgICAgICAgICAgICAoZXJyb3IuZXJyb3IgYXMgQXBpRXJyb3IpLmNvZGUgJiZcbiAgICAgICAgICAgICAgICAgICAgKGVycm9yLmVycm9yIGFzIEFwaUVycm9yKS5jb2RlID09PSBcInNlc3Npb24ucmVmcmVzaHRva2VuLmludmFsaWRcIlxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0U2Vzc2lvbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChzZXNzaW9uSW5mbykge1xuICAgICAgICAgICAgdGhpcy5zZXNzaW9uSW5mb0RhdGEgPSBzZXNzaW9uSW5mbztcbiAgICAgICAgICAgIHRoaXMudG9rZW4gPSBzZXNzaW9uSW5mby5zaWQ7XG4gICAgICAgICAgICB0aGlzLnNhdmVUb2tlblRvTG9jYWxTdG9yYWdlKCk7XG4gICAgICAgICAgICB0aGlzLnNldEF1dGhlbnRpY2F0aW9uU3RhdHVzKCk7XG4gICAgICAgICAgICB0aGlzLnNldFVwVG9rZW5Gb3JTZXNzaW9uU2VydmljZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc2Vzc2lvbkluZm9EYXRhITtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0QXV0aGVudGljYXRpb25Qcm92aWRlcnMoKTogUHJvbWlzZTxBcnJheTxBdXRoZW50aWNhdGlvblByb3ZpZGVyRGF0YT4+IHtcbiAgICAgICAgbGV0IHByb3ZpZGVyczogR2V0QXV0aGVudGljYXRpb25Qcm92aWRlcnNSZXNwb25zZSB8IHVuZGVmaW5lZCA9IGF3YWl0IHRoaXMuYXBpU2VydmljZVxuICAgICAgICAgICAgLmdldEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzKClcbiAgICAgICAgICAgIC50b1Byb21pc2UoKTtcblxuICAgICAgICB0aGlzLnByb3ZpZGVycyA9IHByb3ZpZGVycz8uYXV0aGVudGljYXRpb25Qcm92aWRlcnM7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdmlkZXJzITtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0SXNBdXRoZW50aWNhdGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBpZiAodGhpcy5zZXNzaW9uSW5mb0RhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlzQXV0aGVudGljYXRlZDtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCB0aGlzLmdldFNlc3Npb24oKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBdXRoZW50aWNhdGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBjbGVhckFuZFN0YXJ0TmV3U2Vzc2lvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuaGVhZGVyUGFyYW1zID0gW107XG4gICAgICAgIHRoaXMuY29va2llU2VydmljZS5kZWxldGUodGhpcy5jb29raWVOYW1lISk7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5zdGFydFNlc3Npb24oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TG9jYWxlKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLnNlc3Npb25JbmZvRGF0YSAmJiB0aGlzLnNlc3Npb25JbmZvRGF0YS5sb2NhbGUpIHtcbiAgICAgICAgICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmxvY2FsU3RvcmFnZUxvY2FsZU5hbWUpICE9PSB0aGlzLnNlc3Npb25JbmZvRGF0YS5sb2NhbGUpIHtcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmxvY2FsU3RvcmFnZUxvY2FsZU5hbWUsIHRoaXMuc2Vzc2lvbkluZm9EYXRhLmxvY2FsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uSW5mb0RhdGEubG9jYWxlO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoZXJlIGlzIG5vIFNlc3Npb25JbmZvRGF0YSBvciBsb2NhbGUgaXMgdW5kZWZpbmVkLlwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgY2hhbmdlTG9jYWxlKGxvY2FsZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuc2Vzc2lvbkluZm9EYXRhID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnNldExvY2FsZShsb2NhbGUpLnRvUHJvbWlzZSgpO1xuICAgICAgICBpZiAodGhpcy5zZXNzaW9uSW5mb0RhdGEgJiYgdGhpcy5zZXNzaW9uSW5mb0RhdGEubG9jYWxlKSB7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmxvY2FsU3RvcmFnZUxvY2FsZU5hbWUsIHRoaXMuc2Vzc2lvbkluZm9EYXRhLmxvY2FsZSk7XG4gICAgICAgICAgICB0aGlzLmxvY2FsZUNoYW5nZWQubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,35 @@
1
+ import { Component } from "@angular/core";
2
+ import { Subject, takeUntil } from "rxjs";
3
+ import { SmartSessionTimerService } from "./smart-session-timer.service";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./smart-session-timer.service";
6
+ import * as i2 from "@angular/common";
7
+ export class SmartSessionTimerComponent {
8
+ constructor(service) {
9
+ this.service = service;
10
+ this._destroy$ = new Subject();
11
+ }
12
+ ngOnInit() {
13
+ this.service.startTimer();
14
+ this.timeInSeconds = this.service.timeLeftInSeconds;
15
+ this.service.timeChanged.pipe(takeUntil(this._destroy$)).subscribe(() => {
16
+ this.timeInSeconds = this.service.timeLeftInSeconds;
17
+ });
18
+ }
19
+ ngOnDestroy() {
20
+ this._destroy$.next();
21
+ this._destroy$.complete();
22
+ }
23
+ formatTime(seconds) {
24
+ let minutes = Math.floor(seconds / 60);
25
+ let remainingSeconds = seconds % 60;
26
+ return `${minutes}:${remainingSeconds < 10 ? "0" : ""}${remainingSeconds}`;
27
+ }
28
+ }
29
+ SmartSessionTimerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionTimerComponent, deps: [{ token: i1.SmartSessionTimerService }], target: i0.ɵɵFactoryTarget.Component });
30
+ SmartSessionTimerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SmartSessionTimerComponent, selector: "smart-session-timer", providers: [SmartSessionTimerService], ngImport: i0, template: "<div class=\"smart-session-timer-container\">\n <span class=\"smart-session-timer\" *ngIf=\"timeInSeconds\">\n {{ formatTime(timeInSeconds!) }}\n </span>\n</div>\n", styles: [""], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionTimerComponent, decorators: [{
32
+ type: Component,
33
+ args: [{ selector: "smart-session-timer", providers: [SmartSessionTimerService], template: "<div class=\"smart-session-timer-container\">\n <span class=\"smart-session-timer\" *ngIf=\"timeInSeconds\">\n {{ formatTime(timeInSeconds!) }}\n </span>\n</div>\n", styles: [""] }]
34
+ }], ctorParameters: function () { return [{ type: i1.SmartSessionTimerService }]; } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2Vzc2lvbi10aW1lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3NtYXJ0LXRpbWVyL3NtYXJ0LXNlc3Npb24tdGltZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC10aW1lci9zbWFydC1zZXNzaW9uLXRpbWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7O0FBUXpFLE1BQU0sT0FBTywwQkFBMEI7SUFLbkMsWUFBb0IsT0FBaUM7UUFBakMsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFKN0MsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBSU8sQ0FBQztJQUV6RCxRQUFRO1FBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUM7UUFFcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3BFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN0QixJQUFJLE9BQU8sR0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvQyxJQUFJLGdCQUFnQixHQUFXLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDNUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxnQkFBZ0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFDL0UsQ0FBQzs7d0hBekJRLDBCQUEwQjs0R0FBMUIsMEJBQTBCLDhDQUZ4QixDQUFDLHdCQUF3QixDQUFDLDBCQ1R6QyxrTEFLQTs0RkRNYSwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0kscUJBQXFCLGFBR3BCLENBQUMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFNtYXJ0U2Vzc2lvblRpbWVyU2VydmljZSB9IGZyb20gXCIuL3NtYXJ0LXNlc3Npb24tdGltZXIuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzbWFydC1zZXNzaW9uLXRpbWVyXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9zbWFydC1zZXNzaW9uLXRpbWVyLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL3NtYXJ0LXNlc3Npb24tdGltZXIuY29tcG9uZW50LmNzc1wiXSxcbiAgICBwcm92aWRlcnM6IFtTbWFydFNlc3Npb25UaW1lclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTbWFydFNlc3Npb25UaW1lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICB0aW1lSW5TZWNvbmRzPzogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOiBTbWFydFNlc3Npb25UaW1lclNlcnZpY2UpIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnN0YXJ0VGltZXIoKTtcbiAgICAgICAgdGhpcy50aW1lSW5TZWNvbmRzID0gdGhpcy5zZXJ2aWNlLnRpbWVMZWZ0SW5TZWNvbmRzO1xuXG4gICAgICAgIHRoaXMuc2VydmljZS50aW1lQ2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRpbWVJblNlY29uZHMgPSB0aGlzLnNlcnZpY2UudGltZUxlZnRJblNlY29uZHM7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgZm9ybWF0VGltZShzZWNvbmRzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICBsZXQgbWludXRlczogbnVtYmVyID0gTWF0aC5mbG9vcihzZWNvbmRzIC8gNjApO1xuICAgICAgICBsZXQgcmVtYWluaW5nU2Vjb25kczogbnVtYmVyID0gc2Vjb25kcyAlIDYwO1xuICAgICAgICByZXR1cm4gYCR7bWludXRlc306JHtyZW1haW5pbmdTZWNvbmRzIDwgMTAgPyBcIjBcIiA6IFwiXCJ9JHtyZW1haW5pbmdTZWNvbmRzfWA7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNtYXJ0LXNlc3Npb24tdGltZXItY29udGFpbmVyXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJzbWFydC1zZXNzaW9uLXRpbWVyXCIgKm5nSWY9XCJ0aW1lSW5TZWNvbmRzXCI+XG4gICAgICAgIHt7IGZvcm1hdFRpbWUodGltZUluU2Vjb25kcyEpIH19XG4gICAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,51 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { Subject, takeUntil } from "rxjs";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../smart-session.service";
5
+ export class SmartSessionTimerService {
6
+ constructor(session) {
7
+ this.session = session;
8
+ this._destroy$ = new Subject();
9
+ this.totalTimeInMinutes = 30;
10
+ this.sessionExpiration = "sessionExpiracy";
11
+ this.timeChanged = new Subject();
12
+ this.onTimerExpired = new Subject();
13
+ this.session.sessionExpiracyChanged.pipe(takeUntil(this._destroy$)).subscribe(() => {
14
+ this.restart();
15
+ });
16
+ }
17
+ ngOnDestroy() {
18
+ this._destroy$.next();
19
+ this._destroy$.complete();
20
+ }
21
+ startTimer() {
22
+ let sessionInfoData = this.session.sessionInfoData;
23
+ let expiration = new Date(sessionInfoData.expiration);
24
+ let now = new Date();
25
+ this.timeLeftInSeconds = Math.floor((expiration.getTime() - now.getTime()) / 1000);
26
+ this.timer = setInterval(() => {
27
+ this.timeLeftInSeconds--;
28
+ if (this.timeLeftInSeconds === 0) {
29
+ this.timeout();
30
+ }
31
+ this.timeChanged.next();
32
+ }, 1000);
33
+ }
34
+ restart() {
35
+ clearInterval(this.timer);
36
+ this.startTimer();
37
+ }
38
+ timeout() {
39
+ clearInterval(this.timer);
40
+ this.onTimerExpired.next();
41
+ }
42
+ }
43
+ SmartSessionTimerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionTimerService, deps: [{ token: i1.SmartSessionService }], target: i0.ɵɵFactoryTarget.Injectable });
44
+ SmartSessionTimerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionTimerService, providedIn: "root" });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartSessionTimerService, decorators: [{
46
+ type: Injectable,
47
+ args: [{
48
+ providedIn: "root",
49
+ }]
50
+ }], ctorParameters: function () { return [{ type: i1.SmartSessionService }]; } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtc2Vzc2lvbi10aW1lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC10aW1lci9zbWFydC1zZXNzaW9uLXRpbWVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBTTFDLE1BQU0sT0FBTyx3QkFBd0I7SUFjakMsWUFBb0IsT0FBNEI7UUFBNUIsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFieEMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRWpELHVCQUFrQixHQUFXLEVBQUUsQ0FBQztRQUd2QixzQkFBaUIsR0FBVyxpQkFBaUIsQ0FBQztRQUV2RCxnQkFBVyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRTNDLG1CQUFjLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFLMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDL0UsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELFdBQVc7UUFDUCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQztRQUNuRCxJQUFJLFVBQVUsR0FBRyxJQUFJLElBQUksQ0FBQyxlQUFnQixDQUFDLFVBQVcsQ0FBQyxDQUFDO1FBQ3hELElBQUksR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFFckIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQzFCLElBQUksQ0FBQyxpQkFBa0IsRUFBRSxDQUFDO1lBQzFCLElBQUksSUFBSSxDQUFDLGlCQUFpQixLQUFLLENBQUMsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2xCO1lBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsT0FBTztRQUNILGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxPQUFPO1FBQ0gsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7O3NIQWpEUSx3QkFBd0I7MEhBQXhCLHdCQUF3QixjQUZyQixNQUFNOzRGQUVULHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFNtYXJ0U2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vc21hcnQtc2Vzc2lvbi5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcbn0pXG5leHBvcnQgY2xhc3MgU21hcnRTZXNzaW9uVGltZXJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICB0b3RhbFRpbWVJbk1pbnV0ZXM6IG51bWJlciA9IDMwO1xuICAgIHRpbWVMZWZ0SW5TZWNvbmRzPzogbnVtYmVyO1xuXG4gICAgcmVhZG9ubHkgc2Vzc2lvbkV4cGlyYXRpb246IHN0cmluZyA9IFwic2Vzc2lvbkV4cGlyYWN5XCI7XG5cbiAgICB0aW1lQ2hhbmdlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBvblRpbWVyRXhwaXJlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICB0aW1lcjogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXNzaW9uOiBTbWFydFNlc3Npb25TZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuc2Vzc2lvbi5zZXNzaW9uRXhwaXJhY3lDaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVzdGFydCgpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBzdGFydFRpbWVyKCk6IHZvaWQge1xuICAgICAgICBsZXQgc2Vzc2lvbkluZm9EYXRhID0gdGhpcy5zZXNzaW9uLnNlc3Npb25JbmZvRGF0YTtcbiAgICAgICAgbGV0IGV4cGlyYXRpb24gPSBuZXcgRGF0ZShzZXNzaW9uSW5mb0RhdGEhLmV4cGlyYXRpb24hKTtcbiAgICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgdGhpcy50aW1lTGVmdEluU2Vjb25kcyA9IE1hdGguZmxvb3IoKGV4cGlyYXRpb24uZ2V0VGltZSgpIC0gbm93LmdldFRpbWUoKSkgLyAxMDAwKTtcbiAgICAgICAgdGhpcy50aW1lciA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGltZUxlZnRJblNlY29uZHMhLS07XG4gICAgICAgICAgICBpZiAodGhpcy50aW1lTGVmdEluU2Vjb25kcyA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMudGltZW91dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy50aW1lQ2hhbmdlZC5uZXh0KCk7XG4gICAgICAgIH0sIDEwMDApO1xuICAgIH1cblxuICAgIHJlc3RhcnQoKTogdm9pZCB7XG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XG5cbiAgICAgICAgdGhpcy5zdGFydFRpbWVyKCk7XG4gICAgfVxuXG4gICAgdGltZW91dCgpOiB2b2lkIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtcblxuICAgICAgICB0aGlzLm9uVGltZXJFeHBpcmVkLm5leHQoKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { SmartNgClientService } from "./smart-ng-client.service";
3
+ import { SmartSessionModule } from "./session/smart-session.module";
4
+ import { SmartViewContextModule } from "./view-context/smart-view-context.module";
5
+ import * as i0 from "@angular/core";
6
+ export class SmartNgClientModule {
7
+ }
8
+ SmartNgClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ SmartNgClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientModule, imports: [SmartSessionModule, SmartViewContextModule], exports: [SmartSessionModule, SmartViewContextModule] });
10
+ SmartNgClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientModule, providers: [SmartNgClientService], imports: [[SmartSessionModule, SmartViewContextModule], SmartSessionModule, SmartViewContextModule] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ declarations: [],
15
+ imports: [SmartSessionModule, SmartViewContextModule],
16
+ exports: [SmartSessionModule, SmartViewContextModule],
17
+ providers: [SmartNgClientService],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbmctY2xpZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LW5nLWNsaWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFRbEYsTUFBTSxPQUFPLG1CQUFtQjs7aUhBQW5CLG1CQUFtQjtrSEFBbkIsbUJBQW1CLFlBSmxCLGtCQUFrQixFQUFFLHNCQUFzQixhQUMxQyxrQkFBa0IsRUFBRSxzQkFBc0I7a0hBRzNDLG1CQUFtQixhQUZqQixDQUFDLG9CQUFvQixDQUFDLFlBRnhCLENBQUMsa0JBQWtCLEVBQUUsc0JBQXNCLENBQUMsRUFDM0Msa0JBQWtCLEVBQUUsc0JBQXNCOzRGQUczQyxtQkFBbUI7a0JBTi9CLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLHNCQUFzQixDQUFDO29CQUNyRCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxzQkFBc0IsQ0FBQztvQkFDckQsU0FBUyxFQUFFLENBQUMsb0JBQW9CLENBQUM7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgU21hcnROZ0NsaWVudFNlcnZpY2UgfSBmcm9tIFwiLi9zbWFydC1uZy1jbGllbnQuc2VydmljZVwiO1xuaW1wb3J0IHsgU21hcnRTZXNzaW9uTW9kdWxlIH0gZnJvbSBcIi4vc2Vzc2lvbi9zbWFydC1zZXNzaW9uLm1vZHVsZVwiO1xuaW1wb3J0IHsgU21hcnRWaWV3Q29udGV4dE1vZHVsZSB9IGZyb20gXCIuL3ZpZXctY29udGV4dC9zbWFydC12aWV3LWNvbnRleHQubW9kdWxlXCI7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbiAgICBpbXBvcnRzOiBbU21hcnRTZXNzaW9uTW9kdWxlLCBTbWFydFZpZXdDb250ZXh0TW9kdWxlXSxcbiAgICBleHBvcnRzOiBbU21hcnRTZXNzaW9uTW9kdWxlLCBTbWFydFZpZXdDb250ZXh0TW9kdWxlXSxcbiAgICBwcm92aWRlcnM6IFtTbWFydE5nQ2xpZW50U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNtYXJ0TmdDbGllbnRNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./session/smart-session.service";
4
+ import * as i2 from "./view-context/smart-view-context.service";
5
+ export class SmartNgClientService {
6
+ constructor(session, viewContext) {
7
+ this.session = session;
8
+ this.viewContext = viewContext;
9
+ }
10
+ }
11
+ SmartNgClientService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientService, deps: [{ token: i1.SmartSessionService }, { token: i2.SmartViewContextService }], target: i0.ɵɵFactoryTarget.Injectable });
12
+ SmartNgClientService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientService, providedIn: "root" });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SmartNgClientService, decorators: [{
14
+ type: Injectable,
15
+ args: [{
16
+ providedIn: "root",
17
+ }]
18
+ }], ctorParameters: function () { return [{ type: i1.SmartSessionService }, { type: i2.SmartViewContextService }]; } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbmctY2xpZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1uZy1jbGllbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBTzNDLE1BQU0sT0FBTyxvQkFBb0I7SUFDN0IsWUFDWSxPQUE0QixFQUM1QixXQUFvQztRQURwQyxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7SUFDN0MsQ0FBQzs7a0hBSkssb0JBQW9CO3NIQUFwQixvQkFBb0IsY0FGakIsTUFBTTs0RkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTbWFydFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4vc2Vzc2lvbi9zbWFydC1zZXNzaW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlIH0gZnJvbSBcIi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcbn0pXG5leHBvcnQgY2xhc3MgU21hcnROZ0NsaWVudFNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHNlc3Npb246IFNtYXJ0U2Vzc2lvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRleHQ6IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlXG4gICAgKSB7fVxufVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './view.service';
2
+ import { ViewService } from './view.service';
3
+ export const APIS = [ViewService];
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L2FwaS9hcGkvYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi92aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHsgVmlld1NlcnZpY2UgfSBmcm9tICcuL3ZpZXcuc2VydmljZSc7XG5leHBvcnQgY29uc3QgQVBJUyA9IFtWaWV3U2VydmljZV07XG4iXX0=