@lowcodeunit/applications-flow-common 1.34.59-krakyn-app → 1.34.62-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/esm2020/lib/controls/dfs-modifiers-form/dfs-modifiers-form.component.mjs +4 -2
- package/esm2020/lib/controls/security-toggle/security-toggle.component.mjs +2 -2
- package/esm2020/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.mjs +9 -9
- package/esm2020/lib/dialogs/source-control-dialog/source-control-dialog.component.mjs +12 -12
- package/esm2020/lib/elements/main-feed-card/main-feed-card.component.mjs +3 -4
- package/esm2020/lib/elements/projects/controls/project-items/project-items.component.mjs +4 -2
- package/esm2020/lib/elements/projects/controls/tabs/devops/devops.component.mjs +4 -6
- package/esm2020/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.mjs +4 -2
- package/esm2020/lib/services/applications-flow.service.mjs +22 -2
- package/esm2020/lib/services/eac.service.mjs +13 -53
- package/esm2020/lib/services/project.service.mjs +81 -1
- package/fesm2015/lowcodeunit-applications-flow-common.mjs +150 -87
- package/fesm2015/lowcodeunit-applications-flow-common.mjs.map +1 -1
- package/fesm2020/lowcodeunit-applications-flow-common.mjs +148 -85
- package/fesm2020/lowcodeunit-applications-flow-common.mjs.map +1 -1
- package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts +1 -2
- package/lib/elements/main-feed-card/main-feed-card.component.d.ts +1 -1
- package/lib/services/applications-flow.service.d.ts +4 -0
- package/lib/services/eac.service.d.ts +4 -5
- package/lib/services/project.service.d.ts +4 -0
- package/package.json +1 -1
|
@@ -208,13 +208,33 @@ class ApplicationsFlowService {
|
|
|
208
208
|
headers: this.loadHeaders(),
|
|
209
209
|
});
|
|
210
210
|
}
|
|
211
|
+
DeleteApplication(appLookup) {
|
|
212
|
+
return this.http.delete(`${this.apiRoot}/api/lowcodeunit/manage/applications/${appLookup}`, {
|
|
213
|
+
headers: this.loadHeaders(),
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
DeleteDevOpsAction(doaLookup) {
|
|
217
|
+
return this.http.delete(`${this.apiRoot}/api/lowcodeunit/manage/devops-actions/${doaLookup}`, {
|
|
218
|
+
headers: this.loadHeaders(),
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
DeleteProject(projectLookup) {
|
|
222
|
+
return this.http.delete(`${this.apiRoot}/api/lowcodeunit/manage/projects/${projectLookup}`, {
|
|
223
|
+
headers: this.loadHeaders(),
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
DeleteSourceControl(scLookup) {
|
|
227
|
+
return this.http.delete(`${this.apiRoot}/api/lowcodeunit/manage/source-controls/${scLookup}`, {
|
|
228
|
+
headers: this.loadHeaders(),
|
|
229
|
+
});
|
|
230
|
+
}
|
|
211
231
|
EnsureUserEnterprise() {
|
|
212
232
|
return this.http.post(`${this.apiRoot}/api/lowcodeunit/manage/enterprise/ensure`, {}, {
|
|
213
233
|
headers: this.loadHeaders(),
|
|
214
234
|
});
|
|
215
235
|
}
|
|
216
236
|
EnterpriseAsCodeRemovals(removals) {
|
|
217
|
-
return this.http.post(`${this.apiRoot}/api/lowcodeunit/
|
|
237
|
+
return this.http.post(`${this.apiRoot}/api/lowcodeunit/manage/eac`, {
|
|
218
238
|
headers: this.loadHeaders(),
|
|
219
239
|
});
|
|
220
240
|
}
|
|
@@ -342,6 +362,86 @@ class ProjectService {
|
|
|
342
362
|
// }
|
|
343
363
|
// });
|
|
344
364
|
// }
|
|
365
|
+
async DeleteApplication(state, appLookup) {
|
|
366
|
+
return new Promise((resolve, reject) => {
|
|
367
|
+
state.Loading = true;
|
|
368
|
+
this.appsFlowSvc.DeleteApplication(appLookup).subscribe(async (response) => {
|
|
369
|
+
if (response.Status.Code === 0) {
|
|
370
|
+
const eac = await this.LoadEnterpriseAsCode(state);
|
|
371
|
+
resolve(eac);
|
|
372
|
+
}
|
|
373
|
+
else {
|
|
374
|
+
state.Loading = false;
|
|
375
|
+
reject(response.Status);
|
|
376
|
+
console.log(response);
|
|
377
|
+
}
|
|
378
|
+
}, (err) => {
|
|
379
|
+
state.Loading = false;
|
|
380
|
+
reject(err);
|
|
381
|
+
console.log(err);
|
|
382
|
+
});
|
|
383
|
+
});
|
|
384
|
+
}
|
|
385
|
+
DeleteDevOpsAction(state, doaLookup) {
|
|
386
|
+
return new Promise((resolve, reject) => {
|
|
387
|
+
state.Loading = true;
|
|
388
|
+
this.appsFlowSvc.DeleteDevOpsAction(doaLookup).subscribe(async (response) => {
|
|
389
|
+
if (response.Status.Code === 0) {
|
|
390
|
+
const eac = await this.LoadEnterpriseAsCode(state);
|
|
391
|
+
resolve(eac);
|
|
392
|
+
}
|
|
393
|
+
else {
|
|
394
|
+
state.Loading = false;
|
|
395
|
+
reject(response.Status);
|
|
396
|
+
console.log(response);
|
|
397
|
+
}
|
|
398
|
+
}, (err) => {
|
|
399
|
+
state.Loading = false;
|
|
400
|
+
reject(err);
|
|
401
|
+
console.log(err);
|
|
402
|
+
});
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
DeleteProject(state, projectLookup) {
|
|
406
|
+
return new Promise((resolve, reject) => {
|
|
407
|
+
state.Loading = true;
|
|
408
|
+
this.appsFlowSvc.DeleteProject(projectLookup).subscribe(async (response) => {
|
|
409
|
+
if (response.Status.Code === 0) {
|
|
410
|
+
const eac = await this.LoadEnterpriseAsCode(state);
|
|
411
|
+
resolve(eac);
|
|
412
|
+
}
|
|
413
|
+
else {
|
|
414
|
+
state.Loading = false;
|
|
415
|
+
reject(response.Status);
|
|
416
|
+
console.log(response);
|
|
417
|
+
}
|
|
418
|
+
}, (err) => {
|
|
419
|
+
state.Loading = false;
|
|
420
|
+
reject(err);
|
|
421
|
+
console.log(err);
|
|
422
|
+
});
|
|
423
|
+
});
|
|
424
|
+
}
|
|
425
|
+
DeleteSourceControl(state, scLookup) {
|
|
426
|
+
return new Promise((resolve, reject) => {
|
|
427
|
+
state.Loading = true;
|
|
428
|
+
this.appsFlowSvc.DeleteSourceControl(scLookup).subscribe(async (response) => {
|
|
429
|
+
if (response.Status.Code === 0) {
|
|
430
|
+
const eac = await this.LoadEnterpriseAsCode(state);
|
|
431
|
+
resolve(eac);
|
|
432
|
+
}
|
|
433
|
+
else {
|
|
434
|
+
state.Loading = false;
|
|
435
|
+
reject(response.Status);
|
|
436
|
+
console.log(response);
|
|
437
|
+
}
|
|
438
|
+
}, (err) => {
|
|
439
|
+
state.Loading = false;
|
|
440
|
+
reject(err);
|
|
441
|
+
console.log(err);
|
|
442
|
+
});
|
|
443
|
+
});
|
|
444
|
+
}
|
|
345
445
|
EnsureUserEnterprise(state) {
|
|
346
446
|
return new Promise((resolve, reject) => {
|
|
347
447
|
state.Loading = true;
|
|
@@ -836,62 +936,22 @@ class EaCService {
|
|
|
836
936
|
}
|
|
837
937
|
async DeleteApplication(appLookup, appName) {
|
|
838
938
|
if (confirm(`Are you sure you want to delete application '${appName}'?`)) {
|
|
839
|
-
|
|
840
|
-
EnterpriseLookup: this.State.EaC.EnterpriseLookup,
|
|
841
|
-
Applications: {},
|
|
842
|
-
};
|
|
843
|
-
eac.Applications[appLookup] = {
|
|
844
|
-
Application: {},
|
|
845
|
-
};
|
|
846
|
-
return await this.projectService.EnterpriseAsCodeRemovals(this.State, eac);
|
|
939
|
+
await this.projectService.DeleteApplication(this.State, appLookup);
|
|
847
940
|
}
|
|
848
941
|
}
|
|
849
|
-
async DeleteDevOpsAction(doaLookup
|
|
850
|
-
if (confirm(`Are you sure you want to delete
|
|
851
|
-
|
|
852
|
-
EnterpriseLookup: this.State.EaC.EnterpriseLookup,
|
|
853
|
-
Environments: {},
|
|
854
|
-
};
|
|
855
|
-
eac.Environments[this.State.EaC.Enterprise.PrimaryEnvironment] = {
|
|
856
|
-
DevOpsActions: {},
|
|
857
|
-
};
|
|
858
|
-
eac.Environments[this.State.EaC.Enterprise.PrimaryEnvironment].DevOpsActions[doaLookup] = {};
|
|
859
|
-
return await this.projectService.EnterpriseAsCodeRemovals(this.State, eac);
|
|
942
|
+
async DeleteDevOpsAction(doaLookup) {
|
|
943
|
+
if (confirm(`Are you sure you want to delete DevOps action '${doaLookup}'?`)) {
|
|
944
|
+
await this.projectService.DeleteDevOpsAction(this.State, doaLookup);
|
|
860
945
|
}
|
|
861
946
|
}
|
|
862
|
-
async
|
|
863
|
-
if (confirm(`Are you sure you want to delete
|
|
864
|
-
|
|
865
|
-
EnterpriseLookup: this.State.EaC.EnterpriseLookup,
|
|
866
|
-
Modifiers: {},
|
|
867
|
-
};
|
|
868
|
-
eac.Modifiers[modifierLookup] = {};
|
|
869
|
-
return await this.projectService.EnterpriseAsCodeRemovals(this.State, eac);
|
|
947
|
+
async DeleteProject(projectLookup) {
|
|
948
|
+
if (confirm(`Are you sure you want to delete Project '${projectLookup}'?`)) {
|
|
949
|
+
await this.projectService.DeleteProject(this.State, projectLookup);
|
|
870
950
|
}
|
|
871
951
|
}
|
|
872
|
-
async
|
|
873
|
-
if (confirm(`Are you sure you want to delete
|
|
874
|
-
|
|
875
|
-
EnterpriseLookup: this.State.EaC.EnterpriseLookup,
|
|
876
|
-
Projects: {},
|
|
877
|
-
};
|
|
878
|
-
eac.Projects[projectLookup] = {
|
|
879
|
-
Project: {},
|
|
880
|
-
};
|
|
881
|
-
return await this.projectService.EnterpriseAsCodeRemovals(this.State, eac);
|
|
882
|
-
}
|
|
883
|
-
}
|
|
884
|
-
async DeleteSourceControl(srcLookup, srcName) {
|
|
885
|
-
if (confirm(`Are you sure you want to delete Source Control '${srcName}'?`)) {
|
|
886
|
-
const eac = {
|
|
887
|
-
EnterpriseLookup: this.State.EaC.EnterpriseLookup,
|
|
888
|
-
Environments: {},
|
|
889
|
-
};
|
|
890
|
-
eac.Environments[this.State.EaC.Enterprise.PrimaryEnvironment] = {
|
|
891
|
-
Sources: {},
|
|
892
|
-
};
|
|
893
|
-
eac.Environments[this.State.EaC.Enterprise.PrimaryEnvironment].Sources[srcLookup] = {};
|
|
894
|
-
return await this.projectService.EnterpriseAsCodeRemovals(this.State, eac);
|
|
952
|
+
async DeleteSourceControl(scLookup) {
|
|
953
|
+
if (confirm(`Are you sure you want to delete Source Control '${scLookup}'?`)) {
|
|
954
|
+
await this.projectService.DeleteSourceControl(this.State, scLookup);
|
|
895
955
|
}
|
|
896
956
|
}
|
|
897
957
|
// this.appsFlowEventsSvc.EnsureUserEnterpriseEvent.subscribe(async () => {
|
|
@@ -901,7 +961,7 @@ class EaCService {
|
|
|
901
961
|
await this.projectService.EnsureUserEnterprise(this.State);
|
|
902
962
|
}
|
|
903
963
|
async EnterpriseAsCodeRemovals(eac) {
|
|
904
|
-
return this.projectService.EnterpriseAsCodeRemovals(this.State, eac);
|
|
964
|
+
return await this.projectService.EnterpriseAsCodeRemovals(this.State, eac);
|
|
905
965
|
}
|
|
906
966
|
async GetActiveEnterprise() {
|
|
907
967
|
await this.projectService.GetActiveEnterprise(this.State);
|
|
@@ -985,7 +1045,7 @@ class EaCService {
|
|
|
985
1045
|
saveEaC.Modifiers[req.ModifierLookups[0]] = req.Modifier;
|
|
986
1046
|
}
|
|
987
1047
|
if (req.ProjectLookups) {
|
|
988
|
-
req.ProjectLookups.forEach(
|
|
1048
|
+
req.ProjectLookups.forEach(lookup => {
|
|
989
1049
|
saveEaC.Projects[lookup] = {
|
|
990
1050
|
ModifierLookups: req.ModifierLookups,
|
|
991
1051
|
};
|
|
@@ -1057,7 +1117,9 @@ class ProjectItemsComponent {
|
|
|
1057
1117
|
}
|
|
1058
1118
|
// API Methods
|
|
1059
1119
|
DeleteProject(projectLookup, projectName) {
|
|
1060
|
-
|
|
1120
|
+
if (confirm(`Are you sure you want to delete project '${projectName}'?`)) {
|
|
1121
|
+
this.eacSvc.DeleteProject(projectLookup);
|
|
1122
|
+
}
|
|
1061
1123
|
}
|
|
1062
1124
|
GetPrimaryHost(project) {
|
|
1063
1125
|
return project.Hosts[project.Hosts.length - 1];
|
|
@@ -2467,11 +2529,9 @@ class DevOpsComponent {
|
|
|
2467
2529
|
this.SetEditingSourceControl(Guid.CreateRaw());
|
|
2468
2530
|
}
|
|
2469
2531
|
DeleteSourceControl(scLookup) {
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
// this.eacSvc.DeleteSourceControl(scLookup);
|
|
2474
|
-
// }
|
|
2532
|
+
if (confirm(`Are you sure you want to delete source control '${scLookup}'?`)) {
|
|
2533
|
+
this.eacSvc.DeleteSourceControl(scLookup);
|
|
2534
|
+
}
|
|
2475
2535
|
}
|
|
2476
2536
|
DevOpsActionLookupChanged(event) {
|
|
2477
2537
|
this.configureDevOpsAction();
|
|
@@ -2681,7 +2741,9 @@ class DFSModifiersComponent {
|
|
|
2681
2741
|
this.SetEditingModifier(Guid.CreateRaw());
|
|
2682
2742
|
}
|
|
2683
2743
|
DeleteModifier(modifierLookup, modifierName) {
|
|
2684
|
-
|
|
2744
|
+
if (confirm(`Are you sure you want to delete modifier '${modifierName}'?`)) {
|
|
2745
|
+
this.eacSvc.DeleteSourceControl(modifierLookup);
|
|
2746
|
+
}
|
|
2685
2747
|
}
|
|
2686
2748
|
SaveModifier(projectLookup = null) {
|
|
2687
2749
|
const saveMdfrReq = {
|
|
@@ -4183,22 +4245,22 @@ class SourceControlDialogComponent {
|
|
|
4183
4245
|
get State() {
|
|
4184
4246
|
return this.eacSvc.State;
|
|
4185
4247
|
}
|
|
4186
|
-
ngOnInit() {
|
|
4248
|
+
ngOnInit() {
|
|
4249
|
+
}
|
|
4187
4250
|
CloseDialog() {
|
|
4188
4251
|
this.dialogRef.close();
|
|
4189
4252
|
}
|
|
4190
|
-
DeleteSourceControl() {
|
|
4191
|
-
|
|
4192
|
-
.DeleteSourceControl(
|
|
4193
|
-
.then((status) => {
|
|
4253
|
+
DeleteSourceControl(scLookup) {
|
|
4254
|
+
if (confirm(`Are you sure you want to delete source control '${scLookup}'?`)) {
|
|
4255
|
+
this.eacSvc.DeleteSourceControl(scLookup);
|
|
4194
4256
|
this.CloseDialog();
|
|
4195
|
-
}
|
|
4257
|
+
}
|
|
4196
4258
|
}
|
|
4197
4259
|
HandleSaveStatusEvent(event) {
|
|
4198
|
-
console.log(
|
|
4260
|
+
console.log("event to save: ", event);
|
|
4199
4261
|
if (event.Code === 0) {
|
|
4200
|
-
this.snackBar.open(
|
|
4201
|
-
duration: 5000
|
|
4262
|
+
this.snackBar.open("Source Control Succesfully Saved", "Dismiss", {
|
|
4263
|
+
duration: 5000
|
|
4202
4264
|
});
|
|
4203
4265
|
this.CloseDialog();
|
|
4204
4266
|
}
|
|
@@ -4211,10 +4273,10 @@ class SourceControlDialogComponent {
|
|
|
4211
4273
|
}
|
|
4212
4274
|
}
|
|
4213
4275
|
SourceControlDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: SourceControlDialogComponent, deps: [{ token: i2$3.MatDialogRef }, { token: EaCService }, { token: MAT_DIALOG_DATA }, { token: i3$1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component });
|
|
4214
|
-
SourceControlDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: SourceControlDialogComponent, selector: "lcu-source-control-dialog", viewQueries: [{ propertyName: "DevopsSourceControl", first: true, predicate: DevopsSourceControlFormComponent, descendants: true }], ngImport: i0, template: "<div class=\"dialog-header\" fxLayoutAlign=\"space-between center\">\n
|
|
4276
|
+
SourceControlDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: SourceControlDialogComponent, selector: "lcu-source-control-dialog", viewQueries: [{ propertyName: "DevopsSourceControl", first: true, predicate: DevopsSourceControlFormComponent, descendants: true }], ngImport: i0, template: "\n<div class=\"dialog-header\" fxLayoutAlign=\"space-between center\">\n <h2 mat-dialog-title>Source Control</h2>\n <button mat-icon-button (click)=\"CloseDialog()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n\n <ng-container *ngIf=\"!HasConnection\">\n \n <lcu-git-auth></lcu-git-auth>\n\n </ng-container>\n\n <ng-conatiner *ngIf=\"HasConnection\" fxLayout=\"column\">\n\n <div fxLayoutAlign=\"center center\">\n <lcu-devops-source-control-form\n [environment]=\"data.environment\"\n [environment-lookup]=\"data.environmentLookup\"\n [editing-source-control-lookup]=\"data.scLookup\"\n (save-status-event)=\"HandleSaveStatusEvent($event)\">\n </lcu-devops-source-control-form>\n </div>\n \n <mat-error *ngIf=\"ErrorMessage\" fxLayoutAlign=\"center center\" >\n {{ ErrorMessage }}\n </mat-error>\n\n </ng-conatiner>\n\n</mat-dialog-content>\n\n<mat-dialog-actions \n class=\"actions-container\" \n div fxLayout=\"row\" \n fxLayoutAlign=\"space-between center\"\n \n>\n <div fxLayoutAlign=\"start center\">\n <button\n mat-raised-button\n color=\"warn\"\n (click)=\"DeleteSourceControl(data.scLookup)\"\n matTooltip=\"Delete {{ data.scLookup }}\"\n >\n Delete\n </button>\n </div>\n\n <div fxLayoutAlign=\"end center\">\n <button \n class=\"action-button\"\n mat-raised-button\n fxFlex=\"43%\"\n (click)=\"CloseDialog()\">\n Cancel\n\n </button>\n\n\n\n <button \n class=\"action-button\"\n mat-raised-button \n *ngIf=\"!State?.Loading\" \n fxFlex=\"30%\" \n color=\"primary\" \n (click)=\"SaveSourceControl()\"\n [disabled]=\"!DevOpsSourceControlFormGroup?.valid || !DevOpsSourceControlFormGroup?.dirty\">\n <!-- <mat-icon>save</mat-icon> -->\n Save\n </button>\n </div>\n\n</mat-dialog-actions>\n\n\n\n", styles: [".dialog-header{width:100%}.action-button{margin:0 10px}\n"], components: [{ type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: GitAuthComponent, selector: "lcu-git-auth" }, { type: DevopsSourceControlFormComponent, selector: "lcu-devops-source-control-form", inputs: ["editing-source-control-lookup", "environment", "environment-lookup"], outputs: ["save-status-event"] }], directives: [{ type: i8.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i2$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i2$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i4$1.MatError, selector: "mat-error", inputs: ["id"] }, { type: i2$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i11.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }] });
|
|
4215
4277
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: SourceControlDialogComponent, decorators: [{
|
|
4216
4278
|
type: Component,
|
|
4217
|
-
args: [{ selector: 'lcu-source-control-dialog', template: "<div class=\"dialog-header\" fxLayoutAlign=\"space-between center\">\n
|
|
4279
|
+
args: [{ selector: 'lcu-source-control-dialog', template: "\n<div class=\"dialog-header\" fxLayoutAlign=\"space-between center\">\n <h2 mat-dialog-title>Source Control</h2>\n <button mat-icon-button (click)=\"CloseDialog()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n\n <ng-container *ngIf=\"!HasConnection\">\n \n <lcu-git-auth></lcu-git-auth>\n\n </ng-container>\n\n <ng-conatiner *ngIf=\"HasConnection\" fxLayout=\"column\">\n\n <div fxLayoutAlign=\"center center\">\n <lcu-devops-source-control-form\n [environment]=\"data.environment\"\n [environment-lookup]=\"data.environmentLookup\"\n [editing-source-control-lookup]=\"data.scLookup\"\n (save-status-event)=\"HandleSaveStatusEvent($event)\">\n </lcu-devops-source-control-form>\n </div>\n \n <mat-error *ngIf=\"ErrorMessage\" fxLayoutAlign=\"center center\" >\n {{ ErrorMessage }}\n </mat-error>\n\n </ng-conatiner>\n\n</mat-dialog-content>\n\n<mat-dialog-actions \n class=\"actions-container\" \n div fxLayout=\"row\" \n fxLayoutAlign=\"space-between center\"\n \n>\n <div fxLayoutAlign=\"start center\">\n <button\n mat-raised-button\n color=\"warn\"\n (click)=\"DeleteSourceControl(data.scLookup)\"\n matTooltip=\"Delete {{ data.scLookup }}\"\n >\n Delete\n </button>\n </div>\n\n <div fxLayoutAlign=\"end center\">\n <button \n class=\"action-button\"\n mat-raised-button\n fxFlex=\"43%\"\n (click)=\"CloseDialog()\">\n Cancel\n\n </button>\n\n\n\n <button \n class=\"action-button\"\n mat-raised-button \n *ngIf=\"!State?.Loading\" \n fxFlex=\"30%\" \n color=\"primary\" \n (click)=\"SaveSourceControl()\"\n [disabled]=\"!DevOpsSourceControlFormGroup?.valid || !DevOpsSourceControlFormGroup?.dirty\">\n <!-- <mat-icon>save</mat-icon> -->\n Save\n </button>\n </div>\n\n</mat-dialog-actions>\n\n\n\n", styles: [".dialog-header{width:100%}.action-button{margin:0 10px}\n"] }]
|
|
4218
4280
|
}], ctorParameters: function () { return [{ type: i2$3.MatDialogRef }, { type: EaCService }, { type: undefined, decorators: [{
|
|
4219
4281
|
type: Inject,
|
|
4220
4282
|
args: [MAT_DIALOG_DATA]
|
|
@@ -4291,21 +4353,20 @@ class MainFeedCardComponent {
|
|
|
4291
4353
|
}
|
|
4292
4354
|
else if (action.ActionType == 'Modal') {
|
|
4293
4355
|
if (action.Action == 'AddSourceControl') {
|
|
4294
|
-
this.OpenSourceControlDialog(null
|
|
4356
|
+
this.OpenSourceControlDialog(null);
|
|
4295
4357
|
}
|
|
4296
4358
|
else {
|
|
4297
4359
|
alert('other modaled ' + action.Action);
|
|
4298
4360
|
}
|
|
4299
4361
|
}
|
|
4300
4362
|
}
|
|
4301
|
-
OpenSourceControlDialog(scLookup
|
|
4363
|
+
OpenSourceControlDialog(scLookup) {
|
|
4302
4364
|
const dialogRef = this.dialog.open(SourceControlDialogComponent, {
|
|
4303
4365
|
width: '550px',
|
|
4304
4366
|
data: {
|
|
4305
4367
|
environment: this.Environment,
|
|
4306
4368
|
environmentLookup: this.ActiveEnvironmentLookup,
|
|
4307
4369
|
scLookup: scLookup,
|
|
4308
|
-
scName: scName,
|
|
4309
4370
|
},
|
|
4310
4371
|
});
|
|
4311
4372
|
dialogRef.afterClosed().subscribe((result) => {
|
|
@@ -4456,10 +4517,10 @@ class SecurityToggleComponent {
|
|
|
4456
4517
|
}
|
|
4457
4518
|
}
|
|
4458
4519
|
SecurityToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: SecurityToggleComponent, deps: [{ token: EaCService }, { token: i1$2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
4459
|
-
SecurityToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: SecurityToggleComponent, selector: "lcu-security-toggle", inputs: { EditingApplication: ["editing-application", "EditingApplication"] }, outputs: { SaveFormEvent: "save-form-event" }, ngImport: i0, template: "<form\n class=\"security-form\"\n [formGroup]=\"SecurityFormGroup\"\n (ngSubmit)=\"SecuritySubmit()\"\n>\n <mat-card class=\"flow-card\">\n <!-- SKELETON LOADING -->\n <ng-container *ngIf=\"State?.Loading\">\n <mat-card-header fxLayoutAlign=\"space-between center\">\n <mat-card-title skeleton-text [effect]=\"SkeletonEffect\">\n Security Settings\n </mat-card-title>\n <div fxLayoutAlign=\"space-around center\">\n <div skeleton-text [effect]=\"SkeletonEffect\">XXX</div>\n\n <mat-icon skeleton-text [effect]=\"SkeletonEffect\">\n info_outline\n </mat-icon>\n </div>\n </mat-card-header>\n\n <mat-card-actions fxLayoutAlign=\"center center\">\n <div\n fxFlex=\"100%\"\n skeleton-text\n [effect]=\"SkeletonEffect\"\n fxLayoutAlign=\"center center\"\n >\n <mat-icon skeleton-text [effect]=\"SkeletonEffect\"> save </mat-icon>\n\n Save Settings\n </div>\n </mat-card-actions>\n </ng-container>\n <!-- END SKELETON LOADING -->\n\n <!-- BEGIN ACTUAL CONTENT -->\n\n <ng-container *ngIf=\"!State?.Loading\">\n <mat-card-header>\n <mat-card-title> Security Settings </mat-card-title>\n\n <div fxFlex></div>\n\n <mat-slide-toggle\n formControlName=\"isPrivate\"\n matTooltip=\"Is Secure Application?\"\n >\n </mat-slide-toggle>\n\n <mat-icon\n matSuffix\n matTooltip=\"A Secured Application is one that requires the user to be authenticated to use the application. The application is hosted behind an identity wall.\"\n >\n info_outline\n </mat-icon>\n </mat-card-header>\n\n <mat-card-content>\n <div>\n <div *ngIf=\"IsPrivateFormControl.value\">\n <div>\n <mat-slide-toggle formControlName=\"isTriggerSignIn\">\n Is Trigger Sign In Application?\n </mat-slide-toggle>\n\n <mat-icon\n matSuffix\n matTooltip=\"A Trigger Sign In Application will direct the user to sign in if they are not already.\"\n >\n info_outline\n </mat-icon>\n </div>\n </div>\n </div>\n </mat-card-content>\n\n <mat-card-actions fxLayoutAlign=\"center center\">\n <button\n mat-raised-button\n type=\"submit\"\n fxFlex=\"100%\"\n color=\"primary\"\n [disabled]=\"!SecurityFormGroup.valid || !SecurityFormGroup.dirty\"\n >\n <mat-icon>save</mat-icon>\n Save Settings\n </button>\n </mat-card-actions>\n </ng-container>\n </mat-card>\n</form>\n", styles: ["
|
|
4520
|
+
SecurityToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: SecurityToggleComponent, selector: "lcu-security-toggle", inputs: { EditingApplication: ["editing-application", "EditingApplication"] }, outputs: { SaveFormEvent: "save-form-event" }, ngImport: i0, template: "<form\n class=\"security-form\"\n [formGroup]=\"SecurityFormGroup\"\n (ngSubmit)=\"SecuritySubmit()\"\n>\n <mat-card class=\"flow-card\">\n <!-- SKELETON LOADING -->\n <ng-container *ngIf=\"State?.Loading\">\n <mat-card-header fxLayoutAlign=\"space-between center\">\n <mat-card-title skeleton-text [effect]=\"SkeletonEffect\">\n Security Settings\n </mat-card-title>\n <div fxLayoutAlign=\"space-around center\">\n <div skeleton-text [effect]=\"SkeletonEffect\">XXX</div>\n\n <mat-icon skeleton-text [effect]=\"SkeletonEffect\">\n info_outline\n </mat-icon>\n </div>\n </mat-card-header>\n\n <mat-card-actions fxLayoutAlign=\"center center\">\n <div\n fxFlex=\"100%\"\n skeleton-text\n [effect]=\"SkeletonEffect\"\n fxLayoutAlign=\"center center\"\n >\n <mat-icon skeleton-text [effect]=\"SkeletonEffect\"> save </mat-icon>\n\n Save Settings\n </div>\n </mat-card-actions>\n </ng-container>\n <!-- END SKELETON LOADING -->\n\n <!-- BEGIN ACTUAL CONTENT -->\n\n <ng-container *ngIf=\"!State?.Loading\">\n <mat-card-header>\n <mat-card-title> Security Settings </mat-card-title>\n\n <div fxFlex></div>\n\n <mat-slide-toggle\n formControlName=\"isPrivate\"\n matTooltip=\"Is Secure Application?\"\n >\n </mat-slide-toggle>\n\n <mat-icon\n matSuffix\n matTooltip=\"A Secured Application is one that requires the user to be authenticated to use the application. The application is hosted behind an identity wall.\"\n >\n info_outline\n </mat-icon>\n </mat-card-header>\n\n <mat-card-content>\n <div>\n <div *ngIf=\"IsPrivateFormControl.value\">\n <div>\n <mat-slide-toggle formControlName=\"isTriggerSignIn\">\n Is Trigger Sign In Application?\n </mat-slide-toggle>\n\n <mat-icon\n matSuffix\n matTooltip=\"A Trigger Sign In Application will direct the user to sign in if they are not already.\"\n >\n info_outline\n </mat-icon>\n </div>\n </div>\n </div>\n </mat-card-content>\n\n <mat-card-actions fxLayoutAlign=\"center center\">\n <button\n mat-raised-button\n type=\"submit\"\n fxFlex=\"100%\"\n color=\"primary\"\n [disabled]=\"!SecurityFormGroup.valid || !SecurityFormGroup.dirty\"\n >\n <mat-icon>save</mat-icon>\n Save Settings\n </button>\n </mat-card-actions>\n </ng-container>\n </mat-card>\n</form>\n", styles: [".flow-card{margin:32px 20px}\n"], components: [{ type: i1$1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i1$1.MatCardHeader, selector: "mat-card-header" }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5$2.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i1$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i4$3.SkeletonTextDirective, selector: "[skeleton-text]", inputs: ["effect"] }, { type: i1$1.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i11.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4$1.MatSuffix, selector: "[matSuffix]" }, { type: i1$1.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }] });
|
|
4460
4521
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: SecurityToggleComponent, decorators: [{
|
|
4461
4522
|
type: Component,
|
|
4462
|
-
args: [{ selector: 'lcu-security-toggle', template: "<form\n class=\"security-form\"\n [formGroup]=\"SecurityFormGroup\"\n (ngSubmit)=\"SecuritySubmit()\"\n>\n <mat-card class=\"flow-card\">\n <!-- SKELETON LOADING -->\n <ng-container *ngIf=\"State?.Loading\">\n <mat-card-header fxLayoutAlign=\"space-between center\">\n <mat-card-title skeleton-text [effect]=\"SkeletonEffect\">\n Security Settings\n </mat-card-title>\n <div fxLayoutAlign=\"space-around center\">\n <div skeleton-text [effect]=\"SkeletonEffect\">XXX</div>\n\n <mat-icon skeleton-text [effect]=\"SkeletonEffect\">\n info_outline\n </mat-icon>\n </div>\n </mat-card-header>\n\n <mat-card-actions fxLayoutAlign=\"center center\">\n <div\n fxFlex=\"100%\"\n skeleton-text\n [effect]=\"SkeletonEffect\"\n fxLayoutAlign=\"center center\"\n >\n <mat-icon skeleton-text [effect]=\"SkeletonEffect\"> save </mat-icon>\n\n Save Settings\n </div>\n </mat-card-actions>\n </ng-container>\n <!-- END SKELETON LOADING -->\n\n <!-- BEGIN ACTUAL CONTENT -->\n\n <ng-container *ngIf=\"!State?.Loading\">\n <mat-card-header>\n <mat-card-title> Security Settings </mat-card-title>\n\n <div fxFlex></div>\n\n <mat-slide-toggle\n formControlName=\"isPrivate\"\n matTooltip=\"Is Secure Application?\"\n >\n </mat-slide-toggle>\n\n <mat-icon\n matSuffix\n matTooltip=\"A Secured Application is one that requires the user to be authenticated to use the application. The application is hosted behind an identity wall.\"\n >\n info_outline\n </mat-icon>\n </mat-card-header>\n\n <mat-card-content>\n <div>\n <div *ngIf=\"IsPrivateFormControl.value\">\n <div>\n <mat-slide-toggle formControlName=\"isTriggerSignIn\">\n Is Trigger Sign In Application?\n </mat-slide-toggle>\n\n <mat-icon\n matSuffix\n matTooltip=\"A Trigger Sign In Application will direct the user to sign in if they are not already.\"\n >\n info_outline\n </mat-icon>\n </div>\n </div>\n </div>\n </mat-card-content>\n\n <mat-card-actions fxLayoutAlign=\"center center\">\n <button\n mat-raised-button\n type=\"submit\"\n fxFlex=\"100%\"\n color=\"primary\"\n [disabled]=\"!SecurityFormGroup.valid || !SecurityFormGroup.dirty\"\n >\n <mat-icon>save</mat-icon>\n Save Settings\n </button>\n </mat-card-actions>\n </ng-container>\n </mat-card>\n</form>\n", styles: ["
|
|
4523
|
+
args: [{ selector: 'lcu-security-toggle', template: "<form\n class=\"security-form\"\n [formGroup]=\"SecurityFormGroup\"\n (ngSubmit)=\"SecuritySubmit()\"\n>\n <mat-card class=\"flow-card\">\n <!-- SKELETON LOADING -->\n <ng-container *ngIf=\"State?.Loading\">\n <mat-card-header fxLayoutAlign=\"space-between center\">\n <mat-card-title skeleton-text [effect]=\"SkeletonEffect\">\n Security Settings\n </mat-card-title>\n <div fxLayoutAlign=\"space-around center\">\n <div skeleton-text [effect]=\"SkeletonEffect\">XXX</div>\n\n <mat-icon skeleton-text [effect]=\"SkeletonEffect\">\n info_outline\n </mat-icon>\n </div>\n </mat-card-header>\n\n <mat-card-actions fxLayoutAlign=\"center center\">\n <div\n fxFlex=\"100%\"\n skeleton-text\n [effect]=\"SkeletonEffect\"\n fxLayoutAlign=\"center center\"\n >\n <mat-icon skeleton-text [effect]=\"SkeletonEffect\"> save </mat-icon>\n\n Save Settings\n </div>\n </mat-card-actions>\n </ng-container>\n <!-- END SKELETON LOADING -->\n\n <!-- BEGIN ACTUAL CONTENT -->\n\n <ng-container *ngIf=\"!State?.Loading\">\n <mat-card-header>\n <mat-card-title> Security Settings </mat-card-title>\n\n <div fxFlex></div>\n\n <mat-slide-toggle\n formControlName=\"isPrivate\"\n matTooltip=\"Is Secure Application?\"\n >\n </mat-slide-toggle>\n\n <mat-icon\n matSuffix\n matTooltip=\"A Secured Application is one that requires the user to be authenticated to use the application. The application is hosted behind an identity wall.\"\n >\n info_outline\n </mat-icon>\n </mat-card-header>\n\n <mat-card-content>\n <div>\n <div *ngIf=\"IsPrivateFormControl.value\">\n <div>\n <mat-slide-toggle formControlName=\"isTriggerSignIn\">\n Is Trigger Sign In Application?\n </mat-slide-toggle>\n\n <mat-icon\n matSuffix\n matTooltip=\"A Trigger Sign In Application will direct the user to sign in if they are not already.\"\n >\n info_outline\n </mat-icon>\n </div>\n </div>\n </div>\n </mat-card-content>\n\n <mat-card-actions fxLayoutAlign=\"center center\">\n <button\n mat-raised-button\n type=\"submit\"\n fxFlex=\"100%\"\n color=\"primary\"\n [disabled]=\"!SecurityFormGroup.valid || !SecurityFormGroup.dirty\"\n >\n <mat-icon>save</mat-icon>\n Save Settings\n </button>\n </mat-card-actions>\n </ng-container>\n </mat-card>\n</form>\n", styles: [".flow-card{margin:32px 20px}\n"] }]
|
|
4463
4524
|
}], ctorParameters: function () { return [{ type: EaCService }, { type: i1$2.FormBuilder }]; }, propDecorators: { EditingApplication: [{
|
|
4464
4525
|
type: Input,
|
|
4465
4526
|
args: ['editing-application']
|
|
@@ -5184,22 +5245,22 @@ class BuildPipelineDialogComponent {
|
|
|
5184
5245
|
get State() {
|
|
5185
5246
|
return this.eacSvc.State;
|
|
5186
5247
|
}
|
|
5187
|
-
ngOnInit() {
|
|
5248
|
+
ngOnInit() {
|
|
5249
|
+
}
|
|
5188
5250
|
CloseDialog() {
|
|
5189
5251
|
this.dialogRef.close();
|
|
5190
5252
|
}
|
|
5191
5253
|
DeleteDevOpsAction() {
|
|
5192
|
-
this.
|
|
5193
|
-
.DeleteDevOpsAction(this.data.devopsActionLookup
|
|
5194
|
-
.then((status) => {
|
|
5254
|
+
if (confirm(`Are you sure you want to delete build pipeline '${this.data.doaName}'?`)) {
|
|
5255
|
+
this.eacSvc.DeleteDevOpsAction(this.data.devopsActionLookup);
|
|
5195
5256
|
this.CloseDialog();
|
|
5196
|
-
}
|
|
5257
|
+
}
|
|
5197
5258
|
}
|
|
5198
5259
|
HandleResponseEvent(event) {
|
|
5199
|
-
console.log(
|
|
5260
|
+
console.log("Response Event: ", event);
|
|
5200
5261
|
if (event.Code === 0) {
|
|
5201
|
-
this.snackBar.open(
|
|
5202
|
-
duration: 5000
|
|
5262
|
+
this.snackBar.open("Build Pipeline Created Succesfully", "Dismiss", {
|
|
5263
|
+
duration: 5000
|
|
5203
5264
|
});
|
|
5204
5265
|
this.CloseDialog();
|
|
5205
5266
|
}
|
|
@@ -6339,7 +6400,9 @@ class DFSModifiersFormComponent {
|
|
|
6339
6400
|
this.SetEditingModifier(Guid.CreateRaw());
|
|
6340
6401
|
}
|
|
6341
6402
|
DeleteModifier(modifierLookup, modifierName) {
|
|
6342
|
-
|
|
6403
|
+
if (confirm(`Are you sure you want to delete modifier '${modifierName}'?`)) {
|
|
6404
|
+
this.eacSvc.DeleteSourceControl(modifierLookup);
|
|
6405
|
+
}
|
|
6343
6406
|
}
|
|
6344
6407
|
SaveModifierForAllProjects(projectLookups) {
|
|
6345
6408
|
const saveMdfrReq = {
|