@lowcodeunit/applications-flow-common 1.33.316-lets-get-social-ish → 1.33.319-merge

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 (34) hide show
  1. package/esm2020/lcu.api.mjs +3 -3
  2. package/esm2020/lib/applications-flow.module.mjs +11 -22
  3. package/esm2020/lib/controls/devops-source-control-form/devops-source-control-form.component.mjs +3 -3
  4. package/esm2020/lib/elements/dynamic-tabs/dynamic-tabs.component.mjs +2 -2
  5. package/esm2020/lib/elements/form-card/form-card.component.mjs +2 -2
  6. package/esm2020/lib/elements/gh-control/gh-control.component.mjs +107 -0
  7. package/esm2020/lib/elements/projects/controls/builds/builds.component.mjs +2 -2
  8. package/esm2020/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.mjs +2 -2
  9. package/esm2020/lib/elements/projects/controls/forms/source-control/source-control.component.mjs +2 -2
  10. package/esm2020/lib/elements/projects/controls/git-auth/git-auth.component.mjs +4 -6
  11. package/esm2020/lib/elements/projects/controls/header/header.component.mjs +2 -2
  12. package/esm2020/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.mjs +2 -2
  13. package/esm2020/lib/elements/projects/controls/project-items/project-items.component.mjs +2 -2
  14. package/esm2020/lib/elements/projects/controls/project-tabs/project-tabs.component.mjs +2 -2
  15. package/esm2020/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.mjs +2 -2
  16. package/esm2020/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.mjs +2 -2
  17. package/esm2020/lib/elements/projects/controls/tabs/devops/devops.component.mjs +2 -2
  18. package/esm2020/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.mjs +2 -2
  19. package/esm2020/lib/elements/projects/controls/tabs/domains/domains.component.mjs +2 -2
  20. package/esm2020/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.mjs +2 -2
  21. package/esm2020/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.mjs +2 -2
  22. package/esm2020/lib/elements/projects/controls/tabs/general/general.component.mjs +2 -2
  23. package/esm2020/lib/elements/projects/projects.component.mjs +2 -2
  24. package/fesm2015/lowcodeunit-applications-flow-common.mjs +1410 -1712
  25. package/fesm2015/lowcodeunit-applications-flow-common.mjs.map +1 -1
  26. package/fesm2020/lowcodeunit-applications-flow-common.mjs +1369 -1656
  27. package/fesm2020/lowcodeunit-applications-flow-common.mjs.map +1 -1
  28. package/lcu.api.d.ts +2 -2
  29. package/lib/applications-flow.module.d.ts +10 -12
  30. package/lib/elements/{feed-header/feed-header.component.d.ts → gh-control/gh-control.component.d.ts} +4 -7
  31. package/package.json +1 -1
  32. package/esm2020/lib/dialogs/feed-header-dialog/feed-header-dialog.component.mjs +0 -268
  33. package/esm2020/lib/elements/feed-header/feed-header.component.mjs +0 -128
  34. package/lib/dialogs/feed-header-dialog/feed-header-dialog.component.d.ts +0 -72
@@ -1,128 +0,0 @@
1
- import { Input } from '@angular/core';
2
- import { Component } from '@angular/core';
3
- import { FeedHeaderDialogComponent } from '../../dialogs/feed-header-dialog/feed-header-dialog.component';
4
- import { NewApplicationDialogComponent } from '../../dialogs/new-application-dialog/new-application-dialog.component';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../services/eac.service";
7
- import * as i2 from "@angular/material/dialog";
8
- import * as i3 from "@angular/material/card";
9
- import * as i4 from "@angular/material/icon";
10
- import * as i5 from "@angular/material/button";
11
- import * as i6 from "skeleton-elements/angular";
12
- import * as i7 from "@angular/common";
13
- import * as i8 from "@angular/flex-layout/flex";
14
- export class FeedHeaderComponent {
15
- constructor(eacSvc, dialog) {
16
- this.eacSvc = eacSvc;
17
- this.dialog = dialog;
18
- this.SkeletonEffect = "wave";
19
- // this.selectedBtn = "pr-btn";
20
- }
21
- get ActiveEnvironmentLookup() {
22
- // TODO: Eventually support multiple environments
23
- const envLookups = Object.keys(this.State?.EaC?.Environments || {});
24
- return envLookups[0];
25
- }
26
- get State() {
27
- return this.eacSvc.State;
28
- }
29
- ngOnInit() {
30
- }
31
- ngAfterViewInit() {
32
- this.addSelectBtn();
33
- }
34
- CreateAnnouncement() {
35
- this.ModalHeader = "Create Team Announcement";
36
- this.OpenFHDialog('announcement');
37
- }
38
- CreateFeatureBranch() {
39
- this.removeSelectedBtn();
40
- this.ModalHeader = "Create Feature Branch";
41
- this.selectedBtn = "fb-btn";
42
- this.addSelectBtn();
43
- console.log("create feature branch selected");
44
- this.OpenFHDialog('fb');
45
- }
46
- OpenIssue() {
47
- this.removeSelectedBtn();
48
- this.ModalHeader = "Open Issue";
49
- this.selectedBtn = "oi-btn";
50
- this.addSelectBtn();
51
- console.log("open issue selected");
52
- this.OpenFHDialog('issue');
53
- }
54
- CreatePullRequest() {
55
- this.removeSelectedBtn();
56
- this.ModalHeader = "Create Pull Request";
57
- this.selectedBtn = "pr-btn";
58
- this.addSelectBtn();
59
- console.log("create pull request selected");
60
- this.OpenFHDialog('pr');
61
- }
62
- CreateNewApp() {
63
- const dialogRef = this.dialog.open(NewApplicationDialogComponent, {
64
- width: '600px',
65
- data: {
66
- environmentLookup: this.ActiveEnvironmentLookup,
67
- },
68
- });
69
- dialogRef.afterClosed().subscribe((result) => {
70
- // console.log('The dialog was closed');
71
- // console.log("result:", result)
72
- });
73
- }
74
- OpenFHDialog(modalType) {
75
- const dialogRef = this.dialog.open(FeedHeaderDialogComponent, {
76
- width: '600px',
77
- data: {
78
- dialogTitle: this.ModalHeader,
79
- type: modalType,
80
- sourceControlLookup: this.SourceControlLookup ? this.SourceControlLookup : null
81
- },
82
- });
83
- dialogRef.afterClosed().subscribe((result) => {
84
- // console.log('The dialog was closed');
85
- // console.log("result:", result)
86
- });
87
- }
88
- RouteToPath(path) {
89
- window.location.href = path;
90
- }
91
- Submit() {
92
- console.log("submitting: ", this.value);
93
- switch (this.selectedBtn) {
94
- case "pr-btn":
95
- //Pull request
96
- console.log("creating pull request: ", this.value);
97
- break;
98
- case "oi-btn":
99
- //Open Issue
100
- console.log("Open issue: ", this.value);
101
- break;
102
- case "fb-btn":
103
- //Feature Branch
104
- console.log("creating feature branch: ", this.value);
105
- break;
106
- default:
107
- console.log("hmm");
108
- break;
109
- }
110
- }
111
- //HELPERS
112
- addSelectBtn() {
113
- document.getElementById(this.selectedBtn)?.classList.add('selected');
114
- }
115
- removeSelectedBtn() {
116
- document.getElementById(this.selectedBtn)?.classList.remove('selected');
117
- }
118
- }
119
- FeedHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: FeedHeaderComponent, deps: [{ token: i1.EaCService }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
120
- FeedHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: FeedHeaderComponent, selector: "lcu-feed-header", inputs: { SourceControlLookup: ["source-control-lookup", "SourceControlLookup"] }, ngImport: i0, template: "<mat-card class=\"social-card\">\n <ng-container *ngIf=\"!State?.Loading\">\n <div class=\"gh-card-container\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <mat-icon fxFlex=\"15%\" class=\"gh-icon\" color=\"primary\">error_outline</mat-icon>\n <div fxFlex=\"85%\" class=\"gh-card-main-content\">\n <button \n mat-button \n class=\"main-btn\"\n (click)=\"CreateAnnouncement()\" \n color=\"primary\"\n >Create Team Announcement</button>\n\n <!-- <mat-form-field appearance=\"fill\" class=\"gh-input\">\n <mat-label>{{ InputLabel }}</mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"value\" (click)=\"OpenFHDialog('announcement')\"/>\n </mat-form-field> -->\n </div>\n\n <!-- <button\n fxFlex=\"15%\"\n mat-button\n (click)=\"Submit()\"\n id=\"submit-btn\"\n color=\"primary\"\n >\n Submit\n </button> -->\n </div>\n\n <mat-card-actions fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <button \n mat-button \n (click)=\"CreatePullRequest()\" \n id=\"pr-btn\" \n color=\"primary\"\n >\n Pull Request\n </button>\n\n <button \n mat-button \n (click)=\"OpenIssue()\" \n id=\"oi-btn\" \n color=\"primary\"\n >\n Open Issue\n </button>\n\n <button \n mat-button \n (click)=\"CreateFeatureBranch()\" \n id=\"fb-btn\" \n color=\"primary\"\n >\n Feature Branch\n </button>\n\n <!-- <button mat-icon-button [matMenuTriggerFor]=\"menu\" aria-label=\"menu\">\n <mat-icon>more_horiz</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button class=\"gh-menu-action\" mat-menu-item (click)=\"CreateNewApp()\">\n Create New App\n </button>\n\n <button\n class=\"gh-menu-action\"\n mat-menu-item\n (click)=\"RouteToPath('/dashboard/create-project')\"\n >\n Create Project\n </button>\n </mat-menu> -->\n </mat-card-actions>\n </ng-container>\n\n <!-- SKELETON -->\n <ng-container *ngIf=\"State?.Loading\">\n <div id=\"gh-card-skeleton\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <skeleton-avatar\n class=\"gh-icon\"\n [showIcon]=\"false\"\n [effect]=\"SkeletonEffect\"\n ></skeleton-avatar>\n\n <div fxFlex=\"85%\" class=\"gh-card-main-content\">\n <skeleton-block\n height=\"60px\"\n [effect]=\"SkeletonEffect\"\n ></skeleton-block>\n </div>\n\n <!-- <div\n skeleton-text\n fxFlex=\"15%\"\n [effect]=\"SkeletonEffect\"\n style=\"margin: 0px 10px\"\n >\n Submit\n </div> -->\n </div>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <div skeleton-text [effect]=\"SkeletonEffect\">Pull Request</div>\n <div skeleton-text [effect]=\"SkeletonEffect\">Open Issue</div>\n <div skeleton-text [effect]=\"SkeletonEffect\">Feature Branch</div>\n <!-- <div skeleton-text [effect]=\"SkeletonEffect\">\n <mat-icon>more_horiz</mat-icon>\n </div> -->\n </div>\n </ng-container>\n</mat-card>\n", styles: [":host ::ng-deep .social-card{margin:20px;padding:15px 5px}:host ::ng-deep mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}:host ::ng-deep .main-slot-container{padding:10px}:host ::ng-deep .slot-header{align-items:center}:host ::ng-deep .slot-content{width:100%}:host ::ng-deep .slot-name{font-size:13px;font-weight:600}:host ::ng-deep .slot-description{font-size:12px;margin-right:10px}:host ::ng-deep .slot-action-anchor{font-size:10px;text-decoration:none;color:#000}:host ::ng-deep .action-icon{height:25px;width:25px;font-size:25px;cursor:pointer}.gh-icon{width:60px;height:60px;font-size:60px;text-align:center}.gh-input{width:90%}.main-btn{width:90%;height:50px;border-radius:30px;border:1px solid}.selected{border:1px solid green}.gh-input ::ng-deep .mat-form-field-flex{border:1px solid;border-radius:30px!important}.gh-input ::ng-deep .mat-form-field-wrapper{padding-bottom:0!important}.gh-input ::ng-deep .mat-form-field-underline{display:none}\n"], components: [{ type: i3.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.SkeletonAvatarComponent, selector: "skeleton-avatar", inputs: ["size", "color", "showIcon", "iconColor", "borderRadius", "effect"] }, { type: i6.SkeletonBlockComponent, selector: "skeleton-block", inputs: ["width", "height", "effect", "borderRadius"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i8.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i3.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { type: i6.SkeletonTextDirective, selector: "[skeleton-text]", inputs: ["effect"] }] });
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: FeedHeaderComponent, decorators: [{
122
- type: Component,
123
- args: [{ selector: 'lcu-feed-header', template: "<mat-card class=\"social-card\">\n <ng-container *ngIf=\"!State?.Loading\">\n <div class=\"gh-card-container\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <mat-icon fxFlex=\"15%\" class=\"gh-icon\" color=\"primary\">error_outline</mat-icon>\n <div fxFlex=\"85%\" class=\"gh-card-main-content\">\n <button \n mat-button \n class=\"main-btn\"\n (click)=\"CreateAnnouncement()\" \n color=\"primary\"\n >Create Team Announcement</button>\n\n <!-- <mat-form-field appearance=\"fill\" class=\"gh-input\">\n <mat-label>{{ InputLabel }}</mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"value\" (click)=\"OpenFHDialog('announcement')\"/>\n </mat-form-field> -->\n </div>\n\n <!-- <button\n fxFlex=\"15%\"\n mat-button\n (click)=\"Submit()\"\n id=\"submit-btn\"\n color=\"primary\"\n >\n Submit\n </button> -->\n </div>\n\n <mat-card-actions fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <button \n mat-button \n (click)=\"CreatePullRequest()\" \n id=\"pr-btn\" \n color=\"primary\"\n >\n Pull Request\n </button>\n\n <button \n mat-button \n (click)=\"OpenIssue()\" \n id=\"oi-btn\" \n color=\"primary\"\n >\n Open Issue\n </button>\n\n <button \n mat-button \n (click)=\"CreateFeatureBranch()\" \n id=\"fb-btn\" \n color=\"primary\"\n >\n Feature Branch\n </button>\n\n <!-- <button mat-icon-button [matMenuTriggerFor]=\"menu\" aria-label=\"menu\">\n <mat-icon>more_horiz</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button class=\"gh-menu-action\" mat-menu-item (click)=\"CreateNewApp()\">\n Create New App\n </button>\n\n <button\n class=\"gh-menu-action\"\n mat-menu-item\n (click)=\"RouteToPath('/dashboard/create-project')\"\n >\n Create Project\n </button>\n </mat-menu> -->\n </mat-card-actions>\n </ng-container>\n\n <!-- SKELETON -->\n <ng-container *ngIf=\"State?.Loading\">\n <div id=\"gh-card-skeleton\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <skeleton-avatar\n class=\"gh-icon\"\n [showIcon]=\"false\"\n [effect]=\"SkeletonEffect\"\n ></skeleton-avatar>\n\n <div fxFlex=\"85%\" class=\"gh-card-main-content\">\n <skeleton-block\n height=\"60px\"\n [effect]=\"SkeletonEffect\"\n ></skeleton-block>\n </div>\n\n <!-- <div\n skeleton-text\n fxFlex=\"15%\"\n [effect]=\"SkeletonEffect\"\n style=\"margin: 0px 10px\"\n >\n Submit\n </div> -->\n </div>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <div skeleton-text [effect]=\"SkeletonEffect\">Pull Request</div>\n <div skeleton-text [effect]=\"SkeletonEffect\">Open Issue</div>\n <div skeleton-text [effect]=\"SkeletonEffect\">Feature Branch</div>\n <!-- <div skeleton-text [effect]=\"SkeletonEffect\">\n <mat-icon>more_horiz</mat-icon>\n </div> -->\n </div>\n </ng-container>\n</mat-card>\n", styles: [":host ::ng-deep .social-card{margin:20px;padding:15px 5px}:host ::ng-deep mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}:host ::ng-deep .main-slot-container{padding:10px}:host ::ng-deep .slot-header{align-items:center}:host ::ng-deep .slot-content{width:100%}:host ::ng-deep .slot-name{font-size:13px;font-weight:600}:host ::ng-deep .slot-description{font-size:12px;margin-right:10px}:host ::ng-deep .slot-action-anchor{font-size:10px;text-decoration:none;color:#000}:host ::ng-deep .action-icon{height:25px;width:25px;font-size:25px;cursor:pointer}.gh-icon{width:60px;height:60px;font-size:60px;text-align:center}.gh-input{width:90%}.main-btn{width:90%;height:50px;border-radius:30px;border:1px solid}.selected{border:1px solid green}.gh-input ::ng-deep .mat-form-field-flex{border:1px solid;border-radius:30px!important}.gh-input ::ng-deep .mat-form-field-wrapper{padding-bottom:0!important}.gh-input ::ng-deep .mat-form-field-underline{display:none}\n"] }]
124
- }], ctorParameters: function () { return [{ type: i1.EaCService }, { type: i2.MatDialog }]; }, propDecorators: { SourceControlLookup: [{
125
- type: Input,
126
- args: ['source-control-lookup']
127
- }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvZWxlbWVudHMvZmVlZC1oZWFkZXIvZmVlZC1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvZWxlbWVudHMvZmVlZC1oZWFkZXIvZmVlZC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDOzs7Ozs7Ozs7O0FBU3RILE1BQU0sT0FBTyxtQkFBbUI7SUF3QjlCLFlBQ2MsTUFBa0IsRUFDbEIsTUFBaUI7UUFEakIsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBRTdCLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO1FBQzdCLCtCQUErQjtJQUVqQyxDQUFDO0lBMUJELElBQVcsdUJBQXVCO1FBQ2hDLG1EQUFtRDtRQUNuRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVwRSxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBbUJNLFFBQVE7SUFFZixDQUFDO0lBRU0sZUFBZTtRQUNw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QUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25ELE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsWUFBWTtnQkFDWixPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hDLE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsZ0JBQWdCO2dCQUNoQixPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckQsTUFBTTtZQUNSO2dCQUNFLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBRWxCLE1BQU07U0FDVDtJQUNILENBQUM7SUFFRCxTQUFTO0lBRUMsWUFBWTtRQUNOLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBRSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVTLGlCQUFpQjtRQUNYLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBRSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekYsQ0FBQzs7Z0hBOUlVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLDBJQ2JoQyxtdkdBZ0hBOzJGRG5HYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCO3lIQU9wQixtQkFBbUI7c0JBRHpCLEtBQUs7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgRmVlZEhlYWRlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2RpYWxvZ3MvZmVlZC1oZWFkZXItZGlhbG9nL2ZlZWQtaGVhZGVyLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmV3QXBwbGljYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9kaWFsb2dzL25ldy1hcHBsaWNhdGlvbi1kaWFsb2cvbmV3LWFwcGxpY2F0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWFDU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGN1LWZlZWQtaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZlZWQtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmVlZC1oZWFkZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGZWVkSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoJ3NvdXJjZS1jb250cm9sLWxvb2t1cCcpXG4gIHB1YmxpYyBTb3VyY2VDb250cm9sTG9va3VwOiBzdHJpbmc7XG5cbiAgcHVibGljIGdldCBBY3RpdmVFbnZpcm9ubWVudExvb2t1cCgpOiBzdHJpbmcge1xuICAgIC8vICBUT0RPOiAgRXZlbnR1YWxseSBzdXBwb3J0IG11bHRpcGxlIGVudmlyb25tZW50c1xuICAgIGNvbnN0IGVudkxvb2t1cHMgPSBPYmplY3Qua2V5cyh0aGlzLlN0YXRlPy5FYUM/LkVudmlyb25tZW50cyB8fCB7fSk7XG5cbiAgICByZXR1cm4gZW52TG9va3Vwc1swXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU3RhdGUoKTogQXBwbGljYXRpb25zRmxvd1N0YXRle1xuICAgIHJldHVybiB0aGlzLmVhY1N2Yy5TdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBNb2RhbEhlYWRlcjogc3RyaW5nO1xuXG4gIHB1YmxpYyBTa2VsZXRvbkVmZmVjdDogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBzZWxlY3RlZEJ0bjogc3RyaW5nO1xuXG4gIHB1YmxpYyB2YWx1ZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCBcbiAgICAgIHByb3RlY3RlZCBlYWNTdmM6IEVhQ1NlcnZpY2UsXG4gICAgICBwcm90ZWN0ZWQgZGlhbG9nOiBNYXREaWFsb2cpIHsgXG5cbiAgICB0aGlzLlNrZWxldG9uRWZmZWN0ID0gXCJ3YXZlXCI7XG4gICAgLy8gdGhpcy5zZWxlY3RlZEJ0biA9IFwicHItYnRuXCI7XG5cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKXtcbiAgICB0aGlzLmFkZFNlbGVjdEJ0bigpO1xuICB9XG5cbiAgcHVibGljIENyZWF0ZUFubm91bmNlbWVudCgpe1xuICAgIHRoaXMuTW9kYWxIZWFkZXIgPSBcIkNyZWF0ZSBUZWFtIEFubm91bmNlbWVudFwiO1xuICAgIHRoaXMuT3BlbkZIRGlhbG9nKCdhbm5vdW5jZW1lbnQnKTtcblxuICB9XG5cbiAgcHVibGljIENyZWF0ZUZlYXR1cmVCcmFuY2goKXtcbiAgICB0aGlzLnJlbW92ZVNlbGVjdGVkQnRuKCk7XG4gICAgdGhpcy5Nb2RhbEhlYWRlciA9IFwiQ3JlYXRlIEZlYXR1cmUgQnJhbmNoXCI7XG4gICAgdGhpcy5zZWxlY3RlZEJ0biA9IFwiZmItYnRuXCI7XG4gICAgdGhpcy5hZGRTZWxlY3RCdG4oKTtcbiAgICBjb25zb2xlLmxvZyhcImNyZWF0ZSBmZWF0dXJlIGJyYW5jaCBzZWxlY3RlZFwiKTtcbiAgICB0aGlzLk9wZW5GSERpYWxvZygnZmInKTtcblxuICB9XG5cbiAgcHVibGljIE9wZW5Jc3N1ZSgpe1xuICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRCdG4oKTtcbiAgICB0aGlzLk1vZGFsSGVhZGVyID0gXCJPcGVuIElzc3VlXCI7XG4gICAgdGhpcy5zZWxlY3RlZEJ0biA9IFwib2ktYnRuXCI7XG4gICAgdGhpcy5hZGRTZWxlY3RCdG4oKTtcbiAgICBjb25zb2xlLmxvZyhcIm9wZW4gaXNzdWUgc2VsZWN0ZWRcIik7XG4gICAgdGhpcy5PcGVuRkhEaWFsb2coJ2lzc3VlJyk7XG5cbiAgfVxuXG4gIHB1YmxpYyBDcmVhdGVQdWxsUmVxdWVzdCgpe1xuICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRCdG4oKTtcbiAgICB0aGlzLk1vZGFsSGVhZGVyID0gXCJDcmVhdGUgUHVsbCBSZXF1ZXN0XCI7XG4gICAgdGhpcy5zZWxlY3RlZEJ0biA9IFwicHItYnRuXCI7XG4gICAgdGhpcy5hZGRTZWxlY3RCdG4oKTtcbiAgICBjb25zb2xlLmxvZyhcImNyZWF0ZSBwdWxsIHJlcXVlc3Qgc2VsZWN0ZWRcIik7XG4gICAgdGhpcy5PcGVuRkhEaWFsb2coJ3ByJyk7XG5cbiAgfVxuXG4gIHB1YmxpYyBDcmVhdGVOZXdBcHAoKXtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKE5ld0FwcGxpY2F0aW9uRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogJzYwMHB4JyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgZW52aXJvbm1lbnRMb29rdXA6IHRoaXMuQWN0aXZlRW52aXJvbm1lbnRMb29rdXAsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgLy8gY29uc29sZS5sb2coJ1RoZSBkaWFsb2cgd2FzIGNsb3NlZCcpO1xuICAgICAgLy8gY29uc29sZS5sb2coXCJyZXN1bHQ6XCIsIHJlc3VsdClcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBPcGVuRkhEaWFsb2cobW9kYWxUeXBlOiBzdHJpbmcpe1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRmVlZEhlYWRlckRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc2MDBweCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGRpYWxvZ1RpdGxlOiB0aGlzLk1vZGFsSGVhZGVyLFxuICAgICAgICB0eXBlOiBtb2RhbFR5cGUsXG4gICAgICAgIHNvdXJjZUNvbnRyb2xMb29rdXA6IHRoaXMuU291cmNlQ29udHJvbExvb2t1cCA/IHRoaXMuU291cmNlQ29udHJvbExvb2t1cCA6IG51bGxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAvLyBjb25zb2xlLmxvZygnVGhlIGRpYWxvZyB3YXMgY2xvc2VkJyk7XG4gICAgICAvLyBjb25zb2xlLmxvZyhcInJlc3VsdDpcIiwgcmVzdWx0KVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIFJvdXRlVG9QYXRoKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gcGF0aDtcbiAgfVxuXG5cbiAgcHVibGljIFN1Ym1pdCgpe1xuICAgIGNvbnNvbGUubG9nKFwic3VibWl0dGluZzogXCIsIHRoaXMudmFsdWUpO1xuICAgIHN3aXRjaCAodGhpcy5zZWxlY3RlZEJ0bil7XG4gICAgICBjYXNlIFwicHItYnRuXCI6XG4gICAgICAgIC8vUHVsbCByZXF1ZXN0XG4gICAgICAgIGNvbnNvbGUubG9nKFwiY3JlYXRpbmcgcHVsbCByZXF1ZXN0OiBcIiwgdGhpcy52YWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIm9pLWJ0blwiOlxuICAgICAgICAvL09wZW4gSXNzdWVcbiAgICAgICAgY29uc29sZS5sb2coXCJPcGVuIGlzc3VlOiBcIiwgdGhpcy52YWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcImZiLWJ0blwiOlxuICAgICAgICAvL0ZlYXR1cmUgQnJhbmNoXG4gICAgICAgIGNvbnNvbGUubG9nKFwiY3JlYXRpbmcgZmVhdHVyZSBicmFuY2g6IFwiLCB0aGlzLnZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBjb25zb2xlLmxvZyhcImhtbVwiKVxuXG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8vSEVMUEVSU1xuXG4gIHByb3RlY3RlZCBhZGRTZWxlY3RCdG4oKXsgICAgXG4gICAgKDxIVE1MRWxlbWVudD5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLnNlbGVjdGVkQnRuKSk/LmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGVkJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVtb3ZlU2VsZWN0ZWRCdG4oKXtcbiAgICAoPEhUTUxFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuc2VsZWN0ZWRCdG4pKT8uY2xhc3NMaXN0LnJlbW92ZSgnc2VsZWN0ZWQnKTtcbiAgfVxuXG59XG4iLCI8bWF0LWNhcmQgY2xhc3M9XCJzb2NpYWwtY2FyZFwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIVN0YXRlPy5Mb2FkaW5nXCI+XG4gICAgPGRpdiBjbGFzcz1cImdoLWNhcmQtY29udGFpbmVyXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgPG1hdC1pY29uIGZ4RmxleD1cIjE1JVwiIGNsYXNzPVwiZ2gtaWNvblwiIGNvbG9yPVwicHJpbWFyeVwiPmVycm9yX291dGxpbmU8L21hdC1pY29uPlxuICAgICAgPGRpdiBmeEZsZXg9XCI4NSVcIiBjbGFzcz1cImdoLWNhcmQtbWFpbi1jb250ZW50XCI+XG4gICAgICAgIDxidXR0b24gXG4gICAgICAgICAgbWF0LWJ1dHRvbiBcbiAgICAgICAgICBjbGFzcz1cIm1haW4tYnRuXCJcbiAgICAgICAgICAoY2xpY2spPVwiQ3JlYXRlQW5ub3VuY2VtZW50KClcIiBcbiAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICA+Q3JlYXRlIFRlYW0gQW5ub3VuY2VtZW50PC9idXR0b24+XG5cbiAgICAgICAgPCEtLSA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImdoLWlucHV0XCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD57eyBJbnB1dExhYmVsIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChjbGljayk9XCJPcGVuRkhEaWFsb2coJ2Fubm91bmNlbWVudCcpXCIvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPiAtLT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIDxidXR0b25cbiAgICAgICAgZnhGbGV4PVwiMTUlXCJcbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAoY2xpY2spPVwiU3VibWl0KClcIlxuICAgICAgICBpZD1cInN1Ym1pdC1idG5cIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgPlxuICAgICAgICBTdWJtaXRcbiAgICAgIDwvYnV0dG9uPiAtLT5cbiAgICA8L2Rpdj5cblxuICAgIDxtYXQtY2FyZC1hY3Rpb25zIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWFyb3VuZCBjZW50ZXJcIj5cbiAgICAgIDxidXR0b24gXG4gICAgICAgIG1hdC1idXR0b24gXG4gICAgICAgIChjbGljayk9XCJDcmVhdGVQdWxsUmVxdWVzdCgpXCIgXG4gICAgICAgIGlkPVwicHItYnRuXCIgXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICA+XG4gICAgICAgIFB1bGwgUmVxdWVzdFxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxidXR0b24gXG4gICAgICAgIG1hdC1idXR0b24gXG4gICAgICAgIChjbGljayk9XCJPcGVuSXNzdWUoKVwiIFxuICAgICAgICBpZD1cIm9pLWJ0blwiIFxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgPlxuICAgICAgICBPcGVuIElzc3VlXG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGJ1dHRvbiBcbiAgICAgICAgbWF0LWJ1dHRvbiBcbiAgICAgICAgKGNsaWNrKT1cIkNyZWF0ZUZlYXR1cmVCcmFuY2goKVwiIFxuICAgICAgICBpZD1cImZiLWJ0blwiIFxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgPlxuICAgICAgICBGZWF0dXJlIEJyYW5jaFxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDwhLS0gPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBhcmlhLWxhYmVsPVwibWVudVwiPlxuICAgICAgICA8bWF0LWljb24+bW9yZV9ob3JpejwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImdoLW1lbnUtYWN0aW9uXCIgbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiQ3JlYXRlTmV3QXBwKClcIj5cbiAgICAgICAgICBDcmVhdGUgTmV3IEFwcFxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJnaC1tZW51LWFjdGlvblwiXG4gICAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICAgIChjbGljayk9XCJSb3V0ZVRvUGF0aCgnL2Rhc2hib2FyZC9jcmVhdGUtcHJvamVjdCcpXCJcbiAgICAgICAgPlxuICAgICAgICAgIENyZWF0ZSBQcm9qZWN0XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9tYXQtbWVudT4gLS0+XG4gICAgPC9tYXQtY2FyZC1hY3Rpb25zPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8IS0tIFNLRUxFVE9OIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiU3RhdGU/LkxvYWRpbmdcIj5cbiAgICA8ZGl2IGlkPVwiZ2gtY2FyZC1za2VsZXRvblwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cbiAgICAgIDxza2VsZXRvbi1hdmF0YXJcbiAgICAgICAgY2xhc3M9XCJnaC1pY29uXCJcbiAgICAgICAgW3Nob3dJY29uXT1cImZhbHNlXCJcbiAgICAgICAgW2VmZmVjdF09XCJTa2VsZXRvbkVmZmVjdFwiXG4gICAgICA+PC9za2VsZXRvbi1hdmF0YXI+XG5cbiAgICAgIDxkaXYgZnhGbGV4PVwiODUlXCIgY2xhc3M9XCJnaC1jYXJkLW1haW4tY29udGVudFwiPlxuICAgICAgICA8c2tlbGV0b24tYmxvY2tcbiAgICAgICAgICBoZWlnaHQ9XCI2MHB4XCJcbiAgICAgICAgICBbZWZmZWN0XT1cIlNrZWxldG9uRWZmZWN0XCJcbiAgICAgICAgPjwvc2tlbGV0b24tYmxvY2s+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSA8ZGl2XG4gICAgICAgIHNrZWxldG9uLXRleHRcbiAgICAgICAgZnhGbGV4PVwiMTUlXCJcbiAgICAgICAgW2VmZmVjdF09XCJTa2VsZXRvbkVmZmVjdFwiXG4gICAgICAgIHN0eWxlPVwibWFyZ2luOiAwcHggMTBweFwiXG4gICAgICA+XG4gICAgICAgIFN1Ym1pdFxuICAgICAgPC9kaXY+IC0tPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1hcm91bmQgY2VudGVyXCI+XG4gICAgICA8ZGl2IHNrZWxldG9uLXRleHQgW2VmZmVjdF09XCJTa2VsZXRvbkVmZmVjdFwiPlB1bGwgUmVxdWVzdDwvZGl2PlxuICAgICAgPGRpdiBza2VsZXRvbi10ZXh0IFtlZmZlY3RdPVwiU2tlbGV0b25FZmZlY3RcIj5PcGVuIElzc3VlPC9kaXY+XG4gICAgICA8ZGl2IHNrZWxldG9uLXRleHQgW2VmZmVjdF09XCJTa2VsZXRvbkVmZmVjdFwiPkZlYXR1cmUgQnJhbmNoPC9kaXY+XG4gICAgICA8IS0tIDxkaXYgc2tlbGV0b24tdGV4dCBbZWZmZWN0XT1cIlNrZWxldG9uRWZmZWN0XCI+XG4gICAgICAgIDxtYXQtaWNvbj5tb3JlX2hvcml6PC9tYXQtaWNvbj5cbiAgICAgIDwvZGl2PiAtLT5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L21hdC1jYXJkPlxuIl19
@@ -1,72 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';
3
- import { MatDialogRef } from '@angular/material/dialog';
4
- import { MatSelectChange } from '@angular/material/select';
5
- import { AngularEditorConfig } from '@kolkov/angular-editor';
6
- import { EaCEnvironmentAsCode, EaCSourceControl } from '@semanticjs/common';
7
- import { ApplicationsFlowService } from '../../services/applications-flow.service';
8
- import { EaCService } from '../../services/eac.service';
9
- import { ApplicationsFlowState, GitHubBranch, GitHubOrganization, GitHubRepository } from '../../state/applications-flow.state';
10
- import * as i0 from "@angular/core";
11
- export interface FeedHeaderDialogData {
12
- dialogTitle: string;
13
- type: string;
14
- sourceControlLookup: string;
15
- }
16
- export declare class FeedHeaderDialogComponent implements OnInit {
17
- protected appsFlowSvc: ApplicationsFlowService;
18
- protected eacSvc: EaCService;
19
- protected formBldr: FormBuilder;
20
- dialogRef: MatDialogRef<FeedHeaderDialogComponent>;
21
- data: FeedHeaderDialogData;
22
- get ActionIconControl(): AbstractControl;
23
- get ActionLinkControl(): AbstractControl;
24
- get ActionTextControl(): AbstractControl;
25
- get BaseBranchFormControl(): AbstractControl;
26
- get CompareBranchFormControl(): AbstractControl;
27
- get EditorControl(): AbstractControl;
28
- get Environment(): EaCEnvironmentAsCode;
29
- get NewBranchFormControl(): AbstractControl;
30
- get OrganizationFormControl(): AbstractControl;
31
- get ParentBranchFormControl(): AbstractControl;
32
- get RepositoryFormControl(): AbstractControl;
33
- get SourceControlFormControl(): AbstractControl;
34
- get SourceControlLookups(): Array<string>;
35
- get SourceControls(): {
36
- [lookup: string]: EaCSourceControl;
37
- };
38
- get SubtitleFormControl(): AbstractControl;
39
- get State(): ApplicationsFlowState;
40
- get TitleFormControl(): AbstractControl;
41
- BranchOptions: GitHubBranch[];
42
- EditorConfig: AngularEditorConfig;
43
- FeedHeaderFormGroup: FormGroup;
44
- OrganizationOptions: GitHubOrganization[];
45
- RepositoryOptions: GitHubRepository[];
46
- SourceControl: EaCSourceControl;
47
- Slices: {
48
- [key: string]: number;
49
- };
50
- SlicesCount: number;
51
- constructor(appsFlowSvc: ApplicationsFlowService, eacSvc: EaCService, formBldr: FormBuilder, dialogRef: MatDialogRef<FeedHeaderDialogComponent>, data: FeedHeaderDialogData);
52
- ngOnInit(): void;
53
- CloseDialog(): void;
54
- HandleAction(): void;
55
- PullRequestSourceControlChanged(event: MatSelectChange): void;
56
- FeatureBranchSourceControlChanged(event: MatSelectChange): void;
57
- Submit(): void;
58
- OrganizationChanged(event: MatSelectChange): void;
59
- RepositoryChanged(event: MatSelectChange): void;
60
- protected listBranches(): void;
61
- protected listOrganizations(): void;
62
- protected listRepositories(activeRepo?: string): void;
63
- protected setupFeedHeaderForm(): void;
64
- protected setupAnnouncementForm(): void;
65
- protected setupPRForm(): void;
66
- protected setupBasicForm(): void;
67
- protected setupIssueForm(): void;
68
- protected setupFeatureBranchForm(): void;
69
- protected setupSourceControlForm(): void;
70
- static ɵfac: i0.ɵɵFactoryDeclaration<FeedHeaderDialogComponent, never>;
71
- static ɵcmp: i0.ɵɵComponentDeclaration<FeedHeaderDialogComponent, "lcu-feed-header-dialog", never, {}, {}, never, never>;
72
- }