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.
Files changed (136) hide show
  1. package/esm2022/lib/_directives/input-display-normalizer.directive.mjs +38 -0
  2. package/esm2022/lib/_models/flag-state.mjs +2 -0
  3. package/esm2022/lib/_models/setting-value-formgroup.mjs +2 -0
  4. package/esm2022/lib/_models/user-comparator.mjs +100 -0
  5. package/esm2022/lib/_services/app-data-adapter.mjs +18 -0
  6. package/esm2022/lib/_services/comparison-value-list-helper.mjs +72 -0
  7. package/esm2022/lib/_services/date-helper.mjs +56 -0
  8. package/esm2022/lib/_services/form-generator.mjs +359 -0
  9. package/esm2022/lib/_services/form-helper.mjs +107 -0
  10. package/esm2022/lib/_services/messaging.service.mjs +26 -0
  11. package/esm2022/lib/_services/public-api.service.mjs +77 -0
  12. package/esm2022/lib/_services/setting-list-form-helper.mjs +171 -0
  13. package/esm2022/lib/_services/tracking.directive.mjs +16 -0
  14. package/esm2022/lib/ace-editor/ace-editor.component.mjs +137 -0
  15. package/esm2022/lib/authorization/authorization.component.mjs +62 -0
  16. package/{esm2020 → esm2022}/lib/base/base-select.component.mjs +4 -4
  17. package/esm2022/lib/base/base.component.mjs +48 -0
  18. package/esm2022/lib/bootstrap.mjs +10 -0
  19. package/{esm2020 → esm2022}/lib/configuration.mjs +4 -4
  20. package/esm2022/lib/dialogs/confirmation-dialog/confirmation-dialog.mjs +28 -0
  21. package/{esm2020 → esm2022}/lib/dialogs/delete-setting-dialog/delete-setting-dialog.component.mjs +6 -6
  22. package/esm2022/lib/dialogs/expand-dialog/expand-dialog.component.mjs +80 -0
  23. package/esm2022/lib/dialogs/info-dialog/info-dialog.mjs +29 -0
  24. package/esm2022/lib/dialogs/reason-dialog/reason-dialog.component.mjs +36 -0
  25. package/{esm2020 → esm2022}/lib/dialogs/save-snackbar/save-snackbar.component.mjs +5 -5
  26. package/esm2022/lib/ng-configcat-publicapi-ui.module.mjs +285 -0
  27. package/esm2022/lib/selects/config-select/config-select.component.mjs +60 -0
  28. package/esm2022/lib/selects/environment-select/environment-select.component.mjs +47 -0
  29. package/esm2022/lib/selects/product-select/product-select.component.mjs +40 -0
  30. package/esm2022/lib/selects/setting-select/setting-select.component.mjs +47 -0
  31. package/esm2022/lib/setting-item/setting-item.component.mjs +118 -0
  32. package/esm2022/lib/setting-list/setting/rollout-percentage-items/rollout-percentage-items.component.mjs +81 -0
  33. package/esm2022/lib/setting-list/setting/rollout-rules/rollout-rules.component.mjs +293 -0
  34. package/{esm2020 → esm2022}/lib/setting-list/setting/setting.component.mjs +5 -5
  35. package/esm2022/lib/setting-list/setting/value/value.component.mjs +37 -0
  36. package/esm2022/lib/setting-list/setting-list.component.mjs +194 -0
  37. package/esm2022/lib/v2/feature-flag/date-time-picker/date-time-picker.component.mjs +123 -0
  38. package/esm2022/lib/v2/feature-flag/dependees-dialog/dependees-dialog.component.mjs +30 -0
  39. package/esm2022/lib/v2/feature-flag/evaluation-formula/evaluation-formula.component.mjs +220 -0
  40. package/esm2022/lib/v2/feature-flag/evaluation-formula/feature-flag-value/feature-flag-value.component.mjs +61 -0
  41. package/esm2022/lib/v2/feature-flag/evaluation-formula/popout-text-editor-dialog/popout-text-editor-dialog.component.mjs +72 -0
  42. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/condition-chip/condition-chip.component.mjs +25 -0
  43. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/conditions.component.mjs +105 -0
  44. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/prerequisite-flag-condition/prerequisite-flag-condition.component.mjs +75 -0
  45. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/segment-condition/segment-condition.component.mjs +48 -0
  46. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/comparator-dialog/comparator-dialog.component.mjs +113 -0
  47. 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
  48. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/user-condition.component.mjs +444 -0
  49. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/percentage-options/percentage-options.component.mjs +84 -0
  50. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/targeting-rule.component.mjs +129 -0
  51. package/esm2022/lib/v2/feature-flag/feature-flag.component.mjs +190 -0
  52. package/esm2022/lib/v2/feature-flag/percentage-evaluation-attribute-dialog/percentage-evaluation-attribute-dialog.component.mjs +65 -0
  53. package/esm2022/lib/v2/feature-flag-item.component.mjs +319 -0
  54. package/{esm2020 → esm2022}/public-api.mjs +2 -1
  55. package/fesm2022/ng-configcat-publicapi-ui.mjs +4790 -0
  56. package/fesm2022/ng-configcat-publicapi-ui.mjs.map +1 -0
  57. package/lib/_models/flag-state.d.ts +20 -0
  58. package/lib/_models/setting-value-formgroup.d.ts +69 -0
  59. package/lib/_models/user-comparator.d.ts +84 -0
  60. package/lib/_services/app-data-adapter.d.ts +7 -0
  61. package/lib/_services/comparison-value-list-helper.d.ts +17 -0
  62. package/lib/_services/date-helper.d.ts +6 -0
  63. package/lib/_services/form-generator.d.ts +59 -0
  64. package/lib/_services/form-helper.d.ts +4 -1
  65. package/lib/_services/messaging.service.d.ts +12 -0
  66. package/lib/_services/public-api.service.d.ts +2 -1
  67. package/lib/_services/setting-list-form-helper.d.ts +1 -1
  68. package/lib/_services/tracking.directive.d.ts +6 -0
  69. package/lib/ace-editor/ace-editor.component.d.ts +32 -0
  70. package/lib/authorization/authorization.component.d.ts +2 -2
  71. package/lib/base/base-select.component.d.ts +1 -1
  72. package/lib/base/base.component.d.ts +2 -1
  73. package/lib/bootstrap.d.ts +12 -0
  74. package/lib/dialogs/confirmation-dialog/confirmation-dialog.d.ts +19 -0
  75. package/lib/dialogs/info-dialog/info-dialog.d.ts +17 -0
  76. package/lib/ng-configcat-publicapi-ui.module.d.ts +47 -19
  77. package/lib/selects/config-select/config-select.component.d.ts +1 -1
  78. package/lib/selects/environment-select/environment-select.component.d.ts +1 -1
  79. package/lib/selects/product-select/product-select.component.d.ts +1 -1
  80. package/lib/selects/setting-select/setting-select.component.d.ts +1 -1
  81. package/lib/setting-item/setting-item.component.d.ts +4 -2
  82. package/lib/setting-list/setting/rollout-percentage-items/rollout-percentage-items.component.d.ts +1 -1
  83. package/lib/setting-list/setting/rollout-rules/rollout-rules.component.d.ts +4 -4
  84. package/lib/setting-list/setting/setting.component.d.ts +1 -1
  85. package/lib/setting-list/setting/value/value.component.d.ts +1 -1
  86. package/lib/setting-list/setting-list.component.d.ts +1 -1
  87. package/lib/v2/feature-flag/date-time-picker/date-time-picker.component.d.ts +25 -0
  88. package/lib/v2/feature-flag/dependees-dialog/dependees-dialog.component.d.ts +27 -0
  89. package/lib/v2/feature-flag/evaluation-formula/evaluation-formula.component.d.ts +41 -0
  90. package/lib/v2/feature-flag/evaluation-formula/feature-flag-value/feature-flag-value.component.d.ts +18 -0
  91. package/lib/v2/feature-flag/evaluation-formula/popout-text-editor-dialog/popout-text-editor-dialog.component.d.ts +30 -0
  92. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/condition-chip/condition-chip.component.d.ts +10 -0
  93. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/conditions.component.d.ts +27 -0
  94. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/prerequisite-flag-condition/prerequisite-flag-condition.component.d.ts +36 -0
  95. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/segment-condition/segment-condition.component.d.ts +21 -0
  96. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/comparator-dialog/comparator-dialog.component.d.ts +79 -0
  97. 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
  98. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/user-condition.component.d.ts +94 -0
  99. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/percentage-options/percentage-options.component.d.ts +31 -0
  100. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/targeting-rule.component.d.ts +33 -0
  101. package/lib/v2/feature-flag/feature-flag.component.d.ts +49 -0
  102. package/lib/v2/feature-flag/percentage-evaluation-attribute-dialog/percentage-evaluation-attribute-dialog.component.d.ts +28 -0
  103. package/lib/v2/feature-flag-item.component.d.ts +66 -0
  104. package/package.json +12 -16
  105. package/public-api.d.ts +1 -0
  106. package/public-api.scss +205 -3
  107. package/esm2020/lib/_directives/input-display-normalizer.directive.mjs +0 -38
  108. package/esm2020/lib/_services/form-helper.mjs +0 -104
  109. package/esm2020/lib/_services/public-api.service.mjs +0 -71
  110. package/esm2020/lib/_services/setting-list-form-helper.mjs +0 -171
  111. package/esm2020/lib/authorization/authorization.component.mjs +0 -62
  112. package/esm2020/lib/base/base.component.mjs +0 -45
  113. package/esm2020/lib/dialogs/expand-dialog/expand-dialog.component.mjs +0 -80
  114. package/esm2020/lib/dialogs/reason-dialog/reason-dialog.component.mjs +0 -36
  115. package/esm2020/lib/ng-configcat-publicapi-ui.module.mjs +0 -179
  116. package/esm2020/lib/selects/config-select/config-select.component.mjs +0 -60
  117. package/esm2020/lib/selects/environment-select/environment-select.component.mjs +0 -47
  118. package/esm2020/lib/selects/product-select/product-select.component.mjs +0 -40
  119. package/esm2020/lib/selects/setting-select/setting-select.component.mjs +0 -47
  120. package/esm2020/lib/setting-item/setting-item.component.mjs +0 -116
  121. package/esm2020/lib/setting-list/setting/rollout-percentage-items/rollout-percentage-items.component.mjs +0 -81
  122. package/esm2020/lib/setting-list/setting/rollout-rules/rollout-rules.component.mjs +0 -293
  123. package/esm2020/lib/setting-list/setting/value/value.component.mjs +0 -37
  124. package/esm2020/lib/setting-list/setting-list.component.mjs +0 -194
  125. package/fesm2015/ng-configcat-publicapi-ui.mjs +0 -1786
  126. package/fesm2015/ng-configcat-publicapi-ui.mjs.map +0 -1
  127. package/fesm2020/ng-configcat-publicapi-ui.mjs +0 -1763
  128. package/fesm2020/ng-configcat-publicapi-ui.mjs.map +0 -1
  129. /package/{esm2020 → esm2022}/lib/_directives/index.mjs +0 -0
  130. /package/{esm2020 → esm2022}/lib/_models/deleteSettingModel.mjs +0 -0
  131. /package/{esm2020 → esm2022}/lib/_models/index.mjs +0 -0
  132. /package/{esm2020 → esm2022}/lib/_models/settingValuesModel.mjs +0 -0
  133. /package/{esm2020 → esm2022}/lib/_models/updateSettingValuesModel.mjs +0 -0
  134. /package/{esm2020 → esm2022}/lib/_services/index.mjs +0 -0
  135. /package/{esm2020 → esm2022}/lib/_services/platform-helper.mjs +0 -0
  136. /package/{esm2020 → esm2022}/ng-configcat-publicapi-ui.mjs +0 -0
@@ -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): "text" | "number";
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
- } | null;
44
+ };
45
45
  validateSemVerList(c: UntypedFormControl): {
46
46
  validateSemVerList: {
47
47
  valid: boolean;
48
48
  };
49
- } | null;
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
+ }
@@ -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
+ }
@@ -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
+ }