@lowcodeunit/applications-flow-common 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lcu.api.mjs +80 -0
- package/esm2020/lib/applications-flow.module.mjs +352 -0
- package/esm2020/lib/controls/build-pipeline-form/build-pipeline-form.component.mjs +251 -0
- package/esm2020/lib/controls/devops-source-control-form/devops-source-control-form.component.mjs +432 -0
- package/esm2020/lib/controls/edit-application-form/edit-application-form.component.mjs +110 -0
- package/esm2020/lib/controls/processor-details-form/processor-details-form.component.mjs +432 -0
- package/esm2020/lib/controls/security-toggle/security-toggle.component.mjs +61 -0
- package/esm2020/lib/controls/source-control-form/source-control-form.component.mjs +69 -0
- package/esm2020/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.mjs +32 -0
- package/esm2020/lib/dialogs/custom-domain-dialog/custom-domain-dialog.component.mjs +35 -0
- package/esm2020/lib/dialogs/edit-application-dialog/edit-application-dialog.component.mjs +33 -0
- package/esm2020/lib/dialogs/new-application-dialog/new-application-dialog.component.mjs +170 -0
- package/esm2020/lib/dialogs/processor-details-dialog/processor-details-dialog.component.mjs +53 -0
- package/esm2020/lib/dialogs/source-control-dialog/source-control-dialog.component.mjs +29 -0
- package/esm2020/lib/dialogs/upgrade-dialog/upgrade-dialog.component.mjs +23 -0
- package/esm2020/lib/elements/analytics-card/analytics-card.component.mjs +28 -0
- package/esm2020/lib/elements/base-form/base-form.component.mjs +57 -0
- package/esm2020/lib/elements/breadcrumb/breadcrumb.component.mjs +124 -0
- package/esm2020/lib/elements/card-carousel/card-carousel.component.mjs +70 -0
- package/esm2020/lib/elements/dynamic-tabs/dynamic-tabs.component.mjs +75 -0
- package/esm2020/lib/elements/feed-card-sm/feed-card-sm.component.mjs +42 -0
- package/esm2020/lib/elements/flow-tool/flow-tool.component.mjs +75 -0
- package/esm2020/lib/elements/form-card/form-card.component.mjs +33 -0
- package/esm2020/lib/elements/gh-control/gh-control.component.mjs +78 -0
- package/esm2020/lib/elements/main-feed-card/main-feed-card.component.mjs +128 -0
- package/esm2020/lib/elements/project-info-card/project-info-card.component.mjs +76 -0
- package/esm2020/lib/elements/projects/controls/builds/builds.component.mjs +32 -0
- package/esm2020/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.mjs +145 -0
- package/esm2020/lib/elements/projects/controls/forms/source-control/source-control.component.mjs +285 -0
- package/esm2020/lib/elements/projects/controls/git-auth/git-auth.component.mjs +26 -0
- package/esm2020/lib/elements/projects/controls/header/header.component.mjs +83 -0
- package/esm2020/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.mjs +118 -0
- package/esm2020/lib/elements/projects/controls/project-items/project-items.component.mjs +54 -0
- package/esm2020/lib/elements/projects/controls/project-tabs/project-tabs.component.mjs +103 -0
- package/esm2020/lib/elements/projects/controls/recent-activities/recent-activities.component.mjs +14 -0
- package/esm2020/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.mjs +561 -0
- package/esm2020/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.mjs +72 -0
- package/esm2020/lib/elements/projects/controls/tabs/devops/devops.component.mjs +242 -0
- package/esm2020/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.mjs +179 -0
- package/esm2020/lib/elements/projects/controls/tabs/domains/domains.component.mjs +140 -0
- package/esm2020/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.mjs +90 -0
- package/esm2020/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.mjs +142 -0
- package/esm2020/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.mjs +124 -0
- package/esm2020/lib/elements/projects/controls/tabs/general/general.component.mjs +40 -0
- package/esm2020/lib/elements/projects/projects.component.mjs +91 -0
- package/esm2020/lib/elements/skeleton-feed-card/skeleton-feed-card.component.mjs +20 -0
- package/esm2020/lib/elements/slotted-card/slotted-card.component.mjs +60 -0
- package/esm2020/lib/elements/three-column/three-column.component.mjs +30 -0
- package/esm2020/lib/elements/two-column-header/two-column-header.component.mjs +15 -0
- package/esm2020/lib/models/actions.model.mjs +3 -0
- package/esm2020/lib/models/base-form-config.model.mjs +6 -0
- package/esm2020/lib/models/card-form-config.model.mjs +6 -0
- package/esm2020/lib/models/dev-settings-preset.model.mjs +3 -0
- package/esm2020/lib/models/domain.model.mjs +3 -0
- package/esm2020/lib/models/dynamic-tabs.model.mjs +6 -0
- package/esm2020/lib/models/form-actions.model.mjs +3 -0
- package/esm2020/lib/models/form.model.mjs +6 -0
- package/esm2020/lib/models/form.values.model.mjs +11 -0
- package/esm2020/lib/models/project-actions.model.mjs +6 -0
- package/esm2020/lib/models/user-feed.model.mjs +12 -0
- package/esm2020/lib/services/applications-flow.service.mjs +142 -0
- package/esm2020/lib/services/eac.service.mjs +183 -0
- package/esm2020/lib/services/forms.service.mjs +132 -0
- package/esm2020/lib/services/npm.service.mjs +77 -0
- package/esm2020/lib/services/project.service.mjs +326 -0
- package/esm2020/lib/state/applications-flow-state.context.mjs +36 -0
- package/esm2020/lib/state/applications-flow.state.mjs +72 -0
- package/esm2020/lowcodeunit-applications-flow-common.mjs +5 -0
- package/fesm2015/lowcodeunit-applications-flow-common.mjs +6156 -0
- package/fesm2015/lowcodeunit-applications-flow-common.mjs.map +1 -0
- package/fesm2020/lowcodeunit-applications-flow-common.mjs +6009 -0
- package/fesm2020/lowcodeunit-applications-flow-common.mjs.map +1 -0
- package/lcu.api.d.ts +58 -4
- package/lib/applications-flow.module.d.ts +58 -1
- package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts +47 -0
- package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts +86 -0
- package/lib/controls/edit-application-form/edit-application-form.component.d.ts +27 -0
- package/lib/controls/processor-details-form/processor-details-form.component.d.ts +80 -0
- package/lib/controls/security-toggle/security-toggle.component.d.ts +25 -0
- package/lib/controls/source-control-form/source-control-form.component.d.ts +27 -0
- package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts +19 -0
- package/lib/dialogs/custom-domain-dialog/custom-domain-dialog.component.d.ts +22 -0
- package/lib/dialogs/edit-application-dialog/edit-application-dialog.component.d.ts +17 -0
- package/lib/dialogs/new-application-dialog/new-application-dialog.component.d.ts +35 -0
- package/lib/dialogs/processor-details-dialog/processor-details-dialog.component.d.ts +31 -0
- package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts +18 -0
- package/lib/dialogs/upgrade-dialog/upgrade-dialog.component.d.ts +11 -0
- package/lib/elements/analytics-card/analytics-card.component.d.ts +11 -0
- package/lib/elements/base-form/base-form.component.d.ts +6 -4
- package/lib/elements/breadcrumb/breadcrumb.component.d.ts +38 -0
- package/lib/elements/card-carousel/card-carousel.component.d.ts +16 -0
- package/lib/elements/dynamic-tabs/dynamic-tabs.component.d.ts +7 -5
- package/lib/elements/feed-card-sm/feed-card-sm.component.d.ts +14 -0
- package/lib/elements/flow-tool/flow-tool.component.d.ts +28 -0
- package/lib/elements/form-card/form-card.component.d.ts +3 -1
- package/lib/elements/gh-control/gh-control.component.d.ts +19 -0
- package/lib/elements/main-feed-card/main-feed-card.component.d.ts +26 -0
- package/lib/elements/project-info-card/project-info-card.component.d.ts +26 -0
- package/lib/elements/projects/controls/builds/builds.component.d.ts +9 -13
- package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts +15 -14
- package/lib/elements/projects/controls/forms/source-control/source-control.component.d.ts +63 -0
- package/lib/elements/projects/controls/git-auth/git-auth.component.d.ts +4 -1
- package/lib/elements/projects/controls/header/header.component.d.ts +22 -4
- package/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts +22 -4
- package/lib/elements/projects/controls/project-items/project-items.component.d.ts +29 -0
- package/lib/elements/projects/controls/project-tabs/project-tabs.component.d.ts +19 -4
- package/lib/elements/projects/controls/recent-activities/recent-activities.component.d.ts +3 -1
- package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts +113 -0
- package/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.d.ts +23 -0
- package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts +53 -0
- package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts +51 -0
- package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts +18 -8
- package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts +6 -4
- package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts +9 -6
- package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts +9 -6
- package/lib/elements/projects/controls/tabs/general/general.component.d.ts +8 -4
- package/lib/elements/projects/projects.component.d.ts +18 -22
- package/lib/elements/skeleton-feed-card/skeleton-feed-card.component.d.ts +9 -0
- package/lib/elements/slotted-card/slotted-card.component.d.ts +23 -0
- package/lib/elements/three-column/three-column.component.d.ts +11 -0
- package/lib/elements/two-column-header/two-column-header.component.d.ts +8 -0
- package/lib/models/actions.model.d.ts +0 -1
- package/lib/models/base-form-config.model.d.ts +0 -1
- package/lib/models/card-form-config.model.d.ts +0 -1
- package/lib/models/dev-settings-preset.model.d.ts +0 -1
- package/lib/models/domain.model.d.ts +0 -1
- package/lib/models/dynamic-tabs.model.d.ts +0 -1
- package/lib/models/form-actions.model.d.ts +0 -1
- package/lib/models/form.model.d.ts +0 -1
- package/lib/models/form.values.model.d.ts +0 -1
- package/lib/models/project-actions.model.d.ts +0 -1
- package/lib/models/user-feed.model.d.ts +42 -0
- package/lib/services/applications-flow.service.d.ts +20 -8
- package/lib/services/eac.service.d.ts +63 -0
- package/lib/services/forms.service.d.ts +3 -1
- package/lib/services/npm.service.d.ts +13 -0
- package/lib/services/project.service.d.ts +23 -7
- package/lib/state/applications-flow-state.context.d.ts +3 -1
- package/lib/state/applications-flow.state.d.ts +29 -38
- package/lowcodeunit-applications-flow-common.d.ts +1 -13
- package/package.json +20 -12
- package/bundles/lowcodeunit-applications-flow-common.umd.js +0 -2571
- package/bundles/lowcodeunit-applications-flow-common.umd.js.map +0 -1
- package/bundles/lowcodeunit-applications-flow-common.umd.min.js +0 -16
- package/bundles/lowcodeunit-applications-flow-common.umd.min.js.map +0 -1
- package/esm2015/lcu.api.js +0 -25
- package/esm2015/lib/applications-flow.module.js +0 -116
- package/esm2015/lib/elements/base-form/base-form.component.js +0 -61
- package/esm2015/lib/elements/dynamic-tabs/dynamic-tabs.component.js +0 -69
- package/esm2015/lib/elements/form-card/form-card.component.js +0 -22
- package/esm2015/lib/elements/projects/controls/builds/builds.component.js +0 -37
- package/esm2015/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.js +0 -207
- package/esm2015/lib/elements/projects/controls/git-auth/git-auth.component.js +0 -26
- package/esm2015/lib/elements/projects/controls/header/header.component.js +0 -19
- package/esm2015/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.js +0 -55
- package/esm2015/lib/elements/projects/controls/project-item/project-item.component.js +0 -39
- package/esm2015/lib/elements/projects/controls/project-settings/project-settings.component.js +0 -44
- package/esm2015/lib/elements/projects/controls/project-tabs/project-tabs.component.js +0 -39
- package/esm2015/lib/elements/projects/controls/recent-activities/recent-activities.component.js +0 -15
- package/esm2015/lib/elements/projects/controls/tabs/domains/domains.component.js +0 -108
- package/esm2015/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.js +0 -86
- package/esm2015/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.js +0 -122
- package/esm2015/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.js +0 -109
- package/esm2015/lib/elements/projects/controls/tabs/general/forms/settings/settings.component.js +0 -238
- package/esm2015/lib/elements/projects/controls/tabs/general/general.component.js +0 -44
- package/esm2015/lib/elements/projects/projects.component.js +0 -145
- package/esm2015/lib/models/actions.model.js +0 -3
- package/esm2015/lib/models/base-form-config.model.js +0 -6
- package/esm2015/lib/models/card-form-config.model.js +0 -6
- package/esm2015/lib/models/dev-settings-preset.model.js +0 -3
- package/esm2015/lib/models/domain.model.js +0 -3
- package/esm2015/lib/models/dynamic-tabs.model.js +0 -6
- package/esm2015/lib/models/form-actions.model.js +0 -3
- package/esm2015/lib/models/form.model.js +0 -6
- package/esm2015/lib/models/form.values.model.js +0 -11
- package/esm2015/lib/models/project-actions.model.js +0 -6
- package/esm2015/lib/services/applications-flow-events.service.js +0 -28
- package/esm2015/lib/services/applications-flow.service.js +0 -96
- package/esm2015/lib/services/forms.service.js +0 -131
- package/esm2015/lib/services/project.service.js +0 -85
- package/esm2015/lib/state/applications-flow-state.context.js +0 -37
- package/esm2015/lib/state/applications-flow.state.js +0 -31
- package/esm2015/lowcodeunit-applications-flow-common.js +0 -17
- package/fesm2015/lowcodeunit-applications-flow-common.js +0 -1966
- package/fesm2015/lowcodeunit-applications-flow-common.js.map +0 -1
- package/lcu.api.d.ts.map +0 -1
- package/lib/applications-flow.module.d.ts.map +0 -1
- package/lib/elements/base-form/base-form.component.d.ts.map +0 -1
- package/lib/elements/dynamic-tabs/dynamic-tabs.component.d.ts.map +0 -1
- package/lib/elements/form-card/form-card.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/builds/builds.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/git-auth/git-auth.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/header/header.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/project-item/project-item.component.d.ts +0 -23
- package/lib/elements/projects/controls/project-item/project-item.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/project-settings/project-settings.component.d.ts +0 -16
- package/lib/elements/projects/controls/project-settings/project-settings.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/project-tabs/project-tabs.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/recent-activities/recent-activities.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/tabs/general/forms/settings/settings.component.d.ts +0 -116
- package/lib/elements/projects/controls/tabs/general/forms/settings/settings.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/tabs/general/general.component.d.ts.map +0 -1
- package/lib/elements/projects/projects.component.d.ts.map +0 -1
- package/lib/models/actions.model.d.ts.map +0 -1
- package/lib/models/base-form-config.model.d.ts.map +0 -1
- package/lib/models/card-form-config.model.d.ts.map +0 -1
- package/lib/models/dev-settings-preset.model.d.ts.map +0 -1
- package/lib/models/domain.model.d.ts.map +0 -1
- package/lib/models/dynamic-tabs.model.d.ts.map +0 -1
- package/lib/models/form-actions.model.d.ts.map +0 -1
- package/lib/models/form.model.d.ts.map +0 -1
- package/lib/models/form.values.model.d.ts.map +0 -1
- package/lib/models/project-actions.model.d.ts.map +0 -1
- package/lib/services/applications-flow-events.service.d.ts +0 -13
- package/lib/services/applications-flow-events.service.d.ts.map +0 -1
- package/lib/services/applications-flow.service.d.ts.map +0 -1
- package/lib/services/forms.service.d.ts.map +0 -1
- package/lib/services/project.service.d.ts.map +0 -1
- package/lib/state/applications-flow-state.context.d.ts.map +0 -1
- package/lib/state/applications-flow.state.d.ts.map +0 -1
- package/lowcodeunit-applications-flow-common.d.ts.map +0 -1
- package/lowcodeunit-applications-flow-common.metadata.json +0 -1
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { Validators } from '@angular/forms';
|
|
3
|
+
import { Guid } from '@lcu/common';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "../../services/eac.service";
|
|
7
|
+
import * as i3 from "@angular/material/card";
|
|
8
|
+
import * as i4 from "@angular/material/form-field";
|
|
9
|
+
import * as i5 from "@angular/material/button";
|
|
10
|
+
import * as i6 from "@angular/material/icon";
|
|
11
|
+
import * as i7 from "@lowcodeunit/app-host-common";
|
|
12
|
+
import * as i8 from "@angular/common";
|
|
13
|
+
import * as i9 from "@angular/material/input";
|
|
14
|
+
import * as i10 from "@angular/flex-layout/flex";
|
|
15
|
+
export class EditApplicationFormComponent {
|
|
16
|
+
constructor(formBldr, eacSvc) {
|
|
17
|
+
this.formBldr = formBldr;
|
|
18
|
+
this.eacSvc = eacSvc;
|
|
19
|
+
this.SaveFormEvent = new EventEmitter;
|
|
20
|
+
this.HasSaveButton = true;
|
|
21
|
+
}
|
|
22
|
+
get DescriptionFormControl() {
|
|
23
|
+
return this.ApplicationFormGroup?.controls.description;
|
|
24
|
+
}
|
|
25
|
+
get NameFormControl() {
|
|
26
|
+
return this.ApplicationFormGroup?.controls.name;
|
|
27
|
+
}
|
|
28
|
+
get RouteFormControl() {
|
|
29
|
+
return this.ApplicationFormGroup?.controls.route;
|
|
30
|
+
}
|
|
31
|
+
get State() {
|
|
32
|
+
return this.eacSvc.State;
|
|
33
|
+
}
|
|
34
|
+
ngOnInit() {
|
|
35
|
+
this.setupApplicationForm();
|
|
36
|
+
}
|
|
37
|
+
SubmitApplicationControl() {
|
|
38
|
+
console.log("application form: ", this.ApplicationFormGroup.value);
|
|
39
|
+
this.SaveApplication();
|
|
40
|
+
}
|
|
41
|
+
SaveApplication() {
|
|
42
|
+
const app = this.EditingApplication;
|
|
43
|
+
app.Application = {
|
|
44
|
+
Name: this.NameFormControl.value,
|
|
45
|
+
Description: this.DescriptionFormControl.value,
|
|
46
|
+
PriorityShift: this.EditingApplication?.Application?.PriorityShift || 0,
|
|
47
|
+
};
|
|
48
|
+
app.LookupConfig.PathRegex = `${this.RouteFormControl.value}.*`;
|
|
49
|
+
switch (app.Processor.Type) {
|
|
50
|
+
case 'DFS':
|
|
51
|
+
//will need to replace with this.RouteFormControl.value if other form added
|
|
52
|
+
app.Processor.BaseHref = `${this.RouteFormControl.value}/`.replace('//', '/');
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
if (!app.LookupConfig.PathRegex.startsWith('/')) {
|
|
56
|
+
app.LookupConfig.PathRegex = `/${app.LookupConfig.PathRegex}`;
|
|
57
|
+
}
|
|
58
|
+
const saveAppReq = {
|
|
59
|
+
ProjectLookup: this.ProjectLookup,
|
|
60
|
+
Application: app,
|
|
61
|
+
ApplicationLookup: this.ApplicationLookup || Guid.CreateRaw(),
|
|
62
|
+
};
|
|
63
|
+
this.eacSvc.SaveApplicationAsCode(saveAppReq).then(res => {
|
|
64
|
+
this.SaveFormEvent.emit(res);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
//HELPERS
|
|
68
|
+
setupApplicationForm() {
|
|
69
|
+
if (this.EditingApplication != null) {
|
|
70
|
+
this.ApplicationFormGroup = this.formBldr.group({
|
|
71
|
+
name: [this.EditingApplication.Application?.Name, Validators.required],
|
|
72
|
+
description: [
|
|
73
|
+
this.EditingApplication.Application?.Description,
|
|
74
|
+
Validators.required,
|
|
75
|
+
],
|
|
76
|
+
route: [
|
|
77
|
+
this.EditingApplication.LookupConfig?.PathRegex.replace('.*', '') ||
|
|
78
|
+
'/',
|
|
79
|
+
Validators.required,
|
|
80
|
+
],
|
|
81
|
+
// priority: [
|
|
82
|
+
// this.EditingApplication.Application?.Priority || 10000,
|
|
83
|
+
// Validators.required,
|
|
84
|
+
// ],
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
EditApplicationFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: EditApplicationFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.EaCService }], target: i0.ɵɵFactoryTarget.Component });
|
|
90
|
+
EditApplicationFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: EditApplicationFormComponent, selector: "lcu-edit-application-form", inputs: { ApplicationLookup: ["application-lookup", "ApplicationLookup"], EditingApplication: ["editing-application", "EditingApplication"], HasSaveButton: ["has-save-button", "HasSaveButton"], ProjectLookup: ["project-lookup", "ProjectLookup"] }, outputs: { SaveFormEvent: "save-form-event" }, ngImport: i0, template: "<form class=\"form-card\" [formGroup]=\"ApplicationFormGroup\" (ngSubmit)=\"SubmitApplicationControl()\" >\n <mat-card class=\"spread flow-card\">\n <mat-card-header>\n <mat-card-title>\n <ng-container *ngIf=\"EditingApplication?.Application\">\n Edit Application:\n {{ EditingApplication.Application?.Name }}\n </ng-container>\n\n <ng-container *ngIf=\"!EditingApplication?.Application\">\n Create an Application\n </ng-container>\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Name\"\n formControlName=\"name\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <textarea\n matInput\n placeholder=\"Description\"\n formControlName=\"description\"\n rows=\"3\"\n required\n ></textarea>\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Route\"\n formControlName=\"route\"\n required\n />\n </mat-form-field>\n </mat-card-content>\n <mat-card-actions fxLayoutAlign=\"center center\">\n\n <button \n *ngIf=\"HasSaveButton && !State?.Loading\"\n mat-raised-button \n type=\"submit\" \n fxFlex=\"100%\" \n color=\"primary\" \n [disabled]=\"!ApplicationFormGroup.valid || !ApplicationFormGroup.dirty\">\n <mat-icon>save</mat-icon>\n Save\n </button>\n <lcu-loader [loading]=\"State?.Loading\"></lcu-loader>\n \n </mat-card-actions>\n </mat-card>\n</form>\n", styles: [""], components: [{ type: i3.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i3.MatCardHeader, selector: "mat-card-header" }, { type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { 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.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.LoaderComponent, selector: "lcu-loader", inputs: ["diameter", "hide-inner", "loading"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { type: i10.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: i10.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"] }] });
|
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: EditApplicationFormComponent, decorators: [{
|
|
92
|
+
type: Component,
|
|
93
|
+
args: [{ selector: 'lcu-edit-application-form', template: "<form class=\"form-card\" [formGroup]=\"ApplicationFormGroup\" (ngSubmit)=\"SubmitApplicationControl()\" >\n <mat-card class=\"spread flow-card\">\n <mat-card-header>\n <mat-card-title>\n <ng-container *ngIf=\"EditingApplication?.Application\">\n Edit Application:\n {{ EditingApplication.Application?.Name }}\n </ng-container>\n\n <ng-container *ngIf=\"!EditingApplication?.Application\">\n Create an Application\n </ng-container>\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content>\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Name\"\n formControlName=\"name\"\n required\n />\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <textarea\n matInput\n placeholder=\"Description\"\n formControlName=\"description\"\n rows=\"3\"\n required\n ></textarea>\n </mat-form-field>\n\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n placeholder=\"Route\"\n formControlName=\"route\"\n required\n />\n </mat-form-field>\n </mat-card-content>\n <mat-card-actions fxLayoutAlign=\"center center\">\n\n <button \n *ngIf=\"HasSaveButton && !State?.Loading\"\n mat-raised-button \n type=\"submit\" \n fxFlex=\"100%\" \n color=\"primary\" \n [disabled]=\"!ApplicationFormGroup.valid || !ApplicationFormGroup.dirty\">\n <mat-icon>save</mat-icon>\n Save\n </button>\n <lcu-loader [loading]=\"State?.Loading\"></lcu-loader>\n \n </mat-card-actions>\n </mat-card>\n</form>\n", styles: [""] }]
|
|
94
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.EaCService }]; }, propDecorators: { ApplicationLookup: [{
|
|
95
|
+
type: Input,
|
|
96
|
+
args: ['application-lookup']
|
|
97
|
+
}], EditingApplication: [{
|
|
98
|
+
type: Input,
|
|
99
|
+
args: ['editing-application']
|
|
100
|
+
}], HasSaveButton: [{
|
|
101
|
+
type: Input,
|
|
102
|
+
args: ['has-save-button']
|
|
103
|
+
}], ProjectLookup: [{
|
|
104
|
+
type: Input,
|
|
105
|
+
args: ['project-lookup']
|
|
106
|
+
}], SaveFormEvent: [{
|
|
107
|
+
type: Output,
|
|
108
|
+
args: ['save-form-event']
|
|
109
|
+
}] } });
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1hcHBsaWNhdGlvbi1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi9zcmMvbGliL2NvbnRyb2xzL2VkaXQtYXBwbGljYXRpb24tZm9ybS9lZGl0LWFwcGxpY2F0aW9uLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvZWRpdC1hcHBsaWNhdGlvbi1mb3JtL2VkaXQtYXBwbGljYXRpb24tZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBMkMsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7Ozs7O0FBVW5DLE1BQU0sT0FBTyw0QkFBNEI7SUFtQ3ZDLFlBQXNCLFFBQXFCLEVBQy9CLE1BQWtCO1FBRFIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUMvQixXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxZQUFZLENBQUM7UUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQXRCRixJQUFXLHNCQUFzQjtRQUMvQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUs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NkRBOzJGRGpEYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsMkJBQTJCOzJIQU85QixpQkFBaUI7c0JBRHZCLEtBQUs7dUJBQUMsb0JBQW9CO2dCQUlwQixrQkFBa0I7c0JBRHhCLEtBQUs7dUJBQUMscUJBQXFCO2dCQUlyQixhQUFhO3NCQURuQixLQUFLO3VCQUFDLGlCQUFpQjtnQkFJakIsYUFBYTtzQkFEbkIsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBSWhCLGFBQWE7c0JBRG5CLE1BQU07dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgR3VpZCB9IGZyb20gJ0BsY3UvY29tbW9uJztcbmltcG9ydCB7IEVhQ0FwcGxpY2F0aW9uQXNDb2RlIH0gZnJvbSAnQHNlbWFudGljanMvY29tbW9uJztcbmltcG9ydCB7IEVhQ1NlcnZpY2UsIFNhdmVBcHBsaWNhdGlvbkFzQ29kZUV2ZW50UmVxdWVzdCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGN1LWVkaXQtYXBwbGljYXRpb24tZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9lZGl0LWFwcGxpY2F0aW9uLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lZGl0LWFwcGxpY2F0aW9uLWZvcm0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBFZGl0QXBwbGljYXRpb25Gb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoJ2FwcGxpY2F0aW9uLWxvb2t1cCcpXG4gIHB1YmxpYyBBcHBsaWNhdGlvbkxvb2t1cDogc3RyaW5nO1xuXG4gIEBJbnB1dCgnZWRpdGluZy1hcHBsaWNhdGlvbicpIFxuICBwdWJsaWMgRWRpdGluZ0FwcGxpY2F0aW9uOiBFYUNBcHBsaWNhdGlvbkFzQ29kZTtcblxuICBASW5wdXQoJ2hhcy1zYXZlLWJ1dHRvbicpXG4gIHB1YmxpYyBIYXNTYXZlQnV0dG9uOiBib29sZWFuO1xuXG4gIEBJbnB1dCgncHJvamVjdC1sb29rdXAnKVxuICBwdWJsaWMgUHJvamVjdExvb2t1cDogc3RyaW5nO1xuXG4gIEBPdXRwdXQoJ3NhdmUtZm9ybS1ldmVudCcpXG4gIHB1YmxpYyBTYXZlRm9ybUV2ZW50OiBFdmVudEVtaXR0ZXI8e30+XG5cbiAgcHVibGljIGdldCBEZXNjcmlwdGlvbkZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuQXBwbGljYXRpb25Gb3JtR3JvdXA/LmNvbnRyb2xzLmRlc2NyaXB0aW9uO1xuICB9XG5cbiAgcHVibGljIGdldCBOYW1lRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5BcHBsaWNhdGlvbkZvcm1Hcm91cD8uY29udHJvbHMubmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgUm91dGVGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLkFwcGxpY2F0aW9uRm9ybUdyb3VwPy5jb250cm9scy5yb3V0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU3RhdGUoKTogQXBwbGljYXRpb25zRmxvd1N0YXRle1xuICAgIHJldHVybiB0aGlzLmVhY1N2Yy5TdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBBcHBsaWNhdGlvbkZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBmb3JtQmxkcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSkge1xuICAgIHRoaXMuU2F2ZUZvcm1FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI7XG4gICAgdGhpcy5IYXNTYXZlQnV0dG9uID0gdHJ1ZTtcbiAgIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXR1cEFwcGxpY2F0aW9uRm9ybSgpO1xuICB9XG5cbiAgcHVibGljIFN1Ym1pdEFwcGxpY2F0aW9uQ29udHJvbCgpe1xuICAgIGNvbnNvbGUubG9nKFwiYXBwbGljYXRpb24gZm9ybTogXCIsIHRoaXMuQXBwbGljYXRpb25Gb3JtR3JvdXAudmFsdWUpO1xuICAgIHRoaXMuU2F2ZUFwcGxpY2F0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgU2F2ZUFwcGxpY2F0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IGFwcDogRWFDQXBwbGljYXRpb25Bc0NvZGUgPSB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbjtcbiAgICBhcHAuQXBwbGljYXRpb24gPSB7XG4gICAgICBOYW1lOiB0aGlzLk5hbWVGb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgIERlc2NyaXB0aW9uOiB0aGlzLkRlc2NyaXB0aW9uRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICBQcmlvcml0eVNoaWZ0OiB0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbj8uQXBwbGljYXRpb24/LlByaW9yaXR5U2hpZnQgfHwgMCxcbiAgICB9O1xuXG4gICAgYXBwLkxvb2t1cENvbmZpZy5QYXRoUmVnZXggPSBgJHt0aGlzLlJvdXRlRm9ybUNvbnRyb2wudmFsdWV9LipgO1xuXG4gICAgc3dpdGNoIChhcHAuUHJvY2Vzc29yLlR5cGUpIHtcbiAgICAgIGNhc2UgJ0RGUyc6XG4gICAgICAgIC8vd2lsbCBuZWVkIHRvIHJlcGxhY2Ugd2l0aCB0aGlzLlJvdXRlRm9ybUNvbnRyb2wudmFsdWUgaWYgb3RoZXIgZm9ybSBhZGRlZFxuICAgICAgICBhcHAuUHJvY2Vzc29yLkJhc2VIcmVmID0gYCR7dGhpcy5Sb3V0ZUZvcm1Db250cm9sLnZhbHVlfS9gLnJlcGxhY2UoJy8vJywgJy8nKTtcblxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAoIWFwcC5Mb29rdXBDb25maWcuUGF0aFJlZ2V4LnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgYXBwLkxvb2t1cENvbmZpZy5QYXRoUmVnZXggPSBgLyR7YXBwLkxvb2t1cENvbmZpZy5QYXRoUmVnZXh9YDtcbiAgICB9XG5cbiAgICBjb25zdCBzYXZlQXBwUmVxOiBTYXZlQXBwbGljYXRpb25Bc0NvZGVFdmVudFJlcXVlc3QgPSB7XG4gICAgICBQcm9qZWN0TG9va3VwOiB0aGlzLlByb2plY3RMb29rdXAsXG4gICAgICBBcHBsaWNhdGlvbjogYXBwLFxuICAgICAgQXBwbGljYXRpb25Mb29rdXA6IHRoaXMuQXBwbGljYXRpb25Mb29rdXAgfHwgR3VpZC5DcmVhdGVSYXcoKSxcbiAgICB9O1xuXG4gICAgdGhpcy5lYWNTdmMuU2F2ZUFwcGxpY2F0aW9uQXNDb2RlKHNhdmVBcHBSZXEpLnRoZW4ocmVzID0+e1xuICAgICAgdGhpcy5TYXZlRm9ybUV2ZW50LmVtaXQocmVzKTtcbiAgICB9KVxuICAgIFxuICB9XG5cbiAgLy9IRUxQRVJTXG4gIHByb3RlY3RlZCBzZXR1cEFwcGxpY2F0aW9uRm9ybSgpe1xuICAgIGlmICh0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbiAhPSBudWxsKSB7XG4gICAgICB0aGlzLkFwcGxpY2F0aW9uRm9ybUdyb3VwID0gdGhpcy5mb3JtQmxkci5ncm91cCh7XG4gICAgICAgIG5hbWU6IFt0aGlzLkVkaXRpbmdBcHBsaWNhdGlvbi5BcHBsaWNhdGlvbj8uTmFtZSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiBbXG4gICAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uQXBwbGljYXRpb24/LkRlc2NyaXB0aW9uLFxuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIF0sXG4gICAgICAgIHJvdXRlOiBbXG4gICAgICAgICAgdGhpcy5FZGl0aW5nQXBwbGljYXRpb24uTG9va3VwQ29uZmlnPy5QYXRoUmVnZXgucmVwbGFjZSgnLionLCAnJykgfHxcbiAgICAgICAgICAgICcvJyxcbiAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBdLFxuICAgICAgICAvLyBwcmlvcml0eTogW1xuICAgICAgICAvLyAgIHRoaXMuRWRpdGluZ0FwcGxpY2F0aW9uLkFwcGxpY2F0aW9uPy5Qcmlvcml0eSB8fCAxMDAwMCxcbiAgICAgICAgLy8gICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAvLyBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgXG5cbn1cbiIsIjxmb3JtIGNsYXNzPVwiZm9ybS1jYXJkXCIgW2Zvcm1Hcm91cF09XCJBcHBsaWNhdGlvbkZvcm1Hcm91cFwiIChuZ1N1Ym1pdCk9XCJTdWJtaXRBcHBsaWNhdGlvbkNvbnRyb2woKVwiID5cbiAgICA8bWF0LWNhcmQgY2xhc3M9XCJzcHJlYWQgZmxvdy1jYXJkXCI+XG4gICAgICA8bWF0LWNhcmQtaGVhZGVyPlxuICAgICAgICA8bWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkVkaXRpbmdBcHBsaWNhdGlvbj8uQXBwbGljYXRpb25cIj5cbiAgICAgICAgICAgIEVkaXQgQXBwbGljYXRpb246XG4gICAgICAgICAgICB7eyBFZGl0aW5nQXBwbGljYXRpb24uQXBwbGljYXRpb24/Lk5hbWUgfX1cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhRWRpdGluZ0FwcGxpY2F0aW9uPy5BcHBsaWNhdGlvblwiPlxuICAgICAgICAgICAgQ3JlYXRlIGFuIEFwcGxpY2F0aW9uXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICA8L21hdC1jYXJkLWhlYWRlcj5cblxuICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJOYW1lXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJEZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgICByb3dzPVwiM1wiXG4gICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1mdWxsLXdpZHRoXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJSb3V0ZVwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJyb3V0ZVwiXG4gICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgIC8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICA8bWF0LWNhcmQtYWN0aW9ucyBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuXG4gICAgICAgIDxidXR0b24gXG4gICAgICAgICpuZ0lmPVwiSGFzU2F2ZUJ1dHRvbiAmJiAhU3RhdGU/LkxvYWRpbmdcIlxuICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uIFxuICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIiBcbiAgICAgICAgICBmeEZsZXg9XCIxMDAlXCIgXG4gICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCIgXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFBcHBsaWNhdGlvbkZvcm1Hcm91cC52YWxpZCB8fCAhQXBwbGljYXRpb25Gb3JtR3JvdXAuZGlydHlcIj5cbiAgICAgICAgICA8bWF0LWljb24+c2F2ZTwvbWF0LWljb24+XG4gICAgICAgICAgU2F2ZVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGxjdS1sb2FkZXIgW2xvYWRpbmddPVwiU3RhdGU/LkxvYWRpbmdcIj48L2xjdS1sb2FkZXI+XG4gICAgICAgIFxuICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cbiAgICA8L21hdC1jYXJkPlxuPC9mb3JtPlxuIl19
|