@lowcodeunit/applications-flow-common 1.33.87-lets-get-social-ish → 1.33.93-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 +474 -14
  2. package/bundles/lowcodeunit-applications-flow-common.umd.js.map +1 -1
  3. package/bundles/lowcodeunit-applications-flow-common.umd.min.js +2 -2
  4. package/bundles/lowcodeunit-applications-flow-common.umd.min.js.map +1 -1
  5. package/esm2015/lib/applications-flow.module.js +21 -4
  6. package/esm2015/lib/controls/processor-details-form/processor-details-form.component.js +265 -0
  7. package/esm2015/lib/controls/security-toggle/security-toggle.component.js +60 -0
  8. package/esm2015/lib/controls/source-control-form/source-control-form.component.js +59 -0
  9. package/esm2015/lib/elements/analytics-card/analytics-card.component.js +1 -1
  10. package/esm2015/lib/elements/feed-card-sm/feed-card-sm.component.js +1 -1
  11. package/esm2015/lib/elements/gh-control/gh-control.component.js +1 -1
  12. package/esm2015/lib/elements/main-feed-card/main-feed-card.component.js +1 -1
  13. package/esm2015/lib/elements/project-info-card/project-info-card.component.js +1 -1
  14. package/esm2015/lib/elements/slotted-card/slotted-card.component.js +4 -3
  15. package/esm2015/lowcodeunit-applications-flow-common.js +4 -1
  16. package/fesm2015/lowcodeunit-applications-flow-common.js +403 -11
  17. package/fesm2015/lowcodeunit-applications-flow-common.js.map +1 -1
  18. package/lib/applications-flow.module.d.ts.map +1 -1
  19. package/lib/controls/processor-details-form/processor-details-form.component.d.ts +48 -0
  20. package/lib/controls/processor-details-form/processor-details-form.component.d.ts.map +1 -0
  21. package/lib/controls/security-toggle/security-toggle.component.d.ts +16 -0
  22. package/lib/controls/security-toggle/security-toggle.component.d.ts.map +1 -0
  23. package/lib/controls/source-control-form/source-control-form.component.d.ts +26 -0
  24. package/lib/controls/source-control-form/source-control-form.component.d.ts.map +1 -0
  25. package/lib/elements/slotted-card/slotted-card.component.d.ts +1 -0
  26. package/lib/elements/slotted-card/slotted-card.component.d.ts.map +1 -1
  27. package/lowcodeunit-applications-flow-common.d.ts +3 -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
@@ -9,6 +9,8 @@ import { AppHostModule } from '@lowcodeunit/app-host-common';
9
9
  import { ENTER, COMMA } from '@angular/cdk/keycodes';
10
10
  import { map, debounceTime, switchMap } from 'rxjs/operators';
11
11
  import { BreakpointObserver } from '@angular/cdk/layout';
12
+ import { MatTooltipModule } from '@angular/material/tooltip';
13
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
12
14
 
13
15
  /**
14
16
  * Model for form values
@@ -3564,8 +3566,8 @@ class SlottedCardComponent {
3564
3566
  SlottedCardComponent.decorators = [
3565
3567
  { type: Component, args: [{
3566
3568
  selector: 'lcu-slotted-card',
3567
- template: "<mat-card class=\"col-info-card\">\n <mat-card-header fxLayoutAlign=\"space-between center\">\n <mat-card-title class=\"card-title\">{{ Title }}</mat-card-title>\n <mat-icon class=\"header-icon\">{{ Icon }}</mat-icon>\n </mat-card-header>\n \n <mat-card-content>\n\n <div class=\"slot-main-container\">\n\n <div class=\"header-description\">{{ MainSlotDescription }}</div>\n\n <div class=\"slot-main\">\n <ng-content></ng-content>\n </div>\n \n </div>\n\n <div *ngIf=\"SecondarySlotDescription\" class=\"slot-secondary-container\">\n\n <div class=\"header-description\">{{ SecondarySlotDescription }}</div>\n\n <div class=\"slot-secondary\">\n <ng-content select=\"[secondary]\"></ng-content>\n </div>\n \n </div>\n \n </mat-card-content>\n\n <mat-card-actions *ngIf=\"ActionText\" fxLayoutAlign=\"center\">\n <button mat-button class=\"slotted-card-action-btn\" click=\"MainActionClickEvent()\">{{ ActionText }}</button>\n </mat-card-actions>\n\n </mat-card>\n\n\n",
3568
- styles: [".col-info-card{background-color:#fff;border:2px solid #d3d3d3;margin:20px;padding:0}.header-icon{margin-right:10px}.card-title{font-size:30px;margin-bottom:0}.header-description{background-color:#d3d3d3;margin-left:-2px;padding:10px}mat-card-actions{margin-bottom:0!important;margin-left:-1px!important;margin-right:0!important}.slotted-card-action-btn{border-radius:0 0 2px 2px;border-top:1px solid #d3d3d3;width:100%}"]
3569
+ template: "<mat-card class=\"col-info-card\">\n <mat-card-header fxLayoutAlign=\"space-between center\">\n <mat-card-title class=\"card-title\">{{ Title }}</mat-card-title>\n <mat-icon class=\"header-icon\">{{ Icon }}</mat-icon>\n </mat-card-header>\n \n <mat-card-content>\n\n <div class=\"slot-main-container\">\n\n <div class=\"header-description\">{{ MainSlotDescription }}</div>\n\n <div class=\"slot-main\">\n <ng-content></ng-content>\n </div>\n \n </div>\n\n <div *ngIf=\"SecondarySlotDescription\" class=\"slot-secondary-container\">\n\n <div class=\"header-description\">{{ SecondarySlotDescription }}</div>\n\n <div class=\"slot-secondary\">\n <ng-content select=\"[secondary]\"></ng-content>\n </div>\n \n </div>\n \n </mat-card-content>\n\n <mat-card-actions *ngIf=\"ActionText\" fxLayoutAlign=\"center\">\n <a mat-button class=\"slotted-card-action-btn\" [href]=\"ActionPath\">{{ ActionText }}</a>\n </mat-card-actions>\n\n </mat-card>\n\n\n",
3570
+ styles: [".col-info-card{border:2px solid #d3d3d3;margin:20px;padding:0}.header-icon{margin-right:10px}.card-title{font-size:30px;margin-bottom:0}.header-description{background-color:#d3d3d3;margin-left:-2px;padding:10px}mat-card-actions{margin-bottom:0!important;margin-left:-1px!important;margin-right:0!important}.slotted-card-action-btn{border-radius:0 0 2px 2px;border-top:1px solid #d3d3d3;width:100%}"]
3569
3571
  },] }
3570
3572
  ];
3571
3573
  SlottedCardComponent.ctorParameters = () => [];
@@ -3575,6 +3577,7 @@ SlottedCardComponent.propDecorators = {
3575
3577
  MainSlotDescription: [{ type: Input, args: ['main-slot-description',] }],
3576
3578
  SecondarySlotDescription: [{ type: Input, args: ['secondary-slot-description',] }],
3577
3579
  ActionText: [{ type: Input, args: ['action-text',] }],
3580
+ ActionPath: [{ type: Input, args: ['action-path',] }],
3578
3581
  MainActionClicked: [{ type: Output, args: ['main-action-clicked',] }]
3579
3582
  };
3580
3583
 
@@ -3596,7 +3599,7 @@ ProjectInfoCardComponent.decorators = [
3596
3599
  { type: Component, args: [{
3597
3600
  selector: 'lcu-project-info-card',
3598
3601
  template: "<mat-card class=\"project-info-card\">\n\n <div class=\"header-img-container\" fxLayout=\"row\" >\n <div class=\"round-project-img\" fxLayoutAlign=\"center center\">\n <mat-icon class=\"temp-icon\">flutter_dash</mat-icon>\n </div>\n </div>\n\n <div class=\"icon-btn-container\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\" >\n <button mat-icon-button id=\"left-icon\" (click)=\"LeftIconClicked()\">\n <mat-icon>settings</mat-icon>\n </button>\n <button mat-icon-button id=\"right-icon\" (click)=\"RightIconClicked()\">\n <mat-icon>share</mat-icon>\n </button>\n </div>\n\n <mat-card-header class=\"project-card-header\" fxLayoutAlign=\"center center\">\n\n <mat-card-title class=\"project-card-name\" *ngIf=\"Name\">{{Name}}</mat-card-title>\n\n <mat-card-subtitle class=\"project-card-description\" *ngIf=\"Description\">{{Description}}</mat-card-subtitle>\n\n <mat-card-subtitle class=\"project-card-host\">\n <a class=\"host-anchor\" *ngIf=\"Subtext\" [href]=\"Subtext\" target=\"_blank\">{{Subtext}}</a>\n </mat-card-subtitle>\n\n </mat-card-header>\n <mat-card-content class=\"card-content-container\">\n <div class=\"stats-container\">\n <ng-content select=\"[stats]\"></ng-content>\n </div>\n\n <div class=\"promo-container\">\n <ng-content select=\"[promo]\"></ng-content>\n </div>\n\n </mat-card-content>\n <mat-card-actions class=\"actions-container\">\n <ng-content select=\"[action]\"></ng-content>\n \n </mat-card-actions>\n </mat-card>\n \n",
3599
- styles: [".project-info-card{background-color:#fff;border:2px solid #d3d3d3;margin:20px;padding:0}.round-project-img{background-color:#dfeff2;border:2px solid #fff;border-radius:40px;height:75px;margin-top:20px;text-align:center;width:75px}.temp-icon{font-size:50px;height:50px;width:50px}.icon-btn-container{margin:5px}.project-card-header{margin-top:50px;text-align:center}.host-anchor{color:#4a918e;text-decoration:none}.header-img-container{background-color:#a4bab3;border-radius:2px 2px 0 0;height:60px;justify-content:center;margin-right:-.5px;margin-top:-.5px!important}.project-card-name{font-size:30px;font-weight:600}.card-content-container{margin-bottom:0!important}.stats-container{border-bottom:1px solid #d3d3d3;border-top:1px solid #d3d3d3}mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}.actions-container{padding:0!important}.info-card-btn{border-radius:0 0 2px 2px;border-top:1px solid #d3d3d3;width:100%}"]
3602
+ styles: [".project-info-card{border:2px solid #d3d3d3;margin:20px;padding:0}.round-project-img{background-color:#dfeff2;border:2px solid #fff;border-radius:40px;height:75px;margin-top:20px;text-align:center;width:75px}.temp-icon{font-size:50px;height:50px;width:50px}.icon-btn-container{margin:5px}.project-card-header{margin-top:50px;text-align:center}.host-anchor{color:#4a918e;text-decoration:none}.header-img-container{background-color:#a4bab3;border-radius:2px 2px 0 0;height:60px;justify-content:center;margin-right:-.5px;margin-top:-.5px!important}.project-card-name{font-size:30px;font-weight:600}.card-content-container{margin-bottom:0!important}.stats-container{border-bottom:1px solid #d3d3d3;border-top:1px solid #d3d3d3}mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}.actions-container{padding:0!important}.info-card-btn{border-radius:0 0 2px 2px;border-top:1px solid #d3d3d3;width:100%}"]
3600
3603
  },] }
3601
3604
  ];
3602
3605
  ProjectInfoCardComponent.ctorParameters = () => [];
@@ -3619,7 +3622,7 @@ AnalyticsCardComponent.decorators = [
3619
3622
  { type: Component, args: [{
3620
3623
  selector: 'lcu-analytics-card',
3621
3624
  template: "<mat-card class=\"analytics-card\">\n <mat-card-header>\n <mat-card-title *ngIf=\"Title\">{{Title}}</mat-card-title>\n <mat-card-subtitle *ngIf=\"Subtext\">{{Subtext}}</mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <!-- <ng-container *ngFor=\"let atics of analytics \"> -->\n \n <div class=\"analytic-container\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\n <div fxLayout=\"column\">\n <div class=\"analytic-number\">57</div>\n <div class=\"analytic-name\">Unique Visitors</div>\n </div>\n\n <div class=\"percent-change increase\" fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <mat-icon>arrow_drop_up</mat-icon>\n <div>{{ .16 | percent}}</div>\n </div>\n\n <!-- <div class=\"percent-change decrease\" fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <mat-icon>arrow_drop_down</mat-icon>\n <div>16</div>\n </div> -->\n </div>\n\n <!-- </ng-container> -->\n </mat-card-content>\n <!-- <mat-card-actions>\n <button mat-button>LIKE</button>\n <button mat-button>SHARE</button>\n </mat-card-actions> -->\n </mat-card>\n",
3622
- styles: [".analytics-card{background-color:#fff;border:2px solid #d3d3d3;margin:20px;padding:10px}.increase{color:green}.decrease{color:red}"]
3625
+ styles: [".analytics-card{border:2px solid #d3d3d3;margin:20px;padding:10px}.increase{color:green}.decrease{color:red}"]
3623
3626
  },] }
3624
3627
  ];
3625
3628
  AnalyticsCardComponent.ctorParameters = () => [];
@@ -3648,7 +3651,7 @@ FeedCardSmComponent.decorators = [
3648
3651
  { type: Component, args: [{
3649
3652
  selector: 'lcu-feed-card-sm',
3650
3653
  template: "<mat-card class=\"social-card\">\n <div class=\"feed-card-container\" fxLayout=\"row\">\n <mat-icon *ngIf=\"Icon\" [style.color]=\"IconColor\">{{Icon}}</mat-icon>\n <div class=\"feed-card-main-content\">\n <mat-card-title *ngIf=\"Title\">{{Title}}</mat-card-title>\n <div *ngIf=\"Subtext\">{{Subtext}}</div>\n <div *ngIf=\"Description\">{{Description}}</div>\n <ng-content select=\"[more-details]\"></ng-content>\n </div>\n </div>\n\n <mat-card-actions fxLayout=\"row\" fxLayoutAlign=\"end\">\n <ng-content select=\"[actions]\"></ng-content>\n </mat-card-actions>\n </mat-card>\n",
3651
- styles: [".social-card{background-color:#fff;border:2px solid #d3d3d3;margin:20px;padding:15px 5px}mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}"]
3654
+ styles: [".social-card{border:2px solid #d3d3d3;margin:20px;padding:15px 5px}mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}.main-slot-container{padding:10px}.slot-header{align-items:center}.slot-content{width:100%}.slot-name{font-size:22px;font-weight:600;padding-left:5px}.slot-description{font-size:12px;margin-right:10px}.slot-action-anchor{color:#000;font-size:10px;text-decoration:none}.action-icon{font-size:25px;height:25px;width:25px}.gold-icon{color:#d4af37}.upgrade-text{cursor:pointer;font-weight:700;margin-left:10px}"]
3652
3655
  },] }
3653
3656
  ];
3654
3657
  FeedCardSmComponent.ctorParameters = () => [];
@@ -3725,7 +3728,7 @@ GhControlComponent.decorators = [
3725
3728
  { type: Component, args: [{
3726
3729
  selector: 'lcu-gh-control',
3727
3730
  template: "<mat-card class=\"social-card\">\n <div class=\"gh-card-container\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <mat-icon fxFlex=\"15%\" class=\"gh-icon\">error_outline</mat-icon>\n <div fxFlex=\"70%\"class=\"gh-card-main-content\">\n <mat-form-field appearance=\"fill\" class=\"gh-input\">\n <mat-label>{{InputLabel}}</mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"value\">\n <!-- <button *ngIf=\"value\" matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"value=''\">\n <mat-icon>close</mat-icon>\n </button> -->\n </mat-form-field>\n </div>\n <button fxFlex=\"15%\" mat-button (click)=\"Submit()\" id=\"submit-btn\">Submit</button>\n </div>\n\n <mat-card-actions fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <button mat-button (click)=\"CreatePullRequest()\" id=\"pr-btn\">Pull Request</button>\n <button mat-button (click)=\"OpenIssue()\" id=\"oi-btn\">Open Issue</button>\n <button mat-button (click)=\"CreateFeatureBranch()\" id=\"fb-btn\">Feature Branch</button>\n <button mat-icon-button (click)=\"OpenMoreInfo()\">\n <mat-icon>more_horiz</mat-icon>\n </button>\n </mat-card-actions>\n </mat-card>",
3728
- styles: [".social-card{background-color:#fff;border:2px solid #d3d3d3;margin:20px;padding:15px 5px}mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}.gh-icon{font-size:60px;height:60px;text-align:center;width:60px}.gh-input{width:90%}.selected{border:1px solid green}::ng-deep .mat-form-field-flex{border:1px solid;border-radius:30px!important}::ng-deep .mat-form-field-wrapper{padding-bottom:0!important}"]
3731
+ styles: [".social-card{border:2px solid #d3d3d3;margin:20px;padding:15px 5px}mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}.main-slot-container{padding:10px}.slot-header{align-items:center}.slot-content{width:100%}.slot-name{font-size:22px;font-weight:600;padding-left:5px}.slot-description{font-size:12px;margin-right:10px}.slot-action-anchor{color:#000;font-size:10px;text-decoration:none}.action-icon{font-size:25px;height:25px;width:25px}.gold-icon{color:#d4af37}.upgrade-text{cursor:pointer;font-weight:700;margin-left:10px}.gh-icon{font-size:60px;height:60px;text-align:center;width:60px}.gh-input{width:90%}.selected{border:1px solid green}::ng-deep .mat-form-field-flex{border:1px solid;border-radius:30px!important}::ng-deep .mat-form-field-wrapper{padding-bottom:0!important}"]
3729
3732
  },] }
3730
3733
  ];
3731
3734
  GhControlComponent.ctorParameters = () => [];
@@ -3742,7 +3745,7 @@ MainFeedCardComponent.decorators = [
3742
3745
  { type: Component, args: [{
3743
3746
  selector: 'lcu-main-feed-card',
3744
3747
  template: "<mat-card class=\"social-card\">\n <mat-card-header fxLayout=\"row\">\n <div *ngIf=\"Avatar\" mat-card-avatar class=\"example-header-image\" [style.backgroundImage]=\"Avatar\" fxFlex=\"10%\"></div>\n <div class=\"header-main-content-container\" fxFlex=\"80%\">\n <mat-card-title *ngIf=\"Title\">{{Title}}</mat-card-title>\n <div *ngIf=\"Subtext\">{{Subtext}}</div>\n <div *ngIf=\"TimeAgo\">{{TimeAgo}}</div>\n </div>\n <div fxFlex=\"10%\">\n <button mat-icon-button (click)=\"MoreClicked()\" >\n <mat-icon>more_horiz</mat-icon>\n </button>\n </div>\n\n </mat-card-header>\n \n <div class=\"feed-card-container\" fxLayout=\"row\">\n <div class=\"feed-card-main-content\">\n <ng-content select=\"[tabs]\"></ng-content>\n </div>\n </div>\n\n <mat-card-actions fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <ng-content select=\"[actions]\"></ng-content>\n \n\n </mat-card-actions>\n </mat-card>\n",
3745
- styles: [".social-card{background-color:#fff;border:2px solid #d3d3d3;margin:20px;padding:15px 5px}mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}.example-header-image{background-size:cover}"]
3748
+ styles: [".social-card{border:2px solid #d3d3d3;margin:20px;padding:15px 5px}mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}.main-slot-container{padding:10px}.slot-header{align-items:center}.slot-content{width:100%}.slot-name{font-size:22px;font-weight:600;padding-left:5px}.slot-description{font-size:12px;margin-right:10px}.slot-action-anchor{color:#000;font-size:10px;text-decoration:none}.action-icon{font-size:25px;height:25px;width:25px}.gold-icon{color:#d4af37}.upgrade-text{cursor:pointer;font-weight:700;margin-left:10px}.example-header-image{background-size:cover}"]
3746
3749
  },] }
3747
3750
  ];
3748
3751
  MainFeedCardComponent.ctorParameters = () => [];
@@ -3833,6 +3836,383 @@ CardCarouselComponent.propDecorators = {
3833
3836
  Stats: [{ type: Input, args: ['stats',] }]
3834
3837
  };
3835
3838
 
3839
+ class SecurityToggleComponent {
3840
+ constructor(formBldr) {
3841
+ this.formBldr = formBldr;
3842
+ }
3843
+ get IsPrivateFormControl() {
3844
+ var _a;
3845
+ return (_a = this.SecurityFormGroup) === null || _a === void 0 ? void 0 : _a.controls.isPrivate;
3846
+ }
3847
+ ngOnInit() {
3848
+ this.setupSecurityFormGroup();
3849
+ }
3850
+ SecuritySubmit() {
3851
+ console.log("submitting values");
3852
+ }
3853
+ setupSecurityFormGroup() {
3854
+ var _a, _b;
3855
+ this.ProcessorType = ((_b = (_a = this.EditingApplication) === null || _a === void 0 ? void 0 : _a.Processor) === null || _b === void 0 ? void 0 : _b.Type) || '';
3856
+ if (this.EditingApplication != null) {
3857
+ // this.SecurityFormGroup = this.formBldr.group({
3858
+ // name: [this.EditingApplication.Application?.Name, Validators.required],
3859
+ // description: [
3860
+ // this.EditingApplication.Application?.Description,
3861
+ // Validators.required,
3862
+ // ],
3863
+ // route: [
3864
+ // this.EditingApplication.LookupConfig?.PathRegex.replace('.*', '') ||
3865
+ // '/',
3866
+ // Validators.required,
3867
+ // ],
3868
+ // // priority: [
3869
+ // // this.EditingApplication.Application?.Priority || 10000,
3870
+ // // Validators.required,
3871
+ // // ],
3872
+ // procType: [this.ProcessorType, [Validators.required]],
3873
+ // });
3874
+ }
3875
+ this.setupSecurityForm();
3876
+ }
3877
+ setupSecurityForm() {
3878
+ var _a, _b;
3879
+ this.SecurityFormGroup.addControl('isPrivate', this.formBldr.control(((_a = this.EditingApplication.LookupConfig) === null || _a === void 0 ? void 0 : _a.IsPrivate) || false, [Validators.required]));
3880
+ this.SecurityFormGroup.addControl('isTriggerSignIn', this.formBldr.control(((_b = this.EditingApplication.LookupConfig) === null || _b === void 0 ? void 0 : _b.IsTriggerSignIn) || false, [Validators.required]));
3881
+ }
3882
+ }
3883
+ SecurityToggleComponent.decorators = [
3884
+ { type: Component, args: [{
3885
+ selector: 'lcu-security-toggle',
3886
+ template: "<form class=\"security-form\" [formGroup]=\"SecurityFormGroup\" (ngSubmit)=\"SecuritySubmit()\">\n <mat-card class=\"spread flow-card\">\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>\n <!-- [disabled]=\"!SecurityFormGroup.valid || !SecurityFormGroup.dirty\" -->\n <button mat-raised-button type=\"submit\" >Save Security Settings</button>\n </mat-card-actions>\n </mat-card>\n</form>\n",
3887
+ styles: ["::ng-deep .mat-tooltip{color:#000!important}"]
3888
+ },] }
3889
+ ];
3890
+ SecurityToggleComponent.ctorParameters = () => [
3891
+ { type: FormBuilder }
3892
+ ];
3893
+ SecurityToggleComponent.propDecorators = {
3894
+ EditingApplication: [{ type: Input, args: ['editing-application',] }]
3895
+ };
3896
+
3897
+ class ProcessorDetailsFormComponent {
3898
+ constructor(formBldr) {
3899
+ this.formBldr = formBldr;
3900
+ // this.EditingApplicationLookup = null;
3901
+ this.redirectTooltip = '';
3902
+ }
3903
+ get BuildFormControl() {
3904
+ var _a;
3905
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.build;
3906
+ }
3907
+ get ClientIDFormControl() {
3908
+ var _a;
3909
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.clientId;
3910
+ }
3911
+ get DefaultFileFormControl() {
3912
+ var _a;
3913
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.defaultFile;
3914
+ }
3915
+ get InboundPathFormControl() {
3916
+ var _a;
3917
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.inboundPath;
3918
+ }
3919
+ get TokenLookupFormControl() {
3920
+ var _a;
3921
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.tokenLookup;
3922
+ }
3923
+ get RedirectFormControl() {
3924
+ var _a;
3925
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.redirect;
3926
+ }
3927
+ get ScopesFormControl() {
3928
+ var _a;
3929
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.scopes;
3930
+ }
3931
+ get SecurityFormControl() {
3932
+ var _a;
3933
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.security;
3934
+ }
3935
+ get SPARootFormControl() {
3936
+ var _a;
3937
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.spaRoot;
3938
+ }
3939
+ get PermanentFormControl() {
3940
+ var _a;
3941
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.permanent;
3942
+ }
3943
+ get PreserveMethodFormControl() {
3944
+ var _a;
3945
+ return (_a = this.ProcessorDetailsFormGroup) === null || _a === void 0 ? void 0 : _a.controls.preserveMethod;
3946
+ }
3947
+ ngOnInit() {
3948
+ this.setupProcessorDetailsForm();
3949
+ }
3950
+ DetermineTooltipText() {
3951
+ let permanentValue = this.PermanentFormControl.value;
3952
+ let preserveValue = this.PreserveMethodFormControl.value;
3953
+ if (permanentValue === true && preserveValue === false) {
3954
+ this.redirectTooltip = '301 – Permanent and Not Preserve';
3955
+ }
3956
+ else if (permanentValue === false && preserveValue === false) {
3957
+ this.redirectTooltip = '302 – Not Permanent and Not Preserve';
3958
+ }
3959
+ else if (permanentValue === false && preserveValue === true) {
3960
+ this.redirectTooltip = '307 – Not Permanent and Preserve';
3961
+ }
3962
+ else if (permanentValue === true && preserveValue === true) {
3963
+ this.redirectTooltip = '308 – Permanent and Preserve';
3964
+ }
3965
+ }
3966
+ SubmitProcessorDetails() {
3967
+ }
3968
+ ProcessorTypeChanged(event) {
3969
+ this.ProcessorType = event.value;
3970
+ this.setupProcessorTypeSubForm();
3971
+ }
3972
+ LCUTypeChanged(event) {
3973
+ this.LCUType = event.value;
3974
+ this.setupLcuTypeSubForm();
3975
+ }
3976
+ //HELPERS
3977
+ cleanupLcuTypeSubForm() {
3978
+ this.ProcessorDetailsFormGroup.removeControl('methods');
3979
+ this.ProcessorDetailsFormGroup.removeControl('apiRoot');
3980
+ this.ProcessorDetailsFormGroup.removeControl('security');
3981
+ this.ProcessorDetailsFormGroup.removeControl('spaRoot');
3982
+ this.ProcessorDetailsFormGroup.removeControl('applicationId');
3983
+ this.ProcessorDetailsFormGroup.removeControl('build');
3984
+ this.ProcessorDetailsFormGroup.removeControl('clientId');
3985
+ this.ProcessorDetailsFormGroup.removeControl('clientSecret');
3986
+ this.ProcessorDetailsFormGroup.removeControl('zipFile');
3987
+ }
3988
+ cleanupProcessorTypeSubForm() {
3989
+ this.ProcessorDetailsFormGroup.removeControl('defaultFile');
3990
+ // this.ApplicationFormGroup.removeControl('dfsLcuType');
3991
+ // this.ApplicationFormGroup.removeControl('oauthLcuType');
3992
+ this.ProcessorDetailsFormGroup.removeControl('scopes');
3993
+ this.ProcessorDetailsFormGroup.removeControl('tokenLookup');
3994
+ this.ProcessorDetailsFormGroup.removeControl('inboundPath');
3995
+ this.ProcessorDetailsFormGroup.removeControl('proxyLcuType');
3996
+ this.ProcessorDetailsFormGroup.removeControl('redirect');
3997
+ this.ProcessorDetailsFormGroup.removeControl('permanent');
3998
+ this.ProcessorDetailsFormGroup.removeControl('preserveMethod');
3999
+ this.cleanupLcuTypeSubForm();
4000
+ }
4001
+ setupLcuTypeSubForm() {
4002
+ this.cleanupLcuTypeSubForm();
4003
+ // this.ApplicationFormGroup.removeControl('package');
4004
+ // this.ApplicationFormGroup.removeControl('version');
4005
+ if (this.LCUType) {
4006
+ switch (this.LCUType) {
4007
+ case 'API':
4008
+ this.setupLCUAPIForm();
4009
+ break;
4010
+ case 'ApplicationPointer':
4011
+ this.setupLCUApplicationPointerForm();
4012
+ break;
4013
+ case 'GitHub':
4014
+ this.setupLCUGitHubForm();
4015
+ break;
4016
+ case 'GitHubOAuth':
4017
+ this.setupLCUGitHubOAuthForm();
4018
+ break;
4019
+ // case 'NPM':
4020
+ // this.setupLCUNPMForm();
4021
+ // break;
4022
+ case 'SPA':
4023
+ this.setupLCUSPAForm();
4024
+ break;
4025
+ case 'Zip':
4026
+ this.setupLCUZipForm();
4027
+ break;
4028
+ }
4029
+ }
4030
+ }
4031
+ setupProcessorDetailsForm() {
4032
+ var _a, _b, _c, _d, _e;
4033
+ this.ProcessorType = ((_b = (_a = this.EditingApplication) === null || _a === void 0 ? void 0 : _a.Processor) === null || _b === void 0 ? void 0 : _b.Type) || '';
4034
+ if (this.EditingApplication != null) {
4035
+ this.ProcessorDetailsFormGroup = this.formBldr.group({
4036
+ name: [(_c = this.EditingApplication.Application) === null || _c === void 0 ? void 0 : _c.Name, Validators.required],
4037
+ description: [
4038
+ (_d = this.EditingApplication.Application) === null || _d === void 0 ? void 0 : _d.Description,
4039
+ Validators.required,
4040
+ ],
4041
+ route: [
4042
+ ((_e = this.EditingApplication.LookupConfig) === null || _e === void 0 ? void 0 : _e.PathRegex.replace('.*', '')) ||
4043
+ '/',
4044
+ Validators.required,
4045
+ ],
4046
+ // priority: [
4047
+ // this.EditingApplication.Application?.Priority || 10000,
4048
+ // Validators.required,
4049
+ // ],
4050
+ procType: [this.ProcessorType, [Validators.required]],
4051
+ });
4052
+ }
4053
+ }
4054
+ setupLCUGitHubForm() {
4055
+ var _a;
4056
+ this.ProcessorDetailsFormGroup.addControl('build', this.formBldr.control(((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.Build) || 'latest', [Validators.required]));
4057
+ }
4058
+ setupLCUApplicationPointerForm() {
4059
+ var _a;
4060
+ this.ProcessorDetailsFormGroup.addControl('applicationId', this.formBldr.control(((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.ApplicationID) || '', [Validators.required]));
4061
+ }
4062
+ setupLCUNPMForm() {
4063
+ // this.ApplicationFormGroup.addControl(
4064
+ // 'package',
4065
+ // this.formBldr.control(
4066
+ // this.EditingApplication.LowCodeUnit?.Package || '',
4067
+ // [Validators.required]
4068
+ // )
4069
+ // );
4070
+ // this.ApplicationFormGroup.addControl(
4071
+ // 'version',
4072
+ // this.formBldr.control(
4073
+ // this.EditingApplication.LowCodeUnit?.Version || '',
4074
+ // [Validators.required]
4075
+ // )
4076
+ // );
4077
+ }
4078
+ setupLCUSPAForm() {
4079
+ var _a;
4080
+ this.ProcessorDetailsFormGroup.addControl('spaRoot', this.formBldr.control(((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.SPARoot) || '', [Validators.required]));
4081
+ }
4082
+ setupLCUAPIForm() {
4083
+ var _a, _b, _c, _d;
4084
+ this.ProcessorDetailsFormGroup.addControl('methods', this.formBldr.control(((_b = (_a = this.EditingApplication.LookupConfig) === null || _a === void 0 ? void 0 : _a.AllowedMethods) === null || _b === void 0 ? void 0 : _b.join(' ')) || '', []));
4085
+ this.ProcessorDetailsFormGroup.addControl('apiRoot', this.formBldr.control(((_c = this.EditingApplication.LowCodeUnit) === null || _c === void 0 ? void 0 : _c.APIRoot) || '', [Validators.required]));
4086
+ this.ProcessorDetailsFormGroup.addControl('security', this.formBldr.control(((_d = this.EditingApplication.LowCodeUnit) === null || _d === void 0 ? void 0 : _d.Security) || '', [Validators.required]));
4087
+ }
4088
+ setupLCUGitHubOAuthForm() {
4089
+ var _a, _b;
4090
+ this.ProcessorDetailsFormGroup.addControl('clientId', this.formBldr.control(((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.ClientID) || '', [Validators.required]));
4091
+ this.ProcessorDetailsFormGroup.addControl('clientSecret', this.formBldr.control(((_b = this.EditingApplication.LowCodeUnit) === null || _b === void 0 ? void 0 : _b.ClientSecret) || '', [Validators.required]));
4092
+ }
4093
+ setupProxyForm() {
4094
+ var _a, _b;
4095
+ this.LCUType = ((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.Type) || '';
4096
+ this.ProcessorDetailsFormGroup.addControl('inboundPath', this.formBldr.control(((_b = this.EditingApplication.Processor) === null || _b === void 0 ? void 0 : _b.InboundPath) || '', [Validators.required]));
4097
+ this.ProcessorDetailsFormGroup.addControl('lcuType', this.formBldr.control(this.LCUType, [Validators.required]));
4098
+ }
4099
+ setupRedirectForm() {
4100
+ var _a, _b, _c;
4101
+ this.ProcessorDetailsFormGroup.addControl('redirect', this.formBldr.control(((_a = this.EditingApplication.Processor) === null || _a === void 0 ? void 0 : _a.Redirect) || '', [
4102
+ Validators.required,
4103
+ ]));
4104
+ this.ProcessorDetailsFormGroup.addControl('permanent', this.formBldr.control(((_b = this.EditingApplication.Processor) === null || _b === void 0 ? void 0 : _b.Permanent) || false, []));
4105
+ this.ProcessorDetailsFormGroup.addControl('preserveMethod', this.formBldr.control(((_c = this.EditingApplication.Processor) === null || _c === void 0 ? void 0 : _c.PreserveMethod) || false, []));
4106
+ this.DetermineTooltipText();
4107
+ }
4108
+ setupOAuthForm() {
4109
+ var _a, _b, _c, _d;
4110
+ this.LCUType = ((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.Type) || '';
4111
+ this.ProcessorDetailsFormGroup.addControl('scopes', this.formBldr.control(((_c = (_b = this.EditingApplication.Processor) === null || _b === void 0 ? void 0 : _b.Scopes) === null || _c === void 0 ? void 0 : _c.Join(' ')) || '', [Validators.required]));
4112
+ this.ProcessorDetailsFormGroup.addControl('tokenLookup', this.formBldr.control(((_d = this.EditingApplication.Processor) === null || _d === void 0 ? void 0 : _d.TokenLookup) || '', [Validators.required]));
4113
+ this.ProcessorDetailsFormGroup.addControl('lcuType', this.formBldr.control(this.LCUType, [Validators.required]));
4114
+ }
4115
+ setupLCUZipForm() {
4116
+ var _a;
4117
+ this.ProcessorDetailsFormGroup.addControl('zipFile', this.formBldr.control(((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.ZipFile) || '', [Validators.required]));
4118
+ }
4119
+ setupDfsForm() {
4120
+ var _a, _b;
4121
+ this.LCUType = ((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.Type) || '';
4122
+ this.ProcessorDetailsFormGroup.addControl('defaultFile', this.formBldr.control(((_b = this.EditingApplication.Processor) === null || _b === void 0 ? void 0 : _b.DefaultFile) || 'index.html', [Validators.required]));
4123
+ this.ProcessorDetailsFormGroup.addControl('lcuType', this.formBldr.control(this.LCUType, [Validators.required]));
4124
+ }
4125
+ setupProcessorTypeSubForm() {
4126
+ this.cleanupProcessorTypeSubForm();
4127
+ if (this.ProcessorType) {
4128
+ switch (this.ProcessorType) {
4129
+ case 'DFS':
4130
+ this.setupDfsForm();
4131
+ break;
4132
+ case 'OAuth':
4133
+ this.setupOAuthForm();
4134
+ break;
4135
+ case 'Proxy':
4136
+ this.setupProxyForm();
4137
+ break;
4138
+ case 'Redirect':
4139
+ this.setupRedirectForm();
4140
+ break;
4141
+ }
4142
+ }
4143
+ this.setupLcuTypeSubForm();
4144
+ }
4145
+ }
4146
+ ProcessorDetailsFormComponent.decorators = [
4147
+ { type: Component, args: [{
4148
+ selector: 'lcu-processor-details-form',
4149
+ template: "<form class=\"processor-details-form\" [formGroup]=\"ProcessorDetailsFormGroup\" (ngSubmit)=\"SubmitProcessorDetails()\">\n<mat-card class=\"spread flow-card\">\n <mat-card-header>\n <mat-card-title> Processor Details </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"procType\"\n (selectionChange)=\"ProcessorTypeChanged($event)\"\n required\n >\n <mat-option value=\"DFS\">View Package</mat-option>\n\n <mat-option value=\"Redirect\">Redirect</mat-option>\n\n <mat-option value=\"Proxy\">Proxy</mat-option>\n\n <mat-option value=\"OAuth\">OAuth</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"ProcessorType\">\n <div *ngSwitchCase=\"'DFS'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Default File\"\n formControlName=\"defaultFile\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"NPM\">NPM</mat-option>\n\n <mat-option value=\"GitHub\">GitHub</mat-option>\n\n <!-- <mat-option value=\"Zip\">Zip</mat-option> -->\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHub'\">\n <lcu-source-control-form-controls\n [build-path]=\"EditingApplication?.LowCodeUnit?.Path\"\n [form-group]=\"ProcessorDetailsFormGroup\"\n [source-control]=\"DefaultSourceControl\"\n [use-branches]=\"false\"\n [use-build-path]=\"true\"\n ></lcu-source-control-form-controls>\n\n <mat-form-field\n class=\"mat-full-width\"\n *ngIf=\"\n SourceControlFormControls?.RepositoryFormControl?.valid\n \"\n >\n <input\n matInput\n placeholder=\"Build\"\n formControlName=\"build\"\n required\n />\n\n <mat-hint>\n Current Build:\n {{ EditingApplication?.LowCodeUnit?.CurrentBuild }}\n </mat-hint>\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'NPM'\">\n <lcu-npm-package-select\n [npm-package]=\"EditingApplication?.LowCodeUnit?.Package\"\n [npm-package-version]=\"\n EditingApplication?.LowCodeUnit?.Version\n \"\n [form-group]=\"ProcessorDetailsFormGroup\"\n ></lcu-npm-package-select>\n\n <mat-hint>\n Current Version:\n {{ EditingApplication?.LowCodeUnit?.CurrentVersion }}\n </mat-hint>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'OAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Scopes (space separated)\"\n formControlName=\"scopes\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Token Lookup\"\n formControlName=\"tokenLookup\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"GitHubOAuth\">GitHub</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'GitHubOAuth'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client ID\"\n formControlName=\"clientId\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Client Secret\"\n formControlName=\"clientSecret\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Proxy'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Inbound Path\"\n formControlName=\"inboundPath\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n placeholder=\"Type\"\n formControlName=\"lcuType\"\n (selectionChange)=\"LCUTypeChanged($event)\"\n required\n >\n <mat-option value=\"API\">API</mat-option>\n\n <mat-option value=\"SPA\">Single Page Application</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div [ngSwitch]=\"LCUType\">\n <div *ngSwitchCase=\"'API'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"API Root\"\n formControlName=\"apiRoot\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Allowed Methods (separate with spaces)\"\n formControlName=\"methods\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Security ({header}~{value})\"\n formControlName=\"security\"\n required\n />\n </mat-form-field>\n </div>\n\n <div *ngSwitchCase=\"'SPA'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"SPA Root\"\n formControlName=\"spaRoot\"\n required\n />\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'Redirect'\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Redirect URL\"\n formControlName=\"redirect\"\n required\n />\n </mat-form-field>\n\n <div>\n <mat-slide-toggle \n class=\"spread\" \n formControlName=\"permanent\">\n Is Permanent?\n </mat-slide-toggle>\n\n <mat-slide-toggle\n class=\"spread\"\n formControlName=\"preserveMethod\"\n >\n Preserve Method?\n </mat-slide-toggle>\n\n <mat-icon\n class=\"spread\"\n matSuffix\n (mouseenter)=\"DetermineTooltipText()\"\n matTooltip={{redirectTooltip}}\n >\n info_outline\n </mat-icon>\n\n <!-- <mat-icon\n *ngIf=\"!IsPermanent && !IsPreserve\"\n\n class=\"spread\"\n matSuffix\n matTooltip=\"302 \u2013 Not Permanent and Not Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n <!-- <mat-icon\n *ngIf=\"!IsPermanent && IsPreserve\"\n class=\"spread\"\n matSuffix\n matTooltip=\"307 \u2013 Not Permanent and Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n <!-- <mat-icon\n *ngIf=\"IsPermanent && IsPreserve\"\n class=\"spread\"\n matSuffix\n matTooltip=\"308 \u2013 Permanent and Preserve\"\n >\n info_outline\n </mat-icon> -->\n\n \n\n <!-- <mat-icon\n class=\"spread\"\n matSuffix\n matTooltip=\"Values used to control the redirect type. Permanent and Not Preserve = 301; Not Permanent and Not Preserve = 302; Permanent and Preserve = 308; Not Permanent and Not Preserve = 307;\"\n >\n info_outline\n </mat-icon> -->\n </div>\n </div>\n </div>\n </mat-card-content>\n <mat-card-actions>\n <!-- [disabled]=\"!SecurityFormGroup.valid || !SecurityFormGroup.dirty\" -->\n <button mat-raised-button type=\"submit\" >Save Security Settings</button>\n </mat-card-actions>\n</mat-card>\n</form>\n \n",
4150
+ styles: [""]
4151
+ },] }
4152
+ ];
4153
+ ProcessorDetailsFormComponent.ctorParameters = () => [
4154
+ { type: FormBuilder }
4155
+ ];
4156
+ ProcessorDetailsFormComponent.propDecorators = {
4157
+ EditingApplication: [{ type: Input, args: ['editing-application',] }]
4158
+ };
4159
+
4160
+ class SourceControlFormComponent {
4161
+ constructor(formBldr) {
4162
+ this.formBldr = formBldr;
4163
+ }
4164
+ get HasBuildFormControl() {
4165
+ var _a;
4166
+ return (_a = this.SourceControlFormGroup) === null || _a === void 0 ? void 0 : _a.controls.hasBuild;
4167
+ }
4168
+ get SourceControlLookupFormControl() {
4169
+ var _a;
4170
+ return (_a = this.SourceControlFormGroup) === null || _a === void 0 ? void 0 : _a.controls.sourceControlLookup;
4171
+ }
4172
+ get SourceControlLookups() {
4173
+ return Object.keys(this.SourceControls || {});
4174
+ }
4175
+ get SourceControls() {
4176
+ console.log("Environment: ", this.Environment);
4177
+ return this.Environment.Sources || {};
4178
+ }
4179
+ ngOnInit() {
4180
+ this.setupSourceControlForm();
4181
+ }
4182
+ SourceControlLookupChanged(event) {
4183
+ // TODO: Anything to do here on change?
4184
+ console.log("sourceControlLookupChanged: ", event);
4185
+ }
4186
+ SubmitSourceControl() {
4187
+ }
4188
+ //HELPER
4189
+ setupSourceControlForm() {
4190
+ var _a, _b;
4191
+ this.ProcessorType = ((_b = (_a = this.EditingApplication) === null || _a === void 0 ? void 0 : _a.Processor) === null || _b === void 0 ? void 0 : _b.Type) || '';
4192
+ this.setupBuildForm();
4193
+ }
4194
+ setupBuildForm() {
4195
+ var _a, _b;
4196
+ this.SourceControlFormGroup.addControl('hasBuild', this.formBldr.control(!!((_a = this.EditingApplication.LowCodeUnit) === null || _a === void 0 ? void 0 : _a.SourceControlLookup) || false, [Validators.required]));
4197
+ this.SourceControlFormGroup.addControl('sourceControlLookup', this.formBldr.control(((_b = this.EditingApplication.LowCodeUnit) === null || _b === void 0 ? void 0 : _b.SourceControlLookup) || '', []));
4198
+ }
4199
+ }
4200
+ SourceControlFormComponent.decorators = [
4201
+ { type: Component, args: [{
4202
+ selector: 'lcu-source-control-form',
4203
+ template: "<form class=\"source-control-form\" [formGroup]=\"SourceControlFormGroup\" (ngSubmit)=\"SubmitSourceControl()\">\n\n<mat-card class=\"spread flow-card\" *ngIf=\"ProcessorType != 'Redirect'\">\n <mat-card-header>\n <mat-card-title *ngIf=\"!HasBuildFormControl.value\">\n Build & Source\n </mat-card-title>\n\n <mat-card-title *ngIf=\"HasBuildFormControl.value\">\n Source Control\n </mat-card-title>\n\n <div fxFlex></div>\n\n <mat-slide-toggle\n formControlName=\"hasBuild\"\n matTooltip=\"Has Build?\"\n >\n </mat-slide-toggle>\n\n <mat-icon\n matSuffix\n matTooltip=\"Configure source control, DevOps CI/CD, and artifacts.\"\n >\n info_outline\n </mat-icon>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field\n class=\"mat-full-width\"\n *ngIf=\"\n HasBuildFormControl.value && SourceControlLookups?.length > 0\n \"\n >\n <mat-select\n formControlName=\"sourceControlLookup\"\n placeholder=\"Source Control\"\n (selectionChange)=\"SourceControlLookupChanged($event)\"\n [disabled]=\"\n SourceControlFormControls?.Loading || HostingDetails?.Loading\n \"\n >\n <ng-container\n *ngFor=\"let srcCtrlLookup of SourceControlLookups\"\n >\n <mat-option\n [value]=\"srcCtrlLookup\"\n *ngIf=\"SourceControls[srcCtrlLookup]; let srcCtrl\"\n >\n {{ srcCtrl.Name }}\n </mat-option>\n </ng-container>\n </mat-select>\n\n <div *ngIf=\"HasBuildFormControl?.value\">\n <h3>\n @{{\n SourceControlFormControls?.OrganizationFormControl?.value ||\n SourceControl?.Organization\n }}/{{\n SourceControlFormControls?.RepositoryFormControl?.value ||\n SourceControl?.Repository\n }}\n </h3>\n\n <p>Organization and Repository pulled from build settings</p>\n\n <mat-hint>\n CurrentBuild:\n {{ EditingApplication?.LowCodeUnit?.CurrentBuild }}\n </mat-hint>\n </div>\n </mat-form-field>\n\n <div *ngIf=\"SourceControlLookups?.length < 0\">\n <h3>\n Create source control locations under the DevOps tab above.\n </h3>\n </div>\n </mat-card-content>\n <mat-card-actions>\n <!-- [disabled]=\"!SourceControlFormGroup.valid || !SourceControlFormGroup.dirty\" -->\n <button mat-raised-button type=\"submit\" >Save</button>\n </mat-card-actions>\n </mat-card>\n</form>\n",
4204
+ styles: [""]
4205
+ },] }
4206
+ ];
4207
+ SourceControlFormComponent.ctorParameters = () => [
4208
+ { type: FormBuilder }
4209
+ ];
4210
+ SourceControlFormComponent.propDecorators = {
4211
+ EditingApplication: [{ type: Input, args: ['editing-application',] }],
4212
+ Environment: [{ type: Input, args: ['environment',] }],
4213
+ SourceControlFormControls: [{ type: ViewChild, args: [SourceControlFormControlsComponent,] }]
4214
+ };
4215
+
3836
4216
  class ApplicationsFlowModule {
3837
4217
  static forRoot() {
3838
4218
  return {
@@ -3882,7 +4262,10 @@ ApplicationsFlowModule.decorators = [
3882
4262
  GhControlComponent,
3883
4263
  MainFeedCardComponent,
3884
4264
  TwoColumnHeaderComponent,
3885
- CardCarouselComponent
4265
+ CardCarouselComponent,
4266
+ SecurityToggleComponent,
4267
+ ProcessorDetailsFormComponent,
4268
+ SourceControlFormComponent
3886
4269
  ],
3887
4270
  imports: [
3888
4271
  FathymSharedModule,
@@ -3891,6 +4274,9 @@ ApplicationsFlowModule.decorators = [
3891
4274
  FlexLayoutModule,
3892
4275
  MaterialModule,
3893
4276
  AppHostModule,
4277
+ MatTooltipModule,
4278
+ MatSlideToggleModule
4279
+ // LazyElementModule,
3894
4280
  ],
3895
4281
  exports: [
3896
4282
  ApplicationsFlowProjectsElementComponent,
@@ -3924,7 +4310,10 @@ ApplicationsFlowModule.decorators = [
3924
4310
  GhControlComponent,
3925
4311
  MainFeedCardComponent,
3926
4312
  TwoColumnHeaderComponent,
3927
- CardCarouselComponent
4313
+ CardCarouselComponent,
4314
+ SecurityToggleComponent,
4315
+ ProcessorDetailsFormComponent,
4316
+ SourceControlFormComponent
3928
4317
  ],
3929
4318
  entryComponents: [
3930
4319
  ApplicationsFlowProjectsElementComponent,
@@ -3956,7 +4345,10 @@ ApplicationsFlowModule.decorators = [
3956
4345
  GhControlComponent,
3957
4346
  MainFeedCardComponent,
3958
4347
  TwoColumnHeaderComponent,
3959
- CardCarouselComponent
4348
+ CardCarouselComponent,
4349
+ SecurityToggleComponent,
4350
+ ProcessorDetailsFormComponent,
4351
+ SourceControlFormComponent
3960
4352
  ],
3961
4353
  },] }
3962
4354
  ];
@@ -3989,5 +4381,5 @@ class FormModel {
3989
4381
  * Generated bundle index. Do not edit.
3990
4382
  */
3991
4383
 
3992
- export { ActionsModel, ApplicationsFlowModule, ApplicationsFlowProjectsContext, ApplicationsFlowProjectsElementComponent, ApplicationsFlowProjectsElementState, ApplicationsFlowService, ApplicationsFlowState, ApplicationsFlowStateContext, BaseFormConfigModel, CardFormConfigModel, CreateProjectWizardComponent, DevSettingsPresetModel, DomainModel, DynamicTabsModel, FormActionsModel, FormModel, FormValuesModel, FormsService, GitAuthComponent, GitHubBranch, GitHubOrganization, GitHubRepository, GitHubSetupState, GitHubWorkflowRun, HostingDetailsFormGroupComponent, NPMService, ProjectActionsModel, ProjectHostingDetails, ProjectHostingOption, ProjectHostingOptionInput, ProjectNameComponent, ProjectService, RootDirectoryComponent, SELECTOR_APPLICATIONS_FLOW_PROJECTS_ELEMENT, SourceControlFormControlsComponent, ThreeColumnComponent, UnpackLowCodeUnitRequest, ApplicationsFlowEventsService as ɵa, DynamicTabsComponent as ɵb, HeaderComponent as ɵc, ProjectTabsComponent as ɵd, GeneralComponent as ɵe, DomainsComponent as ɵf, ProjectItemsComponent as ɵg, BuildsComponent as ɵh, RecentActivitiesComponent as ɵi, FormCardComponent as ɵj, BaseFormComponent as ɵk, BaseFormTestComponent as ɵl, AppsFlowComponent as ɵm, DevOpsComponent as ɵn, DFSModifiersComponent as ɵo, NpmPackageSelectComponent as ɵp, ColumnInfoCardComponent as ɵq, SlottedCardComponent as ɵr, ProjectInfoCardComponent as ɵs, AnalyticsCardComponent as ɵt, FeedCardSmComponent as ɵu, GhControlComponent as ɵv, MainFeedCardComponent as ɵw, TwoColumnHeaderComponent as ɵx, CardCarouselComponent as ɵy };
4384
+ export { ActionsModel, ApplicationsFlowModule, ApplicationsFlowProjectsContext, ApplicationsFlowProjectsElementComponent, ApplicationsFlowProjectsElementState, ApplicationsFlowService, ApplicationsFlowState, ApplicationsFlowStateContext, BaseFormConfigModel, CardFormConfigModel, CreateProjectWizardComponent, DevSettingsPresetModel, DomainModel, DynamicTabsModel, FormActionsModel, FormModel, FormValuesModel, FormsService, GitAuthComponent, GitHubBranch, GitHubOrganization, GitHubRepository, GitHubSetupState, GitHubWorkflowRun, HostingDetailsFormGroupComponent, NPMService, ProjectActionsModel, ProjectHostingDetails, ProjectHostingOption, ProjectHostingOptionInput, ProjectNameComponent, ProjectService, RootDirectoryComponent, SELECTOR_APPLICATIONS_FLOW_PROJECTS_ELEMENT, SourceControlFormControlsComponent, ThreeColumnComponent, UnpackLowCodeUnitRequest, ApplicationsFlowEventsService as ɵa, DynamicTabsComponent as ɵb, ProcessorDetailsFormComponent as ɵba, SourceControlFormComponent as ɵbb, HeaderComponent as ɵc, ProjectTabsComponent as ɵd, GeneralComponent as ɵe, DomainsComponent as ɵf, ProjectItemsComponent as ɵg, BuildsComponent as ɵh, RecentActivitiesComponent as ɵi, FormCardComponent as ɵj, BaseFormComponent as ɵk, BaseFormTestComponent as ɵl, AppsFlowComponent as ɵm, DevOpsComponent as ɵn, DFSModifiersComponent as ɵo, NpmPackageSelectComponent as ɵp, ColumnInfoCardComponent as ɵq, SlottedCardComponent as ɵr, ProjectInfoCardComponent as ɵs, AnalyticsCardComponent as ɵt, FeedCardSmComponent as ɵu, GhControlComponent as ɵv, MainFeedCardComponent as ɵw, TwoColumnHeaderComponent as ɵx, CardCarouselComponent as ɵy, SecurityToggleComponent as ɵz };
3993
4385
  //# sourceMappingURL=lowcodeunit-applications-flow-common.js.map