@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,78 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/card";
4
+ import * as i2 from "@angular/material/icon";
5
+ import * as i3 from "@angular/material/form-field";
6
+ import * as i4 from "@angular/material/button";
7
+ import * as i5 from "@angular/flex-layout/flex";
8
+ import * as i6 from "@angular/material/input";
9
+ import * as i7 from "@angular/forms";
10
+ export class GhControlComponent {
11
+ constructor() {
12
+ this.InputLabel = "Create Pull Request";
13
+ this.selectedBtn = "pr-btn";
14
+ }
15
+ ngOnInit() {
16
+ }
17
+ ngAfterViewInit() {
18
+ this.addSelectBtn();
19
+ }
20
+ CreateFeatureBranch() {
21
+ this.removeSelectedBtn();
22
+ this.InputLabel = "Create Feature Branch";
23
+ this.selectedBtn = "fb-btn";
24
+ this.addSelectBtn();
25
+ console.log("create feature branch selected");
26
+ }
27
+ OpenIssue() {
28
+ this.removeSelectedBtn();
29
+ this.InputLabel = "Open Issue";
30
+ this.selectedBtn = "oi-btn";
31
+ this.addSelectBtn();
32
+ console.log("open issue selected");
33
+ }
34
+ CreatePullRequest() {
35
+ this.removeSelectedBtn();
36
+ this.InputLabel = "Create Pull Request";
37
+ this.selectedBtn = "pr-btn";
38
+ this.addSelectBtn();
39
+ console.log("create pull request selected");
40
+ }
41
+ OpenMoreInfo() {
42
+ console.log("more info selected");
43
+ }
44
+ Submit() {
45
+ console.log("submitting: ", this.value);
46
+ switch (this.selectedBtn) {
47
+ case "pr-btn":
48
+ //Pull request
49
+ console.log("creating pull request: ", this.value);
50
+ break;
51
+ case "oi-btn":
52
+ //Open Issue
53
+ console.log("Open issue: ", this.value);
54
+ break;
55
+ case "fb-btn":
56
+ //Feature Branch
57
+ console.log("creating feature branch: ", this.value);
58
+ break;
59
+ default:
60
+ console.log("hmm");
61
+ break;
62
+ }
63
+ }
64
+ //HELPERS
65
+ addSelectBtn() {
66
+ document.getElementById(this.selectedBtn).classList.add('selected');
67
+ }
68
+ removeSelectedBtn() {
69
+ document.getElementById(this.selectedBtn).classList.remove('selected');
70
+ }
71
+ }
72
+ GhControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: GhControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
73
+ GhControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: GhControlComponent, selector: "lcu-gh-control", ngImport: i0, template: "<mat-card class=\"social-card\">\n <div class=\"gh-card-container\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <mat-icon fxFlex=\"15%\" class=\"gh-icon\">error_outline</mat-icon>\n <div fxFlex=\"70%\"class=\"gh-card-main-content\">\n <mat-form-field appearance=\"fill\" class=\"gh-input\">\n <mat-label>{{InputLabel}}</mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"value\">\n <!-- <button *ngIf=\"value\" matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"value=''\">\n <mat-icon>close</mat-icon>\n </button> -->\n </mat-form-field>\n </div>\n <button fxFlex=\"15%\" mat-button (click)=\"Submit()\" id=\"submit-btn\">Submit</button>\n </div>\n\n <mat-card-actions fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <button mat-button (click)=\"CreatePullRequest()\" id=\"pr-btn\">Pull Request</button>\n <button mat-button (click)=\"OpenIssue()\" id=\"oi-btn\">Open Issue</button>\n <button mat-button (click)=\"CreateFeatureBranch()\" id=\"fb-btn\">Feature Branch</button>\n <button mat-icon-button (click)=\"OpenMoreInfo()\">\n <mat-icon>more_horiz</mat-icon>\n </button>\n </mat-card-actions>\n </mat-card>", styles: [":host ::ng-deep .social-card{margin:20px;padding:15px 5px}:host ::ng-deep mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}:host ::ng-deep .main-slot-container{padding:10px}:host ::ng-deep .slot-header{align-items:center}:host ::ng-deep .slot-content{width:100%}:host ::ng-deep .slot-name{font-size:13px;font-weight:600}:host ::ng-deep .slot-description{font-size:12px;margin-right:10px}:host ::ng-deep .slot-action-anchor{font-size:10px;text-decoration:none;color:#000}:host ::ng-deep .action-icon{height:25px;width:25px;font-size:25px;cursor:pointer}.gh-icon{width:60px;height:60px;font-size:60px;text-align:center}.gh-input{width:90%}.selected{border:1px solid green}::ng-deep .mat-form-field-flex{border:1px solid;border-radius:30px!important}::ng-deep .mat-form-field-wrapper{padding-bottom:0!important}\n"], components: [{ type: i1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i5.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i5.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i3.MatLabel, selector: "mat-label" }, { type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }] });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: GhControlComponent, decorators: [{
75
+ type: Component,
76
+ args: [{ selector: 'lcu-gh-control', template: "<mat-card class=\"social-card\">\n <div class=\"gh-card-container\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <mat-icon fxFlex=\"15%\" class=\"gh-icon\">error_outline</mat-icon>\n <div fxFlex=\"70%\"class=\"gh-card-main-content\">\n <mat-form-field appearance=\"fill\" class=\"gh-input\">\n <mat-label>{{InputLabel}}</mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"value\">\n <!-- <button *ngIf=\"value\" matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"value=''\">\n <mat-icon>close</mat-icon>\n </button> -->\n </mat-form-field>\n </div>\n <button fxFlex=\"15%\" mat-button (click)=\"Submit()\" id=\"submit-btn\">Submit</button>\n </div>\n\n <mat-card-actions fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <button mat-button (click)=\"CreatePullRequest()\" id=\"pr-btn\">Pull Request</button>\n <button mat-button (click)=\"OpenIssue()\" id=\"oi-btn\">Open Issue</button>\n <button mat-button (click)=\"CreateFeatureBranch()\" id=\"fb-btn\">Feature Branch</button>\n <button mat-icon-button (click)=\"OpenMoreInfo()\">\n <mat-icon>more_horiz</mat-icon>\n </button>\n </mat-card-actions>\n </mat-card>", styles: [":host ::ng-deep .social-card{margin:20px;padding:15px 5px}:host ::ng-deep mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}:host ::ng-deep .main-slot-container{padding:10px}:host ::ng-deep .slot-header{align-items:center}:host ::ng-deep .slot-content{width:100%}:host ::ng-deep .slot-name{font-size:13px;font-weight:600}:host ::ng-deep .slot-description{font-size:12px;margin-right:10px}:host ::ng-deep .slot-action-anchor{font-size:10px;text-decoration:none;color:#000}:host ::ng-deep .action-icon{height:25px;width:25px;font-size:25px;cursor:pointer}.gh-icon{width:60px;height:60px;font-size:60px;text-align:center}.gh-input{width:90%}.selected{border:1px solid green}::ng-deep .mat-form-field-flex{border:1px solid;border-radius:30px!important}::ng-deep .mat-form-field-wrapper{padding-bottom:0!important}\n"] }]
77
+ }], ctorParameters: function () { return []; } });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2gtY29udHJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9lbGVtZW50cy9naC1jb250cm9sL2doLWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvZWxlbWVudHMvZ2gtY29udHJvbC9naC1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztBQU9sRCxNQUFNLE9BQU8sa0JBQWtCO0lBUTdCO1FBQ0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQztRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztJQUU5QixDQUFDO0lBRU0sUUFBUTtJQUVmLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsdUJBQXVCLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUVoRCxDQUFDO0lBRU0sU0FBUztRQUNkLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsWUFBWSxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDO1FBQzVCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFckMsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLHFCQUFxQixDQUFDO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDO1FBQzVCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFFOUMsQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFHTSxNQUFNO1FBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBQztZQUN2QixLQUFLLFFBQVE7Z0JBQ1gsY0FBYztnQkFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkQsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxZQUFZO2dCQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEMsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxnQkFBZ0I7Z0JBQ2hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyRCxNQUFNO1lBQ1I7Z0JBQ0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFFbEIsTUFBTTtTQUNUO0lBQ0gsQ0FBQztJQUVELFNBQVM7SUFFQyxZQUFZO1FBQ04sUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRVMsaUJBQWlCO1FBQ1gsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4RixDQUFDOzsrR0FwRlUsa0JBQWtCO21HQUFsQixrQkFBa0Isc0RDUC9CLG96Q0F1QmE7MkZEaEJBLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsY3UtZ2gtY29udHJvbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9naC1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ2gtY29udHJvbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEdoQ29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIElucHV0TGFiZWw6IHN0cmluZztcblxuICBwcm90ZWN0ZWQgc2VsZWN0ZWRCdG46IHN0cmluZztcblxuICBwdWJsaWMgdmFsdWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHsgXG4gICAgdGhpcy5JbnB1dExhYmVsID0gXCJDcmVhdGUgUHVsbCBSZXF1ZXN0XCI7XG4gICAgdGhpcy5zZWxlY3RlZEJ0biA9IFwicHItYnRuXCI7XG5cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKXtcbiAgICB0aGlzLmFkZFNlbGVjdEJ0bigpO1xuICB9XG5cbiAgcHVibGljIENyZWF0ZUZlYXR1cmVCcmFuY2goKXtcbiAgICB0aGlzLnJlbW92ZVNlbGVjdGVkQnRuKCk7XG4gICAgdGhpcy5JbnB1dExhYmVsID0gXCJDcmVhdGUgRmVhdHVyZSBCcmFuY2hcIjtcbiAgICB0aGlzLnNlbGVjdGVkQnRuID0gXCJmYi1idG5cIjtcbiAgICB0aGlzLmFkZFNlbGVjdEJ0bigpO1xuICAgIGNvbnNvbGUubG9nKFwiY3JlYXRlIGZlYXR1cmUgYnJhbmNoIHNlbGVjdGVkXCIpO1xuXG4gIH1cblxuICBwdWJsaWMgT3Blbklzc3VlKCl7XG4gICAgdGhpcy5yZW1vdmVTZWxlY3RlZEJ0bigpO1xuICAgIHRoaXMuSW5wdXRMYWJlbCA9IFwiT3BlbiBJc3N1ZVwiO1xuICAgIHRoaXMuc2VsZWN0ZWRCdG4gPSBcIm9pLWJ0blwiO1xuICAgIHRoaXMuYWRkU2VsZWN0QnRuKCk7XG4gICAgY29uc29sZS5sb2coXCJvcGVuIGlzc3VlIHNlbGVjdGVkXCIpO1xuXG4gIH1cblxuICBwdWJsaWMgQ3JlYXRlUHVsbFJlcXVlc3QoKXtcbiAgICB0aGlzLnJlbW92ZVNlbGVjdGVkQnRuKCk7XG4gICAgdGhpcy5JbnB1dExhYmVsID0gXCJDcmVhdGUgUHVsbCBSZXF1ZXN0XCI7XG4gICAgdGhpcy5zZWxlY3RlZEJ0biA9IFwicHItYnRuXCI7XG4gICAgdGhpcy5hZGRTZWxlY3RCdG4oKTtcbiAgICBjb25zb2xlLmxvZyhcImNyZWF0ZSBwdWxsIHJlcXVlc3Qgc2VsZWN0ZWRcIik7XG5cbiAgfVxuXG4gIHB1YmxpYyBPcGVuTW9yZUluZm8oKXtcbiAgICBjb25zb2xlLmxvZyhcIm1vcmUgaW5mbyBzZWxlY3RlZFwiKTtcbiAgfVxuXG5cbiAgcHVibGljIFN1Ym1pdCgpe1xuICAgIGNvbnNvbGUubG9nKFwic3VibWl0dGluZzogXCIsIHRoaXMudmFsdWUpO1xuICAgIHN3aXRjaCAodGhpcy5zZWxlY3RlZEJ0bil7XG4gICAgICBjYXNlIFwicHItYnRuXCI6XG4gICAgICAgIC8vUHVsbCByZXF1ZXN0XG4gICAgICAgIGNvbnNvbGUubG9nKFwiY3JlYXRpbmcgcHVsbCByZXF1ZXN0OiBcIiwgdGhpcy52YWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIm9pLWJ0blwiOlxuICAgICAgICAvL09wZW4gSXNzdWVcbiAgICAgICAgY29uc29sZS5sb2coXCJPcGVuIGlzc3VlOiBcIiwgdGhpcy52YWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcImZiLWJ0blwiOlxuICAgICAgICAvL0ZlYXR1cmUgQnJhbmNoXG4gICAgICAgIGNvbnNvbGUubG9nKFwiY3JlYXRpbmcgZmVhdHVyZSBicmFuY2g6IFwiLCB0aGlzLnZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBjb25zb2xlLmxvZyhcImhtbVwiKVxuXG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8vSEVMUEVSU1xuXG4gIHByb3RlY3RlZCBhZGRTZWxlY3RCdG4oKXsgICAgXG4gICAgKDxIVE1MRWxlbWVudD5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLnNlbGVjdGVkQnRuKSkuY2xhc3NMaXN0LmFkZCgnc2VsZWN0ZWQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZW1vdmVTZWxlY3RlZEJ0bigpe1xuICAgICg8SFRNTEVsZW1lbnQ+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5zZWxlY3RlZEJ0bikpLmNsYXNzTGlzdC5yZW1vdmUoJ3NlbGVjdGVkJyk7XG4gIH1cblxufVxuIiwiPG1hdC1jYXJkIGNsYXNzPVwic29jaWFsLWNhcmRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ2gtY2FyZC1jb250YWluZXJcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG4gICAgICAgIDxtYXQtaWNvbiBmeEZsZXg9XCIxNSVcIiBjbGFzcz1cImdoLWljb25cIj5lcnJvcl9vdXRsaW5lPC9tYXQtaWNvbj5cbiAgICAgICAgPGRpdiBmeEZsZXg9XCI3MCVcImNsYXNzPVwiZ2gtY2FyZC1tYWluLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZ2gtaW5wdXRcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7SW5wdXRMYWJlbH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiPlxuICAgICAgICAgICAgICAgIDwhLS0gPGJ1dHRvbiAqbmdJZj1cInZhbHVlXCIgbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiBhcmlhLWxhYmVsPVwiQ2xlYXJcIiAoY2xpY2spPVwidmFsdWU9JydcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+IC0tPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiBmeEZsZXg9XCIxNSVcIiBtYXQtYnV0dG9uIChjbGljayk9XCJTdWJtaXQoKVwiIGlkPVwic3VibWl0LWJ0blwiPlN1Ym1pdDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPG1hdC1jYXJkLWFjdGlvbnMgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIGNlbnRlclwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIkNyZWF0ZVB1bGxSZXF1ZXN0KClcIiBpZD1cInByLWJ0blwiPlB1bGwgUmVxdWVzdDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cIk9wZW5Jc3N1ZSgpXCIgaWQ9XCJvaS1idG5cIj5PcGVuIElzc3VlPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwiQ3JlYXRlRmVhdHVyZUJyYW5jaCgpXCIgaWQ9XCJmYi1idG5cIj5GZWF0dXJlIEJyYW5jaDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiT3Blbk1vcmVJbmZvKClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5tb3JlX2hvcml6PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtY2FyZC1hY3Rpb25zPlxuICA8L21hdC1jYXJkPiJdfQ==
@@ -0,0 +1,128 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import moment from 'moment';
3
+ import { SourceControlDialogComponent } from '../../dialogs/source-control-dialog/source-control-dialog.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../services/eac.service";
6
+ import * as i2 from "@angular/material/dialog";
7
+ import * as i3 from "@angular/material/card";
8
+ import * as i4 from "@angular/material/icon";
9
+ import * as i5 from "@angular/material/button";
10
+ import * as i6 from "@angular/common";
11
+ import * as i7 from "@angular/flex-layout/flex";
12
+ export class MainFeedCardComponent {
13
+ constructor(eacSvc, dialog) {
14
+ this.eacSvc = eacSvc;
15
+ this.dialog = dialog;
16
+ }
17
+ get ActiveEnvironment() {
18
+ return this.State?.EaC?.Environments[this.ActiveEnvironmentLookup];
19
+ }
20
+ get ActiveEnvironmentLookup() {
21
+ // TODO: Eventually support multiple environments
22
+ const envLookups = Object.keys(this.State?.EaC?.Environments || {});
23
+ return envLookups[0];
24
+ }
25
+ get Environment() {
26
+ // console.log("Ent Environment var: ", this.State?.EaC?.Environments[this.State?.EaC?.Enterprise?.PrimaryEnvironment]);
27
+ return this.State?.EaC?.Environments[this.State?.EaC?.Enterprise?.PrimaryEnvironment];
28
+ }
29
+ get Icon() {
30
+ if (this.FeedItem.Status.Code === 0) {
31
+ return 'check_circle';
32
+ }
33
+ else if (this.FeedItem.Status.Code === 1) {
34
+ return 'cancel';
35
+ }
36
+ else if (this.FeedItem.Status.Code === 2) {
37
+ return 'sync';
38
+ }
39
+ else {
40
+ return 'help_outline';
41
+ }
42
+ }
43
+ get IconColor() {
44
+ if (this.FeedItem.Status.Code === 0) {
45
+ return 'green';
46
+ }
47
+ else if (this.FeedItem.Status.Code === 1) {
48
+ return 'red';
49
+ }
50
+ else if (this.FeedItem.Status.Code === 2) {
51
+ return 'blue';
52
+ }
53
+ else {
54
+ return 'gray';
55
+ }
56
+ }
57
+ get State() {
58
+ return this.eacSvc.State;
59
+ }
60
+ // Life Cycle
61
+ ngOnInit() {
62
+ this.handleRefresh();
63
+ }
64
+ // API Methods
65
+ CalculateTimelapse(timestamp) {
66
+ return moment(timestamp).fromNow();
67
+ }
68
+ HandleAction(action) {
69
+ if (action.ActionType == 'Link') {
70
+ if (action.Action.startsWith('http')) {
71
+ window.open(action.Action, '_blank');
72
+ }
73
+ else {
74
+ window.location.href = action.Action;
75
+ }
76
+ }
77
+ else if (action.ActionType == 'Modal') {
78
+ if (action.Action == 'AddSourceControl') {
79
+ this.OpenSourceControlDialog('');
80
+ }
81
+ else {
82
+ alert('other modaled ' + action.Action);
83
+ }
84
+ }
85
+ }
86
+ OpenSourceControlDialog(scLookup) {
87
+ const dialogRef = this.dialog.open(SourceControlDialogComponent, {
88
+ width: '550px',
89
+ data: {
90
+ environment: this.Environment,
91
+ environmentLookup: this.ActiveEnvironmentLookup,
92
+ scLookup: scLookup,
93
+ },
94
+ });
95
+ dialogRef.afterClosed().subscribe((result) => {
96
+ // console.log('The dialog was closed');
97
+ // console.log("result:", result)
98
+ });
99
+ }
100
+ // Helpers
101
+ handleRefresh() {
102
+ if (this.FeedItem?.RefreshLink) {
103
+ setTimeout(() => {
104
+ this.eacSvc.CheckUserFeedItem(this.FeedItem).subscribe(async (response) => {
105
+ if (response.Status.Code === 0) {
106
+ this.FeedItem = response.Model;
107
+ this.handleRefresh();
108
+ }
109
+ else {
110
+ console.log(response);
111
+ }
112
+ }, (err) => {
113
+ console.log(err);
114
+ });
115
+ }, 5000);
116
+ }
117
+ }
118
+ }
119
+ MainFeedCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: MainFeedCardComponent, deps: [{ token: i1.EaCService }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
120
+ MainFeedCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: MainFeedCardComponent, selector: "lcu-main-feed-card", inputs: { FeedItem: ["feed-item", "FeedItem"] }, ngImport: i0, template: "<mat-card class=\"social-card\">\n <mat-card-header>\n <img\n mat-card-avatar\n class=\"example-header-image\"\n [src]=\"FeedItem.Avatar\"\n *ngIf=\"FeedItem.Avatar\"\n />\n\n <mat-card-title *ngIf=\"FeedItem.Title\">{{ FeedItem.Title }}</mat-card-title>\n\n <mat-card-subtitle>\n <div *ngIf=\"FeedItem.Subtitle\">{{ FeedItem.Subtitle }}</div>\n <div *ngIf=\"FeedItem.Status\">\n <mat-icon\n *ngIf=\"Icon\"\n [style.color]=\"IconColor\"\n [class.spin]=\"FeedItem.Status?.Code == 2\"\n >\n {{ Icon }}\n </mat-icon>\n\n <span *ngIf=\"FeedItem.Timestamp\">\n {{ CalculateTimelapse(FeedItem.Timestamp) }}\n </span>\n </div>\n </mat-card-subtitle>\n </mat-card-header>\n\n <div *ngIf=\"!FeedItem.IsShortForm\">\n <!-- <div class=\"feed-card-container\">\n <div class=\"feed-card-main-content\">\n The tab content (only 1 'tab' for now)... So really we don't need to worry about tabs until a future iteration\n\n The tabs property will contain a data structure that will vary by the FeedItem.Type... That structure can be used to render the content\n </div>\n </div> -->\n </div>\n\n <mat-card-actions fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <div fxFlex></div>\n\n <ng-container *ngFor=\"let action of FeedItem.Actions\">\n <button mat-button [color]=\"action.Color\" (click)=\"HandleAction(action)\">\n <mat-icon *ngIf=\"action.Icon\">{{ action.Icon }}</mat-icon>\n\n {{ action.Text }}\n </button>\n </ng-container>\n </mat-card-actions>\n</mat-card>\n", styles: [":host :host ::ng-deep .social-card{margin:20px;padding:15px 5px}:host :host ::ng-deep mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}:host :host ::ng-deep .main-slot-container{padding:10px}:host :host ::ng-deep .slot-header{align-items:center}:host :host ::ng-deep .slot-content{width:100%}:host :host ::ng-deep .slot-name{font-size:13px;font-weight:600}:host :host ::ng-deep .slot-description{font-size:12px;margin-right:10px}:host :host ::ng-deep .slot-action-anchor{font-size:10px;text-decoration:none;color:#000}:host :host ::ng-deep .action-icon{height:25px;width:25px;font-size:25px;cursor:pointer}:host .example-header-image{background-size:cover}:host .mat-icon{display:inline-flex;vertical-align:middle}:host .mat-icon.spin{animation:rotate 1s ease-in-out infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], components: [{ type: i3.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i3.MatCardHeader, selector: "mat-card-header" }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatCardAvatar, selector: "[mat-card-avatar], [matCardAvatar]" }, { type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i3.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { type: i3.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: MainFeedCardComponent, decorators: [{
122
+ type: Component,
123
+ args: [{ selector: 'lcu-main-feed-card', template: "<mat-card class=\"social-card\">\n <mat-card-header>\n <img\n mat-card-avatar\n class=\"example-header-image\"\n [src]=\"FeedItem.Avatar\"\n *ngIf=\"FeedItem.Avatar\"\n />\n\n <mat-card-title *ngIf=\"FeedItem.Title\">{{ FeedItem.Title }}</mat-card-title>\n\n <mat-card-subtitle>\n <div *ngIf=\"FeedItem.Subtitle\">{{ FeedItem.Subtitle }}</div>\n <div *ngIf=\"FeedItem.Status\">\n <mat-icon\n *ngIf=\"Icon\"\n [style.color]=\"IconColor\"\n [class.spin]=\"FeedItem.Status?.Code == 2\"\n >\n {{ Icon }}\n </mat-icon>\n\n <span *ngIf=\"FeedItem.Timestamp\">\n {{ CalculateTimelapse(FeedItem.Timestamp) }}\n </span>\n </div>\n </mat-card-subtitle>\n </mat-card-header>\n\n <div *ngIf=\"!FeedItem.IsShortForm\">\n <!-- <div class=\"feed-card-container\">\n <div class=\"feed-card-main-content\">\n The tab content (only 1 'tab' for now)... So really we don't need to worry about tabs until a future iteration\n\n The tabs property will contain a data structure that will vary by the FeedItem.Type... That structure can be used to render the content\n </div>\n </div> -->\n </div>\n\n <mat-card-actions fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <div fxFlex></div>\n\n <ng-container *ngFor=\"let action of FeedItem.Actions\">\n <button mat-button [color]=\"action.Color\" (click)=\"HandleAction(action)\">\n <mat-icon *ngIf=\"action.Icon\">{{ action.Icon }}</mat-icon>\n\n {{ action.Text }}\n </button>\n </ng-container>\n </mat-card-actions>\n</mat-card>\n", styles: [":host :host ::ng-deep .social-card{margin:20px;padding:15px 5px}:host :host ::ng-deep mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}:host :host ::ng-deep .main-slot-container{padding:10px}:host :host ::ng-deep .slot-header{align-items:center}:host :host ::ng-deep .slot-content{width:100%}:host :host ::ng-deep .slot-name{font-size:13px;font-weight:600}:host :host ::ng-deep .slot-description{font-size:12px;margin-right:10px}:host :host ::ng-deep .slot-action-anchor{font-size:10px;text-decoration:none;color:#000}:host :host ::ng-deep .action-icon{height:25px;width:25px;font-size:25px;cursor:pointer}:host .example-header-image{background-size:cover}:host .mat-icon{display:inline-flex;vertical-align:middle}:host .mat-icon.spin{animation:rotate 1s ease-in-out infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
124
+ }], ctorParameters: function () { return [{ type: i1.EaCService }, { type: i2.MatDialog }]; }, propDecorators: { FeedItem: [{
125
+ type: Input,
126
+ args: ['feed-item']
127
+ }] } });
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1mZWVkLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvZWxlbWVudHMvbWFpbi1mZWVkLWNhcmQvbWFpbi1mZWVkLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvZWxlbWVudHMvbWFpbi1mZWVkLWNhcmQvbWFpbi1mZWVkLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBSTVCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFFQUFxRSxDQUFDOzs7Ozs7Ozs7QUFVbkgsTUFBTSxPQUFPLHFCQUFxQjtJQWtEaEMsWUFBc0IsTUFBa0IsRUFBWSxNQUFpQjtRQUEvQyxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQVksV0FBTSxHQUFOLE1BQU0sQ0FBVztJQUFHLENBQUM7SUFqRHpFLElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxJQUFXLHVCQUF1QjtRQUNoQyxtREFBbUQ7UUFDbkQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxZQUFZLElBQUksRUFBRSxDQUFDLENBQUM7UUFFcEUsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQix3SEFBd0g7UUFDeEgsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxZQUFZLENBQ2xDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsQ0FDaEQsQ0FBQztJQUNKLENBQUM7SUFLRCxJQUFXLElBQUk7UUFDYixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDbkMsT0FBTyxjQUFjLENBQUM7U0FDdkI7YUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDMUMsT0FBTyxRQUFRLENBQUM7U0FDakI7YUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDMUMsT0FBTyxNQUFNLENBQUM7U0FDZjthQUFNO1lBQ0wsT0FBTyxjQUFjLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtZQUNuQyxPQUFPLE9BQU8sQ0FBQztTQUNoQjthQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtZQUMxQyxPQUFPLEtBQUssQ0FBQztTQUNkO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFO1lBQzFDLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7YUFBTTtZQUNMLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBSUQsY0FBYztJQUNQLFFBQVE7UUFDYixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGVBQWU7SUFDUixrQkFBa0IsQ0FBQyxTQUFlO1FBQ3ZDLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxZQUFZLENBQUMsTUFBc0I7UUFDeEMsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLE1BQU0sRUFBRTtZQUMvQixJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDdEM7aUJBQU07Z0JBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQzthQUN0QztTQUNGO2FBQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLE9BQU8sRUFBRTtZQUN2QyxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksa0JBQWtCLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNsQztpQkFBTTtnQkFDTCxLQUFLLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3pDO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBZ0I7UUFDN0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUU7WUFDL0QsS0FBSyxFQUFFLE9BQU87WUFDZCxJQUFJLEVBQUU7Z0JBQ0osV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixpQkFBaUIsRUFBRSxJQUFJLENBQUMsdUJBQXVCO2dCQUMvQyxRQUFRLEVBQUUsUUFBUTthQUNuQjtTQUNGLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMzQyx3Q0FBd0M7WUFDeEMsaUNBQWlDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7SUFDRCxhQUFhO1FBQ3JCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUU7WUFDOUIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQ3BELEtBQUssRUFBRSxRQUF1QyxFQUFFLEVBQUU7b0JBQ2hELElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFO3dCQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7d0JBRS9CLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztxQkFDdEI7eUJBQU07d0JBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztxQkFDdkI7Z0JBQ0gsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbkIsQ0FBQyxDQUNGLENBQUM7WUFDSixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDVjtJQUNILENBQUM7O2tIQWxIVSxxQkFBcUI7c0dBQXJCLHFCQUFxQiwyR0NoQmxDLGdwREFtREE7MkZEbkNhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxvQkFBb0I7eUhBd0J2QixRQUFRO3NCQURkLEtBQUs7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmVlZEl0ZW0sIEZlZWRJdGVtQWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXItZmVlZC5tb2RlbCc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBKc29uSHViUHJvdG9jb2wgfSBmcm9tICdAYXNwbmV0L3NpZ25hbHInO1xuaW1wb3J0IHsgRWFDU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2VNb2RlbGVkUmVzcG9uc2UgfSBmcm9tICdAbGN1L2NvbW1vbic7XG5pbXBvcnQgeyBTb3VyY2VDb250cm9sRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGlhbG9ncy9zb3VyY2UtY29udHJvbC1kaWFsb2cvc291cmNlLWNvbnRyb2wtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgRWFDRW52aXJvbm1lbnRBc0NvZGUgfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd1N0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUvYXBwbGljYXRpb25zLWZsb3cuc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsY3UtbWFpbi1mZWVkLWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFpbi1mZWVkLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYWluLWZlZWQtY2FyZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNYWluRmVlZENhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgZ2V0IEFjdGl2ZUVudmlyb25tZW50KCk6IEVhQ0Vudmlyb25tZW50QXNDb2RlIHtcbiAgICByZXR1cm4gdGhpcy5TdGF0ZT8uRWFDPy5FbnZpcm9ubWVudHNbdGhpcy5BY3RpdmVFbnZpcm9ubWVudExvb2t1cF07XG4gIH1cblxuICBwdWJsaWMgZ2V0IEFjdGl2ZUVudmlyb25tZW50TG9va3VwKCk6IHN0cmluZyB7XG4gICAgLy8gIFRPRE86ICBFdmVudHVhbGx5IHN1cHBvcnQgbXVsdGlwbGUgZW52aXJvbm1lbnRzXG4gICAgY29uc3QgZW52TG9va3VwcyA9IE9iamVjdC5rZXlzKHRoaXMuU3RhdGU/LkVhQz8uRW52aXJvbm1lbnRzIHx8IHt9KTtcblxuICAgIHJldHVybiBlbnZMb29rdXBzWzBdO1xuICB9XG5cbiAgcHVibGljIGdldCBFbnZpcm9ubWVudCgpOiBFYUNFbnZpcm9ubWVudEFzQ29kZSB7XG4gICAgLy8gY29uc29sZS5sb2coXCJFbnQgRW52aXJvbm1lbnQgdmFyOiBcIiwgdGhpcy5TdGF0ZT8uRWFDPy5FbnZpcm9ubWVudHNbdGhpcy5TdGF0ZT8uRWFDPy5FbnRlcnByaXNlPy5QcmltYXJ5RW52aXJvbm1lbnRdKTtcbiAgICByZXR1cm4gdGhpcy5TdGF0ZT8uRWFDPy5FbnZpcm9ubWVudHNbXG4gICAgICB0aGlzLlN0YXRlPy5FYUM/LkVudGVycHJpc2U/LlByaW1hcnlFbnZpcm9ubWVudFxuICAgIF07XG4gIH1cblxuICBASW5wdXQoJ2ZlZWQtaXRlbScpXG4gIHB1YmxpYyBGZWVkSXRlbTogRmVlZEl0ZW07XG5cbiAgcHVibGljIGdldCBJY29uKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuRmVlZEl0ZW0uU3RhdHVzLkNvZGUgPT09IDApIHtcbiAgICAgIHJldHVybiAnY2hlY2tfY2lyY2xlJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuRmVlZEl0ZW0uU3RhdHVzLkNvZGUgPT09IDEpIHtcbiAgICAgIHJldHVybiAnY2FuY2VsJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuRmVlZEl0ZW0uU3RhdHVzLkNvZGUgPT09IDIpIHtcbiAgICAgIHJldHVybiAnc3luYyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnaGVscF9vdXRsaW5lJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IEljb25Db2xvcigpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLkZlZWRJdGVtLlN0YXR1cy5Db2RlID09PSAwKSB7XG4gICAgICByZXR1cm4gJ2dyZWVuJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuRmVlZEl0ZW0uU3RhdHVzLkNvZGUgPT09IDEpIHtcbiAgICAgIHJldHVybiAncmVkJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuRmVlZEl0ZW0uU3RhdHVzLkNvZGUgPT09IDIpIHtcbiAgICAgIHJldHVybiAnYmx1ZSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnZ3JheSc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBTdGF0ZSgpOiBBcHBsaWNhdGlvbnNGbG93U3RhdGUge1xuICAgIHJldHVybiB0aGlzLmVhY1N2Yy5TdGF0ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBlYWNTdmM6IEVhQ1NlcnZpY2UsIHByb3RlY3RlZCBkaWFsb2c6IE1hdERpYWxvZykge31cblxuICAvLyAgTGlmZSBDeWNsZVxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVSZWZyZXNoKCk7XG4gIH1cblxuICAvLyAgQVBJIE1ldGhvZHNcbiAgcHVibGljIENhbGN1bGF0ZVRpbWVsYXBzZSh0aW1lc3RhbXA6IERhdGUpIHtcbiAgICByZXR1cm4gbW9tZW50KHRpbWVzdGFtcCkuZnJvbU5vdygpO1xuICB9XG5cbiAgcHVibGljIEhhbmRsZUFjdGlvbihhY3Rpb246IEZlZWRJdGVtQWN0aW9uKSB7XG4gICAgaWYgKGFjdGlvbi5BY3Rpb25UeXBlID09ICdMaW5rJykge1xuICAgICAgaWYgKGFjdGlvbi5BY3Rpb24uc3RhcnRzV2l0aCgnaHR0cCcpKSB7XG4gICAgICAgIHdpbmRvdy5vcGVuKGFjdGlvbi5BY3Rpb24sICdfYmxhbmsnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYWN0aW9uLkFjdGlvbjtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGFjdGlvbi5BY3Rpb25UeXBlID09ICdNb2RhbCcpIHtcbiAgICAgIGlmIChhY3Rpb24uQWN0aW9uID09ICdBZGRTb3VyY2VDb250cm9sJykge1xuICAgICAgICB0aGlzLk9wZW5Tb3VyY2VDb250cm9sRGlhbG9nKCcnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFsZXJ0KCdvdGhlciBtb2RhbGVkICcgKyBhY3Rpb24uQWN0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgT3BlblNvdXJjZUNvbnRyb2xEaWFsb2coc2NMb29rdXA6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oU291cmNlQ29udHJvbERpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc1NTBweCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGVudmlyb25tZW50OiB0aGlzLkVudmlyb25tZW50LFxuICAgICAgICBlbnZpcm9ubWVudExvb2t1cDogdGhpcy5BY3RpdmVFbnZpcm9ubWVudExvb2t1cCxcbiAgICAgICAgc2NMb29rdXA6IHNjTG9va3VwLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAvLyBjb25zb2xlLmxvZygnVGhlIGRpYWxvZyB3YXMgY2xvc2VkJyk7XG4gICAgICAvLyBjb25zb2xlLmxvZyhcInJlc3VsdDpcIiwgcmVzdWx0KVxuICAgIH0pO1xuICB9XG5cbiAgLy8gIEhlbHBlcnNcbiAgcHJvdGVjdGVkIGhhbmRsZVJlZnJlc2goKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuRmVlZEl0ZW0/LlJlZnJlc2hMaW5rKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5lYWNTdmMuQ2hlY2tVc2VyRmVlZEl0ZW0odGhpcy5GZWVkSXRlbSkuc3Vic2NyaWJlKFxuICAgICAgICAgIGFzeW5jIChyZXNwb25zZTogQmFzZU1vZGVsZWRSZXNwb25zZTxGZWVkSXRlbT4pID0+IHtcbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5TdGF0dXMuQ29kZSA9PT0gMCkge1xuICAgICAgICAgICAgICB0aGlzLkZlZWRJdGVtID0gcmVzcG9uc2UuTW9kZWw7XG5cbiAgICAgICAgICAgICAgdGhpcy5oYW5kbGVSZWZyZXNoKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH0sIDUwMDApO1xuICAgIH1cbiAgfVxufVxuIiwiPG1hdC1jYXJkIGNsYXNzPVwic29jaWFsLWNhcmRcIj5cbiAgPG1hdC1jYXJkLWhlYWRlcj5cbiAgICA8aW1nXG4gICAgICBtYXQtY2FyZC1hdmF0YXJcbiAgICAgIGNsYXNzPVwiZXhhbXBsZS1oZWFkZXItaW1hZ2VcIlxuICAgICAgW3NyY109XCJGZWVkSXRlbS5BdmF0YXJcIlxuICAgICAgKm5nSWY9XCJGZWVkSXRlbS5BdmF0YXJcIlxuICAgIC8+XG5cbiAgICA8bWF0LWNhcmQtdGl0bGUgKm5nSWY9XCJGZWVkSXRlbS5UaXRsZVwiPnt7IEZlZWRJdGVtLlRpdGxlIH19PC9tYXQtY2FyZC10aXRsZT5cblxuICAgIDxtYXQtY2FyZC1zdWJ0aXRsZT5cbiAgICAgIDxkaXYgKm5nSWY9XCJGZWVkSXRlbS5TdWJ0aXRsZVwiPnt7IEZlZWRJdGVtLlN1YnRpdGxlIH19PC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiRmVlZEl0ZW0uU3RhdHVzXCI+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICpuZ0lmPVwiSWNvblwiXG4gICAgICAgICAgW3N0eWxlLmNvbG9yXT1cIkljb25Db2xvclwiXG4gICAgICAgICAgW2NsYXNzLnNwaW5dPVwiRmVlZEl0ZW0uU3RhdHVzPy5Db2RlID09IDJcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgSWNvbiB9fVxuICAgICAgICA8L21hdC1pY29uPlxuXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiRmVlZEl0ZW0uVGltZXN0YW1wXCI+XG4gICAgICAgICAge3sgQ2FsY3VsYXRlVGltZWxhcHNlKEZlZWRJdGVtLlRpbWVzdGFtcCkgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtY2FyZC1zdWJ0aXRsZT5cbiAgPC9tYXQtY2FyZC1oZWFkZXI+XG5cbiAgPGRpdiAqbmdJZj1cIiFGZWVkSXRlbS5Jc1Nob3J0Rm9ybVwiPlxuICAgIDwhLS0gPGRpdiBjbGFzcz1cImZlZWQtY2FyZC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZlZWQtY2FyZC1tYWluLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIFRoZSB0YWIgY29udGVudCAob25seSAxICd0YWInIGZvciBub3cpLi4uICBTbyByZWFsbHkgd2UgZG9uJ3QgbmVlZCB0byB3b3JyeSBhYm91dCB0YWJzIHVudGlsIGEgZnV0dXJlIGl0ZXJhdGlvblxuXG4gICAgICAgICAgICBUaGUgdGFicyBwcm9wZXJ0eSB3aWxsIGNvbnRhaW4gYSBkYXRhIHN0cnVjdHVyZSB0aGF0IHdpbGwgdmFyeSBieSB0aGUgRmVlZEl0ZW0uVHlwZS4uLiAgVGhhdCBzdHJ1Y3R1cmUgY2FuIGJlIHVzZWQgdG8gcmVuZGVyIHRoZSBjb250ZW50XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PiAtLT5cbiAgPC9kaXY+XG5cbiAgPG1hdC1jYXJkLWFjdGlvbnMgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIGNlbnRlclwiPlxuICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIEZlZWRJdGVtLkFjdGlvbnNcIj5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbY29sb3JdPVwiYWN0aW9uLkNvbG9yXCIgKGNsaWNrKT1cIkhhbmRsZUFjdGlvbihhY3Rpb24pXCI+XG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImFjdGlvbi5JY29uXCI+e3sgYWN0aW9uLkljb24gfX08L21hdC1pY29uPlxuXG4gICAgICAgIHt7IGFjdGlvbi5UZXh0IH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtY2FyZC1hY3Rpb25zPlxuPC9tYXQtY2FyZD5cbiJdfQ==
@@ -0,0 +1,76 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { UpgradeDialogComponent } from '../../dialogs/upgrade-dialog/upgrade-dialog.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/eac.service";
5
+ import * as i2 from "@angular/material/dialog";
6
+ import * as i3 from "@angular/material/card";
7
+ import * as i4 from "skeleton-elements/angular";
8
+ import * as i5 from "@angular/material/icon";
9
+ import * as i6 from "@angular/material/button";
10
+ import * as i7 from "@angular/common";
11
+ import * as i8 from "@angular/flex-layout/flex";
12
+ export class ProjectInfoCardComponent {
13
+ constructor(eacSvc, dialog) {
14
+ this.eacSvc = eacSvc;
15
+ this.dialog = dialog;
16
+ this.LeftClickEvent = new EventEmitter();
17
+ this.RightClickEvent = new EventEmitter();
18
+ this.SkeletonEffect = 'wave';
19
+ }
20
+ get State() {
21
+ return this.eacSvc.State;
22
+ }
23
+ ngOnInit() {
24
+ // console.log("loading = ", this.Loading)
25
+ // console.log("is shareable: ", this.IsShareable);
26
+ // console.log("is editable: ", this.IsEditable);
27
+ }
28
+ LeftIconClicked() {
29
+ this.LeftClickEvent.emit({});
30
+ }
31
+ RightIconClicked() {
32
+ console.log("share clicked");
33
+ this.RightClickEvent.emit({});
34
+ }
35
+ UpgradeClicked() {
36
+ const dialogRef = this.dialog.open(UpgradeDialogComponent, {
37
+ width: '600px',
38
+ data: {},
39
+ });
40
+ dialogRef.afterClosed().subscribe((result) => {
41
+ // console.log('The dialog was closed');
42
+ // console.log("result:", result)
43
+ });
44
+ }
45
+ }
46
+ ProjectInfoCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ProjectInfoCardComponent, deps: [{ token: i1.EaCService }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
47
+ ProjectInfoCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: ProjectInfoCardComponent, selector: "lcu-project-info-card", inputs: { Description: ["description", "Description"], Image: ["image", "Image"], IsEditable: ["is-editable", "IsEditable"], IsShareable: ["is-shareable", "IsShareable"], Name: ["name", "Name"], Subtext: ["subtext", "Subtext"] }, outputs: { LeftClickEvent: "left-click-event", RightClickEvent: "right-click-event" }, ngImport: i0, template: "<mat-card class=\"project-info-card\">\n\n <!-- SKELETON CONTENT -->\n <ng-container *ngIf=\"State?.Loading\">\n <div class=\"header-img-container\" fxLayout=\"row\" >\n <skeleton-avatar class=\"round-project-img\" [effect]=\"SkeletonEffect\" [size]=\"75\" ></skeleton-avatar >\n </div>\n\n <mat-card-header class=\"project-card-header\" fxLayoutAlign=\"center center\">\n\n <mat-card-title \n skeleton-text \n [effect]=\"SkeletonEffect\"\n class=\"project-card-name\" \n >\n Name of card\n </mat-card-title>\n\n <mat-card-subtitle \n skeleton-text \n [effect]=\"SkeletonEffect\" \n class=\"project-card-description\" \n >\n Description Text\n </mat-card-subtitle>\n\n <mat-card-subtitle class=\"project-card-host\">\n <div \n skeleton-text \n [effect]=\"SkeletonEffect\" \n class=\"host-anchor\" \n >\n https://www.fathym.com\n </div>\n </mat-card-subtitle>\n\n </mat-card-header>\n <mat-card-content class=\"card-content-container\">\n <div skeleton-block [effect]=\"SkeletonEffect\" class=\"stats-container\">\n </div>\n\n <div \n class=\"promo-container-skeleton\" \n fxLayout=\"column\" \n fxLayoutAlign=\"center center\" \n >\n \n <div \n skeleton-text \n [effect]=\"SkeletonEffect\"\n class=\"skeleton-item\"\n >\n Access exclusive tools & insights\n </div>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon skeleton-text [effect]=\"SkeletonEffect\" class=\"skeleton-item\">emoji_events</mat-icon>\n\n <div skeleton-text [effect]=\"SkeletonEffect\" class=\"skeleton-item\" >\n Upgrade to premium now\n </div>\n </div>\n </div>\n\n </mat-card-content>\n <mat-card-actions class=\"actions-container-skeleton\" fxLayoutAlign=\"center center\">\n <div skeleton-text [effect]=\"SkeletonEffect\" class=\"skeleton-item\" action mat-button >\n <mat-icon skeleton-text [effect]=\"SkeletonEffect\" class=\"skeleton-item\">outbox</mat-icon>\n Unpack\n </div>\n \n </mat-card-actions>\n </ng-container>\n <!-- END SKELETON CONTENT -->\n\n <!-- ACTUAL CONTENT -->\n\n<ng-container *ngIf=\"!State?.Loading\">\n\n <div class=\"header-img-container\" fxLayout=\"row\" >\n <div class=\"round-project-img\" fxLayoutAlign=\"center center\">\n <mat-icon *ngIf=\"!Image\" class=\"temp-icon\">flutter_dash</mat-icon>\n <img *ngIf=\"Image\" [src]=\"Image\" [alt]=\"Name\" style=\"width:75px; height:75px\">\n </div>\n </div>\n\n <div class=\"icon-btn-container\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\" >\n <button *ngIf=\"IsEditable\" mat-icon-button id=\"left-icon\" (click)=\"LeftIconClicked()\">\n <mat-icon>edit</mat-icon>\n </button>\n <button *ngIf=\"IsShareable\" mat-icon-button id=\"right-icon\" (click)=\"RightIconClicked()\">\n <mat-icon>share</mat-icon>\n </button>\n </div>\n\n <mat-card-header class=\"project-card-header\" fxLayoutAlign=\"center center\">\n\n <mat-card-title class=\"project-card-name\" *ngIf=\"Name\">{{Name}}</mat-card-title>\n\n <mat-card-subtitle class=\"project-card-description\" *ngIf=\"Description\">{{Description}}</mat-card-subtitle>\n\n <mat-card-subtitle class=\"project-card-host\">\n <a class=\"host-anchor\" *ngIf=\"Subtext\" [href]=\"'https://'+Subtext\" target=\"_blank\">{{Subtext}}</a>\n </mat-card-subtitle>\n\n </mat-card-header>\n <mat-card-content class=\"card-content-container\">\n <div class=\"stats-container\">\n <ng-content select=\"[stats]\"></ng-content>\n </div>\n\n <!-- <div class=\"promo-container\"> -->\n <!-- <ng-content select=\"[promo]\"></ng-content> -->\n <div class=\"promo-container\" \n fxLayout=\"column\" \n fxLayoutAlign=\"center center\" \n (click)=\"UpgradeClicked()\"\n \n >\n \n <div>Access exclusive tools & insights</div>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon class=\"gold-icon\">emoji_events</mat-icon>\n\n <div class=\"upgrade-text\" (click)=\"UpgradeClicked()\">\n Upgrade to premium now\n </div>\n </div>\n </div>\n <!-- </div> -->\n\n </mat-card-content>\n <mat-card-actions class=\"actions-container\">\n <ng-content select=\"[action]\"></ng-content>\n \n </mat-card-actions>\n </ng-container>\n </mat-card>\n \n", styles: [".project-info-card{margin:20px;padding:0}.round-project-img{background-color:#dfeff2;width:75px;height:75px;border-radius:40px;text-align:center;margin-top:20px;border:2px solid white}.temp-icon{height:50px;width:50px;font-size:50px}.icon-btn-container{margin:5px}.project-card-header{text-align:center;margin-top:50px}.host-anchor{text-decoration:none;color:#4a918e}.header-img-container{background-color:#a4bab3;height:60px;border-radius:2px 2px 0 0;margin-top:-.5px!important;margin-right:-.5px;justify-content:center}.project-card-name{font-size:17px;font-weight:600}.card-content-container{margin-bottom:0!important}.stats-container{border-top:1px solid #b9dddd}.promo-container{cursor:pointer}.gold-icon{color:#d4af37}.upgrade-text{font-weight:700;margin-left:10px;cursor:pointer}mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}.promo-container-skeleton{margin:5px}.actions-container{padding:0!important}.actions-container-skeleton{padding:0!important;border-top:1px solid #b9dddd}.info-card-btn{width:100%;border-radius:0 0 2px 2px;border-top:1px solid #b9dddd}.skeleton-item{margin:5px}\n"], components: [{ type: i3.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i4.SkeletonAvatarComponent, selector: "skeleton-avatar", inputs: ["size", "color", "showIcon", "iconColor", "borderRadius", "effect"] }, { type: i3.MatCardHeader, selector: "mat-card-header" }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i8.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i4.SkeletonTextDirective, selector: "[skeleton-text]", inputs: ["effect"] }, { type: i3.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { type: i3.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i3.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }] });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ProjectInfoCardComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'lcu-project-info-card', template: "<mat-card class=\"project-info-card\">\n\n <!-- SKELETON CONTENT -->\n <ng-container *ngIf=\"State?.Loading\">\n <div class=\"header-img-container\" fxLayout=\"row\" >\n <skeleton-avatar class=\"round-project-img\" [effect]=\"SkeletonEffect\" [size]=\"75\" ></skeleton-avatar >\n </div>\n\n <mat-card-header class=\"project-card-header\" fxLayoutAlign=\"center center\">\n\n <mat-card-title \n skeleton-text \n [effect]=\"SkeletonEffect\"\n class=\"project-card-name\" \n >\n Name of card\n </mat-card-title>\n\n <mat-card-subtitle \n skeleton-text \n [effect]=\"SkeletonEffect\" \n class=\"project-card-description\" \n >\n Description Text\n </mat-card-subtitle>\n\n <mat-card-subtitle class=\"project-card-host\">\n <div \n skeleton-text \n [effect]=\"SkeletonEffect\" \n class=\"host-anchor\" \n >\n https://www.fathym.com\n </div>\n </mat-card-subtitle>\n\n </mat-card-header>\n <mat-card-content class=\"card-content-container\">\n <div skeleton-block [effect]=\"SkeletonEffect\" class=\"stats-container\">\n </div>\n\n <div \n class=\"promo-container-skeleton\" \n fxLayout=\"column\" \n fxLayoutAlign=\"center center\" \n >\n \n <div \n skeleton-text \n [effect]=\"SkeletonEffect\"\n class=\"skeleton-item\"\n >\n Access exclusive tools & insights\n </div>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon skeleton-text [effect]=\"SkeletonEffect\" class=\"skeleton-item\">emoji_events</mat-icon>\n\n <div skeleton-text [effect]=\"SkeletonEffect\" class=\"skeleton-item\" >\n Upgrade to premium now\n </div>\n </div>\n </div>\n\n </mat-card-content>\n <mat-card-actions class=\"actions-container-skeleton\" fxLayoutAlign=\"center center\">\n <div skeleton-text [effect]=\"SkeletonEffect\" class=\"skeleton-item\" action mat-button >\n <mat-icon skeleton-text [effect]=\"SkeletonEffect\" class=\"skeleton-item\">outbox</mat-icon>\n Unpack\n </div>\n \n </mat-card-actions>\n </ng-container>\n <!-- END SKELETON CONTENT -->\n\n <!-- ACTUAL CONTENT -->\n\n<ng-container *ngIf=\"!State?.Loading\">\n\n <div class=\"header-img-container\" fxLayout=\"row\" >\n <div class=\"round-project-img\" fxLayoutAlign=\"center center\">\n <mat-icon *ngIf=\"!Image\" class=\"temp-icon\">flutter_dash</mat-icon>\n <img *ngIf=\"Image\" [src]=\"Image\" [alt]=\"Name\" style=\"width:75px; height:75px\">\n </div>\n </div>\n\n <div class=\"icon-btn-container\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\" >\n <button *ngIf=\"IsEditable\" mat-icon-button id=\"left-icon\" (click)=\"LeftIconClicked()\">\n <mat-icon>edit</mat-icon>\n </button>\n <button *ngIf=\"IsShareable\" mat-icon-button id=\"right-icon\" (click)=\"RightIconClicked()\">\n <mat-icon>share</mat-icon>\n </button>\n </div>\n\n <mat-card-header class=\"project-card-header\" fxLayoutAlign=\"center center\">\n\n <mat-card-title class=\"project-card-name\" *ngIf=\"Name\">{{Name}}</mat-card-title>\n\n <mat-card-subtitle class=\"project-card-description\" *ngIf=\"Description\">{{Description}}</mat-card-subtitle>\n\n <mat-card-subtitle class=\"project-card-host\">\n <a class=\"host-anchor\" *ngIf=\"Subtext\" [href]=\"'https://'+Subtext\" target=\"_blank\">{{Subtext}}</a>\n </mat-card-subtitle>\n\n </mat-card-header>\n <mat-card-content class=\"card-content-container\">\n <div class=\"stats-container\">\n <ng-content select=\"[stats]\"></ng-content>\n </div>\n\n <!-- <div class=\"promo-container\"> -->\n <!-- <ng-content select=\"[promo]\"></ng-content> -->\n <div class=\"promo-container\" \n fxLayout=\"column\" \n fxLayoutAlign=\"center center\" \n (click)=\"UpgradeClicked()\"\n \n >\n \n <div>Access exclusive tools & insights</div>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon class=\"gold-icon\">emoji_events</mat-icon>\n\n <div class=\"upgrade-text\" (click)=\"UpgradeClicked()\">\n Upgrade to premium now\n </div>\n </div>\n </div>\n <!-- </div> -->\n\n </mat-card-content>\n <mat-card-actions class=\"actions-container\">\n <ng-content select=\"[action]\"></ng-content>\n \n </mat-card-actions>\n </ng-container>\n </mat-card>\n \n", styles: [".project-info-card{margin:20px;padding:0}.round-project-img{background-color:#dfeff2;width:75px;height:75px;border-radius:40px;text-align:center;margin-top:20px;border:2px solid white}.temp-icon{height:50px;width:50px;font-size:50px}.icon-btn-container{margin:5px}.project-card-header{text-align:center;margin-top:50px}.host-anchor{text-decoration:none;color:#4a918e}.header-img-container{background-color:#a4bab3;height:60px;border-radius:2px 2px 0 0;margin-top:-.5px!important;margin-right:-.5px;justify-content:center}.project-card-name{font-size:17px;font-weight:600}.card-content-container{margin-bottom:0!important}.stats-container{border-top:1px solid #b9dddd}.promo-container{cursor:pointer}.gold-icon{color:#d4af37}.upgrade-text{font-weight:700;margin-left:10px;cursor:pointer}mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}.promo-container-skeleton{margin:5px}.actions-container{padding:0!important}.actions-container-skeleton{padding:0!important;border-top:1px solid #b9dddd}.info-card-btn{width:100%;border-radius:0 0 2px 2px;border-top:1px solid #b9dddd}.skeleton-item{margin:5px}\n"] }]
51
+ }], ctorParameters: function () { return [{ type: i1.EaCService }, { type: i2.MatDialog }]; }, propDecorators: { Description: [{
52
+ type: Input,
53
+ args: ['description']
54
+ }], Image: [{
55
+ type: Input,
56
+ args: ['image']
57
+ }], IsEditable: [{
58
+ type: Input,
59
+ args: ['is-editable']
60
+ }], IsShareable: [{
61
+ type: Input,
62
+ args: ['is-shareable']
63
+ }], Name: [{
64
+ type: Input,
65
+ args: ['name']
66
+ }], Subtext: [{
67
+ type: Input,
68
+ args: ['subtext']
69
+ }], LeftClickEvent: [{
70
+ type: Output,
71
+ args: ['left-click-event']
72
+ }], RightClickEvent: [{
73
+ type: Output,
74
+ args: ['right-click-event']
75
+ }] } });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1pbmZvLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvZWxlbWVudHMvcHJvamVjdC1pbmZvLWNhcmQvcHJvamVjdC1pbmZvLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvZWxlbWVudHMvcHJvamVjdC1pbmZvLWNhcmQvcHJvamVjdC1pbmZvLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7Ozs7Ozs7OztBQVMvRixNQUFNLE9BQU8sd0JBQXdCO0lBaUNuQyxZQUFzQixNQUFrQixFQUFXLE1BQWlCO1FBQTlDLFdBQU0sR0FBTixNQUFNLENBQVk7UUFBVyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2xFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV6QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7SUFDOUIsQ0FBQztJQWJGLElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQWFNLFFBQVE7UUFDYiwwQ0FBMEM7UUFDMUMsbURBQW1EO1FBQ25ELGlEQUFpRDtJQUNuRCxDQUFDO0lBSU0sZUFBZTtRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLGNBQWM7UUFDbkIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDekQsS0FBSyxFQUFFLE9BQU87WUFDZCxJQUFJLEVBQUUsRUFDTDtTQUNGLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMzQyx3Q0FBd0M7WUFDeEMsaUNBQWlDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBRUwsQ0FBQzs7cUhBdEVVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDBYQ1hyQywraEpBNElBOzJGRGpJYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsdUJBQXVCO3lIQU8xQixXQUFXO3NCQURqQixLQUFLO3VCQUFDLGFBQWE7Z0JBSWIsS0FBSztzQkFEWCxLQUFLO3VCQUFDLE9BQU87Z0JBSVAsVUFBVTtzQkFEaEIsS0FBSzt1QkFBQyxhQUFhO2dCQUliLFdBQVc7c0JBRGpCLEtBQUs7dUJBQUMsY0FBYztnQkFJZCxJQUFJO3NCQURWLEtBQUs7dUJBQUMsTUFBTTtnQkFJTixPQUFPO3NCQURiLEtBQUs7dUJBQUMsU0FBUztnQkFJVCxjQUFjO3NCQURwQixNQUFNO3VCQUFDLGtCQUFrQjtnQkFJbkIsZUFBZTtzQkFEckIsTUFBTTt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgVXBncmFkZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2RpYWxvZ3MvdXBncmFkZS1kaWFsb2cvdXBncmFkZS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEVhQ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lYWMuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbnNGbG93U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZS9hcHBsaWNhdGlvbnMtZmxvdy5zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1wcm9qZWN0LWluZm8tY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9qZWN0LWluZm8tY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2plY3QtaW5mby1jYXJkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUHJvamVjdEluZm9DYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgXG4gIEBJbnB1dCgnZGVzY3JpcHRpb24nKVxuICBwdWJsaWMgRGVzY3JpcHRpb246IHN0cmluZztcbiAgXG4gIEBJbnB1dCgnaW1hZ2UnKVxuICBwdWJsaWMgSW1hZ2U6IHN0cmluZztcblxuICBASW5wdXQoJ2lzLWVkaXRhYmxlJylcbiAgcHVibGljIElzRWRpdGFibGU6IGJvb2xlYW47XG5cbiAgQElucHV0KCdpcy1zaGFyZWFibGUnKVxuICBwdWJsaWMgSXNTaGFyZWFibGU6IGJvb2xlYW47XG5cbiAgQElucHV0KCduYW1lJylcbiAgcHVibGljIE5hbWU6IHN0cmluZztcblxuICBASW5wdXQoJ3N1YnRleHQnKVxuICBwdWJsaWMgU3VidGV4dDogc3RyaW5nO1xuXG4gIEBPdXRwdXQoJ2xlZnQtY2xpY2stZXZlbnQnKVxuICBwdWJsaWMgTGVmdENsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjx7fT47XG5cbiAgQE91dHB1dCgncmlnaHQtY2xpY2stZXZlbnQnKVxuICBwdWJsaWMgUmlnaHRDbGlja0V2ZW50OiBFdmVudEVtaXR0ZXI8e30+O1xuXG4gIHB1YmxpYyBnZXQgU3RhdGUoKTogQXBwbGljYXRpb25zRmxvd1N0YXRle1xuICAgIHJldHVybiB0aGlzLmVhY1N2Yy5TdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBTa2VsZXRvbkVmZmVjdDogc3RyaW5nO1xuXG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSxwcm90ZWN0ZWQgZGlhbG9nOiBNYXREaWFsb2csKSB7XG4gICAgdGhpcy5MZWZ0Q2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHRoaXMuUmlnaHRDbGlja0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgdGhpcy5Ta2VsZXRvbkVmZmVjdCA9ICd3YXZlJztcbiAgIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gY29uc29sZS5sb2coXCJsb2FkaW5nID0gXCIsIHRoaXMuTG9hZGluZylcbiAgICAvLyBjb25zb2xlLmxvZyhcImlzIHNoYXJlYWJsZTogXCIsIHRoaXMuSXNTaGFyZWFibGUpO1xuICAgIC8vIGNvbnNvbGUubG9nKFwiaXMgZWRpdGFibGU6IFwiLCB0aGlzLklzRWRpdGFibGUpO1xuICB9XG5cblxuXG4gIHB1YmxpYyBMZWZ0SWNvbkNsaWNrZWQoKXtcbiAgICB0aGlzLkxlZnRDbGlja0V2ZW50LmVtaXQoe30pO1xuICB9XG5cbiAgcHVibGljIFJpZ2h0SWNvbkNsaWNrZWQoKXtcbiAgICBjb25zb2xlLmxvZyhcInNoYXJlIGNsaWNrZWRcIilcbiAgICB0aGlzLlJpZ2h0Q2xpY2tFdmVudC5lbWl0KHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBVcGdyYWRlQ2xpY2tlZCgpe1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVXBncmFkZURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc2MDBweCcsXG4gICAgICBkYXRhOiB7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdUaGUgZGlhbG9nIHdhcyBjbG9zZWQnKTtcbiAgICAgIC8vIGNvbnNvbGUubG9nKFwicmVzdWx0OlwiLCByZXN1bHQpXG4gICAgfSk7XG5cbiAgfVxuXG59XG4iLCI8bWF0LWNhcmQgY2xhc3M9XCJwcm9qZWN0LWluZm8tY2FyZFwiPlxuXG4gIDwhLS0gU0tFTEVUT04gQ09OVEVOVCAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlN0YXRlPy5Mb2FkaW5nXCI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlci1pbWctY29udGFpbmVyXCIgZnhMYXlvdXQ9XCJyb3dcIiA+XG4gICAgICA8c2tlbGV0b24tYXZhdGFyIGNsYXNzPVwicm91bmQtcHJvamVjdC1pbWdcIiBbZWZmZWN0XT1cIlNrZWxldG9uRWZmZWN0XCIgW3NpemVdPVwiNzVcIiA+PC9za2VsZXRvbi1hdmF0YXIgPlxuICA8L2Rpdj5cblxuICA8bWF0LWNhcmQtaGVhZGVyIGNsYXNzPVwicHJvamVjdC1jYXJkLWhlYWRlclwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG5cbiAgICA8bWF0LWNhcmQtdGl0bGUgXG4gICAgICBza2VsZXRvbi10ZXh0ICBcbiAgICAgIFtlZmZlY3RdPVwiU2tlbGV0b25FZmZlY3RcIlxuICAgICAgY2xhc3M9XCJwcm9qZWN0LWNhcmQtbmFtZVwiIFxuICAgID5cbiAgICAgIE5hbWUgb2YgY2FyZFxuICAgIDwvbWF0LWNhcmQtdGl0bGU+XG5cbiAgICA8bWF0LWNhcmQtc3VidGl0bGUgXG4gICAgICBza2VsZXRvbi10ZXh0IFxuICAgICAgW2VmZmVjdF09XCJTa2VsZXRvbkVmZmVjdFwiIFxuICAgICAgY2xhc3M9XCJwcm9qZWN0LWNhcmQtZGVzY3JpcHRpb25cIiBcbiAgICA+XG4gICAgICBEZXNjcmlwdGlvbiBUZXh0XG4gICAgPC9tYXQtY2FyZC1zdWJ0aXRsZT5cblxuICAgIDxtYXQtY2FyZC1zdWJ0aXRsZSBjbGFzcz1cInByb2plY3QtY2FyZC1ob3N0XCI+XG4gICAgICAgIDxkaXYgXG4gICAgICAgICAgc2tlbGV0b24tdGV4dCBcbiAgICAgICAgICBbZWZmZWN0XT1cIlNrZWxldG9uRWZmZWN0XCIgXG4gICAgICAgICAgY2xhc3M9XCJob3N0LWFuY2hvclwiIFxuICAgICAgICA+XG4gICAgICAgICAgaHR0cHM6Ly93d3cuZmF0aHltLmNvbVxuICAgICAgICA8L2Rpdj5cbiAgICA8L21hdC1jYXJkLXN1YnRpdGxlPlxuXG4gIDwvbWF0LWNhcmQtaGVhZGVyPlxuICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImNhcmQtY29udGVudC1jb250YWluZXJcIj5cbiAgICA8ZGl2IHNrZWxldG9uLWJsb2NrIFtlZmZlY3RdPVwiU2tlbGV0b25FZmZlY3RcIiBjbGFzcz1cInN0YXRzLWNvbnRhaW5lclwiPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBcbiAgICAgIGNsYXNzPVwicHJvbW8tY29udGFpbmVyLXNrZWxldG9uXCIgXG4gICAgICBmeExheW91dD1cImNvbHVtblwiIFxuICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBcbiAgICA+XG4gICAgICAgIFxuICAgICAgPGRpdiBcbiAgICAgICAgc2tlbGV0b24tdGV4dCBcbiAgICAgICAgW2VmZmVjdF09XCJTa2VsZXRvbkVmZmVjdFwiXG4gICAgICAgIGNsYXNzPVwic2tlbGV0b24taXRlbVwiXG4gICAgICA+XG4gICAgICAgIEFjY2VzcyBleGNsdXNpdmUgdG9vbHMgJiBpbnNpZ2h0c1xuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gICAgICAgIDxtYXQtaWNvbiBza2VsZXRvbi10ZXh0IFtlZmZlY3RdPVwiU2tlbGV0b25FZmZlY3RcIiBjbGFzcz1cInNrZWxldG9uLWl0ZW1cIj5lbW9qaV9ldmVudHM8L21hdC1pY29uPlxuXG4gICAgICAgIDxkaXYgc2tlbGV0b24tdGV4dCBbZWZmZWN0XT1cIlNrZWxldG9uRWZmZWN0XCIgY2xhc3M9XCJza2VsZXRvbi1pdGVtXCIgPlxuICAgICAgICAgIFVwZ3JhZGUgdG8gcHJlbWl1bSBub3dcbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gIDxtYXQtY2FyZC1hY3Rpb25zIGNsYXNzPVwiYWN0aW9ucy1jb250YWluZXItc2tlbGV0b25cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgIDxkaXYgc2tlbGV0b24tdGV4dCBbZWZmZWN0XT1cIlNrZWxldG9uRWZmZWN0XCIgY2xhc3M9XCJza2VsZXRvbi1pdGVtXCIgYWN0aW9uIG1hdC1idXR0b24gPlxuICAgICAgPG1hdC1pY29uIHNrZWxldG9uLXRleHQgW2VmZmVjdF09XCJTa2VsZXRvbkVmZmVjdFwiIGNsYXNzPVwic2tlbGV0b24taXRlbVwiPm91dGJveDwvbWF0LWljb24+XG4gICAgICBVbnBhY2tcbiAgICA8L2Rpdj5cbiAgICBcbiAgPC9tYXQtY2FyZC1hY3Rpb25zPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPCEtLSBFTkQgU0tFTEVUT04gQ09OVEVOVCAtLT5cblxuICA8IS0tIEFDVFVBTCBDT05URU5UIC0tPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiIVN0YXRlPy5Mb2FkaW5nXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWltZy1jb250YWluZXJcIiBmeExheW91dD1cInJvd1wiID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdW5kLXByb2plY3QtaW1nXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIiFJbWFnZVwiIGNsYXNzPVwidGVtcC1pY29uXCI+Zmx1dHRlcl9kYXNoPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJJbWFnZVwiIFtzcmNdPVwiSW1hZ2VcIiBbYWx0XT1cIk5hbWVcIiBzdHlsZT1cIndpZHRoOjc1cHg7IGhlaWdodDo3NXB4XCI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImljb24tYnRuLWNvbnRhaW5lclwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWJldHdlZW4gY2VudGVyXCIgPlxuICAgICAgPGJ1dHRvbiAqbmdJZj1cIklzRWRpdGFibGVcIiBtYXQtaWNvbi1idXR0b24gaWQ9XCJsZWZ0LWljb25cIiAoY2xpY2spPVwiTGVmdEljb25DbGlja2VkKClcIj5cbiAgICAgICAgPG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uICpuZ0lmPVwiSXNTaGFyZWFibGVcIiBtYXQtaWNvbi1idXR0b24gaWQ9XCJyaWdodC1pY29uXCIgKGNsaWNrKT1cIlJpZ2h0SWNvbkNsaWNrZWQoKVwiPlxuICAgICAgICA8bWF0LWljb24+c2hhcmU8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8bWF0LWNhcmQtaGVhZGVyIGNsYXNzPVwicHJvamVjdC1jYXJkLWhlYWRlclwiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG5cbiAgICAgIDxtYXQtY2FyZC10aXRsZSBjbGFzcz1cInByb2plY3QtY2FyZC1uYW1lXCIgKm5nSWY9XCJOYW1lXCI+e3tOYW1lfX08L21hdC1jYXJkLXRpdGxlPlxuXG4gICAgICA8bWF0LWNhcmQtc3VidGl0bGUgY2xhc3M9XCJwcm9qZWN0LWNhcmQtZGVzY3JpcHRpb25cIiAqbmdJZj1cIkRlc2NyaXB0aW9uXCI+e3tEZXNjcmlwdGlvbn19PC9tYXQtY2FyZC1zdWJ0aXRsZT5cblxuICAgICAgPG1hdC1jYXJkLXN1YnRpdGxlIGNsYXNzPVwicHJvamVjdC1jYXJkLWhvc3RcIj5cbiAgICAgICAgICA8YSBjbGFzcz1cImhvc3QtYW5jaG9yXCIgKm5nSWY9XCJTdWJ0ZXh0XCIgW2hyZWZdPVwiJ2h0dHBzOi8vJytTdWJ0ZXh0XCIgdGFyZ2V0PVwiX2JsYW5rXCI+e3tTdWJ0ZXh0fX08L2E+XG4gICAgICA8L21hdC1jYXJkLXN1YnRpdGxlPlxuXG4gICAgPC9tYXQtY2FyZC1oZWFkZXI+XG4gICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJjYXJkLWNvbnRlbnQtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RhdHMtY29udGFpbmVyXCI+XG4gICAgICAgIDxuZy1jb250ZW50ICBzZWxlY3Q9XCJbc3RhdHNdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInByb21vLWNvbnRhaW5lclwiPiAtLT5cbiAgICAgICAgPCEtLSA8bmctY29udGVudCAgc2VsZWN0PVwiW3Byb21vXVwiPjwvbmctY29udGVudD4gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9tby1jb250YWluZXJcIiBcbiAgICAgICAgICBmeExheW91dD1cImNvbHVtblwiIFxuICAgICAgICAgIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgXG4gICAgICAgICAgKGNsaWNrKT1cIlVwZ3JhZGVDbGlja2VkKClcIlxuICAgICAgICAgIFxuICAgICAgICA+XG4gICAgICAgIFxuICAgICAgICA8ZGl2PkFjY2VzcyBleGNsdXNpdmUgdG9vbHMgJiBpbnNpZ2h0czwvZGl2PlxuXG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZ29sZC1pY29uXCI+ZW1vamlfZXZlbnRzPC9tYXQtaWNvbj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cGdyYWRlLXRleHRcIiAoY2xpY2spPVwiVXBncmFkZUNsaWNrZWQoKVwiPlxuICAgICAgICAgICAgVXBncmFkZSB0byBwcmVtaXVtIG5vd1xuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSA8L2Rpdj4gLS0+XG5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPG1hdC1jYXJkLWFjdGlvbnMgY2xhc3M9XCJhY3Rpb25zLWNvbnRhaW5lclwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2FjdGlvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICBcbiAgICA8L21hdC1jYXJkLWFjdGlvbnM+XG4gIDwvbmctY29udGFpbmVyPlxuICA8L21hdC1jYXJkPlxuICBcbiJdfQ==