@lowcodeunit/applications-flow-common 1.33.91-angular-13 → 1.33.97-lets-get-social-ish

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 (245) hide show
  1. package/bundles/lowcodeunit-applications-flow-common.umd.js +5782 -0
  2. package/bundles/lowcodeunit-applications-flow-common.umd.js.map +1 -0
  3. package/bundles/lowcodeunit-applications-flow-common.umd.min.js +16 -0
  4. package/bundles/lowcodeunit-applications-flow-common.umd.min.js.map +1 -0
  5. package/esm2015/lcu.api.js +27 -0
  6. package/esm2015/lib/applications-flow.module.js +196 -0
  7. package/esm2015/lib/controls/build-pipeline-form/build-pipeline-form.component.js +15 -0
  8. package/esm2015/lib/controls/devops-source-control-form/devops-source-control-form.component.js +15 -0
  9. package/esm2015/lib/controls/processor-details-form/processor-details-form.component.js +265 -0
  10. package/esm2015/lib/controls/security-toggle/security-toggle.component.js +60 -0
  11. package/esm2015/lib/controls/source-control-form/source-control-form.component.js +59 -0
  12. package/esm2015/lib/elements/analytics-card/analytics-card.component.js +21 -0
  13. package/esm2015/lib/elements/base-form/base-form.component.js +61 -0
  14. package/esm2015/lib/elements/card-carousel/card-carousel.component.js +67 -0
  15. package/esm2015/lib/elements/column-info-card/column-info-card.component.js +31 -0
  16. package/esm2015/lib/elements/dynamic-tabs/dynamic-tabs.component.js +69 -0
  17. package/esm2015/lib/elements/feed-card-sm/feed-card-sm.component.js +31 -0
  18. package/esm2015/lib/elements/form-card/form-card.component.js +22 -0
  19. package/esm2015/lib/elements/gh-control/gh-control.component.js +72 -0
  20. package/esm2015/lib/elements/main-feed-card/main-feed-card.component.js +24 -0
  21. package/esm2015/lib/elements/project-info-card/project-info-card.component.js +32 -0
  22. package/esm2015/lib/elements/projects/controls/builds/builds.component.js +26 -0
  23. package/esm2015/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.js +145 -0
  24. package/esm2015/lib/elements/projects/controls/forms/source-control/source-control.component.js +262 -0
  25. package/esm2015/lib/elements/projects/controls/git-auth/git-auth.component.js +25 -0
  26. package/esm2015/lib/elements/projects/controls/header/header.component.js +75 -0
  27. package/esm2015/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.js +102 -0
  28. package/esm2015/lib/elements/projects/controls/project-items/project-items.component.js +49 -0
  29. package/esm2015/lib/elements/projects/controls/project-tabs/project-tabs.component.js +91 -0
  30. package/esm2015/lib/elements/projects/controls/recent-activities/recent-activities.component.js +15 -0
  31. package/esm2015/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.js +590 -0
  32. package/esm2015/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.js +62 -0
  33. package/esm2015/lib/elements/projects/controls/tabs/devops/devops.component.js +202 -0
  34. package/esm2015/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.js +178 -0
  35. package/esm2015/lib/elements/projects/controls/tabs/domains/domains.component.js +133 -0
  36. package/esm2015/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.js +86 -0
  37. package/esm2015/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.js +129 -0
  38. package/esm2015/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.js +113 -0
  39. package/esm2015/lib/elements/projects/controls/tabs/general/general.component.js +46 -0
  40. package/esm2015/lib/elements/projects/projects.component.js +99 -0
  41. package/esm2015/lib/elements/slotted-card/slotted-card.component.js +27 -0
  42. package/esm2015/lib/elements/three-column/three-column.component.js +32 -0
  43. package/esm2015/lib/elements/two-column-header/two-column-header.component.js +15 -0
  44. package/esm2015/lib/models/actions.model.js +3 -0
  45. package/esm2015/lib/models/base-form-config.model.js +6 -0
  46. package/esm2015/lib/models/card-form-config.model.js +6 -0
  47. package/esm2015/lib/models/card-slot.model.js +3 -0
  48. package/esm2015/lib/models/dev-settings-preset.model.js +3 -0
  49. package/esm2015/lib/models/domain.model.js +3 -0
  50. package/esm2015/lib/models/dynamic-tabs.model.js +6 -0
  51. package/esm2015/lib/models/form-actions.model.js +3 -0
  52. package/esm2015/lib/models/form.model.js +6 -0
  53. package/esm2015/lib/models/form.values.model.js +11 -0
  54. package/esm2015/lib/models/project-actions.model.js +6 -0
  55. package/esm2015/lib/models/slot-action.model.js +3 -0
  56. package/esm2015/lib/services/applications-flow.service.js +136 -0
  57. package/esm2015/lib/services/eac.service.js +217 -0
  58. package/esm2015/lib/services/forms.service.js +131 -0
  59. package/esm2015/lib/services/npm.service.js +79 -0
  60. package/esm2015/lib/services/project.service.js +318 -0
  61. package/esm2015/lib/state/applications-flow-state.context.js +37 -0
  62. package/esm2015/lib/state/applications-flow.state.js +72 -0
  63. package/esm2015/lowcodeunit-applications-flow-common.js +34 -0
  64. package/fesm2015/lowcodeunit-applications-flow-common.js +4416 -0
  65. package/fesm2015/lowcodeunit-applications-flow-common.js.map +1 -0
  66. package/lcu.api.d.ts +3 -28
  67. package/lcu.api.d.ts.map +1 -0
  68. package/lib/applications-flow.module.d.ts +1 -39
  69. package/lib/applications-flow.module.d.ts.map +1 -0
  70. package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts +6 -0
  71. package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts.map +1 -0
  72. package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts +6 -0
  73. package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts.map +1 -0
  74. package/lib/controls/processor-details-form/processor-details-form.component.d.ts +48 -0
  75. package/lib/controls/processor-details-form/processor-details-form.component.d.ts.map +1 -0
  76. package/lib/controls/security-toggle/security-toggle.component.d.ts +16 -0
  77. package/lib/controls/security-toggle/security-toggle.component.d.ts.map +1 -0
  78. package/lib/controls/source-control-form/source-control-form.component.d.ts +26 -0
  79. package/lib/controls/source-control-form/source-control-form.component.d.ts.map +1 -0
  80. package/lib/elements/analytics-card/analytics-card.component.d.ts +1 -3
  81. package/lib/elements/analytics-card/analytics-card.component.d.ts.map +1 -0
  82. package/lib/elements/base-form/base-form.component.d.ts +4 -6
  83. package/lib/elements/base-form/base-form.component.d.ts.map +1 -0
  84. package/lib/elements/card-carousel/card-carousel.component.d.ts +14 -0
  85. package/lib/elements/card-carousel/card-carousel.component.d.ts.map +1 -0
  86. package/lib/elements/column-info-card/column-info-card.component.d.ts +1 -3
  87. package/lib/elements/column-info-card/column-info-card.component.d.ts.map +1 -0
  88. package/lib/elements/dynamic-tabs/dynamic-tabs.component.d.ts +1 -3
  89. package/lib/elements/dynamic-tabs/dynamic-tabs.component.d.ts.map +1 -0
  90. package/lib/elements/feed-card-sm/feed-card-sm.component.d.ts +1 -3
  91. package/lib/elements/feed-card-sm/feed-card-sm.component.d.ts.map +1 -0
  92. package/lib/elements/form-card/form-card.component.d.ts +1 -3
  93. package/lib/elements/form-card/form-card.component.d.ts.map +1 -0
  94. package/lib/elements/gh-control/gh-control.component.d.ts +1 -3
  95. package/lib/elements/gh-control/gh-control.component.d.ts.map +1 -0
  96. package/lib/elements/main-feed-card/main-feed-card.component.d.ts +1 -3
  97. package/lib/elements/main-feed-card/main-feed-card.component.d.ts.map +1 -0
  98. package/lib/elements/project-info-card/project-info-card.component.d.ts +1 -3
  99. package/lib/elements/project-info-card/project-info-card.component.d.ts.map +1 -0
  100. package/lib/elements/projects/controls/builds/builds.component.d.ts +2 -6
  101. package/lib/elements/projects/controls/builds/builds.component.d.ts.map +1 -0
  102. package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts +4 -6
  103. package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts.map +1 -0
  104. package/lib/elements/projects/controls/forms/source-control/source-control.component.d.ts +2 -6
  105. package/lib/elements/projects/controls/forms/source-control/source-control.component.d.ts.map +1 -0
  106. package/lib/elements/projects/controls/git-auth/git-auth.component.d.ts +1 -3
  107. package/lib/elements/projects/controls/git-auth/git-auth.component.d.ts.map +1 -0
  108. package/lib/elements/projects/controls/header/header.component.d.ts +4 -6
  109. package/lib/elements/projects/controls/header/header.component.d.ts.map +1 -0
  110. package/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts +1 -3
  111. package/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts.map +1 -0
  112. package/lib/elements/projects/controls/project-items/project-items.component.d.ts +4 -6
  113. package/lib/elements/projects/controls/project-items/project-items.component.d.ts.map +1 -0
  114. package/lib/elements/projects/controls/project-tabs/project-tabs.component.d.ts +1 -3
  115. package/lib/elements/projects/controls/project-tabs/project-tabs.component.d.ts.map +1 -0
  116. package/lib/elements/projects/controls/recent-activities/recent-activities.component.d.ts +1 -3
  117. package/lib/elements/projects/controls/recent-activities/recent-activities.component.d.ts.map +1 -0
  118. package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts +4 -6
  119. package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts.map +1 -0
  120. package/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.d.ts +1 -3
  121. package/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.d.ts.map +1 -0
  122. package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts +4 -6
  123. package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts.map +1 -0
  124. package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts +4 -6
  125. package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts.map +1 -0
  126. package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts +4 -6
  127. package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts.map +1 -0
  128. package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts +4 -6
  129. package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts.map +1 -0
  130. package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts +4 -6
  131. package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts.map +1 -0
  132. package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts +4 -6
  133. package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts.map +1 -0
  134. package/lib/elements/projects/controls/tabs/general/general.component.d.ts +1 -3
  135. package/lib/elements/projects/controls/tabs/general/general.component.d.ts.map +1 -0
  136. package/lib/elements/projects/projects.component.d.ts +5 -14
  137. package/lib/elements/projects/projects.component.d.ts.map +1 -0
  138. package/lib/elements/slotted-card/slotted-card.component.d.ts +2 -3
  139. package/lib/elements/slotted-card/slotted-card.component.d.ts.map +1 -0
  140. package/lib/elements/three-column/three-column.component.d.ts +1 -3
  141. package/lib/elements/three-column/three-column.component.d.ts.map +1 -0
  142. package/lib/elements/two-column-header/two-column-header.component.d.ts +1 -3
  143. package/lib/elements/two-column-header/two-column-header.component.d.ts.map +1 -0
  144. package/lib/models/actions.model.d.ts +1 -0
  145. package/lib/models/actions.model.d.ts.map +1 -0
  146. package/lib/models/base-form-config.model.d.ts +1 -0
  147. package/lib/models/base-form-config.model.d.ts.map +1 -0
  148. package/lib/models/card-form-config.model.d.ts +1 -0
  149. package/lib/models/card-form-config.model.d.ts.map +1 -0
  150. package/lib/models/card-slot.model.d.ts +1 -0
  151. package/lib/models/card-slot.model.d.ts.map +1 -0
  152. package/lib/models/dev-settings-preset.model.d.ts +1 -0
  153. package/lib/models/dev-settings-preset.model.d.ts.map +1 -0
  154. package/lib/models/domain.model.d.ts +1 -0
  155. package/lib/models/domain.model.d.ts.map +1 -0
  156. package/lib/models/dynamic-tabs.model.d.ts +1 -0
  157. package/lib/models/dynamic-tabs.model.d.ts.map +1 -0
  158. package/lib/models/form-actions.model.d.ts +1 -0
  159. package/lib/models/form-actions.model.d.ts.map +1 -0
  160. package/lib/models/form.model.d.ts +1 -0
  161. package/lib/models/form.model.d.ts.map +1 -0
  162. package/lib/models/form.values.model.d.ts +1 -0
  163. package/lib/models/form.values.model.d.ts.map +1 -0
  164. package/lib/models/project-actions.model.d.ts +1 -0
  165. package/lib/models/project-actions.model.d.ts.map +1 -0
  166. package/lib/models/slot-action.model.d.ts +1 -0
  167. package/lib/models/slot-action.model.d.ts.map +1 -0
  168. package/lib/services/applications-flow.service.d.ts +1 -3
  169. package/lib/services/applications-flow.service.d.ts.map +1 -0
  170. package/lib/services/eac.service.d.ts +54 -0
  171. package/lib/services/eac.service.d.ts.map +1 -0
  172. package/lib/services/forms.service.d.ts +1 -3
  173. package/lib/services/forms.service.d.ts.map +1 -0
  174. package/lib/services/npm.service.d.ts +1 -3
  175. package/lib/services/npm.service.d.ts.map +1 -0
  176. package/lib/services/project.service.d.ts +1 -3
  177. package/lib/services/project.service.d.ts.map +1 -0
  178. package/lib/state/applications-flow-state.context.d.ts +1 -3
  179. package/lib/state/applications-flow-state.context.d.ts.map +1 -0
  180. package/lib/state/applications-flow.state.d.ts +1 -0
  181. package/lib/state/applications-flow.state.d.ts.map +1 -0
  182. package/lowcodeunit-applications-flow-common.d.ts +30 -1
  183. package/lowcodeunit-applications-flow-common.d.ts.map +1 -0
  184. package/lowcodeunit-applications-flow-common.metadata.json +1 -0
  185. package/package.json +12 -20
  186. package/esm2020/lcu.api.mjs +0 -53
  187. package/esm2020/lib/applications-flow.module.mjs +0 -248
  188. package/esm2020/lib/elements/analytics-card/analytics-card.component.mjs +0 -28
  189. package/esm2020/lib/elements/base-form/base-form.component.mjs +0 -57
  190. package/esm2020/lib/elements/column-info-card/column-info-card.component.mjs +0 -50
  191. package/esm2020/lib/elements/dynamic-tabs/dynamic-tabs.component.mjs +0 -74
  192. package/esm2020/lib/elements/feed-card-sm/feed-card-sm.component.mjs +0 -40
  193. package/esm2020/lib/elements/flow-tool/flow-tool.component.mjs +0 -73
  194. package/esm2020/lib/elements/form-card/form-card.component.mjs +0 -33
  195. package/esm2020/lib/elements/gh-control/gh-control.component.mjs +0 -78
  196. package/esm2020/lib/elements/main-feed-card/main-feed-card.component.mjs +0 -34
  197. package/esm2020/lib/elements/project-info-card/project-info-card.component.mjs +0 -46
  198. package/esm2020/lib/elements/projects/controls/builds/builds.component.mjs +0 -35
  199. package/esm2020/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.mjs +0 -145
  200. package/esm2020/lib/elements/projects/controls/forms/source-control/source-control.component.mjs +0 -287
  201. package/esm2020/lib/elements/projects/controls/git-auth/git-auth.component.mjs +0 -26
  202. package/esm2020/lib/elements/projects/controls/header/header.component.mjs +0 -83
  203. package/esm2020/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.mjs +0 -118
  204. package/esm2020/lib/elements/projects/controls/project-items/project-items.component.mjs +0 -54
  205. package/esm2020/lib/elements/projects/controls/project-tabs/project-tabs.component.mjs +0 -103
  206. package/esm2020/lib/elements/projects/controls/recent-activities/recent-activities.component.mjs +0 -14
  207. package/esm2020/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.mjs +0 -563
  208. package/esm2020/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.mjs +0 -72
  209. package/esm2020/lib/elements/projects/controls/tabs/devops/devops.component.mjs +0 -242
  210. package/esm2020/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.mjs +0 -179
  211. package/esm2020/lib/elements/projects/controls/tabs/domains/domains.component.mjs +0 -137
  212. package/esm2020/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.mjs +0 -90
  213. package/esm2020/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.mjs +0 -142
  214. package/esm2020/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.mjs +0 -124
  215. package/esm2020/lib/elements/projects/controls/tabs/general/general.component.mjs +0 -40
  216. package/esm2020/lib/elements/projects/projects.component.mjs +0 -218
  217. package/esm2020/lib/elements/slotted-card/slotted-card.component.mjs +0 -40
  218. package/esm2020/lib/elements/three-column/three-column.component.mjs +0 -30
  219. package/esm2020/lib/elements/two-column-header/two-column-header.component.mjs +0 -15
  220. package/esm2020/lib/models/actions.model.mjs +0 -3
  221. package/esm2020/lib/models/base-form-config.model.mjs +0 -6
  222. package/esm2020/lib/models/card-form-config.model.mjs +0 -6
  223. package/esm2020/lib/models/card-slot.model.mjs +0 -3
  224. package/esm2020/lib/models/dev-settings-preset.model.mjs +0 -3
  225. package/esm2020/lib/models/domain.model.mjs +0 -3
  226. package/esm2020/lib/models/dynamic-tabs.model.mjs +0 -6
  227. package/esm2020/lib/models/form-actions.model.mjs +0 -3
  228. package/esm2020/lib/models/form.model.mjs +0 -6
  229. package/esm2020/lib/models/form.values.model.mjs +0 -11
  230. package/esm2020/lib/models/project-actions.model.mjs +0 -6
  231. package/esm2020/lib/models/slot-action.model.mjs +0 -3
  232. package/esm2020/lib/services/applications-flow-events.service.mjs +0 -84
  233. package/esm2020/lib/services/applications-flow.service.mjs +0 -132
  234. package/esm2020/lib/services/forms.service.mjs +0 -132
  235. package/esm2020/lib/services/npm.service.mjs +0 -77
  236. package/esm2020/lib/services/project.service.mjs +0 -303
  237. package/esm2020/lib/state/applications-flow-state.context.mjs +0 -36
  238. package/esm2020/lib/state/applications-flow.state.mjs +0 -72
  239. package/esm2020/lowcodeunit-applications-flow-common.mjs +0 -5
  240. package/fesm2015/lowcodeunit-applications-flow-common.mjs +0 -4104
  241. package/fesm2015/lowcodeunit-applications-flow-common.mjs.map +0 -1
  242. package/fesm2020/lowcodeunit-applications-flow-common.mjs +0 -4048
  243. package/fesm2020/lowcodeunit-applications-flow-common.mjs.map +0 -1
  244. package/lib/elements/flow-tool/flow-tool.component.d.ts +0 -32
  245. package/lib/services/applications-flow-events.service.d.ts +0 -60
@@ -0,0 +1,265 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { FormBuilder, Validators } from '@angular/forms';
3
+ export class ProcessorDetailsFormComponent {
4
+ constructor(formBldr) {
5
+ this.formBldr = formBldr;
6
+ // this.EditingApplicationLookup = null;
7
+ this.redirectTooltip = '';
8
+ }
9
+ get BuildFormControl() {
10
+ var _a;
11
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.build;
12
+ }
13
+ get ClientIDFormControl() {
14
+ var _a;
15
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.clientId;
16
+ }
17
+ get DefaultFileFormControl() {
18
+ var _a;
19
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.defaultFile;
20
+ }
21
+ get InboundPathFormControl() {
22
+ var _a;
23
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.inboundPath;
24
+ }
25
+ get TokenLookupFormControl() {
26
+ var _a;
27
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.tokenLookup;
28
+ }
29
+ get RedirectFormControl() {
30
+ var _a;
31
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.redirect;
32
+ }
33
+ get ScopesFormControl() {
34
+ var _a;
35
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.scopes;
36
+ }
37
+ get SecurityFormControl() {
38
+ var _a;
39
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.security;
40
+ }
41
+ get SPARootFormControl() {
42
+ var _a;
43
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.spaRoot;
44
+ }
45
+ get PermanentFormControl() {
46
+ var _a;
47
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.permanent;
48
+ }
49
+ get PreserveMethodFormControl() {
50
+ var _a;
51
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.preserveMethod;
52
+ }
53
+ ngOnInit() {
54
+ this.setupProcessorDetailsForm();
55
+ }
56
+ DetermineTooltipText() {
57
+ let permanentValue = this.PermanentFormControl.value;
58
+ let preserveValue = this.PreserveMethodFormControl.value;
59
+ if (permanentValue === true && preserveValue === false) {
60
+ this.redirectTooltip = '301 – Permanent and Not Preserve';
61
+ }
62
+ else if (permanentValue === false && preserveValue === false) {
63
+ this.redirectTooltip = '302 – Not Permanent and Not Preserve';
64
+ }
65
+ else if (permanentValue === false && preserveValue === true) {
66
+ this.redirectTooltip = '307 – Not Permanent and Preserve';
67
+ }
68
+ else if (permanentValue === true && preserveValue === true) {
69
+ this.redirectTooltip = '308 – Permanent and Preserve';
70
+ }
71
+ }
72
+ SubmitProcessorDetails() {
73
+ }
74
+ ProcessorTypeChanged(event) {
75
+ this.ProcessorType = event.value;
76
+ this.setupProcessorTypeSubForm();
77
+ }
78
+ LCUTypeChanged(event) {
79
+ this.LCUType = event.value;
80
+ this.setupLcuTypeSubForm();
81
+ }
82
+ //HELPERS
83
+ cleanupLcuTypeSubForm() {
84
+ this.ProcessorDetailsFormGroup.removeControl('methods');
85
+ this.ProcessorDetailsFormGroup.removeControl('apiRoot');
86
+ this.ProcessorDetailsFormGroup.removeControl('security');
87
+ this.ProcessorDetailsFormGroup.removeControl('spaRoot');
88
+ this.ProcessorDetailsFormGroup.removeControl('applicationId');
89
+ this.ProcessorDetailsFormGroup.removeControl('build');
90
+ this.ProcessorDetailsFormGroup.removeControl('clientId');
91
+ this.ProcessorDetailsFormGroup.removeControl('clientSecret');
92
+ this.ProcessorDetailsFormGroup.removeControl('zipFile');
93
+ }
94
+ cleanupProcessorTypeSubForm() {
95
+ this.ProcessorDetailsFormGroup.removeControl('defaultFile');
96
+ // this.ApplicationFormGroup.removeControl('dfsLcuType');
97
+ // this.ApplicationFormGroup.removeControl('oauthLcuType');
98
+ this.ProcessorDetailsFormGroup.removeControl('scopes');
99
+ this.ProcessorDetailsFormGroup.removeControl('tokenLookup');
100
+ this.ProcessorDetailsFormGroup.removeControl('inboundPath');
101
+ this.ProcessorDetailsFormGroup.removeControl('proxyLcuType');
102
+ this.ProcessorDetailsFormGroup.removeControl('redirect');
103
+ this.ProcessorDetailsFormGroup.removeControl('permanent');
104
+ this.ProcessorDetailsFormGroup.removeControl('preserveMethod');
105
+ this.cleanupLcuTypeSubForm();
106
+ }
107
+ setupLcuTypeSubForm() {
108
+ this.cleanupLcuTypeSubForm();
109
+ // this.ApplicationFormGroup.removeControl('package');
110
+ // this.ApplicationFormGroup.removeControl('version');
111
+ if (this.LCUType) {
112
+ switch (this.LCUType) {
113
+ case 'API':
114
+ this.setupLCUAPIForm();
115
+ break;
116
+ case 'ApplicationPointer':
117
+ this.setupLCUApplicationPointerForm();
118
+ break;
119
+ case 'GitHub':
120
+ this.setupLCUGitHubForm();
121
+ break;
122
+ case 'GitHubOAuth':
123
+ this.setupLCUGitHubOAuthForm();
124
+ break;
125
+ // case 'NPM':
126
+ // this.setupLCUNPMForm();
127
+ // break;
128
+ case 'SPA':
129
+ this.setupLCUSPAForm();
130
+ break;
131
+ case 'Zip':
132
+ this.setupLCUZipForm();
133
+ break;
134
+ }
135
+ }
136
+ }
137
+ setupProcessorDetailsForm() {
138
+ var _a, _b, _c, _d, _e;
139
+ this.ProcessorType = ((_b = (_a = this.EditingApplication) === null || _a === void 0 ? void 0 : _a.Processor) === null || _b === void 0 ? void 0 : _b.Type) || '';
140
+ if (this.EditingApplication != null) {
141
+ this.ProcessorDetailsFormGroup = this.formBldr.group({
142
+ name: [(_c = this.EditingApplication.Application) === null || _c === void 0 ? void 0 : _c.Name, Validators.required],
143
+ description: [
144
+ (_d = this.EditingApplication.Application) === null || _d === void 0 ? void 0 : _d.Description,
145
+ Validators.required,
146
+ ],
147
+ route: [
148
+ ((_e = this.EditingApplication.LookupConfig) === null || _e === void 0 ? void 0 : _e.PathRegex.replace('.*', '')) ||
149
+ '/',
150
+ Validators.required,
151
+ ],
152
+ // priority: [
153
+ // this.EditingApplication.Application?.Priority || 10000,
154
+ // Validators.required,
155
+ // ],
156
+ procType: [this.ProcessorType, [Validators.required]],
157
+ });
158
+ }
159
+ }
160
+ setupLCUGitHubForm() {
161
+ var _a;
162
+ this.ProcessorDetailsFormGroup.addControl('build', this.formBldr.control(((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.Build) || 'latest', [Validators.required]));
163
+ }
164
+ setupLCUApplicationPointerForm() {
165
+ var _a;
166
+ this.ProcessorDetailsFormGroup.addControl('applicationId', this.formBldr.control(((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.ApplicationID) || '', [Validators.required]));
167
+ }
168
+ setupLCUNPMForm() {
169
+ // this.ApplicationFormGroup.addControl(
170
+ // 'package',
171
+ // this.formBldr.control(
172
+ // this.EditingApplication.LowCodeUnit?.Package || '',
173
+ // [Validators.required]
174
+ // )
175
+ // );
176
+ // this.ApplicationFormGroup.addControl(
177
+ // 'version',
178
+ // this.formBldr.control(
179
+ // this.EditingApplication.LowCodeUnit?.Version || '',
180
+ // [Validators.required]
181
+ // )
182
+ // );
183
+ }
184
+ setupLCUSPAForm() {
185
+ var _a;
186
+ this.ProcessorDetailsFormGroup.addControl('spaRoot', this.formBldr.control(((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.SPARoot) || '', [Validators.required]));
187
+ }
188
+ setupLCUAPIForm() {
189
+ var _a, _b, _c, _d;
190
+ this.ProcessorDetailsFormGroup.addControl('methods', this.formBldr.control(((_b = (_a = this.EditingApplication.LookupConfig) === null || _a === void 0 ? void 0 : _a.AllowedMethods) === null || _b === void 0 ? void 0 : _b.join(' ')) || '', []));
191
+ this.ProcessorDetailsFormGroup.addControl('apiRoot', this.formBldr.control(((_c = this.EditingApplication.LowCodeUnit) === null || _c === void 0 ? void 0 : _c.APIRoot) || '', [Validators.required]));
192
+ this.ProcessorDetailsFormGroup.addControl('security', this.formBldr.control(((_d = this.EditingApplication.LowCodeUnit) === null || _d === void 0 ? void 0 : _d.Security) || '', [Validators.required]));
193
+ }
194
+ setupLCUGitHubOAuthForm() {
195
+ var _a, _b;
196
+ this.ProcessorDetailsFormGroup.addControl('clientId', this.formBldr.control(((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.ClientID) || '', [Validators.required]));
197
+ this.ProcessorDetailsFormGroup.addControl('clientSecret', this.formBldr.control(((_b = this.EditingApplication.LowCodeUnit) === null || _b === void 0 ? void 0 : _b.ClientSecret) || '', [Validators.required]));
198
+ }
199
+ setupProxyForm() {
200
+ var _a, _b;
201
+ this.LCUType = ((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.Type) || '';
202
+ this.ProcessorDetailsFormGroup.addControl('inboundPath', this.formBldr.control(((_b = this.EditingApplication.Processor) === null || _b === void 0 ? void 0 : _b.InboundPath) || '', [Validators.required]));
203
+ this.ProcessorDetailsFormGroup.addControl('lcuType', this.formBldr.control(this.LCUType, [Validators.required]));
204
+ }
205
+ setupRedirectForm() {
206
+ var _a, _b, _c;
207
+ this.ProcessorDetailsFormGroup.addControl('redirect', this.formBldr.control(((_a = this.EditingApplication.Processor) === null || _a === void 0 ? void 0 : _a.Redirect) || '', [
208
+ Validators.required,
209
+ ]));
210
+ this.ProcessorDetailsFormGroup.addControl('permanent', this.formBldr.control(((_b = this.EditingApplication.Processor) === null || _b === void 0 ? void 0 : _b.Permanent) || false, []));
211
+ this.ProcessorDetailsFormGroup.addControl('preserveMethod', this.formBldr.control(((_c = this.EditingApplication.Processor) === null || _c === void 0 ? void 0 : _c.PreserveMethod) || false, []));
212
+ this.DetermineTooltipText();
213
+ }
214
+ setupOAuthForm() {
215
+ var _a, _b, _c, _d;
216
+ this.LCUType = ((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.Type) || '';
217
+ this.ProcessorDetailsFormGroup.addControl('scopes', this.formBldr.control(((_c = (_b = this.EditingApplication.Processor) === null || _b === void 0 ? void 0 : _b.Scopes) === null || _c === void 0 ? void 0 : _c.Join(' ')) || '', [Validators.required]));
218
+ this.ProcessorDetailsFormGroup.addControl('tokenLookup', this.formBldr.control(((_d = this.EditingApplication.Processor) === null || _d === void 0 ? void 0 : _d.TokenLookup) || '', [Validators.required]));
219
+ this.ProcessorDetailsFormGroup.addControl('lcuType', this.formBldr.control(this.LCUType, [Validators.required]));
220
+ }
221
+ setupLCUZipForm() {
222
+ var _a;
223
+ this.ProcessorDetailsFormGroup.addControl('zipFile', this.formBldr.control(((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.ZipFile) || '', [Validators.required]));
224
+ }
225
+ setupDfsForm() {
226
+ var _a, _b;
227
+ this.LCUType = ((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.Type) || '';
228
+ this.ProcessorDetailsFormGroup.addControl('defaultFile', this.formBldr.control(((_b = this.EditingApplication.Processor) === null || _b === void 0 ? void 0 : _b.DefaultFile) || 'index.html', [Validators.required]));
229
+ this.ProcessorDetailsFormGroup.addControl('lcuType', this.formBldr.control(this.LCUType, [Validators.required]));
230
+ }
231
+ setupProcessorTypeSubForm() {
232
+ this.cleanupProcessorTypeSubForm();
233
+ if (this.ProcessorType) {
234
+ switch (this.ProcessorType) {
235
+ case 'DFS':
236
+ this.setupDfsForm();
237
+ break;
238
+ case 'OAuth':
239
+ this.setupOAuthForm();
240
+ break;
241
+ case 'Proxy':
242
+ this.setupProxyForm();
243
+ break;
244
+ case 'Redirect':
245
+ this.setupRedirectForm();
246
+ break;
247
+ }
248
+ }
249
+ this.setupLcuTypeSubForm();
250
+ }
251
+ }
252
+ ProcessorDetailsFormComponent.decorators = [
253
+ { type: Component, args: [{
254
+ selector: 'lcu-processor-details-form',
255
+ template: "<form class=\"processor-details-form\" [formGroup]=\"ProcessorDetailsFormGroup\" (ngSubmit)=\"SubmitProcessorDetails()\">\n<mat-card class=\"spread flow-card\">\n <mat-card-header>\n <mat-card-title> Processor Details </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"procType\"\n (selectionChange)=\"ProcessorTypeChanged($event)\"\n required\n >\n <mat-option value=\"DFS\">View Package</mat-option>\n\n <mat-option value=\"Redirect\">Redirect</mat-option>\n\n <mat-option value=\"Proxy\">Proxy</mat-option>\n\n <mat-option value=\"OAuth\">OAuth</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"ProcessorType\">\n <div *ngSwitchCase=\"'DFS'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Default File\"\n formControlName=\"defaultFile\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"NPM\">NPM</mat-option>\n\n <mat-option value=\"GitHub\">GitHub</mat-option>\n\n <!-- <mat-option value=\"Zip\">Zip</mat-option> -->\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHub'\">\n <lcu-source-control-form-controls\n [build-path]=\"EditingApplication?.LowCodeUnit?.Path\"\n [form-group]=\"ProcessorDetailsFormGroup\"\n [source-control]=\"DefaultSourceControl\"\n [use-branches]=\"false\"\n [use-build-path]=\"true\"\n ></lcu-source-control-form-controls>\n\n <mat-form-field\n class=\"mat-full-width\"\n *ngIf=\"\n SourceControlFormControls?.RepositoryFormControl?.valid\n \"\n >\n <input\n matInput\n placeholder=\"Build\"\n formControlName=\"build\"\n required\n />\n\n <mat-hint>\n Current Build:\n {{ EditingApplication?.LowCodeUnit?.CurrentBuild }}\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'NPM'\">\n <lcu-npm-package-select\n [npm-package]=\"EditingApplication?.LowCodeUnit?.Package\"\n [npm-package-version]=\"\n EditingApplication?.LowCodeUnit?.Version\n \"\n [form-group]=\"ProcessorDetailsFormGroup\"\n ></lcu-npm-package-select>\n\n <mat-hint>\n Current Version:\n {{ EditingApplication?.LowCodeUnit?.CurrentVersion }}\n </mat-hint>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'OAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Scopes (space separated)\"\n formControlName=\"scopes\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Token Lookup\"\n formControlName=\"tokenLookup\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"GitHubOAuth\">GitHub</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHubOAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client ID\"\n formControlName=\"clientId\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client Secret\"\n formControlName=\"clientSecret\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Proxy'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Inbound Path\"\n formControlName=\"inboundPath\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"API\">API</mat-option>\n\n <mat-option value=\"SPA\">Single Page Application</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'API'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"API Root\"\n formControlName=\"apiRoot\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Allowed Methods (separate with spaces)\"\n formControlName=\"methods\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Security ({header}~{value})\"\n formControlName=\"security\"\n required\n />\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'SPA'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"SPA Root\"\n formControlName=\"spaRoot\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Redirect'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Redirect URL\"\n formControlName=\"redirect\"\n required\n />\n </mat-form-field>\n\n <div>\n <mat-slide-toggle \n class=\"spread\" \n formControlName=\"permanent\">\n Is Permanent?\n </mat-slide-toggle>\n\n <mat-slide-toggle\n class=\"spread\"\n formControlName=\"preserveMethod\"\n >\n Preserve Method?\n </mat-slide-toggle>\n\n <mat-icon\n class=\"spread\"\n matSuffix\n (mouseenter)=\"DetermineTooltipText()\"\n matTooltip={{redirectTooltip}}\n >\n info_outline\n </mat-icon>\n\n <!-- <mat-icon\n *ngIf=\"!IsPermanent && !IsPreserve\"\n\n class=\"spread\"\n matSuffix\n matTooltip=\"302 \u2013 Not Permanent and Not Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n <!-- <mat-icon\n *ngIf=\"!IsPermanent && IsPreserve\"\n class=\"spread\"\n matSuffix\n matTooltip=\"307 \u2013 Not Permanent and Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n <!-- <mat-icon\n *ngIf=\"IsPermanent && IsPreserve\"\n class=\"spread\"\n matSuffix\n matTooltip=\"308 \u2013 Permanent and Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n \n\n <!-- <mat-icon\n class=\"spread\"\n matSuffix\n matTooltip=\"Values used to control the redirect type. Permanent and Not Preserve = 301; Not Permanent and Not Preserve = 302; Permanent and Preserve = 308; Not Permanent and Not Preserve = 307;\"\n >\n info_outline\n </mat-icon> -->\n </div>\n </div>\n </div>\n </mat-card-content>\n <mat-card-actions>\n <!-- [disabled]=\"!SecurityFormGroup.valid || !SecurityFormGroup.dirty\" -->\n <button mat-raised-button type=\"submit\" >Save Security Settings</button>\n </mat-card-actions>\n</mat-card>\n</form>\n \n",
256
+ styles: [""]
257
+ },] }
258
+ ];
259
+ ProcessorDetailsFormComponent.ctorParameters = () => [
260
+ { type: FormBuilder }
261
+ ];
262
+ ProcessorDetailsFormComponent.propDecorators = {
263
+ EditingApplication: [{ type: Input, args: ['editing-application',] }]
264
+ };
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzc29yLWRldGFpbHMtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvYXBwbGljYXRpb25zLWZsb3cvYXBwbGljYXRpb25zLWZsb3cvcHJvamVjdHMvY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb250cm9scy9wcm9jZXNzb3ItZGV0YWlscy1mb3JtL3Byb2Nlc3Nvci1kZXRhaWxzLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBbUIsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBU3JGLE1BQU0sT0FBTyw2QkFBNkI7SUE2RHhDLFlBQXNCLFFBQXFCO1FBQXJCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDekMsd0NBQXdDO1FBQ3hDLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUF6REYsSUFBVyxnQkFBZ0I7O1FBQ3pCLGFBQU8sSUFBSSxDQUFDLHlCQUF5QiwwQ0FBRSxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQ3hELENBQUM7SUFHRCxJQUFXLG1CQUFtQjs7UUFDNUIsYUFBTyxJQUFJLENBQUMseUJBQXlCLDBDQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQVcsc0JBQXNCOztRQUMvQixhQUFPLElBQUksQ0FBQyx5QkFBeUIsMENBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFBVyxzQkFBc0I7O1FBQy9CLGFBQU8sSUFBSSxDQUFDLHlCQUF5QiwwQ0FBRSxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFXLHNCQUFzQjs7UUFDL0IsYUFBTyxJQUFJLENBQUMseUJBQXlCLDBDQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFDOUQs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LFVBQVUsQ0FDdkMsYUFBYSxFQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUNuQixPQUFBLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLDBDQUFFLFdBQVcsS0FBSSxZQUFZLEVBQzlELENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUN0QixDQUNGLENBQUM7UUFFRixJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxDQUN2QyxTQUFTLEVBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUMzRCxDQUFDO0lBQ0osQ0FBQztJQUVTLHlCQUF5QjtRQUNqQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUVuQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsUUFBUSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUMxQixLQUFLLEtBQUs7b0JBQ1IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUNwQixNQUFNO2dCQUVSLEtBQUssT0FBTztvQkFDVixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3RCLE1BQU07Z0JBRVIsS0FBSyxPQUFPO29CQUNWLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdEIsTUFBTTtnQkFFUixLQUFLLFVBQVU7b0JBQ2IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7b0JBQ3pCLE1BQU07YUFDVDtTQUNGO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQzs7O1lBbmFGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2dCQUN0QyxvNVNBQXNEOzthQUV2RDs7O1lBUnlCLFdBQVc7OztpQ0FhbEMsS0FBSyxTQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IEVhQ0FwcGxpY2F0aW9uQXNDb2RlIH0gZnJvbSAnQHNlbWFudGljanMvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGN1LXByb2Nlc3Nvci1kZXRhaWxzLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvY2Vzc29yLWRldGFpbHMtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2Nlc3Nvci1kZXRhaWxzLWZvcm0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9jZXNzb3JEZXRhaWxzRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIExDVVR5cGU6IHN0cmluZztcblxuICBASW5wdXQoJ2VkaXRpbmctYXBwbGljYXRpb24nKSBcbiAgcHVibGljIEVkaXRpbmdBcHBsaWNhdGlvbjogRWFDQXBwbGljYXRpb25Bc0NvZGU7XG5cbiAgcHVibGljIGdldCBCdWlsZEZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuYnVpbGQ7XG4gIH1cbiAgXG4gIFxuICBwdWJsaWMgZ2V0IENsaWVudElERm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy5jbGllbnRJZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRGVmYXVsdEZpbGVGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLmRlZmF1bHRGaWxlO1xuICB9XG5cbiAgcHVibGljIGdldCBJbmJvdW5kUGF0aEZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cD8uY29udHJvbHMuaW5ib3VuZFBhdGg7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFRva2VuTG9va3VwRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy50b2tlbkxvb2t1cDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUmVkaXJlY3RGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnJlZGlyZWN0O1xuICB9XG5cbiAgcHVibGljIGdldCBTY29wZXNGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnNjb3BlcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU2VjdXJpdHlGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnNlY3VyaXR5O1xuICB9XG5cbiAgcHVibGljIGdldCBTUEFSb290Rm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwPy5jb250cm9scy5zcGFSb290O1xuICB9XG5cbiAgcHVibGljIGdldCBQZXJtYW5lbnRGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnBlcm1hbmVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUHJlc2VydmVNZXRob2RGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXA/LmNvbnRyb2xzLnByZXNlcnZlTWV0aG9kO1xuICB9XG4gIHB1YmxpYyBJc1Blcm1hbmVudDogYm9vbGVhbjtcblxuICBwdWJsaWMgSXNQcmVzZXJ2ZTogYm9vbGVhbjtcbiAgXG4gIHB1YmxpYyByZWRpcmVjdFRvb2x0aXA6IHN0cmluZztcblxuICBwdWJsaWMgUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBQcm9jZXNzb3JUeXBlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGZvcm1CbGRyOiBGb3JtQnVpbGRlcikge1xuICAgIC8vIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uTG9va3VwID0gbnVsbDtcbiAgICB0aGlzLnJlZGlyZWN0VG9vbHRpcCA9ICcnO1xuICAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICAgIHRoaXMuc2V0dXBQcm9jZXNzb3JEZXRhaWxzRm9ybSgpO1xuICB9XG5cbiAgcHVibGljIERldGVybWluZVRvb2x0aXBUZXh0KCkge1xuICAgIGxldCBwZXJtYW5lbnRWYWx1ZSA9IHRoaXMuUGVybWFuZW50Rm9ybUNvbnRyb2wudmFsdWU7XG4gICAgbGV0IHByZXNlcnZlVmFsdWUgPSB0aGlzLlByZXNlcnZlTWV0aG9kRm9ybUNvbnRyb2wudmFsdWU7XG5cbiAgICBpZiAocGVybWFuZW50VmFsdWUgPT09IHRydWUgJiYgcHJlc2VydmVWYWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMucmVkaXJlY3RUb29sdGlwID0gJzMwMSDigJMgUGVybWFuZW50IGFuZCBOb3QgUHJlc2VydmUnO1xuICAgIH0gZWxzZSBpZiAocGVybWFuZW50VmFsdWUgPT09IGZhbHNlICYmIHByZXNlcnZlVmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLnJlZGlyZWN0VG9vbHRpcCA9ICczMDIg4oCTIE5vdCBQZXJtYW5lbnQgYW5kIE5vdCBQcmVzZXJ2ZSc7XG4gICAgfSBlbHNlIGlmIChwZXJtYW5lbnRWYWx1ZSA9PT0gZmFsc2UgJiYgcHJlc2VydmVWYWx1ZSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5yZWRpcmVjdFRvb2x0aXAgPSAnMzA3IOKAkyBOb3QgUGVybWFuZW50IGFuZCBQcmVzZXJ2ZSc7XG4gICAgfSBlbHNlIGlmIChwZXJtYW5lbnRWYWx1ZSA9PT0gdHJ1ZSAmJiBwcmVzZXJ2ZVZhbHVlID09PSB0cnVlKSB7XG4gICAgICB0aGlzLnJlZGlyZWN0VG9vbHRpcCA9ICczMDgg4oCTIFBlcm1hbmVudCBhbmQgUHJlc2VydmUnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBTdWJtaXRQcm9jZXNzb3JEZXRhaWxzKCl7XG5cbiAgfVxuXG4gIHB1YmxpYyBQcm9jZXNzb3JUeXBlQ2hhbmdlZChldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JUeXBlID0gZXZlbnQudmFsdWU7XG5cbiAgICB0aGlzLnNldHVwUHJvY2Vzc29yVHlwZVN1YkZvcm0oKTtcbiAgfVxuXG4gIHB1YmxpYyBMQ1VUeXBlQ2hhbmdlZChldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgdGhpcy5MQ1VUeXBlID0gZXZlbnQudmFsdWU7XG5cbiAgICB0aGlzLnNldHVwTGN1VHlwZVN1YkZvcm0oKTtcbiAgfVxuXG4gIC8vSEVMUEVSU1xuXG4gIHByb3RlY3RlZCBjbGVhbnVwTGN1VHlwZVN1YkZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ21ldGhvZHMnKTtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnYXBpUm9vdCcpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzZWN1cml0eScpO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ3NwYVJvb3QnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdhcHBsaWNhdGlvbklkJyk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnYnVpbGQnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdjbGllbnRJZCcpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdjbGllbnRTZWNyZXQnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCd6aXBGaWxlJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xlYW51cFByb2Nlc3NvclR5cGVTdWJGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdkZWZhdWx0RmlsZScpO1xuXG4gICAgLy8gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdkZnNMY3VUeXBlJyk7XG5cbiAgICAvLyB0aGlzLkFwcGxpY2F0aW9uRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ29hdXRoTGN1VHlwZScpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdzY29wZXMnKTtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgndG9rZW5Mb29rdXAnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdpbmJvdW5kUGF0aCcpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdwcm94eUxjdVR5cGUnKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdyZWRpcmVjdCcpO1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdwZXJtYW5lbnQnKTtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgncHJlc2VydmVNZXRob2QnKTtcblxuICAgIHRoaXMuY2xlYW51cExjdVR5cGVTdWJGb3JtKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBMY3VUeXBlU3ViRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFudXBMY3VUeXBlU3ViRm9ybSgpO1xuXG4gICAgLy8gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdwYWNrYWdlJyk7XG4gICAgLy8gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCd2ZXJzaW9uJyk7XG5cbiAgICBpZiAodGhpcy5MQ1VUeXBlKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuTENVVHlwZSkge1xuICAgICAgICBjYXNlICdBUEknOlxuICAgICAgICAgIHRoaXMuc2V0dXBMQ1VBUElGb3JtKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnQXBwbGljYXRpb25Qb2ludGVyJzpcbiAgICAgICAgICB0aGlzLnNldHVwTENVQXBwbGljYXRpb25Qb2ludGVyRm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ0dpdEh1Yic6XG4gICAgICAgICAgdGhpcy5zZXR1cExDVUdpdEh1YkZvcm0oKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdHaXRIdWJPQXV0aCc6XG4gICAgICAgICAgdGhpcy5zZXR1cExDVUdpdEh1Yk9BdXRoRm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIGNhc2UgJ05QTSc6XG4gICAgICAgIC8vICAgdGhpcy5zZXR1cExDVU5QTUZvcm0oKTtcbiAgICAgICAgLy8gICBicmVhaztcblxuICAgICAgICBjYXNlICdTUEEnOlxuICAgICAgICAgIHRoaXMuc2V0dXBMQ1VTUEFGb3JtKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnWmlwJzpcbiAgICAgICAgICB0aGlzLnNldHVwTENVWmlwRm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cFByb2Nlc3NvckRldGFpbHNGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuUHJvY2Vzc29yVHlwZSA9IHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uPy5Qcm9jZXNzb3I/LlR5cGUgfHwgJyc7XG5cbiAgICBpZiAodGhpcy5FZGl0aW5nQXBwbGljYXRpb24gIT0gbnVsbCkge1xuICAgICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwID0gdGhpcy5mb3JtQmxkci5ncm91cCh7XG4gICAgICAgIG5hbWU6IFt0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5BcHBsaWNhdGlvbj8uTmFtZSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiBbXG4gICAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uQXBwbGljYXRpb24/LkRlc2NyaXB0aW9uLFxuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIF0sXG4gICAgICAgIHJvdXRlOiBbXG4gICAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG9va3VwQ29uZmlnPy5QYXRoUmVnZXgucmVwbGFjZSgnLionLCAnJykgfHxcbiAgICAgICAgICAgICcvJyxcbiAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBdLFxuICAgICAgICAvLyBwcmlvcml0eTogW1xuICAgICAgICAvLyAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkFwcGxpY2F0aW9uPy5Qcmlvcml0eSB8fCAxMDAwMCxcbiAgICAgICAgLy8gICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAvLyBdLFxuICAgICAgICBwcm9jVHlwZTogW3RoaXMuUHJvY2Vzc29yVHlwZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIH0pO1xuXG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwTENVR2l0SHViRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdidWlsZCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5CdWlsZCB8fCAnbGF0ZXN0JyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cExDVUFwcGxpY2F0aW9uUG9pbnRlckZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnYXBwbGljYXRpb25JZCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5BcHBsaWNhdGlvbklEIHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwTENVTlBNRm9ybSgpOiB2b2lkIHtcbiAgICAvLyB0aGlzLkFwcGxpY2F0aW9uRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgLy8gICAncGFja2FnZScsXG4gICAgLy8gICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgLy8gICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5QYWNrYWdlIHx8ICcnLFxuICAgIC8vICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAvLyAgIClcbiAgICAvLyApO1xuICAgIC8vIHRoaXMuQXBwbGljYXRpb25Gb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAvLyAgICd2ZXJzaW9uJyxcbiAgICAvLyAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAvLyAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG93Q29kZVVuaXQ/LlZlcnNpb24gfHwgJycsXG4gICAgLy8gICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgIC8vICAgKVxuICAgIC8vICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBMQ1VTUEFGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ3NwYVJvb3QnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uU1BBUm9vdCB8fCAnJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cExDVUFQSUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnbWV0aG9kcycsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvb2t1cENvbmZpZz8uQWxsb3dlZE1ldGhvZHM/LmpvaW4oJyAnKSB8fCAnJyxcbiAgICAgICAgW11cbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnYXBpUm9vdCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5BUElSb290IHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnc2VjdXJpdHknLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uU2VjdXJpdHkgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBMQ1VHaXRIdWJPQXV0aEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnY2xpZW50SWQnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uQ2xpZW50SUQgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdjbGllbnRTZWNyZXQnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uQ2xpZW50U2VjcmV0IHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwUHJveHlGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuTENVVHlwZSA9IHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5UeXBlIHx8ICcnO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnaW5ib3VuZFBhdGgnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Qcm9jZXNzb3I/LkluYm91bmRQYXRoIHx8ICcnLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnbGN1VHlwZScsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2wodGhpcy5MQ1VUeXBlLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cFJlZGlyZWN0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdyZWRpcmVjdCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2wodGhpcy5FZGl0aW5nQXBwbGljYXRpb24uUHJvY2Vzc29yPy5SZWRpcmVjdCB8fCAnJywgW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgXSlcbiAgICApO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAncGVybWFuZW50JyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uUHJvY2Vzc29yPy5QZXJtYW5lbnQgfHwgZmFsc2UsXG4gICAgICAgIFtdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ3ByZXNlcnZlTWV0aG9kJyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uUHJvY2Vzc29yPy5QcmVzZXJ2ZU1ldGhvZCB8fCBmYWxzZSxcbiAgICAgICAgW11cbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuRGV0ZXJtaW5lVG9vbHRpcFRleHQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cE9BdXRoRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLkxDVVR5cGUgPSB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uVHlwZSB8fCAnJztcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ3Njb3BlcycsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLlByb2Nlc3Nvcj8uU2NvcGVzPy5Kb2luKCcgJykgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICd0b2tlbkxvb2t1cCcsXG4gICAgICB0aGlzLmZvcm1CbGRyLmNvbnRyb2woXG4gICAgICAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLlByb2Nlc3Nvcj8uVG9rZW5Mb29rdXAgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdsY3VUeXBlJyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbCh0aGlzLkxDVVR5cGUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwTENVWmlwRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLlByb2Nlc3NvckRldGFpbHNGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICd6aXBGaWxlJyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG93Q29kZVVuaXQ/LlppcEZpbGUgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBEZnNGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuTENVVHlwZSA9IHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkxvd0NvZGVVbml0Py5UeXBlIHx8ICcnO1xuXG4gICAgdGhpcy5Qcm9jZXNzb3JEZXRhaWxzRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgICAnZGVmYXVsdEZpbGUnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Qcm9jZXNzb3I/LkRlZmF1bHRGaWxlIHx8ICdpbmRleC5odG1sJyxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuUHJvY2Vzc29yRGV0YWlsc0Zvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ2xjdVR5cGUnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKHRoaXMuTENVVHlwZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0dXBQcm9jZXNzb3JUeXBlU3ViRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFudXBQcm9jZXNzb3JUeXBlU3ViRm9ybSgpO1xuXG4gICAgaWYgKHRoaXMuUHJvY2Vzc29yVHlwZSkge1xuICAgICAgc3dpdGNoICh0aGlzLlByb2Nlc3NvclR5cGUpIHtcbiAgICAgICAgY2FzZSAnREZTJzpcbiAgICAgICAgICB0aGlzLnNldHVwRGZzRm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ09BdXRoJzpcbiAgICAgICAgICB0aGlzLnNldHVwT0F1dGhGb3JtKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnUHJveHknOlxuICAgICAgICAgIHRoaXMuc2V0dXBQcm94eUZvcm0oKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdSZWRpcmVjdCc6XG4gICAgICAgICAgdGhpcy5zZXR1cFJlZGlyZWN0Rm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2V0dXBMY3VUeXBlU3ViRm9ybSgpO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,60 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { FormBuilder, Validators } from '@angular/forms';
3
+ export class SecurityToggleComponent {
4
+ constructor(formBldr) {
5
+ this.formBldr = formBldr;
6
+ }
7
+ get IsPrivateFormControl() {
8
+ var _a;
9
+ return (_a = this.SecurityFormGroup) === null || _a === void 0 ? void 0 : _a.controls.isPrivate;
10
+ }
11
+ ngOnInit() {
12
+ this.setupSecurityFormGroup();
13
+ }
14
+ SecuritySubmit() {
15
+ console.log("submitting values");
16
+ }
17
+ setupSecurityFormGroup() {
18
+ var _a, _b;
19
+ this.ProcessorType = ((_b = (_a = this.EditingApplication) === null || _a === void 0 ? void 0 : _a.Processor) === null || _b === void 0 ? void 0 : _b.Type) || '';
20
+ if (this.EditingApplication != null) {
21
+ // this.SecurityFormGroup = this.formBldr.group({
22
+ // name: [this.EditingApplication.Application?.Name, Validators.required],
23
+ // description: [
24
+ // this.EditingApplication.Application?.Description,
25
+ // Validators.required,
26
+ // ],
27
+ // route: [
28
+ // this.EditingApplication.LookupConfig?.PathRegex.replace('.*', '') ||
29
+ // '/',
30
+ // Validators.required,
31
+ // ],
32
+ // // priority: [
33
+ // // this.EditingApplication.Application?.Priority || 10000,
34
+ // // Validators.required,
35
+ // // ],
36
+ // procType: [this.ProcessorType, [Validators.required]],
37
+ // });
38
+ }
39
+ this.setupSecurityForm();
40
+ }
41
+ setupSecurityForm() {
42
+ var _a, _b;
43
+ this.SecurityFormGroup.addControl('isPrivate', this.formBldr.control(((_a = this.EditingApplication.LookupConfig) === null || _a === void 0 ? void 0 : _a.IsPrivate) || false, [Validators.required]));
44
+ this.SecurityFormGroup.addControl('isTriggerSignIn', this.formBldr.control(((_b = this.EditingApplication.LookupConfig) === null || _b === void 0 ? void 0 : _b.IsTriggerSignIn) || false, [Validators.required]));
45
+ }
46
+ }
47
+ SecurityToggleComponent.decorators = [
48
+ { type: Component, args: [{
49
+ selector: 'lcu-security-toggle',
50
+ template: "<form class=\"security-form\" [formGroup]=\"SecurityFormGroup\" (ngSubmit)=\"SecuritySubmit()\">\n <mat-card class=\"spread flow-card\">\n <mat-card-header>\n <mat-card-title> Security Settings </mat-card-title>\n\n <div fxFlex></div>\n\n <mat-slide-toggle\n formControlName=\"isPrivate\"\n matTooltip=\"Is Secure Application?\"\n >\n </mat-slide-toggle>\n\n <mat-icon\n matSuffix\n matTooltip=\"A Secured Application is one that requires the user to be authenticated to use the application. The application is hosted behind an identity wall.\"\n >\n info_outline\n </mat-icon>\n </mat-card-header>\n\n <mat-card-content>\n <div>\n <div *ngIf=\"IsPrivateFormControl.value\">\n <div>\n <mat-slide-toggle formControlName=\"isTriggerSignIn\">\n Is Trigger Sign In Application?\n </mat-slide-toggle>\n\n <mat-icon\n matSuffix\n matTooltip=\"A Trigger Sign In Application will direct the user to sign in if they are not already.\"\n >\n info_outline\n </mat-icon>\n </div>\n </div>\n </div>\n </mat-card-content>\n \n <mat-card-actions>\n <!-- [disabled]=\"!SecurityFormGroup.valid || !SecurityFormGroup.dirty\" -->\n <button mat-raised-button type=\"submit\" >Save Security Settings</button>\n </mat-card-actions>\n </mat-card>\n</form>\n",
51
+ styles: ["::ng-deep .mat-tooltip{color:#000!important}"]
52
+ },] }
53
+ ];
54
+ SecurityToggleComponent.ctorParameters = () => [
55
+ { type: FormBuilder }
56
+ ];
57
+ SecurityToggleComponent.propDecorators = {
58
+ EditingApplication: [{ type: Input, args: ['editing-application',] }]
59
+ };
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9hcHBsaWNhdGlvbnMtZmxvdy9hcHBsaWNhdGlvbnMtZmxvdy9wcm9qZWN0cy9jb21tb24vc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbnRyb2xzL3NlY3VyaXR5LXRvZ2dsZS9zZWN1cml0eS10b2dnbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBbUIsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBUXJGLE1BQU0sT0FBTyx1QkFBdUI7SUFZbEMsWUFBc0IsUUFBcUI7UUFBckIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtJQUFJLENBQUM7SUFQaEQsSUFBVyxvQkFBb0I7O1FBQzdCLGFBQU8sSUFBSSxDQUFDLGlCQUFpQiwwQ0FBRSxRQUFRLENBQUMsU0FBUyxDQUFDO0lBQ3BELENBQUM7SUFPTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFUyxzQkFBc0I7O1FBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLFNBQVMsMENBQUUsSUFBSSxLQUFJLEVBQUUsQ0FBQztRQUNwRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLEVBQUU7WUFDbkMsaURBQWlEO1lBQ2pELDRFQUE0RTtZQUM1RSxtQkFBbUI7WUFDbkIsd0RBQXdEO1lBQ3hELDJCQUEyQjtZQUMzQixPQUFPO1lBQ1AsYUFBYTtZQUNiLDJFQUEyRTtZQUMzRSxhQUFhO1lBQ2IsMkJBQTJCO1lBQzNCLE9BQU87WUFDUCxtQkFBbUI7WUFDbkIsaUVBQWlFO1lBQ2pFLDhCQUE4QjtZQUM5QixVQUFVO1lBQ1YsMkRBQTJEO1lBQzNELE1BQU07U0FFVDtRQUNELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFUyxpQkFBaUI7O1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQy9CLFdBQVcsRUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FDbkIsT0FBQSxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSwwQ0FBRSxTQUFTLEtBQUksS0FBSyxFQUN4RCxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FDdEIsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FDL0IsaUJBQWlCLEVBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUNuQixPQUFBLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLDBDQUFFLGVBQWUsS0FBSSxLQUFLLEVBQzlELENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUN0QixDQUNGLENBQUM7SUFDSixDQUFDOzs7WUFwRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLDJxREFBK0M7O2FBRWhEOzs7WUFQeUIsV0FBVzs7O2lDQVVsQyxLQUFLLFNBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFYUNBcHBsaWNhdGlvbkFzQ29kZSB9IGZyb20gJ0BzZW1hbnRpY2pzL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1zZWN1cml0eS10b2dnbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VjdXJpdHktdG9nZ2xlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VjdXJpdHktdG9nZ2xlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VjdXJpdHlUb2dnbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgnZWRpdGluZy1hcHBsaWNhdGlvbicpIFxuICBwdWJsaWMgRWRpdGluZ0FwcGxpY2F0aW9uOiBFYUNBcHBsaWNhdGlvbkFzQ29kZTtcbiAgXG4gIHB1YmxpYyBnZXQgSXNQcml2YXRlRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5TZWN1cml0eUZvcm1Hcm91cD8uY29udHJvbHMuaXNQcml2YXRlO1xuICB9XG4gIHB1YmxpYyBTZWN1cml0eUZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBQcm9jZXNzb3JUeXBlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGZvcm1CbGRyOiBGb3JtQnVpbGRlcikgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0dXBTZWN1cml0eUZvcm1Hcm91cCgpO1xuICB9XG5cbiAgcHVibGljIFNlY3VyaXR5U3VibWl0KCl7XG4gICAgY29uc29sZS5sb2coXCJzdWJtaXR0aW5nIHZhbHVlc1wiKVxuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwU2VjdXJpdHlGb3JtR3JvdXAoKXtcbiAgICB0aGlzLlByb2Nlc3NvclR5cGUgPSB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbj8uUHJvY2Vzc29yPy5UeXBlIHx8ICcnO1xuICAgIGlmICh0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbiAhPSBudWxsKSB7XG4gICAgICAvLyB0aGlzLlNlY3VyaXR5Rm9ybUdyb3VwID0gdGhpcy5mb3JtQmxkci5ncm91cCh7XG4gICAgICAvLyAgIG5hbWU6IFt0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5BcHBsaWNhdGlvbj8uTmFtZSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAvLyAgIGRlc2NyaXB0aW9uOiBbXG4gICAgICAvLyAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uQXBwbGljYXRpb24/LkRlc2NyaXB0aW9uLFxuICAgICAgLy8gICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAvLyAgIF0sXG4gICAgICAvLyAgIHJvdXRlOiBbXG4gICAgICAvLyAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG9va3VwQ29uZmlnPy5QYXRoUmVnZXgucmVwbGFjZSgnLionLCAnJykgfHxcbiAgICAgIC8vICAgICAgICcvJyxcbiAgICAgIC8vICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgLy8gICBdLFxuICAgICAgLy8gICAvLyBwcmlvcml0eTogW1xuICAgICAgLy8gICAvLyAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkFwcGxpY2F0aW9uPy5Qcmlvcml0eSB8fCAxMDAwMCxcbiAgICAgIC8vICAgLy8gICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgLy8gICAvLyBdLFxuICAgICAgLy8gICBwcm9jVHlwZTogW3RoaXMuUHJvY2Vzc29yVHlwZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIC8vIH0pO1xuXG4gIH1cbiAgdGhpcy5zZXR1cFNlY3VyaXR5Rm9ybSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwU2VjdXJpdHlGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuU2VjdXJpdHlGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdpc1ByaXZhdGUnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb29rdXBDb25maWc/LklzUHJpdmF0ZSB8fCBmYWxzZSxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuU2VjdXJpdHlGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdpc1RyaWdnZXJTaWduSW4nLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb29rdXBDb25maWc/LklzVHJpZ2dlclNpZ25JbiB8fCBmYWxzZSxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,59 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { FormBuilder, Validators } from '@angular/forms';
3
+ import { SourceControlFormControlsComponent } from '../../elements/projects/controls/forms/source-control/source-control.component';
4
+ export class SourceControlFormComponent {
5
+ constructor(formBldr) {
6
+ this.formBldr = formBldr;
7
+ }
8
+ get HasBuildFormControl() {
9
+ var _a;
10
+ return (_a = this.SourceControlFormGroup) === null || _a === void 0 ? void 0 : _a.controls.hasBuild;
11
+ }
12
+ get SourceControlLookupFormControl() {
13
+ var _a;
14
+ return (_a = this.SourceControlFormGroup) === null || _a === void 0 ? void 0 : _a.controls.sourceControlLookup;
15
+ }
16
+ get SourceControlLookups() {
17
+ return Object.keys(this.SourceControls || {});
18
+ }
19
+ get SourceControls() {
20
+ console.log("Environment: ", this.Environment);
21
+ return this.Environment.Sources || {};
22
+ }
23
+ ngOnInit() {
24
+ this.setupSourceControlForm();
25
+ }
26
+ SourceControlLookupChanged(event) {
27
+ // TODO: Anything to do here on change?
28
+ console.log("sourceControlLookupChanged: ", event);
29
+ }
30
+ SubmitSourceControl() {
31
+ }
32
+ //HELPER
33
+ setupSourceControlForm() {
34
+ var _a, _b;
35
+ this.ProcessorType = ((_b = (_a = this.EditingApplication) === null || _a === void 0 ? void 0 : _a.Processor) === null || _b === void 0 ? void 0 : _b.Type) || '';
36
+ this.setupBuildForm();
37
+ }
38
+ setupBuildForm() {
39
+ var _a, _b;
40
+ this.SourceControlFormGroup.addControl('hasBuild', this.formBldr.control(!!((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.SourceControlLookup) || false, [Validators.required]));
41
+ this.SourceControlFormGroup.addControl('sourceControlLookup', this.formBldr.control(((_b = this.EditingApplication.LowCodeUnit) === null || _b === void 0 ? void 0 : _b.SourceControlLookup) || '', []));
42
+ }
43
+ }
44
+ SourceControlFormComponent.decorators = [
45
+ { type: Component, args: [{
46
+ selector: 'lcu-source-control-form',
47
+ template: "<form class=\"source-control-form\" [formGroup]=\"SourceControlFormGroup\" (ngSubmit)=\"SubmitSourceControl()\">\n\n<mat-card class=\"spread flow-card\" *ngIf=\"ProcessorType != 'Redirect'\">\n <mat-card-header>\n <mat-card-title *ngIf=\"!HasBuildFormControl.value\">\n Build & Source\n </mat-card-title>\n\n <mat-card-title *ngIf=\"HasBuildFormControl.value\">\n Source Control\n </mat-card-title>\n\n <div fxFlex></div>\n\n <mat-slide-toggle\n formControlName=\"hasBuild\"\n matTooltip=\"Has Build?\"\n >\n </mat-slide-toggle>\n\n <mat-icon\n matSuffix\n matTooltip=\"Configure source control, DevOps CI/CD, and artifacts.\"\n >\n info_outline\n </mat-icon>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field\n class=\"mat-full-width\"\n *ngIf=\"\n HasBuildFormControl.value && SourceControlLookups?.length > 0\n \"\n >\n <mat-select\n formControlName=\"sourceControlLookup\"\n placeholder=\"Source Control\"\n (selectionChange)=\"SourceControlLookupChanged($event)\"\n [disabled]=\"\n SourceControlFormControls?.Loading || HostingDetails?.Loading\n \"\n >\n <ng-container\n *ngFor=\"let srcCtrlLookup of SourceControlLookups\"\n >\n <mat-option\n [value]=\"srcCtrlLookup\"\n *ngIf=\"SourceControls[srcCtrlLookup]; let srcCtrl\"\n >\n {{ srcCtrl.Name }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <div *ngIf=\"HasBuildFormControl?.value\">\n <h3>\n @{{\n SourceControlFormControls?.OrganizationFormControl?.value ||\n SourceControl?.Organization\n }}/{{\n SourceControlFormControls?.RepositoryFormControl?.value ||\n SourceControl?.Repository\n }}\n </h3>\n\n <p>Organization and Repository pulled from build settings</p>\n\n <mat-hint>\n CurrentBuild:\n {{ EditingApplication?.LowCodeUnit?.CurrentBuild }}\n </mat-hint>\n </div>\n </mat-form-field>\n\n <div *ngIf=\"SourceControlLookups?.length < 0\">\n <h3>\n Create source control locations under the DevOps tab above.\n </h3>\n </div>\n </mat-card-content>\n <mat-card-actions>\n <!-- [disabled]=\"!SourceControlFormGroup.valid || !SourceControlFormGroup.dirty\" -->\n <button mat-raised-button type=\"submit\" >Save</button>\n </mat-card-actions>\n </mat-card>\n</form>\n",
48
+ styles: [""]
49
+ },] }
50
+ ];
51
+ SourceControlFormComponent.ctorParameters = () => [
52
+ { type: FormBuilder }
53
+ ];
54
+ SourceControlFormComponent.propDecorators = {
55
+ EditingApplication: [{ type: Input, args: ['editing-application',] }],
56
+ Environment: [{ type: Input, args: ['environment',] }],
57
+ SourceControlFormControls: [{ type: ViewChild, args: [SourceControlFormControlsComponent,] }]
58
+ };
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWNvbnRyb2wtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvYXBwbGljYXRpb25zLWZsb3cvYXBwbGljYXRpb25zLWZsb3cvcHJvamVjdHMvY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb250cm9scy9zb3VyY2UtY29udHJvbC1mb3JtL3NvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQW1CLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyRixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnRkFBZ0YsQ0FBQztBQU9wSSxNQUFNLE9BQU8sMEJBQTBCO0lBZ0NyQyxZQUFzQixRQUFxQjtRQUFyQixhQUFRLEdBQVIsUUFBUSxDQUFhO0lBQUksQ0FBQztJQXBCaEQsSUFBVyxtQkFBbUI7O1FBQzVCLGFBQU8sSUFBSSxDQUFDLHNCQUFzQiwwQ0FBRSxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQ3hELENBQUM7SUFLRCxJQUFXLDhCQUE4Qjs7UUFDdkMsYUFBTyxJQUFJLENBQUMsc0JBQXNCLDBDQUFFLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQztJQUNuRSxDQUFDO0lBRUQsSUFBVyxvQkFBb0I7UUFDN0IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0MsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUlNLFFBQVE7UUFDYixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sMEJBQTBCLENBQUMsS0FBc0I7UUFDdEQseUNBQXlDO1FBQ3pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVNLG1CQUFtQjtJQUUxQixDQUFDO0lBR0QsUUFBUTtJQUVFLHNCQUFzQjs7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsU0FBUywwQ0FBRSxJQUFJLEtBQUksRUFBRSxDQUFDO1FBRWxFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUUxQixDQUFDO0lBRVMsY0FBYzs7UUFDdEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FDcEMsVUFBVSxFQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUNuQixDQUFDLFFBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsMENBQUUsbUJBQW1CLENBQUEsSUFBSSxLQUFLLEVBQ25FLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUN0QixDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUNwQyxxQkFBcUIsRUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQ25CLE9BQUEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsMENBQUUsbUJBQW1CLEtBQUksRUFBRSxFQUM5RCxFQUFFLENBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBOUVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUseUJBQXlCO2dCQUNuQyw4cUZBQW1EOzthQUVwRDs7O1lBVHlCLFdBQVc7OztpQ0FZbEMsS0FBSyxTQUFDLHFCQUFxQjswQkFHM0IsS0FBSyxTQUFDLGFBQWE7d0NBV25CLFNBQVMsU0FBQyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IEVhQ0FwcGxpY2F0aW9uQXNDb2RlLCBFYUNFbnZpcm9ubWVudEFzQ29kZSwgRWFDUHJvamVjdEFzQ29kZSwgRWFDU291cmNlQ29udHJvbCB9IGZyb20gJ0BzZW1hbnRpY2pzL2NvbW1vbic7XG5pbXBvcnQgeyBTb3VyY2VDb250cm9sRm9ybUNvbnRyb2xzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvZm9ybXMvc291cmNlLWNvbnRyb2wvc291cmNlLWNvbnRyb2wuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGN1LXNvdXJjZS1jb250cm9sLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vc291cmNlLWNvbnRyb2wtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NvdXJjZS1jb250cm9sLWZvcm0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCdlZGl0aW5nLWFwcGxpY2F0aW9uJykgXG4gIHB1YmxpYyBFZGl0aW5nQXBwbGljYXRpb246IEVhQ0FwcGxpY2F0aW9uQXNDb2RlO1xuXG4gIEBJbnB1dCgnZW52aXJvbm1lbnQnKVxuICBwdWJsaWMgRW52aXJvbm1lbnQ6IEVhQ0Vudmlyb25tZW50QXNDb2RlO1xuXG4gIHB1YmxpYyBTb3VyY2VDb250cm9sRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgcHVibGljIFByb2Nlc3NvclR5cGU6IHN0cmluZztcblxuICBwdWJsaWMgZ2V0IEhhc0J1aWxkRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Tb3VyY2VDb250cm9sRm9ybUdyb3VwPy5jb250cm9scy5oYXNCdWlsZDtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoU291cmNlQ29udHJvbEZvcm1Db250cm9sc0NvbXBvbmVudClcbiAgcHVibGljIFNvdXJjZUNvbnRyb2xGb3JtQ29udHJvbHM6IFNvdXJjZUNvbnRyb2xGb3JtQ29udHJvbHNDb21wb25lbnQ7XG5cbiAgcHVibGljIGdldCBTb3VyY2VDb250cm9sTG9va3VwRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5Tb3VyY2VDb250cm9sRm9ybUdyb3VwPy5jb250cm9scy5zb3VyY2VDb250cm9sTG9va3VwO1xuICB9XG5cbiAgcHVibGljIGdldCBTb3VyY2VDb250cm9sTG9va3VwcygpOiBBcnJheTxzdHJpbmc+IHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5Tb3VyY2VDb250cm9scyB8fCB7fSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFNvdXJjZUNvbnRyb2xzKCk6IHsgW2xvb2t1cDogc3RyaW5nXTogRWFDU291cmNlQ29udHJvbCB9IHtcbiAgICBjb25zb2xlLmxvZyhcIkVudmlyb25tZW50OiBcIiwgdGhpcy5FbnZpcm9ubWVudCk7XG4gICAgcmV0dXJuIHRoaXMuRW52aXJvbm1lbnQuU291cmNlcyB8fCB7fTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBmb3JtQmxkcjogRm9ybUJ1aWxkZXIpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldHVwU291cmNlQ29udHJvbEZvcm0oKTtcbiAgfVxuXG4gIHB1YmxpYyBTb3VyY2VDb250cm9sTG9va3VwQ2hhbmdlZChldmVudDogTWF0U2VsZWN0Q2hhbmdlKTogdm9pZCB7XG4gICAgLy8gIFRPRE86ICBBbnl0aGluZyB0byBkbyBoZXJlIG9uIGNoYW5nZT9cbiAgICBjb25zb2xlLmxvZyhcInNvdXJjZUNvbnRyb2xMb29rdXBDaGFuZ2VkOiBcIiwgZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIFN1Ym1pdFNvdXJjZUNvbnRyb2woKXtcblxuICB9XG5cblxuICAvL0hFTFBFUlxuXG4gIHByb3RlY3RlZCBzZXR1cFNvdXJjZUNvbnRyb2xGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuUHJvY2Vzc29yVHlwZSA9IHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uPy5Qcm9jZXNzb3I/LlR5cGUgfHwgJyc7XG5cbiAgICAgIHRoaXMuc2V0dXBCdWlsZEZvcm0oKTtcblxuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwQnVpbGRGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuU291cmNlQ29udHJvbEZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ2hhc0J1aWxkJyxcbiAgICAgIHRoaXMuZm9ybUJsZHIuY29udHJvbChcbiAgICAgICAgISF0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uU291cmNlQ29udHJvbExvb2t1cCB8fCBmYWxzZSxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuU291cmNlQ29udHJvbEZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgJ3NvdXJjZUNvbnRyb2xMb29rdXAnLFxuICAgICAgdGhpcy5mb3JtQmxkci5jb250cm9sKFxuICAgICAgICB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5Mb3dDb2RlVW5pdD8uU291cmNlQ29udHJvbExvb2t1cCB8fCAnJyxcbiAgICAgICAgW11cbiAgICAgIClcbiAgICApO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { Component, Input } from '@angular/core';
2
+ export class AnalyticsCardComponent {
3
+ constructor() {
4
+ }
5
+ ngOnInit() {
6
+ }
7
+ }
8
+ AnalyticsCardComponent.decorators = [
9
+ { type: Component, args: [{
10
+ selector: 'lcu-analytics-card',
11
+ template: "<mat-card class=\"analytics-card\">\n <mat-card-header>\n <mat-card-title *ngIf=\"Title\">{{Title}}</mat-card-title>\n <mat-card-subtitle *ngIf=\"Subtext\">{{Subtext}}</mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <!-- <ng-container *ngFor=\"let atics of analytics \"> -->\n \n <div class=\"analytic-container\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\n <div fxLayout=\"column\">\n <div class=\"analytic-number\">57</div>\n <div class=\"analytic-name\">Unique Visitors</div>\n </div>\n\n <div class=\"percent-change increase\" fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <mat-icon>arrow_drop_up</mat-icon>\n <div>{{ .16 | percent}}</div>\n </div>\n\n <!-- <div class=\"percent-change decrease\" fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <mat-icon>arrow_drop_down</mat-icon>\n <div>16</div>\n </div> -->\n </div>\n\n <!-- </ng-container> -->\n </mat-card-content>\n <!-- <mat-card-actions>\n <button mat-button>LIKE</button>\n <button mat-button>SHARE</button>\n </mat-card-actions> -->\n </mat-card>\n",
12
+ styles: [".analytics-card{border:2px solid #d3d3d3;margin:20px;padding:10px}.increase{color:green}.decrease{color:red}"]
13
+ },] }
14
+ ];
15
+ AnalyticsCardComponent.ctorParameters = () => [];
16
+ AnalyticsCardComponent.propDecorators = {
17
+ Title: [{ type: Input, args: ['title',] }],
18
+ Subtext: [{ type: Input, args: ['subtext',] }],
19
+ Analytics: [{ type: Input, args: ['analytics',] }]
20
+ };
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL2FwcGxpY2F0aW9ucy1mbG93L2FwcGxpY2F0aW9ucy1mbG93L3Byb2plY3RzL2NvbW1vbi9zcmMvIiwic291cmNlcyI6WyJsaWIvZWxlbWVudHMvYW5hbHl0aWNzLWNhcmQvYW5hbHl0aWNzLWNhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBT3pELE1BQU0sT0FBTyxzQkFBc0I7SUFhakM7SUFFQyxDQUFDO0lBRUYsUUFBUTtJQUNSLENBQUM7OztZQXZCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsMHhDQUE4Qzs7YUFFL0M7Ozs7b0JBR0UsS0FBSyxTQUFDLE9BQU87c0JBR2IsS0FBSyxTQUFDLFNBQVM7d0JBSWYsS0FBSyxTQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGN1LWFuYWx5dGljcy1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FuYWx5dGljcy1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYW5hbHl0aWNzLWNhcmQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBbmFseXRpY3NDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoJ3RpdGxlJylcbiAgcHVibGljIFRpdGxlOiBzdHJpbmc7XG5cbiAgQElucHV0KCdzdWJ0ZXh0JylcbiAgcHVibGljIFN1YnRleHQ6IHN0cmluZztcblxuICAvLyBUT0RPIHVwZGF0ZSBmcm9tIGFueSB0byBhbiBhbmFseXRpY3MgbW9kZWxcbiAgQElucHV0KCdhbmFseXRpY3MnKVxuICBwdWJsaWMgQW5hbHl0aWNzOiBhbnlbXTtcblxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIFxuICAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,61 @@
1
+ import { Component } from '@angular/core';
2
+ import { EaCService } from '../../services/eac.service';
3
+ import { FormsService } from '../../services/forms.service';
4
+ export class BaseFormComponent {
5
+ constructor(formsService, eac) {
6
+ this.formsService = formsService;
7
+ this.eac = eac;
8
+ }
9
+ ngOnInit() {
10
+ this.setupForm();
11
+ }
12
+ setupForm() {
13
+ this.formsService.Form = { Id: this.FormConfig.FormName, Form: this.FormConfig.Form };
14
+ // this.onChange();
15
+ }
16
+ /**
17
+ * Listen to form value changes
18
+ */
19
+ onChange() {
20
+ }
21
+ checkFormForChanges() {
22
+ this.FormConfig.Form.valueChanges.subscribe((val) => {
23
+ if (this.formsService.ForRealThough(this.FormConfig.FormName, this.FormConfig.Form)) {
24
+ this.FormConfig.IsDirty = true;
25
+ // disable all forms except the current form being edited
26
+ this.formsService.DisableForms(this.FormConfig.FormName);
27
+ }
28
+ else {
29
+ this.FormConfig.IsDirty = false;
30
+ // enable all forms
31
+ this.formsService.DisableForms(false);
32
+ }
33
+ });
34
+ }
35
+ /**
36
+ * Update Form value reference
37
+ */
38
+ updateValueRef() {
39
+ this.formsService.UpdateValuesReference({
40
+ Id: this.FormConfig.FormName,
41
+ Form: this.FormConfig.Form
42
+ });
43
+ }
44
+ save() {
45
+ console.log('PARENT SAVE');
46
+ }
47
+ resetForm() {
48
+ }
49
+ }
50
+ BaseFormComponent.decorators = [
51
+ { type: Component, args: [{
52
+ selector: 'lcu-base-form',
53
+ template: "\n",
54
+ styles: [""]
55
+ },] }
56
+ ];
57
+ BaseFormComponent.ctorParameters = () => [
58
+ { type: FormsService },
59
+ { type: EaCService }
60
+ ];
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9hcHBsaWNhdGlvbnMtZmxvdy9hcHBsaWNhdGlvbnMtZmxvdy9wcm9qZWN0cy9jb21tb24vc3JjLyIsInNvdXJjZXMiOlsibGliL2VsZW1lbnRzL2Jhc2UtZm9ybS9iYXNlLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQU81RCxNQUFNLE9BQU8saUJBQWlCO0lBbUI1QixZQUNZLFlBQTBCLEVBQzFCLEdBQWU7UUFEZixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixRQUFHLEdBQUgsR0FBRyxDQUFZO0lBQ3ZCLENBQUM7SUFFRSxRQUFRO1FBRWIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFUyxTQUFTO1FBRWpCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLEVBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBQyxDQUFDO1FBRXBGLG1CQUFtQjtJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDTyxRQUFRO0lBR2xCLENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBRTFELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDbkYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUMvQix5REFBeUQ7Z0JBQ3pELElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDMUQ7aUJBQU07Z0JBRUwsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNoQyxtQkFBbUI7Z0JBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3ZDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxjQUFjO1FBRXRCLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQ3JDO1lBQ0UsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUTtZQUM1QixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJO1NBQzNCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFUyxJQUFJO1FBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRVMsU0FBUztJQUVuQixDQUFDOzs7WUFuRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixjQUF5Qzs7YUFFMUM7OztZQU5RLFlBQVk7WUFEWixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUZvcm1Db25maWdNb2RlbCB9IGZyb20gJy4vLi4vLi4vbW9kZWxzL2Jhc2UtZm9ybS1jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVhQ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lYWMuc2VydmljZSc7XG5pbXBvcnQgeyBGb3Jtc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb3Jtcy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGN1LWJhc2UtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9iYXNlLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iYXNlLWZvcm0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCYXNlRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqXG4gICAqIEZvcm1Hcm91cCBmb3IgcHJvamVjdCBuYW1lIGNhcmRcbiAgICovXG4gIC8vIHB1YmxpYyBGb3JtOiBGb3JtR3JvdXA7XG5cbiAgLyoqXG4gICAqIEZvcm0gbmFtZVxuICAgKi9cbiAgLy8gcHJvdGVjdGVkIGZvcm1OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZW4gZm9ybSBpcyBkaXJ0eSwgdGllcyBpbnRvIGZvcm1zU2VydmljZS5EaXNhYmxlRm9ybXNcbiAgICovXG4gIC8vIHB1YmxpYyBJc0RpcnR5OiBib29sZWFuO1xuXG4gIHB1YmxpYyBGb3JtQ29uZmlnOiBCYXNlRm9ybUNvbmZpZ01vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBmb3Jtc1NlcnZpY2U6IEZvcm1zU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZWFjOiBFYUNTZXJ2aWNlXG4gICkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgdGhpcy5zZXR1cEZvcm0oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cEZvcm0oKTogdm9pZCB7XG5cbiAgICB0aGlzLmZvcm1zU2VydmljZS5Gb3JtID0ge0lkOiB0aGlzLkZvcm1Db25maWcuRm9ybU5hbWUsIEZvcm06IHRoaXMuRm9ybUNvbmZpZy5Gb3JtfTtcblxuICAgIC8vIHRoaXMub25DaGFuZ2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gZm9ybSB2YWx1ZSBjaGFuZ2VzXG4gICAqL1xuICBwcm90ZWN0ZWQgb25DaGFuZ2UoKTogdm9pZCB7XG4gICAgXG5cbiAgfVxuXG4gIHByb3RlY3RlZCBjaGVja0Zvcm1Gb3JDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuRm9ybUNvbmZpZy5Gb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbDogb2JqZWN0KSA9PiB7XG5cbiAgICAgIGlmICh0aGlzLmZvcm1zU2VydmljZS5Gb3JSZWFsVGhvdWdoKHRoaXMuRm9ybUNvbmZpZy5Gb3JtTmFtZSwgdGhpcy5Gb3JtQ29uZmlnLkZvcm0pKSB7XG4gICAgICAgIHRoaXMuRm9ybUNvbmZpZy5Jc0RpcnR5ID0gdHJ1ZTtcbiAgICAgICAgLy8gZGlzYWJsZSBhbGwgZm9ybXMgZXhjZXB0IHRoZSBjdXJyZW50IGZvcm0gYmVpbmcgZWRpdGVkXG4gICAgICAgIHRoaXMuZm9ybXNTZXJ2aWNlLkRpc2FibGVGb3Jtcyh0aGlzLkZvcm1Db25maWcuRm9ybU5hbWUpO1xuICAgICAgfSBlbHNlIHtcblxuICAgICAgICB0aGlzLkZvcm1Db25maWcuSXNEaXJ0eSA9IGZhbHNlO1xuICAgICAgICAvLyBlbmFibGUgYWxsIGZvcm1zXG4gICAgICAgIHRoaXMuZm9ybXNTZXJ2aWNlLkRpc2FibGVGb3JtcyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIEZvcm0gdmFsdWUgcmVmZXJlbmNlXG4gICAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlVmFsdWVSZWYoKTogdm9pZCB7XG5cbiAgICB0aGlzLmZvcm1zU2VydmljZS5VcGRhdGVWYWx1ZXNSZWZlcmVuY2UoXG4gICAgICB7XG4gICAgICAgIElkOiB0aGlzLkZvcm1Db25maWcuRm9ybU5hbWUsXG4gICAgICAgIEZvcm06IHRoaXMuRm9ybUNvbmZpZy5Gb3JtXG4gICAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzYXZlKCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKCdQQVJFTlQgU0FWRScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc2V0Rm9ybSgpOiB2b2lkIHtcblxuICB9XG59XG4iXX0=