@esfaenza/core 16.2.28 → 19.2.2

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 (210) hide show
  1. package/components/back-top/back-top.component.d.ts +12 -12
  2. package/components/base/base.component.d.ts +26 -26
  3. package/components/base/embedding.component.d.ts +22 -22
  4. package/components/base/reactive.component.d.ts +9 -9
  5. package/components/breadcrumb/breadcrumb.component.d.ts +26 -26
  6. package/components/components.module.d.ts +32 -32
  7. package/components/error/404/pagenotfound.component.d.ts +15 -15
  8. package/components/error/500/servererror.component.d.ts +20 -20
  9. package/components/error/Angular/angularerror.component.d.ts +25 -25
  10. package/components/es-image-cropper/es-image-cropper.component.d.ts +25 -25
  11. package/components/es-modal/es-modal-head/es-modal-head.component.d.ts +11 -11
  12. package/components/es-modal/es-modal.component.d.ts +18 -18
  13. package/components/external-page/external_pages.component.d.ts +21 -21
  14. package/components/index.d.ts +5 -5
  15. package/components/jace-login/jace-login.component.d.ts +8 -8
  16. package/components/jace-resource/jace-resource.component.d.ts +25 -25
  17. package/components/labeled-span/labeled-span.component.d.ts +11 -11
  18. package/components/navbar/navbar.component.d.ts +58 -58
  19. package/components/navbar/navbar.component.loc.d.ts +8 -8
  20. package/components/page/pages.component.d.ts +23 -23
  21. package/components/public-api.d.ts +21 -21
  22. package/components/redirecter/redirecter.component.d.ts +23 -23
  23. package/components/sidebar/sidebar.component.d.ts +64 -64
  24. package/components/sidebar/sidebar.component.loc.d.ts +8 -8
  25. package/components/user_infos/user_infos.component.d.ts +50 -50
  26. package/components/user_infos/user_infos.component.loc.d.ts +8 -8
  27. package/directives/componentHost/componentHost.directive.d.ts +12 -12
  28. package/directives/directives.module.d.ts +12 -12
  29. package/directives/draggable/draggable.directive.d.ts +13 -13
  30. package/directives/es-modal/es-modal.directive.d.ts +20 -20
  31. package/directives/es-routerLink/es-routerLink.directive.d.ts +13 -13
  32. package/directives/index.d.ts +5 -5
  33. package/directives/public-api.d.ts +7 -7
  34. package/directives/slim-scroll/slim-scroll.directive.d.ts +15 -15
  35. package/directives/widget/widget.directive.d.ts +9 -9
  36. package/domain/index.d.ts +5 -5
  37. package/domain/models/core/ApplicationJob.d.ts +12 -12
  38. package/domain/models/core/ApplicationMenu.d.ts +16 -16
  39. package/domain/models/core/ApplicationRoutes.d.ts +2 -2
  40. package/domain/models/core/EnvOptions.d.ts +15 -15
  41. package/domain/models/core/GenericItem.d.ts +10 -10
  42. package/domain/models/core/KeyValue.d.ts +5 -5
  43. package/domain/models/global_search/SaerchResultContainer.d.ts +5 -5
  44. package/domain/models/global_search/SearchResult.d.ts +10 -10
  45. package/domain/models/jace/AccountScope.d.ts +9 -9
  46. package/domain/models/jace/ActiveModuleView.d.ts +11 -11
  47. package/domain/models/jace/CategoriesWithModules.d.ts +6 -6
  48. package/domain/models/jace/JaceAccount.d.ts +17 -17
  49. package/domain/models/jace/JaceIdentity.d.ts +17 -17
  50. package/domain/models/jace/JaceModule.d.ts +8 -8
  51. package/domain/models/jace/JacePermission.d.ts +10 -10
  52. package/domain/models/jace/JaceRole.d.ts +13 -13
  53. package/domain/models/jace/JaceUser.d.ts +9 -9
  54. package/domain/models/user/UpdateAccountRecoverySettingsDto.d.ts +5 -5
  55. package/domain/models/user/UpdatePasswordDto.d.ts +9 -9
  56. package/domain/models/user/UpdateProfilePictureDto.d.ts +4 -4
  57. package/domain/models/user/UserAccount.d.ts +23 -23
  58. package/domain/public-api.d.ts +22 -22
  59. package/domain/tokens.d.ts +22 -22
  60. package/fesm2022/esfaenza-core-components.mjs +1492 -1480
  61. package/fesm2022/esfaenza-core-components.mjs.map +1 -1
  62. package/fesm2022/esfaenza-core-directives.mjs +269 -269
  63. package/fesm2022/esfaenza-core-directives.mjs.map +1 -1
  64. package/fesm2022/esfaenza-core-domain.mjs +153 -153
  65. package/fesm2022/esfaenza-core-domain.mjs.map +1 -1
  66. package/fesm2022/esfaenza-core-helpers.mjs +38 -38
  67. package/fesm2022/esfaenza-core-helpers.mjs.map +1 -1
  68. package/fesm2022/esfaenza-core-modules.mjs +128 -134
  69. package/fesm2022/esfaenza-core-modules.mjs.map +1 -1
  70. package/fesm2022/esfaenza-core-pipes.mjs +96 -96
  71. package/fesm2022/esfaenza-core-pipes.mjs.map +1 -1
  72. package/fesm2022/esfaenza-core-services.mjs +1760 -1754
  73. package/fesm2022/esfaenza-core-services.mjs.map +1 -1
  74. package/fesm2022/esfaenza-core.mjs +206 -230
  75. package/fesm2022/esfaenza-core.mjs.map +1 -1
  76. package/helpers/classes/ResizeListener.d.ts +12 -12
  77. package/helpers/index.d.ts +5 -5
  78. package/helpers/public-api.d.ts +1 -1
  79. package/index.d.ts +5 -5
  80. package/lib/app.component.d.ts +13 -13
  81. package/lib/core.module.d.ts +85 -86
  82. package/modules/classes/_base.module.d.ts +4 -4
  83. package/modules/classes/_embedding.module.d.ts +11 -11
  84. package/modules/classes/_shared.module.d.ts +28 -29
  85. package/modules/classes/t_c.module.d.ts +18 -19
  86. package/modules/index.d.ts +5 -5
  87. package/modules/public-api.d.ts +4 -4
  88. package/package.json +84 -104
  89. package/pipes/classes/included_in.pipe.d.ts +7 -7
  90. package/pipes/classes/safe_html.pipe.d.ts +10 -10
  91. package/pipes/classes/safe_script.pipe.d.ts +10 -10
  92. package/pipes/classes/safe_style.pipe.d.ts +10 -10
  93. package/pipes/classes/safe_url.pipe.d.ts +10 -10
  94. package/pipes/index.d.ts +5 -5
  95. package/pipes/pipes.module.d.ts +11 -11
  96. package/pipes/public-api.d.ts +6 -6
  97. package/public-api.d.ts +2 -2
  98. package/services/classes/app.accesstoken.d.ts +17 -17
  99. package/services/classes/app.completedjobredirection.d.ts +12 -12
  100. package/services/classes/app.errorhandler.d.ts +11 -11
  101. package/services/classes/app.event.d.ts +10 -10
  102. package/services/classes/app.globalsearch.d.ts +25 -25
  103. package/services/classes/app.httpextensions.d.ts +34 -34
  104. package/services/classes/app.httpextensions.loc.d.ts +8 -8
  105. package/services/classes/app.menufilter.d.ts +14 -14
  106. package/services/classes/app.routeguard.d.ts +10 -10
  107. package/services/classes/app.session.d.ts +15 -15
  108. package/services/classes/app.state.d.ts +55 -55
  109. package/services/classes/preferences/app.cache.persistor.d.ts +25 -25
  110. package/services/classes/preferences/app.preference.persistor.d.ts +25 -25
  111. package/services/classes/preferences/user/app.userpreferences.base.d.ts +25 -25
  112. package/services/index.d.ts +5 -5
  113. package/services/public-api.d.ts +13 -13
  114. package/theme/initial.scss +17 -7
  115. package/esm2022/components/back-top/back-top.component.mjs +0 -43
  116. package/esm2022/components/base/base.component.mjs +0 -67
  117. package/esm2022/components/base/embedding.component.mjs +0 -64
  118. package/esm2022/components/base/reactive.component.mjs +0 -28
  119. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +0 -80
  120. package/esm2022/components/components.module.mjs +0 -97
  121. package/esm2022/components/error/404/pagenotfound.component.mjs +0 -36
  122. package/esm2022/components/error/500/servererror.component.mjs +0 -47
  123. package/esm2022/components/error/Angular/angularerror.component.mjs +0 -62
  124. package/esm2022/components/es-image-cropper/es-image-cropper.component.mjs +0 -82
  125. package/esm2022/components/es-modal/es-modal-head/es-modal-head.component.mjs +0 -22
  126. package/esm2022/components/es-modal/es-modal.component.mjs +0 -40
  127. package/esm2022/components/esfaenza-core-components.mjs +0 -5
  128. package/esm2022/components/external-page/external_pages.component.mjs +0 -48
  129. package/esm2022/components/jace-login/jace-login.component.mjs +0 -31
  130. package/esm2022/components/jace-resource/jace-resource.component.mjs +0 -68
  131. package/esm2022/components/labeled-span/labeled-span.component.mjs +0 -25
  132. package/esm2022/components/navbar/navbar.component.loc.mjs +0 -41
  133. package/esm2022/components/navbar/navbar.component.mjs +0 -223
  134. package/esm2022/components/page/pages.component.mjs +0 -60
  135. package/esm2022/components/public-api.mjs +0 -22
  136. package/esm2022/components/redirecter/redirecter.component.mjs +0 -65
  137. package/esm2022/components/sidebar/sidebar.component.loc.mjs +0 -39
  138. package/esm2022/components/sidebar/sidebar.component.mjs +0 -286
  139. package/esm2022/components/user_infos/user_infos.component.loc.mjs +0 -43
  140. package/esm2022/components/user_infos/user_infos.component.mjs +0 -148
  141. package/esm2022/directives/componentHost/componentHost.directive.mjs +0 -29
  142. package/esm2022/directives/directives.module.mjs +0 -21
  143. package/esm2022/directives/draggable/draggable.directive.mjs +0 -49
  144. package/esm2022/directives/es-modal/es-modal.directive.mjs +0 -79
  145. package/esm2022/directives/es-routerLink/es-routerLink.directive.mjs +0 -55
  146. package/esm2022/directives/esfaenza-core-directives.mjs +0 -5
  147. package/esm2022/directives/public-api.mjs +0 -8
  148. package/esm2022/directives/slim-scroll/slim-scroll.directive.mjs +0 -41
  149. package/esm2022/directives/widget/widget.directive.mjs +0 -37
  150. package/esm2022/domain/esfaenza-core-domain.mjs +0 -5
  151. package/esm2022/domain/models/core/ApplicationJob.mjs +0 -3
  152. package/esm2022/domain/models/core/ApplicationMenu.mjs +0 -26
  153. package/esm2022/domain/models/core/ApplicationRoutes.mjs +0 -3
  154. package/esm2022/domain/models/core/EnvOptions.mjs +0 -13
  155. package/esm2022/domain/models/core/GenericItem.mjs +0 -12
  156. package/esm2022/domain/models/core/KeyValue.mjs +0 -15
  157. package/esm2022/domain/models/global_search/SaerchResultContainer.mjs +0 -6
  158. package/esm2022/domain/models/global_search/SearchResult.mjs +0 -8
  159. package/esm2022/domain/models/jace/AccountScope.mjs +0 -8
  160. package/esm2022/domain/models/jace/ActiveModuleView.mjs +0 -6
  161. package/esm2022/domain/models/jace/CategoriesWithModules.mjs +0 -7
  162. package/esm2022/domain/models/jace/JaceAccount.mjs +0 -3
  163. package/esm2022/domain/models/jace/JaceIdentity.mjs +0 -15
  164. package/esm2022/domain/models/jace/JaceModule.mjs +0 -10
  165. package/esm2022/domain/models/jace/JacePermission.mjs +0 -3
  166. package/esm2022/domain/models/jace/JaceRole.mjs +0 -9
  167. package/esm2022/domain/models/jace/JaceUser.mjs +0 -3
  168. package/esm2022/domain/models/user/UpdateAccountRecoverySettingsDto.mjs +0 -7
  169. package/esm2022/domain/models/user/UpdatePasswordDto.mjs +0 -11
  170. package/esm2022/domain/models/user/UpdateProfilePictureDto.mjs +0 -6
  171. package/esm2022/domain/models/user/UserAccount.mjs +0 -3
  172. package/esm2022/domain/public-api.mjs +0 -23
  173. package/esm2022/domain/tokens.mjs +0 -17
  174. package/esm2022/esfaenza-core.mjs +0 -5
  175. package/esm2022/helpers/classes/ResizeListener.mjs +0 -38
  176. package/esm2022/helpers/esfaenza-core-helpers.mjs +0 -5
  177. package/esm2022/helpers/public-api.mjs +0 -2
  178. package/esm2022/lib/app.component.mjs +0 -34
  179. package/esm2022/lib/core.module.mjs +0 -258
  180. package/esm2022/modules/classes/_base.module.mjs +0 -32
  181. package/esm2022/modules/classes/_embedding.module.mjs +0 -27
  182. package/esm2022/modules/classes/_shared.module.mjs +0 -47
  183. package/esm2022/modules/classes/t_c.module.mjs +0 -85
  184. package/esm2022/modules/esfaenza-core-modules.mjs +0 -5
  185. package/esm2022/modules/public-api.mjs +0 -5
  186. package/esm2022/pipes/classes/included_in.pipe.mjs +0 -20
  187. package/esm2022/pipes/classes/safe_html.pipe.mjs +0 -21
  188. package/esm2022/pipes/classes/safe_script.pipe.mjs +0 -21
  189. package/esm2022/pipes/classes/safe_style.pipe.mjs +0 -21
  190. package/esm2022/pipes/classes/safe_url.pipe.mjs +0 -21
  191. package/esm2022/pipes/esfaenza-core-pipes.mjs +0 -5
  192. package/esm2022/pipes/pipes.module.mjs +0 -20
  193. package/esm2022/pipes/public-api.mjs +0 -7
  194. package/esm2022/public-api.mjs +0 -3
  195. package/esm2022/services/classes/app.accesstoken.mjs +0 -1042
  196. package/esm2022/services/classes/app.completedjobredirection.mjs +0 -18
  197. package/esm2022/services/classes/app.errorhandler.mjs +0 -41
  198. package/esm2022/services/classes/app.event.mjs +0 -27
  199. package/esm2022/services/classes/app.globalsearch.mjs +0 -34
  200. package/esm2022/services/classes/app.httpextensions.loc.mjs +0 -15
  201. package/esm2022/services/classes/app.httpextensions.mjs +0 -90
  202. package/esm2022/services/classes/app.menufilter.mjs +0 -21
  203. package/esm2022/services/classes/app.routeguard.mjs +0 -23
  204. package/esm2022/services/classes/app.session.mjs +0 -40
  205. package/esm2022/services/classes/app.state.mjs +0 -229
  206. package/esm2022/services/classes/preferences/app.cache.persistor.mjs +0 -94
  207. package/esm2022/services/classes/preferences/app.preference.persistor.mjs +0 -94
  208. package/esm2022/services/classes/preferences/user/app.userpreferences.base.mjs +0 -101
  209. package/esm2022/services/esfaenza-core-services.mjs +0 -5
  210. package/esm2022/services/public-api.mjs +0 -14
@@ -1,148 +0,0 @@
1
- // Angular
2
- import { Component, ViewChild } from "@angular/core";
3
- import { NgFor, NgIf } from "@angular/common";
4
- import { FormsModule } from "@angular/forms";
5
- // Configurazioni
6
- import { ExtensionsModule } from "@esfaenza/extensions";
7
- import { LocalizationModule, LocalizationService } from "@esfaenza/localizations";
8
- // Classi
9
- import { UpdatePasswordDto } from "@esfaenza/core/domain";
10
- import { FormsAndValidationsModule } from "@esfaenza/forms-and-validations";
11
- import { BaseComponent } from "../base/base.component";
12
- import { UserInfoComponentLoc } from "./user_infos.component.loc";
13
- import { AccessControlModule } from "@esfaenza/access-control";
14
- import { MatTooltipModule } from "@angular/material/tooltip";
15
- import { EsModalComponent } from "../es-modal/es-modal.component";
16
- import { EsModalHeadComponent } from "../es-modal/es-modal-head/es-modal-head.component";
17
- import { LabeledSpanComponent } from "../labeled-span/labeled-span.component";
18
- import { EsImageCropperComponent } from "../public-api";
19
- import * as i0 from "@angular/core";
20
- import * as i1 from "@esfaenza/core/services";
21
- import * as i2 from "@esfaenza/extensions";
22
- import * as i3 from "@esfaenza/localizations";
23
- import * as i4 from "@angular/forms";
24
- import * as i5 from "@esfaenza/forms-and-validations";
25
- import * as i6 from "@esfaenza/access-control";
26
- import * as i7 from "@angular/material/tooltip";
27
- export class UserInfosComponent extends BaseComponent {
28
- constructor(inj, tks, msgExts, expExts, utiExts, lc, _state, profile) {
29
- super(inj);
30
- this.inj = inj;
31
- this.tks = tks;
32
- this.msgExts = msgExts;
33
- this.expExts = expExts;
34
- this.utiExts = utiExts;
35
- this.lc = lc;
36
- this._state = _state;
37
- this.profile = profile;
38
- this.UpdateProfilePictureDTO = null;
39
- this.UpdateRecoverySettingsDTO = null;
40
- this.UpdatePasswordDTO = null;
41
- }
42
- ngOnInit() {
43
- this.getAccountDetails();
44
- }
45
- async getAccountDetails() {
46
- // Recupero le informazioni Account partendo dalla identity
47
- let identity = this.tks.getJaceIdentity();
48
- if (identity) {
49
- this.AccountRoles = identity.Roles;
50
- this.AccountPermissions = identity.Permissions;
51
- this.AccountDetails = await this.profile.getAccountProfile();
52
- }
53
- }
54
- onShowAccountRoles() {
55
- this.dlgShowAccountRoles.show();
56
- }
57
- onUpdateProfilePicture() {
58
- this.UpdateProfilePictureDTO = null;
59
- requestAnimationFrame(() => {
60
- this.UpdateProfilePictureDTO = { image: null };
61
- this.dlgUpdateProfilePicture.show();
62
- });
63
- }
64
- async doUpdateProfilePicture() {
65
- let res = await this.profile.doUpdateProfilePicture(new File([this.imageCropper.OutputImage], "profile.png"));
66
- this.msgExts.manageCallResultResponse(res, "Modifica eseguita con Successo", "Errori nella modifica", () => {
67
- this.dlgUpdateProfilePicture.hide();
68
- });
69
- }
70
- //#endregion
71
- //#region Delete Profile Picture
72
- onDeleteProfilePicture() {
73
- this.msgExts.simpleWarningWithChoice("Conferma eliminazione", "Si e' certi di voler rimuovere l'immagine profilo?", () => {
74
- this.doDeleteProfilePicture();
75
- });
76
- }
77
- async doDeleteProfilePicture() {
78
- let res = await this.profile.doDeleteProfilePicture();
79
- this.msgExts.manageCallResultResponse(res, "Immagine profilo rimossa con successo", "Errori nella rimozione della immagine profilo", () => {
80
- this.dlgUpdateProfilePicture.hide();
81
- });
82
- }
83
- onUpdateRecoverySettings() {
84
- this.UpdateRecoverySettingsDTO = null;
85
- requestAnimationFrame(() => {
86
- this.UpdateRecoverySettingsDTO = { email: this.AccountDetails.recoveryemail };
87
- this.dlgUpdateRecoverySettings.show();
88
- });
89
- }
90
- async doUpdateRecoverySettings() {
91
- let res = await this.profile.doUpdateRecoverySettings(this.UpdateRecoverySettingsDTO.email);
92
- this.msgExts.manageCallResultResponse(res, "Modifica eseguita con Successo", "Errori nella modifica", () => {
93
- this.getAccountDetails();
94
- this.dlgUpdateRecoverySettings.hide();
95
- });
96
- }
97
- onUpdatePassword() {
98
- this.UpdatePasswordDTO = null;
99
- requestAnimationFrame(() => {
100
- this.CustomError = "";
101
- this.UpdatePasswordDTO = new UpdatePasswordDto();
102
- this.dlgUpdatePassword.show();
103
- });
104
- }
105
- async doUpdatePassword() {
106
- if (this.UpdatePasswordDTO.newpwd != this.UpdatePasswordDTO.confirmpwd)
107
- this.CustomError = "Le password inserite non coincidono.";
108
- else {
109
- let res = await this.profile.doUpdatePassword(this.UpdatePasswordDTO.oldpwd, this.UpdatePasswordDTO.newpwd, this.UpdatePasswordDTO.confirmpwd);
110
- this.msgExts.manageCallResultResponse(res, "Password modificata con Successo", "Errori nella modifica della Password", () => { this.dlgUpdatePassword.hide(); });
111
- }
112
- }
113
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserInfosComponent, deps: [{ token: i0.Injector }, { token: i1.TokenService }, { token: i2.MessageService }, { token: i2.ExportService }, { token: i2.UtilityService }, { token: i3.LocalizationService }, { token: i1.AppState }, { token: i1.UserPreferencesService }], target: i0.ɵɵFactoryTarget.Component }); }
114
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UserInfosComponent, isStandalone: true, selector: "user-infos", viewQueries: [{ propertyName: "dlgShowAccountRoles", first: true, predicate: ["dlgShowAccountRoles"], descendants: true }, { propertyName: "dlgUpdateProfilePicture", first: true, predicate: ["dlgUpdateProfilePicture"], descendants: true }, { propertyName: "imageCropper", first: true, predicate: ["imageCropper"], descendants: true }, { propertyName: "dlgUpdateRecoverySettings", first: true, predicate: ["dlgUpdateRecoverySettings"], descendants: true }, { propertyName: "dlgUpdatePassword", first: true, predicate: ["dlgUpdatePassword"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div style=\"height: 100%; width: 100%; display: flex;\">\r\n <div style=\"margin: auto;\">\r\n <div class=\"user-img-container\">\r\n <img [src]=\"profile.ProfilePicture\" alt=\"user-img\" class=\"user-img\" />\r\n <div class=\"app-pointer user-img-btn\">\r\n <div class=\"app-opacity user-img-btn-body\" (click)=\"onUpdateProfilePicture();\">\r\n <i class=\"far fa-pen\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"app-margin-top-15\" style=\"position: relative;\" *ngIf=\"AccountDetails\">\r\n <div class=\"card card-body app-no-margin app-padding-15\">\r\n <div class=\"row\">\r\n <div *ac=\"'R:Jace Admin'\" class=\"user-roles-btn\" [matTooltip]=\"'Visualizza Ruoli e Permessi'\" matTooltipPosition=\"above\" (click)=\"onShowAccountRoles();\">\r\n <i class=\"far fa-book-user\"></i>\r\n </div>\r\n <div class=\"col-md-6\"><labeled-span [Label]=\"'Utente' | localize : lc\" Display=\"Vertical\">{{AccountDetails.username}}</labeled-span></div>\r\n <div class=\"col-md-6\"><labeled-span [Label]=\"'Tenant' | localize : lc\" Display=\"Vertical\">{{AccountDetails.tenantid}}</labeled-span></div>\r\n <div class=\"col-md-6 app-margin-top-10\"><labeled-span [Label]=\"'Nome' | localize : lc\" Display=\"Vertical\">{{AccountDetails.firstname}}</labeled-span></div>\r\n <div class=\"col-md-6 app-margin-top-10\"><labeled-span [Label]=\"'Cognome' | localize : lc\" Display=\"Vertical\">{{AccountDetails.lastname}}</labeled-span> </div>\r\n <div class=\"col-md-12 app-margin-top-10\"><labeled-span [Label]=\"'Email' | localize : lc\" Display=\"Vertical\">{{AccountDetails.recoveryemail || 'Non disponibile'}}</labeled-span></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"app-margin-top-10 row\">\r\n <div class=\"col-md-6\" style=\"padding-right: 5px;\">\r\n <button type=\"button\" style=\"width: 100%;\" class=\"btn btn-primary\" (click)=\"onUpdatePassword()\">Modifica Password</button>\r\n </div>\r\n <div class=\"col-md-6\" style=\"padding-left: 5px;\">\r\n <button type=\"button\" style=\"width: 100%;\" class=\"btn btn-primary\" (click)=\"onUpdateRecoverySettings()\">Modifica Email</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--Update Password-->\r\n<es-modal #dlgUpdatePassword [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgUpdatePassword.hide();\">\r\n <h5 class=\"modal-title pull-left\">Modifica Password</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"UpdatePasswordDTO\" #formUpdatePassword=\"ngForm\" (ngSubmit)=\"formUpdatePassword.valid && doUpdatePassword()\">\r\n <div class=\"modal-body lastfix\">\r\n <form-input [Password]=\"true\" [Label]=\"'Password' | localize: lc\" [(ngModel)]=\"UpdatePasswordDTO.oldpwd\" name=\"oldpw\" required></form-input>\r\n <form-input [Password]=\"true\" [Label]=\"'Nuova Password' | localize: lc\" [(ngModel)]=\"UpdatePasswordDTO.newpwd\" name=\"newpw\" required></form-input>\r\n <form-input [Password]=\"true\" [Label]=\"'Conferma Password' | localize: lc\" [(ngModel)]=\"UpdatePasswordDTO.confirmpwd\" name=\"confpw\" required></form-input>\r\n <!--Validazione Custom-->\r\n <div *ngIf=\"CustomError\" class=\"app-white-text app-margin-top-15 app-margin-bottom-0 card app-padding-10 card-danger\">\r\n <strong>{{'Error' | localize : lc}}:&nbsp;</strong>{{CustomError}}\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgUpdatePassword.hide();\">{{'Cancel' | localize : lc}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">Conferma</button>\r\n </div>\r\n </form>\r\n</es-modal>\r\n\r\n<!--Update Extra Info-->\r\n<es-modal #dlgUpdateRecoverySettings [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgUpdateRecoverySettings.hide();\">\r\n <h5 class=\"modal-title pull-left\">{{'Modifica Email' | localize : lc}}</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"UpdateRecoverySettingsDTO\" #formUpdateInfos=\"ngForm\" (ngSubmit)=\"formUpdateInfos.valid && doUpdateRecoverySettings()\">\r\n <div class=\"modal-body lastfix\">\r\n <form-input [LabelInputRatio]=\"'3 9'\" [Label]=\"'Email' | localize: lc\" [(ngModel)]=\"UpdateRecoverySettingsDTO.email\" name=\"email\"></form-input>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgUpdateRecoverySettings.hide();\">{{'Cancel' | localize : lc}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">Conferma</button>\r\n </div>\r\n </form>\r\n</es-modal>\r\n\r\n<!--Upload Picture-->\r\n<es-modal #dlgUpdateProfilePicture [Size]=\"'XL'\">\r\n <es-modal-head (Close)=\"dlgUpdateProfilePicture.hide();\">\r\n <h5 class=\"modal-title pull-left\">Carica immagine</h5>\r\n </es-modal-head>\r\n <div class=\"modal-body d-flex\">\r\n <div style=\"margin: auto;\">\r\n <es-image-cropper #imageCropper [Height]=\"600\" [Width]=\"800\"></es-image-cropper>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"dlgUpdateProfilePicture.hide()\">Annulla</button>\r\n <button type=\"submit\" class=\"btn btn-primary\" (click)=\"doUpdateProfilePicture()\">Conferma</button>\r\n </div>\r\n</es-modal>\r\n\r\n<!--Ruoli e Permessi-->\r\n<es-modal #dlgShowAccountRoles [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgShowAccountRoles.hide();\">\r\n <h5 class=\"modal-title pull-left\">{{'Ruoli e Permessi' | localize : lc}}</h5>\r\n </es-modal-head>\r\n <div class=\"modal-body\" style=\"max-height: 600px; overflow-y: auto;\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\" *ngIf=\"AccountRoles\">\r\n <labeled-span [Label]=\"'Ruoli'\" Display=\"Vertical\">\r\n <div *ngFor=\"let r of AccountRoles;\">{{r}}</div>\r\n </labeled-span>\r\n </div>\r\n <div class=\"col-md-6\" *ngIf=\"AccountPermissions\">\r\n <labeled-span [Label]=\"'Permessi'\" Display=\"Vertical\">\r\n <div *ngFor=\"let p of AccountPermissions;\">{{p}}</div>\r\n </labeled-span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"dlgShowAccountRoles.hide();\">{{'Chiudi' | localize : lc}}</button>\r\n </div>\r\n</es-modal>", styles: [".app-wideplus{width:100%;text-align:center;border:1px solid #ccc;border-radius:5px;padding:5px}.btn-outline-main-modified{color:#242d3a;border-color:#242d3a;background:transparent}.btn-outline-main-modified:hover{color:#fff;background:#242d3a;border-color:#242d3a}.user-img-container{position:relative;width:200px;margin:auto}.user-img{object-fit:cover;max-height:200px;min-height:200px;min-width:200px;max-width:200px;border-radius:50%;box-shadow:0 8px 6px #1313130a,0 12px 16px #1313130d}.user-img-btn{position:absolute;right:0;width:40px;height:40px;margin-top:-50px}.user-img-btn-body{background-color:#0056b3;color:#fff;border-radius:50%;text-align:center;height:100%;font-size:1.2rem;line-height:2.5rem}.user-roles-btn{position:absolute;top:0;right:2px;font-size:1.2rem;padding:5px;z-index:1;color:#0056b3;cursor:pointer;width:auto}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsAndValidationsModule }, { kind: "component", type: i5.FormInputComponent, selector: "form-input", inputs: ["Password"], outputs: ["onSuffixAction", "onPrefixAction"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i3.LocalizePipe, name: "localize" }, { kind: "component", type: EsModalComponent, selector: "es-modal", inputs: ["Size", "IgnoreBackdrop", "Backdrop", "HasOverlap"], outputs: ["onShow", "onHide"] }, { kind: "component", type: EsModalHeadComponent, selector: "es-modal-head", outputs: ["Close"] }, { kind: "component", type: EsImageCropperComponent, selector: "es-image-cropper", inputs: ["Height", "Width"] }, { kind: "component", type: LabeledSpanComponent, selector: "labeled-span", inputs: ["First", "Label", "Display"] }, { kind: "ngmodule", type: ExtensionsModule }, { kind: "ngmodule", type: AccessControlModule }, { kind: "directive", type: i6.AccessControlDirective, selector: "[ac]", inputs: ["ac", "acAbsolute"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], viewProviders: [{ provide: LocalizationService, useClass: UserInfoComponentLoc }] }); }
115
- }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserInfosComponent, decorators: [{
117
- type: Component,
118
- args: [{ selector: "user-infos", viewProviders: [{ provide: LocalizationService, useClass: UserInfoComponentLoc }], standalone: true, imports: [
119
- FormsModule,
120
- FormsAndValidationsModule,
121
- NgIf,
122
- NgFor,
123
- LocalizationModule,
124
- EsModalComponent,
125
- EsModalHeadComponent,
126
- EsImageCropperComponent,
127
- LabeledSpanComponent,
128
- ExtensionsModule,
129
- AccessControlModule,
130
- MatTooltipModule
131
- ], template: "<div style=\"height: 100%; width: 100%; display: flex;\">\r\n <div style=\"margin: auto;\">\r\n <div class=\"user-img-container\">\r\n <img [src]=\"profile.ProfilePicture\" alt=\"user-img\" class=\"user-img\" />\r\n <div class=\"app-pointer user-img-btn\">\r\n <div class=\"app-opacity user-img-btn-body\" (click)=\"onUpdateProfilePicture();\">\r\n <i class=\"far fa-pen\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"app-margin-top-15\" style=\"position: relative;\" *ngIf=\"AccountDetails\">\r\n <div class=\"card card-body app-no-margin app-padding-15\">\r\n <div class=\"row\">\r\n <div *ac=\"'R:Jace Admin'\" class=\"user-roles-btn\" [matTooltip]=\"'Visualizza Ruoli e Permessi'\" matTooltipPosition=\"above\" (click)=\"onShowAccountRoles();\">\r\n <i class=\"far fa-book-user\"></i>\r\n </div>\r\n <div class=\"col-md-6\"><labeled-span [Label]=\"'Utente' | localize : lc\" Display=\"Vertical\">{{AccountDetails.username}}</labeled-span></div>\r\n <div class=\"col-md-6\"><labeled-span [Label]=\"'Tenant' | localize : lc\" Display=\"Vertical\">{{AccountDetails.tenantid}}</labeled-span></div>\r\n <div class=\"col-md-6 app-margin-top-10\"><labeled-span [Label]=\"'Nome' | localize : lc\" Display=\"Vertical\">{{AccountDetails.firstname}}</labeled-span></div>\r\n <div class=\"col-md-6 app-margin-top-10\"><labeled-span [Label]=\"'Cognome' | localize : lc\" Display=\"Vertical\">{{AccountDetails.lastname}}</labeled-span> </div>\r\n <div class=\"col-md-12 app-margin-top-10\"><labeled-span [Label]=\"'Email' | localize : lc\" Display=\"Vertical\">{{AccountDetails.recoveryemail || 'Non disponibile'}}</labeled-span></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"app-margin-top-10 row\">\r\n <div class=\"col-md-6\" style=\"padding-right: 5px;\">\r\n <button type=\"button\" style=\"width: 100%;\" class=\"btn btn-primary\" (click)=\"onUpdatePassword()\">Modifica Password</button>\r\n </div>\r\n <div class=\"col-md-6\" style=\"padding-left: 5px;\">\r\n <button type=\"button\" style=\"width: 100%;\" class=\"btn btn-primary\" (click)=\"onUpdateRecoverySettings()\">Modifica Email</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--Update Password-->\r\n<es-modal #dlgUpdatePassword [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgUpdatePassword.hide();\">\r\n <h5 class=\"modal-title pull-left\">Modifica Password</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"UpdatePasswordDTO\" #formUpdatePassword=\"ngForm\" (ngSubmit)=\"formUpdatePassword.valid && doUpdatePassword()\">\r\n <div class=\"modal-body lastfix\">\r\n <form-input [Password]=\"true\" [Label]=\"'Password' | localize: lc\" [(ngModel)]=\"UpdatePasswordDTO.oldpwd\" name=\"oldpw\" required></form-input>\r\n <form-input [Password]=\"true\" [Label]=\"'Nuova Password' | localize: lc\" [(ngModel)]=\"UpdatePasswordDTO.newpwd\" name=\"newpw\" required></form-input>\r\n <form-input [Password]=\"true\" [Label]=\"'Conferma Password' | localize: lc\" [(ngModel)]=\"UpdatePasswordDTO.confirmpwd\" name=\"confpw\" required></form-input>\r\n <!--Validazione Custom-->\r\n <div *ngIf=\"CustomError\" class=\"app-white-text app-margin-top-15 app-margin-bottom-0 card app-padding-10 card-danger\">\r\n <strong>{{'Error' | localize : lc}}:&nbsp;</strong>{{CustomError}}\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgUpdatePassword.hide();\">{{'Cancel' | localize : lc}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">Conferma</button>\r\n </div>\r\n </form>\r\n</es-modal>\r\n\r\n<!--Update Extra Info-->\r\n<es-modal #dlgUpdateRecoverySettings [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgUpdateRecoverySettings.hide();\">\r\n <h5 class=\"modal-title pull-left\">{{'Modifica Email' | localize : lc}}</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"UpdateRecoverySettingsDTO\" #formUpdateInfos=\"ngForm\" (ngSubmit)=\"formUpdateInfos.valid && doUpdateRecoverySettings()\">\r\n <div class=\"modal-body lastfix\">\r\n <form-input [LabelInputRatio]=\"'3 9'\" [Label]=\"'Email' | localize: lc\" [(ngModel)]=\"UpdateRecoverySettingsDTO.email\" name=\"email\"></form-input>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgUpdateRecoverySettings.hide();\">{{'Cancel' | localize : lc}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">Conferma</button>\r\n </div>\r\n </form>\r\n</es-modal>\r\n\r\n<!--Upload Picture-->\r\n<es-modal #dlgUpdateProfilePicture [Size]=\"'XL'\">\r\n <es-modal-head (Close)=\"dlgUpdateProfilePicture.hide();\">\r\n <h5 class=\"modal-title pull-left\">Carica immagine</h5>\r\n </es-modal-head>\r\n <div class=\"modal-body d-flex\">\r\n <div style=\"margin: auto;\">\r\n <es-image-cropper #imageCropper [Height]=\"600\" [Width]=\"800\"></es-image-cropper>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"dlgUpdateProfilePicture.hide()\">Annulla</button>\r\n <button type=\"submit\" class=\"btn btn-primary\" (click)=\"doUpdateProfilePicture()\">Conferma</button>\r\n </div>\r\n</es-modal>\r\n\r\n<!--Ruoli e Permessi-->\r\n<es-modal #dlgShowAccountRoles [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgShowAccountRoles.hide();\">\r\n <h5 class=\"modal-title pull-left\">{{'Ruoli e Permessi' | localize : lc}}</h5>\r\n </es-modal-head>\r\n <div class=\"modal-body\" style=\"max-height: 600px; overflow-y: auto;\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\" *ngIf=\"AccountRoles\">\r\n <labeled-span [Label]=\"'Ruoli'\" Display=\"Vertical\">\r\n <div *ngFor=\"let r of AccountRoles;\">{{r}}</div>\r\n </labeled-span>\r\n </div>\r\n <div class=\"col-md-6\" *ngIf=\"AccountPermissions\">\r\n <labeled-span [Label]=\"'Permessi'\" Display=\"Vertical\">\r\n <div *ngFor=\"let p of AccountPermissions;\">{{p}}</div>\r\n </labeled-span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"dlgShowAccountRoles.hide();\">{{'Chiudi' | localize : lc}}</button>\r\n </div>\r\n</es-modal>", styles: [".app-wideplus{width:100%;text-align:center;border:1px solid #ccc;border-radius:5px;padding:5px}.btn-outline-main-modified{color:#242d3a;border-color:#242d3a;background:transparent}.btn-outline-main-modified:hover{color:#fff;background:#242d3a;border-color:#242d3a}.user-img-container{position:relative;width:200px;margin:auto}.user-img{object-fit:cover;max-height:200px;min-height:200px;min-width:200px;max-width:200px;border-radius:50%;box-shadow:0 8px 6px #1313130a,0 12px 16px #1313130d}.user-img-btn{position:absolute;right:0;width:40px;height:40px;margin-top:-50px}.user-img-btn-body{background-color:#0056b3;color:#fff;border-radius:50%;text-align:center;height:100%;font-size:1.2rem;line-height:2.5rem}.user-roles-btn{position:absolute;top:0;right:2px;font-size:1.2rem;padding:5px;z-index:1;color:#0056b3;cursor:pointer;width:auto}\n"] }]
132
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.TokenService }, { type: i2.MessageService }, { type: i2.ExportService }, { type: i2.UtilityService }, { type: i3.LocalizationService }, { type: i1.AppState }, { type: i1.UserPreferencesService }]; }, propDecorators: { dlgShowAccountRoles: [{
133
- type: ViewChild,
134
- args: ["dlgShowAccountRoles"]
135
- }], dlgUpdateProfilePicture: [{
136
- type: ViewChild,
137
- args: ["dlgUpdateProfilePicture"]
138
- }], imageCropper: [{
139
- type: ViewChild,
140
- args: ['imageCropper']
141
- }], dlgUpdateRecoverySettings: [{
142
- type: ViewChild,
143
- args: ["dlgUpdateRecoverySettings"]
144
- }], dlgUpdatePassword: [{
145
- type: ViewChild,
146
- args: ["dlgUpdatePassword"]
147
- }] } });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcl9pbmZvcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3VzZXJfaW5mb3MvdXNlcl9pbmZvcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3VzZXJfaW5mb3MvdXNlcl9pbmZvcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFNBQVMsRUFBWSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBaUIsZ0JBQWdCLEVBQWtDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbEYsU0FBUztBQUNULE9BQU8sRUFBRSxpQkFBaUIsRUFBZSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZFLE9BQU8sRUFBVyx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUl0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FB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Qjt3QkFDaEIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLGdCQUFnQjtxQkFDbkI7OFNBNEJpQyxtQkFBbUI7c0JBQXBELFNBQVM7dUJBQUMscUJBQXFCO2dCQVFNLHVCQUF1QjtzQkFBNUQsU0FBUzt1QkFBQyx5QkFBeUI7Z0JBQ1QsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjO2dCQW1DZSx5QkFBeUI7c0JBQWhFLFNBQVM7dUJBQUMsMkJBQTJCO2dCQXFCTixpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOZ0ZvciwgTmdJZiB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IEV4cG9ydFNlcnZpY2UsIEV4dGVuc2lvbnNNb2R1bGUsIE1lc3NhZ2VTZXJ2aWNlLCBVdGlsaXR5U2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25Nb2R1bGUsIExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuXHJcbi8vIENsYXNzaVxyXG5pbXBvcnQgeyBVcGRhdGVQYXNzd29yZER0bywgVXNlckFjY291bnQgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvZG9tYWluXCI7XHJcbmltcG9ydCB7IEFwcEZpbGUsIEZvcm1zQW5kVmFsaWRhdGlvbnNNb2R1bGUgfSBmcm9tIFwiQGVzZmFlbnphL2Zvcm1zLWFuZC12YWxpZGF0aW9uc1wiO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSBcIi4uL2Jhc2UvYmFzZS5jb21wb25lbnRcIlxyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IEFwcFN0YXRlLCBUb2tlblNlcnZpY2UsIFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvc2VydmljZXNcIjtcclxuaW1wb3J0IHsgVXNlckluZm9Db21wb25lbnRMb2MgfSBmcm9tIFwiLi91c2VyX2luZm9zLmNvbXBvbmVudC5sb2NcIjtcclxuaW1wb3J0IHsgQWNjZXNzQ29udHJvbE1vZHVsZSB9IGZyb20gXCJAZXNmYWVuemEvYWNjZXNzLWNvbnRyb2xcIjtcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwXCI7XHJcbmltcG9ydCB7IEVzTW9kYWxDb21wb25lbnQgfSBmcm9tIFwiLi4vZXMtbW9kYWwvZXMtbW9kYWwuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEVzTW9kYWxIZWFkQ29tcG9uZW50IH0gZnJvbSBcIi4uL2VzLW1vZGFsL2VzLW1vZGFsLWhlYWQvZXMtbW9kYWwtaGVhZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgTGFiZWxlZFNwYW5Db21wb25lbnQgfSBmcm9tIFwiLi4vbGFiZWxlZC1zcGFuL2xhYmVsZWQtc3Bhbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRXNJbWFnZUNyb3BwZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vcHVibGljLWFwaVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJ1c2VyLWluZm9zXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCJ1c2VyX2luZm9zLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vdXNlcl9pbmZvcy5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAgIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IExvY2FsaXphdGlvblNlcnZpY2UsIHVzZUNsYXNzOiBVc2VySW5mb0NvbXBvbmVudExvYyB9XSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsIFxyXG4gICAgICAgIEZvcm1zQW5kVmFsaWRhdGlvbnNNb2R1bGUsIFxyXG4gICAgICAgIE5nSWYsXHJcbiAgICAgICAgTmdGb3IsXHJcbiAgICAgICAgTG9jYWxpemF0aW9uTW9kdWxlLCBcclxuICAgICAgICBFc01vZGFsQ29tcG9uZW50LCBcclxuICAgICAgICBFc01vZGFsSGVhZENvbXBvbmVudCxcclxuICAgICAgICBFc0ltYWdlQ3JvcHBlckNvbXBvbmVudCwgXHJcbiAgICAgICAgTGFiZWxlZFNwYW5Db21wb25lbnQsXHJcbiAgICAgICAgRXh0ZW5zaW9uc01vZHVsZSxcclxuICAgICAgICBBY2Nlc3NDb250cm9sTW9kdWxlLFxyXG4gICAgICAgIE1hdFRvb2x0aXBNb2R1bGVcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFVzZXJJbmZvc0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG4gICAgcHVibGljIEFjY291bnREZXRhaWxzOiBVc2VyQWNjb3VudDtcclxuICAgIHB1YmxpYyBBY2NvdW50Um9sZXM6IHN0cmluZ1tdO1xyXG4gICAgcHVibGljIEFjY291bnRQZXJtaXNzaW9uczogc3RyaW5nW107XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmo6IEluamVjdG9yLCBwcml2YXRlIHRrczogVG9rZW5TZXJ2aWNlLCBwdWJsaWMgbXNnRXh0czogTWVzc2FnZVNlcnZpY2UsIHB1YmxpYyBleHBFeHRzOiBFeHBvcnRTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgcHVibGljIHV0aUV4dHM6IFV0aWxpdHlTZXJ2aWNlLCBwdWJsaWMgbGM6IExvY2FsaXphdGlvblNlcnZpY2UsIHB1YmxpYyBfc3RhdGU6IEFwcFN0YXRlLFxyXG4gICAgICAgICAgICAgICAgcHVibGljIHByb2ZpbGU6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcihpbmopO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuZ2V0QWNjb3VudERldGFpbHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0QWNjb3VudERldGFpbHMoKSB7XHJcbiAgICAgICAgLy8gUmVjdXBlcm8gbGUgaW5mb3JtYXppb25pIEFjY291bnQgcGFydGVuZG8gZGFsbGEgaWRlbnRpdHlcclxuICAgICAgICBsZXQgaWRlbnRpdHkgPSB0aGlzLnRrcy5nZXRKYWNlSWRlbnRpdHkoKTtcclxuICAgICAgICBpZiAoaWRlbnRpdHkpIHtcclxuICAgICAgICAgICAgdGhpcy5BY2NvdW50Um9sZXMgPSBpZGVudGl0eS5Sb2xlcztcclxuICAgICAgICAgICAgdGhpcy5BY2NvdW50UGVybWlzc2lvbnMgPSBpZGVudGl0eS5QZXJtaXNzaW9ucztcclxuICAgICAgICAgICAgdGhpcy5BY2NvdW50RGV0YWlscyA9IGF3YWl0IHRoaXMucHJvZmlsZS5nZXRBY2NvdW50UHJvZmlsZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyNyZWdpb24gU2hvdyBSb2xlcyBhbmQgUGVybWlzc2lvbnNcclxuICAgIEBWaWV3Q2hpbGQoXCJkbGdTaG93QWNjb3VudFJvbGVzXCIpIGRsZ1Nob3dBY2NvdW50Um9sZXM6IEVzTW9kYWxDb21wb25lbnQ7XHJcblxyXG4gICAgb25TaG93QWNjb3VudFJvbGVzKCkge1xyXG4gICAgICAgIHRoaXMuZGxnU2hvd0FjY291bnRSb2xlcy5zaG93KCk7XHJcbiAgICB9XHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gVXBkYXRlIFByb2ZpbGUgUGljdHVyZVxyXG4gICAgQFZpZXdDaGlsZChcImRsZ1VwZGF0ZVByb2ZpbGVQaWN0dXJlXCIpIGRsZ1VwZGF0ZVByb2ZpbGVQaWN0dXJlOiBFc01vZGFsQ29tcG9uZW50O1xyXG4gICAgQFZpZXdDaGlsZCgnaW1hZ2VDcm9wcGVyJykgaW1hZ2VDcm9wcGVyOiBFc0ltYWdlQ3JvcHBlckNvbXBvbmVudDtcclxuICAgIHB1YmxpYyBVcGRhdGVQcm9maWxlUGljdHVyZURUTzogeyBpbWFnZTogQXBwRmlsZSB9ID0gbnVsbDtcclxuXHJcbiAgICBwdWJsaWMgb25VcGRhdGVQcm9maWxlUGljdHVyZSgpIHtcclxuICAgICAgICB0aGlzLlVwZGF0ZVByb2ZpbGVQaWN0dXJlRFRPID0gbnVsbDtcclxuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLlVwZGF0ZVByb2ZpbGVQaWN0dXJlRFRPID0geyBpbWFnZTogbnVsbCB9O1xyXG4gICAgICAgICAgICB0aGlzLmRsZ1VwZGF0ZVByb2ZpbGVQaWN0dXJlLnNob3coKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZG9VcGRhdGVQcm9maWxlUGljdHVyZSgpIHtcclxuICAgICAgICBsZXQgcmVzID0gYXdhaXQgdGhpcy5wcm9maWxlLmRvVXBkYXRlUHJvZmlsZVBpY3R1cmUobmV3IEZpbGUoW3RoaXMuaW1hZ2VDcm9wcGVyLk91dHB1dEltYWdlXSwgXCJwcm9maWxlLnBuZ1wiKSk7XHJcbiAgICAgICAgdGhpcy5tc2dFeHRzLm1hbmFnZUNhbGxSZXN1bHRSZXNwb25zZShyZXMsIFwiTW9kaWZpY2EgZXNlZ3VpdGEgY29uIFN1Y2Nlc3NvXCIsIFwiRXJyb3JpIG5lbGxhIG1vZGlmaWNhXCIsICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kbGdVcGRhdGVQcm9maWxlUGljdHVyZS5oaWRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gRGVsZXRlIFByb2ZpbGUgUGljdHVyZVxyXG4gICAgcHVibGljIG9uRGVsZXRlUHJvZmlsZVBpY3R1cmUoKSB7XHJcbiAgICAgICAgdGhpcy5tc2dFeHRzLnNpbXBsZVdhcm5pbmdXaXRoQ2hvaWNlKFwiQ29uZmVybWEgZWxpbWluYXppb25lXCIsIFwiU2kgZScgY2VydGkgZGkgdm9sZXIgcmltdW92ZXJlIGwnaW1tYWdpbmUgcHJvZmlsbz9cIiwgKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRvRGVsZXRlUHJvZmlsZVBpY3R1cmUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZG9EZWxldGVQcm9maWxlUGljdHVyZSgpIHtcclxuICAgICAgICBsZXQgcmVzID0gYXdhaXQgdGhpcy5wcm9maWxlLmRvRGVsZXRlUHJvZmlsZVBpY3R1cmUoKTtcclxuICAgICAgICB0aGlzLm1zZ0V4dHMubWFuYWdlQ2FsbFJlc3VsdFJlc3BvbnNlKHJlcywgXCJJbW1hZ2luZSBwcm9maWxvIHJpbW9zc2EgY29uIHN1Y2Nlc3NvXCIsIFwiRXJyb3JpIG5lbGxhIHJpbW96aW9uZSBkZWxsYSBpbW1hZ2luZSBwcm9maWxvXCIsICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kbGdVcGRhdGVQcm9maWxlUGljdHVyZS5oaWRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gVXBkYXRlIFJlY292ZXJ5IEluZm9cclxuICAgIEBWaWV3Q2hpbGQoXCJkbGdVcGRhdGVSZWNvdmVyeVNldHRpbmdzXCIpIGRsZ1VwZGF0ZVJlY292ZXJ5U2V0dGluZ3M6IEVzTW9kYWxDb21wb25lbnQ7XHJcbiAgICBwdWJsaWMgVXBkYXRlUmVjb3ZlcnlTZXR0aW5nc0RUTzogeyBlbWFpbDogc3RyaW5nIH0gPSBudWxsO1xyXG5cclxuICAgIHB1YmxpYyBvblVwZGF0ZVJlY292ZXJ5U2V0dGluZ3MoKSB7XHJcbiAgICAgICAgdGhpcy5VcGRhdGVSZWNvdmVyeVNldHRpbmdzRFRPID0gbnVsbDtcclxuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLlVwZGF0ZVJlY292ZXJ5U2V0dGluZ3NEVE8gPSB7IGVtYWlsOiB0aGlzLkFjY291bnREZXRhaWxzLnJlY292ZXJ5ZW1haWwgfTtcclxuICAgICAgICAgICAgdGhpcy5kbGdVcGRhdGVSZWNvdmVyeVNldHRpbmdzLnNob3coKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZG9VcGRhdGVSZWNvdmVyeVNldHRpbmdzKCkge1xyXG4gICAgICAgIGxldCByZXMgPSBhd2FpdCB0aGlzLnByb2ZpbGUuZG9VcGRhdGVSZWNvdmVyeVNldHRpbmdzKHRoaXMuVXBkYXRlUmVjb3ZlcnlTZXR0aW5nc0RUTy5lbWFpbCk7XHJcbiAgICAgICAgdGhpcy5tc2dFeHRzLm1hbmFnZUNhbGxSZXN1bHRSZXNwb25zZShyZXMsIFwiTW9kaWZpY2EgZXNlZ3VpdGEgY29uIFN1Y2Nlc3NvXCIsIFwiRXJyb3JpIG5lbGxhIG1vZGlmaWNhXCIsICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5nZXRBY2NvdW50RGV0YWlscygpO1xyXG4gICAgICAgICAgICB0aGlzLmRsZ1VwZGF0ZVJlY292ZXJ5U2V0dGluZ3MuaGlkZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIFVwZGF0ZSBQYXNzd29yZFxyXG4gICAgQFZpZXdDaGlsZChcImRsZ1VwZGF0ZVBhc3N3b3JkXCIpIGRsZ1VwZGF0ZVBhc3N3b3JkOiBFc01vZGFsQ29tcG9uZW50O1xyXG4gICAgcHVibGljIFVwZGF0ZVBhc3N3b3JkRFRPOiBVcGRhdGVQYXNzd29yZER0byA9IG51bGw7XHJcbiAgICBDdXN0b21FcnJvcjogc3RyaW5nO1xyXG5cclxuICAgIHB1YmxpYyBvblVwZGF0ZVBhc3N3b3JkKCkge1xyXG4gICAgICAgIHRoaXMuVXBkYXRlUGFzc3dvcmREVE8gPSBudWxsO1xyXG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuQ3VzdG9tRXJyb3IgPSBcIlwiO1xyXG4gICAgICAgICAgICB0aGlzLlVwZGF0ZVBhc3N3b3JkRFRPID0gbmV3IFVwZGF0ZVBhc3N3b3JkRHRvKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZGxnVXBkYXRlUGFzc3dvcmQuc2hvdygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBkb1VwZGF0ZVBhc3N3b3JkKCkge1xyXG4gICAgICAgIGlmICh0aGlzLlVwZGF0ZVBhc3N3b3JkRFRPLm5ld3B3ZCAhPSB0aGlzLlVwZGF0ZVBhc3N3b3JkRFRPLmNvbmZpcm1wd2QpXHJcbiAgICAgICAgICAgIHRoaXMuQ3VzdG9tRXJyb3IgPSBcIkxlIHBhc3N3b3JkIGluc2VyaXRlIG5vbiBjb2luY2lkb25vLlwiO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgcmVzID0gYXdhaXQgdGhpcy5wcm9maWxlLmRvVXBkYXRlUGFzc3dvcmQodGhpcy5VcGRhdGVQYXNzd29yZERUTy5vbGRwd2QsIHRoaXMuVXBkYXRlUGFzc3dvcmREVE8ubmV3cHdkLCB0aGlzLlVwZGF0ZVBhc3N3b3JkRFRPLmNvbmZpcm1wd2QpO1xyXG4gICAgICAgICAgICB0aGlzLm1zZ0V4dHMubWFuYWdlQ2FsbFJlc3VsdFJlc3BvbnNlKHJlcywgXCJQYXNzd29yZCBtb2RpZmljYXRhIGNvbiBTdWNjZXNzb1wiLCBcIkVycm9yaSBuZWxsYSBtb2RpZmljYSBkZWxsYSBQYXNzd29yZFwiLFxyXG4gICAgICAgICAgICAgICAgKCkgPT4geyB0aGlzLmRsZ1VwZGF0ZVBhc3N3b3JkLmhpZGUoKTsgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vI2VuZHJlZ2lvblxyXG59IiwiPGRpdiBzdHlsZT1cImhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IGRpc3BsYXk6IGZsZXg7XCI+XHJcbiAgICA8ZGl2IHN0eWxlPVwibWFyZ2luOiBhdXRvO1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWltZy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGltZyBbc3JjXT1cInByb2ZpbGUuUHJvZmlsZVBpY3R1cmVcIiBhbHQ9XCJ1c2VyLWltZ1wiIGNsYXNzPVwidXNlci1pbWdcIiAvPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLXBvaW50ZXIgdXNlci1pbWctYnRuXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLW9wYWNpdHkgdXNlci1pbWctYnRuLWJvZHlcIiAoY2xpY2spPVwib25VcGRhdGVQcm9maWxlUGljdHVyZSgpO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLXBlblwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLW1hcmdpbi10b3AtMTVcIiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTtcIiAqbmdJZj1cIkFjY291bnREZXRhaWxzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9keSBhcHAtbm8tbWFyZ2luIGFwcC1wYWRkaW5nLTE1XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqYWM9XCInUjpKYWNlIEFkbWluJ1wiIGNsYXNzPVwidXNlci1yb2xlcy1idG5cIiBbbWF0VG9vbHRpcF09XCInVmlzdWFsaXp6YSBSdW9saSBlIFBlcm1lc3NpJ1wiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgKGNsaWNrKT1cIm9uU2hvd0FjY291bnRSb2xlcygpO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1ib29rLXVzZXJcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+PGxhYmVsZWQtc3BhbiBbTGFiZWxdPVwiJ1V0ZW50ZScgfCBsb2NhbGl6ZSA6IGxjXCIgRGlzcGxheT1cIlZlcnRpY2FsXCI+e3tBY2NvdW50RGV0YWlscy51c2VybmFtZX19PC9sYWJlbGVkLXNwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+PGxhYmVsZWQtc3BhbiBbTGFiZWxdPVwiJ1RlbmFudCcgfCBsb2NhbGl6ZSA6IGxjXCIgRGlzcGxheT1cIlZlcnRpY2FsXCI+e3tBY2NvdW50RGV0YWlscy50ZW5hbnRpZH19PC9sYWJlbGVkLXNwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGFwcC1tYXJnaW4tdG9wLTEwXCI+PGxhYmVsZWQtc3BhbiBbTGFiZWxdPVwiJ05vbWUnIHwgbG9jYWxpemUgOiBsY1wiIERpc3BsYXk9XCJWZXJ0aWNhbFwiPnt7QWNjb3VudERldGFpbHMuZmlyc3RuYW1lfX08L2xhYmVsZWQtc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgYXBwLW1hcmdpbi10b3AtMTBcIj48bGFiZWxlZC1zcGFuIFtMYWJlbF09XCInQ29nbm9tZScgfCBsb2NhbGl6ZSA6IGxjXCIgRGlzcGxheT1cIlZlcnRpY2FsXCI+e3tBY2NvdW50RGV0YWlscy5sYXN0bmFtZX19PC9sYWJlbGVkLXNwYW4+IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgYXBwLW1hcmdpbi10b3AtMTBcIj48bGFiZWxlZC1zcGFuIFtMYWJlbF09XCInRW1haWwnIHwgbG9jYWxpemUgOiBsY1wiIERpc3BsYXk9XCJWZXJ0aWNhbFwiPnt7QWNjb3VudERldGFpbHMucmVjb3ZlcnllbWFpbCB8fCAnTm9uIGRpc3BvbmliaWxlJ319PC9sYWJlbGVkLXNwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1tYXJnaW4tdG9wLTEwIHJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDVweDtcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwib25VcGRhdGVQYXNzd29yZCgpXCI+TW9kaWZpY2EgUGFzc3dvcmQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiA1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cIm9uVXBkYXRlUmVjb3ZlcnlTZXR0aW5ncygpXCI+TW9kaWZpY2EgRW1haWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48IS0tVXBkYXRlIFBhc3N3b3JkLS0+XHJcbjxlcy1tb2RhbCAjZGxnVXBkYXRlUGFzc3dvcmQgW1NpemVdPVwiJ0wnXCI+XHJcbiAgICA8ZXMtbW9kYWwtaGVhZCAoQ2xvc2UpPVwiZGxnVXBkYXRlUGFzc3dvcmQuaGlkZSgpO1wiPlxyXG4gICAgICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlIHB1bGwtbGVmdFwiPk1vZGlmaWNhIFBhc3N3b3JkPC9oNT5cclxuICAgIDwvZXMtbW9kYWwtaGVhZD5cclxuICAgIDxmb3JtICpuZ0lmPVwiVXBkYXRlUGFzc3dvcmREVE9cIiAjZm9ybVVwZGF0ZVBhc3N3b3JkPVwibmdGb3JtXCIgKG5nU3VibWl0KT1cImZvcm1VcGRhdGVQYXNzd29yZC52YWxpZCAmJiBkb1VwZGF0ZVBhc3N3b3JkKClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBsYXN0Zml4XCI+XHJcbiAgICAgICAgICAgIDxmb3JtLWlucHV0IFtQYXNzd29yZF09XCJ0cnVlXCIgW0xhYmVsXT1cIidQYXNzd29yZCcgfCBsb2NhbGl6ZTogbGNcIiBbKG5nTW9kZWwpXT1cIlVwZGF0ZVBhc3N3b3JkRFRPLm9sZHB3ZFwiIG5hbWU9XCJvbGRwd1wiIHJlcXVpcmVkPjwvZm9ybS1pbnB1dD5cclxuICAgICAgICAgICAgPGZvcm0taW5wdXQgW1Bhc3N3b3JkXT1cInRydWVcIiBbTGFiZWxdPVwiJ051b3ZhIFBhc3N3b3JkJyB8IGxvY2FsaXplOiBsY1wiIFsobmdNb2RlbCldPVwiVXBkYXRlUGFzc3dvcmREVE8ubmV3cHdkXCIgbmFtZT1cIm5ld3B3XCIgcmVxdWlyZWQ+PC9mb3JtLWlucHV0PlxyXG4gICAgICAgICAgICA8Zm9ybS1pbnB1dCBbUGFzc3dvcmRdPVwidHJ1ZVwiIFtMYWJlbF09XCInQ29uZmVybWEgUGFzc3dvcmQnIHwgbG9jYWxpemU6IGxjXCIgWyhuZ01vZGVsKV09XCJVcGRhdGVQYXNzd29yZERUTy5jb25maXJtcHdkXCIgbmFtZT1cImNvbmZwd1wiIHJlcXVpcmVkPjwvZm9ybS1pbnB1dD5cclxuICAgICAgICAgICAgPCEtLVZhbGlkYXppb25lIEN1c3RvbS0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiQ3VzdG9tRXJyb3JcIiBjbGFzcz1cImFwcC13aGl0ZS10ZXh0IGFwcC1tYXJnaW4tdG9wLTE1IGFwcC1tYXJnaW4tYm90dG9tLTAgY2FyZCBhcHAtcGFkZGluZy0xMCBjYXJkLWRhbmdlclwiPlxyXG4gICAgICAgICAgICAgICAgPHN0cm9uZz57eydFcnJvcicgfCBsb2NhbGl6ZSA6IGxjfX06Jm5ic3A7PC9zdHJvbmc+e3tDdXN0b21FcnJvcn19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBhcHAtbWFyZ2luLXJpZ2h0LTEwXCIgKGNsaWNrKT1cImRsZ1VwZGF0ZVBhc3N3b3JkLmhpZGUoKTtcIj57eydDYW5jZWwnIHwgbG9jYWxpemUgOiBsY319PC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+Q29uZmVybWE8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZm9ybT5cclxuPC9lcy1tb2RhbD5cclxuXHJcbjwhLS1VcGRhdGUgRXh0cmEgSW5mby0tPlxyXG48ZXMtbW9kYWwgI2RsZ1VwZGF0ZVJlY292ZXJ5U2V0dGluZ3MgW1NpemVdPVwiJ0wnXCI+XHJcbiAgICA8ZXMtbW9kYWwtaGVhZCAoQ2xvc2UpPVwiZGxnVXBkYXRlUmVjb3ZlcnlTZXR0aW5ncy5oaWRlKCk7XCI+XHJcbiAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGUgcHVsbC1sZWZ0XCI+e3snTW9kaWZpY2EgRW1haWwnIHwgbG9jYWxpemUgOiBsY319PC9oNT5cclxuICAgIDwvZXMtbW9kYWwtaGVhZD5cclxuICAgIDxmb3JtICpuZ0lmPVwiVXBkYXRlUmVjb3ZlcnlTZXR0aW5nc0RUT1wiICNmb3JtVXBkYXRlSW5mb3M9XCJuZ0Zvcm1cIiAobmdTdWJtaXQpPVwiZm9ybVVwZGF0ZUluZm9zLnZhbGlkICYmIGRvVXBkYXRlUmVjb3ZlcnlTZXR0aW5ncygpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgbGFzdGZpeFwiPlxyXG4gICAgICAgICAgICA8Zm9ybS1pbnB1dCBbTGFiZWxJbnB1dFJhdGlvXT1cIiczIDknXCIgW0xhYmVsXT1cIidFbWFpbCcgfCBsb2NhbGl6ZTogbGNcIiBbKG5nTW9kZWwpXT1cIlVwZGF0ZVJlY292ZXJ5U2V0dGluZ3NEVE8uZW1haWxcIiBuYW1lPVwiZW1haWxcIj48L2Zvcm0taW5wdXQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IGFwcC1tYXJnaW4tcmlnaHQtMTBcIiAoY2xpY2spPVwiZGxnVXBkYXRlUmVjb3ZlcnlTZXR0aW5ncy5oaWRlKCk7XCI+e3snQ2FuY2VsJyB8IGxvY2FsaXplIDogbGN9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiPkNvbmZlcm1hPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Zvcm0+XHJcbjwvZXMtbW9kYWw+XHJcblxyXG48IS0tVXBsb2FkIFBpY3R1cmUtLT5cclxuPGVzLW1vZGFsICNkbGdVcGRhdGVQcm9maWxlUGljdHVyZSBbU2l6ZV09XCInWEwnXCI+XHJcbiAgICA8ZXMtbW9kYWwtaGVhZCAoQ2xvc2UpPVwiZGxnVXBkYXRlUHJvZmlsZVBpY3R1cmUuaGlkZSgpO1wiPlxyXG4gICAgICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlIHB1bGwtbGVmdFwiPkNhcmljYSBpbW1hZ2luZTwvaDU+XHJcbiAgICA8L2VzLW1vZGFsLWhlYWQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBkLWZsZXhcIj5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luOiBhdXRvO1wiPlxyXG4gICAgICAgICAgICA8ZXMtaW1hZ2UtY3JvcHBlciAjaW1hZ2VDcm9wcGVyIFtIZWlnaHRdPVwiNjAwXCIgW1dpZHRoXT1cIjgwMFwiPjwvZXMtaW1hZ2UtY3JvcHBlcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiAoY2xpY2spPVwiZGxnVXBkYXRlUHJvZmlsZVBpY3R1cmUuaGlkZSgpXCI+QW5udWxsYTwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cImRvVXBkYXRlUHJvZmlsZVBpY3R1cmUoKVwiPkNvbmZlcm1hPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9lcy1tb2RhbD5cclxuXHJcbjwhLS1SdW9saSBlIFBlcm1lc3NpLS0+XHJcbjxlcy1tb2RhbCAjZGxnU2hvd0FjY291bnRSb2xlcyBbU2l6ZV09XCInTCdcIj5cclxuICAgIDxlcy1tb2RhbC1oZWFkIChDbG9zZSk9XCJkbGdTaG93QWNjb3VudFJvbGVzLmhpZGUoKTtcIj5cclxuICAgICAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZSBwdWxsLWxlZnRcIj57eydSdW9saSBlIFBlcm1lc3NpJyB8IGxvY2FsaXplIDogbGN9fTwvaDU+XHJcbiAgICA8L2VzLW1vZGFsLWhlYWQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiIHN0eWxlPVwibWF4LWhlaWdodDogNjAwcHg7IG92ZXJmbG93LXk6IGF1dG87XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIiAqbmdJZj1cIkFjY291bnRSb2xlc1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsZWQtc3BhbiBbTGFiZWxdPVwiJ1J1b2xpJ1wiIERpc3BsYXk9XCJWZXJ0aWNhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHIgb2YgQWNjb3VudFJvbGVzO1wiPnt7cn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsZWQtc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiICpuZ0lmPVwiQWNjb3VudFBlcm1pc3Npb25zXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWxlZC1zcGFuIFtMYWJlbF09XCInUGVybWVzc2knXCIgRGlzcGxheT1cIlZlcnRpY2FsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcCBvZiBBY2NvdW50UGVybWlzc2lvbnM7XCI+e3twfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbGFiZWxlZC1zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiAoY2xpY2spPVwiZGxnU2hvd0FjY291bnRSb2xlcy5oaWRlKCk7XCI+e3snQ2hpdWRpJyB8IGxvY2FsaXplIDogbGN9fTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbjwvZXMtbW9kYWw+Il19
@@ -1,29 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ComponentHostDirective {
4
- constructor(viewContainerRef) {
5
- this.viewContainerRef = viewContainerRef;
6
- this.Inputs = null;
7
- }
8
- ngOnInit() {
9
- this.CreatedComponent = this.viewContainerRef.createComponent(this.componentHost);
10
- if (!this.Inputs)
11
- return;
12
- for (const key in this.Inputs)
13
- this.CreatedComponent.instance[key] = this.Inputs[key];
14
- }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComponentHostDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
16
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ComponentHostDirective, isStandalone: true, selector: "[componentHost]", inputs: { componentHost: "componentHost", Inputs: "Inputs" }, ngImport: i0 }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ComponentHostDirective, decorators: [{
19
- type: Directive,
20
- args: [{
21
- selector: '[componentHost]',
22
- standalone: true
23
- }]
24
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { componentHost: [{
25
- type: Input
26
- }], Inputs: [{
27
- type: Input
28
- }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50SG9zdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvc3JjL2NvbXBvbmVudEhvc3QvY29tcG9uZW50SG9zdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTBCLE1BQU0sZUFBZSxDQUFDOztBQU16RSxNQUFNLE9BQU8sc0JBQXNCO0lBUS9CLFlBQW1CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBTDVDLFdBQU0sR0FBd0IsSUFBSSxDQUFDO0lBS2EsQ0FBQztJQUUxRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXZGLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUNaLE9BQU87UUFFWCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNO1lBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvRCxDQUFDOytHQWxCUSxzQkFBc0I7bUdBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFKbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7dUdBR1ksYUFBYTtzQkFBckIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUeXBlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW2NvbXBvbmVudEhvc3RdJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbXBvbmVudEhvc3REaXJlY3RpdmUge1xyXG5cclxuICAgIEBJbnB1dCgpIGNvbXBvbmVudEhvc3Q6IFR5cGU8YW55PjtcclxuICAgIEBJbnB1dCgpIElucHV0czogUmVjb3JkPHN0cmluZywgYW55PiA9IG51bGw7XHJcblxyXG4gICAgLy8gRXZlbnR1YWxpIGFjY2Vzc2kgZXN0ZXJuaS4uLiBub24gc2kgc2EgbWFpXHJcbiAgICBwdWJsaWMgQ3JlYXRlZENvbXBvbmVudDogYW55O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7IH1cclxuXHJcbiAgICBuZ09uSW5pdCgpe1xyXG4gICAgICAgIHRoaXMuQ3JlYXRlZENvbXBvbmVudCA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQ8YW55Pih0aGlzLmNvbXBvbmVudEhvc3QpO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuSW5wdXRzKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuSW5wdXRzKVxyXG4gICAgICAgICAgICB0aGlzLkNyZWF0ZWRDb21wb25lbnQuaW5zdGFuY2Vba2V5XSA9IHRoaXMuSW5wdXRzW2tleV07XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,21 +0,0 @@
1
- // Angular
2
- import { NgModule } from "@angular/core";
3
- // Direttive
4
- import { Draggable } from "./draggable/draggable.directive";
5
- import { SlimScroll } from "./slim-scroll/slim-scroll.directive";
6
- import { Widget } from "./widget/widget.directive";
7
- import { esRouterLinkWithHref } from "./es-routerLink/es-routerLink.directive";
8
- import { ComponentHostDirective } from "./componentHost/componentHost.directive";
9
- import { EsModalDirective } from "./es-modal/es-modal.directive";
10
- import * as i0 from "@angular/core";
11
- const DIRECTIVES = [Draggable, SlimScroll, Widget, esRouterLinkWithHref, ComponentHostDirective, EsModalDirective];
12
- export class DirectivesModule {
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DirectivesModule, imports: [Draggable, SlimScroll, Widget, esRouterLinkWithHref, ComponentHostDirective, EsModalDirective], exports: [Draggable, SlimScroll, Widget, esRouterLinkWithHref, ComponentHostDirective, EsModalDirective] }); }
15
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DirectivesModule }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DirectivesModule, decorators: [{
18
- type: NgModule,
19
- args: [{ imports: [...DIRECTIVES], exports: [...DIRECTIVES] }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvc3JjL2RpcmVjdGl2ZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLFlBQVk7QUFDWixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFFakUsTUFBTSxVQUFVLEdBQUcsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0FBR25ILE1BQU0sT0FBTyxnQkFBZ0I7K0dBQWhCLGdCQUFnQjtnSEFBaEIsZ0JBQWdCLFlBSFQsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLGFBQTdGLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLG9CQUFvQixFQUFFLHNCQUFzQixFQUFFLGdCQUFnQjtnSEFHcEcsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixRQUFRO21CQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBEaXJldHRpdmVcclxuaW1wb3J0IHsgRHJhZ2dhYmxlIH0gZnJvbSBcIi4vZHJhZ2dhYmxlL2RyYWdnYWJsZS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgU2xpbVNjcm9sbCB9IGZyb20gXCIuL3NsaW0tc2Nyb2xsL3NsaW0tc2Nyb2xsLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBXaWRnZXQgfSBmcm9tIFwiLi93aWRnZXQvd2lkZ2V0LmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBlc1JvdXRlckxpbmtXaXRoSHJlZiB9IGZyb20gXCIuL2VzLXJvdXRlckxpbmsvZXMtcm91dGVyTGluay5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50SG9zdERpcmVjdGl2ZSB9IGZyb20gXCIuL2NvbXBvbmVudEhvc3QvY29tcG9uZW50SG9zdC5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgRXNNb2RhbERpcmVjdGl2ZSB9IGZyb20gXCIuL2VzLW1vZGFsL2VzLW1vZGFsLmRpcmVjdGl2ZVwiO1xyXG5cclxuY29uc3QgRElSRUNUSVZFUyA9IFtEcmFnZ2FibGUsIFNsaW1TY3JvbGwsIFdpZGdldCwgZXNSb3V0ZXJMaW5rV2l0aEhyZWYsIENvbXBvbmVudEhvc3REaXJlY3RpdmUsIEVzTW9kYWxEaXJlY3RpdmVdO1xyXG5cclxuQE5nTW9kdWxlKHsgaW1wb3J0czogWy4uLkRJUkVDVElWRVNdLCBleHBvcnRzOiBbLi4uRElSRUNUSVZFU10gfSlcclxuZXhwb3J0IGNsYXNzIERpcmVjdGl2ZXNNb2R1bGUgeyB9Il19
@@ -1,49 +0,0 @@
1
- // Angular
2
- import { Directive, Input } from "@angular/core";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@esfaenza/extensions";
5
- export class Draggable {
6
- constructor(_elementRef, zone, emb) {
7
- this._elementRef = _elementRef;
8
- this.zone = zone;
9
- this.emb = emb;
10
- }
11
- ngOnInit() {
12
- this.zone.runOutsideAngular(() => {
13
- var handle = this.handlerSelector || '.modal-header';
14
- jQuery(this._elementRef.nativeElement).children(':first-child').draggable({
15
- handle,
16
- helper: function (_, __) {
17
- var oBody = jQuery(document).find('body');
18
- var containmentDiv = jQuery('<div id="div_containment"></div>');
19
- containmentDiv
20
- .css('z-index', "-99999")
21
- .css('top', "0")
22
- .css('left', "0")
23
- .css('width', "100%")
24
- .css('height', "100%")
25
- .css('position', 'absolute');
26
- containmentDiv.appendTo(oBody);
27
- return this;
28
- },
29
- stop: function (_, __) {
30
- jQuery(document).filter('body').find('#div_containment').remove();
31
- },
32
- containment: this.emb.Embedded ? "#div_containment" : null
33
- });
34
- });
35
- }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Draggable, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.AppEmbeddingExtensions }], target: i0.ɵɵFactoryTarget.Directive }); }
37
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: Draggable, isStandalone: true, selector: "[emaDraggable]", inputs: { handlerSelector: ["emaDraggable", "handlerSelector"] }, ngImport: i0 }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Draggable, decorators: [{
40
- type: Directive,
41
- args: [{
42
- selector: "[emaDraggable]",
43
- standalone: true
44
- }]
45
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.AppEmbeddingExtensions }]; }, propDecorators: { handlerSelector: [{
46
- type: Input,
47
- args: ['emaDraggable']
48
- }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2dhYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9zcmMvZHJhZ2dhYmxlL2RyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7QUFXckUsTUFBTSxPQUFPLFNBQVM7SUFHbEIsWUFBb0IsV0FBdUIsRUFBVSxJQUFZLEVBQVUsR0FBMkI7UUFBbEYsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBd0I7SUFBSSxDQUFDO0lBRTNHLFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUM3QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxJQUFJLGVBQWUsQ0FBQztZQUNyRCxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUN0RSxNQUFNO2dCQUNOLE1BQU0sRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFO29CQUNuQixJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUMxQyxJQUFJLGNBQWMsR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQztvQkFDaEUsY0FBYzt5QkFDVCxHQUFHLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQzt5QkFDeEIsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUM7eUJBQ2YsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUM7eUJBQ2hCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO3lCQUNwQixHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQzt5QkFDckIsR0FBRyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztvQkFDakMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDL0IsT0FBTyxJQUFJLENBQUM7Z0JBQ2hCLENBQUM7Z0JBQ0QsSUFBSSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUU7b0JBQ2pCLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3RFLENBQUM7Z0JBQ0QsV0FBVyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSTthQUM3RCxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBN0JRLFNBQVM7bUdBQVQsU0FBUzs7NEZBQVQsU0FBUztrQkFKckIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7MkpBRTBCLGVBQWU7c0JBQXJDLEtBQUs7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgTmdab25lIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IEFwcEVtYmVkZGluZ0V4dGVuc2lvbnMgfSBmcm9tIFwiQGVzZmFlbnphL2V4dGVuc2lvbnNcIjtcclxuXHJcbmRlY2xhcmUgdmFyIGpRdWVyeTtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6IFwiW2VtYURyYWdnYWJsZV1cIixcclxuICAgIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIERyYWdnYWJsZSB7XHJcbiAgICBASW5wdXQoJ2VtYURyYWdnYWJsZScpIGhhbmRsZXJTZWxlY3Rvcjogc3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgem9uZTogTmdab25lLCBwcml2YXRlIGVtYjogQXBwRW1iZWRkaW5nRXh0ZW5zaW9ucykgeyB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICAgICAgdmFyIGhhbmRsZSA9IHRoaXMuaGFuZGxlclNlbGVjdG9yIHx8ICcubW9kYWwtaGVhZGVyJztcclxuICAgICAgICAgICAgalF1ZXJ5KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkuY2hpbGRyZW4oJzpmaXJzdC1jaGlsZCcpLmRyYWdnYWJsZSh7XHJcbiAgICAgICAgICAgICAgICBoYW5kbGUsXHJcbiAgICAgICAgICAgICAgICBoZWxwZXI6IGZ1bmN0aW9uIChfLCBfXykge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBvQm9keSA9IGpRdWVyeShkb2N1bWVudCkuZmluZCgnYm9keScpO1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBjb250YWlubWVudERpdiA9IGpRdWVyeSgnPGRpdiBpZD1cImRpdl9jb250YWlubWVudFwiPjwvZGl2PicpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5tZW50RGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jc3MoJ3otaW5kZXgnLCBcIi05OTk5OVwiKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuY3NzKCd0b3AnLCBcIjBcIilcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNzcygnbGVmdCcsIFwiMFwiKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuY3NzKCd3aWR0aCcsIFwiMTAwJVwiKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuY3NzKCdoZWlnaHQnLCBcIjEwMCVcIilcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNzcygncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcclxuICAgICAgICAgICAgICAgICAgICBjb250YWlubWVudERpdi5hcHBlbmRUbyhvQm9keSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgc3RvcDogZnVuY3Rpb24gKF8sIF9fKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KGRvY3VtZW50KS5maWx0ZXIoJ2JvZHknKS5maW5kKCcjZGl2X2NvbnRhaW5tZW50JykucmVtb3ZlKCk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgY29udGFpbm1lbnQ6IHRoaXMuZW1iLkVtYmVkZGVkID8gXCIjZGl2X2NvbnRhaW5tZW50XCIgOiBudWxsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59Il19
@@ -1,79 +0,0 @@
1
- // Angular
2
- import { Directive, Inject, Optional } from "@angular/core";
3
- import { MODAL_CONFIG_DEFAULT_OVERRIDE, ModalDirective } from "ngx-bootstrap/modal";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@esfaenza/extensions";
6
- import * as i2 from "ngx-bootstrap/component-loader";
7
- import * as i3 from "ngx-bootstrap/modal";
8
- export class EsModalDirective extends ModalDirective {
9
- constructor(emb, _element, _viewContainerRef, _renderer, clf, modalDefaultOption) {
10
- super(_element, _viewContainerRef, _renderer, clf, modalDefaultOption);
11
- this.emb = emb;
12
- this.elementRef = _element;
13
- this.rendererRef = _renderer;
14
- if (this.emb.Embedded) {
15
- this.HideSubscription = this.onHidden.subscribe(() => {
16
- document.body.style.setProperty("overflow-y", "auto", "important");
17
- });
18
- }
19
- }
20
- ngOnDestroy() {
21
- if (this.HideSubscription)
22
- this.HideSubscription.unsubscribe();
23
- super.ngOnDestroy();
24
- }
25
- show() {
26
- super.show();
27
- if (this.emb.Embedded) {
28
- this.rendererRef.setStyle(this.elementRef.nativeElement, "padding-top", "5%");
29
- this.rendererRef.setStyle(this.elementRef.nativeElement, "margin-left", "-110px");
30
- this.rendererRef.setStyle(this.elementRef.nativeElement, "width", "calc(100% + 110px)");
31
- this.rendererRef.setStyle(this.elementRef.nativeElement, "overflow", "hidden");
32
- if (this._config.animated)
33
- setTimeout(() => { this.doFixBody(); }, 300);
34
- else
35
- this.doFixBody();
36
- let backdropHeight = this.backdrop.instance.element.nativeElement.clientHeight;
37
- this.emb.MainWindow.postMessage({ type: "modal-open", backdropHeight: backdropHeight }, "*");
38
- }
39
- }
40
- doFixBody() {
41
- let body = this.elementRef.nativeElement.getElementsByClassName("modal-body")[0];
42
- // Ci prova finch� non trova il body dato che potrebbe essere creato in qualsiasi momento
43
- if (!body) {
44
- setTimeout(() => this.doFixBody(), 250);
45
- return;
46
- }
47
- body.style.setProperty("max-height", "600px", "important");
48
- body.style.setProperty("overflow-x", "hidden");
49
- body.style.setProperty("overflow-y", "auto");
50
- }
51
- hide() {
52
- super.hide();
53
- if (!this.emb.Embedded)
54
- return;
55
- if (this._config.animated)
56
- setTimeout(() => { this.doHide(); }, 300);
57
- else
58
- this.doHide();
59
- }
60
- doHide() {
61
- this.emb.MainWindow.postMessage({ type: "modal-close" }, "*");
62
- }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EsModalDirective, deps: [{ token: i1.AppEmbeddingExtensions }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i2.ComponentLoaderFactory }, { token: MODAL_CONFIG_DEFAULT_OVERRIDE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
64
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EsModalDirective, isStandalone: true, selector: "[esModal]", exportAs: ["es-modal"], usesInheritance: true, ngImport: i0 }); }
65
- }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EsModalDirective, decorators: [{
67
- type: Directive,
68
- args: [{
69
- selector: '[esModal]',
70
- exportAs: 'es-modal',
71
- standalone: true
72
- }]
73
- }], ctorParameters: function () { return [{ type: i1.AppEmbeddingExtensions }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i0.Renderer2 }, { type: i2.ComponentLoaderFactory }, { type: i3.ModalOptions, decorators: [{
74
- type: Optional
75
- }, {
76
- type: Inject,
77
- args: [MODAL_CONFIG_DEFAULT_OVERRIDE]
78
- }] }]; } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtbW9kYWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL3NyYy9lcy1tb2RhbC9lcy1tb2RhbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLFFBQVEsRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFPckcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLGNBQWMsRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFVbEcsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGNBQWM7SUFPaEQsWUFBb0IsR0FBMkIsRUFBRSxRQUFvQixFQUFFLGlCQUFtQyxFQUFFLFNBQW9CLEVBQUUsR0FBMkIsRUFBcUQsa0JBQWdDO1FBQzlPLEtBQUssQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBRHZELFFBQUcsR0FBSCxHQUFHLENBQXdCO1FBRzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQzdCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDakQsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDdkUsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFUSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLGdCQUFnQjtZQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFeEMs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QUFROzswQkFBSSxNQUFNOzJCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIE9wdGlvbmFsLCBSZW5kZXJlcjIsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gQ29yZVxyXG5pbXBvcnQgeyBBcHBFbWJlZGRpbmdFeHRlbnNpb25zIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcblxyXG4vLyBCb290cnN0cmFwXHJcbmltcG9ydCB7IENvbXBvbmVudExvYWRlckZhY3RvcnkgfSBmcm9tIFwibmd4LWJvb3RzdHJhcC9jb21wb25lbnQtbG9hZGVyXCI7XHJcbmltcG9ydCB7IE1PREFMX0NPTkZJR19ERUZBVUxUX09WRVJSSURFLCBNb2RhbERpcmVjdGl2ZSwgTW9kYWxPcHRpb25zIH0gZnJvbSBcIm5neC1ib290c3RyYXAvbW9kYWxcIjtcclxuXHJcbi8vIFJ4anNcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbZXNNb2RhbF0nLFxyXG4gICAgZXhwb3J0QXM6ICdlcy1tb2RhbCcsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc01vZGFsRGlyZWN0aXZlIGV4dGVuZHMgTW9kYWxEaXJlY3RpdmUge1xyXG5cclxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XHJcbiAgICByZW5kZXJlclJlZjogUmVuZGVyZXIyO1xyXG5cclxuICAgIEhpZGVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVtYjogQXBwRW1iZWRkaW5nRXh0ZW5zaW9ucywgX2VsZW1lbnQ6IEVsZW1lbnRSZWYsIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBfcmVuZGVyZXI6IFJlbmRlcmVyMiwgY2xmOiBDb21wb25lbnRMb2FkZXJGYWN0b3J5LCBAT3B0aW9uYWwoKSBASW5qZWN0KE1PREFMX0NPTkZJR19ERUZBVUxUX09WRVJSSURFKSBtb2RhbERlZmF1bHRPcHRpb246IE1vZGFsT3B0aW9ucykge1xyXG4gICAgICAgIHN1cGVyKF9lbGVtZW50LCBfdmlld0NvbnRhaW5lclJlZiwgX3JlbmRlcmVyLCBjbGYsIG1vZGFsRGVmYXVsdE9wdGlvbik7XHJcblxyXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZiA9IF9lbGVtZW50O1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXJSZWYgPSBfcmVuZGVyZXI7XHJcbiAgICAgICAgaWYgKHRoaXMuZW1iLkVtYmVkZGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuSGlkZVN1YnNjcmlwdGlvbiA9IHRoaXMub25IaWRkZW4uc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuc2V0UHJvcGVydHkoXCJvdmVyZmxvdy15XCIsIFwiYXV0b1wiLCBcImltcG9ydGFudFwiKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIGlmICh0aGlzLkhpZGVTdWJzY3JpcHRpb24pXHJcbiAgICAgICAgICAgIHRoaXMuSGlkZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG5cclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG92ZXJyaWRlIHNob3coKTogdm9pZCB7XHJcblxyXG4gICAgICAgIHN1cGVyLnNob3coKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZW1iLkVtYmVkZGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXJSZWYuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFwicGFkZGluZy10b3BcIiwgXCI1JVwiKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlclJlZi5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJtYXJnaW4tbGVmdFwiLCBcIi0xMTBweFwiKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlclJlZi5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJ3aWR0aFwiLCBcImNhbGMoMTAwJSArIDExMHB4KVwiKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlclJlZi5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgXCJvdmVyZmxvd1wiLCBcImhpZGRlblwiKTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9jb25maWcuYW5pbWF0ZWQpXHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5kb0ZpeEJvZHkoKTsgfSwgMzAwKTtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5kb0ZpeEJvZHkoKTtcclxuXHJcbiAgICAgICAgICAgIGxldCBiYWNrZHJvcEhlaWdodCA9IHRoaXMuYmFja2Ryb3AuaW5zdGFuY2UuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgICAgICAgICAgdGhpcy5lbWIuTWFpbldpbmRvdy5wb3N0TWVzc2FnZSh7IHR5cGU6IFwibW9kYWwtb3BlblwiLCBiYWNrZHJvcEhlaWdodDogYmFja2Ryb3BIZWlnaHQgfSwgXCIqXCIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBkb0ZpeEJvZHkoKSB7XHJcbiAgICAgICAgbGV0IGJvZHkgPSAoPEhUTUxFbGVtZW50PnRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwibW9kYWwtYm9keVwiKVswXSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICAvLyBDaSBwcm92YSBmaW5jaO+/vSBub24gdHJvdmEgaWwgYm9keSBkYXRvIGNoZSBwb3RyZWJiZSBlc3NlcmUgY3JlYXRvIGluIHF1YWxzaWFzaSBtb21lbnRvXHJcbiAgICAgICAgaWYgKCFib2R5KSB7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5kb0ZpeEJvZHkoKSwgMjUwKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBib2R5LnN0eWxlLnNldFByb3BlcnR5KFwibWF4LWhlaWdodFwiLCBcIjYwMHB4XCIsIFwiaW1wb3J0YW50XCIpO1xyXG4gICAgICAgIGJvZHkuc3R5bGUuc2V0UHJvcGVydHkoXCJvdmVyZmxvdy14XCIsIFwiaGlkZGVuXCIpO1xyXG4gICAgICAgIGJvZHkuc3R5bGUuc2V0UHJvcGVydHkoXCJvdmVyZmxvdy15XCIsIFwiYXV0b1wiKTtcclxuICAgIH1cclxuXHJcbiAgICBvdmVycmlkZSBoaWRlKCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLmhpZGUoKTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmVtYi5FbWJlZGRlZClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fY29uZmlnLmFuaW1hdGVkKVxyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5kb0hpZGUoKTsgfSwgMzAwKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMuZG9IaWRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZG9IaWRlKCkge1xyXG4gICAgICAgIHRoaXMuZW1iLk1haW5XaW5kb3cucG9zdE1lc3NhZ2UoeyB0eXBlOiBcIm1vZGFsLWNsb3NlXCIgfSwgXCIqXCIpO1xyXG4gICAgfVxyXG59Il19
@@ -1,55 +0,0 @@
1
- import { Attribute, Directive, HostListener, Input } from "@angular/core";
2
- import { RouterLinkWithHref } from "@angular/router";
3
- import { EMBEDDED_ROUTE, ROUTE } from "@esfaenza/core/domain";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@esfaenza/extensions";
6
- import * as i2 from "@angular/router";
7
- import * as i3 from "@angular/common";
8
- export class esRouterLinkWithHref extends RouterLinkWithHref {
9
- constructor(emb, router, route, tabIndexAttribute, renderer, el, locationStrategy) {
10
- super(router, route, tabIndexAttribute, renderer, el, locationStrategy);
11
- this.emb = emb;
12
- }
13
- set esRouterLink(commands) {
14
- let BasePath = "/" + (this.emb.Embedded ? EMBEDDED_ROUTE : ROUTE);
15
- if (commands != null) {
16
- this.commands = Array.isArray(commands) ? commands : [commands];
17
- let route = this.commands[0];
18
- if (!route.startsWith("/" + EMBEDDED_ROUTE) && !route.startsWith("/" + ROUTE))
19
- this.commands[0] = BasePath + this.commands[0];
20
- }
21
- else {
22
- this.commands = null;
23
- }
24
- }
25
- onClick(button, ctrlKey, shiftKey, altKey, metaKey) {
26
- if (this.emb.Embedded) {
27
- let url = this.urlTree.toString().replace(EMBEDDED_ROUTE, ROUTE + "/embed/" + myconfig.AppData.ModuleId);
28
- this.emb.MainWindow.postMessage({ type: "navigate", url, newTab: ctrlKey, replaceState: !ctrlKey }, "*");
29
- if (!ctrlKey)
30
- return super.onClick(button, ctrlKey, shiftKey, altKey, metaKey);
31
- else
32
- return false;
33
- }
34
- else
35
- return super.onClick(button, ctrlKey, shiftKey, altKey, metaKey);
36
- }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: esRouterLinkWithHref, deps: [{ token: i1.AppEmbeddingExtensions }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: 'tabindex', attribute: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i3.LocationStrategy }], target: i0.ɵɵFactoryTarget.Directive }); }
38
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: esRouterLinkWithHref, isStandalone: true, selector: "a[esRouterLink],area[esRouterLink]", inputs: { esRouterLink: "esRouterLink" }, host: { listeners: { "click": "onClick($event.button,$event.ctrlKey,$event.shiftKey,$event.altKey,$event.metaKey)" } }, usesInheritance: true, ngImport: i0 }); }
39
- }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: esRouterLinkWithHref, decorators: [{
41
- type: Directive,
42
- args: [{
43
- selector: 'a[esRouterLink],area[esRouterLink]',
44
- standalone: true
45
- }]
46
- }], ctorParameters: function () { return [{ type: i1.AppEmbeddingExtensions }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: undefined, decorators: [{
47
- type: Attribute,
48
- args: ['tabindex']
49
- }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i3.LocationStrategy }]; }, propDecorators: { esRouterLink: [{
50
- type: Input
51
- }], onClick: [{
52
- type: HostListener,
53
- args: ['click', ['$event.button', '$event.ctrlKey', '$event.shiftKey', '$event.altKey', '$event.metaKey']]
54
- }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtcm91dGVyTGluay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvc3JjL2VzLXJvdXRlckxpbmsvZXMtcm91dGVyTGluay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQTBCLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBYyxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7QUFTMUUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUFrQjtJQUV4RCxZQUNZLEdBQTJCLEVBQ25DLE1BQWMsRUFBRSxLQUFxQixFQUNkLGlCQUE0QyxFQUNuRSxRQUFtQixFQUFFLEVBQWMsRUFDbkMsZ0JBQW1DO1FBRW5DLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtRQU4vRCxRQUFHLEdBQUgsR0FBRyxDQUF3QjtJQU92QyxDQUFDO0lBRUQsSUFDSSxZQUFZLENBQUMsUUFBMkM7UUFDeEQsSUFBSSxRQUFRLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbEUsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFO1lBQ2pCLElBQVksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pFLElBQUksS0FBSyxHQUFLLElBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFZLENBQUM7WUFDbEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO2dCQUN4RSxJQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsR0FBSSxJQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3hFO2FBQU07WUFDRixJQUFZLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUNqQztJQUNMLENBQUM7SUFHUSxPQUFPLENBQUMsTUFBYyxFQUFFLE9BQWdCLEVBQUUsUUFBaUIsRUFBRSxNQUFlLEVBQUUsT0FBZ0I7UUFDbkcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUNuQixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsS0FBSyxHQUFHLFNBQVMsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFekcsSUFBSSxDQUFDLE9BQU87Z0JBQ1IsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQzs7Z0JBRWpFLE9BQU8sS0FBSyxDQUFDO1NBQ3BCOztZQUVHLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekUsQ0FBQzsrR0F2Q1Esb0JBQW9CLDRHQUtkLFVBQVU7bUdBTGhCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0NBQW9DO29CQUM5QyxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OzBCQU1RLFNBQVM7MkJBQUMsVUFBVTs0SEFRckIsWUFBWTtzQkFEZixLQUFLO2dCQWVHLE9BQU87c0JBRGYsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBMb2NhdGlvblN0cmF0ZWd5IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBBdHRyaWJ1dGUsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgUmVuZGVyZXIyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciwgUm91dGVyTGlua1dpdGhIcmVmIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBFTUJFRERFRF9ST1VURSwgRW52T3B0aW9ucywgUk9VVEUgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvZG9tYWluXCI7XHJcbmltcG9ydCB7IEFwcEVtYmVkZGluZ0V4dGVuc2lvbnMgfSBmcm9tIFwiQGVzZmFlbnphL2V4dGVuc2lvbnNcIjtcclxuXHJcbmRlY2xhcmUgdmFyIG15Y29uZmlnOiBFbnZPcHRpb25zO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ2FbZXNSb3V0ZXJMaW5rXSxhcmVhW2VzUm91dGVyTGlua10nLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgZXNSb3V0ZXJMaW5rV2l0aEhyZWYgZXh0ZW5kcyBSb3V0ZXJMaW5rV2l0aEhyZWYge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgZW1iOiBBcHBFbWJlZGRpbmdFeHRlbnNpb25zLFxyXG4gICAgICAgIHJvdXRlcjogUm91dGVyLCByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgQEF0dHJpYnV0ZSgndGFiaW5kZXgnKSB0YWJJbmRleEF0dHJpYnV0ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgICAgICByZW5kZXJlcjogUmVuZGVyZXIyLCBlbDogRWxlbWVudFJlZixcclxuICAgICAgICBsb2NhdGlvblN0cmF0ZWd5PzogTG9jYXRpb25TdHJhdGVneSkge1xyXG5cclxuICAgICAgICBzdXBlcihyb3V0ZXIsIHJvdXRlLCB0YWJJbmRleEF0dHJpYnV0ZSwgcmVuZGVyZXIsIGVsLCBsb2NhdGlvblN0cmF0ZWd5KVxyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgZXNSb3V0ZXJMaW5rKGNvbW1hbmRzOiBhbnlbXSB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBsZXQgQmFzZVBhdGggPSBcIi9cIiArICh0aGlzLmVtYi5FbWJlZGRlZCA/IEVNQkVEREVEX1JPVVRFIDogUk9VVEUpO1xyXG5cclxuICAgICAgICBpZiAoY29tbWFuZHMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAodGhpcyBhcyBhbnkpLmNvbW1hbmRzID0gQXJyYXkuaXNBcnJheShjb21tYW5kcykgPyBjb21tYW5kcyA6IFtjb21tYW5kc107XHJcbiAgICAgICAgICAgIGxldCByb3V0ZSA9ICgodGhpcyBhcyBhbnkpLmNvbW1hbmRzWzBdIGFzIHN0cmluZyk7XHJcbiAgICAgICAgICAgIGlmICghcm91dGUuc3RhcnRzV2l0aChcIi9cIiArIEVNQkVEREVEX1JPVVRFKSAmJiAhcm91dGUuc3RhcnRzV2l0aChcIi9cIiArIFJPVVRFKSlcclxuICAgICAgICAgICAgICAgICh0aGlzIGFzIGFueSkuY29tbWFuZHNbMF0gPSBCYXNlUGF0aCArICh0aGlzIGFzIGFueSkuY29tbWFuZHNbMF07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgKHRoaXMgYXMgYW55KS5jb21tYW5kcyA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQuYnV0dG9uJywgJyRldmVudC5jdHJsS2V5JywgJyRldmVudC5zaGlmdEtleScsICckZXZlbnQuYWx0S2V5JywgJyRldmVudC5tZXRhS2V5J10pXHJcbiAgICBvdmVycmlkZSBvbkNsaWNrKGJ1dHRvbjogbnVtYmVyLCBjdHJsS2V5OiBib29sZWFuLCBzaGlmdEtleTogYm9vbGVhbiwgYWx0S2V5OiBib29sZWFuLCBtZXRhS2V5OiBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHRoaXMuZW1iLkVtYmVkZGVkKSB7XHJcbiAgICAgICAgICAgIGxldCB1cmwgPSB0aGlzLnVybFRyZWUudG9TdHJpbmcoKS5yZXBsYWNlKEVNQkVEREVEX1JPVVRFLCBST1VURSArIFwiL2VtYmVkL1wiICsgbXljb25maWcuQXBwRGF0YS5Nb2R1bGVJZCk7XHJcbiAgICAgICAgICAgIHRoaXMuZW1iLk1haW5XaW5kb3cucG9zdE1lc3NhZ2UoeyB0eXBlOiBcIm5hdmlnYXRlXCIsIHVybCwgbmV3VGFiOiBjdHJsS2V5LCByZXBsYWNlU3RhdGU6ICFjdHJsS2V5IH0sIFwiKlwiKTtcclxuXHJcbiAgICAgICAgICAgIGlmICghY3RybEtleSlcclxuICAgICAgICAgICAgICAgIHJldHVybiBzdXBlci5vbkNsaWNrKGJ1dHRvbiwgY3RybEtleSwgc2hpZnRLZXksIGFsdEtleSwgbWV0YUtleSk7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICByZXR1cm4gc3VwZXIub25DbGljayhidXR0b24sIGN0cmxLZXksIHNoaWZ0S2V5LCBhbHRLZXksIG1ldGFLZXkpO1xyXG4gICAgfVxyXG59Il19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNmYWVuemEtY29yZS1kaXJlY3RpdmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL3NyYy9lc2ZhZW56YS1jb3JlLWRpcmVjdGl2ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,8 +0,0 @@
1
- export * from './draggable/draggable.directive';
2
- export * from './slim-scroll/slim-scroll.directive';
3
- export * from './es-routerLink/es-routerLink.directive';
4
- export * from './widget/widget.directive';
5
- export * from './componentHost/componentHost.directive';
6
- export * from './es-modal/es-modal.directive';
7
- export * from './directives.module';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kcmFnZ2FibGUvZHJhZ2dhYmxlLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2xpbS1zY3JvbGwvc2xpbS1zY3JvbGwuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9lcy1yb3V0ZXJMaW5rL2VzLXJvdXRlckxpbmsuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi93aWRnZXQvd2lkZ2V0LmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50SG9zdC9jb21wb25lbnRIb3N0LmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZXMtbW9kYWwvZXMtbW9kYWwuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzLm1vZHVsZSc7Il19
@@ -1,41 +0,0 @@
1
- // Angular
2
- import { Directive, Input } from "@angular/core";
3
- // Direttive, Componenti, Librerie
4
- import "jquery-slimscroll";
5
- import * as i0 from "@angular/core";
6
- export class SlimScroll {
7
- constructor(_elementRef, zone) {
8
- this._elementRef = _elementRef;
9
- this.zone = zone;
10
- }
11
- ngOnChanges(changes) {
12
- this._scroll();
13
- }
14
- _scroll() {
15
- this._destroy();
16
- this._init();
17
- }
18
- //Stacco slimscroll da Angular dato che registra dei listener sull'oggetto in cui viene creato che spammerebbero la change detection
19
- _init() {
20
- this.zone.runOutsideAngular(() => {
21
- jQuery(this._elementRef.nativeElement).slimScroll(this.slimScrollOptions);
22
- });
23
- }
24
- _destroy() {
25
- this.zone.runOutsideAngular(() => {
26
- jQuery(this._elementRef.nativeElement).slimScroll({ destroy: true });
27
- });
28
- }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SlimScroll, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
30
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SlimScroll, isStandalone: true, selector: "[slim-scroll]", inputs: { slimScrollOptions: "slimScrollOptions" }, usesOnChanges: true, ngImport: i0 }); }
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SlimScroll, decorators: [{
33
- type: Directive,
34
- args: [{
35
- selector: "[slim-scroll]",
36
- standalone: true
37
- }]
38
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { slimScrollOptions: [{
39
- type: Input
40
- }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpbS1zY3JvbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL3NyYy9zbGltLXNjcm9sbC9zbGltLXNjcm9sbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXJFLGtDQUFrQztBQUNsQyxPQUFPLG1CQUFtQixDQUFDOztBQVEzQixNQUFNLE9BQU8sVUFBVTtJQUduQixZQUFvQixXQUF1QixFQUFVLElBQVk7UUFBN0MsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFRO0lBQ2pFLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBTztRQUNmLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU8sT0FBTztRQUNYLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELG9JQUFvSTtJQUM1SCxLQUFLO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFFBQVE7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBMUJRLFVBQVU7bUdBQVYsVUFBVTs7NEZBQVYsVUFBVTtrQkFKdEIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsVUFBVSxFQUFFLElBQUk7aUJBQ25CO3NIQUVtQixpQkFBaUI7c0JBQWhDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE5nWm9uZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBEaXJldHRpdmUsIENvbXBvbmVudGksIExpYnJlcmllXHJcbmltcG9ydCBcImpxdWVyeS1zbGltc2Nyb2xsXCI7XHJcblxyXG5kZWNsYXJlIHZhciBqUXVlcnk7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiBcIltzbGltLXNjcm9sbF1cIixcclxuICAgIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaW1TY3JvbGwge1xyXG4gICAgQElucHV0KCkgcHVibGljIHNsaW1TY3JvbGxPcHRpb25zOiBPYmplY3Q7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSB6b25lOiBOZ1pvbmUpIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzKSB7XHJcbiAgICAgICAgdGhpcy5fc2Nyb2xsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2Nyb2xsKCkge1xyXG4gICAgICAgIHRoaXMuX2Rlc3Ryb3koKTtcclxuICAgICAgICB0aGlzLl9pbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy9TdGFjY28gc2xpbXNjcm9sbCBkYSBBbmd1bGFyIGRhdG8gY2hlIHJlZ2lzdHJhIGRlaSBsaXN0ZW5lciBzdWxsJ29nZ2V0dG8gaW4gY3VpIHZpZW5lIGNyZWF0byBjaGUgc3BhbW1lcmViYmVybyBsYSBjaGFuZ2UgZGV0ZWN0aW9uXHJcbiAgICBwcml2YXRlIF9pbml0KCkge1xyXG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgIGpRdWVyeSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpLnNsaW1TY3JvbGwodGhpcy5zbGltU2Nyb2xsT3B0aW9ucyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgICAgICBqUXVlcnkodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KS5zbGltU2Nyb2xsKHsgZGVzdHJveTogdHJ1ZSB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSJdfQ==