@lowcodeunit/applications-flow-common 1.33.153-lets-get-social-ish → 1.33.154-social-ish-angular-13-test
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 +65 -0
- package/esm2020/lib/applications-flow.module.mjs +328 -0
- package/esm2020/lib/controls/build-pipeline-form/build-pipeline-form.component.mjs +245 -0
- package/esm2020/lib/controls/devops-source-control-form/devops-source-control-form.component.mjs +446 -0
- package/esm2020/lib/controls/edit-application-form/edit-application-form.component.mjs +67 -0
- package/esm2020/lib/controls/processor-details-form/processor-details-form.component.mjs +318 -0
- package/esm2020/lib/controls/security-toggle/security-toggle.component.mjs +58 -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 +29 -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/source-control-dialog/source-control-dialog.component.mjs +29 -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 +117 -0
- package/esm2020/lib/elements/card-carousel/card-carousel.component.mjs +70 -0
- package/esm2020/lib/elements/dynamic-tabs/dynamic-tabs.component.mjs +74 -0
- package/esm2020/lib/elements/feed-card-sm/feed-card-sm.component.mjs +40 -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 +34 -0
- package/esm2020/lib/elements/project-info-card/project-info-card.component.mjs +60 -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 +98 -0
- package/esm2020/lib/elements/slotted-card/slotted-card.component.mjs +49 -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/{esm2015/lib/services/applications-flow.service.js → esm2020/lib/services/applications-flow.service.mjs} +9 -13
- package/esm2020/lib/services/eac.service.mjs +173 -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 +303 -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 +5570 -0
- package/fesm2015/lowcodeunit-applications-flow-common.mjs.map +1 -0
- package/fesm2020/lowcodeunit-applications-flow-common.mjs +5449 -0
- package/fesm2020/lowcodeunit-applications-flow-common.mjs.map +1 -0
- package/lcu.api.d.ts +39 -13
- package/lib/applications-flow.module.d.ts +53 -1
- package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts +3 -1
- package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts +3 -1
- package/lib/controls/edit-application-form/edit-application-form.component.d.ts +3 -1
- package/lib/controls/processor-details-form/processor-details-form.component.d.ts +3 -1
- package/lib/controls/security-toggle/security-toggle.component.d.ts +3 -1
- package/lib/controls/source-control-form/source-control-form.component.d.ts +3 -1
- package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts +3 -1
- package/lib/dialogs/custom-domain-dialog/custom-domain-dialog.component.d.ts +3 -1
- package/lib/dialogs/edit-application-dialog/edit-application-dialog.component.d.ts +3 -1
- package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts +3 -1
- package/lib/elements/analytics-card/analytics-card.component.d.ts +3 -1
- package/lib/elements/base-form/base-form.component.d.ts +3 -1
- package/lib/elements/breadcrumb/breadcrumb.component.d.ts +3 -1
- package/lib/elements/card-carousel/card-carousel.component.d.ts +3 -1
- package/lib/elements/dynamic-tabs/dynamic-tabs.component.d.ts +3 -1
- package/lib/elements/feed-card-sm/feed-card-sm.component.d.ts +3 -1
- 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 +3 -1
- package/lib/elements/main-feed-card/main-feed-card.component.d.ts +3 -1
- package/lib/elements/project-info-card/project-info-card.component.d.ts +3 -1
- package/lib/elements/projects/controls/builds/builds.component.d.ts +3 -1
- package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts +3 -1
- package/lib/elements/projects/controls/forms/source-control/source-control.component.d.ts +3 -1
- package/lib/elements/projects/controls/git-auth/git-auth.component.d.ts +3 -1
- package/lib/elements/projects/controls/header/header.component.d.ts +3 -1
- package/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts +3 -1
- package/lib/elements/projects/controls/project-items/project-items.component.d.ts +3 -1
- package/lib/elements/projects/controls/project-tabs/project-tabs.component.d.ts +3 -1
- 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 +3 -1
- package/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.d.ts +3 -1
- package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts +3 -1
- package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts +3 -1
- package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts +3 -1
- package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts +3 -1
- package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts +3 -1
- package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts +3 -1
- package/lib/elements/projects/controls/tabs/general/general.component.d.ts +3 -1
- package/lib/elements/projects/projects.component.d.ts +3 -1
- package/lib/elements/slotted-card/slotted-card.component.d.ts +3 -1
- package/lib/elements/three-column/three-column.component.d.ts +3 -1
- package/lib/elements/two-column-header/two-column-header.component.d.ts +3 -1
- 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/services/applications-flow.service.d.ts +3 -1
- package/lib/services/eac.service.d.ts +3 -2
- package/lib/services/forms.service.d.ts +3 -1
- package/lib/services/npm.service.d.ts +3 -1
- package/lib/services/project.service.d.ts +3 -3
- package/lib/state/applications-flow-state.context.d.ts +3 -1
- package/lib/state/applications-flow.state.d.ts +0 -4
- package/lowcodeunit-applications-flow-common.d.ts +1 -25
- package/package.json +20 -12
- package/bundles/lowcodeunit-applications-flow-common.umd.js +0 -6968
- 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 -38
- package/esm2015/lib/applications-flow.module.js +0 -218
- package/esm2015/lib/controls/build-pipeline-form/build-pipeline-form.component.js +0 -210
- package/esm2015/lib/controls/devops-source-control-form/devops-source-control-form.component.js +0 -412
- package/esm2015/lib/controls/edit-application-form/edit-application-form.component.js +0 -60
- package/esm2015/lib/controls/processor-details-form/processor-details-form.component.js +0 -330
- package/esm2015/lib/controls/security-toggle/security-toggle.component.js +0 -51
- package/esm2015/lib/controls/source-control-form/source-control-form.component.js +0 -61
- package/esm2015/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.js +0 -25
- package/esm2015/lib/dialogs/custom-domain-dialog/custom-domain-dialog.component.js +0 -31
- package/esm2015/lib/dialogs/edit-application-dialog/edit-application-dialog.component.js +0 -29
- package/esm2015/lib/dialogs/source-control-dialog/source-control-dialog.component.js +0 -25
- package/esm2015/lib/elements/analytics-card/analytics-card.component.js +0 -21
- package/esm2015/lib/elements/base-form/base-form.component.js +0 -61
- package/esm2015/lib/elements/breadcrumb/breadcrumb.component.js +0 -113
- package/esm2015/lib/elements/card-carousel/card-carousel.component.js +0 -67
- package/esm2015/lib/elements/dynamic-tabs/dynamic-tabs.component.js +0 -69
- package/esm2015/lib/elements/feed-card-sm/feed-card-sm.component.js +0 -31
- package/esm2015/lib/elements/form-card/form-card.component.js +0 -22
- package/esm2015/lib/elements/gh-control/gh-control.component.js +0 -72
- package/esm2015/lib/elements/main-feed-card/main-feed-card.component.js +0 -24
- package/esm2015/lib/elements/project-info-card/project-info-card.component.js +0 -39
- package/esm2015/lib/elements/projects/controls/builds/builds.component.js +0 -26
- package/esm2015/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.js +0 -145
- package/esm2015/lib/elements/projects/controls/forms/source-control/source-control.component.js +0 -262
- package/esm2015/lib/elements/projects/controls/git-auth/git-auth.component.js +0 -25
- package/esm2015/lib/elements/projects/controls/header/header.component.js +0 -75
- package/esm2015/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.js +0 -102
- package/esm2015/lib/elements/projects/controls/project-items/project-items.component.js +0 -49
- package/esm2015/lib/elements/projects/controls/project-tabs/project-tabs.component.js +0 -91
- package/esm2015/lib/elements/projects/controls/recent-activities/recent-activities.component.js +0 -15
- package/esm2015/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.js +0 -590
- package/esm2015/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.js +0 -62
- package/esm2015/lib/elements/projects/controls/tabs/devops/devops.component.js +0 -202
- package/esm2015/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.js +0 -178
- package/esm2015/lib/elements/projects/controls/tabs/domains/domains.component.js +0 -133
- 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 -129
- package/esm2015/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.js +0 -113
- package/esm2015/lib/elements/projects/controls/tabs/general/general.component.js +0 -46
- package/esm2015/lib/elements/projects/projects.component.js +0 -92
- package/esm2015/lib/elements/slotted-card/slotted-card.component.js +0 -30
- package/esm2015/lib/elements/three-column/three-column.component.js +0 -32
- package/esm2015/lib/elements/two-column-header/two-column-header.component.js +0 -15
- 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/models/user-feed.model.js +0 -12
- package/esm2015/lib/services/eac.service.js +0 -223
- package/esm2015/lib/services/forms.service.js +0 -131
- package/esm2015/lib/services/npm.service.js +0 -79
- package/esm2015/lib/services/project.service.js +0 -340
- package/esm2015/lib/state/applications-flow-state.context.js +0 -37
- package/esm2015/lib/state/applications-flow.state.js +0 -72
- package/esm2015/lowcodeunit-applications-flow-common.js +0 -29
- package/fesm2015/lowcodeunit-applications-flow-common.js +0 -5364
- 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/controls/build-pipeline-form/build-pipeline-form.component.d.ts.map +0 -1
- package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts.map +0 -1
- package/lib/controls/edit-application-form/edit-application-form.component.d.ts.map +0 -1
- package/lib/controls/processor-details-form/processor-details-form.component.d.ts.map +0 -1
- package/lib/controls/security-toggle/security-toggle.component.d.ts.map +0 -1
- package/lib/controls/source-control-form/source-control-form.component.d.ts.map +0 -1
- package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts.map +0 -1
- package/lib/dialogs/custom-domain-dialog/custom-domain-dialog.component.d.ts.map +0 -1
- package/lib/dialogs/edit-application-dialog/edit-application-dialog.component.d.ts.map +0 -1
- package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts.map +0 -1
- package/lib/elements/analytics-card/analytics-card.component.d.ts.map +0 -1
- package/lib/elements/base-form/base-form.component.d.ts.map +0 -1
- package/lib/elements/breadcrumb/breadcrumb.component.d.ts.map +0 -1
- package/lib/elements/card-carousel/card-carousel.component.d.ts.map +0 -1
- package/lib/elements/dynamic-tabs/dynamic-tabs.component.d.ts.map +0 -1
- package/lib/elements/feed-card-sm/feed-card-sm.component.d.ts.map +0 -1
- package/lib/elements/form-card/form-card.component.d.ts.map +0 -1
- package/lib/elements/gh-control/gh-control.component.d.ts.map +0 -1
- package/lib/elements/main-feed-card/main-feed-card.component.d.ts.map +0 -1
- package/lib/elements/project-info-card/project-info-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/forms/source-control/source-control.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-items/project-items.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/apps-flow/apps-flow.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts.map +0 -1
- package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.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/general.component.d.ts.map +0 -1
- package/lib/elements/projects/projects.component.d.ts.map +0 -1
- package/lib/elements/slotted-card/slotted-card.component.d.ts.map +0 -1
- package/lib/elements/three-column/three-column.component.d.ts.map +0 -1
- package/lib/elements/two-column-header/two-column-header.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/models/user-feed.model.d.ts +0 -42
- package/lib/models/user-feed.model.d.ts.map +0 -1
- package/lib/services/applications-flow.service.d.ts.map +0 -1
- package/lib/services/eac.service.d.ts.map +0 -1
- package/lib/services/forms.service.d.ts.map +0 -1
- package/lib/services/npm.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,223 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { ProjectService } from './project.service';
|
|
4
|
-
import { ApplicationsFlowState, } from '../state/applications-flow.state';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./project.service";
|
|
7
|
-
export class SaveApplicationAsCodeEventRequest {
|
|
8
|
-
}
|
|
9
|
-
export class SaveDFSModifierEventRequest {
|
|
10
|
-
}
|
|
11
|
-
export class SaveEnvironmentAsCodeEventRequest {
|
|
12
|
-
}
|
|
13
|
-
export class SaveProjectAsCodeEventRequest {
|
|
14
|
-
}
|
|
15
|
-
export class EaCService {
|
|
16
|
-
// Constructors
|
|
17
|
-
constructor(projectService) {
|
|
18
|
-
this.projectService = projectService;
|
|
19
|
-
this.State = new ApplicationsFlowState();
|
|
20
|
-
}
|
|
21
|
-
// API Methods
|
|
22
|
-
get CreatingProject() {
|
|
23
|
-
return this.projectService.CreatingProject;
|
|
24
|
-
}
|
|
25
|
-
DeleteApplication(appLookup, appName) {
|
|
26
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
if (confirm(`Are you sure you want to delete application '${appName}'?`)) {
|
|
28
|
-
yield this.projectService.DeleteApplication(this.State, appLookup);
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
DeleteDevOpsAction(doaLookup) {
|
|
33
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
if (confirm(`Are you sure you want to delete DevOps action '${doaLookup}'?`)) {
|
|
35
|
-
yield this.projectService.DeleteDevOpsAction(this.State, doaLookup);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
DeleteProject(projectLookup) {
|
|
40
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
if (confirm(`Are you sure you want to delete Project '${projectLookup}'?`)) {
|
|
42
|
-
yield this.projectService.DeleteProject(this.State, projectLookup);
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
DeleteSourceControl(scLookup) {
|
|
47
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
-
if (confirm(`Are you sure you want to delete Source Control '${scLookup}'?`)) {
|
|
49
|
-
yield this.projectService.DeleteSourceControl(this.State, scLookup);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
// this.appsFlowEventsSvc.EnsureUserEnterpriseEvent.subscribe(async () => {
|
|
54
|
-
// await this.projectService.EnsureUserEnterprise(this.State);
|
|
55
|
-
// });
|
|
56
|
-
EnsureUserEnterprise() {
|
|
57
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
yield this.projectService.EnsureUserEnterprise(this.State);
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
GetActiveEnterprise() {
|
|
62
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
-
yield this.projectService.GetActiveEnterprise(this.State);
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
get EditingProjectLookup() {
|
|
67
|
-
return this.projectService.EditingProjectLookup;
|
|
68
|
-
}
|
|
69
|
-
HasValidConnection() {
|
|
70
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
-
yield this.projectService.HasValidConnection(this.State);
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
ListEnterprises() {
|
|
75
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
-
yield this.projectService.ListEnterprises(this.State);
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
LoadEnterpriseAsCode() {
|
|
80
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
-
yield this.projectService.LoadEnterpriseAsCode(this.State);
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
SaveApplicationAsCode(req) {
|
|
85
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
86
|
-
yield this.handleSaveApplication(req);
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
SaveDFSModifier(req) {
|
|
90
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
-
yield this.handleSaveDFSModifier(req);
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
SaveEnterpriseAsCode(eac) {
|
|
95
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
-
yield this.projectService.SaveEnterpriseAsCode(this.State, eac);
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
SaveEnvironmentAsCode(req) {
|
|
100
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
101
|
-
yield this.handleSaveEnvironment(req);
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
SaveProjectAsCode(req) {
|
|
105
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
106
|
-
yield this.handleSaveProject(req.ProjectLookup, req.Project);
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
SetActiveEnterprise(eventValue) {
|
|
110
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
-
this.projectService.SetActiveEnterprise(this.State, eventValue);
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
SetCreatingProject(creatingProject) {
|
|
115
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
116
|
-
this.projectService.SetCreatingProject(creatingProject);
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
SetEditProjectSettings(projectLookup) {
|
|
120
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
-
yield this.projectService.SetEditProjectSettings(this.State, projectLookup);
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
UnpackLowCodeUnit(req) {
|
|
125
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
126
|
-
if (confirm(`Are you sure you want to unpack application '${req.ApplicationName}' with version '${req.Version}'?`)) {
|
|
127
|
-
yield this.projectService.UnpackLowCodeUnit(this.State, req);
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
UserFeed(page, pageSize) {
|
|
132
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
-
yield this.projectService.UserFeed(page, pageSize, this.State);
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
// Helpers
|
|
137
|
-
handleSaveApplication(req) {
|
|
138
|
-
var _a;
|
|
139
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
140
|
-
const saveEaC = {
|
|
141
|
-
EnterpriseLookup: this.State.EaC.EnterpriseLookup,
|
|
142
|
-
Applications: {},
|
|
143
|
-
Projects: {},
|
|
144
|
-
};
|
|
145
|
-
const existingProj = Object.assign({}, this.State.EaC.Projects[req.ProjectLookup]);
|
|
146
|
-
if (((_a = existingProj.ApplicationLookups) === null || _a === void 0 ? void 0 : _a.indexOf(req.ApplicationLookup)) < 0) {
|
|
147
|
-
if (!existingProj.ApplicationLookups) {
|
|
148
|
-
existingProj.ApplicationLookups = [];
|
|
149
|
-
}
|
|
150
|
-
existingProj.ApplicationLookups.push(req.ApplicationLookup);
|
|
151
|
-
saveEaC.Projects[req.ProjectLookup] = existingProj;
|
|
152
|
-
}
|
|
153
|
-
if (req.Application) {
|
|
154
|
-
saveEaC.Applications[req.ApplicationLookup] = req.Application;
|
|
155
|
-
}
|
|
156
|
-
yield this.projectService.SaveEnterpriseAsCode(this.State, saveEaC);
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
handleSaveDFSModifier(req) {
|
|
160
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
161
|
-
const saveEaC = {
|
|
162
|
-
EnterpriseLookup: this.State.EaC.EnterpriseLookup,
|
|
163
|
-
Modifiers: {},
|
|
164
|
-
Projects: {},
|
|
165
|
-
};
|
|
166
|
-
if (req.Modifier) {
|
|
167
|
-
saveEaC.Modifiers[req.ModifierLookup] = req.Modifier;
|
|
168
|
-
}
|
|
169
|
-
if (req.ProjectLookup) {
|
|
170
|
-
saveEaC.Projects[req.ProjectLookup] = {
|
|
171
|
-
ModifierLookups: [req.ModifierLookup],
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
yield this.projectService.SaveEnterpriseAsCode(this.State, saveEaC);
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
handleSaveEnvironment(req) {
|
|
178
|
-
var _a, _b;
|
|
179
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
180
|
-
const saveEaC = {
|
|
181
|
-
EnterpriseLookup: (_b = (_a = this.State) === null || _a === void 0 ? void 0 : _a.EaC) === null || _b === void 0 ? void 0 : _b.EnterpriseLookup,
|
|
182
|
-
DataTokens: {},
|
|
183
|
-
Environments: {},
|
|
184
|
-
};
|
|
185
|
-
if (req.Environment) {
|
|
186
|
-
saveEaC.Environments[req.EnvironmentLookup] = req.Environment;
|
|
187
|
-
}
|
|
188
|
-
if (req.EnterpriseDataTokens) {
|
|
189
|
-
saveEaC.DataTokens = req.EnterpriseDataTokens;
|
|
190
|
-
}
|
|
191
|
-
yield this.projectService.SaveEnterpriseAsCode(this.State, saveEaC);
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
handleSaveProject(projectLookup, project) {
|
|
195
|
-
var _a;
|
|
196
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
197
|
-
const projHosts = {};
|
|
198
|
-
(_a = project === null || project === void 0 ? void 0 : project.Hosts) === null || _a === void 0 ? void 0 : _a.forEach((host) => {
|
|
199
|
-
projHosts[host] = this.State.EaC.Hosts[host];
|
|
200
|
-
});
|
|
201
|
-
const saveEaC = {
|
|
202
|
-
EnterpriseLookup: this.State.EaC.EnterpriseLookup,
|
|
203
|
-
Enterprise: Object.assign(Object.assign({}, this.State.EaC.Enterprise), { PrimaryHost: project.Hosts[0] }),
|
|
204
|
-
Hosts: projHosts,
|
|
205
|
-
// Providers: this.State.EaC.Providers, // TODO: Remove after all providers ADB2C's have been upgraded
|
|
206
|
-
Projects: {},
|
|
207
|
-
};
|
|
208
|
-
saveEaC.Projects[projectLookup] = project;
|
|
209
|
-
yield this.projectService.SaveEnterpriseAsCode(this.State, saveEaC);
|
|
210
|
-
this.SetEditProjectSettings(projectLookup);
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
EaCService.ɵprov = i0.ɵɵdefineInjectable({ factory: function EaCService_Factory() { return new EaCService(i0.ɵɵinject(i1.ProjectService)); }, token: EaCService, providedIn: "root" });
|
|
215
|
-
EaCService.decorators = [
|
|
216
|
-
{ type: Injectable, args: [{
|
|
217
|
-
providedIn: 'root',
|
|
218
|
-
},] }
|
|
219
|
-
];
|
|
220
|
-
EaCService.ctorParameters = () => [
|
|
221
|
-
{ type: ProjectService }
|
|
222
|
-
];
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFjLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvYXBwbGljYXRpb25zLWZsb3cvYXBwbGljYXRpb25zLWZsb3cvcHJvamVjdHMvY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9lYWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUNMLHFCQUFxQixHQUV0QixNQUFNLGtDQUFrQyxDQUFDOzs7QUFXMUMsTUFBTSxPQUFPLGlDQUFpQztDQU03QztBQUVELE1BQU0sT0FBTywyQkFBMkI7Q0FNdkM7QUFFRCxNQUFNLE9BQU8saUNBQWlDO0NBTTdDO0FBRUQsTUFBTSxPQUFPLDZCQUE2QjtDQUl6QztBQUtELE1BQU0sT0FBTyxVQUFVO0lBSXJCLGdCQUFnQjtJQUNoQixZQUFzQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELGVBQWU7SUFFZixJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQztJQUM3QyxDQUFDO0lBRVksaUJBQWlCLENBQzVCLFNBQWlCLEVBQ2pCLE9BQWU7O1lBRWYsSUFBSSxPQUFPLENBQUMsZ0RBQWdELE9BQU8sSUFBSSxDQUFDLEVBQUU7Z0JBQ3hFLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ3BFO1FBQ0gsQ0FBQztLQUFBO0lBRVksa0JBQWtCLENBQUMsU0FBaUI7O1lBQy9DLElBQ0UsT0FBTyxDQUFDLGtEQUFrRCxTQUFTLElBQUksQ0FBQyxFQUN4RTtnQkFDQSxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQzthQUNyRTtRQUNILENBQUM7S0FBQTtJQUVZLGFBQWEsQ0FBQyxhQUFxQjs7WUFDOUMsSUFDRSxPQUFPLENBQUMsNENBQTRDLGFBQWEsSUFBSSxDQUFDLEVBQ3RFO2dCQUNBLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQzthQUNwRTtRQUNILENBQUM7S0FBQTtJQUVZLG1CQUFtQixDQUFDLFFBQWdCOztZQUMvQyxJQUNFLE9BQU8sQ0FBQyxtREFBbUQsUUFBUSxJQUFJLENBQUMsRUFDeEU7Z0JBQ0EsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDckU7UUFDSCxDQUFDO0tBQUE7SUFFRCwyRUFBMkU7SUFDM0UsZ0VBQWdFO0lBQ2hFLE1BQU07SUFFTyxvQkFBb0I7O1lBQy9CLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUFBO0lBRVksbUJBQW1COztZQUM5QixNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVELENBQUM7S0FBQTtJQUVELElBQVcsb0JBQW9CO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQztJQUNsRCxDQUFDO0lBRVksa0JBQWtCOztZQUM3QixNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELENBQUM7S0FBQTtJQUVZLGVBQWU7O1lBQzFCLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hELENBQUM7S0FBQTtJQUVZLG9CQUFvQjs7WUFDL0IsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3RCxDQUFDO0tBQUE7SUFFWSxxQkFBcUIsQ0FDaEMsR0FBc0M7O1lBRXRDLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7S0FBQTtJQUVZLGVBQWUsQ0FDMUIsR0FBZ0M7O1lBRWhDLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7S0FBQTtJQUVZLG9CQUFvQixDQUFDLEdBQXFCOztZQUNyRCxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNsRSxDQUFDO0tBQUE7SUFFWSxxQkFBcUIsQ0FDaEMsR0FBc0M7O1lBRXRDLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7S0FBQTtJQUVZLGlCQUFpQixDQUM1QixHQUFrQzs7WUFFbEMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0QsQ0FBQztLQUFBO0lBRVksbUJBQW1CLENBQUMsVUFBZTs7WUFDOUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7S0FBQTtJQUVZLGtCQUFrQixDQUFDLGVBQXdCOztZQUN0RCxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFELENBQUM7S0FBQTtJQUVZLHNCQUFzQixDQUFDLGFBQXFCOztZQUN2RCxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM5RSxDQUFDO0tBQUE7SUFFWSxpQkFBaUIsQ0FBQyxHQUE2Qjs7WUFDMUQsSUFDRSxPQUFPLENBQ0wsZ0RBQWdELEdBQUcsQ0FBQyxlQUFlLG1CQUFtQixHQUFHLENBQUMsT0FBTyxJQUFJLENBQ3RHLEVBQ0Q7Z0JBQ0EsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDOUQ7UUFDSCxDQUFDO0tBQUE7SUFFWSxRQUFRLENBQUMsSUFBWSxFQUFFLFFBQWdCOztZQUNsRCxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLENBQUM7S0FBQTtJQUVELFdBQVc7SUFDSyxxQkFBcUIsQ0FDbkMsR0FBc0M7OztZQUV0QyxNQUFNLE9BQU8sR0FBcUI7Z0JBQ2hDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGdCQUFnQjtnQkFDakQsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLFFBQVEsRUFBRSxFQUFFO2FBQ2IsQ0FBQztZQUVGLE1BQU0sWUFBWSxxQkFDYixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUM5QyxDQUFDO1lBRUYsSUFBSSxPQUFBLFlBQVksQ0FBQyxrQkFBa0IsMENBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsS0FBSSxDQUFDLEVBQUU7Z0JBQ3ZFLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUU7b0JBQ3BDLFlBQVksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7aUJBQ3RDO2dCQUVELFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBRTVELE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxHQUFHLFlBQVksQ0FBQzthQUNwRDtZQUVELElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRTtnQkFDbkIsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO2FBQy9EO1lBRUQsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7O0tBQ3JFO0lBRWUscUJBQXFCLENBQ25DLEdBQWdDOztZQUVoQyxNQUFNLE9BQU8sR0FBcUI7Z0JBQ2hDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGdCQUFnQjtnQkFDakQsU0FBUyxFQUFFLEVBQUU7Z0JBQ2IsUUFBUSxFQUFFLEVBQUU7YUFDYixDQUFDO1lBRUYsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFO2dCQUNoQixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO2FBQ3REO1lBRUQsSUFBSSxHQUFHLENBQUMsYUFBYSxFQUFFO2dCQUNyQixPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRztvQkFDcEMsZUFBZSxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztpQkFDdEMsQ0FBQzthQUNIO1lBRUQsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEUsQ0FBQztLQUFBO0lBRWUscUJBQXFCLENBQ25DLEdBQXNDOzs7WUFFdEMsTUFBTSxPQUFPLEdBQXFCO2dCQUNoQyxnQkFBZ0IsY0FBRSxJQUFJLENBQUMsS0FBSywwQ0FBRSxHQUFHLDBDQUFFLGdCQUFnQjtnQkFDbkQsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsWUFBWSxFQUFFLEVBQUU7YUFDakIsQ0FBQztZQUVGLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRTtnQkFDbkIsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO2FBQy9EO1lBRUQsSUFBSSxHQUFHLENBQUMsb0JBQW9CLEVBQUU7Z0JBQzVCLE9BQU8sQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLG9CQUFvQixDQUFDO2FBQy9DO1lBRUQsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7O0tBQ3JFO0lBRWUsaUJBQWlCLENBQy9CLGFBQXFCLEVBQ3JCLE9BQXlCOzs7WUFFekIsTUFBTSxTQUFTLEdBQWtDLEVBQUUsQ0FBQztZQUVwRCxNQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxLQUFLLDBDQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUMvQixTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9DLENBQUMsRUFBRTtZQUVILE1BQU0sT0FBTyxHQUFxQjtnQkFDaEMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsZ0JBQWdCO2dCQUNqRCxVQUFVLGtDQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsS0FDNUIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQzlCO2dCQUNELEtBQUssRUFBRSxTQUFTO2dCQUNoQix5R0FBeUc7Z0JBQ3pHLFFBQVEsRUFBRSxFQUFFO2FBQ2IsQ0FBQztZQUVGLE9BQU8sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsT0FBTyxDQUFDO1lBRTFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRXBFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsQ0FBQzs7S0FDNUM7Ozs7WUF4T0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUEvQ1EsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2plY3RTZXJ2aWNlIH0gZnJvbSAnLi9wcm9qZWN0LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25zRmxvd1N0YXRlLFxuICBVbnBhY2tMb3dDb2RlVW5pdFJlcXVlc3QsXG59IGZyb20gJy4uL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcbmltcG9ydCB7XG4gIEVhQ0FwcGxpY2F0aW9uQXNDb2RlLFxuICBFYUNEYXRhVG9rZW4sXG4gIEVhQ0RGU01vZGlmaWVyLFxuICBFYUNFbnZpcm9ubWVudEFzQ29kZSxcbiAgRWFDSG9zdCxcbiAgRWFDUHJvamVjdEFzQ29kZSxcbiAgRW50ZXJwcmlzZUFzQ29kZSxcbn0gZnJvbSAnQHNlbWFudGljanMvY29tbW9uJztcblxuZXhwb3J0IGNsYXNzIFNhdmVBcHBsaWNhdGlvbkFzQ29kZUV2ZW50UmVxdWVzdCB7XG4gIHB1YmxpYyBBcHBsaWNhdGlvbj86IEVhQ0FwcGxpY2F0aW9uQXNDb2RlO1xuXG4gIHB1YmxpYyBBcHBsaWNhdGlvbkxvb2t1cD86IHN0cmluZztcblxuICBwdWJsaWMgUHJvamVjdExvb2t1cD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFNhdmVERlNNb2RpZmllckV2ZW50UmVxdWVzdCB7XG4gIHB1YmxpYyBNb2RpZmllcjogRWFDREZTTW9kaWZpZXI7XG5cbiAgcHVibGljIE1vZGlmaWVyTG9va3VwOiBzdHJpbmc7XG5cbiAgcHVibGljIFByb2plY3RMb29rdXA/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBTYXZlRW52aXJvbm1lbnRBc0NvZGVFdmVudFJlcXVlc3Qge1xuICBwdWJsaWMgRW50ZXJwcmlzZURhdGFUb2tlbnM/OiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0RhdGFUb2tlbiB9O1xuXG4gIHB1YmxpYyBFbnZpcm9ubWVudD86IEVhQ0Vudmlyb25tZW50QXNDb2RlO1xuXG4gIHB1YmxpYyBFbnZpcm9ubWVudExvb2t1cD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFNhdmVQcm9qZWN0QXNDb2RlRXZlbnRSZXF1ZXN0IHtcbiAgcHVibGljIFByb2plY3Q/OiBFYUNQcm9qZWN0QXNDb2RlO1xuXG4gIHB1YmxpYyBQcm9qZWN0TG9va3VwPzogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRWFDU2VydmljZSB7XG4gIC8vICBQcm9wZXJ0aWVzXG4gIHB1YmxpYyBTdGF0ZTogQXBwbGljYXRpb25zRmxvd1N0YXRlO1xuXG4gIC8vICBDb25zdHJ1Y3RvcnNcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHByb2plY3RTZXJ2aWNlOiBQcm9qZWN0U2VydmljZSkge1xuICAgIHRoaXMuU3RhdGUgPSBuZXcgQXBwbGljYXRpb25zRmxvd1N0YXRlKCk7XG4gIH1cblxuICAvLyAgQVBJIE1ldGhvZHNcblxuICBwdWJsaWMgZ2V0IENyZWF0aW5nUHJvamVjdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wcm9qZWN0U2VydmljZS5DcmVhdGluZ1Byb2plY3Q7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgRGVsZXRlQXBwbGljYXRpb24oXG4gICAgYXBwTG9va3VwOiBzdHJpbmcsXG4gICAgYXBwTmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChjb25maXJtKGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIGFwcGxpY2F0aW9uICcke2FwcE5hbWV9Jz9gKSkge1xuICAgICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5EZWxldGVBcHBsaWNhdGlvbih0aGlzLlN0YXRlLCBhcHBMb29rdXApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBEZWxldGVEZXZPcHNBY3Rpb24oZG9hTG9va3VwOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoXG4gICAgICBjb25maXJtKGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIERldk9wcyBhY3Rpb24gJyR7ZG9hTG9va3VwfSc/YClcbiAgICApIHtcbiAgICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuRGVsZXRlRGV2T3BzQWN0aW9uKHRoaXMuU3RhdGUsIGRvYUxvb2t1cCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIERlbGV0ZVByb2plY3QocHJvamVjdExvb2t1cDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKFxuICAgICAgY29uZmlybShgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBQcm9qZWN0ICcke3Byb2plY3RMb29rdXB9Jz9gKVxuICAgICkge1xuICAgICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5EZWxldGVQcm9qZWN0KHRoaXMuU3RhdGUsIHByb2plY3RMb29rdXApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBEZWxldGVTb3VyY2VDb250cm9sKHNjTG9va3VwOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoXG4gICAgICBjb25maXJtKGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIFNvdXJjZSBDb250cm9sICcke3NjTG9va3VwfSc/YClcbiAgICApIHtcbiAgICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuRGVsZXRlU291cmNlQ29udHJvbCh0aGlzLlN0YXRlLCBzY0xvb2t1cCk7XG4gICAgfVxuICB9XG5cbiAgLy8gdGhpcy5hcHBzRmxvd0V2ZW50c1N2Yy5FbnN1cmVVc2VyRW50ZXJwcmlzZUV2ZW50LnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gIC8vICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5FbnN1cmVVc2VyRW50ZXJwcmlzZSh0aGlzLlN0YXRlKTtcbiAgLy8gfSk7XG5cbiAgcHVibGljIGFzeW5jIEVuc3VyZVVzZXJFbnRlcnByaXNlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuRW5zdXJlVXNlckVudGVycHJpc2UodGhpcy5TdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgR2V0QWN0aXZlRW50ZXJwcmlzZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLkdldEFjdGl2ZUVudGVycHJpc2UodGhpcy5TdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IEVkaXRpbmdQcm9qZWN0TG9va3VwKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvamVjdFNlcnZpY2UuRWRpdGluZ1Byb2plY3RMb29rdXA7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgSGFzVmFsaWRDb25uZWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuSGFzVmFsaWRDb25uZWN0aW9uKHRoaXMuU3RhdGUpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIExpc3RFbnRlcnByaXNlcygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLkxpc3RFbnRlcnByaXNlcyh0aGlzLlN0YXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBMb2FkRW50ZXJwcmlzZUFzQ29kZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLkxvYWRFbnRlcnByaXNlQXNDb2RlKHRoaXMuU3RhdGUpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFNhdmVBcHBsaWNhdGlvbkFzQ29kZShcbiAgICByZXE6IFNhdmVBcHBsaWNhdGlvbkFzQ29kZUV2ZW50UmVxdWVzdFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmhhbmRsZVNhdmVBcHBsaWNhdGlvbihyZXEpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFNhdmVERlNNb2RpZmllcihcbiAgICByZXE6IFNhdmVERlNNb2RpZmllckV2ZW50UmVxdWVzdFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmhhbmRsZVNhdmVERlNNb2RpZmllcihyZXEpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIFNhdmVFbnRlcnByaXNlQXNDb2RlKGVhYzogRW50ZXJwcmlzZUFzQ29kZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuU2F2ZUVudGVycHJpc2VBc0NvZGUodGhpcy5TdGF0ZSwgZWFjKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBTYXZlRW52aXJvbm1lbnRBc0NvZGUoXG4gICAgcmVxOiBTYXZlRW52aXJvbm1lbnRBc0NvZGVFdmVudFJlcXVlc3RcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5oYW5kbGVTYXZlRW52aXJvbm1lbnQocmVxKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBTYXZlUHJvamVjdEFzQ29kZShcbiAgICByZXE6IFNhdmVQcm9qZWN0QXNDb2RlRXZlbnRSZXF1ZXN0XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuaGFuZGxlU2F2ZVByb2plY3QocmVxLlByb2plY3RMb29rdXAsIHJlcS5Qcm9qZWN0KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBTZXRBY3RpdmVFbnRlcnByaXNlKGV2ZW50VmFsdWU6IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMucHJvamVjdFNlcnZpY2UuU2V0QWN0aXZlRW50ZXJwcmlzZSh0aGlzLlN0YXRlLCBldmVudFZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBTZXRDcmVhdGluZ1Byb2plY3QoY3JlYXRpbmdQcm9qZWN0OiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5wcm9qZWN0U2VydmljZS5TZXRDcmVhdGluZ1Byb2plY3QoY3JlYXRpbmdQcm9qZWN0KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBTZXRFZGl0UHJvamVjdFNldHRpbmdzKHByb2plY3RMb29rdXA6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuU2V0RWRpdFByb2plY3RTZXR0aW5ncyh0aGlzLlN0YXRlLCBwcm9qZWN0TG9va3VwKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBVbnBhY2tMb3dDb2RlVW5pdChyZXE6IFVucGFja0xvd0NvZGVVbml0UmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChcbiAgICAgIGNvbmZpcm0oXG4gICAgICAgIGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdW5wYWNrIGFwcGxpY2F0aW9uICcke3JlcS5BcHBsaWNhdGlvbk5hbWV9JyB3aXRoIHZlcnNpb24gJyR7cmVxLlZlcnNpb259Jz9gXG4gICAgICApXG4gICAgKSB7XG4gICAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLlVucGFja0xvd0NvZGVVbml0KHRoaXMuU3RhdGUsIHJlcSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIFVzZXJGZWVkKHBhZ2U6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuVXNlckZlZWQocGFnZSwgcGFnZVNpemUsIHRoaXMuU3RhdGUpO1xuICB9XG5cbiAgLy8gIEhlbHBlcnNcbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVBcHBsaWNhdGlvbihcbiAgICByZXE6IFNhdmVBcHBsaWNhdGlvbkFzQ29kZUV2ZW50UmVxdWVzdFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzYXZlRWFDOiBFbnRlcnByaXNlQXNDb2RlID0ge1xuICAgICAgRW50ZXJwcmlzZUxvb2t1cDogdGhpcy5TdGF0ZS5FYUMuRW50ZXJwcmlzZUxvb2t1cCxcbiAgICAgIEFwcGxpY2F0aW9uczoge30sXG4gICAgICBQcm9qZWN0czoge30sXG4gICAgfTtcblxuICAgIGNvbnN0IGV4aXN0aW5nUHJvaiA9IHtcbiAgICAgIC4uLnRoaXMuU3RhdGUuRWFDLlByb2plY3RzW3JlcS5Qcm9qZWN0TG9va3VwXSxcbiAgICB9O1xuXG4gICAgaWYgKGV4aXN0aW5nUHJvai5BcHBsaWNhdGlvbkxvb2t1cHM/LmluZGV4T2YocmVxLkFwcGxpY2F0aW9uTG9va3VwKSA8IDApIHtcbiAgICAgIGlmICghZXhpc3RpbmdQcm9qLkFwcGxpY2F0aW9uTG9va3Vwcykge1xuICAgICAgICBleGlzdGluZ1Byb2ouQXBwbGljYXRpb25Mb29rdXBzID0gW107XG4gICAgICB9XG5cbiAgICAgIGV4aXN0aW5nUHJvai5BcHBsaWNhdGlvbkxvb2t1cHMucHVzaChyZXEuQXBwbGljYXRpb25Mb29rdXApO1xuXG4gICAgICBzYXZlRWFDLlByb2plY3RzW3JlcS5Qcm9qZWN0TG9va3VwXSA9IGV4aXN0aW5nUHJvajtcbiAgICB9XG5cbiAgICBpZiAocmVxLkFwcGxpY2F0aW9uKSB7XG4gICAgICBzYXZlRWFDLkFwcGxpY2F0aW9uc1tyZXEuQXBwbGljYXRpb25Mb29rdXBdID0gcmVxLkFwcGxpY2F0aW9uO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMucHJvamVjdFNlcnZpY2UuU2F2ZUVudGVycHJpc2VBc0NvZGUodGhpcy5TdGF0ZSwgc2F2ZUVhQyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlU2F2ZURGU01vZGlmaWVyKFxuICAgIHJlcTogU2F2ZURGU01vZGlmaWVyRXZlbnRSZXF1ZXN0XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHNhdmVFYUM6IEVudGVycHJpc2VBc0NvZGUgPSB7XG4gICAgICBFbnRlcnByaXNlTG9va3VwOiB0aGlzLlN0YXRlLkVhQy5FbnRlcnByaXNlTG9va3VwLFxuICAgICAgTW9kaWZpZXJzOiB7fSxcbiAgICAgIFByb2plY3RzOiB7fSxcbiAgICB9O1xuXG4gICAgaWYgKHJlcS5Nb2RpZmllcikge1xuICAgICAgc2F2ZUVhQy5Nb2RpZmllcnNbcmVxLk1vZGlmaWVyTG9va3VwXSA9IHJlcS5Nb2RpZmllcjtcbiAgICB9XG5cbiAgICBpZiAocmVxLlByb2plY3RMb29rdXApIHtcbiAgICAgIHNhdmVFYUMuUHJvamVjdHNbcmVxLlByb2plY3RMb29rdXBdID0ge1xuICAgICAgICBNb2RpZmllckxvb2t1cHM6IFtyZXEuTW9kaWZpZXJMb29rdXBdLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLlNhdmVFbnRlcnByaXNlQXNDb2RlKHRoaXMuU3RhdGUsIHNhdmVFYUMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVFbnZpcm9ubWVudChcbiAgICByZXE6IFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzYXZlRWFDOiBFbnRlcnByaXNlQXNDb2RlID0ge1xuICAgICAgRW50ZXJwcmlzZUxvb2t1cDogdGhpcy5TdGF0ZT8uRWFDPy5FbnRlcnByaXNlTG9va3VwLFxuICAgICAgRGF0YVRva2Vuczoge30sXG4gICAgICBFbnZpcm9ubWVudHM6IHt9LFxuICAgIH07XG5cbiAgICBpZiAocmVxLkVudmlyb25tZW50KSB7XG4gICAgICBzYXZlRWFDLkVudmlyb25tZW50c1tyZXEuRW52aXJvbm1lbnRMb29rdXBdID0gcmVxLkVudmlyb25tZW50O1xuICAgIH1cblxuICAgIGlmIChyZXEuRW50ZXJwcmlzZURhdGFUb2tlbnMpIHtcbiAgICAgIHNhdmVFYUMuRGF0YVRva2VucyA9IHJlcS5FbnRlcnByaXNlRGF0YVRva2VucztcbiAgICB9XG5cbiAgICBhd2FpdCB0aGlzLnByb2plY3RTZXJ2aWNlLlNhdmVFbnRlcnByaXNlQXNDb2RlKHRoaXMuU3RhdGUsIHNhdmVFYUMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVNhdmVQcm9qZWN0KFxuICAgIHByb2plY3RMb29rdXA6IHN0cmluZyxcbiAgICBwcm9qZWN0OiBFYUNQcm9qZWN0QXNDb2RlXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHByb2pIb3N0czogeyBbbG9va3VwOiBzdHJpbmddOiBFYUNIb3N0IH0gPSB7fTtcblxuICAgIHByb2plY3Q/Lkhvc3RzPy5mb3JFYWNoKChob3N0KSA9PiB7XG4gICAgICBwcm9qSG9zdHNbaG9zdF0gPSB0aGlzLlN0YXRlLkVhQy5Ib3N0c1tob3N0XTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHNhdmVFYUM6IEVudGVycHJpc2VBc0NvZGUgPSB7XG4gICAgICBFbnRlcnByaXNlTG9va3VwOiB0aGlzLlN0YXRlLkVhQy5FbnRlcnByaXNlTG9va3VwLFxuICAgICAgRW50ZXJwcmlzZToge1xuICAgICAgICAuLi50aGlzLlN0YXRlLkVhQy5FbnRlcnByaXNlLFxuICAgICAgICBQcmltYXJ5SG9zdDogcHJvamVjdC5Ib3N0c1swXSxcbiAgICAgIH0sXG4gICAgICBIb3N0czogcHJvakhvc3RzLFxuICAgICAgLy8gUHJvdmlkZXJzOiB0aGlzLlN0YXRlLkVhQy5Qcm92aWRlcnMsICAvLyAgVE9ETzogIFJlbW92ZSBhZnRlciBhbGwgcHJvdmlkZXJzIEFEQjJDJ3MgaGF2ZSBiZWVuIHVwZ3JhZGVkXG4gICAgICBQcm9qZWN0czoge30sXG4gICAgfTtcblxuICAgIHNhdmVFYUMuUHJvamVjdHNbcHJvamVjdExvb2t1cF0gPSBwcm9qZWN0O1xuXG4gICAgYXdhaXQgdGhpcy5wcm9qZWN0U2VydmljZS5TYXZlRW50ZXJwcmlzZUFzQ29kZSh0aGlzLlN0YXRlLCBzYXZlRWFDKTtcblxuICAgIHRoaXMuU2V0RWRpdFByb2plY3RTZXR0aW5ncyhwcm9qZWN0TG9va3VwKTtcbiAgfVxufVxuIl19
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { FormValuesModel } from './../models/form.values.model';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class FormsService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.forms = [];
|
|
8
|
-
this.previousFormValues = [];
|
|
9
|
-
this.FormIsDirty = new Subject();
|
|
10
|
-
}
|
|
11
|
-
set Form(val) {
|
|
12
|
-
if (!val) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
this._form = val;
|
|
16
|
-
this.forms.push(val);
|
|
17
|
-
this.createValuesReference(val);
|
|
18
|
-
}
|
|
19
|
-
get Form() {
|
|
20
|
-
return this._form;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
*
|
|
24
|
-
* @param val as string - enabled form name
|
|
25
|
-
* @param val as boolen - enable/disable all forms
|
|
26
|
-
*
|
|
27
|
-
* Enable / disable forms, use this when a form is being edited and
|
|
28
|
-
* all other forms need to be disabled
|
|
29
|
-
*/
|
|
30
|
-
DisableForms(val) {
|
|
31
|
-
const preventEvent = { onlySelf: true, emitEvent: false };
|
|
32
|
-
this.forms.forEach((form) => {
|
|
33
|
-
if (typeof val === 'boolean') {
|
|
34
|
-
val ? form.Form.disable(preventEvent) : form.Form.enable(preventEvent);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
if (form.Id === val) {
|
|
38
|
-
form.Form.enable(preventEvent);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
form.Form.disable(preventEvent);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Create a reference of initial form data
|
|
48
|
-
* Use this to compare if values really changed, because
|
|
49
|
-
* the user could change values back to the original
|
|
50
|
-
*
|
|
51
|
-
* @param obj form data
|
|
52
|
-
*/
|
|
53
|
-
createValuesReference(val) {
|
|
54
|
-
// const values: Array<{key: string, value: string}> = [];
|
|
55
|
-
const keyValues = {};
|
|
56
|
-
for (const [key, value] of Object.entries(val.Form.controls)) {
|
|
57
|
-
// values.push({key, value: value.value});
|
|
58
|
-
keyValues[key] = value.value;
|
|
59
|
-
}
|
|
60
|
-
// this.formsValues.push(new FormValuesModel(val.Id, val.Form.value));
|
|
61
|
-
this.previousFormValues.push(new FormValuesModel(val.Id, keyValues));
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Update value reference after saves
|
|
65
|
-
*
|
|
66
|
-
* @param val form model with values
|
|
67
|
-
*/
|
|
68
|
-
UpdateValuesReference(val) {
|
|
69
|
-
const index = this.previousFormValues.findIndex((x) => {
|
|
70
|
-
return x.Id === val.Id;
|
|
71
|
-
});
|
|
72
|
-
this.previousFormValues[index].Values = val.Form.value;
|
|
73
|
-
// TODO: look at consolidating updating this.forms and this.previousFormValues - shannon (7-14-21)
|
|
74
|
-
const formIndex = this.forms.findIndex((x) => {
|
|
75
|
-
return x.Id === val.Id;
|
|
76
|
-
});
|
|
77
|
-
this.forms[formIndex] = val;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Reset form values back to previous
|
|
81
|
-
*
|
|
82
|
-
* @param id form id
|
|
83
|
-
*/
|
|
84
|
-
ResetFormValues(id) {
|
|
85
|
-
this.forms.find((form) => {
|
|
86
|
-
if (form.Id === id) {
|
|
87
|
-
form.Form.patchValue(this.GetPreviousFormValues(id).Values);
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
*
|
|
93
|
-
* @param id form id to search for
|
|
94
|
-
*
|
|
95
|
-
* @returns previous form values
|
|
96
|
-
*/
|
|
97
|
-
GetPreviousFormValues(id) {
|
|
98
|
-
return this.previousFormValues.find((x) => {
|
|
99
|
-
return x.Id === id;
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Check for actual form changes, because the user
|
|
104
|
-
* could have canceled or changed the value back to the
|
|
105
|
-
* original
|
|
106
|
-
*
|
|
107
|
-
* @param id form id
|
|
108
|
-
* @param formToCheck form to be tested
|
|
109
|
-
*/
|
|
110
|
-
ForRealThough(id, formToCheck) {
|
|
111
|
-
const formVals = this.previousFormValues.find((x) => {
|
|
112
|
-
return x.Id === id;
|
|
113
|
-
});
|
|
114
|
-
for (const key in formToCheck.controls) {
|
|
115
|
-
if (formToCheck.controls[key].value !== formVals.Values[key]) {
|
|
116
|
-
this.FormIsDirty.next(true);
|
|
117
|
-
return true;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
this.FormIsDirty.next(false);
|
|
121
|
-
return false;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
FormsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FormsService_Factory() { return new FormsService(); }, token: FormsService, providedIn: "root" });
|
|
125
|
-
FormsService.decorators = [
|
|
126
|
-
{ type: Injectable, args: [{
|
|
127
|
-
providedIn: 'root',
|
|
128
|
-
},] }
|
|
129
|
-
];
|
|
130
|
-
FormsService.ctorParameters = () => [];
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9hcHBsaWNhdGlvbnMtZmxvdy9hcHBsaWNhdGlvbnMtZmxvdy9wcm9qZWN0cy9jb21tb24vc3JjLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Zvcm1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNL0IsTUFBTSxPQUFPLFlBQVk7SUF3SnJCO1FBQ0ksSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQXRKRCxJQUFXLElBQUksQ0FBQyxHQUFjO1FBRTFCLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFckIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQWVEOzs7Ozs7O09BT0c7SUFDSSxZQUFZLENBQUMsR0FBcUI7UUFFckMsTUFBTSxZQUFZLEdBQTRDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFFbkcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFlLEVB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RUFBRSxLQUFLLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztRQUVILEtBQUssTUFBTSxHQUFHLElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUNwQyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzFELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM1QixPQUFPLElBQUksQ0FBQzthQUNmO1NBQ0o7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOzs7O1lBMUpKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1WYWx1ZXNNb2RlbCB9IGZyb20gJy4vLi4vbW9kZWxzL2Zvcm0udmFsdWVzLm1vZGVsJztcbmltcG9ydCB7IEZvcm1Nb2RlbCB9IGZyb20gJy4vLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICB9KVxuXG5leHBvcnQgY2xhc3MgRm9ybXNTZXJ2aWNlIHtcblxuICAgIC8qKlxuICAgICAqIExpc3Qgb2YgZm9ybXNcbiAgICAgKi9cbiAgICBwcml2YXRlIF9mb3JtOiBGb3JtTW9kZWw7XG4gICAgcHVibGljIHNldCBGb3JtKHZhbDogRm9ybU1vZGVsKSB7XG5cbiAgICAgICAgaWYgKCF2YWwpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdGhpcy5fZm9ybSA9IHZhbDtcbiAgICAgICAgdGhpcy5mb3Jtcy5wdXNoKHZhbCk7XG4gICAgICAgIHRoaXMuY3JlYXRlVmFsdWVzUmVmZXJlbmNlKHZhbCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBGb3JtKCk6IEZvcm1Nb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb3JtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdoZW4gYW55IGZvcm0gaXMgYmVpbmcgZWRpdGVkXG4gICAgICovXG4gICAgcHVibGljIEZvcm1Jc0RpcnR5OiBTdWJqZWN0PGJvb2xlYW4+O1xuXG4gICAgcHJvdGVjdGVkIGZvcm1zOiBBcnJheTxGb3JtTW9kZWw+O1xuXG4gICAgLyoqXG4gICAgICogU3RvcmFnZSByZWZlcmVuY2UgZm9yIGludGlhbCBmb3JtIHZhbHVlc1xuICAgICAqL1xuICAgIC8vIHB1YmxpYyBmb3Jtc0luaXRpYWxWYWx1ZXM6IEFycmF5PEZvcm1Nb2RlbD47XG4gICAgcHJvdGVjdGVkIHByZXZpb3VzRm9ybVZhbHVlczogQXJyYXk8Rm9ybVZhbHVlc01vZGVsPjtcblxuICAgIC8qKlxuICAgICAqIFxuICAgICAqIEBwYXJhbSB2YWwgYXMgc3RyaW5nIC0gZW5hYmxlZCBmb3JtIG5hbWVcbiAgICAgKiBAcGFyYW0gdmFsIGFzIGJvb2xlbiAtIGVuYWJsZS9kaXNhYmxlIGFsbCBmb3Jtc1xuICAgICAqIFxuICAgICAqIEVuYWJsZSAvIGRpc2FibGUgZm9ybXMsIHVzZSB0aGlzIHdoZW4gYSBmb3JtIGlzIGJlaW5nIGVkaXRlZCBhbmQgXG4gICAgICogYWxsIG90aGVyIGZvcm1zIG5lZWQgdG8gYmUgZGlzYWJsZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgRGlzYWJsZUZvcm1zKHZhbDogc3RyaW5nIHwgYm9vbGVhbik6IHZvaWQge1xuXG4gICAgICAgIGNvbnN0IHByZXZlbnRFdmVudDoge29ubHlTZWxmOiBib29sZWFuLCBlbWl0RXZlbnQ6IGJvb2xlYW59ID0geyBvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZSB9O1xuXG4gICAgICAgIHRoaXMuZm9ybXMuZm9yRWFjaCgoZm9ybTogRm9ybU1vZGVsKSA9PiB7XG5cbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgICAgICB2YWwgPyBmb3JtLkZvcm0uZGlzYWJsZShwcmV2ZW50RXZlbnQpIDogZm9ybS5Gb3JtLmVuYWJsZShwcmV2ZW50RXZlbnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoZm9ybS5JZCA9PT0gdmFsKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvcm0uRm9ybS5lbmFibGUocHJldmVudEV2ZW50KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBmb3JtLkZvcm0uZGlzYWJsZShwcmV2ZW50RXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSByZWZlcmVuY2Ugb2YgaW5pdGlhbCBmb3JtIGRhdGFcbiAgICAgKiBVc2UgdGhpcyB0byBjb21wYXJlIGlmIHZhbHVlcyByZWFsbHkgY2hhbmdlZCwgYmVjYXVzZVxuICAgICAqIHRoZSB1c2VyIGNvdWxkIGNoYW5nZSB2YWx1ZXMgYmFjayB0byB0aGUgb3JpZ2luYWxcbiAgICAgKlxuICAgICAqIEBwYXJhbSBvYmogZm9ybSBkYXRhXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVZhbHVlc1JlZmVyZW5jZSh2YWw6IEZvcm1Nb2RlbCk6IHZvaWQge1xuXG4gICAgICAgIC8vIGNvbnN0IHZhbHVlczogQXJyYXk8e2tleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nfT4gPSBbXTtcbiAgICAgICAgY29uc3Qga2V5VmFsdWVzOiBvYmplY3QgPSB7fTtcblxuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh2YWwuRm9ybS5jb250cm9scykpIHtcblxuICAgICAgICAgICAgLy8gdmFsdWVzLnB1c2goe2tleSwgdmFsdWU6IHZhbHVlLnZhbHVlfSk7XG4gICAgICAgICAgICBrZXlWYWx1ZXNba2V5XSA9IHZhbHVlLnZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGhpcy5mb3Jtc1ZhbHVlcy5wdXNoKG5ldyBGb3JtVmFsdWVzTW9kZWwodmFsLklkLCB2YWwuRm9ybS52YWx1ZSkpO1xuICAgICAgICB0aGlzLnByZXZpb3VzRm9ybVZhbHVlcy5wdXNoKG5ldyBGb3JtVmFsdWVzTW9kZWwodmFsLklkLCBrZXlWYWx1ZXMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgdmFsdWUgcmVmZXJlbmNlIGFmdGVyIHNhdmVzXG4gICAgICogXG4gICAgICogQHBhcmFtIHZhbCBmb3JtIG1vZGVsIHdpdGggdmFsdWVzXG4gICAgICovXG4gICAgcHVibGljIFVwZGF0ZVZhbHVlc1JlZmVyZW5jZSh2YWw6IEZvcm1Nb2RlbCk6IHZvaWQge1xuXG4gICAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLnByZXZpb3VzRm9ybVZhbHVlcy5maW5kSW5kZXgoKHg6IEZvcm1WYWx1ZXNNb2RlbCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHguSWQgPT09IHZhbC5JZDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5wcmV2aW91c0Zvcm1WYWx1ZXNbaW5kZXhdLlZhbHVlcyA9IHZhbC5Gb3JtLnZhbHVlO1xuXG4gICAgICAgIC8vIFRPRE86IGxvb2sgYXQgY29uc29saWRhdGluZyB1cGRhdGluZyB0aGlzLmZvcm1zIGFuZCB0aGlzLnByZXZpb3VzRm9ybVZhbHVlcyAtIHNoYW5ub24gKDctMTQtMjEpXG4gICAgICAgIGNvbnN0IGZvcm1JbmRleDogbnVtYmVyID0gdGhpcy5mb3Jtcy5maW5kSW5kZXgoKHg6IEZvcm1Nb2RlbCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHguSWQgPT09IHZhbC5JZDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5mb3Jtc1tmb3JtSW5kZXhdID0gdmFsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlc2V0IGZvcm0gdmFsdWVzIGJhY2sgdG8gcHJldmlvdXMgXG4gICAgICogXG4gICAgICogQHBhcmFtIGlkIGZvcm0gaWRcbiAgICAgKi9cbiAgICBwdWJsaWMgUmVzZXRGb3JtVmFsdWVzKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3Jtcy5maW5kKChmb3JtOiBGb3JtTW9kZWwpID0+IHtcbiAgICAgICAgICAgIGlmIChmb3JtLklkID09PSBpZCkge1xuICAgICAgICAgICAgICAgIGZvcm0uRm9ybS5wYXRjaFZhbHVlKHRoaXMuR2V0UHJldmlvdXNGb3JtVmFsdWVzKGlkKS5WYWx1ZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gaWQgZm9ybSBpZCB0byBzZWFyY2ggZm9yXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBwcmV2aW91cyBmb3JtIHZhbHVlc1xuICAgICAqL1xuICAgIHB1YmxpYyBHZXRQcmV2aW91c0Zvcm1WYWx1ZXMoaWQ6IHN0cmluZyk6IEZvcm1WYWx1ZXNNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZXZpb3VzRm9ybVZhbHVlcy5maW5kKCh4OiBGb3JtVmFsdWVzTW9kZWwpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB4LklkID09PSBpZDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgZm9yIGFjdHVhbCBmb3JtIGNoYW5nZXMsIGJlY2F1c2UgdGhlIHVzZXJcbiAgICAgKiBjb3VsZCBoYXZlIGNhbmNlbGVkIG9yIGNoYW5nZWQgdGhlIHZhbHVlIGJhY2sgdG8gdGhlXG4gICAgICogb3JpZ2luYWxcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpZCBmb3JtIGlkXG4gICAgICogQHBhcmFtIGZvcm1Ub0NoZWNrIGZvcm0gdG8gYmUgdGVzdGVkXG4gICAgICovXG4gICAgcHVibGljIEZvclJlYWxUaG91Z2goaWQ6IHN0cmluZywgZm9ybVRvQ2hlY2s6IEZvcm1Hcm91cCk6IGJvb2xlYW4ge1xuXG4gICAgICAgIGNvbnN0IGZvcm1WYWxzOiBGb3JtVmFsdWVzTW9kZWwgPSB0aGlzLnByZXZpb3VzRm9ybVZhbHVlcy5maW5kKCh4OiBGb3JtVmFsdWVzTW9kZWwpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB4LklkID09PSBpZDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gZm9ybVRvQ2hlY2suY29udHJvbHMpIHtcbiAgICAgICAgICAgIGlmIChmb3JtVG9DaGVjay5jb250cm9sc1trZXldLnZhbHVlICE9PSBmb3JtVmFscy5WYWx1ZXNba2V5XSkge1xuICAgICAgICAgICAgICAgIHRoaXMuRm9ybUlzRGlydHkubmV4dCh0cnVlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuRm9ybUlzRGlydHkubmV4dChmYWxzZSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5mb3JtcyA9IFtdO1xuICAgICAgICB0aGlzLnByZXZpb3VzRm9ybVZhbHVlcyA9IFtdO1xuICAgICAgICB0aGlzLkZvcm1Jc0RpcnR5ID0gbmV3IFN1YmplY3QoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { Injectable, Injector } from '@angular/core';
|
|
2
|
-
import { DAFService } from '@lcu/common';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
import { Observable } from 'rxjs';
|
|
5
|
-
import { HttpClient, HttpBackend } from '@angular/common/http';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common/http";
|
|
8
|
-
export class NPMService extends DAFService {
|
|
9
|
-
// Properties
|
|
10
|
-
// Constructors
|
|
11
|
-
constructor(injector, handler) {
|
|
12
|
-
super(injector);
|
|
13
|
-
this.injector = injector;
|
|
14
|
-
this.http = new HttpClient(handler);
|
|
15
|
-
}
|
|
16
|
-
// API Methods
|
|
17
|
-
Search(search) {
|
|
18
|
-
if (search) {
|
|
19
|
-
return this.http.get(`https://api.npms.io/v2/search?q=${search}`).pipe(this.catchError(), map((res) => {
|
|
20
|
-
return {
|
|
21
|
-
Status: {
|
|
22
|
-
Code: 0,
|
|
23
|
-
Message: 'Success',
|
|
24
|
-
},
|
|
25
|
-
Model: {
|
|
26
|
-
TotalRecords: res.total,
|
|
27
|
-
Items: res.results,
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
}));
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
return Observable.create((obs) => {
|
|
34
|
-
obs.next({
|
|
35
|
-
Status: {
|
|
36
|
-
Code: 0,
|
|
37
|
-
Message: 'Success',
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
obs.complete();
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
Versions(npmPkg) {
|
|
45
|
-
if (npmPkg) {
|
|
46
|
-
return this.http.get(`https://registry.npmjs.org/${npmPkg}`).pipe(this.catchError(), map((res) => {
|
|
47
|
-
return {
|
|
48
|
-
Status: {
|
|
49
|
-
Code: 0,
|
|
50
|
-
Message: 'Success',
|
|
51
|
-
},
|
|
52
|
-
Model: res,
|
|
53
|
-
};
|
|
54
|
-
}));
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
return new Observable((obs) => {
|
|
58
|
-
obs.next({
|
|
59
|
-
Status: {
|
|
60
|
-
Code: 0,
|
|
61
|
-
Message: 'Success',
|
|
62
|
-
},
|
|
63
|
-
});
|
|
64
|
-
obs.complete();
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
NPMService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NPMService_Factory() { return new NPMService(i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1.HttpBackend)); }, token: NPMService, providedIn: "root" });
|
|
70
|
-
NPMService.decorators = [
|
|
71
|
-
{ type: Injectable, args: [{
|
|
72
|
-
providedIn: 'root',
|
|
73
|
-
},] }
|
|
74
|
-
];
|
|
75
|
-
NPMService.ctorParameters = () => [
|
|
76
|
-
{ type: Injector },
|
|
77
|
-
{ type: HttpBackend }
|
|
78
|
-
];
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvYXBwbGljYXRpb25zLWZsb3cvYXBwbGljYXRpb25zLWZsb3cvcHJvamVjdHMvY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9ucG0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFpQyxNQUFNLGFBQWEsQ0FBQztBQUN4RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFLL0QsTUFBTSxPQUFPLFVBQVcsU0FBUSxVQUFVO0lBQ3hDLGNBQWM7SUFFZCxnQkFBZ0I7SUFDaEIsWUFBc0IsUUFBa0IsRUFBRSxPQUFvQjtRQUM1RCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFESSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBR3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGVBQWU7SUFDUixNQUFNLENBQ1gsTUFBYztRQUVkLElBQUksTUFBTSxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3BFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFDakIsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2YsT0FBMkM7b0JBQ3pDLE1BQU0sRUFBRTt3QkFDTixJQUFJLEVBQUUsQ0FBQzt3QkFDUCxPQUFPLEVBQUUsU0FBUztxQkFDbkI7b0JBQ0QsS0FBSyxFQUFFO3dCQUNMLFlBQVksRUFBRSxHQUFHLENBQUMsS0FBSzt3QkFDdkIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxPQUFPO3FCQUNuQjtpQkFDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztTQUNIO2FBQU07WUFDTCxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDcEMsR0FBRyxDQUFDLElBQUksQ0FBcUM7b0JBQzNDLE1BQU0sRUFBRTt3QkFDTixJQUFJLEVBQUUsQ0FBQzt3QkFDUCxPQUFPLEVBQUUsU0FBUztxQkFDbkI7aUJBQ0YsQ0FBQyxDQUFDO2dCQUVILEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVNLFFBQVEsQ0FDYixNQUFjO1FBRWQsSUFBSSxNQUFNLEVBQUU7WUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLDhCQUE4QixNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDL0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUNqQixHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDZixPQUFpQztvQkFDL0IsTUFBTSxFQUFFO3dCQUNOLElBQUksRUFBRSxDQUFDO3dCQUNQLE9BQU8sRUFBRSxTQUFTO3FCQUNuQjtvQkFDRCxLQUFLLEVBQUUsR0FBRztpQkFDWCxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztTQUNIO2FBQU07WUFDTCxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pDLEdBQUcsQ0FBQyxJQUFJLENBQXFDO29CQUMzQyxNQUFNLEVBQUU7d0JBQ04sSUFBSSxFQUFFLENBQUM7d0JBQ1AsT0FBTyxFQUFFLFNBQVM7cUJBQ25CO2lCQUNGLENBQUMsQ0FBQztnQkFFSCxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7Ozs7WUEzRUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFSb0IsUUFBUTtZQUlSLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgREFGU2VydmljZSwgQmFzZU1vZGVsZWRSZXNwb25zZSwgUGFnZWFibGUgfSBmcm9tICdAbGN1L2NvbW1vbic7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwQmFja2VuZCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5QTVNlcnZpY2UgZXh0ZW5kcyBEQUZTZXJ2aWNlIHtcbiAgLy8gIFByb3BlcnRpZXNcblxuICAvLyAgQ29uc3RydWN0b3JzXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsIGhhbmRsZXI6IEh0dHBCYWNrZW5kKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuXG4gICAgdGhpcy5odHRwID0gbmV3IEh0dHBDbGllbnQoaGFuZGxlcik7XG4gIH1cblxuICAvLyAgQVBJIE1ldGhvZHNcbiAgcHVibGljIFNlYXJjaChcbiAgICBzZWFyY2g6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPEJhc2VNb2RlbGVkUmVzcG9uc2U8UGFnZWFibGU8YW55Pj4+IHtcbiAgICBpZiAoc2VhcmNoKSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldChgaHR0cHM6Ly9hcGkubnBtcy5pby92Mi9zZWFyY2g/cT0ke3NlYXJjaH1gKS5waXBlKFxuICAgICAgICB0aGlzLmNhdGNoRXJyb3IoKSxcbiAgICAgICAgbWFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiA8QmFzZU1vZGVsZWRSZXNwb25zZTxQYWdlYWJsZTxhbnk+Pj57XG4gICAgICAgICAgICBTdGF0dXM6IHtcbiAgICAgICAgICAgICAgQ29kZTogMCxcbiAgICAgICAgICAgICAgTWVzc2FnZTogJ1N1Y2Nlc3MnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIE1vZGVsOiB7XG4gICAgICAgICAgICAgIFRvdGFsUmVjb3JkczogcmVzLnRvdGFsLFxuICAgICAgICAgICAgICBJdGVtczogcmVzLnJlc3VsdHMsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gT2JzZXJ2YWJsZS5jcmVhdGUoKG9iczogYW55KSA9PiB7XG4gICAgICAgIG9icy5uZXh0KDxCYXNlTW9kZWxlZFJlc3BvbnNlPFBhZ2VhYmxlPGFueT4+PntcbiAgICAgICAgICBTdGF0dXM6IHtcbiAgICAgICAgICAgIENvZGU6IDAsXG4gICAgICAgICAgICBNZXNzYWdlOiAnU3VjY2VzcycsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgb2JzLmNvbXBsZXRlKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgVmVyc2lvbnMoXG4gICAgbnBtUGtnOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxCYXNlTW9kZWxlZFJlc3BvbnNlPFBhZ2VhYmxlPGFueT4+PiB7XG4gICAgaWYgKG5wbVBrZykge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYGh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnLyR7bnBtUGtnfWApLnBpcGUoXG4gICAgICAgIHRoaXMuY2F0Y2hFcnJvcigpLFxuICAgICAgICBtYXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIDxCYXNlTW9kZWxlZFJlc3BvbnNlPGFueT4+e1xuICAgICAgICAgICAgU3RhdHVzOiB7XG4gICAgICAgICAgICAgIENvZGU6IDAsXG4gICAgICAgICAgICAgIE1lc3NhZ2U6ICdTdWNjZXNzJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBNb2RlbDogcmVzLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9iczogYW55KSA9PiB7XG4gICAgICAgIG9icy5uZXh0KDxCYXNlTW9kZWxlZFJlc3BvbnNlPFBhZ2VhYmxlPGFueT4+PntcbiAgICAgICAgICBTdGF0dXM6IHtcbiAgICAgICAgICAgIENvZGU6IDAsXG4gICAgICAgICAgICBNZXNzYWdlOiAnU3VjY2VzcycsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgb2JzLmNvbXBsZXRlKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvLyAgSGVscGVyc1xufVxuIl19
|