@gravitee/ui-policy-studio-angular 15.13.0 → 16.0.0
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/fesm2022/gravitee-ui-policy-studio-angular-testing.mjs +1 -1
- package/fesm2022/gravitee-ui-policy-studio-angular-testing.mjs.map +1 -1
- package/fesm2022/gravitee-ui-policy-studio-angular.mjs +92 -95
- package/fesm2022/gravitee-ui-policy-studio-angular.mjs.map +1 -1
- package/index.d.ts +404 -3
- package/package.json +7 -11
- package/testing/index.d.ts +369 -3
- package/esm2022/gravitee-ui-policy-studio-angular.mjs +0 -5
- package/esm2022/lib/components/filter-pipe/gio-flter-connectors-by-mode.pipe.mjs +0 -43
- package/esm2022/lib/components/flow-details/gio-ps-flow-details.component.mjs +0 -184
- package/esm2022/lib/components/flow-details-info-bar/gio-ps-flow-details-info-bar.component.mjs +0 -115
- package/esm2022/lib/components/flow-details-phase/gio-ps-flow-details-phase.component.mjs +0 -179
- package/esm2022/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.component.mjs +0 -162
- package/esm2022/lib/components/flow-execution-form-dialog/gio-ps-flow-execution-form-dialog.component.mjs +0 -81
- package/esm2022/lib/components/flow-form-dialog/flow-message-form-dialog/gio-ps-flow-message-form-dialog.component.mjs +0 -109
- package/esm2022/lib/components/flow-form-dialog/flow-native-form-dialog/gio-ps-flow-native-form-dialog.component.mjs +0 -89
- package/esm2022/lib/components/flow-form-dialog/flow-proxy-form-dialog/gio-ps-flow-proxy-form-dialog.component.mjs +0 -135
- package/esm2022/lib/components/flow-form-dialog/gio-ps-flow-form-dialog-result.model.mjs +0 -2
- package/esm2022/lib/components/flows-menu/gio-ps-flows-menu.component.mjs +0 -432
- package/esm2022/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.component.mjs +0 -165
- package/esm2022/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.component.mjs +0 -53
- package/esm2022/lib/components/step-form/gio-ps-step-form.component.mjs +0 -158
- package/esm2022/lib/models/ApiProtocolType.mjs +0 -17
- package/esm2022/lib/models/ApiType.mjs +0 -17
- package/esm2022/lib/models/ConnectorsInfo.mjs +0 -2
- package/esm2022/lib/models/PolicySchemaFetcher.mjs +0 -2
- package/esm2022/lib/models/SaveOutput.mjs +0 -2
- package/esm2022/lib/models/flow/Flow.mjs +0 -2
- package/esm2022/lib/models/flow/FlowExecution.mjs +0 -17
- package/esm2022/lib/models/flow/HttpMethod.mjs +0 -43
- package/esm2022/lib/models/flow/Selector.mjs +0 -2
- package/esm2022/lib/models/flow/Step.mjs +0 -2
- package/esm2022/lib/models/flow/index.mjs +0 -21
- package/esm2022/lib/models/index.mjs +0 -24
- package/esm2022/lib/models/plan/Plan.mjs +0 -17
- package/esm2022/lib/models/plan/index.mjs +0 -17
- package/esm2022/lib/models/policy/GenericPolicy.mjs +0 -24
- package/esm2022/lib/models/policy/Policy.mjs +0 -44
- package/esm2022/lib/models/policy/SharedPolicyGroupPolicy.mjs +0 -17
- package/esm2022/lib/models/policy/index.mjs +0 -19
- package/esm2022/lib/policy-group-studio/gio-policy-group-studio.component.mjs +0 -228
- package/esm2022/lib/policy-studio/gio-policy-studio.component.mjs +0 -304
- package/esm2022/lib/policy-studio/gio-policy-studio.model.mjs +0 -17
- package/esm2022/lib/policy-studio/gio-policy-studio.service.mjs +0 -74
- package/esm2022/public-api.mjs +0 -22
- package/esm2022/testing/gravitee-ui-policy-studio-angular-testing.mjs +0 -5
- package/esm2022/testing/lib/components/flow-details/gio-ps-flow-details.harness.mjs +0 -56
- package/esm2022/testing/lib/components/flow-details-info-bar/gio-ps-flow-details-info-bar.harness.mjs +0 -35
- package/esm2022/testing/lib/components/flow-details-phase/gio-ps-flow-details-phase.harness.mjs +0 -155
- package/esm2022/testing/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.harness.mjs +0 -69
- package/esm2022/testing/lib/components/flow-execution-form-dialog/gio-ps-flow-execution-form-dialog.harness.mjs +0 -60
- package/esm2022/testing/lib/components/flow-form-dialog/flow-message-form-dialog/gio-ps-flow-message-form-dialog.harness.mjs +0 -128
- package/esm2022/testing/lib/components/flow-form-dialog/flow-native-form-dialog/gio-ps-flow-native-form-dialog.harness.mjs +0 -50
- package/esm2022/testing/lib/components/flow-form-dialog/flow-proxy-form-dialog/gio-ps-flow-proxy-form-dialog.harness.mjs +0 -98
- package/esm2022/testing/lib/components/flows-menu/gio-ps-flows-menu.harness.mjs +0 -91
- package/esm2022/testing/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.harness.mjs +0 -87
- package/esm2022/testing/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.harness.mjs +0 -30
- package/esm2022/testing/lib/components/step-form/gio-ps-step-form.harness.mjs +0 -56
- package/esm2022/testing/lib/models/ApiProtocolType.mjs +0 -17
- package/esm2022/testing/lib/models/ApiType.mjs +0 -17
- package/esm2022/testing/lib/models/ConnectorsInfo.fixture.mjs +0 -182
- package/esm2022/testing/lib/models/ConnectorsInfo.mjs +0 -2
- package/esm2022/testing/lib/models/PolicySchemaFetcher.mjs +0 -2
- package/esm2022/testing/lib/models/SaveOutput.mjs +0 -2
- package/esm2022/testing/lib/models/flow/Flow.fixture.mjs +0 -122
- package/esm2022/testing/lib/models/flow/Flow.mjs +0 -2
- package/esm2022/testing/lib/models/flow/FlowExecution.fixture.mjs +0 -43
- package/esm2022/testing/lib/models/flow/FlowExecution.mjs +0 -17
- package/esm2022/testing/lib/models/flow/HttpMethod.mjs +0 -43
- package/esm2022/testing/lib/models/flow/Selector.mjs +0 -2
- package/esm2022/testing/lib/models/flow/Step.fixture.mjs +0 -92
- package/esm2022/testing/lib/models/flow/Step.mjs +0 -2
- package/esm2022/testing/lib/models/flow/index-testing.mjs +0 -19
- package/esm2022/testing/lib/models/flow/index.mjs +0 -21
- package/esm2022/testing/lib/models/index-testing.mjs +0 -20
- package/esm2022/testing/lib/models/index.mjs +0 -24
- package/esm2022/testing/lib/models/plan/Plan.fixture.mjs +0 -31
- package/esm2022/testing/lib/models/plan/Plan.mjs +0 -17
- package/esm2022/testing/lib/models/plan/index-testing.mjs +0 -17
- package/esm2022/testing/lib/models/plan/index.mjs +0 -17
- package/esm2022/testing/lib/models/policy/GenericPolicy.mjs +0 -24
- package/esm2022/testing/lib/models/policy/Policy.fixture.mjs +0 -194
- package/esm2022/testing/lib/models/policy/Policy.mjs +0 -44
- package/esm2022/testing/lib/models/policy/SharedPolicyGroupPolicy.mjs +0 -17
- package/esm2022/testing/lib/models/policy/index-testing.mjs +0 -17
- package/esm2022/testing/lib/models/policy/index.mjs +0 -19
- package/esm2022/testing/lib/policy-group-studio/gio-policy-group-studio.harness.mjs +0 -52
- package/esm2022/testing/lib/policy-studio/gio-policy-studio.harness.mjs +0 -202
- package/esm2022/testing/lib/policy-studio/gio-policy-studio.model.mjs +0 -17
- package/esm2022/testing/public-testing-api.mjs +0 -19
- package/lib/components/filter-pipe/gio-flter-connectors-by-mode.pipe.d.ts +0 -8
- package/lib/components/flow-details/gio-ps-flow-details.component.d.ts +0 -29
- package/lib/components/flow-details-info-bar/gio-ps-flow-details-info-bar.component.d.ts +0 -20
- package/lib/components/flow-details-phase/gio-ps-flow-details-phase.component.d.ts +0 -47
- package/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.component.d.ts +0 -33
- package/lib/components/flow-execution-form-dialog/gio-ps-flow-execution-form-dialog.component.d.ts +0 -18
- package/lib/components/flow-form-dialog/flow-message-form-dialog/gio-ps-flow-message-form-dialog.component.d.ts +0 -21
- package/lib/components/flow-form-dialog/flow-native-form-dialog/gio-ps-flow-native-form-dialog.component.d.ts +0 -21
- package/lib/components/flow-form-dialog/flow-proxy-form-dialog/gio-ps-flow-proxy-form-dialog.component.d.ts +0 -24
- package/lib/components/flow-form-dialog/gio-ps-flow-form-dialog-result.model.d.ts +0 -2
- package/lib/components/flows-menu/gio-ps-flows-menu.component.d.ts +0 -57
- package/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.component.d.ts +0 -47
- package/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.component.d.ts +0 -24
- package/lib/components/step-form/gio-ps-step-form.component.d.ts +0 -35
- package/lib/models/ApiProtocolType.d.ts +0 -1
- package/lib/models/ApiType.d.ts +0 -1
- package/lib/models/ConnectorsInfo.d.ts +0 -7
- package/lib/models/PolicySchemaFetcher.d.ts +0 -5
- package/lib/models/SaveOutput.d.ts +0 -7
- package/lib/models/flow/Flow.d.ts +0 -24
- package/lib/models/flow/FlowExecution.d.ts +0 -11
- package/lib/models/flow/HttpMethod.d.ts +0 -3
- package/lib/models/flow/Selector.d.ts +0 -37
- package/lib/models/flow/Step.d.ts +0 -34
- package/lib/models/flow/index.d.ts +0 -5
- package/lib/models/index.d.ts +0 -8
- package/lib/models/plan/Plan.d.ts +0 -6
- package/lib/models/plan/index.d.ts +0 -1
- package/lib/models/policy/GenericPolicy.d.ts +0 -22
- package/lib/models/policy/Policy.d.ts +0 -28
- package/lib/models/policy/SharedPolicyGroupPolicy.d.ts +0 -11
- package/lib/models/policy/index.d.ts +0 -3
- package/lib/policy-group-studio/gio-policy-group-studio.component.d.ts +0 -70
- package/lib/policy-studio/gio-policy-studio.component.d.ts +0 -98
- package/lib/policy-studio/gio-policy-studio.model.d.ts +0 -17
- package/lib/policy-studio/gio-policy-studio.service.d.ts +0 -30
- package/public-api.d.ts +0 -3
- package/testing/lib/components/flow-details/gio-ps-flow-details.harness.d.ts +0 -12
- package/testing/lib/components/flow-details-info-bar/gio-ps-flow-details-info-bar.harness.d.ts +0 -5
- package/testing/lib/components/flow-details-phase/gio-ps-flow-details-phase.harness.d.ts +0 -69
- package/testing/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.harness.d.ts +0 -21
- package/testing/lib/components/flow-execution-form-dialog/gio-ps-flow-execution-form-dialog.harness.d.ts +0 -13
- package/testing/lib/components/flow-form-dialog/flow-message-form-dialog/gio-ps-flow-message-form-dialog.harness.d.ts +0 -37
- package/testing/lib/components/flow-form-dialog/flow-native-form-dialog/gio-ps-flow-native-form-dialog.harness.d.ts +0 -17
- package/testing/lib/components/flow-form-dialog/flow-proxy-form-dialog/gio-ps-flow-proxy-form-dialog.harness.d.ts +0 -33
- package/testing/lib/components/flows-menu/gio-ps-flows-menu.harness.d.ts +0 -31
- package/testing/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.harness.d.ts +0 -20
- package/testing/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.harness.d.ts +0 -8
- package/testing/lib/components/step-form/gio-ps-step-form.harness.d.ts +0 -18
- package/testing/lib/models/ApiProtocolType.d.ts +0 -1
- package/testing/lib/models/ApiType.d.ts +0 -1
- package/testing/lib/models/ConnectorsInfo.d.ts +0 -7
- package/testing/lib/models/ConnectorsInfo.fixture.d.ts +0 -12
- package/testing/lib/models/PolicySchemaFetcher.d.ts +0 -5
- package/testing/lib/models/SaveOutput.d.ts +0 -7
- package/testing/lib/models/flow/Flow.d.ts +0 -24
- package/testing/lib/models/flow/Flow.fixture.d.ts +0 -6
- package/testing/lib/models/flow/FlowExecution.d.ts +0 -11
- package/testing/lib/models/flow/FlowExecution.fixture.d.ts +0 -3
- package/testing/lib/models/flow/HttpMethod.d.ts +0 -3
- package/testing/lib/models/flow/Selector.d.ts +0 -37
- package/testing/lib/models/flow/Step.d.ts +0 -34
- package/testing/lib/models/flow/Step.fixture.d.ts +0 -5
- package/testing/lib/models/flow/index-testing.d.ts +0 -3
- package/testing/lib/models/flow/index.d.ts +0 -5
- package/testing/lib/models/index-testing.d.ts +0 -4
- package/testing/lib/models/index.d.ts +0 -8
- package/testing/lib/models/plan/Plan.d.ts +0 -6
- package/testing/lib/models/plan/Plan.fixture.d.ts +0 -2
- package/testing/lib/models/plan/index-testing.d.ts +0 -1
- package/testing/lib/models/plan/index.d.ts +0 -1
- package/testing/lib/models/policy/GenericPolicy.d.ts +0 -22
- package/testing/lib/models/policy/Policy.d.ts +0 -28
- package/testing/lib/models/policy/Policy.fixture.d.ts +0 -4
- package/testing/lib/models/policy/SharedPolicyGroupPolicy.d.ts +0 -11
- package/testing/lib/models/policy/index-testing.d.ts +0 -1
- package/testing/lib/models/policy/index.d.ts +0 -3
- package/testing/lib/policy-group-studio/gio-policy-group-studio.harness.d.ts +0 -20
- package/testing/lib/policy-studio/gio-policy-studio.harness.d.ts +0 -78
- package/testing/lib/policy-studio/gio-policy-studio.model.d.ts +0 -17
- package/testing/public-testing-api.d.ts +0 -3
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2024 The Gravitee team (http://gravitee.io)
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { ComponentHarness } from '@angular/cdk/testing';
|
|
17
|
-
import { DivHarness } from '@gravitee/ui-particles-angular/testing';
|
|
18
|
-
import { MatButtonHarness } from '@angular/material/button/testing';
|
|
19
|
-
import { GioPolicyStudioDetailsPhaseHarness } from '../components/flow-details-phase/gio-ps-flow-details-phase.harness';
|
|
20
|
-
import { GioPolicyStudioPoliciesCatalogDialogHarness } from '../components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.harness';
|
|
21
|
-
export class GioPolicyGroupStudioHarness extends ComponentHarness {
|
|
22
|
-
constructor() {
|
|
23
|
-
super(...arguments);
|
|
24
|
-
this.phaseHarness = () => this.locatorFor(GioPolicyStudioDetailsPhaseHarness)();
|
|
25
|
-
}
|
|
26
|
-
static { this.hostSelector = 'gio-policy-group-studio'; }
|
|
27
|
-
/**
|
|
28
|
-
* Get Policy Group phase harness
|
|
29
|
-
*/
|
|
30
|
-
async getPolicyGroupPhase() {
|
|
31
|
-
return this.phaseHarness();
|
|
32
|
-
}
|
|
33
|
-
async clickAddStep(index) {
|
|
34
|
-
const addStepBtn = await this.locatorForAll(DivHarness.with({ selector: '.content__step' }))().then(divs => divs[index]);
|
|
35
|
-
await addStepBtn
|
|
36
|
-
.childLocatorFor(MatButtonHarness.with({ selector: '.content__step__addBtn' }))()
|
|
37
|
-
.then(btn => btn.click());
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Add a step to a policy-group
|
|
41
|
-
* @param index Index where to add the step. (Add button index)
|
|
42
|
-
* @param stepConfig Step to add
|
|
43
|
-
*/
|
|
44
|
-
async addStep(index, stepConfig) {
|
|
45
|
-
await this.clickAddStep(index);
|
|
46
|
-
const catalogDialog = await this.documentRootLocatorFactory().locatorFor(GioPolicyStudioPoliciesCatalogDialogHarness)();
|
|
47
|
-
await catalogDialog.selectPolicy(stepConfig.policyName);
|
|
48
|
-
await (await catalogDialog.getStepForm()).setStepForm(stepConfig);
|
|
49
|
-
await catalogDialog.clickAddPolicyButton();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBvbGljeS1ncm91cC1zdHVkaW8uaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL3BvbGljeS1ncm91cC1zdHVkaW8vZ2lvLXBvbGljeS1ncm91cC1zdHVkaW8uaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUV4SCxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSw4RUFBOEUsQ0FBQztBQUUzSSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsZ0JBQWdCO0lBQWpFOztRQUdVLGlCQUFZLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxFQUFFLENBQUM7SUFxQ3JGLENBQUM7YUF2Q2UsaUJBQVksR0FBRyx5QkFBeUIsQUFBNUIsQ0FBNkI7SUFJdkQ7O09BRUc7SUFDSSxLQUFLLENBQUMsbUJBQW1CO1FBQzlCLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQWE7UUFDckMsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUV6SCxNQUFNLFVBQVU7YUFDYixlQUFlLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFLENBQUMsQ0FBQyxFQUFFO2FBQ2hGLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLE9BQU8sQ0FDbEIsS0FBYSxFQUNiLFVBRVk7UUFFWixNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0IsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxVQUFVLENBQUMsMkNBQTJDLENBQUMsRUFBRSxDQUFDO1FBQ3hILE1BQU0sYUFBYSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEQsTUFBTSxDQUFDLE1BQU0sYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWxFLE1BQU0sYUFBYSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjQgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgRGl2SGFybmVzcyB9IGZyb20gJ0BncmF2aXRlZS91aS1wYXJ0aWNsZXMtYW5ndWxhci90ZXN0aW5nJztcbmltcG9ydCB7IE1hdEJ1dHRvbkhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24vdGVzdGluZyc7XG5cbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZUhhcm5lc3MgfSBmcm9tICcuLi9jb21wb25lbnRzL2Zsb3ctZGV0YWlscy1waGFzZS9naW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlLmhhcm5lc3MnO1xuaW1wb3J0IHsgU3RlcEZvcm0gfSBmcm9tICcuLi9jb21wb25lbnRzL3N0ZXAtZm9ybS9naW8tcHMtc3RlcC1mb3JtLmhhcm5lc3MnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvUG9saWNpZXNDYXRhbG9nRGlhbG9nSGFybmVzcyB9IGZyb20gJy4uL2NvbXBvbmVudHMvcG9saWNpZXMtY2F0YWxvZy1kaWFsb2cvZ2lvLXBzLXBvbGljaWVzLWNhdGFsb2ctZGlhbG9nLmhhcm5lc3MnO1xuXG5leHBvcnQgY2xhc3MgR2lvUG9saWN5R3JvdXBTdHVkaW9IYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ2dpby1wb2xpY3ktZ3JvdXAtc3R1ZGlvJztcblxuICBwcml2YXRlIHBoYXNlSGFybmVzcyA9ICgpID0+IHRoaXMubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VIYXJuZXNzKSgpO1xuXG4gIC8qKlxuICAgKiBHZXQgUG9saWN5IEdyb3VwIHBoYXNlIGhhcm5lc3NcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRQb2xpY3lHcm91cFBoYXNlKCk6IFByb21pc2U8R2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlSGFybmVzcz4ge1xuICAgIHJldHVybiB0aGlzLnBoYXNlSGFybmVzcygpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNsaWNrQWRkU3RlcChpbmRleDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYWRkU3RlcEJ0biA9IGF3YWl0IHRoaXMubG9jYXRvckZvckFsbChEaXZIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5jb250ZW50X19zdGVwJyB9KSkoKS50aGVuKGRpdnMgPT4gZGl2c1tpbmRleF0pO1xuXG4gICAgYXdhaXQgYWRkU3RlcEJ0blxuICAgICAgLmNoaWxkTG9jYXRvckZvcihNYXRCdXR0b25IYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5jb250ZW50X19zdGVwX19hZGRCdG4nIH0pKSgpXG4gICAgICAudGhlbihidG4gPT4gYnRuLmNsaWNrKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHN0ZXAgdG8gYSBwb2xpY3ktZ3JvdXBcbiAgICogQHBhcmFtIGluZGV4IEluZGV4IHdoZXJlIHRvIGFkZCB0aGUgc3RlcC4gKEFkZCBidXR0b24gaW5kZXgpXG4gICAqIEBwYXJhbSBzdGVwQ29uZmlnIFN0ZXAgdG8gYWRkXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYWRkU3RlcChcbiAgICBpbmRleDogbnVtYmVyLFxuICAgIHN0ZXBDb25maWc6IHtcbiAgICAgIHBvbGljeU5hbWU6IHN0cmluZztcbiAgICB9ICYgU3RlcEZvcm0sXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuY2xpY2tBZGRTdGVwKGluZGV4KTtcblxuICAgIGNvbnN0IGNhdGFsb2dEaWFsb2cgPSBhd2FpdCB0aGlzLmRvY3VtZW50Um9vdExvY2F0b3JGYWN0b3J5KCkubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9Qb2xpY2llc0NhdGFsb2dEaWFsb2dIYXJuZXNzKSgpO1xuICAgIGF3YWl0IGNhdGFsb2dEaWFsb2cuc2VsZWN0UG9saWN5KHN0ZXBDb25maWcucG9saWN5TmFtZSk7XG5cbiAgICBhd2FpdCAoYXdhaXQgY2F0YWxvZ0RpYWxvZy5nZXRTdGVwRm9ybSgpKS5zZXRTdGVwRm9ybShzdGVwQ29uZmlnKTtcblxuICAgIGF3YWl0IGNhdGFsb2dEaWFsb2cuY2xpY2tBZGRQb2xpY3lCdXR0b24oKTtcbiAgfVxufVxuIl19
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2022 The Gravitee team (http://gravitee.io)
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { ComponentHarness } from '@angular/cdk/testing';
|
|
17
|
-
import { MatButtonHarness } from '@angular/material/button/testing';
|
|
18
|
-
import { MatTabGroupHarness } from '@angular/material/tabs/testing';
|
|
19
|
-
import { GioPolicyStudioFlowsMenuHarness } from '../components/flows-menu/gio-ps-flows-menu.harness';
|
|
20
|
-
import { GioPolicyStudioDetailsHarness } from '../components/flow-details/gio-ps-flow-details.harness';
|
|
21
|
-
import { GioPolicyStudioFlowProxyFormDialogHarness } from '../components/flow-form-dialog/flow-proxy-form-dialog/gio-ps-flow-proxy-form-dialog.harness';
|
|
22
|
-
import { GioPolicyStudioFlowMessageFormDialogHarness } from '../components/flow-form-dialog/flow-message-form-dialog/gio-ps-flow-message-form-dialog.harness';
|
|
23
|
-
import { GioPolicyStudioFlowExecutionFormDialogHarness } from '../components/flow-execution-form-dialog/gio-ps-flow-execution-form-dialog.harness';
|
|
24
|
-
import { GioPolicyStudioDetailsPhaseHarness } from '../components/flow-details-phase/gio-ps-flow-details-phase.harness';
|
|
25
|
-
import { GioPolicyStudioFlowNativeFormDialogHarness } from '../components/flow-form-dialog/flow-native-form-dialog/gio-ps-flow-native-form-dialog.harness';
|
|
26
|
-
export class GioPolicyStudioHarness extends ComponentHarness {
|
|
27
|
-
constructor() {
|
|
28
|
-
super(...arguments);
|
|
29
|
-
this.menuHarness = this.locatorFor(GioPolicyStudioFlowsMenuHarness);
|
|
30
|
-
this.detailsHarness = this.locatorFor(GioPolicyStudioDetailsHarness);
|
|
31
|
-
this.phaseHarness = (phaseType) => this.locatorFor(GioPolicyStudioDetailsPhaseHarness.with({ type: phaseType }))();
|
|
32
|
-
}
|
|
33
|
-
static { this.hostSelector = 'gio-policy-studio'; }
|
|
34
|
-
async isReadOnly() {
|
|
35
|
-
const menu = await this.menuHarness();
|
|
36
|
-
const readOnlyMenu = await menu.isReadOnly();
|
|
37
|
-
await this.selectFlowInMenu('.+');
|
|
38
|
-
const details = await this.detailsHarness();
|
|
39
|
-
const emptyDetails = await details.isDisplayEmptyFlow();
|
|
40
|
-
if (!emptyDetails) {
|
|
41
|
-
await this.selectFlowInMenu('.+');
|
|
42
|
-
const readOnlyDetails = await details.isReadOnly();
|
|
43
|
-
return readOnlyMenu && readOnlyDetails;
|
|
44
|
-
}
|
|
45
|
-
return readOnlyMenu;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Add a flow to a plan or to "Common flows"
|
|
49
|
-
*
|
|
50
|
-
* @param groupName Plan name where to add the flow. You also can define "Common flows" to add a flow to this group.
|
|
51
|
-
* @param flow Flow to add
|
|
52
|
-
*/
|
|
53
|
-
async addFlow(groupName, flow) {
|
|
54
|
-
await (await this.menuHarness()).addFlow(new RegExp(groupName, 'i'));
|
|
55
|
-
await this.setFlowFormDialog(flow);
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Edit a flow configuration
|
|
59
|
-
*
|
|
60
|
-
* @param flowName Flow name to edit
|
|
61
|
-
* @param flow
|
|
62
|
-
*/
|
|
63
|
-
async editFlowConfig(flowName, flow) {
|
|
64
|
-
(await this.menuHarness()).selectFlow(new RegExp(flowName, 'i'));
|
|
65
|
-
await (await this.detailsHarness()).clickEditFlowBtn();
|
|
66
|
-
await this.setFlowFormDialog(flow);
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Delete a flow
|
|
70
|
-
*
|
|
71
|
-
* @param flowName Flow name to delete
|
|
72
|
-
*/
|
|
73
|
-
async deleteFlow(flowName) {
|
|
74
|
-
(await this.menuHarness()).selectFlow(new RegExp(flowName, 'i'));
|
|
75
|
-
await (await this.detailsHarness()).clickDeleteFlowBtn();
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Enable or disable a flow
|
|
79
|
-
*/
|
|
80
|
-
async enableDisableFlow(flowName) {
|
|
81
|
-
(await this.menuHarness()).selectFlow(new RegExp(flowName, 'i'));
|
|
82
|
-
await (await this.detailsHarness()).clickEnableDisableFlowBtn();
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Duplicate a flow
|
|
86
|
-
*
|
|
87
|
-
* @param flowName Flow name to clone
|
|
88
|
-
*/
|
|
89
|
-
async duplicateFlow(flowName) {
|
|
90
|
-
await (await this.menuHarness()).clickDuplicateFlowBtn(new RegExp(flowName, 'i'));
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Select a flow in the menu
|
|
94
|
-
*
|
|
95
|
-
* @param flowName Flow name to select
|
|
96
|
-
*/
|
|
97
|
-
async selectFlowInMenu(flowName) {
|
|
98
|
-
await (await this.menuHarness()).selectFlow(new RegExp(flowName, 'i'));
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Get the list of flows in the menu
|
|
102
|
-
*/
|
|
103
|
-
async getFlowsMenu() {
|
|
104
|
-
return (await this.menuHarness()).getAllFlowsGroups();
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Get selected flow infos
|
|
108
|
-
*/
|
|
109
|
-
async getSelectedFlowInfos() {
|
|
110
|
-
return await (await this.detailsHarness()).getFlowInfos();
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Get selected flow phase harness
|
|
114
|
-
* @param phaseType Phase type to get
|
|
115
|
-
*/
|
|
116
|
-
async getSelectedFlowPhase(phaseType) {
|
|
117
|
-
if (phaseType === 'PUBLISH' || phaseType === 'SUBSCRIBE') {
|
|
118
|
-
const matTabsHarness = await this.locatorFor(MatTabGroupHarness.with({ selector: '.content__tabs' }))();
|
|
119
|
-
await matTabsHarness.selectTab({ label: 'Event messages' });
|
|
120
|
-
}
|
|
121
|
-
const steps = await this.phaseHarness(phaseType);
|
|
122
|
-
return steps ? steps : undefined;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Get Save button state
|
|
126
|
-
*/
|
|
127
|
-
async getSaveButtonState() {
|
|
128
|
-
const saveButton = await this.locatorFor(MatButtonHarness.with({ ancestor: '.header__btn' }))();
|
|
129
|
-
const disabled = await saveButton.isDisabled();
|
|
130
|
-
const text = await saveButton.getText();
|
|
131
|
-
if (text === 'Saving...') {
|
|
132
|
-
return 'SAVING';
|
|
133
|
-
}
|
|
134
|
-
if (disabled) {
|
|
135
|
-
return 'DISABLED';
|
|
136
|
-
}
|
|
137
|
-
return 'VISIBLE';
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Click on the "Save" button
|
|
141
|
-
*/
|
|
142
|
-
async save() {
|
|
143
|
-
await (await this.locatorFor(MatButtonHarness.with({ text: /Save/ }))()).click();
|
|
144
|
-
}
|
|
145
|
-
async setFlowFormDialog(flow) {
|
|
146
|
-
const channelSelector = flow.selectors?.find(s => s.type === 'CHANNEL');
|
|
147
|
-
const httpSelector = flow.selectors?.find(s => s.type === 'HTTP');
|
|
148
|
-
const conditionSelector = flow.selectors?.find(s => s.type === 'CONDITION');
|
|
149
|
-
if (!!channelSelector && !!httpSelector) {
|
|
150
|
-
throw new Error('Channel and HTTP selectors are not be used together.');
|
|
151
|
-
}
|
|
152
|
-
if (channelSelector) {
|
|
153
|
-
const flowFormNewDialog = await this.documentRootLocatorFactory().locatorFor(GioPolicyStudioFlowMessageFormDialogHarness)();
|
|
154
|
-
const toChannelOperator = {
|
|
155
|
-
STARTS_WITH: 'Starts with',
|
|
156
|
-
EQUALS: 'Equals',
|
|
157
|
-
};
|
|
158
|
-
await flowFormNewDialog.setFlowFormValues({
|
|
159
|
-
name: flow.name,
|
|
160
|
-
channel: channelSelector?.channel,
|
|
161
|
-
channelOperator: toChannelOperator[channelSelector.channelOperator],
|
|
162
|
-
entrypoints: channelSelector?.entrypoints,
|
|
163
|
-
operations: channelSelector?.operations,
|
|
164
|
-
condition: conditionSelector?.condition,
|
|
165
|
-
});
|
|
166
|
-
await flowFormNewDialog.save();
|
|
167
|
-
return;
|
|
168
|
-
}
|
|
169
|
-
if (httpSelector) {
|
|
170
|
-
const flowFormNewDialog = await this.documentRootLocatorFactory().locatorFor(GioPolicyStudioFlowProxyFormDialogHarness)();
|
|
171
|
-
await flowFormNewDialog.setFlowFormValues({
|
|
172
|
-
name: flow.name,
|
|
173
|
-
path: httpSelector?.path,
|
|
174
|
-
pathOperator: httpSelector?.pathOperator,
|
|
175
|
-
methods: httpSelector?.methods,
|
|
176
|
-
condition: conditionSelector?.condition,
|
|
177
|
-
});
|
|
178
|
-
await flowFormNewDialog.save();
|
|
179
|
-
return;
|
|
180
|
-
}
|
|
181
|
-
if (!channelSelector && !httpSelector) {
|
|
182
|
-
const flowFormNewDialog = await this.documentRootLocatorFactory().locatorFor(GioPolicyStudioFlowNativeFormDialogHarness)();
|
|
183
|
-
await flowFormNewDialog.setFlowFormValues({
|
|
184
|
-
name: flow.name,
|
|
185
|
-
});
|
|
186
|
-
await flowFormNewDialog.save();
|
|
187
|
-
return;
|
|
188
|
-
}
|
|
189
|
-
throw new Error('No selector found for this flow. Needed to select Message or Proxy flow form dialog.');
|
|
190
|
-
}
|
|
191
|
-
async setFlowExecutionConfig(flowExecution) {
|
|
192
|
-
await (await this.menuHarness()).openFlowExecutionConfig();
|
|
193
|
-
const flowExecutionDialog = await this.documentRootLocatorFactory().locatorFor(GioPolicyStudioFlowExecutionFormDialogHarness)();
|
|
194
|
-
await flowExecutionDialog.setFlowFormValues(flowExecution);
|
|
195
|
-
await flowExecutionDialog.save();
|
|
196
|
-
}
|
|
197
|
-
async getSearchInput() {
|
|
198
|
-
const menu = await this.menuHarness();
|
|
199
|
-
return menu.getSearchInput();
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBvbGljeS1zdHVkaW8uaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL3BvbGljeS1zdHVkaW8vZ2lvLXBvbGljeS1zdHVkaW8uaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSXBFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLDZGQUE2RixDQUFDO0FBQ3hKLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxNQUFNLGlHQUFpRyxDQUFDO0FBQzlKLE9BQU8sRUFBRSw2Q0FBNkMsRUFBRSxNQUFNLG9GQUFvRixDQUFDO0FBQ25KLE9BQU8sRUFBRSxrQ0FBa0MsRUFBYSxNQUFNLG9FQUFvRSxDQUFDO0FBQ25JLE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLCtGQUErRixDQUFDO0FBRTNKLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxnQkFBZ0I7SUFBNUQ7O1FBR1UsZ0JBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFFL0QsbUJBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFFaEUsaUJBQVksR0FBRyxDQUFDLFNBQW9CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENB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QUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUMsVUFBVSxDQUFDLDBDQUEwQyxDQUFDLEVBQUUsQ0FBQztZQUMzSCxNQUFNLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDO2dCQUN4QyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7YUFDaEIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMvQixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsc0ZBQXNGLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRU0sS0FBSyxDQUFDLHNCQUFzQixDQUFDLGFBQTRCO1FBQzlELE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFFM0QsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDLFVBQVUsQ0FBQyw2Q0FBNkMsQ0FBQyxFQUFFLENBQUM7UUFDaEksTUFBTSxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzRCxNQUFNLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTSxLQUFLLENBQUMsY0FBYztRQUN6QixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMiBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IE1hdEJ1dHRvbkhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24vdGVzdGluZyc7XG5pbXBvcnQgeyBNYXRUYWJHcm91cEhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzL3Rlc3RpbmcnO1xuaW1wb3J0IHsgTWF0SW5wdXRIYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQvdGVzdGluZyc7XG5cbmltcG9ydCB7IENoYW5uZWxTZWxlY3RvciwgQ29uZGl0aW9uU2VsZWN0b3IsIEZsb3csIEZsb3dFeGVjdXRpb24sIEh0dHBTZWxlY3RvciB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9GbG93c01lbnVIYXJuZXNzIH0gZnJvbSAnLi4vY29tcG9uZW50cy9mbG93cy1tZW51L2dpby1wcy1mbG93cy1tZW51Lmhhcm5lc3MnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc0hhcm5lc3MgfSBmcm9tICcuLi9jb21wb25lbnRzL2Zsb3ctZGV0YWlscy9naW8tcHMtZmxvdy1kZXRhaWxzLmhhcm5lc3MnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvRmxvd1Byb3h5Rm9ybURpYWxvZ0hhcm5lc3MgfSBmcm9tICcuLi9jb21wb25lbnRzL2Zsb3ctZm9ybS1kaWFsb2cvZmxvdy1wcm94eS1mb3JtLWRpYWxvZy9naW8tcHMtZmxvdy1wcm94eS1mb3JtLWRpYWxvZy5oYXJuZXNzJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0Zsb3dNZXNzYWdlRm9ybURpYWxvZ0hhcm5lc3MgfSBmcm9tICcuLi9jb21wb25lbnRzL2Zsb3ctZm9ybS1kaWFsb2cvZmxvdy1tZXNzYWdlLWZvcm0tZGlhbG9nL2dpby1wcy1mbG93LW1lc3NhZ2UtZm9ybS1kaWFsb2cuaGFybmVzcyc7XG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9GbG93RXhlY3V0aW9uRm9ybURpYWxvZ0hhcm5lc3MgfSBmcm9tICcuLi9jb21wb25lbnRzL2Zsb3ctZXhlY3V0aW9uLWZvcm0tZGlhbG9nL2dpby1wcy1mbG93LWV4ZWN1dGlvbi1mb3JtLWRpYWxvZy5oYXJuZXNzJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZUhhcm5lc3MsIFBoYXNlVHlwZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzLXBoYXNlL2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2UuaGFybmVzcyc7XG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9GbG93TmF0aXZlRm9ybURpYWxvZ0hhcm5lc3MgfSBmcm9tICcuLi9jb21wb25lbnRzL2Zsb3ctZm9ybS1kaWFsb2cvZmxvdy1uYXRpdmUtZm9ybS1kaWFsb2cvZ2lvLXBzLWZsb3ctbmF0aXZlLWZvcm0tZGlhbG9nLmhhcm5lc3MnO1xuXG5leHBvcnQgY2xhc3MgR2lvUG9saWN5U3R1ZGlvSGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdnaW8tcG9saWN5LXN0dWRpbyc7XG5cbiAgcHJpdmF0ZSBtZW51SGFybmVzcyA9IHRoaXMubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9GbG93c01lbnVIYXJuZXNzKTtcblxuICBwcml2YXRlIGRldGFpbHNIYXJuZXNzID0gdGhpcy5sb2NhdG9yRm9yKEdpb1BvbGljeVN0dWRpb0RldGFpbHNIYXJuZXNzKTtcblxuICBwcml2YXRlIHBoYXNlSGFybmVzcyA9IChwaGFzZVR5cGU6IFBoYXNlVHlwZSkgPT4gdGhpcy5sb2NhdG9yRm9yKEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZUhhcm5lc3Mud2l0aCh7IHR5cGU6IHBoYXNlVHlwZSB9KSkoKTtcblxuICBwdWJsaWMgYXN5bmMgaXNSZWFkT25seSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBtZW51ID0gYXdhaXQgdGhpcy5tZW51SGFybmVzcygpO1xuICAgIGNvbnN0IHJlYWRPbmx5TWVudSA9IGF3YWl0IG1lbnUuaXNSZWFkT25seSgpO1xuXG4gICAgYXdhaXQgdGhpcy5zZWxlY3RGbG93SW5NZW51KCcuKycpO1xuXG4gICAgY29uc3QgZGV0YWlscyA9IGF3YWl0IHRoaXMuZGV0YWlsc0hhcm5lc3MoKTtcbiAgICBjb25zdCBlbXB0eURldGFpbHMgPSBhd2FpdCBkZXRhaWxzLmlzRGlzcGxheUVtcHR5RmxvdygpO1xuXG4gICAgaWYgKCFlbXB0eURldGFpbHMpIHtcbiAgICAgIGF3YWl0IHRoaXMuc2VsZWN0Rmxvd0luTWVudSgnLisnKTtcbiAgICAgIGNvbnN0IHJlYWRPbmx5RGV0YWlscyA9IGF3YWl0IGRldGFpbHMuaXNSZWFkT25seSgpO1xuICAgICAgcmV0dXJuIHJlYWRPbmx5TWVudSAmJiByZWFkT25seURldGFpbHM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlYWRPbmx5TWVudTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBmbG93IHRvIGEgcGxhbiBvciB0byBcIkNvbW1vbiBmbG93c1wiXG4gICAqXG4gICAqIEBwYXJhbSBncm91cE5hbWUgUGxhbiBuYW1lIHdoZXJlIHRvIGFkZCB0aGUgZmxvdy4gWW91IGFsc28gY2FuIGRlZmluZSBcIkNvbW1vbiBmbG93c1wiIHRvIGFkZCBhIGZsb3cgdG8gdGhpcyBncm91cC5cbiAgICogQHBhcmFtIGZsb3cgRmxvdyB0byBhZGRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBhZGRGbG93KGdyb3VwTmFtZTogc3RyaW5nLCBmbG93OiBGbG93KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMubWVudUhhcm5lc3MoKSkuYWRkRmxvdyhuZXcgUmVnRXhwKGdyb3VwTmFtZSwgJ2knKSk7XG5cbiAgICBhd2FpdCB0aGlzLnNldEZsb3dGb3JtRGlhbG9nKGZsb3cpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVkaXQgYSBmbG93IGNvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIGZsb3dOYW1lIEZsb3cgbmFtZSB0byBlZGl0XG4gICAqIEBwYXJhbSBmbG93XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZWRpdEZsb3dDb25maWcoZmxvd05hbWU6IHN0cmluZywgZmxvdzogUGFydGlhbDxGbG93Pik6IFByb21pc2U8dm9pZD4ge1xuICAgIChhd2FpdCB0aGlzLm1lbnVIYXJuZXNzKCkpLnNlbGVjdEZsb3cobmV3IFJlZ0V4cChmbG93TmFtZSwgJ2knKSk7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuZGV0YWlsc0hhcm5lc3MoKSkuY2xpY2tFZGl0Rmxvd0J0bigpO1xuXG4gICAgYXdhaXQgdGhpcy5zZXRGbG93Rm9ybURpYWxvZyhmbG93KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgYSBmbG93XG4gICAqXG4gICAqIEBwYXJhbSBmbG93TmFtZSBGbG93IG5hbWUgdG8gZGVsZXRlXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGVsZXRlRmxvdyhmbG93TmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgKGF3YWl0IHRoaXMubWVudUhhcm5lc3MoKSkuc2VsZWN0RmxvdyhuZXcgUmVnRXhwKGZsb3dOYW1lLCAnaScpKTtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5kZXRhaWxzSGFybmVzcygpKS5jbGlja0RlbGV0ZUZsb3dCdG4oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGUgb3IgZGlzYWJsZSBhIGZsb3dcbiAgICovXG4gIHB1YmxpYyBhc3luYyBlbmFibGVEaXNhYmxlRmxvdyhmbG93TmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgKGF3YWl0IHRoaXMubWVudUhhcm5lc3MoKSkuc2VsZWN0RmxvdyhuZXcgUmVnRXhwKGZsb3dOYW1lLCAnaScpKTtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5kZXRhaWxzSGFybmVzcygpKS5jbGlja0VuYWJsZURpc2FibGVGbG93QnRuKCk7XG4gIH1cblxuICAvKipcbiAgICogRHVwbGljYXRlIGEgZmxvd1xuICAgKlxuICAgKiBAcGFyYW0gZmxvd05hbWUgRmxvdyBuYW1lIHRvIGNsb25lXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZHVwbGljYXRlRmxvdyhmbG93TmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMubWVudUhhcm5lc3MoKSkuY2xpY2tEdXBsaWNhdGVGbG93QnRuKG5ldyBSZWdFeHAoZmxvd05hbWUsICdpJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBhIGZsb3cgaW4gdGhlIG1lbnVcbiAgICpcbiAgICogQHBhcmFtIGZsb3dOYW1lIEZsb3cgbmFtZSB0byBzZWxlY3RcbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZWxlY3RGbG93SW5NZW51KGZsb3dOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5tZW51SGFybmVzcygpKS5zZWxlY3RGbG93KG5ldyBSZWdFeHAoZmxvd05hbWUsICdpJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGlzdCBvZiBmbG93cyBpbiB0aGUgbWVudVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEZsb3dzTWVudSgpOiBQcm9taXNlPFxuICAgIHtcbiAgICAgIG5hbWU6IHN0cmluZyB8IG51bGw7XG4gICAgICBmbG93czoge1xuICAgICAgICBuYW1lOiBzdHJpbmcgfCBudWxsO1xuICAgICAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xuICAgICAgICBpbmZvczogc3RyaW5nIHwgbnVsbDtcbiAgICAgIH1bXTtcbiAgICB9W11cbiAgPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLm1lbnVIYXJuZXNzKCkpLmdldEFsbEZsb3dzR3JvdXBzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHNlbGVjdGVkIGZsb3cgaW5mb3NcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWxlY3RlZEZsb3dJbmZvcygpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIChzdHJpbmcgfCBudWxsKVtdPj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5kZXRhaWxzSGFybmVzcygpKS5nZXRGbG93SW5mb3MoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgc2VsZWN0ZWQgZmxvdyBwaGFzZSBoYXJuZXNzXG4gICAqIEBwYXJhbSBwaGFzZVR5cGUgUGhhc2UgdHlwZSB0byBnZXRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWxlY3RlZEZsb3dQaGFzZShwaGFzZVR5cGU6IFBoYXNlVHlwZSk6IFByb21pc2U8R2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlSGFybmVzcyB8IHVuZGVmaW5lZD4ge1xuICAgIGlmIChwaGFzZVR5cGUgPT09ICdQVUJMSVNIJyB8fCBwaGFzZVR5cGUgPT09ICdTVUJTQ1JJQkUnKSB7XG4gICAgICBjb25zdCBtYXRUYWJzSGFybmVzcyA9IGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRUYWJHcm91cEhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmNvbnRlbnRfX3RhYnMnIH0pKSgpO1xuICAgICAgYXdhaXQgbWF0VGFic0hhcm5lc3Muc2VsZWN0VGFiKHsgbGFiZWw6ICdFdmVudCBtZXNzYWdlcycgfSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RlcHMgPSBhd2FpdCB0aGlzLnBoYXNlSGFybmVzcyhwaGFzZVR5cGUpO1xuXG4gICAgcmV0dXJuIHN0ZXBzID8gc3RlcHMgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IFNhdmUgYnV0dG9uIHN0YXRlXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U2F2ZUJ1dHRvblN0YXRlKCk6IFByb21pc2U8J1ZJU0lCTEUnIHwgJ0RJU0FCTEVEJyB8ICdTQVZJTkcnPiB7XG4gICAgY29uc3Qgc2F2ZUJ1dHRvbiA9IGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRCdXR0b25IYXJuZXNzLndpdGgoeyBhbmNlc3RvcjogJy5oZWFkZXJfX2J0bicgfSkpKCk7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBhd2FpdCBzYXZlQnV0dG9uLmlzRGlzYWJsZWQoKTtcbiAgICBjb25zdCB0ZXh0ID0gYXdhaXQgc2F2ZUJ1dHRvbi5nZXRUZXh0KCk7XG5cbiAgICBpZiAodGV4dCA9PT0gJ1NhdmluZy4uLicpIHtcbiAgICAgIHJldHVybiAnU0FWSU5HJztcbiAgICB9XG5cbiAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiAnRElTQUJMRUQnO1xuICAgIH1cblxuICAgIHJldHVybiAnVklTSUJMRSc7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2sgb24gdGhlIFwiU2F2ZVwiIGJ1dHRvblxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNhdmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRCdXR0b25IYXJuZXNzLndpdGgoeyB0ZXh0OiAvU2F2ZS8gfSkpKCkpLmNsaWNrKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldEZsb3dGb3JtRGlhbG9nKGZsb3c6IFBhcnRpYWw8Rmxvdz4pIHtcbiAgICBjb25zdCBjaGFubmVsU2VsZWN0b3IgPSBmbG93LnNlbGVjdG9ycz8uZmluZChzID0+IHMudHlwZSA9PT0gJ0NIQU5ORUwnKSBhcyBDaGFubmVsU2VsZWN0b3IgfCB1bmRlZmluZWQ7XG4gICAgY29uc3QgaHR0cFNlbGVjdG9yID0gZmxvdy5zZWxlY3RvcnM/LmZpbmQocyA9PiBzLnR5cGUgPT09ICdIVFRQJykgYXMgSHR0cFNlbGVjdG9yIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IGNvbmRpdGlvblNlbGVjdG9yID0gZmxvdy5zZWxlY3RvcnM/LmZpbmQocyA9PiBzLnR5cGUgPT09ICdDT05ESVRJT04nKSBhcyBDb25kaXRpb25TZWxlY3RvciB8IHVuZGVmaW5lZDtcblxuICAgIGlmICghIWNoYW5uZWxTZWxlY3RvciAmJiAhIWh0dHBTZWxlY3Rvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDaGFubmVsIGFuZCBIVFRQIHNlbGVjdG9ycyBhcmUgbm90IGJlIHVzZWQgdG9nZXRoZXIuJyk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5uZWxTZWxlY3Rvcikge1xuICAgICAgY29uc3QgZmxvd0Zvcm1OZXdEaWFsb2cgPSBhd2FpdCB0aGlzLmRvY3VtZW50Um9vdExvY2F0b3JGYWN0b3J5KCkubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9GbG93TWVzc2FnZUZvcm1EaWFsb2dIYXJuZXNzKSgpO1xuXG4gICAgICBjb25zdCB0b0NoYW5uZWxPcGVyYXRvciA9IHtcbiAgICAgICAgU1RBUlRTX1dJVEg6ICdTdGFydHMgd2l0aCcsXG4gICAgICAgIEVRVUFMUzogJ0VxdWFscycsXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBmbG93Rm9ybU5ld0RpYWxvZy5zZXRGbG93Rm9ybVZhbHVlcyh7XG4gICAgICAgIG5hbWU6IGZsb3cubmFtZSxcbiAgICAgICAgY2hhbm5lbDogY2hhbm5lbFNlbGVjdG9yPy5jaGFubmVsLFxuICAgICAgICBjaGFubmVsT3BlcmF0b3I6IHRvQ2hhbm5lbE9wZXJhdG9yW2NoYW5uZWxTZWxlY3Rvci5jaGFubmVsT3BlcmF0b3JdLFxuICAgICAgICBlbnRyeXBvaW50czogY2hhbm5lbFNlbGVjdG9yPy5lbnRyeXBvaW50cyxcbiAgICAgICAgb3BlcmF0aW9uczogY2hhbm5lbFNlbGVjdG9yPy5vcGVyYXRpb25zLFxuICAgICAgICBjb25kaXRpb246IGNvbmRpdGlvblNlbGVjdG9yPy5jb25kaXRpb24sXG4gICAgICB9KTtcblxuICAgICAgYXdhaXQgZmxvd0Zvcm1OZXdEaWFsb2cuc2F2ZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChodHRwU2VsZWN0b3IpIHtcbiAgICAgIGNvbnN0IGZsb3dGb3JtTmV3RGlhbG9nID0gYXdhaXQgdGhpcy5kb2N1bWVudFJvb3RMb2NhdG9yRmFjdG9yeSgpLmxvY2F0b3JGb3IoR2lvUG9saWN5U3R1ZGlvRmxvd1Byb3h5Rm9ybURpYWxvZ0hhcm5lc3MpKCk7XG5cbiAgICAgIGF3YWl0IGZsb3dGb3JtTmV3RGlhbG9nLnNldEZsb3dGb3JtVmFsdWVzKHtcbiAgICAgICAgbmFtZTogZmxvdy5uYW1lLFxuICAgICAgICBwYXRoOiBodHRwU2VsZWN0b3I/LnBhdGgsXG4gICAgICAgIHBhdGhPcGVyYXRvcjogaHR0cFNlbGVjdG9yPy5wYXRoT3BlcmF0b3IsXG4gICAgICAgIG1ldGhvZHM6IGh0dHBTZWxlY3Rvcj8ubWV0aG9kcyxcbiAgICAgICAgY29uZGl0aW9uOiBjb25kaXRpb25TZWxlY3Rvcj8uY29uZGl0aW9uLFxuICAgICAgfSk7XG5cbiAgICAgIGF3YWl0IGZsb3dGb3JtTmV3RGlhbG9nLnNhdmUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWNoYW5uZWxTZWxlY3RvciAmJiAhaHR0cFNlbGVjdG9yKSB7XG4gICAgICBjb25zdCBmbG93Rm9ybU5ld0RpYWxvZyA9IGF3YWl0IHRoaXMuZG9jdW1lbnRSb290TG9jYXRvckZhY3RvcnkoKS5sb2NhdG9yRm9yKEdpb1BvbGljeVN0dWRpb0Zsb3dOYXRpdmVGb3JtRGlhbG9nSGFybmVzcykoKTtcbiAgICAgIGF3YWl0IGZsb3dGb3JtTmV3RGlhbG9nLnNldEZsb3dGb3JtVmFsdWVzKHtcbiAgICAgICAgbmFtZTogZmxvdy5uYW1lLFxuICAgICAgfSk7XG4gICAgICBhd2FpdCBmbG93Rm9ybU5ld0RpYWxvZy5zYXZlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdObyBzZWxlY3RvciBmb3VuZCBmb3IgdGhpcyBmbG93LiBOZWVkZWQgdG8gc2VsZWN0IE1lc3NhZ2Ugb3IgUHJveHkgZmxvdyBmb3JtIGRpYWxvZy4nKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZXRGbG93RXhlY3V0aW9uQ29uZmlnKGZsb3dFeGVjdXRpb246IEZsb3dFeGVjdXRpb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5tZW51SGFybmVzcygpKS5vcGVuRmxvd0V4ZWN1dGlvbkNvbmZpZygpO1xuXG4gICAgY29uc3QgZmxvd0V4ZWN1dGlvbkRpYWxvZyA9IGF3YWl0IHRoaXMuZG9jdW1lbnRSb290TG9jYXRvckZhY3RvcnkoKS5sb2NhdG9yRm9yKEdpb1BvbGljeVN0dWRpb0Zsb3dFeGVjdXRpb25Gb3JtRGlhbG9nSGFybmVzcykoKTtcbiAgICBhd2FpdCBmbG93RXhlY3V0aW9uRGlhbG9nLnNldEZsb3dGb3JtVmFsdWVzKGZsb3dFeGVjdXRpb24pO1xuICAgIGF3YWl0IGZsb3dFeGVjdXRpb25EaWFsb2cuc2F2ZSgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFNlYXJjaElucHV0KCk6IFByb21pc2U8TWF0SW5wdXRIYXJuZXNzPiB7XG4gICAgY29uc3QgbWVudSA9IGF3YWl0IHRoaXMubWVudUhhcm5lc3MoKTtcbiAgICByZXR1cm4gbWVudS5nZXRTZWFyY2hJbnB1dCgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2022 The Gravitee team (http://gravitee.io)
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
export {};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBvbGljeS1zdHVkaW8ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9wb2xpY3ktc3R1ZGlvL2dpby1wb2xpY3ktc3R1ZGlvLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMiBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgRmxvdyB9IGZyb20gJy4uL21vZGVscyc7XG5cbi8vIE1vZGVsIHVzZWQgaW50ZXJuYWxseSBieSB0aGUgY29tcG9uZW50IGFuZCBpdCdzIGNoaWxkcmVuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dWTSBleHRlbmRzIEZsb3cge1xuICBfaWQ6IHN0cmluZztcbiAgX2hhc0NoYW5nZWQ6IGJvb2xlYW47XG4gIF9wYXJlbnRGbG93R3JvdXBOYW1lPzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBGbG93R3JvdXBWTSB7XG4gIF9pZDogc3RyaW5nO1xuICBfcGxhbklkPzogc3RyaW5nO1xuICBfaXNQbGFuOiBib29sZWFuO1xuICBuYW1lOiBzdHJpbmc7XG4gIGZsb3dzOiBGbG93Vk1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb2xpY3lEb2N1bWVudGF0aW9uIHtcbiAgY29udGVudDogc3RyaW5nO1xuICBsYW5ndWFnZTogJ01BUktET1dOJyB8ICdBU0NJSURPQyc7XG59XG4iXX0=
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2022 The Gravitee team (http://gravitee.io)
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
export * from './lib/models/index-testing';
|
|
17
|
-
export * from './lib/policy-studio/gio-policy-studio.harness';
|
|
18
|
-
export * from './lib/policy-group-studio/gio-policy-group-studio.harness';
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLXRlc3RpbmctYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9wdWJsaWMtdGVzdGluZy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywyREFBMkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjIgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5kZXgtdGVzdGluZyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BvbGljeS1zdHVkaW8vZ2lvLXBvbGljeS1zdHVkaW8uaGFybmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wb2xpY3ktZ3JvdXAtc3R1ZGlvL2dpby1wb2xpY3ktZ3JvdXAtc3R1ZGlvLmhhcm5lc3MnO1xuIl19
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import { ConnectorInfo, ConnectorMode } from '../../models';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class GioFilterConnectorsByModePipe implements PipeTransform {
|
|
5
|
-
transform(items: ConnectorInfo[], mode: ConnectorMode, activeModes?: ConnectorMode[]): ConnectorInfo[];
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<GioFilterConnectorsByModePipe, never>;
|
|
7
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<GioFilterConnectorsByModePipe, "gioFilterConnectorsByMode", true>;
|
|
8
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
-
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
-
import { FlowVM } from '../../policy-studio/gio-policy-studio.model';
|
|
4
|
-
import { ApiType, ConnectorInfo, Operation, Policy, Step, GenericPolicy } from '../../models';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class GioPolicyStudioDetailsComponent implements OnChanges {
|
|
7
|
-
private readonly matDialog;
|
|
8
|
-
readOnly: boolean;
|
|
9
|
-
loading: boolean;
|
|
10
|
-
apiType: ApiType;
|
|
11
|
-
flow?: FlowVM;
|
|
12
|
-
entrypointsInfo: ConnectorInfo[];
|
|
13
|
-
endpointsInfo: ConnectorInfo[];
|
|
14
|
-
policies: Policy[];
|
|
15
|
-
genericPolicies: GenericPolicy[];
|
|
16
|
-
trialUrl?: string;
|
|
17
|
-
flowChange: EventEmitter<FlowVM>;
|
|
18
|
-
deleteFlow: EventEmitter<FlowVM>;
|
|
19
|
-
messageFlowEntrypointsInfo: ConnectorInfo[];
|
|
20
|
-
operations: Operation[];
|
|
21
|
-
constructor(matDialog: MatDialog);
|
|
22
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
23
|
-
onEditFlow(): void;
|
|
24
|
-
onDeleteFlow(): void;
|
|
25
|
-
onEnableDisableFlow(): void;
|
|
26
|
-
onStepsChange(flowPhase: 'connect' | 'interact' | 'request' | 'response' | 'publish' | 'subscribe', steps: Step[]): void;
|
|
27
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioDetailsComponent, never>;
|
|
28
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioDetailsComponent, "gio-ps-flow-details", never, { "readOnly": { "alias": "readOnly"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "apiType": { "alias": "apiType"; "required": false; }; "flow": { "alias": "flow"; "required": false; }; "entrypointsInfo": { "alias": "entrypointsInfo"; "required": false; }; "endpointsInfo": { "alias": "endpointsInfo"; "required": false; }; "policies": { "alias": "policies"; "required": false; }; "genericPolicies": { "alias": "genericPolicies"; "required": false; }; "trialUrl": { "alias": "trialUrl"; "required": false; }; }, { "flowChange": "flowChange"; "deleteFlow": "deleteFlow"; }, never, never, true, never>;
|
|
29
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { ConnectorInfo } from '../../models';
|
|
2
|
-
import { FlowVM } from '../../policy-studio/gio-policy-studio.model';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class GioPolicyStudioDetailsInfoBarComponent {
|
|
5
|
-
flow?: FlowVM;
|
|
6
|
-
entrypointsInfo?: ConnectorInfo[];
|
|
7
|
-
get condition(): string | undefined;
|
|
8
|
-
get operations(): string[] | undefined;
|
|
9
|
-
get channel(): string | undefined;
|
|
10
|
-
get channelOperator(): string | undefined;
|
|
11
|
-
get entrypoints(): ConnectorInfo[] | undefined;
|
|
12
|
-
get path(): string | undefined;
|
|
13
|
-
get pathOperator(): string | undefined;
|
|
14
|
-
get methods(): {
|
|
15
|
-
name: string;
|
|
16
|
-
class: string;
|
|
17
|
-
}[] | undefined;
|
|
18
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioDetailsInfoBarComponent, never>;
|
|
19
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioDetailsInfoBarComponent, "gio-ps-flow-details-info-bar", never, { "flow": { "alias": "flow"; "required": false; }; "entrypointsInfo": { "alias": "entrypointsInfo"; "required": false; }; }, {}, never, never, true, never>;
|
|
20
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
-
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
-
import { ApiType, ConnectorInfo, FlowPhase, Step } from '../../models';
|
|
4
|
-
import { GenericPolicy } from '../../models/policy/GenericPolicy';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
type StepVM = {
|
|
7
|
-
_id: string;
|
|
8
|
-
type: 'connectors';
|
|
9
|
-
connectors: {
|
|
10
|
-
name?: string;
|
|
11
|
-
icon?: string;
|
|
12
|
-
}[];
|
|
13
|
-
} | {
|
|
14
|
-
_id: string;
|
|
15
|
-
type: 'step';
|
|
16
|
-
step: Step;
|
|
17
|
-
index: number;
|
|
18
|
-
};
|
|
19
|
-
export declare class GioPolicyStudioDetailsPhaseComponent implements OnChanges {
|
|
20
|
-
private readonly matDialog;
|
|
21
|
-
readOnly: boolean;
|
|
22
|
-
steps: Step[];
|
|
23
|
-
name: string;
|
|
24
|
-
description: string;
|
|
25
|
-
startConnector: ConnectorInfo[];
|
|
26
|
-
endConnector: ConnectorInfo[];
|
|
27
|
-
apiType: ApiType;
|
|
28
|
-
genericPolicies: GenericPolicy[];
|
|
29
|
-
policyFlowPhase: FlowPhase;
|
|
30
|
-
trialUrl?: string;
|
|
31
|
-
disabledNotYetAvailable: boolean;
|
|
32
|
-
stepsChange: EventEmitter<Step[]>;
|
|
33
|
-
stepsVM: StepVM[];
|
|
34
|
-
hasStartAndEndConnectors: boolean;
|
|
35
|
-
constructor(matDialog: MatDialog);
|
|
36
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
37
|
-
onAddPolicy(index: number): void;
|
|
38
|
-
onStepChange(index: number, stepToEdit: Step): void;
|
|
39
|
-
onStepDeleted(index: number): void;
|
|
40
|
-
onStepDisabled(index: number): void;
|
|
41
|
-
onStepDuplicated(index: number): void;
|
|
42
|
-
onStepMovedRight(index: number): void;
|
|
43
|
-
onStepMovedLeft(index: number): void;
|
|
44
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioDetailsPhaseComponent, never>;
|
|
45
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioDetailsPhaseComponent, "gio-ps-flow-details-phase", never, { "readOnly": { "alias": "readOnly"; "required": false; }; "steps": { "alias": "steps"; "required": false; }; "name": { "alias": "name"; "required": false; }; "description": { "alias": "description"; "required": false; }; "startConnector": { "alias": "startConnector"; "required": false; }; "endConnector": { "alias": "endConnector"; "required": false; }; "apiType": { "alias": "apiType"; "required": false; }; "genericPolicies": { "alias": "genericPolicies"; "required": false; }; "policyFlowPhase": { "alias": "policyFlowPhase"; "required": false; }; "trialUrl": { "alias": "trialUrl"; "required": false; }; "disabledNotYetAvailable": { "alias": "disabledNotYetAvailable"; "required": false; }; }, { "stepsChange": "stepsChange"; }, never, never, true, never>;
|
|
46
|
-
}
|
|
47
|
-
export {};
|
package/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.component.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
-
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
-
import { FlowPhase, Step, GenericPolicy, ApiType } from '../../models';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class GioPolicyStudioDetailsPhaseStepComponent implements OnChanges {
|
|
6
|
-
private readonly matDialog;
|
|
7
|
-
readOnly: boolean;
|
|
8
|
-
step: Step;
|
|
9
|
-
genericPolicies: GenericPolicy[];
|
|
10
|
-
flowPhase: FlowPhase;
|
|
11
|
-
apiType: ApiType;
|
|
12
|
-
disableMoveRight: boolean;
|
|
13
|
-
disableMoveLeft: boolean;
|
|
14
|
-
stepChange: EventEmitter<Step>;
|
|
15
|
-
deleted: EventEmitter<void>;
|
|
16
|
-
disabled: EventEmitter<void>;
|
|
17
|
-
duplicated: EventEmitter<void>;
|
|
18
|
-
movedRight: EventEmitter<void>;
|
|
19
|
-
movedLeft: EventEmitter<void>;
|
|
20
|
-
protected genericPolicy?: GenericPolicy;
|
|
21
|
-
protected policyNotFound: false | 'SHARED_POLICY_GROUP' | 'POLICY';
|
|
22
|
-
protected get getPrerequisiteMessage(): string | undefined;
|
|
23
|
-
constructor(matDialog: MatDialog);
|
|
24
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
25
|
-
onEditOrView(): void;
|
|
26
|
-
onDisable(): void;
|
|
27
|
-
onDelete(): void;
|
|
28
|
-
onDuplicate(): void;
|
|
29
|
-
onMoveRight(): void;
|
|
30
|
-
onMoveLeft(): void;
|
|
31
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioDetailsPhaseStepComponent, never>;
|
|
32
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioDetailsPhaseStepComponent, "gio-ps-flow-details-phase-step", never, { "readOnly": { "alias": "readOnly"; "required": false; }; "step": { "alias": "step"; "required": false; }; "genericPolicies": { "alias": "genericPolicies"; "required": false; }; "flowPhase": { "alias": "flowPhase"; "required": true; }; "apiType": { "alias": "apiType"; "required": true; }; "disableMoveRight": { "alias": "disableMoveRight"; "required": false; }; "disableMoveLeft": { "alias": "disableMoveLeft"; "required": false; }; }, { "stepChange": "stepChange"; "deleted": "deleted"; "disabled": "disabled"; "duplicated": "duplicated"; "movedRight": "movedRight"; "movedLeft": "movedLeft"; }, never, never, true, never>;
|
|
33
|
-
}
|
package/lib/components/flow-execution-form-dialog/gio-ps-flow-execution-form-dialog.component.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { MatDialogRef } from '@angular/material/dialog';
|
|
2
|
-
import { UntypedFormGroup } from '@angular/forms';
|
|
3
|
-
import { FlowExecution } from '../../models';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export type GioPolicyStudioFlowExecutionFormDialogData = {
|
|
6
|
-
flowExecution?: FlowExecution;
|
|
7
|
-
readOnly?: boolean;
|
|
8
|
-
};
|
|
9
|
-
export declare class GioPolicyStudioFlowExecutionFormDialogComponent {
|
|
10
|
-
dialogRef: MatDialogRef<GioPolicyStudioFlowExecutionFormDialogComponent, FlowExecution | undefined>;
|
|
11
|
-
flowExecutionFormGroup?: UntypedFormGroup;
|
|
12
|
-
existingFlowExecution?: FlowExecution;
|
|
13
|
-
readOnly: boolean;
|
|
14
|
-
constructor(dialogRef: MatDialogRef<GioPolicyStudioFlowExecutionFormDialogComponent, FlowExecution | undefined>, flowDialogData: GioPolicyStudioFlowExecutionFormDialogData);
|
|
15
|
-
onSubmit(): void;
|
|
16
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioFlowExecutionFormDialogComponent, never>;
|
|
17
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioFlowExecutionFormDialogComponent, "gio-ps-flow-execution-form-dialog", never, {}, {}, never, never, true, never>;
|
|
18
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { MatDialogRef } from '@angular/material/dialog';
|
|
2
|
-
import { UntypedFormGroup } from '@angular/forms';
|
|
3
|
-
import { GioPolicyStudioFlowFormDialogResult } from '../gio-ps-flow-form-dialog-result.model';
|
|
4
|
-
import { ConnectorInfo } from '../../../models';
|
|
5
|
-
import { FlowVM } from '../../../policy-studio/gio-policy-studio.model';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export type GioPolicyStudioFlowMessageFormDialogData = {
|
|
8
|
-
flow?: FlowVM;
|
|
9
|
-
entrypoints?: ConnectorInfo[];
|
|
10
|
-
};
|
|
11
|
-
export declare class GioPolicyStudioFlowMessageFormDialogComponent {
|
|
12
|
-
dialogRef: MatDialogRef<GioPolicyStudioFlowMessageFormDialogComponent, GioPolicyStudioFlowFormDialogResult>;
|
|
13
|
-
entrypoints: ConnectorInfo[];
|
|
14
|
-
flowFormGroup?: UntypedFormGroup;
|
|
15
|
-
existingFlow?: FlowVM;
|
|
16
|
-
mode: 'create' | 'edit';
|
|
17
|
-
constructor(dialogRef: MatDialogRef<GioPolicyStudioFlowMessageFormDialogComponent, GioPolicyStudioFlowFormDialogResult>, flowDialogData: GioPolicyStudioFlowMessageFormDialogData);
|
|
18
|
-
onSubmit(): void;
|
|
19
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioFlowMessageFormDialogComponent, never>;
|
|
20
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioFlowMessageFormDialogComponent, "gio-ps-flow-message-form-dialog", never, {}, {}, never, never, true, never>;
|
|
21
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { MatDialogRef } from '@angular/material/dialog';
|
|
2
|
-
import { UntypedFormGroup } from '@angular/forms';
|
|
3
|
-
import { GioPolicyStudioFlowFormDialogResult } from '../gio-ps-flow-form-dialog-result.model';
|
|
4
|
-
import { FlowVM } from '../../../policy-studio/gio-policy-studio.model';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export type GioPolicyStudioFlowNativeFormDialogData = {
|
|
7
|
-
flow?: FlowVM;
|
|
8
|
-
parentGroupName?: string;
|
|
9
|
-
};
|
|
10
|
-
export declare class GioPolicyStudioFlowNativeFormDialogComponent {
|
|
11
|
-
dialogRef: MatDialogRef<GioPolicyStudioFlowNativeFormDialogComponent, GioPolicyStudioFlowFormDialogResult>;
|
|
12
|
-
flowFormGroup?: UntypedFormGroup;
|
|
13
|
-
existingFlow?: FlowVM;
|
|
14
|
-
mode: 'create' | 'edit';
|
|
15
|
-
private defaultFlowName;
|
|
16
|
-
constructor(dialogRef: MatDialogRef<GioPolicyStudioFlowNativeFormDialogComponent, GioPolicyStudioFlowFormDialogResult>, flowDialogData: GioPolicyStudioFlowNativeFormDialogData);
|
|
17
|
-
onSubmit(): void;
|
|
18
|
-
private getFlowName;
|
|
19
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioFlowNativeFormDialogComponent, never>;
|
|
20
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioFlowNativeFormDialogComponent, "gio-ps-flow-native-form-dialog", never, {}, {}, never, never, true, never>;
|
|
21
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { MatDialogRef } from '@angular/material/dialog';
|
|
2
|
-
import { UntypedFormGroup } from '@angular/forms';
|
|
3
|
-
import { GioPolicyStudioFlowFormDialogResult } from '../gio-ps-flow-form-dialog-result.model';
|
|
4
|
-
import { HttpMethod } from '../../../models';
|
|
5
|
-
import { FlowVM } from '../../../policy-studio/gio-policy-studio.model';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export type GioPolicyStudioFlowProxyFormDialogData = {
|
|
8
|
-
flow?: FlowVM;
|
|
9
|
-
};
|
|
10
|
-
type HttpMethodVM = HttpMethod | 'ALL';
|
|
11
|
-
export declare class GioPolicyStudioFlowProxyFormDialogComponent {
|
|
12
|
-
dialogRef: MatDialogRef<GioPolicyStudioFlowProxyFormDialogComponent, GioPolicyStudioFlowFormDialogResult>;
|
|
13
|
-
flowFormGroup?: UntypedFormGroup;
|
|
14
|
-
existingFlow?: FlowVM;
|
|
15
|
-
mode: 'create' | 'edit';
|
|
16
|
-
methods: HttpMethodVM[];
|
|
17
|
-
constructor(dialogRef: MatDialogRef<GioPolicyStudioFlowProxyFormDialogComponent, GioPolicyStudioFlowFormDialogResult>, flowDialogData: GioPolicyStudioFlowProxyFormDialogData);
|
|
18
|
-
onSubmit(): void;
|
|
19
|
-
tagValidationHook(tag: string, validationCb: (shouldAddTag: boolean) => void): void;
|
|
20
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioFlowProxyFormDialogComponent, never>;
|
|
21
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioFlowProxyFormDialogComponent, "gio-ps-flow-proxy-form-dialog", never, {}, {}, never, never, true, never>;
|
|
22
|
-
}
|
|
23
|
-
export declare const sanitizePath: (path: string) => string;
|
|
24
|
-
export {};
|