ng-configcat-publicapi-ui 3.0.8 → 4.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/esm2022/lib/_directives/input-display-normalizer.directive.mjs +38 -0
- package/esm2022/lib/_models/flag-state.mjs +2 -0
- package/esm2022/lib/_models/setting-value-formgroup.mjs +2 -0
- package/esm2022/lib/_models/user-comparator.mjs +100 -0
- package/esm2022/lib/_services/app-data-adapter.mjs +18 -0
- package/esm2022/lib/_services/comparison-value-list-helper.mjs +72 -0
- package/esm2022/lib/_services/date-helper.mjs +56 -0
- package/esm2022/lib/_services/form-generator.mjs +359 -0
- package/esm2022/lib/_services/form-helper.mjs +107 -0
- package/esm2022/lib/_services/messaging.service.mjs +26 -0
- package/esm2022/lib/_services/public-api.service.mjs +77 -0
- package/esm2022/lib/_services/setting-list-form-helper.mjs +171 -0
- package/esm2022/lib/_services/tracking.directive.mjs +16 -0
- package/esm2022/lib/ace-editor/ace-editor.component.mjs +137 -0
- package/esm2022/lib/authorization/authorization.component.mjs +62 -0
- package/{esm2020 → esm2022}/lib/base/base-select.component.mjs +4 -4
- package/esm2022/lib/base/base.component.mjs +48 -0
- package/esm2022/lib/bootstrap.mjs +10 -0
- package/{esm2020 → esm2022}/lib/configuration.mjs +4 -4
- package/esm2022/lib/dialogs/confirmation-dialog/confirmation-dialog.mjs +28 -0
- package/{esm2020 → esm2022}/lib/dialogs/delete-setting-dialog/delete-setting-dialog.component.mjs +6 -6
- package/esm2022/lib/dialogs/expand-dialog/expand-dialog.component.mjs +80 -0
- package/esm2022/lib/dialogs/info-dialog/info-dialog.mjs +29 -0
- package/esm2022/lib/dialogs/reason-dialog/reason-dialog.component.mjs +36 -0
- package/{esm2020 → esm2022}/lib/dialogs/save-snackbar/save-snackbar.component.mjs +5 -5
- package/esm2022/lib/ng-configcat-publicapi-ui.module.mjs +285 -0
- package/esm2022/lib/selects/config-select/config-select.component.mjs +60 -0
- package/esm2022/lib/selects/environment-select/environment-select.component.mjs +47 -0
- package/esm2022/lib/selects/product-select/product-select.component.mjs +40 -0
- package/esm2022/lib/selects/setting-select/setting-select.component.mjs +47 -0
- package/esm2022/lib/setting-item/setting-item.component.mjs +118 -0
- package/esm2022/lib/setting-list/setting/rollout-percentage-items/rollout-percentage-items.component.mjs +81 -0
- package/esm2022/lib/setting-list/setting/rollout-rules/rollout-rules.component.mjs +293 -0
- package/{esm2020 → esm2022}/lib/setting-list/setting/setting.component.mjs +5 -5
- package/esm2022/lib/setting-list/setting/value/value.component.mjs +37 -0
- package/esm2022/lib/setting-list/setting-list.component.mjs +194 -0
- package/esm2022/lib/v2/feature-flag/date-time-picker/date-time-picker.component.mjs +123 -0
- package/esm2022/lib/v2/feature-flag/dependees-dialog/dependees-dialog.component.mjs +30 -0
- package/esm2022/lib/v2/feature-flag/evaluation-formula/evaluation-formula.component.mjs +220 -0
- package/esm2022/lib/v2/feature-flag/evaluation-formula/feature-flag-value/feature-flag-value.component.mjs +61 -0
- package/esm2022/lib/v2/feature-flag/evaluation-formula/popout-text-editor-dialog/popout-text-editor-dialog.component.mjs +72 -0
- package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/condition-chip/condition-chip.component.mjs +25 -0
- package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/conditions.component.mjs +105 -0
- package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/prerequisite-flag-condition/prerequisite-flag-condition.component.mjs +75 -0
- package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/segment-condition/segment-condition.component.mjs +48 -0
- package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/comparator-dialog/comparator-dialog.component.mjs +113 -0
- package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/popout-list-editor-dialog/popout-list-editor-dialog.component.mjs +251 -0
- package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/user-condition.component.mjs +444 -0
- package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/percentage-options/percentage-options.component.mjs +84 -0
- package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/targeting-rule.component.mjs +129 -0
- package/esm2022/lib/v2/feature-flag/feature-flag.component.mjs +190 -0
- package/esm2022/lib/v2/feature-flag/percentage-evaluation-attribute-dialog/percentage-evaluation-attribute-dialog.component.mjs +65 -0
- package/esm2022/lib/v2/feature-flag-item.component.mjs +319 -0
- package/{esm2020 → esm2022}/public-api.mjs +2 -1
- package/fesm2022/ng-configcat-publicapi-ui.mjs +4790 -0
- package/fesm2022/ng-configcat-publicapi-ui.mjs.map +1 -0
- package/lib/_models/flag-state.d.ts +20 -0
- package/lib/_models/setting-value-formgroup.d.ts +69 -0
- package/lib/_models/user-comparator.d.ts +84 -0
- package/lib/_services/app-data-adapter.d.ts +7 -0
- package/lib/_services/comparison-value-list-helper.d.ts +17 -0
- package/lib/_services/date-helper.d.ts +6 -0
- package/lib/_services/form-generator.d.ts +59 -0
- package/lib/_services/form-helper.d.ts +4 -1
- package/lib/_services/messaging.service.d.ts +12 -0
- package/lib/_services/public-api.service.d.ts +2 -1
- package/lib/_services/setting-list-form-helper.d.ts +1 -1
- package/lib/_services/tracking.directive.d.ts +6 -0
- package/lib/ace-editor/ace-editor.component.d.ts +32 -0
- package/lib/authorization/authorization.component.d.ts +2 -2
- package/lib/base/base-select.component.d.ts +1 -1
- package/lib/base/base.component.d.ts +2 -1
- package/lib/bootstrap.d.ts +12 -0
- package/lib/dialogs/confirmation-dialog/confirmation-dialog.d.ts +19 -0
- package/lib/dialogs/info-dialog/info-dialog.d.ts +17 -0
- package/lib/ng-configcat-publicapi-ui.module.d.ts +47 -19
- package/lib/selects/config-select/config-select.component.d.ts +1 -1
- package/lib/selects/environment-select/environment-select.component.d.ts +1 -1
- package/lib/selects/product-select/product-select.component.d.ts +1 -1
- package/lib/selects/setting-select/setting-select.component.d.ts +1 -1
- package/lib/setting-item/setting-item.component.d.ts +4 -2
- package/lib/setting-list/setting/rollout-percentage-items/rollout-percentage-items.component.d.ts +1 -1
- package/lib/setting-list/setting/rollout-rules/rollout-rules.component.d.ts +4 -4
- package/lib/setting-list/setting/setting.component.d.ts +1 -1
- package/lib/setting-list/setting/value/value.component.d.ts +1 -1
- package/lib/setting-list/setting-list.component.d.ts +1 -1
- package/lib/v2/feature-flag/date-time-picker/date-time-picker.component.d.ts +25 -0
- package/lib/v2/feature-flag/dependees-dialog/dependees-dialog.component.d.ts +27 -0
- package/lib/v2/feature-flag/evaluation-formula/evaluation-formula.component.d.ts +41 -0
- package/lib/v2/feature-flag/evaluation-formula/feature-flag-value/feature-flag-value.component.d.ts +18 -0
- package/lib/v2/feature-flag/evaluation-formula/popout-text-editor-dialog/popout-text-editor-dialog.component.d.ts +30 -0
- package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/condition-chip/condition-chip.component.d.ts +10 -0
- package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/conditions.component.d.ts +27 -0
- package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/prerequisite-flag-condition/prerequisite-flag-condition.component.d.ts +36 -0
- package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/segment-condition/segment-condition.component.d.ts +21 -0
- package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/comparator-dialog/comparator-dialog.component.d.ts +79 -0
- package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/popout-list-editor-dialog/popout-list-editor-dialog.component.d.ts +63 -0
- package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/user-condition.component.d.ts +94 -0
- package/lib/v2/feature-flag/evaluation-formula/targeting-rule/percentage-options/percentage-options.component.d.ts +31 -0
- package/lib/v2/feature-flag/evaluation-formula/targeting-rule/targeting-rule.component.d.ts +33 -0
- package/lib/v2/feature-flag/feature-flag.component.d.ts +49 -0
- package/lib/v2/feature-flag/percentage-evaluation-attribute-dialog/percentage-evaluation-attribute-dialog.component.d.ts +28 -0
- package/lib/v2/feature-flag-item.component.d.ts +66 -0
- package/package.json +12 -16
- package/public-api.d.ts +1 -0
- package/public-api.scss +205 -3
- package/esm2020/lib/_directives/input-display-normalizer.directive.mjs +0 -38
- package/esm2020/lib/_services/form-helper.mjs +0 -104
- package/esm2020/lib/_services/public-api.service.mjs +0 -71
- package/esm2020/lib/_services/setting-list-form-helper.mjs +0 -171
- package/esm2020/lib/authorization/authorization.component.mjs +0 -62
- package/esm2020/lib/base/base.component.mjs +0 -45
- package/esm2020/lib/dialogs/expand-dialog/expand-dialog.component.mjs +0 -80
- package/esm2020/lib/dialogs/reason-dialog/reason-dialog.component.mjs +0 -36
- package/esm2020/lib/ng-configcat-publicapi-ui.module.mjs +0 -179
- package/esm2020/lib/selects/config-select/config-select.component.mjs +0 -60
- package/esm2020/lib/selects/environment-select/environment-select.component.mjs +0 -47
- package/esm2020/lib/selects/product-select/product-select.component.mjs +0 -40
- package/esm2020/lib/selects/setting-select/setting-select.component.mjs +0 -47
- package/esm2020/lib/setting-item/setting-item.component.mjs +0 -116
- package/esm2020/lib/setting-list/setting/rollout-percentage-items/rollout-percentage-items.component.mjs +0 -81
- package/esm2020/lib/setting-list/setting/rollout-rules/rollout-rules.component.mjs +0 -293
- package/esm2020/lib/setting-list/setting/value/value.component.mjs +0 -37
- package/esm2020/lib/setting-list/setting-list.component.mjs +0 -194
- package/fesm2015/ng-configcat-publicapi-ui.mjs +0 -1786
- package/fesm2015/ng-configcat-publicapi-ui.mjs.map +0 -1
- package/fesm2020/ng-configcat-publicapi-ui.mjs +0 -1763
- package/fesm2020/ng-configcat-publicapi-ui.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/_directives/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_models/deleteSettingModel.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_models/settingValuesModel.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_models/updateSettingValuesModel.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_services/platform-helper.mjs +0 -0
- /package/{esm2020 → esm2022}/ng-configcat-publicapi-ui.mjs +0 -0
package/lib/setting-list/setting/rollout-percentage-items/rollout-percentage-items.component.d.ts
CHANGED
|
@@ -23,5 +23,5 @@ export declare class RolloutPercentageItemsComponent {
|
|
|
23
23
|
getRolloutPercentageItemFormGroups(): UntypedFormGroup[];
|
|
24
24
|
getPercentageFormControl(rolloutPercentageItem: any): UntypedFormControl;
|
|
25
25
|
static ɵfac: i0.ɵɵFactoryDeclaration<RolloutPercentageItemsComponent, never>;
|
|
26
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RolloutPercentageItemsComponent, "configcat-rollout-percentage-items", never, { "formGroup": "formGroup"; "readOnly": "readOnly"; }, {}, never, never, false, never>;
|
|
26
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RolloutPercentageItemsComponent, "configcat-rollout-percentage-items", never, { "formGroup": { "alias": "formGroup"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; }, {}, never, never, false, never>;
|
|
27
27
|
}
|
|
@@ -32,7 +32,7 @@ export declare class RolloutRulesComponent {
|
|
|
32
32
|
onDrop(event: any): void;
|
|
33
33
|
attributeChanged(event: any, comparisonAttribute: UntypedFormControl): void;
|
|
34
34
|
getPlaceHolder(rolloutRule: any): "" | "e.g: user_id1, user_id2, user_id3" | "e.g: jane@example.com, john@example.com" | "e.g: France, Brazil" | "e.g: value1, value2, value3" | "part-of-id" | "e.g: @example.com" | "e.g: United" | "e.g: any-part-of-your-value-string" | "e.g: 1.0.0, 2.0.1" | "e.g: 1.0.0" | "e.g: 42";
|
|
35
|
-
getComparisonValueType(rolloutRule: any): "
|
|
35
|
+
getComparisonValueType(rolloutRule: any): "number" | "text";
|
|
36
36
|
getInfoClass(rolloutRule: any): "warn" | "info";
|
|
37
37
|
getInfoTooltip(rolloutRule: any): "Learn more about comparators" | "Consider using sensitive text comparators. Click to learn more." | "Click to learn more about comparators";
|
|
38
38
|
comparatorChanged(rolloutRule: any): void;
|
|
@@ -41,12 +41,12 @@ export declare class RolloutRulesComponent {
|
|
|
41
41
|
validateSemVer: {
|
|
42
42
|
valid: boolean;
|
|
43
43
|
};
|
|
44
|
-
}
|
|
44
|
+
};
|
|
45
45
|
validateSemVerList(c: UntypedFormControl): {
|
|
46
46
|
validateSemVerList: {
|
|
47
47
|
valid: boolean;
|
|
48
48
|
};
|
|
49
|
-
}
|
|
49
|
+
};
|
|
50
50
|
popOut(rolloutRule: any): void;
|
|
51
51
|
trackByIndex(index: number): any;
|
|
52
52
|
getRolloutRuleValueFormControl(rolloutRule: any): UntypedFormControl;
|
|
@@ -57,5 +57,5 @@ export declare class RolloutRulesComponent {
|
|
|
57
57
|
getRolloutRuleSegmentComparatorFormControl(rolloutRule: any): UntypedFormControl;
|
|
58
58
|
getRolloutRuleSegmentIdFormControl(rolloutRule: any): UntypedFormControl;
|
|
59
59
|
static ɵfac: i0.ɵɵFactoryDeclaration<RolloutRulesComponent, never>;
|
|
60
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RolloutRulesComponent, "configcat-rollout-rules", never, { "formGroup": "formGroup"; "readOnly": "readOnly"; "segments": "segments"; }, {}, never, never, false, never>;
|
|
60
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RolloutRulesComponent, "configcat-rollout-rules", never, { "formGroup": { "alias": "formGroup"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "segments": { "alias": "segments"; "required": false; }; }, {}, never, never, false, never>;
|
|
61
61
|
}
|
|
@@ -39,5 +39,5 @@ export declare class SettingComponent implements OnInit {
|
|
|
39
39
|
deleteSetting(): void;
|
|
40
40
|
getDashboardUrl(): string;
|
|
41
41
|
static ɵfac: i0.ɵɵFactoryDeclaration<SettingComponent, never>;
|
|
42
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SettingComponent, "setting", never, { "dashboardBasePath": "dashboardBasePath"; "productId": "productId"; "environmentId": "environmentId"; "configId": "configId"; "formGroup": "formGroup"; "readOnly": "readOnly"; "canDeleteSetting": "canDeleteSetting"; "deleteSettingText": "deleteSettingText"; "showEnvironmentName": "showEnvironmentName"; "segments": "segments"; }, { "deleteSettingRequested": "deleteSettingRequested"; }, never, never, false, never>;
|
|
42
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SettingComponent, "setting", never, { "dashboardBasePath": { "alias": "dashboardBasePath"; "required": false; }; "productId": { "alias": "productId"; "required": false; }; "environmentId": { "alias": "environmentId"; "required": false; }; "configId": { "alias": "configId"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "canDeleteSetting": { "alias": "canDeleteSetting"; "required": false; }; "deleteSettingText": { "alias": "deleteSettingText"; "required": false; }; "showEnvironmentName": { "alias": "showEnvironmentName"; "required": false; }; "segments": { "alias": "segments"; "required": false; }; }, { "deleteSettingRequested": "deleteSettingRequested"; }, never, never, false, never>;
|
|
43
43
|
}
|
|
@@ -16,5 +16,5 @@ export declare class ValueComponent {
|
|
|
16
16
|
popOut(): void;
|
|
17
17
|
formatDecimalNumber(value: number): string;
|
|
18
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<ValueComponent, never>;
|
|
19
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ValueComponent, "configcat-value", never, { "valueFormControl": "valueFormControl"; "setting": "setting"; }, {}, never, never, false, never>;
|
|
19
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ValueComponent, "configcat-value", never, { "valueFormControl": { "alias": "valueFormControl"; "required": false; }; "setting": { "alias": "setting"; "required": false; }; }, {}, never, never, false, never>;
|
|
20
20
|
}
|
|
@@ -49,5 +49,5 @@ export declare class SettingListComponent implements OnChanges, OnDestroy {
|
|
|
49
49
|
setting: SettingModel;
|
|
50
50
|
}): void;
|
|
51
51
|
static ɵfac: i0.ɵɵFactoryDeclaration<SettingListComponent, never>;
|
|
52
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SettingListComponent, "configcat-setting-list", never, { "productId": "productId"; "environmentId": "environmentId"; "configId": "configId"; "dashboardBasePath": "dashboardBasePath"; "canDeleteSetting": "canDeleteSetting"; "onSave": "onSave"; "loadSettingValues": "loadSettingValues"; "loadSegments": "loadSegments"; "deleteSettingText": "deleteSettingText"; "showEnvironmentName": "showEnvironmentName"; }, { "loadSucceeded": "loadSucceeded"; "deleteSettingRequested": "deleteSettingRequested"; "formValuesChanged": "formValuesChanged"; }, never, never, false, never>;
|
|
52
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SettingListComponent, "configcat-setting-list", never, { "productId": { "alias": "productId"; "required": false; }; "environmentId": { "alias": "environmentId"; "required": false; }; "configId": { "alias": "configId"; "required": false; }; "dashboardBasePath": { "alias": "dashboardBasePath"; "required": false; }; "canDeleteSetting": { "alias": "canDeleteSetting"; "required": false; }; "onSave": { "alias": "onSave"; "required": false; }; "loadSettingValues": { "alias": "loadSettingValues"; "required": false; }; "loadSegments": { "alias": "loadSegments"; "required": false; }; "deleteSettingText": { "alias": "deleteSettingText"; "required": false; }; "showEnvironmentName": { "alias": "showEnvironmentName"; "required": false; }; }, { "loadSucceeded": "loadSucceeded"; "deleteSettingRequested": "deleteSettingRequested"; "formValuesChanged": "formValuesChanged"; }, never, never, false, never>;
|
|
53
53
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { DestroyRef, OnInit } from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor, FormControl, FormGroup, ValidationErrors, Validator } from '@angular/forms';
|
|
3
|
+
import { FormHelper } from '../../../_services/form-helper';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export interface DateTimeForm {
|
|
6
|
+
dateValue: FormControl<Date | undefined>;
|
|
7
|
+
timeValue: FormControl<string>;
|
|
8
|
+
}
|
|
9
|
+
export declare class DateTimePickerComponent implements OnInit, ControlValueAccessor, Validator {
|
|
10
|
+
FormHelper: typeof FormHelper;
|
|
11
|
+
destroyRef: DestroyRef;
|
|
12
|
+
formGroup: FormGroup<DateTimeForm>;
|
|
13
|
+
private onChangeModel;
|
|
14
|
+
private onTouchModel;
|
|
15
|
+
dateTooltip: string;
|
|
16
|
+
timeTooltip: string;
|
|
17
|
+
ngOnInit(): void;
|
|
18
|
+
writeValue(obj: any): void;
|
|
19
|
+
registerOnChange(fn: any): void;
|
|
20
|
+
registerOnTouched(fn: any): void;
|
|
21
|
+
setDisabledState?(isDisabled: boolean): void;
|
|
22
|
+
validate(): ValidationErrors;
|
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DateTimePickerComponent, never>;
|
|
24
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DateTimePickerComponent, "app-date-time-picker", never, { "dateTooltip": { "alias": "dateTooltip"; "required": false; }; "timeTooltip": { "alias": "timeTooltip"; "required": false; }; }, {}, never, never, false, never>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { IDependeeSetting } from '../../../_models/setting-value-formgroup';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { PublicApiService } from '../../../_services';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class DependeesDialogComponent {
|
|
6
|
+
data: {
|
|
7
|
+
dependees: IDependeeSetting[];
|
|
8
|
+
name: string;
|
|
9
|
+
organizationId: string;
|
|
10
|
+
productId: string;
|
|
11
|
+
configId: string;
|
|
12
|
+
environmentId: string;
|
|
13
|
+
};
|
|
14
|
+
private router;
|
|
15
|
+
private publicApiService;
|
|
16
|
+
constructor(data: {
|
|
17
|
+
dependees: IDependeeSetting[];
|
|
18
|
+
name: string;
|
|
19
|
+
organizationId: string;
|
|
20
|
+
productId: string;
|
|
21
|
+
configId: string;
|
|
22
|
+
environmentId: string;
|
|
23
|
+
}, router: Router, publicApiService: PublicApiService);
|
|
24
|
+
getDashboardUrl(settingId: number): string;
|
|
25
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DependeesDialogComponent, never>;
|
|
26
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DependeesDialogComponent, "app-dependees-dialog", never, {}, {}, never, never, false, never>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
2
|
+
import { EventEmitter } from '@angular/core';
|
|
3
|
+
import { FormGroup } from '@angular/forms';
|
|
4
|
+
import { ISegment, UpdateSettingValueForm, TargetingRuleForm, FormGenerator, IFeatureFlagLimitations, IPrerequisiteChanged, IFlagState } from '../../../bootstrap';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class EvaluationFormulaComponent {
|
|
7
|
+
private formGenerator;
|
|
8
|
+
formGroup: FormGroup<UpdateSettingValueForm>;
|
|
9
|
+
segments: ISegment[];
|
|
10
|
+
flagState: IFlagState;
|
|
11
|
+
showVariationId: boolean;
|
|
12
|
+
featureFlagLimitations: IFeatureFlagLimitations;
|
|
13
|
+
canManageSegments: boolean;
|
|
14
|
+
showPercentageEvaluationAttribute: boolean;
|
|
15
|
+
createSegmentRequested: EventEmitter<any>;
|
|
16
|
+
manageSegmentsRequested: EventEmitter<any>;
|
|
17
|
+
addSegmentConditionRequestedWithoutSegments: EventEmitter<any>;
|
|
18
|
+
changePercentageEvaluationAttributeRequested: EventEmitter<any>;
|
|
19
|
+
subscriptionLimitReached: EventEmitter<any>;
|
|
20
|
+
prerequisiteConditionChanged: EventEmitter<IPrerequisiteChanged>;
|
|
21
|
+
recalcAddButtons: EventEmitter<any>;
|
|
22
|
+
constructor(formGenerator: FormGenerator);
|
|
23
|
+
addUserCondition(): boolean;
|
|
24
|
+
addSegmentCondition(): boolean;
|
|
25
|
+
addPrerequisiteFlagCondition(): boolean;
|
|
26
|
+
addPercentageOptions(): boolean;
|
|
27
|
+
addTargetingRuleFormGroup(formGroup: FormGroup<TargetingRuleForm>): boolean;
|
|
28
|
+
checkFeatureFlagLimitations(): boolean;
|
|
29
|
+
trackByIndex(index: number): any;
|
|
30
|
+
onDrop(event: CdkDragDrop<any>): void;
|
|
31
|
+
isDragDisabled(targetingRule: FormGroup<TargetingRuleForm>): boolean;
|
|
32
|
+
sortPredicate(): (index: number) => boolean;
|
|
33
|
+
sortPredicateFunction(index: number): boolean;
|
|
34
|
+
getChipText(): string;
|
|
35
|
+
getChipTooltip(): string;
|
|
36
|
+
remove(index: number): void;
|
|
37
|
+
subscriptionLimitReachedCalled(): void;
|
|
38
|
+
recalcPrerequisiteReferences(): void;
|
|
39
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EvaluationFormulaComponent, never>;
|
|
40
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EvaluationFormulaComponent, "app-evaluation-formula", never, { "formGroup": { "alias": "formGroup"; "required": false; }; "segments": { "alias": "segments"; "required": false; }; "flagState": { "alias": "flagState"; "required": false; }; "showVariationId": { "alias": "showVariationId"; "required": false; }; "featureFlagLimitations": { "alias": "featureFlagLimitations"; "required": false; }; "canManageSegments": { "alias": "canManageSegments"; "required": false; }; "showPercentageEvaluationAttribute": { "alias": "showPercentageEvaluationAttribute"; "required": false; }; }, { "createSegmentRequested": "createSegmentRequested"; "manageSegmentsRequested": "manageSegmentsRequested"; "addSegmentConditionRequestedWithoutSegments": "addSegmentConditionRequestedWithoutSegments"; "changePercentageEvaluationAttributeRequested": "changePercentageEvaluationAttributeRequested"; "subscriptionLimitReached": "subscriptionLimitReached"; "prerequisiteConditionChanged": "prerequisiteConditionChanged"; "recalcAddButtons": "recalcAddButtons"; }, never, never, false, never>;
|
|
41
|
+
}
|
package/lib/v2/feature-flag/evaluation-formula/feature-flag-value/feature-flag-value.component.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FormGroup } from '@angular/forms';
|
|
2
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
+
import { FormHelper, ValueForm, IFeatureFlagLimitations, FormGenerator, IFlagState } from '../../../../bootstrap';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class FeatureFlagValueComponent {
|
|
6
|
+
private dialog;
|
|
7
|
+
private formGenerator;
|
|
8
|
+
formGroup: FormGroup<ValueForm>;
|
|
9
|
+
flagState: IFlagState;
|
|
10
|
+
featureFlagLimitations: IFeatureFlagLimitations;
|
|
11
|
+
isPrerequisite: boolean;
|
|
12
|
+
tooltip: string;
|
|
13
|
+
FormHelper: typeof FormHelper;
|
|
14
|
+
constructor(dialog: MatDialog, formGenerator: FormGenerator);
|
|
15
|
+
expandText(): void;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FeatureFlagValueComponent, never>;
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FeatureFlagValueComponent, "app-feature-flag-value", never, { "formGroup": { "alias": "formGroup"; "required": false; }; "flagState": { "alias": "flagState"; "required": false; }; "featureFlagLimitations": { "alias": "featureFlagLimitations"; "required": false; }; "isPrerequisite": { "alias": "isPrerequisite"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; }, {}, never, never, false, never>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { FormControl, ValidatorFn } from '@angular/forms';
|
|
3
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
4
|
+
import { Subscription } from 'rxjs';
|
|
5
|
+
import { FormHelper } from '../../../../bootstrap';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export interface PopoutTextEditorDialogData {
|
|
8
|
+
value: string;
|
|
9
|
+
readOnly: boolean;
|
|
10
|
+
validators: ValidatorFn[];
|
|
11
|
+
maxValueLength: number;
|
|
12
|
+
description: string;
|
|
13
|
+
}
|
|
14
|
+
export declare class PopoutTextEditorDialogComponent implements OnInit, OnDestroy {
|
|
15
|
+
dialogRef: MatDialogRef<PopoutTextEditorDialogComponent>;
|
|
16
|
+
data: PopoutTextEditorDialogData;
|
|
17
|
+
formControlSubscription: Subscription;
|
|
18
|
+
jsonData: string;
|
|
19
|
+
format: string;
|
|
20
|
+
formHelper: typeof FormHelper;
|
|
21
|
+
control: FormControl<string>;
|
|
22
|
+
constructor(dialogRef: MatDialogRef<PopoutTextEditorDialogComponent>, data: PopoutTextEditorDialogData);
|
|
23
|
+
ngOnInit(): void;
|
|
24
|
+
onJsonChanged(value: string): void;
|
|
25
|
+
ngOnDestroy(): void;
|
|
26
|
+
set(): void;
|
|
27
|
+
close(): void;
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PopoutTextEditorDialogComponent, never>;
|
|
29
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PopoutTextEditorDialogComponent, "app-popout-text-editor-dialog", never, {}, {}, never, never, false, never>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class ConditionChipComponent implements OnInit {
|
|
4
|
+
targetingRuleIndex: number;
|
|
5
|
+
conditionIndex: number;
|
|
6
|
+
chipText: string;
|
|
7
|
+
ngOnInit(): void;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConditionChipComponent, never>;
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ConditionChipComponent, "app-condition-chip", never, { "targetingRuleIndex": { "alias": "targetingRuleIndex"; "required": false; }; "conditionIndex": { "alias": "conditionIndex"; "required": false; }; }, {}, never, never, false, never>;
|
|
10
|
+
}
|
package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/conditions.component.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { FormArray, FormGroup } from '@angular/forms';
|
|
3
|
+
import { IFlagState, IFeatureFlagLimitations, ConditionForm, FormGenerator, ISegment } from '../../../../../bootstrap';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class ConditionsComponent {
|
|
6
|
+
private formGenerator;
|
|
7
|
+
formArray: FormArray<FormGroup<ConditionForm>>;
|
|
8
|
+
segments: ISegment[];
|
|
9
|
+
flagState: IFlagState;
|
|
10
|
+
targetingRuleIndex: number;
|
|
11
|
+
canManageSegments: boolean;
|
|
12
|
+
featureFlagLimitations: IFeatureFlagLimitations;
|
|
13
|
+
createSegmentRequested: EventEmitter<any>;
|
|
14
|
+
manageSegmentsRequested: EventEmitter<any>;
|
|
15
|
+
addSegmentConditionRequestedWithoutSegments: EventEmitter<any>;
|
|
16
|
+
lastConditionDeleted: EventEmitter<any>;
|
|
17
|
+
subscriptionLimitReached: EventEmitter<any>;
|
|
18
|
+
prerequisiteConditionChanged: EventEmitter<any>;
|
|
19
|
+
constructor(formGenerator: FormGenerator);
|
|
20
|
+
addUserCondition(): void;
|
|
21
|
+
addSegmentCondition(): void;
|
|
22
|
+
addPrerequisiteFlagCondition(): void;
|
|
23
|
+
remove(index: number): void;
|
|
24
|
+
checkLimitations(): boolean;
|
|
25
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConditionsComponent, never>;
|
|
26
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ConditionsComponent, "app-conditions", never, { "formArray": { "alias": "formArray"; "required": false; }; "segments": { "alias": "segments"; "required": false; }; "flagState": { "alias": "flagState"; "required": false; }; "targetingRuleIndex": { "alias": "targetingRuleIndex"; "required": false; }; "canManageSegments": { "alias": "canManageSegments"; "required": false; }; "featureFlagLimitations": { "alias": "featureFlagLimitations"; "required": false; }; }, { "createSegmentRequested": "createSegmentRequested"; "manageSegmentsRequested": "manageSegmentsRequested"; "addSegmentConditionRequestedWithoutSegments": "addSegmentConditionRequestedWithoutSegments"; "lastConditionDeleted": "lastConditionDeleted"; "subscriptionLimitReached": "subscriptionLimitReached"; "prerequisiteConditionChanged": "prerequisiteConditionChanged"; }, never, never, false, never>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
import { FormHelper, PrerequisiteComparator, IFeatureFlagLimitations, PrerequisiteFlagConditionForm, IPrerequisiteSetting, IValueModel, FormGenerator, SettingType } from '../../../../../../bootstrap';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class PrerequisiteFlagConditionComponent implements OnInit {
|
|
6
|
+
private formGenerator;
|
|
7
|
+
targetingRuleIndex: number;
|
|
8
|
+
conditionIndex: number;
|
|
9
|
+
formGroup: FormGroup<PrerequisiteFlagConditionForm>;
|
|
10
|
+
prerequisiteSettings: IPrerequisiteSetting[];
|
|
11
|
+
featureFlagLimitations: IFeatureFlagLimitations;
|
|
12
|
+
prerequisiteConditionChanged: EventEmitter<any>;
|
|
13
|
+
SettingType: {
|
|
14
|
+
Boolean: SettingType;
|
|
15
|
+
String: SettingType;
|
|
16
|
+
Int: SettingType;
|
|
17
|
+
Double: SettingType;
|
|
18
|
+
};
|
|
19
|
+
prerequisiteSettingType: SettingType;
|
|
20
|
+
FormHelper: typeof FormHelper;
|
|
21
|
+
prerequisiteComparators: {
|
|
22
|
+
value: PrerequisiteComparator;
|
|
23
|
+
label: string;
|
|
24
|
+
}[];
|
|
25
|
+
booleanPrerequisiteComparators: {
|
|
26
|
+
value: PrerequisiteComparator;
|
|
27
|
+
label: string;
|
|
28
|
+
}[];
|
|
29
|
+
constructor(formGenerator: FormGenerator);
|
|
30
|
+
ngOnInit(): void;
|
|
31
|
+
getSettingType(): SettingType;
|
|
32
|
+
prerequisiteSettingChanged(): void;
|
|
33
|
+
getDefaultValueModel(settingType: SettingType): IValueModel;
|
|
34
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PrerequisiteFlagConditionComponent, never>;
|
|
35
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PrerequisiteFlagConditionComponent, "app-prerequisite-flag-condition", never, { "targetingRuleIndex": { "alias": "targetingRuleIndex"; "required": false; }; "conditionIndex": { "alias": "conditionIndex"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "prerequisiteSettings": { "alias": "prerequisiteSettings"; "required": false; }; "featureFlagLimitations": { "alias": "featureFlagLimitations"; "required": false; }; }, { "prerequisiteConditionChanged": "prerequisiteConditionChanged"; }, never, never, false, never>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
import { FormHelper, SegmentConditionForm, ISegment, SegmentComparator } from '../../../../../../bootstrap';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class SegmentConditionComponent {
|
|
6
|
+
targetingRuleIndex: number;
|
|
7
|
+
conditionIndex: number;
|
|
8
|
+
formGroup: FormGroup<SegmentConditionForm>;
|
|
9
|
+
segments: ISegment[];
|
|
10
|
+
canManageSegments: boolean;
|
|
11
|
+
createSegmentRequested: EventEmitter<any>;
|
|
12
|
+
manageSegmentsRequested: EventEmitter<any>;
|
|
13
|
+
FormHelper: typeof FormHelper;
|
|
14
|
+
segmentComparators: {
|
|
15
|
+
value: SegmentComparator;
|
|
16
|
+
label: string;
|
|
17
|
+
}[];
|
|
18
|
+
createSegment(): void;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SegmentConditionComponent, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SegmentConditionComponent, "app-segment-condition", never, { "targetingRuleIndex": { "alias": "targetingRuleIndex"; "required": false; }; "conditionIndex": { "alias": "conditionIndex"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "segments": { "alias": "segments"; "required": false; }; "canManageSegments": { "alias": "canManageSegments"; "required": false; }; }, { "createSegmentRequested": "createSegmentRequested"; "manageSegmentsRequested": "manageSegmentsRequested"; }, never, never, false, never>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
3
|
+
import { UserComparator } from '../../../../../../../bootstrap';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
declare enum ComparatorGroup {
|
|
6
|
+
Text = 0,
|
|
7
|
+
Number = 1,
|
|
8
|
+
Semver = 2,
|
|
9
|
+
DateTime = 3,
|
|
10
|
+
Array = 4
|
|
11
|
+
}
|
|
12
|
+
interface ComparatorItem {
|
|
13
|
+
value: UserComparator;
|
|
14
|
+
sensitiveValue?: UserComparator;
|
|
15
|
+
label: string;
|
|
16
|
+
description: string;
|
|
17
|
+
group: ComparatorGroup;
|
|
18
|
+
}
|
|
19
|
+
export declare class ComparatorDialogComponent implements OnInit {
|
|
20
|
+
dialogRef: MatDialogRef<ComparatorDialogComponent>;
|
|
21
|
+
data: any;
|
|
22
|
+
ComparatorGroup: typeof ComparatorGroup;
|
|
23
|
+
selectedGroup: ComparatorGroup;
|
|
24
|
+
selectedComparator: UserComparator;
|
|
25
|
+
isConfidential: boolean;
|
|
26
|
+
lastConfidentialValue: boolean;
|
|
27
|
+
confidentialEnabled: boolean;
|
|
28
|
+
UserComparator: {
|
|
29
|
+
IsOneOf: UserComparator;
|
|
30
|
+
IsNotOneOf: UserComparator;
|
|
31
|
+
ContainsAnyOf: UserComparator;
|
|
32
|
+
DoesNotContainAnyOf: UserComparator;
|
|
33
|
+
SemVerIsOneOf: UserComparator;
|
|
34
|
+
SemVerIsNotOneOf: UserComparator;
|
|
35
|
+
SemVerLess: UserComparator;
|
|
36
|
+
SemVerLessOrEquals: UserComparator;
|
|
37
|
+
SemVerGreater: UserComparator;
|
|
38
|
+
SemVerGreaterOrEquals: UserComparator;
|
|
39
|
+
NumberEquals: UserComparator;
|
|
40
|
+
NumberDoesNotEqual: UserComparator;
|
|
41
|
+
NumberLess: UserComparator;
|
|
42
|
+
NumberLessOrEquals: UserComparator;
|
|
43
|
+
NumberGreater: UserComparator;
|
|
44
|
+
NumberGreaterOrEquals: UserComparator;
|
|
45
|
+
SensitiveIsOneOf: UserComparator;
|
|
46
|
+
SensitiveIsNotOneOf: UserComparator;
|
|
47
|
+
DateTimeBefore: UserComparator;
|
|
48
|
+
DateTimeAfter: UserComparator;
|
|
49
|
+
SensitiveTextEquals: UserComparator;
|
|
50
|
+
SensitiveTextDoesNotEqual: UserComparator;
|
|
51
|
+
SensitiveTextStartsWithAnyOf: UserComparator;
|
|
52
|
+
SensitiveTextNotStartsWithAnyOf: UserComparator;
|
|
53
|
+
SensitiveTextEndsWithAnyOf: UserComparator;
|
|
54
|
+
SensitiveTextNotEndsWithAnyOf: UserComparator;
|
|
55
|
+
SensitiveArrayContainsAnyOf: UserComparator;
|
|
56
|
+
SensitiveArrayDoesNotContainAnyOf: UserComparator;
|
|
57
|
+
TextEquals: UserComparator;
|
|
58
|
+
TextDoesNotEqual: UserComparator;
|
|
59
|
+
TextStartsWithAnyOf: UserComparator;
|
|
60
|
+
TextNotStartsWithAnyOf: UserComparator;
|
|
61
|
+
TextEndsWithAnyOf: UserComparator;
|
|
62
|
+
TextNotEndsWithAnyOf: UserComparator;
|
|
63
|
+
ArrayContainsAnyOf: UserComparator;
|
|
64
|
+
ArrayDoesNotContainAnyOf: UserComparator;
|
|
65
|
+
};
|
|
66
|
+
comparisonAttributeTooltip: string;
|
|
67
|
+
comparisonValueTooltip: string;
|
|
68
|
+
comparators: ComparatorItem[];
|
|
69
|
+
constructor(dialogRef: MatDialogRef<ComparatorDialogComponent>, data: any);
|
|
70
|
+
ngOnInit(): void;
|
|
71
|
+
listComparators(group: ComparatorGroup): ComparatorItem[];
|
|
72
|
+
changeGroup(group: ComparatorGroup): void;
|
|
73
|
+
confidentialChange(confidential: boolean): void;
|
|
74
|
+
comparatorChange(comp: UserComparator): void;
|
|
75
|
+
set(): void;
|
|
76
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ComparatorDialogComponent, never>;
|
|
77
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ComparatorDialogComponent, "app-comparator-dialog", never, {}, {}, never, never, false, never>;
|
|
78
|
+
}
|
|
79
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { AfterViewInit, DestroyRef, OnInit } from '@angular/core';
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
4
|
+
import { MatPaginator } from '@angular/material/paginator';
|
|
5
|
+
import { MatTableDataSource } from '@angular/material/table';
|
|
6
|
+
import { Subscription } from 'rxjs';
|
|
7
|
+
import { FormHelper, IFeatureFlagLimitations, ComparisonValueForm, ComparisonValueListForm, FormGenerator, UserComparator, ComparisonValueListHelper, ComparisonValueListParseResult, IComparisonValueListModel } from '../../../../../../../bootstrap';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export type PopoutListEditorDialogData = {
|
|
10
|
+
comparisonValueList: IComparisonValueListModel[];
|
|
11
|
+
comparator: UserComparator;
|
|
12
|
+
featureFlagLimitations: IFeatureFlagLimitations;
|
|
13
|
+
readOnly: boolean;
|
|
14
|
+
};
|
|
15
|
+
declare enum VisualizationType {
|
|
16
|
+
Table = 0,
|
|
17
|
+
Json = 1,
|
|
18
|
+
Csv = 2,
|
|
19
|
+
Csl = 3
|
|
20
|
+
}
|
|
21
|
+
export declare class PopoutListEditorDialogComponent implements OnInit, AfterViewInit {
|
|
22
|
+
private formGenerator;
|
|
23
|
+
dialogRef: MatDialogRef<PopoutListEditorDialogComponent>;
|
|
24
|
+
private comparisonValueListHelper;
|
|
25
|
+
data: PopoutListEditorDialogData;
|
|
26
|
+
destroyRef: DestroyRef;
|
|
27
|
+
FormHelper: typeof FormHelper;
|
|
28
|
+
VisualizationType: typeof VisualizationType;
|
|
29
|
+
dataSource: MatTableDataSource<FormGroup<ComparisonValueListForm>, MatPaginator>;
|
|
30
|
+
plainText: string;
|
|
31
|
+
formGroup: FormGroup<ComparisonValueForm>;
|
|
32
|
+
filterValue: string;
|
|
33
|
+
valueChanged: boolean;
|
|
34
|
+
currentlyHasHints: boolean;
|
|
35
|
+
displayedColumns: string[];
|
|
36
|
+
visualizationType: VisualizationType;
|
|
37
|
+
comparisonValueListParseResult: ComparisonValueListParseResult;
|
|
38
|
+
valueChangeSubscription: Subscription;
|
|
39
|
+
focusIndex: number;
|
|
40
|
+
paginator: MatPaginator;
|
|
41
|
+
set setPaginator(paginator: MatPaginator);
|
|
42
|
+
constructor(formGenerator: FormGenerator, dialogRef: MatDialogRef<PopoutListEditorDialogComponent>, comparisonValueListHelper: ComparisonValueListHelper, data: PopoutListEditorDialogData);
|
|
43
|
+
ngOnInit(): void;
|
|
44
|
+
setFormGroup(comparisonValueList: IComparisonValueListModel[]): void;
|
|
45
|
+
checkHasHints(): void;
|
|
46
|
+
setDataSource(): void;
|
|
47
|
+
ngAfterViewInit(): void;
|
|
48
|
+
applyFilter(): void;
|
|
49
|
+
add(): void;
|
|
50
|
+
remove(row: FormGroup<ComparisonValueListForm>): void;
|
|
51
|
+
set(): void;
|
|
52
|
+
close(): void;
|
|
53
|
+
removeAll(): void;
|
|
54
|
+
getRawValue(): IComparisonValueListModel[];
|
|
55
|
+
focusInvalid(): void;
|
|
56
|
+
changeVisualizationType(visualizationType: VisualizationType): void;
|
|
57
|
+
textValueChanged(): void;
|
|
58
|
+
recalculate(): void;
|
|
59
|
+
loadFile(event: any): void;
|
|
60
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PopoutListEditorDialogComponent, never>;
|
|
61
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PopoutListEditorDialogComponent, "app-popout-list-editor-dialog", never, {}, {}, never, never, false, never>;
|
|
62
|
+
}
|
|
63
|
+
export {};
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { ChangeDetectorRef, OnInit } from '@angular/core';
|
|
2
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
|
+
import { MatChipInputEvent, MatChipEditedEvent, MatChipGrid } from '@angular/material/chips';
|
|
4
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
5
|
+
import { ErrorStateMatcher } from '@angular/material/core';
|
|
6
|
+
import { Clipboard } from '@angular/cdk/clipboard';
|
|
7
|
+
import { FormHelper, ComparisonValueListForm, UserConditionForm, FormGenerator, UserComparator, UserComparatorText, UserComparatorType, IComparisonValueListModel, IFeatureFlagLimitations, ComparisonValueListHelper, MessagingService } from '../../../../../../bootstrap';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export declare class ListValueErrorStateMatcher implements ErrorStateMatcher {
|
|
10
|
+
private formGroup;
|
|
11
|
+
constructor(formGroup: FormGroup<UserConditionForm>);
|
|
12
|
+
isErrorState(): boolean;
|
|
13
|
+
}
|
|
14
|
+
declare enum ComparatorGroup {
|
|
15
|
+
ConfidentialText = "CONFIDENTIAL TEXT",
|
|
16
|
+
Text = "TEXT",
|
|
17
|
+
SemanticVersion = "SEMANTIC VERSION",
|
|
18
|
+
Number = "NUMBER",
|
|
19
|
+
DateTime = "DATETIME",
|
|
20
|
+
ConfidentialArray = "CONFIDENTIAL ARRAY",
|
|
21
|
+
Array = "ARRAY"
|
|
22
|
+
}
|
|
23
|
+
interface IComparatorValue {
|
|
24
|
+
value: UserComparator;
|
|
25
|
+
label: UserComparatorText;
|
|
26
|
+
group: ComparatorGroup;
|
|
27
|
+
index: number;
|
|
28
|
+
}
|
|
29
|
+
export declare class UserConditionComponent implements OnInit {
|
|
30
|
+
private formGenerator;
|
|
31
|
+
private dialog;
|
|
32
|
+
private comparisonValueListHelper;
|
|
33
|
+
private clipboard;
|
|
34
|
+
private messagingService;
|
|
35
|
+
private changeDetectorRef;
|
|
36
|
+
readonly separatorKeysCodes: readonly [13, 188];
|
|
37
|
+
FormHelper: typeof FormHelper;
|
|
38
|
+
targetingRuleIndex: number;
|
|
39
|
+
conditionIndex: number;
|
|
40
|
+
readOnly: boolean;
|
|
41
|
+
featureFlagLimitations: IFeatureFlagLimitations;
|
|
42
|
+
formGroup: FormGroup<UserConditionForm>;
|
|
43
|
+
matChipGrid: MatChipGrid;
|
|
44
|
+
set setMatChipGrid(matChipGrid: MatChipGrid);
|
|
45
|
+
defaultComparisonAttributes: string[];
|
|
46
|
+
dateValue: Date;
|
|
47
|
+
timeValue: string;
|
|
48
|
+
comparatorSuggestions: Map<any, any>;
|
|
49
|
+
selectedComparator: UserComparator;
|
|
50
|
+
comparatorSeparator: string;
|
|
51
|
+
keepOrder: (a: any, _: any) => any;
|
|
52
|
+
RolloutRuleComparatorV2Type: typeof UserComparatorType;
|
|
53
|
+
rolloutRuleComparatorType: UserComparatorType;
|
|
54
|
+
isClearTextComparatorSelected: boolean;
|
|
55
|
+
fakeFormControl: FormControl<string>;
|
|
56
|
+
errorStateMatcher: ListValueErrorStateMatcher;
|
|
57
|
+
constructor(formGenerator: FormGenerator, dialog: MatDialog, comparisonValueListHelper: ComparisonValueListHelper, clipboard: Clipboard, messagingService: MessagingService, changeDetectorRef: ChangeDetectorRef);
|
|
58
|
+
ngOnInit(): void;
|
|
59
|
+
attributeChanged(event: Event): void;
|
|
60
|
+
comparatorChanged(value: any): void;
|
|
61
|
+
compDialog(): void;
|
|
62
|
+
add(event: MatChipInputEvent): void;
|
|
63
|
+
remove(index: number): void;
|
|
64
|
+
edit(index: number, event: MatChipEditedEvent): void;
|
|
65
|
+
expandText(): void;
|
|
66
|
+
expandList(): void;
|
|
67
|
+
removeAll(): void;
|
|
68
|
+
copyValuesAsCsv(): void;
|
|
69
|
+
copyToClipboard(value: string): void;
|
|
70
|
+
getRawValue(): IComparisonValueListModel[];
|
|
71
|
+
isValueInvalid(listValueItemControl: FormGroup<ComparisonValueListForm>): boolean;
|
|
72
|
+
isHintInvalid(listValueItemControl: FormGroup<ComparisonValueListForm>): boolean;
|
|
73
|
+
isListValueItemInvalid(listValueItemControl: FormGroup<ComparisonValueListForm>): boolean;
|
|
74
|
+
getListValueItemTooltipMessage(listValueItemControl: FormGroup<ComparisonValueListForm>): string;
|
|
75
|
+
calcComparators(resetVal?: boolean): void;
|
|
76
|
+
buildComparatorSuggestions(ids: number[], resetVal: boolean): void;
|
|
77
|
+
dedupComps(comps: IComparatorValue[]): IComparatorValue[];
|
|
78
|
+
genSeparator(comps: IComparatorValue[]): string;
|
|
79
|
+
isNumberArr(val: any): boolean;
|
|
80
|
+
isNullCompVal(compVal: Partial<{
|
|
81
|
+
stringValue?: string;
|
|
82
|
+
doubleValue?: number;
|
|
83
|
+
listValue?: Partial<{
|
|
84
|
+
value: string;
|
|
85
|
+
hint?: string;
|
|
86
|
+
index: number;
|
|
87
|
+
}>[];
|
|
88
|
+
}>): boolean;
|
|
89
|
+
isClearTextComparator(comparator: UserComparator): boolean;
|
|
90
|
+
openCleartextInfoDialog(): void;
|
|
91
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UserConditionComponent, never>;
|
|
92
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UserConditionComponent, "app-user-condition", never, { "targetingRuleIndex": { "alias": "targetingRuleIndex"; "required": false; }; "conditionIndex": { "alias": "conditionIndex"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "featureFlagLimitations": { "alias": "featureFlagLimitations"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; }, {}, never, never, false, never>;
|
|
93
|
+
}
|
|
94
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { FormArray, FormGroup } from '@angular/forms';
|
|
3
|
+
import { FormHelper, IFlagState, IFeatureFlagLimitations, PercentageOptionForm, FormGenerator, SettingType } from '../../../../../bootstrap';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class PercentageOptionsComponent {
|
|
6
|
+
private formGenerator;
|
|
7
|
+
formArray: FormArray<FormGroup<PercentageOptionForm>>;
|
|
8
|
+
flagState: IFlagState;
|
|
9
|
+
featureFlagLimitations: IFeatureFlagLimitations;
|
|
10
|
+
showPercentageEvaluationAttribute: boolean;
|
|
11
|
+
percentageEvaluationAttribute: string;
|
|
12
|
+
isPercentageOnlyTargetingRule: boolean;
|
|
13
|
+
lastPercentageOptionLeft: EventEmitter<any>;
|
|
14
|
+
subscriptionLimitReached: EventEmitter<any>;
|
|
15
|
+
changePercentageEvaluationAttributeRequested: EventEmitter<any>;
|
|
16
|
+
SettingType: {
|
|
17
|
+
Boolean: SettingType;
|
|
18
|
+
String: SettingType;
|
|
19
|
+
Int: SettingType;
|
|
20
|
+
Double: SettingType;
|
|
21
|
+
};
|
|
22
|
+
FormHelper: typeof FormHelper;
|
|
23
|
+
constructor(formGenerator: FormGenerator);
|
|
24
|
+
addOption(): void;
|
|
25
|
+
remove(index: number): void;
|
|
26
|
+
percentageChanged(index: number): void;
|
|
27
|
+
changePercentageEvaluationAttribute(): void;
|
|
28
|
+
getPercentageEvaluationAttribute(): string;
|
|
29
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PercentageOptionsComponent, never>;
|
|
30
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PercentageOptionsComponent, "app-percentage-options", never, { "formArray": { "alias": "formArray"; "required": false; }; "flagState": { "alias": "flagState"; "required": false; }; "featureFlagLimitations": { "alias": "featureFlagLimitations"; "required": false; }; "showPercentageEvaluationAttribute": { "alias": "showPercentageEvaluationAttribute"; "required": false; }; "percentageEvaluationAttribute": { "alias": "percentageEvaluationAttribute"; "required": false; }; "isPercentageOnlyTargetingRule": { "alias": "isPercentageOnlyTargetingRule"; "required": false; }; }, { "lastPercentageOptionLeft": "lastPercentageOptionLeft"; "subscriptionLimitReached": "subscriptionLimitReached"; "changePercentageEvaluationAttributeRequested": "changePercentageEvaluationAttributeRequested"; }, never, never, false, never>;
|
|
31
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
import { ISegment, TargetingRuleForm, FormGenerator, IFeatureFlagLimitations, IFlagState } from '../../../../bootstrap';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class TargetingRuleComponent {
|
|
6
|
+
private formGenerator;
|
|
7
|
+
formGroup: FormGroup<TargetingRuleForm>;
|
|
8
|
+
segments: ISegment[];
|
|
9
|
+
flagState: IFlagState;
|
|
10
|
+
targetingRuleIndex: number;
|
|
11
|
+
featureFlagLimitations: IFeatureFlagLimitations;
|
|
12
|
+
canManageSegments: boolean;
|
|
13
|
+
showPercentageEvaluationAttribute: boolean;
|
|
14
|
+
percentageEvaluationAttribute: string;
|
|
15
|
+
createSegmentRequested: EventEmitter<any>;
|
|
16
|
+
manageSegmentsRequested: EventEmitter<any>;
|
|
17
|
+
addSegmentConditionRequestedWithoutSegments: EventEmitter<any>;
|
|
18
|
+
removedAllRules: EventEmitter<any>;
|
|
19
|
+
subscriptionLimitReached: EventEmitter<any>;
|
|
20
|
+
changePercentageEvaluationAttributeRequested: EventEmitter<any>;
|
|
21
|
+
prerequisiteConditionChanged: EventEmitter<any>;
|
|
22
|
+
constructor(formGenerator: FormGenerator);
|
|
23
|
+
convertToPercentage(): void;
|
|
24
|
+
isPercentageOnly(): boolean;
|
|
25
|
+
showBadge(): boolean;
|
|
26
|
+
getChipText(): string;
|
|
27
|
+
getChipTooltip(): string;
|
|
28
|
+
lastPercentageOptionLeft(): void;
|
|
29
|
+
lastConditionDeleted(): void;
|
|
30
|
+
subscriptionLimitReachedCalled(): void;
|
|
31
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TargetingRuleComponent, never>;
|
|
32
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TargetingRuleComponent, "app-targeting-rule", never, { "formGroup": { "alias": "formGroup"; "required": false; }; "segments": { "alias": "segments"; "required": false; }; "flagState": { "alias": "flagState"; "required": false; }; "targetingRuleIndex": { "alias": "targetingRuleIndex"; "required": false; }; "featureFlagLimitations": { "alias": "featureFlagLimitations"; "required": false; }; "canManageSegments": { "alias": "canManageSegments"; "required": false; }; "showPercentageEvaluationAttribute": { "alias": "showPercentageEvaluationAttribute"; "required": false; }; "percentageEvaluationAttribute": { "alias": "percentageEvaluationAttribute"; "required": false; }; }, { "createSegmentRequested": "createSegmentRequested"; "manageSegmentsRequested": "manageSegmentsRequested"; "addSegmentConditionRequestedWithoutSegments": "addSegmentConditionRequestedWithoutSegments"; "removedAllRules": "removedAllRules"; "subscriptionLimitReached": "subscriptionLimitReached"; "changePercentageEvaluationAttributeRequested": "changePercentageEvaluationAttributeRequested"; "prerequisiteConditionChanged": "prerequisiteConditionChanged"; }, never, never, false, never>;
|
|
33
|
+
}
|