@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.
- package/bundles/lowcodeunit-applications-flow-common.umd.js +869 -223
- package/bundles/lowcodeunit-applications-flow-common.umd.js.map +1 -1
- package/bundles/lowcodeunit-applications-flow-common.umd.min.js +2 -2
- package/bundles/lowcodeunit-applications-flow-common.umd.min.js.map +1 -1
- package/esm2015/lib/applications-flow.module.js +12 -6
- package/esm2015/lib/controls/build-pipeline-form/build-pipeline-form.component.js +149 -5
- package/esm2015/lib/controls/devops-source-control-form/devops-source-control-form.component.js +409 -6
- package/esm2015/lib/controls/processor-details-form/processor-details-form.component.js +2 -2
- package/esm2015/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.js +22 -0
- package/esm2015/lib/dialogs/source-control-dialog/source-control-dialog.component.js +22 -0
- package/esm2015/lib/elements/base-form/base-form.component.js +5 -5
- package/esm2015/lib/elements/projects/controls/builds/builds.component.js +4 -9
- package/esm2015/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.js +6 -6
- package/esm2015/lib/elements/projects/controls/forms/source-control/source-control.component.js +3 -6
- package/esm2015/lib/elements/projects/controls/header/header.component.js +7 -7
- package/esm2015/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.js +2 -1
- package/esm2015/lib/elements/projects/controls/project-items/project-items.component.js +7 -7
- package/esm2015/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.js +2 -2
- package/esm2015/lib/elements/projects/controls/tabs/devops/devops.component.js +7 -7
- package/esm2015/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.js +7 -7
- package/esm2015/lib/elements/projects/controls/tabs/domains/domains.component.js +6 -6
- package/esm2015/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.js +6 -6
- package/esm2015/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.js +6 -6
- package/esm2015/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.js +6 -6
- package/esm2015/lib/elements/projects/projects.component.js +10 -13
- package/esm2015/lib/elements/slotted-card/slotted-card.component.js +6 -4
- package/esm2015/lib/services/eac.service.js +41 -17
- package/esm2015/lowcodeunit-applications-flow-common.js +32 -31
- package/fesm2015/lowcodeunit-applications-flow-common.js +697 -173
- package/fesm2015/lowcodeunit-applications-flow-common.js.map +1 -1
- package/lib/applications-flow.module.d.ts.map +1 -1
- package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts +30 -1
- package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts.map +1 -1
- package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts +72 -3
- package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts.map +1 -1
- package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts +15 -0
- package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts.map +1 -0
- package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts +14 -0
- package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts.map +1 -0
- package/lib/elements/base-form/base-form.component.d.ts +3 -3
- package/lib/elements/base-form/base-form.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/builds/builds.component.d.ts +1 -3
- package/lib/elements/projects/controls/builds/builds.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts +3 -3
- package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/forms/source-control/source-control.component.d.ts +1 -3
- package/lib/elements/projects/controls/forms/source-control/source-control.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/header/header.component.d.ts +3 -3
- package/lib/elements/projects/controls/header/header.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/project-items/project-items.component.d.ts +3 -3
- package/lib/elements/projects/controls/project-items/project-items.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts +1 -1
- package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts +3 -3
- package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts +3 -3
- package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts +3 -3
- package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts +3 -3
- package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts +3 -3
- package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts.map +1 -1
- package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts +3 -3
- package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts.map +1 -1
- package/lib/elements/projects/projects.component.d.ts +1 -3
- package/lib/elements/projects/projects.component.d.ts.map +1 -1
- package/lib/elements/slotted-card/slotted-card.component.d.ts.map +1 -1
- package/lib/services/eac.service.d.ts +31 -7
- package/lib/services/eac.service.d.ts.map +1 -1
- package/lowcodeunit-applications-flow-common.d.ts +31 -30
- package/lowcodeunit-applications-flow-common.d.ts.map +1 -1
- package/lowcodeunit-applications-flow-common.metadata.json +1 -1
- package/package.json +1 -1
- package/esm2015/lib/services/applications-flow-events.service.js +0 -83
- package/lib/services/applications-flow-events.service.d.ts +0 -58
- package/lib/services/applications-flow-events.service.d.ts.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ɵɵdefineInjectable, Injectable, ɵɵinject, INJECTOR, Injector,
|
|
1
|
+
import { ɵɵdefineInjectable, Injectable, ɵɵinject, INJECTOR, Injector, Component, Input, EventEmitter, Output, ViewChild, ComponentFactoryResolver, ViewContainerRef, ChangeDetectorRef, Inject, NgModule } from '@angular/core';
|
|
2
2
|
import { Subject, Observable } from 'rxjs';
|
|
3
3
|
import { __awaiter } from 'tslib';
|
|
4
4
|
import { HttpClient, HttpBackend } from '@angular/common/http';
|
|
@@ -11,6 +11,7 @@ import { map, debounceTime, switchMap } from 'rxjs/operators';
|
|
|
11
11
|
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
12
12
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
13
13
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
14
|
+
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* Model for form values
|
|
@@ -627,87 +628,6 @@ ApplicationsFlowStateContext.ctorParameters = () => [
|
|
|
627
628
|
{ type: Injector }
|
|
628
629
|
];
|
|
629
630
|
|
|
630
|
-
class SaveApplicationAsCodeEventRequest {
|
|
631
|
-
}
|
|
632
|
-
class SaveDFSModifierEventRequest {
|
|
633
|
-
}
|
|
634
|
-
class SaveEnvironmentAsCodeEventRequest {
|
|
635
|
-
}
|
|
636
|
-
class SaveProjectAsCodeEventRequest {
|
|
637
|
-
}
|
|
638
|
-
class ApplicationsFlowEventsService {
|
|
639
|
-
// Constructors
|
|
640
|
-
constructor() {
|
|
641
|
-
this.DeleteApplicationEvent = new EventEmitter();
|
|
642
|
-
this.DeleteDevOpsActionEvent = new EventEmitter();
|
|
643
|
-
this.DeleteProjectEvent = new EventEmitter();
|
|
644
|
-
this.DeleteSourceControlEvent = new EventEmitter();
|
|
645
|
-
this.EnsureUserEnterpriseEvent = new EventEmitter();
|
|
646
|
-
this.LoadEnterpriseAsCodeEvent = new EventEmitter();
|
|
647
|
-
this.SaveApplicationAsCodeEvent = new EventEmitter();
|
|
648
|
-
this.SaveDFSModifierEvent = new EventEmitter();
|
|
649
|
-
this.SaveEnterpriseAsCodeEvent = new EventEmitter();
|
|
650
|
-
this.SaveEnvironmentAsCodeEvent = new EventEmitter();
|
|
651
|
-
this.SaveProjectAsCodeEvent = new EventEmitter();
|
|
652
|
-
this.SetCreatingProjectEvent = new EventEmitter();
|
|
653
|
-
this.SetEditProjectSettingsEvent = new EventEmitter();
|
|
654
|
-
this.UnpackLowCodeUnitEvent = new EventEmitter();
|
|
655
|
-
}
|
|
656
|
-
// API Methods
|
|
657
|
-
DeleteApplication(appLookup) {
|
|
658
|
-
this.DeleteApplicationEvent.emit(appLookup);
|
|
659
|
-
}
|
|
660
|
-
DeleteDevOpsAction(doaLookup) {
|
|
661
|
-
this.DeleteDevOpsActionEvent.emit(doaLookup);
|
|
662
|
-
}
|
|
663
|
-
DeleteProject(projectLookup) {
|
|
664
|
-
this.DeleteProjectEvent.emit(projectLookup);
|
|
665
|
-
}
|
|
666
|
-
DeleteSourceControl(scLookup) {
|
|
667
|
-
this.DeleteSourceControlEvent.emit(scLookup);
|
|
668
|
-
}
|
|
669
|
-
EnsureUserEnterprise() {
|
|
670
|
-
this.EnsureUserEnterpriseEvent.emit();
|
|
671
|
-
}
|
|
672
|
-
// public ListProjects(withLoading: boolean): void {
|
|
673
|
-
// this.ListProjectsEvent.emit(withLoading);
|
|
674
|
-
// }
|
|
675
|
-
LoadEnterpriseAsCode() {
|
|
676
|
-
this.LoadEnterpriseAsCodeEvent.emit();
|
|
677
|
-
}
|
|
678
|
-
SaveApplicationAsCode(req) {
|
|
679
|
-
this.SaveApplicationAsCodeEvent.emit(req);
|
|
680
|
-
}
|
|
681
|
-
SaveDFSModifier(req) {
|
|
682
|
-
this.SaveDFSModifierEvent.emit(req);
|
|
683
|
-
}
|
|
684
|
-
SaveEnterpriseAsCode(eac) {
|
|
685
|
-
this.SaveEnterpriseAsCodeEvent.emit(eac);
|
|
686
|
-
}
|
|
687
|
-
SaveEnvironmentAsCode(req) {
|
|
688
|
-
this.SaveEnvironmentAsCodeEvent.emit(req);
|
|
689
|
-
}
|
|
690
|
-
SaveProjectAsCode(req) {
|
|
691
|
-
this.SaveProjectAsCodeEvent.emit(req);
|
|
692
|
-
}
|
|
693
|
-
SetCreatingProject(creatingProject) {
|
|
694
|
-
this.SetCreatingProjectEvent.emit(creatingProject);
|
|
695
|
-
}
|
|
696
|
-
SetEditProjectSettings(projectLookup) {
|
|
697
|
-
this.SetEditProjectSettingsEvent.emit(projectLookup);
|
|
698
|
-
}
|
|
699
|
-
UnpackLowCodeUnit(req) {
|
|
700
|
-
this.UnpackLowCodeUnitEvent.emit(req);
|
|
701
|
-
}
|
|
702
|
-
}
|
|
703
|
-
ApplicationsFlowEventsService.ɵprov = ɵɵdefineInjectable({ factory: function ApplicationsFlowEventsService_Factory() { return new ApplicationsFlowEventsService(); }, token: ApplicationsFlowEventsService, providedIn: "root" });
|
|
704
|
-
ApplicationsFlowEventsService.decorators = [
|
|
705
|
-
{ type: Injectable, args: [{
|
|
706
|
-
providedIn: 'root',
|
|
707
|
-
},] }
|
|
708
|
-
];
|
|
709
|
-
ApplicationsFlowEventsService.ctorParameters = () => [];
|
|
710
|
-
|
|
711
631
|
class ApplicationsFlowState {
|
|
712
632
|
constructor() {
|
|
713
633
|
this.GitHub = {};
|
|
@@ -780,15 +700,24 @@ class ProjectHostingOptionInput {
|
|
|
780
700
|
// public Repository?: string;
|
|
781
701
|
// }
|
|
782
702
|
|
|
703
|
+
class SaveApplicationAsCodeEventRequest {
|
|
704
|
+
}
|
|
705
|
+
class SaveDFSModifierEventRequest {
|
|
706
|
+
}
|
|
707
|
+
class SaveEnvironmentAsCodeEventRequest {
|
|
708
|
+
}
|
|
709
|
+
class SaveProjectAsCodeEventRequest {
|
|
710
|
+
}
|
|
783
711
|
class EaCService {
|
|
784
712
|
// Constructors
|
|
785
|
-
constructor(
|
|
786
|
-
this.appsFlowEventsSvc = appsFlowEventsSvc;
|
|
713
|
+
constructor(projectService) {
|
|
787
714
|
this.projectService = projectService;
|
|
788
715
|
this.State = new ApplicationsFlowState();
|
|
789
|
-
this.setServices();
|
|
790
716
|
}
|
|
791
717
|
// API Methods
|
|
718
|
+
get CreatingProject() {
|
|
719
|
+
return this.projectService.CreatingProject;
|
|
720
|
+
}
|
|
792
721
|
DeleteApplication(appLookup, appName) {
|
|
793
722
|
return __awaiter(this, void 0, void 0, function* () {
|
|
794
723
|
if (confirm(`Are you sure you want to delete application '${appName}'?`)) {
|
|
@@ -820,11 +749,29 @@ class EaCService {
|
|
|
820
749
|
// this.appsFlowEventsSvc.EnsureUserEnterpriseEvent.subscribe(async () => {
|
|
821
750
|
// await this.projectService.EnsureUserEnterprise(this.State);
|
|
822
751
|
// });
|
|
823
|
-
EnsureUserEnterprise(
|
|
752
|
+
EnsureUserEnterprise() {
|
|
824
753
|
return __awaiter(this, void 0, void 0, function* () {
|
|
825
754
|
yield this.projectService.EnsureUserEnterprise(this.State);
|
|
826
755
|
});
|
|
827
756
|
}
|
|
757
|
+
GetActiveEnterprise() {
|
|
758
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
759
|
+
yield this.projectService.GetActiveEnterprise(this.State);
|
|
760
|
+
});
|
|
761
|
+
}
|
|
762
|
+
get EditingProjectLookup() {
|
|
763
|
+
return this.projectService.EditingProjectLookup;
|
|
764
|
+
}
|
|
765
|
+
HasValidConnection() {
|
|
766
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
767
|
+
yield this.projectService.HasValidConnection(this.State);
|
|
768
|
+
});
|
|
769
|
+
}
|
|
770
|
+
ListEnterprises() {
|
|
771
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
772
|
+
yield this.projectService.ListEnterprises(this.State);
|
|
773
|
+
});
|
|
774
|
+
}
|
|
828
775
|
LoadEnterpriseAsCode() {
|
|
829
776
|
return __awaiter(this, void 0, void 0, function* () {
|
|
830
777
|
yield this.projectService.LoadEnterpriseAsCode(this.State);
|
|
@@ -835,7 +782,7 @@ class EaCService {
|
|
|
835
782
|
yield this.handleSaveApplication(req);
|
|
836
783
|
});
|
|
837
784
|
}
|
|
838
|
-
|
|
785
|
+
SaveDFSModifier(req) {
|
|
839
786
|
return __awaiter(this, void 0, void 0, function* () {
|
|
840
787
|
yield this.handleSaveDFSModifier(req);
|
|
841
788
|
});
|
|
@@ -855,6 +802,11 @@ class EaCService {
|
|
|
855
802
|
yield this.handleSaveProject(req.ProjectLookup, req.Project);
|
|
856
803
|
});
|
|
857
804
|
}
|
|
805
|
+
SetActiveEnterprise(eventValue) {
|
|
806
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
807
|
+
this.projectService.SetActiveEnterprise(this.State, eventValue);
|
|
808
|
+
});
|
|
809
|
+
}
|
|
858
810
|
SetCreatingProject(creatingProject) {
|
|
859
811
|
return __awaiter(this, void 0, void 0, function* () {
|
|
860
812
|
this.projectService.SetCreatingProject(creatingProject);
|
|
@@ -872,11 +824,6 @@ class EaCService {
|
|
|
872
824
|
}
|
|
873
825
|
});
|
|
874
826
|
}
|
|
875
|
-
setServices() {
|
|
876
|
-
// this.appsFlowEventsSvc.ListProjectsEvent.subscribe((withLoading) => {
|
|
877
|
-
// this.projectService.ListProjects(this.State, withLoading);
|
|
878
|
-
// });
|
|
879
|
-
}
|
|
880
827
|
// Helpers
|
|
881
828
|
handleSaveApplication(req) {
|
|
882
829
|
var _a;
|
|
@@ -950,18 +897,17 @@ class EaCService {
|
|
|
950
897
|
};
|
|
951
898
|
saveEaC.Projects[projectLookup] = project;
|
|
952
899
|
yield this.projectService.SaveEnterpriseAsCode(this.State, saveEaC);
|
|
953
|
-
this.
|
|
900
|
+
this.SetEditProjectSettings(projectLookup);
|
|
954
901
|
});
|
|
955
902
|
}
|
|
956
903
|
}
|
|
957
|
-
EaCService.ɵprov = ɵɵdefineInjectable({ factory: function EaCService_Factory() { return new EaCService(ɵɵinject(
|
|
904
|
+
EaCService.ɵprov = ɵɵdefineInjectable({ factory: function EaCService_Factory() { return new EaCService(ɵɵinject(ProjectService)); }, token: EaCService, providedIn: "root" });
|
|
958
905
|
EaCService.decorators = [
|
|
959
906
|
{ type: Injectable, args: [{
|
|
960
907
|
providedIn: 'root',
|
|
961
908
|
},] }
|
|
962
909
|
];
|
|
963
910
|
EaCService.ctorParameters = () => [
|
|
964
|
-
{ type: ApplicationsFlowEventsService },
|
|
965
911
|
{ type: ProjectService }
|
|
966
912
|
];
|
|
967
913
|
|
|
@@ -972,11 +918,10 @@ class ApplicationsFlowProjectsContext extends LCUElementContext {
|
|
|
972
918
|
const SELECTOR_APPLICATIONS_FLOW_PROJECTS_ELEMENT = 'applications-flow-projects-element';
|
|
973
919
|
class ApplicationsFlowProjectsElementComponent extends LcuElementComponent {
|
|
974
920
|
// Constructors
|
|
975
|
-
constructor(injector, appsFlowSvc,
|
|
921
|
+
constructor(injector, appsFlowSvc, eacSvc) {
|
|
976
922
|
super(injector);
|
|
977
923
|
this.injector = injector;
|
|
978
924
|
this.appsFlowSvc = appsFlowSvc;
|
|
979
|
-
this.projectService = projectService;
|
|
980
925
|
this.eacSvc = eacSvc;
|
|
981
926
|
}
|
|
982
927
|
// Properties
|
|
@@ -991,14 +936,14 @@ class ApplicationsFlowProjectsElementComponent extends LcuElementComponent {
|
|
|
991
936
|
return envLookups[0];
|
|
992
937
|
}
|
|
993
938
|
get CreatingProject() {
|
|
994
|
-
return this.
|
|
939
|
+
return this.eacSvc.CreatingProject;
|
|
995
940
|
}
|
|
996
941
|
get EditingProject() {
|
|
997
942
|
var _a, _b, _c, _d;
|
|
998
943
|
return ((_b = (_a = this.State) === null || _a === void 0 ? void 0 : _a.EaC) === null || _b === void 0 ? void 0 : _b.Projects) ? (_d = (_c = this.State) === null || _c === void 0 ? void 0 : _c.EaC) === null || _d === void 0 ? void 0 : _d.Projects[this.EditingProjectLookup] : null;
|
|
999
944
|
}
|
|
1000
945
|
get EditingProjectLookup() {
|
|
1001
|
-
return this.
|
|
946
|
+
return this.eacSvc.EditingProjectLookup;
|
|
1002
947
|
}
|
|
1003
948
|
get ProjectLookups() {
|
|
1004
949
|
var _a, _b;
|
|
@@ -1017,7 +962,7 @@ class ApplicationsFlowProjectsElementComponent extends LcuElementComponent {
|
|
|
1017
962
|
// API Methods
|
|
1018
963
|
ActiveEnterpriseChanged(event) {
|
|
1019
964
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1020
|
-
yield this.
|
|
965
|
+
yield this.eacSvc.SetActiveEnterprise(event.value);
|
|
1021
966
|
});
|
|
1022
967
|
}
|
|
1023
968
|
ConfigureDevOpsAction(devOpsActionLookup) {
|
|
@@ -1026,7 +971,7 @@ class ApplicationsFlowProjectsElementComponent extends LcuElementComponent {
|
|
|
1026
971
|
.ConfigureDevOpsAction(devOpsActionLookup)
|
|
1027
972
|
.subscribe((response) => {
|
|
1028
973
|
if (response.Status.Code === 0) {
|
|
1029
|
-
this.
|
|
974
|
+
this.eacSvc.LoadEnterpriseAsCode();
|
|
1030
975
|
}
|
|
1031
976
|
else {
|
|
1032
977
|
this.State.Loading = false;
|
|
@@ -1038,11 +983,11 @@ class ApplicationsFlowProjectsElementComponent extends LcuElementComponent {
|
|
|
1038
983
|
var _a;
|
|
1039
984
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1040
985
|
this.State.Loading = true;
|
|
1041
|
-
yield this.
|
|
1042
|
-
yield this.
|
|
1043
|
-
yield this.
|
|
986
|
+
yield this.eacSvc.HasValidConnection();
|
|
987
|
+
yield this.eacSvc.EnsureUserEnterprise();
|
|
988
|
+
yield this.eacSvc.ListEnterprises();
|
|
1044
989
|
if (((_a = this.State.Enterprises) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
1045
|
-
yield this.
|
|
990
|
+
yield this.eacSvc.GetActiveEnterprise();
|
|
1046
991
|
}
|
|
1047
992
|
});
|
|
1048
993
|
}
|
|
@@ -1057,7 +1002,6 @@ ApplicationsFlowProjectsElementComponent.decorators = [
|
|
|
1057
1002
|
ApplicationsFlowProjectsElementComponent.ctorParameters = () => [
|
|
1058
1003
|
{ type: Injector },
|
|
1059
1004
|
{ type: ApplicationsFlowService },
|
|
1060
|
-
{ type: ProjectService },
|
|
1061
1005
|
{ type: EaCService }
|
|
1062
1006
|
];
|
|
1063
1007
|
|
|
@@ -1094,6 +1038,7 @@ class HostingDetailsFormGroupComponent {
|
|
|
1094
1038
|
ngOnChanges() { }
|
|
1095
1039
|
ngOnInit() {
|
|
1096
1040
|
var _a, _b, _c;
|
|
1041
|
+
console.log("made it to hosting details");
|
|
1097
1042
|
this.BuildPipeline =
|
|
1098
1043
|
this.BuildPipeline || ((_a = this.Details) === null || _a === void 0 ? void 0 : _a.HostingOptions)
|
|
1099
1044
|
? (_c = (_b = this.Details) === null || _b === void 0 ? void 0 : _b.HostingOptions[0]) === null || _c === void 0 ? void 0 : _c.Lookup : '';
|
|
@@ -1163,10 +1108,9 @@ HostingDetailsFormGroupComponent.propDecorators = {
|
|
|
1163
1108
|
|
|
1164
1109
|
class SourceControlFormControlsComponent {
|
|
1165
1110
|
// Constructors
|
|
1166
|
-
constructor(formBuilder, appsFlowSvc
|
|
1111
|
+
constructor(formBuilder, appsFlowSvc) {
|
|
1167
1112
|
this.formBuilder = formBuilder;
|
|
1168
1113
|
this.appsFlowSvc = appsFlowSvc;
|
|
1169
|
-
this.appsFlowEventsSvc = appsFlowEventsSvc;
|
|
1170
1114
|
this.SeparatorKeysCodes = [ENTER, COMMA];
|
|
1171
1115
|
this.BranchesChanged = new EventEmitter();
|
|
1172
1116
|
this.SelectedBranches = [];
|
|
@@ -1403,8 +1347,7 @@ SourceControlFormControlsComponent.decorators = [
|
|
|
1403
1347
|
];
|
|
1404
1348
|
SourceControlFormControlsComponent.ctorParameters = () => [
|
|
1405
1349
|
{ type: FormBuilder },
|
|
1406
|
-
{ type: ApplicationsFlowService }
|
|
1407
|
-
{ type: ApplicationsFlowEventsService }
|
|
1350
|
+
{ type: ApplicationsFlowService }
|
|
1408
1351
|
];
|
|
1409
1352
|
SourceControlFormControlsComponent.propDecorators = {
|
|
1410
1353
|
BranchesChanged: [{ type: Output, args: ['branches-changed',] }],
|
|
@@ -1423,10 +1366,10 @@ SourceControlFormControlsComponent.propDecorators = {
|
|
|
1423
1366
|
|
|
1424
1367
|
class CreateProjectWizardComponent {
|
|
1425
1368
|
// Constructors
|
|
1426
|
-
constructor(formBuilder, appsFlowSvc,
|
|
1369
|
+
constructor(formBuilder, appsFlowSvc, eacSvc) {
|
|
1427
1370
|
this.formBuilder = formBuilder;
|
|
1428
1371
|
this.appsFlowSvc = appsFlowSvc;
|
|
1429
|
-
this.
|
|
1372
|
+
this.eacSvc = eacSvc;
|
|
1430
1373
|
this.HostingDetails = new ProjectHostingDetails();
|
|
1431
1374
|
}
|
|
1432
1375
|
// Fields
|
|
@@ -1465,7 +1408,7 @@ class CreateProjectWizardComponent {
|
|
|
1465
1408
|
}
|
|
1466
1409
|
// API Methods
|
|
1467
1410
|
Cancel() {
|
|
1468
|
-
this.
|
|
1411
|
+
this.eacSvc.SetCreatingProject(false);
|
|
1469
1412
|
}
|
|
1470
1413
|
ConfigureRepository() {
|
|
1471
1414
|
this.loadProjectHostingDetails();
|
|
@@ -1553,7 +1496,7 @@ CreateProjectWizardComponent.decorators = [
|
|
|
1553
1496
|
CreateProjectWizardComponent.ctorParameters = () => [
|
|
1554
1497
|
{ type: FormBuilder },
|
|
1555
1498
|
{ type: ApplicationsFlowService },
|
|
1556
|
-
{ type:
|
|
1499
|
+
{ type: EaCService }
|
|
1557
1500
|
];
|
|
1558
1501
|
CreateProjectWizardComponent.propDecorators = {
|
|
1559
1502
|
SourceControl: [{ type: ViewChild, args: [SourceControlFormControlsComponent,] }],
|
|
@@ -1629,10 +1572,10 @@ DynamicTabsComponent.propDecorators = {
|
|
|
1629
1572
|
|
|
1630
1573
|
class HeaderComponent {
|
|
1631
1574
|
// Constructors
|
|
1632
|
-
constructor(formBuilder, lcuSettings,
|
|
1575
|
+
constructor(formBuilder, lcuSettings, eacSvc) {
|
|
1633
1576
|
this.formBuilder = formBuilder;
|
|
1634
1577
|
this.lcuSettings = lcuSettings;
|
|
1635
|
-
this.
|
|
1578
|
+
this.eacSvc = eacSvc;
|
|
1636
1579
|
}
|
|
1637
1580
|
get HasProjects() {
|
|
1638
1581
|
return this.ProjectLookups && this.ProjectLookups.length > 0;
|
|
@@ -1671,13 +1614,13 @@ class HeaderComponent {
|
|
|
1671
1614
|
TrustedProviderLookups: ['ADB2C'],
|
|
1672
1615
|
},
|
|
1673
1616
|
};
|
|
1674
|
-
this.
|
|
1617
|
+
this.eacSvc.SaveProjectAsCode({
|
|
1675
1618
|
ProjectLookup: Guid.CreateRaw(),
|
|
1676
1619
|
Project: proj,
|
|
1677
1620
|
});
|
|
1678
1621
|
}
|
|
1679
1622
|
EnableCreatingProject() {
|
|
1680
|
-
this.
|
|
1623
|
+
this.eacSvc.SetCreatingProject(true);
|
|
1681
1624
|
}
|
|
1682
1625
|
}
|
|
1683
1626
|
HeaderComponent.decorators = [
|
|
@@ -1690,7 +1633,7 @@ HeaderComponent.decorators = [
|
|
|
1690
1633
|
HeaderComponent.ctorParameters = () => [
|
|
1691
1634
|
{ type: FormBuilder },
|
|
1692
1635
|
{ type: LCUServiceSettings },
|
|
1693
|
-
{ type:
|
|
1636
|
+
{ type: EaCService }
|
|
1694
1637
|
];
|
|
1695
1638
|
HeaderComponent.propDecorators = {
|
|
1696
1639
|
CreatingProject: [{ type: Input, args: ['creating-project',] }],
|
|
@@ -1705,9 +1648,9 @@ class CardFormConfigModel {
|
|
|
1705
1648
|
}
|
|
1706
1649
|
|
|
1707
1650
|
class DomainsComponent {
|
|
1708
|
-
constructor(formsService,
|
|
1651
|
+
constructor(formsService, eacSvc) {
|
|
1709
1652
|
this.formsService = formsService;
|
|
1710
|
-
this.
|
|
1653
|
+
this.eacSvc = eacSvc;
|
|
1711
1654
|
}
|
|
1712
1655
|
/**
|
|
1713
1656
|
* Access form control for root directory
|
|
@@ -1805,7 +1748,7 @@ class DomainsComponent {
|
|
|
1805
1748
|
* Save changes
|
|
1806
1749
|
*/
|
|
1807
1750
|
save() {
|
|
1808
|
-
this.
|
|
1751
|
+
this.eacSvc.SaveProjectAsCode({
|
|
1809
1752
|
ProjectLookup: this.ProjectLookup,
|
|
1810
1753
|
Project: Object.assign(Object.assign({}, this.Project), {
|
|
1811
1754
|
// Hosts: [...this.Project.Hosts, this.Domain.value],
|
|
@@ -1826,7 +1769,7 @@ DomainsComponent.decorators = [
|
|
|
1826
1769
|
];
|
|
1827
1770
|
DomainsComponent.ctorParameters = () => [
|
|
1828
1771
|
{ type: FormsService },
|
|
1829
|
-
{ type:
|
|
1772
|
+
{ type: EaCService }
|
|
1830
1773
|
];
|
|
1831
1774
|
DomainsComponent.propDecorators = {
|
|
1832
1775
|
Data: [{ type: Input, args: ['data',] }]
|
|
@@ -2466,10 +2409,10 @@ AppsFlowComponent.propDecorators = {
|
|
|
2466
2409
|
|
|
2467
2410
|
class DevOpsComponent {
|
|
2468
2411
|
// Constructors
|
|
2469
|
-
constructor(formBldr, appsFlowSvc,
|
|
2412
|
+
constructor(formBldr, appsFlowSvc, eacSvc) {
|
|
2470
2413
|
this.formBldr = formBldr;
|
|
2471
2414
|
this.appsFlowSvc = appsFlowSvc;
|
|
2472
|
-
this.
|
|
2415
|
+
this.eacSvc = eacSvc;
|
|
2473
2416
|
this.EditingSourceControlLookup = null;
|
|
2474
2417
|
this.HostingDetails = new ProjectHostingDetails();
|
|
2475
2418
|
}
|
|
@@ -2543,7 +2486,7 @@ class DevOpsComponent {
|
|
|
2543
2486
|
}
|
|
2544
2487
|
DeleteSourceControl(scLookup) {
|
|
2545
2488
|
if (confirm(`Are you sure you want to delete source control '${scLookup}'?`)) {
|
|
2546
|
-
this.
|
|
2489
|
+
this.eacSvc.DeleteSourceControl(scLookup);
|
|
2547
2490
|
}
|
|
2548
2491
|
}
|
|
2549
2492
|
DevOpsActionLookupChanged(event) {
|
|
@@ -2597,7 +2540,7 @@ class DevOpsComponent {
|
|
|
2597
2540
|
source = Object.assign(Object.assign({}, source), { Type: 'GitHub', Name: this.EditingSourceControlLookup, DevOpsActionTriggerLookups: [devOpsActionLookup], Organization: this.SourceControlFormControls.OrganizationFormControl.value, Repository: this.SourceControlFormControls.RepositoryFormControl.value });
|
|
2598
2541
|
const scLookup = `github://${source.Organization}/${source.Repository}`;
|
|
2599
2542
|
saveEnvReq.Environment.Sources[scLookup] = source;
|
|
2600
|
-
this.
|
|
2543
|
+
this.eacSvc.SaveEnvironmentAsCode(saveEnvReq);
|
|
2601
2544
|
}
|
|
2602
2545
|
SetEditingSourceControl(scLookup) {
|
|
2603
2546
|
this.EditingSourceControlLookup = scLookup;
|
|
@@ -2650,7 +2593,7 @@ DevOpsComponent.decorators = [
|
|
|
2650
2593
|
DevOpsComponent.ctorParameters = () => [
|
|
2651
2594
|
{ type: FormBuilder },
|
|
2652
2595
|
{ type: ApplicationsFlowService },
|
|
2653
|
-
{ type:
|
|
2596
|
+
{ type: EaCService }
|
|
2654
2597
|
];
|
|
2655
2598
|
DevOpsComponent.propDecorators = {
|
|
2656
2599
|
Data: [{ type: Input, args: ['data',] }],
|
|
@@ -2660,10 +2603,10 @@ DevOpsComponent.propDecorators = {
|
|
|
2660
2603
|
|
|
2661
2604
|
class DFSModifiersComponent {
|
|
2662
2605
|
// Constructors
|
|
2663
|
-
constructor(formBldr, appsFlowSvc,
|
|
2606
|
+
constructor(formBldr, appsFlowSvc, eacSvc) {
|
|
2664
2607
|
this.formBldr = formBldr;
|
|
2665
2608
|
this.appsFlowSvc = appsFlowSvc;
|
|
2666
|
-
this.
|
|
2609
|
+
this.eacSvc = eacSvc;
|
|
2667
2610
|
this.EditingModifierLookup = null;
|
|
2668
2611
|
}
|
|
2669
2612
|
get DetailsFormControl() {
|
|
@@ -2737,7 +2680,7 @@ class DFSModifiersComponent {
|
|
|
2737
2680
|
}
|
|
2738
2681
|
DeleteModifier(modifierLookup, modifierName) {
|
|
2739
2682
|
if (confirm(`Are you sure you want to delete modifier '${modifierName}'?`)) {
|
|
2740
|
-
this.
|
|
2683
|
+
this.eacSvc.DeleteSourceControl(modifierLookup);
|
|
2741
2684
|
}
|
|
2742
2685
|
}
|
|
2743
2686
|
SaveModifier(projectLookup = null) {
|
|
@@ -2760,7 +2703,7 @@ class DFSModifiersComponent {
|
|
|
2760
2703
|
break;
|
|
2761
2704
|
}
|
|
2762
2705
|
saveMdfrReq.Modifier.Details = JSON.stringify(details);
|
|
2763
|
-
this.
|
|
2706
|
+
this.eacSvc.SaveDFSModifier(saveMdfrReq);
|
|
2764
2707
|
}
|
|
2765
2708
|
SetEditingModifier(modifierLookup) {
|
|
2766
2709
|
this.EditingModifierLookup = modifierLookup;
|
|
@@ -2825,7 +2768,7 @@ DFSModifiersComponent.decorators = [
|
|
|
2825
2768
|
DFSModifiersComponent.ctorParameters = () => [
|
|
2826
2769
|
{ type: FormBuilder },
|
|
2827
2770
|
{ type: ApplicationsFlowService },
|
|
2828
|
-
{ type:
|
|
2771
|
+
{ type: EaCService }
|
|
2829
2772
|
];
|
|
2830
2773
|
DFSModifiersComponent.propDecorators = {
|
|
2831
2774
|
Data: [{ type: Input, args: ['data',] }]
|
|
@@ -2917,8 +2860,8 @@ ProjectTabsComponent.propDecorators = {
|
|
|
2917
2860
|
|
|
2918
2861
|
class ProjectItemsComponent {
|
|
2919
2862
|
// Constructors
|
|
2920
|
-
constructor(
|
|
2921
|
-
this.
|
|
2863
|
+
constructor(eacSvc) {
|
|
2864
|
+
this.eacSvc = eacSvc;
|
|
2922
2865
|
}
|
|
2923
2866
|
// Fields
|
|
2924
2867
|
// Properties
|
|
@@ -2931,7 +2874,7 @@ class ProjectItemsComponent {
|
|
|
2931
2874
|
// API Methods
|
|
2932
2875
|
DeleteProject(projectLookup, projectName) {
|
|
2933
2876
|
if (confirm(`Are you sure you want to delete project '${projectName}'?`)) {
|
|
2934
|
-
this.
|
|
2877
|
+
this.eacSvc.DeleteProject(projectLookup);
|
|
2935
2878
|
}
|
|
2936
2879
|
}
|
|
2937
2880
|
GetPrimaryHost(project) {
|
|
@@ -2944,7 +2887,7 @@ class ProjectItemsComponent {
|
|
|
2944
2887
|
* Event to edit project settings
|
|
2945
2888
|
*/
|
|
2946
2889
|
ProjectSettings(projectLookup) {
|
|
2947
|
-
this.
|
|
2890
|
+
this.eacSvc.SetEditProjectSettings(projectLookup);
|
|
2948
2891
|
}
|
|
2949
2892
|
}
|
|
2950
2893
|
ProjectItemsComponent.decorators = [
|
|
@@ -2955,7 +2898,7 @@ ProjectItemsComponent.decorators = [
|
|
|
2955
2898
|
},] }
|
|
2956
2899
|
];
|
|
2957
2900
|
ProjectItemsComponent.ctorParameters = () => [
|
|
2958
|
-
{ type:
|
|
2901
|
+
{ type: EaCService }
|
|
2959
2902
|
];
|
|
2960
2903
|
ProjectItemsComponent.propDecorators = {
|
|
2961
2904
|
Projects: [{ type: Input, args: ['projects',] }],
|
|
@@ -2963,9 +2906,7 @@ ProjectItemsComponent.propDecorators = {
|
|
|
2963
2906
|
};
|
|
2964
2907
|
|
|
2965
2908
|
class BuildsComponent {
|
|
2966
|
-
constructor(
|
|
2967
|
-
this.appsFlowEventsSvc = appsFlowEventsSvc;
|
|
2968
|
-
}
|
|
2909
|
+
constructor() { }
|
|
2969
2910
|
ngOnInit() { }
|
|
2970
2911
|
ngOnDestroy() {
|
|
2971
2912
|
}
|
|
@@ -2984,9 +2925,7 @@ BuildsComponent.decorators = [
|
|
|
2984
2925
|
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}"]
|
|
2985
2926
|
},] }
|
|
2986
2927
|
];
|
|
2987
|
-
BuildsComponent.ctorParameters = () => [
|
|
2988
|
-
{ type: ApplicationsFlowEventsService }
|
|
2989
|
-
];
|
|
2928
|
+
BuildsComponent.ctorParameters = () => [];
|
|
2990
2929
|
BuildsComponent.propDecorators = {
|
|
2991
2930
|
Projects: [{ type: Input, args: ['projects',] }]
|
|
2992
2931
|
};
|
|
@@ -3027,9 +2966,9 @@ FormCardComponent.propDecorators = {
|
|
|
3027
2966
|
};
|
|
3028
2967
|
|
|
3029
2968
|
class ProjectNameComponent {
|
|
3030
|
-
constructor(formsService,
|
|
2969
|
+
constructor(formsService, eacSvc) {
|
|
3031
2970
|
this.formsService = formsService;
|
|
3032
|
-
this.
|
|
2971
|
+
this.eacSvc = eacSvc;
|
|
3033
2972
|
}
|
|
3034
2973
|
/**
|
|
3035
2974
|
* Access form control for description
|
|
@@ -3099,7 +3038,7 @@ class ProjectNameComponent {
|
|
|
3099
3038
|
* Save form
|
|
3100
3039
|
*/
|
|
3101
3040
|
save() {
|
|
3102
|
-
this.
|
|
3041
|
+
this.eacSvc.SaveProjectAsCode({
|
|
3103
3042
|
ProjectLookup: this.ProjectLookup,
|
|
3104
3043
|
Project: Object.assign(Object.assign({}, this.Project), { Project: Object.assign(Object.assign({}, (this.Project || {})), { Description: this.Description.value, Name: this.Name.value }) }),
|
|
3105
3044
|
});
|
|
@@ -3143,7 +3082,7 @@ ProjectNameComponent.decorators = [
|
|
|
3143
3082
|
];
|
|
3144
3083
|
ProjectNameComponent.ctorParameters = () => [
|
|
3145
3084
|
{ type: FormsService },
|
|
3146
|
-
{ type:
|
|
3085
|
+
{ type: EaCService }
|
|
3147
3086
|
];
|
|
3148
3087
|
ProjectNameComponent.propDecorators = {
|
|
3149
3088
|
Project: [{ type: Input, args: ['project',] }],
|
|
@@ -3151,9 +3090,9 @@ ProjectNameComponent.propDecorators = {
|
|
|
3151
3090
|
};
|
|
3152
3091
|
|
|
3153
3092
|
class RootDirectoryComponent {
|
|
3154
|
-
constructor(formsService,
|
|
3093
|
+
constructor(formsService, eacSvc) {
|
|
3155
3094
|
this.formsService = formsService;
|
|
3156
|
-
this.
|
|
3095
|
+
this.eacSvc = eacSvc;
|
|
3157
3096
|
}
|
|
3158
3097
|
/**
|
|
3159
3098
|
* Access form control for root directory
|
|
@@ -3218,7 +3157,7 @@ class RootDirectoryComponent {
|
|
|
3218
3157
|
* Save form
|
|
3219
3158
|
*/
|
|
3220
3159
|
save() {
|
|
3221
|
-
this.
|
|
3160
|
+
this.eacSvc.SaveProjectAsCode({
|
|
3222
3161
|
ProjectLookup: this.ProjectLookup,
|
|
3223
3162
|
Project: Object.assign({}, this.Project),
|
|
3224
3163
|
});
|
|
@@ -3251,7 +3190,7 @@ RootDirectoryComponent.decorators = [
|
|
|
3251
3190
|
];
|
|
3252
3191
|
RootDirectoryComponent.ctorParameters = () => [
|
|
3253
3192
|
{ type: FormsService },
|
|
3254
|
-
{ type:
|
|
3193
|
+
{ type: EaCService }
|
|
3255
3194
|
];
|
|
3256
3195
|
RootDirectoryComponent.propDecorators = {
|
|
3257
3196
|
Project: [{ type: Input, args: ['project',] }],
|
|
@@ -3259,9 +3198,9 @@ RootDirectoryComponent.propDecorators = {
|
|
|
3259
3198
|
};
|
|
3260
3199
|
|
|
3261
3200
|
class BaseFormComponent {
|
|
3262
|
-
constructor(formsService,
|
|
3201
|
+
constructor(formsService, eac) {
|
|
3263
3202
|
this.formsService = formsService;
|
|
3264
|
-
this.
|
|
3203
|
+
this.eac = eac;
|
|
3265
3204
|
}
|
|
3266
3205
|
ngOnInit() {
|
|
3267
3206
|
this.setupForm();
|
|
@@ -3313,7 +3252,7 @@ BaseFormComponent.decorators = [
|
|
|
3313
3252
|
];
|
|
3314
3253
|
BaseFormComponent.ctorParameters = () => [
|
|
3315
3254
|
{ type: FormsService },
|
|
3316
|
-
{ type:
|
|
3255
|
+
{ type: EaCService }
|
|
3317
3256
|
];
|
|
3318
3257
|
|
|
3319
3258
|
class BaseFormConfigModel {
|
|
@@ -3323,10 +3262,10 @@ class BaseFormConfigModel {
|
|
|
3323
3262
|
}
|
|
3324
3263
|
|
|
3325
3264
|
class BaseFormTestComponent extends BaseFormComponent {
|
|
3326
|
-
constructor(formsService,
|
|
3327
|
-
super(formsService,
|
|
3265
|
+
constructor(formsService, eacSvc) {
|
|
3266
|
+
super(formsService, eacSvc);
|
|
3328
3267
|
this.formsService = formsService;
|
|
3329
|
-
this.
|
|
3268
|
+
this.eacSvc = eacSvc;
|
|
3330
3269
|
}
|
|
3331
3270
|
/**
|
|
3332
3271
|
* Access form control for description
|
|
@@ -3398,7 +3337,7 @@ BaseFormTestComponent.decorators = [
|
|
|
3398
3337
|
];
|
|
3399
3338
|
BaseFormTestComponent.ctorParameters = () => [
|
|
3400
3339
|
{ type: FormsService },
|
|
3401
|
-
{ type:
|
|
3340
|
+
{ type: EaCService }
|
|
3402
3341
|
];
|
|
3403
3342
|
|
|
3404
3343
|
class GitAuthComponent {
|
|
@@ -3616,7 +3555,9 @@ ColumnInfoCardComponent.propDecorators = {
|
|
|
3616
3555
|
};
|
|
3617
3556
|
|
|
3618
3557
|
class SlottedCardComponent {
|
|
3619
|
-
constructor() {
|
|
3558
|
+
constructor() {
|
|
3559
|
+
this.MainActionClicked = new EventEmitter;
|
|
3560
|
+
}
|
|
3620
3561
|
ngOnInit() {
|
|
3621
3562
|
}
|
|
3622
3563
|
MainActionClickEvent() {
|
|
@@ -3626,7 +3567,7 @@ class SlottedCardComponent {
|
|
|
3626
3567
|
SlottedCardComponent.decorators = [
|
|
3627
3568
|
{ type: Component, args: [{
|
|
3628
3569
|
selector: 'lcu-slotted-card',
|
|
3629
|
-
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",
|
|
3570
|
+
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",
|
|
3630
3571
|
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%}"]
|
|
3631
3572
|
},] }
|
|
3632
3573
|
];
|
|
@@ -4206,7 +4147,7 @@ class ProcessorDetailsFormComponent {
|
|
|
4206
4147
|
ProcessorDetailsFormComponent.decorators = [
|
|
4207
4148
|
{ type: Component, args: [{
|
|
4208
4149
|
selector: 'lcu-processor-details-form',
|
|
4209
|
-
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
|
|
4150
|
+
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",
|
|
4210
4151
|
styles: [""]
|
|
4211
4152
|
},] }
|
|
4212
4153
|
];
|
|
@@ -4274,32 +4215,610 @@ SourceControlFormComponent.propDecorators = {
|
|
|
4274
4215
|
};
|
|
4275
4216
|
|
|
4276
4217
|
class BuildPipelineFormComponent {
|
|
4277
|
-
constructor() {
|
|
4218
|
+
constructor(formBuilder, appsFlowSvc) {
|
|
4219
|
+
this.formBuilder = formBuilder;
|
|
4220
|
+
this.appsFlowSvc = appsFlowSvc;
|
|
4221
|
+
this.HostingDetails = new ProjectHostingDetails();
|
|
4222
|
+
}
|
|
4223
|
+
// @Input('main-branch')
|
|
4224
|
+
// public MainBranch: string;
|
|
4225
|
+
// @Input('organization')
|
|
4226
|
+
// public Organization: string;
|
|
4227
|
+
// @Input('repository')
|
|
4228
|
+
// public Repository: string;
|
|
4229
|
+
get Artifact() {
|
|
4230
|
+
var _a, _b, _c;
|
|
4231
|
+
console.log("ARTIFACT: ", (_a = this.Environment) === null || _a === void 0 ? void 0 : _a.Artifacts[this.ArtifactLookup]);
|
|
4232
|
+
return ((_b = this.Environment) === null || _b === void 0 ? void 0 : _b.Artifacts) && this.ArtifactLookup
|
|
4233
|
+
? ((_c = this.Environment) === null || _c === void 0 ? void 0 : _c.Artifacts[this.ArtifactLookup]) || {}
|
|
4234
|
+
: {};
|
|
4235
|
+
}
|
|
4236
|
+
get ArtifactLookup() {
|
|
4237
|
+
var _a, _b;
|
|
4238
|
+
const 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;
|
|
4239
|
+
return artLookup;
|
|
4240
|
+
}
|
|
4241
|
+
get BuildPipelineFormControl() {
|
|
4242
|
+
var _a;
|
|
4243
|
+
return (_a = this.BuildPipelineFormGroup) === null || _a === void 0 ? void 0 : _a.controls.buildPipeline;
|
|
4244
|
+
}
|
|
4245
|
+
get DevOpsAction() {
|
|
4246
|
+
return this.Environment.DevOpsActions && this.DevOpsActionLookup
|
|
4247
|
+
? this.Environment.DevOpsActions[this.DevOpsActionLookup] || {}
|
|
4248
|
+
: {};
|
|
4249
|
+
}
|
|
4250
|
+
get DevOpsActions() {
|
|
4251
|
+
return this.Environment.DevOpsActions || {};
|
|
4252
|
+
}
|
|
4253
|
+
get EditingSourceControl() {
|
|
4254
|
+
var _a, _b;
|
|
4255
|
+
let 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;
|
|
4256
|
+
if (sc == null && this.EditingSourceControlLookup) {
|
|
4257
|
+
sc = {};
|
|
4258
|
+
}
|
|
4259
|
+
return sc;
|
|
4260
|
+
}
|
|
4261
|
+
// (ho) => ho.Lookup === this.BuildPipeline
|
|
4262
|
+
get SelectedHostingOption() {
|
|
4263
|
+
var _a, _b;
|
|
4264
|
+
return (_b = (_a = this.HostingDetails) === null || _a === void 0 ? void 0 : _a.HostingOptions) === null || _b === void 0 ? void 0 : _b.find((ho) => ho.Lookup === this.BuildPipeline);
|
|
4265
|
+
}
|
|
4266
|
+
get SourceControlLookups() {
|
|
4267
|
+
return Object.keys(this.SourceControls || {});
|
|
4268
|
+
}
|
|
4269
|
+
get SourceControls() {
|
|
4270
|
+
return this.Environment.Sources || {};
|
|
4271
|
+
}
|
|
4278
4272
|
ngOnInit() {
|
|
4273
|
+
var _a, _b, _c;
|
|
4274
|
+
this.BuildPipelineFormGroup = this.formBuilder.group({});
|
|
4275
|
+
this.loadProjectHostingDetails();
|
|
4276
|
+
console.log("ARTIFACT: ", this.Artifact);
|
|
4277
|
+
// this.BuildPipeline ||
|
|
4278
|
+
// github-artifacts-release is this.HostingDetails?.HostingOptions[0]?.Lookup
|
|
4279
|
+
this.BuildPipeline =
|
|
4280
|
+
((_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 : '';
|
|
4281
|
+
console.log("Build Pipeline HERE= ", this.BuildPipeline);
|
|
4282
|
+
if (this.BuildPipelineFormGroup != null) {
|
|
4283
|
+
this.BuildPipelineFormGroup.removeControl('hostingDetails');
|
|
4284
|
+
}
|
|
4285
|
+
this.BuildPipelineFormGroup.addControl('hostingDetails', this.formBuilder.group({
|
|
4286
|
+
buildPipeline: [this.BuildPipeline, [Validators.required]],
|
|
4287
|
+
}));
|
|
4288
|
+
this.setupControlsForForm();
|
|
4289
|
+
}
|
|
4290
|
+
//API METHODS
|
|
4291
|
+
BuildPipelineChanged() {
|
|
4292
|
+
var _a, _b;
|
|
4293
|
+
console.log("build pipeline value: ", (_a = this.BuildPipelineFormControl) === null || _a === void 0 ? void 0 : _a.value);
|
|
4294
|
+
this.BuildPipeline = (_b = this.BuildPipelineFormControl) === null || _b === void 0 ? void 0 : _b.value;
|
|
4295
|
+
this.setupControlsForForm();
|
|
4296
|
+
}
|
|
4297
|
+
// Helpers
|
|
4298
|
+
setupControlsForForm() {
|
|
4299
|
+
//for (const ctrlName in this.BuildPipelineFormGroup.controls) {
|
|
4300
|
+
//devOpsAction doesn't exist
|
|
4301
|
+
//removes hosting details
|
|
4302
|
+
// if (ctrlName !== 'buildPipeline' && ctrlName !== 'devOpsAction') {
|
|
4303
|
+
// console.log("removing control: ", ctrlName)
|
|
4304
|
+
// this.BuildPipelineFormGroup.removeControl(ctrlName);
|
|
4305
|
+
// }
|
|
4306
|
+
//}
|
|
4307
|
+
var _a, _b, _c, _d, _e, _f;
|
|
4308
|
+
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) || '', [Validators.required]));
|
|
4309
|
+
(_d = (_c = this.SelectedHostingOption) === null || _c === void 0 ? void 0 : _c.Inputs) === null || _d === void 0 ? void 0 : _d.forEach((input) => {
|
|
4310
|
+
const validators = input.Required ? [Validators.required] : [];
|
|
4311
|
+
this.BuildPipelineFormGroup.addControl(input.Lookup, this.formBuilder.control(this.Artifact[input.Lookup] || input.DefaultValue || '', validators));
|
|
4312
|
+
// if (this.Disabled) {
|
|
4313
|
+
// this.FormGroup.controls[input.Lookup].disable();
|
|
4314
|
+
// }
|
|
4315
|
+
});
|
|
4316
|
+
debugger;
|
|
4317
|
+
if (((_e = this.BuildPipelineFormControl) === null || _e === void 0 ? void 0 : _e.value) === 'npm-release') {
|
|
4318
|
+
debugger;
|
|
4319
|
+
if (!this.BuildPipelineFormGroup.controls.npmToken) {
|
|
4320
|
+
this.BuildPipelineFormGroup.addControl('npmToken', this.formBuilder.control('', this.Disabled ? [] : [Validators.required]));
|
|
4321
|
+
if (this.Disabled) {
|
|
4322
|
+
this.BuildPipelineFormGroup.controls.npmToken.disable();
|
|
4323
|
+
}
|
|
4324
|
+
}
|
|
4325
|
+
}
|
|
4326
|
+
else if (((_f = this.BuildPipelineFormControl) === null || _f === void 0 ? void 0 : _f.value) === 'github-artifacts-release') {
|
|
4327
|
+
if (this.BuildPipelineFormGroup.controls.npmToken) {
|
|
4328
|
+
this.BuildPipelineFormGroup.removeControl('npmToken');
|
|
4329
|
+
}
|
|
4330
|
+
}
|
|
4331
|
+
}
|
|
4332
|
+
loadProjectHostingDetails() {
|
|
4333
|
+
// this.HostingDetails.Loading = true;
|
|
4334
|
+
// this.Organization,
|
|
4335
|
+
// this.Repository,
|
|
4336
|
+
// this.MainBranch
|
|
4337
|
+
// 'powhound4',
|
|
4338
|
+
// "RedwoodCrystals",
|
|
4339
|
+
// "master"
|
|
4340
|
+
this.appsFlowSvc
|
|
4341
|
+
.LoadProjectHostingDetails('powhound4', "RedwoodCrystals", "master")
|
|
4342
|
+
.subscribe((response) => {
|
|
4343
|
+
this.HostingDetails = response.Model;
|
|
4344
|
+
console.log("response: ", response);
|
|
4345
|
+
this.HostingDetails.Loading = false;
|
|
4346
|
+
}, (err) => {
|
|
4347
|
+
this.HostingDetails.Loading = false;
|
|
4348
|
+
console.log("hosting details LOADING EERR: ", this.HostingDetails);
|
|
4349
|
+
console.log("ERR: ", err);
|
|
4350
|
+
});
|
|
4351
|
+
console.log("HOSTING DETAILS: ", this.HostingDetails);
|
|
4279
4352
|
}
|
|
4280
4353
|
}
|
|
4281
4354
|
BuildPipelineFormComponent.decorators = [
|
|
4282
4355
|
{ type: Component, args: [{
|
|
4283
4356
|
selector: 'lcu-build-pipeline-form',
|
|
4284
|
-
template: "<
|
|
4357
|
+
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",
|
|
4285
4358
|
styles: [""]
|
|
4286
4359
|
},] }
|
|
4287
4360
|
];
|
|
4288
|
-
BuildPipelineFormComponent.ctorParameters = () => [
|
|
4361
|
+
BuildPipelineFormComponent.ctorParameters = () => [
|
|
4362
|
+
{ type: FormBuilder },
|
|
4363
|
+
{ type: ApplicationsFlowService }
|
|
4364
|
+
];
|
|
4365
|
+
BuildPipelineFormComponent.propDecorators = {
|
|
4366
|
+
BuildPipeline: [{ type: Input, args: ['build-pipeline',] }],
|
|
4367
|
+
DevOpsActionLookup: [{ type: Input, args: ['devops-action-lookup',] }],
|
|
4368
|
+
Disabled: [{ type: Input, args: ['disabled',] }],
|
|
4369
|
+
Environment: [{ type: Input, args: ['environment',] }]
|
|
4370
|
+
};
|
|
4289
4371
|
|
|
4290
4372
|
class DevopsSourceControlFormComponent {
|
|
4291
|
-
|
|
4373
|
+
// Constructors
|
|
4374
|
+
constructor(formBuilder, appsFlowSvc, eacSvc) {
|
|
4375
|
+
this.formBuilder = formBuilder;
|
|
4376
|
+
this.appsFlowSvc = appsFlowSvc;
|
|
4377
|
+
this.eacSvc = eacSvc;
|
|
4378
|
+
this.SeparatorKeysCodes = [ENTER, COMMA];
|
|
4379
|
+
this.BuildPath = null;
|
|
4380
|
+
// this.EditingSourceControlLookup = null;
|
|
4381
|
+
this.HostingDetails = new ProjectHostingDetails();
|
|
4382
|
+
this.SelectedBranches = [];
|
|
4383
|
+
this.SourceControlRoot = '';
|
|
4384
|
+
this.UseBranches = true;
|
|
4385
|
+
this.UseBuildPath = false;
|
|
4386
|
+
}
|
|
4387
|
+
// Fields
|
|
4388
|
+
// Properties
|
|
4389
|
+
get BranchesFormControl() {
|
|
4390
|
+
return this.DevOpsSourceControlFormGroup.get(this.SourceControlRoot + 'branches');
|
|
4391
|
+
}
|
|
4392
|
+
get BuildPathFormControl() {
|
|
4393
|
+
return this.DevOpsSourceControlFormGroup.get(this.SourceControlRoot + 'buildPath');
|
|
4394
|
+
}
|
|
4395
|
+
get DevOpsActionLookups() {
|
|
4396
|
+
return Object.keys(this.DevOpsActions || {});
|
|
4397
|
+
}
|
|
4398
|
+
get DevOpsActionLookup() {
|
|
4399
|
+
var _a, _b, _c;
|
|
4400
|
+
if (!!((_a = this.DevOpsActionLookupFormControl) === null || _a === void 0 ? void 0 : _a.value)) {
|
|
4401
|
+
return this.DevOpsActionLookupFormControl.value;
|
|
4402
|
+
}
|
|
4403
|
+
if (!!((_b = this.EditingSourceControl) === null || _b === void 0 ? void 0 : _b.DevOpsActionTriggerLookups)) {
|
|
4404
|
+
return (_c = this.EditingSourceControl) === null || _c === void 0 ? void 0 : _c.DevOpsActionTriggerLookups[0];
|
|
4405
|
+
}
|
|
4406
|
+
else {
|
|
4407
|
+
return null;
|
|
4408
|
+
}
|
|
4409
|
+
}
|
|
4410
|
+
get DevOpsActionLookupFormControl() {
|
|
4411
|
+
return this.DevOpsSourceControlFormGroup.get('devOpsActionLookup');
|
|
4412
|
+
}
|
|
4413
|
+
get DevOpsActions() {
|
|
4414
|
+
return this.Environment.DevOpsActions || {};
|
|
4415
|
+
}
|
|
4416
|
+
get EditingSourceControl() {
|
|
4417
|
+
var _a, _b;
|
|
4418
|
+
let 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;
|
|
4419
|
+
if (sc == null && this.EditingSourceControlLookup) {
|
|
4420
|
+
sc = {};
|
|
4421
|
+
}
|
|
4422
|
+
return sc;
|
|
4423
|
+
}
|
|
4424
|
+
get MainBranchFormControl() {
|
|
4425
|
+
return this.DevOpsSourceControlFormGroup.get(this.SourceControlRoot + 'mainBranch');
|
|
4426
|
+
}
|
|
4427
|
+
get OrganizationFormControl() {
|
|
4428
|
+
return this.DevOpsSourceControlFormGroup.get(this.SourceControlRoot + 'organization');
|
|
4429
|
+
}
|
|
4430
|
+
get RepositoryFormControl() {
|
|
4431
|
+
return this.DevOpsSourceControlFormGroup.get(this.SourceControlRoot + 'repository');
|
|
4432
|
+
}
|
|
4433
|
+
// Life Cycle
|
|
4434
|
+
ngAfterViewInit() { }
|
|
4435
|
+
ngOnDestroy() {
|
|
4436
|
+
this.destroyFormControls();
|
|
4437
|
+
}
|
|
4292
4438
|
ngOnInit() {
|
|
4439
|
+
console.log("org: ", this.EditingSourceControl);
|
|
4440
|
+
console.log("lookup: ", this.EditingSourceControlLookup);
|
|
4441
|
+
if (this.EditingSourceControlLookup === null) {
|
|
4442
|
+
this.CreateNewSourceControl();
|
|
4443
|
+
}
|
|
4444
|
+
console.log("org: ", this.EditingSourceControl);
|
|
4445
|
+
if (this.EditingSourceControl != null) {
|
|
4446
|
+
this.DevOpsSourceControlFormGroup = this.formBuilder.group({});
|
|
4447
|
+
this.setupFormControls();
|
|
4448
|
+
}
|
|
4449
|
+
this.RefreshOrganizations();
|
|
4450
|
+
}
|
|
4451
|
+
// API Methods
|
|
4452
|
+
AddBranchOption(event) {
|
|
4453
|
+
this.addBranchOption(event.value);
|
|
4454
|
+
event.input.value = '';
|
|
4455
|
+
}
|
|
4456
|
+
BranchOptionSelected(event) {
|
|
4457
|
+
this.addBranchOption(event.option.value);
|
|
4458
|
+
}
|
|
4459
|
+
BranchesChanged(branches) {
|
|
4460
|
+
this.loadProjectHostingDetails();
|
|
4461
|
+
}
|
|
4462
|
+
BuildPathChanged(event) {
|
|
4463
|
+
}
|
|
4464
|
+
CreateNewSourceControl() {
|
|
4465
|
+
this.SetEditingSourceControl(Guid.CreateRaw());
|
|
4466
|
+
}
|
|
4467
|
+
CreateRepository() {
|
|
4468
|
+
this.CreatingRepository = true;
|
|
4469
|
+
this.RepositoryFormControl.reset();
|
|
4470
|
+
}
|
|
4471
|
+
CancelCreateRepository() {
|
|
4472
|
+
this.CreatingRepository = false;
|
|
4473
|
+
}
|
|
4474
|
+
DevOpsActionLookupChanged(event) {
|
|
4475
|
+
this.configureDevOpsAction();
|
|
4476
|
+
}
|
|
4477
|
+
MainBranchChanged(event) {
|
|
4478
|
+
this.emitBranchesChanged();
|
|
4479
|
+
}
|
|
4480
|
+
OrganizationChanged(event) {
|
|
4481
|
+
const org = this.OrganizationFormControl;
|
|
4482
|
+
this.RepositoryFormControl.reset();
|
|
4483
|
+
if (this.UseBranches) {
|
|
4484
|
+
this.BranchesFormControl.reset();
|
|
4485
|
+
this.SelectedBranches = [];
|
|
4486
|
+
}
|
|
4487
|
+
this.listRepositories();
|
|
4488
|
+
}
|
|
4489
|
+
RefreshOrganizations() {
|
|
4490
|
+
var _a, _b, _c;
|
|
4491
|
+
// this.Loading = true;
|
|
4492
|
+
this.listOrganizations();
|
|
4493
|
+
(_a = this.OrganizationFormControl) === null || _a === void 0 ? void 0 : _a.reset();
|
|
4494
|
+
(_b = this.RepositoryFormControl) === null || _b === void 0 ? void 0 : _b.reset();
|
|
4495
|
+
if (this.UseBranches) {
|
|
4496
|
+
(_c = this.BranchesFormControl) === null || _c === void 0 ? void 0 : _c.reset();
|
|
4497
|
+
}
|
|
4498
|
+
}
|
|
4499
|
+
RemoveBranchOption(option) {
|
|
4500
|
+
const index = this.SelectedBranches.indexOf(option);
|
|
4501
|
+
if (index >= 0) {
|
|
4502
|
+
this.SelectedBranches.splice(index, 1);
|
|
4503
|
+
}
|
|
4504
|
+
this.emitBranchesChanged();
|
|
4505
|
+
}
|
|
4506
|
+
RepositoryChanged(event) {
|
|
4507
|
+
const repo = this.RepositoryFormControl;
|
|
4508
|
+
if (this.UseBranches) {
|
|
4509
|
+
this.BranchesFormControl.reset();
|
|
4510
|
+
this.SelectedBranches = [];
|
|
4511
|
+
this.listBranches();
|
|
4512
|
+
}
|
|
4513
|
+
if (!this.UseBranches) {
|
|
4514
|
+
this.listBuildPaths();
|
|
4515
|
+
}
|
|
4516
|
+
}
|
|
4517
|
+
SaveRepository() {
|
|
4518
|
+
this.Loading = true;
|
|
4519
|
+
const org = this.OrganizationFormControl.value;
|
|
4520
|
+
const repoName = this.RepositoryFormControl.value;
|
|
4521
|
+
this.appsFlowSvc
|
|
4522
|
+
.CreateRepository(org, repoName)
|
|
4523
|
+
.subscribe((response) => {
|
|
4524
|
+
if (response.Status.Code === 0) {
|
|
4525
|
+
this.listRepositories(repoName);
|
|
4526
|
+
this.CreatingRepository = false;
|
|
4527
|
+
}
|
|
4528
|
+
else {
|
|
4529
|
+
// TODO: Need to surface an error to the user...
|
|
4530
|
+
this.Loading = false;
|
|
4531
|
+
}
|
|
4532
|
+
});
|
|
4533
|
+
}
|
|
4534
|
+
SetEditingSourceControl(scLookup) {
|
|
4535
|
+
this.EditingSourceControlLookup = scLookup;
|
|
4536
|
+
}
|
|
4537
|
+
SubmitSourceControl() {
|
|
4538
|
+
console.log("source control submitted");
|
|
4539
|
+
}
|
|
4540
|
+
// public SaveSourceControl(): void {
|
|
4541
|
+
// const saveEnvReq: SaveEnvironmentAsCodeEventRequest = {
|
|
4542
|
+
// Environment: {
|
|
4543
|
+
// ...this.Environment,
|
|
4544
|
+
// Artifacts: this.Environment.Artifacts || {},
|
|
4545
|
+
// DevOpsActions: this.Environment.DevOpsActions || {},
|
|
4546
|
+
// Secrets: this.Environment.Secrets || {},
|
|
4547
|
+
// Sources: this.Environment.Sources || {},
|
|
4548
|
+
// },
|
|
4549
|
+
// EnvironmentLookup: this.EnvironmentLookup,
|
|
4550
|
+
// EnterpriseDataTokens: {},
|
|
4551
|
+
// };
|
|
4552
|
+
// let artifactLookup: string;
|
|
4553
|
+
// // let artifact: EaCArtifact = {
|
|
4554
|
+
// // ...this.Artifact,
|
|
4555
|
+
// // ...this.HostingDetailsFormControls
|
|
4556
|
+
// // .SelectedHostingOptionInputControlValues,
|
|
4557
|
+
// // };
|
|
4558
|
+
// if (!this.ArtifactLookup) {
|
|
4559
|
+
// artifactLookup = Guid.CreateRaw();
|
|
4560
|
+
// artifact = {
|
|
4561
|
+
// ...artifact,
|
|
4562
|
+
// Type: this.HostingDetailsFormControls.SelectedHostingOption
|
|
4563
|
+
// .ArtifactType,
|
|
4564
|
+
// Name: this.HostingDetailsFormControls.SelectedHostingOption.Name,
|
|
4565
|
+
// NPMRegistry: 'https://registry.npmjs.org/',
|
|
4566
|
+
// };
|
|
4567
|
+
// } else {
|
|
4568
|
+
// artifactLookup = this.ArtifactLookup;
|
|
4569
|
+
// }
|
|
4570
|
+
// saveEnvReq.Environment.Artifacts[artifactLookup] = artifact;
|
|
4571
|
+
// let devOpsActionLookup: string;
|
|
4572
|
+
// if (!this.DevOpsActionLookup) {
|
|
4573
|
+
// devOpsActionLookup = Guid.CreateRaw();
|
|
4574
|
+
// // const doa: EaCDevOpsAction = {
|
|
4575
|
+
// // ...this.DevOpsAction,
|
|
4576
|
+
// // ArtifactLookups: [artifactLookup],
|
|
4577
|
+
// // Name: this.HostingDetailsFormControls.DevOpsActionNameFormControl.value,
|
|
4578
|
+
// // Path: this.HostingDetailsFormControls.SelectedHostingOption.Path,
|
|
4579
|
+
// // Templates:
|
|
4580
|
+
// // this.HostingDetailsFormControls.SelectedHostingOption.Templates,
|
|
4581
|
+
// // };
|
|
4582
|
+
// if (this.HostingDetailsFormControls.NPMTokenFormControl?.value) {
|
|
4583
|
+
// const secretLookup = 'npm-access-token';
|
|
4584
|
+
// doa.SecretLookups = [secretLookup];
|
|
4585
|
+
// saveEnvReq.Environment.Secrets[secretLookup] = {
|
|
4586
|
+
// Name: 'NPM Access Token',
|
|
4587
|
+
// DataTokenLookup: secretLookup,
|
|
4588
|
+
// KnownAs: 'NPM_TOKEN',
|
|
4589
|
+
// };
|
|
4590
|
+
// saveEnvReq.EnterpriseDataTokens[secretLookup] = {
|
|
4591
|
+
// Name: saveEnvReq.Environment.Secrets[secretLookup].Name,
|
|
4592
|
+
// Description: saveEnvReq.Environment.Secrets[secretLookup].Name,
|
|
4593
|
+
// Value: this.NPMTokenFormControl.value,
|
|
4594
|
+
// };
|
|
4595
|
+
// }
|
|
4596
|
+
// saveEnvReq.Environment.DevOpsActions[devOpsActionLookup] = doa;
|
|
4597
|
+
// } else {
|
|
4598
|
+
// devOpsActionLookup = this.DevOpsActionLookupFormControl.value;
|
|
4599
|
+
// const doa: EaCDevOpsAction = {
|
|
4600
|
+
// ...this.DevOpsAction,
|
|
4601
|
+
// Name: this.HostingDetailsFormControls.DevOpsActionNameFormControl.value,
|
|
4602
|
+
// };
|
|
4603
|
+
// saveEnvReq.Environment.DevOpsActions[devOpsActionLookup] = doa;
|
|
4604
|
+
// }
|
|
4605
|
+
// let source: EaCSourceControl = {
|
|
4606
|
+
// ...this.EditingSourceControl,
|
|
4607
|
+
// Branches: this.SelectedBranches,
|
|
4608
|
+
// MainBranch: this.MainBranchFormControl.value,
|
|
4609
|
+
// };
|
|
4610
|
+
// source = {
|
|
4611
|
+
// ...source,
|
|
4612
|
+
// Type: 'GitHub',
|
|
4613
|
+
// Name: this.EditingSourceControlLookup,
|
|
4614
|
+
// DevOpsActionTriggerLookups: [devOpsActionLookup],
|
|
4615
|
+
// Organization:
|
|
4616
|
+
// this.OrganizationFormControl.value,
|
|
4617
|
+
// Repository: this.RepositoryFormControl.value,
|
|
4618
|
+
// };
|
|
4619
|
+
// const scLookup = `github://${source.Organization}/${source.Repository}`;
|
|
4620
|
+
// saveEnvReq.Environment.Sources[scLookup] = source;
|
|
4621
|
+
// this.eacSvc.SaveEnvironmentAsCode(saveEnvReq);
|
|
4622
|
+
// }
|
|
4623
|
+
// Helpers
|
|
4624
|
+
addBranchOption(value) {
|
|
4625
|
+
value = (value || '').trim();
|
|
4626
|
+
if (value && this.SelectedBranches.indexOf(value) < 0) {
|
|
4627
|
+
this.SelectedBranches.push(value);
|
|
4628
|
+
}
|
|
4629
|
+
this.BranchesInput.nativeElement.blur();
|
|
4630
|
+
this.emitBranchesChanged();
|
|
4631
|
+
}
|
|
4632
|
+
configureDevOpsAction() {
|
|
4633
|
+
setTimeout(() => {
|
|
4634
|
+
this.DevOpsActionLookupFormControl.setValue(this.DevOpsActionLookup);
|
|
4635
|
+
}, 0);
|
|
4636
|
+
}
|
|
4637
|
+
destroyFormControls() {
|
|
4638
|
+
var _a, _b, _c, _d;
|
|
4639
|
+
this.DevOpsSourceControlFormGroup.removeControl([this.SourceControlRoot, 'mainBranch'].join(''));
|
|
4640
|
+
(_a = this.DevOpsSourceControlFormGroup) === null || _a === void 0 ? void 0 : _a.removeControl([this.SourceControlRoot, 'branches'].join(''));
|
|
4641
|
+
(_b = this.DevOpsSourceControlFormGroup) === null || _b === void 0 ? void 0 : _b.removeControl([this.SourceControlRoot, 'buildPath'].join(''));
|
|
4642
|
+
this.SelectedBranches = [];
|
|
4643
|
+
(_c = this.DevOpsSourceControlFormGroup) === null || _c === void 0 ? void 0 : _c.removeControl([this.SourceControlRoot, 'organization'].join(''));
|
|
4644
|
+
(_d = this.DevOpsSourceControlFormGroup) === null || _d === void 0 ? void 0 : _d.removeControl([this.SourceControlRoot, 'repository'].join(''));
|
|
4645
|
+
}
|
|
4646
|
+
emitBranchesChanged() {
|
|
4647
|
+
var _a, _b;
|
|
4648
|
+
if (((_a = this.SelectedBranches) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
|
|
4649
|
+
(!this.MainBranchFormControl.value ||
|
|
4650
|
+
this.SelectedBranches.indexOf(this.MainBranchFormControl.value) < 0)) {
|
|
4651
|
+
this.MainBranchFormControl.setValue(this.SelectedBranches.find((branch) => branch === 'main' || branch === 'master') || this.SelectedBranches[0]);
|
|
4652
|
+
}
|
|
4653
|
+
else if (((_b = this.SelectedBranches) === null || _b === void 0 ? void 0 : _b.length) <= 0) {
|
|
4654
|
+
this.MainBranchFormControl.reset();
|
|
4655
|
+
}
|
|
4656
|
+
this.BranchesFormControl.setValue(this.SelectedBranches.join(','));
|
|
4657
|
+
this.BranchesChanged(this.SelectedBranches || []);
|
|
4658
|
+
}
|
|
4659
|
+
listBranches() {
|
|
4660
|
+
if (this.UseBranches) {
|
|
4661
|
+
this.Loading = true;
|
|
4662
|
+
this.appsFlowSvc
|
|
4663
|
+
.ListBranches(this.OrganizationFormControl.value, this.RepositoryFormControl.value)
|
|
4664
|
+
.subscribe((response) => {
|
|
4665
|
+
var _a, _b, _c;
|
|
4666
|
+
this.BranchOptions = response.Model;
|
|
4667
|
+
this.Loading = false;
|
|
4668
|
+
if (((_b = (_a = this.EditingSourceControl) === null || _a === void 0 ? void 0 : _a.Branches) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
|
4669
|
+
this.SelectedBranches = this.EditingSourceControl.Branches;
|
|
4670
|
+
}
|
|
4671
|
+
else if (((_c = this.BranchOptions) === null || _c === void 0 ? void 0 : _c.length) === 1) {
|
|
4672
|
+
this.BranchesFormControl.setValue(this.BranchOptions[0].Name);
|
|
4673
|
+
this.SelectedBranches = [this.BranchOptions[0].Name];
|
|
4674
|
+
}
|
|
4675
|
+
this.emitBranchesChanged();
|
|
4676
|
+
this.listBuildPaths();
|
|
4677
|
+
});
|
|
4678
|
+
}
|
|
4679
|
+
}
|
|
4680
|
+
listBuildPaths() {
|
|
4681
|
+
if (this.UseBuildPath) {
|
|
4682
|
+
this.Loading = true;
|
|
4683
|
+
this.appsFlowSvc
|
|
4684
|
+
.ListBuildPaths(this.OrganizationFormControl.value, this.RepositoryFormControl.value)
|
|
4685
|
+
.subscribe((response) => {
|
|
4686
|
+
var _a;
|
|
4687
|
+
this.BuildPathOptions = response.Model;
|
|
4688
|
+
this.Loading = false;
|
|
4689
|
+
if (((_a = this.BuildPathOptions) === null || _a === void 0 ? void 0 : _a.length) === 1) {
|
|
4690
|
+
this.BuildPathFormControl.setValue(this.BuildPathOptions[0]);
|
|
4691
|
+
}
|
|
4692
|
+
});
|
|
4693
|
+
}
|
|
4694
|
+
}
|
|
4695
|
+
listOrganizations() {
|
|
4696
|
+
this.Loading = true;
|
|
4697
|
+
this.appsFlowSvc
|
|
4698
|
+
.ListOrganizations()
|
|
4699
|
+
.subscribe((response) => {
|
|
4700
|
+
var _a;
|
|
4701
|
+
this.OrganizationOptions = response.Model;
|
|
4702
|
+
this.Loading = false;
|
|
4703
|
+
if ((_a = this.EditingSourceControl) === null || _a === void 0 ? void 0 : _a.Organization) {
|
|
4704
|
+
setTimeout(() => {
|
|
4705
|
+
var _a;
|
|
4706
|
+
this.OrganizationFormControl.setValue(this.EditingSourceControl.Organization);
|
|
4707
|
+
this.listRepositories((_a = this.EditingSourceControl) === null || _a === void 0 ? void 0 : _a.Repository);
|
|
4708
|
+
}, 0);
|
|
4709
|
+
}
|
|
4710
|
+
});
|
|
4711
|
+
}
|
|
4712
|
+
listRepositories(activeRepo = null) {
|
|
4713
|
+
this.Loading = true;
|
|
4714
|
+
this.appsFlowSvc
|
|
4715
|
+
.ListRepositories(this.OrganizationFormControl.value)
|
|
4716
|
+
.subscribe((response) => {
|
|
4717
|
+
var _a;
|
|
4718
|
+
this.RepositoryOptions = response.Model;
|
|
4719
|
+
this.Loading = false;
|
|
4720
|
+
if (activeRepo) {
|
|
4721
|
+
setTimeout(() => {
|
|
4722
|
+
this.RepositoryFormControl.setValue(activeRepo);
|
|
4723
|
+
this.listBranches();
|
|
4724
|
+
if (!this.UseBranches) {
|
|
4725
|
+
this.listBuildPaths();
|
|
4726
|
+
}
|
|
4727
|
+
}, 0);
|
|
4728
|
+
}
|
|
4729
|
+
else if (((_a = this.RepositoryOptions) === null || _a === void 0 ? void 0 : _a.length) <= 0) {
|
|
4730
|
+
this.CreatingRepository = true;
|
|
4731
|
+
}
|
|
4732
|
+
});
|
|
4733
|
+
}
|
|
4734
|
+
loadProjectHostingDetails() {
|
|
4735
|
+
var _a, _b, _c, _d;
|
|
4736
|
+
if (((_a = this.SelectedBranches) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
4737
|
+
this.HostingDetails.Loading = true;
|
|
4738
|
+
this.appsFlowSvc
|
|
4739
|
+
.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)
|
|
4740
|
+
.subscribe((response) => {
|
|
4741
|
+
this.HostingDetails = response.Model;
|
|
4742
|
+
this.HostingDetails.Loading = false;
|
|
4743
|
+
this.configureDevOpsAction();
|
|
4744
|
+
}, (err) => {
|
|
4745
|
+
this.HostingDetails.Loading = false;
|
|
4746
|
+
});
|
|
4747
|
+
}
|
|
4748
|
+
}
|
|
4749
|
+
setupFormControls() {
|
|
4750
|
+
// this.destroyFormControls();
|
|
4751
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
4752
|
+
this.DevOpsSourceControlFormGroup.addControl('devOpsActionLookup', new FormControl(this.DevOpsActionLookup || '', []));
|
|
4753
|
+
this.DevOpsSourceControlFormGroup.addControl([this.SourceControlRoot, 'organization'].join(''), new FormControl((_a = this.EditingSourceControl.Organization) !== null && _a !== void 0 ? _a : '', Validators.required));
|
|
4754
|
+
this.DevOpsSourceControlFormGroup.addControl([this.SourceControlRoot, 'repository'].join(''), new FormControl((_b = this.EditingSourceControl.Repository) !== null && _b !== void 0 ? _b : '', Validators.required));
|
|
4755
|
+
if (this.UseBranches) {
|
|
4756
|
+
this.DevOpsSourceControlFormGroup.addControl([this.SourceControlRoot, 'branches'].join(''), new FormControl((_d = (_c = this.EditingSourceControl) === null || _c === void 0 ? void 0 : _c.Branches) !== null && _d !== void 0 ? _d : '', Validators.required));
|
|
4757
|
+
this.SelectedBranches = (_e = this.EditingSourceControl) === null || _e === void 0 ? void 0 : _e.Branches;
|
|
4758
|
+
this.DevOpsSourceControlFormGroup.addControl([this.SourceControlRoot, 'mainBranch'].join(''), new FormControl((_f = this.EditingSourceControl.MainBranch) !== null && _f !== void 0 ? _f : '', Validators.required));
|
|
4759
|
+
}
|
|
4760
|
+
if (this.UseBuildPath) {
|
|
4761
|
+
this.DevOpsSourceControlFormGroup.addControl([this.SourceControlRoot, 'buildPath'].join(''), new FormControl((_g = this.BuildPath) !== null && _g !== void 0 ? _g : '', Validators.required));
|
|
4762
|
+
}
|
|
4293
4763
|
}
|
|
4294
4764
|
}
|
|
4295
4765
|
DevopsSourceControlFormComponent.decorators = [
|
|
4296
4766
|
{ type: Component, args: [{
|
|
4297
4767
|
selector: 'lcu-devops-source-control-form',
|
|
4298
|
-
template: "<p>devops-source-control-form works!</p>\n",
|
|
4768
|
+
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>",
|
|
4769
|
+
styles: [".form-card,.sc-card{width:100%}"]
|
|
4770
|
+
},] }
|
|
4771
|
+
];
|
|
4772
|
+
DevopsSourceControlFormComponent.ctorParameters = () => [
|
|
4773
|
+
{ type: FormBuilder },
|
|
4774
|
+
{ type: ApplicationsFlowService },
|
|
4775
|
+
{ type: EaCService }
|
|
4776
|
+
];
|
|
4777
|
+
DevopsSourceControlFormComponent.propDecorators = {
|
|
4778
|
+
BranchesInput: [{ type: ViewChild, args: ['branches',] }],
|
|
4779
|
+
EditingSourceControlLookup: [{ type: Input, args: ['editing-source-control-lookup',] }],
|
|
4780
|
+
Environment: [{ type: Input, args: ['environment',] }]
|
|
4781
|
+
};
|
|
4782
|
+
|
|
4783
|
+
class SourceControlDialogComponent {
|
|
4784
|
+
constructor(dialogRef, data) {
|
|
4785
|
+
this.dialogRef = dialogRef;
|
|
4786
|
+
this.data = data;
|
|
4787
|
+
}
|
|
4788
|
+
ngOnInit() {
|
|
4789
|
+
}
|
|
4790
|
+
}
|
|
4791
|
+
SourceControlDialogComponent.decorators = [
|
|
4792
|
+
{ type: Component, args: [{
|
|
4793
|
+
selector: 'lcu-source-control-dialog',
|
|
4794
|
+
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>",
|
|
4299
4795
|
styles: [""]
|
|
4300
4796
|
},] }
|
|
4301
4797
|
];
|
|
4302
|
-
|
|
4798
|
+
SourceControlDialogComponent.ctorParameters = () => [
|
|
4799
|
+
{ type: MatDialogRef },
|
|
4800
|
+
{ type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
|
|
4801
|
+
];
|
|
4802
|
+
|
|
4803
|
+
class BuildPipelineDialogComponent {
|
|
4804
|
+
constructor(dialogRef, data) {
|
|
4805
|
+
this.dialogRef = dialogRef;
|
|
4806
|
+
this.data = data;
|
|
4807
|
+
}
|
|
4808
|
+
ngOnInit() {
|
|
4809
|
+
}
|
|
4810
|
+
}
|
|
4811
|
+
BuildPipelineDialogComponent.decorators = [
|
|
4812
|
+
{ type: Component, args: [{
|
|
4813
|
+
selector: 'lcu-build-pipeline-dialog',
|
|
4814
|
+
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",
|
|
4815
|
+
styles: [""]
|
|
4816
|
+
},] }
|
|
4817
|
+
];
|
|
4818
|
+
BuildPipelineDialogComponent.ctorParameters = () => [
|
|
4819
|
+
{ type: MatDialogRef },
|
|
4820
|
+
{ type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
|
|
4821
|
+
];
|
|
4303
4822
|
|
|
4304
4823
|
class ApplicationsFlowModule {
|
|
4305
4824
|
static forRoot() {
|
|
@@ -4311,7 +4830,6 @@ class ApplicationsFlowModule {
|
|
|
4311
4830
|
ProjectService,
|
|
4312
4831
|
NPMService,
|
|
4313
4832
|
FormsService,
|
|
4314
|
-
ApplicationsFlowEventsService,
|
|
4315
4833
|
EaCService
|
|
4316
4834
|
],
|
|
4317
4835
|
};
|
|
@@ -4356,7 +4874,9 @@ ApplicationsFlowModule.decorators = [
|
|
|
4356
4874
|
ProcessorDetailsFormComponent,
|
|
4357
4875
|
SourceControlFormComponent,
|
|
4358
4876
|
BuildPipelineFormComponent,
|
|
4359
|
-
DevopsSourceControlFormComponent
|
|
4877
|
+
DevopsSourceControlFormComponent,
|
|
4878
|
+
SourceControlDialogComponent,
|
|
4879
|
+
BuildPipelineDialogComponent
|
|
4360
4880
|
],
|
|
4361
4881
|
imports: [
|
|
4362
4882
|
FathymSharedModule,
|
|
@@ -4406,7 +4926,9 @@ ApplicationsFlowModule.decorators = [
|
|
|
4406
4926
|
ProcessorDetailsFormComponent,
|
|
4407
4927
|
SourceControlFormComponent,
|
|
4408
4928
|
BuildPipelineFormComponent,
|
|
4409
|
-
DevopsSourceControlFormComponent
|
|
4929
|
+
DevopsSourceControlFormComponent,
|
|
4930
|
+
SourceControlDialogComponent,
|
|
4931
|
+
BuildPipelineDialogComponent
|
|
4410
4932
|
],
|
|
4411
4933
|
entryComponents: [
|
|
4412
4934
|
ApplicationsFlowProjectsElementComponent,
|
|
@@ -4443,7 +4965,9 @@ ApplicationsFlowModule.decorators = [
|
|
|
4443
4965
|
ProcessorDetailsFormComponent,
|
|
4444
4966
|
SourceControlFormComponent,
|
|
4445
4967
|
BuildPipelineFormComponent,
|
|
4446
|
-
DevopsSourceControlFormComponent
|
|
4968
|
+
DevopsSourceControlFormComponent,
|
|
4969
|
+
SourceControlDialogComponent,
|
|
4970
|
+
BuildPipelineDialogComponent
|
|
4447
4971
|
],
|
|
4448
4972
|
},] }
|
|
4449
4973
|
];
|
|
@@ -4476,5 +5000,5 @@ class FormModel {
|
|
|
4476
5000
|
* Generated bundle index. Do not edit.
|
|
4477
5001
|
*/
|
|
4478
5002
|
|
|
4479
|
-
export { ActionsModel, ApplicationsFlowModule, ApplicationsFlowProjectsContext, ApplicationsFlowProjectsElementComponent, ApplicationsFlowProjectsElementState, ApplicationsFlowService, ApplicationsFlowState, ApplicationsFlowStateContext, BaseFormConfigModel, CardFormConfigModel, CreateProjectWizardComponent, DevSettingsPresetModel, DomainModel, DynamicTabsModel, EaCService, FormActionsModel, FormModel, FormValuesModel, FormsService, GitAuthComponent, GitHubBranch, GitHubOrganization, GitHubRepository, GitHubSetupState, GitHubWorkflowRun, HostingDetailsFormGroupComponent, NPMService, ProjectActionsModel, ProjectHostingDetails, ProjectHostingOption, ProjectHostingOptionInput, ProjectNameComponent, ProjectService, RootDirectoryComponent, SELECTOR_APPLICATIONS_FLOW_PROJECTS_ELEMENT, SourceControlFormControlsComponent, ThreeColumnComponent, UnpackLowCodeUnitRequest,
|
|
5003
|
+
export { ActionsModel, ApplicationsFlowModule, ApplicationsFlowProjectsContext, ApplicationsFlowProjectsElementComponent, ApplicationsFlowProjectsElementState, ApplicationsFlowService, ApplicationsFlowState, ApplicationsFlowStateContext, BaseFormConfigModel, CardFormConfigModel, CreateProjectWizardComponent, DevSettingsPresetModel, DomainModel, DynamicTabsModel, EaCService, FormActionsModel, FormModel, FormValuesModel, FormsService, GitAuthComponent, GitHubBranch, GitHubOrganization, GitHubRepository, GitHubSetupState, GitHubWorkflowRun, HostingDetailsFormGroupComponent, NPMService, ProjectActionsModel, ProjectHostingDetails, ProjectHostingOption, ProjectHostingOptionInput, ProjectNameComponent, ProjectService, RootDirectoryComponent, SELECTOR_APPLICATIONS_FLOW_PROJECTS_ELEMENT, SaveApplicationAsCodeEventRequest, SaveDFSModifierEventRequest, SaveEnvironmentAsCodeEventRequest, SaveProjectAsCodeEventRequest, SourceControlFormControlsComponent, ThreeColumnComponent, UnpackLowCodeUnitRequest, DynamicTabsComponent as ɵa, HeaderComponent as ɵb, SourceControlFormComponent as ɵba, BuildPipelineFormComponent as ɵbb, DevopsSourceControlFormComponent as ɵbc, SourceControlDialogComponent as ɵbd, BuildPipelineDialogComponent as ɵbe, ProjectTabsComponent as ɵc, GeneralComponent as ɵd, DomainsComponent as ɵe, ProjectItemsComponent as ɵf, BuildsComponent as ɵg, RecentActivitiesComponent as ɵh, FormCardComponent as ɵi, BaseFormComponent as ɵj, BaseFormTestComponent as ɵk, AppsFlowComponent as ɵl, DevOpsComponent as ɵm, DFSModifiersComponent as ɵn, NpmPackageSelectComponent as ɵo, ColumnInfoCardComponent as ɵp, SlottedCardComponent as ɵq, ProjectInfoCardComponent as ɵr, AnalyticsCardComponent as ɵs, FeedCardSmComponent as ɵt, GhControlComponent as ɵu, MainFeedCardComponent as ɵv, TwoColumnHeaderComponent as ɵw, CardCarouselComponent as ɵx, SecurityToggleComponent as ɵy, ProcessorDetailsFormComponent as ɵz };
|
|
4480
5004
|
//# sourceMappingURL=lowcodeunit-applications-flow-common.js.map
|