@valtimo/choice-field 4.22.0 → 5.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/esm2020/lib/choice-field-create/choice-field-create.component.mjs +59 -0
  2. package/esm2020/lib/choice-field-detail/choice-field-detail.component.mjs +119 -0
  3. package/esm2020/lib/choice-field-list/choice-field-list.component.mjs +73 -0
  4. package/esm2020/lib/choice-field-routing.module.mjs +87 -0
  5. package/esm2020/lib/choice-field-value-create/choice-field-value-create.component.mjs +77 -0
  6. package/esm2020/lib/choice-field-value-detail/choice-field-value-detail.component.mjs +83 -0
  7. package/esm2020/lib/choice-field-value-list/choice-field-value-list.component.mjs +96 -0
  8. package/esm2020/lib/choice-field.module.mjs +82 -0
  9. package/esm2020/lib/choice-field.service.mjs +67 -0
  10. package/esm2020/lib/models/choice-field.model.mjs +17 -0
  11. package/esm2020/lib/models/choicefield-value.model.mjs +17 -0
  12. package/esm2020/lib/models/index.mjs +20 -0
  13. package/esm2020/public_api.mjs +22 -0
  14. package/esm2020/valtimo-choice-field.mjs +5 -0
  15. package/fesm2015/valtimo-choice-field.mjs +725 -0
  16. package/fesm2015/valtimo-choice-field.mjs.map +1 -0
  17. package/fesm2020/valtimo-choice-field.mjs +757 -0
  18. package/fesm2020/valtimo-choice-field.mjs.map +1 -0
  19. package/lib/choice-field-create/choice-field-create.component.d.ts +4 -0
  20. package/lib/choice-field-create/choice-field-create.component.d.ts.map +1 -0
  21. package/lib/choice-field-detail/choice-field-detail.component.d.ts +4 -0
  22. package/lib/choice-field-detail/choice-field-detail.component.d.ts.map +1 -0
  23. package/lib/choice-field-list/choice-field-list.component.d.ts +4 -0
  24. package/lib/choice-field-list/choice-field-list.component.d.ts.map +1 -0
  25. package/lib/choice-field-routing.module.d.ts +7 -0
  26. package/lib/choice-field-routing.module.d.ts.map +1 -0
  27. package/lib/choice-field-value-create/choice-field-value-create.component.d.ts +4 -0
  28. package/lib/choice-field-value-create/choice-field-value-create.component.d.ts.map +1 -0
  29. package/lib/choice-field-value-detail/choice-field-value-detail.component.d.ts +4 -0
  30. package/lib/choice-field-value-detail/choice-field-value-detail.component.d.ts.map +1 -0
  31. package/lib/choice-field-value-list/choice-field-value-list.component.d.ts +4 -0
  32. package/lib/choice-field-value-list/choice-field-value-list.component.d.ts.map +1 -0
  33. package/lib/choice-field.module.d.ts +16 -0
  34. package/lib/choice-field.module.d.ts.map +1 -0
  35. package/lib/choice-field.service.d.ts +4 -0
  36. package/lib/choice-field.service.d.ts.map +1 -0
  37. package/lib/models/choice-field.model.d.ts +1 -0
  38. package/lib/models/choice-field.model.d.ts.map +1 -0
  39. package/lib/models/choicefield-value.model.d.ts +1 -0
  40. package/lib/models/choicefield-value.model.d.ts.map +1 -0
  41. package/lib/models/index.d.ts +1 -0
  42. package/lib/models/index.d.ts.map +1 -0
  43. package/package.json +22 -10
  44. package/public_api.d.ts +1 -0
  45. package/public_api.d.ts.map +1 -0
  46. package/valtimo-choice-field.d.ts +2 -7
  47. package/valtimo-choice-field.d.ts.map +1 -0
  48. package/bundles/valtimo-choice-field.umd.js +0 -811
  49. package/bundles/valtimo-choice-field.umd.js.map +0 -1
  50. package/bundles/valtimo-choice-field.umd.min.js +0 -2
  51. package/bundles/valtimo-choice-field.umd.min.js.map +0 -1
  52. package/esm2015/lib/choice-field-create/choice-field-create.component.js +0 -63
  53. package/esm2015/lib/choice-field-detail/choice-field-detail.component.js +0 -123
  54. package/esm2015/lib/choice-field-list/choice-field-list.component.js +0 -75
  55. package/esm2015/lib/choice-field-routing.module.js +0 -83
  56. package/esm2015/lib/choice-field-value-create/choice-field-value-create.component.js +0 -82
  57. package/esm2015/lib/choice-field-value-detail/choice-field-value-detail.component.js +0 -88
  58. package/esm2015/lib/choice-field-value-list/choice-field-value-list.component.js +0 -100
  59. package/esm2015/lib/choice-field.module.js +0 -54
  60. package/esm2015/lib/choice-field.service.js +0 -71
  61. package/esm2015/lib/models/choice-field.model.js +0 -16
  62. package/esm2015/lib/models/choicefield-value.model.js +0 -16
  63. package/esm2015/lib/models/index.js +0 -20
  64. package/esm2015/public_api.js +0 -22
  65. package/esm2015/valtimo-choice-field.js +0 -12
  66. package/fesm2015/valtimo-choice-field.js +0 -765
  67. package/fesm2015/valtimo-choice-field.js.map +0 -1
  68. package/valtimo-choice-field.metadata.json +0 -1
@@ -0,0 +1,77 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component } from '@angular/core';
17
+ import { FormControl, Validators } from '@angular/forms';
18
+ import * as i0 from "@angular/core";
19
+ import * as i1 from "@angular/router";
20
+ import * as i2 from "@angular/forms";
21
+ import * as i3 from "../choice-field.service";
22
+ import * as i4 from "@valtimo/components";
23
+ import * as i5 from "@angular/common";
24
+ export class ChoiceFieldValueCreateComponent {
25
+ constructor(router, route, formBuilder, service, alertService) {
26
+ this.router = router;
27
+ this.route = route;
28
+ this.formBuilder = formBuilder;
29
+ this.service = service;
30
+ this.alertService = alertService;
31
+ const snapshot = this.route.snapshot.paramMap;
32
+ this.choiceFieldId = snapshot.get('id');
33
+ }
34
+ ngOnInit() {
35
+ this.reset();
36
+ }
37
+ get formControls() {
38
+ return this.form.controls;
39
+ }
40
+ createFormGroup() {
41
+ return this.formBuilder.group({
42
+ name: new FormControl('', Validators.required),
43
+ value: new FormControl('', Validators.required),
44
+ sortOrder: new FormControl('', Validators.required),
45
+ deprecated: new FormControl('', Validators.required),
46
+ });
47
+ }
48
+ initData(id) {
49
+ this.service.get(id).subscribe(result => {
50
+ this.choiceField = result;
51
+ this.setValues();
52
+ });
53
+ }
54
+ setValues() {
55
+ if (this.choiceField) {
56
+ // set form values default false
57
+ this.form.controls.deprecated.setValue(false);
58
+ }
59
+ }
60
+ onSubmit() {
61
+ this.service.createValue(this.form.value, this.choiceField.keyName).subscribe(result => {
62
+ this.router.navigate([`/choice-fields/field/${encodeURI(this.choiceFieldId)}`]);
63
+ this.alertService.success('New choice field value has been created');
64
+ });
65
+ }
66
+ reset() {
67
+ this.form = this.createFormGroup();
68
+ this.initData(this.choiceFieldId);
69
+ }
70
+ }
71
+ ChoiceFieldValueCreateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChoiceFieldValueCreateComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.FormBuilder }, { token: i3.ChoiceFieldService }, { token: i4.AlertService }], target: i0.ɵɵFactoryTarget.Component });
72
+ ChoiceFieldValueCreateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ChoiceFieldValueCreateComponent, selector: "valtimo-choice-field-value-create", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget *ngIf=\"choiceField\">\n <div>\n <div class=\"card-body bg-light\">\n <div class=\"row py-5\">\n <div class=\"col-12\">\n <div class=\"row mb-3\">\n <div class=\"col-12\">\n <strong>Choice field</strong>\n <hr />\n </div>\n </div>\n <div class=\"row mb-3\">\n <div class=\"col-12 col-sm-3 text-sm-right\"><strong>ID</strong></div>\n <div class=\"col-12 col-sm-8 col-lg-6\">{{ choiceField.id }}</div>\n </div>\n <div class=\"row mb-3\">\n <div class=\"col-12 col-sm-3 text-sm-right\"><strong>Key</strong></div>\n <div class=\"col-12 col-sm-8 col-lg-6\">{{ choiceField.keyName }}</div>\n </div>\n <div class=\"row\">\n <div class=\"col-12 col-sm-3 text-sm-right\"><strong>Title</strong></div>\n <div class=\"col-12 col-sm-8 col-lg-6\">{{ choiceField.title }}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"bg-white p-5\">\n <form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"name\">Key</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n valtimoFieldAutoFocus\n type=\"text\"\n id=\"name\"\n formControlName=\"name\"\n class=\"form-control\"\n placeholder=\"Choice field value key\"\n [ngClass]=\"{\n 'is-valid': formControls.name.touched && formControls.name.valid,\n 'is-invalid': formControls.name.touched && formControls.name.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.name.touched && formControls.name.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.name.errors.required\">\n Choice field value key is required\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"value\"\n >Value</label\n >\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n type=\"text\"\n id=\"value\"\n formControlName=\"value\"\n class=\"form-control\"\n placeholder=\"Choice field value\"\n [ngClass]=\"{\n 'is-valid': formControls.value.touched && formControls.value.valid,\n 'is-invalid': formControls.value.touched && formControls.value.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.value.touched && formControls.value.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.value.errors.required\">\n Choice field value is required\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"sortOrder\"\n >Sequence</label\n >\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n type=\"number\"\n id=\"sortOrder\"\n formControlName=\"sortOrder\"\n class=\"form-control\"\n placeholder=\"Choice field value sequence\"\n [ngClass]=\"{\n 'is-valid': formControls.sortOrder.touched && formControls.sortOrder.valid,\n 'is-invalid': formControls.sortOrder.touched && formControls.sortOrder.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.sortOrder.touched && formControls.sortOrder.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.sortOrder.errors.required\">\n Choice field value sequence is required\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"deprecated\"\n >Deprecated</label\n >\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <div class=\"switch-button switch-button-sm switch-button-success\">\n <input type=\"checkbox\" formControlName=\"deprecated\" id=\"deprecated\" /><span>\n <label for=\"deprecated\"></label\n ></span>\n </div>\n </div>\n </div>\n\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-12 col-sm-6 text-left\">\n <a [routerLink]=\"'../'\" class=\"btn btn-space btn-default\">Back</a>\n </div>\n <div class=\"col-12 col-sm-6 text-right\">\n <button class=\"btn btn-space btn-secondary\" type=\"button\" (click)=\"reset()\">\n Reset\n </button>\n <button class=\"btn btn-space btn-primary\" type=\"submit\" [disabled]=\"form.invalid\">\n Submit\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n", styles: [""], components: [{ type: i4.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { 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]" }, { type: i4.FieldAutoFocusDirective, selector: "[valtimoFieldAutoFocus]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }] });
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChoiceFieldValueCreateComponent, decorators: [{
74
+ type: Component,
75
+ args: [{ selector: 'valtimo-choice-field-value-create', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget *ngIf=\"choiceField\">\n <div>\n <div class=\"card-body bg-light\">\n <div class=\"row py-5\">\n <div class=\"col-12\">\n <div class=\"row mb-3\">\n <div class=\"col-12\">\n <strong>Choice field</strong>\n <hr />\n </div>\n </div>\n <div class=\"row mb-3\">\n <div class=\"col-12 col-sm-3 text-sm-right\"><strong>ID</strong></div>\n <div class=\"col-12 col-sm-8 col-lg-6\">{{ choiceField.id }}</div>\n </div>\n <div class=\"row mb-3\">\n <div class=\"col-12 col-sm-3 text-sm-right\"><strong>Key</strong></div>\n <div class=\"col-12 col-sm-8 col-lg-6\">{{ choiceField.keyName }}</div>\n </div>\n <div class=\"row\">\n <div class=\"col-12 col-sm-3 text-sm-right\"><strong>Title</strong></div>\n <div class=\"col-12 col-sm-8 col-lg-6\">{{ choiceField.title }}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"bg-white p-5\">\n <form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"name\">Key</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n valtimoFieldAutoFocus\n type=\"text\"\n id=\"name\"\n formControlName=\"name\"\n class=\"form-control\"\n placeholder=\"Choice field value key\"\n [ngClass]=\"{\n 'is-valid': formControls.name.touched && formControls.name.valid,\n 'is-invalid': formControls.name.touched && formControls.name.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.name.touched && formControls.name.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.name.errors.required\">\n Choice field value key is required\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"value\"\n >Value</label\n >\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n type=\"text\"\n id=\"value\"\n formControlName=\"value\"\n class=\"form-control\"\n placeholder=\"Choice field value\"\n [ngClass]=\"{\n 'is-valid': formControls.value.touched && formControls.value.valid,\n 'is-invalid': formControls.value.touched && formControls.value.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.value.touched && formControls.value.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.value.errors.required\">\n Choice field value is required\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"sortOrder\"\n >Sequence</label\n >\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n type=\"number\"\n id=\"sortOrder\"\n formControlName=\"sortOrder\"\n class=\"form-control\"\n placeholder=\"Choice field value sequence\"\n [ngClass]=\"{\n 'is-valid': formControls.sortOrder.touched && formControls.sortOrder.valid,\n 'is-invalid': formControls.sortOrder.touched && formControls.sortOrder.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.sortOrder.touched && formControls.sortOrder.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.sortOrder.errors.required\">\n Choice field value sequence is required\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"deprecated\"\n >Deprecated</label\n >\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <div class=\"switch-button switch-button-sm switch-button-success\">\n <input type=\"checkbox\" formControlName=\"deprecated\" id=\"deprecated\" /><span>\n <label for=\"deprecated\"></label\n ></span>\n </div>\n </div>\n </div>\n\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-12 col-sm-6 text-left\">\n <a [routerLink]=\"'../'\" class=\"btn btn-space btn-default\">Back</a>\n </div>\n <div class=\"col-12 col-sm-6 text-right\">\n <button class=\"btn btn-space btn-secondary\" type=\"button\" (click)=\"reset()\">\n Reset\n </button>\n <button class=\"btn btn-space btn-primary\" type=\"submit\" [disabled]=\"form.invalid\">\n Submit\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n", styles: [""] }]
76
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.FormBuilder }, { type: i3.ChoiceFieldService }, { type: i4.AlertService }]; } });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvaWNlLWZpZWxkLXZhbHVlLWNyZWF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Nob2ljZS1maWVsZC9zcmMvbGliL2Nob2ljZS1maWVsZC12YWx1ZS1jcmVhdGUvY2hvaWNlLWZpZWxkLXZhbHVlLWNyZWF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Nob2ljZS1maWVsZC9zcmMvbGliL2Nob2ljZS1maWVsZC12YWx1ZS1jcmVhdGUvY2hvaWNlLWZpZWxkLXZhbHVlLWNyZWF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFjLFdBQVcsRUFBYSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVcvRSxNQUFNLE9BQU8sK0JBQStCO0lBSzFDLFlBQ1UsTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLFdBQXdCLEVBQ3hCLE9BQTJCLEVBQzNCLFlBQTBCO1FBSjFCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUVsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzVCLENBQUM7SUFFTyxlQUFlO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDNUIsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzlDLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUMvQyxTQUFTLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbkQsVUFBVSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3JELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxRQUFRLENBQUMsRUFBRTtRQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7WUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsZ0NBQWdDO1lBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3JGLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsd0JBQXdCLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDaEYsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMseUNBQXlDLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7NEhBekRVLCtCQUErQjtnSEFBL0IsK0JBQStCLHlFQzVCNUMscTZOQW9LQTsyRkR4SWEsK0JBQStCO2tCQUwzQyxTQUFTOytCQUNFLG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtDaG9pY2VGaWVsZH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Q2hvaWNlRmllbGRTZXJ2aWNlfSBmcm9tICcuLi9jaG9pY2UtZmllbGQuc2VydmljZSc7XG5pbXBvcnQge0FsZXJ0U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tY2hvaWNlLWZpZWxkLXZhbHVlLWNyZWF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaG9pY2UtZmllbGQtdmFsdWUtY3JlYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hvaWNlLWZpZWxkLXZhbHVlLWNyZWF0ZS5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENob2ljZUZpZWxkVmFsdWVDcmVhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgY2hvaWNlRmllbGRJZDogc3RyaW5nO1xuICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuICBwdWJsaWMgY2hvaWNlRmllbGQ6IENob2ljZUZpZWxkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBDaG9pY2VGaWVsZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZVxuICApIHtcbiAgICBjb25zdCBzbmFwc2hvdCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXA7XG4gICAgdGhpcy5jaG9pY2VGaWVsZElkID0gc25hcHNob3QuZ2V0KCdpZCcpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZXNldCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JtQ29udHJvbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5jb250cm9scztcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRm9ybUdyb3VwKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICB2YWx1ZTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHNvcnRPcmRlcjogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGRlcHJlY2F0ZWQ6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGluaXREYXRhKGlkKSB7XG4gICAgdGhpcy5zZXJ2aWNlLmdldChpZCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICB0aGlzLmNob2ljZUZpZWxkID0gcmVzdWx0O1xuICAgICAgdGhpcy5zZXRWYWx1ZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VmFsdWVzKCkge1xuICAgIGlmICh0aGlzLmNob2ljZUZpZWxkKSB7XG4gICAgICAvLyBzZXQgZm9ybSB2YWx1ZXMgZGVmYXVsdCBmYWxzZVxuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmRlcHJlY2F0ZWQuc2V0VmFsdWUoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblN1Ym1pdCgpIHtcbiAgICB0aGlzLnNlcnZpY2UuY3JlYXRlVmFsdWUodGhpcy5mb3JtLnZhbHVlLCB0aGlzLmNob2ljZUZpZWxkLmtleU5hbWUpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AvY2hvaWNlLWZpZWxkcy9maWVsZC8ke2VuY29kZVVSSSh0aGlzLmNob2ljZUZpZWxkSWQpfWBdKTtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoJ05ldyBjaG9pY2UgZmllbGQgdmFsdWUgaGFzIGJlZW4gY3JlYXRlZCcpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCkge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuY3JlYXRlRm9ybUdyb3VwKCk7XG4gICAgdGhpcy5pbml0RGF0YSh0aGlzLmNob2ljZUZpZWxkSWQpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnRcIj5cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgcHgtMCBtYi01XCI+XG4gICAgICA8dmFsdGltby13aWRnZXQgKm5nSWY9XCJjaG9pY2VGaWVsZFwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgYmctbGlnaHRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHktNVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtYi0zXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+Q2hvaWNlIGZpZWxkPC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgIDxociAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtYi0zXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zIHRleHQtc20tcmlnaHRcIj48c3Ryb25nPklEPC9zdHJvbmc+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS04IGNvbC1sZy02XCI+e3sgY2hvaWNlRmllbGQuaWQgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTNcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTMgdGV4dC1zbS1yaWdodFwiPjxzdHJvbmc+S2V5PC9zdHJvbmc+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS04IGNvbC1sZy02XCI+e3sgY2hvaWNlRmllbGQua2V5TmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTMgdGV4dC1zbS1yaWdodFwiPjxzdHJvbmc+VGl0bGU8L3N0cm9uZz48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTggY29sLWxnLTZcIj57eyBjaG9pY2VGaWVsZC50aXRsZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJnLXdoaXRlIHAtNVwiPlxuICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zIGNvbC1mb3JtLWxhYmVsIHRleHQtc20tcmlnaHRcIiBmb3I9XCJuYW1lXCI+S2V5PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS04IGNvbC1sZy02XCI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdmFsdGltb0ZpZWxkQXV0b0ZvY3VzXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJDaG9pY2UgZmllbGQgdmFsdWUga2V5XCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICdpcy12YWxpZCc6IGZvcm1Db250cm9scy5uYW1lLnRvdWNoZWQgJiYgZm9ybUNvbnRyb2xzLm5hbWUudmFsaWQsXG4gICAgICAgICAgICAgICAgICAgICAgJ2lzLWludmFsaWQnOiBmb3JtQ29udHJvbHMubmFtZS50b3VjaGVkICYmIGZvcm1Db250cm9scy5uYW1lLmVycm9yc1xuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZm9ybUNvbnRyb2xzLm5hbWUudG91Y2hlZCAmJiBmb3JtQ29udHJvbHMubmFtZS5lcnJvcnNcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9ybUNvbnRyb2xzLm5hbWUuZXJyb3JzLnJlcXVpcmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgQ2hvaWNlIGZpZWxkIHZhbHVlIGtleSBpcyByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTMgY29sLWZvcm0tbGFiZWwgdGV4dC1zbS1yaWdodFwiIGZvcj1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgID5WYWx1ZTwvbGFiZWxcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tOCBjb2wtbGctNlwiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNob2ljZSBmaWVsZCB2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAnaXMtdmFsaWQnOiBmb3JtQ29udHJvbHMudmFsdWUudG91Y2hlZCAmJiBmb3JtQ29udHJvbHMudmFsdWUudmFsaWQsXG4gICAgICAgICAgICAgICAgICAgICAgJ2lzLWludmFsaWQnOiBmb3JtQ29udHJvbHMudmFsdWUudG91Y2hlZCAmJiBmb3JtQ29udHJvbHMudmFsdWUuZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmb3JtQ29udHJvbHMudmFsdWUudG91Y2hlZCAmJiBmb3JtQ29udHJvbHMudmFsdWUuZXJyb3JzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvcm1Db250cm9scy52YWx1ZS5lcnJvcnMucmVxdWlyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICBDaG9pY2UgZmllbGQgdmFsdWUgaXMgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zIGNvbC1mb3JtLWxhYmVsIHRleHQtc20tcmlnaHRcIiBmb3I9XCJzb3J0T3JkZXJcIlxuICAgICAgICAgICAgICAgICAgPlNlcXVlbmNlPC9sYWJlbFxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS04IGNvbC1sZy02XCI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwic29ydE9yZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic29ydE9yZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNob2ljZSBmaWVsZCB2YWx1ZSBzZXF1ZW5jZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAnaXMtdmFsaWQnOiBmb3JtQ29udHJvbHMuc29ydE9yZGVyLnRvdWNoZWQgJiYgZm9ybUNvbnRyb2xzLnNvcnRPcmRlci52YWxpZCxcbiAgICAgICAgICAgICAgICAgICAgICAnaXMtaW52YWxpZCc6IGZvcm1Db250cm9scy5zb3J0T3JkZXIudG91Y2hlZCAmJiBmb3JtQ29udHJvbHMuc29ydE9yZGVyLmVycm9yc1xuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZm9ybUNvbnRyb2xzLnNvcnRPcmRlci50b3VjaGVkICYmIGZvcm1Db250cm9scy5zb3J0T3JkZXIuZXJyb3JzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvcm1Db250cm9scy5zb3J0T3JkZXIuZXJyb3JzLnJlcXVpcmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgQ2hvaWNlIGZpZWxkIHZhbHVlIHNlcXVlbmNlIGlzIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC0xMiBjb2wtc20tMyBjb2wtZm9ybS1sYWJlbCB0ZXh0LXNtLXJpZ2h0XCIgZm9yPVwiZGVwcmVjYXRlZFwiXG4gICAgICAgICAgICAgICAgICA+RGVwcmVjYXRlZDwvbGFiZWxcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tOCBjb2wtbGctNlwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXRjaC1idXR0b24gc3dpdGNoLWJ1dHRvbi1zbSBzd2l0Y2gtYnV0dG9uLXN1Y2Nlc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGZvcm1Db250cm9sTmFtZT1cImRlcHJlY2F0ZWRcIiBpZD1cImRlcHJlY2F0ZWRcIiAvPjxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJkZXByZWNhdGVkXCI+PC9sYWJlbFxuICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHQtMyBtdC0xXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tNiB0ZXh0LWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIicuLi8nXCIgY2xhc3M9XCJidG4gYnRuLXNwYWNlIGJ0bi1kZWZhdWx0XCI+QmFjazwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS02IHRleHQtcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNwYWNlIGJ0bi1zZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInJlc2V0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgUmVzZXRcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc3BhY2UgYnRuLXByaW1hcnlcIiB0eXBlPVwic3VibWl0XCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiPlxuICAgICAgICAgICAgICAgICAgICBTdWJtaXRcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3ZhbHRpbW8td2lkZ2V0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,83 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component } from '@angular/core';
17
+ import { FormControl, Validators } from '@angular/forms';
18
+ import * as i0 from "@angular/core";
19
+ import * as i1 from "@angular/router";
20
+ import * as i2 from "@angular/forms";
21
+ import * as i3 from "../choice-field.service";
22
+ import * as i4 from "@valtimo/components";
23
+ import * as i5 from "@angular/common";
24
+ export class ChoiceFieldValueDetailComponent {
25
+ constructor(router, route, formBuilder, service, alertService) {
26
+ this.router = router;
27
+ this.route = route;
28
+ this.formBuilder = formBuilder;
29
+ this.service = service;
30
+ this.alertService = alertService;
31
+ const snapshot = this.route.snapshot.paramMap;
32
+ this.choiceFieldValueId = snapshot.get('valueId');
33
+ }
34
+ ngOnInit() {
35
+ this.reset();
36
+ }
37
+ get formControls() {
38
+ return this.form.controls;
39
+ }
40
+ initData(choiceFieldValueId) {
41
+ this.service.getValue(choiceFieldValueId).subscribe(result => {
42
+ this.choiceField = result.choiceField;
43
+ this.choiceFieldValue = result;
44
+ this.setValues();
45
+ });
46
+ }
47
+ createFormGroup() {
48
+ return this.formBuilder.group({
49
+ id: new FormControl('', Validators.required),
50
+ name: new FormControl('', Validators.required),
51
+ value: new FormControl('', Validators.required),
52
+ sortOrder: new FormControl('', Validators.required),
53
+ deprecated: new FormControl('', Validators.required),
54
+ });
55
+ }
56
+ setValues() {
57
+ if (this.choiceField) {
58
+ // set form values
59
+ this.form.controls.id.setValue(this.choiceFieldValue.id);
60
+ this.form.controls.name.setValue(this.choiceFieldValue.name);
61
+ this.form.controls.value.setValue(this.choiceFieldValue.value);
62
+ this.form.controls.sortOrder.setValue(this.choiceFieldValue.sortOrder);
63
+ this.form.controls.deprecated.setValue(this.choiceFieldValue.deprecated);
64
+ }
65
+ }
66
+ reset() {
67
+ this.form = this.createFormGroup();
68
+ this.initData(this.choiceFieldValueId);
69
+ }
70
+ onSubmit() {
71
+ this.service.updateValue(this.form.value, this.choiceField.keyName).subscribe(() => {
72
+ this.reset();
73
+ this.alertService.success('Choice field value details have been updated');
74
+ });
75
+ }
76
+ }
77
+ ChoiceFieldValueDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChoiceFieldValueDetailComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.FormBuilder }, { token: i3.ChoiceFieldService }, { token: i4.AlertService }], target: i0.ɵɵFactoryTarget.Component });
78
+ ChoiceFieldValueDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ChoiceFieldValueDetailComponent, selector: "valtimo-choice-field-value-detail", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget *ngIf=\"choiceField\">\n <div>\n <div class=\"card-body bg-light\">\n <div class=\"row py-5\">\n <div class=\"col-12\">\n <div class=\"row mb-3\">\n <div class=\"col-12\">\n <strong>Choice field</strong>\n <hr />\n </div>\n </div>\n <div class=\"row mb-3\">\n <div class=\"col-12 col-sm-3 text-sm-right\"><strong>ID</strong></div>\n <div class=\"col-12 col-sm-8 col-lg-6\">{{ choiceField.id }}</div>\n </div>\n <div class=\"row mb-3\">\n <div class=\"col-12 col-sm-3 text-sm-right\"><strong>Key</strong></div>\n <div class=\"col-12 col-sm-8 col-lg-6\">{{ choiceField.keyName }}</div>\n </div>\n <div class=\"row mb-3\">\n <div class=\"col-12 col-sm-3 text-sm-right\"><strong>Title</strong></div>\n <div class=\"col-12 col-sm-8 col-lg-6\">{{ choiceField.title }}</div>\n </div>\n <div class=\"row mb-3\">\n <div class=\"col-12 pt-3\">\n <strong>Choice field value</strong>\n <hr />\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12 col-sm-3 text-sm-right\"><strong>ID</strong></div>\n <div class=\"col-12 col-sm-8 col-lg-6\">{{ choiceFieldValue.id }}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"bg-white p-5\">\n <form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"name\">Key</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n valtimoFieldAutoFocus\n type=\"text\"\n id=\"name\"\n formControlName=\"name\"\n class=\"form-control\"\n placeholder=\"Choice field value key\"\n [ngClass]=\"{\n 'is-valid': formControls.name.touched && formControls.name.valid,\n 'is-invalid': formControls.name.touched && formControls.name.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.name.touched && formControls.name.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.name.errors.required\">\n Choice field value key is required\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"value\"\n >Value</label\n >\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n type=\"text\"\n id=\"value\"\n formControlName=\"value\"\n class=\"form-control\"\n placeholder=\"Choice field value\"\n [ngClass]=\"{\n 'is-valid': formControls.value.touched && formControls.value.valid,\n 'is-invalid': formControls.value.touched && formControls.value.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.value.touched && formControls.value.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.value.errors.required\">\n Choice field value is required\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"sortOrder\"\n >Sequence</label\n >\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n type=\"number\"\n id=\"sortOrder\"\n formControlName=\"sortOrder\"\n class=\"form-control\"\n placeholder=\"Choice field value sequence\"\n [ngClass]=\"{\n 'is-valid': formControls.sortOrder.touched && formControls.sortOrder.valid,\n 'is-invalid': formControls.sortOrder.touched && formControls.sortOrder.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.sortOrder.touched && formControls.sortOrder.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.sortOrder.errors.required\">\n Choice field value sequence is required\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"deprecated\"\n >Deprecated</label\n >\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <div class=\"switch-button switch-button-sm switch-button-success\">\n <input type=\"checkbox\" formControlName=\"deprecated\" id=\"deprecated\" /><span>\n <label for=\"deprecated\"></label\n ></span>\n </div>\n </div>\n </div>\n\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-12 col-sm-6 text-left\">\n <a [routerLink]=\"'../../'\" class=\"btn btn-space btn-default\">Back</a>\n </div>\n <div class=\"col-12 col-sm-6 text-right\">\n <button class=\"btn btn-space btn-secondary\" type=\"button\" (click)=\"reset()\">\n Reset\n </button>\n <button class=\"btn btn-space btn-primary\" type=\"submit\" [disabled]=\"form.invalid\">\n Submit\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n", styles: [""], components: [{ type: i4.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { 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]" }, { type: i4.FieldAutoFocusDirective, selector: "[valtimoFieldAutoFocus]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }] });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChoiceFieldValueDetailComponent, decorators: [{
80
+ type: Component,
81
+ args: [{ selector: 'valtimo-choice-field-value-detail', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget *ngIf=\"choiceField\">\n <div>\n <div class=\"card-body bg-light\">\n <div class=\"row py-5\">\n <div class=\"col-12\">\n <div class=\"row mb-3\">\n <div class=\"col-12\">\n <strong>Choice field</strong>\n <hr />\n </div>\n </div>\n <div class=\"row mb-3\">\n <div class=\"col-12 col-sm-3 text-sm-right\"><strong>ID</strong></div>\n <div class=\"col-12 col-sm-8 col-lg-6\">{{ choiceField.id }}</div>\n </div>\n <div class=\"row mb-3\">\n <div class=\"col-12 col-sm-3 text-sm-right\"><strong>Key</strong></div>\n <div class=\"col-12 col-sm-8 col-lg-6\">{{ choiceField.keyName }}</div>\n </div>\n <div class=\"row mb-3\">\n <div class=\"col-12 col-sm-3 text-sm-right\"><strong>Title</strong></div>\n <div class=\"col-12 col-sm-8 col-lg-6\">{{ choiceField.title }}</div>\n </div>\n <div class=\"row mb-3\">\n <div class=\"col-12 pt-3\">\n <strong>Choice field value</strong>\n <hr />\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-12 col-sm-3 text-sm-right\"><strong>ID</strong></div>\n <div class=\"col-12 col-sm-8 col-lg-6\">{{ choiceFieldValue.id }}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"bg-white p-5\">\n <form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"name\">Key</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n valtimoFieldAutoFocus\n type=\"text\"\n id=\"name\"\n formControlName=\"name\"\n class=\"form-control\"\n placeholder=\"Choice field value key\"\n [ngClass]=\"{\n 'is-valid': formControls.name.touched && formControls.name.valid,\n 'is-invalid': formControls.name.touched && formControls.name.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.name.touched && formControls.name.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.name.errors.required\">\n Choice field value key is required\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"value\"\n >Value</label\n >\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n type=\"text\"\n id=\"value\"\n formControlName=\"value\"\n class=\"form-control\"\n placeholder=\"Choice field value\"\n [ngClass]=\"{\n 'is-valid': formControls.value.touched && formControls.value.valid,\n 'is-invalid': formControls.value.touched && formControls.value.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.value.touched && formControls.value.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.value.errors.required\">\n Choice field value is required\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"sortOrder\"\n >Sequence</label\n >\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n type=\"number\"\n id=\"sortOrder\"\n formControlName=\"sortOrder\"\n class=\"form-control\"\n placeholder=\"Choice field value sequence\"\n [ngClass]=\"{\n 'is-valid': formControls.sortOrder.touched && formControls.sortOrder.valid,\n 'is-invalid': formControls.sortOrder.touched && formControls.sortOrder.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.sortOrder.touched && formControls.sortOrder.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.sortOrder.errors.required\">\n Choice field value sequence is required\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"deprecated\"\n >Deprecated</label\n >\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <div class=\"switch-button switch-button-sm switch-button-success\">\n <input type=\"checkbox\" formControlName=\"deprecated\" id=\"deprecated\" /><span>\n <label for=\"deprecated\"></label\n ></span>\n </div>\n </div>\n </div>\n\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-12 col-sm-6 text-left\">\n <a [routerLink]=\"'../../'\" class=\"btn btn-space btn-default\">Back</a>\n </div>\n <div class=\"col-12 col-sm-6 text-right\">\n <button class=\"btn btn-space btn-secondary\" type=\"button\" (click)=\"reset()\">\n Reset\n </button>\n <button class=\"btn btn-space btn-primary\" type=\"submit\" [disabled]=\"form.invalid\">\n Submit\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n", styles: [""] }]
82
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.FormBuilder }, { type: i3.ChoiceFieldService }, { type: i4.AlertService }]; } });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvaWNlLWZpZWxkLXZhbHVlLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Nob2ljZS1maWVsZC9zcmMvbGliL2Nob2ljZS1maWVsZC12YWx1ZS1kZXRhaWwvY2hvaWNlLWZpZWxkLXZhbHVlLWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Nob2ljZS1maWVsZC9zcmMvbGliL2Nob2ljZS1maWVsZC12YWx1ZS1kZXRhaWwvY2hvaWNlLWZpZWxkLXZhbHVlLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFjLFdBQVcsRUFBYSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVcvRSxNQUFNLE9BQU8sK0JBQStCO0lBTTFDLFlBQ1UsTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLFdBQXdCLEVBQ3hCLE9BQTJCLEVBQzNCLFlBQTBCO1FBSjFCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUVsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDOUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDNUIsQ0FBQztJQUVPLFFBQVEsQ0FBQyxrQkFBa0I7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDM0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7WUFDL0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWU7UUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUM1QixFQUFFLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDNUMsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzlDLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUMvQyxTQUFTLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbkQsVUFBVSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3JELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLGtCQUFrQjtZQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMxRTtJQUNILENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNqRixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NEhBaEVVLCtCQUErQjtnSEFBL0IsK0JBQStCLHlFQzVCNUMsKzNPQThLQTsyRkRsSmEsK0JBQStCO2tCQUwzQyxTQUFTOytCQUNFLG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtDaG9pY2VGaWVsZCwgQ2hvaWNlRmllbGRWYWx1ZX0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Q2hvaWNlRmllbGRTZXJ2aWNlfSBmcm9tICcuLi9jaG9pY2UtZmllbGQuc2VydmljZSc7XG5pbXBvcnQge0FsZXJ0U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tY2hvaWNlLWZpZWxkLXZhbHVlLWRldGFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaG9pY2UtZmllbGQtdmFsdWUtZGV0YWlsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hvaWNlLWZpZWxkLXZhbHVlLWRldGFpbC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENob2ljZUZpZWxkVmFsdWVEZXRhaWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgY2hvaWNlRmllbGRWYWx1ZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBjaG9pY2VGaWVsZDogQ2hvaWNlRmllbGQ7XG4gIHB1YmxpYyBjaG9pY2VGaWVsZFZhbHVlOiBDaG9pY2VGaWVsZFZhbHVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBDaG9pY2VGaWVsZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZVxuICApIHtcbiAgICBjb25zdCBzbmFwc2hvdCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXA7XG4gICAgdGhpcy5jaG9pY2VGaWVsZFZhbHVlSWQgPSBzbmFwc2hvdC5nZXQoJ3ZhbHVlSWQnKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVzZXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9ybUNvbnRyb2xzKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHM7XG4gIH1cblxuICBwcml2YXRlIGluaXREYXRhKGNob2ljZUZpZWxkVmFsdWVJZCkge1xuICAgIHRoaXMuc2VydmljZS5nZXRWYWx1ZShjaG9pY2VGaWVsZFZhbHVlSWQpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgdGhpcy5jaG9pY2VGaWVsZCA9IHJlc3VsdC5jaG9pY2VGaWVsZDtcbiAgICAgIHRoaXMuY2hvaWNlRmllbGRWYWx1ZSA9IHJlc3VsdDtcbiAgICAgIHRoaXMuc2V0VmFsdWVzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZvcm1Hcm91cCgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBpZDogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICB2YWx1ZTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIHNvcnRPcmRlcjogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGRlcHJlY2F0ZWQ6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldFZhbHVlcygpIHtcbiAgICBpZiAodGhpcy5jaG9pY2VGaWVsZCkge1xuICAgICAgLy8gc2V0IGZvcm0gdmFsdWVzXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuaWQuc2V0VmFsdWUodGhpcy5jaG9pY2VGaWVsZFZhbHVlLmlkKTtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5uYW1lLnNldFZhbHVlKHRoaXMuY2hvaWNlRmllbGRWYWx1ZS5uYW1lKTtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy52YWx1ZS5zZXRWYWx1ZSh0aGlzLmNob2ljZUZpZWxkVmFsdWUudmFsdWUpO1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnNvcnRPcmRlci5zZXRWYWx1ZSh0aGlzLmNob2ljZUZpZWxkVmFsdWUuc29ydE9yZGVyKTtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5kZXByZWNhdGVkLnNldFZhbHVlKHRoaXMuY2hvaWNlRmllbGRWYWx1ZS5kZXByZWNhdGVkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKSB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5jcmVhdGVGb3JtR3JvdXAoKTtcbiAgICB0aGlzLmluaXREYXRhKHRoaXMuY2hvaWNlRmllbGRWYWx1ZUlkKTtcbiAgfVxuXG4gIHB1YmxpYyBvblN1Ym1pdCgpIHtcbiAgICB0aGlzLnNlcnZpY2UudXBkYXRlVmFsdWUodGhpcy5mb3JtLnZhbHVlLCB0aGlzLmNob2ljZUZpZWxkLmtleU5hbWUpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKCdDaG9pY2UgZmllbGQgdmFsdWUgZGV0YWlscyBoYXZlIGJlZW4gdXBkYXRlZCcpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnRcIj5cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgcHgtMCBtYi01XCI+XG4gICAgICA8dmFsdGltby13aWRnZXQgKm5nSWY9XCJjaG9pY2VGaWVsZFwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgYmctbGlnaHRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHktNVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtYi0zXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+Q2hvaWNlIGZpZWxkPC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgIDxociAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtYi0zXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zIHRleHQtc20tcmlnaHRcIj48c3Ryb25nPklEPC9zdHJvbmc+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS04IGNvbC1sZy02XCI+e3sgY2hvaWNlRmllbGQuaWQgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTNcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTMgdGV4dC1zbS1yaWdodFwiPjxzdHJvbmc+S2V5PC9zdHJvbmc+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS04IGNvbC1sZy02XCI+e3sgY2hvaWNlRmllbGQua2V5TmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbWItM1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tMyB0ZXh0LXNtLXJpZ2h0XCI+PHN0cm9uZz5UaXRsZTwvc3Ryb25nPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tOCBjb2wtbGctNlwiPnt7IGNob2ljZUZpZWxkLnRpdGxlIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtYi0zXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHB0LTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5DaG9pY2UgZmllbGQgdmFsdWU8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgPGhyIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zIHRleHQtc20tcmlnaHRcIj48c3Ryb25nPklEPC9zdHJvbmc+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS04IGNvbC1sZy02XCI+e3sgY2hvaWNlRmllbGRWYWx1ZS5pZCB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJnLXdoaXRlIHAtNVwiPlxuICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zIGNvbC1mb3JtLWxhYmVsIHRleHQtc20tcmlnaHRcIiBmb3I9XCJuYW1lXCI+S2V5PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS04IGNvbC1sZy02XCI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdmFsdGltb0ZpZWxkQXV0b0ZvY3VzXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJDaG9pY2UgZmllbGQgdmFsdWUga2V5XCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICdpcy12YWxpZCc6IGZvcm1Db250cm9scy5uYW1lLnRvdWNoZWQgJiYgZm9ybUNvbnRyb2xzLm5hbWUudmFsaWQsXG4gICAgICAgICAgICAgICAgICAgICAgJ2lzLWludmFsaWQnOiBmb3JtQ29udHJvbHMubmFtZS50b3VjaGVkICYmIGZvcm1Db250cm9scy5uYW1lLmVycm9yc1xuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZm9ybUNvbnRyb2xzLm5hbWUudG91Y2hlZCAmJiBmb3JtQ29udHJvbHMubmFtZS5lcnJvcnNcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZm9ybUNvbnRyb2xzLm5hbWUuZXJyb3JzLnJlcXVpcmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgQ2hvaWNlIGZpZWxkIHZhbHVlIGtleSBpcyByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTMgY29sLWZvcm0tbGFiZWwgdGV4dC1zbS1yaWdodFwiIGZvcj1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgID5WYWx1ZTwvbGFiZWxcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tOCBjb2wtbGctNlwiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNob2ljZSBmaWVsZCB2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAnaXMtdmFsaWQnOiBmb3JtQ29udHJvbHMudmFsdWUudG91Y2hlZCAmJiBmb3JtQ29udHJvbHMudmFsdWUudmFsaWQsXG4gICAgICAgICAgICAgICAgICAgICAgJ2lzLWludmFsaWQnOiBmb3JtQ29udHJvbHMudmFsdWUudG91Y2hlZCAmJiBmb3JtQ29udHJvbHMudmFsdWUuZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmb3JtQ29udHJvbHMudmFsdWUudG91Y2hlZCAmJiBmb3JtQ29udHJvbHMudmFsdWUuZXJyb3JzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvcm1Db250cm9scy52YWx1ZS5lcnJvcnMucmVxdWlyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICBDaG9pY2UgZmllbGQgdmFsdWUgaXMgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcm93XCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zIGNvbC1mb3JtLWxhYmVsIHRleHQtc20tcmlnaHRcIiBmb3I9XCJzb3J0T3JkZXJcIlxuICAgICAgICAgICAgICAgICAgPlNlcXVlbmNlPC9sYWJlbFxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS04IGNvbC1sZy02XCI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwic29ydE9yZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic29ydE9yZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNob2ljZSBmaWVsZCB2YWx1ZSBzZXF1ZW5jZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAnaXMtdmFsaWQnOiBmb3JtQ29udHJvbHMuc29ydE9yZGVyLnRvdWNoZWQgJiYgZm9ybUNvbnRyb2xzLnNvcnRPcmRlci52YWxpZCxcbiAgICAgICAgICAgICAgICAgICAgICAnaXMtaW52YWxpZCc6IGZvcm1Db250cm9scy5zb3J0T3JkZXIudG91Y2hlZCAmJiBmb3JtQ29udHJvbHMuc29ydE9yZGVyLmVycm9yc1xuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZm9ybUNvbnRyb2xzLnNvcnRPcmRlci50b3VjaGVkICYmIGZvcm1Db250cm9scy5zb3J0T3JkZXIuZXJyb3JzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZvcm1Db250cm9scy5zb3J0T3JkZXIuZXJyb3JzLnJlcXVpcmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgQ2hvaWNlIGZpZWxkIHZhbHVlIHNlcXVlbmNlIGlzIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC0xMiBjb2wtc20tMyBjb2wtZm9ybS1sYWJlbCB0ZXh0LXNtLXJpZ2h0XCIgZm9yPVwiZGVwcmVjYXRlZFwiXG4gICAgICAgICAgICAgICAgICA+RGVwcmVjYXRlZDwvbGFiZWxcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tOCBjb2wtbGctNlwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXRjaC1idXR0b24gc3dpdGNoLWJ1dHRvbi1zbSBzd2l0Y2gtYnV0dG9uLXN1Y2Nlc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGZvcm1Db250cm9sTmFtZT1cImRlcHJlY2F0ZWRcIiBpZD1cImRlcHJlY2F0ZWRcIiAvPjxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJkZXByZWNhdGVkXCI+PC9sYWJlbFxuICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHQtMyBtdC0xXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tNiB0ZXh0LWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIicuLi8uLi8nXCIgY2xhc3M9XCJidG4gYnRuLXNwYWNlIGJ0bi1kZWZhdWx0XCI+QmFjazwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS02IHRleHQtcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNwYWNlIGJ0bi1zZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInJlc2V0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgUmVzZXRcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc3BhY2UgYnRuLXByaW1hcnlcIiB0eXBlPVwic3VibWl0XCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiPlxuICAgICAgICAgICAgICAgICAgICBTdWJtaXRcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3ZhbHRpbW8td2lkZ2V0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,96 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component } from '@angular/core';
17
+ import * as i0 from "@angular/core";
18
+ import * as i1 from "@angular/router";
19
+ import * as i2 from "@angular/forms";
20
+ import * as i3 from "../choice-field.service";
21
+ import * as i4 from "@valtimo/components";
22
+ import * as i5 from "@ngx-translate/core";
23
+ export class ChoiceFieldValueListComponent {
24
+ constructor(router, route, formBuilder, service) {
25
+ this.router = router;
26
+ this.route = route;
27
+ this.formBuilder = formBuilder;
28
+ this.service = service;
29
+ this.choiceFieldValues = [];
30
+ this.pagination = {
31
+ collectionSize: 0,
32
+ page: 1,
33
+ size: 10,
34
+ maxPaginationItemSize: 5,
35
+ };
36
+ this.pageParam = 0;
37
+ this.fields = [
38
+ {
39
+ key: 'id',
40
+ label: 'ID',
41
+ },
42
+ {
43
+ key: 'name',
44
+ label: 'Key',
45
+ },
46
+ {
47
+ key: 'value',
48
+ label: 'Value',
49
+ },
50
+ {
51
+ key: 'deprecatedDisplayString',
52
+ label: 'Deprecated',
53
+ },
54
+ {
55
+ key: 'sortOrder',
56
+ label: 'Sequence',
57
+ },
58
+ ];
59
+ const snapshot = this.route.snapshot.paramMap;
60
+ this.id = snapshot.get('id');
61
+ }
62
+ ngOnInit() {
63
+ this.paginationSet();
64
+ }
65
+ paginationSet() {
66
+ this.initData(this.id);
67
+ }
68
+ initData(id) {
69
+ this.service.get(id).subscribe(result => {
70
+ this.choiceField = result;
71
+ this.service
72
+ .queryValues(this.choiceField.keyName, { page: this.pageParam, size: this.pagination.size })
73
+ .subscribe(values => {
74
+ this.pagination.collectionSize = values.headers.get('x-total-count');
75
+ this.choiceFieldValues = values.body;
76
+ this.choiceFieldValues.forEach(choiceFieldValue => {
77
+ choiceFieldValue.deprecatedDisplayString = choiceFieldValue.deprecated ? 'Yes' : 'No';
78
+ });
79
+ });
80
+ });
81
+ }
82
+ rowClick(data) {
83
+ this.router.navigate([`/choice-fields/field/${data.choiceField.id}/value/${data.id}`]);
84
+ }
85
+ paginationClicked(page) {
86
+ this.pageParam = page - 1;
87
+ this.initData(this.id);
88
+ }
89
+ }
90
+ ChoiceFieldValueListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChoiceFieldValueListComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.FormBuilder }, { token: i3.ChoiceFieldService }], target: i0.ɵɵFactoryTarget.Component });
91
+ ChoiceFieldValueListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ChoiceFieldValueListComponent, selector: "valtimo-choice-field-value-list", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"text-right\">\n <div class=\"btn-group mt-m3px mb-3\">\n <button [routerLink]=\"'create-value'\" class=\"btn btn-primary btn-space mr-0\">\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n <span>{{ 'Create new Choice field value' | translate }}</span>\n </button>\n </div>\n </div>\n <valtimo-widget>\n <valtimo-list\n [items]=\"choiceFieldValues\"\n [fields]=\"fields\"\n [viewMode]=\"true\"\n [isSearchable]=\"true\"\n (rowClicked)=\"rowClick($event)\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"choiceFieldValueList\"\n (paginationClicked)=\"paginationClicked($event)\"\n [header]=\"true\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Choice field values' | translate }}</h3>\n <h5 class=\"list-header-description\">\n {{ 'Overview of all Choice field values' | translate }}\n </h5>\n </div>\n </valtimo-list>\n </valtimo-widget>\n </div>\n</div>\n", styles: [""], components: [{ type: i4.WidgetComponent, selector: "valtimo-widget", inputs: ["type", "name", "icon", "contrast", "divider", "title", "subtitle", "collapseAble", "collapse", "additionalClasses"] }, { type: i4.ListComponent, selector: "valtimo-list", inputs: ["items", "fields", "pagination", "viewMode", "isSearchable", "header", "actions", "paginationIdentifier", "initialSortState"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged"] }], directives: [{ type: i1.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }], pipes: { "translate": i5.TranslatePipe } });
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChoiceFieldValueListComponent, decorators: [{
93
+ type: Component,
94
+ args: [{ selector: 'valtimo-choice-field-value-list', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content pt-0\">\n <div class=\"container-fluid\">\n <div class=\"text-right\">\n <div class=\"btn-group mt-m3px mb-3\">\n <button [routerLink]=\"'create-value'\" class=\"btn btn-primary btn-space mr-0\">\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n <span>{{ 'Create new Choice field value' | translate }}</span>\n </button>\n </div>\n </div>\n <valtimo-widget>\n <valtimo-list\n [items]=\"choiceFieldValues\"\n [fields]=\"fields\"\n [viewMode]=\"true\"\n [isSearchable]=\"true\"\n (rowClicked)=\"rowClick($event)\"\n [pagination]=\"pagination\"\n paginationIdentifier=\"choiceFieldValueList\"\n (paginationClicked)=\"paginationClicked($event)\"\n [header]=\"true\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'Choice field values' | translate }}</h3>\n <h5 class=\"list-header-description\">\n {{ 'Overview of all Choice field values' | translate }}\n </h5>\n </div>\n </valtimo-list>\n </valtimo-widget>\n </div>\n</div>\n", styles: [""] }]
95
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.FormBuilder }, { type: i3.ChoiceFieldService }]; } });
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvaWNlLWZpZWxkLXZhbHVlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jaG9pY2UtZmllbGQvc3JjL2xpYi9jaG9pY2UtZmllbGQtdmFsdWUtbGlzdC9jaG9pY2UtZmllbGQtdmFsdWUtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Nob2ljZS1maWVsZC9zcmMvbGliL2Nob2ljZS1maWVsZC12YWx1ZS1saXN0L2Nob2ljZS1maWVsZC12YWx1ZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBUyxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVdoRCxNQUFNLE9BQU8sNkJBQTZCO0lBbUN4QyxZQUNVLE1BQWMsRUFDZCxLQUFxQixFQUNyQixXQUF3QixFQUN4QixPQUEyQjtRQUgzQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFuQzlCLHNCQUFpQixHQUE0QixFQUFFLENBQUM7UUFDaEQsZUFBVSxHQUFHO1lBQ2xCLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxFQUFFLEVBQUU7WUFDUixxQkFBcUIsRUFBRSxDQUFDO1NBQ3pCLENBQUM7UUFDSyxjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsV0FBTSxHQUFlO1lBQzFCO2dCQUNFLEdBQUcsRUFBRSxJQUFJO2dCQUNULEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxHQUFHLEVBQUUsTUFBTTtnQkFDWCxLQUFLLEVBQUUsS0FBSzthQUNiO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLE9BQU87Z0JBQ1osS0FBSyxFQUFFLE9BQU87YUFDZjtZQUNEO2dCQUNFLEdBQUcsRUFBRSx5QkFBeUI7Z0JBQzlCLEtBQUssRUFBRSxZQUFZO2FBQ3BCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLFdBQVc7Z0JBQ2hCLEtBQUssRUFBRSxVQUFVO2FBQ2xCO1NBQ0YsQ0FBQztRQVFBLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUM5QyxJQUFJLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRU8sUUFBUSxDQUFDLEVBQUU7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDO1lBQzFCLElBQUksQ0FBQyxPQUFPO2lCQUNULFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBQyxDQUFDO2lCQUN6RixTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUNyRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO29CQUNoRCxnQkFBZ0IsQ0FBQyx1QkFBdUIsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUN4RixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sUUFBUSxDQUFDLElBQUk7UUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyx3QkFBd0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFVBQVUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRU0saUJBQWlCLENBQUMsSUFBSTtRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekIsQ0FBQzs7MEhBM0VVLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLHVFQzNCMUMscXdEQWdEQTsyRkRyQmEsNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQnVpbGRlciwgRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0Nob2ljZUZpZWxkLCBDaG9pY2VGaWVsZFZhbHVlfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtDaG9pY2VGaWVsZFNlcnZpY2V9IGZyb20gJy4uL2Nob2ljZS1maWVsZC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1jaG9pY2UtZmllbGQtdmFsdWUtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaG9pY2UtZmllbGQtdmFsdWUtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nob2ljZS1maWVsZC12YWx1ZS1saXN0LmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hvaWNlRmllbGRWYWx1ZUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgaWQ6IHN0cmluZztcbiAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgcHVibGljIGNob2ljZUZpZWxkOiBDaG9pY2VGaWVsZDtcbiAgcHVibGljIGNob2ljZUZpZWxkVmFsdWVzOiBBcnJheTxDaG9pY2VGaWVsZFZhbHVlPiA9IFtdO1xuICBwdWJsaWMgcGFnaW5hdGlvbiA9IHtcbiAgICBjb2xsZWN0aW9uU2l6ZTogMCxcbiAgICBwYWdlOiAxLFxuICAgIHNpemU6IDEwLFxuICAgIG1heFBhZ2luYXRpb25JdGVtU2l6ZTogNSxcbiAgfTtcbiAgcHVibGljIHBhZ2VQYXJhbSA9IDA7XG4gIHB1YmxpYyBmaWVsZHM6IEFycmF5PGFueT4gPSBbXG4gICAge1xuICAgICAga2V5OiAnaWQnLFxuICAgICAgbGFiZWw6ICdJRCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICduYW1lJyxcbiAgICAgIGxhYmVsOiAnS2V5JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ3ZhbHVlJyxcbiAgICAgIGxhYmVsOiAnVmFsdWUnLFxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAnZGVwcmVjYXRlZERpc3BsYXlTdHJpbmcnLFxuICAgICAgbGFiZWw6ICdEZXByZWNhdGVkJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ3NvcnRPcmRlcicsXG4gICAgICBsYWJlbDogJ1NlcXVlbmNlJyxcbiAgICB9LFxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBDaG9pY2VGaWVsZFNlcnZpY2VcbiAgKSB7XG4gICAgY29uc3Qgc25hcHNob3QgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwO1xuICAgIHRoaXMuaWQgPSBzbmFwc2hvdC5nZXQoJ2lkJyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnBhZ2luYXRpb25TZXQoKTtcbiAgfVxuXG4gIHBhZ2luYXRpb25TZXQoKSB7XG4gICAgdGhpcy5pbml0RGF0YSh0aGlzLmlkKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdERhdGEoaWQpIHtcbiAgICB0aGlzLnNlcnZpY2UuZ2V0KGlkKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIHRoaXMuY2hvaWNlRmllbGQgPSByZXN1bHQ7XG4gICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgLnF1ZXJ5VmFsdWVzKHRoaXMuY2hvaWNlRmllbGQua2V5TmFtZSwge3BhZ2U6IHRoaXMucGFnZVBhcmFtLCBzaXplOiB0aGlzLnBhZ2luYXRpb24uc2l6ZX0pXG4gICAgICAgIC5zdWJzY3JpYmUodmFsdWVzID0+IHtcbiAgICAgICAgICB0aGlzLnBhZ2luYXRpb24uY29sbGVjdGlvblNpemUgPSB2YWx1ZXMuaGVhZGVycy5nZXQoJ3gtdG90YWwtY291bnQnKTtcbiAgICAgICAgICB0aGlzLmNob2ljZUZpZWxkVmFsdWVzID0gdmFsdWVzLmJvZHk7XG4gICAgICAgICAgdGhpcy5jaG9pY2VGaWVsZFZhbHVlcy5mb3JFYWNoKGNob2ljZUZpZWxkVmFsdWUgPT4ge1xuICAgICAgICAgICAgY2hvaWNlRmllbGRWYWx1ZS5kZXByZWNhdGVkRGlzcGxheVN0cmluZyA9IGNob2ljZUZpZWxkVmFsdWUuZGVwcmVjYXRlZCA/ICdZZXMnIDogJ05vJztcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcm93Q2xpY2soZGF0YSkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgL2Nob2ljZS1maWVsZHMvZmllbGQvJHtkYXRhLmNob2ljZUZpZWxkLmlkfS92YWx1ZS8ke2RhdGEuaWR9YF0pO1xuICB9XG5cbiAgcHVibGljIHBhZ2luYXRpb25DbGlja2VkKHBhZ2UpIHtcbiAgICB0aGlzLnBhZ2VQYXJhbSA9IHBhZ2UgLSAxO1xuICAgIHRoaXMuaW5pdERhdGEodGhpcy5pZCk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdiBjbGFzcz1cIm1haW4tY29udGVudCBwdC0wXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1yaWdodFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cCBtdC1tM3B4IG1iLTNcIj5cbiAgICAgICAgPGJ1dHRvbiBbcm91dGVyTGlua109XCInY3JlYXRlLXZhbHVlJ1wiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zcGFjZSBtci0wXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJpY29uIG1kaSBtZGktcGx1cyBtci0xXCI+PC9pPlxuICAgICAgICAgIDxzcGFuPnt7ICdDcmVhdGUgbmV3IENob2ljZSBmaWVsZCB2YWx1ZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHZhbHRpbW8td2lkZ2V0PlxuICAgICAgPHZhbHRpbW8tbGlzdFxuICAgICAgICBbaXRlbXNdPVwiY2hvaWNlRmllbGRWYWx1ZXNcIlxuICAgICAgICBbZmllbGRzXT1cImZpZWxkc1wiXG4gICAgICAgIFt2aWV3TW9kZV09XCJ0cnVlXCJcbiAgICAgICAgW2lzU2VhcmNoYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgKHJvd0NsaWNrZWQpPVwicm93Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgIFtwYWdpbmF0aW9uXT1cInBhZ2luYXRpb25cIlxuICAgICAgICBwYWdpbmF0aW9uSWRlbnRpZmllcj1cImNob2ljZUZpZWxkVmFsdWVMaXN0XCJcbiAgICAgICAgKHBhZ2luYXRpb25DbGlja2VkKT1cInBhZ2luYXRpb25DbGlja2VkKCRldmVudClcIlxuICAgICAgICBbaGVhZGVyXT1cInRydWVcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGhlYWRlcj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJsaXN0LWhlYWRlci10aXRsZVwiPnt7ICdDaG9pY2UgZmllbGQgdmFsdWVzJyB8IHRyYW5zbGF0ZSB9fTwvaDM+XG4gICAgICAgICAgPGg1IGNsYXNzPVwibGlzdC1oZWFkZXItZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIHt7ICdPdmVydmlldyBvZiBhbGwgQ2hvaWNlIGZpZWxkIHZhbHVlcycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2g1PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdmFsdGltby1saXN0PlxuICAgIDwvdmFsdGltby13aWRnZXQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,82 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { NgModule } from '@angular/core';
17
+ import { CommonModule } from '@angular/common';
18
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
19
+ import { AlertModule, FieldAutoFocusModule, ListModule, WidgetModule } from '@valtimo/components';
20
+ import { ChoiceFieldRoutingModule } from './choice-field-routing.module';
21
+ import { ChoiceFieldListComponent } from './choice-field-list/choice-field-list.component';
22
+ import { ChoiceFieldDetailComponent } from './choice-field-detail/choice-field-detail.component';
23
+ import { ChoiceFieldCreateComponent } from './choice-field-create/choice-field-create.component';
24
+ import { ChoiceFieldValueListComponent } from './choice-field-value-list/choice-field-value-list.component';
25
+ import { ChoiceFieldValueCreateComponent } from './choice-field-value-create/choice-field-value-create.component';
26
+ import { ChoiceFieldValueDetailComponent } from './choice-field-value-detail/choice-field-value-detail.component';
27
+ import { TranslateModule } from '@ngx-translate/core';
28
+ import * as i0 from "@angular/core";
29
+ export class ChoiceFieldModule {
30
+ }
31
+ ChoiceFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChoiceFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
+ ChoiceFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChoiceFieldModule, declarations: [ChoiceFieldListComponent,
33
+ ChoiceFieldDetailComponent,
34
+ ChoiceFieldCreateComponent,
35
+ ChoiceFieldValueListComponent,
36
+ ChoiceFieldValueCreateComponent,
37
+ ChoiceFieldValueDetailComponent], imports: [CommonModule,
38
+ ListModule,
39
+ WidgetModule,
40
+ FieldAutoFocusModule,
41
+ FormsModule,
42
+ ReactiveFormsModule,
43
+ ChoiceFieldRoutingModule,
44
+ AlertModule,
45
+ TranslateModule] });
46
+ ChoiceFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChoiceFieldModule, imports: [[
47
+ CommonModule,
48
+ ListModule,
49
+ WidgetModule,
50
+ FieldAutoFocusModule,
51
+ FormsModule,
52
+ ReactiveFormsModule,
53
+ ChoiceFieldRoutingModule,
54
+ AlertModule,
55
+ TranslateModule,
56
+ ]] });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChoiceFieldModule, decorators: [{
58
+ type: NgModule,
59
+ args: [{
60
+ declarations: [
61
+ ChoiceFieldListComponent,
62
+ ChoiceFieldDetailComponent,
63
+ ChoiceFieldCreateComponent,
64
+ ChoiceFieldValueListComponent,
65
+ ChoiceFieldValueCreateComponent,
66
+ ChoiceFieldValueDetailComponent,
67
+ ],
68
+ imports: [
69
+ CommonModule,
70
+ ListModule,
71
+ WidgetModule,
72
+ FieldAutoFocusModule,
73
+ FormsModule,
74
+ ReactiveFormsModule,
75
+ ChoiceFieldRoutingModule,
76
+ AlertModule,
77
+ TranslateModule,
78
+ ],
79
+ exports: [],
80
+ }]
81
+ }] });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvaWNlLWZpZWxkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY2hvaWNlLWZpZWxkL3NyYy9saWIvY2hvaWNlLWZpZWxkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsV0FBVyxFQUFFLG9CQUFvQixFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN6RixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUMxRyxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUNoSCxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUNoSCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7O0FBd0JwRCxNQUFNLE9BQU8saUJBQWlCOzs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBcEIxQix3QkFBd0I7UUFDeEIsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQiw2QkFBNkI7UUFDN0IsK0JBQStCO1FBQy9CLCtCQUErQixhQUcvQixZQUFZO1FBQ1osVUFBVTtRQUNWLFlBQVk7UUFDWixvQkFBb0I7UUFDcEIsV0FBVztRQUNYLG1CQUFtQjtRQUNuQix3QkFBd0I7UUFDeEIsV0FBVztRQUNYLGVBQWU7K0dBSU4saUJBQWlCLFlBYm5CO1lBQ1AsWUFBWTtZQUNaLFVBQVU7WUFDVixZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLFdBQVc7WUFDWCxlQUFlO1NBQ2hCOzJGQUdVLGlCQUFpQjtrQkF0QjdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHdCQUF3Qjt3QkFDeEIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLDZCQUE2Qjt3QkFDN0IsK0JBQStCO3dCQUMvQiwrQkFBK0I7cUJBQ2hDO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQix3QkFBd0I7d0JBQ3hCLFdBQVc7d0JBQ1gsZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtBbGVydE1vZHVsZSwgRmllbGRBdXRvRm9jdXNNb2R1bGUsIExpc3RNb2R1bGUsIFdpZGdldE1vZHVsZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0Nob2ljZUZpZWxkUm91dGluZ01vZHVsZX0gZnJvbSAnLi9jaG9pY2UtZmllbGQtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHtDaG9pY2VGaWVsZExpc3RDb21wb25lbnR9IGZyb20gJy4vY2hvaWNlLWZpZWxkLWxpc3QvY2hvaWNlLWZpZWxkLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7Q2hvaWNlRmllbGREZXRhaWxDb21wb25lbnR9IGZyb20gJy4vY2hvaWNlLWZpZWxkLWRldGFpbC9jaG9pY2UtZmllbGQtZGV0YWlsLmNvbXBvbmVudCc7XG5pbXBvcnQge0Nob2ljZUZpZWxkQ3JlYXRlQ29tcG9uZW50fSBmcm9tICcuL2Nob2ljZS1maWVsZC1jcmVhdGUvY2hvaWNlLWZpZWxkLWNyZWF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtDaG9pY2VGaWVsZFZhbHVlTGlzdENvbXBvbmVudH0gZnJvbSAnLi9jaG9pY2UtZmllbGQtdmFsdWUtbGlzdC9jaG9pY2UtZmllbGQtdmFsdWUtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtDaG9pY2VGaWVsZFZhbHVlQ3JlYXRlQ29tcG9uZW50fSBmcm9tICcuL2Nob2ljZS1maWVsZC12YWx1ZS1jcmVhdGUvY2hvaWNlLWZpZWxkLXZhbHVlLWNyZWF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtDaG9pY2VGaWVsZFZhbHVlRGV0YWlsQ29tcG9uZW50fSBmcm9tICcuL2Nob2ljZS1maWVsZC12YWx1ZS1kZXRhaWwvY2hvaWNlLWZpZWxkLXZhbHVlLWRldGFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBDaG9pY2VGaWVsZExpc3RDb21wb25lbnQsXG4gICAgQ2hvaWNlRmllbGREZXRhaWxDb21wb25lbnQsXG4gICAgQ2hvaWNlRmllbGRDcmVhdGVDb21wb25lbnQsXG4gICAgQ2hvaWNlRmllbGRWYWx1ZUxpc3RDb21wb25lbnQsXG4gICAgQ2hvaWNlRmllbGRWYWx1ZUNyZWF0ZUNvbXBvbmVudCxcbiAgICBDaG9pY2VGaWVsZFZhbHVlRGV0YWlsQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIExpc3RNb2R1bGUsXG4gICAgV2lkZ2V0TW9kdWxlLFxuICAgIEZpZWxkQXV0b0ZvY3VzTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQ2hvaWNlRmllbGRSb3V0aW5nTW9kdWxlLFxuICAgIEFsZXJ0TW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIENob2ljZUZpZWxkTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,67 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Injectable } from '@angular/core';
17
+ import * as i0 from "@angular/core";
18
+ import * as i1 from "@angular/common/http";
19
+ import * as i2 from "@valtimo/config";
20
+ export class ChoiceFieldService {
21
+ constructor(http, configService) {
22
+ this.http = http;
23
+ this.configService = configService;
24
+ this.valtimoApiConfig = configService.config.valtimoApi;
25
+ }
26
+ query(params) {
27
+ return this.http.get(`${this.valtimoApiConfig.endpointUri}choice-fields`, {
28
+ observe: 'response',
29
+ params,
30
+ });
31
+ }
32
+ get(id) {
33
+ return this.http.get(`${this.valtimoApiConfig.endpointUri}choice-fields/${id}`);
34
+ }
35
+ create(choiceField) {
36
+ return this.http.post(`${this.valtimoApiConfig.endpointUri}choice-fields`, choiceField);
37
+ }
38
+ delete(id) {
39
+ return this.http.delete(`${this.valtimoApiConfig.endpointUri}choice-fields/${id}`);
40
+ }
41
+ update(choiceField) {
42
+ return this.http.put(`${this.valtimoApiConfig.endpointUri}choice-fields`, choiceField);
43
+ }
44
+ queryValues(keyName, params) {
45
+ return this.http.get(`${this.valtimoApiConfig.endpointUri}choice-field-values/${keyName}/values`, { observe: 'response', params });
46
+ }
47
+ getValue(choiceFieldId) {
48
+ return this.http.get(`${this.valtimoApiConfig.endpointUri}choice-field-values/${choiceFieldId}`);
49
+ }
50
+ updateValue(choiceFieldValue, choiceFieldName) {
51
+ return this.http.put(`${this.valtimoApiConfig.endpointUri}choice-field-values`, choiceFieldValue, {
52
+ params: { choice_field_name: choiceFieldName },
53
+ });
54
+ }
55
+ createValue(choiceFieldValue, choiceFieldName) {
56
+ return this.http.post(`${this.valtimoApiConfig.endpointUri}choice-field-values`, choiceFieldValue, { params: { choice_field_name: choiceFieldName } });
57
+ }
58
+ }
59
+ ChoiceFieldService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChoiceFieldService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
60
+ ChoiceFieldService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChoiceFieldService, providedIn: 'root' });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ChoiceFieldService, decorators: [{
62
+ type: Injectable,
63
+ args: [{
64
+ providedIn: 'root',
65
+ }]
66
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvaWNlLWZpZWxkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Nob2ljZS1maWVsZC9zcmMvbGliL2Nob2ljZS1maWVsZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQVN6QyxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLFlBQW9CLElBQWdCLEVBQVUsYUFBNEI7UUFBdEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ3hFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUMxRCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBYyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLGVBQWUsRUFBRTtZQUNyRixPQUFPLEVBQUUsVUFBVTtZQUNuQixNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEdBQUcsQ0FBQyxFQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBYyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQU87UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsZUFBZSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBZSxFQUFFLE1BQVk7UUFDdkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyx1QkFBdUIsT0FBTyxTQUFTLEVBQzNFLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUMsQ0FDOUIsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRLENBQUMsYUFBcUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyx1QkFBdUIsYUFBYSxFQUFFLENBQzNFLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLGdCQUFxQixFQUFFLGVBQXVCO1FBQ3hELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcscUJBQXFCLEVBQ3pELGdCQUFnQixFQUNoQjtZQUNFLE1BQU0sRUFBRSxFQUFDLGlCQUFpQixFQUFFLGVBQWUsRUFBQztTQUM3QyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLGdCQUFxQixFQUFFLGVBQXVCO1FBQ3hELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcscUJBQXFCLEVBQ3pELGdCQUFnQixFQUNoQixFQUFDLE1BQU0sRUFBRSxFQUFDLGlCQUFpQixFQUFFLGVBQWUsRUFBQyxFQUFDLENBQy9DLENBQUM7SUFDSixDQUFDOzsrR0EzRFUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q2hvaWNlRmllbGR9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENob2ljZUZpZWxkU2VydmljZSB7XG4gIHByaXZhdGUgdmFsdGltb0FwaUNvbmZpZzogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlKSB7XG4gICAgdGhpcy52YWx0aW1vQXBpQ29uZmlnID0gY29uZmlnU2VydmljZS5jb25maWcudmFsdGltb0FwaTtcbiAgfVxuXG4gIHF1ZXJ5KHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q2hvaWNlRmllbGQ+KGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1jaG9pY2UtZmllbGRzYCwge1xuICAgICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyxcbiAgICAgIHBhcmFtcyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxDaG9pY2VGaWVsZD4oYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfWNob2ljZS1maWVsZHMvJHtpZH1gKTtcbiAgfVxuXG4gIGNyZWF0ZShjaG9pY2VGaWVsZDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfWNob2ljZS1maWVsZHNgLCBjaG9pY2VGaWVsZCk7XG4gIH1cblxuICBkZWxldGUoaWQ6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1jaG9pY2UtZmllbGRzLyR7aWR9YCk7XG4gIH1cblxuICB1cGRhdGUoY2hvaWNlRmllbGQ6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfWNob2ljZS1maWVsZHNgLCBjaG9pY2VGaWVsZCk7XG4gIH1cblxuICBxdWVyeVZhbHVlcyhrZXlOYW1lOiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q2hvaWNlRmllbGQ+KFxuICAgICAgYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfWNob2ljZS1maWVsZC12YWx1ZXMvJHtrZXlOYW1lfS92YWx1ZXNgLFxuICAgICAge29ic2VydmU6ICdyZXNwb25zZScsIHBhcmFtc31cbiAgICApO1xuICB9XG5cbiAgZ2V0VmFsdWUoY2hvaWNlRmllbGRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxDaG9pY2VGaWVsZD4oXG4gICAgICBgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9Y2hvaWNlLWZpZWxkLXZhbHVlcy8ke2Nob2ljZUZpZWxkSWR9YFxuICAgICk7XG4gIH1cblxuICB1cGRhdGVWYWx1ZShjaG9pY2VGaWVsZFZhbHVlOiBhbnksIGNob2ljZUZpZWxkTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChcbiAgICAgIGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1jaG9pY2UtZmllbGQtdmFsdWVzYCxcbiAgICAgIGNob2ljZUZpZWxkVmFsdWUsXG4gICAgICB7XG4gICAgICAgIHBhcmFtczoge2Nob2ljZV9maWVsZF9uYW1lOiBjaG9pY2VGaWVsZE5hbWV9LFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBjcmVhdGVWYWx1ZShjaG9pY2VGaWVsZFZhbHVlOiBhbnksIGNob2ljZUZpZWxkTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXG4gICAgICBgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9Y2hvaWNlLWZpZWxkLXZhbHVlc2AsXG4gICAgICBjaG9pY2VGaWVsZFZhbHVlLFxuICAgICAge3BhcmFtczoge2Nob2ljZV9maWVsZF9uYW1lOiBjaG9pY2VGaWVsZE5hbWV9fVxuICAgICk7XG4gIH1cbn1cbiJdfQ==