@lowcodeunit/applications-flow-common 0.0.2 → 0.0.4

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 (228) hide show
  1. package/esm2020/lcu.api.mjs +80 -0
  2. package/esm2020/lib/applications-flow.module.mjs +352 -0
  3. package/esm2020/lib/controls/build-pipeline-form/build-pipeline-form.component.mjs +251 -0
  4. package/esm2020/lib/controls/devops-source-control-form/devops-source-control-form.component.mjs +432 -0
  5. package/esm2020/lib/controls/edit-application-form/edit-application-form.component.mjs +110 -0
  6. package/esm2020/lib/controls/processor-details-form/processor-details-form.component.mjs +432 -0
  7. package/esm2020/lib/controls/security-toggle/security-toggle.component.mjs +61 -0
  8. package/esm2020/lib/controls/source-control-form/source-control-form.component.mjs +69 -0
  9. package/esm2020/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.mjs +32 -0
  10. package/esm2020/lib/dialogs/custom-domain-dialog/custom-domain-dialog.component.mjs +35 -0
  11. package/esm2020/lib/dialogs/edit-application-dialog/edit-application-dialog.component.mjs +33 -0
  12. package/esm2020/lib/dialogs/new-application-dialog/new-application-dialog.component.mjs +170 -0
  13. package/esm2020/lib/dialogs/processor-details-dialog/processor-details-dialog.component.mjs +53 -0
  14. package/esm2020/lib/dialogs/source-control-dialog/source-control-dialog.component.mjs +29 -0
  15. package/esm2020/lib/dialogs/upgrade-dialog/upgrade-dialog.component.mjs +23 -0
  16. package/esm2020/lib/elements/analytics-card/analytics-card.component.mjs +28 -0
  17. package/esm2020/lib/elements/base-form/base-form.component.mjs +57 -0
  18. package/esm2020/lib/elements/breadcrumb/breadcrumb.component.mjs +124 -0
  19. package/esm2020/lib/elements/card-carousel/card-carousel.component.mjs +70 -0
  20. package/esm2020/lib/elements/dynamic-tabs/dynamic-tabs.component.mjs +75 -0
  21. package/esm2020/lib/elements/feed-card-sm/feed-card-sm.component.mjs +42 -0
  22. package/esm2020/lib/elements/flow-tool/flow-tool.component.mjs +75 -0
  23. package/esm2020/lib/elements/form-card/form-card.component.mjs +33 -0
  24. package/esm2020/lib/elements/gh-control/gh-control.component.mjs +78 -0
  25. package/esm2020/lib/elements/main-feed-card/main-feed-card.component.mjs +128 -0
  26. package/esm2020/lib/elements/project-info-card/project-info-card.component.mjs +76 -0
  27. package/esm2020/lib/elements/projects/controls/builds/builds.component.mjs +32 -0
  28. package/esm2020/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.mjs +145 -0
  29. package/esm2020/lib/elements/projects/controls/forms/source-control/source-control.component.mjs +285 -0
  30. package/esm2020/lib/elements/projects/controls/git-auth/git-auth.component.mjs +26 -0
  31. package/esm2020/lib/elements/projects/controls/header/header.component.mjs +83 -0
  32. package/esm2020/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.mjs +118 -0
  33. package/esm2020/lib/elements/projects/controls/project-items/project-items.component.mjs +54 -0
  34. package/esm2020/lib/elements/projects/controls/project-tabs/project-tabs.component.mjs +103 -0
  35. package/esm2020/lib/elements/projects/controls/recent-activities/recent-activities.component.mjs +14 -0
  36. package/esm2020/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.mjs +561 -0
  37. package/esm2020/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.mjs +72 -0
  38. package/esm2020/lib/elements/projects/controls/tabs/devops/devops.component.mjs +242 -0
  39. package/esm2020/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.mjs +179 -0
  40. package/esm2020/lib/elements/projects/controls/tabs/domains/domains.component.mjs +140 -0
  41. package/esm2020/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.mjs +90 -0
  42. package/esm2020/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.mjs +142 -0
  43. package/esm2020/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.mjs +124 -0
  44. package/esm2020/lib/elements/projects/controls/tabs/general/general.component.mjs +40 -0
  45. package/esm2020/lib/elements/projects/projects.component.mjs +91 -0
  46. package/esm2020/lib/elements/skeleton-feed-card/skeleton-feed-card.component.mjs +20 -0
  47. package/esm2020/lib/elements/slotted-card/slotted-card.component.mjs +60 -0
  48. package/esm2020/lib/elements/three-column/three-column.component.mjs +30 -0
  49. package/esm2020/lib/elements/two-column-header/two-column-header.component.mjs +15 -0
  50. package/esm2020/lib/models/actions.model.mjs +3 -0
  51. package/esm2020/lib/models/base-form-config.model.mjs +6 -0
  52. package/esm2020/lib/models/card-form-config.model.mjs +6 -0
  53. package/esm2020/lib/models/dev-settings-preset.model.mjs +3 -0
  54. package/esm2020/lib/models/domain.model.mjs +3 -0
  55. package/esm2020/lib/models/dynamic-tabs.model.mjs +6 -0
  56. package/esm2020/lib/models/form-actions.model.mjs +3 -0
  57. package/esm2020/lib/models/form.model.mjs +6 -0
  58. package/esm2020/lib/models/form.values.model.mjs +11 -0
  59. package/esm2020/lib/models/project-actions.model.mjs +6 -0
  60. package/esm2020/lib/models/user-feed.model.mjs +12 -0
  61. package/esm2020/lib/services/applications-flow.service.mjs +142 -0
  62. package/esm2020/lib/services/eac.service.mjs +183 -0
  63. package/esm2020/lib/services/forms.service.mjs +132 -0
  64. package/esm2020/lib/services/npm.service.mjs +77 -0
  65. package/esm2020/lib/services/project.service.mjs +326 -0
  66. package/esm2020/lib/state/applications-flow-state.context.mjs +36 -0
  67. package/esm2020/lib/state/applications-flow.state.mjs +72 -0
  68. package/esm2020/lowcodeunit-applications-flow-common.mjs +5 -0
  69. package/fesm2015/lowcodeunit-applications-flow-common.mjs +6156 -0
  70. package/fesm2015/lowcodeunit-applications-flow-common.mjs.map +1 -0
  71. package/fesm2020/lowcodeunit-applications-flow-common.mjs +6009 -0
  72. package/fesm2020/lowcodeunit-applications-flow-common.mjs.map +1 -0
  73. package/lcu.api.d.ts +58 -4
  74. package/lib/applications-flow.module.d.ts +58 -1
  75. package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts +47 -0
  76. package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts +86 -0
  77. package/lib/controls/edit-application-form/edit-application-form.component.d.ts +27 -0
  78. package/lib/controls/processor-details-form/processor-details-form.component.d.ts +80 -0
  79. package/lib/controls/security-toggle/security-toggle.component.d.ts +25 -0
  80. package/lib/controls/source-control-form/source-control-form.component.d.ts +27 -0
  81. package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts +19 -0
  82. package/lib/dialogs/custom-domain-dialog/custom-domain-dialog.component.d.ts +22 -0
  83. package/lib/dialogs/edit-application-dialog/edit-application-dialog.component.d.ts +17 -0
  84. package/lib/dialogs/new-application-dialog/new-application-dialog.component.d.ts +35 -0
  85. package/lib/dialogs/processor-details-dialog/processor-details-dialog.component.d.ts +31 -0
  86. package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts +18 -0
  87. package/lib/dialogs/upgrade-dialog/upgrade-dialog.component.d.ts +11 -0
  88. package/lib/elements/analytics-card/analytics-card.component.d.ts +11 -0
  89. package/lib/elements/base-form/base-form.component.d.ts +6 -4
  90. package/lib/elements/breadcrumb/breadcrumb.component.d.ts +38 -0
  91. package/lib/elements/card-carousel/card-carousel.component.d.ts +16 -0
  92. package/lib/elements/dynamic-tabs/dynamic-tabs.component.d.ts +7 -5
  93. package/lib/elements/feed-card-sm/feed-card-sm.component.d.ts +14 -0
  94. package/lib/elements/flow-tool/flow-tool.component.d.ts +28 -0
  95. package/lib/elements/form-card/form-card.component.d.ts +3 -1
  96. package/lib/elements/gh-control/gh-control.component.d.ts +19 -0
  97. package/lib/elements/main-feed-card/main-feed-card.component.d.ts +26 -0
  98. package/lib/elements/project-info-card/project-info-card.component.d.ts +26 -0
  99. package/lib/elements/projects/controls/builds/builds.component.d.ts +9 -13
  100. package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts +15 -14
  101. package/lib/elements/projects/controls/forms/source-control/source-control.component.d.ts +63 -0
  102. package/lib/elements/projects/controls/git-auth/git-auth.component.d.ts +4 -1
  103. package/lib/elements/projects/controls/header/header.component.d.ts +22 -4
  104. package/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts +22 -4
  105. package/lib/elements/projects/controls/project-items/project-items.component.d.ts +29 -0
  106. package/lib/elements/projects/controls/project-tabs/project-tabs.component.d.ts +19 -4
  107. package/lib/elements/projects/controls/recent-activities/recent-activities.component.d.ts +3 -1
  108. package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts +113 -0
  109. package/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.d.ts +23 -0
  110. package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts +53 -0
  111. package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts +51 -0
  112. package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts +18 -8
  113. package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts +6 -4
  114. package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts +9 -6
  115. package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts +9 -6
  116. package/lib/elements/projects/controls/tabs/general/general.component.d.ts +8 -4
  117. package/lib/elements/projects/projects.component.d.ts +18 -22
  118. package/lib/elements/skeleton-feed-card/skeleton-feed-card.component.d.ts +9 -0
  119. package/lib/elements/slotted-card/slotted-card.component.d.ts +23 -0
  120. package/lib/elements/three-column/three-column.component.d.ts +11 -0
  121. package/lib/elements/two-column-header/two-column-header.component.d.ts +8 -0
  122. package/lib/models/actions.model.d.ts +0 -1
  123. package/lib/models/base-form-config.model.d.ts +0 -1
  124. package/lib/models/card-form-config.model.d.ts +0 -1
  125. package/lib/models/dev-settings-preset.model.d.ts +0 -1
  126. package/lib/models/domain.model.d.ts +0 -1
  127. package/lib/models/dynamic-tabs.model.d.ts +0 -1
  128. package/lib/models/form-actions.model.d.ts +0 -1
  129. package/lib/models/form.model.d.ts +0 -1
  130. package/lib/models/form.values.model.d.ts +0 -1
  131. package/lib/models/project-actions.model.d.ts +0 -1
  132. package/lib/models/user-feed.model.d.ts +42 -0
  133. package/lib/services/applications-flow.service.d.ts +20 -8
  134. package/lib/services/eac.service.d.ts +63 -0
  135. package/lib/services/forms.service.d.ts +3 -1
  136. package/lib/services/npm.service.d.ts +13 -0
  137. package/lib/services/project.service.d.ts +23 -7
  138. package/lib/state/applications-flow-state.context.d.ts +3 -1
  139. package/lib/state/applications-flow.state.d.ts +29 -38
  140. package/lowcodeunit-applications-flow-common.d.ts +1 -13
  141. package/package.json +20 -12
  142. package/bundles/lowcodeunit-applications-flow-common.umd.js +0 -2571
  143. package/bundles/lowcodeunit-applications-flow-common.umd.js.map +0 -1
  144. package/bundles/lowcodeunit-applications-flow-common.umd.min.js +0 -16
  145. package/bundles/lowcodeunit-applications-flow-common.umd.min.js.map +0 -1
  146. package/esm2015/lcu.api.js +0 -25
  147. package/esm2015/lib/applications-flow.module.js +0 -116
  148. package/esm2015/lib/elements/base-form/base-form.component.js +0 -61
  149. package/esm2015/lib/elements/dynamic-tabs/dynamic-tabs.component.js +0 -69
  150. package/esm2015/lib/elements/form-card/form-card.component.js +0 -22
  151. package/esm2015/lib/elements/projects/controls/builds/builds.component.js +0 -37
  152. package/esm2015/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.js +0 -207
  153. package/esm2015/lib/elements/projects/controls/git-auth/git-auth.component.js +0 -26
  154. package/esm2015/lib/elements/projects/controls/header/header.component.js +0 -19
  155. package/esm2015/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.js +0 -55
  156. package/esm2015/lib/elements/projects/controls/project-item/project-item.component.js +0 -39
  157. package/esm2015/lib/elements/projects/controls/project-settings/project-settings.component.js +0 -44
  158. package/esm2015/lib/elements/projects/controls/project-tabs/project-tabs.component.js +0 -39
  159. package/esm2015/lib/elements/projects/controls/recent-activities/recent-activities.component.js +0 -15
  160. package/esm2015/lib/elements/projects/controls/tabs/domains/domains.component.js +0 -108
  161. package/esm2015/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.js +0 -86
  162. package/esm2015/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.js +0 -122
  163. package/esm2015/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.js +0 -109
  164. package/esm2015/lib/elements/projects/controls/tabs/general/forms/settings/settings.component.js +0 -238
  165. package/esm2015/lib/elements/projects/controls/tabs/general/general.component.js +0 -44
  166. package/esm2015/lib/elements/projects/projects.component.js +0 -145
  167. package/esm2015/lib/models/actions.model.js +0 -3
  168. package/esm2015/lib/models/base-form-config.model.js +0 -6
  169. package/esm2015/lib/models/card-form-config.model.js +0 -6
  170. package/esm2015/lib/models/dev-settings-preset.model.js +0 -3
  171. package/esm2015/lib/models/domain.model.js +0 -3
  172. package/esm2015/lib/models/dynamic-tabs.model.js +0 -6
  173. package/esm2015/lib/models/form-actions.model.js +0 -3
  174. package/esm2015/lib/models/form.model.js +0 -6
  175. package/esm2015/lib/models/form.values.model.js +0 -11
  176. package/esm2015/lib/models/project-actions.model.js +0 -6
  177. package/esm2015/lib/services/applications-flow-events.service.js +0 -28
  178. package/esm2015/lib/services/applications-flow.service.js +0 -96
  179. package/esm2015/lib/services/forms.service.js +0 -131
  180. package/esm2015/lib/services/project.service.js +0 -85
  181. package/esm2015/lib/state/applications-flow-state.context.js +0 -37
  182. package/esm2015/lib/state/applications-flow.state.js +0 -31
  183. package/esm2015/lowcodeunit-applications-flow-common.js +0 -17
  184. package/fesm2015/lowcodeunit-applications-flow-common.js +0 -1966
  185. package/fesm2015/lowcodeunit-applications-flow-common.js.map +0 -1
  186. package/lcu.api.d.ts.map +0 -1
  187. package/lib/applications-flow.module.d.ts.map +0 -1
  188. package/lib/elements/base-form/base-form.component.d.ts.map +0 -1
  189. package/lib/elements/dynamic-tabs/dynamic-tabs.component.d.ts.map +0 -1
  190. package/lib/elements/form-card/form-card.component.d.ts.map +0 -1
  191. package/lib/elements/projects/controls/builds/builds.component.d.ts.map +0 -1
  192. package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts.map +0 -1
  193. package/lib/elements/projects/controls/git-auth/git-auth.component.d.ts.map +0 -1
  194. package/lib/elements/projects/controls/header/header.component.d.ts.map +0 -1
  195. package/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts.map +0 -1
  196. package/lib/elements/projects/controls/project-item/project-item.component.d.ts +0 -23
  197. package/lib/elements/projects/controls/project-item/project-item.component.d.ts.map +0 -1
  198. package/lib/elements/projects/controls/project-settings/project-settings.component.d.ts +0 -16
  199. package/lib/elements/projects/controls/project-settings/project-settings.component.d.ts.map +0 -1
  200. package/lib/elements/projects/controls/project-tabs/project-tabs.component.d.ts.map +0 -1
  201. package/lib/elements/projects/controls/recent-activities/recent-activities.component.d.ts.map +0 -1
  202. package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts.map +0 -1
  203. package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts.map +0 -1
  204. package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts.map +0 -1
  205. package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts.map +0 -1
  206. package/lib/elements/projects/controls/tabs/general/forms/settings/settings.component.d.ts +0 -116
  207. package/lib/elements/projects/controls/tabs/general/forms/settings/settings.component.d.ts.map +0 -1
  208. package/lib/elements/projects/controls/tabs/general/general.component.d.ts.map +0 -1
  209. package/lib/elements/projects/projects.component.d.ts.map +0 -1
  210. package/lib/models/actions.model.d.ts.map +0 -1
  211. package/lib/models/base-form-config.model.d.ts.map +0 -1
  212. package/lib/models/card-form-config.model.d.ts.map +0 -1
  213. package/lib/models/dev-settings-preset.model.d.ts.map +0 -1
  214. package/lib/models/domain.model.d.ts.map +0 -1
  215. package/lib/models/dynamic-tabs.model.d.ts.map +0 -1
  216. package/lib/models/form-actions.model.d.ts.map +0 -1
  217. package/lib/models/form.model.d.ts.map +0 -1
  218. package/lib/models/form.values.model.d.ts.map +0 -1
  219. package/lib/models/project-actions.model.d.ts.map +0 -1
  220. package/lib/services/applications-flow-events.service.d.ts +0 -13
  221. package/lib/services/applications-flow-events.service.d.ts.map +0 -1
  222. package/lib/services/applications-flow.service.d.ts.map +0 -1
  223. package/lib/services/forms.service.d.ts.map +0 -1
  224. package/lib/services/project.service.d.ts.map +0 -1
  225. package/lib/state/applications-flow-state.context.d.ts.map +0 -1
  226. package/lib/state/applications-flow.state.d.ts.map +0 -1
  227. package/lowcodeunit-applications-flow-common.d.ts.map +0 -1
  228. package/lowcodeunit-applications-flow-common.metadata.json +0 -1
@@ -0,0 +1,183 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { ApplicationsFlowState, } from '../state/applications-flow.state';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./project.service";
5
+ import * as i2 from "@angular/common/http";
6
+ export class SaveApplicationAsCodeEventRequest {
7
+ }
8
+ export class SaveDFSModifierEventRequest {
9
+ }
10
+ export class SaveEnvironmentAsCodeEventRequest {
11
+ }
12
+ export class SaveProjectAsCodeEventRequest {
13
+ }
14
+ export class EaCService {
15
+ // Constructors
16
+ constructor(projectService, http) {
17
+ this.projectService = projectService;
18
+ this.http = http;
19
+ this.State = new ApplicationsFlowState();
20
+ }
21
+ // Properties
22
+ get EditingProjectLookup() {
23
+ return this.projectService.EditingProjectLookup;
24
+ }
25
+ get CreatingProject() {
26
+ return this.projectService.CreatingProject;
27
+ }
28
+ // API Methods
29
+ CheckUserFeedItem(feedItem) {
30
+ return this.http.get(feedItem.RefreshLink);
31
+ }
32
+ async DeleteApplication(appLookup, appName) {
33
+ if (confirm(`Are you sure you want to delete application '${appName}'?`)) {
34
+ await this.projectService.DeleteApplication(this.State, appLookup);
35
+ }
36
+ }
37
+ async DeleteDevOpsAction(doaLookup) {
38
+ if (confirm(`Are you sure you want to delete DevOps action '${doaLookup}'?`)) {
39
+ await this.projectService.DeleteDevOpsAction(this.State, doaLookup);
40
+ }
41
+ }
42
+ async DeleteProject(projectLookup) {
43
+ if (confirm(`Are you sure you want to delete Project '${projectLookup}'?`)) {
44
+ await this.projectService.DeleteProject(this.State, projectLookup);
45
+ }
46
+ }
47
+ async DeleteSourceControl(scLookup) {
48
+ if (confirm(`Are you sure you want to delete Source Control '${scLookup}'?`)) {
49
+ await this.projectService.DeleteSourceControl(this.State, scLookup);
50
+ }
51
+ }
52
+ // this.appsFlowEventsSvc.EnsureUserEnterpriseEvent.subscribe(async () => {
53
+ // await this.projectService.EnsureUserEnterprise(this.State);
54
+ // });
55
+ async EnsureUserEnterprise() {
56
+ await this.projectService.EnsureUserEnterprise(this.State);
57
+ }
58
+ async GetActiveEnterprise() {
59
+ await this.projectService.GetActiveEnterprise(this.State);
60
+ }
61
+ async LoadUserFeed(page, pageSize) {
62
+ await this.projectService.LoadUserFeed(page, pageSize, this.State);
63
+ }
64
+ async HasValidConnection() {
65
+ await this.projectService.HasValidConnection(this.State);
66
+ }
67
+ async ListEnterprises() {
68
+ await this.projectService.ListEnterprises(this.State);
69
+ }
70
+ async LoadEnterpriseAsCode() {
71
+ await this.projectService.LoadEnterpriseAsCode(this.State);
72
+ }
73
+ async SaveApplicationAsCode(req) {
74
+ return await this.handleSaveApplication(req);
75
+ }
76
+ async SaveDFSModifier(req) {
77
+ await this.handleSaveDFSModifier(req);
78
+ }
79
+ async SaveEnterpriseAsCode(eac) {
80
+ return await this.projectService.SaveEnterpriseAsCode(this.State, eac);
81
+ }
82
+ async SaveEnvironmentAsCode(req) {
83
+ return await this.handleSaveEnvironment(req);
84
+ }
85
+ async SaveProjectAsCode(req) {
86
+ await this.handleSaveProject(req.ProjectLookup, req.Project);
87
+ }
88
+ async SetActiveEnterprise(entLookup) {
89
+ this.projectService.SetActiveEnterprise(this.State, entLookup);
90
+ }
91
+ async SetCreatingProject(creatingProject) {
92
+ this.projectService.SetCreatingProject(creatingProject);
93
+ }
94
+ async SetEditProjectSettings(projectLookup) {
95
+ await this.projectService.SetEditProjectSettings(this.State, projectLookup);
96
+ }
97
+ async UnpackLowCodeUnit(req) {
98
+ if (confirm(`Are you sure you want to unpack application '${req.ApplicationName}' with version '${req.Version}'?`)) {
99
+ await this.projectService.UnpackLowCodeUnit(this.State, req);
100
+ }
101
+ }
102
+ // Helpers
103
+ async handleSaveApplication(req) {
104
+ const saveEaC = {
105
+ EnterpriseLookup: this.State.EaC.EnterpriseLookup,
106
+ Applications: {},
107
+ Projects: {},
108
+ };
109
+ const existingProj = {
110
+ ...this.State.EaC.Projects[req.ProjectLookup],
111
+ };
112
+ if (existingProj.ApplicationLookups?.indexOf(req.ApplicationLookup) < 0) {
113
+ if (!existingProj.ApplicationLookups) {
114
+ existingProj.ApplicationLookups = [];
115
+ }
116
+ existingProj.ApplicationLookups.push(req.ApplicationLookup);
117
+ saveEaC.Projects[req.ProjectLookup] = existingProj;
118
+ }
119
+ if (req.Application) {
120
+ saveEaC.Applications[req.ApplicationLookup] = req.Application;
121
+ }
122
+ return await this.projectService.SaveEnterpriseAsCode(this.State, saveEaC);
123
+ }
124
+ async handleSaveDFSModifier(req) {
125
+ const saveEaC = {
126
+ EnterpriseLookup: this.State.EaC.EnterpriseLookup,
127
+ Modifiers: {},
128
+ Projects: {},
129
+ };
130
+ if (req.Modifier) {
131
+ saveEaC.Modifiers[req.ModifierLookup] = req.Modifier;
132
+ }
133
+ if (req.ProjectLookup) {
134
+ saveEaC.Projects[req.ProjectLookup] = {
135
+ ModifierLookups: [req.ModifierLookup],
136
+ };
137
+ }
138
+ await this.projectService.SaveEnterpriseAsCode(this.State, saveEaC);
139
+ }
140
+ async handleSaveEnvironment(req) {
141
+ const saveEaC = {
142
+ EnterpriseLookup: this.State?.EaC?.EnterpriseLookup,
143
+ DataTokens: {},
144
+ Environments: {},
145
+ };
146
+ if (req.Environment) {
147
+ saveEaC.Environments[req.EnvironmentLookup] = req.Environment;
148
+ }
149
+ if (req.EnterpriseDataTokens) {
150
+ saveEaC.DataTokens = req.EnterpriseDataTokens;
151
+ }
152
+ return await this.projectService.SaveEnterpriseAsCode(this.State, saveEaC);
153
+ }
154
+ async handleSaveProject(projectLookup, project) {
155
+ const projHosts = {};
156
+ project?.Hosts?.forEach((host) => {
157
+ projHosts[host] = this.State.EaC.Hosts[host];
158
+ });
159
+ const saveEaC = {
160
+ EnterpriseLookup: this.State.EaC.EnterpriseLookup,
161
+ Enterprise: {
162
+ ...this.State.EaC.Enterprise,
163
+ PrimaryHost: project.Hosts[0],
164
+ },
165
+ Hosts: projHosts,
166
+ // Providers: this.State.EaC.Providers, // TODO: Remove after all providers ADB2C's have been upgraded
167
+ Projects: {},
168
+ };
169
+ saveEaC.Projects[projectLookup] = project;
170
+ let status = await this.projectService.SaveEnterpriseAsCode(this.State, saveEaC);
171
+ this.SetEditProjectSettings(projectLookup);
172
+ return status;
173
+ }
174
+ }
175
+ EaCService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: EaCService, deps: [{ token: i1.ProjectService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
176
+ EaCService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: EaCService, providedIn: 'root' });
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: EaCService, decorators: [{
178
+ type: Injectable,
179
+ args: [{
180
+ providedIn: 'root',
181
+ }]
182
+ }], ctorParameters: function () { return [{ type: i1.ProjectService }, { type: i2.HttpClient }]; } });
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFjLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9lYWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFDTCxxQkFBcUIsR0FFdEIsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQWUxQyxNQUFNLE9BQU8saUNBQWlDO0NBTTdDO0FBRUQsTUFBTSxPQUFPLDJCQUEyQjtDQU12QztBQUVELE1BQU0sT0FBTyxpQ0FBaUM7Q0FNN0M7QUFFRCxNQUFNLE9BQU8sNkJBQTZCO0NBSXpDO0FBS0QsTUFBTSxPQUFPLFVBQVU7SUFZckIsZ0JBQWdCO0lBQ2hCLFlBQXNCLGNBQThCLEVBQ3hDLElBQWdCO1FBRE4sbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7SUFDM0MsQ0FBQztJQWZELGNBQWM7SUFDZCxJQUFXLG9CQUFvQjtRQUM3QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDO0lBQzdDLENBQUM7SUFVRCxlQUFlO0lBQ1IsaUJBQWlCLENBQUMsUUFBa0I7UUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLEtBQUssQ0FBQyxpQkFBaUIsQ0FDNUIsU0FBaUIsRUFDakIsT0FBZTtRQUVmLElBQUksT0FBTyxDQUFDLGdEQUFnRCxPQUFPLElBQUksQ0FBQyxFQUFFO1lBQ3hFLE1BQU0sSUFBSSxDQUFD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Q0QsS0FBSyxFQUFFLFNBQVM7WUFDaEIseUdBQXlHO1lBQ3pHLFFBQVEsRUFBRSxFQUFFO1NBQ2IsQ0FBQztRQUVGLE9BQU8sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBRTFDLElBQUksTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRWpGLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUzQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzt1R0E1T1UsVUFBVTsyR0FBVixVQUFVLGNBRlQsTUFBTTsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2plY3RTZXJ2aWNlIH0gZnJvbSAnLi9wcm9qZWN0LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICBVbnBhY2tMb3dDb2RlVW5pdFJlcXVlc3QsXG59IGZyb20gJy4uL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcbmltcG9ydCB7XG4gIEVhQ0FwcGxpY2F0aW9uQXNDb2RlLFxuICBFYUNEYXRhVG9rZW4sXG4gIEVhQ0RGU01vZGlmaWVyLFxuICBFYUNFbnZpcm9ubWVudEFzQ29kZSxcbiAgRWFDSG9zdCxcbiAgRWFDUHJvamVjdEFzQ29kZSxcbiAgRW50ZXJwcmlzZUFzQ29kZSxcbn0gZnJvbSAnQHNlbWFudGljanMvY29tbW9uJztcbmltcG9ydCB7IEZlZWRJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL3VzZXItZmVlZC5tb2RlbCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQmFzZU1vZGVsZWRSZXNwb25zZSwgU3RhdHVzIH0gZnJvbSAnQGxjdS9jb21tb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgU2F2ZUFwcGxpY2F0aW9uQXNDb2RlRXZlbnRSZXF1ZXN0IHtcbiAgcHVibGljIEFwcGxpY2F0aW9uPzogRWFDQXBwbGljYXRpb25Bc0NvZGU7XG5cbiAgcHVibGljIEFwcGxpY2F0aW9uTG9va3VwPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBQcm9qZWN0TG9va3VwPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgU2F2ZURGU01vZGlmaWVyRXZlbnRSZXF1ZXN0IHtcbiAgcHVibGljIE1vZGlmaWVyOiBFYUNERlNNb2RpZmllcjtcblxuICBwdWJsaWMgTW9kaWZpZXJMb29rdXA6IHN0cmluZztcblxuICBwdWJsaWMgUHJvamVjdExvb2t1cD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdCB7XG4gIHB1YmxpYyBFbnRlcnByaXNlRGF0YVRva2Vucz86IHsgW2xvb2t1cDogc3RyaW5nXTogRWFDRGF0YVRva2VuIH07XG5cbiAgcHVibGljIEVudmlyb25tZW50PzogRWFDRW52aXJvbm1lbnRBc0NvZGU7XG5cbiAgcHVibGljIEVudmlyb25tZW50TG9va3VwPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgU2F2ZVByb2plY3RBc0NvZGVFdmVudFJlcXVlc3Qge1xuICBwdWJsaWMgUHJvamVjdD86IEVhQ1Byb2plY3RBc0NvZGU7XG5cbiAgcHVibGljIFByb2plY3RMb29rdXA/OiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFYUNTZXJ2aWNlIHtcbiAgLy8gIFByb3BlcnRpZXNcbiAgcHVibGljIGdldCBFZGl0aW5nUHJvamVjdExvb2t1cCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb2plY3RTZXJ2aWNlLkVkaXRpbmdQcm9qZWN0TG9va3VwO1xuICB9XG5cbiAgcHVibGljIGdldCBDcmVhdGluZ1Byb2plY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucHJvamVjdFNlcnZpY2UuQ3JlYXRpbmdQcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIFN0YXRlOiBBcHBsaWNhdGlvbnNGbG93U3RhdGU7XG5cbiAgLy8gIENvbnN0cnVjdG9yc1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcHJvamVjdFNlcnZpY2U6IFByb2plY3RTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgdGhpcy5TdGF0ZSA9IG5ldyBBcHBsaWNhdGlvbnNGbG93U3RhdGUoKTtcbiAgfVxuXG4gIC8vICBBUEkgTWV0aG9kc1xuICBwdWJsaWMgQ2hlY2tVc2VyRmVlZEl0ZW0oZmVlZEl0ZW06IEZlZWRJdGVtKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChmZWVkSXRlbS5SZWZyZXNoTGluayk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgRGVsZXRlQXBwbGljYXRpb24oXG4gICAgYXBwTG9va3VwOiBzdHJpbmcsXG4gICAgYXBwTmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChjb25maXJtKGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIGFwcGxpY2F0aW9uICcke2FwcE5hbWV9Jz9gKSkge1xuICAgICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5EZWxldGVBcHBsaWNhdGlvbih0aGlzLlN0YXRlLCBhcHBMb29rdXApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBEZWxldGVEZXZPcHNBY3Rpb24oZG9hTG9va3VwOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoXG4gICAgICBjb25maXJtKGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIERldk9wcyBhY3Rpb24gJyR7ZG9hTG9va3VwfSc/YClcbiAgICApIHtcbiAgICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuRGVsZXRlRGV2T3BzQWN0aW9uKHRoaXMuU3RhdGUsIGRvYUxvb2t1cCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIERlbGV0ZVByb2plY3QocHJvamVjdExvb2t1cDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKFxuICAgICAgY29uZmlybShgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBQcm9qZWN0ICcke3Byb2plY3RMb29rdXB9Jz9gKVxuICAgICkge1xuICAgICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5EZWxldGVQcm9qZWN0KHRoaXMuU3RhdGUsIHByb2plY3RMb29rdXApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBEZWxldGVTb3VyY2VDb250cm9sKHNjTG9va3VwOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoXG4gICAgICBjb25maXJtKGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIFNvdXJjZSBDb250cm9sICcke3NjTG9va3VwfSc/YClcbiAgICApIHtcbiAgICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuRGVsZXRlU291cmNlQ29udHJvbCh0aGlzLlN0YXRlLCBzY0xvb2t1cCk7XG4gICAgfVxuICB9XG5cbiAgLy8gdGhpcy5hcHBzRmxvd0V2ZW50c1N2Yy5FbnN1cmVVc2VyRW50ZXJwcmlzZUV2ZW50LnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gIC8vICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5FbnN1cmVVc2VyRW50ZXJwcmlzZSh0aGlzLlN0YXRlKTtcbiAgLy8gfSk7XG5cbiAgcHVibGljIGFzeW5jIEVuc3VyZVVzZXJFbnRlcnByaXNlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuRW5zdXJlVXNlckVudGVycHJpc2UodGhpcy5TdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgR2V0QWN0aXZlRW50ZXJwcmlzZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLkdldEFjdGl2ZUVudGVycHJpc2UodGhpcy5TdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgTG9hZFVzZXJGZWVkKHBhZ2U6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuTG9hZFVzZXJGZWVkKHBhZ2UsIHBhZ2VTaXplLCB0aGlzLlN0YXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBIYXNWYWxpZENvbm5lY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5IYXNWYWxpZENvbm5lY3Rpb24odGhpcy5TdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgTGlzdEVudGVycHJpc2VzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuTGlzdEVudGVycHJpc2VzKHRoaXMuU3RhdGUpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIExvYWRFbnRlcnByaXNlQXNDb2RlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuTG9hZEVudGVycHJpc2VBc0NvZGUodGhpcy5TdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgU2F2ZUFwcGxpY2F0aW9uQXNDb2RlKFxuICAgIHJlcTogU2F2ZUFwcGxpY2F0aW9uQXNDb2RlRXZlbnRSZXF1ZXN0XG4gICk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlU2F2ZUFwcGxpY2F0aW9uKHJlcSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgU2F2ZURGU01vZGlmaWVyKFxuICAgIHJlcTogU2F2ZURGU01vZGlmaWVyRXZlbnRSZXF1ZXN0XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuaGFuZGxlU2F2ZURGU01vZGlmaWVyKHJlcSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgU2F2ZUVudGVycHJpc2VBc0NvZGUoZWFjOiBFbnRlcnByaXNlQXNDb2RlKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5TYXZlRW50ZXJwcmlzZUFzQ29kZSh0aGlzLlN0YXRlLCBlYWMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFNhdmVFbnZpcm9ubWVudEFzQ29kZShcbiAgICByZXE6IFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdFxuICApOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmhhbmRsZVNhdmVFbnZpcm9ubWVudChyZXEpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFNhdmVQcm9qZWN0QXNDb2RlKFxuICAgIHJlcTogU2F2ZVByb2plY3RBc0NvZGVFdmVudFJlcXVlc3RcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5oYW5kbGVTYXZlUHJvamVjdChyZXEuUHJvamVjdExvb2t1cCwgcmVxLlByb2plY3QpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFNldEFjdGl2ZUVudGVycHJpc2UoZW50TG9va3VwOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnByb2plY3RTZXJ2aWNlLlNldEFjdGl2ZUVudGVycHJpc2UodGhpcy5TdGF0ZSwgZW50TG9va3VwKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBTZXRDcmVhdGluZ1Byb2plY3QoY3JlYXRpbmdQcm9qZWN0OiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5wcm9qZWN0U2VydmljZS5TZXRDcmVhdGluZ1Byb2plY3QoY3JlYXRpbmdQcm9qZWN0KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBTZXRFZGl0UHJvamVjdFNldHRpbmdzKHByb2plY3RMb29rdXA6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuU2V0RWRpdFByb2plY3RTZXR0aW5ncyh0aGlzLlN0YXRlLCBwcm9qZWN0TG9va3VwKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBVbnBhY2tMb3dDb2RlVW5pdChyZXE6IFVucGFja0xvd0NvZGVVbml0UmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChcbiAgICAgIGNvbmZpcm0oXG4gICAgICAgIGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdW5wYWNrIGFwcGxpY2F0aW9uICcke3JlcS5BcHBsaWNhdGlvbk5hbWV9JyB3aXRoIHZlcnNpb24gJyR7cmVxLlZlcnNpb259Jz9gXG4gICAgICApXG4gICAgKSB7XG4gICAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLlVucGFja0xvd0NvZGVVbml0KHRoaXMuU3RhdGUsIHJlcSk7XG4gICAgfVxuICB9XG5cbiAgLy8gIEhlbHBlcnNcbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVBcHBsaWNhdGlvbihcbiAgICByZXE6IFNhdmVBcHBsaWNhdGlvbkFzQ29kZUV2ZW50UmVxdWVzdFxuICApOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIGNvbnN0IHNhdmVFYUM6IEVudGVycHJpc2VBc0NvZGUgPSB7XG4gICAgICBFbnRlcnByaXNlTG9va3VwOiB0aGlzLlN0YXRlLkVhQy5FbnRlcnByaXNlTG9va3VwLFxuICAgICAgQXBwbGljYXRpb25zOiB7fSxcbiAgICAgIFByb2plY3RzOiB7fSxcbiAgICB9O1xuXG4gICAgY29uc3QgZXhpc3RpbmdQcm9qID0ge1xuICAgICAgLi4udGhpcy5TdGF0ZS5FYUMuUHJvamVjdHNbcmVxLlByb2plY3RMb29rdXBdLFxuICAgIH07XG5cbiAgICBpZiAoZXhpc3RpbmdQcm9qLkFwcGxpY2F0aW9uTG9va3Vwcz8uaW5kZXhPZihyZXEuQXBwbGljYXRpb25Mb29rdXApIDwgMCkge1xuICAgICAgaWYgKCFleGlzdGluZ1Byb2ouQXBwbGljYXRpb25Mb29rdXBzKSB7XG4gICAgICAgIGV4aXN0aW5nUHJvai5BcHBsaWNhdGlvbkxvb2t1cHMgPSBbXTtcbiAgICAgIH1cblxuICAgICAgZXhpc3RpbmdQcm9qLkFwcGxpY2F0aW9uTG9va3Vwcy5wdXNoKHJlcS5BcHBsaWNhdGlvbkxvb2t1cCk7XG5cbiAgICAgIHNhdmVFYUMuUHJvamVjdHNbcmVxLlByb2plY3RMb29rdXBdID0gZXhpc3RpbmdQcm9qO1xuICAgIH1cblxuICAgIGlmIChyZXEuQXBwbGljYXRpb24pIHtcbiAgICAgIHNhdmVFYUMuQXBwbGljYXRpb25zW3JlcS5BcHBsaWNhdGlvbkxvb2t1cF0gPSByZXEuQXBwbGljYXRpb247XG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuU2F2ZUVudGVycHJpc2VBc0NvZGUodGhpcy5TdGF0ZSwgc2F2ZUVhQyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2F2ZURGU01vZGlmaWVyKFxuICAgIHJlcTogU2F2ZURGU01vZGlmaWVyRXZlbnRSZXF1ZXN0XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHNhdmVFYUM6IEVudGVycHJpc2VBc0NvZGUgPSB7XG4gICAgICBFbnRlcnByaXNlTG9va3VwOiB0aGlzLlN0YXRlLkVhQy5FbnRlcnByaXNlTG9va3VwLFxuICAgICAgTW9kaWZpZXJzOiB7fSxcbiAgICAgIFByb2plY3RzOiB7fSxcbiAgICB9O1xuXG4gICAgaWYgKHJlcS5Nb2RpZmllcikge1xuICAgICAgc2F2ZUVhQy5Nb2RpZmllcnNbcmVxLk1vZGlmaWVyTG9va3VwXSA9IHJlcS5Nb2RpZmllcjtcbiAgICB9XG5cbiAgICBpZiAocmVxLlByb2plY3RMb29rdXApIHtcbiAgICAgIHNhdmVFYUMuUHJvamVjdHNbcmVxLlByb2plY3RMb29rdXBdID0ge1xuICAgICAgICBNb2RpZmllckxvb2t1cHM6IFtyZXEuTW9kaWZpZXJMb29rdXBdLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLlNhdmVFbnRlcnByaXNlQXNDb2RlKHRoaXMuU3RhdGUsIHNhdmVFYUMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVFbnZpcm9ubWVudChcbiAgICByZXE6IFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdFxuICApOiBQcm9taXNlPFN0YXR1cz4ge1xuICAgIGNvbnN0IHNhdmVFYUM6IEVudGVycHJpc2VBc0NvZGUgPSB7XG4gICAgICBFbnRlcnByaXNlTG9va3VwOiB0aGlzLlN0YXRlPy5FYUM/LkVudGVycHJpc2VMb29rdXAsXG4gICAgICBEYXRhVG9rZW5zOiB7fSxcbiAgICAgIEVudmlyb25tZW50czoge30sXG4gICAgfTtcblxuICAgIGlmIChyZXEuRW52aXJvbm1lbnQpIHtcbiAgICAgIHNhdmVFYUMuRW52aXJvbm1lbnRzW3JlcS5FbnZpcm9ubWVudExvb2t1cF0gPSByZXEuRW52aXJvbm1lbnQ7XG4gICAgfVxuXG4gICAgaWYgKHJlcS5FbnRlcnByaXNlRGF0YVRva2Vucykge1xuICAgICAgc2F2ZUVhQy5EYXRhVG9rZW5zID0gcmVxLkVudGVycHJpc2VEYXRhVG9rZW5zO1xuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLlNhdmVFbnRlcnByaXNlQXNDb2RlKHRoaXMuU3RhdGUsIHNhdmVFYUMpO1xuICAgIFxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVQcm9qZWN0KFxuICAgIHByb2plY3RMb29rdXA6IHN0cmluZyxcbiAgICBwcm9qZWN0OiBFYUNQcm9qZWN0QXNDb2RlXG4gICk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgY29uc3QgcHJvakhvc3RzOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0hvc3QgfSA9IHt9O1xuXG4gICAgcHJvamVjdD8uSG9zdHM/LmZvckVhY2goKGhvc3QpID0+IHtcbiAgICAgIHByb2pIb3N0c1tob3N0XSA9IHRoaXMuU3RhdGUuRWFDLkhvc3RzW2hvc3RdO1xuICAgIH0pO1xuXG4gICAgY29uc3Qgc2F2ZUVhQzogRW50ZXJwcmlzZUFzQ29kZSA9IHtcbiAgICAgIEVudGVycHJpc2VMb29rdXA6IHRoaXMuU3RhdGUuRWFDLkVudGVycHJpc2VMb29rdXAsXG4gICAgICBFbnRlcnByaXNlOiB7XG4gICAgICAgIC4uLnRoaXMuU3RhdGUuRWFDLkVudGVycHJpc2UsXG4gICAgICAgIFByaW1hcnlIb3N0OiBwcm9qZWN0Lkhvc3RzWzBdLFxuICAgICAgfSxcbiAgICAgIEhvc3RzOiBwcm9qSG9zdHMsXG4gICAgICAvLyBQcm92aWRlcnM6IHRoaXMuU3RhdGUuRWFDLlByb3ZpZGVycywgIC8vICBUT0RPOiAgUmVtb3ZlIGFmdGVyIGFsbCBwcm92aWRlcnMgQURCMkMncyBoYXZlIGJlZW4gdXBncmFkZWRcbiAgICAgIFByb2plY3RzOiB7fSxcbiAgICB9O1xuXG4gICAgc2F2ZUVhQy5Qcm9qZWN0c1twcm9qZWN0TG9va3VwXSA9IHByb2plY3Q7XG5cbiAgICBsZXQgc3RhdHVzID0gYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5TYXZlRW50ZXJwcmlzZUFzQ29kZSh0aGlzLlN0YXRlLCBzYXZlRWFDKTtcblxuICAgIHRoaXMuU2V0RWRpdFByb2plY3RTZXR0aW5ncyhwcm9qZWN0TG9va3VwKTtcblxuICAgIHJldHVybiBzdGF0dXM7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,132 @@
1
+ import { FormValuesModel } from './../models/form.values.model';
2
+ import { Injectable } from '@angular/core';
3
+ import { Subject } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ export class FormsService {
6
+ constructor() {
7
+ this.forms = [];
8
+ this.previousFormValues = [];
9
+ this.FormIsDirty = new Subject();
10
+ }
11
+ set Form(val) {
12
+ if (!val) {
13
+ return;
14
+ }
15
+ this._form = val;
16
+ this.forms.push(val);
17
+ this.createValuesReference(val);
18
+ }
19
+ get Form() {
20
+ return this._form;
21
+ }
22
+ /**
23
+ *
24
+ * @param val as string - enabled form name
25
+ * @param val as boolen - enable/disable all forms
26
+ *
27
+ * Enable / disable forms, use this when a form is being edited and
28
+ * all other forms need to be disabled
29
+ */
30
+ DisableForms(val) {
31
+ const preventEvent = { onlySelf: true, emitEvent: false };
32
+ this.forms.forEach((form) => {
33
+ if (typeof val === 'boolean') {
34
+ val ? form.Form.disable(preventEvent) : form.Form.enable(preventEvent);
35
+ }
36
+ else {
37
+ if (form.Id === val) {
38
+ form.Form.enable(preventEvent);
39
+ }
40
+ else {
41
+ form.Form.disable(preventEvent);
42
+ }
43
+ }
44
+ });
45
+ }
46
+ /**
47
+ * Create a reference of initial form data
48
+ * Use this to compare if values really changed, because
49
+ * the user could change values back to the original
50
+ *
51
+ * @param obj form data
52
+ */
53
+ createValuesReference(val) {
54
+ // const values: Array<{key: string, value: string}> = [];
55
+ const keyValues = {};
56
+ for (const [key, value] of Object.entries(val.Form.controls)) {
57
+ // values.push({key, value: value.value});
58
+ keyValues[key] = value.value;
59
+ }
60
+ // this.formsValues.push(new FormValuesModel(val.Id, val.Form.value));
61
+ this.previousFormValues.push(new FormValuesModel(val.Id, keyValues));
62
+ }
63
+ /**
64
+ * Update value reference after saves
65
+ *
66
+ * @param val form model with values
67
+ */
68
+ UpdateValuesReference(val) {
69
+ const index = this.previousFormValues.findIndex((x) => {
70
+ return x.Id === val.Id;
71
+ });
72
+ this.previousFormValues[index].Values = val.Form.value;
73
+ // TODO: look at consolidating updating this.forms and this.previousFormValues - shannon (7-14-21)
74
+ const formIndex = this.forms.findIndex((x) => {
75
+ return x.Id === val.Id;
76
+ });
77
+ this.forms[formIndex] = val;
78
+ }
79
+ /**
80
+ * Reset form values back to previous
81
+ *
82
+ * @param id form id
83
+ */
84
+ ResetFormValues(id) {
85
+ this.forms.find((form) => {
86
+ if (form.Id === id) {
87
+ form.Form.patchValue(this.GetPreviousFormValues(id).Values);
88
+ }
89
+ });
90
+ }
91
+ /**
92
+ *
93
+ * @param id form id to search for
94
+ *
95
+ * @returns previous form values
96
+ */
97
+ GetPreviousFormValues(id) {
98
+ return this.previousFormValues.find((x) => {
99
+ return x.Id === id;
100
+ });
101
+ }
102
+ /**
103
+ * Check for actual form changes, because the user
104
+ * could have canceled or changed the value back to the
105
+ * original
106
+ *
107
+ * @param id form id
108
+ * @param formToCheck form to be tested
109
+ */
110
+ ForRealThough(id, formToCheck) {
111
+ const formVals = this.previousFormValues.find((x) => {
112
+ return x.Id === id;
113
+ });
114
+ for (const key in formToCheck.controls) {
115
+ if (formToCheck.controls[key].value !== formVals.Values[key]) {
116
+ this.FormIsDirty.next(true);
117
+ return true;
118
+ }
119
+ }
120
+ this.FormIsDirty.next(false);
121
+ return false;
122
+ }
123
+ }
124
+ FormsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: FormsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
125
+ FormsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: FormsService, providedIn: 'root' });
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: FormsService, decorators: [{
127
+ type: Injectable,
128
+ args: [{
129
+ providedIn: 'root',
130
+ }]
131
+ }], ctorParameters: function () { return []; } });
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL2Zvcm1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNL0IsTUFBTSxPQUFPLFlBQVk7SUF3SnJCO1FBQ0ksSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQXRKRCxJQUFXLElBQUksQ0FBQyxHQUFjO1FBRTFCLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFckIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQWVEOzs7Ozs7O09BT0c7SUFDSSxZQUFZLENBQUMsR0FBcUI7UUFFckMsTUFBTSxZQUFZLEdBQTRDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFFbkcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFlLEVBQUUsRUFBRTtZQUVuQyxJQUFJLE9BQU8sR0FBRyxLQUFLLFNBQVMs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QztRQUVILEtBQUssTUFBTSxHQUFHLElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUNwQyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzFELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM1QixPQUFPLElBQUksQ0FBQzthQUNmO1NBQ0o7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOzt5R0F0SlEsWUFBWTs2R0FBWixZQUFZLGNBSFQsTUFBTTsyRkFHVCxZQUFZO2tCQUp4QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1WYWx1ZXNNb2RlbCB9IGZyb20gJy4vLi4vbW9kZWxzL2Zvcm0udmFsdWVzLm1vZGVsJztcbmltcG9ydCB7IEZvcm1Nb2RlbCB9IGZyb20gJy4vLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICB9KVxuXG5leHBvcnQgY2xhc3MgRm9ybXNTZXJ2aWNlIHtcblxuICAgIC8qKlxuICAgICAqIExpc3Qgb2YgZm9ybXNcbiAgICAgKi9cbiAgICBwcml2YXRlIF9mb3JtOiBGb3JtTW9kZWw7XG4gICAgcHVibGljIHNldCBGb3JtKHZhbDogRm9ybU1vZGVsKSB7XG5cbiAgICAgICAgaWYgKCF2YWwpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdGhpcy5fZm9ybSA9IHZhbDtcbiAgICAgICAgdGhpcy5mb3Jtcy5wdXNoKHZhbCk7XG4gICAgICAgIHRoaXMuY3JlYXRlVmFsdWVzUmVmZXJlbmNlKHZhbCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBGb3JtKCk6IEZvcm1Nb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb3JtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdoZW4gYW55IGZvcm0gaXMgYmVpbmcgZWRpdGVkXG4gICAgICovXG4gICAgcHVibGljIEZvcm1Jc0RpcnR5OiBTdWJqZWN0PGJvb2xlYW4+O1xuXG4gICAgcHJvdGVjdGVkIGZvcm1zOiBBcnJheTxGb3JtTW9kZWw+O1xuXG4gICAgLyoqXG4gICAgICogU3RvcmFnZSByZWZlcmVuY2UgZm9yIGludGlhbCBmb3JtIHZhbHVlc1xuICAgICAqL1xuICAgIC8vIHB1YmxpYyBmb3Jtc0luaXRpYWxWYWx1ZXM6IEFycmF5PEZvcm1Nb2RlbD47XG4gICAgcHJvdGVjdGVkIHByZXZpb3VzRm9ybVZhbHVlczogQXJyYXk8Rm9ybVZhbHVlc01vZGVsPjtcblxuICAgIC8qKlxuICAgICAqIFxuICAgICAqIEBwYXJhbSB2YWwgYXMgc3RyaW5nIC0gZW5hYmxlZCBmb3JtIG5hbWVcbiAgICAgKiBAcGFyYW0gdmFsIGFzIGJvb2xlbiAtIGVuYWJsZS9kaXNhYmxlIGFsbCBmb3Jtc1xuICAgICAqIFxuICAgICAqIEVuYWJsZSAvIGRpc2FibGUgZm9ybXMsIHVzZSB0aGlzIHdoZW4gYSBmb3JtIGlzIGJlaW5nIGVkaXRlZCBhbmQgXG4gICAgICogYWxsIG90aGVyIGZvcm1zIG5lZWQgdG8gYmUgZGlzYWJsZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgRGlzYWJsZUZvcm1zKHZhbDogc3RyaW5nIHwgYm9vbGVhbik6IHZvaWQge1xuXG4gICAgICAgIGNvbnN0IHByZXZlbnRFdmVudDoge29ubHlTZWxmOiBib29sZWFuLCBlbWl0RXZlbnQ6IGJvb2xlYW59ID0geyBvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZSB9O1xuXG4gICAgICAgIHRoaXMuZm9ybXMuZm9yRWFjaCgoZm9ybTogRm9ybU1vZGVsKSA9PiB7XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgICAgICB2YWwgPyBmb3JtLkZvcm0uZGlzYWJsZShwcmV2ZW50RXZlbnQpIDogZm9ybS5Gb3JtLmVuYWJsZShwcmV2ZW50RXZlbnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoZm9ybS5JZCA9PT0gdmFsKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvcm0uRm9ybS5lbmFibGUocHJldmVudEV2ZW50KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBmb3JtLkZvcm0uZGlzYWJsZShwcmV2ZW50RXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSByZWZlcmVuY2Ugb2YgaW5pdGlhbCBmb3JtIGRhdGFcbiAgICAgKiBVc2UgdGhpcyB0byBjb21wYXJlIGlmIHZhbHVlcyByZWFsbHkgY2hhbmdlZCwgYmVjYXVzZVxuICAgICAqIHRoZSB1c2VyIGNvdWxkIGNoYW5nZSB2YWx1ZXMgYmFjayB0byB0aGUgb3JpZ2luYWxcbiAgICAgKlxuICAgICAqIEBwYXJhbSBvYmogZm9ybSBkYXRhXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVZhbHVlc1JlZmVyZW5jZSh2YWw6IEZvcm1Nb2RlbCk6IHZvaWQge1xuXG4gICAgICAgIC8vIGNvbnN0IHZhbHVlczogQXJyYXk8e2tleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nfT4gPSBbXTtcbiAgICAgICAgY29uc3Qga2V5VmFsdWVzOiBvYmplY3QgPSB7fTtcblxuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh2YWwuRm9ybS5jb250cm9scykpIHtcblxuICAgICAgICAgICAgLy8gdmFsdWVzLnB1c2goe2tleSwgdmFsdWU6IHZhbHVlLnZhbHVlfSk7XG4gICAgICAgICAgICBrZXlWYWx1ZXNba2V5XSA9IHZhbHVlLnZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGhpcy5mb3Jtc1ZhbHVlcy5wdXNoKG5ldyBGb3JtVmFsdWVzTW9kZWwodmFsLklkLCB2YWwuRm9ybS52YWx1ZSkpO1xuICAgICAgICB0aGlzLnByZXZpb3VzRm9ybVZhbHVlcy5wdXNoKG5ldyBGb3JtVmFsdWVzTW9kZWwodmFsLklkLCBrZXlWYWx1ZXMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgdmFsdWUgcmVmZXJlbmNlIGFmdGVyIHNhdmVzXG4gICAgICogXG4gICAgICogQHBhcmFtIHZhbCBmb3JtIG1vZGVsIHdpdGggdmFsdWVzXG4gICAgICovXG4gICAgcHVibGljIFVwZGF0ZVZhbHVlc1JlZmVyZW5jZSh2YWw6IEZvcm1Nb2RlbCk6IHZvaWQge1xuXG4gICAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLnByZXZpb3VzRm9ybVZhbHVlcy5maW5kSW5kZXgoKHg6IEZvcm1WYWx1ZXNNb2RlbCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHguSWQgPT09IHZhbC5JZDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5wcmV2aW91c0Zvcm1WYWx1ZXNbaW5kZXhdLlZhbHVlcyA9IHZhbC5Gb3JtLnZhbHVlO1xuXG4gICAgICAgIC8vIFRPRE86IGxvb2sgYXQgY29uc29saWRhdGluZyB1cGRhdGluZyB0aGlzLmZvcm1zIGFuZCB0aGlzLnByZXZpb3VzRm9ybVZhbHVlcyAtIHNoYW5ub24gKDctMTQtMjEpXG4gICAgICAgIGNvbnN0IGZvcm1JbmRleDogbnVtYmVyID0gdGhpcy5mb3Jtcy5maW5kSW5kZXgoKHg6IEZvcm1Nb2RlbCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHguSWQgPT09IHZhbC5JZDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5mb3Jtc1tmb3JtSW5kZXhdID0gdmFsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlc2V0IGZvcm0gdmFsdWVzIGJhY2sgdG8gcHJldmlvdXMgXG4gICAgICogXG4gICAgICogQHBhcmFtIGlkIGZvcm0gaWRcbiAgICAgKi9cbiAgICBwdWJsaWMgUmVzZXRGb3JtVmFsdWVzKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3Jtcy5maW5kKChmb3JtOiBGb3JtTW9kZWwpID0+IHtcbiAgICAgICAgICAgIGlmIChmb3JtLklkID09PSBpZCkge1xuICAgICAgICAgICAgICAgIGZvcm0uRm9ybS5wYXRjaFZhbHVlKHRoaXMuR2V0UHJldmlvdXNGb3JtVmFsdWVzKGlkKS5WYWx1ZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gaWQgZm9ybSBpZCB0byBzZWFyY2ggZm9yXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBwcmV2aW91cyBmb3JtIHZhbHVlc1xuICAgICAqL1xuICAgIHB1YmxpYyBHZXRQcmV2aW91c0Zvcm1WYWx1ZXMoaWQ6IHN0cmluZyk6IEZvcm1WYWx1ZXNNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZXZpb3VzRm9ybVZhbHVlcy5maW5kKCh4OiBGb3JtVmFsdWVzTW9kZWwpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB4LklkID09PSBpZDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgZm9yIGFjdHVhbCBmb3JtIGNoYW5nZXMsIGJlY2F1c2UgdGhlIHVzZXJcbiAgICAgKiBjb3VsZCBoYXZlIGNhbmNlbGVkIG9yIGNoYW5nZWQgdGhlIHZhbHVlIGJhY2sgdG8gdGhlXG4gICAgICogb3JpZ2luYWxcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZCBmb3JtIGlkXG4gICAgICogQHBhcmFtIGZvcm1Ub0NoZWNrIGZvcm0gdG8gYmUgdGVzdGVkXG4gICAgICovXG4gICAgcHVibGljIEZvclJlYWxUaG91Z2goaWQ6IHN0cmluZywgZm9ybVRvQ2hlY2s6IEZvcm1Hcm91cCk6IGJvb2xlYW4ge1xuXG4gICAgICAgIGNvbnN0IGZvcm1WYWxzOiBGb3JtVmFsdWVzTW9kZWwgPSB0aGlzLnByZXZpb3VzRm9ybVZhbHVlcy5maW5kKCh4OiBGb3JtVmFsdWVzTW9kZWwpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB4LklkID09PSBpZDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gZm9ybVRvQ2hlY2suY29udHJvbHMpIHtcbiAgICAgICAgICAgIGlmIChmb3JtVG9DaGVjay5jb250cm9sc1trZXldLnZhbHVlICE9PSBmb3JtVmFscy5WYWx1ZXNba2V5XSkge1xuICAgICAgICAgICAgICAgIHRoaXMuRm9ybUlzRGlydHkubmV4dCh0cnVlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuRm9ybUlzRGlydHkubmV4dChmYWxzZSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5mb3JtcyA9IFtdO1xuICAgICAgICB0aGlzLnByZXZpb3VzRm9ybVZhbHVlcyA9IFtdO1xuICAgICAgICB0aGlzLkZvcm1Jc0RpcnR5ID0gbmV3IFN1YmplY3QoKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,77 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { DAFService } from '@lcu/common';
3
+ import { map } from 'rxjs/operators';
4
+ import { Observable } from 'rxjs';
5
+ import { HttpClient } from '@angular/common/http';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common/http";
8
+ export class NPMService extends DAFService {
9
+ // Properties
10
+ // Constructors
11
+ constructor(injector, handler) {
12
+ super(injector);
13
+ this.injector = injector;
14
+ this.http = new HttpClient(handler);
15
+ }
16
+ // API Methods
17
+ Search(search) {
18
+ if (search) {
19
+ return this.http.get(`https://api.npms.io/v2/search?q=${search}`).pipe(this.catchError(), map((res) => {
20
+ return {
21
+ Status: {
22
+ Code: 0,
23
+ Message: 'Success',
24
+ },
25
+ Model: {
26
+ TotalRecords: res.total,
27
+ Items: res.results,
28
+ },
29
+ };
30
+ }));
31
+ }
32
+ else {
33
+ return Observable.create((obs) => {
34
+ obs.next({
35
+ Status: {
36
+ Code: 0,
37
+ Message: 'Success',
38
+ },
39
+ });
40
+ obs.complete();
41
+ });
42
+ }
43
+ }
44
+ Versions(npmPkg) {
45
+ if (npmPkg) {
46
+ return this.http.get(`https://registry.npmjs.org/${npmPkg}`).pipe(this.catchError(), map((res) => {
47
+ return {
48
+ Status: {
49
+ Code: 0,
50
+ Message: 'Success',
51
+ },
52
+ Model: res,
53
+ };
54
+ }));
55
+ }
56
+ else {
57
+ return new Observable((obs) => {
58
+ obs.next({
59
+ Status: {
60
+ Code: 0,
61
+ Message: 'Success',
62
+ },
63
+ });
64
+ obs.complete();
65
+ });
66
+ }
67
+ }
68
+ }
69
+ NPMService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: NPMService, deps: [{ token: i0.Injector }, { token: i1.HttpBackend }], target: i0.ɵɵFactoryTarget.Injectable });
70
+ NPMService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: NPMService, providedIn: 'root' });
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: NPMService, decorators: [{
72
+ type: Injectable,
73
+ args: [{
74
+ providedIn: 'root',
75
+ }]
76
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.HttpBackend }]; } });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9ucG0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQWlDLE1BQU0sYUFBYSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBSy9ELE1BQU0sT0FBTyxVQUFXLFNBQVEsVUFBVTtJQUN4QyxjQUFjO0lBRWQsZ0JBQWdCO0lBQ2hCLFlBQXNCLFFBQWtCLEVBQUUsT0FBb0I7UUFDNUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBREksYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUd0QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxlQUFlO0lBQ1IsTUFBTSxDQUNYLE1BQWM7UUFFZCxJQUFJLE1BQU0sRUFBRTtZQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsbUNBQW1DLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNwRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQ2pCLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNmLE9BQTJDO29CQUN6QyxNQUFNLEVBQUU7d0JBQ04sSUFBSSxFQUFFLENBQUM7d0JBQ1AsT0FBTyxFQUFFLFNBQVM7cUJBQ25CO29CQUNELEtBQUssRUFBRTt3QkFDTCxZQUFZLEVBQUUsR0FBRyxDQUFDLEtBQUs7d0JBQ3ZCLEtBQUssRUFBRSxHQUFHLENBQUMsT0FBTztxQkFDbkI7aUJBQ0YsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7U0FDSDthQUFNO1lBQ0wsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ3BDLEdBQUcsQ0FBQyxJQUFJLENBQXFDO29CQUMzQyxNQUFNLEVBQUU7d0JBQ04sSUFBSSxFQUFFLENBQUM7d0JBQ1AsT0FBTyxFQUFFLFNBQVM7cUJBQ25CO2lCQUNGLENBQUMsQ0FBQztnQkFFSCxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxRQUFRLENBQ2IsTUFBYztRQUVkLElBQUksTUFBTSxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQy9ELElBQUksQ0FBQyxVQUFVLEVBQUUsRUFDakIsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2YsT0FBaUM7b0JBQy9CLE1BQU0sRUFBRTt3QkFDTixJQUFJLEVBQUUsQ0FBQzt3QkFDUCxPQUFPLEVBQUUsU0FBUztxQkFDbkI7b0JBQ0QsS0FBSyxFQUFFLEdBQUc7aUJBQ1gsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7U0FDSDthQUFNO1lBQ0wsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQyxHQUFHLENBQUMsSUFBSSxDQUFxQztvQkFDM0MsTUFBTSxFQUFFO3dCQUNOLElBQUksRUFBRSxDQUFDO3dCQUNQLE9BQU8sRUFBRSxTQUFTO3FCQUNuQjtpQkFDRixDQUFDLENBQUM7Z0JBRUgsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzt1R0F4RVUsVUFBVTsyR0FBVixVQUFVLGNBRlQsTUFBTTsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEQUZTZXJ2aWNlLCBCYXNlTW9kZWxlZFJlc3BvbnNlLCBQYWdlYWJsZSB9IGZyb20gJ0BsY3UvY29tbW9uJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBCYWNrZW5kIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTlBNU2VydmljZSBleHRlbmRzIERBRlNlcnZpY2Uge1xuICAvLyAgUHJvcGVydGllc1xuXG4gIC8vICBDb25zdHJ1Y3RvcnNcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvciwgaGFuZGxlcjogSHR0cEJhY2tlbmQpIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG5cbiAgICB0aGlzLmh0dHAgPSBuZXcgSHR0cENsaWVudChoYW5kbGVyKTtcbiAgfVxuXG4gIC8vICBBUEkgTWV0aG9kc1xuICBwdWJsaWMgU2VhcmNoKFxuICAgIHNlYXJjaDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8QmFzZU1vZGVsZWRSZXNwb25zZTxQYWdlYWJsZTxhbnk+Pj4ge1xuICAgIGlmIChzZWFyY2gpIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGBodHRwczovL2FwaS5ucG1zLmlvL3YyL3NlYXJjaD9xPSR7c2VhcmNofWApLnBpcGUoXG4gICAgICAgIHRoaXMuY2F0Y2hFcnJvcigpLFxuICAgICAgICBtYXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIDxCYXNlTW9kZWxlZFJlc3BvbnNlPFBhZ2VhYmxlPGFueT4+PntcbiAgICAgICAgICAgIFN0YXR1czoge1xuICAgICAgICAgICAgICBDb2RlOiAwLFxuICAgICAgICAgICAgICBNZXNzYWdlOiAnU3VjY2VzcycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgTW9kZWw6IHtcbiAgICAgICAgICAgICAgVG90YWxSZWNvcmRzOiByZXMudG90YWwsXG4gICAgICAgICAgICAgIEl0ZW1zOiByZXMucmVzdWx0cyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgob2JzOiBhbnkpID0+IHtcbiAgICAgICAgb2JzLm5leHQoPEJhc2VNb2RlbGVkUmVzcG9uc2U8UGFnZWFibGU8YW55Pj4+e1xuICAgICAgICAgIFN0YXR1czoge1xuICAgICAgICAgICAgQ29kZTogMCxcbiAgICAgICAgICAgIE1lc3NhZ2U6ICdTdWNjZXNzJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICBvYnMuY29tcGxldGUoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBWZXJzaW9ucyhcbiAgICBucG1Qa2c6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPEJhc2VNb2RlbGVkUmVzcG9uc2U8UGFnZWFibGU8YW55Pj4+IHtcbiAgICBpZiAobnBtUGtnKSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldChgaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvJHtucG1Qa2d9YCkucGlwZShcbiAgICAgICAgdGhpcy5jYXRjaEVycm9yKCksXG4gICAgICAgIG1hcCgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gPEJhc2VNb2RlbGVkUmVzcG9uc2U8YW55Pj57XG4gICAgICAgICAgICBTdGF0dXM6IHtcbiAgICAgICAgICAgICAgQ29kZTogMCxcbiAgICAgICAgICAgICAgTWVzc2FnZTogJ1N1Y2Nlc3MnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIE1vZGVsOiByZXMsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzOiBhbnkpID0+IHtcbiAgICAgICAgb2JzLm5leHQoPEJhc2VNb2RlbGVkUmVzcG9uc2U8UGFnZWFibGU8YW55Pj4+e1xuICAgICAgICAgIFN0YXR1czoge1xuICAgICAgICAgICAgQ29kZTogMCxcbiAgICAgICAgICAgIE1lc3NhZ2U6ICdTdWNjZXNzJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICBvYnMuY29tcGxldGUoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8vICBIZWxwZXJzXG59XG4iXX0=