@lowcodeunit/applications-flow-common 1.33.114-lets-get-social-ish → 1.33.118-lets-get-social-ish

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/bundles/lowcodeunit-applications-flow-common.umd.js +217 -62
  2. package/bundles/lowcodeunit-applications-flow-common.umd.js.map +1 -1
  3. package/bundles/lowcodeunit-applications-flow-common.umd.min.js +1 -1
  4. package/bundles/lowcodeunit-applications-flow-common.umd.min.js.map +1 -1
  5. package/esm2015/lib/applications-flow.module.js +8 -4
  6. package/esm2015/lib/controls/build-pipeline-form/build-pipeline-form.component.js +33 -49
  7. package/esm2015/lib/controls/processor-details-form/processor-details-form.component.js +15 -8
  8. package/esm2015/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.js +2 -2
  9. package/esm2015/lib/elements/breadcrumb/breadcrumb.component.js +115 -0
  10. package/esm2015/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.js +1 -2
  11. package/esm2015/lib/services/applications-flow.service.js +3 -5
  12. package/esm2015/lowcodeunit-applications-flow-common.js +2 -1
  13. package/fesm2015/lowcodeunit-applications-flow-common.js +166 -63
  14. package/fesm2015/lowcodeunit-applications-flow-common.js.map +1 -1
  15. package/lib/applications-flow.module.d.ts.map +1 -1
  16. package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts +2 -2
  17. package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts.map +1 -1
  18. package/lib/controls/processor-details-form/processor-details-form.component.d.ts +1 -0
  19. package/lib/controls/processor-details-form/processor-details-form.component.d.ts.map +1 -1
  20. package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts +0 -1
  21. package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts.map +1 -1
  22. package/lib/elements/breadcrumb/breadcrumb.component.d.ts +33 -0
  23. package/lib/elements/breadcrumb/breadcrumb.component.d.ts.map +1 -0
  24. package/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts.map +1 -1
  25. package/lib/services/applications-flow.service.d.ts +1 -1
  26. package/lib/services/applications-flow.service.d.ts.map +1 -1
  27. package/lowcodeunit-applications-flow-common.d.ts +1 -0
  28. package/lowcodeunit-applications-flow-common.d.ts.map +1 -1
  29. package/lowcodeunit-applications-flow-common.metadata.json +1 -1
  30. package/package.json +1 -1
@@ -598,10 +598,8 @@
598
598
  headers: this.loadHeaders(),
599
599
  });
600
600
  };
601
- ApplicationsFlowService.prototype.UserFeed = function () {
602
- return this.http.post(this.apiRoot + "/api/lowcodeunit/userfeed", {}, {
603
- headers: this.loadHeaders(),
604
- });
601
+ ApplicationsFlowService.prototype.UserFeed = function (page, pageSize) {
602
+ return this.http.get(this.apiRoot + "/api/lowcodeunit/userfeed?page=" + page + "&pageSize=" + pageSize, {});
605
603
  };
606
604
  // Helpers
607
605
  ApplicationsFlowService.prototype.loadHeaders = function () {
@@ -1786,7 +1784,6 @@
1786
1784
  HostingDetailsFormGroupComponent.prototype.ngOnChanges = function () { };
1787
1785
  HostingDetailsFormGroupComponent.prototype.ngOnInit = function () {
1788
1786
  var _a, _b, _c;
1789
- console.log("made it to hosting details");
1790
1787
  this.BuildPipeline =
1791
1788
  this.BuildPipeline || ((_a = this.Details) === null || _a === void 0 ? void 0 : _a.HostingOptions)
1792
1789
  ? (_c = (_b = this.Details) === null || _b === void 0 ? void 0 : _b.HostingOptions[0]) === null || _c === void 0 ? void 0 : _c.Lookup : '';
@@ -5112,7 +5109,7 @@
5112
5109
  this.formBldr = formBldr;
5113
5110
  this.eacSvc = eacSvc;
5114
5111
  this.redirectTooltip = '';
5115
- this.SaveFormEvent = new i0.EventEmitter;
5112
+ this.SaveFormEvent = new i0.EventEmitter();
5116
5113
  }
5117
5114
  Object.defineProperty(ProcessorDetailsFormComponent.prototype, "APIRootFormControl", {
5118
5115
  get: function () {
@@ -5301,7 +5298,7 @@
5301
5298
  this.setupProcessorDetailsForm();
5302
5299
  };
5303
5300
  ProcessorDetailsFormComponent.prototype.SubmitProcessorDetails = function () {
5304
- console.log("submitting proc details: ", this.ProcessorDetailsFormGroup.value);
5301
+ console.log('submitting proc details: ', this.ProcessorDetailsFormGroup.value);
5305
5302
  this.SaveFormEvent.emit(this.ProcessorDetailsFormGroup.value);
5306
5303
  };
5307
5304
  ProcessorDetailsFormComponent.prototype.ProcessorTypeChanged = function (event) {
@@ -5356,6 +5353,9 @@
5356
5353
  case 'GitHubOAuth':
5357
5354
  this.setupLCUGitHubOAuthForm();
5358
5355
  break;
5356
+ case 'WordPress':
5357
+ this.setupLCUWordPressForm();
5358
+ break;
5359
5359
  // case 'NPM':
5360
5360
  // this.setupLCUNPMForm();
5361
5361
  // break;
@@ -5371,10 +5371,10 @@
5371
5371
  ProcessorDetailsFormComponent.prototype.setupProcessorDetailsForm = function () {
5372
5372
  var _a, _b;
5373
5373
  this.ProcessorType = ((_b = (_a = this.EditingApplication) === null || _a === void 0 ? void 0 : _a.Processor) === null || _b === void 0 ? void 0 : _b.Type) || '';
5374
- console.log("EDITING APP = ", this.EditingApplication);
5374
+ console.log('EDITING APP = ', this.EditingApplication);
5375
5375
  if (this.EditingApplication != null) {
5376
5376
  this.ProcessorDetailsFormGroup = this.formBldr.group({
5377
- procType: [this.ProcessorType, [forms.Validators.required]]
5377
+ procType: [this.ProcessorType, [forms.Validators.required]],
5378
5378
  });
5379
5379
  this.setupDfsForm();
5380
5380
  this.setupLcuTypeSubForm();
@@ -5419,6 +5419,10 @@
5419
5419
  this.ProcessorDetailsFormGroup.addControl('clientId', this.formBldr.control(((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.ClientID) || '', [forms.Validators.required]));
5420
5420
  this.ProcessorDetailsFormGroup.addControl('clientSecret', this.formBldr.control(((_b = this.EditingApplication.LowCodeUnit) === null || _b === void 0 ? void 0 : _b.ClientSecret) || '', [forms.Validators.required]));
5421
5421
  };
5422
+ ProcessorDetailsFormComponent.prototype.setupLCUWordPressForm = function () {
5423
+ var _a;
5424
+ this.ProcessorDetailsFormGroup.addControl('apiRoot', this.formBldr.control(((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.APIRoot) || '', [forms.Validators.required]));
5425
+ };
5422
5426
  ProcessorDetailsFormComponent.prototype.setupProxyForm = function () {
5423
5427
  var _a, _b;
5424
5428
  this.LCUType = ((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.Type) || '';
@@ -5477,7 +5481,7 @@
5477
5481
  ProcessorDetailsFormComponent.decorators = [
5478
5482
  { type: i0.Component, args: [{
5479
5483
  selector: 'lcu-processor-details-form',
5480
- 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 \n <div>\n <mat-slide-toggle \n class=\"spread\" \n formControlName=\"includeRequest\">\n Include Path and Query?\n </mat-slide-toggle>\n\n <mat-icon\n class=\"spread\"\n matSuffix\n matTooltip=\"Should the redirect include the path and query?\"\n >\n info_outline\n </mat-icon>\n </div>\n </div>\n </div>\n </mat-card-content>\n <mat-card-actions fxLayoutAlign=\"center center\">\n\n <button \n mat-raised-button \n type=\"submit\" \n fxFlex=\"100%\" \n color=\"primary\" \n [disabled]=\"!ProcessorDetailsFormGroup.valid || !ProcessorDetailsFormGroup.dirty\">\n <mat-icon>save</mat-icon>\n Save Processor Details\n </button>\n\n </mat-card-actions>\n</mat-card>\n</form>\n \n",
5484
+ 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=\"WordPress\">WordPress</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\n <div *ngSwitchCase=\"'WordPress'\">\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 </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 \n <div>\n <mat-slide-toggle \n class=\"spread\" \n formControlName=\"includeRequest\">\n Include Path and Query?\n </mat-slide-toggle>\n\n <mat-icon\n class=\"spread\"\n matSuffix\n matTooltip=\"Should the redirect include the path and query?\"\n >\n info_outline\n </mat-icon>\n </div>\n </div>\n </div>\n </mat-card-content>\n <mat-card-actions fxLayoutAlign=\"center center\">\n\n <button \n mat-raised-button \n type=\"submit\" \n fxFlex=\"100%\" \n color=\"primary\" \n [disabled]=\"!ProcessorDetailsFormGroup.valid || !ProcessorDetailsFormGroup.dirty\">\n <mat-icon>save</mat-icon>\n Save Processor Details\n </button>\n\n </mat-card-actions>\n</mat-card>\n</form>\n \n",
5481
5485
  styles: [""]
5482
5486
  },] }
5483
5487
  ];
@@ -5577,12 +5581,6 @@
5577
5581
  this.HostingDetails = new ProjectHostingDetails();
5578
5582
  }
5579
5583
  Object.defineProperty(BuildPipelineFormComponent.prototype, "Artifact", {
5580
- // @Input('main-branch')
5581
- // public MainBranch: string;
5582
- // @Input('organization')
5583
- // public Organization: string;
5584
- // @Input('repository')
5585
- // public Repository: string;
5586
5584
  get: function () {
5587
5585
  var _a, _b;
5588
5586
  // console.log("ARTIFACT: ", this.Environment?.Artifacts[this.ArtifactLookup]);
@@ -5605,7 +5603,7 @@
5605
5603
  Object.defineProperty(BuildPipelineFormComponent.prototype, "BuildPipelineFormControl", {
5606
5604
  get: function () {
5607
5605
  var _a;
5608
- return (_a = this.BuildPipelineFormGroup) === null || _a === void 0 ? void 0 : _a.controls.buildPipeline;
5606
+ return (_a = this.BuildPipelineFormGroup) === null || _a === void 0 ? void 0 : _a.get('buildPipeline');
5609
5607
  },
5610
5608
  enumerable: false,
5611
5609
  configurable: true
@@ -5678,24 +5676,30 @@
5678
5676
  configurable: true
5679
5677
  });
5680
5678
  BuildPipelineFormComponent.prototype.ngOnInit = function () {
5681
- this.BuildPipelineFormGroup = this.formBuilder.group({});
5682
- if (this.BuildPipelineFormGroup != null) {
5683
- this.BuildPipelineFormGroup.removeControl('hostingDetails');
5684
- }
5685
- this.BuildPipelineFormGroup.addControl('hostingDetails', this.formBuilder.group({
5679
+ // console.log('BuildPipeline = ', this.BuildPipeline)
5680
+ // this.BuildPipelineFormGroup = this.formBuilder.group({});
5681
+ // if (this.BuildPipelineFormGroup != null) {
5682
+ // this.BuildPipelineFormGroup.removeControl('hostingDetails');
5683
+ // }
5684
+ // this.BuildPipelineFormGroup.addControl(
5685
+ // 'hostingDetails',
5686
+ this.BuildPipelineFormGroup = this.formBuilder.group({
5686
5687
  buildPipeline: [this.BuildPipeline, [forms.Validators.required]],
5687
- }));
5688
+ });
5689
+ // );
5688
5690
  this.loadProjectHostingDetails();
5691
+ // this.setupControlsForForm();
5689
5692
  };
5690
5693
  //API METHODS
5691
5694
  BuildPipelineFormComponent.prototype.BuildPipelineChanged = function () {
5692
- var _a, _b;
5693
- console.log("build pipeline value: ", (_a = this.BuildPipelineFormControl) === null || _a === void 0 ? void 0 : _a.value);
5694
- this.BuildPipeline = (_b = this.BuildPipelineFormControl) === null || _b === void 0 ? void 0 : _b.value;
5695
+ var _a;
5696
+ //for some reason this value is coming back undefined
5697
+ // console.log("build pipeline value: ", this.BuildPipelineFormControl?.value)
5698
+ this.BuildPipeline = (_a = this.BuildPipelineFormControl) === null || _a === void 0 ? void 0 : _a.value;
5695
5699
  this.setupControlsForForm();
5696
5700
  };
5697
5701
  BuildPipelineFormComponent.prototype.SubmitBuildPipeline = function () {
5698
- console.log("submitting build pipeline: ", this.BuildPipelineFormGroup.value);
5702
+ // console.log("submitting build pipeline: ", this.BuildPipelineFormGroup.value);
5699
5703
  this.SaveEnvironment();
5700
5704
  };
5701
5705
  BuildPipelineFormComponent.prototype.SaveEnvironment = function () {
@@ -5741,37 +5745,27 @@
5741
5745
  var doa = Object.assign(Object.assign({}, this.DevOpsAction), { Name: this.DevOpsActionNameFormControl.value });
5742
5746
  saveEnvReq.Environment.DevOpsActions[devOpsActionLookup] = doa;
5743
5747
  }
5744
- // let source: EaCSourceControl = {
5745
- // ...this.EditingSourceControl,
5746
- // Branches: this.EditingSourceControl.SelectedBranches,
5747
- // MainBranch: this.EditingSourceControl.MainBranchFormControl.value,
5748
- // };
5749
- // source = {
5750
- // ...source,
5751
- // Type: 'GitHub',
5752
- // Name: this.EditingSourceControlLookup,
5753
- // DevOpsActionTriggerLookups: [devOpsActionLookup],
5754
- // Organization:
5755
- // this.EditingSourceControl.OrganizationFormControl.value,
5756
- // Repository: this.EditingSourceControl.RepositoryFormControl.value,
5757
- // };
5758
- // const scLookup = `github://${source.Organization}/${source.Repository}`;
5759
- // saveEnvReq.Environment.Sources[scLookup] = source;
5760
5748
  this.eacSvc.SaveEnvironmentAsCode(saveEnvReq);
5761
5749
  };
5762
5750
  // Helpers
5763
5751
  BuildPipelineFormComponent.prototype.setupControlsForForm = function () {
5764
5752
  var _this = this;
5753
+ // this.BuildPipeline =
5754
+ // this.BuildPipeline || this.HostingDetails?.HostingOptions
5755
+ // ? this.HostingDetails?.HostingOptions[0]?.Lookup
5756
+ // : '';
5765
5757
  var _a, _b, _c, _d, _e, _f;
5758
+ // console.log("hosting details: ", this.HostingDetails)
5766
5759
  for (var ctrlName in this.BuildPipelineFormGroup.controls) {
5767
5760
  //devOpsAction doesn't exist
5768
5761
  //removes hosting details
5769
5762
  if (ctrlName !== 'buildPipeline' && ctrlName !== 'devOpsAction') {
5770
- console.log("removing control: ", ctrlName);
5763
+ // console.log("removing control: ", ctrlName)
5771
5764
  this.BuildPipelineFormGroup.removeControl(ctrlName);
5772
5765
  }
5773
5766
  }
5774
5767
  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]));
5768
+ // console.log("selected hosting options: ", this.SelectedHostingOption.Inputs);
5775
5769
  (_d = (_c = this.SelectedHostingOption) === null || _c === void 0 ? void 0 : _c.Inputs) === null || _d === void 0 ? void 0 : _d.forEach(function (input) {
5776
5770
  var validators = input.Required ? [forms.Validators.required] : [];
5777
5771
  _this.BuildPipelineFormGroup.addControl(input.Lookup, _this.formBuilder.control(_this.Artifact[input.Lookup] || input.DefaultValue || '', validators));
@@ -5796,22 +5790,16 @@
5796
5790
  BuildPipelineFormComponent.prototype.loadProjectHostingDetails = function () {
5797
5791
  var _this = this;
5798
5792
  this.HostingDetails.Loading = true;
5799
- // this.Organization,
5800
- // this.Repository,
5801
- // this.MainBranch
5802
- // "powhound4",
5803
- // "RedwoodCrystals",
5804
- // "master"
5805
5793
  this.appsFlowSvc
5806
5794
  .NewLoadProjectHostingDetails()
5807
5795
  .subscribe(function (response) {
5808
- var _a, _b, _c;
5796
+ var _a, _b;
5809
5797
  _this.HostingDetails = response.Model;
5810
- console.log("response: ", response);
5798
+ // console.log("response: ", response);
5811
5799
  _this.HostingDetails.Loading = false;
5812
- _this.BuildPipeline =
5813
- ((_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 : '';
5814
- console.log("Build Pipeline HERE= ", _this.BuildPipeline);
5800
+ var hostOption = (_b = (_a = _this.HostingDetails) === null || _a === void 0 ? void 0 : _a.HostingOptions) === null || _b === void 0 ? void 0 : _b.find(function (ho) { return ho.Path === _this.DevOpsAction.Path; });
5801
+ _this.BuildPipeline = hostOption.Lookup;
5802
+ // console.log("Build Pipeline HERE= ", this.BuildPipeline);
5815
5803
  _this.setupControlsForForm();
5816
5804
  }, function (err) {
5817
5805
  console.log("ERR: ", err);
@@ -5824,7 +5812,7 @@
5824
5812
  BuildPipelineFormComponent.decorators = [
5825
5813
  { type: i0.Component, args: [{
5826
5814
  selector: 'lcu-build-pipeline-form',
5827
- template: "<form class=\"form-card\" [formGroup]=\"BuildPipelineFormGroup\" (ngSubmit)=\"SubmitBuildPipeline()\">\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\n <button \n mat-raised-button \n type=\"submit\" \n fxFlex=\"100%\" \n color=\"primary\" \n [disabled]=\"!BuildPipelineFormGroup.valid || !BuildPipelineFormGroup.dirty\">\n <mat-icon>save</mat-icon>\n Save Build Pipeline\n </button>\n \n </mat-card-actions>\n </mat-card>\n</form>\n",
5815
+ template: "<form class=\"form-card\" [formGroup]=\"BuildPipelineFormGroup\" (ngSubmit)=\"SubmitBuildPipeline()\">\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\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 </mat-card-content>\n <mat-card-actions fxLayoutAlign=\"center center\">\n\n <button \n mat-raised-button \n type=\"submit\" \n fxFlex=\"100%\" \n color=\"primary\" \n [disabled]=\"!BuildPipelineFormGroup.valid || !BuildPipelineFormGroup.dirty\">\n <mat-icon>save</mat-icon>\n Save Build Pipeline\n </button>\n \n </mat-card-actions>\n </mat-card>\n</form>\n",
5828
5816
  styles: [""]
5829
5817
  },] }
5830
5818
  ];
@@ -5834,11 +5822,11 @@
5834
5822
  { type: ApplicationsFlowService }
5835
5823
  ]; };
5836
5824
  BuildPipelineFormComponent.propDecorators = {
5837
- BuildPipeline: [{ type: i0.Input, args: ['build-pipeline',] }],
5838
5825
  DevOpsActionLookup: [{ type: i0.Input, args: ['devops-action-lookup',] }],
5839
5826
  Disabled: [{ type: i0.Input, args: ['disabled',] }],
5840
5827
  Environment: [{ type: i0.Input, args: ['environment',] }],
5841
- EnvironmentLookup: [{ type: i0.Input, args: ['environment-lookup',] }]
5828
+ EnvironmentLookup: [{ type: i0.Input, args: ['environment-lookup',] }],
5829
+ HostingDetails: [{ type: i0.Input, args: ['hosting-details',] }]
5842
5830
  };
5843
5831
 
5844
5832
  var DevopsSourceControlFormComponent = /** @class */ (function () {
@@ -6351,7 +6339,7 @@
6351
6339
  BuildPipelineDialogComponent.decorators = [
6352
6340
  { type: i0.Component, args: [{
6353
6341
  selector: 'lcu-build-pipeline-dialog',
6354
- template: "<div class=\"dialog-header\" fxLayoutAlign=\"end center\">\n <button mat-icon-button (click)=\"CloseDialog()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<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</lcu-build-pipeline-form>",
6342
+ template: "<div class=\"dialog-header\" fxLayoutAlign=\"end center\">\n <button mat-icon-button (click)=\"CloseDialog()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<lcu-build-pipeline-form \n [devops-action-lookup]=\"data.devopsActionLookup\"\n [environment]=\"data.environment\" \n [environment-lookup]=\"data.environmentLookup\"\n >\n\n</lcu-build-pipeline-form>",
6355
6343
  styles: [".dialog-header{width:100%}"]
6356
6344
  },] }
6357
6345
  ];
@@ -6431,6 +6419,169 @@
6431
6419
  SaveFormEvent: [{ type: i0.Output, args: ['save-form-event',] }]
6432
6420
  };
6433
6421
 
6422
+ var BreadcrumbComponent = /** @class */ (function () {
6423
+ function BreadcrumbComponent(eacSvc) {
6424
+ this.eacSvc = eacSvc;
6425
+ }
6426
+ Object.defineProperty(BreadcrumbComponent.prototype, "ApplicationsBank", {
6427
+ get: function () {
6428
+ var _a, _b;
6429
+ return ((_b = (_a = this.State) === null || _a === void 0 ? void 0 : _a.EaC) === null || _b === void 0 ? void 0 : _b.Applications) || {};
6430
+ },
6431
+ enumerable: false,
6432
+ configurable: true
6433
+ });
6434
+ Object.defineProperty(BreadcrumbComponent.prototype, "Applications", {
6435
+ get: function () {
6436
+ var _this = this;
6437
+ var _a;
6438
+ var apps = {};
6439
+ (_a = this.SelectedProject) === null || _a === void 0 ? void 0 : _a.ApplicationLookups.forEach(function (appLookup) {
6440
+ apps[appLookup] = _this.ApplicationsBank[appLookup];
6441
+ });
6442
+ return apps;
6443
+ },
6444
+ enumerable: false,
6445
+ configurable: true
6446
+ });
6447
+ Object.defineProperty(BreadcrumbComponent.prototype, "SelectedApplication", {
6448
+ get: function () {
6449
+ var _a, _b;
6450
+ return ((_b = (_a = this.State) === null || _a === void 0 ? void 0 : _a.EaC) === null || _b === void 0 ? void 0 : _b.Applications[this.ApplicationLookup]) || {};
6451
+ },
6452
+ enumerable: false,
6453
+ configurable: true
6454
+ });
6455
+ Object.defineProperty(BreadcrumbComponent.prototype, "CurrentRouteApplicationLookups", {
6456
+ get: function () {
6457
+ return Object.keys(this.RoutedApplications[this.SelectedRoute] || {});
6458
+ },
6459
+ enumerable: false,
6460
+ configurable: true
6461
+ });
6462
+ Object.defineProperty(BreadcrumbComponent.prototype, "Projects", {
6463
+ get: function () {
6464
+ var _a, _b;
6465
+ return ((_b = (_a = this.State) === null || _a === void 0 ? void 0 : _a.EaC) === null || _b === void 0 ? void 0 : _b.Projects) || {};
6466
+ },
6467
+ enumerable: false,
6468
+ configurable: true
6469
+ });
6470
+ Object.defineProperty(BreadcrumbComponent.prototype, "ProjectLookups", {
6471
+ get: function () {
6472
+ var _a, _b;
6473
+ return Object.keys(((_b = (_a = this.State) === null || _a === void 0 ? void 0 : _a.EaC) === null || _b === void 0 ? void 0 : _b.Projects) || {});
6474
+ },
6475
+ enumerable: false,
6476
+ configurable: true
6477
+ });
6478
+ Object.defineProperty(BreadcrumbComponent.prototype, "Routes", {
6479
+ get: function () {
6480
+ return Object.keys(this.RoutedApplications || {});
6481
+ },
6482
+ enumerable: false,
6483
+ configurable: true
6484
+ });
6485
+ Object.defineProperty(BreadcrumbComponent.prototype, "RoutedApplications", {
6486
+ get: function () {
6487
+ var _this = this;
6488
+ var appLookups = Object.keys(this.Applications);
6489
+ var apps = appLookups.map(function (appLookup) { return _this.Applications[appLookup]; });
6490
+ var appRoutes = apps.map(function (app) {
6491
+ var _a;
6492
+ return (_a = app.LookupConfig) === null || _a === void 0 ? void 0 : _a.PathRegex.replace('.*', '');
6493
+ }) || [];
6494
+ appRoutes = appRoutes.filter(function (ar) { return ar != null; });
6495
+ var routeBases = [];
6496
+ appRoutes.forEach(function (appRoute) {
6497
+ var appRouteParts = appRoute.split('/');
6498
+ var appRouteBase = "/" + appRouteParts[1];
6499
+ if (routeBases.indexOf(appRouteBase) < 0) {
6500
+ routeBases.push(appRouteBase);
6501
+ }
6502
+ });
6503
+ var workingAppLookups = __spread((appLookups || []));
6504
+ routeBases = routeBases.sort(function (a, b) { return b.localeCompare(a); });
6505
+ var routeSet = routeBases.reduce(function (prevRouteMap, currentRouteBase) {
6506
+ var routeMap = Object.assign({}, prevRouteMap);
6507
+ var filteredAppLookups = workingAppLookups.filter(function (wal) {
6508
+ var _a;
6509
+ var wa = _this.Applications[wal];
6510
+ return (_a = wa.LookupConfig) === null || _a === void 0 ? void 0 : _a.PathRegex.startsWith(currentRouteBase);
6511
+ });
6512
+ routeMap[currentRouteBase] =
6513
+ filteredAppLookups.reduce(function (prevAppMap, appLookup) {
6514
+ var appMap = Object.assign({}, prevAppMap);
6515
+ appMap[appLookup] = _this.Applications[appLookup];
6516
+ return appMap;
6517
+ }, {}) || {};
6518
+ workingAppLookups = workingAppLookups.filter(function (wa) {
6519
+ return filteredAppLookups.indexOf(wa) < 0;
6520
+ });
6521
+ return routeMap;
6522
+ }, {}) || {};
6523
+ var routeSetKeys = Object.keys(routeSet);
6524
+ routeSetKeys = routeSetKeys.sort(function (a, b) { return a.localeCompare(b); });
6525
+ var routeSetResult = {};
6526
+ routeSetKeys.forEach(function (rsk) { return (routeSetResult[rsk] = routeSet[rsk]); });
6527
+ return routeSetResult;
6528
+ },
6529
+ enumerable: false,
6530
+ configurable: true
6531
+ });
6532
+ Object.defineProperty(BreadcrumbComponent.prototype, "SelectedProject", {
6533
+ get: function () {
6534
+ var _a, _b;
6535
+ return ((_b = (_a = this.State) === null || _a === void 0 ? void 0 : _a.EaC) === null || _b === void 0 ? void 0 : _b.Projects[this.ProjectLookup]) || {};
6536
+ },
6537
+ enumerable: false,
6538
+ configurable: true
6539
+ });
6540
+ Object.defineProperty(BreadcrumbComponent.prototype, "State", {
6541
+ get: function () {
6542
+ return this.eacSvc.State;
6543
+ },
6544
+ enumerable: false,
6545
+ configurable: true
6546
+ });
6547
+ BreadcrumbComponent.prototype.ngOnInit = function () {
6548
+ this.handleStateChange().then(function (eac) { });
6549
+ console.log("Selected project: ", this.SelectedProject.Project);
6550
+ console.log("SelectedRoute:", this.SelectedRoute);
6551
+ };
6552
+ BreadcrumbComponent.prototype.handleStateChange = function () {
6553
+ return __awaiter(this, void 0, void 0, function () {
6554
+ return __generator(this, function (_c) {
6555
+ switch (_c.label) {
6556
+ case 0:
6557
+ this.State.Loading = true;
6558
+ return [4 /*yield*/, this.eacSvc.EnsureUserEnterprise()];
6559
+ case 1:
6560
+ _c.sent();
6561
+ return [2 /*return*/];
6562
+ }
6563
+ });
6564
+ });
6565
+ };
6566
+ return BreadcrumbComponent;
6567
+ }());
6568
+ BreadcrumbComponent.decorators = [
6569
+ { type: i0.Component, args: [{
6570
+ selector: 'lcu-breadcrumb',
6571
+ template: "<div class=\"breadcrumb-container\" fxLayout=\"row\">\n\n <div *ngIf=\"Enterprise\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <div class=\"crumb-name\" [routerLink]=\"['/enterprises']\">{{Enterprise.Name}}</div>\n\n <button mat-icon-button [matMenuTriggerFor]=\"enterpriseMenu\">\n <mat-icon>expand_more</mat-icon>\n </button>\n\n <mat-menu #enterpriseMenu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item [routerLink]=\"['/enterprises']\">\n <span>{{Enterprise.Name}}</span>\n </button>\n </mat-menu>\n\n </div>\n\n <div *ngIf=\"ProjectLookup && SelectedProject\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n\n <span class=\"seperator\">/</span>\n\n <div class=\"crumb-name\" [routerLink]=\"['/projects', projectLookup]\">{{SelectedProject.Project.Name}}</div>\n\n <button mat-icon-button [matMenuTriggerFor]=\"projectMenu\">\n <mat-icon>expand_more</mat-icon>\n </button>\n\n \n \n <mat-menu #projectMenu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item *ngFor=\"let projectLookup of ProjectLookups\" [routerLink]=\"['/projects', projectLookup]\">\n <span *ngIf=\"Projects[projectLookup]; let pro;\">{{pro.Project.Name}}</span>\n </button>\n </mat-menu>\n\n </div>\n\n <div *ngIf=\"SelectedRoute\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <span class=\"seperator\">/</span>\n\n <div class=\"crumb-name\" [routerLink]=\"['/routes', SelectedRoute, ProjectLookup]\">{{SelectedRoute}}</div>\n\n <button mat-icon-button [matMenuTriggerFor]=\"routeMenu\">\n <mat-icon>expand_more</mat-icon>\n </button>\n \n \n <mat-menu #routeMenu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item *ngFor=\"let appRoute of Routes\" [routerLink]=\"['/routes', appRoute, ProjectLookup]\">\n <span *ngIf=\"appRoute\">{{appRoute}}</span>\n </button>\n </mat-menu>\n\n </div>\n\n <div *ngIf=\"SelectedApplication && ApplicationLookup\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n\n <span class=\"seperator\">/</span>\n\n <div class=\"crumb-name\" \n [routerLink]=\"['/applications', ApplicationLookup, SelectedRoute, ProjectLookup]\">\n {{SelectedApplication.Application.Name}}</div>\n\n <button mat-icon-button [matMenuTriggerFor]=\"applicationMenu\">\n <mat-icon>expand_more</mat-icon>\n </button>\n \n <mat-menu #applicationMenu=\"matMenu\" xPosition=\"before\">\n <button mat-menu-item *ngFor=\"let appLookup of CurrentRouteApplicationLookups\"\n [routerLink]=\"['/applications', appLookup, SelectedRoute, ProjectLookup]\">\n <span *ngIf=\"RoutedApplications[SelectedRoute][appLookup];\n let app\">{{app.Application.Name}}</span>\n </button>\n </mat-menu>\n\n </div>\n\n\n</div>\n",
6572
+ styles: [".breadcrumb-container{background-color:#ebecf0;margin:10px 30px}.seperator{font-size:25px;padding:10px}.crumb-name{cursor:pointer}"]
6573
+ },] }
6574
+ ];
6575
+ BreadcrumbComponent.ctorParameters = function () { return [
6576
+ { type: EaCService }
6577
+ ]; };
6578
+ BreadcrumbComponent.propDecorators = {
6579
+ Enterprise: [{ type: i0.Input, args: ['enterprise',] }],
6580
+ ApplicationLookup: [{ type: i0.Input, args: ['application-lookup',] }],
6581
+ ProjectLookup: [{ type: i0.Input, args: ['project-lookup',] }],
6582
+ SelectedRoute: [{ type: i0.Input, args: ['selected-route',] }]
6583
+ };
6584
+
6434
6585
  var ApplicationsFlowModule = /** @class */ (function () {
6435
6586
  function ApplicationsFlowModule() {
6436
6587
  }
@@ -6491,7 +6642,8 @@
6491
6642
  DevopsSourceControlFormComponent,
6492
6643
  SourceControlDialogComponent,
6493
6644
  BuildPipelineDialogComponent,
6494
- EditApplicationFormComponent
6645
+ EditApplicationFormComponent,
6646
+ BreadcrumbComponent
6495
6647
  ],
6496
6648
  imports: [
6497
6649
  i2.FathymSharedModule,
@@ -6544,7 +6696,8 @@
6544
6696
  DevopsSourceControlFormComponent,
6545
6697
  SourceControlDialogComponent,
6546
6698
  BuildPipelineDialogComponent,
6547
- EditApplicationFormComponent
6699
+ EditApplicationFormComponent,
6700
+ BreadcrumbComponent
6548
6701
  ],
6549
6702
  entryComponents: [
6550
6703
  ApplicationsFlowProjectsElementComponent,
@@ -6584,7 +6737,8 @@
6584
6737
  DevopsSourceControlFormComponent,
6585
6738
  SourceControlDialogComponent,
6586
6739
  BuildPipelineDialogComponent,
6587
- EditApplicationFormComponent
6740
+ EditApplicationFormComponent,
6741
+ BreadcrumbComponent
6588
6742
  ],
6589
6743
  },] }
6590
6744
  ];
@@ -6681,6 +6835,7 @@
6681
6835
  exports.ɵbd = SourceControlDialogComponent;
6682
6836
  exports.ɵbe = BuildPipelineDialogComponent;
6683
6837
  exports.ɵbf = EditApplicationFormComponent;
6838
+ exports.ɵbg = BreadcrumbComponent;
6684
6839
  exports.ɵc = ProjectTabsComponent;
6685
6840
  exports.ɵd = GeneralComponent;
6686
6841
  exports.ɵe = DomainsComponent;