ng-configcat-publicapi-ui 5.4.2 → 5.6.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/LICENSE +21 -0
- package/fesm2022/ng-configcat-publicapi-ui.mjs +1851 -949
- package/fesm2022/ng-configcat-publicapi-ui.mjs.map +1 -1
- package/package.json +11 -10
- package/src/css/button.scss +21 -2
- package/src/css/variables.scss +2 -0
- package/src/css/vars/flag.scss +3 -0
- package/types/ng-configcat-publicapi-ui.d.ts +173 -47
package/package.json
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ng-configcat-publicapi-ui",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.6.0",
|
|
4
|
+
"license": "MIT",
|
|
4
5
|
"peerDependencies": {
|
|
5
|
-
"@angular/cdk": "^
|
|
6
|
-
"@angular/common": "^
|
|
7
|
-
"@angular/core": "^
|
|
8
|
-
"@angular/forms": "^
|
|
9
|
-
"@angular/material": "^
|
|
10
|
-
"@angular/router": "^
|
|
11
|
-
"@configcat/sdk": "^1.0
|
|
12
|
-
"ng-configcat-publicapi": "^6.
|
|
6
|
+
"@angular/cdk": "^22.1.1",
|
|
7
|
+
"@angular/common": "^22.1.1",
|
|
8
|
+
"@angular/core": "^22.1.1",
|
|
9
|
+
"@angular/forms": "^22.1.1",
|
|
10
|
+
"@angular/material": "^22.1.1",
|
|
11
|
+
"@angular/router": "^22.1.1",
|
|
12
|
+
"@configcat/sdk": "^1.1.0",
|
|
13
|
+
"ng-configcat-publicapi": "^6.2.1",
|
|
13
14
|
"papaparse": "^5.5.3",
|
|
14
|
-
"ace-builds": "^1.
|
|
15
|
+
"ace-builds": "^1.44.0"
|
|
15
16
|
},
|
|
16
17
|
"dependencies": {
|
|
17
18
|
"tslib": "^2.8.1"
|
package/src/css/button.scss
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@use
|
|
1
|
+
@use "@angular/material" as mat;
|
|
2
2
|
|
|
3
3
|
html > body {
|
|
4
4
|
.mat-mdc-icon-button.action-icon-button {
|
|
@@ -69,7 +69,8 @@ html > body {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
.mat-datepicker-toggle,
|
|
72
|
+
.mat-datepicker-toggle,
|
|
73
|
+
.mat-timepicker-toggle {
|
|
73
74
|
@include mat.icon-button-density(-5);
|
|
74
75
|
|
|
75
76
|
.mat-mdc-icon-button {
|
|
@@ -80,4 +81,22 @@ html > body {
|
|
|
80
81
|
.disabled-btn-container {
|
|
81
82
|
display: inline-block;
|
|
82
83
|
}
|
|
84
|
+
|
|
85
|
+
.mat-mdc-unelevated-button.mat-success:not(:disabled) {
|
|
86
|
+
color: white;
|
|
87
|
+
background-color: var(--green-button-background-color);
|
|
88
|
+
|
|
89
|
+
&:hover {
|
|
90
|
+
background-color: var(--green-button-background-hover-color);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.mat-mdc-unelevated-button.mat-applied:not(:disabled) {
|
|
95
|
+
color: white;
|
|
96
|
+
background-color: var(--change-request-status-applied-color);
|
|
97
|
+
|
|
98
|
+
&:hover {
|
|
99
|
+
background-color: var(--change-request-status-applied-hover-color);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
83
102
|
}
|
package/src/css/variables.scss
CHANGED
|
@@ -66,6 +66,8 @@
|
|
|
66
66
|
--diabled-button-color: #99999981;
|
|
67
67
|
--primary-button-state-layer-color: black;
|
|
68
68
|
--warn-button-state-layer-color: white;
|
|
69
|
+
--green-button-background-color: #47a34a;
|
|
70
|
+
--green-button-background-hover-color: #3b863e;
|
|
69
71
|
|
|
70
72
|
// ==== CONTROLS ====
|
|
71
73
|
--input-outline-focused-color: #{color.adjust(theme.$primary-color, $lightness: 5%)};
|
package/src/css/vars/flag.scss
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { InjectionToken, Provider, OnInit, OnDestroy } from '@angular/core';
|
|
2
|
+
import { InjectionToken, Provider, WritableSignal, ElementRef, OnInit, OnDestroy } from '@angular/core';
|
|
3
3
|
import * as ng_configcat_publicapi from 'ng-configcat-publicapi';
|
|
4
|
-
import { MeService, ProductsService, ConfigsService, EnvironmentsService, FeatureFlagsSettingsService, FeatureFlagSettingValuesV2Service, FeatureFlagSettingValuesService, IntegrationLinksService, SegmentsService, OrganizationsService, UserComparator, SegmentComparator, PrerequisiteComparator, SettingType, PredefinedVariationModel, SettingFormulaModel, ComparisonValueListModel, FeatureFlagLimitations, ComparisonValueModel, ConditionModel, ValueModel, PercentageOptionModel, PrerequisiteFlagConditionModel, SegmentConditionModel, TargetingRuleModel, UserConditionModel, UpdateEvaluationFormulaModel, ConfigModel, EnvironmentModel, SettingValueModel, UpdateSettingValueModel, SettingDataModel, SegmentListModel, SettingModel, EvaluationVersion } from 'ng-configcat-publicapi';
|
|
4
|
+
import { MeService, ProductsService, ConfigsService, EnvironmentsService, FeatureFlagsSettingsService, FeatureFlagSettingValuesV2Service, FeatureFlagSettingValuesService, IntegrationLinksService, SegmentsService, OrganizationsService, ChangeRequestsApprovalFlowScheduledChangesBetaService, UserComparator, SegmentComparator, PrerequisiteComparator, SettingType, PredefinedVariationModel, SettingFormulaModel, ComparisonValueListModel, FeatureFlagLimitations, ComparisonValueModel, ConditionModel, ValueModel, PercentageOptionModel, PrerequisiteFlagConditionModel, SegmentConditionModel, TargetingRuleModel, UserConditionModel, UpdateEvaluationFormulaModel, ConfigModel, EnvironmentModel, SettingValueModel, UpdateSettingValueModel, SettingDataModel, SegmentListModel, SettingModel, EvaluationVersion } from 'ng-configcat-publicapi';
|
|
5
5
|
import { HttpErrorResponse } from '@angular/common/http';
|
|
6
6
|
import * as _angular_forms from '@angular/forms';
|
|
7
7
|
import { FormGroup, FormControl, FormArray, ValidatorFn, AbstractControl } from '@angular/forms';
|
|
8
8
|
import { Observable, Subscription } from 'rxjs';
|
|
9
9
|
import { MatTooltip } from '@angular/material/tooltip';
|
|
10
10
|
import { MatDialogRef } from '@angular/material/dialog';
|
|
11
|
+
import { MatSnackBarRef } from '@angular/material/snack-bar';
|
|
11
12
|
import * as _angular_material_paginator from '@angular/material/paginator';
|
|
12
13
|
import { MatTableDataSource } from '@angular/material/table';
|
|
13
14
|
|
|
@@ -46,6 +47,7 @@ declare class PublicApiService {
|
|
|
46
47
|
createIntegrationLinksService(basicAuthUsername?: string | null, basicAuthPassword?: string | null, basePath?: string | null): IntegrationLinksService;
|
|
47
48
|
createSegmentsService(basicAuthUsername?: string | null, basicAuthPassword?: string | null, basePath?: string | null): SegmentsService;
|
|
48
49
|
createOrganizationService(basicAuthUsername?: string | null, basicAuthPassword?: string | null, basePath?: string | null): OrganizationsService;
|
|
50
|
+
createChangeRequestsApprovalFlowScheduledChangesBetaService(basicAuthUsername?: string | null, basicAuthPassword?: string | null, basePath?: string | null): ChangeRequestsApprovalFlowScheduledChangesBetaService;
|
|
49
51
|
getDashboardBasePath(): string;
|
|
50
52
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PublicApiService, never>;
|
|
51
53
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<PublicApiService>;
|
|
@@ -183,24 +185,39 @@ interface IDependeeSetting {
|
|
|
183
185
|
key: string;
|
|
184
186
|
name: string;
|
|
185
187
|
}
|
|
188
|
+
interface IPrerequisiteChanged {
|
|
189
|
+
settingId: number;
|
|
190
|
+
prerequisiteIds: number[];
|
|
191
|
+
}
|
|
186
192
|
|
|
187
193
|
interface IFlagState {
|
|
188
|
-
addButtonRenderState: IAddButtonsRenderState
|
|
189
|
-
settingValue: SettingFormulaModel;
|
|
190
|
-
dependeeSettings: IDependeeSetting[]
|
|
191
|
-
prerequisiteSettings: IPrerequisiteSetting[]
|
|
192
|
-
panelExpanded: boolean
|
|
193
|
-
readOnly: boolean;
|
|
194
|
+
readonly addButtonRenderState: WritableSignal<IAddButtonsRenderState>;
|
|
195
|
+
readonly settingValue: SettingFormulaModel;
|
|
196
|
+
readonly dependeeSettings: WritableSignal<IDependeeSetting[]>;
|
|
197
|
+
readonly prerequisiteSettings: WritableSignal<IPrerequisiteSetting[]>;
|
|
198
|
+
readonly panelExpanded: WritableSignal<boolean>;
|
|
199
|
+
readonly readOnly: boolean;
|
|
200
|
+
readonly hasActiveChangeRequest: WritableSignal<boolean>;
|
|
194
201
|
}
|
|
195
202
|
interface IAddButtonsRenderState {
|
|
196
|
-
renderTopAddButtons: boolean;
|
|
197
|
-
hasPercentageOnlyRule: boolean;
|
|
198
|
-
addRuleButtonTracker: IAddRuleButtonTracker[];
|
|
203
|
+
readonly renderTopAddButtons: boolean;
|
|
204
|
+
readonly hasPercentageOnlyRule: boolean;
|
|
205
|
+
readonly addRuleButtonTracker: IAddRuleButtonTracker[];
|
|
199
206
|
}
|
|
200
207
|
interface IAddRuleButtonTracker {
|
|
201
|
-
showAddRuleButtons: boolean;
|
|
202
|
-
showOrChip: boolean;
|
|
203
|
-
renderSeparationArea: boolean;
|
|
208
|
+
readonly showAddRuleButtons: boolean;
|
|
209
|
+
readonly showOrChip: boolean;
|
|
210
|
+
readonly renderSeparationArea: boolean;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
declare class MessagingService {
|
|
214
|
+
private readonly snackBar;
|
|
215
|
+
showErrorSnack(message?: string, durationMs?: number): void;
|
|
216
|
+
showSuccessSnack(message?: string, durationMs?: number): void;
|
|
217
|
+
showWarningSnack(message?: string, durationMs?: number): void;
|
|
218
|
+
dismissCurrentSnack(): void;
|
|
219
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MessagingService, never>;
|
|
220
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<MessagingService>;
|
|
204
221
|
}
|
|
205
222
|
|
|
206
223
|
interface ComparisonValueListParseResult {
|
|
@@ -320,6 +337,7 @@ declare class BaseComponent {
|
|
|
320
337
|
protected createSettingValuesV2Service(): ng_configcat_publicapi.FeatureFlagSettingValuesV2Service;
|
|
321
338
|
protected createSegmentsService(): ng_configcat_publicapi.SegmentsService;
|
|
322
339
|
protected createOrganizationService(): ng_configcat_publicapi.OrganizationsService;
|
|
340
|
+
protected createChangeRequestsService(): ng_configcat_publicapi.ChangeRequestsApprovalFlowScheduledChangesBetaService;
|
|
323
341
|
protected getDashboardBasePath(): string;
|
|
324
342
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseComponent, never>;
|
|
325
343
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BaseComponent, "app-base", never, { "basePath": { "alias": "basePath"; "required": false; "isSignal": true; }; "basicAuthUsername": { "alias": "basicAuthUsername"; "required": false; "isSignal": true; }; "basicAuthPassword": { "alias": "basicAuthPassword"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -509,6 +527,97 @@ declare class DeleteSettingDialogComponent {
|
|
|
509
527
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DeleteSettingDialogComponent, "app-delete-setting-dialog", never, {}, {}, never, never, true, never>;
|
|
510
528
|
}
|
|
511
529
|
|
|
530
|
+
declare enum NotificationSnackColor {
|
|
531
|
+
Green = 0,
|
|
532
|
+
Yellow = 1,
|
|
533
|
+
Red = 2,
|
|
534
|
+
Blue = 3
|
|
535
|
+
}
|
|
536
|
+
interface NotificationSnackData {
|
|
537
|
+
color: NotificationSnackColor;
|
|
538
|
+
message: string;
|
|
539
|
+
}
|
|
540
|
+
declare class NotificationSnackComponent {
|
|
541
|
+
snackBarRef: MatSnackBarRef<NotificationSnackComponent>;
|
|
542
|
+
data: NotificationSnackData;
|
|
543
|
+
NotificationSnackColor: typeof NotificationSnackColor;
|
|
544
|
+
readonly progressBar: _angular_core.Signal<ElementRef<HTMLElement>>;
|
|
545
|
+
private readonly destroyRef;
|
|
546
|
+
constructor();
|
|
547
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationSnackComponent, never>;
|
|
548
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NotificationSnackComponent, "app-notification-snack", never, {}, {}, never, never, true, never>;
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
interface ICustomizeFeatureFlag {
|
|
552
|
+
menuDeleteSettingText: string;
|
|
553
|
+
showExpandedSection: boolean;
|
|
554
|
+
showTargetingRuleSegmentOptionSection: boolean;
|
|
555
|
+
showTargetingRulePrerequisiteOptionSection: boolean;
|
|
556
|
+
showMenuOpenInDashboardSection: boolean;
|
|
557
|
+
showMenuCopyDirectLinkSection: boolean;
|
|
558
|
+
showMenuDeleteSettingSection: boolean;
|
|
559
|
+
}
|
|
560
|
+
declare const DEFAULT_CUSTOMIZE_FEATURE_FLAG: ICustomizeFeatureFlag;
|
|
561
|
+
interface IGlance {
|
|
562
|
+
ruleText: string;
|
|
563
|
+
percentageText: string;
|
|
564
|
+
class: string;
|
|
565
|
+
}
|
|
566
|
+
declare class FeatureFlagComponent {
|
|
567
|
+
private readonly dialog;
|
|
568
|
+
private readonly messagingService;
|
|
569
|
+
private readonly router;
|
|
570
|
+
private readonly clipboard;
|
|
571
|
+
readonly formGroup: _angular_core.InputSignal<FormGroup<UpdateSettingValueForm>>;
|
|
572
|
+
readonly flagState: _angular_core.InputSignal<IFlagState>;
|
|
573
|
+
readonly segments: _angular_core.InputSignal<SegmentListModel[]>;
|
|
574
|
+
readonly featureFlagLimitations: _angular_core.InputSignal<FeatureFlagLimitations>;
|
|
575
|
+
readonly hasOtherEnvironment: _angular_core.InputSignal<boolean>;
|
|
576
|
+
readonly environmentName: _angular_core.InputSignal<string>;
|
|
577
|
+
readonly showEnvironmentName: _angular_core.InputSignal<boolean>;
|
|
578
|
+
readonly canDeleteSetting: _angular_core.InputSignal<boolean>;
|
|
579
|
+
readonly predefinedVariationsEnabled: _angular_core.InputSignal<boolean>;
|
|
580
|
+
readonly dashboardBasePath: _angular_core.InputSignal<string>;
|
|
581
|
+
readonly comparisonAttributes: _angular_core.InputSignal<string[]>;
|
|
582
|
+
readonly customize: _angular_core.InputSignal<ICustomizeFeatureFlag>;
|
|
583
|
+
readonly addSegmentConditionRequestedWithoutSegments: _angular_core.OutputEmitterRef<void>;
|
|
584
|
+
readonly expandedChanged: _angular_core.OutputEmitterRef<boolean>;
|
|
585
|
+
readonly deleteSettingRequested: _angular_core.OutputEmitterRef<{
|
|
586
|
+
setting: SettingDataModel;
|
|
587
|
+
}>;
|
|
588
|
+
readonly subscriptionLimitReached: _angular_core.OutputEmitterRef<void>;
|
|
589
|
+
readonly prerequisiteConditionChanged: _angular_core.OutputEmitterRef<IPrerequisiteChanged>;
|
|
590
|
+
readonly recalcAddButtons: _angular_core.OutputEmitterRef<void>;
|
|
591
|
+
readonly viewVariationsRequested: _angular_core.OutputEmitterRef<{
|
|
592
|
+
settingId: number;
|
|
593
|
+
settingName: string;
|
|
594
|
+
}>;
|
|
595
|
+
SettingType: {
|
|
596
|
+
readonly Boolean: "boolean";
|
|
597
|
+
readonly String: "string";
|
|
598
|
+
readonly Int: "int";
|
|
599
|
+
readonly Double: "double";
|
|
600
|
+
};
|
|
601
|
+
setExpanded(expanded: boolean): void;
|
|
602
|
+
deleteSetting(): void;
|
|
603
|
+
subscriptionLimitReachedCalled(): void;
|
|
604
|
+
changePercentageEvaluationAttribute(): void;
|
|
605
|
+
getGlance(): IGlance | undefined;
|
|
606
|
+
getValueText(settingType: SettingType, value: {
|
|
607
|
+
boolValue: boolean | null;
|
|
608
|
+
stringValue: string | null;
|
|
609
|
+
intValue: number | null;
|
|
610
|
+
doubleValue: number | null;
|
|
611
|
+
}): string;
|
|
612
|
+
getRuleText(): string;
|
|
613
|
+
copyDirectLink(): void;
|
|
614
|
+
getDashboardUrl(): string;
|
|
615
|
+
getChangeRequestsUrl(): string;
|
|
616
|
+
openDependeesDialog(): void;
|
|
617
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FeatureFlagComponent, never>;
|
|
618
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FeatureFlagComponent, "app-feature-flag", never, { "formGroup": { "alias": "formGroup"; "required": true; "isSignal": true; }; "flagState": { "alias": "flagState"; "required": true; "isSignal": true; }; "segments": { "alias": "segments"; "required": true; "isSignal": true; }; "featureFlagLimitations": { "alias": "featureFlagLimitations"; "required": true; "isSignal": true; }; "hasOtherEnvironment": { "alias": "hasOtherEnvironment"; "required": true; "isSignal": true; }; "environmentName": { "alias": "environmentName"; "required": false; "isSignal": true; }; "showEnvironmentName": { "alias": "showEnvironmentName"; "required": false; "isSignal": true; }; "canDeleteSetting": { "alias": "canDeleteSetting"; "required": false; "isSignal": true; }; "predefinedVariationsEnabled": { "alias": "predefinedVariationsEnabled"; "required": true; "isSignal": true; }; "dashboardBasePath": { "alias": "dashboardBasePath"; "required": true; "isSignal": true; }; "comparisonAttributes": { "alias": "comparisonAttributes"; "required": true; "isSignal": true; }; "customize": { "alias": "customize"; "required": false; "isSignal": true; }; }, { "addSegmentConditionRequestedWithoutSegments": "addSegmentConditionRequestedWithoutSegments"; "expandedChanged": "expandedChanged"; "deleteSettingRequested": "deleteSettingRequested"; "subscriptionLimitReached": "subscriptionLimitReached"; "prerequisiteConditionChanged": "prerequisiteConditionChanged"; "recalcAddButtons": "recalcAddButtons"; "viewVariationsRequested": "viewVariationsRequested"; }, never, never, true, never>;
|
|
619
|
+
}
|
|
620
|
+
|
|
512
621
|
declare class FeatureFlagItemComponent extends BaseComponent implements OnInit, OnDestroy {
|
|
513
622
|
private readonly dialog;
|
|
514
623
|
private readonly messagingService;
|
|
@@ -517,7 +626,7 @@ declare class FeatureFlagItemComponent extends BaseComponent implements OnInit,
|
|
|
517
626
|
readonly configId: _angular_core.InputSignal<string>;
|
|
518
627
|
readonly settingId: _angular_core.InputSignal<number>;
|
|
519
628
|
readonly canDeleteSetting: _angular_core.InputSignal<boolean>;
|
|
520
|
-
readonly
|
|
629
|
+
readonly customize: _angular_core.InputSignal<ICustomizeFeatureFlag>;
|
|
521
630
|
readonly showEnvironmentName: _angular_core.InputSignal<boolean>;
|
|
522
631
|
readonly deleteSettingRequested: _angular_core.OutputEmitterRef<DeleteSettingModel>;
|
|
523
632
|
readonly loadSucceeded: _angular_core.OutputEmitterRef<void>;
|
|
@@ -526,31 +635,34 @@ declare class FeatureFlagItemComponent extends BaseComponent implements OnInit,
|
|
|
526
635
|
readonly componentError: _angular_core.OutputEmitterRef<Error>;
|
|
527
636
|
readonly expandedStateChanged: _angular_core.OutputEmitterRef<void>;
|
|
528
637
|
readonly formValuesChanged: _angular_core.OutputEmitterRef<void>;
|
|
638
|
+
readonly dashboardBasePath: string;
|
|
529
639
|
segments: SegmentListModel[];
|
|
530
|
-
dashboardBasePath: string;
|
|
531
640
|
loading: boolean;
|
|
532
641
|
submitting: boolean;
|
|
533
642
|
formGroup: FormGroup<UpdateSettingValueForm>;
|
|
534
643
|
formValueChangesSubscription: Subscription | null;
|
|
535
644
|
settings: SettingModel[];
|
|
536
645
|
flagState: IFlagState;
|
|
537
|
-
settingFormula: SettingFormulaModel
|
|
646
|
+
readonly settingFormula: _angular_core.WritableSignal<SettingFormulaModel | null>;
|
|
538
647
|
prerequisiteSettings: IPrerequisiteSetting[];
|
|
539
648
|
showFeedBackMessage: boolean;
|
|
540
649
|
hasSettingValues: boolean;
|
|
541
650
|
hasOtherEnvironment: boolean;
|
|
542
|
-
constructor();
|
|
543
651
|
ngOnInit(): void;
|
|
544
652
|
ngOnDestroy(): void;
|
|
545
653
|
reloadSettingValues(): void;
|
|
546
654
|
handleFetchedSettingValues(model: SettingFormulaModel): void;
|
|
655
|
+
readonly comparisonAttributes: _angular_core.Signal<string[]>;
|
|
547
656
|
unsubscribeFormValueChangesSubscription(): void;
|
|
548
657
|
private createFormGroupFromState;
|
|
549
658
|
getAvailablePrerequisiteSettings(settingId: number): IPrerequisiteSetting[];
|
|
550
659
|
revert(): void;
|
|
551
660
|
revertDirtyValuesFromState(): void;
|
|
552
|
-
|
|
553
|
-
|
|
661
|
+
openSaveAndPublishDialog(reasonRequired: boolean, bypassApproval: boolean): void;
|
|
662
|
+
submit(bypassApproval?: boolean): void;
|
|
663
|
+
createChangeRequest(isSchedule?: boolean): void;
|
|
664
|
+
private proceedWithCreateChangeRequest;
|
|
665
|
+
updateSettingValues(updateModel: UpdateEvaluationFormulaModel, bypassApproval: boolean, reason?: string, latestVersionId?: string): void;
|
|
554
666
|
onDeleteSettingRequested(setting: {
|
|
555
667
|
setting: SettingDataModel;
|
|
556
668
|
}): void;
|
|
@@ -558,6 +670,7 @@ declare class FeatureFlagItemComponent extends BaseComponent implements OnInit,
|
|
|
558
670
|
subscriptionLimitReachedCalled(): void;
|
|
559
671
|
addSegmentConditionRequestedWithoutSegments(): void;
|
|
560
672
|
trackByIndex(index: number): number;
|
|
673
|
+
recalcHasActiveChangeRequest(): void;
|
|
561
674
|
recalcPrerequisites(): void;
|
|
562
675
|
recalcAddButtons(): void;
|
|
563
676
|
hasOnlyPercentageRule(group: FormGroup<UpdateSettingValueForm>): boolean;
|
|
@@ -568,13 +681,14 @@ declare class FeatureFlagItemComponent extends BaseComponent implements OnInit,
|
|
|
568
681
|
settingId: number;
|
|
569
682
|
settingName: string;
|
|
570
683
|
}): void;
|
|
571
|
-
|
|
684
|
+
openConcurrentDialog(updateModel: UpdateEvaluationFormulaModel, bypassApproval: boolean, reason?: string): void;
|
|
685
|
+
openConcurrentDeleteDialog(): void;
|
|
572
686
|
openVariationsDialog(event: {
|
|
573
687
|
settingId: number;
|
|
574
688
|
settingName: string;
|
|
575
689
|
}): void;
|
|
576
690
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FeatureFlagItemComponent, never>;
|
|
577
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FeatureFlagItemComponent, "app-feature-flag-item", never, { "productId": { "alias": "productId"; "required": true; "isSignal": true; }; "environmentId": { "alias": "environmentId"; "required": true; "isSignal": true; }; "configId": { "alias": "configId"; "required": true; "isSignal": true; }; "settingId": { "alias": "settingId"; "required": true; "isSignal": true; }; "canDeleteSetting": { "alias": "canDeleteSetting"; "required": false; "isSignal": true; }; "
|
|
691
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FeatureFlagItemComponent, "app-feature-flag-item", never, { "productId": { "alias": "productId"; "required": true; "isSignal": true; }; "environmentId": { "alias": "environmentId"; "required": true; "isSignal": true; }; "configId": { "alias": "configId"; "required": true; "isSignal": true; }; "settingId": { "alias": "settingId"; "required": true; "isSignal": true; }; "canDeleteSetting": { "alias": "canDeleteSetting"; "required": false; "isSignal": true; }; "customize": { "alias": "customize"; "required": false; "isSignal": true; }; "showEnvironmentName": { "alias": "showEnvironmentName"; "required": false; "isSignal": true; }; }, { "deleteSettingRequested": "deleteSettingRequested"; "loadSucceeded": "loadSucceeded"; "loadFailed": "loadFailed"; "saveSucceeded": "saveSucceeded"; "componentError": "componentError"; "expandedStateChanged": "expandedStateChanged"; "formValuesChanged": "formValuesChanged"; }, never, never, true, never>;
|
|
578
692
|
}
|
|
579
693
|
|
|
580
694
|
interface AuthorizationParameters {
|
|
@@ -582,11 +696,15 @@ interface AuthorizationParameters {
|
|
|
582
696
|
basicAuthPassword: string;
|
|
583
697
|
}
|
|
584
698
|
|
|
699
|
+
interface ICustomizeLinkFeatureFlag {
|
|
700
|
+
hideCancelButton: boolean;
|
|
701
|
+
addButtonLabel: string;
|
|
702
|
+
cancelButtonLabel: string;
|
|
703
|
+
}
|
|
704
|
+
declare const DEFAULT_CUSTOMIZE_LINK_FEATURE_FLAG: ICustomizeLinkFeatureFlag;
|
|
585
705
|
declare class LinkFeatureFlagComponent implements OnInit, OnDestroy {
|
|
586
706
|
readonly authorizationParameters: _angular_core.InputSignal<AuthorizationParameters | null | undefined>;
|
|
587
|
-
readonly
|
|
588
|
-
readonly addButtonLabel: _angular_core.InputSignal<unknown>;
|
|
589
|
-
readonly cancelButtonLabel: _angular_core.InputSignal<unknown>;
|
|
707
|
+
readonly customize: _angular_core.InputSignal<ICustomizeLinkFeatureFlag>;
|
|
590
708
|
readonly linkInitiated: _angular_core.OutputEmitterRef<LinkFeatureFlagParameters>;
|
|
591
709
|
readonly resizeRequested: _angular_core.OutputEmitterRef<void>;
|
|
592
710
|
readonly cancelInitiated: _angular_core.OutputEmitterRef<void>;
|
|
@@ -609,7 +727,7 @@ declare class LinkFeatureFlagComponent implements OnInit, OnDestroy {
|
|
|
609
727
|
selectDropdownPanelChanged(useSelector: boolean): void;
|
|
610
728
|
dropdownComponentFailed(error: Error): void;
|
|
611
729
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LinkFeatureFlagComponent, never>;
|
|
612
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LinkFeatureFlagComponent, "app-link-feature-flag", never, { "authorizationParameters": { "alias": "authorizationParameters"; "required": false; "isSignal": true; }; "
|
|
730
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LinkFeatureFlagComponent, "app-link-feature-flag", never, { "authorizationParameters": { "alias": "authorizationParameters"; "required": false; "isSignal": true; }; "customize": { "alias": "customize"; "required": false; "isSignal": true; }; }, { "linkInitiated": "linkInitiated"; "resizeRequested": "resizeRequested"; "cancelInitiated": "cancelInitiated"; "selectDropdownPanelChangedReqested": "selectDropdownPanelChangedReqested"; "componentError": "componentError"; }, never, never, true, never>;
|
|
613
731
|
}
|
|
614
732
|
|
|
615
733
|
type FeatureFlagValueType = boolean | string | number;
|
|
@@ -656,6 +774,19 @@ interface CreateConfigFormGroup {
|
|
|
656
774
|
evaluationVersion: FormControl<EvaluationVersion>;
|
|
657
775
|
}
|
|
658
776
|
|
|
777
|
+
interface ICustomizeCreateFeatureFlag {
|
|
778
|
+
hideCancelButton: boolean;
|
|
779
|
+
createButtonLabel: string;
|
|
780
|
+
cancelButtonLabel: string;
|
|
781
|
+
targetSectionHeader: string;
|
|
782
|
+
targetSectionDescription?: string;
|
|
783
|
+
flagSectionHeader: string;
|
|
784
|
+
flagSectionDescription?: string;
|
|
785
|
+
linkSectionHeader: string;
|
|
786
|
+
linkSectionDescription?: string;
|
|
787
|
+
hideLinkSection: boolean;
|
|
788
|
+
}
|
|
789
|
+
declare const DEFAULT_CUSTOMIZE_CREATE_FEATURE_FLAG: ICustomizeCreateFeatureFlag;
|
|
659
790
|
interface PresetProductAndConfig {
|
|
660
791
|
productId: string;
|
|
661
792
|
configId: string;
|
|
@@ -666,16 +797,7 @@ declare class CreateFeatureFlagComponent extends BaseComponent implements OnInit
|
|
|
666
797
|
private readonly formBuilder;
|
|
667
798
|
private readonly destroyRef;
|
|
668
799
|
private readonly dialog;
|
|
669
|
-
readonly
|
|
670
|
-
readonly createButtonLabel: _angular_core.InputSignal<string | undefined>;
|
|
671
|
-
readonly cancelButtonLabel: _angular_core.InputSignal<string | undefined>;
|
|
672
|
-
readonly targetSectionHeader: _angular_core.InputSignal<string | undefined>;
|
|
673
|
-
readonly targetSectionDescription: _angular_core.InputSignal<string | undefined>;
|
|
674
|
-
readonly flagSectionHeader: _angular_core.InputSignal<string | undefined>;
|
|
675
|
-
readonly flagSectionDescription: _angular_core.InputSignal<string | undefined>;
|
|
676
|
-
readonly linkSectionHeader: _angular_core.InputSignal<string | undefined>;
|
|
677
|
-
readonly linkSectionDescription: _angular_core.InputSignal<string | undefined>;
|
|
678
|
-
readonly hideLinkSection: _angular_core.InputSignal<boolean>;
|
|
800
|
+
readonly customize: _angular_core.InputSignal<ICustomizeCreateFeatureFlag>;
|
|
679
801
|
readonly presetProductAndConfig: _angular_core.InputSignal<PresetProductAndConfig | undefined>;
|
|
680
802
|
readonly createInitiated: _angular_core.OutputEmitterRef<LinkFeatureFlagParameters>;
|
|
681
803
|
readonly resizeRequested: _angular_core.OutputEmitterRef<void>;
|
|
@@ -744,22 +866,26 @@ declare class CreateFeatureFlagComponent extends BaseComponent implements OnInit
|
|
|
744
866
|
getColorIndex(row: FormGroup<PredefinedVariationFormGroup>, index: number): FeatureFlagValueType;
|
|
745
867
|
dropdownComponentFailed(error: Error): void;
|
|
746
868
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CreateFeatureFlagComponent, never>;
|
|
747
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CreateFeatureFlagComponent, "app-create-feature-flag", never, { "
|
|
869
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CreateFeatureFlagComponent, "app-create-feature-flag", never, { "customize": { "alias": "customize"; "required": false; "isSignal": true; }; "presetProductAndConfig": { "alias": "presetProductAndConfig"; "required": false; "isSignal": true; }; }, { "createInitiated": "createInitiated"; "resizeRequested": "resizeRequested"; "cancelInitiated": "cancelInitiated"; "selectDropdownPanelChangedReqested": "selectDropdownPanelChangedReqested"; "componentError": "componentError"; }, never, never, true, never>;
|
|
748
870
|
}
|
|
749
871
|
|
|
872
|
+
interface ICustomizeCreateConfig {
|
|
873
|
+
hideCancelButton: boolean;
|
|
874
|
+
createButtonLabel: string;
|
|
875
|
+
cancelButtonLabel: string;
|
|
876
|
+
targetSectionHeader: string;
|
|
877
|
+
targetSectionDescription?: string;
|
|
878
|
+
configSectionHeader: string;
|
|
879
|
+
configSectionDescription?: string;
|
|
880
|
+
}
|
|
881
|
+
declare const DEFAULT_CUSTOMIZE_CREATE_CONFIG: ICustomizeCreateConfig;
|
|
750
882
|
interface PresetProduct {
|
|
751
883
|
productId: string;
|
|
752
884
|
productName: string;
|
|
753
885
|
}
|
|
754
886
|
declare class CreateConfigComponent extends BaseComponent implements OnInit {
|
|
755
887
|
private readonly formBuilder;
|
|
756
|
-
readonly
|
|
757
|
-
readonly createButtonLabel: _angular_core.InputSignal<string | undefined>;
|
|
758
|
-
readonly cancelButtonLabel: _angular_core.InputSignal<string | undefined>;
|
|
759
|
-
readonly targetSectionHeader: _angular_core.InputSignal<string | undefined>;
|
|
760
|
-
readonly targetSectionDescription: _angular_core.InputSignal<string | undefined>;
|
|
761
|
-
readonly configSectionHeader: _angular_core.InputSignal<string | undefined>;
|
|
762
|
-
readonly configSectionDescription: _angular_core.InputSignal<string | undefined>;
|
|
888
|
+
readonly customize: _angular_core.InputSignal<ICustomizeCreateConfig>;
|
|
763
889
|
readonly presetProduct: _angular_core.InputSignal<PresetProduct | undefined>;
|
|
764
890
|
readonly createInitiated: _angular_core.OutputEmitterRef<string>;
|
|
765
891
|
readonly resizeRequested: _angular_core.OutputEmitterRef<void>;
|
|
@@ -793,7 +919,7 @@ declare class CreateConfigComponent extends BaseComponent implements OnInit {
|
|
|
793
919
|
selectDropdownPanelChanged(useSelector: boolean): void;
|
|
794
920
|
dropdownComponentFailed(error: Error): void;
|
|
795
921
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CreateConfigComponent, never>;
|
|
796
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CreateConfigComponent, "app-create-config", never, { "
|
|
922
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CreateConfigComponent, "app-create-config", never, { "customize": { "alias": "customize"; "required": false; "isSignal": true; }; "presetProduct": { "alias": "presetProduct"; "required": false; "isSignal": true; }; }, { "createInitiated": "createInitiated"; "resizeRequested": "resizeRequested"; "cancelInitiated": "cancelInitiated"; "selectDropdownPanelChangedReqested": "selectDropdownPanelChangedReqested"; "componentError": "componentError"; }, never, never, true, never>;
|
|
797
923
|
}
|
|
798
924
|
|
|
799
925
|
declare class LoaderComponent implements OnInit {
|
|
@@ -804,5 +930,5 @@ declare class LoaderComponent implements OnInit {
|
|
|
804
930
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoaderComponent, "app-loader", never, { "skipTimeOut": { "alias": "skipTimeOut"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
805
931
|
}
|
|
806
932
|
|
|
807
|
-
export { AuthorizationComponent, CONFIGCAT_PUBLICAPI_UI_CONFIGURATION, ConfigSelectComponent, CreateConfigComponent, CreateFeatureFlagComponent, DeleteSettingDialogComponent, EnvironmentSelectComponent, FeatureFlagItemComponent, FormHelper, InputDisplayNormalizerDirective, LinkFeatureFlagComponent, LoaderComponent, ProductSelectComponent, PublicApiService, SettingItemComponent, SettingSelectComponent, Theme, ThemeService, UserComparatorText, UserComparatorType, addComparisonValueListValueItems, defaultErrorMessageTypes, featureFlagKeyRegex, formatCsvStringValue, formatValuesAndHintAsCsv, formatValuesAndHintAsJson, formatValuesAsCsv, generateComparisonValueFormGroup, generateComparisonValueListFormGroup, generateComparisonValueListValueArray, generateConditionFormGroup, generateDefaultValue, generateDefaultValueFormGroup, generateEmptyPrerequisiteFlagConditionFormGroup, generateEmptySegmentConditionFormGroup, generatePercentageEvaluationAttributeFormControl, generatePercentageOptionFormGroup, generatePrerequisiteDefaultValue, generatePrerequisiteFlagConditionFormGroup, generateSegmentConditionFormGroup, generateSettingValuesFormGroup, generateTargetingRuleFormGroup, generateTargetingRuleWithEmptyPercentageOptions, generateUserConditionFormGroup, generateValueFormGroup, getComparisonValueSemverListItemValidators, getComparisonValueSemverValidators, getComparisonValueStringListItemValidators, getComparisonValueStringValidators, getComparisonValueType, getEmptyPercentageOptions, getNextIndex, getRawSettiongValue, getRawValue, getValidatorsForSettingType, isClearTextComparator, isPercentageOnlyTargetingRule, parseValuesAndHintsFromCsv, parseValuesAndHintsFromJson, parseValuesFromCsv, percentageRegex, provideConfigCatPublicApiUi, validatePercentageSum, wholeNumberRegex };
|
|
808
|
-
export type { AuthorizationModel, ComparisonValueListParseResult, DeleteSettingDialogData, DeleteSettingDialogResult, DeleteSettingModel, LinkFeatureFlagParameters, PresetProduct, PresetProductAndConfig, SettingValuesModel, UpdateSettingValuesModel };
|
|
933
|
+
export { AuthorizationComponent, CONFIGCAT_PUBLICAPI_UI_CONFIGURATION, ConfigSelectComponent, CreateConfigComponent, CreateFeatureFlagComponent, DEFAULT_CUSTOMIZE_CREATE_CONFIG, DEFAULT_CUSTOMIZE_CREATE_FEATURE_FLAG, DEFAULT_CUSTOMIZE_FEATURE_FLAG, DEFAULT_CUSTOMIZE_LINK_FEATURE_FLAG, DeleteSettingDialogComponent, EnvironmentSelectComponent, FeatureFlagComponent, FeatureFlagItemComponent, FormHelper, InputDisplayNormalizerDirective, LinkFeatureFlagComponent, LoaderComponent, MessagingService, NotificationSnackColor, NotificationSnackComponent, ProductSelectComponent, PublicApiService, SettingItemComponent, SettingSelectComponent, Theme, ThemeService, UserComparatorText, UserComparatorType, addComparisonValueListValueItems, defaultErrorMessageTypes, featureFlagKeyRegex, formatCsvStringValue, formatValuesAndHintAsCsv, formatValuesAndHintAsJson, formatValuesAsCsv, generateComparisonValueFormGroup, generateComparisonValueListFormGroup, generateComparisonValueListValueArray, generateConditionFormGroup, generateDefaultValue, generateDefaultValueFormGroup, generateEmptyPrerequisiteFlagConditionFormGroup, generateEmptySegmentConditionFormGroup, generatePercentageEvaluationAttributeFormControl, generatePercentageOptionFormGroup, generatePrerequisiteDefaultValue, generatePrerequisiteFlagConditionFormGroup, generateSegmentConditionFormGroup, generateSettingValuesFormGroup, generateTargetingRuleFormGroup, generateTargetingRuleWithEmptyPercentageOptions, generateUserConditionFormGroup, generateValueFormGroup, getComparisonValueSemverListItemValidators, getComparisonValueSemverValidators, getComparisonValueStringListItemValidators, getComparisonValueStringValidators, getComparisonValueType, getEmptyPercentageOptions, getNextIndex, getRawSettiongValue, getRawValue, getValidatorsForSettingType, isClearTextComparator, isPercentageOnlyTargetingRule, parseValuesAndHintsFromCsv, parseValuesAndHintsFromJson, parseValuesFromCsv, percentageRegex, provideConfigCatPublicApiUi, validatePercentageSum, wholeNumberRegex };
|
|
934
|
+
export type { AuthorizationModel, ComparisonValueListParseResult, DeleteSettingDialogData, DeleteSettingDialogResult, DeleteSettingModel, ICustomizeCreateConfig, ICustomizeCreateFeatureFlag, ICustomizeFeatureFlag, ICustomizeLinkFeatureFlag, IGlance, LinkFeatureFlagParameters, NotificationSnackData, PresetProduct, PresetProductAndConfig, SettingValuesModel, UpdateSettingValuesModel };
|