@gravitee/ui-policy-studio-angular 7.11.0 → 7.12.0-policy-studio-step-7-33cd621
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/lib/components/flow-details/gio-ps-flow-details.component.mjs +16 -3
- package/esm2020/lib/components/flow-details-phase/gio-ps-flow-details-phase.component.mjs +58 -16
- package/esm2020/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.component.mjs +77 -0
- package/esm2020/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.component.mjs +67 -0
- package/esm2020/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.component.mjs +46 -0
- package/esm2020/lib/components/step-form/gio-ps-step-form.component.mjs +78 -0
- package/esm2020/lib/gio-policy-studio.component.mjs +47 -12
- package/esm2020/lib/gio-policy-studio.module.mjs +17 -6
- package/esm2020/lib/gio-policy-studio.service.mjs +66 -0
- package/esm2020/lib/models/PolicySchemaFetcher.mjs +2 -0
- package/esm2020/lib/models/index.mjs +3 -1
- package/esm2020/lib/models/policy/Policy.mjs +2 -0
- package/esm2020/lib/models/policy/index.mjs +17 -0
- package/esm2020/testing/lib/components/flow-details-phase/gio-ps-flow-details-phase.harness.mjs +19 -5
- package/esm2020/testing/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.harness.mjs +38 -0
- package/esm2020/testing/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.harness.mjs +55 -0
- package/esm2020/testing/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.harness.mjs +30 -0
- package/esm2020/testing/lib/components/step-form/gio-ps-step-form.harness.mjs +37 -0
- package/esm2020/testing/lib/gio-policy-studio.harness.mjs +43 -5
- package/esm2020/testing/lib/models/PolicySchemaFetcher.mjs +2 -0
- package/esm2020/testing/lib/models/flow/Step.fixture.mjs +10 -9
- package/esm2020/testing/lib/models/index-testing.mjs +2 -1
- package/esm2020/testing/lib/models/index.mjs +3 -1
- package/esm2020/testing/lib/models/policy/Policy.fixture.mjs +133 -0
- package/esm2020/testing/lib/models/policy/Policy.mjs +2 -0
- package/esm2020/testing/lib/models/policy/index-testing.mjs +17 -0
- package/esm2020/testing/lib/models/policy/index.mjs +17 -0
- package/fesm2015/gravitee-ui-policy-studio-angular-testing.mjs +316 -20
- package/fesm2015/gravitee-ui-policy-studio-angular-testing.mjs.map +1 -1
- package/fesm2015/gravitee-ui-policy-studio-angular.mjs +397 -32
- package/fesm2015/gravitee-ui-policy-studio-angular.mjs.map +1 -1
- package/fesm2020/gravitee-ui-policy-studio-angular-testing.mjs +336 -20
- package/fesm2020/gravitee-ui-policy-studio-angular-testing.mjs.map +1 -1
- package/fesm2020/gravitee-ui-policy-studio-angular.mjs +403 -32
- package/fesm2020/gravitee-ui-policy-studio-angular.mjs.map +1 -1
- package/lib/components/flow-details/gio-ps-flow-details.component.d.ts +4 -2
- package/lib/components/flow-details-phase/gio-ps-flow-details-phase.component.d.ts +15 -5
- package/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.component.d.ts +18 -0
- package/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.component.d.ts +23 -0
- package/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.component.d.ts +18 -0
- package/lib/components/step-form/gio-ps-step-form.component.d.ts +23 -0
- package/lib/gio-policy-studio.component.d.ts +31 -2
- package/lib/gio-policy-studio.module.d.ts +17 -14
- package/lib/gio-policy-studio.service.d.ts +26 -0
- package/lib/models/PolicySchemaFetcher.d.ts +4 -0
- package/lib/models/index.d.ts +2 -0
- package/lib/models/policy/Policy.d.ts +11 -0
- package/lib/models/policy/index.d.ts +1 -0
- package/package.json +1 -1
- package/testing/lib/components/flow-details-phase/gio-ps-flow-details-phase.harness.d.ts +11 -4
- package/testing/lib/components/{flow-details-phase-policy/gio-ps-flow-details-phase-policy.harness.d.ts → flow-details-phase-step/gio-ps-flow-details-phase-step.harness.d.ts} +4 -3
- package/testing/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.harness.d.ts +12 -0
- package/testing/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.harness.d.ts +8 -0
- package/testing/lib/components/step-form/gio-ps-step-form.harness.d.ts +11 -0
- package/testing/lib/gio-policy-studio.harness.d.ts +22 -6
- package/testing/lib/models/PolicySchemaFetcher.d.ts +4 -0
- package/testing/lib/models/flow/Step.fixture.d.ts +2 -2
- package/testing/lib/models/index-testing.d.ts +1 -0
- package/testing/lib/models/index.d.ts +2 -0
- package/testing/lib/models/policy/Policy.d.ts +11 -0
- package/testing/lib/models/policy/Policy.fixture.d.ts +4 -0
- package/testing/lib/models/policy/index-testing.d.ts +1 -0
- package/testing/lib/models/policy/index.d.ts +1 -0
- package/esm2020/lib/components/flow-details-phase-policy/gio-ps-flow-details-phase-policy.component.mjs +0 -41
- package/esm2020/testing/lib/components/flow-details-phase-policy/gio-ps-flow-details-phase-policy.harness.mjs +0 -33
- package/lib/components/flow-details-phase-policy/gio-ps-flow-details-phase-policy.component.d.ts +0 -10
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
2
|
import { MatDialog } from '@angular/material/dialog';
|
|
3
3
|
import { FlowVM } from '../../gio-policy-studio.model';
|
|
4
|
-
import { ApiType, ConnectorInfo } from '../../models';
|
|
4
|
+
import { ApiType, ConnectorInfo, Policy, Step } from '../../models';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class GioPolicyStudioDetailsComponent {
|
|
7
7
|
private readonly matDialog;
|
|
@@ -9,11 +9,13 @@ export declare class GioPolicyStudioDetailsComponent {
|
|
|
9
9
|
flow?: FlowVM;
|
|
10
10
|
entrypointsInfo: ConnectorInfo[];
|
|
11
11
|
endpointsInfo: ConnectorInfo[];
|
|
12
|
+
policies: Policy[];
|
|
12
13
|
flowChange: EventEmitter<FlowVM>;
|
|
13
14
|
deleteFlow: EventEmitter<FlowVM>;
|
|
14
15
|
constructor(matDialog: MatDialog);
|
|
15
16
|
onEditFlow(): void;
|
|
16
17
|
onDeleteFlow(): void;
|
|
18
|
+
onStepsChange(flowPhase: 'request' | 'response' | 'publish' | 'subscribe', steps: Step[]): void;
|
|
17
19
|
static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioDetailsComponent, never>;
|
|
18
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioDetailsComponent, "gio-ps-flow-details", never, { "apiType": "apiType"; "flow": "flow"; "entrypointsInfo": "entrypointsInfo"; "endpointsInfo": "endpointsInfo"; }, { "flowChange": "flowChange"; "deleteFlow": "deleteFlow"; }, never, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioDetailsComponent, "gio-ps-flow-details", never, { "apiType": "apiType"; "flow": "flow"; "entrypointsInfo": "entrypointsInfo"; "endpointsInfo": "endpointsInfo"; "policies": "policies"; }, { "flowChange": "flowChange"; "deleteFlow": "deleteFlow"; }, never, never>;
|
|
19
21
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
-
import {
|
|
1
|
+
import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
+
import { ApiType, ConnectorInfo, ExecutionPhase, Policy, Step } from '../../models';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
declare type StepVM = {
|
|
5
6
|
type: 'connectors';
|
|
@@ -8,19 +9,28 @@ declare type StepVM = {
|
|
|
8
9
|
icon?: string;
|
|
9
10
|
}[];
|
|
10
11
|
} | {
|
|
11
|
-
type: '
|
|
12
|
+
type: 'step';
|
|
12
13
|
step: Step;
|
|
14
|
+
index: number;
|
|
13
15
|
};
|
|
14
16
|
export declare class GioPolicyStudioDetailsPhaseComponent implements OnChanges {
|
|
15
|
-
|
|
17
|
+
private readonly matDialog;
|
|
18
|
+
steps: Step[];
|
|
16
19
|
name: string;
|
|
17
20
|
description: string;
|
|
18
21
|
startConnector: ConnectorInfo[];
|
|
19
22
|
endConnector: ConnectorInfo[];
|
|
23
|
+
apiType: ApiType;
|
|
24
|
+
policies: Policy[];
|
|
25
|
+
policyExecutionPhase: ExecutionPhase;
|
|
26
|
+
stepsChange: EventEmitter<Step[]>;
|
|
20
27
|
stepsVM: StepVM[];
|
|
21
28
|
isDisabled: boolean;
|
|
29
|
+
constructor(matDialog: MatDialog);
|
|
22
30
|
ngOnChanges(changes: SimpleChanges): void;
|
|
31
|
+
onAddPolicy(index: number): void;
|
|
32
|
+
onStepChange(index: number, stepToEdit: Step): void;
|
|
23
33
|
static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioDetailsPhaseComponent, never>;
|
|
24
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioDetailsPhaseComponent, "gio-ps-flow-details-phase", never, { "steps": "steps"; "name": "name"; "description": "description"; "startConnector": "startConnector"; "endConnector": "endConnector"; }, {}, never, never>;
|
|
34
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioDetailsPhaseComponent, "gio-ps-flow-details-phase", never, { "steps": "steps"; "name": "name"; "description": "description"; "startConnector": "startConnector"; "endConnector": "endConnector"; "apiType": "apiType"; "policies": "policies"; "policyExecutionPhase": "policyExecutionPhase"; }, { "stepsChange": "stepsChange"; }, never, never>;
|
|
25
35
|
}
|
|
26
36
|
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
+
import { Policy, Step } from '../../models';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class GioPolicyStudioDetailsPhaseStepComponent implements OnChanges {
|
|
6
|
+
private readonly matDialog;
|
|
7
|
+
step: Step;
|
|
8
|
+
policies: Policy[];
|
|
9
|
+
stepChange: EventEmitter<Step>;
|
|
10
|
+
policy?: Policy;
|
|
11
|
+
constructor(matDialog: MatDialog);
|
|
12
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
13
|
+
onEdit(): void;
|
|
14
|
+
onDisable(): void;
|
|
15
|
+
onDelete(): void;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioDetailsPhaseStepComponent, never>;
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioDetailsPhaseStepComponent, "gio-ps-flow-details-phase-step", never, { "step": "step"; "policies": "policies"; }, { "stepChange": "stepChange"; }, never, never>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
2
|
+
import { ApiType, ExecutionPhase, Policy, Step } from '../../models';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare type GioPolicyStudioPoliciesCatalogDialogData = {
|
|
5
|
+
policies: Policy[];
|
|
6
|
+
executionPhase: ExecutionPhase;
|
|
7
|
+
apiType: ApiType;
|
|
8
|
+
};
|
|
9
|
+
export declare type GioPolicyStudioPoliciesCatalogDialogResult = undefined | Step;
|
|
10
|
+
export declare class GioPolicyStudioPoliciesCatalogDialogComponent {
|
|
11
|
+
dialogRef: MatDialogRef<GioPolicyStudioPoliciesCatalogDialogComponent, GioPolicyStudioPoliciesCatalogDialogResult>;
|
|
12
|
+
policies: Policy[];
|
|
13
|
+
executionPhaseLabel: string;
|
|
14
|
+
selectedPolicy?: Policy;
|
|
15
|
+
stepToAdd?: Step;
|
|
16
|
+
isValid: boolean;
|
|
17
|
+
constructor(dialogRef: MatDialogRef<GioPolicyStudioPoliciesCatalogDialogComponent, GioPolicyStudioPoliciesCatalogDialogResult>, flowDialogData: GioPolicyStudioPoliciesCatalogDialogData);
|
|
18
|
+
onSelectPolicy(policy: Policy): void;
|
|
19
|
+
onAddPolicy(): void;
|
|
20
|
+
onGoBack(): void;
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioPoliciesCatalogDialogComponent, never>;
|
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioPoliciesCatalogDialogComponent, "gio-ps-policies-catalog-dialog", never, {}, {}, never, never>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
2
|
+
import { Policy, Step } from '../../models';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare type GioPolicyStudioStepEditDialogData = {
|
|
5
|
+
policy: Policy;
|
|
6
|
+
step: Step;
|
|
7
|
+
};
|
|
8
|
+
export declare type GioPolicyStudioStepEditDialogResult = undefined | Step;
|
|
9
|
+
export declare class GioPolicyStudioStepEditDialogComponent {
|
|
10
|
+
dialogRef: MatDialogRef<GioPolicyStudioStepEditDialogComponent, GioPolicyStudioStepEditDialogResult>;
|
|
11
|
+
policy: Policy;
|
|
12
|
+
step: Step;
|
|
13
|
+
isValid: boolean;
|
|
14
|
+
constructor(dialogRef: MatDialogRef<GioPolicyStudioStepEditDialogComponent, GioPolicyStudioStepEditDialogResult>, flowDialogData: GioPolicyStudioStepEditDialogData);
|
|
15
|
+
onSave(): void;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioStepEditDialogComponent, never>;
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioStepEditDialogComponent, "gio-ps-step-edit-dialog", never, {}, {}, never, never>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
import { GioPolicyStudioService } from '../../gio-policy-studio.service';
|
|
4
|
+
import { Policy, Step } from '../../models';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class GioPolicyStudioStepFormComponent implements OnChanges, OnInit, OnDestroy {
|
|
7
|
+
private readonly policyStudioService;
|
|
8
|
+
step?: Step;
|
|
9
|
+
policy: Policy;
|
|
10
|
+
stepChange: EventEmitter<Step>;
|
|
11
|
+
isValid: EventEmitter<boolean>;
|
|
12
|
+
policySchema$?: unknown;
|
|
13
|
+
policyDocumentation$?: unknown;
|
|
14
|
+
stepForm?: FormGroup;
|
|
15
|
+
private unsubscribe$;
|
|
16
|
+
constructor(policyStudioService: GioPolicyStudioService);
|
|
17
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
18
|
+
ngOnInit(): void;
|
|
19
|
+
ngOnDestroy(): void;
|
|
20
|
+
private initStepForm;
|
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioStepFormComponent, never>;
|
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioStepFormComponent, "gio-ps-step-form", never, { "step": "step"; "policy": "policy"; }, { "stepChange": "stepChange"; "isValid": "isValid"; }, never, never>;
|
|
23
|
+
}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
-
import { ApiType, ConnectorInfo, Flow, Plan,
|
|
2
|
+
import { ApiType, ConnectorInfo, Flow, FlowExecution, Plan, Policy, PolicyDocumentationFetcher, PolicySchemaFetcher, SaveOutput } from './models';
|
|
3
3
|
import { FlowGroupVM, FlowVM } from './gio-policy-studio.model';
|
|
4
|
+
import { GioPolicyStudioService } from './gio-policy-studio.service';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export declare class GioPolicyStudioComponent implements OnChanges {
|
|
7
|
+
private readonly policyStudioService;
|
|
8
|
+
/**
|
|
9
|
+
* API type (required)
|
|
10
|
+
*/
|
|
6
11
|
apiType: ApiType;
|
|
12
|
+
/**
|
|
13
|
+
* Flow execution config (required)
|
|
14
|
+
*/
|
|
7
15
|
flowExecution: FlowExecution;
|
|
8
16
|
/**
|
|
9
17
|
* List of entrypoints to display
|
|
@@ -13,8 +21,28 @@ export declare class GioPolicyStudioComponent implements OnChanges {
|
|
|
13
21
|
* List of endpoints to display
|
|
14
22
|
*/
|
|
15
23
|
endpointsInfo: ConnectorInfo[];
|
|
24
|
+
/**
|
|
25
|
+
* List of common flows to add to common flows group
|
|
26
|
+
*/
|
|
16
27
|
commonFlows: Flow[];
|
|
28
|
+
/**
|
|
29
|
+
* List of plans with their flows
|
|
30
|
+
*/
|
|
17
31
|
plans: Plan[];
|
|
32
|
+
/**
|
|
33
|
+
* List of policies usable in the policy studio
|
|
34
|
+
*/
|
|
35
|
+
policies: Policy[];
|
|
36
|
+
/**
|
|
37
|
+
* Called when Policy Studio needs to fetch the policy schema
|
|
38
|
+
* @returns Observable of the policy schema
|
|
39
|
+
*/
|
|
40
|
+
policySchemaFetcher: PolicySchemaFetcher;
|
|
41
|
+
/**
|
|
42
|
+
* Called when Policy Studio needs to fetch the policy documentation
|
|
43
|
+
* @returns Observable of the policy documentation
|
|
44
|
+
*/
|
|
45
|
+
policyDocumentationFetcher: PolicyDocumentationFetcher;
|
|
18
46
|
/**
|
|
19
47
|
* Return what is needed to save.
|
|
20
48
|
**/
|
|
@@ -25,6 +53,7 @@ export declare class GioPolicyStudioComponent implements OnChanges {
|
|
|
25
53
|
disableSaveButton: boolean;
|
|
26
54
|
private initialFlowsGroups;
|
|
27
55
|
private hasFlowExecutionChanged;
|
|
56
|
+
constructor(policyStudioService: GioPolicyStudioService);
|
|
28
57
|
ngOnChanges(changes: SimpleChanges): void;
|
|
29
58
|
onFlowExecutionChange(flowExecution: FlowExecution): void;
|
|
30
59
|
onFlowsGroupsChange(flowsGroups: FlowGroupVM[]): void;
|
|
@@ -32,5 +61,5 @@ export declare class GioPolicyStudioComponent implements OnChanges {
|
|
|
32
61
|
onDeleteSelectedFlow(flow: FlowVM): void;
|
|
33
62
|
onSave(): void;
|
|
34
63
|
static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioComponent, never>;
|
|
35
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioComponent, "gio-policy-studio", never, { "apiType": "apiType"; "flowExecution": "flowExecution"; "entrypointsInfo": "entrypointsInfo"; "endpointsInfo": "endpointsInfo"; "commonFlows": "commonFlows"; "plans": "plans"; }, { "save": "save"; }, never, never>;
|
|
64
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioComponent, "gio-policy-studio", never, { "apiType": "apiType"; "flowExecution": "flowExecution"; "entrypointsInfo": "entrypointsInfo"; "endpointsInfo": "endpointsInfo"; "commonFlows": "commonFlows"; "plans": "plans"; "policies": "policies"; "policySchemaFetcher": "policySchemaFetcher"; "policyDocumentationFetcher": "policyDocumentationFetcher"; }, { "save": "save"; }, never, never>;
|
|
36
65
|
}
|
|
@@ -7,22 +7,25 @@ import * as i5 from "./components/flow-form-dialog/flow-message-form-dialog/gio-
|
|
|
7
7
|
import * as i6 from "./components/flow-form-dialog/flow-proxy-form-dialog/gio-ps-flow-proxy-form-dialog.component";
|
|
8
8
|
import * as i7 from "./components/flow-details-info-bar/gio-ps-flow-details-info-bar.component";
|
|
9
9
|
import * as i8 from "./components/flow-details-phase/gio-ps-flow-details-phase.component";
|
|
10
|
-
import * as i9 from "./components/flow-details-phase-
|
|
10
|
+
import * as i9 from "./components/flow-details-phase-step/gio-ps-flow-details-phase-step.component";
|
|
11
11
|
import * as i10 from "./components/filter-pipe/gio-flter-connectors-by-mode.pipe";
|
|
12
|
-
import * as i11 from "
|
|
13
|
-
import * as i12 from "
|
|
14
|
-
import * as i13 from "
|
|
15
|
-
import * as i14 from "@angular/
|
|
16
|
-
import * as i15 from "@angular/
|
|
17
|
-
import * as i16 from "@angular/material/
|
|
18
|
-
import * as i17 from "@angular/material/
|
|
19
|
-
import * as i18 from "@angular/material/
|
|
20
|
-
import * as i19 from "@angular/material/
|
|
21
|
-
import * as i20 from "@angular/material/
|
|
22
|
-
import * as i21 from "@angular/material/
|
|
23
|
-
import * as i22 from "@
|
|
12
|
+
import * as i11 from "./components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.component";
|
|
13
|
+
import * as i12 from "./components/step-edit-dialog/gio-ps-step-edit-dialog.component";
|
|
14
|
+
import * as i13 from "./components/step-form/gio-ps-step-form.component";
|
|
15
|
+
import * as i14 from "@angular/common";
|
|
16
|
+
import * as i15 from "@angular/forms";
|
|
17
|
+
import * as i16 from "@angular/material/button";
|
|
18
|
+
import * as i17 from "@angular/material/tooltip";
|
|
19
|
+
import * as i18 from "@angular/material/form-field";
|
|
20
|
+
import * as i19 from "@angular/material/input";
|
|
21
|
+
import * as i20 from "@angular/material/select";
|
|
22
|
+
import * as i21 from "@angular/material/slide-toggle";
|
|
23
|
+
import * as i22 from "@angular/material/dialog";
|
|
24
|
+
import * as i23 from "@angular/material/tabs";
|
|
25
|
+
import * as i24 from "@angular/material/menu";
|
|
26
|
+
import * as i25 from "@gravitee/ui-particles-angular";
|
|
24
27
|
export declare class GioPolicyStudioModule {
|
|
25
28
|
static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioModule, never>;
|
|
26
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<GioPolicyStudioModule, [typeof i1.GioPolicyStudioComponent, typeof i2.GioPolicyStudioFlowsMenuComponent, typeof i3.GioPolicyStudioDetailsComponent, typeof i4.GioPolicyStudioFlowExecutionFormDialogComponent, typeof i5.GioPolicyStudioFlowMessageFormDialogComponent, typeof i6.GioPolicyStudioFlowProxyFormDialogComponent, typeof i7.GioPolicyStudioDetailsInfoBarComponent, typeof i8.GioPolicyStudioDetailsPhaseComponent, typeof i9.
|
|
29
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<GioPolicyStudioModule, [typeof i1.GioPolicyStudioComponent, typeof i2.GioPolicyStudioFlowsMenuComponent, typeof i3.GioPolicyStudioDetailsComponent, typeof i4.GioPolicyStudioFlowExecutionFormDialogComponent, typeof i5.GioPolicyStudioFlowMessageFormDialogComponent, typeof i6.GioPolicyStudioFlowProxyFormDialogComponent, typeof i7.GioPolicyStudioDetailsInfoBarComponent, typeof i8.GioPolicyStudioDetailsPhaseComponent, typeof i9.GioPolicyStudioDetailsPhaseStepComponent, typeof i10.GioFilterConnectorsByModePipe, typeof i11.GioPolicyStudioPoliciesCatalogDialogComponent, typeof i12.GioPolicyStudioStepEditDialogComponent, typeof i13.GioPolicyStudioStepFormComponent], [typeof i14.CommonModule, typeof i15.ReactiveFormsModule, typeof i16.MatButtonModule, typeof i17.MatTooltipModule, typeof i18.MatFormFieldModule, typeof i19.MatInputModule, typeof i20.MatSelectModule, typeof i21.MatSlideToggleModule, typeof i22.MatDialogModule, typeof i23.MatTabsModule, typeof i24.MatMenuModule, typeof i25.GioIconsModule, typeof i25.GioFormSlideToggleModule, typeof i25.GioFormTagsInputModule, typeof i25.GioBannerModule], [typeof i1.GioPolicyStudioComponent]>;
|
|
27
30
|
static ɵinj: i0.ɵɵInjectorDeclaration<GioPolicyStudioModule>;
|
|
28
31
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { Policy, PolicySchemaFetcher } from './models';
|
|
3
|
+
export declare class GioPolicyStudioService {
|
|
4
|
+
private schemasCache;
|
|
5
|
+
private documentationsCache;
|
|
6
|
+
private policySchemaFetcher?;
|
|
7
|
+
private policyDocumentationFetcher?;
|
|
8
|
+
setPolicySchemaFetcher(policySchemaFetcher: PolicySchemaFetcher): void;
|
|
9
|
+
setPolicyDocumentationFetcher(policyDocumentationFetcher: PolicySchemaFetcher): void;
|
|
10
|
+
/**
|
|
11
|
+
* Call the policy schema fetcher to get the schema for the given policy. If the
|
|
12
|
+
* schema has already been fetched, it will be returned from the cache.
|
|
13
|
+
*
|
|
14
|
+
* @param policy to get the schema for
|
|
15
|
+
* @returns the schema for the policy
|
|
16
|
+
*/
|
|
17
|
+
getPolicySchema(policy: Policy): Observable<unknown>;
|
|
18
|
+
/**
|
|
19
|
+
* Call the policy documentation fetcher to get the documentation for the given policy. If the
|
|
20
|
+
* documentation has already been fetched, it will be returned from the cache.
|
|
21
|
+
*
|
|
22
|
+
* @param policy to get the documentation for
|
|
23
|
+
* @returns the documentation for the policy
|
|
24
|
+
*/
|
|
25
|
+
getPolicyDocumentation(policy: Policy): Observable<unknown>;
|
|
26
|
+
}
|
package/lib/models/index.d.ts
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare type ExecutionPhase = 'REQUEST' | 'RESPONSE' | 'MESSAGE_REQUEST' | 'MESSAGE_RESPONSE';
|
|
2
|
+
export interface Policy {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
icon?: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
category?: string;
|
|
8
|
+
version?: string;
|
|
9
|
+
proxy?: ExecutionPhase[];
|
|
10
|
+
message?: ExecutionPhase[];
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Policy';
|
package/package.json
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
|
|
2
|
+
import { GioPolicyStudioDetailsPhaseStepHarness } from '../flow-details-phase-step/gio-ps-flow-details-phase-step.harness';
|
|
2
3
|
export declare type PhaseType = 'REQUEST' | 'RESPONSE' | 'PUBLISH' | 'SUBSCRIBE';
|
|
3
4
|
export declare type GioPolicyStudioDetailsPhaseHarnessFilters = BaseHarnessFilters & {
|
|
4
5
|
type?: PhaseType;
|
|
5
6
|
};
|
|
7
|
+
export declare type StepCard = {
|
|
8
|
+
text: string;
|
|
9
|
+
type: 'connector';
|
|
10
|
+
} | {
|
|
11
|
+
text: string;
|
|
12
|
+
type: 'step';
|
|
13
|
+
};
|
|
6
14
|
export declare class GioPolicyStudioDetailsPhaseHarness extends ComponentHarness {
|
|
7
15
|
static hostSelector: string;
|
|
8
16
|
private getHeaderName;
|
|
@@ -13,8 +21,7 @@ export declare class GioPolicyStudioDetailsPhaseHarness extends ComponentHarness
|
|
|
13
21
|
* @return a `HarnessPredicate` configured with the given options.
|
|
14
22
|
*/
|
|
15
23
|
static with(options?: GioPolicyStudioDetailsPhaseHarnessFilters): HarnessPredicate<GioPolicyStudioDetailsPhaseHarness>;
|
|
16
|
-
getSteps(): Promise<
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}[] | null>;
|
|
24
|
+
getSteps(): Promise<StepCard[] | null>;
|
|
25
|
+
getStep(index: number): Promise<GioPolicyStudioDetailsPhaseStepHarness>;
|
|
26
|
+
clickAddStep(index: number): Promise<void>;
|
|
20
27
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
|
|
2
|
-
export declare type
|
|
3
|
-
export declare class
|
|
2
|
+
export declare type GioPolicyStudioDetailsPhaseStepHarnessFilters = BaseHarnessFilters;
|
|
3
|
+
export declare class GioPolicyStudioDetailsPhaseStepHarness extends ComponentHarness {
|
|
4
4
|
static hostSelector: string;
|
|
5
5
|
/**
|
|
6
6
|
* Get Harness with the given filter.
|
|
@@ -8,6 +8,7 @@ export declare class GioPolicyStudioDetailsPhasePolicyHarness extends ComponentH
|
|
|
8
8
|
* @param options Options for filtering which input instances are considered a match.
|
|
9
9
|
* @return a `HarnessPredicate` configured with the given options.
|
|
10
10
|
*/
|
|
11
|
-
static with(options?:
|
|
11
|
+
static with(options?: GioPolicyStudioDetailsPhaseStepHarnessFilters): HarnessPredicate<GioPolicyStudioDetailsPhaseStepHarness>;
|
|
12
12
|
getName(): Promise<string>;
|
|
13
|
+
clickOnEdit(): Promise<void>;
|
|
13
14
|
}
|
package/testing/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.harness.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ComponentHarness } from '@angular/cdk/testing';
|
|
2
|
+
import { GioPolicyStudioStepFormHarness } from '../step-form/gio-ps-step-form.harness';
|
|
3
|
+
export declare class GioPolicyStudioPoliciesCatalogDialogHarness extends ComponentHarness {
|
|
4
|
+
static hostSelector: string;
|
|
5
|
+
private policiesLocator;
|
|
6
|
+
getPhase(): Promise<string>;
|
|
7
|
+
getPoliciesName(): Promise<string[]>;
|
|
8
|
+
selectPolicy(policyName: string): Promise<void>;
|
|
9
|
+
getSelectedPolicyName(): Promise<string>;
|
|
10
|
+
clickAddPolicyButton(): Promise<void>;
|
|
11
|
+
getStepForm(): Promise<GioPolicyStudioStepFormHarness>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ComponentHarness } from '@angular/cdk/testing';
|
|
2
|
+
import { GioPolicyStudioStepFormHarness } from '../step-form/gio-ps-step-form.harness';
|
|
3
|
+
export declare class GioPolicyStudioStepEditDialogHarness extends ComponentHarness {
|
|
4
|
+
static hostSelector: string;
|
|
5
|
+
getPolicyName(): Promise<string>;
|
|
6
|
+
getStepForm(): Promise<GioPolicyStudioStepFormHarness>;
|
|
7
|
+
save(): Promise<void>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ComponentHarness } from '@angular/cdk/testing';
|
|
2
|
+
export declare class GioPolicyStudioStepFormHarness extends ComponentHarness {
|
|
3
|
+
static hostSelector: string;
|
|
4
|
+
private getDescriptionInput;
|
|
5
|
+
setStepForm(stepForm: {
|
|
6
|
+
description?: string;
|
|
7
|
+
}): Promise<void>;
|
|
8
|
+
getStepFormValue(): Promise<{
|
|
9
|
+
description?: string;
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ComponentHarness } from '@angular/cdk/testing';
|
|
2
2
|
import { Flow, FlowExecution } from './models';
|
|
3
|
-
import { PhaseType } from './components/flow-details-phase/gio-ps-flow-details-phase.harness';
|
|
3
|
+
import { GioPolicyStudioDetailsPhaseHarness, PhaseType } from './components/flow-details-phase/gio-ps-flow-details-phase.harness';
|
|
4
4
|
export declare class GioPolicyStudioHarness extends ComponentHarness {
|
|
5
5
|
static hostSelector: string;
|
|
6
6
|
private menuHarness;
|
|
@@ -48,17 +48,33 @@ export declare class GioPolicyStudioHarness extends ComponentHarness {
|
|
|
48
48
|
*/
|
|
49
49
|
getSelectedFlowInfos(): Promise<Record<string, (string | null)[]>>;
|
|
50
50
|
/**
|
|
51
|
-
* Get selected flow
|
|
51
|
+
* Get selected flow phase harness
|
|
52
52
|
* @param tabLabel Select tabs before try to find phase. Useful to find Event phases for Message API
|
|
53
53
|
*/
|
|
54
|
-
|
|
55
|
-
text: string;
|
|
56
|
-
type: 'connector' | 'policy';
|
|
57
|
-
}[] | 'DISABLED'>;
|
|
54
|
+
getSelectedFlowPhase(phaseType: PhaseType, tabLabel?: string): Promise<GioPolicyStudioDetailsPhaseHarness | undefined>;
|
|
58
55
|
/**
|
|
59
56
|
* Click on the "Save" button
|
|
60
57
|
*/
|
|
61
58
|
save(): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Add a step to a phase
|
|
61
|
+
* @param phaseType Phase type where to add the step
|
|
62
|
+
* @param index Index where to add the step. (Add button index)
|
|
63
|
+
* @param stepConfig Step to add
|
|
64
|
+
*/
|
|
65
|
+
addStepToPhase(phaseType: PhaseType, index: number, stepConfig: {
|
|
66
|
+
policyName: string;
|
|
67
|
+
description?: string;
|
|
68
|
+
}): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Edit a step configuration
|
|
71
|
+
* @param phaseType Phase type where to edit the step
|
|
72
|
+
* @param index Index of the policy step to edit
|
|
73
|
+
* @param stepConfig Step configuration
|
|
74
|
+
*/
|
|
75
|
+
editStepConfig(phaseType: PhaseType, index: number, stepConfig: {
|
|
76
|
+
description?: string;
|
|
77
|
+
}): Promise<void>;
|
|
62
78
|
private setFlowFormDialog;
|
|
63
79
|
setFlowExecutionConfig(flowExecution: FlowExecution): Promise<void>;
|
|
64
80
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Step } from './Step';
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function fakeTestPolicyStep(modifier?: Partial<Step> | ((base: Step) => Step)): Step;
|
|
3
3
|
export declare function fakeRateLimitStep(modifier?: Partial<Step> | ((base: Step) => Step)): Step;
|
|
4
|
-
export declare function
|
|
4
|
+
export declare function fakeJsonToXmlStep(modifier?: Partial<Step> | ((base: Step) => Step)): Step;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare type ExecutionPhase = 'REQUEST' | 'RESPONSE' | 'MESSAGE_REQUEST' | 'MESSAGE_RESPONSE';
|
|
2
|
+
export interface Policy {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
icon?: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
category?: string;
|
|
8
|
+
version?: string;
|
|
9
|
+
proxy?: ExecutionPhase[];
|
|
10
|
+
message?: ExecutionPhase[];
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Policy.fixture';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Policy';
|
|
@@ -1,41 +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 { Component, Input } from '@angular/core';
|
|
17
|
-
import * as i0 from "@angular/core";
|
|
18
|
-
import * as i1 from "@angular/material/icon";
|
|
19
|
-
import * as i2 from "@angular/material/button";
|
|
20
|
-
import * as i3 from "@angular/material/menu";
|
|
21
|
-
import * as i4 from "@angular/common";
|
|
22
|
-
export class GioPolicyStudioDetailsPhasePolicyComponent {
|
|
23
|
-
onEdit() {
|
|
24
|
-
throw new Error('Wip');
|
|
25
|
-
}
|
|
26
|
-
onDisable() {
|
|
27
|
-
throw new Error('Wip');
|
|
28
|
-
}
|
|
29
|
-
onDelete() {
|
|
30
|
-
throw new Error('Wip');
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
GioPolicyStudioDetailsPhasePolicyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioPolicyStudioDetailsPhasePolicyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
-
GioPolicyStudioDetailsPhasePolicyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioPolicyStudioDetailsPhasePolicyComponent, selector: "gio-ps-flow-details-phase-policy", inputs: { step: "step" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2023 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n\n<div class=\"info\">\n <div class=\"info__primary\">\n <mat-icon class=\"info__primary__icon\" svgIcon=\"gio:gift\"></mat-icon>\n\n <span *ngIf=\"step.name\" class=\"info__primary__name\">{{ step.name }}</span>\n </div>\n\n <div *ngIf=\"step.description\" class=\"info__secondary\">{{ step.description }}</div>\n</div>\n\n<button class=\"menuBtn\" mat-icon-button [matMenuTriggerFor]=\"policyMenu\"><mat-icon svgIcon=\"gio:more-vertical\"></mat-icon></button>\n\n<mat-menu #policyMenu=\"matMenu\">\n <button disabled mat-menu-item (click)=\"onEdit()\">\n <mat-icon svgIcon=\"gio:edit-pencil\"></mat-icon>\n <span>Edit \uD83D\uDEA7</span>\n </button>\n\n <button disabled mat-menu-item (click)=\"onDisable()\">\n <mat-icon svgIcon=\"gio:prohibition\"></mat-icon>\n <span>Disable \uD83D\uDEA7</span>\n </button>\n\n <button disabled mat-menu-item (click)=\"onDelete()\">\n <mat-icon svgIcon=\"gio:trash\"></mat-icon>\n <span>Delete \uD83D\uDEA7</span>\n </button>\n</mat-menu>\n", styles: [":host{display:flex;align-items:center;padding:8px;border:1px solid #d3d5dc;border-radius:8px}.info{display:flex;max-width:300px;flex-direction:column;margin-left:4px;gap:4px}.info__primary{display:flex;align-items:center}.info__primary__name{overflow:hidden;flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap}.info__primary__icon{min-width:24px;flex:1 1 24px;margin-right:8px}.info__secondary{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;color:#606274;-webkit-line-clamp:2}.info__secondary:empty{display:none}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }] });
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioPolicyStudioDetailsPhasePolicyComponent, decorators: [{
|
|
36
|
-
type: Component,
|
|
37
|
-
args: [{ selector: 'gio-ps-flow-details-phase-policy', template: "<!--\n\n Copyright (C) 2023 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n\n<div class=\"info\">\n <div class=\"info__primary\">\n <mat-icon class=\"info__primary__icon\" svgIcon=\"gio:gift\"></mat-icon>\n\n <span *ngIf=\"step.name\" class=\"info__primary__name\">{{ step.name }}</span>\n </div>\n\n <div *ngIf=\"step.description\" class=\"info__secondary\">{{ step.description }}</div>\n</div>\n\n<button class=\"menuBtn\" mat-icon-button [matMenuTriggerFor]=\"policyMenu\"><mat-icon svgIcon=\"gio:more-vertical\"></mat-icon></button>\n\n<mat-menu #policyMenu=\"matMenu\">\n <button disabled mat-menu-item (click)=\"onEdit()\">\n <mat-icon svgIcon=\"gio:edit-pencil\"></mat-icon>\n <span>Edit \uD83D\uDEA7</span>\n </button>\n\n <button disabled mat-menu-item (click)=\"onDisable()\">\n <mat-icon svgIcon=\"gio:prohibition\"></mat-icon>\n <span>Disable \uD83D\uDEA7</span>\n </button>\n\n <button disabled mat-menu-item (click)=\"onDelete()\">\n <mat-icon svgIcon=\"gio:trash\"></mat-icon>\n <span>Delete \uD83D\uDEA7</span>\n </button>\n</mat-menu>\n", styles: [":host{display:flex;align-items:center;padding:8px;border:1px solid #d3d5dc;border-radius:8px}.info{display:flex;max-width:300px;flex-direction:column;margin-left:4px;gap:4px}.info__primary{display:flex;align-items:center}.info__primary__name{overflow:hidden;flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap}.info__primary__icon{min-width:24px;flex:1 1 24px;margin-right:8px}.info__secondary{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;color:#606274;-webkit-line-clamp:2}.info__secondary:empty{display:none}\n"] }]
|
|
38
|
-
}], propDecorators: { step: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}] } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS1wb2xpY3kuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9mbG93LWRldGFpbHMtcGhhc2UtcG9saWN5L2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2UtcG9saWN5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzLXBoYXNlLXBvbGljeS9naW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlLXBvbGljeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFTakQsTUFBTSxPQUFPLDBDQUEwQztJQUk5QyxNQUFNO1FBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRU0sU0FBUztRQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVNLFFBQVE7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7O3dJQWRVLDBDQUEwQzs0SEFBMUMsMENBQTBDLGtHQ3hCdkQsb3BEQThDQTs0RkR0QmEsMENBQTBDO2tCQUx0RCxTQUFTOytCQUNFLGtDQUFrQzs4QkFNckMsSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMiBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3RlcCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2UtcG9saWN5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2UtcG9saWN5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS1wb2xpY3kuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlUG9saWN5Q29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIHN0ZXAhOiBTdGVwO1xuXG4gIHB1YmxpYyBvbkVkaXQoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdXaXAnKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRpc2FibGUoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdXaXAnKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRlbGV0ZSgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1dpcCcpO1xuICB9XG59XG4iLCI8IS0tXG5cbiAgICBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAgICBcbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgICBcbiAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICAgIFxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG4tLT5cblxuPGRpdiBjbGFzcz1cImluZm9cIj5cbiAgPGRpdiBjbGFzcz1cImluZm9fX3ByaW1hcnlcIj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJpbmZvX19wcmltYXJ5X19pY29uXCIgc3ZnSWNvbj1cImdpbzpnaWZ0XCI+PC9tYXQtaWNvbj5cblxuICAgIDxzcGFuICpuZ0lmPVwic3RlcC5uYW1lXCIgY2xhc3M9XCJpbmZvX19wcmltYXJ5X19uYW1lXCI+e3sgc3RlcC5uYW1lIH19PC9zcGFuPlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwic3RlcC5kZXNjcmlwdGlvblwiIGNsYXNzPVwiaW5mb19fc2Vjb25kYXJ5XCI+e3sgc3RlcC5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuPC9kaXY+XG5cbjxidXR0b24gY2xhc3M9XCJtZW51QnRuXCIgbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJwb2xpY3lNZW51XCI+PG1hdC1pY29uIHN2Z0ljb249XCJnaW86bW9yZS12ZXJ0aWNhbFwiPjwvbWF0LWljb24+PC9idXR0b24+XG5cbjxtYXQtbWVudSAjcG9saWN5TWVudT1cIm1hdE1lbnVcIj5cbiAgPGJ1dHRvbiBkaXNhYmxlZCBtYXQtbWVudS1pdGVtIChjbGljayk9XCJvbkVkaXQoKVwiPlxuICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZ2lvOmVkaXQtcGVuY2lsXCI+PC9tYXQtaWNvbj5cbiAgICA8c3Bhbj5FZGl0IPCfmqc8L3NwYW4+XG4gIDwvYnV0dG9uPlxuXG4gIDxidXR0b24gZGlzYWJsZWQgbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwib25EaXNhYmxlKClcIj5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cImdpbzpwcm9oaWJpdGlvblwiPjwvbWF0LWljb24+XG4gICAgPHNwYW4+RGlzYWJsZSDwn5qnPC9zcGFuPlxuICA8L2J1dHRvbj5cblxuICA8YnV0dG9uIGRpc2FibGVkIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uRGVsZXRlKClcIj5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cImdpbzp0cmFzaFwiPjwvbWF0LWljb24+XG4gICAgPHNwYW4+RGVsZXRlIPCfmqc8L3NwYW4+XG4gIDwvYnV0dG9uPlxuPC9tYXQtbWVudT5cbiJdfQ==
|
|
@@ -1,33 +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, HarnessPredicate } from '@angular/cdk/testing';
|
|
17
|
-
import { SpanHarness } from '@gravitee/ui-particles-angular/testing';
|
|
18
|
-
export class GioPolicyStudioDetailsPhasePolicyHarness extends ComponentHarness {
|
|
19
|
-
/**
|
|
20
|
-
* Get Harness with the given filter.
|
|
21
|
-
*
|
|
22
|
-
* @param options Options for filtering which input instances are considered a match.
|
|
23
|
-
* @return a `HarnessPredicate` configured with the given options.
|
|
24
|
-
*/
|
|
25
|
-
static with(options = {}) {
|
|
26
|
-
return new HarnessPredicate(GioPolicyStudioDetailsPhasePolicyHarness, options);
|
|
27
|
-
}
|
|
28
|
-
async getName() {
|
|
29
|
-
return (await (await this.locatorFor(SpanHarness.with({ selector: '.info__primary__name' }))()).getText()) ?? '';
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
GioPolicyStudioDetailsPhasePolicyHarness.hostSelector = 'gio-ps-flow-details-phase-policy';
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS1wb2xpY3kuaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmxvdy1kZXRhaWxzLXBoYXNlLXBvbGljeS9naW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlLXBvbGljeS5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFzQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUlyRSxNQUFNLE9BQU8sd0NBQXlDLFNBQVEsZ0JBQWdCO0lBRzVFOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsVUFBMkQsRUFBRTtRQUU3RCxPQUFPLElBQUksZ0JBQWdCLENBQUMsd0NBQXdDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25ILENBQUM7O0FBaEJhLHFEQUFZLEdBQUcsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDIyIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBCYXNlSGFybmVzc0ZpbHRlcnMsIENvbXBvbmVudEhhcm5lc3MsIEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTcGFuSGFybmVzcyB9IGZyb20gJ0BncmF2aXRlZS91aS1wYXJ0aWNsZXMtYW5ndWxhci90ZXN0aW5nJztcblxuZXhwb3J0IHR5cGUgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlUG9saWN5SGFybmVzc0ZpbHRlcnMgPSBCYXNlSGFybmVzc0ZpbHRlcnM7XG5cbmV4cG9ydCBjbGFzcyBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VQb2xpY3lIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2UtcG9saWN5JztcblxuICAvKipcbiAgICogR2V0IEhhcm5lc3Mgd2l0aCB0aGUgZ2l2ZW4gZmlsdGVyLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciBmaWx0ZXJpbmcgd2hpY2ggaW5wdXQgaW5zdGFuY2VzIGFyZSBjb25zaWRlcmVkIGEgbWF0Y2guXG4gICAqIEByZXR1cm4gYSBgSGFybmVzc1ByZWRpY2F0ZWAgY29uZmlndXJlZCB3aXRoIHRoZSBnaXZlbiBvcHRpb25zLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIG9wdGlvbnM6IEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZVBvbGljeUhhcm5lc3NGaWx0ZXJzID0ge30sXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8R2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlUG9saWN5SGFybmVzcz4ge1xuICAgIHJldHVybiBuZXcgSGFybmVzc1ByZWRpY2F0ZShHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VQb2xpY3lIYXJuZXNzLCBvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXROYW1lKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCAoYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFNwYW5IYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5pbmZvX19wcmltYXJ5X19uYW1lJyB9KSkoKSkuZ2V0VGV4dCgpKSA/PyAnJztcbiAgfVxufVxuIl19
|