@lowcodeunit/applications-flow-common 1.33.98-lets-get-social-ish → 1.33.102-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 +371 -27
- 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 -4
- package/esm2015/lib/controls/build-pipeline-form/build-pipeline-form.component.js +175 -14
- package/esm2015/lib/controls/devops-source-control-form/devops-source-control-form.component.js +114 -7
- 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/projects/controls/hosting-details-form-group/hosting-details-form-group.component.js +2 -1
- package/esm2015/lib/elements/slotted-card/slotted-card.component.js +6 -4
- package/esm2015/lib/services/applications-flow.service.js +6 -1
- package/esm2015/lowcodeunit-applications-flow-common.js +3 -1
- package/fesm2015/lowcodeunit-applications-flow-common.js +345 -26
- 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 +23 -10
- 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 +6 -1
- 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 +16 -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/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts.map +1 -1
- package/lib/elements/slotted-card/slotted-card.component.d.ts.map +1 -1
- package/lib/services/applications-flow.service.d.ts +1 -0
- package/lib/services/applications-flow.service.d.ts.map +1 -1
- package/lowcodeunit-applications-flow-common.d.ts +2 -0
- package/lowcodeunit-applications-flow-common.d.ts.map +1 -1
- package/lowcodeunit-applications-flow-common.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@angular/common/http'), require('@lcu/common'), require('@angular/forms'), require('@angular/flex-layout'), require('@lowcodeunit/app-host-common'), require('@angular/cdk/keycodes'), require('rxjs/operators'), require('@angular/cdk/layout'), require('@angular/material/tooltip'), require('@angular/material/slide-toggle')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@lowcodeunit/applications-flow-common', ['exports', '@angular/core', 'rxjs', '@angular/common/http', '@lcu/common', '@angular/forms', '@angular/flex-layout', '@lowcodeunit/app-host-common', '@angular/cdk/keycodes', 'rxjs/operators', '@angular/cdk/layout', '@angular/material/tooltip', '@angular/material/slide-toggle'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.lowcodeunit = global.lowcodeunit || {}, global.lowcodeunit['applications-flow-common'] = {}), global.ng.core, global.rxjs, global.ng.common.http, global.i2, global.ng.forms, global.ng.flexLayout, global.appHostCommon, global.ng.cdk.keycodes, global.rxjs.operators, global.ng.cdk.layout, global.ng.material.tooltip, global.ng.material.slideToggle));
|
|
5
|
-
}(this, (function (exports, i0, rxjs, i1, i2, forms, flexLayout, appHostCommon, keycodes, operators, layout, tooltip, slideToggle) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@angular/common/http'), require('@lcu/common'), require('@angular/forms'), require('@angular/flex-layout'), require('@lowcodeunit/app-host-common'), require('@angular/cdk/keycodes'), require('rxjs/operators'), require('@angular/cdk/layout'), require('@angular/material/tooltip'), require('@angular/material/slide-toggle'), require('@angular/material/dialog')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@lowcodeunit/applications-flow-common', ['exports', '@angular/core', 'rxjs', '@angular/common/http', '@lcu/common', '@angular/forms', '@angular/flex-layout', '@lowcodeunit/app-host-common', '@angular/cdk/keycodes', 'rxjs/operators', '@angular/cdk/layout', '@angular/material/tooltip', '@angular/material/slide-toggle', '@angular/material/dialog'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.lowcodeunit = global.lowcodeunit || {}, global.lowcodeunit['applications-flow-common'] = {}), global.ng.core, global.rxjs, global.ng.common.http, global.i2, global.ng.forms, global.ng.flexLayout, global.appHostCommon, global.ng.cdk.keycodes, global.rxjs.operators, global.ng.cdk.layout, global.ng.material.tooltip, global.ng.material.slideToggle, global.ng.material.dialog));
|
|
5
|
+
}(this, (function (exports, i0, rxjs, i1, i2, forms, flexLayout, appHostCommon, keycodes, operators, layout, tooltip, slideToggle, dialog) { 'use strict';
|
|
6
6
|
|
|
7
7
|
/*! *****************************************************************************
|
|
8
8
|
Copyright (c) Microsoft Corporation.
|
|
@@ -576,6 +576,11 @@
|
|
|
576
576
|
headers: this.loadHeaders(),
|
|
577
577
|
});
|
|
578
578
|
};
|
|
579
|
+
ApplicationsFlowService.prototype.NewLoadProjectHostingDetails = function () {
|
|
580
|
+
return this.http.get(this.apiRoot + "/api/lowcodeunit/manage/projects/hosting/details", {
|
|
581
|
+
headers: this.loadHeaders(),
|
|
582
|
+
});
|
|
583
|
+
};
|
|
579
584
|
ApplicationsFlowService.prototype.SaveEnterpriseAsCode = function (eac) {
|
|
580
585
|
return this.http.post(this.apiRoot + "/api/lowcodeunit/manage/eac", eac, {
|
|
581
586
|
headers: this.loadHeaders(),
|
|
@@ -1775,6 +1780,7 @@
|
|
|
1775
1780
|
HostingDetailsFormGroupComponent.prototype.ngOnChanges = function () { };
|
|
1776
1781
|
HostingDetailsFormGroupComponent.prototype.ngOnInit = function () {
|
|
1777
1782
|
var _a, _b, _c;
|
|
1783
|
+
console.log("made it to hosting details");
|
|
1778
1784
|
this.BuildPipeline =
|
|
1779
1785
|
this.BuildPipeline || ((_a = this.Details) === null || _a === void 0 ? void 0 : _a.HostingOptions)
|
|
1780
1786
|
? (_c = (_b = this.Details) === null || _b === void 0 ? void 0 : _b.HostingOptions[0]) === null || _c === void 0 ? void 0 : _c.Lookup : '';
|
|
@@ -4746,6 +4752,7 @@
|
|
|
4746
4752
|
|
|
4747
4753
|
var SlottedCardComponent = /** @class */ (function () {
|
|
4748
4754
|
function SlottedCardComponent() {
|
|
4755
|
+
this.MainActionClicked = new i0.EventEmitter;
|
|
4749
4756
|
}
|
|
4750
4757
|
SlottedCardComponent.prototype.ngOnInit = function () {
|
|
4751
4758
|
};
|
|
@@ -4757,7 +4764,7 @@
|
|
|
4757
4764
|
SlottedCardComponent.decorators = [
|
|
4758
4765
|
{ type: i0.Component, args: [{
|
|
4759
4766
|
selector: 'lcu-slotted-card',
|
|
4760
|
-
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",
|
|
4767
|
+
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",
|
|
4761
4768
|
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%}"]
|
|
4762
4769
|
},] }
|
|
4763
4770
|
];
|
|
@@ -5397,7 +5404,7 @@
|
|
|
5397
5404
|
ProcessorDetailsFormComponent.decorators = [
|
|
5398
5405
|
{ type: i0.Component, args: [{
|
|
5399
5406
|
selector: 'lcu-processor-details-form',
|
|
5400
|
-
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
|
|
5407
|
+
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",
|
|
5401
5408
|
styles: [""]
|
|
5402
5409
|
},] }
|
|
5403
5410
|
];
|
|
@@ -5482,17 +5489,24 @@
|
|
|
5482
5489
|
};
|
|
5483
5490
|
|
|
5484
5491
|
var BuildPipelineFormComponent = /** @class */ (function () {
|
|
5485
|
-
function BuildPipelineFormComponent(
|
|
5486
|
-
this.
|
|
5492
|
+
function BuildPipelineFormComponent(eacSvc, formBuilder, appsFlowSvc) {
|
|
5493
|
+
this.eacSvc = eacSvc;
|
|
5494
|
+
this.formBuilder = formBuilder;
|
|
5487
5495
|
this.appsFlowSvc = appsFlowSvc;
|
|
5488
5496
|
this.HostingDetails = new ProjectHostingDetails();
|
|
5489
5497
|
}
|
|
5490
5498
|
Object.defineProperty(BuildPipelineFormComponent.prototype, "Artifact", {
|
|
5491
|
-
//
|
|
5499
|
+
// @Input('main-branch')
|
|
5500
|
+
// public MainBranch: string;
|
|
5501
|
+
// @Input('organization')
|
|
5502
|
+
// public Organization: string;
|
|
5503
|
+
// @Input('repository')
|
|
5504
|
+
// public Repository: string;
|
|
5492
5505
|
get: function () {
|
|
5493
|
-
var _a, _b;
|
|
5494
|
-
|
|
5495
|
-
|
|
5506
|
+
var _a, _b, _c;
|
|
5507
|
+
console.log("ARTIFACT: ", (_a = this.Environment) === null || _a === void 0 ? void 0 : _a.Artifacts[this.ArtifactLookup]);
|
|
5508
|
+
return ((_b = this.Environment) === null || _b === void 0 ? void 0 : _b.Artifacts) && this.ArtifactLookup
|
|
5509
|
+
? ((_c = this.Environment) === null || _c === void 0 ? void 0 : _c.Artifacts[this.ArtifactLookup]) || {}
|
|
5496
5510
|
: {};
|
|
5497
5511
|
},
|
|
5498
5512
|
enumerable: false,
|
|
@@ -5507,6 +5521,14 @@
|
|
|
5507
5521
|
enumerable: false,
|
|
5508
5522
|
configurable: true
|
|
5509
5523
|
});
|
|
5524
|
+
Object.defineProperty(BuildPipelineFormComponent.prototype, "BuildPipelineFormControl", {
|
|
5525
|
+
get: function () {
|
|
5526
|
+
var _a;
|
|
5527
|
+
return (_a = this.BuildPipelineFormGroup) === null || _a === void 0 ? void 0 : _a.controls.buildPipeline;
|
|
5528
|
+
},
|
|
5529
|
+
enumerable: false,
|
|
5530
|
+
configurable: true
|
|
5531
|
+
});
|
|
5510
5532
|
Object.defineProperty(BuildPipelineFormComponent.prototype, "DevOpsAction", {
|
|
5511
5533
|
get: function () {
|
|
5512
5534
|
return this.Environment.DevOpsActions && this.DevOpsActionLookup
|
|
@@ -5523,6 +5545,13 @@
|
|
|
5523
5545
|
enumerable: false,
|
|
5524
5546
|
configurable: true
|
|
5525
5547
|
});
|
|
5548
|
+
Object.defineProperty(BuildPipelineFormComponent.prototype, "DevOpsActionNameFormControl", {
|
|
5549
|
+
get: function () {
|
|
5550
|
+
return this.BuildPipelineFormGroup.get('devOpsActionName');
|
|
5551
|
+
},
|
|
5552
|
+
enumerable: false,
|
|
5553
|
+
configurable: true
|
|
5554
|
+
});
|
|
5526
5555
|
Object.defineProperty(BuildPipelineFormComponent.prototype, "EditingSourceControl", {
|
|
5527
5556
|
get: function () {
|
|
5528
5557
|
var _a, _b;
|
|
@@ -5535,6 +5564,36 @@
|
|
|
5535
5564
|
enumerable: false,
|
|
5536
5565
|
configurable: true
|
|
5537
5566
|
});
|
|
5567
|
+
Object.defineProperty(BuildPipelineFormComponent.prototype, "NPMTokenFormControl", {
|
|
5568
|
+
get: function () {
|
|
5569
|
+
return this.BuildPipelineFormGroup.get('npmToken');
|
|
5570
|
+
},
|
|
5571
|
+
enumerable: false,
|
|
5572
|
+
configurable: true
|
|
5573
|
+
});
|
|
5574
|
+
Object.defineProperty(BuildPipelineFormComponent.prototype, "SelectedHostingOption", {
|
|
5575
|
+
// (ho) => ho.Lookup === this.BuildPipeline
|
|
5576
|
+
get: function () {
|
|
5577
|
+
var _this = this;
|
|
5578
|
+
var _a, _b;
|
|
5579
|
+
return (_b = (_a = this.HostingDetails) === null || _a === void 0 ? void 0 : _a.HostingOptions) === null || _b === void 0 ? void 0 : _b.find(function (ho) { return ho.Lookup === _this.BuildPipeline; });
|
|
5580
|
+
},
|
|
5581
|
+
enumerable: false,
|
|
5582
|
+
configurable: true
|
|
5583
|
+
});
|
|
5584
|
+
Object.defineProperty(BuildPipelineFormComponent.prototype, "SelectedHostingOptionInputControlValues", {
|
|
5585
|
+
get: function () {
|
|
5586
|
+
var _this = this;
|
|
5587
|
+
var _a, _b;
|
|
5588
|
+
return (_b = (_a = this.SelectedHostingOption) === null || _a === void 0 ? void 0 : _a.Inputs) === null || _b === void 0 ? void 0 : _b.reduce(function (prev, cur) {
|
|
5589
|
+
var res = Object.assign({}, prev);
|
|
5590
|
+
res[cur.Lookup] = _this.BuildPipelineFormGroup.controls[cur.Lookup].value;
|
|
5591
|
+
return res;
|
|
5592
|
+
}, {});
|
|
5593
|
+
},
|
|
5594
|
+
enumerable: false,
|
|
5595
|
+
configurable: true
|
|
5596
|
+
});
|
|
5538
5597
|
Object.defineProperty(BuildPipelineFormComponent.prototype, "SourceControlLookups", {
|
|
5539
5598
|
get: function () {
|
|
5540
5599
|
return Object.keys(this.SourceControls || {});
|
|
@@ -5550,49 +5609,181 @@
|
|
|
5550
5609
|
configurable: true
|
|
5551
5610
|
});
|
|
5552
5611
|
BuildPipelineFormComponent.prototype.ngOnInit = function () {
|
|
5612
|
+
this.BuildPipelineFormGroup = this.formBuilder.group({});
|
|
5613
|
+
console.log("ARTIFACT: ", this.Artifact);
|
|
5614
|
+
// this.BuildPipeline ||
|
|
5615
|
+
// github-artifacts-release is this.HostingDetails?.HostingOptions[0]?.Lookup
|
|
5616
|
+
if (this.BuildPipelineFormGroup != null) {
|
|
5617
|
+
this.BuildPipelineFormGroup.removeControl('hostingDetails');
|
|
5618
|
+
}
|
|
5619
|
+
this.BuildPipelineFormGroup.addControl('hostingDetails', this.formBuilder.group({
|
|
5620
|
+
buildPipeline: [this.BuildPipeline, [forms.Validators.required]],
|
|
5621
|
+
}));
|
|
5622
|
+
this.loadProjectHostingDetails();
|
|
5623
|
+
// this.setupControlsForForm();
|
|
5553
5624
|
};
|
|
5554
5625
|
//API METHODS
|
|
5555
|
-
|
|
5626
|
+
BuildPipelineFormComponent.prototype.BuildPipelineChanged = function () {
|
|
5627
|
+
var _a, _b;
|
|
5628
|
+
console.log("build pipeline value: ", (_a = this.BuildPipelineFormControl) === null || _a === void 0 ? void 0 : _a.value);
|
|
5629
|
+
this.BuildPipeline = (_b = this.BuildPipelineFormControl) === null || _b === void 0 ? void 0 : _b.value;
|
|
5630
|
+
this.setupControlsForForm();
|
|
5631
|
+
};
|
|
5632
|
+
BuildPipelineFormComponent.prototype.SubmitBuildPipeline = function () {
|
|
5633
|
+
};
|
|
5634
|
+
BuildPipelineFormComponent.prototype.SaveEnvironment = function () {
|
|
5635
|
+
var _a;
|
|
5636
|
+
var saveEnvReq = {
|
|
5637
|
+
Environment: Object.assign(Object.assign({}, this.Environment), { Artifacts: this.Environment.Artifacts || {}, DevOpsActions: this.Environment.DevOpsActions || {}, Secrets: this.Environment.Secrets || {}, Sources: this.Environment.Sources || {} }),
|
|
5638
|
+
EnvironmentLookup: this.EnvironmentLookup,
|
|
5639
|
+
EnterpriseDataTokens: {},
|
|
5640
|
+
};
|
|
5641
|
+
var artifactLookup;
|
|
5642
|
+
var artifact = Object.assign(Object.assign({}, this.Artifact), this.SelectedHostingOptionInputControlValues);
|
|
5643
|
+
if (!this.ArtifactLookup) {
|
|
5644
|
+
artifactLookup = i2.Guid.CreateRaw();
|
|
5645
|
+
artifact = Object.assign(Object.assign({}, artifact), { Type: this.SelectedHostingOption
|
|
5646
|
+
.ArtifactType, Name: this.SelectedHostingOption.Name, NPMRegistry: 'https://registry.npmjs.org/' });
|
|
5647
|
+
}
|
|
5648
|
+
else {
|
|
5649
|
+
artifactLookup = this.ArtifactLookup;
|
|
5650
|
+
}
|
|
5651
|
+
saveEnvReq.Environment.Artifacts[artifactLookup] = artifact;
|
|
5652
|
+
var devOpsActionLookup;
|
|
5653
|
+
if (!this.DevOpsActionLookup) {
|
|
5654
|
+
devOpsActionLookup = i2.Guid.CreateRaw();
|
|
5655
|
+
var doa = Object.assign(Object.assign({}, this.DevOpsAction), { ArtifactLookups: [artifactLookup], Name: this.DevOpsActionNameFormControl.value, Path: this.SelectedHostingOption.Path, Templates: this.SelectedHostingOption.Templates });
|
|
5656
|
+
if ((_a = this.NPMTokenFormControl) === null || _a === void 0 ? void 0 : _a.value) {
|
|
5657
|
+
var secretLookup = 'npm-access-token';
|
|
5658
|
+
doa.SecretLookups = [secretLookup];
|
|
5659
|
+
saveEnvReq.Environment.Secrets[secretLookup] = {
|
|
5660
|
+
Name: 'NPM Access Token',
|
|
5661
|
+
DataTokenLookup: secretLookup,
|
|
5662
|
+
KnownAs: 'NPM_TOKEN',
|
|
5663
|
+
};
|
|
5664
|
+
saveEnvReq.EnterpriseDataTokens[secretLookup] = {
|
|
5665
|
+
Name: saveEnvReq.Environment.Secrets[secretLookup].Name,
|
|
5666
|
+
Description: saveEnvReq.Environment.Secrets[secretLookup].Name,
|
|
5667
|
+
Value: this.NPMTokenFormControl.value,
|
|
5668
|
+
};
|
|
5669
|
+
}
|
|
5670
|
+
saveEnvReq.Environment.DevOpsActions[devOpsActionLookup] = doa;
|
|
5671
|
+
}
|
|
5672
|
+
else {
|
|
5673
|
+
devOpsActionLookup = this.DevOpsActionLookup;
|
|
5674
|
+
var doa = Object.assign(Object.assign({}, this.DevOpsAction), { Name: this.DevOpsActionNameFormControl.value });
|
|
5675
|
+
saveEnvReq.Environment.DevOpsActions[devOpsActionLookup] = doa;
|
|
5676
|
+
}
|
|
5677
|
+
// let source: EaCSourceControl = {
|
|
5678
|
+
// ...this.EditingSourceControl,
|
|
5679
|
+
// Branches: this.SourceControlFormControls.SelectedBranches,
|
|
5680
|
+
// MainBranch: this.SourceControlFormControls.MainBranchFormControl.value,
|
|
5681
|
+
// };
|
|
5682
|
+
// source = {
|
|
5683
|
+
// ...source,
|
|
5684
|
+
// Type: 'GitHub',
|
|
5685
|
+
// Name: this.EditingSourceControlLookup,
|
|
5686
|
+
// DevOpsActionTriggerLookups: [devOpsActionLookup],
|
|
5687
|
+
// Organization:
|
|
5688
|
+
// this.SourceControlFormControls.OrganizationFormControl.value,
|
|
5689
|
+
// Repository: this.SourceControlFormControls.RepositoryFormControl.value,
|
|
5690
|
+
// };
|
|
5691
|
+
// const scLookup = `github://${source.Organization}/${source.Repository}`;
|
|
5692
|
+
// saveEnvReq.Environment.Sources[scLookup] = source;
|
|
5693
|
+
this.eacSvc.SaveEnvironmentAsCode(saveEnvReq);
|
|
5694
|
+
};
|
|
5695
|
+
// Helpers
|
|
5696
|
+
BuildPipelineFormComponent.prototype.setupControlsForForm = function () {
|
|
5697
|
+
var _this = this;
|
|
5698
|
+
var _a, _b, _c, _d, _e, _f;
|
|
5699
|
+
for (var ctrlName in this.BuildPipelineFormGroup.controls) {
|
|
5700
|
+
//devOpsAction doesn't exist
|
|
5701
|
+
//removes hosting details
|
|
5702
|
+
if (ctrlName !== 'buildPipeline' && ctrlName !== 'devOpsAction') {
|
|
5703
|
+
console.log("removing control: ", ctrlName);
|
|
5704
|
+
this.BuildPipelineFormGroup.removeControl(ctrlName);
|
|
5705
|
+
}
|
|
5706
|
+
}
|
|
5707
|
+
this.BuildPipelineFormGroup.addControl('devOpsActionName', this.formBuilder.control(((_a = this.DevOpsAction) === null || _a === void 0 ? void 0 : _a.Name) || ((_b = this.SelectedHostingOption) === null || _b === void 0 ? void 0 : _b.Name) || '', [forms.Validators.required]));
|
|
5708
|
+
(_d = (_c = this.SelectedHostingOption) === null || _c === void 0 ? void 0 : _c.Inputs) === null || _d === void 0 ? void 0 : _d.forEach(function (input) {
|
|
5709
|
+
var validators = input.Required ? [forms.Validators.required] : [];
|
|
5710
|
+
_this.BuildPipelineFormGroup.addControl(input.Lookup, _this.formBuilder.control(_this.Artifact[input.Lookup] || input.DefaultValue || '', validators));
|
|
5711
|
+
// if (this.Disabled) {
|
|
5712
|
+
// this.FormGroup.controls[input.Lookup].disable();
|
|
5713
|
+
// }
|
|
5714
|
+
});
|
|
5715
|
+
if (((_e = this.BuildPipelineFormControl) === null || _e === void 0 ? void 0 : _e.value) === 'npm-release') {
|
|
5716
|
+
if (!this.BuildPipelineFormGroup.controls.npmToken) {
|
|
5717
|
+
this.BuildPipelineFormGroup.addControl('npmToken', this.formBuilder.control('', this.Disabled ? [] : [forms.Validators.required]));
|
|
5718
|
+
if (this.Disabled) {
|
|
5719
|
+
this.BuildPipelineFormGroup.controls.npmToken.disable();
|
|
5720
|
+
}
|
|
5721
|
+
}
|
|
5722
|
+
}
|
|
5723
|
+
else if (((_f = this.BuildPipelineFormControl) === null || _f === void 0 ? void 0 : _f.value) === 'github-artifacts-release') {
|
|
5724
|
+
if (this.BuildPipelineFormGroup.controls.npmToken) {
|
|
5725
|
+
this.BuildPipelineFormGroup.removeControl('npmToken');
|
|
5726
|
+
}
|
|
5727
|
+
}
|
|
5728
|
+
};
|
|
5556
5729
|
BuildPipelineFormComponent.prototype.loadProjectHostingDetails = function () {
|
|
5557
5730
|
var _this = this;
|
|
5558
5731
|
this.HostingDetails.Loading = true;
|
|
5732
|
+
// this.Organization,
|
|
5733
|
+
// this.Repository,
|
|
5734
|
+
// this.MainBranch
|
|
5735
|
+
// "powhound4",
|
|
5736
|
+
// "RedwoodCrystals",
|
|
5737
|
+
// "master"
|
|
5559
5738
|
this.appsFlowSvc
|
|
5560
|
-
.
|
|
5739
|
+
.NewLoadProjectHostingDetails()
|
|
5561
5740
|
.subscribe(function (response) {
|
|
5741
|
+
var _a, _b, _c;
|
|
5562
5742
|
_this.HostingDetails = response.Model;
|
|
5743
|
+
console.log("response: ", response);
|
|
5563
5744
|
_this.HostingDetails.Loading = false;
|
|
5745
|
+
_this.BuildPipeline =
|
|
5746
|
+
((_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 : '';
|
|
5747
|
+
console.log("Build Pipeline HERE= ", _this.BuildPipeline);
|
|
5748
|
+
_this.setupControlsForForm();
|
|
5564
5749
|
}, function (err) {
|
|
5750
|
+
console.log("hosting details LOADING EERR: ", _this.HostingDetails);
|
|
5751
|
+
console.log("ERR: ", err);
|
|
5565
5752
|
_this.HostingDetails.Loading = false;
|
|
5566
5753
|
});
|
|
5754
|
+
console.log("HOSTING DETAILS: ", this.HostingDetails);
|
|
5567
5755
|
};
|
|
5568
5756
|
return BuildPipelineFormComponent;
|
|
5569
5757
|
}());
|
|
5570
5758
|
BuildPipelineFormComponent.decorators = [
|
|
5571
5759
|
{ type: i0.Component, args: [{
|
|
5572
5760
|
selector: 'lcu-build-pipeline-form',
|
|
5573
|
-
template: "<
|
|
5761
|
+
template: "<form class=\"form-card\" [formGroup]=\"BuildPipelineFormGroup\" (ngSubmit)=\"SubmitBuildPipeline()\">\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-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>\n",
|
|
5574
5762
|
styles: [""]
|
|
5575
5763
|
},] }
|
|
5576
5764
|
];
|
|
5577
5765
|
BuildPipelineFormComponent.ctorParameters = function () { return [
|
|
5766
|
+
{ type: EaCService },
|
|
5578
5767
|
{ type: forms.FormBuilder },
|
|
5579
5768
|
{ type: ApplicationsFlowService }
|
|
5580
5769
|
]; };
|
|
5581
5770
|
BuildPipelineFormComponent.propDecorators = {
|
|
5771
|
+
BuildPipeline: [{ type: i0.Input, args: ['build-pipeline',] }],
|
|
5582
5772
|
DevOpsActionLookup: [{ type: i0.Input, args: ['devops-action-lookup',] }],
|
|
5773
|
+
Disabled: [{ type: i0.Input, args: ['disabled',] }],
|
|
5583
5774
|
Environment: [{ type: i0.Input, args: ['environment',] }],
|
|
5584
|
-
|
|
5585
|
-
Organization: [{ type: i0.Input, args: ['organization',] }],
|
|
5586
|
-
Repository: [{ type: i0.Input, args: ['repository',] }]
|
|
5775
|
+
EnvironmentLookup: [{ type: i0.Input, args: ['environment-lookup',] }]
|
|
5587
5776
|
};
|
|
5588
5777
|
|
|
5589
5778
|
var DevopsSourceControlFormComponent = /** @class */ (function () {
|
|
5590
5779
|
// Constructors
|
|
5591
|
-
function DevopsSourceControlFormComponent(formBuilder, appsFlowSvc) {
|
|
5780
|
+
function DevopsSourceControlFormComponent(formBuilder, appsFlowSvc, eacSvc) {
|
|
5592
5781
|
this.formBuilder = formBuilder;
|
|
5593
5782
|
this.appsFlowSvc = appsFlowSvc;
|
|
5783
|
+
this.eacSvc = eacSvc;
|
|
5594
5784
|
this.SeparatorKeysCodes = [keycodes.ENTER, keycodes.COMMA];
|
|
5595
5785
|
this.BuildPath = null;
|
|
5786
|
+
// this.EditingSourceControlLookup = null;
|
|
5596
5787
|
this.HostingDetails = new ProjectHostingDetails();
|
|
5597
5788
|
this.SelectedBranches = [];
|
|
5598
5789
|
this.SourceControlRoot = '';
|
|
@@ -5691,7 +5882,16 @@
|
|
|
5691
5882
|
this.destroyFormControls();
|
|
5692
5883
|
};
|
|
5693
5884
|
DevopsSourceControlFormComponent.prototype.ngOnInit = function () {
|
|
5694
|
-
this.
|
|
5885
|
+
console.log("org: ", this.EditingSourceControl);
|
|
5886
|
+
console.log("lookup: ", this.EditingSourceControlLookup);
|
|
5887
|
+
if (this.EditingSourceControlLookup === null) {
|
|
5888
|
+
this.CreateNewSourceControl();
|
|
5889
|
+
}
|
|
5890
|
+
console.log("org: ", this.EditingSourceControl);
|
|
5891
|
+
if (this.EditingSourceControl != null) {
|
|
5892
|
+
this.DevOpsSourceControlFormGroup = this.formBuilder.group({});
|
|
5893
|
+
this.setupFormControls();
|
|
5894
|
+
}
|
|
5695
5895
|
this.RefreshOrganizations();
|
|
5696
5896
|
};
|
|
5697
5897
|
// API Methods
|
|
@@ -5707,6 +5907,9 @@
|
|
|
5707
5907
|
};
|
|
5708
5908
|
DevopsSourceControlFormComponent.prototype.BuildPathChanged = function (event) {
|
|
5709
5909
|
};
|
|
5910
|
+
DevopsSourceControlFormComponent.prototype.CreateNewSourceControl = function () {
|
|
5911
|
+
this.SetEditingSourceControl(i2.Guid.CreateRaw());
|
|
5912
|
+
};
|
|
5710
5913
|
DevopsSourceControlFormComponent.prototype.CreateRepository = function () {
|
|
5711
5914
|
this.CreatingRepository = true;
|
|
5712
5915
|
this.RepositoryFormControl.reset();
|
|
@@ -5775,6 +5978,95 @@
|
|
|
5775
5978
|
}
|
|
5776
5979
|
});
|
|
5777
5980
|
};
|
|
5981
|
+
DevopsSourceControlFormComponent.prototype.SetEditingSourceControl = function (scLookup) {
|
|
5982
|
+
this.EditingSourceControlLookup = scLookup;
|
|
5983
|
+
};
|
|
5984
|
+
DevopsSourceControlFormComponent.prototype.SubmitSourceControl = function () {
|
|
5985
|
+
console.log("source control submitted");
|
|
5986
|
+
};
|
|
5987
|
+
// public SaveSourceControl(): void {
|
|
5988
|
+
// const saveEnvReq: SaveEnvironmentAsCodeEventRequest = {
|
|
5989
|
+
// Environment: {
|
|
5990
|
+
// ...this.Environment,
|
|
5991
|
+
// Artifacts: this.Environment.Artifacts || {},
|
|
5992
|
+
// DevOpsActions: this.Environment.DevOpsActions || {},
|
|
5993
|
+
// Secrets: this.Environment.Secrets || {},
|
|
5994
|
+
// Sources: this.Environment.Sources || {},
|
|
5995
|
+
// },
|
|
5996
|
+
// EnvironmentLookup: this.EnvironmentLookup,
|
|
5997
|
+
// EnterpriseDataTokens: {},
|
|
5998
|
+
// };
|
|
5999
|
+
// let artifactLookup: string;
|
|
6000
|
+
// let artifact: EaCArtifact = {
|
|
6001
|
+
// ...this.Artifact,
|
|
6002
|
+
// ...this.HostingDetailsFormControls
|
|
6003
|
+
// .SelectedHostingOptionInputControlValues,
|
|
6004
|
+
// };
|
|
6005
|
+
// // if (!this.ArtifactLookup) {
|
|
6006
|
+
// // artifactLookup = Guid.CreateRaw();
|
|
6007
|
+
// // artifact = {
|
|
6008
|
+
// // ...artifact,
|
|
6009
|
+
// // Type: this.HostingDetailsFormControls.SelectedHostingOption
|
|
6010
|
+
// // .ArtifactType,
|
|
6011
|
+
// // Name: this.HostingDetailsFormControls.SelectedHostingOption.Name,
|
|
6012
|
+
// // NPMRegistry: 'https://registry.npmjs.org/',
|
|
6013
|
+
// // };
|
|
6014
|
+
// // } else {
|
|
6015
|
+
// // artifactLookup = this.ArtifactLookup;
|
|
6016
|
+
// // }
|
|
6017
|
+
// saveEnvReq.Environment.Artifacts[artifactLookup] = artifact;
|
|
6018
|
+
// let devOpsActionLookup: string;
|
|
6019
|
+
// if (!this.DevOpsActionLookup) {
|
|
6020
|
+
// devOpsActionLookup = Guid.CreateRaw();
|
|
6021
|
+
// // const doa: EaCDevOpsAction = {
|
|
6022
|
+
// // ...this.DevOpsAction,
|
|
6023
|
+
// // ArtifactLookups: [artifactLookup],
|
|
6024
|
+
// // Name: this.HostingDetailsFormControls.DevOpsActionNameFormControl.value,
|
|
6025
|
+
// // Path: this.HostingDetailsFormControls.SelectedHostingOption.Path,
|
|
6026
|
+
// // Templates:
|
|
6027
|
+
// // this.HostingDetailsFormControls.SelectedHostingOption.Templates,
|
|
6028
|
+
// // };
|
|
6029
|
+
// if (this.HostingDetailsFormControls.NPMTokenFormControl?.value) {
|
|
6030
|
+
// const secretLookup = 'npm-access-token';
|
|
6031
|
+
// doa.SecretLookups = [secretLookup];
|
|
6032
|
+
// saveEnvReq.Environment.Secrets[secretLookup] = {
|
|
6033
|
+
// Name: 'NPM Access Token',
|
|
6034
|
+
// DataTokenLookup: secretLookup,
|
|
6035
|
+
// KnownAs: 'NPM_TOKEN',
|
|
6036
|
+
// };
|
|
6037
|
+
// saveEnvReq.EnterpriseDataTokens[secretLookup] = {
|
|
6038
|
+
// Name: saveEnvReq.Environment.Secrets[secretLookup].Name,
|
|
6039
|
+
// Description: saveEnvReq.Environment.Secrets[secretLookup].Name,
|
|
6040
|
+
// Value: this.NPMTokenFormControl.value,
|
|
6041
|
+
// };
|
|
6042
|
+
// }
|
|
6043
|
+
// saveEnvReq.Environment.DevOpsActions[devOpsActionLookup] = doa;
|
|
6044
|
+
// } else {
|
|
6045
|
+
// devOpsActionLookup = this.DevOpsActionLookupFormControl.value;
|
|
6046
|
+
// const doa: EaCDevOpsAction = {
|
|
6047
|
+
// ...this.DevOpsAction,
|
|
6048
|
+
// Name: this.HostingDetailsFormControls.DevOpsActionNameFormControl.value,
|
|
6049
|
+
// };
|
|
6050
|
+
// saveEnvReq.Environment.DevOpsActions[devOpsActionLookup] = doa;
|
|
6051
|
+
// }
|
|
6052
|
+
// let source: EaCSourceControl = {
|
|
6053
|
+
// ...this.EditingSourceControl,
|
|
6054
|
+
// Branches: this.SelectedBranches,
|
|
6055
|
+
// MainBranch: this.MainBranchFormControl.value,
|
|
6056
|
+
// };
|
|
6057
|
+
// source = {
|
|
6058
|
+
// ...source,
|
|
6059
|
+
// Type: 'GitHub',
|
|
6060
|
+
// Name: this.EditingSourceControlLookup,
|
|
6061
|
+
// DevOpsActionTriggerLookups: [devOpsActionLookup],
|
|
6062
|
+
// Organization:
|
|
6063
|
+
// this.OrganizationFormControl.value,
|
|
6064
|
+
// Repository: this.RepositoryFormControl.value,
|
|
6065
|
+
// };
|
|
6066
|
+
// const scLookup = `github://${source.Organization}/${source.Repository}`;
|
|
6067
|
+
// saveEnvReq.Environment.Sources[scLookup] = source;
|
|
6068
|
+
// this.eacSvc.SaveEnvironmentAsCode(saveEnvReq);
|
|
6069
|
+
// }
|
|
5778
6070
|
// Helpers
|
|
5779
6071
|
DevopsSourceControlFormComponent.prototype.addBranchOption = function (value) {
|
|
5780
6072
|
value = (value || '').trim();
|
|
@@ -5909,8 +6201,8 @@
|
|
|
5909
6201
|
}
|
|
5910
6202
|
};
|
|
5911
6203
|
DevopsSourceControlFormComponent.prototype.setupFormControls = function () {
|
|
6204
|
+
// this.destroyFormControls();
|
|
5912
6205
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
5913
|
-
this.destroyFormControls();
|
|
5914
6206
|
this.DevOpsSourceControlFormGroup.addControl('devOpsActionLookup', new forms.FormControl(this.DevOpsActionLookup || '', []));
|
|
5915
6207
|
this.DevOpsSourceControlFormGroup.addControl([this.SourceControlRoot, 'organization'].join(''), new forms.FormControl((_a = this.EditingSourceControl.Organization) !== null && _a !== void 0 ? _a : '', forms.Validators.required));
|
|
5916
6208
|
this.DevOpsSourceControlFormGroup.addControl([this.SourceControlRoot, 'repository'].join(''), new forms.FormControl((_b = this.EditingSourceControl.Repository) !== null && _b !== void 0 ? _b : '', forms.Validators.required));
|
|
@@ -5928,19 +6220,63 @@
|
|
|
5928
6220
|
DevopsSourceControlFormComponent.decorators = [
|
|
5929
6221
|
{ type: i0.Component, args: [{
|
|
5930
6222
|
selector: 'lcu-devops-source-control-form',
|
|
5931
|
-
template: "<div class=\"form-card\" fxFlex=\"35%\" fxFlex.lt-md=\"100%\">\n <mat-card class=\"spread\">\n <mat-card-header>\n <mat-card-title> Source Control </mat-card-title>\n\n <div fxFlex></div>\n\n <mat-icon\n matSuffix\n matTooltip=\"Configure source control, DevOps CI/CD, and artifacts.\"\n >\n info_outline\n </mat-icon>\n </mat-card-header>\n\n <mat-card-content>\n <div [formGroup]=\"DevOpsSourceControlFormGroup\">\n <div class=\"card\">\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n formControlName=\"devOpsActionLookup\"\n placeholder=\"DevOps Action\"\n [disabled]=\"HostingDetails?.Loading\"\n (selectionChange)=\"DevOpsActionLookupChanged($event)\"\n >\n <ng-container\n *ngFor=\"let devOpsActionLookup of DevOpsActionLookups\"\n >\n <mat-option\n [value]=\"devOpsActionLookup\"\n *ngIf=\"DevOpsActions[devOpsActionLookup]; let devOpsAction\"\n >\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\n class=\"mat-full-width with-hint\"\n *ngIf=\"OrganizationOptions?.length > 0\"\n >\n <mat-icon class=\"org-icon\" matPrefix>corporate_fare</mat-icon>\n \n <mat-select\n [formControlName]=\"SourceControlRoot + 'organization'\"\n placeholder=\"Organization\"\n (selectionChange)=\"OrganizationChanged($event)\"\n [disabled]=\"Loading || HostingDetails?.Loading\"\n required\n >\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\n matSuffix\n href=\"/.oauth/github?oauth-force-edit=true\"\n target=\"_blank\"\n color=\"accent\"\n >\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\n href=\"https://github.com/account/organizations/new\"\n target=\"_blank\"\n >\n start here\n </a>\n </mat-hint>\n </mat-form-field>\n </div>\n \n <div\n class=\"card\"\n *ngIf=\"\n RepositoryFormControl?.valid ||\n (OrganizationFormControl?.valid && !Loading)\n \"\n >\n <mat-form-field class=\"mat-full-width\">\n <mat-icon class=\"org-icon\" matPrefix>description</mat-icon>\n \n <mat-select\n [formControlName]=\"SourceControlRoot + 'repository'\"\n [placeholder]=\"\n OrganizationFormControl?.valid\n ? 'Repository'\n : 'Repository (select organization first)'\n \"\n [disabled]=\"\n !OrganizationFormControl?.valid || Loading || HostingDetails?.Loading\n \"\n (selectionChange)=\"RepositoryChanged($event)\"\n *ngIf=\"!CreatingRepository\"\n required\n >\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\n matInput\n placeholder=\"Repository (creates new if does not exist)\"\n [formControlName]=\"SourceControlRoot + 'repository'\"\n *ngIf=\"CreatingRepository\"\n [fxHide]=\"Loading || HostingDetails?.Loading\"\n required\n />\n \n <mat-icon\n matSuffix\n (click)=\"CreateRepository()\"\n [fxHide]=\"Loading || HostingDetails?.Loading\"\n *ngIf=\"!CreatingRepository && OrganizationFormControl?.valid\"\n >\n add_circle\n </mat-icon>\n \n <button mat-button type=\"button\" \n (click)=\"SaveRepository()\" \n *ngIf=\"CreatingRepository && RepositoryFormControl?.valid\">\n \n <mat-icon\n matSuffix\n color=\"primary\"\n >\n save\n </mat-icon>\n </button>\n \n <button mat-button type=\"button\" \n (click)=\"CancelCreateRepository()\"\n *ngIf=\"CreatingRepository\">\n \n <mat-icon\n matSuffix\n \n >\n cancel\n </mat-icon>\n </button>\n </mat-form-field>\n </div>\n \n <div\n class=\"card\"\n *ngIf=\"\n (BranchesFormControl?.valid ||\n (OrganizationFormControl?.valid &&\n RepositoryFormControl?.valid &&\n !Loading)) &&\n !CreatingRepository &&\n UseBranches\n \"\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\n (optionSelected)=\"BranchOptionSelected($event)\"\n #branchOptions=\"matAutocomplete\"\n >\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\n [removable]=\"true\"\n (removed)=\"RemoveBranchOption(selBranch)\"\n *ngFor=\"let selBranch of SelectedBranches\"\n >\n {{ selBranch }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n \n <input\n matInput\n placeholder=\"New Branch...\"\n [formControlName]=\"SourceControlRoot + 'branches'\"\n #branches\n [matAutocomplete]=\"branchOptions\"\n [matChipInputFor]=\"selectedBranches\"\n [matChipInputSeparatorKeyCodes]=\"SeparatorKeysCodes\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"AddBranchOption($event)\"\n [disabled]=\"Loading || HostingDetails?.Loading\"\n required\n />\n </mat-chip-list>\n </mat-form-field>\n \n <mat-form-field\n class=\"mat-full-width with-hint\"\n [fxShow]=\"SelectedBranches?.length > 1\"\n >\n <mat-icon class=\"org-icon\" matPrefix>account_tree</mat-icon>\n \n <mat-select\n [formControlName]=\"SourceControlRoot + 'mainBranch'\"\n placeholder=\"Main Branch\"\n [disabled]=\"Loading || HostingDetails?.Loading\"\n (selectionChange)=\"MainBranchChanged($event)\"\n required\n >\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\n matSuffix\n mat-icon-button\n href=\"/.oauth/github?oauth-force-edit=true\"\n \n target=\"_blank\"\n color=\"accent\"\n >\n <mat-icon\n matTooltip=\"Re-authorize Organizations\"\n 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\n href=\"https://github.com/account/organizations/new\"\n target=\"_blank\"\n >\n start here\n </a>\n </mat-hint>\n </mat-form-field>\n </div>\n \n <div\n class=\"card\"\n *ngIf=\"\n (BuildPathFormControl?.valid ||\n (OrganizationFormControl?.valid &&\n RepositoryFormControl?.valid &&\n !Loading)) &&\n !CreatingRepository &&\n UseBuildPath\n \"\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\n [formControlName]=\"SourceControlRoot + 'buildPath'\"\n placeholder=\"Build Path\"\n [disabled]=\"Loading || BuildPathDisabled\"\n (selectionChange)=\"BuildPathChanged($event)\"\n required\n >\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\n class=\"mat-title\"\n *ngIf=\"\n OrganizationFormControl?.valid && !RepositoryFormControl?.valid\n \"\n >\n Loading repositories\n </h4>\n \n <h4\n class=\"mat-title\"\n *ngIf=\"RepositoryFormControl?.valid && !BranchesFormControl?.valid\"\n >\n Loading branches\n </h4>\n \n <h4\n class=\"mat-title\"\n *ngIf=\"\n (RepositoryFormControl?.valid || BranchesFormControl?.valid) &&\n !BuildPathFormControl?.valid\n \"\n >\n Loading build paths\n </h4>\n </div>\n </div>\n </div>\n </div>\n \n </mat-card-content>\n </mat-card>\n </div>\n",
|
|
5932
|
-
styles: [""]
|
|
6223
|
+
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>",
|
|
6224
|
+
styles: [".form-card,.sc-card{width:100%}"]
|
|
5933
6225
|
},] }
|
|
5934
6226
|
];
|
|
5935
6227
|
DevopsSourceControlFormComponent.ctorParameters = function () { return [
|
|
5936
6228
|
{ type: forms.FormBuilder },
|
|
5937
|
-
{ type: ApplicationsFlowService }
|
|
6229
|
+
{ type: ApplicationsFlowService },
|
|
6230
|
+
{ type: EaCService }
|
|
5938
6231
|
]; };
|
|
5939
6232
|
DevopsSourceControlFormComponent.propDecorators = {
|
|
5940
6233
|
BranchesInput: [{ type: i0.ViewChild, args: ['branches',] }],
|
|
6234
|
+
EditingSourceControlLookup: [{ type: i0.Input, args: ['editing-source-control-lookup',] }],
|
|
5941
6235
|
Environment: [{ type: i0.Input, args: ['environment',] }]
|
|
5942
6236
|
};
|
|
5943
6237
|
|
|
6238
|
+
var SourceControlDialogComponent = /** @class */ (function () {
|
|
6239
|
+
function SourceControlDialogComponent(dialogRef, data) {
|
|
6240
|
+
this.dialogRef = dialogRef;
|
|
6241
|
+
this.data = data;
|
|
6242
|
+
}
|
|
6243
|
+
SourceControlDialogComponent.prototype.ngOnInit = function () {
|
|
6244
|
+
};
|
|
6245
|
+
return SourceControlDialogComponent;
|
|
6246
|
+
}());
|
|
6247
|
+
SourceControlDialogComponent.decorators = [
|
|
6248
|
+
{ type: i0.Component, args: [{
|
|
6249
|
+
selector: 'lcu-source-control-dialog',
|
|
6250
|
+
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>",
|
|
6251
|
+
styles: [""]
|
|
6252
|
+
},] }
|
|
6253
|
+
];
|
|
6254
|
+
SourceControlDialogComponent.ctorParameters = function () { return [
|
|
6255
|
+
{ type: dialog.MatDialogRef },
|
|
6256
|
+
{ type: undefined, decorators: [{ type: i0.Inject, args: [dialog.MAT_DIALOG_DATA,] }] }
|
|
6257
|
+
]; };
|
|
6258
|
+
|
|
6259
|
+
var BuildPipelineDialogComponent = /** @class */ (function () {
|
|
6260
|
+
function BuildPipelineDialogComponent(dialogRef, data) {
|
|
6261
|
+
this.dialogRef = dialogRef;
|
|
6262
|
+
this.data = data;
|
|
6263
|
+
}
|
|
6264
|
+
BuildPipelineDialogComponent.prototype.ngOnInit = function () {
|
|
6265
|
+
};
|
|
6266
|
+
return BuildPipelineDialogComponent;
|
|
6267
|
+
}());
|
|
6268
|
+
BuildPipelineDialogComponent.decorators = [
|
|
6269
|
+
{ type: i0.Component, args: [{
|
|
6270
|
+
selector: 'lcu-build-pipeline-dialog',
|
|
6271
|
+
template: "<lcu-build-pipeline-form\n[build-pipeline]=\"data.buildPipeline\"\n[devops-action-lookup]=\"data.devopsActionLookup\"\n[environment]=\"data.environment\"\n[environment-lookup]=\"data.environmentLookup\"\n>\n\n</lcu-build-pipeline-form>\n",
|
|
6272
|
+
styles: [""]
|
|
6273
|
+
},] }
|
|
6274
|
+
];
|
|
6275
|
+
BuildPipelineDialogComponent.ctorParameters = function () { return [
|
|
6276
|
+
{ type: dialog.MatDialogRef },
|
|
6277
|
+
{ type: undefined, decorators: [{ type: i0.Inject, args: [dialog.MAT_DIALOG_DATA,] }] }
|
|
6278
|
+
]; };
|
|
6279
|
+
|
|
5944
6280
|
var ApplicationsFlowModule = /** @class */ (function () {
|
|
5945
6281
|
function ApplicationsFlowModule() {
|
|
5946
6282
|
}
|
|
@@ -5998,7 +6334,9 @@
|
|
|
5998
6334
|
ProcessorDetailsFormComponent,
|
|
5999
6335
|
SourceControlFormComponent,
|
|
6000
6336
|
BuildPipelineFormComponent,
|
|
6001
|
-
DevopsSourceControlFormComponent
|
|
6337
|
+
DevopsSourceControlFormComponent,
|
|
6338
|
+
SourceControlDialogComponent,
|
|
6339
|
+
BuildPipelineDialogComponent
|
|
6002
6340
|
],
|
|
6003
6341
|
imports: [
|
|
6004
6342
|
i2.FathymSharedModule,
|
|
@@ -6048,7 +6386,9 @@
|
|
|
6048
6386
|
ProcessorDetailsFormComponent,
|
|
6049
6387
|
SourceControlFormComponent,
|
|
6050
6388
|
BuildPipelineFormComponent,
|
|
6051
|
-
DevopsSourceControlFormComponent
|
|
6389
|
+
DevopsSourceControlFormComponent,
|
|
6390
|
+
SourceControlDialogComponent,
|
|
6391
|
+
BuildPipelineDialogComponent
|
|
6052
6392
|
],
|
|
6053
6393
|
entryComponents: [
|
|
6054
6394
|
ApplicationsFlowProjectsElementComponent,
|
|
@@ -6085,7 +6425,9 @@
|
|
|
6085
6425
|
ProcessorDetailsFormComponent,
|
|
6086
6426
|
SourceControlFormComponent,
|
|
6087
6427
|
BuildPipelineFormComponent,
|
|
6088
|
-
DevopsSourceControlFormComponent
|
|
6428
|
+
DevopsSourceControlFormComponent,
|
|
6429
|
+
SourceControlDialogComponent,
|
|
6430
|
+
BuildPipelineDialogComponent
|
|
6089
6431
|
],
|
|
6090
6432
|
},] }
|
|
6091
6433
|
];
|
|
@@ -6179,6 +6521,8 @@
|
|
|
6179
6521
|
exports.ɵba = SourceControlFormComponent;
|
|
6180
6522
|
exports.ɵbb = BuildPipelineFormComponent;
|
|
6181
6523
|
exports.ɵbc = DevopsSourceControlFormComponent;
|
|
6524
|
+
exports.ɵbd = SourceControlDialogComponent;
|
|
6525
|
+
exports.ɵbe = BuildPipelineDialogComponent;
|
|
6182
6526
|
exports.ɵc = ProjectTabsComponent;
|
|
6183
6527
|
exports.ɵd = GeneralComponent;
|
|
6184
6528
|
exports.ɵe = DomainsComponent;
|