@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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/common/src/lib/models/form.values.model.ts","../../../projects/common/src/lib/services/forms.service.ts","../../../projects/common/src/lib/services/applications-flow.service.ts","../../../projects/common/src/lib/services/project.service.ts","../../../projects/common/src/lib/state/applications-flow-state.context.ts","../../../projects/common/src/lib/state/applications-flow.state.ts","../../../projects/common/src/lib/services/applications-flow-events.service.ts","../../../projects/common/src/lib/elements/projects/projects.component.ts","../../../projects/common/src/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.ts","../../../projects/common/src/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.ts","../../../projects/common/src/lib/elements/projects/controls/project-settings/project-settings.component.ts","../../../projects/common/src/lib/elements/dynamic-tabs/dynamic-tabs.component.ts","../../../projects/common/src/lib/elements/projects/controls/header/header.component.ts","../../../projects/common/src/lib/models/card-form-config.model.ts","../../../projects/common/src/lib/elements/projects/controls/tabs/domains/domains.component.ts","../../../projects/common/src/lib/models/dynamic-tabs.model.ts","../../../projects/common/src/lib/elements/projects/controls/tabs/general/general.component.ts","../../../projects/common/src/lib/elements/projects/controls/project-tabs/project-tabs.component.ts","../../../projects/common/src/lib/elements/projects/controls/project-item/project-item.component.ts","../../../projects/common/src/lib/elements/projects/controls/builds/builds.component.ts","../../../projects/common/src/lib/elements/projects/controls/recent-activities/recent-activities.component.ts","../../../projects/common/src/lib/elements/form-card/form-card.component.ts","../../../projects/common/src/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.ts","../../../projects/common/src/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.ts","../../../projects/common/src/lib/elements/projects/controls/tabs/general/forms/settings/settings.component.ts","../../../projects/common/src/lib/elements/base-form/base-form.component.ts","../../../projects/common/src/lib/models/base-form-config.model.ts","../../../projects/common/src/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.ts","../../../projects/common/src/lib/elements/projects/controls/git-auth/git-auth.component.ts","../../../projects/common/src/lib/applications-flow.module.ts","../../../projects/common/src/lib/models/project-actions.model.ts","../../../projects/common/src/lib/models/actions.model.ts","../../../projects/common/src/lib/models/form-actions.model.ts","../../../projects/common/src/lib/models/dev-settings-preset.model.ts","../../../projects/common/src/lib/models/domain.model.ts","../../../projects/common/src/lib/models/form.model.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__values","o","s","Symbol","iterator","m","i","length","next","value","done","__read","n","r","e","ar","push","error","id","values","Id","Values","FormsService","forms","previousFormValues","FormIsDirty","Subject","defineProperty","_form","val","createValuesReference","DisableForms","preventEvent","onlySelf","emitEvent","forEach","form","Form","disable","enable","keyValues","_b","entries","controls","_c","_d","key","FormValuesModel","UpdateValuesReference","index","findIndex","x","formIndex","ResetFormValues","_this","find","patchValue","GetPreviousFormValues","ForRealThough","formToCheck","formVals","Injectable","args","providedIn","ApplicationsFlowService","http","settings","apiRoot","APIRoot","BootUserEnterprise","request","post","headers","loadHeaders","ConfigureGitHubLCUDevOps","projectId","lcu","CreateRepository","organization","repoName","Name","DeployRun","run","HasValidConnection","get","IsolateHostDNSInstance","ListProjects","ListBranches","repository","ListOrganizations","ListRepositories","LoadProjectHostingDetails","branch","SaveProject","project","hostDnsInstance","lcu-processor-lookup","_a","State","Environment","HttpClient","LCUServiceSettings","ProjectService","appsFlowSvc","state","Loading","subscribe","response","Status","Code","withLoading","Projects","Model","CreatingProject","console","log","HostDNSInstance","SetEditProjectSettings","EditingProjectID","ID","ToggleCreateProject","ApplicationsFlowStateContext","injector","_super","AddApplication","Execute","Arguments","Type","defaultValue","loadStateKey","loadStateName","StateContext","Injector","GitHub","HostingDetails","ApplicationsFlowEventsService","DeployRunEvent","EventEmitter","SaveProjectEvent","SetEditProjectSettingsEvent","emit","ApplicationsFlowProjectsContext","LCUElementContext","SELECTOR_APPLICATIONS_FLOW_PROJECTS_ELEMENT","ApplicationsFlowProjectsElementComponent","projectService","appsFlowEventsSvc","ApplicationsFlowState","setServices","ngOnDestroy","teardownProjectMonitor","ngOnInit","handleStateChange","setupProjectMonitor","HasDevOpsConfigured","Runs","LCUID","lcuID","HasConnection","projMon","setInterval","clearInterval","LcuElementComponent","Component","selector","template","HostingDetailsFormGroupComponent","formBuilder","ngOnChanges","formGroup","FormGroup","ctrl","removeControl","addControl","control","Validators","required","FormBuilder","Input","CreateProjectWizardComponent","ProjectFormGroup","valid","ngAfterViewInit","group","repoDetails","projectDetails","CancelCreateRepository","CreatingRepository","reset","CreateProject","req","Branch","BuildScript","Organization","OutputFolder","Repository","ProjectName","window","location","href","OrganizationChanged","event","listRepositories","RefreshOrganizations","listOrganizations","RepositoryChanged","listBranches","SaveRepository","org","SetupRepository","determineStep","IsOrganizationValid","IsRepositoryValid","setTimeout","Stepper","selectedIndex","BranchOptions","setValue","loadProjectHostingDetails","OrganizationOptions","activeRepo","RepositoryOptions","ViewChild","ProjectSettingsComponent","Cancelled","Saved","ProjectSettingsFormGroup","host","Project","Host","name","description","Description","Cancel","Save","assign","Output","DynamicTabsComponent","componentFactoryResolver","formsService","formIsDirtySubscription","renderComponent","TabChanged","evt","TabComponents","factory","resolveComponentFactory","instance","viewContainer","createComponent","comp","Data","ComponentFactoryResolver","read","ViewContainerRef","static","HeaderComponent","opts","DomainsComponent","formName","setupForm","config","Config","CardFormConfigModel","Icon","Title","Subtitle","FormActions","Message","Actions","Label","Color","ClickEvent","resetForm","save","domain","FormControl","validators","minLength","updateOn","onChange","valueChanges","IsDirty","Domain","GeneralComponent","cd","ngAfterContentChecked","detectChanges","ChangeDetectorRef","ProjectTabsComponent","tabsComponents","DynamicTabsModel","ProjectItemComponent","ProjectSettings","CurrentProject","DeleteProject","BuildsComponent","_projects","lastrun","RetrieveLCU","LCUs","RecentActivitiesComponent","FormCardComponent","ProjectNameComponent","RootDirectoryComponent","root","includeSource","clearForm","SettingsComponent","setupPresets","PresetSelected","action","ActionsSet","actionDetails","JSON","parse","Details","preset","buildCommand","disabled","outputDirectory","installCommand","InstallCommand","FrameworkPresets","stringify","BuildCommand","OutputDirectory","BaseFormComponent","FormConfig","FormName","checkFormForChanges","updateValueRef","BaseFormTestComponent","BaseFormConfigModel","setupConfig","setupMyForm","CardConfig","GitAuthComponent","ConnectGitHubProvider","reidrectUri","pathname","search","ApplicationsFlowModule","forRoot","ngModule","providers","NgModule","declarations","imports","FathymSharedModule","FormsModule","ReactiveFormsModule","FlexLayoutModule","MaterialModule","AppHostModule","exports","entryComponents"],"mappings":"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CVG,UAAW,CACThO,EACAzD,EACAsC,EACAhF,EACAiH,+BAhFPmN,EAAAA,SAAQ5R,KAAA,CAAC,CACR6R,aAAc,CACZ3M,EACAsB,EACAa,EACA4C,EACAc,EACAmB,EACAiC,EACAL,EACA1B,EACAkC,EACAI,EACAK,EACAC,EACAC,EACAC,EACAI,EACAmB,EACAK,EACAK,IAEFW,QAAS,CACPC,EAAAA,mBACAC,EAAAA,YACAC,EAAAA,oBACAC,EAAAA,iBACAC,EAAAA,eACAC,EAAAA,eAGFC,QAAS,CACPnN,EACAsB,EACAa,EACA4C,EACAc,EACAmB,EACAiC,EACAL,EACA1B,EACAkC,EACAI,EACAK,EACAC,EACAC,EACAC,EACAI,EACAmB,EACAK,EACAK,IAEFmB,gBAAiB,CACfpN,EACA6F,EACAmB,EACAiC,EACAL,EACA1B,EACAkC,EACAI,EACAK,EACAC,EACAC,EACAC,EACAI,EACAmB,EACAK,EACAK,eClFA,SAAYhF,GACRhR,OAAO0P,OAAO9O,KAAMoQ,OChB5B,gBCCA,gBCFA,gBCAA,gBCaI,SAAYA,GACRhR,OAAO0P,OAAO9O,KAAMoQ","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * Model for form values\n * \n */\n export class FormValuesModel {\n /**\n * Form ID\n */\n public Id: string;\n\n /**\n * Form values\n */\n public Values: object;\n\n constructor(id: string, values: object) {\n this.Id = id;\n this.Values = values;\n }\n}","import { FormValuesModel } from './../models/form.values.model';\nimport { FormModel } from './../models/form.model';\nimport { Injectable } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n })\n\nexport class FormsService {\n\n /**\n * List of forms\n */\n private _form: FormModel;\n public set Form(val: FormModel) {\n\n if (!val) { return; }\n\n this._form = val;\n this.forms.push(val);\n this.createValuesReference(val);\n }\n\n public get Form(): FormModel {\n return this._form;\n }\n\n /**\n * When any form is being edited\n */\n public FormIsDirty: Subject<boolean>;\n\n protected forms: Array<FormModel>;\n\n /**\n * Storage reference for intial form values\n */\n // public formsInitialValues: Array<FormModel>;\n protected previousFormValues: Array<FormValuesModel>;\n\n /**\n * \n * @param val as string - enabled form name\n * @param val as boolen - enable/disable all forms\n * \n * Enable / disable forms, use this when a form is being edited and \n * all other forms need to be disabled\n */\n public DisableForms(val: string | boolean): void {\n\n const preventEvent: {onlySelf: boolean, emitEvent: boolean} = { onlySelf: true, emitEvent: false };\n\n this.forms.forEach((form: FormModel) => {\n\n if (typeof val === 'boolean') {\n val ? form.Form.disable(preventEvent) : form.Form.enable(preventEvent);\n } else {\n if (form.Id === val) {\n form.Form.enable(preventEvent);\n } else {\n form.Form.disable(preventEvent);\n }\n }\n });\n }\n\n\n /**\n * Create a reference of initial form data\n * Use this to compare if values really changed, because\n * the user could change values back to the original\n *\n * @param obj form data\n */\n protected createValuesReference(val: FormModel): void {\n\n // const values: Array<{key: string, value: string}> = [];\n const keyValues: object = {};\n\n for (const [key, value] of Object.entries(val.Form.controls)) {\n\n // values.push({key, value: value.value});\n keyValues[key] = value.value;\n }\n\n // this.formsValues.push(new FormValuesModel(val.Id, val.Form.value));\n this.previousFormValues.push(new FormValuesModel(val.Id, keyValues));\n }\n\n /**\n * Update value reference after saves\n * \n * @param val form model with values\n */\n public UpdateValuesReference(val: FormModel): void {\n\n const index: number = this.previousFormValues.findIndex((x: FormValuesModel) => {\n return x.Id === val.Id;\n });\n\n this.previousFormValues[index].Values = val.Form.value;\n\n // TODO: look at consolidating updating this.forms and this.previousFormValues - shannon (7-14-21)\n const formIndex: number = this.forms.findIndex((x: FormModel) => {\n return x.Id === val.Id;\n });\n\n this.forms[formIndex] = val;\n }\n\n /**\n * Reset form values back to previous \n * \n * @param id form id\n */\n public ResetFormValues(id: string): void {\n this.forms.find((form: FormModel) => {\n if (form.Id === id) {\n form.Form.patchValue(this.GetPreviousFormValues(id).Values);\n }\n });\n }\n\n /**\n * \n * @param id form id to search for\n *\n * @returns previous form values\n */\n public GetPreviousFormValues(id: string): FormValuesModel {\n return this.previousFormValues.find((x: FormValuesModel) => {\n return x.Id === id;\n });\n }\n\n /**\n * Check for actual form changes, because the user\n * could have canceled or changed the value back to the\n * original\n *\n * @param id form id\n * @param formToCheck form to be tested\n */\n public ForRealThough(id: string, formToCheck: FormGroup): boolean {\n\n const formVals: FormValuesModel = this.previousFormValues.find((x: FormValuesModel) => {\n return x.Id === id;\n });\n\n for (const key in formToCheck.controls) {\n if (formToCheck.controls[key].value !== formVals.Values[key]) {\n this.FormIsDirty.next(true);\n return true;\n }\n }\n\n this.FormIsDirty.next(false);\n return false;\n }\n\n constructor() {\n this.forms = [];\n this.previousFormValues = [];\n this.FormIsDirty = new Subject();\n }\n}\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { LCUServiceSettings, StateContext } from '@lcu/common';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport {\r\n ApplicationsFlowState,\r\n EstablishProjectRequest,\r\n GitHubLowCodeUnit,\r\n ProjectState,\r\n} from '../state/applications-flow.state';\r\nimport { GitHubWorkflowRun } from './../state/applications-flow.state';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ApplicationsFlowService {\r\n // Fields\r\n protected apiRoot: string;\r\n\r\n // Properties\r\n\r\n // Constructors\r\n constructor(\r\n protected http: HttpClient,\r\n protected settings: LCUServiceSettings\r\n ) {\r\n this.apiRoot = settings.APIRoot;\r\n }\r\n\r\n // API Methods\r\n public BootUserEnterprise(request: EstablishProjectRequest): Observable<object> {\r\n return this.http.post(\r\n `${this.apiRoot}/api/lowcodeunit/manage/boot`,\r\n request,\r\n {\r\n headers: this.loadHeaders(),\r\n }\r\n );\r\n }\r\n\r\n public ConfigureGitHubLCUDevOps(projectId: string, lcu: GitHubLowCodeUnit): Observable<object> {\r\n return this.http.post(\r\n `${this.apiRoot}/api/lowcodeunit/manage/projects/${projectId}/lowcodeunits/configure`,\r\n lcu,\r\n {\r\n headers: this.loadHeaders(),\r\n }\r\n );\r\n }\r\n\r\n public CreateRepository(organization: string, repoName: string): Observable<object> {\r\n return this.http.post(\r\n `${this.apiRoot}/api/lowcodeunit/github/organizations/${organization}/repositories`,\r\n {\r\n Name: repoName,\r\n },\r\n {\r\n headers: this.loadHeaders(),\r\n }\r\n );\r\n }\r\n\r\n public DeployRun(run: GitHubWorkflowRun): Observable<object> {\r\n return this.http.post(\r\n `${this.apiRoot}/api/lowcodeunit/manage/projects/deploy`,\r\n run,\r\n {\r\n headers: this.loadHeaders(),\r\n }\r\n );\r\n }\r\n\r\n public HasValidConnection(): Observable<object> {\r\n return this.http.get(\r\n `${this.apiRoot}/api/lowcodeunit/github/connection/valid`,\r\n {\r\n headers: this.loadHeaders(),\r\n }\r\n );\r\n }\r\n\r\n public IsolateHostDNSInstance(): Observable<object> {\r\n return this.http.get(\r\n `${this.apiRoot}/api/lowcodeunit/manage/projects/isolate`,\r\n {\r\n headers: this.loadHeaders(),\r\n }\r\n );\r\n }\r\n\r\n public ListProjects(): Observable<object> {\r\n return this.http.get(`${this.apiRoot}/api/lowcodeunit/manage/projects`, {\r\n headers: this.loadHeaders(),\r\n });\r\n }\r\n\r\n public ListBranches(organization: string, repository: string): Observable<object> {\r\n return this.http.get(\r\n `${this.apiRoot}/api/lowcodeunit/github/organizations/${organization}/repositories/${repository}/branches`,\r\n {\r\n headers: this.loadHeaders(),\r\n }\r\n );\r\n }\r\n\r\n public ListOrganizations(): Observable<object> {\r\n return this.http.get(\r\n `${this.apiRoot}/api/lowcodeunit/github/organizations`,\r\n {\r\n headers: this.loadHeaders(),\r\n }\r\n );\r\n }\r\n\r\n public ListRepositories(organization: string): Observable<object> {\r\n return this.http.get(\r\n `${this.apiRoot}/api/lowcodeunit/github/organizations/${organization}/repositories`,\r\n {\r\n headers: this.loadHeaders(),\r\n }\r\n );\r\n }\r\n\r\n public LoadProjectHostingDetails(\r\n organization: string,\r\n repository: string,\r\n branch: string\r\n ): Observable<object> {\r\n return this.http.get(\r\n `${this.apiRoot}/api/lowcodeunit/manage/projects/organizations/${organization}/repositories/${repository}/branches/${branch}/hosting/details`,\r\n {\r\n headers: this.loadHeaders(),\r\n }\r\n );\r\n }\r\n\r\n public SaveProject(project: ProjectState, hostDnsInstance: string): Observable<object> {\r\n return this.http.post(\r\n `${this.apiRoot}/api/lowcodeunit/manage/projects?hostDnsInstance=${hostDnsInstance}`,\r\n project,\r\n {\r\n headers: this.loadHeaders(),\r\n }\r\n );\r\n }\r\n\r\n // Helpers\r\n protected loadHeaders(): { [header: string]: string | string[] } {\r\n return {\r\n 'lcu-processor-lookup': this.settings?.State?.Environment || '',\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { BaseModeledResponse, BaseResponse } from '@lcu/common';\nimport {\n ApplicationsFlowState,\n GitHubWorkflowRun,\n ProjectState,\n} from '../state/applications-flow.state';\nimport { ApplicationsFlowService } from './applications-flow.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProjectService {\n public CreatingProject: boolean;\n\n public EditingProjectID: string;\n\n constructor(protected appsFlowSvc: ApplicationsFlowService) {}\n\n public DeployRun(state: ApplicationsFlowState, run: GitHubWorkflowRun): void {\n state.Loading = true;\n\n this.appsFlowSvc.DeployRun(run).subscribe((response: BaseResponse) => {\n if (response.Status.Code === 0) {\n this.ListProjects(state);\n } else {\n state.Loading = false;\n }\n });\n }\n\n public ListProjects(\n state: ApplicationsFlowState,\n withLoading: boolean = true\n ): void {\n if (withLoading) {\n state.Loading = true;\n }\n\n this.appsFlowSvc\n .ListProjects()\n .subscribe((response: BaseModeledResponse<ProjectState[]>) => {\n if (response.Status.Code === 0) {\n state.Projects = response.Model;\n } else if (response.Status.Code === 3) {\n }\n\n if (withLoading) {\n state.Loading = false;\n }\n\n this.CreatingProject = !state.Projects || state.Projects.length <= 0;\n\n console.log(state);\n });\n }\n\n public SaveProject(\n state: ApplicationsFlowState,\n project: ProjectState\n ): void {\n state.Loading = true;\n\n this.appsFlowSvc\n .SaveProject(project, state.HostDNSInstance)\n .subscribe((response: BaseModeledResponse<string>) => {\n if (response.Status.Code === 0) {\n this.ListProjects(state, true);\n } else {\n state.Loading = false;\n }\n\n console.log(response);\n });\n }\n\n public SetEditProjectSettings(\n state: ApplicationsFlowState,\n project: ProjectState\n ): void {\n if (project != null) {\n state.Loading = true;\n\n this.appsFlowSvc\n .IsolateHostDNSInstance()\n .subscribe((response: BaseModeledResponse<string>) => {\n this.EditingProjectID = project.ID;\n\n this.CreatingProject = false;\n\n state.HostDNSInstance = response.Model;\n\n state.Loading = false;\n\n console.log(state);\n });\n } else {\n this.EditingProjectID = project.ID;\n\n this.CreatingProject = false;\n }\n }\n\n public ToggleCreateProject(): void {\n this.CreatingProject = !this.CreatingProject;\n\n this.EditingProjectID = null;\n }\n}\n","import { Injectable, Injector } from '@angular/core';\r\nimport { StateContext } from '@lcu/common';\r\nimport { ApplicationsFlowState } from './applications-flow.state';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApplicationsFlowStateContext extends StateContext<ApplicationsFlowState> {\r\n\r\n // Constructors\r\n constructor(protected injector: Injector) {\r\n super(injector);\r\n }\r\n\r\n\r\n // API Methods\r\n public AddApplication(): void {\r\n this.Execute({\r\n Arguments: {\r\n },\r\n Type: 'AddApplication'\r\n });\r\n }\r\n\r\n // Helpers\r\n protected defaultValue(): ApplicationsFlowState {\r\n return { Loading: true } as ApplicationsFlowState;\r\n }\r\n\r\n protected loadStateKey(): string {\r\n return 'main';\r\n }\r\n\r\n protected loadStateName(): string {\r\n return 'lcu';\r\n }\r\n}\r\n","export class ApplicationsFlowState {\r\n public GitHub?: GitHubSetupState;\r\n\r\n public HostDNSInstance?: string;\r\n\r\n public HostingDetails?: ProjectHostingDetails;\r\n\r\n public Loading?: boolean;\r\n\r\n public Projects?: ProjectState[];\r\n\r\n public UserEnterpriseLookup?: string;\r\n\r\n constructor() {\r\n this.GitHub = {};\r\n\r\n this.HostingDetails = {};\r\n\r\n this.Loading = true;\r\n\r\n this.Projects = [];\r\n }\r\n}\r\n\r\nexport class ProjectState {\r\n public ActionsSet?: { [id: string]: DevOpsAction };\r\n\r\n public Description?: string;\r\n\r\n public Host?: string;\r\n\r\n public ID?: string;\r\n\r\n public Image?: string;\r\n\r\n public LCUs?: GitHubLowCodeUnit[];\r\n\r\n public Name?: string;\r\n\r\n public PreventInheritedApplications?: boolean;\r\n\r\n public Runs?: GitHubWorkflowRun[];\r\n}\r\n\r\nexport class GitHubSetupState {\r\n public BranchOptions?: GitHubBranch[];\r\n\r\n public CreatingRepository?: boolean;\r\n\r\n public HasConnection?: boolean;\r\n\r\n public Loading?: boolean;\r\n\r\n public OrganizationOptions?: GitHubOrganization[];\r\n\r\n public RepositoryOptions?: GitHubRepository[];\r\n}\r\n\r\nexport class GitHubBranch {\r\n public Name?: string;\r\n}\r\n\r\nexport class GitHubLowCodeUnit {\r\n public Branch?: string;\r\n\r\n public ID?: string;\r\n\r\n public Lookup?: string;\r\n\r\n public Organization?: string;\r\n\r\n public Repository?: string;\r\n}\r\n\r\nexport class GitHubOrganization {\r\n public Name?: string;\r\n}\r\n\r\nexport class GitHubRepository {\r\n public CloneURL?: string;\r\n\r\n public Name?: string;\r\n}\r\n\r\nexport class GitHubWorkflowRun {\r\n public Conclusion?: string;\r\n\r\n public CreatedAt?: string;\r\n\r\n public ID?: string;\r\n\r\n public LCUID?: string;\r\n\r\n public RunNumber?: number;\r\n\r\n public Status?: string;\r\n\r\n public Workflow?: string;\r\n\r\n public UpdatedAt?: string;\r\n}\r\n\r\nexport class DevOpsAction {\r\n public Details?: string;\r\n\r\n public ID?: string;\r\n\r\n public Name?: string;\r\n\r\n public Overwrite?: boolean;\r\n\r\n public Path?: string;\r\n\r\n public Template?: string;\r\n}\r\n\r\nexport class ProjectHostingDetails {\r\n public HostingOptions?: ProjectHostingOption[];\r\n\r\n public Loading?: boolean;\r\n}\r\n\r\nexport class ProjectHostingOption {\r\n public Lookup?: string;\r\n\r\n public Name?: string;\r\n}\r\n\r\nexport class EstablishProjectRequest {\r\n public Branch?: string;\r\n\r\n public BuildScript?: string;\r\n\r\n public HostingOption?: string;\r\n\r\n public Organization?: string;\r\n\r\n public OutputFolder?: string;\r\n\r\n public ProjectName?: string;\r\n\r\n public Repository?: string;\r\n}\r\n","import { EventEmitter, Injectable, Injector } from '@angular/core';\r\nimport { ProjectState } from '../state/applications-flow.state';\r\nimport { GitHubWorkflowRun } from '../state/applications-flow.state';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ApplicationsFlowEventsService {\r\n // Fields\r\n\r\n // Properties\r\n public DeployRunEvent: EventEmitter<GitHubWorkflowRun>;\r\n\r\n public SaveProjectEvent: EventEmitter<ProjectState>;\r\n\r\n public SetEditProjectSettingsEvent: EventEmitter<ProjectState>;\r\n\r\n // Constructors\r\n constructor() {\r\n this.DeployRunEvent = new EventEmitter();\r\n\r\n this.SaveProjectEvent = new EventEmitter();\r\n\r\n this.SetEditProjectSettingsEvent = new EventEmitter();\r\n }\r\n\r\n // API Methods\r\n public DeployRun(run: GitHubWorkflowRun): void {\r\n this.DeployRunEvent.emit(run);\r\n }\r\n\r\n public SaveProject(project: ProjectState): void {\r\n this.SaveProjectEvent.emit(project);\r\n }\r\n\r\n public SetEditProjectSettings(project: ProjectState): void {\r\n this.SetEditProjectSettingsEvent.emit(project);\r\n }\r\n\r\n // Helpers\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Injector,\r\n ViewChild,\r\n Inject,\r\n AfterViewInit,\r\n OnDestroy,\r\n} from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatSelectChange } from '@angular/material/select';\r\nimport { MatStepper } from '@angular/material/stepper';\r\nimport {\r\n LCUElementContext,\r\n LcuElementComponent,\r\n BaseResponse,\r\n BaseModeledResponse,\r\n} from '@lcu/common';\r\nimport {\r\n ApplicationsFlowState,\r\n EstablishProjectRequest,\r\n GitHubBranch,\r\n GitHubLowCodeUnit,\r\n GitHubOrganization,\r\n GitHubRepository,\r\n GitHubWorkflowRun,\r\n ProjectHostingDetails,\r\n ProjectHostingOption,\r\n ProjectState,\r\n} from './../../state/applications-flow.state';\r\nimport { ApplicationsFlowService } from '../../services/applications-flow.service';\r\nimport { ProjectService } from '../../services/project.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { ApplicationsFlowEventsService } from './../../services/applications-flow-events.service';\r\n\r\ndeclare var window: Window;\r\n\r\nexport class ApplicationsFlowProjectsElementState {}\r\n\r\nexport class ApplicationsFlowProjectsContext extends LCUElementContext<ApplicationsFlowProjectsElementState> {}\r\n\r\nexport const SELECTOR_APPLICATIONS_FLOW_PROJECTS_ELEMENT =\r\n 'applications-flow-projects-element';\r\n\r\n@Component({\r\n selector: SELECTOR_APPLICATIONS_FLOW_PROJECTS_ELEMENT,\r\n templateUrl: './projects.component.html',\r\n styleUrls: ['./projects.component.scss'],\r\n})\r\nexport class ApplicationsFlowProjectsElementComponent\r\n extends LcuElementComponent<ApplicationsFlowProjectsContext>\r\n implements OnDestroy, OnInit\r\n{\r\n\r\n // Fields\r\n protected projMon: NodeJS.Timeout;\r\n\r\n // Properties\r\n public get CreatingProject(): boolean {\r\n return this.projectService.CreatingProject;\r\n }\r\n\r\n public get EditingProject(): ProjectState {\r\n return this.State.Projects.find(\r\n (p) => p.ID === this.projectService.EditingProjectID\r\n );\r\n }\r\n\r\n public State: ApplicationsFlowState;\r\n\r\n // Constructors\r\n constructor(\r\n protected injector: Injector,\r\n protected appsFlowSvc: ApplicationsFlowService,\r\n protected projectService: ProjectService,\r\n protected appsFlowEventsSvc: ApplicationsFlowEventsService\r\n ) {\r\n super(injector);\r\n\r\n this.State = new ApplicationsFlowState();\r\n\r\n this.setServices();\r\n }\r\n\r\n // Life Cycle\r\n public ngOnDestroy(): void {\r\n this.teardownProjectMonitor();\r\n }\r\n\r\n public ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.handleStateChange();\r\n\r\n this.setupProjectMonitor();\r\n }\r\n\r\n // API Methods\r\n public ConfigureGitHubLCUDevOps(\r\n projectId: string,\r\n lcu: GitHubLowCodeUnit\r\n ): void {\r\n this.State.Loading = true;\r\n\r\n this.appsFlowSvc\r\n .ConfigureGitHubLCUDevOps(projectId, lcu)\r\n .subscribe((response: BaseResponse) => {\r\n if (response.Status.Code === 0) {\r\n this.projectService.ListProjects(this.State, true);\r\n } else {\r\n this.State.Loading = false;\r\n }\r\n });\r\n }\r\n\r\n // public DeployRun(run: GitHubWorkflowRun): void {\r\n\r\n // this.State.Loading = true;\r\n\r\n // this.appsFlowSvc.DeployRun(run).subscribe((response: BaseResponse) => {\r\n // if (response.Status.Code === 0) {\r\n // this.listProjects();\r\n // } else {\r\n // this.State.Loading = false;\r\n // }\r\n // });\r\n // }\r\n\r\n public HasDevOpsConfigured(val: {\r\n project: ProjectState;\r\n lcuID: string;\r\n }): boolean {\r\n const run = val.project.Runs.find((r) => r.LCUID === val.lcuID);\r\n\r\n return !!run;\r\n }\r\n\r\n // project: ProjectState, lcuId: string\r\n // public RetrieveLCU(val: {project: ProjectState, lcuID: string}): GitHubLowCodeUnit {\r\n // return val.project.LCUs.find((lcu) => lcu.ID === val.lcuID);\r\n // }\r\n\r\n public ToggleCreateProject(): void {\r\n this.projectService.ToggleCreateProject();\r\n }\r\n\r\n // Helpers\r\n protected handleStateChange(): void {\r\n this.State.Loading = true;\r\n\r\n this.projectService.ListProjects(this.State);\r\n\r\n this.appsFlowSvc\r\n .HasValidConnection()\r\n .subscribe((response: BaseResponse) => {\r\n this.State.GitHub.HasConnection = response.Status.Code === 0;\r\n\r\n if (this.State.GitHub.HasConnection) {\r\n } else {\r\n }\r\n\r\n this.State.Loading = false;\r\n });\r\n }\r\n // protected listProjects(withLoading: boolean = true): void {\r\n // if (withLoading) {\r\n // this.State.Loading = true;\r\n // }\r\n\r\n // this.appsFlowSvc\r\n // .ListProjects()\r\n // .subscribe((response: BaseModeledResponse<ProjectState[]>) => {\r\n // if (response.Status.Code === 0) {\r\n // this.State.Projects = response.Model;\r\n // } else if (response.Status.Code === 3) {\r\n // }\r\n\r\n // if (withLoading) {\r\n // this.State.Loading = false;\r\n // }\r\n\r\n // this.CreatingProject =\r\n // !this.State.Projects || this.State.Projects.length <= 0;\r\n\r\n // this.appsFlowSvc.UpdateState(this.State);\r\n // console.log(this.State);\r\n // });\r\n // }\r\n\r\n /**\r\n * Setup any service subscriptions\r\n */\r\n protected setServices(): void {\r\n this.appsFlowEventsSvc.DeployRunEvent.subscribe((run) => {\r\n this.projectService.DeployRun(this.State, run);\r\n });\r\n\r\n this.appsFlowEventsSvc.SaveProjectEvent.subscribe((project) => {\r\n this.projectService.SaveProject(this.State, project);\r\n });\r\n\r\n this.appsFlowEventsSvc.SetEditProjectSettingsEvent.subscribe((project) => {\r\n this.projectService.SetEditProjectSettings(this.State, project);\r\n });\r\n }\r\n\r\n protected setupProjectMonitor(): void {\r\n this.projMon = setInterval(() => {\r\n this.projectService.ListProjects(this.State, false);\r\n }, 60000);\r\n }\r\n\r\n protected teardownProjectMonitor(): void {\r\n clearInterval(this.projMon);\r\n }\r\n}\r\n","import { Component, Input, OnChanges, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ProjectHostingDetails } from './../../../../state/applications-flow.state';\n\n@Component({\n selector: 'lcu-hosting-details-form-group',\n templateUrl: './hosting-details-form-group.component.html',\n styleUrls: ['./hosting-details-form-group.component.scss'],\n})\nexport class HostingDetailsFormGroupComponent implements OnChanges, OnInit {\n // Fields\n\n // Properties\n @Input('details')\n public Details: ProjectHostingDetails;\n\n @Input('formGroup')\n public FormGroup: FormGroup;\n\n // Constructors\n constructor(protected formBuilder: FormBuilder) {}\n\n // Life Cycle\n public ngOnChanges() {}\n\n public ngOnInit() {\n const formGroup = this.FormGroup.get('projectDetails') as FormGroup;\n\n for (const ctrl in formGroup.controls) {\n if (ctrl != null) {\n formGroup.removeControl(ctrl);\n }\n }\n\n // formGroup.addControl(\n // 'projectName',\n // this.formBuilder.control('', [Validators.required])\n // );\n\n // formGroup.addControl(\n // 'hostingOption',\n // this.formBuilder.control('', [Validators.required])\n // );\n\n formGroup.addControl(\n 'buildScript',\n this.formBuilder.control('npm run build', [Validators.required])\n );\n\n formGroup.addControl(\n 'outputFolder',\n this.formBuilder.control('dist', [Validators.required])\n );\n\n // formGroup.addControl('deployScript', this.formBuilder.control(['']));\n\n // this.FormGroup.setControl(\n // 'projectDetails',\n // this.formBuilder.group({\n // hostingOption: ['', Validators.required],\n // // apiLocation: [''],\n // // appLocation: ['', Validators.required],\n // // outputLocation: ['', Validators.required],\n // // template: ['', Validators.required],\n // // templateType: ['', Validators.required],\n // })\n // );\n }\n\n // API Methods\n\n // Helpers\n}\n","import { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { MatSelectChange } from '@angular/material/select';\nimport { MatStepper } from '@angular/material/stepper';\nimport { BaseResponse, BaseModeledResponse } from '@lcu/common';\nimport { ApplicationsFlowService } from '../../../../services/applications-flow.service';\nimport {\n ApplicationsFlowState,\n EstablishProjectRequest,\n GitHubBranch,\n GitHubOrganization,\n GitHubRepository,\n ProjectHostingDetails,\n} from '../../../../state/applications-flow.state';\n\n@Component({\n selector: 'lcu-create-project-wizard',\n templateUrl: './create-project-wizard.component.html',\n styleUrls: ['./create-project-wizard.component.scss'],\n})\nexport class CreateProjectWizardComponent implements AfterViewInit, OnInit {\n // Fields\n\n // Properties\n public get AreProjectDetailsValid(): boolean {\n return this.ProjectFormGroup.get('projectDetails')?.valid;\n }\n\n public get IsBranchValid(): boolean {\n return this.ProjectFormGroup.get('repoDetails').get('branch').valid;\n }\n\n public get IsOrganizationValid(): boolean {\n return this.ProjectFormGroup.get('repoDetails').get('organization').valid;\n }\n\n public get IsRepositoryValid(): boolean {\n return this.ProjectFormGroup.get('repoDetails').get('repository').valid;\n }\n\n public ProjectFormGroup: FormGroup;\n\n public State: ApplicationsFlowState;\n\n @ViewChild('projectStepper')\n public Stepper: MatStepper;\n\n // Constructors\n constructor(\n protected formBuilder: FormBuilder,\n protected appsFlowSvc: ApplicationsFlowService\n ) {\n this.State = new ApplicationsFlowState();\n }\n // Life Cycle\n public ngAfterViewInit(): void {\n this.handleStateChange();\n }\n\n public ngOnInit(): void {\n this.ProjectFormGroup = this.formBuilder.group({\n repoDetails: this.formBuilder.group({\n branch: ['', Validators.required],\n organization: ['', Validators.required],\n repository: ['', Validators.required],\n }),\n projectDetails: this.formBuilder.group({}),\n });\n }\n\n // API Methods\n public CancelCreateRepository(): void {\n this.State.GitHub.CreatingRepository = false;\n }\n\n // public ConnectGitHubProvider(): void {\n // const reidrectUri = location.pathname + location.search;\n\n // window.location.href = `/.oauth/github?redirectUri=${reidrectUri}`;\n // }\n\n public CreateRepository(): void {\n this.State.GitHub.CreatingRepository = true;\n\n this.ProjectFormGroup.get('repoDetails').get('repository').reset();\n }\n\n public CreateProject(): void {\n this.State.Loading = true;\n\n const repoDetails = this.ProjectFormGroup.get('repoDetails');\n\n const projectDetails = this.ProjectFormGroup.get('projectDetails');\n\n const req: EstablishProjectRequest = {\n Branch: repoDetails.get('branch').value,\n BuildScript: projectDetails.get('buildScript').value,\n // HostingOption: projectDetails.get('hostingOption').value,\n Organization: repoDetails.get('organization').value,\n OutputFolder: projectDetails.get('outputFolder').value,\n // ProjectName: projectDetails.get('projectName').value,\n Repository: repoDetails.get('repository').value,\n };\n\n req.ProjectName = `${req.Organization} ${req.Repository} ${req.Branch}`;\n\n // req.HostingOption = '';\n\n this.appsFlowSvc\n .BootUserEnterprise(req)\n .subscribe((response: BaseResponse) => {\n if (response.Status.Code === 0) {\n window.location.href = window.location.href;\n } else {\n this.State.Loading = false;\n }\n\n console.log(response);\n });\n }\n\n public OrganizationChanged(event: MatSelectChange): void {\n const org = this.ProjectFormGroup.get('repoDetails').get('organization');\n\n if (org !== event.value) {\n this.ProjectFormGroup.get('repoDetails').get('repository').reset();\n\n this.listRepositories();\n }\n }\n\n public RefreshOrganizations(): void {\n // this.State.GitHub.Loading = true;\n this.listOrganizations();\n\n this.ProjectFormGroup.get('repoDetails').reset();\n }\n\n public RepositoryChanged(event: MatSelectChange): void {\n const repo = this.ProjectFormGroup.get('repoDetails').get('repository');\n\n if (repo !== event.value) {\n this.ProjectFormGroup.get('repoDetails').get('branch').reset();\n\n this.listBranches();\n }\n }\n\n public SaveRepository(): void {\n this.State.GitHub.Loading = true;\n\n const org =\n this.ProjectFormGroup.get('repoDetails').get('organization').value;\n\n const repoName =\n this.ProjectFormGroup.get('repoDetails').get('repository').value;\n\n this.appsFlowSvc\n .CreateRepository(org, repoName)\n .subscribe((response: BaseResponse) => {\n if (response.Status.Code === 0) {\n this.listRepositories(repoName);\n\n this.State.GitHub.CreatingRepository = false;\n } else {\n // TODO: Need to surface an error to the user...\n\n this.State.GitHub.Loading = false;\n }\n });\n }\n\n public SetupRepository(): void {\n this.determineStep();\n }\n\n // Helpers\n protected determineStep(): void {\n let index = 0;\n\n if (this.IsOrganizationValid && this.IsRepositoryValid) {\n index = 1;\n }\n\n setTimeout(() => {\n this.Stepper.selectedIndex = index;\n }, 0);\n }\n\n protected handleStateChange(): void {\n this.State.Loading = true;\n\n this.determineStep();\n\n this.listOrganizations();\n }\n\n protected listBranches(): void {\n this.State.GitHub.Loading = true;\n\n this.appsFlowSvc\n .ListBranches(\n this.ProjectFormGroup.get('repoDetails').get('organization').value,\n this.ProjectFormGroup.get('repoDetails').get('repository').value\n )\n .subscribe((response: BaseModeledResponse<GitHubBranch[]>) => {\n this.State.GitHub.BranchOptions = response.Model;\n\n this.State.GitHub.Loading = false;\n\n if (this.State.GitHub.BranchOptions?.length === 1) {\n this.ProjectFormGroup.get('repoDetails')\n .get('branch')\n .setValue(this.State.GitHub.BranchOptions[0].Name);\n }\n\n this.loadProjectHostingDetails();\n\n console.log(this.State);\n });\n }\n\n protected listOrganizations(): void {\n this.State.Loading = true;\n\n this.appsFlowSvc\n .ListOrganizations()\n .subscribe((response: BaseModeledResponse<GitHubOrganization[]>) => {\n this.State.GitHub.OrganizationOptions = response.Model;\n\n this.State.Loading = false;\n\n console.log(this.State);\n });\n }\n\n protected listRepositories(activeRepo: string = null): void {\n this.State.GitHub.Loading = true;\n\n this.appsFlowSvc\n .ListRepositories(\n this.ProjectFormGroup.get('repoDetails').get('organization').value\n )\n .subscribe((response: BaseModeledResponse<GitHubRepository[]>) => {\n this.State.GitHub.RepositoryOptions = response.Model;\n\n this.State.GitHub.Loading = false;\n\n if (activeRepo) {\n setTimeout(() => {\n this.ProjectFormGroup.get('repoDetails')\n .get('repository')\n .setValue(activeRepo);\n\n this.listBranches();\n }, 0);\n } else if (this.State.GitHub.RepositoryOptions?.length <= 0) {\n this.State.GitHub.CreatingRepository = true;\n }\n });\n }\n\n protected loadProjectHostingDetails(): void {\n this.State.HostingDetails.Loading = true;\n\n this.appsFlowSvc\n .LoadProjectHostingDetails(\n this.ProjectFormGroup.get('repoDetails').get('organization').value,\n this.ProjectFormGroup.get('repoDetails').get('repository').value,\n this.ProjectFormGroup.get('repoDetails').get('branch').value\n )\n .subscribe((response: BaseModeledResponse<ProjectHostingDetails>) => {\n this.State.HostingDetails = response.Model;\n\n this.State.HostingDetails.Loading = false;\n\n console.log(this.State);\n });\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ProjectHostingDetails, ProjectState } from '../../../../state/applications-flow.state';\nimport { ApplicationsFlowService } from '../../../../services/applications-flow.service';\nimport { BaseResponse } from '@lcu/common';\n\n@Component({\n selector: 'lcu-project-settings',\n templateUrl: './project-settings.component.html',\n styleUrls: ['./project-settings.component.scss']\n})\nexport class ProjectSettingsComponent implements OnInit {\n // Fields\n\n // Properties\n @Output('cancelled')\n public Cancelled: EventEmitter<ProjectState>;\n\n @Input('host-dns-instance')\n public HostDNSInstance: string;\n\n public ProjectSettingsFormGroup: FormGroup;\n\n @Input('project')\n public Project: ProjectState;\n\n @Output('saved')\n public Saved: EventEmitter<ProjectState>;\n\n // Constructors\n constructor(\n protected formBuilder: FormBuilder\n ) {\n this.Cancelled = new EventEmitter();\n\n this.Saved = new EventEmitter();\n }\n // Life Cycle\n public ngOnInit() {\n this.ProjectSettingsFormGroup = this.formBuilder.group({\n host: [this.Project?.Host || '', Validators.required],\n name: [this.Project?.Name || '', Validators.required],\n description: [this.Project?.Description || '', Validators.required],\n });\n }\n\n // API Methods\n public Cancel() {\n this.Cancelled.emit(this.Project);\n }\n\n public Save() {\n const project: ProjectState = {\n ...this.Project,\n Name: this.ProjectSettingsFormGroup.get('name').value,\n Host: this.ProjectSettingsFormGroup.get('host').value,\n Description: this.ProjectSettingsFormGroup.get('description').value,\n };\n\n this.Saved.emit(project);\n }\n\n // Helpers\n}\n","import { FormsService } from './../../services/forms.service';\nimport { Subscription } from 'rxjs';\nimport { DynamicTabsModel } from './../../models/dynamic-tabs.model';\nimport { \n AfterViewInit, \n Component, \n ComponentFactory, \n ComponentFactoryResolver, \n ComponentRef, \n Input, \n OnInit, \n ViewChild, \n ViewContainerRef } from '@angular/core';\n import { MatTabChangeEvent } from '@angular/material/tabs';\n\n@Component({\n selector: 'lcu-dynamic-tabs',\n templateUrl: './dynamic-tabs.component.html',\n styleUrls: ['./dynamic-tabs.component.scss']\n})\n\nexport class DynamicTabsComponent implements OnInit, AfterViewInit {\n\n /**\n * Container used to display dynamic components\n */\n @ViewChild('container', {read: ViewContainerRef, static: false})\n protected viewContainer: ViewContainerRef;\n\n @Input('background-color')\n public BackgroundColor: string;\n\n @Input('color')\n public Color: string;\n\n /**\n * Form is dirty flag\n */\n public FormIsDirty: boolean;\n\n /**\n * Listener for when any form is dirty\n */\n protected formIsDirtySubscription: Subscription;\n\n /**\n * Components loaded as dynamic components\n */ \n @Input('tab-components')\n public TabComponents: Array<DynamicTabsModel>;\n\n constructor(\n protected componentFactoryResolver: ComponentFactoryResolver, \n protected formsService: FormsService) { }\n\n // Lifecycle hook\n public ngOnInit(): void {\n\n // listen form any form to be dirty, then disable all tabs except for the current tab\n this.formIsDirtySubscription = this.formsService.FormIsDirty.subscribe(\n (val: boolean) => {\n this.FormIsDirty = val;\n });\n }\n\n public ngAfterViewInit(): void {\n this.renderComponent(0);\n }\n\n /**\n * Tab change event\n *\n * @param index selected tab index\n */\n public TabChanged(evt: MatTabChangeEvent): void {\n\n setTimeout(() => {\n this.renderComponent(evt.index);\n }, 1000);\n }\n\n /**\n * Render component for the active tab\n *\n * @param index TabComponents index position\n */\n protected renderComponent(index: number) {\n\n if (!this.TabComponents) {\n return;\n }\n\n // factory for creating a dynamic component\n const factory: ComponentFactory<any> = this.componentFactoryResolver\n .resolveComponentFactory(this.TabComponents[index].Component);\n\n // component created by a factory\n const componentRef: ComponentRef<any> = this.viewContainer.createComponent(factory);\n\n // current component instance\n const instance: DynamicTabsComponent = componentRef.instance as DynamicTabsComponent;\n\n // find the current component in TabComponents and set its data\n this.TabComponents.find((comp: DynamicTabsModel) => {\n if (comp.Component.name === instance.constructor.name) {\n instance['Data'] = comp.Data;\n }\n });\n }\n}\n","import { ApplicationsFlowService } from './../../../../services/applications-flow.service';\nimport {\n ApplicationsFlowState,\n ProjectState,\n} from './../../../../state/applications-flow.state';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'lcu-projects-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n})\nexport class HeaderComponent implements OnInit {\n // Fields\n\n // Properties\n @Input('projects')\n public Projects: Array<ProjectState>;\n\n // Constructors\n public constructor() {}\n\n // Life Cycle\n public ngOnInit(): void {}\n\n // API Methods\n\n // Helpers\n}\n","import { FormActionsModel } from './form-actions.model';\n\nexport class CardFormConfigModel {\n\n /**\n * Form button actions\n */\n public FormActions?: FormActionsModel;\n\n /**\n * Card title icon\n */\n public Icon: string;\n\n /**\n * Card title\n */\n public Title: string;\n\n /**\n * Card subtitle\n */\n public Subtitle: string;\n\n constructor(opts: CardFormConfigModel) {\n\n Object.assign(this, opts); // destructure values\n }\n}\n","import { FormsService } from './../../../../../services/forms.service';\nimport { CardFormConfigModel } from './../../../../../models/card-form-config.model';\nimport { DomainModel } from './../../../../../models/domain.model';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ProjectState } from './../../../../../state/applications-flow.state';\nimport { ApplicationsFlowEventsService } from '../../../../../services/applications-flow-events.service';\n\n@Component({\n selector: 'lcu-domains',\n templateUrl: './domains.component.html',\n styleUrls: ['./domains.component.scss']\n})\nexport class DomainsComponent implements OnInit {\n\n /**\n * Card / Form Config\n */\n public Config: CardFormConfigModel;\n\n /**\n * FormGroup\n */\n public Form: FormGroup;\n\n /**\n * Form name\n */\n protected formName: string;\n\n /**\n * When form is dirty, ties into formsService.DisableForms\n */\n public IsDirty: boolean;\n\n /**\n * Access form control for root directory\n */\n public get Domain(): AbstractControl {\n return this.Form.get('domain');\n }\n\n @Input('data')\n public Data: { Project: ProjectState, HostDNSInstance: string };\n\n public get HostDNSInstance(): string {\n return this.Data.HostDNSInstance;\n }\n\n public get Project(): ProjectState {\n return this.Data.Project;\n }\n\n constructor(\n protected formsService: FormsService,\n protected appsFlowEventsSvc: ApplicationsFlowEventsService) {\n }\n\n public ngOnInit(): void {\n\n this.formName = 'DomainForm';\n\n this.setupForm();\n\n this.config();\n }\n\n protected config(): void {\n this.Config = new CardFormConfigModel({\n Icon: 'head',\n Title: 'Domains',\n Subtitle: 'These domains are assigned to your deployments. Optionally, a different Git branch or a redirection to another domain can be configured for each one.',\n FormActions: {\n Message: 'Changes will be applied to your next deployment',\n Actions: [\n {\n Label: 'Reset',\n Color: 'warn',\n ClickEvent: () => this.resetForm(),\n // use arrow function, so 'this' refers to ProjectNameComponent\n // if we used ClickeEvent: this.clearForm, then 'this' would refer to this current Actions object\n Type: 'RESET',\n },\n {\n Label: 'Save',\n Color: 'accent',\n ClickEvent: () => this.save(),\n Type: 'SAVE',\n },\n ],\n },\n });\n }\n\n protected setupForm(): void {\n this.Form = new FormGroup({\n domain: new FormControl(this.Project.Host || '', {\n validators: [Validators.required, Validators.minLength(3)],\n updateOn: 'change'\n }),\n });\n\n this.formsService.Form = { Id: this.formName, Form: this.Form };\n this.onChange()\n }\n\n protected onChange(): void {\n this.Form.valueChanges.subscribe((val: any) => {\n\n if (this.formsService.ForRealThough(this.formName, this.Form)) {\n\n this.IsDirty = true;\n // disable all forms except the current form being edited\n this.formsService.DisableForms(this.formName);\n } else {\n\n this.IsDirty = false;\n // enable all forms\n this.formsService.DisableForms(false);\n }\n });\n }\n\n /**\n * Reset form controls back to previous values\n */\n protected resetForm(): void {\n // enable all forms\n // this.formsService.DisableForms(false);\n\n this.formsService.ResetFormValues(this.formName);\n }\n\n /**\n * Save changes\n */\n protected save(): void {\n this.appsFlowEventsSvc.SaveProject({\n ...this.Project,\n Host: this.Domain.value\n });\n this.formsService.UpdateValuesReference({ Id: this.formName, Form: this.Form });\n }\n}\n","\nexport class DynamicTabsModel {\n\n /**\n * Component instance to add to the tab\n */\n public Component: any;\n\n /**\n * Component data\n */\n public Data?: any;\n\n /**\n * Icon to use next to tab label\n */\n public Icon?: string;\n\n /**\n * Tab label\n */\n public Label: string;\n\n constructor(opts: DynamicTabsModel) {\n Object.assign(this, opts); // destructure values\n }\n }\n","import { FormGroup } from '@angular/forms';\nimport { FormsService } from './../../../../../services/forms.service';\nimport {\n AfterContentChecked,\n ChangeDetectorRef,\n Component,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { LcuElementComponent, LCUElementContext } from '@lcu/common';\nimport { ProjectState } from './../../../../../state/applications-flow.state';\nimport { ApplicationsFlowService } from './../../../../../services/applications-flow.service';\n\nexport class ApplicationsFlowProjectsElementState {}\n\nexport class ApplicationsFlowProjectsContext extends LCUElementContext<ApplicationsFlowProjectsElementState> {}\n\n@Component({\n selector: 'lcu-general',\n templateUrl: './general.component.html',\n styleUrls: ['./general.component.scss'],\n})\nexport class GeneralComponent\n extends LcuElementComponent<ApplicationsFlowProjectsContext>\n implements OnDestroy, OnInit, AfterContentChecked\n{\n @Input('data')\n public Data: { Project: ProjectState };\n\n public get Project(): ProjectState {\n return this.Data.Project;\n }\n\n constructor(\n protected injector: Injector,\n protected appsFlowSvc: ApplicationsFlowService,\n protected cd: ChangeDetectorRef,\n protected formsService: FormsService\n ) {\n super(injector);\n }\n\n // Life Cycle\n public ngOnDestroy(): void {}\n\n public ngOnInit(): void {\n\n }\n\n public ngAfterContentChecked(): void {\n this.cd.detectChanges();\n }\n}\n","import { DomainsComponent } from './../tabs/domains/domains.component';\nimport { DynamicTabsModel } from './../../../../models/dynamic-tabs.model';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { GeneralComponent } from '../tabs/general/general.component';\nimport { ProjectState } from '../../../../state/applications-flow.state';\n\n@Component({\n selector: 'lcu-project-tabs',\n templateUrl: './project-tabs.component.html',\n styleUrls: ['./project-tabs.component.scss'],\n})\nexport class ProjectTabsComponent implements OnInit {\n // Fields\n\n // Properties\n @Input('host-dns-instance')\n public HostDNSInstance: string;\n\n @Input('project')\n public Project: ProjectState;\n\n public TabComponents: Array<DynamicTabsModel>;\n\n constructor() {}\n\n public ngOnInit(): void {\n this.tabsComponents();\n }\n\n protected tabsComponents(): void {\n this.TabComponents = [\n new DynamicTabsModel({\n Component: GeneralComponent,\n Data: { Project: this.Project },\n Label: 'General',\n Icon: 'pages'\n }),\n new DynamicTabsModel({\n Component: DomainsComponent,\n Data: { Project: this.Project, HostDNSInstance: this.HostDNSInstance },\n Label: 'Domains',\n Icon: 'domain'\n }),\n ];\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ProjectState } from './../../../../state/applications-flow.state';\nimport { ApplicationsFlowEventsService } from './../../../../services/applications-flow-events.service';\n\n@Component({\n selector: 'lcu-project-items',\n templateUrl: './project-item.component.html',\n styleUrls: ['./project-item.component.scss'],\n})\nexport class ProjectItemComponent implements OnInit {\n // Fields\n\n // Properties\n /**\n * List of projects\n */\n @Input('projects')\n public Projects: Array<ProjectState>;\n\n public PanelOpenState: boolean;\n\n // Constructors\n constructor(protected appsFlowEventsSvc: ApplicationsFlowEventsService) {}\n\n // Life Cycle\n public ngOnInit(): void {}\n\n // API Methods\n /**\n *\n * @param project Current project object\n *\n * Event to edit project settings\n */\n public ProjectSettings(project: ProjectState): void {\n this.appsFlowEventsSvc.SetEditProjectSettings(project);\n }\n\n public CurrentProject(project: ProjectState): void {\n // this.projectService.CurrentSelectedProject.next(project);\n }\n\n public DeleteProject(project: ProjectState): void {\n \n }\n}\n","import { ApplicationsFlowService } from './../../../../services/applications-flow.service';\nimport { ProjectService } from './../../../../services/project.service';\nimport {\n ApplicationsFlowState,\n GitHubLowCodeUnit,\n GitHubWorkflowRun,\n ProjectState,\n} from './../../../../state/applications-flow.state';\nimport {\n Component,\n Input,\n OnInit,\n OnDestroy,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { ApplicationsFlowEventsService } from './../../../../services/applications-flow-events.service';\n\n@Component({\n selector: 'lcu-builds',\n templateUrl: './builds.component.html',\n styleUrls: ['./builds.component.scss'],\n})\nexport class BuildsComponent implements OnInit, OnDestroy {\n // Fields\n\n // Properties\n /**\n * List of projects\n */\n private _projects: Array<ProjectState>;\n @Input('projects')\n public set Projects(val: Array<ProjectState>) {\n this._projects = val;\n }\n\n public get Projects(): Array<ProjectState> {\n return this._projects;\n }\n\n constructor(protected appsFlowEventsSvc: ApplicationsFlowEventsService) {}\n\n public ngOnInit(): void {}\n\n public ngOnDestroy(): void {\n }\n\n public DeployRun(lastrun: GitHubWorkflowRun): void {\n this.appsFlowEventsSvc.DeployRun(lastrun);\n }\n\n public RetrieveLCU(val: {\n project: ProjectState;\n lcuID: string;\n }): GitHubLowCodeUnit {\n // this.RetrieveLCUEmitter.emit(lcu);\n return val.project.LCUs.find((lcu) => lcu.ID === val.lcuID);\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lcu-recent-activities',\n templateUrl: './recent-activities.component.html',\n styleUrls: ['./recent-activities.component.scss']\n})\nexport class RecentActivitiesComponent implements OnInit {\n\n constructor() { }\n\n public ngOnInit(): void {\n }\n\n}\n","import { FormGroup } from '@angular/forms';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { CardFormConfigModel } from '../../models/card-form-config.model';\nimport { FormActionsModel } from '../../models/form-actions.model';\n@Component({\n selector: 'lcu-form-card',\n templateUrl: './form-card.component.html',\n styleUrls: ['./form-card.component.scss']\n})\n\nexport class FormCardComponent implements OnInit {\n\n /**\n * Values for building out the card\n */\n @Input('config')\n public Config: CardFormConfigModel;\n\n /**\n * Disable everything\n */\n @Input('disabled')\n public Disabled: boolean;\n\n @Input('is-dirty')\n public IsDirty: boolean;\n\n /**\n * Form\n */\n @Input('form')\n public Form: FormGroup;\n\n constructor() {\n\n }\n\n ngOnInit(): void {\n }\n\n}\n","import { FormValuesModel } from './../../../../../../../models/form.values.model';\nimport { FormModel } from './../../../../../../../models/form.model';\nimport { Component, DebugNode, Input, OnInit } from '@angular/core';\nimport {\n AbstractControl,\n FormControl,\n FormGroup,\n Validators,\n} from '@angular/forms';\nimport { FormsService } from '../../../../../../../services/forms.service';\nimport { CardFormConfigModel } from '../../../../../../../models/card-form-config.model';\nimport {\n ProjectState\n} from '../../../../../../../state/applications-flow.state';\nimport { ApplicationsFlowEventsService } from '../../../../../../../services/applications-flow-events.service';\n\n@Component({\n selector: 'lcu-project-details',\n templateUrl: './project-details.component.html',\n styleUrls: ['./project-details.component.scss'],\n})\nexport class ProjectNameComponent implements OnInit {\n /**\n * Form button actions\n */\n public Config: CardFormConfigModel;\n\n /**\n * Access form control for description\n */\n public get Description(): AbstractControl {\n return this.Form.get('description');\n }\n\n /**\n * FormGroup for project name card\n */\n public Form: FormGroup;\n\n /**\n * Name of form\n */\n protected formName: string;\n\n /**\n * When form is dirty, ties into formsService.DisableForms\n */\n public IsDirty: boolean;\n\n /**\n * Access form control for project name\n */\n public get Name(): AbstractControl {\n return this.Form.get('name');\n }\n\n /**\n * Input value for state\n */\n @Input('project')\n public Project: ProjectState;\n\n constructor(\n protected formsService: FormsService,\n protected appsFlowEventsSvc: ApplicationsFlowEventsService) { }\n\n public ngOnInit(): void {\n\n this.formName = 'ProjectNameForm';\n\n this.setupForm();\n\n this.config();\n }\n\n /**\n * Form configurations\n */\n protected config(): void {\n this.Config = new CardFormConfigModel({\n Icon: 'house',\n Title: 'Root Directory',\n Subtitle:\n 'The directory within your project, in which your code is located. Leave this field empty if your code is not located in a subdirectory',\n FormActions: {\n Message: 'Changes will be applied to your next deployment',\n Actions: [\n {\n Label: 'Reset',\n Color: 'warn',\n ClickEvent: () => this.resetForm(),\n // use arrow function, so 'this' refers to ProjectNameComponent\n // if we used ClickeEvent: this.clearForm, then 'this' would refer to this current Actions object\n Type: 'RESET',\n },\n {\n Label: 'Save',\n Color: 'accent',\n ClickEvent: () => this.save(),\n Type: 'SAVE',\n },\n ],\n },\n });\n }\n /**\n * Setup form controls\n */\n protected setupForm(): void {\n\n this.Form = new FormGroup({\n name: new FormControl(this.Project?.Name || '', {\n validators: [Validators.required, Validators.minLength(1)],\n updateOn: 'change',\n }),\n description: new FormControl(this.Project?.Description || '', {\n validators: [Validators.required, Validators.minLength(1)],\n updateOn: 'change',\n }),\n });\n\n this.formsService.Form = {Id: this.formName, Form: this.Form};\n\n this.onChange();\n }\n\n /**\n * Save form\n */\n protected save(): void {\n this.appsFlowEventsSvc.SaveProject({\n ...this.Project,\n Description: this.Description.value,\n Name: this.Name.value\n });\n\n this.formsService.UpdateValuesReference({ Id: this.formName, Form: this.Form });\n }\n\n /**\n * Reset form controls back to previous values\n */\n protected resetForm(): void {\n // enable all forms\n // this.formsService.DisableForms(false);\n\n this.formsService.ResetFormValues(this.formName);\n }\n\n /**\n * Listen to form changes\n */\n protected onChange(): void {\n this.Form.valueChanges.subscribe((val: object) => {\n\n if (this.formsService.ForRealThough(this.formName, this.Form)) {\n this.IsDirty = true;\n // disable all forms except the current form being edited\n this.formsService.DisableForms(this.formName);\n } else {\n\n this.IsDirty = false;\n // enable all forms\n this.formsService.DisableForms(false);\n }\n });\n }\n}\n","import { Subscription } from 'rxjs';\nimport { FormsService } from './../../../../../../../services/forms.service';\nimport { CardFormConfigModel } from './../../../../../../../models/card-form-config.model';\nimport { ProjectState } from './../../../../../../../state/applications-flow.state';\nimport { Component, Input, OnInit } from '@angular/core';\nimport {\n AbstractControl,\n FormControl,\n FormGroup,\n Validators,\n} from '@angular/forms';\nimport { ApplicationsFlowEventsService } from '../../../../../../../services/applications-flow-events.service';\n\n@Component({\n selector: 'lcu-root-directory',\n templateUrl: './root-directory.component.html',\n styleUrls: ['./root-directory.component.scss'],\n})\nexport class RootDirectoryComponent implements OnInit {\n /**\n * Card / Form Config\n */\n public Config: CardFormConfigModel;\n\n /**\n * FormGroup\n */\n public Form: FormGroup;\n\n protected formIsDirtySubscription: Subscription;\n\n /**\n * Access form control for root directory\n */\n public get Root(): AbstractControl {\n return this.Form.get('root');\n }\n\n /**\n * Access form control for root directory\n */\n public get IncludeSource(): AbstractControl {\n return this.Form.get('includeSource');\n }\n\n /**\n * Input value for state\n */\n @Input('project')\n public Project: ProjectState;\n\n constructor(\n protected formsService: FormsService,\n protected appsFlowEventsSvc: ApplicationsFlowEventsService) {}\n\n public ngOnInit(): void {\n this.setupForm();\n\n this.config();\n }\n\n /**\n * Setup form controls\n */\n protected setupForm(): void {\n this.Form = new FormGroup({\n root: new FormControl('/', {\n validators: [Validators.required, Validators.minLength(1)],\n updateOn: 'change',\n }),\n includeSource: new FormControl(false),\n });\n\n this.formsService.Form = { Id: 'RootDirectoryForm', Form: this.Form};\n this.onChange();\n }\n\n /**\n * Form configurations\n */\n protected config(): void {\n this.Config = new CardFormConfigModel({\n Icon: 'house',\n Title: 'Root Directory',\n Subtitle:\n 'The directory within your project, in which your code is located. Leave this field empty if your code is not located in a subdirectory',\n FormActions: {\n Message: 'Changes will be applied to your next deployment',\n Actions: [\n {\n Label: 'Clear',\n Color: 'warn',\n ClickEvent: () => this.clearForm(),\n // use arrow function, so 'this' refers to ProjectNameComponent\n // if we used ClickeEvent: this.clearForm, then 'this' would refer to this current Actions object\n Type: 'RESET',\n },\n {\n Label: 'Save',\n Color: 'accent',\n ClickEvent: () => this.save(),\n Type: 'SAVE',\n },\n ],\n },\n });\n }\n\n /**\n * Save form\n */\n protected save(): void {\n this.appsFlowEventsSvc.SaveProject({\n ...this.Project,\n // Root: this.Root.value,\n // IncludeSource: this.IncludeSource.value\n });\n // this.formsService.UpdateValuesReference({ Id: 'RootDirectoryForm', Form: this.Form });\n }\n\n /**\n * Clear form controls\n */\n protected clearForm(): void {\n // this.Form.reset();\n\n // enable all forms\n this.formsService.DisableForms(false);\n }\n\n /**\n * Listen to form changes\n */\n protected onChange(): void {\n this.Form.valueChanges.subscribe((val: any) => {\n // disable all forms except the current form being edited\n this.formsService.DisableForms('RootDirectoryForm');\n });\n }\n}\n","import { FormsService } from './../../../../../../../services/forms.service';\nimport {\n AbstractControl,\n FormControl,\n FormGroup,\n Validators,\n} from '@angular/forms';\nimport { MatSlideToggleChange } from '@angular/material/slide-toggle';\nimport { DevSettingsPresetModel } from './../../../../../../../models/dev-settings-preset.model';\nimport { CardFormConfigModel } from './../../../../../../../models/card-form-config.model';\nimport {\n GitHubLowCodeUnit,\n ProjectState,\n} from './../../../../../../../state/applications-flow.state';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { ApplicationsFlowEventsService } from '../../../../../../../services/applications-flow-events.service';\n\n@Component({\n selector: 'lcu-settings',\n templateUrl: './settings.component.html',\n styleUrls: ['./settings.component.scss'],\n})\nexport class SettingsComponent implements OnInit {\n protected formIsDirtySubscription: Subscription;\n\n /**\n * Card / Form Config\n */\n public Config: CardFormConfigModel;\n\n /**\n * Formgroup\n */\n public Form: FormGroup;\n\n /**\n * Name of form\n */\n protected formName: string;\n\n /**\n * Access form control for Build Command\n */\n public get BuildCommand(): AbstractControl {\n return this.Form.get('buildCommand');\n }\n\n /**\n * Access form control for Build Command\n */\n // public get BuildCommandOverride(): AbstractControl {\n // return this.Form.get('buildCommandOverride');\n // }\n\n /**\n * Access form control for Install Command\n */\n public get InstallCommand(): AbstractControl {\n return this.Form.get('installCommand');\n }\n\n /**\n * Access form control for Build Command\n */\n // public get InstallCommandOverride(): AbstractControl {\n // return this.Form.get('installCommandOverride');\n // }\n\n /**\n * Access form control for Output Directory\n */\n public get OutputDirectory(): AbstractControl {\n return this.Form.get('outputDirectory');\n }\n\n /**\n * Access form control for Build Command\n */\n // public get OutputDirectoryOverride(): AbstractControl {\n // return this.Form.get('outputDirectoryOverride');\n // }\n\n /**\n * Access form control for Preset\n */\n public get Preset(): AbstractControl {\n return this.Form.get('preset');\n }\n\n /**\n * List of dev setting presets\n */\n public FrameworkPresets: Array<DevSettingsPresetModel>;\n\n /**\n * When form is dirty, ties into formsService.DisableForms\n */\n public IsDirty: boolean;\n\n /**\n * Selected preset\n */\n public SelectedFrameworkPreset: DevSettingsPresetModel;\n\n /**\n * Input value for state\n */\n @Input('project')\n public Project: ProjectState;\n\n constructor(\n protected formsService: FormsService,\n protected appsFlowEventsSvc: ApplicationsFlowEventsService\n ) {\n \n }\n\n public ngOnInit(): void {\n this.formName = 'SettingsForm';\n\n this.setupForm();\n\n this.config();\n\n this.setupPresets();\n }\n\n /**\n * Slider toggle change event\n *\n * Loop over all controls and check if the toggle value is\n * included in the name of any of the form controls, if so\n * enable/disable that control.\n *\n * This only works if the naming of the toggle and the control\n * have the same values (buildCommand and buildCommandOverride)\n * In this case, toggle would have the value 'buildCommandOverride'\n * and the field we are looking to enable/disable is 'buildCommand.'\n *\n * TODO: find a better way to associate the toggle and the input, relying\n * on the name could be problematic - shannon\n *\n * @param event slider toggle event\n */\n // public SliderChanged(event: MatSlideToggleChange): void {\n // const toggle: string = event.source.name.toLowerCase();\n // const checked: boolean = event.checked;\n\n // Object.keys(this.Form.controls).forEach((key: string) => {\n // const k: string = key.toLowerCase();\n // if (toggle !== k && toggle.includes(k)) {\n // checked\n // ? this.Form.controls[key].enable()\n // : this.Form.controls[key].disable();\n // }\n // });\n // }\n\n /**\n *\n * @param val Selected preset\n */\n public PresetSelected(val: DevSettingsPresetModel): void {}\n\n /**\n * Need this extra work to test for validity, because of setting all forms\n * valid. In this case, we don't want the inputs to be enabled unless the\n * override toggle is set to true - setting form.enable(), enables the inputs,\n * regarless if the toggle is false\n *\n * @param form control to test\n *\n * @returns if control is valid or not\n */\n // public IsFormValid(form: AbstractControl): boolean {\n // return form.value.length >= 3 || form.valid;\n // }\n\n protected config(): void {\n this.Config = new CardFormConfigModel({\n Icon: 'settings',\n Title: 'Build & Development Settings',\n Subtitle:\n 'When using a framework for a new project, it will be automatically detected. As a result, several project settings are automatically configured to achieve the best result. You can override them below.',\n FormActions: {\n Message: 'Changes will be applied to your next deployment',\n Actions: [\n {\n Label: 'Reset',\n Color: 'warn',\n ClickEvent: () => this.resetForm(),\n // use arrow function, so 'this' refers to SettingsComponent\n // if we used ClickeEvent: this.clearForm, then 'this' would refer to this current Actions object\n Type: 'RESET',\n },\n {\n Label: 'Save',\n Color: 'accent',\n ClickEvent: () => this.save(),\n Type: 'SAVE',\n },\n ],\n },\n });\n }\n\n protected setupForm(): void {\n const lcu = this.Project?.LCUs[0];\n\n const action = this.Project?.ActionsSet\n ? this.Project.ActionsSet[lcu.ID] || {}\n : {};\n\n const actionDetails = JSON.parse(action.Details || '{}');\n\n this.Form = new FormGroup({\n preset: new FormControl(''),\n buildCommand: new FormControl(\n {\n value: actionDetails?.BuildScript || 'npm run build',\n disabled: false,\n },\n {\n validators: [Validators.required, Validators.minLength(3)],\n updateOn: 'change',\n }\n ),\n // buildCommandOverride: new FormControl(false, { updateOn: 'change' }),\n outputDirectory: new FormControl(\n {\n value: actionDetails?.OutputFolder || 'build',\n disabled: false,\n },\n {\n validators: [Validators.required, Validators.minLength(3)],\n updateOn: 'change',\n }\n ),\n // outputDirectoryOverride: new FormControl(false),\n installCommand: new FormControl(\n {\n value: actionDetails?.InstallCommand || 'npm ci',\n disabled: false,\n },\n {\n validators: [Validators.required, Validators.minLength(3)],\n updateOn: 'change',\n }\n ),\n // installCommandOverride: new FormControl(false)\n });\n\n this.formsService.Form = { Id: this.formName, Form: this.Form };\n this.onChange();\n }\n\n protected onChange(): void {\n this.Form.valueChanges.subscribe((val: any) => {\n if (this.formsService.ForRealThough(this.formName, this.Form)) {\n this.IsDirty = true;\n // disable all forms except the current form being edited\n this.formsService.DisableForms(this.formName);\n } else {\n this.IsDirty = false;\n // enable all forms\n this.formsService.DisableForms(false);\n }\n });\n }\n\n /**\n * Preset values\n */\n protected setupPresets(): void {\n this.FrameworkPresets = [\n {\n Icon: 'face',\n ID: 1,\n Label: 'Option 1',\n },\n {\n Icon: 'house',\n ID: 2,\n Label: 'Option 2',\n },\n ];\n }\n\n /**\n * Reset form controls back to previous values\n */\n protected resetForm(): void {\n // enable all forms\n // this.formsService.DisableForms(false);\n\n this.formsService.ResetFormValues(this.formName);\n }\n\n /**\n * Save changes\n */\n protected save(): void {\n const lcu = this.Project.LCUs[0];\n\n const action = this.Project.ActionsSet[lcu.ID] || {};\n\n action.Details = JSON.stringify({\n BuildScript: this.BuildCommand.value,\n OutputFolder: this.OutputDirectory.value,\n InstallCommand: this.InstallCommand.value || 'npm ci',\n });\n\n this.appsFlowEventsSvc.SaveProject({\n ...this.Project,\n });\n\n this.formsService.UpdateValuesReference({\n Id: this.formName,\n Form: this.Form,\n });\n }\n}\n","import { BaseFormConfigModel } from './../../models/base-form-config.model';\nimport { Component, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { ApplicationsFlowEventsService } from '../../services/applications-flow-events.service';\nimport { FormsService } from '../../services/forms.service';\n\n@Component({\n selector: 'lcu-base-form',\n templateUrl: './base-form.component.html',\n styleUrls: ['./base-form.component.scss']\n})\nexport class BaseFormComponent implements OnInit {\n\n /**\n * FormGroup for project name card\n */\n // public Form: FormGroup;\n\n /**\n * Form name\n */\n // protected formName: string;\n\n /**\n * When form is dirty, ties into formsService.DisableForms\n */\n // public IsDirty: boolean;\n\n public FormConfig: BaseFormConfigModel;\n\n constructor(\n protected formsService: FormsService,\n protected appsFlowEventsSvc: ApplicationsFlowEventsService\n ) { }\n\n public ngOnInit(): void {\n\n this.setupForm();\n }\n\n protected setupForm(): void {\n\n this.formsService.Form = {Id: this.FormConfig.FormName, Form: this.FormConfig.Form};\n\n // this.onChange();\n }\n\n /**\n * Listen to form value changes\n */\n protected onChange(): void {\n \n\n }\n\n protected checkFormForChanges(): void {\n this.FormConfig.Form.valueChanges.subscribe((val: object) => {\n\n if (this.formsService.ForRealThough(this.FormConfig.FormName, this.FormConfig.Form)) {\n this.FormConfig.IsDirty = true;\n // disable all forms except the current form being edited\n this.formsService.DisableForms(this.FormConfig.FormName);\n } else {\n\n this.FormConfig.IsDirty = false;\n // enable all forms\n this.formsService.DisableForms(false);\n }\n });\n }\n\n /**\n * Update Form value reference\n */\n protected updateValueRef(): void {\n\n this.formsService.UpdateValuesReference(\n {\n Id: this.FormConfig.FormName,\n Form: this.FormConfig.Form\n });\n }\n\n protected save(): void {\n console.log('PARENT SAVE');\n }\n\n protected resetForm(): void {\n\n }\n}\n","import { Input } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { ProjectState } from '../state/applications-flow.state';\nimport { CardFormConfigModel } from './card-form-config.model';\n\nexport class BaseFormConfigModel {\n\n public CardConfig?: CardFormConfigModel;\n public Form?: FormGroup;\n public FormName: string;\n public IsDirty?: boolean;\n\n constructor(opts: BaseFormConfigModel) {\n Object.assign(this, opts); // destructure values\n }\n}","import { CardFormConfigModel } from '../../../../../../../models/card-form-config.model';\nimport { ApplicationsFlowEventsService } from '../../../../../../../services/applications-flow-events.service';\nimport { FormsService } from '../../../../../../../services/forms.service';\nimport { BaseFormComponent } from '../../../../../../base-form/base-form.component';\nimport { Component, OnInit } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { BaseFormConfigModel } from '../../../../../../../models/base-form-config.model';\n\n@Component({\n selector: 'lcu-base-form-test',\n templateUrl: './base-form-test.component.html',\n styleUrls: ['./base-form-test.component.scss']\n})\nexport class BaseFormTestComponent extends BaseFormComponent implements OnInit {\n\n\n /**\n * Access form control for description\n */\n public get Description(): AbstractControl {\n return this.FormConfig.Form.get('description');\n }\n\n /**\n * Access form control for project name\n */\n public get Name(): AbstractControl {\n return this.FormConfig.Form.get('name');\n }\n\n constructor(\n protected formsService: FormsService,\n protected appsFlowEventsSvc: ApplicationsFlowEventsService\n ) {\n\n super(formsService, appsFlowEventsSvc);\n \n }\n\n public ngOnInit(): void {\n this.FormConfig = new BaseFormConfigModel({FormName: 'TestFormComponent'});\n\n this.setupConfig();\n this.setupMyForm();\n\n super.ngOnInit();\n }\n\n protected setupMyForm(): void {\n this.FormConfig.Form = new FormGroup({\n name: new FormControl('', {\n validators: [Validators.required, Validators.minLength(1)],\n updateOn: 'change',\n }),\n description: new FormControl('', {\n validators: [Validators.required, Validators.minLength(1)],\n updateOn: 'change',\n }),\n });\n\n this.checkFormForChanges();\n }\n\n protected setupConfig(): void {\n this.FormConfig.CardConfig = new CardFormConfigModel({\n Icon: 'house',\n Title: 'Test Form',\n Subtitle:\n 'The directory within your project, in which your code is located. Leave this field empty if your code is not located in a subdirectory',\n FormActions: {\n Message: 'Changes will be applied to your next deployment',\n Actions: [\n {\n Label: 'Reset',\n Color: 'warn',\n ClickEvent: () => this.resetForm(),\n // use arrow function, so 'this' refers to ProjectNameComponent\n // if we used ClickeEvent: this.clearForm, then 'this' would refer to this current Actions object\n Type: 'RESET',\n },\n {\n Label: 'Save',\n Color: 'accent',\n ClickEvent: () => this.save(),\n Type: 'SAVE',\n },\n ],\n },\n });\n }\n\n protected save(): void {\n console.log('CHILD SAVE');\n }\n\n}\n","import { ApplicationsFlowService } from './../../../../services/applications-flow.service';\nimport { ApplicationsFlowState } from './../../../../state/applications-flow.state';\nimport { Component, OnInit, AfterViewInit, Input } from '@angular/core';\nimport { BaseResponse } from '@lcu/common';\n\n@Component({\n selector: 'lcu-git-auth',\n templateUrl: './git-auth.component.html',\n styleUrls: ['./git-auth.component.scss']\n})\nexport class GitAuthComponent implements OnInit, AfterViewInit {\n constructor() {\n }\n\n // Life Cycle\n public ngAfterViewInit(): void {\n }\n\n public ngOnInit(): void {\n }\n\n /**\n * Connect Github Provider\n */\n public ConnectGitHubProvider(): void {\n const reidrectUri = location.pathname + location.search;\n\n window.location.href = `/.oauth/github?redirectUri=${reidrectUri}`;\n }\n\n /**\n * Listen for State changes\n */\n\n}\n","import { FormsService } from './services/forms.service';\r\nimport { ProjectService } from './services/project.service';\r\nimport { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { FathymSharedModule, MaterialModule } from '@lcu/common';\r\nimport { ApplicationsFlowStateContext } from './state/applications-flow-state.context';\r\nimport { ApplicationsFlowProjectsElementComponent } from './elements/projects/projects.component';\r\nimport { AppHostModule } from '@lowcodeunit/app-host-common';\r\nimport { ApplicationsFlowService } from './services/applications-flow.service';\r\nimport { HostingDetailsFormGroupComponent } from './elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component';\r\nimport { CreateProjectWizardComponent } from './elements/projects/controls/create-project-wizard/create-project-wizard.component';\r\nimport { ProjectSettingsComponent } from './elements/projects/controls/project-settings/project-settings.component';\r\nimport { DynamicTabsComponent } from './elements/dynamic-tabs/dynamic-tabs.component';\r\nimport { HeaderComponent } from './elements/projects/controls/header/header.component';\r\nimport { ProjectTabsComponent } from './elements/projects/controls/project-tabs/project-tabs.component';\r\nimport { GeneralComponent } from './elements/projects/controls/tabs/general/general.component';\r\nimport { DomainsComponent } from './elements/projects/controls/tabs/domains/domains.component';\r\nimport { ProjectItemComponent } from './elements/projects/controls/project-item/project-item.component';\r\nimport { BuildsComponent } from './elements/projects/controls/builds/builds.component';\r\nimport { RecentActivitiesComponent } from './elements/projects/controls/recent-activities/recent-activities.component';\r\nimport { FormCardComponent } from './elements/form-card/form-card.component';\r\nimport { ProjectNameComponent } from './elements/projects/controls/tabs/general/forms/project-details/project-details.component';\r\nimport { RootDirectoryComponent } from './elements/projects/controls/tabs/general/forms/root-directory/root-directory.component';\r\nimport { SettingsComponent } from './elements/projects/controls/tabs/general/forms/settings/settings.component';\r\nimport { ApplicationsFlowEventsService } from './services/applications-flow-events.service';\r\nimport { BaseFormComponent } from './elements/base-form/base-form.component';\r\nimport { BaseFormTestComponent } from './elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component';\nimport { GitAuthComponent } from './elements/projects/controls/git-auth/git-auth.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ApplicationsFlowProjectsElementComponent,\r\n HostingDetailsFormGroupComponent,\r\n CreateProjectWizardComponent,\r\n ProjectSettingsComponent,\r\n DynamicTabsComponent,\r\n HeaderComponent,\r\n ProjectTabsComponent,\r\n GeneralComponent,\r\n DomainsComponent,\r\n ProjectItemComponent,\r\n BuildsComponent,\r\n RecentActivitiesComponent,\r\n FormCardComponent,\r\n ProjectNameComponent,\r\n RootDirectoryComponent,\r\n SettingsComponent,\r\n BaseFormComponent,\r\n BaseFormTestComponent,\r\n GitAuthComponent,\r\n ],\r\n imports: [\r\n FathymSharedModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n FlexLayoutModule,\r\n MaterialModule,\r\n AppHostModule,\r\n // LazyElementModule,\r\n ],\r\n exports: [\r\n ApplicationsFlowProjectsElementComponent,\r\n HostingDetailsFormGroupComponent,\r\n CreateProjectWizardComponent,\r\n ProjectSettingsComponent,\r\n DynamicTabsComponent,\r\n HeaderComponent,\r\n ProjectTabsComponent,\r\n GeneralComponent,\r\n DomainsComponent,\r\n ProjectItemComponent,\r\n BuildsComponent,\r\n RecentActivitiesComponent,\r\n FormCardComponent,\r\n ProjectNameComponent,\r\n RootDirectoryComponent,\r\n SettingsComponent,\r\n BaseFormComponent,\r\n BaseFormTestComponent,\r\n GitAuthComponent,\r\n ],\r\n entryComponents: [\r\n ApplicationsFlowProjectsElementComponent,\r\n DynamicTabsComponent,\r\n HeaderComponent,\r\n ProjectTabsComponent,\r\n GeneralComponent,\r\n DomainsComponent,\r\n ProjectItemComponent,\r\n BuildsComponent,\r\n RecentActivitiesComponent,\r\n FormCardComponent,\r\n ProjectNameComponent,\r\n RootDirectoryComponent,\r\n SettingsComponent,\r\n BaseFormComponent,\r\n BaseFormTestComponent,\r\n GitAuthComponent,\r\n ],\r\n})\r\nexport class ApplicationsFlowModule {\r\n static forRoot(): ModuleWithProviders<ApplicationsFlowModule> {\r\n return {\r\n ngModule: ApplicationsFlowModule,\r\n providers: [\r\n ApplicationsFlowStateContext,\r\n ApplicationsFlowService,\r\n ProjectService,\r\n FormsService,\r\n ApplicationsFlowEventsService,\r\n ],\r\n };\r\n }\r\n}\r\n","export class ProjectActionsModel {\n /**\n * Click Action\n */\n public Action?: any;\n /**\n * Mat Icon\n */\n\n public Icon: string;\n\n /**\n * Tooltip\n */\n public Tooltip?: string;\n\n constructor(opts: ProjectActionsModel) {\n Object.assign(this, opts); // destructure values\n }\n}","type ButtonType = 'GENERIC' | 'RESET' | 'SAVE';\nexport class ActionsModel {\n\n /**\n * Callback function on button click\n */\n public ClickEvent: any;\n\n /**\n * Angular Material theme color (primary, accent, warn)\n */\n public Color?: string;\n\n /**\n * Button text value\n */\n public Label: string;\n\n /**\n * Style from parent component\n */\n public Style?: string;\n\n /**\n * Type of button functionality (reset, save, generic)\n */\n public Type: ButtonType;\n }\n","import { ActionsModel } from './actions.model';\n\nexport class FormActionsModel {\n\n /**\n * Button actions\n */\n public Actions: Array<ActionsModel>;\n\n /**\n * Simple text on the same line as the buttons\n */\n public Message?: string;\n}\n","export class DevSettingsPresetModel {\n public Icon: string;\n public ID: number;\n public Label: string;\n}","export class DomainModel {\n public Branch: string;\n public Name: string;\n public Host: string;\n public ValidConfig: string;\n}","import { FormGroup } from '@angular/forms';\nexport class FormModel {\n\n /**\n * Form Id\n */\n public Id: string;\n\n /**\n * Form\n */\n public Form: FormGroup;\n\n constructor(opts: FormModel) {\n Object.assign(this, opts); // destructure values\n }\n}"]}
|
package/esm2015/lcu.api.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export * from './lib/applications-flow.module';
|
|
2
|
-
export * from './lib/services/applications-flow.service';
|
|
3
|
-
export * from './lib/state/applications-flow-state.context';
|
|
4
|
-
export * from './lib/state/applications-flow.state';
|
|
5
|
-
export * from './lib/elements/projects/projects.component';
|
|
6
|
-
export * from './lib/elements/projects/controls/create-project-wizard/create-project-wizard.component';
|
|
7
|
-
export * from './lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component';
|
|
8
|
-
export * from './lib/elements/projects/controls/project-settings/project-settings.component';
|
|
9
|
-
export * from './lib/models/dynamic-tabs.model';
|
|
10
|
-
export * from './lib/models/project-actions.model';
|
|
11
|
-
export * from './lib/services/project.service';
|
|
12
|
-
export * from './lib/models/actions.model';
|
|
13
|
-
export * from './lib/models/form-actions.model';
|
|
14
|
-
export * from './lib/models/dev-settings-preset.model';
|
|
15
|
-
export * from './lib/models/domain.model';
|
|
16
|
-
export * from './lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component';
|
|
17
|
-
export * from './lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component';
|
|
18
|
-
export * from './lib/elements/projects/controls/tabs/general/forms/settings/settings.component';
|
|
19
|
-
export * from './lib/models/card-form-config.model';
|
|
20
|
-
export * from './lib/services/forms.service';
|
|
21
|
-
export * from './lib/models/form.model';
|
|
22
|
-
export * from './lib/models/form.values.model';
|
|
23
|
-
export * from './lib/models/base-form-config.model';
|
|
24
|
-
export * from './lib/elements/projects/controls/git-auth/git-auth.component';
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGN1LmFwaS5qcyIsInNvdXJjZVJvb3QiOiJEOi9GYXRoeW0vT3BlbiBTb3VyY2UvbG93Y29kZXVuaXQvYXBwbGljYXRpb25zLWZsb3cvcHJvamVjdHMvY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImxjdS5hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsd0ZBQXdGLENBQUM7QUFDdkcsY0FBYyxrR0FBa0csQ0FBQztBQUNqSCxjQUFjLDhFQUE4RSxDQUFDO0FBQzdGLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywrRkFBK0YsQ0FBQztBQUM5RyxjQUFjLDZGQUE2RixDQUFDO0FBQzVHLGNBQWMsaUZBQWlGLENBQUM7QUFDaEcsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsOERBQThELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hcHBsaWNhdGlvbnMtZmxvdy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGUvYXBwbGljYXRpb25zLWZsb3ctc3RhdGUuY29udGV4dCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvcHJvamVjdHMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvY3JlYXRlLXByb2plY3Qtd2l6YXJkL2NyZWF0ZS1wcm9qZWN0LXdpemFyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9ob3N0aW5nLWRldGFpbHMtZm9ybS1ncm91cC9ob3N0aW5nLWRldGFpbHMtZm9ybS1ncm91cC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9wcm9qZWN0LXNldHRpbmdzL3Byb2plY3Qtc2V0dGluZ3MuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2R5bmFtaWMtdGFicy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm9qZWN0LWFjdGlvbnMubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wcm9qZWN0LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYWN0aW9ucy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9mb3JtLWFjdGlvbnMubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGV2LXNldHRpbmdzLXByZXNldC5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kb21haW4ubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2dlbmVyYWwvZm9ybXMvcHJvamVjdC1kZXRhaWxzL3Byb2plY3QtZGV0YWlscy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2dlbmVyYWwvZm9ybXMvcm9vdC1kaXJlY3Rvcnkvcm9vdC1kaXJlY3RvcnkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL3NldHRpbmdzL3NldHRpbmdzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jYXJkLWZvcm0tY29uZmlnLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZm9ybXMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9mb3JtLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2Zvcm0udmFsdWVzLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2Jhc2UtZm9ybS1jb25maWcubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9naXQtYXV0aC9naXQtYXV0aC5jb21wb25lbnQnO1xyXG4iXX0=
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { FormsService } from './services/forms.service';
|
|
2
|
-
import { ProjectService } from './services/project.service';
|
|
3
|
-
import { NgModule } from '@angular/core';
|
|
4
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
6
|
-
import { FathymSharedModule, MaterialModule } from '@lcu/common';
|
|
7
|
-
import { ApplicationsFlowStateContext } from './state/applications-flow-state.context';
|
|
8
|
-
import { ApplicationsFlowProjectsElementComponent } from './elements/projects/projects.component';
|
|
9
|
-
import { AppHostModule } from '@lowcodeunit/app-host-common';
|
|
10
|
-
import { ApplicationsFlowService } from './services/applications-flow.service';
|
|
11
|
-
import { HostingDetailsFormGroupComponent } from './elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component';
|
|
12
|
-
import { CreateProjectWizardComponent } from './elements/projects/controls/create-project-wizard/create-project-wizard.component';
|
|
13
|
-
import { ProjectSettingsComponent } from './elements/projects/controls/project-settings/project-settings.component';
|
|
14
|
-
import { DynamicTabsComponent } from './elements/dynamic-tabs/dynamic-tabs.component';
|
|
15
|
-
import { HeaderComponent } from './elements/projects/controls/header/header.component';
|
|
16
|
-
import { ProjectTabsComponent } from './elements/projects/controls/project-tabs/project-tabs.component';
|
|
17
|
-
import { GeneralComponent } from './elements/projects/controls/tabs/general/general.component';
|
|
18
|
-
import { DomainsComponent } from './elements/projects/controls/tabs/domains/domains.component';
|
|
19
|
-
import { ProjectItemComponent } from './elements/projects/controls/project-item/project-item.component';
|
|
20
|
-
import { BuildsComponent } from './elements/projects/controls/builds/builds.component';
|
|
21
|
-
import { RecentActivitiesComponent } from './elements/projects/controls/recent-activities/recent-activities.component';
|
|
22
|
-
import { FormCardComponent } from './elements/form-card/form-card.component';
|
|
23
|
-
import { ProjectNameComponent } from './elements/projects/controls/tabs/general/forms/project-details/project-details.component';
|
|
24
|
-
import { RootDirectoryComponent } from './elements/projects/controls/tabs/general/forms/root-directory/root-directory.component';
|
|
25
|
-
import { SettingsComponent } from './elements/projects/controls/tabs/general/forms/settings/settings.component';
|
|
26
|
-
import { ApplicationsFlowEventsService } from './services/applications-flow-events.service';
|
|
27
|
-
import { BaseFormComponent } from './elements/base-form/base-form.component';
|
|
28
|
-
import { BaseFormTestComponent } from './elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component';
|
|
29
|
-
import { GitAuthComponent } from './elements/projects/controls/git-auth/git-auth.component';
|
|
30
|
-
export class ApplicationsFlowModule {
|
|
31
|
-
static forRoot() {
|
|
32
|
-
return {
|
|
33
|
-
ngModule: ApplicationsFlowModule,
|
|
34
|
-
providers: [
|
|
35
|
-
ApplicationsFlowStateContext,
|
|
36
|
-
ApplicationsFlowService,
|
|
37
|
-
ProjectService,
|
|
38
|
-
FormsService,
|
|
39
|
-
ApplicationsFlowEventsService,
|
|
40
|
-
],
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
ApplicationsFlowModule.decorators = [
|
|
45
|
-
{ type: NgModule, args: [{
|
|
46
|
-
declarations: [
|
|
47
|
-
ApplicationsFlowProjectsElementComponent,
|
|
48
|
-
HostingDetailsFormGroupComponent,
|
|
49
|
-
CreateProjectWizardComponent,
|
|
50
|
-
ProjectSettingsComponent,
|
|
51
|
-
DynamicTabsComponent,
|
|
52
|
-
HeaderComponent,
|
|
53
|
-
ProjectTabsComponent,
|
|
54
|
-
GeneralComponent,
|
|
55
|
-
DomainsComponent,
|
|
56
|
-
ProjectItemComponent,
|
|
57
|
-
BuildsComponent,
|
|
58
|
-
RecentActivitiesComponent,
|
|
59
|
-
FormCardComponent,
|
|
60
|
-
ProjectNameComponent,
|
|
61
|
-
RootDirectoryComponent,
|
|
62
|
-
SettingsComponent,
|
|
63
|
-
BaseFormComponent,
|
|
64
|
-
BaseFormTestComponent,
|
|
65
|
-
GitAuthComponent,
|
|
66
|
-
],
|
|
67
|
-
imports: [
|
|
68
|
-
FathymSharedModule,
|
|
69
|
-
FormsModule,
|
|
70
|
-
ReactiveFormsModule,
|
|
71
|
-
FlexLayoutModule,
|
|
72
|
-
MaterialModule,
|
|
73
|
-
AppHostModule,
|
|
74
|
-
],
|
|
75
|
-
exports: [
|
|
76
|
-
ApplicationsFlowProjectsElementComponent,
|
|
77
|
-
HostingDetailsFormGroupComponent,
|
|
78
|
-
CreateProjectWizardComponent,
|
|
79
|
-
ProjectSettingsComponent,
|
|
80
|
-
DynamicTabsComponent,
|
|
81
|
-
HeaderComponent,
|
|
82
|
-
ProjectTabsComponent,
|
|
83
|
-
GeneralComponent,
|
|
84
|
-
DomainsComponent,
|
|
85
|
-
ProjectItemComponent,
|
|
86
|
-
BuildsComponent,
|
|
87
|
-
RecentActivitiesComponent,
|
|
88
|
-
FormCardComponent,
|
|
89
|
-
ProjectNameComponent,
|
|
90
|
-
RootDirectoryComponent,
|
|
91
|
-
SettingsComponent,
|
|
92
|
-
BaseFormComponent,
|
|
93
|
-
BaseFormTestComponent,
|
|
94
|
-
GitAuthComponent,
|
|
95
|
-
],
|
|
96
|
-
entryComponents: [
|
|
97
|
-
ApplicationsFlowProjectsElementComponent,
|
|
98
|
-
DynamicTabsComponent,
|
|
99
|
-
HeaderComponent,
|
|
100
|
-
ProjectTabsComponent,
|
|
101
|
-
GeneralComponent,
|
|
102
|
-
DomainsComponent,
|
|
103
|
-
ProjectItemComponent,
|
|
104
|
-
BuildsComponent,
|
|
105
|
-
RecentActivitiesComponent,
|
|
106
|
-
FormCardComponent,
|
|
107
|
-
ProjectNameComponent,
|
|
108
|
-
RootDirectoryComponent,
|
|
109
|
-
SettingsComponent,
|
|
110
|
-
BaseFormComponent,
|
|
111
|
-
BaseFormTestComponent,
|
|
112
|
-
GitAuthComponent,
|
|
113
|
-
],
|
|
114
|
-
},] }
|
|
115
|
-
];
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25zLWZsb3cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IkQ6L0ZhdGh5bS9PcGVuIFNvdXJjZS9sb3djb2RldW5pdC9hcHBsaWNhdGlvbnMtZmxvdy9wcm9qZWN0cy9jb21tb24vc3JjLyIsInNvdXJjZXMiOlsibGliL2FwcGxpY2F0aW9ucy1mbG93Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSw4RkFBOEYsQ0FBQztBQUNoSixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvRkFBb0YsQ0FBQztBQUNsSSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDdkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDeEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDL0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDeEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRFQUE0RSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJGQUEyRixDQUFDO0FBQ2pJLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlGQUF5RixDQUFDO0FBQ2pJLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBQ2hILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlGQUF5RixDQUFDO0FBQ2hJLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBeUU1RixNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsU0FBUyxFQUFFO2dCQUNULDRCQUE0QjtnQkFDNUIsdUJBQXVCO2dCQUN2QixjQUFjO2dCQUNkLFlBQVk7Z0JBQ1osNkJBQTZCO2FBQzlCO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQW5GRixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLHdDQUF3QztvQkFDeEMsZ0NBQWdDO29CQUNoQyw0QkFBNEI7b0JBQzVCLHdCQUF3QjtvQkFDeEIsb0JBQW9CO29CQUNwQixlQUFlO29CQUNmLG9CQUFvQjtvQkFDcEIsZ0JBQWdCO29CQUNoQixnQkFBZ0I7b0JBQ2hCLG9CQUFvQjtvQkFDcEIsZUFBZTtvQkFDZix5QkFBeUI7b0JBQ3pCLGlCQUFpQjtvQkFDakIsb0JBQW9CO29CQUNwQixzQkFBc0I7b0JBQ3RCLGlCQUFpQjtvQkFDakIsaUJBQWlCO29CQUNqQixxQkFBcUI7b0JBQ3JCLGdCQUFnQjtpQkFDakI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGtCQUFrQjtvQkFDbEIsV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLGdCQUFnQjtvQkFDaEIsY0FBYztvQkFDZCxhQUFhO2lCQUVkO2dCQUNELE9BQU8sRUFBRTtvQkFDUCx3Q0FBd0M7b0JBQ3hDLGdDQUFnQztvQkFDaEMsNEJBQTRCO29CQUM1Qix3QkFBd0I7b0JBQ3hCLG9CQUFvQjtvQkFDcEIsZUFBZTtvQkFDZixvQkFBb0I7b0JBQ3BCLGdCQUFnQjtvQkFDaEIsZ0JBQWdCO29CQUNoQixvQkFBb0I7b0JBQ3BCLGVBQWU7b0JBQ2YseUJBQXlCO29CQUN6QixpQkFBaUI7b0JBQ2pCLG9CQUFvQjtvQkFDcEIsc0JBQXNCO29CQUN0QixpQkFBaUI7b0JBQ2pCLGlCQUFpQjtvQkFDakIscUJBQXFCO29CQUNyQixnQkFBZ0I7aUJBQ2pCO2dCQUNELGVBQWUsRUFBRTtvQkFDZix3Q0FBd0M7b0JBQ3hDLG9CQUFvQjtvQkFDcEIsZUFBZTtvQkFDZixvQkFBb0I7b0JBQ3BCLGdCQUFnQjtvQkFDaEIsZ0JBQWdCO29CQUNoQixvQkFBb0I7b0JBQ3BCLGVBQWU7b0JBQ2YseUJBQXlCO29CQUN6QixpQkFBaUI7b0JBQ2pCLG9CQUFvQjtvQkFDcEIsc0JBQXNCO29CQUN0QixpQkFBaUI7b0JBQ2pCLGlCQUFpQjtvQkFDakIscUJBQXFCO29CQUNyQixnQkFBZ0I7aUJBQ2pCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3Jtc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2Zvcm1zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9qZWN0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcHJvamVjdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XHJcbmltcG9ydCB7IEZhdGh5bVNoYXJlZE1vZHVsZSwgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICdAbGN1L2NvbW1vbic7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZUNvbnRleHQgfSBmcm9tICcuL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LXN0YXRlLmNvbnRleHQnO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvbnNGbG93UHJvamVjdHNFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9wcm9qZWN0cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBIb3N0TW9kdWxlIH0gZnJvbSAnQGxvd2NvZGV1bml0L2FwcC1ob3N0LWNvbW1vbic7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSG9zdGluZ0RldGFpbHNGb3JtR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2hvc3RpbmctZGV0YWlscy1mb3JtLWdyb3VwL2hvc3RpbmctZGV0YWlscy1mb3JtLWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENyZWF0ZVByb2plY3RXaXphcmRDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2NyZWF0ZS1wcm9qZWN0LXdpemFyZC9jcmVhdGUtcHJvamVjdC13aXphcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvamVjdFNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9wcm9qZWN0LXNldHRpbmdzL3Byb2plY3Qtc2V0dGluZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHluYW1pY1RhYnNDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2R5bmFtaWMtdGFicy9keW5hbWljLXRhYnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2plY3RUYWJzQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9wcm9qZWN0LXRhYnMvcHJvamVjdC10YWJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdlbmVyYWxDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvZ2VuZXJhbC9nZW5lcmFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvbWFpbnNDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvZG9tYWlucy9kb21haW5zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2plY3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9wcm9qZWN0LWl0ZW0vcHJvamVjdC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1aWxkc0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvYnVpbGRzL2J1aWxkcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWNlbnRBY3Rpdml0aWVzQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9yZWNlbnQtYWN0aXZpdGllcy9yZWNlbnQtYWN0aXZpdGllcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvZm9ybS1jYXJkL2Zvcm0tY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9qZWN0TmFtZUNvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL3Byb2plY3QtZGV0YWlscy9wcm9qZWN0LWRldGFpbHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUm9vdERpcmVjdG9yeUNvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL3Jvb3QtZGlyZWN0b3J5L3Jvb3QtZGlyZWN0b3J5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2dlbmVyYWwvZm9ybXMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd0V2ZW50c1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2FwcGxpY2F0aW9ucy1mbG93LWV2ZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2Jhc2UtZm9ybS9iYXNlLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFzZUZvcm1UZXN0Q29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2dlbmVyYWwvZm9ybXMvYmFzZS1mb3JtLXRlc3QvYmFzZS1mb3JtLXRlc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEdpdEF1dGhDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2dpdC1hdXRoL2dpdC1hdXRoLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQXBwbGljYXRpb25zRmxvd1Byb2plY3RzRWxlbWVudENvbXBvbmVudCxcclxuICAgIEhvc3RpbmdEZXRhaWxzRm9ybUdyb3VwQ29tcG9uZW50LFxyXG4gICAgQ3JlYXRlUHJvamVjdFdpemFyZENvbXBvbmVudCxcclxuICAgIFByb2plY3RTZXR0aW5nc0NvbXBvbmVudCxcclxuICAgIER5bmFtaWNUYWJzQ29tcG9uZW50LFxyXG4gICAgSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdFRhYnNDb21wb25lbnQsXHJcbiAgICBHZW5lcmFsQ29tcG9uZW50LFxyXG4gICAgRG9tYWluc0NvbXBvbmVudCxcclxuICAgIFByb2plY3RJdGVtQ29tcG9uZW50LFxyXG4gICAgQnVpbGRzQ29tcG9uZW50LFxyXG4gICAgUmVjZW50QWN0aXZpdGllc0NvbXBvbmVudCxcclxuICAgIEZvcm1DYXJkQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdE5hbWVDb21wb25lbnQsXHJcbiAgICBSb290RGlyZWN0b3J5Q29tcG9uZW50LFxyXG4gICAgU2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICBCYXNlRm9ybUNvbXBvbmVudCxcclxuICAgIEJhc2VGb3JtVGVzdENvbXBvbmVudCxcclxuICAgIEdpdEF1dGhDb21wb25lbnQsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBGYXRoeW1TaGFyZWRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxyXG4gICAgTWF0ZXJpYWxNb2R1bGUsXHJcbiAgICBBcHBIb3N0TW9kdWxlLFxyXG4gICAgLy8gTGF6eUVsZW1lbnRNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBBcHBsaWNhdGlvbnNGbG93UHJvamVjdHNFbGVtZW50Q29tcG9uZW50LFxyXG4gICAgSG9zdGluZ0RldGFpbHNGb3JtR3JvdXBDb21wb25lbnQsXHJcbiAgICBDcmVhdGVQcm9qZWN0V2l6YXJkQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgRHluYW1pY1RhYnNDb21wb25lbnQsXHJcbiAgICBIZWFkZXJDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0VGFic0NvbXBvbmVudCxcclxuICAgIEdlbmVyYWxDb21wb25lbnQsXHJcbiAgICBEb21haW5zQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdEl0ZW1Db21wb25lbnQsXHJcbiAgICBCdWlsZHNDb21wb25lbnQsXHJcbiAgICBSZWNlbnRBY3Rpdml0aWVzQ29tcG9uZW50LFxyXG4gICAgRm9ybUNhcmRDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0TmFtZUNvbXBvbmVudCxcclxuICAgIFJvb3REaXJlY3RvcnlDb21wb25lbnQsXHJcbiAgICBTZXR0aW5nc0NvbXBvbmVudCxcclxuICAgIEJhc2VGb3JtQ29tcG9uZW50LFxyXG4gICAgQmFzZUZvcm1UZXN0Q29tcG9uZW50LFxyXG4gICAgR2l0QXV0aENvbXBvbmVudCxcclxuICBdLFxyXG4gIGVudHJ5Q29tcG9uZW50czogW1xyXG4gICAgQXBwbGljYXRpb25zRmxvd1Byb2plY3RzRWxlbWVudENvbXBvbmVudCxcclxuICAgIER5bmFtaWNUYWJzQ29tcG9uZW50LFxyXG4gICAgSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdFRhYnNDb21wb25lbnQsXHJcbiAgICBHZW5lcmFsQ29tcG9uZW50LFxyXG4gICAgRG9tYWluc0NvbXBvbmVudCxcclxuICAgIFByb2plY3RJdGVtQ29tcG9uZW50LFxyXG4gICAgQnVpbGRzQ29tcG9uZW50LFxyXG4gICAgUmVjZW50QWN0aXZpdGllc0NvbXBvbmVudCxcclxuICAgIEZvcm1DYXJkQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdE5hbWVDb21wb25lbnQsXHJcbiAgICBSb290RGlyZWN0b3J5Q29tcG9uZW50LFxyXG4gICAgU2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICBCYXNlRm9ybUNvbXBvbmVudCxcclxuICAgIEJhc2VGb3JtVGVzdENvbXBvbmVudCxcclxuICAgIEdpdEF1dGhDb21wb25lbnQsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uc0Zsb3dNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QXBwbGljYXRpb25zRmxvd01vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IEFwcGxpY2F0aW9uc0Zsb3dNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZUNvbnRleHQsXHJcbiAgICAgICAgQXBwbGljYXRpb25zRmxvd1NlcnZpY2UsXHJcbiAgICAgICAgUHJvamVjdFNlcnZpY2UsXHJcbiAgICAgICAgRm9ybXNTZXJ2aWNlLFxyXG4gICAgICAgIEFwcGxpY2F0aW9uc0Zsb3dFdmVudHNTZXJ2aWNlLFxyXG4gICAgICBdLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { ApplicationsFlowEventsService } from '../../services/applications-flow-events.service';
|
|
3
|
-
import { FormsService } from '../../services/forms.service';
|
|
4
|
-
export class BaseFormComponent {
|
|
5
|
-
constructor(formsService, appsFlowEventsSvc) {
|
|
6
|
-
this.formsService = formsService;
|
|
7
|
-
this.appsFlowEventsSvc = appsFlowEventsSvc;
|
|
8
|
-
}
|
|
9
|
-
ngOnInit() {
|
|
10
|
-
this.setupForm();
|
|
11
|
-
}
|
|
12
|
-
setupForm() {
|
|
13
|
-
this.formsService.Form = { Id: this.FormConfig.FormName, Form: this.FormConfig.Form };
|
|
14
|
-
// this.onChange();
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Listen to form value changes
|
|
18
|
-
*/
|
|
19
|
-
onChange() {
|
|
20
|
-
}
|
|
21
|
-
checkFormForChanges() {
|
|
22
|
-
this.FormConfig.Form.valueChanges.subscribe((val) => {
|
|
23
|
-
if (this.formsService.ForRealThough(this.FormConfig.FormName, this.FormConfig.Form)) {
|
|
24
|
-
this.FormConfig.IsDirty = true;
|
|
25
|
-
// disable all forms except the current form being edited
|
|
26
|
-
this.formsService.DisableForms(this.FormConfig.FormName);
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
this.FormConfig.IsDirty = false;
|
|
30
|
-
// enable all forms
|
|
31
|
-
this.formsService.DisableForms(false);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Update Form value reference
|
|
37
|
-
*/
|
|
38
|
-
updateValueRef() {
|
|
39
|
-
this.formsService.UpdateValuesReference({
|
|
40
|
-
Id: this.FormConfig.FormName,
|
|
41
|
-
Form: this.FormConfig.Form
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
save() {
|
|
45
|
-
console.log('PARENT SAVE');
|
|
46
|
-
}
|
|
47
|
-
resetForm() {
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
BaseFormComponent.decorators = [
|
|
51
|
-
{ type: Component, args: [{
|
|
52
|
-
selector: 'lcu-base-form',
|
|
53
|
-
template: "\n",
|
|
54
|
-
styles: [""]
|
|
55
|
-
},] }
|
|
56
|
-
];
|
|
57
|
-
BaseFormComponent.ctorParameters = () => [
|
|
58
|
-
{ type: FormsService },
|
|
59
|
-
{ type: ApplicationsFlowEventsService }
|
|
60
|
-
];
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJEOi9GYXRoeW0vT3BlbiBTb3VyY2UvbG93Y29kZXVuaXQvYXBwbGljYXRpb25zLWZsb3cvcHJvamVjdHMvY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9lbGVtZW50cy9iYXNlLWZvcm0vYmFzZS1mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQU81RCxNQUFNLE9BQU8saUJBQWlCO0lBbUI1QixZQUNZLFlBQTBCLEVBQzFCLGlCQUFnRDtRQURoRCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQStCO0lBQ3hELENBQUM7SUFFRSxRQUFRO1FBRWIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFUyxTQUFTO1FBRWpCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLEVBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBQyxDQUFDO1FBRXBGLG1CQUFtQjtJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDTyxRQUFRO0lBR2xCLENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBRTFELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDbkYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUMvQix5REFBeUQ7Z0JBQ3pELElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDMUQ7aUJBQU07Z0JBRUwsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNoQyxtQkFBbUI7Z0JBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3ZDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxjQUFjO1FBRXRCLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQ3JDO1lBQ0UsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUTtZQUM1QixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJO1NBQzNCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFUyxJQUFJO1FBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRVMsU0FBUztJQUVuQixDQUFDOzs7WUFuRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixjQUF5Qzs7YUFFMUM7OztZQU5RLFlBQVk7WUFEWiw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlRm9ybUNvbmZpZ01vZGVsIH0gZnJvbSAnLi8uLi8uLi9tb2RlbHMvYmFzZS1mb3JtLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd0V2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy1ldmVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBGb3Jtc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb3Jtcy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGN1LWJhc2UtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9iYXNlLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iYXNlLWZvcm0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCYXNlRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqXG4gICAqIEZvcm1Hcm91cCBmb3IgcHJvamVjdCBuYW1lIGNhcmRcbiAgICovXG4gIC8vIHB1YmxpYyBGb3JtOiBGb3JtR3JvdXA7XG5cbiAgLyoqXG4gICAqIEZvcm0gbmFtZVxuICAgKi9cbiAgLy8gcHJvdGVjdGVkIGZvcm1OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZW4gZm9ybSBpcyBkaXJ0eSwgdGllcyBpbnRvIGZvcm1zU2VydmljZS5EaXNhYmxlRm9ybXNcbiAgICovXG4gIC8vIHB1YmxpYyBJc0RpcnR5OiBib29sZWFuO1xuXG4gIHB1YmxpYyBGb3JtQ29uZmlnOiBCYXNlRm9ybUNvbmZpZ01vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBmb3Jtc1NlcnZpY2U6IEZvcm1zU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgYXBwc0Zsb3dFdmVudHNTdmM6IEFwcGxpY2F0aW9uc0Zsb3dFdmVudHNTZXJ2aWNlXG4gICkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgdGhpcy5zZXR1cEZvcm0oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cEZvcm0oKTogdm9pZCB7XG5cbiAgICB0aGlzLmZvcm1zU2VydmljZS5Gb3JtID0ge0lkOiB0aGlzLkZvcm1Db25maWcuRm9ybU5hbWUsIEZvcm06IHRoaXMuRm9ybUNvbmZpZy5Gb3JtfTtcblxuICAgIC8vIHRoaXMub25DaGFuZ2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gZm9ybSB2YWx1ZSBjaGFuZ2VzXG4gICAqL1xuICBwcm90ZWN0ZWQgb25DaGFuZ2UoKTogdm9pZCB7XG4gICAgXG5cbiAgfVxuXG4gIHByb3RlY3RlZCBjaGVja0Zvcm1Gb3JDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuRm9ybUNvbmZpZy5Gb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbDogb2JqZWN0KSA9PiB7XG5cbiAgICAgIGlmICh0aGlzLmZvcm1zU2VydmljZS5Gb3JSZWFsVGhvdWdoKHRoaXMuRm9ybUNvbmZpZy5Gb3JtTmFtZSwgdGhpcy5Gb3JtQ29uZmlnLkZvcm0pKSB7XG4gICAgICAgIHRoaXMuRm9ybUNvbmZpZy5Jc0RpcnR5ID0gdHJ1ZTtcbiAgICAgICAgLy8gZGlzYWJsZSBhbGwgZm9ybXMgZXhjZXB0IHRoZSBjdXJyZW50IGZvcm0gYmVpbmcgZWRpdGVkXG4gICAgICAgIHRoaXMuZm9ybXNTZXJ2aWNlLkRpc2FibGVGb3Jtcyh0aGlzLkZvcm1Db25maWcuRm9ybU5hbWUpO1xuICAgICAgfSBlbHNlIHtcblxuICAgICAgICB0aGlzLkZvcm1Db25maWcuSXNEaXJ0eSA9IGZhbHNlO1xuICAgICAgICAvLyBlbmFibGUgYWxsIGZvcm1zXG4gICAgICAgIHRoaXMuZm9ybXNTZXJ2aWNlLkRpc2FibGVGb3JtcyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIEZvcm0gdmFsdWUgcmVmZXJlbmNlXG4gICAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlVmFsdWVSZWYoKTogdm9pZCB7XG5cbiAgICB0aGlzLmZvcm1zU2VydmljZS5VcGRhdGVWYWx1ZXNSZWZlcmVuY2UoXG4gICAgICB7XG4gICAgICAgIElkOiB0aGlzLkZvcm1Db25maWcuRm9ybU5hbWUsXG4gICAgICAgIEZvcm06IHRoaXMuRm9ybUNvbmZpZy5Gb3JtXG4gICAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzYXZlKCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKCdQQVJFTlQgU0FWRScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc2V0Rm9ybSgpOiB2b2lkIHtcblxuICB9XG59XG4iXX0=
|