ng-configcat-publicapi-ui 3.0.7 → 3.1.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 (68) hide show
  1. package/esm2022/lib/_directives/input-display-normalizer.directive.mjs +38 -0
  2. package/esm2022/lib/_services/form-helper.mjs +104 -0
  3. package/{esm2020 → esm2022}/lib/_services/public-api.service.mjs +6 -6
  4. package/esm2022/lib/_services/setting-list-form-helper.mjs +171 -0
  5. package/esm2022/lib/authorization/authorization.component.mjs +62 -0
  6. package/{esm2020 → esm2022}/lib/base/base-select.component.mjs +4 -4
  7. package/{esm2020 → esm2022}/lib/base/base.component.mjs +5 -5
  8. package/{esm2020 → esm2022}/lib/configuration.mjs +4 -4
  9. package/{esm2020 → esm2022}/lib/dialogs/delete-setting-dialog/delete-setting-dialog.component.mjs +6 -6
  10. package/esm2022/lib/dialogs/expand-dialog/expand-dialog.component.mjs +80 -0
  11. package/esm2022/lib/dialogs/reason-dialog/reason-dialog.component.mjs +36 -0
  12. package/{esm2020 → esm2022}/lib/dialogs/save-snackbar/save-snackbar.component.mjs +5 -5
  13. package/esm2022/lib/ng-configcat-publicapi-ui.module.mjs +179 -0
  14. package/esm2022/lib/selects/config-select/config-select.component.mjs +60 -0
  15. package/esm2022/lib/selects/environment-select/environment-select.component.mjs +47 -0
  16. package/esm2022/lib/selects/product-select/product-select.component.mjs +40 -0
  17. package/esm2022/lib/selects/setting-select/setting-select.component.mjs +47 -0
  18. package/esm2022/lib/setting-item/setting-item.component.mjs +116 -0
  19. package/esm2022/lib/setting-list/setting/rollout-percentage-items/rollout-percentage-items.component.mjs +81 -0
  20. package/esm2022/lib/setting-list/setting/rollout-rules/rollout-rules.component.mjs +293 -0
  21. package/{esm2020 → esm2022}/lib/setting-list/setting/setting.component.mjs +5 -5
  22. package/esm2022/lib/setting-list/setting/value/value.component.mjs +37 -0
  23. package/esm2022/lib/setting-list/setting-list.component.mjs +194 -0
  24. package/{fesm2020 → fesm2022}/ng-configcat-publicapi-ui.mjs +163 -163
  25. package/{fesm2020 → fesm2022}/ng-configcat-publicapi-ui.mjs.map +1 -1
  26. package/lib/_services/setting-list-form-helper.d.ts +1 -1
  27. package/lib/authorization/authorization.component.d.ts +1 -1
  28. package/lib/base/base-select.component.d.ts +1 -1
  29. package/lib/base/base.component.d.ts +1 -1
  30. package/lib/selects/config-select/config-select.component.d.ts +1 -1
  31. package/lib/selects/environment-select/environment-select.component.d.ts +1 -1
  32. package/lib/selects/product-select/product-select.component.d.ts +1 -1
  33. package/lib/selects/setting-select/setting-select.component.d.ts +1 -1
  34. package/lib/setting-item/setting-item.component.d.ts +1 -1
  35. package/lib/setting-list/setting/rollout-percentage-items/rollout-percentage-items.component.d.ts +1 -1
  36. package/lib/setting-list/setting/rollout-rules/rollout-rules.component.d.ts +2 -2
  37. package/lib/setting-list/setting/setting.component.d.ts +1 -1
  38. package/lib/setting-list/setting/value/value.component.d.ts +1 -1
  39. package/lib/setting-list/setting-list.component.d.ts +1 -1
  40. package/package.json +9 -15
  41. package/public-api.scss +15 -1
  42. package/esm2020/lib/_directives/input-display-normalizer.directive.mjs +0 -38
  43. package/esm2020/lib/_services/form-helper.mjs +0 -104
  44. package/esm2020/lib/_services/setting-list-form-helper.mjs +0 -171
  45. package/esm2020/lib/authorization/authorization.component.mjs +0 -62
  46. package/esm2020/lib/dialogs/expand-dialog/expand-dialog.component.mjs +0 -80
  47. package/esm2020/lib/dialogs/reason-dialog/reason-dialog.component.mjs +0 -36
  48. package/esm2020/lib/ng-configcat-publicapi-ui.module.mjs +0 -179
  49. package/esm2020/lib/selects/config-select/config-select.component.mjs +0 -60
  50. package/esm2020/lib/selects/environment-select/environment-select.component.mjs +0 -47
  51. package/esm2020/lib/selects/product-select/product-select.component.mjs +0 -40
  52. package/esm2020/lib/selects/setting-select/setting-select.component.mjs +0 -47
  53. package/esm2020/lib/setting-item/setting-item.component.mjs +0 -116
  54. package/esm2020/lib/setting-list/setting/rollout-percentage-items/rollout-percentage-items.component.mjs +0 -81
  55. package/esm2020/lib/setting-list/setting/rollout-rules/rollout-rules.component.mjs +0 -293
  56. package/esm2020/lib/setting-list/setting/value/value.component.mjs +0 -37
  57. package/esm2020/lib/setting-list/setting-list.component.mjs +0 -194
  58. package/fesm2015/ng-configcat-publicapi-ui.mjs +0 -1786
  59. package/fesm2015/ng-configcat-publicapi-ui.mjs.map +0 -1
  60. /package/{esm2020 → esm2022}/lib/_directives/index.mjs +0 -0
  61. /package/{esm2020 → esm2022}/lib/_models/deleteSettingModel.mjs +0 -0
  62. /package/{esm2020 → esm2022}/lib/_models/index.mjs +0 -0
  63. /package/{esm2020 → esm2022}/lib/_models/settingValuesModel.mjs +0 -0
  64. /package/{esm2020 → esm2022}/lib/_models/updateSettingValuesModel.mjs +0 -0
  65. /package/{esm2020 → esm2022}/lib/_services/index.mjs +0 -0
  66. /package/{esm2020 → esm2022}/lib/_services/platform-helper.mjs +0 -0
  67. /package/{esm2020 → esm2022}/ng-configcat-publicapi-ui.mjs +0 -0
  68. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -1,62 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import { Validators } from '@angular/forms';
3
- import { FormHelper } from '../_services/form-helper';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/forms";
6
- import * as i2 from "../_services";
7
- import * as i3 from "@angular/common";
8
- import * as i4 from "@angular/material/form-field";
9
- import * as i5 from "@angular/material/button";
10
- import * as i6 from "@angular/material/input";
11
- export class AuthorizationComponent {
12
- constructor(formBuilder, publicApiService) {
13
- this.formBuilder = formBuilder;
14
- this.publicApiService = publicApiService;
15
- this.basePath = null;
16
- this.integrationName = 'ConfigCat Feature Flags';
17
- this.authorized = new EventEmitter();
18
- this.error = new EventEmitter();
19
- this.FormHelper = FormHelper;
20
- }
21
- ngOnInit() {
22
- this.formGroup = this.formBuilder.group({
23
- basicAuthUsername: ['', Validators.required],
24
- basicAuthPassword: ['', Validators.required],
25
- });
26
- }
27
- onSubmit() {
28
- if (!this.formGroup.valid) {
29
- return;
30
- }
31
- const meService = this.publicApiService.createMeService(this.formGroup.controls.basicAuthUsername.value, this.formGroup.controls.basicAuthPassword.value, this.basePath);
32
- meService.getMe().subscribe(me => {
33
- this.authorized.emit({
34
- basicAuthUsername: this.formGroup.controls.basicAuthUsername.value,
35
- basicAuthPassword: this.formGroup.controls.basicAuthPassword.value,
36
- email: me.email,
37
- fullName: me.fullName
38
- });
39
- }, () => {
40
- this.formGroup.setErrors({ invalidAuthorization: 'Invalid Basic auth user name or password' });
41
- this.error.emit();
42
- });
43
- }
44
- getPublicApiUrl() {
45
- return this.publicApiService.getDashboardBasePath() + '/my-account/public-api-credentials';
46
- }
47
- }
48
- AuthorizationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AuthorizationComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.PublicApiService }], target: i0.ɵɵFactoryTarget.Component });
49
- AuthorizationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AuthorizationComponent, selector: "configcat-authorization", inputs: { basePath: "basePath", integrationName: "integrationName" }, outputs: { authorized: "authorized", error: "error" }, ngImport: i0, template: "<form [formGroup]=\"formGroup\" (ngSubmit)=\"onSubmit()\">\n <div class=\"container\">\n <div class=\"form\">\n <p>\n In order to use {{integrationName}} you have to authorize first with your ConfigCat Public API\n credentials.\n </p>\n <ul>\n <li>\n <a [href]=\"getPublicApiUrl()\" target=\"_blank\">\n Get your Basic Auth user name and password</a> to access ConfigCat Public API.\n <br />\n <b>Note!</b> Your ConfigCat account's email address and password will not work here.\n </li>\n <li>\n Type your credentials here and click the Authorize button.\n </li>\n </ul>\n\n <mat-form-field class=\"form-field\" appearance=\"outline\">\n <mat-label>Basic auth user name</mat-label>\n <input matInput placeholder=\"Basic auth user name\" formControlName=\"basicAuthUsername\">\n <mat-error *ngIf=\"formGroup.controls.basicAuthUsername.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.basicAuthUsername)}}\n </mat-error>\n </mat-form-field>\n <mat-form-field class=\"form-field\" appearance=\"outline\">\n <mat-label>Basic auth password</mat-label>\n <input matInput placeholder=\"Basic auth password\" formControlName=\"basicAuthPassword\" type=\"password\"\n autocomplete=\"current-password\">\n <mat-error *ngIf=\"formGroup.controls.basicAuthPassword.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.basicAuthPassword)}}\n </mat-error>\n </mat-form-field>\n <div>\n <button mat-flat-button color=\"primary\" type=\"submit\" class=\"submit\">Authorize</button>\n <mat-error *ngIf=\"formGroup.invalid && formGroup.errors && formGroup.errors.invalidAuthorization\">\n {{formGroup.errors.invalidAuthorization}}</mat-error>\n </div>\n </div>\n </div>\n</form>", styles: [".container{display:flex;margin:8px}.form{width:100%}.form-field{width:100%;margin-bottom:8px}.submit{margin-top:8px;margin-bottom:8px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AuthorizationComponent, decorators: [{
51
- type: Component,
52
- args: [{ selector: 'configcat-authorization', template: "<form [formGroup]=\"formGroup\" (ngSubmit)=\"onSubmit()\">\n <div class=\"container\">\n <div class=\"form\">\n <p>\n In order to use {{integrationName}} you have to authorize first with your ConfigCat Public API\n credentials.\n </p>\n <ul>\n <li>\n <a [href]=\"getPublicApiUrl()\" target=\"_blank\">\n Get your Basic Auth user name and password</a> to access ConfigCat Public API.\n <br />\n <b>Note!</b> Your ConfigCat account's email address and password will not work here.\n </li>\n <li>\n Type your credentials here and click the Authorize button.\n </li>\n </ul>\n\n <mat-form-field class=\"form-field\" appearance=\"outline\">\n <mat-label>Basic auth user name</mat-label>\n <input matInput placeholder=\"Basic auth user name\" formControlName=\"basicAuthUsername\">\n <mat-error *ngIf=\"formGroup.controls.basicAuthUsername.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.basicAuthUsername)}}\n </mat-error>\n </mat-form-field>\n <mat-form-field class=\"form-field\" appearance=\"outline\">\n <mat-label>Basic auth password</mat-label>\n <input matInput placeholder=\"Basic auth password\" formControlName=\"basicAuthPassword\" type=\"password\"\n autocomplete=\"current-password\">\n <mat-error *ngIf=\"formGroup.controls.basicAuthPassword.invalid\">\n {{FormHelper.getErrorMessage(formGroup.controls.basicAuthPassword)}}\n </mat-error>\n </mat-form-field>\n <div>\n <button mat-flat-button color=\"primary\" type=\"submit\" class=\"submit\">Authorize</button>\n <mat-error *ngIf=\"formGroup.invalid && formGroup.errors && formGroup.errors.invalidAuthorization\">\n {{formGroup.errors.invalidAuthorization}}</mat-error>\n </div>\n </div>\n </div>\n</form>", styles: [".container{display:flex;margin:8px}.form{width:100%}.form-field{width:100%;margin-bottom:8px}.submit{margin-top:8px;margin-bottom:8px}\n"] }]
53
- }], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.PublicApiService }]; }, propDecorators: { basePath: [{
54
- type: Input
55
- }], integrationName: [{
56
- type: Input
57
- }], authorized: [{
58
- type: Output
59
- }], error: [{
60
- type: Output
61
- }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXphdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb25maWdjYXQtcHVibGljYXBpLXVpL3NyYy9saWIvYXV0aG9yaXphdGlvbi9hdXRob3JpemF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbmZpZ2NhdC1wdWJsaWNhcGktdWkvc3JjL2xpYi9hdXRob3JpemF0aW9uL2F1dGhvcml6YXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQXdDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7QUFPdEQsTUFBTSxPQUFPLHNCQUFzQjtJQVNqQyxZQUNVLFdBQStCLEVBQy9CLGdCQUFrQztRQURsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVJuQyxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLG9CQUFlLEdBQUcseUJBQXlCLENBQUM7UUFDM0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDckMsZUFBVSxHQUFHLFVBQVUsQ0FBQztJQUtwQixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDdEMsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUM1QyxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzdDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO1lBQ3pCLE9BQU87U0FDUjtRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFakIsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztnQkFDbkIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSztnQkFDbEUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSztnQkFDbEUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLO2dCQUNmLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUTthQUN0QixDQUFDLENBQUM7UUFDTCxDQUFDLEVBQ0MsR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxvQkFBb0IsRUFBRSwwQ0FBMEMsRUFBRSxDQUFDLENBQUM7WUFDL0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxvQ0FBb0MsQ0FBQztJQUM3RixDQUFDOztvSEFoRFUsc0JBQXNCO3dHQUF0QixzQkFBc0IsNExDVm5DLGtyRUF5Q087NEZEL0JNLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSx5QkFBeUI7d0lBTzFCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAsIFVudHlwZWRGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFB1YmxpY0FwaVNlcnZpY2UgfSBmcm9tICcuLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgRm9ybUhlbHBlciB9IGZyb20gJy4uL19zZXJ2aWNlcy9mb3JtLWhlbHBlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvbmZpZ2NhdC1hdXRob3JpemF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dGhvcml6YXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdXRob3JpemF0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQXV0aG9yaXphdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgZm9ybUdyb3VwITogVW50eXBlZEZvcm1Hcm91cDtcbiAgQElucHV0KCkgYmFzZVBhdGggPSBudWxsO1xuICBASW5wdXQoKSBpbnRlZ3JhdGlvbk5hbWUgPSAnQ29uZmlnQ2F0IEZlYXR1cmUgRmxhZ3MnO1xuICBAT3V0cHV0KCkgYXV0aG9yaXplZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGVycm9yID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBGb3JtSGVscGVyID0gRm9ybUhlbHBlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBwdWJsaWNBcGlTZXJ2aWNlOiBQdWJsaWNBcGlTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGJhc2ljQXV0aFVzZXJuYW1lOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgYmFzaWNBdXRoUGFzc3dvcmQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLnZhbGlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbWVTZXJ2aWNlID0gdGhpcy5wdWJsaWNBcGlTZXJ2aWNlLmNyZWF0ZU1lU2VydmljZShcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLmJhc2ljQXV0aFVzZXJuYW1lLnZhbHVlLFxuICAgICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHMuYmFzaWNBdXRoUGFzc3dvcmQudmFsdWUsXG4gICAgICB0aGlzLmJhc2VQYXRoKTtcblxuICAgIG1lU2VydmljZS5nZXRNZSgpLnN1YnNjcmliZShtZSA9PiB7XG4gICAgICB0aGlzLmF1dGhvcml6ZWQuZW1pdCh7XG4gICAgICAgIGJhc2ljQXV0aFVzZXJuYW1lOiB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5iYXNpY0F1dGhVc2VybmFtZS52YWx1ZSxcbiAgICAgICAgYmFzaWNBdXRoUGFzc3dvcmQ6IHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLmJhc2ljQXV0aFBhc3N3b3JkLnZhbHVlLFxuICAgICAgICBlbWFpbDogbWUuZW1haWwsXG4gICAgICAgIGZ1bGxOYW1lOiBtZS5mdWxsTmFtZVxuICAgICAgfSk7XG4gICAgfSxcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuc2V0RXJyb3JzKHsgaW52YWxpZEF1dGhvcml6YXRpb246ICdJbnZhbGlkIEJhc2ljIGF1dGggdXNlciBuYW1lIG9yIHBhc3N3b3JkJyB9KTtcbiAgICAgICAgdGhpcy5lcnJvci5lbWl0KCk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGdldFB1YmxpY0FwaVVybCgpIHtcbiAgICByZXR1cm4gdGhpcy5wdWJsaWNBcGlTZXJ2aWNlLmdldERhc2hib2FyZEJhc2VQYXRoKCkgKyAnL215LWFjY291bnQvcHVibGljLWFwaS1jcmVkZW50aWFscyc7XG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtXCI+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICBJbiBvcmRlciB0byB1c2Uge3tpbnRlZ3JhdGlvbk5hbWV9fSB5b3UgaGF2ZSB0byBhdXRob3JpemUgZmlyc3Qgd2l0aCB5b3VyIENvbmZpZ0NhdCBQdWJsaWMgQVBJXG4gICAgICAgICAgICAgICAgY3JlZGVudGlhbHMuXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICA8YSBbaHJlZl09XCJnZXRQdWJsaWNBcGlVcmwoKVwiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgR2V0IHlvdXIgQmFzaWMgQXV0aCB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkPC9hPiB0byBhY2Nlc3MgQ29uZmlnQ2F0IFB1YmxpYyBBUEkuXG4gICAgICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICAgICAgICA8Yj5Ob3RlITwvYj4gWW91ciBDb25maWdDYXQgYWNjb3VudCdzIGVtYWlsIGFkZHJlc3MgYW5kIHBhc3N3b3JkIHdpbGwgbm90IHdvcmsgaGVyZS5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgVHlwZSB5b3VyIGNyZWRlbnRpYWxzIGhlcmUgYW5kIGNsaWNrIHRoZSBBdXRob3JpemUgYnV0dG9uLlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmb3JtLWZpZWxkXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkJhc2ljIGF1dGggdXNlciBuYW1lPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiQmFzaWMgYXV0aCB1c2VyIG5hbWVcIiBmb3JtQ29udHJvbE5hbWU9XCJiYXNpY0F1dGhVc2VybmFtZVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtR3JvdXAuY29udHJvbHMuYmFzaWNBdXRoVXNlcm5hbWUuaW52YWxpZFwiPlxuICAgICAgICAgICAgICAgICAgICB7e0Zvcm1IZWxwZXIuZ2V0RXJyb3JNZXNzYWdlKGZvcm1Hcm91cC5jb250cm9scy5iYXNpY0F1dGhVc2VybmFtZSl9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZvcm0tZmllbGRcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+QmFzaWMgYXV0aCBwYXNzd29yZDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIkJhc2ljIGF1dGggcGFzc3dvcmRcIiBmb3JtQ29udHJvbE5hbWU9XCJiYXNpY0F1dGhQYXNzd29yZFwiIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cImN1cnJlbnQtcGFzc3dvcmRcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUdyb3VwLmNvbnRyb2xzLmJhc2ljQXV0aFBhc3N3b3JkLmludmFsaWRcIj5cbiAgICAgICAgICAgICAgICAgICAge3tGb3JtSGVscGVyLmdldEVycm9yTWVzc2FnZShmb3JtR3JvdXAuY29udHJvbHMuYmFzaWNBdXRoUGFzc3dvcmQpfX1cbiAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cInN1Ym1pdFwiPkF1dGhvcml6ZTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtR3JvdXAuaW52YWxpZCAmJiBmb3JtR3JvdXAuZXJyb3JzICYmIGZvcm1Hcm91cC5lcnJvcnMuaW52YWxpZEF1dGhvcml6YXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAge3tmb3JtR3JvdXAuZXJyb3JzLmludmFsaWRBdXRob3JpemF0aW9ufX08L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZm9ybT4iXX0=
@@ -1,80 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/material/dialog";
5
- import * as i2 from "@angular/forms";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "@angular/material/form-field";
8
- import * as i5 from "@angular/material/button";
9
- import * as i6 from "@angular/material/input";
10
- import * as i7 from "@angular/material/icon";
11
- import * as i8 from "@angular/material/tooltip";
12
- export class ExpandDialogComponent {
13
- constructor(dialogRef, formBuilder, data) {
14
- this.dialogRef = dialogRef;
15
- this.formBuilder = formBuilder;
16
- this.data = data;
17
- this.readOnly = false;
18
- }
19
- ngOnInit() {
20
- this.readOnly = this.data.control.disabled;
21
- if (this.data.multiline) {
22
- this.buildFormGroup();
23
- }
24
- else {
25
- this.formControlSubscription = this.data.control.valueChanges.subscribe((value) => {
26
- this.data.control.setValue(value, { onlySelf: true, emitEvent: false, emitModelToViewChange: true });
27
- this.data.control.markAsDirty();
28
- }, () => { }, () => { });
29
- }
30
- }
31
- values() {
32
- return this.formGroup.get('values');
33
- }
34
- getValueControls() {
35
- return this.values().controls.map(c => c);
36
- }
37
- buildFormGroup() {
38
- const value = this.data.control.value ? this.data.control.value : '';
39
- const list = value.split(',').map((v) => v.trim()).filter((v) => !!v);
40
- this.formGroup = this.formBuilder.group({
41
- values: this.formBuilder.array(list.map((v) => this.formBuilder.control({ value: v, disabled: this.data.control.disabled })))
42
- });
43
- this.formGroupSubscription = this.formGroup.valueChanges.subscribe((formGroupValue) => {
44
- this.data.control.setValue(formGroupValue.values
45
- .filter((v) => !!v)
46
- .join(','), { onlySelf: true, emitEvent: false, emitModelToViewChange: true });
47
- this.data.control.updateValueAndValidity();
48
- this.data.control.markAsDirty();
49
- });
50
- }
51
- add() {
52
- this.formGroup.controls.values.push(this.formBuilder.control(''));
53
- }
54
- remove(index) {
55
- this.formGroup.controls.values.removeAt(index);
56
- }
57
- ngOnDestroy() {
58
- if (this.formControlSubscription) {
59
- this.formControlSubscription.unsubscribe();
60
- this.formControlSubscription = null;
61
- }
62
- if (this.formGroupSubscription) {
63
- this.formGroupSubscription.unsubscribe();
64
- this.formGroupSubscription = null;
65
- }
66
- }
67
- close() {
68
- this.dialogRef.close();
69
- }
70
- }
71
- ExpandDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ExpandDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.UntypedFormBuilder }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
72
- ExpandDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ExpandDialogComponent, selector: "configcat-expand-dialog", ngImport: i0, template: "<div mat-dialog-content class=\"container\">\n <mat-form-field appearance=\"outline\" *ngIf=\"!data.multiline\" subscriptSizing=\"dynamic\">\n <mat-label></mat-label>\n <textarea matInput [formControl]=\"data.control\" rows=\"10\"></textarea>\n </mat-form-field>\n <div [formGroup]=\"formGroup\" *ngIf=\"data.multiline\">\n <div *ngFor=\"let valueControl of getValueControls(); let i = index;\" class=\"value-field\">\n <mat-form-field appearance=\"outline\">\n <input matInput [formControl]=\"valueControl\" />\n </mat-form-field>\n <button (click)=\"remove(i)\" mat-icon-button type=\"button\" class=\"no-density-mat-icon-button\"\n matTooltip=\"Remove item\" *ngIf=\"!readOnly\">\n <mat-icon>delete_outline</mat-icon>\n </button>\n </div>\n <button (click)=\"add()\" mat-stroked-button type=\"button\" *ngIf=\"!readOnly\">\n <mat-icon>add</mat-icon>Add item\n </button>\n </div>\n</div>\n<div mat-dialog-actions>\n <button type=\"button\" mat-flat-button color=\"primary\" (click)=\"close()\">Done</button>\n</div>", styles: [".container>*{width:100%}.container>* .value-field{display:flex;font-size:12px;flex-wrap:nowrap}.container>* .value-field mat-form-field{flex-grow:1}.container>* .no-density-mat-icon-button{width:48px;height:48px;padding:12px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }] });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ExpandDialogComponent, decorators: [{
74
- type: Component,
75
- args: [{ selector: 'configcat-expand-dialog', template: "<div mat-dialog-content class=\"container\">\n <mat-form-field appearance=\"outline\" *ngIf=\"!data.multiline\" subscriptSizing=\"dynamic\">\n <mat-label></mat-label>\n <textarea matInput [formControl]=\"data.control\" rows=\"10\"></textarea>\n </mat-form-field>\n <div [formGroup]=\"formGroup\" *ngIf=\"data.multiline\">\n <div *ngFor=\"let valueControl of getValueControls(); let i = index;\" class=\"value-field\">\n <mat-form-field appearance=\"outline\">\n <input matInput [formControl]=\"valueControl\" />\n </mat-form-field>\n <button (click)=\"remove(i)\" mat-icon-button type=\"button\" class=\"no-density-mat-icon-button\"\n matTooltip=\"Remove item\" *ngIf=\"!readOnly\">\n <mat-icon>delete_outline</mat-icon>\n </button>\n </div>\n <button (click)=\"add()\" mat-stroked-button type=\"button\" *ngIf=\"!readOnly\">\n <mat-icon>add</mat-icon>Add item\n </button>\n </div>\n</div>\n<div mat-dialog-actions>\n <button type=\"button\" mat-flat-button color=\"primary\" (click)=\"close()\">Done</button>\n</div>", styles: [".container>*{width:100%}.container>* .value-field{display:flex;font-size:12px;flex-wrap:nowrap}.container>* .value-field mat-form-field{flex-grow:1}.container>* .no-density-mat-icon-button{width:48px;height:48px;padding:12px}\n"] }]
76
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: i2.UntypedFormBuilder }, { type: undefined, decorators: [{
77
- type: Inject,
78
- args: [MAT_DIALOG_DATA]
79
- }] }]; } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb25maWdjYXQtcHVibGljYXBpLXVpL3NyYy9saWIvZGlhbG9ncy9leHBhbmQtZGlhbG9nL2V4cGFuZC1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29uZmlnY2F0LXB1YmxpY2FwaS11aS9zcmMvbGliL2RpYWxvZ3MvZXhwYW5kLWRpYWxvZy9leHBhbmQtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7QUFTekUsTUFBTSxPQUFPLHFCQUFxQjtJQVFoQyxZQUFtQixTQUE4QyxFQUN2RCxXQUErQixFQUNQLElBQVM7UUFGeEIsY0FBUyxHQUFULFNBQVMsQ0FBcUM7UUFDdkQsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQ1AsU0FBSSxHQUFKLElBQUksQ0FBSztRQUozQyxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBS2pCLENBQUM7SUFHRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDM0MsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7YUFBTTtZQUNMLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7Z0JBQ3JGLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFD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WUFDM0MsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQztTQUNyQztRQUVELElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQzlCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7O21IQXZFVSxxQkFBcUIsZ0ZBVXRCLGVBQWU7dUdBVmQscUJBQXFCLCtEQ1ZsQyx3cENBc0JNOzRGRFpPLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSx5QkFBeUI7OzBCQWNoQyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvbmZpZ2NhdC1leHBhbmQtZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V4cGFuZC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9leHBhbmQtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRXhwYW5kRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIGZvcm1Db250cm9sU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uIHwgbnVsbDtcbiAgZm9ybUdyb3VwU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uIHwgbnVsbDtcblxuICBmb3JtR3JvdXAhOiBVbnR5cGVkRm9ybUdyb3VwO1xuICByZWFkT25seSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxFeHBhbmREaWFsb2dDb21wb25lbnQ+LFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSkge1xuICB9XG5cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlYWRPbmx5ID0gdGhpcy5kYXRhLmNvbnRyb2wuZGlzYWJsZWQ7XG4gICAgaWYgKHRoaXMuZGF0YS5tdWx0aWxpbmUpIHtcbiAgICAgIHRoaXMuYnVpbGRGb3JtR3JvdXAoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbFN1YnNjcmlwdGlvbiA9IHRoaXMuZGF0YS5jb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5kYXRhLmNvbnRyb2wuc2V0VmFsdWUodmFsdWUsIHsgb25seVNlbGY6IHRydWUsIGVtaXRFdmVudDogZmFsc2UsIGVtaXRNb2RlbFRvVmlld0NoYW5nZTogdHJ1ZSB9KTtcbiAgICAgICAgdGhpcy5kYXRhLmNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICAgIH0sICgpID0+IHsgfSwgKCkgPT4geyB9KTtcbiAgICB9XG4gIH1cblxuICB2YWx1ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldCgndmFsdWVzJykgYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldFZhbHVlQ29udHJvbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzKCkuY29udHJvbHMubWFwKGMgPT4gYyBhcyBVbnR5cGVkRm9ybUNvbnRyb2wpO1xuICB9XG5cbiAgYnVpbGRGb3JtR3JvdXAoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmRhdGEuY29udHJvbC52YWx1ZSA/IHRoaXMuZGF0YS5jb250cm9sLnZhbHVlIDogJyc7XG4gICAgY29uc3QgbGlzdCA9IHZhbHVlLnNwbGl0KCcsJykubWFwKCh2OiBhbnkpID0+IHYudHJpbSgpKS5maWx0ZXIoKHY6IGFueSkgPT4gISF2KTtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgdmFsdWVzOiB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KGxpc3QubWFwKCh2OiBhbnkpID0+IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbCh7IHZhbHVlOiB2LCBkaXNhYmxlZDogdGhpcy5kYXRhLmNvbnRyb2wuZGlzYWJsZWQgfSkpKVxuICAgIH0pO1xuICAgIHRoaXMuZm9ybUdyb3VwU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoZm9ybUdyb3VwVmFsdWUpID0+IHtcbiAgICAgIHRoaXMuZGF0YS5jb250cm9sLnNldFZhbHVlKGZvcm1Hcm91cFZhbHVlLnZhbHVlc1xuICAgICAgICAuZmlsdGVyKCh2OiBhbnkpID0+ICEhdilcbiAgICAgICAgLmpvaW4oJywnKSwgeyBvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZSwgZW1pdE1vZGVsVG9WaWV3Q2hhbmdlOiB0cnVlIH0pO1xuICAgICAgdGhpcy5kYXRhLmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgdGhpcy5kYXRhLmNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFkZCgpIHtcbiAgICAodGhpcy5mb3JtR3JvdXAuY29udHJvbHMudmFsdWVzIGFzIFVudHlwZWRGb3JtQXJyYXkpLnB1c2godGhpcy5mb3JtQnVpbGRlci5jb250cm9sKCcnKSk7XG4gIH1cblxuICByZW1vdmUoaW5kZXg6IGFueSkge1xuICAgICh0aGlzLmZvcm1Hcm91cC5jb250cm9scy52YWx1ZXMgYXMgVW50eXBlZEZvcm1BcnJheSkucmVtb3ZlQXQoaW5kZXgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2xTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2xTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2xTdWJzY3JpcHRpb24gPSBudWxsO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZvcm1Hcm91cFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5mb3JtR3JvdXBTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuZm9ybUdyb3VwU3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICB9XG59XG4iLCI8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiICpuZ0lmPVwiIWRhdGEubXVsdGlsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICA8bWF0LWxhYmVsPjwvbWF0LWxhYmVsPlxuICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cImRhdGEuY29udHJvbFwiIHJvd3M9XCIxMFwiPjwvdGV4dGFyZWE+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgKm5nSWY9XCJkYXRhLm11bHRpbGluZVwiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB2YWx1ZUNvbnRyb2wgb2YgZ2V0VmFsdWVDb250cm9scygpOyBsZXQgaSA9IGluZGV4O1wiIGNsYXNzPVwidmFsdWUtZmllbGRcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwidmFsdWVDb250cm9sXCIgLz5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJyZW1vdmUoaSlcIiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwibm8tZGVuc2l0eS1tYXQtaWNvbi1idXR0b25cIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJSZW1vdmUgaXRlbVwiICpuZ0lmPVwiIXJlYWRPbmx5XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZV9vdXRsaW5lPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiYWRkKClcIiBtYXQtc3Ryb2tlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ0lmPVwiIXJlYWRPbmx5XCI+XG4gICAgICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5BZGQgaXRlbVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJjbG9zZSgpXCI+RG9uZTwvYnV0dG9uPlxuPC9kaXY+Il19
@@ -1,36 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { Validators } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/material/dialog";
5
- import * as i2 from "@angular/forms";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "@angular/material/form-field";
8
- import * as i5 from "@angular/material/button";
9
- import * as i6 from "@angular/material/input";
10
- export class ReasonDialogComponent {
11
- constructor(dialogRef, formBuilder) {
12
- this.dialogRef = dialogRef;
13
- this.formBuilder = formBuilder;
14
- }
15
- ngOnInit() {
16
- this.formGroup = this.formBuilder.group({
17
- reason: ['', [Validators.required, Validators.maxLength(1000)]]
18
- });
19
- }
20
- handleSaveButton() {
21
- if (!this.formGroup.valid) {
22
- return;
23
- }
24
- this.dialogRef.close({ button: 'save', reason: this.formGroup.controls.reason.value });
25
- }
26
- cancel() {
27
- this.dialogRef.close({ button: 'cancel' });
28
- }
29
- }
30
- ReasonDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ReasonDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
31
- ReasonDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ReasonDialogComponent, selector: "configcat-reason-dialog", ngImport: i0, template: "<h1 mat-dialog-title>Add notes</h1>\n<form [formGroup]=\"formGroup\" (ngSubmit)=\"handleSaveButton()\">\n <div mat-dialog-content class=\"container\">\n <p>This will appear in the Why column of the Audit Log.</p>\n <mat-form-field appearance=\"outline\">\n <mat-label></mat-label>\n <textarea matInput formControlName=\"reason\" name=\"reason\" placeholder=\"I'm changing settings because...\"\n rows=\"3\"></textarea>\n <mat-error *ngIf=\"formGroup.controls.reason.invalid\">The field is required.</mat-error>\n </mat-form-field>\n </div>\n <div mat-dialog-actions>\n <button type=\"submit\" style=\"margin-right: 10px;\" mat-flat-button color=\"primary\">Add notes & Save</button>\n <button type=\"button\" mat-stroked-button (click)=\"cancel()\">Cancel</button>\n </div>\n</form>", styles: [".container>*{width:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }] });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ReasonDialogComponent, decorators: [{
33
- type: Component,
34
- args: [{ selector: 'configcat-reason-dialog', template: "<h1 mat-dialog-title>Add notes</h1>\n<form [formGroup]=\"formGroup\" (ngSubmit)=\"handleSaveButton()\">\n <div mat-dialog-content class=\"container\">\n <p>This will appear in the Why column of the Audit Log.</p>\n <mat-form-field appearance=\"outline\">\n <mat-label></mat-label>\n <textarea matInput formControlName=\"reason\" name=\"reason\" placeholder=\"I'm changing settings because...\"\n rows=\"3\"></textarea>\n <mat-error *ngIf=\"formGroup.controls.reason.invalid\">The field is required.</mat-error>\n </mat-form-field>\n </div>\n <div mat-dialog-actions>\n <button type=\"submit\" style=\"margin-right: 10px;\" mat-flat-button color=\"primary\">Add notes & Save</button>\n <button type=\"button\" mat-stroked-button (click)=\"cancel()\">Cancel</button>\n </div>\n</form>", styles: [".container>*{width:100%}\n"] }]
35
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: i2.UntypedFormBuilder }]; } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhc29uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb25maWdjYXQtcHVibGljYXBpLXVpL3NyYy9saWIvZGlhbG9ncy9yZWFzb24tZGlhbG9nL3JlYXNvbi1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29uZmlnY2F0LXB1YmxpY2FwaS11aS9zcmMvbGliL2RpYWxvZ3MvcmVhc29uLWRpYWxvZy9yZWFzb24tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUF3QyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFPbEYsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxZQUNTLFNBQThDLEVBQzdDLFdBQStCO1FBRGhDLGNBQVMsR0FBVCxTQUFTLENBQXFDO1FBQzdDLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtJQUNyQyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDdEMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDaEUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTtZQUN6QixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDOzttSEF6QlUscUJBQXFCO3VHQUFyQixxQkFBcUIsK0RDVGxDLHl6QkFlTzs0RkROTSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvbmZpZ2NhdC1yZWFzb24tZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlYXNvbi1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWFzb24tZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVhc29uRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBmb3JtR3JvdXAhOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxSZWFzb25EaWFsb2dDb21wb25lbnQ+LFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlclxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICByZWFzb246IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDEwMDApXV1cbiAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZVNhdmVCdXR0b24oKSB7XG4gICAgaWYgKCF0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgYnV0dG9uOiAnc2F2ZScsIHJlYXNvbjogdGhpcy5mb3JtR3JvdXAuY29udHJvbHMucmVhc29uLnZhbHVlIH0pO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgYnV0dG9uOiAnY2FuY2VsJyB9KTtcbiAgfVxufVxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGU+QWRkIG5vdGVzPC9oMT5cbjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgKG5nU3VibWl0KT1cImhhbmRsZVNhdmVCdXR0b24oKVwiPlxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgIDxwPlRoaXMgd2lsbCBhcHBlYXIgaW4gdGhlIFdoeSBjb2x1bW4gb2YgdGhlIEF1ZGl0IExvZy48L3A+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICA8bWF0LWxhYmVsPjwvbWF0LWxhYmVsPlxuICAgICAgPHRleHRhcmVhIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInJlYXNvblwiIG5hbWU9XCJyZWFzb25cIiBwbGFjZWhvbGRlcj1cIkknbSBjaGFuZ2luZyBzZXR0aW5ncyBiZWNhdXNlLi4uXCJcbiAgICAgICAgcm93cz1cIjNcIj48L3RleHRhcmVhPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm1Hcm91cC5jb250cm9scy5yZWFzb24uaW52YWxpZFwiPlRoZSBmaWVsZCBpcyByZXF1aXJlZC48L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDEwcHg7XCIgbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiPkFkZCBub3RlcyAmIFNhdmU8L2J1dHRvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cImNhbmNlbCgpXCI+Q2FuY2VsPC9idXR0b24+XG4gIDwvZGl2PlxuPC9mb3JtPiJdfQ==
@@ -1,179 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { SettingItemComponent } from './setting-item/setting-item.component';
3
- import { SettingSelectComponent } from './selects/setting-select/setting-select.component';
4
- import { ProductSelectComponent } from './selects/product-select/product-select.component';
5
- import { ConfigSelectComponent } from './selects/config-select/config-select.component';
6
- import { EnvironmentSelectComponent } from './selects/environment-select/environment-select.component';
7
- import { Configuration } from './configuration';
8
- import { CommonModule } from '@angular/common';
9
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
10
- import { AuthorizationComponent } from './authorization/authorization.component';
11
- import { MatFormFieldModule } from '@angular/material/form-field';
12
- import { MatOptionModule } from '@angular/material/core';
13
- import { MatSelectModule } from '@angular/material/select';
14
- import { MatButtonModule } from '@angular/material/button';
15
- import { MatInputModule } from '@angular/material/input';
16
- import { ExpandDialogComponent } from './dialogs/expand-dialog/expand-dialog.component';
17
- import { ReasonDialogComponent } from './dialogs/reason-dialog/reason-dialog.component';
18
- import { SaveSnackbarComponent } from './dialogs/save-snackbar/save-snackbar.component';
19
- import { RolloutPercentageItemsComponent } from './setting-list/setting/rollout-percentage-items/rollout-percentage-items.component';
20
- import { RolloutRulesComponent } from './setting-list/setting/rollout-rules/rollout-rules.component';
21
- import { ValueComponent } from './setting-list/setting/value/value.component';
22
- import { SettingListComponent } from './setting-list/setting-list.component';
23
- import { SettingComponent } from './setting-list/setting/setting.component';
24
- import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
25
- import { MatIconModule } from '@angular/material/icon';
26
- import { MAT_TOOLTIP_DEFAULT_OPTIONS, MatTooltipModule } from '@angular/material/tooltip';
27
- import { MatChipsModule } from '@angular/material/chips';
28
- import { MatAutocompleteModule } from '@angular/material/autocomplete';
29
- import { DragDropModule } from '@angular/cdk/drag-drop';
30
- import { RouterModule } from '@angular/router';
31
- import { MatSnackBarModule } from '@angular/material/snack-bar';
32
- import { MatDialogModule } from '@angular/material/dialog';
33
- import { MatMenuModule } from '@angular/material/menu';
34
- import { BaseComponent } from './base/base.component';
35
- import { BaseSelectComponent } from './base/base-select.component';
36
- import { ApiModule } from 'ng-configcat-publicapi';
37
- import { InputDisplayNormalizerDirective } from './_directives/input-display-normalizer.directive';
38
- import { DeleteSettingDialogComponent } from './dialogs/delete-setting-dialog/delete-setting-dialog.component';
39
- import * as i0 from "@angular/core";
40
- export class NgConfigCatPublicApiUIModule {
41
- static forRoot(configurationFactory) {
42
- return {
43
- ngModule: NgConfigCatPublicApiUIModule,
44
- providers: [{ provide: Configuration, useFactory: configurationFactory }]
45
- };
46
- }
47
- constructor() { }
48
- }
49
- NgConfigCatPublicApiUIModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgConfigCatPublicApiUIModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
50
- NgConfigCatPublicApiUIModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NgConfigCatPublicApiUIModule, declarations: [BaseComponent,
51
- BaseSelectComponent,
52
- ProductSelectComponent,
53
- ConfigSelectComponent,
54
- EnvironmentSelectComponent,
55
- SettingSelectComponent,
56
- SettingItemComponent,
57
- AuthorizationComponent,
58
- SettingListComponent,
59
- SettingComponent,
60
- RolloutPercentageItemsComponent,
61
- RolloutRulesComponent,
62
- ValueComponent,
63
- ReasonDialogComponent,
64
- SaveSnackbarComponent,
65
- ExpandDialogComponent,
66
- DeleteSettingDialogComponent,
67
- InputDisplayNormalizerDirective], imports: [CommonModule,
68
- FormsModule,
69
- ReactiveFormsModule,
70
- BrowserAnimationsModule,
71
- MatFormFieldModule,
72
- MatOptionModule,
73
- MatSelectModule,
74
- MatButtonModule,
75
- MatInputModule,
76
- MatIconModule,
77
- MatTooltipModule,
78
- MatChipsModule,
79
- MatAutocompleteModule,
80
- DragDropModule,
81
- RouterModule,
82
- MatSnackBarModule,
83
- MatDialogModule,
84
- MatMenuModule,
85
- ApiModule], exports: [AuthorizationComponent,
86
- ProductSelectComponent,
87
- ConfigSelectComponent,
88
- EnvironmentSelectComponent,
89
- SettingSelectComponent,
90
- SettingItemComponent,
91
- InputDisplayNormalizerDirective,
92
- DeleteSettingDialogComponent] });
93
- NgConfigCatPublicApiUIModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgConfigCatPublicApiUIModule, providers: [
94
- {
95
- provide: MAT_TOOLTIP_DEFAULT_OPTIONS,
96
- useValue: { disableTooltipInteractivity: true },
97
- },
98
- ], imports: [CommonModule,
99
- FormsModule,
100
- ReactiveFormsModule,
101
- BrowserAnimationsModule,
102
- MatFormFieldModule,
103
- MatOptionModule,
104
- MatSelectModule,
105
- MatButtonModule,
106
- MatInputModule,
107
- MatIconModule,
108
- MatTooltipModule,
109
- MatChipsModule,
110
- MatAutocompleteModule,
111
- DragDropModule,
112
- RouterModule,
113
- MatSnackBarModule,
114
- MatDialogModule,
115
- MatMenuModule,
116
- ApiModule] });
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgConfigCatPublicApiUIModule, decorators: [{
118
- type: NgModule,
119
- args: [{
120
- declarations: [
121
- BaseComponent,
122
- BaseSelectComponent,
123
- ProductSelectComponent,
124
- ConfigSelectComponent,
125
- EnvironmentSelectComponent,
126
- SettingSelectComponent,
127
- SettingItemComponent,
128
- AuthorizationComponent,
129
- SettingListComponent,
130
- SettingComponent,
131
- RolloutPercentageItemsComponent,
132
- RolloutRulesComponent,
133
- ValueComponent,
134
- ReasonDialogComponent,
135
- SaveSnackbarComponent,
136
- ExpandDialogComponent,
137
- DeleteSettingDialogComponent,
138
- InputDisplayNormalizerDirective
139
- ],
140
- imports: [
141
- CommonModule,
142
- FormsModule,
143
- ReactiveFormsModule,
144
- BrowserAnimationsModule,
145
- MatFormFieldModule,
146
- MatOptionModule,
147
- MatSelectModule,
148
- MatButtonModule,
149
- MatInputModule,
150
- MatIconModule,
151
- MatTooltipModule,
152
- MatChipsModule,
153
- MatAutocompleteModule,
154
- DragDropModule,
155
- RouterModule,
156
- MatSnackBarModule,
157
- MatDialogModule,
158
- MatMenuModule,
159
- ApiModule
160
- ],
161
- exports: [
162
- AuthorizationComponent,
163
- ProductSelectComponent,
164
- ConfigSelectComponent,
165
- EnvironmentSelectComponent,
166
- SettingSelectComponent,
167
- SettingItemComponent,
168
- InputDisplayNormalizerDirective,
169
- DeleteSettingDialogComponent
170
- ],
171
- providers: [
172
- {
173
- provide: MAT_TOOLTIP_DEFAULT_OPTIONS,
174
- useValue: { disableTooltipInteractivity: true },
175
- },
176
- ]
177
- }]
178
- }], ctorParameters: function () { return []; } });
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctY29uZmlnY2F0LXB1YmxpY2FwaS11aS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb25maWdjYXQtcHVibGljYXBpLXVpL3NyYy9saWIvbmctY29uZmlnY2F0LXB1YmxpY2FwaS11aS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDeEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDdkcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDakYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxN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MEI7d0JBQzFCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQiwrQkFBK0I7d0JBQy9CLDRCQUE0QjtxQkFDN0I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSwyQkFBMkI7NEJBQ3BDLFFBQVEsRUFBRSxFQUFFLDJCQUEyQixFQUFFLElBQUksRUFBRTt5QkFDaEQ7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2V0dGluZ0l0ZW1Db21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctaXRlbS9zZXR0aW5nLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFNldHRpbmdTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdHMvc2V0dGluZy1zZWxlY3Qvc2V0dGluZy1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1Y3RTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdHMvcHJvZHVjdC1zZWxlY3QvcHJvZHVjdC1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0cy9jb25maWctc2VsZWN0L2NvbmZpZy1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEVudmlyb25tZW50U2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3RzL2Vudmlyb25tZW50LXNlbGVjdC9lbnZpcm9ubWVudC1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXV0aG9yaXphdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYXV0aG9yaXphdGlvbi9hdXRob3JpemF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IEV4cGFuZERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9ncy9leHBhbmQtZGlhbG9nL2V4cGFuZC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFJlYXNvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9ncy9yZWFzb24tZGlhbG9nL3JlYXNvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFNhdmVTbmFja2JhckNvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9ncy9zYXZlLXNuYWNrYmFyL3NhdmUtc25hY2tiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFJvbGxvdXRQZXJjZW50YWdlSXRlbXNDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctbGlzdC9zZXR0aW5nL3JvbGxvdXQtcGVyY2VudGFnZS1pdGVtcy9yb2xsb3V0LXBlcmNlbnRhZ2UtaXRlbXMuY29tcG9uZW50JztcbmltcG9ydCB7IFJvbGxvdXRSdWxlc0NvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1saXN0L3NldHRpbmcvcm9sbG91dC1ydWxlcy9yb2xsb3V0LXJ1bGVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1saXN0L3NldHRpbmcvdmFsdWUvdmFsdWUuY29tcG9uZW50JztcbmltcG9ydCB7IFNldHRpbmdMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWxpc3Qvc2V0dGluZy1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZXR0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWxpc3Qvc2V0dGluZy9zZXR0aW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNQVRfVE9PTFRJUF9ERUZBVUxUX09QVElPTlMsIE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UvYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFzZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vYmFzZS9iYXNlLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBpTW9kdWxlIH0gZnJvbSAnbmctY29uZmlnY2F0LXB1YmxpY2FwaSc7XG5pbXBvcnQgeyBJbnB1dERpc3BsYXlOb3JtYWxpemVyRGlyZWN0aXZlIH0gZnJvbSAnLi9fZGlyZWN0aXZlcy9pbnB1dC1kaXNwbGF5LW5vcm1hbGl6ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IERlbGV0ZVNldHRpbmdEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvZGVsZXRlLXNldHRpbmctZGlhbG9nL2RlbGV0ZS1zZXR0aW5nLWRpYWxvZy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCYXNlQ29tcG9uZW50LFxuICAgIEJhc2VTZWxlY3RDb21wb25lbnQsXG4gICAgUHJvZHVjdFNlbGVjdENvbXBvbmVudCxcbiAgICBDb25maWdTZWxlY3RDb21wb25lbnQsXG4gICAgRW52aXJvbm1lbnRTZWxlY3RDb21wb25lbnQsXG4gICAgU2V0dGluZ1NlbGVjdENvbXBvbmVudCxcbiAgICBTZXR0aW5nSXRlbUNvbXBvbmVudCxcbiAgICBBdXRob3JpemF0aW9uQ29tcG9uZW50LFxuICAgIFNldHRpbmdMaXN0Q29tcG9uZW50LFxuICAgIFNldHRpbmdDb21wb25lbnQsXG4gICAgUm9sbG91dFBlcmNlbnRhZ2VJdGVtc0NvbXBvbmVudCxcbiAgICBSb2xsb3V0UnVsZXNDb21wb25lbnQsXG4gICAgVmFsdWVDb21wb25lbnQsXG4gICAgUmVhc29uRGlhbG9nQ29tcG9uZW50LFxuICAgIFNhdmVTbmFja2JhckNvbXBvbmVudCxcbiAgICBFeHBhbmREaWFsb2dDb21wb25lbnQsXG4gICAgRGVsZXRlU2V0dGluZ0RpYWxvZ0NvbXBvbmVudCxcbiAgICBJbnB1dERpc3BsYXlOb3JtYWxpemVyRGlyZWN0aXZlXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdENoaXBzTW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgTWF0U25hY2tCYXJNb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgQXBpTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBBdXRob3JpemF0aW9uQ29tcG9uZW50LFxuICAgIFByb2R1Y3RTZWxlY3RDb21wb25lbnQsXG4gICAgQ29uZmlnU2VsZWN0Q29tcG9uZW50LFxuICAgIEVudmlyb25tZW50U2VsZWN0Q29tcG9uZW50LFxuICAgIFNldHRpbmdTZWxlY3RDb21wb25lbnQsXG4gICAgU2V0dGluZ0l0ZW1Db21wb25lbnQsXG4gICAgSW5wdXREaXNwbGF5Tm9ybWFsaXplckRpcmVjdGl2ZSxcbiAgICBEZWxldGVTZXR0aW5nRGlhbG9nQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1BVF9UT09MVElQX0RFRkFVTFRfT1BUSU9OUyxcbiAgICAgIHVzZVZhbHVlOiB7IGRpc2FibGVUb29sdGlwSW50ZXJhY3Rpdml0eTogdHJ1ZSB9LFxuICAgIH0sXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTmdDb25maWdDYXRQdWJsaWNBcGlVSU1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChjb25maWd1cmF0aW9uRmFjdG9yeTogKCkgPT4gQ29uZmlndXJhdGlvbik6IE1vZHVsZVdpdGhQcm92aWRlcnM8TmdDb25maWdDYXRQdWJsaWNBcGlVSU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmdDb25maWdDYXRQdWJsaWNBcGlVSU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ29uZmlndXJhdGlvbiwgdXNlRmFjdG9yeTogY29uZmlndXJhdGlvbkZhY3RvcnkgfV1cbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cbn1cbiJdfQ==
@@ -1,60 +0,0 @@
1
- import { Component, Input, forwardRef } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { BaseSelectComponent } from '../../base/base-select.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../_services";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "@angular/forms";
8
- import * as i4 from "@angular/material/form-field";
9
- import * as i5 from "@angular/material/core";
10
- import * as i6 from "@angular/material/select";
11
- import * as i7 from "@angular/material/tooltip";
12
- export class ConfigSelectComponent extends BaseSelectComponent {
13
- constructor(publicApiService) {
14
- super(publicApiService);
15
- this.configs = [];
16
- }
17
- ngOnInit() {
18
- this.configs = [];
19
- this.reloadConfigs();
20
- }
21
- ngOnChanges() {
22
- this.reloadConfigs();
23
- }
24
- reloadConfigs() {
25
- if (this.productId) {
26
- this.createConfigsService().getConfigs(this.productId).subscribe(configs => {
27
- this.configs = configs;
28
- if (this.configs.length > 0) {
29
- this.valueFormControl.setValue(this.configs[0].configId);
30
- }
31
- else {
32
- this.valueFormControl.setValue("");
33
- }
34
- });
35
- }
36
- }
37
- }
38
- ConfigSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ConfigSelectComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component });
39
- ConfigSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ConfigSelectComponent, selector: "configcat-config-select", inputs: { valueFormControl: "valueFormControl", productId: "productId" }, providers: [
40
- {
41
- provide: NG_VALUE_ACCESSOR,
42
- useExisting: forwardRef(() => ConfigSelectComponent),
43
- multi: true
44
- }
45
- ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-form-field class=\"form-field\" appearance=\"outline\" *ngIf=\"configs\">\n <mat-label>Config</mat-label>\n <mat-select placeholder=\"Config\" [formControl]=\"valueFormControl\" name=\"value\" disableOptionCentering\n (openedChange)=\"openChanged($event)\" [panelClass]=\"customDropdown ? 'custom-dropdown-below' : ''\">\n <mat-option *ngFor=\"let config of configs\" [value]=\"config.configId\" matTooltip=\"{{config.name}}\"\n [matTooltipShowDelay]=\"1000\">{{config.name}}</mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ConfigSelectComponent, decorators: [{
47
- type: Component,
48
- args: [{ selector: 'configcat-config-select', providers: [
49
- {
50
- provide: NG_VALUE_ACCESSOR,
51
- useExisting: forwardRef(() => ConfigSelectComponent),
52
- multi: true
53
- }
54
- ], template: "<mat-form-field class=\"form-field\" appearance=\"outline\" *ngIf=\"configs\">\n <mat-label>Config</mat-label>\n <mat-select placeholder=\"Config\" [formControl]=\"valueFormControl\" name=\"value\" disableOptionCentering\n (openedChange)=\"openChanged($event)\" [panelClass]=\"customDropdown ? 'custom-dropdown-below' : ''\">\n <mat-option *ngFor=\"let config of configs\" [value]=\"config.configId\" matTooltip=\"{{config.name}}\"\n [matTooltipShowDelay]=\"1000\">{{config.name}}</mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"] }]
55
- }], ctorParameters: function () { return [{ type: i1.PublicApiService }]; }, propDecorators: { valueFormControl: [{
56
- type: Input
57
- }], productId: [{
58
- type: Input
59
- }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb25maWdjYXQtcHVibGljYXBpLXVpL3NyYy9saWIvc2VsZWN0cy9jb25maWctc2VsZWN0L2NvbmZpZy1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29uZmlnY2F0LXB1YmxpY2FwaS11aS9zcmMvbGliL3NlbGVjdHMvY29uZmlnLXNlbGVjdC9jb25maWctc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFhLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRixPQUFPLEVBQUUsaUJBQWlCLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7OztBQWN2RSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsbUJBQW1CO0lBTTVELFlBQ0UsZ0JBQWtDO1FBQ2xDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBSjFCLFlBQU8sR0FBa0IsRUFBRSxDQUFDO0lBSzVCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUN6RSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztnQkFDdkIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQzNCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDMUQ7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDcEM7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7bUhBL0JVLHFCQUFxQjt1R0FBckIscUJBQXFCLDRIQVJyQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO1lBQ3BELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRixzRUNoQkgsb2pCQU9pQjs0RkRXSixxQkFBcUI7a0JBWmpDLFNBQVM7K0JBQ0UseUJBQXlCLGFBR3hCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDOzRCQUNwRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjt1R0FJUSxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT25DaGFuZ2VzLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWdNb2RlbCB9IGZyb20gJ25nLWNvbmZpZ2NhdC1wdWJsaWNhcGknO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFB1YmxpY0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgQmFzZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvYmFzZS1zZWxlY3QuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29uZmlnY2F0LWNvbmZpZy1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlnLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbmZpZy1zZWxlY3QuY29tcG9uZW50LmNzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENvbmZpZ1NlbGVjdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDb25maWdTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIHZhbHVlRm9ybUNvbnRyb2whOiBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gIEBJbnB1dCgpIHByb2R1Y3RJZCE6IHN0cmluZztcbiAgY29uZmlnczogQ29uZmlnTW9kZWxbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpY0FwaVNlcnZpY2U6IFB1YmxpY0FwaVNlcnZpY2UpIHtcbiAgICBzdXBlcihwdWJsaWNBcGlTZXJ2aWNlKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlncyA9IFtdO1xuICAgIHRoaXMucmVsb2FkQ29uZmlncygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5yZWxvYWRDb25maWdzKCk7XG4gIH1cblxuICByZWxvYWRDb25maWdzKCkge1xuICAgIGlmICh0aGlzLnByb2R1Y3RJZCkge1xuICAgICAgdGhpcy5jcmVhdGVDb25maWdzU2VydmljZSgpLmdldENvbmZpZ3ModGhpcy5wcm9kdWN0SWQpLnN1YnNjcmliZShjb25maWdzID0+IHtcbiAgICAgICAgdGhpcy5jb25maWdzID0gY29uZmlncztcbiAgICAgICAgaWYgKHRoaXMuY29uZmlncy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy52YWx1ZUZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuY29uZmlnc1swXS5jb25maWdJZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy52YWx1ZUZvcm1Db250cm9sLnNldFZhbHVlKFwiXCIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZvcm0tZmllbGRcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiICpuZ0lmPVwiY29uZmlnc1wiPlxuICAgIDxtYXQtbGFiZWw+Q29uZmlnPC9tYXQtbGFiZWw+XG4gICAgPG1hdC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJDb25maWdcIiBbZm9ybUNvbnRyb2xdPVwidmFsdWVGb3JtQ29udHJvbFwiIG5hbWU9XCJ2YWx1ZVwiIGRpc2FibGVPcHRpb25DZW50ZXJpbmdcbiAgICAgICAgKG9wZW5lZENoYW5nZSk9XCJvcGVuQ2hhbmdlZCgkZXZlbnQpXCIgW3BhbmVsQ2xhc3NdPVwiY3VzdG9tRHJvcGRvd24gPyAnY3VzdG9tLWRyb3Bkb3duLWJlbG93JyA6ICcnXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBjb25maWcgb2YgY29uZmlnc1wiIFt2YWx1ZV09XCJjb25maWcuY29uZmlnSWRcIiBtYXRUb29sdGlwPVwie3tjb25maWcubmFtZX19XCJcbiAgICAgICAgICAgIFttYXRUb29sdGlwU2hvd0RlbGF5XT1cIjEwMDBcIj57e2NvbmZpZy5uYW1lfX08L21hdC1vcHRpb24+XG4gICAgPC9tYXQtc2VsZWN0PlxuPC9tYXQtZm9ybS1maWVsZD4iXX0=
@@ -1,47 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { BaseSelectComponent } from '../../base/base-select.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../_services";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/forms";
7
- import * as i4 from "@angular/material/form-field";
8
- import * as i5 from "@angular/material/core";
9
- import * as i6 from "@angular/material/select";
10
- import * as i7 from "@angular/material/tooltip";
11
- export class EnvironmentSelectComponent extends BaseSelectComponent {
12
- constructor(publicApiService) {
13
- super(publicApiService);
14
- this.environments = [];
15
- }
16
- ngOnInit() {
17
- this.environments = [];
18
- this.reloadEnvironments();
19
- }
20
- ngOnChanges() {
21
- this.reloadEnvironments();
22
- }
23
- reloadEnvironments() {
24
- if (this.productId) {
25
- this.createEnvironmentsService().getEnvironments(this.productId).subscribe(environments => {
26
- this.environments = environments;
27
- if (this.environments.length > 0) {
28
- this.valueFormControl.setValue(this.environments[0].environmentId);
29
- }
30
- else {
31
- this.valueFormControl.setValue("");
32
- }
33
- });
34
- }
35
- }
36
- }
37
- EnvironmentSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EnvironmentSelectComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component });
38
- EnvironmentSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: EnvironmentSelectComponent, selector: "configcat-environment-select", inputs: { valueFormControl: "valueFormControl", productId: "productId" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-form-field class=\"form-field\" appearance=\"outline\" *ngIf=\"environments\">\n <mat-label>Environment</mat-label>\n <mat-select placeholder=\"Environment\" [formControl]=\"valueFormControl\" name=\"value\"\n (openedChange)=\"openChanged($event)\" [panelClass]=\"customDropdown ? 'custom-dropdown-below' : ''\">\n <mat-option *ngFor=\"let environment of environments\" [value]=\"environment.environmentId\"\n matTooltip=\"{{environment.name}}\" [matTooltipShowDelay]=\"1000\">{{environment.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EnvironmentSelectComponent, decorators: [{
40
- type: Component,
41
- args: [{ selector: 'configcat-environment-select', template: "<mat-form-field class=\"form-field\" appearance=\"outline\" *ngIf=\"environments\">\n <mat-label>Environment</mat-label>\n <mat-select placeholder=\"Environment\" [formControl]=\"valueFormControl\" name=\"value\"\n (openedChange)=\"openChanged($event)\" [panelClass]=\"customDropdown ? 'custom-dropdown-below' : ''\">\n <mat-option *ngFor=\"let environment of environments\" [value]=\"environment.environmentId\"\n matTooltip=\"{{environment.name}}\" [matTooltipShowDelay]=\"1000\">{{environment.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"] }]
42
- }], ctorParameters: function () { return [{ type: i1.PublicApiService }]; }, propDecorators: { valueFormControl: [{
43
- type: Input
44
- }], productId: [{
45
- type: Input
46
- }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbmZpZ2NhdC1wdWJsaWNhcGktdWkvc3JjL2xpYi9zZWxlY3RzL2Vudmlyb25tZW50LXNlbGVjdC9lbnZpcm9ubWVudC1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29uZmlnY2F0LXB1YmxpY2FwaS11aS9zcmMvbGliL3NlbGVjdHMvZW52aXJvbm1lbnQtc2VsZWN0L2Vudmlyb25tZW50LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUlwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7O0FBT3ZFLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxtQkFBbUI7SUFNakUsWUFDRSxnQkFBa0M7UUFDbEMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFKMUIsaUJBQVksR0FBdUIsRUFBRSxDQUFDO0lBS3RDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDeEYsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7Z0JBQ2pDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUNoQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7aUJBQ3BFO3FCQUFNO29CQUNMLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ3BDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7O3dIQS9CVSwwQkFBMEI7NEdBQTFCLDBCQUEwQiwwTENYdkMsb2xCQVFpQjs0RkRHSiwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UsOEJBQThCO3VHQU0vQixnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudE1vZGVsIH0gZnJvbSAnbmctY29uZmlnY2F0LXB1YmxpY2FwaSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQdWJsaWNBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IEJhc2VTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iYXNlL2Jhc2Utc2VsZWN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvbmZpZ2NhdC1lbnZpcm9ubWVudC1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZW52aXJvbm1lbnQtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZW52aXJvbm1lbnQtc2VsZWN0LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBFbnZpcm9ubWVudFNlbGVjdENvbXBvbmVudCBleHRlbmRzIEJhc2VTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgdmFsdWVGb3JtQ29udHJvbCE6IFVudHlwZWRGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgcHJvZHVjdElkITogc3RyaW5nO1xuICBlbnZpcm9ubWVudHM6IEVudmlyb25tZW50TW9kZWxbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpY0FwaVNlcnZpY2U6IFB1YmxpY0FwaVNlcnZpY2UpIHtcbiAgICBzdXBlcihwdWJsaWNBcGlTZXJ2aWNlKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZW52aXJvbm1lbnRzID0gW107XG4gICAgdGhpcy5yZWxvYWRFbnZpcm9ubWVudHMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMucmVsb2FkRW52aXJvbm1lbnRzKCk7XG4gIH1cblxuICByZWxvYWRFbnZpcm9ubWVudHMoKSB7XG4gICAgaWYgKHRoaXMucHJvZHVjdElkKSB7XG4gICAgICB0aGlzLmNyZWF0ZUVudmlyb25tZW50c1NlcnZpY2UoKS5nZXRFbnZpcm9ubWVudHModGhpcy5wcm9kdWN0SWQpLnN1YnNjcmliZShlbnZpcm9ubWVudHMgPT4ge1xuICAgICAgICB0aGlzLmVudmlyb25tZW50cyA9IGVudmlyb25tZW50cztcbiAgICAgICAgaWYgKHRoaXMuZW52aXJvbm1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLnZhbHVlRm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5lbnZpcm9ubWVudHNbMF0uZW52aXJvbm1lbnRJZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy52YWx1ZUZvcm1Db250cm9sLnNldFZhbHVlKFwiXCIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZm9ybS1maWVsZFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgKm5nSWY9XCJlbnZpcm9ubWVudHNcIj5cbiAgICA8bWF0LWxhYmVsPkVudmlyb25tZW50PC9tYXQtbGFiZWw+XG4gICAgPG1hdC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJFbnZpcm9ubWVudFwiIFtmb3JtQ29udHJvbF09XCJ2YWx1ZUZvcm1Db250cm9sXCIgbmFtZT1cInZhbHVlXCJcbiAgICAgICAgKG9wZW5lZENoYW5nZSk9XCJvcGVuQ2hhbmdlZCgkZXZlbnQpXCIgW3BhbmVsQ2xhc3NdPVwiY3VzdG9tRHJvcGRvd24gPyAnY3VzdG9tLWRyb3Bkb3duLWJlbG93JyA6ICcnXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBlbnZpcm9ubWVudCBvZiBlbnZpcm9ubWVudHNcIiBbdmFsdWVdPVwiZW52aXJvbm1lbnQuZW52aXJvbm1lbnRJZFwiXG4gICAgICAgICAgICBtYXRUb29sdGlwPVwie3tlbnZpcm9ubWVudC5uYW1lfX1cIiBbbWF0VG9vbHRpcFNob3dEZWxheV09XCIxMDAwXCI+e3tlbnZpcm9ubWVudC5uYW1lfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgIDwvbWF0LXNlbGVjdD5cbjwvbWF0LWZvcm0tZmllbGQ+Il19