@lowcodeunit/applications-flow-common 1.33.95-lets-get-social-ish → 1.33.100-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 (78) hide show
  1. package/bundles/lowcodeunit-applications-flow-common.umd.js +869 -223
  2. package/bundles/lowcodeunit-applications-flow-common.umd.js.map +1 -1
  3. package/bundles/lowcodeunit-applications-flow-common.umd.min.js +2 -2
  4. package/bundles/lowcodeunit-applications-flow-common.umd.min.js.map +1 -1
  5. package/esm2015/lib/applications-flow.module.js +12 -6
  6. package/esm2015/lib/controls/build-pipeline-form/build-pipeline-form.component.js +149 -5
  7. package/esm2015/lib/controls/devops-source-control-form/devops-source-control-form.component.js +409 -6
  8. package/esm2015/lib/controls/processor-details-form/processor-details-form.component.js +2 -2
  9. package/esm2015/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.js +22 -0
  10. package/esm2015/lib/dialogs/source-control-dialog/source-control-dialog.component.js +22 -0
  11. package/esm2015/lib/elements/base-form/base-form.component.js +5 -5
  12. package/esm2015/lib/elements/projects/controls/builds/builds.component.js +4 -9
  13. package/esm2015/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.js +6 -6
  14. package/esm2015/lib/elements/projects/controls/forms/source-control/source-control.component.js +3 -6
  15. package/esm2015/lib/elements/projects/controls/header/header.component.js +7 -7
  16. package/esm2015/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.js +2 -1
  17. package/esm2015/lib/elements/projects/controls/project-items/project-items.component.js +7 -7
  18. package/esm2015/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.js +2 -2
  19. package/esm2015/lib/elements/projects/controls/tabs/devops/devops.component.js +7 -7
  20. package/esm2015/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.js +7 -7
  21. package/esm2015/lib/elements/projects/controls/tabs/domains/domains.component.js +6 -6
  22. package/esm2015/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.js +6 -6
  23. package/esm2015/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.js +6 -6
  24. package/esm2015/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.js +6 -6
  25. package/esm2015/lib/elements/projects/projects.component.js +10 -13
  26. package/esm2015/lib/elements/slotted-card/slotted-card.component.js +6 -4
  27. package/esm2015/lib/services/eac.service.js +41 -17
  28. package/esm2015/lowcodeunit-applications-flow-common.js +32 -31
  29. package/fesm2015/lowcodeunit-applications-flow-common.js +697 -173
  30. package/fesm2015/lowcodeunit-applications-flow-common.js.map +1 -1
  31. package/lib/applications-flow.module.d.ts.map +1 -1
  32. package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts +30 -1
  33. package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts.map +1 -1
  34. package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts +72 -3
  35. package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts.map +1 -1
  36. package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts +15 -0
  37. package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts.map +1 -0
  38. package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts +14 -0
  39. package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts.map +1 -0
  40. package/lib/elements/base-form/base-form.component.d.ts +3 -3
  41. package/lib/elements/base-form/base-form.component.d.ts.map +1 -1
  42. package/lib/elements/projects/controls/builds/builds.component.d.ts +1 -3
  43. package/lib/elements/projects/controls/builds/builds.component.d.ts.map +1 -1
  44. package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts +3 -3
  45. package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts.map +1 -1
  46. package/lib/elements/projects/controls/forms/source-control/source-control.component.d.ts +1 -3
  47. package/lib/elements/projects/controls/forms/source-control/source-control.component.d.ts.map +1 -1
  48. package/lib/elements/projects/controls/header/header.component.d.ts +3 -3
  49. package/lib/elements/projects/controls/header/header.component.d.ts.map +1 -1
  50. package/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts.map +1 -1
  51. package/lib/elements/projects/controls/project-items/project-items.component.d.ts +3 -3
  52. package/lib/elements/projects/controls/project-items/project-items.component.d.ts.map +1 -1
  53. package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts +1 -1
  54. package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts.map +1 -1
  55. package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts +3 -3
  56. package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts.map +1 -1
  57. package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts +3 -3
  58. package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts.map +1 -1
  59. package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts +3 -3
  60. package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts.map +1 -1
  61. package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts +3 -3
  62. package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts.map +1 -1
  63. package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts +3 -3
  64. package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts.map +1 -1
  65. package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts +3 -3
  66. package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts.map +1 -1
  67. package/lib/elements/projects/projects.component.d.ts +1 -3
  68. package/lib/elements/projects/projects.component.d.ts.map +1 -1
  69. package/lib/elements/slotted-card/slotted-card.component.d.ts.map +1 -1
  70. package/lib/services/eac.service.d.ts +31 -7
  71. package/lib/services/eac.service.d.ts.map +1 -1
  72. package/lowcodeunit-applications-flow-common.d.ts +31 -30
  73. package/lowcodeunit-applications-flow-common.d.ts.map +1 -1
  74. package/lowcodeunit-applications-flow-common.metadata.json +1 -1
  75. package/package.json +1 -1
  76. package/esm2015/lib/services/applications-flow-events.service.js +0 -83
  77. package/lib/services/applications-flow-events.service.d.ts +0 -58
  78. package/lib/services/applications-flow-events.service.d.ts.map +0 -1
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@angular/common/http'), require('@lcu/common'), require('@angular/forms'), require('@angular/flex-layout'), require('@lowcodeunit/app-host-common'), require('@angular/cdk/keycodes'), require('rxjs/operators'), require('@angular/cdk/layout'), require('@angular/material/tooltip'), require('@angular/material/slide-toggle')) :
3
- typeof define === 'function' && define.amd ? define('@lowcodeunit/applications-flow-common', ['exports', '@angular/core', 'rxjs', '@angular/common/http', '@lcu/common', '@angular/forms', '@angular/flex-layout', '@lowcodeunit/app-host-common', '@angular/cdk/keycodes', 'rxjs/operators', '@angular/cdk/layout', '@angular/material/tooltip', '@angular/material/slide-toggle'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.lowcodeunit = global.lowcodeunit || {}, global.lowcodeunit['applications-flow-common'] = {}), global.ng.core, global.rxjs, global.ng.common.http, global.i2, global.ng.forms, global.ng.flexLayout, global.appHostCommon, global.ng.cdk.keycodes, global.rxjs.operators, global.ng.cdk.layout, global.ng.material.tooltip, global.ng.material.slideToggle));
5
- }(this, (function (exports, i0, rxjs, i1, i2, forms, flexLayout, appHostCommon, keycodes, operators, layout, tooltip, slideToggle) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@angular/common/http'), require('@lcu/common'), require('@angular/forms'), require('@angular/flex-layout'), require('@lowcodeunit/app-host-common'), require('@angular/cdk/keycodes'), require('rxjs/operators'), require('@angular/cdk/layout'), require('@angular/material/tooltip'), require('@angular/material/slide-toggle'), require('@angular/material/dialog')) :
3
+ typeof define === 'function' && define.amd ? define('@lowcodeunit/applications-flow-common', ['exports', '@angular/core', 'rxjs', '@angular/common/http', '@lcu/common', '@angular/forms', '@angular/flex-layout', '@lowcodeunit/app-host-common', '@angular/cdk/keycodes', 'rxjs/operators', '@angular/cdk/layout', '@angular/material/tooltip', '@angular/material/slide-toggle', '@angular/material/dialog'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.lowcodeunit = global.lowcodeunit || {}, global.lowcodeunit['applications-flow-common'] = {}), global.ng.core, global.rxjs, global.ng.common.http, global.i2, global.ng.forms, global.ng.flexLayout, global.appHostCommon, global.ng.cdk.keycodes, global.rxjs.operators, global.ng.cdk.layout, global.ng.material.tooltip, global.ng.material.slideToggle, global.ng.material.dialog));
5
+ }(this, (function (exports, i0, rxjs, i1, i2, forms, flexLayout, appHostCommon, keycodes, operators, layout, tooltip, slideToggle, dialog) { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
@@ -1069,100 +1069,6 @@
1069
1069
  { type: i0.Injector }
1070
1070
  ]; };
1071
1071
 
1072
- var SaveApplicationAsCodeEventRequest = /** @class */ (function () {
1073
- function SaveApplicationAsCodeEventRequest() {
1074
- }
1075
- return SaveApplicationAsCodeEventRequest;
1076
- }());
1077
- var SaveDFSModifierEventRequest = /** @class */ (function () {
1078
- function SaveDFSModifierEventRequest() {
1079
- }
1080
- return SaveDFSModifierEventRequest;
1081
- }());
1082
- var SaveEnvironmentAsCodeEventRequest = /** @class */ (function () {
1083
- function SaveEnvironmentAsCodeEventRequest() {
1084
- }
1085
- return SaveEnvironmentAsCodeEventRequest;
1086
- }());
1087
- var SaveProjectAsCodeEventRequest = /** @class */ (function () {
1088
- function SaveProjectAsCodeEventRequest() {
1089
- }
1090
- return SaveProjectAsCodeEventRequest;
1091
- }());
1092
- var ApplicationsFlowEventsService = /** @class */ (function () {
1093
- // Constructors
1094
- function ApplicationsFlowEventsService() {
1095
- this.DeleteApplicationEvent = new i0.EventEmitter();
1096
- this.DeleteDevOpsActionEvent = new i0.EventEmitter();
1097
- this.DeleteProjectEvent = new i0.EventEmitter();
1098
- this.DeleteSourceControlEvent = new i0.EventEmitter();
1099
- this.EnsureUserEnterpriseEvent = new i0.EventEmitter();
1100
- this.LoadEnterpriseAsCodeEvent = new i0.EventEmitter();
1101
- this.SaveApplicationAsCodeEvent = new i0.EventEmitter();
1102
- this.SaveDFSModifierEvent = new i0.EventEmitter();
1103
- this.SaveEnterpriseAsCodeEvent = new i0.EventEmitter();
1104
- this.SaveEnvironmentAsCodeEvent = new i0.EventEmitter();
1105
- this.SaveProjectAsCodeEvent = new i0.EventEmitter();
1106
- this.SetCreatingProjectEvent = new i0.EventEmitter();
1107
- this.SetEditProjectSettingsEvent = new i0.EventEmitter();
1108
- this.UnpackLowCodeUnitEvent = new i0.EventEmitter();
1109
- }
1110
- // API Methods
1111
- ApplicationsFlowEventsService.prototype.DeleteApplication = function (appLookup) {
1112
- this.DeleteApplicationEvent.emit(appLookup);
1113
- };
1114
- ApplicationsFlowEventsService.prototype.DeleteDevOpsAction = function (doaLookup) {
1115
- this.DeleteDevOpsActionEvent.emit(doaLookup);
1116
- };
1117
- ApplicationsFlowEventsService.prototype.DeleteProject = function (projectLookup) {
1118
- this.DeleteProjectEvent.emit(projectLookup);
1119
- };
1120
- ApplicationsFlowEventsService.prototype.DeleteSourceControl = function (scLookup) {
1121
- this.DeleteSourceControlEvent.emit(scLookup);
1122
- };
1123
- ApplicationsFlowEventsService.prototype.EnsureUserEnterprise = function () {
1124
- this.EnsureUserEnterpriseEvent.emit();
1125
- };
1126
- // public ListProjects(withLoading: boolean): void {
1127
- // this.ListProjectsEvent.emit(withLoading);
1128
- // }
1129
- ApplicationsFlowEventsService.prototype.LoadEnterpriseAsCode = function () {
1130
- this.LoadEnterpriseAsCodeEvent.emit();
1131
- };
1132
- ApplicationsFlowEventsService.prototype.SaveApplicationAsCode = function (req) {
1133
- this.SaveApplicationAsCodeEvent.emit(req);
1134
- };
1135
- ApplicationsFlowEventsService.prototype.SaveDFSModifier = function (req) {
1136
- this.SaveDFSModifierEvent.emit(req);
1137
- };
1138
- ApplicationsFlowEventsService.prototype.SaveEnterpriseAsCode = function (eac) {
1139
- this.SaveEnterpriseAsCodeEvent.emit(eac);
1140
- };
1141
- ApplicationsFlowEventsService.prototype.SaveEnvironmentAsCode = function (req) {
1142
- this.SaveEnvironmentAsCodeEvent.emit(req);
1143
- };
1144
- ApplicationsFlowEventsService.prototype.SaveProjectAsCode = function (req) {
1145
- this.SaveProjectAsCodeEvent.emit(req);
1146
- };
1147
- ApplicationsFlowEventsService.prototype.SetCreatingProject = function (creatingProject) {
1148
- this.SetCreatingProjectEvent.emit(creatingProject);
1149
- };
1150
- ApplicationsFlowEventsService.prototype.SetEditProjectSettings = function (projectLookup) {
1151
- this.SetEditProjectSettingsEvent.emit(projectLookup);
1152
- };
1153
- ApplicationsFlowEventsService.prototype.UnpackLowCodeUnit = function (req) {
1154
- this.UnpackLowCodeUnitEvent.emit(req);
1155
- };
1156
- return ApplicationsFlowEventsService;
1157
- }());
1158
- ApplicationsFlowEventsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ApplicationsFlowEventsService_Factory() { return new ApplicationsFlowEventsService(); }, token: ApplicationsFlowEventsService, providedIn: "root" });
1159
- ApplicationsFlowEventsService.decorators = [
1160
- { type: i0.Injectable, args: [{
1161
- providedIn: 'root',
1162
- },] }
1163
- ];
1164
- ApplicationsFlowEventsService.ctorParameters = function () { return []; };
1165
-
1166
1072
  var ApplicationsFlowState = /** @class */ (function () {
1167
1073
  function ApplicationsFlowState() {
1168
1074
  this.GitHub = {};
@@ -1263,15 +1169,40 @@
1263
1169
  // public Repository?: string;
1264
1170
  // }
1265
1171
 
1172
+ var SaveApplicationAsCodeEventRequest = /** @class */ (function () {
1173
+ function SaveApplicationAsCodeEventRequest() {
1174
+ }
1175
+ return SaveApplicationAsCodeEventRequest;
1176
+ }());
1177
+ var SaveDFSModifierEventRequest = /** @class */ (function () {
1178
+ function SaveDFSModifierEventRequest() {
1179
+ }
1180
+ return SaveDFSModifierEventRequest;
1181
+ }());
1182
+ var SaveEnvironmentAsCodeEventRequest = /** @class */ (function () {
1183
+ function SaveEnvironmentAsCodeEventRequest() {
1184
+ }
1185
+ return SaveEnvironmentAsCodeEventRequest;
1186
+ }());
1187
+ var SaveProjectAsCodeEventRequest = /** @class */ (function () {
1188
+ function SaveProjectAsCodeEventRequest() {
1189
+ }
1190
+ return SaveProjectAsCodeEventRequest;
1191
+ }());
1266
1192
  var EaCService = /** @class */ (function () {
1267
1193
  // Constructors
1268
- function EaCService(appsFlowEventsSvc, projectService) {
1269
- this.appsFlowEventsSvc = appsFlowEventsSvc;
1194
+ function EaCService(projectService) {
1270
1195
  this.projectService = projectService;
1271
1196
  this.State = new ApplicationsFlowState();
1272
- this.setServices();
1273
1197
  }
1274
- // API Methods
1198
+ Object.defineProperty(EaCService.prototype, "CreatingProject", {
1199
+ // API Methods
1200
+ get: function () {
1201
+ return this.projectService.CreatingProject;
1202
+ },
1203
+ enumerable: false,
1204
+ configurable: true
1205
+ });
1275
1206
  EaCService.prototype.DeleteApplication = function (appLookup, appName) {
1276
1207
  return __awaiter(this, void 0, void 0, function () {
1277
1208
  return __generator(this, function (_b) {
@@ -1335,7 +1266,7 @@
1335
1266
  // this.appsFlowEventsSvc.EnsureUserEnterpriseEvent.subscribe(async () => {
1336
1267
  // await this.projectService.EnsureUserEnterprise(this.State);
1337
1268
  // });
1338
- EaCService.prototype.EnsureUserEnterprise = function (appLookup, appName) {
1269
+ EaCService.prototype.EnsureUserEnterprise = function () {
1339
1270
  return __awaiter(this, void 0, void 0, function () {
1340
1271
  return __generator(this, function (_b) {
1341
1272
  switch (_b.label) {
@@ -1347,6 +1278,49 @@
1347
1278
  });
1348
1279
  });
1349
1280
  };
1281
+ EaCService.prototype.GetActiveEnterprise = function () {
1282
+ return __awaiter(this, void 0, void 0, function () {
1283
+ return __generator(this, function (_b) {
1284
+ switch (_b.label) {
1285
+ case 0: return [4 /*yield*/, this.projectService.GetActiveEnterprise(this.State)];
1286
+ case 1:
1287
+ _b.sent();
1288
+ return [2 /*return*/];
1289
+ }
1290
+ });
1291
+ });
1292
+ };
1293
+ Object.defineProperty(EaCService.prototype, "EditingProjectLookup", {
1294
+ get: function () {
1295
+ return this.projectService.EditingProjectLookup;
1296
+ },
1297
+ enumerable: false,
1298
+ configurable: true
1299
+ });
1300
+ EaCService.prototype.HasValidConnection = function () {
1301
+ return __awaiter(this, void 0, void 0, function () {
1302
+ return __generator(this, function (_b) {
1303
+ switch (_b.label) {
1304
+ case 0: return [4 /*yield*/, this.projectService.HasValidConnection(this.State)];
1305
+ case 1:
1306
+ _b.sent();
1307
+ return [2 /*return*/];
1308
+ }
1309
+ });
1310
+ });
1311
+ };
1312
+ EaCService.prototype.ListEnterprises = function () {
1313
+ return __awaiter(this, void 0, void 0, function () {
1314
+ return __generator(this, function (_b) {
1315
+ switch (_b.label) {
1316
+ case 0: return [4 /*yield*/, this.projectService.ListEnterprises(this.State)];
1317
+ case 1:
1318
+ _b.sent();
1319
+ return [2 /*return*/];
1320
+ }
1321
+ });
1322
+ });
1323
+ };
1350
1324
  EaCService.prototype.LoadEnterpriseAsCode = function () {
1351
1325
  return __awaiter(this, void 0, void 0, function () {
1352
1326
  return __generator(this, function (_b) {
@@ -1371,7 +1345,7 @@
1371
1345
  });
1372
1346
  });
1373
1347
  };
1374
- EaCService.prototype.SaveDFSModifierEvent = function (req) {
1348
+ EaCService.prototype.SaveDFSModifier = function (req) {
1375
1349
  return __awaiter(this, void 0, void 0, function () {
1376
1350
  return __generator(this, function (_b) {
1377
1351
  switch (_b.label) {
@@ -1419,6 +1393,14 @@
1419
1393
  });
1420
1394
  });
1421
1395
  };
1396
+ EaCService.prototype.SetActiveEnterprise = function (eventValue) {
1397
+ return __awaiter(this, void 0, void 0, function () {
1398
+ return __generator(this, function (_b) {
1399
+ this.projectService.SetActiveEnterprise(this.State, eventValue);
1400
+ return [2 /*return*/];
1401
+ });
1402
+ });
1403
+ };
1422
1404
  EaCService.prototype.SetCreatingProject = function (creatingProject) {
1423
1405
  return __awaiter(this, void 0, void 0, function () {
1424
1406
  return __generator(this, function (_b) {
@@ -1454,11 +1436,6 @@
1454
1436
  });
1455
1437
  });
1456
1438
  };
1457
- EaCService.prototype.setServices = function () {
1458
- // this.appsFlowEventsSvc.ListProjectsEvent.subscribe((withLoading) => {
1459
- // this.projectService.ListProjects(this.State, withLoading);
1460
- // });
1461
- };
1462
1439
  // Helpers
1463
1440
  EaCService.prototype.handleSaveApplication = function (req) {
1464
1441
  var _a;
@@ -1566,7 +1543,7 @@
1566
1543
  return [4 /*yield*/, this.projectService.SaveEnterpriseAsCode(this.State, saveEaC)];
1567
1544
  case 1:
1568
1545
  _b.sent();
1569
- this.appsFlowEventsSvc.SetEditProjectSettings(projectLookup);
1546
+ this.SetEditProjectSettings(projectLookup);
1570
1547
  return [2 /*return*/];
1571
1548
  }
1572
1549
  });
@@ -1574,14 +1551,13 @@
1574
1551
  };
1575
1552
  return EaCService;
1576
1553
  }());
1577
- EaCService.ɵprov = i0.ɵɵdefineInjectable({ factory: function EaCService_Factory() { return new EaCService(i0.ɵɵinject(ApplicationsFlowEventsService), i0.ɵɵinject(ProjectService)); }, token: EaCService, providedIn: "root" });
1554
+ EaCService.ɵprov = i0.ɵɵdefineInjectable({ factory: function EaCService_Factory() { return new EaCService(i0.ɵɵinject(ProjectService)); }, token: EaCService, providedIn: "root" });
1578
1555
  EaCService.decorators = [
1579
1556
  { type: i0.Injectable, args: [{
1580
1557
  providedIn: 'root',
1581
1558
  },] }
1582
1559
  ];
1583
1560
  EaCService.ctorParameters = function () { return [
1584
- { type: ApplicationsFlowEventsService },
1585
1561
  { type: ProjectService }
1586
1562
  ]; };
1587
1563
 
@@ -1601,11 +1577,10 @@
1601
1577
  var ApplicationsFlowProjectsElementComponent = /** @class */ (function (_super) {
1602
1578
  __extends(ApplicationsFlowProjectsElementComponent, _super);
1603
1579
  // Constructors
1604
- function ApplicationsFlowProjectsElementComponent(injector, appsFlowSvc, projectService, eacSvc) {
1580
+ function ApplicationsFlowProjectsElementComponent(injector, appsFlowSvc, eacSvc) {
1605
1581
  var _this = _super.call(this, injector) || this;
1606
1582
  _this.injector = injector;
1607
1583
  _this.appsFlowSvc = appsFlowSvc;
1608
- _this.projectService = projectService;
1609
1584
  _this.eacSvc = eacSvc;
1610
1585
  return _this;
1611
1586
  }
@@ -1630,7 +1605,7 @@
1630
1605
  });
1631
1606
  Object.defineProperty(ApplicationsFlowProjectsElementComponent.prototype, "CreatingProject", {
1632
1607
  get: function () {
1633
- return this.projectService.CreatingProject;
1608
+ return this.eacSvc.CreatingProject;
1634
1609
  },
1635
1610
  enumerable: false,
1636
1611
  configurable: true
@@ -1645,7 +1620,7 @@
1645
1620
  });
1646
1621
  Object.defineProperty(ApplicationsFlowProjectsElementComponent.prototype, "EditingProjectLookup", {
1647
1622
  get: function () {
1648
- return this.projectService.EditingProjectLookup;
1623
+ return this.eacSvc.EditingProjectLookup;
1649
1624
  },
1650
1625
  enumerable: false,
1651
1626
  configurable: true
@@ -1677,7 +1652,7 @@
1677
1652
  return __awaiter(this, void 0, void 0, function () {
1678
1653
  return __generator(this, function (_e) {
1679
1654
  switch (_e.label) {
1680
- case 0: return [4 /*yield*/, this.projectService.SetActiveEnterprise(this.State, event.value)];
1655
+ case 0: return [4 /*yield*/, this.eacSvc.SetActiveEnterprise(event.value)];
1681
1656
  case 1:
1682
1657
  _e.sent();
1683
1658
  return [2 /*return*/];
@@ -1692,7 +1667,7 @@
1692
1667
  .ConfigureDevOpsAction(devOpsActionLookup)
1693
1668
  .subscribe(function (response) {
1694
1669
  if (response.Status.Code === 0) {
1695
- _this.projectService.LoadEnterpriseAsCode(_this.State);
1670
+ _this.eacSvc.LoadEnterpriseAsCode();
1696
1671
  }
1697
1672
  else {
1698
1673
  _this.State.Loading = false;
@@ -1707,17 +1682,17 @@
1707
1682
  switch (_e.label) {
1708
1683
  case 0:
1709
1684
  this.State.Loading = true;
1710
- return [4 /*yield*/, this.projectService.HasValidConnection(this.State)];
1685
+ return [4 /*yield*/, this.eacSvc.HasValidConnection()];
1711
1686
  case 1:
1712
1687
  _e.sent();
1713
- return [4 /*yield*/, this.projectService.EnsureUserEnterprise(this.State)];
1688
+ return [4 /*yield*/, this.eacSvc.EnsureUserEnterprise()];
1714
1689
  case 2:
1715
1690
  _e.sent();
1716
- return [4 /*yield*/, this.projectService.ListEnterprises(this.State)];
1691
+ return [4 /*yield*/, this.eacSvc.ListEnterprises()];
1717
1692
  case 3:
1718
1693
  _e.sent();
1719
1694
  if (!(((_a = this.State.Enterprises) === null || _a === void 0 ? void 0 : _a.length) > 0)) return [3 /*break*/, 5];
1720
- return [4 /*yield*/, this.projectService.GetActiveEnterprise(this.State)];
1695
+ return [4 /*yield*/, this.eacSvc.GetActiveEnterprise()];
1721
1696
  case 4:
1722
1697
  _e.sent();
1723
1698
  _e.label = 5;
@@ -1738,7 +1713,6 @@
1738
1713
  ApplicationsFlowProjectsElementComponent.ctorParameters = function () { return [
1739
1714
  { type: i0.Injector },
1740
1715
  { type: ApplicationsFlowService },
1741
- { type: ProjectService },
1742
1716
  { type: EaCService }
1743
1717
  ]; };
1744
1718
 
@@ -1801,6 +1775,7 @@
1801
1775
  HostingDetailsFormGroupComponent.prototype.ngOnChanges = function () { };
1802
1776
  HostingDetailsFormGroupComponent.prototype.ngOnInit = function () {
1803
1777
  var _a, _b, _c;
1778
+ console.log("made it to hosting details");
1804
1779
  this.BuildPipeline =
1805
1780
  this.BuildPipeline || ((_a = this.Details) === null || _a === void 0 ? void 0 : _a.HostingOptions)
1806
1781
  ? (_c = (_b = this.Details) === null || _b === void 0 ? void 0 : _b.HostingOptions[0]) === null || _c === void 0 ? void 0 : _c.Lookup : '';
@@ -1872,10 +1847,9 @@
1872
1847
 
1873
1848
  var SourceControlFormControlsComponent = /** @class */ (function () {
1874
1849
  // Constructors
1875
- function SourceControlFormControlsComponent(formBuilder, appsFlowSvc, appsFlowEventsSvc) {
1850
+ function SourceControlFormControlsComponent(formBuilder, appsFlowSvc) {
1876
1851
  this.formBuilder = formBuilder;
1877
1852
  this.appsFlowSvc = appsFlowSvc;
1878
- this.appsFlowEventsSvc = appsFlowEventsSvc;
1879
1853
  this.SeparatorKeysCodes = [keycodes.ENTER, keycodes.COMMA];
1880
1854
  this.BranchesChanged = new i0.EventEmitter();
1881
1855
  this.SelectedBranches = [];
@@ -2139,8 +2113,7 @@
2139
2113
  ];
2140
2114
  SourceControlFormControlsComponent.ctorParameters = function () { return [
2141
2115
  { type: forms.FormBuilder },
2142
- { type: ApplicationsFlowService },
2143
- { type: ApplicationsFlowEventsService }
2116
+ { type: ApplicationsFlowService }
2144
2117
  ]; };
2145
2118
  SourceControlFormControlsComponent.propDecorators = {
2146
2119
  BranchesChanged: [{ type: i0.Output, args: ['branches-changed',] }],
@@ -2159,10 +2132,10 @@
2159
2132
 
2160
2133
  var CreateProjectWizardComponent = /** @class */ (function () {
2161
2134
  // Constructors
2162
- function CreateProjectWizardComponent(formBuilder, appsFlowSvc, appsFlowEventsSvc) {
2135
+ function CreateProjectWizardComponent(formBuilder, appsFlowSvc, eacSvc) {
2163
2136
  this.formBuilder = formBuilder;
2164
2137
  this.appsFlowSvc = appsFlowSvc;
2165
- this.appsFlowEventsSvc = appsFlowEventsSvc;
2138
+ this.eacSvc = eacSvc;
2166
2139
  this.HostingDetails = new ProjectHostingDetails();
2167
2140
  }
2168
2141
  Object.defineProperty(CreateProjectWizardComponent.prototype, "AreProjectDetailsValid", {
@@ -2225,7 +2198,7 @@
2225
2198
  };
2226
2199
  // API Methods
2227
2200
  CreateProjectWizardComponent.prototype.Cancel = function () {
2228
- this.appsFlowEventsSvc.SetCreatingProject(false);
2201
+ this.eacSvc.SetCreatingProject(false);
2229
2202
  };
2230
2203
  CreateProjectWizardComponent.prototype.ConfigureRepository = function () {
2231
2204
  this.loadProjectHostingDetails();
@@ -2316,7 +2289,7 @@
2316
2289
  CreateProjectWizardComponent.ctorParameters = function () { return [
2317
2290
  { type: forms.FormBuilder },
2318
2291
  { type: ApplicationsFlowService },
2319
- { type: ApplicationsFlowEventsService }
2292
+ { type: EaCService }
2320
2293
  ]; };
2321
2294
  CreateProjectWizardComponent.propDecorators = {
2322
2295
  SourceControl: [{ type: i0.ViewChild, args: [SourceControlFormControlsComponent,] }],
@@ -2395,10 +2368,10 @@
2395
2368
 
2396
2369
  var HeaderComponent = /** @class */ (function () {
2397
2370
  // Constructors
2398
- function HeaderComponent(formBuilder, lcuSettings, appsFlowEventsSvc) {
2371
+ function HeaderComponent(formBuilder, lcuSettings, eacSvc) {
2399
2372
  this.formBuilder = formBuilder;
2400
2373
  this.lcuSettings = lcuSettings;
2401
- this.appsFlowEventsSvc = appsFlowEventsSvc;
2374
+ this.eacSvc = eacSvc;
2402
2375
  }
2403
2376
  Object.defineProperty(HeaderComponent.prototype, "HasProjects", {
2404
2377
  get: function () {
@@ -2449,13 +2422,13 @@
2449
2422
  TrustedProviderLookups: ['ADB2C'],
2450
2423
  },
2451
2424
  };
2452
- this.appsFlowEventsSvc.SaveProjectAsCode({
2425
+ this.eacSvc.SaveProjectAsCode({
2453
2426
  ProjectLookup: i2.Guid.CreateRaw(),
2454
2427
  Project: proj,
2455
2428
  });
2456
2429
  };
2457
2430
  HeaderComponent.prototype.EnableCreatingProject = function () {
2458
- this.appsFlowEventsSvc.SetCreatingProject(true);
2431
+ this.eacSvc.SetCreatingProject(true);
2459
2432
  };
2460
2433
  return HeaderComponent;
2461
2434
  }());
@@ -2469,7 +2442,7 @@
2469
2442
  HeaderComponent.ctorParameters = function () { return [
2470
2443
  { type: forms.FormBuilder },
2471
2444
  { type: i2.LCUServiceSettings },
2472
- { type: ApplicationsFlowEventsService }
2445
+ { type: EaCService }
2473
2446
  ]; };
2474
2447
  HeaderComponent.propDecorators = {
2475
2448
  CreatingProject: [{ type: i0.Input, args: ['creating-project',] }],
@@ -2485,9 +2458,9 @@
2485
2458
  }());
2486
2459
 
2487
2460
  var DomainsComponent = /** @class */ (function () {
2488
- function DomainsComponent(formsService, appsFlowEventsSvc) {
2461
+ function DomainsComponent(formsService, eacSvc) {
2489
2462
  this.formsService = formsService;
2490
- this.appsFlowEventsSvc = appsFlowEventsSvc;
2463
+ this.eacSvc = eacSvc;
2491
2464
  }
2492
2465
  Object.defineProperty(DomainsComponent.prototype, "Domain", {
2493
2466
  /**
@@ -2615,7 +2588,7 @@
2615
2588
  * Save changes
2616
2589
  */
2617
2590
  DomainsComponent.prototype.save = function () {
2618
- this.appsFlowEventsSvc.SaveProjectAsCode({
2591
+ this.eacSvc.SaveProjectAsCode({
2619
2592
  ProjectLookup: this.ProjectLookup,
2620
2593
  Project: Object.assign(Object.assign({}, this.Project), {
2621
2594
  // Hosts: [...this.Project.Hosts, this.Domain.value],
@@ -2638,7 +2611,7 @@
2638
2611
  ];
2639
2612
  DomainsComponent.ctorParameters = function () { return [
2640
2613
  { type: FormsService },
2641
- { type: ApplicationsFlowEventsService }
2614
+ { type: EaCService }
2642
2615
  ]; };
2643
2616
  DomainsComponent.propDecorators = {
2644
2617
  Data: [{ type: i0.Input, args: ['data',] }]
@@ -3453,10 +3426,10 @@
3453
3426
 
3454
3427
  var DevOpsComponent = /** @class */ (function () {
3455
3428
  // Constructors
3456
- function DevOpsComponent(formBldr, appsFlowSvc, appsFlowEventsSvc) {
3429
+ function DevOpsComponent(formBldr, appsFlowSvc, eacSvc) {
3457
3430
  this.formBldr = formBldr;
3458
3431
  this.appsFlowSvc = appsFlowSvc;
3459
- this.appsFlowEventsSvc = appsFlowEventsSvc;
3432
+ this.eacSvc = eacSvc;
3460
3433
  this.EditingSourceControlLookup = null;
3461
3434
  this.HostingDetails = new ProjectHostingDetails();
3462
3435
  }
@@ -3574,7 +3547,7 @@
3574
3547
  };
3575
3548
  DevOpsComponent.prototype.DeleteSourceControl = function (scLookup) {
3576
3549
  if (confirm("Are you sure you want to delete source control '" + scLookup + "'?")) {
3577
- this.appsFlowEventsSvc.DeleteSourceControl(scLookup);
3550
+ this.eacSvc.DeleteSourceControl(scLookup);
3578
3551
  }
3579
3552
  };
3580
3553
  DevOpsComponent.prototype.DevOpsActionLookupChanged = function (event) {
@@ -3628,7 +3601,7 @@
3628
3601
  source = Object.assign(Object.assign({}, source), { Type: 'GitHub', Name: this.EditingSourceControlLookup, DevOpsActionTriggerLookups: [devOpsActionLookup], Organization: this.SourceControlFormControls.OrganizationFormControl.value, Repository: this.SourceControlFormControls.RepositoryFormControl.value });
3629
3602
  var scLookup = "github://" + source.Organization + "/" + source.Repository;
3630
3603
  saveEnvReq.Environment.Sources[scLookup] = source;
3631
- this.appsFlowEventsSvc.SaveEnvironmentAsCode(saveEnvReq);
3604
+ this.eacSvc.SaveEnvironmentAsCode(saveEnvReq);
3632
3605
  };
3633
3606
  DevOpsComponent.prototype.SetEditingSourceControl = function (scLookup) {
3634
3607
  this.EditingSourceControlLookup = scLookup;
@@ -3684,7 +3657,7 @@
3684
3657
  DevOpsComponent.ctorParameters = function () { return [
3685
3658
  { type: forms.FormBuilder },
3686
3659
  { type: ApplicationsFlowService },
3687
- { type: ApplicationsFlowEventsService }
3660
+ { type: EaCService }
3688
3661
  ]; };
3689
3662
  DevOpsComponent.propDecorators = {
3690
3663
  Data: [{ type: i0.Input, args: ['data',] }],
@@ -3694,10 +3667,10 @@
3694
3667
 
3695
3668
  var DFSModifiersComponent = /** @class */ (function () {
3696
3669
  // Constructors
3697
- function DFSModifiersComponent(formBldr, appsFlowSvc, appsFlowEventsSvc) {
3670
+ function DFSModifiersComponent(formBldr, appsFlowSvc, eacSvc) {
3698
3671
  this.formBldr = formBldr;
3699
3672
  this.appsFlowSvc = appsFlowSvc;
3700
- this.appsFlowEventsSvc = appsFlowEventsSvc;
3673
+ this.eacSvc = eacSvc;
3701
3674
  this.EditingModifierLookup = null;
3702
3675
  }
3703
3676
  Object.defineProperty(DFSModifiersComponent.prototype, "DetailsFormControl", {
@@ -3827,7 +3800,7 @@
3827
3800
  };
3828
3801
  DFSModifiersComponent.prototype.DeleteModifier = function (modifierLookup, modifierName) {
3829
3802
  if (confirm("Are you sure you want to delete modifier '" + modifierName + "'?")) {
3830
- this.appsFlowEventsSvc.DeleteSourceControl(modifierLookup);
3803
+ this.eacSvc.DeleteSourceControl(modifierLookup);
3831
3804
  }
3832
3805
  };
3833
3806
  DFSModifiersComponent.prototype.SaveModifier = function (projectLookup) {
@@ -3851,7 +3824,7 @@
3851
3824
  break;
3852
3825
  }
3853
3826
  saveMdfrReq.Modifier.Details = JSON.stringify(details);
3854
- this.appsFlowEventsSvc.SaveDFSModifier(saveMdfrReq);
3827
+ this.eacSvc.SaveDFSModifier(saveMdfrReq);
3855
3828
  };
3856
3829
  DFSModifiersComponent.prototype.SetEditingModifier = function (modifierLookup) {
3857
3830
  this.EditingModifierLookup = modifierLookup;
@@ -3917,7 +3890,7 @@
3917
3890
  DFSModifiersComponent.ctorParameters = function () { return [
3918
3891
  { type: forms.FormBuilder },
3919
3892
  { type: ApplicationsFlowService },
3920
- { type: ApplicationsFlowEventsService }
3893
+ { type: EaCService }
3921
3894
  ]; };
3922
3895
  DFSModifiersComponent.propDecorators = {
3923
3896
  Data: [{ type: i0.Input, args: ['data',] }]
@@ -4019,8 +3992,8 @@
4019
3992
 
4020
3993
  var ProjectItemsComponent = /** @class */ (function () {
4021
3994
  // Constructors
4022
- function ProjectItemsComponent(appsFlowEventsSvc) {
4023
- this.appsFlowEventsSvc = appsFlowEventsSvc;
3995
+ function ProjectItemsComponent(eacSvc) {
3996
+ this.eacSvc = eacSvc;
4024
3997
  }
4025
3998
  Object.defineProperty(ProjectItemsComponent.prototype, "ProjectLookups", {
4026
3999
  // Fields
@@ -4037,7 +4010,7 @@
4037
4010
  // API Methods
4038
4011
  ProjectItemsComponent.prototype.DeleteProject = function (projectLookup, projectName) {
4039
4012
  if (confirm("Are you sure you want to delete project '" + projectName + "'?")) {
4040
- this.appsFlowEventsSvc.DeleteProject(projectLookup);
4013
+ this.eacSvc.DeleteProject(projectLookup);
4041
4014
  }
4042
4015
  };
4043
4016
  ProjectItemsComponent.prototype.GetPrimaryHost = function (project) {
@@ -4050,7 +4023,7 @@
4050
4023
  * Event to edit project settings
4051
4024
  */
4052
4025
  ProjectItemsComponent.prototype.ProjectSettings = function (projectLookup) {
4053
- this.appsFlowEventsSvc.SetEditProjectSettings(projectLookup);
4026
+ this.eacSvc.SetEditProjectSettings(projectLookup);
4054
4027
  };
4055
4028
  return ProjectItemsComponent;
4056
4029
  }());
@@ -4062,7 +4035,7 @@
4062
4035
  },] }
4063
4036
  ];
4064
4037
  ProjectItemsComponent.ctorParameters = function () { return [
4065
- { type: ApplicationsFlowEventsService }
4038
+ { type: EaCService }
4066
4039
  ]; };
4067
4040
  ProjectItemsComponent.propDecorators = {
4068
4041
  Projects: [{ type: i0.Input, args: ['projects',] }],
@@ -4070,8 +4043,7 @@
4070
4043
  };
4071
4044
 
4072
4045
  var BuildsComponent = /** @class */ (function () {
4073
- function BuildsComponent(appsFlowEventsSvc) {
4074
- this.appsFlowEventsSvc = appsFlowEventsSvc;
4046
+ function BuildsComponent() {
4075
4047
  }
4076
4048
  BuildsComponent.prototype.ngOnInit = function () { };
4077
4049
  BuildsComponent.prototype.ngOnDestroy = function () {
@@ -4092,9 +4064,7 @@
4092
4064
  styles: ["@import url(\"https://fonts.googleapis.com/icon?family=Material+Icons\");@import url(\"https://fonts.googleapis.com/css?family=Encode+Sans+Condensed:400,900&display=swap\");@import url(\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&display=swap\");.disable-autofill-background-default input:-webkit-autofill,.disable-autofill-background-default input:-webkit-autofill:focus,.disable-autofill-background-default input:-webkit-autofill:hover,.disable-autofill-background-default select:-webkit-autofill,.disable-autofill-background-default select:-webkit-autofill:focus,.disable-autofill-background-default select:-webkit-autofill:hover,.disable-autofill-background-default textarea:-webkit-autofill,.disable-autofill-background-default textarea:-webkit-autofill:focus,.disable-autofill-background-default textarea:-webkit-autofill:hover{-webkit-transition:background-color 5000s!important;transition:background-color 5000s!important}.list-item-disabled{cursor:not-allowed!important;filter:alpha(opacity=50);opacity:.5}.filler{display:inline-block!important;flex:1 1 auto}.sticky{position:-webkit-sticky;position:sticky;top:0;z-index:750}.inline{display:inline-block}.contents,.page-element{display:contents}.mat-spinner{margin:auto}.mat-full-width{width:100%}.spread{margin:2rem}.spread-thin{margin:1rem}.overlay{position:-webkit-sticky!important;position:sticky!important}.overlay.top{top:0}.overlay.bottom{bottom:0}.margin-0{margin:0!important}.margin-top-0,.margin-y-0{margin-top:0!important}.margin-right-0,.margin-x-0{margin-right:0!important}.margin-bottom-0,.margin-y-0{margin-bottom:0!important}.margin-left-0,.margin-x-0{margin-left:0!important}.margin-1{margin:.25rem!important}.margin-top-1,.margin-y-1{margin-top:.25rem!important}.margin-right-1,.margin-x-1{margin-right:.25rem!important}.margin-bottom-1,.margin-y-1{margin-bottom:.25rem!important}.margin-left-1,.margin-x-1{margin-left:.25rem!important}.margin-2{margin:.5rem!important}.margin-top-2,.margin-y-2{margin-top:.5rem!important}.margin-right-2,.margin-x-2{margin-right:.5rem!important}.margin-bottom-2,.margin-y-2{margin-bottom:.5rem!important}.margin-left-2,.margin-x-2{margin-left:.5rem!important}.margin-3{margin:1rem!important}.margin-top-3,.margin-y-3{margin-top:1rem!important}.margin-top-bottom-3{margin:1rem 0!important}.margin-right-3,.margin-x-3{margin-right:1rem!important}.margin-bottom-3,.margin-y-3{margin-bottom:1rem!important}.margin-left-3,.margin-x-3{margin-left:1rem!important}.margin-4{margin:2rem!important}.margin-top-4,.margin-y-4{margin-top:2rem!important}.margin-right-4,.margin-x-4{margin-right:2rem!important}.margin-bottom-4,.margin-y-4{margin-bottom:2rem!important}.margin-left-4,.margin-x-4{margin-left:2rem!important}.margin-right-5,.margin-x-5{margin-right:4rem!important}.margin-bottom-5,.margin-y-5{margin-bottom:4rem!important}.margin-left-5,.margin-x-5{margin-left:4rem!important}.margin-5{margin:4rem!important}.margin-top-5,.margin-y-5{margin-top:4rem!important}.margin-right-6,.margin-x-6{margin-right:4.5rem!important}.margin-bottom-6,.margin-y-6{margin-bottom:4.5rem!important}.margin-left-6,.margin-x-6{margin-left:4.5rem!important}.margin-7{margin:6rem!important}.margin-top-7,.margin-y-7{margin-top:6rem!important}.margin-right-7,.margin-x-7{margin-right:6rem!important}.margin-bottom-7,.margin-y-7{margin-bottom:6rem!important}.margin-left-7,.margin-x-7{margin-left:6rem!important}.margin-8{margin:7.5rem!important}.margin-top-8,.margin-y-8{margin-top:7.5rem!important}.margin-right-8,.margin-x-8{margin-right:7.5rem!important}.margin-bottom-8,.margin-y-8{margin-bottom:7.5rem!important}.margin-left-8,.margin-x-8{margin-left:7.5rem!important}.margin-9{margin:9rem!important}.margin-top-9,.margin-y-9{margin-top:9rem!important}.margin-right-9,.margin-x-9{margin-right:9rem!important}.margin-bottom-9,.margin-y-9{margin-bottom:9rem!important}.margin-left-9,.margin-x-9{margin-left:9rem!important}.padding-0{padding:0!important}.padding-top-0,.padding-y-0{padding-top:0!important}.padding-right-0,.padding-x-0{padding-right:0!important}.padding-bottom-0,.padding-y-0{padding-bottom:0!important}.padding-left-0,.padding-x-0{padding-left:0!important}.padding-1{padding:.25rem!important}.padding-top-1,.padding-y-1{padding-top:.25rem!important}.padding-right-1,.padding-x-1{padding-right:.25rem!important}.padding-bottom-1,.padding-y-1{padding-bottom:.25rem!important}.padding-left-1,.padding-x-1{padding-left:.25rem!important}.padding-2{padding:.5rem!important}.padding-top-2,.padding-y-2{padding-top:.5rem!important}.padding-right-2,.padding-x-2{padding-right:.5rem!important}.padding-bottom-2,.padding-y-2{padding-bottom:.5rem!important}.padding-left-2,.padding-x-2{padding-left:.5rem!important}.padding-3{padding:1rem!important}.padding-top-3,.padding-y-3{padding-top:1rem!important}.padding-right-3,.padding-x-3{padding-right:1rem!important}.padding-bottom-3,.padding-y-3{padding-bottom:1rem!important}.padding-left-3,.padding-x-3{padding-left:1rem!important}.padding-4{padding:2rem!important}.padding-top-4,.padding-y-4{padding-top:2rem!important}.padding-right-4,.padding-x-4{padding-right:2rem!important}.padding-bottom-4,.padding-y-4{padding-bottom:2rem!important}.padding-left-4,.padding-x-4{padding-left:2rem!important}.padding-5{padding:4rem!important}.padding-top-5,.padding-y-5{padding-top:4rem!important}.padding-right-5,.padding-x-5{padding-right:4rem!important}.padding-bottom-5,.padding-y-5{padding-bottom:4rem!important}.padding-left-5,.padding-x-5{padding-left:4rem!important}.margin-n1{margin:-.25rem!important}.margin-top-n1,.margin-y-n1{margin-top:-.25rem!important}.margin-right-n1,.margin-x-n1{margin-right:-.25rem!important}.margin-bottom-n1,.margin-y-n1{margin-bottom:-.25rem!important}.margin-left-n1,.margin-x-n1{margin-left:-.25rem!important}.margin-n2{margin:-.5rem!important}.margin-top-n2,.margin-y-n2{margin-top:-.5rem!important}.margin-right-n2,.margin-x-n2{margin-right:-.5rem!important}.margin-bottom-n2,.margin-y-n2{margin-bottom:-.5rem!important}.margin-left-n2,.margin-x-n2{margin-left:-.5rem!important}.margin-n3{margin:-1rem!important}.margin-top-n3,.margin-y-n3{margin-top:-1rem!important}.margin-right-n3,.margin-x-n3{margin-right:-1rem!important}.margin-bottom-n3,.margin-y-n3{margin-bottom:-1rem!important}.margin-left-n3,.margin-x-n3{margin-left:-1rem!important}.margin-n4{margin:-2rem!important}.margin-top-n4,.margin-y-n4{margin-top:-2rem!important}.margin-right-n4,.margin-x-n4{margin-right:-2rem!important}.margin-bottom-n4,.margin-y-n4{margin-bottom:-2rem!important}.margin-left-n4,.margin-x-n4{margin-left:-2rem!important}.margin-n5{margin:-4rem!important}.margin-top-n5,.margin-y-n5{margin-top:-4rem!important}.margin-right-n5,.margin-x-n5{margin-right:-4rem!important}.margin-bottom-n5,.margin-y-n5{margin-bottom:-4rem!important}.margin-left-n5,.margin-x-n5{margin-left:-4rem!important}.margin-auto{margin:auto!important}.margin-top-auto,.margin-y-auto{margin-top:auto!important}.margin-right-auto,.margin-x-auto{margin-right:auto!important}.margin-bottom-auto,.margin-y-auto{margin-bottom:auto!important}.margin-left-auto,.margin-x-auto{margin-left:auto!important}@media (min-width:576px){.margin-sm-0{margin:0!important}.margin-top-sm-0,.margin-y-sm-0{margin-top:0!important}.margin-right-sm-0,.margin-x-sm-0{margin-right:0!important}.margin-bottom-sm-0,.margin-y-sm-0{margin-bottom:0!important}.margin-left-sm-0,.margin-x-sm-0{margin-left:0!important}.margin-sm-1{margin:.25rem!important}.margin-top-sm-1,.margin-y-sm-1{margin-top:.25rem!important}.margin-right-sm-1,.margin-x-sm-1{margin-right:.25rem!important}.margin-bottom-sm-1,.margin-y-sm-1{margin-bottom:.25rem!important}.margin-left-sm-1,.margin-x-sm-1{margin-left:.25rem!important}.margin-sm-2{margin:.5rem!important}.margin-top-sm-2,.margin-y-sm-2{margin-top:.5rem!important}.margin-right-sm-2,.margin-x-sm-2{margin-right:.5rem!important}.margin-bottom-sm-2,.margin-y-sm-2{margin-bottom:.5rem!important}.margin-left-sm-2,.margin-x-sm-2{margin-left:.5rem!important}.margin-sm-3{margin:1rem!important}.margin-top-sm-3,.margin-y-sm-3{margin-top:1rem!important}.margin-right-sm-3,.margin-x-sm-3{margin-right:1rem!important}.margin-bottom-sm-3,.margin-y-sm-3{margin-bottom:1rem!important}.margin-left-sm-3,.margin-x-sm-3{margin-left:1rem!important}.margin-sm-4{margin:2rem!important}.margin-top-sm-4,.margin-y-sm-4{margin-top:2rem!important}.margin-right-sm-4,.margin-x-sm-4{margin-right:2rem!important}.margin-bottom-sm-4,.margin-y-sm-4{margin-bottom:2rem!important}.margin-left-sm-4,.margin-x-sm-4{margin-left:2rem!important}.margin-sm-5{margin:4rem!important}.margin-top-sm-5,.margin-y-sm-5{margin-top:4rem!important}.margin-right-sm-5,.margin-x-sm-5{margin-right:4rem!important}.margin-bottom-sm-5,.margin-y-sm-5{margin-bottom:4rem!important}.margin-left-sm-5,.margin-x-sm-5{margin-left:4rem!important}.padding-sm-0{padding:0!important}.padding-top-sm-0,.padding-y-sm-0{padding-top:0!important}.padding-right-sm-0,.padding-x-sm-0{padding-right:0!important}.padding-bottom-sm-0,.padding-y-sm-0{padding-bottom:0!important}.padding-left-sm-0,.padding-x-sm-0{padding-left:0!important}.padding-sm-1{padding:.25rem!important}.padding-top-sm-1,.padding-y-sm-1{padding-top:.25rem!important}.padding-right-sm-1,.padding-x-sm-1{padding-right:.25rem!important}.padding-bottom-sm-1,.padding-y-sm-1{padding-bottom:.25rem!important}.padding-left-sm-1,.padding-x-sm-1{padding-left:.25rem!important}.padding-sm-2{padding:.5rem!important}.padding-top-sm-2,.padding-y-sm-2{padding-top:.5rem!important}.padding-right-sm-2,.padding-x-sm-2{padding-right:.5rem!important}.padding-bottom-sm-2,.padding-y-sm-2{padding-bottom:.5rem!important}.padding-left-sm-2,.padding-x-sm-2{padding-left:.5rem!important}.padding-sm-3{padding:1rem!important}.padding-top-sm-3,.padding-y-sm-3{padding-top:1rem!important}.padding-right-sm-3,.padding-x-sm-3{padding-right:1rem!important}.padding-bottom-sm-3,.padding-y-sm-3{padding-bottom:1rem!important}.padding-left-sm-3,.padding-x-sm-3{padding-left:1rem!important}.padding-sm-4{padding:2rem!important}.padding-top-sm-4,.padding-y-sm-4{padding-top:2rem!important}.padding-right-sm-4,.padding-x-sm-4{padding-right:2rem!important}.padding-bottom-sm-4,.padding-y-sm-4{padding-bottom:2rem!important}.padding-left-sm-4,.padding-x-sm-4{padding-left:2rem!important}.padding-sm-5{padding:4rem!important}.padding-top-sm-5,.padding-y-sm-5{padding-top:4rem!important}.padding-right-sm-5,.padding-x-sm-5{padding-right:4rem!important}.padding-bottom-sm-5,.padding-y-sm-5{padding-bottom:4rem!important}.padding-left-sm-5,.padding-x-sm-5{padding-left:4rem!important}.margin-sm-n1{margin:-.25rem!important}.margin-top-sm-n1,.margin-y-sm-n1{margin-top:-.25rem!important}.margin-right-sm-n1,.margin-x-sm-n1{margin-right:-.25rem!important}.margin-bottom-sm-n1,.margin-y-sm-n1{margin-bottom:-.25rem!important}.margin-left-sm-n1,.margin-x-sm-n1{margin-left:-.25rem!important}.margin-sm-n2{margin:-.5rem!important}.margin-top-sm-n2,.margin-y-sm-n2{margin-top:-.5rem!important}.margin-right-sm-n2,.margin-x-sm-n2{margin-right:-.5rem!important}.margin-bottom-sm-n2,.margin-y-sm-n2{margin-bottom:-.5rem!important}.margin-left-sm-n2,.margin-x-sm-n2{margin-left:-.5rem!important}.margin-sm-n3{margin:-1rem!important}.margin-top-sm-n3,.margin-y-sm-n3{margin-top:-1rem!important}.margin-right-sm-n3,.margin-x-sm-n3{margin-right:-1rem!important}.margin-bottom-sm-n3,.margin-y-sm-n3{margin-bottom:-1rem!important}.margin-left-sm-n3,.margin-x-sm-n3{margin-left:-1rem!important}.margin-sm-n4{margin:-2rem!important}.margin-top-sm-n4,.margin-y-sm-n4{margin-top:-2rem!important}.margin-right-sm-n4,.margin-x-sm-n4{margin-right:-2rem!important}.margin-bottom-sm-n4,.margin-y-sm-n4{margin-bottom:-2rem!important}.margin-left-sm-n4,.margin-x-sm-n4{margin-left:-2rem!important}.margin-sm-n5{margin:-4rem!important}.margin-top-sm-n5,.margin-y-sm-n5{margin-top:-4rem!important}.margin-right-sm-n5,.margin-x-sm-n5{margin-right:-4rem!important}.margin-bottom-sm-n5,.margin-y-sm-n5{margin-bottom:-4rem!important}.margin-left-sm-n5,.margin-x-sm-n5{margin-left:-4rem!important}.margin-sm-auto{margin:auto!important}.margin-top-sm-auto,.margin-y-sm-auto{margin-top:auto!important}.margin-right-sm-auto,.margin-x-sm-auto{margin-right:auto!important}.margin-bottom-sm-auto,.margin-y-sm-auto{margin-bottom:auto!important}.margin-left-sm-auto,.margin-x-sm-auto{margin-left:auto!important}}@media (min-width:768px){.margin-md-0{margin:0!important}.margin-top-md-0,.margin-y-md-0{margin-top:0!important}.margin-right-md-0,.margin-x-md-0{margin-right:0!important}.margin-bottom-md-0,.margin-y-md-0{margin-bottom:0!important}.margin-left-md-0,.margin-x-md-0{margin-left:0!important}.margin-md-1{margin:.25rem!important}.margin-top-md-1,.margin-y-md-1{margin-top:.25rem!important}.margin-right-md-1,.margin-x-md-1{margin-right:.25rem!important}.margin-bottom-md-1,.margin-y-md-1{margin-bottom:.25rem!important}.margin-left-md-1,.margin-x-md-1{margin-left:.25rem!important}.margin-md-2{margin:.5rem!important}.margin-top-md-2,.margin-y-md-2{margin-top:.5rem!important}.margin-right-md-2,.margin-x-md-2{margin-right:.5rem!important}.margin-bottom-md-2,.margin-y-md-2{margin-bottom:.5rem!important}.margin-left-md-2,.margin-x-md-2{margin-left:.5rem!important}.margin-md-3{margin:1rem!important}.margin-top-md-3,.margin-y-md-3{margin-top:1rem!important}.margin-right-md-3,.margin-x-md-3{margin-right:1rem!important}.margin-bottom-md-3,.margin-y-md-3{margin-bottom:1rem!important}.margin-left-md-3,.margin-x-md-3{margin-left:1rem!important}.margin-md-4{margin:2rem!important}.margin-top-md-4,.margin-y-md-4{margin-top:2rem!important}.margin-right-md-4,.margin-x-md-4{margin-right:2rem!important}.margin-bottom-md-4,.margin-y-md-4{margin-bottom:2rem!important}.margin-left-md-4,.margin-x-md-4{margin-left:2rem!important}.margin-md-5{margin:4rem!important}.margin-top-md-5,.margin-y-md-5{margin-top:4rem!important}.margin-right-md-5,.margin-x-md-5{margin-right:4rem!important}.margin-bottom-md-5,.margin-y-md-5{margin-bottom:4rem!important}.margin-left-md-5,.margin-x-md-5{margin-left:4rem!important}.padding-md-0{padding:0!important}.padding-top-md-0,.padding-y-md-0{padding-top:0!important}.padding-right-md-0,.padding-x-md-0{padding-right:0!important}.padding-bottom-md-0,.padding-y-md-0{padding-bottom:0!important}.padding-left-md-0,.padding-x-md-0{padding-left:0!important}.padding-md-1{padding:.25rem!important}.padding-top-md-1,.padding-y-md-1{padding-top:.25rem!important}.padding-right-md-1,.padding-x-md-1{padding-right:.25rem!important}.padding-bottom-md-1,.padding-y-md-1{padding-bottom:.25rem!important}.padding-left-md-1,.padding-x-md-1{padding-left:.25rem!important}.padding-md-2{padding:.5rem!important}.padding-top-md-2,.padding-y-md-2{padding-top:.5rem!important}.padding-right-md-2,.padding-x-md-2{padding-right:.5rem!important}.padding-bottom-md-2,.padding-y-md-2{padding-bottom:.5rem!important}.padding-left-md-2,.padding-x-md-2{padding-left:.5rem!important}.padding-md-3{padding:1rem!important}.padding-top-md-3,.padding-y-md-3{padding-top:1rem!important}.padding-right-md-3,.padding-x-md-3{padding-right:1rem!important}.padding-bottom-md-3,.padding-y-md-3{padding-bottom:1rem!important}.padding-left-md-3,.padding-x-md-3{padding-left:1rem!important}.padding-md-4{padding:2rem!important}.padding-top-md-4,.padding-y-md-4{padding-top:2rem!important}.padding-right-md-4,.padding-x-md-4{padding-right:2rem!important}.padding-bottom-md-4,.padding-y-md-4{padding-bottom:2rem!important}.padding-left-md-4,.padding-x-md-4{padding-left:2rem!important}.padding-md-5{padding:4rem!important}.padding-top-md-5,.padding-y-md-5{padding-top:4rem!important}.padding-right-md-5,.padding-x-md-5{padding-right:4rem!important}.padding-bottom-md-5,.padding-y-md-5{padding-bottom:4rem!important}.padding-left-md-5,.padding-x-md-5{padding-left:4rem!important}.margin-md-n1{margin:-.25rem!important}.margin-top-md-n1,.margin-y-md-n1{margin-top:-.25rem!important}.margin-right-md-n1,.margin-x-md-n1{margin-right:-.25rem!important}.margin-bottom-md-n1,.margin-y-md-n1{margin-bottom:-.25rem!important}.margin-left-md-n1,.margin-x-md-n1{margin-left:-.25rem!important}.margin-md-n2{margin:-.5rem!important}.margin-top-md-n2,.margin-y-md-n2{margin-top:-.5rem!important}.margin-right-md-n2,.margin-x-md-n2{margin-right:-.5rem!important}.margin-bottom-md-n2,.margin-y-md-n2{margin-bottom:-.5rem!important}.margin-left-md-n2,.margin-x-md-n2{margin-left:-.5rem!important}.margin-md-n3{margin:-1rem!important}.margin-top-md-n3,.margin-y-md-n3{margin-top:-1rem!important}.margin-right-md-n3,.margin-x-md-n3{margin-right:-1rem!important}.margin-bottom-md-n3,.margin-y-md-n3{margin-bottom:-1rem!important}.margin-left-md-n3,.margin-x-md-n3{margin-left:-1rem!important}.margin-md-n4{margin:-2rem!important}.margin-top-md-n4,.margin-y-md-n4{margin-top:-2rem!important}.margin-right-md-n4,.margin-x-md-n4{margin-right:-2rem!important}.margin-bottom-md-n4,.margin-y-md-n4{margin-bottom:-2rem!important}.margin-left-md-n4,.margin-x-md-n4{margin-left:-2rem!important}.margin-md-n5{margin:-4rem!important}.margin-top-md-n5,.margin-y-md-n5{margin-top:-4rem!important}.margin-right-md-n5,.margin-x-md-n5{margin-right:-4rem!important}.margin-bottom-md-n5,.margin-y-md-n5{margin-bottom:-4rem!important}.margin-left-md-n5,.margin-x-md-n5{margin-left:-4rem!important}.margin-md-auto{margin:auto!important}.margin-top-md-auto,.margin-y-md-auto{margin-top:auto!important}.margin-right-md-auto,.margin-x-md-auto{margin-right:auto!important}.margin-bottom-md-auto,.margin-y-md-auto{margin-bottom:auto!important}.margin-left-md-auto,.margin-x-md-auto{margin-left:auto!important}}@media (min-width:992px){.margin-lg-0{margin:0!important}.margin-top-lg-0,.margin-y-lg-0{margin-top:0!important}.margin-right-lg-0,.margin-x-lg-0{margin-right:0!important}.margin-bottom-lg-0,.margin-y-lg-0{margin-bottom:0!important}.margin-left-lg-0,.margin-x-lg-0{margin-left:0!important}.margin-lg-1{margin:.25rem!important}.margin-top-lg-1,.margin-y-lg-1{margin-top:.25rem!important}.margin-right-lg-1,.margin-x-lg-1{margin-right:.25rem!important}.margin-bottom-lg-1,.margin-y-lg-1{margin-bottom:.25rem!important}.margin-left-lg-1,.margin-x-lg-1{margin-left:.25rem!important}.margin-lg-2{margin:.5rem!important}.margin-top-lg-2,.margin-y-lg-2{margin-top:.5rem!important}.margin-right-lg-2,.margin-x-lg-2{margin-right:.5rem!important}.margin-bottom-lg-2,.margin-y-lg-2{margin-bottom:.5rem!important}.margin-left-lg-2,.margin-x-lg-2{margin-left:.5rem!important}.margin-lg-3{margin:1rem!important}.margin-top-lg-3,.margin-y-lg-3{margin-top:1rem!important}.margin-right-lg-3,.margin-x-lg-3{margin-right:1rem!important}.margin-bottom-lg-3,.margin-y-lg-3{margin-bottom:1rem!important}.margin-left-lg-3,.margin-x-lg-3{margin-left:1rem!important}.margin-lg-4{margin:2rem!important}.margin-top-lg-4,.margin-y-lg-4{margin-top:2rem!important}.margin-right-lg-4,.margin-x-lg-4{margin-right:2rem!important}.margin-bottom-lg-4,.margin-y-lg-4{margin-bottom:2rem!important}.margin-left-lg-4,.margin-x-lg-4{margin-left:2rem!important}.margin-lg-5{margin:4rem!important}.margin-top-lg-5,.margin-y-lg-5{margin-top:4rem!important}.margin-right-lg-5,.margin-x-lg-5{margin-right:4rem!important}.margin-bottom-lg-5,.margin-y-lg-5{margin-bottom:4rem!important}.margin-left-lg-5,.margin-x-lg-5{margin-left:4rem!important}.padding-lg-0{padding:0!important}.padding-top-lg-0,.padding-y-lg-0{padding-top:0!important}.padding-right-lg-0,.padding-x-lg-0{padding-right:0!important}.padding-bottom-lg-0,.padding-y-lg-0{padding-bottom:0!important}.padding-left-lg-0,.padding-x-lg-0{padding-left:0!important}.padding-lg-1{padding:.25rem!important}.padding-top-lg-1,.padding-y-lg-1{padding-top:.25rem!important}.padding-right-lg-1,.padding-x-lg-1{padding-right:.25rem!important}.padding-bottom-lg-1,.padding-y-lg-1{padding-bottom:.25rem!important}.padding-left-lg-1,.padding-x-lg-1{padding-left:.25rem!important}.padding-lg-2{padding:.5rem!important}.padding-top-lg-2,.padding-y-lg-2{padding-top:.5rem!important}.padding-right-lg-2,.padding-x-lg-2{padding-right:.5rem!important}.padding-bottom-lg-2,.padding-y-lg-2{padding-bottom:.5rem!important}.padding-left-lg-2,.padding-x-lg-2{padding-left:.5rem!important}.padding-lg-3{padding:1rem!important}.padding-top-lg-3,.padding-y-lg-3{padding-top:1rem!important}.padding-right-lg-3,.padding-x-lg-3{padding-right:1rem!important}.padding-bottom-lg-3,.padding-y-lg-3{padding-bottom:1rem!important}.padding-left-lg-3,.padding-x-lg-3{padding-left:1rem!important}.padding-lg-4{padding:2rem!important}.padding-top-lg-4,.padding-y-lg-4{padding-top:2rem!important}.padding-right-lg-4,.padding-x-lg-4{padding-right:2rem!important}.padding-bottom-lg-4,.padding-y-lg-4{padding-bottom:2rem!important}.padding-left-lg-4,.padding-x-lg-4{padding-left:2rem!important}.padding-lg-5{padding:4rem!important}.padding-top-lg-5,.padding-y-lg-5{padding-top:4rem!important}.padding-right-lg-5,.padding-x-lg-5{padding-right:4rem!important}.padding-bottom-lg-5,.padding-y-lg-5{padding-bottom:4rem!important}.padding-left-lg-5,.padding-x-lg-5{padding-left:4rem!important}.margin-lg-n1{margin:-.25rem!important}.margin-top-lg-n1,.margin-y-lg-n1{margin-top:-.25rem!important}.margin-right-lg-n1,.margin-x-lg-n1{margin-right:-.25rem!important}.margin-bottom-lg-n1,.margin-y-lg-n1{margin-bottom:-.25rem!important}.margin-left-lg-n1,.margin-x-lg-n1{margin-left:-.25rem!important}.margin-lg-n2{margin:-.5rem!important}.margin-top-lg-n2,.margin-y-lg-n2{margin-top:-.5rem!important}.margin-right-lg-n2,.margin-x-lg-n2{margin-right:-.5rem!important}.margin-bottom-lg-n2,.margin-y-lg-n2{margin-bottom:-.5rem!important}.margin-left-lg-n2,.margin-x-lg-n2{margin-left:-.5rem!important}.margin-lg-n3{margin:-1rem!important}.margin-top-lg-n3,.margin-y-lg-n3{margin-top:-1rem!important}.margin-right-lg-n3,.margin-x-lg-n3{margin-right:-1rem!important}.margin-bottom-lg-n3,.margin-y-lg-n3{margin-bottom:-1rem!important}.margin-left-lg-n3,.margin-x-lg-n3{margin-left:-1rem!important}.margin-lg-n4{margin:-2rem!important}.margin-top-lg-n4,.margin-y-lg-n4{margin-top:-2rem!important}.margin-right-lg-n4,.margin-x-lg-n4{margin-right:-2rem!important}.margin-bottom-lg-n4,.margin-y-lg-n4{margin-bottom:-2rem!important}.margin-left-lg-n4,.margin-x-lg-n4{margin-left:-2rem!important}.margin-lg-n5{margin:-4rem!important}.margin-top-lg-n5,.margin-y-lg-n5{margin-top:-4rem!important}.margin-right-lg-n5,.margin-x-lg-n5{margin-right:-4rem!important}.margin-bottom-lg-n5,.margin-y-lg-n5{margin-bottom:-4rem!important}.margin-left-lg-n5,.margin-x-lg-n5{margin-left:-4rem!important}.margin-lg-auto{margin:auto!important}.margin-top-lg-auto,.margin-y-lg-auto{margin-top:auto!important}.margin-right-lg-auto,.margin-x-lg-auto{margin-right:auto!important}.margin-bottom-lg-auto,.margin-y-lg-auto{margin-bottom:auto!important}.margin-left-lg-auto,.margin-x-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.margin-xl-0{margin:0!important}.margin-top-xl-0,.margin-y-xl-0{margin-top:0!important}.margin-right-xl-0,.margin-x-xl-0{margin-right:0!important}.margin-bottom-xl-0,.margin-y-xl-0{margin-bottom:0!important}.margin-left-xl-0,.margin-x-xl-0{margin-left:0!important}.margin-xl-1{margin:.25rem!important}.margin-top-xl-1,.margin-y-xl-1{margin-top:.25rem!important}.margin-right-xl-1,.margin-x-xl-1{margin-right:.25rem!important}.margin-bottom-xl-1,.margin-y-xl-1{margin-bottom:.25rem!important}.margin-left-xl-1,.margin-x-xl-1{margin-left:.25rem!important}.margin-xl-2{margin:.5rem!important}.margin-top-xl-2,.margin-y-xl-2{margin-top:.5rem!important}.margin-right-xl-2,.margin-x-xl-2{margin-right:.5rem!important}.margin-bottom-xl-2,.margin-y-xl-2{margin-bottom:.5rem!important}.margin-left-xl-2,.margin-x-xl-2{margin-left:.5rem!important}.margin-xl-3{margin:1rem!important}.margin-top-xl-3,.margin-y-xl-3{margin-top:1rem!important}.margin-right-xl-3,.margin-x-xl-3{margin-right:1rem!important}.margin-bottom-xl-3,.margin-y-xl-3{margin-bottom:1rem!important}.margin-left-xl-3,.margin-x-xl-3{margin-left:1rem!important}.margin-xl-4{margin:2rem!important}.margin-top-xl-4,.margin-y-xl-4{margin-top:2rem!important}.margin-right-xl-4,.margin-x-xl-4{margin-right:2rem!important}.margin-bottom-xl-4,.margin-y-xl-4{margin-bottom:2rem!important}.margin-left-xl-4,.margin-x-xl-4{margin-left:2rem!important}.margin-xl-5{margin:4rem!important}.margin-top-xl-5,.margin-y-xl-5{margin-top:4rem!important}.margin-right-xl-5,.margin-x-xl-5{margin-right:4rem!important}.margin-bottom-xl-5,.margin-y-xl-5{margin-bottom:4rem!important}.margin-left-xl-5,.margin-x-xl-5{margin-left:4rem!important}.padding-xl-0{padding:0!important}.padding-top-xl-0,.padding-y-xl-0{padding-top:0!important}.padding-right-xl-0,.padding-x-xl-0{padding-right:0!important}.padding-bottom-xl-0,.padding-y-xl-0{padding-bottom:0!important}.padding-left-xl-0,.padding-x-xl-0{padding-left:0!important}.padding-xl-1{padding:.25rem!important}.padding-top-xl-1,.padding-y-xl-1{padding-top:.25rem!important}.padding-right-xl-1,.padding-x-xl-1{padding-right:.25rem!important}.padding-bottom-xl-1,.padding-y-xl-1{padding-bottom:.25rem!important}.padding-left-xl-1,.padding-x-xl-1{padding-left:.25rem!important}.padding-xl-2{padding:.5rem!important}.padding-top-xl-2,.padding-y-xl-2{padding-top:.5rem!important}.padding-right-xl-2,.padding-x-xl-2{padding-right:.5rem!important}.padding-bottom-xl-2,.padding-y-xl-2{padding-bottom:.5rem!important}.padding-left-xl-2,.padding-x-xl-2{padding-left:.5rem!important}.padding-xl-3{padding:1rem!important}.padding-top-xl-3,.padding-y-xl-3{padding-top:1rem!important}.padding-right-xl-3,.padding-x-xl-3{padding-right:1rem!important}.padding-bottom-xl-3,.padding-y-xl-3{padding-bottom:1rem!important}.padding-left-xl-3,.padding-x-xl-3{padding-left:1rem!important}.padding-xl-4{padding:2rem!important}.padding-top-xl-4,.padding-y-xl-4{padding-top:2rem!important}.padding-right-xl-4,.padding-x-xl-4{padding-right:2rem!important}.padding-bottom-xl-4,.padding-y-xl-4{padding-bottom:2rem!important}.padding-left-xl-4,.padding-x-xl-4{padding-left:2rem!important}.padding-xl-5{padding:4rem!important}.padding-top-xl-5,.padding-y-xl-5{padding-top:4rem!important}.padding-right-xl-5,.padding-x-xl-5{padding-right:4rem!important}.padding-bottom-xl-5,.padding-y-xl-5{padding-bottom:4rem!important}.padding-left-xl-5,.padding-x-xl-5{padding-left:4rem!important}.margin-xl-n1{margin:-.25rem!important}.margin-top-xl-n1,.margin-y-xl-n1{margin-top:-.25rem!important}.margin-right-xl-n1,.margin-x-xl-n1{margin-right:-.25rem!important}.margin-bottom-xl-n1,.margin-y-xl-n1{margin-bottom:-.25rem!important}.margin-left-xl-n1,.margin-x-xl-n1{margin-left:-.25rem!important}.margin-xl-n2{margin:-.5rem!important}.margin-top-xl-n2,.margin-y-xl-n2{margin-top:-.5rem!important}.margin-right-xl-n2,.margin-x-xl-n2{margin-right:-.5rem!important}.margin-bottom-xl-n2,.margin-y-xl-n2{margin-bottom:-.5rem!important}.margin-left-xl-n2,.margin-x-xl-n2{margin-left:-.5rem!important}.margin-xl-n3{margin:-1rem!important}.margin-top-xl-n3,.margin-y-xl-n3{margin-top:-1rem!important}.margin-right-xl-n3,.margin-x-xl-n3{margin-right:-1rem!important}.margin-bottom-xl-n3,.margin-y-xl-n3{margin-bottom:-1rem!important}.margin-left-xl-n3,.margin-x-xl-n3{margin-left:-1rem!important}.margin-xl-n4{margin:-2rem!important}.margin-top-xl-n4,.margin-y-xl-n4{margin-top:-2rem!important}.margin-right-xl-n4,.margin-x-xl-n4{margin-right:-2rem!important}.margin-bottom-xl-n4,.margin-y-xl-n4{margin-bottom:-2rem!important}.margin-left-xl-n4,.margin-x-xl-n4{margin-left:-2rem!important}.margin-xl-n5{margin:-4rem!important}.margin-top-xl-n5,.margin-y-xl-n5{margin-top:-4rem!important}.margin-right-xl-n5,.margin-x-xl-n5{margin-right:-4rem!important}.margin-bottom-xl-n5,.margin-y-xl-n5{margin-bottom:-4rem!important}.margin-left-xl-n5,.margin-x-xl-n5{margin-left:-4rem!important}.margin-xl-auto{margin:auto!important}.margin-top-xl-auto,.margin-y-xl-auto{margin-top:auto!important}.margin-right-xl-auto,.margin-x-xl-auto{margin-right:auto!important}.margin-bottom-xl-auto,.margin-y-xl-auto{margin-bottom:auto!important}.margin-left-xl-auto,.margin-x-xl-auto{margin-left:auto!important}}.h1{font-size:2em}.h2{font-size:1.5em}.h3{font-size:1.17em}.h4{font-size:1em}.h5{font-size:.83em}.h6{font-size:.67em}.cursor-alias{cursor:alias}.cursor-all-scroll{cursor:all-scroll}.cursor-auto{cursor:auto}.cursor-cell{cursor:cell}.cursor-context-menu{cursor:context-menu}.cursor-col-resize{cursor:col-resize}.cursor-copy{cursor:copy}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-e-resize{cursor:e-resize}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:-webkit-grab;cursor:grab}.cursor-grabbing{cursor:-webkit-grabbing;cursor:grabbing}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-n-resize{cursor:n-resize}.cursor-ne-resize{cursor:ne-resize}.cursor-nesw-resize{cursor:nesw-resize}.cursor-ns-resize{cursor:ns-resize}.cursor-nw-resize{cursor:nw-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-no-drop{cursor:no-drop}.cursor-none{cursor:none}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-progress{cursor:progress}.cursor-row-resize{cursor:row-resize}.cursor-s-resize{cursor:s-resize}.cursor-se-resize{cursor:se-resize}.cursor-sw-resize{cursor:sw-resize}.cursor-text{cursor:text}.cursor-w-resize{cursor:w-resize}.cursor-wait{cursor:wait}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.mat-tooltip{font-size:15px!important}body,html{height:100%}body{font-family:opens sans regular,sans-serif;margin:0;padding:0}iframe{border:none}.mat-badge-content{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:600}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,Helvetica Neue,sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-body-1 p,.mat-body p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,Helvetica Neue,sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,Helvetica Neue,sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-content,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,Helvetica Neue,sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,Helvetica Neue,sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,Helvetica Neue,sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-expansion-panel-header{font-family:Roboto,Helvetica Neue,sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-form-field{font-family:Roboto,Helvetica Neue,sans-serif;font-size:inherit;font-weight:400;letter-spacing:normal;line-height:1.125}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{border-top:.84375em solid transparent;padding:.5em 0}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.3333333333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.3333433333%}.mat-form-field-label-wrapper{padding-top:.84375em;top:-.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.6666666667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{-ms-transform:translateY(-1.28125em) scale(.75);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);width:133.3333333333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-ms-transform:translateY(-1.28124em) scale(.75);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);width:133.3333433333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-ms-transform:translateY(-1.28123em) scale(.75);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);width:133.3333533333%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.5416666667em;top:calc(100% - 1.66667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{margin-top:-.5em;top:1.09375em}.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.3333433333%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{margin-top:-.25em;top:1.84375em}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.3333333333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.3333433333%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,Helvetica Neue,sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content,.mat-slider-thumb-label-text{font-family:Roboto,Helvetica Neue,sans-serif}.mat-slider-thumb-label-text{font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,Helvetica Neue,sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group,.mat-tab-label,.mat-tab-link{font-family:Roboto,Helvetica Neue,sans-serif}.mat-tab-label,.mat-tab-link{font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;margin:0}.mat-tooltip{font-family:Roboto,Helvetica Neue,sans-serif;font-size:10px;padding-bottom:6px;padding-top:6px}.mat-tooltip-handset{font-size:14px;padding-bottom:8px;padding-top:8px}.mat-list-item,.mat-list-option{font-family:Roboto,Helvetica Neue,sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{box-sizing:border-box;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.mat-simple-snackbar{font-family:Roboto,Helvetica Neue,sans-serif;font-size:14px}.mat-simple-snackbar-action{font-family:inherit;font-size:inherit;font-weight:500;line-height:1}.mat-tree{font-family:Roboto,Helvetica Neue,sans-serif}.mat-nested-tree-node,.mat-tree-node{font-size:14px;font-weight:400}.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{border-radius:50%;pointer-events:none;position:absolute;transform:scale(0);transition:opacity,transform 0ms cubic-bezier(0,0,.2,1)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{-moz-appearance:none;-webkit-appearance:none;border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;outline:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.cdk-global-overlay-wrapper,.cdk-overlay-container{height:100%;left:0;pointer-events:none;top:0;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper,.cdk-overlay-pane{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{box-sizing:border-box;max-height:100%;max-width:100%;pointer-events:auto}.cdk-overlay-backdrop{-webkit-tap-highlight-color:transparent;bottom:0;left:0;opacity:0;pointer-events:auto;position:absolute;right:0;top:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1);z-index:1000}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{display:flex;flex-direction:column;min-height:1px;min-width:1px;position:absolute;z-index:1000}.cdk-global-scrollblock{overflow-y:scroll;position:fixed;width:100%}@-webkit-keyframes cdk-text-field-autofill-start{\n /*!*/}@keyframes cdk-text-field-autofill-start{\n /*!*/}@-webkit-keyframes cdk-text-field-autofill-end{\n /*!*/}@keyframes cdk-text-field-autofill-end{\n /*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation:cdk-text-field-autofill-start 0s 1ms;animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation:cdk-text-field-autofill-end 0s 1ms;animation:cdk-text-field-autofill-end 0s 1ms}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{box-sizing:content-box!important;height:auto!important;overflow:hidden!important;padding:2px 0!important}textarea.cdk-textarea-autosize-measuring-firefox{box-sizing:content-box!important;height:0!important;padding:2px 0!important}.mat-focus-indicator,.mat-mdc-focus-indicator{position:relative}.header,.title{font-family:Encode Sans Condensed,sans-serif;font-weight:900}.paragraph-title,.tagline{font-family:Open Sans,sans-serif;font-weight:400}.paragraph-title-bold .tagLine-bold{font-family:Open Sans,sans-serif;font-weight:700}.plain-text,.remarks{font-family:Open Sans,sans-serif;font-weight:300}.plain-text-bold{font-family:Open Sans,sans-serif;font-weight:700}.flex-column{flex-direction:column}.flex-column,.flex-row{box-sizing:border-box;display:flex}.flex-row{flex-direction:row}.flex-row-center{align-items:center;justify-content:center}.mat-button-large{font-size:18px;font-weight:700;line-height:48px;padding:0 24px!important}.mat-round{border-radius:.5em}:root{--background:#050505;--cyan-accent:rgba(132,255,255,0.75);--green-accent:#00e676;--initial-accent:#9cd8d7;--initial-dark-background:#222;--initial-dark-text:hsla(0,0%,100%,0.87);--initial-light-background:#f2f2f2;--initial-light-background:#fff;--initial-light-text:rgba(0,0,0,0.87);--initial-primary:#4a918e;--initial-warn:#ef4351;--orange-accent:#ff9800;--pink-accent:#e91e63;--purple-accent:#9c27b0;--success:#00e676;--yellow-accent:#fdd835}body{background-color:var(--initial-dark-background)}::ng-deep .mat-tooltip{font-size:16px!important}:host .valid-control{color:var(--green-accent)}:host .invalid-control{color:var(--theme-warn-500)}:host .actions .item:not(:last-child){margin-right:0}:host .project-thumbnail img{height:50px;width:auto}:host .active{background-color:var(--theme-accent-400)}:host .active,:host .inactive{transition:background-color 1s linear}:host .inactive{background-color:rgba(242,245,169,0)}:host .expansion-panel{margin-bottom:10px;width:100%}:host .expansion-container{max-height:300px;overflow-y:auto}:host .divider-fill-vert{background-color:var(--theme-accent-500);bottom:10%;min-height:100%;min-width:5px;top:10%}:host .divider-fill-hor{background-color:var(--theme-accent-500);height:5px;width:100%}:host .form-disabled{background-color:#797979;border-radius:4px;opacity:.5}::ng-deep input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-text-fill-color:hsla(0,0%,100%,.8705882352941177);-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}@media (max-width:768px){.spread{margin:1em!important}}@media (max-width:480px){.spread{margin:.5em!important}}.spinner-logo{display:none!important}.success{color:var(--success)}.error{color:var(--theme-warn-500)}.icon-bg{border-radius:50%;padding:3px}.name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:150px}"]
4093
4065
  },] }
4094
4066
  ];
4095
- BuildsComponent.ctorParameters = function () { return [
4096
- { type: ApplicationsFlowEventsService }
4097
- ]; };
4067
+ BuildsComponent.ctorParameters = function () { return []; };
4098
4068
  BuildsComponent.propDecorators = {
4099
4069
  Projects: [{ type: i0.Input, args: ['projects',] }]
4100
4070
  };
@@ -4138,9 +4108,9 @@
4138
4108
  };
4139
4109
 
4140
4110
  var ProjectNameComponent = /** @class */ (function () {
4141
- function ProjectNameComponent(formsService, appsFlowEventsSvc) {
4111
+ function ProjectNameComponent(formsService, eacSvc) {
4142
4112
  this.formsService = formsService;
4143
- this.appsFlowEventsSvc = appsFlowEventsSvc;
4113
+ this.eacSvc = eacSvc;
4144
4114
  }
4145
4115
  Object.defineProperty(ProjectNameComponent.prototype, "Description", {
4146
4116
  /**
@@ -4219,7 +4189,7 @@
4219
4189
  * Save form
4220
4190
  */
4221
4191
  ProjectNameComponent.prototype.save = function () {
4222
- this.appsFlowEventsSvc.SaveProjectAsCode({
4192
+ this.eacSvc.SaveProjectAsCode({
4223
4193
  ProjectLookup: this.ProjectLookup,
4224
4194
  Project: Object.assign(Object.assign({}, this.Project), { Project: Object.assign(Object.assign({}, (this.Project || {})), { Description: this.Description.value, Name: this.Name.value }) }),
4225
4195
  });
@@ -4265,7 +4235,7 @@
4265
4235
  ];
4266
4236
  ProjectNameComponent.ctorParameters = function () { return [
4267
4237
  { type: FormsService },
4268
- { type: ApplicationsFlowEventsService }
4238
+ { type: EaCService }
4269
4239
  ]; };
4270
4240
  ProjectNameComponent.propDecorators = {
4271
4241
  Project: [{ type: i0.Input, args: ['project',] }],
@@ -4273,9 +4243,9 @@
4273
4243
  };
4274
4244
 
4275
4245
  var RootDirectoryComponent = /** @class */ (function () {
4276
- function RootDirectoryComponent(formsService, appsFlowEventsSvc) {
4246
+ function RootDirectoryComponent(formsService, eacSvc) {
4277
4247
  this.formsService = formsService;
4278
- this.appsFlowEventsSvc = appsFlowEventsSvc;
4248
+ this.eacSvc = eacSvc;
4279
4249
  }
4280
4250
  Object.defineProperty(RootDirectoryComponent.prototype, "Root", {
4281
4251
  /**
@@ -4349,7 +4319,7 @@
4349
4319
  * Save form
4350
4320
  */
4351
4321
  RootDirectoryComponent.prototype.save = function () {
4352
- this.appsFlowEventsSvc.SaveProjectAsCode({
4322
+ this.eacSvc.SaveProjectAsCode({
4353
4323
  ProjectLookup: this.ProjectLookup,
4354
4324
  Project: Object.assign({}, this.Project),
4355
4325
  });
@@ -4384,7 +4354,7 @@
4384
4354
  ];
4385
4355
  RootDirectoryComponent.ctorParameters = function () { return [
4386
4356
  { type: FormsService },
4387
- { type: ApplicationsFlowEventsService }
4357
+ { type: EaCService }
4388
4358
  ]; };
4389
4359
  RootDirectoryComponent.propDecorators = {
4390
4360
  Project: [{ type: i0.Input, args: ['project',] }],
@@ -4392,9 +4362,9 @@
4392
4362
  };
4393
4363
 
4394
4364
  var BaseFormComponent = /** @class */ (function () {
4395
- function BaseFormComponent(formsService, appsFlowEventsSvc) {
4365
+ function BaseFormComponent(formsService, eac) {
4396
4366
  this.formsService = formsService;
4397
- this.appsFlowEventsSvc = appsFlowEventsSvc;
4367
+ this.eac = eac;
4398
4368
  }
4399
4369
  BaseFormComponent.prototype.ngOnInit = function () {
4400
4370
  this.setupForm();
@@ -4448,7 +4418,7 @@
4448
4418
  ];
4449
4419
  BaseFormComponent.ctorParameters = function () { return [
4450
4420
  { type: FormsService },
4451
- { type: ApplicationsFlowEventsService }
4421
+ { type: EaCService }
4452
4422
  ]; };
4453
4423
 
4454
4424
  var BaseFormConfigModel = /** @class */ (function () {
@@ -4460,10 +4430,10 @@
4460
4430
 
4461
4431
  var BaseFormTestComponent = /** @class */ (function (_super) {
4462
4432
  __extends(BaseFormTestComponent, _super);
4463
- function BaseFormTestComponent(formsService, appsFlowEventsSvc) {
4464
- var _this = _super.call(this, formsService, appsFlowEventsSvc) || this;
4433
+ function BaseFormTestComponent(formsService, eacSvc) {
4434
+ var _this = _super.call(this, formsService, eacSvc) || this;
4465
4435
  _this.formsService = formsService;
4466
- _this.appsFlowEventsSvc = appsFlowEventsSvc;
4436
+ _this.eacSvc = eacSvc;
4467
4437
  return _this;
4468
4438
  }
4469
4439
  Object.defineProperty(BaseFormTestComponent.prototype, "Description", {
@@ -4546,7 +4516,7 @@
4546
4516
  ];
4547
4517
  BaseFormTestComponent.ctorParameters = function () { return [
4548
4518
  { type: FormsService },
4549
- { type: ApplicationsFlowEventsService }
4519
+ { type: EaCService }
4550
4520
  ]; };
4551
4521
 
4552
4522
  var GitAuthComponent = /** @class */ (function () {
@@ -4777,6 +4747,7 @@
4777
4747
 
4778
4748
  var SlottedCardComponent = /** @class */ (function () {
4779
4749
  function SlottedCardComponent() {
4750
+ this.MainActionClicked = new i0.EventEmitter;
4780
4751
  }
4781
4752
  SlottedCardComponent.prototype.ngOnInit = function () {
4782
4753
  };
@@ -4788,7 +4759,7 @@
4788
4759
  SlottedCardComponent.decorators = [
4789
4760
  { type: i0.Component, args: [{
4790
4761
  selector: 'lcu-slotted-card',
4791
- template: "<mat-card class=\"col-info-card\">\n <mat-card-header fxLayoutAlign=\"space-between center\">\n <mat-card-title class=\"card-title\">{{ Title }}</mat-card-title>\n <mat-icon class=\"header-icon\">{{ Icon }}</mat-icon>\n </mat-card-header>\n \n <mat-card-content>\n\n <div class=\"slot-main-container\">\n\n <div class=\"header-description\">{{ MainSlotDescription }}</div>\n\n <div class=\"slot-main\">\n <ng-content></ng-content>\n </div>\n \n </div>\n\n <div *ngIf=\"SecondarySlotDescription\" class=\"slot-secondary-container\">\n\n <div class=\"header-description\">{{ SecondarySlotDescription }}</div>\n\n <div class=\"slot-secondary\">\n <ng-content select=\"[secondary]\"></ng-content>\n </div>\n \n </div>\n \n </mat-card-content>\n\n <mat-card-actions *ngIf=\"ActionText\" fxLayoutAlign=\"center\">\n <a mat-button class=\"slotted-card-action-btn\" [href]=\"ActionPath\">{{ ActionText }}</a>\n </mat-card-actions>\n\n </mat-card>\n\n\n",
4762
+ template: "<mat-card class=\"col-info-card\">\n <mat-card-header fxLayoutAlign=\"space-between center\">\n <mat-card-title class=\"card-title\">{{ Title }}</mat-card-title>\n <mat-icon class=\"header-icon\">{{ Icon }}</mat-icon>\n </mat-card-header>\n \n <mat-card-content>\n\n <div class=\"slot-main-container\">\n\n <div class=\"header-description\">{{ MainSlotDescription }}</div>\n\n <div class=\"slot-main\">\n <ng-content></ng-content>\n </div>\n \n </div>\n\n <div *ngIf=\"SecondarySlotDescription\" class=\"slot-secondary-container\">\n\n <div class=\"header-description\">{{ SecondarySlotDescription }}</div>\n\n <div class=\"slot-secondary\">\n <ng-content select=\"[secondary]\"></ng-content>\n </div>\n \n </div>\n \n </mat-card-content>\n\n <mat-card-actions *ngIf=\"ActionText\" fxLayoutAlign=\"center\">\n <a mat-button *ngIf=\"ActionPath\" class=\"slotted-card-action-btn\" [href]=\"ActionPath\">{{ ActionText }}</a>\n <a mat-button *ngIf=\"!ActionPath\" class=\"slotted-card-action-btn\" (click)=\"MainActionClickEvent()\">{{ ActionText }}</a>\n </mat-card-actions>\n\n </mat-card>\n\n\n",
4792
4763
  styles: [".col-info-card{border:2px solid #d3d3d3;margin:20px;padding:0}.header-icon{margin-right:10px}.card-title{font-size:30px;margin-bottom:0}.header-description{background-color:#d3d3d3;margin-left:-2px;padding:10px}mat-card-actions{margin-bottom:0!important;margin-left:-1px!important;margin-right:0!important}.slotted-card-action-btn{border-radius:0 0 2px 2px;border-top:1px solid #d3d3d3;width:100%}"]
4793
4764
  },] }
4794
4765
  ];
@@ -5428,7 +5399,7 @@
5428
5399
  ProcessorDetailsFormComponent.decorators = [
5429
5400
  { type: i0.Component, args: [{
5430
5401
  selector: 'lcu-processor-details-form',
5431
- 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",
5402
+ 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</button>\n </mat-card-actions>\n</mat-card>\n</form>\n \n",
5432
5403
  styles: [""]
5433
5404
  },] }
5434
5405
  ];
@@ -5513,36 +5484,701 @@
5513
5484
  };
5514
5485
 
5515
5486
  var BuildPipelineFormComponent = /** @class */ (function () {
5516
- function BuildPipelineFormComponent() {
5487
+ function BuildPipelineFormComponent(formBuilder, appsFlowSvc) {
5488
+ this.formBuilder = formBuilder;
5489
+ this.appsFlowSvc = appsFlowSvc;
5490
+ this.HostingDetails = new ProjectHostingDetails();
5517
5491
  }
5492
+ Object.defineProperty(BuildPipelineFormComponent.prototype, "Artifact", {
5493
+ // @Input('main-branch')
5494
+ // public MainBranch: string;
5495
+ // @Input('organization')
5496
+ // public Organization: string;
5497
+ // @Input('repository')
5498
+ // public Repository: string;
5499
+ get: function () {
5500
+ var _a, _b, _c;
5501
+ console.log("ARTIFACT: ", (_a = this.Environment) === null || _a === void 0 ? void 0 : _a.Artifacts[this.ArtifactLookup]);
5502
+ return ((_b = this.Environment) === null || _b === void 0 ? void 0 : _b.Artifacts) && this.ArtifactLookup
5503
+ ? ((_c = this.Environment) === null || _c === void 0 ? void 0 : _c.Artifacts[this.ArtifactLookup]) || {}
5504
+ : {};
5505
+ },
5506
+ enumerable: false,
5507
+ configurable: true
5508
+ });
5509
+ Object.defineProperty(BuildPipelineFormComponent.prototype, "ArtifactLookup", {
5510
+ get: function () {
5511
+ var _a, _b;
5512
+ var artLookup = ((_a = this.DevOpsAction) === null || _a === void 0 ? void 0 : _a.ArtifactLookups) ? (_b = this.DevOpsAction) === null || _b === void 0 ? void 0 : _b.ArtifactLookups[0] : null;
5513
+ return artLookup;
5514
+ },
5515
+ enumerable: false,
5516
+ configurable: true
5517
+ });
5518
+ Object.defineProperty(BuildPipelineFormComponent.prototype, "BuildPipelineFormControl", {
5519
+ get: function () {
5520
+ var _a;
5521
+ return (_a = this.BuildPipelineFormGroup) === null || _a === void 0 ? void 0 : _a.controls.buildPipeline;
5522
+ },
5523
+ enumerable: false,
5524
+ configurable: true
5525
+ });
5526
+ Object.defineProperty(BuildPipelineFormComponent.prototype, "DevOpsAction", {
5527
+ get: function () {
5528
+ return this.Environment.DevOpsActions && this.DevOpsActionLookup
5529
+ ? this.Environment.DevOpsActions[this.DevOpsActionLookup] || {}
5530
+ : {};
5531
+ },
5532
+ enumerable: false,
5533
+ configurable: true
5534
+ });
5535
+ Object.defineProperty(BuildPipelineFormComponent.prototype, "DevOpsActions", {
5536
+ get: function () {
5537
+ return this.Environment.DevOpsActions || {};
5538
+ },
5539
+ enumerable: false,
5540
+ configurable: true
5541
+ });
5542
+ Object.defineProperty(BuildPipelineFormComponent.prototype, "EditingSourceControl", {
5543
+ get: function () {
5544
+ var _a, _b;
5545
+ var sc = ((_a = this.Environment) === null || _a === void 0 ? void 0 : _a.Sources) ? (_b = this.Environment) === null || _b === void 0 ? void 0 : _b.Sources[this.EditingSourceControlLookup] : null;
5546
+ if (sc == null && this.EditingSourceControlLookup) {
5547
+ sc = {};
5548
+ }
5549
+ return sc;
5550
+ },
5551
+ enumerable: false,
5552
+ configurable: true
5553
+ });
5554
+ Object.defineProperty(BuildPipelineFormComponent.prototype, "SelectedHostingOption", {
5555
+ // (ho) => ho.Lookup === this.BuildPipeline
5556
+ get: function () {
5557
+ var _this = this;
5558
+ var _a, _b;
5559
+ return (_b = (_a = this.HostingDetails) === null || _a === void 0 ? void 0 : _a.HostingOptions) === null || _b === void 0 ? void 0 : _b.find(function (ho) { return ho.Lookup === _this.BuildPipeline; });
5560
+ },
5561
+ enumerable: false,
5562
+ configurable: true
5563
+ });
5564
+ Object.defineProperty(BuildPipelineFormComponent.prototype, "SourceControlLookups", {
5565
+ get: function () {
5566
+ return Object.keys(this.SourceControls || {});
5567
+ },
5568
+ enumerable: false,
5569
+ configurable: true
5570
+ });
5571
+ Object.defineProperty(BuildPipelineFormComponent.prototype, "SourceControls", {
5572
+ get: function () {
5573
+ return this.Environment.Sources || {};
5574
+ },
5575
+ enumerable: false,
5576
+ configurable: true
5577
+ });
5518
5578
  BuildPipelineFormComponent.prototype.ngOnInit = function () {
5579
+ var _a, _b, _c;
5580
+ this.BuildPipelineFormGroup = this.formBuilder.group({});
5581
+ this.loadProjectHostingDetails();
5582
+ console.log("ARTIFACT: ", this.Artifact);
5583
+ // this.BuildPipeline ||
5584
+ // github-artifacts-release is this.HostingDetails?.HostingOptions[0]?.Lookup
5585
+ this.BuildPipeline =
5586
+ ((_a = this.HostingDetails) === null || _a === void 0 ? void 0 : _a.HostingOptions) ? (_c = (_b = this.HostingDetails) === null || _b === void 0 ? void 0 : _b.HostingOptions[0]) === null || _c === void 0 ? void 0 : _c.Lookup : '';
5587
+ console.log("Build Pipeline HERE= ", this.BuildPipeline);
5588
+ if (this.BuildPipelineFormGroup != null) {
5589
+ this.BuildPipelineFormGroup.removeControl('hostingDetails');
5590
+ }
5591
+ this.BuildPipelineFormGroup.addControl('hostingDetails', this.formBuilder.group({
5592
+ buildPipeline: [this.BuildPipeline, [forms.Validators.required]],
5593
+ }));
5594
+ this.setupControlsForForm();
5595
+ };
5596
+ //API METHODS
5597
+ BuildPipelineFormComponent.prototype.BuildPipelineChanged = function () {
5598
+ var _a, _b;
5599
+ console.log("build pipeline value: ", (_a = this.BuildPipelineFormControl) === null || _a === void 0 ? void 0 : _a.value);
5600
+ this.BuildPipeline = (_b = this.BuildPipelineFormControl) === null || _b === void 0 ? void 0 : _b.value;
5601
+ this.setupControlsForForm();
5602
+ };
5603
+ // Helpers
5604
+ BuildPipelineFormComponent.prototype.setupControlsForForm = function () {
5605
+ var _this = this;
5606
+ //for (const ctrlName in this.BuildPipelineFormGroup.controls) {
5607
+ //devOpsAction doesn't exist
5608
+ //removes hosting details
5609
+ // if (ctrlName !== 'buildPipeline' && ctrlName !== 'devOpsAction') {
5610
+ // console.log("removing control: ", ctrlName)
5611
+ // this.BuildPipelineFormGroup.removeControl(ctrlName);
5612
+ // }
5613
+ //}
5614
+ var _a, _b, _c, _d, _e, _f;
5615
+ this.BuildPipelineFormGroup.addControl('devOpsActionName', this.formBuilder.control(((_a = this.DevOpsAction) === null || _a === void 0 ? void 0 : _a.Name) || ((_b = this.SelectedHostingOption) === null || _b === void 0 ? void 0 : _b.Name) || '', [forms.Validators.required]));
5616
+ (_d = (_c = this.SelectedHostingOption) === null || _c === void 0 ? void 0 : _c.Inputs) === null || _d === void 0 ? void 0 : _d.forEach(function (input) {
5617
+ var validators = input.Required ? [forms.Validators.required] : [];
5618
+ _this.BuildPipelineFormGroup.addControl(input.Lookup, _this.formBuilder.control(_this.Artifact[input.Lookup] || input.DefaultValue || '', validators));
5619
+ // if (this.Disabled) {
5620
+ // this.FormGroup.controls[input.Lookup].disable();
5621
+ // }
5622
+ });
5623
+ debugger;
5624
+ if (((_e = this.BuildPipelineFormControl) === null || _e === void 0 ? void 0 : _e.value) === 'npm-release') {
5625
+ debugger;
5626
+ if (!this.BuildPipelineFormGroup.controls.npmToken) {
5627
+ this.BuildPipelineFormGroup.addControl('npmToken', this.formBuilder.control('', this.Disabled ? [] : [forms.Validators.required]));
5628
+ if (this.Disabled) {
5629
+ this.BuildPipelineFormGroup.controls.npmToken.disable();
5630
+ }
5631
+ }
5632
+ }
5633
+ else if (((_f = this.BuildPipelineFormControl) === null || _f === void 0 ? void 0 : _f.value) === 'github-artifacts-release') {
5634
+ if (this.BuildPipelineFormGroup.controls.npmToken) {
5635
+ this.BuildPipelineFormGroup.removeControl('npmToken');
5636
+ }
5637
+ }
5638
+ };
5639
+ BuildPipelineFormComponent.prototype.loadProjectHostingDetails = function () {
5640
+ var _this = this;
5641
+ // this.HostingDetails.Loading = true;
5642
+ // this.Organization,
5643
+ // this.Repository,
5644
+ // this.MainBranch
5645
+ // 'powhound4',
5646
+ // "RedwoodCrystals",
5647
+ // "master"
5648
+ this.appsFlowSvc
5649
+ .LoadProjectHostingDetails('powhound4', "RedwoodCrystals", "master")
5650
+ .subscribe(function (response) {
5651
+ _this.HostingDetails = response.Model;
5652
+ console.log("response: ", response);
5653
+ _this.HostingDetails.Loading = false;
5654
+ }, function (err) {
5655
+ _this.HostingDetails.Loading = false;
5656
+ console.log("hosting details LOADING EERR: ", _this.HostingDetails);
5657
+ console.log("ERR: ", err);
5658
+ });
5659
+ console.log("HOSTING DETAILS: ", this.HostingDetails);
5519
5660
  };
5520
5661
  return BuildPipelineFormComponent;
5521
5662
  }());
5522
5663
  BuildPipelineFormComponent.decorators = [
5523
5664
  { type: i0.Component, args: [{
5524
5665
  selector: 'lcu-build-pipeline-form',
5525
- template: "<p>build-pipeline-form works!</p>\n",
5666
+ template: "<form class=\"form-card\" [formGroup]=\"BuildPipelineFormGroup\">\n <!-- *ngIf=\"EditingSourceControl?.Branches?.length > 0\" -->\n <mat-card\n class=\"spread\" \n >\n <mat-card-header>\n <mat-card-title> Build Pipeline </mat-card-title>\n\n <mat-hint>\n Changes made here are reflected for all sources using this\n DevOpsAction\n </mat-hint>\n </mat-card-header>\n\n <mat-card-content>\n\n <ng-container>\n\n <div *ngIf=\"!HostingDetails?.Loading\">\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n formControlName=\"buildPipeline\"\n placeholder=\"Build Pipeline\"\n [disabled]=\"Disabled\"\n (selectionChange)=\"BuildPipelineChanged()\"\n required\n >\n <ng-container\n *ngFor=\"let hostOption of HostingDetails?.HostingOptions; let i = index\"\n >\n <mat-option [value]=\"hostOption?.Lookup\">\n {{ hostOption.Name }}\n </mat-option>\n </ng-container>\n </mat-select>\n \n <mat-hint>\n <ng-container *ngFor=\"let hostOption of HostingDetails?.HostingOptions\">\n <span *ngIf=\"BuildPipeline == hostOption?.Lookup\">\n {{ hostOption.Description }}\n </span>\n </ng-container>\n </mat-hint>\n </mat-form-field>\n \n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"devOpsActionName\"\n placeholder=\"Name of DevOps Action\"\n required=\"true\"\n />\n </mat-form-field>\n \n <ng-container *ngFor=\"let input of SelectedHostingOption?.Inputs\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n [formControlName]=\"input.Lookup\"\n [placeholder]=\"input.Placeholder\"\n [required]=\"input.Required\"\n />\n \n <mat-hint>{{ input.Hint }}</mat-hint>\n </mat-form-field>\n </ng-container>\n \n <div *ngIf=\"BuildPipeline == 'npm-release'\">\n <mat-form-field class=\"mat-full-width with-hint padding-bottom-4\">\n <mat-icon matPrefix>security</mat-icon>\n \n <input\n id=\"npm-token\"\n matInput\n type=\"text\"\n formControlName=\"npmToken\"\n placeholder=\"NPM token\"\n [required]=\"!Disabled\"\n style=\"-webkit-text-security: disc;\"\n />\n <mat-hint>\n Securely publish to NPM, provide an NPM Personal Access Token (PAT) with publish access to the organization used for your NPM packages. \n Learn how to create and view access tokens \n <a\n href=\"https://docs.npmjs.com/creating-and-viewing-access-tokens\"\n target=\"_blank\"\n >\n here.\n </a>\n </mat-hint>\n </mat-form-field>\n </div>\n </div>\n \n <div *ngIf=\"HostingDetails?.Loading\">\n <div class=\"spread\">\n <lcu-loader style=\"margin: auto\" [loading]=\"true\"></lcu-loader>\n \n <div class=\"margin-3\">\n <h4 class=\"mat-title\">Loading hosting details</h4>\n </div>\n </div>\n </div>\n </ng-container>\n </mat-card-content>\n </mat-card>\n</form>\n",
5526
5667
  styles: [""]
5527
5668
  },] }
5528
5669
  ];
5529
- BuildPipelineFormComponent.ctorParameters = function () { return []; };
5670
+ BuildPipelineFormComponent.ctorParameters = function () { return [
5671
+ { type: forms.FormBuilder },
5672
+ { type: ApplicationsFlowService }
5673
+ ]; };
5674
+ BuildPipelineFormComponent.propDecorators = {
5675
+ BuildPipeline: [{ type: i0.Input, args: ['build-pipeline',] }],
5676
+ DevOpsActionLookup: [{ type: i0.Input, args: ['devops-action-lookup',] }],
5677
+ Disabled: [{ type: i0.Input, args: ['disabled',] }],
5678
+ Environment: [{ type: i0.Input, args: ['environment',] }]
5679
+ };
5530
5680
 
5531
5681
  var DevopsSourceControlFormComponent = /** @class */ (function () {
5532
- function DevopsSourceControlFormComponent() {
5682
+ // Constructors
5683
+ function DevopsSourceControlFormComponent(formBuilder, appsFlowSvc, eacSvc) {
5684
+ this.formBuilder = formBuilder;
5685
+ this.appsFlowSvc = appsFlowSvc;
5686
+ this.eacSvc = eacSvc;
5687
+ this.SeparatorKeysCodes = [keycodes.ENTER, keycodes.COMMA];
5688
+ this.BuildPath = null;
5689
+ // this.EditingSourceControlLookup = null;
5690
+ this.HostingDetails = new ProjectHostingDetails();
5691
+ this.SelectedBranches = [];
5692
+ this.SourceControlRoot = '';
5693
+ this.UseBranches = true;
5694
+ this.UseBuildPath = false;
5533
5695
  }
5534
- DevopsSourceControlFormComponent.prototype.ngOnInit = function () {
5535
- };
5536
- return DevopsSourceControlFormComponent;
5537
- }());
5538
- DevopsSourceControlFormComponent.decorators = [
5539
- { type: i0.Component, args: [{
5696
+ Object.defineProperty(DevopsSourceControlFormComponent.prototype, "BranchesFormControl", {
5697
+ // Fields
5698
+ // Properties
5699
+ get: function () {
5700
+ return this.DevOpsSourceControlFormGroup.get(this.SourceControlRoot + 'branches');
5701
+ },
5702
+ enumerable: false,
5703
+ configurable: true
5704
+ });
5705
+ Object.defineProperty(DevopsSourceControlFormComponent.prototype, "BuildPathFormControl", {
5706
+ get: function () {
5707
+ return this.DevOpsSourceControlFormGroup.get(this.SourceControlRoot + 'buildPath');
5708
+ },
5709
+ enumerable: false,
5710
+ configurable: true
5711
+ });
5712
+ Object.defineProperty(DevopsSourceControlFormComponent.prototype, "DevOpsActionLookups", {
5713
+ get: function () {
5714
+ return Object.keys(this.DevOpsActions || {});
5715
+ },
5716
+ enumerable: false,
5717
+ configurable: true
5718
+ });
5719
+ Object.defineProperty(DevopsSourceControlFormComponent.prototype, "DevOpsActionLookup", {
5720
+ get: function () {
5721
+ var _a, _b, _c;
5722
+ if (!!((_a = this.DevOpsActionLookupFormControl) === null || _a === void 0 ? void 0 : _a.value)) {
5723
+ return this.DevOpsActionLookupFormControl.value;
5724
+ }
5725
+ if (!!((_b = this.EditingSourceControl) === null || _b === void 0 ? void 0 : _b.DevOpsActionTriggerLookups)) {
5726
+ return (_c = this.EditingSourceControl) === null || _c === void 0 ? void 0 : _c.DevOpsActionTriggerLookups[0];
5727
+ }
5728
+ else {
5729
+ return null;
5730
+ }
5731
+ },
5732
+ enumerable: false,
5733
+ configurable: true
5734
+ });
5735
+ Object.defineProperty(DevopsSourceControlFormComponent.prototype, "DevOpsActionLookupFormControl", {
5736
+ get: function () {
5737
+ return this.DevOpsSourceControlFormGroup.get('devOpsActionLookup');
5738
+ },
5739
+ enumerable: false,
5740
+ configurable: true
5741
+ });
5742
+ Object.defineProperty(DevopsSourceControlFormComponent.prototype, "DevOpsActions", {
5743
+ get: function () {
5744
+ return this.Environment.DevOpsActions || {};
5745
+ },
5746
+ enumerable: false,
5747
+ configurable: true
5748
+ });
5749
+ Object.defineProperty(DevopsSourceControlFormComponent.prototype, "EditingSourceControl", {
5750
+ get: function () {
5751
+ var _a, _b;
5752
+ var sc = ((_a = this.Environment) === null || _a === void 0 ? void 0 : _a.Sources) ? (_b = this.Environment) === null || _b === void 0 ? void 0 : _b.Sources[this.EditingSourceControlLookup] : null;
5753
+ if (sc == null && this.EditingSourceControlLookup) {
5754
+ sc = {};
5755
+ }
5756
+ return sc;
5757
+ },
5758
+ enumerable: false,
5759
+ configurable: true
5760
+ });
5761
+ Object.defineProperty(DevopsSourceControlFormComponent.prototype, "MainBranchFormControl", {
5762
+ get: function () {
5763
+ return this.DevOpsSourceControlFormGroup.get(this.SourceControlRoot + 'mainBranch');
5764
+ },
5765
+ enumerable: false,
5766
+ configurable: true
5767
+ });
5768
+ Object.defineProperty(DevopsSourceControlFormComponent.prototype, "OrganizationFormControl", {
5769
+ get: function () {
5770
+ return this.DevOpsSourceControlFormGroup.get(this.SourceControlRoot + 'organization');
5771
+ },
5772
+ enumerable: false,
5773
+ configurable: true
5774
+ });
5775
+ Object.defineProperty(DevopsSourceControlFormComponent.prototype, "RepositoryFormControl", {
5776
+ get: function () {
5777
+ return this.DevOpsSourceControlFormGroup.get(this.SourceControlRoot + 'repository');
5778
+ },
5779
+ enumerable: false,
5780
+ configurable: true
5781
+ });
5782
+ // Life Cycle
5783
+ DevopsSourceControlFormComponent.prototype.ngAfterViewInit = function () { };
5784
+ DevopsSourceControlFormComponent.prototype.ngOnDestroy = function () {
5785
+ this.destroyFormControls();
5786
+ };
5787
+ DevopsSourceControlFormComponent.prototype.ngOnInit = function () {
5788
+ console.log("org: ", this.EditingSourceControl);
5789
+ console.log("lookup: ", this.EditingSourceControlLookup);
5790
+ if (this.EditingSourceControlLookup === null) {
5791
+ this.CreateNewSourceControl();
5792
+ }
5793
+ console.log("org: ", this.EditingSourceControl);
5794
+ if (this.EditingSourceControl != null) {
5795
+ this.DevOpsSourceControlFormGroup = this.formBuilder.group({});
5796
+ this.setupFormControls();
5797
+ }
5798
+ this.RefreshOrganizations();
5799
+ };
5800
+ // API Methods
5801
+ DevopsSourceControlFormComponent.prototype.AddBranchOption = function (event) {
5802
+ this.addBranchOption(event.value);
5803
+ event.input.value = '';
5804
+ };
5805
+ DevopsSourceControlFormComponent.prototype.BranchOptionSelected = function (event) {
5806
+ this.addBranchOption(event.option.value);
5807
+ };
5808
+ DevopsSourceControlFormComponent.prototype.BranchesChanged = function (branches) {
5809
+ this.loadProjectHostingDetails();
5810
+ };
5811
+ DevopsSourceControlFormComponent.prototype.BuildPathChanged = function (event) {
5812
+ };
5813
+ DevopsSourceControlFormComponent.prototype.CreateNewSourceControl = function () {
5814
+ this.SetEditingSourceControl(i2.Guid.CreateRaw());
5815
+ };
5816
+ DevopsSourceControlFormComponent.prototype.CreateRepository = function () {
5817
+ this.CreatingRepository = true;
5818
+ this.RepositoryFormControl.reset();
5819
+ };
5820
+ DevopsSourceControlFormComponent.prototype.CancelCreateRepository = function () {
5821
+ this.CreatingRepository = false;
5822
+ };
5823
+ DevopsSourceControlFormComponent.prototype.DevOpsActionLookupChanged = function (event) {
5824
+ this.configureDevOpsAction();
5825
+ };
5826
+ DevopsSourceControlFormComponent.prototype.MainBranchChanged = function (event) {
5827
+ this.emitBranchesChanged();
5828
+ };
5829
+ DevopsSourceControlFormComponent.prototype.OrganizationChanged = function (event) {
5830
+ var org = this.OrganizationFormControl;
5831
+ this.RepositoryFormControl.reset();
5832
+ if (this.UseBranches) {
5833
+ this.BranchesFormControl.reset();
5834
+ this.SelectedBranches = [];
5835
+ }
5836
+ this.listRepositories();
5837
+ };
5838
+ DevopsSourceControlFormComponent.prototype.RefreshOrganizations = function () {
5839
+ var _a, _b, _c;
5840
+ // this.Loading = true;
5841
+ this.listOrganizations();
5842
+ (_a = this.OrganizationFormControl) === null || _a === void 0 ? void 0 : _a.reset();
5843
+ (_b = this.RepositoryFormControl) === null || _b === void 0 ? void 0 : _b.reset();
5844
+ if (this.UseBranches) {
5845
+ (_c = this.BranchesFormControl) === null || _c === void 0 ? void 0 : _c.reset();
5846
+ }
5847
+ };
5848
+ DevopsSourceControlFormComponent.prototype.RemoveBranchOption = function (option) {
5849
+ var index = this.SelectedBranches.indexOf(option);
5850
+ if (index >= 0) {
5851
+ this.SelectedBranches.splice(index, 1);
5852
+ }
5853
+ this.emitBranchesChanged();
5854
+ };
5855
+ DevopsSourceControlFormComponent.prototype.RepositoryChanged = function (event) {
5856
+ var repo = this.RepositoryFormControl;
5857
+ if (this.UseBranches) {
5858
+ this.BranchesFormControl.reset();
5859
+ this.SelectedBranches = [];
5860
+ this.listBranches();
5861
+ }
5862
+ if (!this.UseBranches) {
5863
+ this.listBuildPaths();
5864
+ }
5865
+ };
5866
+ DevopsSourceControlFormComponent.prototype.SaveRepository = function () {
5867
+ var _this = this;
5868
+ this.Loading = true;
5869
+ var org = this.OrganizationFormControl.value;
5870
+ var repoName = this.RepositoryFormControl.value;
5871
+ this.appsFlowSvc
5872
+ .CreateRepository(org, repoName)
5873
+ .subscribe(function (response) {
5874
+ if (response.Status.Code === 0) {
5875
+ _this.listRepositories(repoName);
5876
+ _this.CreatingRepository = false;
5877
+ }
5878
+ else {
5879
+ // TODO: Need to surface an error to the user...
5880
+ _this.Loading = false;
5881
+ }
5882
+ });
5883
+ };
5884
+ DevopsSourceControlFormComponent.prototype.SetEditingSourceControl = function (scLookup) {
5885
+ this.EditingSourceControlLookup = scLookup;
5886
+ };
5887
+ DevopsSourceControlFormComponent.prototype.SubmitSourceControl = function () {
5888
+ console.log("source control submitted");
5889
+ };
5890
+ // public SaveSourceControl(): void {
5891
+ // const saveEnvReq: SaveEnvironmentAsCodeEventRequest = {
5892
+ // Environment: {
5893
+ // ...this.Environment,
5894
+ // Artifacts: this.Environment.Artifacts || {},
5895
+ // DevOpsActions: this.Environment.DevOpsActions || {},
5896
+ // Secrets: this.Environment.Secrets || {},
5897
+ // Sources: this.Environment.Sources || {},
5898
+ // },
5899
+ // EnvironmentLookup: this.EnvironmentLookup,
5900
+ // EnterpriseDataTokens: {},
5901
+ // };
5902
+ // let artifactLookup: string;
5903
+ // // let artifact: EaCArtifact = {
5904
+ // // ...this.Artifact,
5905
+ // // ...this.HostingDetailsFormControls
5906
+ // // .SelectedHostingOptionInputControlValues,
5907
+ // // };
5908
+ // if (!this.ArtifactLookup) {
5909
+ // artifactLookup = Guid.CreateRaw();
5910
+ // artifact = {
5911
+ // ...artifact,
5912
+ // Type: this.HostingDetailsFormControls.SelectedHostingOption
5913
+ // .ArtifactType,
5914
+ // Name: this.HostingDetailsFormControls.SelectedHostingOption.Name,
5915
+ // NPMRegistry: 'https://registry.npmjs.org/',
5916
+ // };
5917
+ // } else {
5918
+ // artifactLookup = this.ArtifactLookup;
5919
+ // }
5920
+ // saveEnvReq.Environment.Artifacts[artifactLookup] = artifact;
5921
+ // let devOpsActionLookup: string;
5922
+ // if (!this.DevOpsActionLookup) {
5923
+ // devOpsActionLookup = Guid.CreateRaw();
5924
+ // // const doa: EaCDevOpsAction = {
5925
+ // // ...this.DevOpsAction,
5926
+ // // ArtifactLookups: [artifactLookup],
5927
+ // // Name: this.HostingDetailsFormControls.DevOpsActionNameFormControl.value,
5928
+ // // Path: this.HostingDetailsFormControls.SelectedHostingOption.Path,
5929
+ // // Templates:
5930
+ // // this.HostingDetailsFormControls.SelectedHostingOption.Templates,
5931
+ // // };
5932
+ // if (this.HostingDetailsFormControls.NPMTokenFormControl?.value) {
5933
+ // const secretLookup = 'npm-access-token';
5934
+ // doa.SecretLookups = [secretLookup];
5935
+ // saveEnvReq.Environment.Secrets[secretLookup] = {
5936
+ // Name: 'NPM Access Token',
5937
+ // DataTokenLookup: secretLookup,
5938
+ // KnownAs: 'NPM_TOKEN',
5939
+ // };
5940
+ // saveEnvReq.EnterpriseDataTokens[secretLookup] = {
5941
+ // Name: saveEnvReq.Environment.Secrets[secretLookup].Name,
5942
+ // Description: saveEnvReq.Environment.Secrets[secretLookup].Name,
5943
+ // Value: this.NPMTokenFormControl.value,
5944
+ // };
5945
+ // }
5946
+ // saveEnvReq.Environment.DevOpsActions[devOpsActionLookup] = doa;
5947
+ // } else {
5948
+ // devOpsActionLookup = this.DevOpsActionLookupFormControl.value;
5949
+ // const doa: EaCDevOpsAction = {
5950
+ // ...this.DevOpsAction,
5951
+ // Name: this.HostingDetailsFormControls.DevOpsActionNameFormControl.value,
5952
+ // };
5953
+ // saveEnvReq.Environment.DevOpsActions[devOpsActionLookup] = doa;
5954
+ // }
5955
+ // let source: EaCSourceControl = {
5956
+ // ...this.EditingSourceControl,
5957
+ // Branches: this.SelectedBranches,
5958
+ // MainBranch: this.MainBranchFormControl.value,
5959
+ // };
5960
+ // source = {
5961
+ // ...source,
5962
+ // Type: 'GitHub',
5963
+ // Name: this.EditingSourceControlLookup,
5964
+ // DevOpsActionTriggerLookups: [devOpsActionLookup],
5965
+ // Organization:
5966
+ // this.OrganizationFormControl.value,
5967
+ // Repository: this.RepositoryFormControl.value,
5968
+ // };
5969
+ // const scLookup = `github://${source.Organization}/${source.Repository}`;
5970
+ // saveEnvReq.Environment.Sources[scLookup] = source;
5971
+ // this.eacSvc.SaveEnvironmentAsCode(saveEnvReq);
5972
+ // }
5973
+ // Helpers
5974
+ DevopsSourceControlFormComponent.prototype.addBranchOption = function (value) {
5975
+ value = (value || '').trim();
5976
+ if (value && this.SelectedBranches.indexOf(value) < 0) {
5977
+ this.SelectedBranches.push(value);
5978
+ }
5979
+ this.BranchesInput.nativeElement.blur();
5980
+ this.emitBranchesChanged();
5981
+ };
5982
+ DevopsSourceControlFormComponent.prototype.configureDevOpsAction = function () {
5983
+ var _this = this;
5984
+ setTimeout(function () {
5985
+ _this.DevOpsActionLookupFormControl.setValue(_this.DevOpsActionLookup);
5986
+ }, 0);
5987
+ };
5988
+ DevopsSourceControlFormComponent.prototype.destroyFormControls = function () {
5989
+ var _a, _b, _c, _d;
5990
+ this.DevOpsSourceControlFormGroup.removeControl([this.SourceControlRoot, 'mainBranch'].join(''));
5991
+ (_a = this.DevOpsSourceControlFormGroup) === null || _a === void 0 ? void 0 : _a.removeControl([this.SourceControlRoot, 'branches'].join(''));
5992
+ (_b = this.DevOpsSourceControlFormGroup) === null || _b === void 0 ? void 0 : _b.removeControl([this.SourceControlRoot, 'buildPath'].join(''));
5993
+ this.SelectedBranches = [];
5994
+ (_c = this.DevOpsSourceControlFormGroup) === null || _c === void 0 ? void 0 : _c.removeControl([this.SourceControlRoot, 'organization'].join(''));
5995
+ (_d = this.DevOpsSourceControlFormGroup) === null || _d === void 0 ? void 0 : _d.removeControl([this.SourceControlRoot, 'repository'].join(''));
5996
+ };
5997
+ DevopsSourceControlFormComponent.prototype.emitBranchesChanged = function () {
5998
+ var _a, _b;
5999
+ if (((_a = this.SelectedBranches) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
6000
+ (!this.MainBranchFormControl.value ||
6001
+ this.SelectedBranches.indexOf(this.MainBranchFormControl.value) < 0)) {
6002
+ this.MainBranchFormControl.setValue(this.SelectedBranches.find(function (branch) { return branch === 'main' || branch === 'master'; }) || this.SelectedBranches[0]);
6003
+ }
6004
+ else if (((_b = this.SelectedBranches) === null || _b === void 0 ? void 0 : _b.length) <= 0) {
6005
+ this.MainBranchFormControl.reset();
6006
+ }
6007
+ this.BranchesFormControl.setValue(this.SelectedBranches.join(','));
6008
+ this.BranchesChanged(this.SelectedBranches || []);
6009
+ };
6010
+ DevopsSourceControlFormComponent.prototype.listBranches = function () {
6011
+ var _this = this;
6012
+ if (this.UseBranches) {
6013
+ this.Loading = true;
6014
+ this.appsFlowSvc
6015
+ .ListBranches(this.OrganizationFormControl.value, this.RepositoryFormControl.value)
6016
+ .subscribe(function (response) {
6017
+ var _a, _b, _c;
6018
+ _this.BranchOptions = response.Model;
6019
+ _this.Loading = false;
6020
+ if (((_b = (_a = _this.EditingSourceControl) === null || _a === void 0 ? void 0 : _a.Branches) === null || _b === void 0 ? void 0 : _b.length) > 0) {
6021
+ _this.SelectedBranches = _this.EditingSourceControl.Branches;
6022
+ }
6023
+ else if (((_c = _this.BranchOptions) === null || _c === void 0 ? void 0 : _c.length) === 1) {
6024
+ _this.BranchesFormControl.setValue(_this.BranchOptions[0].Name);
6025
+ _this.SelectedBranches = [_this.BranchOptions[0].Name];
6026
+ }
6027
+ _this.emitBranchesChanged();
6028
+ _this.listBuildPaths();
6029
+ });
6030
+ }
6031
+ };
6032
+ DevopsSourceControlFormComponent.prototype.listBuildPaths = function () {
6033
+ var _this = this;
6034
+ if (this.UseBuildPath) {
6035
+ this.Loading = true;
6036
+ this.appsFlowSvc
6037
+ .ListBuildPaths(this.OrganizationFormControl.value, this.RepositoryFormControl.value)
6038
+ .subscribe(function (response) {
6039
+ var _a;
6040
+ _this.BuildPathOptions = response.Model;
6041
+ _this.Loading = false;
6042
+ if (((_a = _this.BuildPathOptions) === null || _a === void 0 ? void 0 : _a.length) === 1) {
6043
+ _this.BuildPathFormControl.setValue(_this.BuildPathOptions[0]);
6044
+ }
6045
+ });
6046
+ }
6047
+ };
6048
+ DevopsSourceControlFormComponent.prototype.listOrganizations = function () {
6049
+ var _this = this;
6050
+ this.Loading = true;
6051
+ this.appsFlowSvc
6052
+ .ListOrganizations()
6053
+ .subscribe(function (response) {
6054
+ var _a;
6055
+ _this.OrganizationOptions = response.Model;
6056
+ _this.Loading = false;
6057
+ if ((_a = _this.EditingSourceControl) === null || _a === void 0 ? void 0 : _a.Organization) {
6058
+ setTimeout(function () {
6059
+ var _a;
6060
+ _this.OrganizationFormControl.setValue(_this.EditingSourceControl.Organization);
6061
+ _this.listRepositories((_a = _this.EditingSourceControl) === null || _a === void 0 ? void 0 : _a.Repository);
6062
+ }, 0);
6063
+ }
6064
+ });
6065
+ };
6066
+ DevopsSourceControlFormComponent.prototype.listRepositories = function (activeRepo) {
6067
+ var _this = this;
6068
+ if (activeRepo === void 0) { activeRepo = null; }
6069
+ this.Loading = true;
6070
+ this.appsFlowSvc
6071
+ .ListRepositories(this.OrganizationFormControl.value)
6072
+ .subscribe(function (response) {
6073
+ var _a;
6074
+ _this.RepositoryOptions = response.Model;
6075
+ _this.Loading = false;
6076
+ if (activeRepo) {
6077
+ setTimeout(function () {
6078
+ _this.RepositoryFormControl.setValue(activeRepo);
6079
+ _this.listBranches();
6080
+ if (!_this.UseBranches) {
6081
+ _this.listBuildPaths();
6082
+ }
6083
+ }, 0);
6084
+ }
6085
+ else if (((_a = _this.RepositoryOptions) === null || _a === void 0 ? void 0 : _a.length) <= 0) {
6086
+ _this.CreatingRepository = true;
6087
+ }
6088
+ });
6089
+ };
6090
+ DevopsSourceControlFormComponent.prototype.loadProjectHostingDetails = function () {
6091
+ var _this = this;
6092
+ var _a, _b, _c, _d;
6093
+ if (((_a = this.SelectedBranches) === null || _a === void 0 ? void 0 : _a.length) > 0) {
6094
+ this.HostingDetails.Loading = true;
6095
+ this.appsFlowSvc
6096
+ .LoadProjectHostingDetails((_b = this.OrganizationFormControl) === null || _b === void 0 ? void 0 : _b.value, (_c = this.RepositoryFormControl) === null || _c === void 0 ? void 0 : _c.value, (_d = this.MainBranchFormControl) === null || _d === void 0 ? void 0 : _d.value)
6097
+ .subscribe(function (response) {
6098
+ _this.HostingDetails = response.Model;
6099
+ _this.HostingDetails.Loading = false;
6100
+ _this.configureDevOpsAction();
6101
+ }, function (err) {
6102
+ _this.HostingDetails.Loading = false;
6103
+ });
6104
+ }
6105
+ };
6106
+ DevopsSourceControlFormComponent.prototype.setupFormControls = function () {
6107
+ // this.destroyFormControls();
6108
+ var _a, _b, _c, _d, _e, _f, _g;
6109
+ this.DevOpsSourceControlFormGroup.addControl('devOpsActionLookup', new forms.FormControl(this.DevOpsActionLookup || '', []));
6110
+ this.DevOpsSourceControlFormGroup.addControl([this.SourceControlRoot, 'organization'].join(''), new forms.FormControl((_a = this.EditingSourceControl.Organization) !== null && _a !== void 0 ? _a : '', forms.Validators.required));
6111
+ this.DevOpsSourceControlFormGroup.addControl([this.SourceControlRoot, 'repository'].join(''), new forms.FormControl((_b = this.EditingSourceControl.Repository) !== null && _b !== void 0 ? _b : '', forms.Validators.required));
6112
+ if (this.UseBranches) {
6113
+ this.DevOpsSourceControlFormGroup.addControl([this.SourceControlRoot, 'branches'].join(''), new forms.FormControl((_d = (_c = this.EditingSourceControl) === null || _c === void 0 ? void 0 : _c.Branches) !== null && _d !== void 0 ? _d : '', forms.Validators.required));
6114
+ this.SelectedBranches = (_e = this.EditingSourceControl) === null || _e === void 0 ? void 0 : _e.Branches;
6115
+ this.DevOpsSourceControlFormGroup.addControl([this.SourceControlRoot, 'mainBranch'].join(''), new forms.FormControl((_f = this.EditingSourceControl.MainBranch) !== null && _f !== void 0 ? _f : '', forms.Validators.required));
6116
+ }
6117
+ if (this.UseBuildPath) {
6118
+ this.DevOpsSourceControlFormGroup.addControl([this.SourceControlRoot, 'buildPath'].join(''), new forms.FormControl((_g = this.BuildPath) !== null && _g !== void 0 ? _g : '', forms.Validators.required));
6119
+ }
6120
+ };
6121
+ return DevopsSourceControlFormComponent;
6122
+ }());
6123
+ DevopsSourceControlFormComponent.decorators = [
6124
+ { type: i0.Component, args: [{
5540
6125
  selector: 'lcu-devops-source-control-form',
5541
- template: "<p>devops-source-control-form works!</p>\n",
6126
+ template: "<form class=\"form-card\" [formGroup]=\"DevOpsSourceControlFormGroup\" (ngSubmit)=\"SubmitSourceControl()\">\n\n <mat-card class=\"spread\" class=\"sc-card\">\n <mat-card-header>\n <mat-card-title> Source Control </mat-card-title>\n\n <div fxFlex></div>\n\n <mat-icon matSuffix matTooltip=\"Configure source control, DevOps CI/CD, and artifacts.\">\n info_outline\n </mat-icon>\n </mat-card-header>\n\n <mat-card-content>\n <div class=\"card\">\n <mat-form-field class=\"mat-full-width\">\n <mat-select formControlName=\"devOpsActionLookup\" placeholder=\"DevOps Action\"\n [disabled]=\"HostingDetails?.Loading\" (selectionChange)=\"DevOpsActionLookupChanged($event)\">\n <ng-container *ngFor=\"let devOpsActionLookup of DevOpsActionLookups\">\n <mat-option [value]=\"devOpsActionLookup\" *ngIf=\"DevOpsActions[devOpsActionLookup]; let devOpsAction\">\n {{ devOpsAction.Name }}\n </mat-option>\n </ng-container>\n\n <mat-option value=\"\">-- Create New --</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"card\" *ngIf=\"OrganizationFormControl?.valid || !Loading\">\n <mat-form-field class=\"mat-full-width with-hint\" *ngIf=\"OrganizationOptions?.length > 0\">\n <mat-icon class=\"org-icon\" matPrefix>corporate_fare</mat-icon>\n\n <mat-select [formControlName]=\"SourceControlRoot + 'organization'\" placeholder=\"Organization\"\n (selectionChange)=\"OrganizationChanged($event)\" [disabled]=\"Loading || HostingDetails?.Loading\" required>\n <ng-container *ngFor=\"let orgOpt of OrganizationOptions\">\n <mat-option [value]=\"orgOpt.Name\">\n {{ orgOpt.Name }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <mat-icon matSuffix (click)=\"RefreshOrganizations()\" matTooltip=\"Refresh Organization\"> refresh </mat-icon>\n\n <a matSuffix href=\"/.oauth/github?oauth-force-edit=true\" target=\"_blank\" color=\"accent\">\n <mat-icon color=\"accent\" matTooltip=\"Re-authorize Organizations\"> launch </mat-icon>\n </a>\n\n <mat-hint>\n If you don't have an organization or would like to create a new one,\n <a href=\"https://github.com/account/organizations/new\" target=\"_blank\">\n start here\n </a>\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div class=\"card\" *ngIf=\"\n RepositoryFormControl?.valid ||\n (OrganizationFormControl?.valid && !Loading)\n \">\n <mat-form-field class=\"mat-full-width\">\n <mat-icon class=\"org-icon\" matPrefix>description</mat-icon>\n\n <mat-select [formControlName]=\"SourceControlRoot + 'repository'\" [placeholder]=\"\n OrganizationFormControl?.valid\n ? 'Repository'\n : 'Repository (select organization first)'\n \" [disabled]=\"\n !OrganizationFormControl?.valid || Loading || HostingDetails?.Loading\n \" (selectionChange)=\"RepositoryChanged($event)\" *ngIf=\"!CreatingRepository\" required>\n <ng-container *ngFor=\"let repoOpt of RepositoryOptions\">\n <mat-option [value]=\"repoOpt.Name\">\n {{ repoOpt.Name }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <input matInput placeholder=\"Repository (creates new if does not exist)\"\n [formControlName]=\"SourceControlRoot + 'repository'\" *ngIf=\"CreatingRepository\"\n [fxHide]=\"Loading || HostingDetails?.Loading\" required />\n\n <mat-icon matSuffix (click)=\"CreateRepository()\" [fxHide]=\"Loading || HostingDetails?.Loading\"\n *ngIf=\"!CreatingRepository && OrganizationFormControl?.valid\">\n add_circle\n </mat-icon>\n\n <button mat-button type=\"button\" (click)=\"SaveRepository()\"\n *ngIf=\"CreatingRepository && RepositoryFormControl?.valid\">\n\n <mat-icon matSuffix color=\"primary\">\n save\n </mat-icon>\n </button>\n\n <button mat-button type=\"button\" (click)=\"CancelCreateRepository()\" *ngIf=\"CreatingRepository\">\n\n <mat-icon matSuffix>\n cancel\n </mat-icon>\n </button>\n </mat-form-field>\n </div>\n\n <div class=\"card\" *ngIf=\"\n (BranchesFormControl?.valid ||\n (OrganizationFormControl?.valid &&\n RepositoryFormControl?.valid &&\n !Loading)) &&\n !CreatingRepository &&\n UseBranches\n \">\n <mat-form-field class=\"mat-full-width\">\n <mat-icon class=\"org-icon\" matPrefix>account_tree</mat-icon>\n\n <mat-label>Selected Branches</mat-label>\n\n <mat-autocomplete (optionSelected)=\"BranchOptionSelected($event)\" #branchOptions=\"matAutocomplete\">\n <ng-container *ngFor=\"let branchOpt of BranchOptions\">\n <mat-option [value]=\"branchOpt.Name\">\n {{ branchOpt.Name }}\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n\n <mat-chip-list #selectedBranches>\n <mat-chip [removable]=\"true\" (removed)=\"RemoveBranchOption(selBranch)\"\n *ngFor=\"let selBranch of SelectedBranches\">\n {{ selBranch }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n\n <input matInput placeholder=\"New Branch...\" [formControlName]=\"SourceControlRoot + 'branches'\" #branches\n [matAutocomplete]=\"branchOptions\" [matChipInputFor]=\"selectedBranches\"\n [matChipInputSeparatorKeyCodes]=\"SeparatorKeysCodes\" [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"AddBranchOption($event)\" [disabled]=\"Loading || HostingDetails?.Loading\"\n required />\n </mat-chip-list>\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width with-hint\" [fxShow]=\"SelectedBranches?.length > 1\">\n <mat-icon class=\"org-icon\" matPrefix>account_tree</mat-icon>\n\n <mat-select [formControlName]=\"SourceControlRoot + 'mainBranch'\" placeholder=\"Main Branch\"\n [disabled]=\"Loading || HostingDetails?.Loading\" (selectionChange)=\"MainBranchChanged($event)\" required>\n <ng-container *ngFor=\"let branch of SelectedBranches\">\n <mat-option [value]=\"branch\">\n {{ branch }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <mat-icon matSuffix (click)=\"RefreshOrganizations()\"> refresh </mat-icon>\n\n <a matSuffix mat-icon-button href=\"/.oauth/github?oauth-force-edit=true\" target=\"_blank\" color=\"accent\">\n <mat-icon matTooltip=\"Re-authorize Organizations\" color=\"accent\"> launch </mat-icon>\n </a>\n\n <mat-hint>\n If you don't have an organization or would like to create a new one,\n <a href=\"https://github.com/account/organizations/new\" target=\"_blank\">\n start here\n </a>\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div class=\"card\" *ngIf=\"\n (BuildPathFormControl?.valid ||\n (OrganizationFormControl?.valid &&\n RepositoryFormControl?.valid &&\n !Loading)) &&\n !CreatingRepository &&\n UseBuildPath\n \">\n <mat-form-field class=\"mat-full-width with-hint\">\n <mat-icon class=\"org-icon\" matPrefix>build</mat-icon>\n\n <mat-select [formControlName]=\"SourceControlRoot + 'buildPath'\" placeholder=\"Build Path\"\n [disabled]=\"Loading || BuildPathDisabled\" (selectionChange)=\"BuildPathChanged($event)\" required>\n <ng-container *ngFor=\"let buildPath of BuildPathOptions\">\n <mat-option [value]=\"buildPath\">\n {{ buildPath }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <mat-hint>\n The build path identifies which build action to use for your\n configuration.\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div *ngIf=\"Loading\">\n <div class=\"spread\">\n <lcu-loader style=\"margin: auto\" [loading]=\"true\"></lcu-loader>\n\n <div class=\"margin-3\">\n <h4 class=\"mat-title\" *ngIf=\"!OrganizationFormControl?.valid\">\n Loading organizations\n </h4>\n\n <h4 class=\"mat-title\" *ngIf=\"\n OrganizationFormControl?.valid && !RepositoryFormControl?.valid\n \">\n Loading repositories\n </h4>\n\n <h4 class=\"mat-title\" *ngIf=\"RepositoryFormControl?.valid && !BranchesFormControl?.valid\">\n Loading branches\n </h4>\n\n <h4 class=\"mat-title\" *ngIf=\"\n (RepositoryFormControl?.valid || BranchesFormControl?.valid) &&\n !BuildPathFormControl?.valid\n \">\n Loading build paths\n </h4>\n </div>\n </div>\n </div>\n <!-- </div> -->\n\n </mat-card-content>\n <mat-card-actions fxLayoutAlign=\"center center\">\n <!-- [disabled]=\"!SecurityFormGroup.valid || !SecurityFormGroup.dirty\" -->\n <button mat-raised-button type=\"submit\">Save</button>\n </mat-card-actions>\n </mat-card>\n</form>",
6127
+ styles: [".form-card,.sc-card{width:100%}"]
6128
+ },] }
6129
+ ];
6130
+ DevopsSourceControlFormComponent.ctorParameters = function () { return [
6131
+ { type: forms.FormBuilder },
6132
+ { type: ApplicationsFlowService },
6133
+ { type: EaCService }
6134
+ ]; };
6135
+ DevopsSourceControlFormComponent.propDecorators = {
6136
+ BranchesInput: [{ type: i0.ViewChild, args: ['branches',] }],
6137
+ EditingSourceControlLookup: [{ type: i0.Input, args: ['editing-source-control-lookup',] }],
6138
+ Environment: [{ type: i0.Input, args: ['environment',] }]
6139
+ };
6140
+
6141
+ var SourceControlDialogComponent = /** @class */ (function () {
6142
+ function SourceControlDialogComponent(dialogRef, data) {
6143
+ this.dialogRef = dialogRef;
6144
+ this.data = data;
6145
+ }
6146
+ SourceControlDialogComponent.prototype.ngOnInit = function () {
6147
+ };
6148
+ return SourceControlDialogComponent;
6149
+ }());
6150
+ SourceControlDialogComponent.decorators = [
6151
+ { type: i0.Component, args: [{
6152
+ selector: 'lcu-source-control-dialog',
6153
+ template: "\n<div fxLayoutAlign=\"center center\">\n<lcu-devops-source-control-form\n [environment]=\"data.environment\"\n [editing-source-control-lookup]=\"data.scLookup\">\n</lcu-devops-source-control-form>\n</div>",
6154
+ styles: [""]
6155
+ },] }
6156
+ ];
6157
+ SourceControlDialogComponent.ctorParameters = function () { return [
6158
+ { type: dialog.MatDialogRef },
6159
+ { type: undefined, decorators: [{ type: i0.Inject, args: [dialog.MAT_DIALOG_DATA,] }] }
6160
+ ]; };
6161
+
6162
+ var BuildPipelineDialogComponent = /** @class */ (function () {
6163
+ function BuildPipelineDialogComponent(dialogRef, data) {
6164
+ this.dialogRef = dialogRef;
6165
+ this.data = data;
6166
+ }
6167
+ BuildPipelineDialogComponent.prototype.ngOnInit = function () {
6168
+ };
6169
+ return BuildPipelineDialogComponent;
6170
+ }());
6171
+ BuildPipelineDialogComponent.decorators = [
6172
+ { type: i0.Component, args: [{
6173
+ selector: 'lcu-build-pipeline-dialog',
6174
+ template: "<lcu-build-pipeline-form\n[build-pipeline]=\"data.buildPipeline\"\n[devops-action-lookup]=\"data.devopsActionLookup\"\n[environment]=\"data.environment\"\n>\n\n</lcu-build-pipeline-form>\n",
5542
6175
  styles: [""]
5543
6176
  },] }
5544
6177
  ];
5545
- DevopsSourceControlFormComponent.ctorParameters = function () { return []; };
6178
+ BuildPipelineDialogComponent.ctorParameters = function () { return [
6179
+ { type: dialog.MatDialogRef },
6180
+ { type: undefined, decorators: [{ type: i0.Inject, args: [dialog.MAT_DIALOG_DATA,] }] }
6181
+ ]; };
5546
6182
 
5547
6183
  var ApplicationsFlowModule = /** @class */ (function () {
5548
6184
  function ApplicationsFlowModule() {
@@ -5556,7 +6192,6 @@
5556
6192
  ProjectService,
5557
6193
  NPMService,
5558
6194
  FormsService,
5559
- ApplicationsFlowEventsService,
5560
6195
  EaCService
5561
6196
  ],
5562
6197
  };
@@ -5602,7 +6237,9 @@
5602
6237
  ProcessorDetailsFormComponent,
5603
6238
  SourceControlFormComponent,
5604
6239
  BuildPipelineFormComponent,
5605
- DevopsSourceControlFormComponent
6240
+ DevopsSourceControlFormComponent,
6241
+ SourceControlDialogComponent,
6242
+ BuildPipelineDialogComponent
5606
6243
  ],
5607
6244
  imports: [
5608
6245
  i2.FathymSharedModule,
@@ -5652,7 +6289,9 @@
5652
6289
  ProcessorDetailsFormComponent,
5653
6290
  SourceControlFormComponent,
5654
6291
  BuildPipelineFormComponent,
5655
- DevopsSourceControlFormComponent
6292
+ DevopsSourceControlFormComponent,
6293
+ SourceControlDialogComponent,
6294
+ BuildPipelineDialogComponent
5656
6295
  ],
5657
6296
  entryComponents: [
5658
6297
  ApplicationsFlowProjectsElementComponent,
@@ -5689,7 +6328,9 @@
5689
6328
  ProcessorDetailsFormComponent,
5690
6329
  SourceControlFormComponent,
5691
6330
  BuildPipelineFormComponent,
5692
- DevopsSourceControlFormComponent
6331
+ DevopsSourceControlFormComponent,
6332
+ SourceControlDialogComponent,
6333
+ BuildPipelineDialogComponent
5693
6334
  ],
5694
6335
  },] }
5695
6336
  ];
@@ -5771,39 +6412,44 @@
5771
6412
  exports.ProjectService = ProjectService;
5772
6413
  exports.RootDirectoryComponent = RootDirectoryComponent;
5773
6414
  exports.SELECTOR_APPLICATIONS_FLOW_PROJECTS_ELEMENT = SELECTOR_APPLICATIONS_FLOW_PROJECTS_ELEMENT;
6415
+ exports.SaveApplicationAsCodeEventRequest = SaveApplicationAsCodeEventRequest;
6416
+ exports.SaveDFSModifierEventRequest = SaveDFSModifierEventRequest;
6417
+ exports.SaveEnvironmentAsCodeEventRequest = SaveEnvironmentAsCodeEventRequest;
6418
+ exports.SaveProjectAsCodeEventRequest = SaveProjectAsCodeEventRequest;
5774
6419
  exports.SourceControlFormControlsComponent = SourceControlFormControlsComponent;
5775
6420
  exports.ThreeColumnComponent = ThreeColumnComponent;
5776
6421
  exports.UnpackLowCodeUnitRequest = UnpackLowCodeUnitRequest;
5777
- exports.ɵa = ApplicationsFlowEventsService;
5778
- exports.ɵb = DynamicTabsComponent;
5779
- exports.ɵba = ProcessorDetailsFormComponent;
5780
- exports.ɵbb = SourceControlFormComponent;
5781
- exports.ɵbc = BuildPipelineFormComponent;
5782
- exports.ɵbd = DevopsSourceControlFormComponent;
5783
- exports.ɵc = HeaderComponent;
5784
- exports.ɵd = ProjectTabsComponent;
5785
- exports.ɵe = GeneralComponent;
5786
- exports.ɵf = DomainsComponent;
5787
- exports.ɵg = ProjectItemsComponent;
5788
- exports.ɵh = BuildsComponent;
5789
- exports.ɵi = RecentActivitiesComponent;
5790
- exports.ɵj = FormCardComponent;
5791
- exports.ɵk = BaseFormComponent;
5792
- exports.ɵl = BaseFormTestComponent;
5793
- exports.ɵm = AppsFlowComponent;
5794
- exports.ɵn = DevOpsComponent;
5795
- exports.ɵo = DFSModifiersComponent;
5796
- exports.ɵp = NpmPackageSelectComponent;
5797
- exports.ɵq = ColumnInfoCardComponent;
5798
- exports.ɵr = SlottedCardComponent;
5799
- exports.ɵs = ProjectInfoCardComponent;
5800
- exports.ɵt = AnalyticsCardComponent;
5801
- exports.ɵu = FeedCardSmComponent;
5802
- exports.ɵv = GhControlComponent;
5803
- exports.ɵw = MainFeedCardComponent;
5804
- exports.ɵx = TwoColumnHeaderComponent;
5805
- exports.ɵy = CardCarouselComponent;
5806
- exports.ɵz = SecurityToggleComponent;
6422
+ exports.ɵa = DynamicTabsComponent;
6423
+ exports.ɵb = HeaderComponent;
6424
+ exports.ɵba = SourceControlFormComponent;
6425
+ exports.ɵbb = BuildPipelineFormComponent;
6426
+ exports.ɵbc = DevopsSourceControlFormComponent;
6427
+ exports.ɵbd = SourceControlDialogComponent;
6428
+ exports.ɵbe = BuildPipelineDialogComponent;
6429
+ exports.ɵc = ProjectTabsComponent;
6430
+ exports.ɵd = GeneralComponent;
6431
+ exports.ɵe = DomainsComponent;
6432
+ exports.ɵf = ProjectItemsComponent;
6433
+ exports.ɵg = BuildsComponent;
6434
+ exports.ɵh = RecentActivitiesComponent;
6435
+ exports.ɵi = FormCardComponent;
6436
+ exports.ɵj = BaseFormComponent;
6437
+ exports.ɵk = BaseFormTestComponent;
6438
+ exports.ɵl = AppsFlowComponent;
6439
+ exports.ɵm = DevOpsComponent;
6440
+ exports.ɵn = DFSModifiersComponent;
6441
+ exports.ɵo = NpmPackageSelectComponent;
6442
+ exports.ɵp = ColumnInfoCardComponent;
6443
+ exports.ɵq = SlottedCardComponent;
6444
+ exports.ɵr = ProjectInfoCardComponent;
6445
+ exports.ɵs = AnalyticsCardComponent;
6446
+ exports.ɵt = FeedCardSmComponent;
6447
+ exports.ɵu = GhControlComponent;
6448
+ exports.ɵv = MainFeedCardComponent;
6449
+ exports.ɵw = TwoColumnHeaderComponent;
6450
+ exports.ɵx = CardCarouselComponent;
6451
+ exports.ɵy = SecurityToggleComponent;
6452
+ exports.ɵz = ProcessorDetailsFormComponent;
5807
6453
 
5808
6454
  Object.defineProperty(exports, '__esModule', { value: true });
5809
6455