@lowcodeunit/applications-flow-common 1.33.117-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 (27) hide show
  1. package/bundles/lowcodeunit-applications-flow-common.umd.js +205 -57
  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/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.js +2 -2
  8. package/esm2015/lib/elements/breadcrumb/breadcrumb.component.js +115 -0
  9. package/esm2015/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.js +1 -2
  10. package/esm2015/lib/services/applications-flow.service.js +3 -5
  11. package/esm2015/lowcodeunit-applications-flow-common.js +2 -1
  12. package/fesm2015/lowcodeunit-applications-flow-common.js +154 -58
  13. package/fesm2015/lowcodeunit-applications-flow-common.js.map +1 -1
  14. package/lib/applications-flow.module.d.ts.map +1 -1
  15. package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts +2 -2
  16. package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts.map +1 -1
  17. package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts +0 -1
  18. package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts.map +1 -1
  19. package/lib/elements/breadcrumb/breadcrumb.component.d.ts +33 -0
  20. package/lib/elements/breadcrumb/breadcrumb.component.d.ts.map +1 -0
  21. package/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts.map +1 -1
  22. package/lib/services/applications-flow.service.d.ts +1 -1
  23. package/lib/services/applications-flow.service.d.ts.map +1 -1
  24. package/lowcodeunit-applications-flow-common.d.ts +1 -0
  25. package/lowcodeunit-applications-flow-common.d.ts.map +1 -1
  26. package/lowcodeunit-applications-flow-common.metadata.json +1 -1
  27. 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.get(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 : '';
@@ -5584,12 +5581,6 @@
5584
5581
  this.HostingDetails = new ProjectHostingDetails();
5585
5582
  }
5586
5583
  Object.defineProperty(BuildPipelineFormComponent.prototype, "Artifact", {
5587
- // @Input('main-branch')
5588
- // public MainBranch: string;
5589
- // @Input('organization')
5590
- // public Organization: string;
5591
- // @Input('repository')
5592
- // public Repository: string;
5593
5584
  get: function () {
5594
5585
  var _a, _b;
5595
5586
  // console.log("ARTIFACT: ", this.Environment?.Artifacts[this.ArtifactLookup]);
@@ -5612,7 +5603,7 @@
5612
5603
  Object.defineProperty(BuildPipelineFormComponent.prototype, "BuildPipelineFormControl", {
5613
5604
  get: function () {
5614
5605
  var _a;
5615
- 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');
5616
5607
  },
5617
5608
  enumerable: false,
5618
5609
  configurable: true
@@ -5685,24 +5676,30 @@
5685
5676
  configurable: true
5686
5677
  });
5687
5678
  BuildPipelineFormComponent.prototype.ngOnInit = function () {
5688
- this.BuildPipelineFormGroup = this.formBuilder.group({});
5689
- if (this.BuildPipelineFormGroup != null) {
5690
- this.BuildPipelineFormGroup.removeControl('hostingDetails');
5691
- }
5692
- 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({
5693
5687
  buildPipeline: [this.BuildPipeline, [forms.Validators.required]],
5694
- }));
5688
+ });
5689
+ // );
5695
5690
  this.loadProjectHostingDetails();
5691
+ // this.setupControlsForForm();
5696
5692
  };
5697
5693
  //API METHODS
5698
5694
  BuildPipelineFormComponent.prototype.BuildPipelineChanged = function () {
5699
- var _a, _b;
5700
- console.log("build pipeline value: ", (_a = this.BuildPipelineFormControl) === null || _a === void 0 ? void 0 : _a.value);
5701
- 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;
5702
5699
  this.setupControlsForForm();
5703
5700
  };
5704
5701
  BuildPipelineFormComponent.prototype.SubmitBuildPipeline = function () {
5705
- console.log("submitting build pipeline: ", this.BuildPipelineFormGroup.value);
5702
+ // console.log("submitting build pipeline: ", this.BuildPipelineFormGroup.value);
5706
5703
  this.SaveEnvironment();
5707
5704
  };
5708
5705
  BuildPipelineFormComponent.prototype.SaveEnvironment = function () {
@@ -5748,37 +5745,27 @@
5748
5745
  var doa = Object.assign(Object.assign({}, this.DevOpsAction), { Name: this.DevOpsActionNameFormControl.value });
5749
5746
  saveEnvReq.Environment.DevOpsActions[devOpsActionLookup] = doa;
5750
5747
  }
5751
- // let source: EaCSourceControl = {
5752
- // ...this.EditingSourceControl,
5753
- // Branches: this.EditingSourceControl.SelectedBranches,
5754
- // MainBranch: this.EditingSourceControl.MainBranchFormControl.value,
5755
- // };
5756
- // source = {
5757
- // ...source,
5758
- // Type: 'GitHub',
5759
- // Name: this.EditingSourceControlLookup,
5760
- // DevOpsActionTriggerLookups: [devOpsActionLookup],
5761
- // Organization:
5762
- // this.EditingSourceControl.OrganizationFormControl.value,
5763
- // Repository: this.EditingSourceControl.RepositoryFormControl.value,
5764
- // };
5765
- // const scLookup = `github://${source.Organization}/${source.Repository}`;
5766
- // saveEnvReq.Environment.Sources[scLookup] = source;
5767
5748
  this.eacSvc.SaveEnvironmentAsCode(saveEnvReq);
5768
5749
  };
5769
5750
  // Helpers
5770
5751
  BuildPipelineFormComponent.prototype.setupControlsForForm = function () {
5771
5752
  var _this = this;
5753
+ // this.BuildPipeline =
5754
+ // this.BuildPipeline || this.HostingDetails?.HostingOptions
5755
+ // ? this.HostingDetails?.HostingOptions[0]?.Lookup
5756
+ // : '';
5772
5757
  var _a, _b, _c, _d, _e, _f;
5758
+ // console.log("hosting details: ", this.HostingDetails)
5773
5759
  for (var ctrlName in this.BuildPipelineFormGroup.controls) {
5774
5760
  //devOpsAction doesn't exist
5775
5761
  //removes hosting details
5776
5762
  if (ctrlName !== 'buildPipeline' && ctrlName !== 'devOpsAction') {
5777
- console.log("removing control: ", ctrlName);
5763
+ // console.log("removing control: ", ctrlName)
5778
5764
  this.BuildPipelineFormGroup.removeControl(ctrlName);
5779
5765
  }
5780
5766
  }
5781
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);
5782
5769
  (_d = (_c = this.SelectedHostingOption) === null || _c === void 0 ? void 0 : _c.Inputs) === null || _d === void 0 ? void 0 : _d.forEach(function (input) {
5783
5770
  var validators = input.Required ? [forms.Validators.required] : [];
5784
5771
  _this.BuildPipelineFormGroup.addControl(input.Lookup, _this.formBuilder.control(_this.Artifact[input.Lookup] || input.DefaultValue || '', validators));
@@ -5803,22 +5790,16 @@
5803
5790
  BuildPipelineFormComponent.prototype.loadProjectHostingDetails = function () {
5804
5791
  var _this = this;
5805
5792
  this.HostingDetails.Loading = true;
5806
- // this.Organization,
5807
- // this.Repository,
5808
- // this.MainBranch
5809
- // "powhound4",
5810
- // "RedwoodCrystals",
5811
- // "master"
5812
5793
  this.appsFlowSvc
5813
5794
  .NewLoadProjectHostingDetails()
5814
5795
  .subscribe(function (response) {
5815
- var _a, _b, _c;
5796
+ var _a, _b;
5816
5797
  _this.HostingDetails = response.Model;
5817
- console.log("response: ", response);
5798
+ // console.log("response: ", response);
5818
5799
  _this.HostingDetails.Loading = false;
5819
- _this.BuildPipeline =
5820
- ((_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 : '';
5821
- 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);
5822
5803
  _this.setupControlsForForm();
5823
5804
  }, function (err) {
5824
5805
  console.log("ERR: ", err);
@@ -5831,7 +5812,7 @@
5831
5812
  BuildPipelineFormComponent.decorators = [
5832
5813
  { type: i0.Component, args: [{
5833
5814
  selector: 'lcu-build-pipeline-form',
5834
- 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",
5835
5816
  styles: [""]
5836
5817
  },] }
5837
5818
  ];
@@ -5841,11 +5822,11 @@
5841
5822
  { type: ApplicationsFlowService }
5842
5823
  ]; };
5843
5824
  BuildPipelineFormComponent.propDecorators = {
5844
- BuildPipeline: [{ type: i0.Input, args: ['build-pipeline',] }],
5845
5825
  DevOpsActionLookup: [{ type: i0.Input, args: ['devops-action-lookup',] }],
5846
5826
  Disabled: [{ type: i0.Input, args: ['disabled',] }],
5847
5827
  Environment: [{ type: i0.Input, args: ['environment',] }],
5848
- EnvironmentLookup: [{ type: i0.Input, args: ['environment-lookup',] }]
5828
+ EnvironmentLookup: [{ type: i0.Input, args: ['environment-lookup',] }],
5829
+ HostingDetails: [{ type: i0.Input, args: ['hosting-details',] }]
5849
5830
  };
5850
5831
 
5851
5832
  var DevopsSourceControlFormComponent = /** @class */ (function () {
@@ -6358,7 +6339,7 @@
6358
6339
  BuildPipelineDialogComponent.decorators = [
6359
6340
  { type: i0.Component, args: [{
6360
6341
  selector: 'lcu-build-pipeline-dialog',
6361
- 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>",
6362
6343
  styles: [".dialog-header{width:100%}"]
6363
6344
  },] }
6364
6345
  ];
@@ -6438,6 +6419,169 @@
6438
6419
  SaveFormEvent: [{ type: i0.Output, args: ['save-form-event',] }]
6439
6420
  };
6440
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
+
6441
6585
  var ApplicationsFlowModule = /** @class */ (function () {
6442
6586
  function ApplicationsFlowModule() {
6443
6587
  }
@@ -6498,7 +6642,8 @@
6498
6642
  DevopsSourceControlFormComponent,
6499
6643
  SourceControlDialogComponent,
6500
6644
  BuildPipelineDialogComponent,
6501
- EditApplicationFormComponent
6645
+ EditApplicationFormComponent,
6646
+ BreadcrumbComponent
6502
6647
  ],
6503
6648
  imports: [
6504
6649
  i2.FathymSharedModule,
@@ -6551,7 +6696,8 @@
6551
6696
  DevopsSourceControlFormComponent,
6552
6697
  SourceControlDialogComponent,
6553
6698
  BuildPipelineDialogComponent,
6554
- EditApplicationFormComponent
6699
+ EditApplicationFormComponent,
6700
+ BreadcrumbComponent
6555
6701
  ],
6556
6702
  entryComponents: [
6557
6703
  ApplicationsFlowProjectsElementComponent,
@@ -6591,7 +6737,8 @@
6591
6737
  DevopsSourceControlFormComponent,
6592
6738
  SourceControlDialogComponent,
6593
6739
  BuildPipelineDialogComponent,
6594
- EditApplicationFormComponent
6740
+ EditApplicationFormComponent,
6741
+ BreadcrumbComponent
6595
6742
  ],
6596
6743
  },] }
6597
6744
  ];
@@ -6688,6 +6835,7 @@
6688
6835
  exports.ɵbd = SourceControlDialogComponent;
6689
6836
  exports.ɵbe = BuildPipelineDialogComponent;
6690
6837
  exports.ɵbf = EditApplicationFormComponent;
6838
+ exports.ɵbg = BreadcrumbComponent;
6691
6839
  exports.ɵc = ProjectTabsComponent;
6692
6840
  exports.ɵd = GeneralComponent;
6693
6841
  exports.ɵe = DomainsComponent;