radio-selection-input 15.0.4 → 15.0.5

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.
@@ -1,10 +0,0 @@
1
- export class SelectionBasic {
2
- constructor(id = 0, value = '') {
3
- this.id = id;
4
- this.value = value;
5
- }
6
- static adapt(item) {
7
- return new SelectionBasic(item?.id, (item?.value) ? item.value : item);
8
- }
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWJhc2ljLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmFkaW8tc2VsZWN0aW9uLWlucHV0L3NyYy9saWIvbW9kZWxzL3NlbGVjdGlvbi1iYXNpYy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQU8sY0FBYztJQUV6QixZQUNTLEtBQUssQ0FBQyxFQUNOLFFBQVEsRUFBRTtRQURWLE9BQUUsR0FBRixFQUFFLENBQUk7UUFDTixVQUFLLEdBQUwsS0FBSyxDQUFLO0lBQ2hCLENBQUM7SUFFSixNQUFNLENBQUMsS0FBSyxDQUFDLElBQVU7UUFFckIsT0FBTyxJQUFJLGNBQWMsQ0FDdkIsSUFBSSxFQUFFLEVBQUUsRUFDUixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNsQyxDQUFDO0lBQ0osQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTZWxlY3Rpb25CYXNpY0ludGVyZmFjZSB7XG4gIGlkOiBudW1iZXJ8c3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uQmFzaWMgaW1wbGVtZW50cyBTZWxlY3Rpb25CYXNpY0ludGVyZmFjZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGlkID0gMCxcbiAgICBwdWJsaWMgdmFsdWUgPSAnJyxcbiAgKSB7fVxuXG4gIHN0YXRpYyBhZGFwdChpdGVtPzogYW55KSB7XG5cbiAgICByZXR1cm4gbmV3IFNlbGVjdGlvbkJhc2ljKFxuICAgICAgaXRlbT8uaWQsXG4gICAgICAoaXRlbT8udmFsdWUpID8gaXRlbS52YWx1ZSA6IGl0ZW0sXG4gICAgKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,12 +0,0 @@
1
- export class SelectionItem {
2
- constructor(id = crypto.randomUUID(), value = '', disabled, selected) {
3
- this.id = id;
4
- this.value = value;
5
- this.disabled = disabled;
6
- this.selected = selected;
7
- }
8
- static adapt(item) {
9
- return new SelectionItem(item?.id, (item?.value) ? item.value : item, (item?.disabled) ? true : false, (item?.selected) ? true : false);
10
- }
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWl0ZW0ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yYWRpby1zZWxlY3Rpb24taW5wdXQvc3JjL2xpYi9tb2RlbHMvc2VsZWN0aW9uLWl0ZW0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFDUyxLQUFLLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFDeEIsUUFBUSxFQUFFLEVBQ1YsUUFBa0IsRUFDbEIsUUFBa0I7UUFIbEIsT0FBRSxHQUFGLEVBQUUsQ0FBc0I7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBSztRQUNWLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUN4QixDQUFDO0lBRUosTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFVO1FBRXJCLE9BQU8sSUFBSSxhQUFhLENBQ3RCLElBQUksRUFBRSxFQUFFLEVBQ1IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFDakMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUMvQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQ2hDLENBQUM7SUFDSixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNlbGVjdGlvbkl0ZW1JbnRlcmZhY2Uge1xuICBpZDogbnVtYmVyfHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBzZWxlY3RlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25JdGVtIGltcGxlbWVudHMgU2VsZWN0aW9uSXRlbUludGVyZmFjZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGlkID0gY3J5cHRvLnJhbmRvbVVVSUQoKSxcbiAgICBwdWJsaWMgdmFsdWUgPSAnJyxcbiAgICBwdWJsaWMgZGlzYWJsZWQ/OiBib29sZWFuLFxuICAgIHB1YmxpYyBzZWxlY3RlZD86IGJvb2xlYW4sXG4gICkge31cblxuICBzdGF0aWMgYWRhcHQoaXRlbT86IGFueSkge1xuXG4gICAgcmV0dXJuIG5ldyBTZWxlY3Rpb25JdGVtKFxuICAgICAgaXRlbT8uaWQsXG4gICAgICAoaXRlbT8udmFsdWUpID8gaXRlbS52YWx1ZSA6IGl0ZW0sXG4gICAgICAoaXRlbT8uZGlzYWJsZWQpID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgKGl0ZW0/LnNlbGVjdGVkKSA/IHRydWUgOiBmYWxzZSxcbiAgICApO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,17 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class RemoveUnderscorePipe {
4
- transform(value) {
5
- return value ? value.replace(/_/g, " ") : value;
6
- }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RemoveUnderscorePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: RemoveUnderscorePipe, isStandalone: true, name: "removeUnderscore" }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RemoveUnderscorePipe, decorators: [{
11
- type: Pipe,
12
- args: [{
13
- name: 'removeUnderscore',
14
- standalone: true
15
- }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXVuZGVyc2NvcmUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JhZGlvLXNlbGVjdGlvbi1pbnB1dC9zcmMvbGliL3BpcGVzL3JlbW92ZS11bmRlcnNjb3JlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsU0FBUyxDQUFDLEtBQWE7UUFDckIsT0FBTyxLQUFLLENBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDakQsQ0FBQzsrR0FIVSxvQkFBb0I7NkdBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFKaEMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsa0JBQWtCO29CQUN4QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3JlbW92ZVVuZGVyc2NvcmUnLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFJlbW92ZVVuZGVyc2NvcmVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWU/IHZhbHVlLnJlcGxhY2UoL18vZywgXCIgXCIpIDogdmFsdWU7XG4gIH1cbn1cbiJdfQ==
@@ -1,75 +0,0 @@
1
- import { Component, inject } from '@angular/core';
2
- import { FormBuilder, Validators } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/forms";
6
- import * as i3 from "@angular/material/button";
7
- import * as i4 from "@angular/material/form-field";
8
- import * as i5 from "@angular/material/slide-toggle";
9
- import * as i6 from "@angular/material/divider";
10
- import * as i7 from "@angular/material/button-toggle";
11
- import * as i8 from "../radio-selection-input/radio-selection-input.component";
12
- export class RadioDemoComponent {
13
- constructor() {
14
- this.fb = inject(FormBuilder);
15
- this.data_1 = [
16
- { id: 11, value: 'Telus' },
17
- { id: 12, value: 'AT&T', disabled: true },
18
- { id: 14, value: 'Bell', selected: true },
19
- { id: 63, value: 'Rogers' }
20
- ];
21
- this.data_2 = ['Telus', 'AT&T', 'Bell', 'Rogers'];
22
- this.data = this.data_2;
23
- this.selectionControl_1 = this.fb.control(null);
24
- this.selectionControl_2 = this.fb.control(null, Validators.required);
25
- this.changeDetection_1 = this.fb.control(null);
26
- this.changeDetection_2 = this.fb.control(null);
27
- }
28
- ngOnInit() {
29
- this.selectionControl_1.valueChanges.subscribe(data => {
30
- if (this.changeDetection_1.value)
31
- console.log('CHANGE:', data);
32
- });
33
- this.selectionControl_2.valueChanges.subscribe(data => {
34
- console.log('VALID:', this.selectionControl_2.valid);
35
- if (this.changeDetection_2.value)
36
- console.log('CHANGE:', data);
37
- });
38
- }
39
- // DISABLE
40
- onDisabled_1(disable) {
41
- if (disable) {
42
- this.selectionControl_1.disable();
43
- }
44
- else {
45
- this.selectionControl_1.enable();
46
- }
47
- }
48
- onDisabled_2(disable) {
49
- if (disable) {
50
- this.selectionControl_2.disable();
51
- }
52
- else {
53
- this.selectionControl_2.enable();
54
- }
55
- }
56
- onPerformPatch() {
57
- this.selectionControl_1.patchValue(['Bell']);
58
- this.selectionControl_2.patchValue(['Rogers']);
59
- }
60
- onChangeDataType(type) {
61
- if (type === 'strings') {
62
- this.data = this.data_2;
63
- }
64
- else {
65
- this.data = this.data_1;
66
- }
67
- }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RadioDemoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RadioDemoComponent, selector: "app-radio-selection-demo", ngImport: i0, template: "<div style=\"display: flex;\">\n <h1>Radio FormControl</h1>\n <div style=\"flex:1; text-align: right;\">\n <div style=\"display: flex; gap: 2rem; flex-direction: row-reverse;\">\n <mat-button-toggle (click)=\"onPerformPatch()\">Patch</mat-button-toggle>\n <mat-button-toggle-group #varTypes=\"matButtonToggleGroup\" (change)=\"onChangeDataType(varTypes.value)\">\n <mat-button-toggle value=\"strings\" checked=\"true\">Strings</mat-button-toggle>\n <mat-button-toggle value=\"objects\" checked=\"false\">Objects</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </div>\n</div>\n\n<h3>No Data - Projection of Error</h3>\n<app-radio-selection-input error=\"No Data Provided\">\n <h3 style=\"color: red; margin-top: 0; margin-bottom: 0;\">No Data</h3>\n</app-radio-selection-input>\n\n<div style=\"margin-top: .5rem; margin-bottom: 1rem;\">\n <mat-divider></mat-divider>\n</div>\n\n<div>\n <h3 style=\"margin-bottom: 0;\">Radio Selection - {{ varTypes.value | uppercase }}</h3>\n\n <div style=\"display: flex;\">\n <span style=\"flex:1\"></span>\n <button mat-button (click)=\"selectionControl_1.reset()\">Reset</button>\n </div>\n <app-radio-selection-input\n [data]=\"data\"\n [formControl]=\"selectionControl_1\"\n ></app-radio-selection-input>\n <div style=\"display: flex; gap: 2rem; margin-top: 2rem;\">\n <mat-slide-toggle [formControl]=\"changeDetection_1\">Change Detection</mat-slide-toggle>\n <mat-slide-toggle #disable1 (change)=\"onDisabled_1(disable1.checked)\">Disable</mat-slide-toggle>\n <span style=\"flex:1\"></span>\n </div>\n <div style=\"margin-top: 2rem;\">\n No label or placeholder<br>\n No Validation Required<br>\n Valid {{ selectionControl_1.valid }}<br>\n </div>\n <div style=\"margin-top: .5rem; margin-bottom: 1rem;\">\n <mat-divider></mat-divider>\n </div>\n</div>\n\n<div>\n <div style=\"display: flex;\">\n <span style=\"flex:1\"></span>\n <button mat-button (click)=\"selectionControl_2.reset()\">Reset</button>\n </div>\n <app-radio-selection-input\n [data]=\"data\"\n [formControl]=\"selectionControl_2\"\n label=\"Providers\"\n placeholder=\"Placeholder Text\"\n ></app-radio-selection-input>\n <div *ngIf=\"error2.checked\">\n <mat-error *ngIf=\"selectionControl_2.hasError('required')\">This field is Required</mat-error>\n </div>\n <div style=\"display: flex; gap: 2rem; margin-top: 2rem;\">\n <mat-slide-toggle [formControl]=\"changeDetection_2\">Change Detection</mat-slide-toggle>\n <mat-slide-toggle #error2>Display Error</mat-slide-toggle>\n <mat-slide-toggle #disable2 (change)=\"onDisabled_2(disable2.checked)\">Disable</mat-slide-toggle>\n <span style=\"flex:1\"></span>\n </div>\n <div style=\"margin-top: 2rem;\">\n Label<br>\n Validation Required<br>\n Valid {{ selectionControl_2.valid }}<br>\n </div>\n <div style=\"margin-top: .5rem; margin-bottom: 1rem;\">\n <mat-divider></mat-divider>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i5.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i7.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i7.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i8.RadioSelectionInputComponent, selector: "app-radio-selection-input", inputs: ["label", "placeholder", "data"], outputs: ["selectionChange"] }, { kind: "pipe", type: i1.UpperCasePipe, name: "uppercase" }] }); }
70
- }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RadioDemoComponent, decorators: [{
72
- type: Component,
73
- args: [{ selector: 'app-radio-selection-demo', template: "<div style=\"display: flex;\">\n <h1>Radio FormControl</h1>\n <div style=\"flex:1; text-align: right;\">\n <div style=\"display: flex; gap: 2rem; flex-direction: row-reverse;\">\n <mat-button-toggle (click)=\"onPerformPatch()\">Patch</mat-button-toggle>\n <mat-button-toggle-group #varTypes=\"matButtonToggleGroup\" (change)=\"onChangeDataType(varTypes.value)\">\n <mat-button-toggle value=\"strings\" checked=\"true\">Strings</mat-button-toggle>\n <mat-button-toggle value=\"objects\" checked=\"false\">Objects</mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </div>\n</div>\n\n<h3>No Data - Projection of Error</h3>\n<app-radio-selection-input error=\"No Data Provided\">\n <h3 style=\"color: red; margin-top: 0; margin-bottom: 0;\">No Data</h3>\n</app-radio-selection-input>\n\n<div style=\"margin-top: .5rem; margin-bottom: 1rem;\">\n <mat-divider></mat-divider>\n</div>\n\n<div>\n <h3 style=\"margin-bottom: 0;\">Radio Selection - {{ varTypes.value | uppercase }}</h3>\n\n <div style=\"display: flex;\">\n <span style=\"flex:1\"></span>\n <button mat-button (click)=\"selectionControl_1.reset()\">Reset</button>\n </div>\n <app-radio-selection-input\n [data]=\"data\"\n [formControl]=\"selectionControl_1\"\n ></app-radio-selection-input>\n <div style=\"display: flex; gap: 2rem; margin-top: 2rem;\">\n <mat-slide-toggle [formControl]=\"changeDetection_1\">Change Detection</mat-slide-toggle>\n <mat-slide-toggle #disable1 (change)=\"onDisabled_1(disable1.checked)\">Disable</mat-slide-toggle>\n <span style=\"flex:1\"></span>\n </div>\n <div style=\"margin-top: 2rem;\">\n No label or placeholder<br>\n No Validation Required<br>\n Valid {{ selectionControl_1.valid }}<br>\n </div>\n <div style=\"margin-top: .5rem; margin-bottom: 1rem;\">\n <mat-divider></mat-divider>\n </div>\n</div>\n\n<div>\n <div style=\"display: flex;\">\n <span style=\"flex:1\"></span>\n <button mat-button (click)=\"selectionControl_2.reset()\">Reset</button>\n </div>\n <app-radio-selection-input\n [data]=\"data\"\n [formControl]=\"selectionControl_2\"\n label=\"Providers\"\n placeholder=\"Placeholder Text\"\n ></app-radio-selection-input>\n <div *ngIf=\"error2.checked\">\n <mat-error *ngIf=\"selectionControl_2.hasError('required')\">This field is Required</mat-error>\n </div>\n <div style=\"display: flex; gap: 2rem; margin-top: 2rem;\">\n <mat-slide-toggle [formControl]=\"changeDetection_2\">Change Detection</mat-slide-toggle>\n <mat-slide-toggle #error2>Display Error</mat-slide-toggle>\n <mat-slide-toggle #disable2 (change)=\"onDisabled_2(disable2.checked)\">Disable</mat-slide-toggle>\n <span style=\"flex:1\"></span>\n </div>\n <div style=\"margin-top: 2rem;\">\n Label<br>\n Validation Required<br>\n Valid {{ selectionControl_2.valid }}<br>\n </div>\n <div style=\"margin-top: .5rem; margin-bottom: 1rem;\">\n <mat-divider></mat-divider>\n </div>\n</div>\n" }]
74
- }], ctorParameters: function () { return []; } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZGVtby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yYWRpby1zZWxlY3Rpb24taW5wdXQvc3JjL2xpYi9yYWRpby1kZW1vL3JhZGlvLWRlbW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmFkaW8tc2VsZWN0aW9uLWlucHV0L3NyYy9saWIvcmFkaW8tZGVtby9yYWRpby1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFPekQsTUFBTSxPQUFPLGtCQUFrQjtJQXFCN0I7UUFuQkEsT0FBRSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUV4QixXQUFNLEdBQUc7WUFDUCxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtZQUMxQixFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQ3pDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUM7WUFDeEMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7U0FDM0IsQ0FBQTtRQUVELFdBQU0sR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBRTVDLFNBQUksR0FBUSxJQUFJLENBQUMsTUFBTSxDQUFBO1FBRXhCLHVCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFhLElBQUksQ0FBQyxDQUFBO1FBQ3RELHVCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFhLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFM0Usc0JBQWlCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQWEsSUFBSSxDQUFDLENBQUE7UUFDckQsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQWEsSUFBSSxDQUFDLENBQUE7SUFFckMsQ0FBQztJQUVqQixRQUFRO1FBRU4sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEQsSUFBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSztnQkFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBQyxJQUFJLENBQUMsQ0FBQTtRQUM5RCxDQUFDLENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BELE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNwRCxJQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLO2dCQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFDLElBQUksQ0FBQyxDQUFBO1FBQzlELENBQUMsQ0FBQyxDQUFBO0lBRUosQ0FBQztJQUVELFVBQVU7SUFDVixZQUFZLENBQUMsT0FBZ0I7UUFFM0IsSUFBRyxPQUFPLEVBQUU7WUFDVixJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUE7U0FDbEM7YUFBTTtZQUNMLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtTQUNqQztJQUVILENBQUM7SUFFRCxZQUFZLENBQUMsT0FBZ0I7UUFFM0IsSUFBRyxPQUFPLEVBQUU7WUFDVixJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUE7U0FDbEM7YUFBTTtZQUNMLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtTQUNqQztJQUVILENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDNUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7SUFDaEQsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVk7UUFDM0IsSUFBRyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQTtTQUN4QjthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1NBQ3hCO0lBQ0gsQ0FBQzsrR0FwRVUsa0JBQWtCO21HQUFsQixrQkFBa0IsZ0VDUi9CLG04RkE2RUE7OzRGRHJFYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yYWRpby1zZWxlY3Rpb24tZGVtbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWRpby1kZW1vLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmFkaW8tZGVtby5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvRGVtb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpXG5cbiAgZGF0YV8xID0gW1xuICAgIHsgaWQ6IDExLCB2YWx1ZTogJ1RlbHVzJyB9LFxuICAgIHsgaWQ6IDEyLCB2YWx1ZTogJ0FUJlQnLCBkaXNhYmxlZDogdHJ1ZSB9LFxuICAgIHsgaWQ6IDE0LCB2YWx1ZTogJ0JlbGwnLCBzZWxlY3RlZDogdHJ1ZX0sXG4gICAgeyBpZDogNjMsIHZhbHVlOiAnUm9nZXJzJyB9XG4gICBdXG5cbiAgIGRhdGFfMiA9IFsnVGVsdXMnLCAnQVQmVCcsICdCZWxsJywgJ1JvZ2VycyddXG5cbiAgIGRhdGE6IGFueSA9IHRoaXMuZGF0YV8yXG5cbiAgc2VsZWN0aW9uQ29udHJvbF8xID0gdGhpcy5mYi5jb250cm9sPGFueVtdfG51bGw+KG51bGwpXG4gIHNlbGVjdGlvbkNvbnRyb2xfMiA9IHRoaXMuZmIuY29udHJvbDxhbnlbXXxudWxsPihudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuXG4gIGNoYW5nZURldGVjdGlvbl8xID0gdGhpcy5mYi5jb250cm9sPGFueVtdfG51bGw+KG51bGwpXG4gIGNoYW5nZURldGVjdGlvbl8yID0gdGhpcy5mYi5jb250cm9sPGFueVtdfG51bGw+KG51bGwpXG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcblxuICAgIHRoaXMuc2VsZWN0aW9uQ29udHJvbF8xLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICBpZih0aGlzLmNoYW5nZURldGVjdGlvbl8xLnZhbHVlKSBjb25zb2xlLmxvZygnQ0hBTkdFOicsZGF0YSlcbiAgICB9KVxuXG4gICAgdGhpcy5zZWxlY3Rpb25Db250cm9sXzIudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdWQUxJRDonLCB0aGlzLnNlbGVjdGlvbkNvbnRyb2xfMi52YWxpZClcbiAgICAgIGlmKHRoaXMuY2hhbmdlRGV0ZWN0aW9uXzIudmFsdWUpIGNvbnNvbGUubG9nKCdDSEFOR0U6JyxkYXRhKVxuICAgIH0pXG5cbiAgfVxuXG4gIC8vIERJU0FCTEVcbiAgb25EaXNhYmxlZF8xKGRpc2FibGU6IGJvb2xlYW4pIHtcblxuICAgIGlmKGRpc2FibGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ29udHJvbF8xLmRpc2FibGUoKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGlvbkNvbnRyb2xfMS5lbmFibGUoKVxuICAgIH1cblxuICB9XG5cbiAgb25EaXNhYmxlZF8yKGRpc2FibGU6IGJvb2xlYW4pIHtcblxuICAgIGlmKGRpc2FibGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ29udHJvbF8yLmRpc2FibGUoKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGlvbkNvbnRyb2xfMi5lbmFibGUoKVxuICAgIH1cblxuICB9XG5cbiAgb25QZXJmb3JtUGF0Y2goKSB7XG4gICAgdGhpcy5zZWxlY3Rpb25Db250cm9sXzEucGF0Y2hWYWx1ZShbJ0JlbGwnXSlcbiAgICB0aGlzLnNlbGVjdGlvbkNvbnRyb2xfMi5wYXRjaFZhbHVlKFsnUm9nZXJzJ10pXG4gIH1cblxuICBvbkNoYW5nZURhdGFUeXBlKHR5cGU6IHN0cmluZykge1xuICAgIGlmKHR5cGUgPT09ICdzdHJpbmdzJykge1xuICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhXzJcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhXzFcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XG4gIDxoMT5SYWRpbyBGb3JtQ29udHJvbDwvaDE+XG4gIDxkaXYgc3R5bGU9XCJmbGV4OjE7IHRleHQtYWxpZ246IHJpZ2h0O1wiPlxuICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IDJyZW07IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcIj5cbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSAoY2xpY2spPVwib25QZXJmb3JtUGF0Y2goKVwiPlBhdGNoPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCAjdmFyVHlwZXM9XCJtYXRCdXR0b25Ub2dnbGVHcm91cFwiIChjaGFuZ2UpPVwib25DaGFuZ2VEYXRhVHlwZSh2YXJUeXBlcy52YWx1ZSlcIj5cbiAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwic3RyaW5nc1wiIGNoZWNrZWQ9XCJ0cnVlXCI+U3RyaW5nczwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cIm9iamVjdHNcIiBjaGVja2VkPVwiZmFsc2VcIj5PYmplY3RzPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxoMz5ObyBEYXRhIC0gUHJvamVjdGlvbiBvZiBFcnJvcjwvaDM+XG48YXBwLXJhZGlvLXNlbGVjdGlvbi1pbnB1dCBlcnJvcj1cIk5vIERhdGEgUHJvdmlkZWRcIj5cbiAgPGgzIHN0eWxlPVwiY29sb3I6IHJlZDsgbWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMDtcIj5ObyBEYXRhPC9oMz5cbjwvYXBwLXJhZGlvLXNlbGVjdGlvbi1pbnB1dD5cblxuPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IC41cmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtO1wiPlxuICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbjwvZGl2PlxuXG48ZGl2PlxuICA8aDMgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAwO1wiPlJhZGlvIFNlbGVjdGlvbiAtIHt7IHZhclR5cGVzLnZhbHVlIHwgdXBwZXJjYXNlIH19PC9oMz5cblxuICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICA8c3BhbiBzdHlsZT1cImZsZXg6MVwiPjwvc3Bhbj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInNlbGVjdGlvbkNvbnRyb2xfMS5yZXNldCgpXCI+UmVzZXQ8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxhcHAtcmFkaW8tc2VsZWN0aW9uLWlucHV0XG4gICAgW2RhdGFdPVwiZGF0YVwiXG4gICAgW2Zvcm1Db250cm9sXT1cInNlbGVjdGlvbkNvbnRyb2xfMVwiXG4gID48L2FwcC1yYWRpby1zZWxlY3Rpb24taW5wdXQ+XG4gIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IDJyZW07IG1hcmdpbi10b3A6IDJyZW07XCI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgW2Zvcm1Db250cm9sXT1cImNoYW5nZURldGVjdGlvbl8xXCI+Q2hhbmdlIERldGVjdGlvbjwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8bWF0LXNsaWRlLXRvZ2dsZSAjZGlzYWJsZTEgKGNoYW5nZSk9XCJvbkRpc2FibGVkXzEoZGlzYWJsZTEuY2hlY2tlZClcIj5EaXNhYmxlPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgIDxzcGFuIHN0eWxlPVwiZmxleDoxXCI+PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDJyZW07XCI+XG4gICAgTm8gbGFiZWwgb3IgcGxhY2Vob2xkZXI8YnI+XG4gICAgTm8gVmFsaWRhdGlvbiBSZXF1aXJlZDxicj5cbiAgICBWYWxpZCB7eyBzZWxlY3Rpb25Db250cm9sXzEudmFsaWQgfX08YnI+XG4gIDwvZGl2PlxuICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDogLjVyZW07IG1hcmdpbi1ib3R0b206IDFyZW07XCI+XG4gICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXY+XG4gIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgIDxzcGFuIHN0eWxlPVwiZmxleDoxXCI+PC9zcGFuPlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwic2VsZWN0aW9uQ29udHJvbF8yLnJlc2V0KClcIj5SZXNldDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGFwcC1yYWRpby1zZWxlY3Rpb24taW5wdXRcbiAgICBbZGF0YV09XCJkYXRhXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwic2VsZWN0aW9uQ29udHJvbF8yXCJcbiAgICBsYWJlbD1cIlByb3ZpZGVyc1wiXG4gICAgcGxhY2Vob2xkZXI9XCJQbGFjZWhvbGRlciBUZXh0XCJcbiAgPjwvYXBwLXJhZGlvLXNlbGVjdGlvbi1pbnB1dD5cbiAgPGRpdiAqbmdJZj1cImVycm9yMi5jaGVja2VkXCI+XG4gICAgPG1hdC1lcnJvciAqbmdJZj1cInNlbGVjdGlvbkNvbnRyb2xfMi5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlRoaXMgZmllbGQgaXMgUmVxdWlyZWQ8L21hdC1lcnJvcj5cbiAgPC9kaXY+XG4gIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IDJyZW07IG1hcmdpbi10b3A6IDJyZW07XCI+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgW2Zvcm1Db250cm9sXT1cImNoYW5nZURldGVjdGlvbl8yXCI+Q2hhbmdlIERldGVjdGlvbjwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8bWF0LXNsaWRlLXRvZ2dsZSAjZXJyb3IyPkRpc3BsYXkgRXJyb3I8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgPG1hdC1zbGlkZS10b2dnbGUgI2Rpc2FibGUyIChjaGFuZ2UpPVwib25EaXNhYmxlZF8yKGRpc2FibGUyLmNoZWNrZWQpXCI+RGlzYWJsZTwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8c3BhbiBzdHlsZT1cImZsZXg6MVwiPjwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAycmVtO1wiPlxuICAgIExhYmVsPGJyPlxuICAgIFZhbGlkYXRpb24gUmVxdWlyZWQ8YnI+XG4gICAgVmFsaWQge3sgc2VsZWN0aW9uQ29udHJvbF8yLnZhbGlkIH19PGJyPlxuICA8L2Rpdj5cbiAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IC41cmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtO1wiPlxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,131 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, forwardRef, inject } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR, FormBuilder, NG_VALIDATORS, Validators } from '@angular/forms';
3
- import { Subscription } from 'rxjs';
4
- import { SelectionItem } from '../models/selection-item.model';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/forms";
8
- import * as i3 from "@angular/material/form-field";
9
- import * as i4 from "@angular/material/radio";
10
- export class RadioSelectionInputComponent {
11
- set data(value) {
12
- this.formInitialized = false;
13
- this.isObjects = this.hasObjects(value);
14
- this.raw = value;
15
- this._data = (value) ? value.map(item => SelectionItem.adapt(item)) : [];
16
- const selectedObjects = this.data.filter(item => item.selected).map(item => item.value);
17
- const selected = (selectedObjects.length === 0) ? null : this.findFirst(selectedObjects);
18
- this.selectionControl.patchValue(selected, { emitEvent: false });
19
- }
20
- get data() {
21
- return this._data;
22
- }
23
- constructor() {
24
- this.fb = inject(FormBuilder);
25
- this.subscriptions = new Subscription();
26
- this.selectionControl = this.fb.control(null, Validators.required);
27
- this.formInitialized = false;
28
- this.raw = [];
29
- this.isObjects = false;
30
- this._data = [];
31
- this.selectionChange = new EventEmitter();
32
- this.onChange = () => { };
33
- this.onTouch = () => { };
34
- this.isArray = (obj) => Array.isArray(obj);
35
- this.isObject = (obj) => typeof obj === 'object' && obj !== null && !Array.isArray(obj);
36
- this.hasObjects = (obj) => (this.isArray(obj) && obj.length > 0) ? this.isObject(obj[0]) : false;
37
- }
38
- ngOnInit() {
39
- this.subscriptions.add(this.selectionControl.valueChanges
40
- .subscribe((data) => {
41
- this.onChange(data);
42
- this.selectionChange.emit(data);
43
- }));
44
- }
45
- ngAfterViewInit() {
46
- this.formInitialized = true;
47
- }
48
- findFirst(obj) {
49
- const found = this.data.find(item => obj.includes(item.value));
50
- return (found) ? found.value : null;
51
- }
52
- writeValue(value) {
53
- const selected = Array.isArray(value) ? (value.length > 1) ? this.findFirst(value)[0] : [] : value;
54
- this.data.map((item) => item.selected = value && value.includes(item.value) ? true : false);
55
- if (selected !== null) {
56
- if (!value)
57
- return;
58
- this.selectionControl.patchValue(selected, { emitEvent: false });
59
- this.selectionControl.markAsDirty({ onlySelf: true });
60
- }
61
- if (this.formInitialized && !this.selectionControl.pristine) {
62
- if (value === null)
63
- this.selectionControl.reset();
64
- this.selectionControl.markAsDirty({ onlySelf: true });
65
- this.selectionControl.markAllAsTouched();
66
- }
67
- else if (this.formInitialized && this.selectionControl.pristine) {
68
- if (value === null)
69
- this.selectionControl.reset();
70
- }
71
- this.formInitialized = true;
72
- }
73
- validate(control) {
74
- const isRequired = control.hasValidator(Validators.required) ? true : false;
75
- if (!isRequired)
76
- this.selectionControl.clearValidators();
77
- const errors = (isRequired && !this.selectionControl.valid) ? { 'required': false } : null;
78
- return errors;
79
- }
80
- registerOnChange(fn) {
81
- this.onChange = fn;
82
- }
83
- registerOnTouched(fn) {
84
- this.onTouch = fn;
85
- }
86
- setDisabledState(isDisabled) {
87
- if (isDisabled) {
88
- this.selectionControl.disable();
89
- }
90
- else {
91
- this.selectionControl.enable();
92
- }
93
- }
94
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RadioSelectionInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
95
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RadioSelectionInputComponent, selector: "app-radio-selection-input", inputs: { label: "label", placeholder: "placeholder", data: "data" }, outputs: { selectionChange: "selectionChange" }, providers: [
96
- {
97
- provide: NG_VALUE_ACCESSOR,
98
- useExisting: forwardRef(() => RadioSelectionInputComponent),
99
- multi: true
100
- },
101
- {
102
- provide: NG_VALIDATORS,
103
- useExisting: forwardRef(() => RadioSelectionInputComponent),
104
- multi: true
105
- }
106
- ], ngImport: i0, template: "<div style=\"display: flex; flex-direction: column;\">\n <mat-label style=\"padding-left: 1rem; font-size: larger;\">\n {{ label }}\n </mat-label>\n <mat-label style=\"padding-left: 1rem; color: grey;\">\n {{ placeholder }}\n </mat-label>\n <ng-container *ngIf=\"data.length > 0; else NODATA\">\n <mat-radio-group [formControl]=\"selectionControl\" class=\"container\">\n <mat-radio-button\n class=\"item\"\n color=\"primary\"\n *ngFor=\"let option of data\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n >\n {{option.value}}\n </mat-radio-button>\n </mat-radio-group>\n </ng-container>\n <ng-template #NODATA>\n <div class=\"wrapper\">\n <ng-content></ng-content>\n </div>\n </ng-template>\n</div>\n", styles: [".container{display:grid;grid-template-columns:repeat(auto-fit,minmax(192px,1fr));grid-auto-rows:minmax(auto,auto)}.item{flex:1 1 calc(33.33% - 2rem);margin:.25rem;margin-bottom:0;box-sizing:border-box;padding:.25rem;white-space:nowrap}.wrapper:not(:empty)+.default{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i4.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }] }); }
107
- }
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RadioSelectionInputComponent, decorators: [{
109
- type: Component,
110
- args: [{ selector: 'app-radio-selection-input', providers: [
111
- {
112
- provide: NG_VALUE_ACCESSOR,
113
- useExisting: forwardRef(() => RadioSelectionInputComponent),
114
- multi: true
115
- },
116
- {
117
- provide: NG_VALIDATORS,
118
- useExisting: forwardRef(() => RadioSelectionInputComponent),
119
- multi: true
120
- }
121
- ], template: "<div style=\"display: flex; flex-direction: column;\">\n <mat-label style=\"padding-left: 1rem; font-size: larger;\">\n {{ label }}\n </mat-label>\n <mat-label style=\"padding-left: 1rem; color: grey;\">\n {{ placeholder }}\n </mat-label>\n <ng-container *ngIf=\"data.length > 0; else NODATA\">\n <mat-radio-group [formControl]=\"selectionControl\" class=\"container\">\n <mat-radio-button\n class=\"item\"\n color=\"primary\"\n *ngFor=\"let option of data\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n >\n {{option.value}}\n </mat-radio-button>\n </mat-radio-group>\n </ng-container>\n <ng-template #NODATA>\n <div class=\"wrapper\">\n <ng-content></ng-content>\n </div>\n </ng-template>\n</div>\n", styles: [".container{display:grid;grid-template-columns:repeat(auto-fit,minmax(192px,1fr));grid-auto-rows:minmax(auto,auto)}.item{flex:1 1 calc(33.33% - 2rem);margin:.25rem;margin-bottom:0;box-sizing:border-box;padding:.25rem;white-space:nowrap}.wrapper:not(:empty)+.default{display:none}\n"] }]
122
- }], ctorParameters: function () { return []; }, propDecorators: { label: [{
123
- type: Input
124
- }], placeholder: [{
125
- type: Input
126
- }], data: [{
127
- type: Input
128
- }], selectionChange: [{
129
- type: Output
130
- }] } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tc2VsZWN0aW9uLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JhZGlvLXNlbGVjdGlvbi1pbnB1dC9zcmMvbGliL3JhZGlvLXNlbGVjdGlvbi1pbnB1dC9yYWRpby1zZWxlY3Rpb24taW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmFkaW8tc2VsZWN0aW9uLWlucHV0L3NyYy9saWIvcmFkaW8tc2VsZWN0aW9uLWlucHV0L3JhZGlvLXNlbGVjdGlvbi1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBeUMsYUFBYSxFQUFvQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwSixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7O0FBbUIvRCxNQUFNLE9BQU8sNEJBQTRCO0lBZXZDLElBQWEsSUFBSSxDQUFDLEtBQVk7UUFFNUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUE7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3ZDLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFBO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFD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QUMsR0FBRyxFQUFFLENBQUMsNEJBQTRCLENBQUM7Z0JBQzNELEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztnQkFDM0QsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQ3BCSCxzeUJBMEJBOzs0RkRKYSw0QkFBNEI7a0JBakJ4QyxTQUFTOytCQUNFLDJCQUEyQixhQUcxQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw2QkFBNkIsQ0FBQzs0QkFDM0QsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDZCQUE2QixDQUFDOzRCQUMzRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjswRUFTUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFPTyxJQUFJO3NCQUFoQixLQUFLO2dCQWtCSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgZm9yd2FyZFJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgRm9ybUJ1aWxkZXIsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlbGVjdGlvbkl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvc2VsZWN0aW9uLWl0ZW0ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcmFkaW8tc2VsZWN0aW9uLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLXNlbGVjdGlvbi1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JhZGlvLXNlbGVjdGlvbi1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhZGlvU2VsZWN0aW9uSW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYWRpb1NlbGVjdGlvbklucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvU2VsZWN0aW9uSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICBmYiA9IGluamVjdCggRm9ybUJ1aWxkZXIpXG4gIHN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKClcblxuICBzZWxlY3Rpb25Db250cm9sID0gdGhpcy5mYi5jb250cm9sPHN0cmluZ3xudWxsPihudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyPzogc3RyaW5nXG5cbiAgZm9ybUluaXRpYWxpemVkID0gZmFsc2VcbiAgcmF3OiBhbnlbXSA9IFtdXG4gIGlzT2JqZWN0cyA9IGZhbHNlXG5cbiAgcHJpdmF0ZSBfZGF0YTogKGFueXxzdHJpbmcpW10gPSBbXVxuICBASW5wdXQoKSBzZXQgZGF0YSh2YWx1ZTogYW55W10pIHtcblxuICAgIHRoaXMuZm9ybUluaXRpYWxpemVkID0gZmFsc2VcbiAgICB0aGlzLmlzT2JqZWN0cyA9IHRoaXMuaGFzT2JqZWN0cyh2YWx1ZSlcbiAgICB0aGlzLnJhdyA9IHZhbHVlXG4gICAgdGhpcy5fZGF0YSA9ICh2YWx1ZSkgPyB2YWx1ZS5tYXAoaXRlbSA9PiBTZWxlY3Rpb25JdGVtLmFkYXB0KGl0ZW0pKSA6IFtdXG5cbiAgICBjb25zdCBzZWxlY3RlZE9iamVjdHMgPSB0aGlzLmRhdGEuZmlsdGVyKGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCkubWFwKGl0ZW0gPT4gaXRlbS52YWx1ZSlcbiAgICBjb25zdCBzZWxlY3RlZCA9IChzZWxlY3RlZE9iamVjdHMubGVuZ3RoID09PSAwKSA/IG51bGwgOiB0aGlzLmZpbmRGaXJzdChzZWxlY3RlZE9iamVjdHMpXG5cbiAgICB0aGlzLnNlbGVjdGlvbkNvbnRyb2wucGF0Y2hWYWx1ZShzZWxlY3RlZCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pXG5cbiAgfVxuXG4gIGdldCBkYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhXG4gIH1cblxuICBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9XG4gIG9uVG91Y2g6IGFueSA9ICgpID0+IHt9XG5cbiAgaXNBcnJheSA9IChvYmo6IGFueSkgPT4gQXJyYXkuaXNBcnJheShvYmopXG4gIGlzT2JqZWN0ID0gKG9iajogYW55KSA9PiB0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyAmJiBvYmogIT09IG51bGwgJiYgIUFycmF5LmlzQXJyYXkob2JqKVxuICBoYXNPYmplY3RzID0gKG9iajogYW55KSA9PiAodGhpcy5pc0FycmF5KG9iaikgJiYgb2JqLmxlbmd0aCA+IDApID8gdGhpcy5pc09iamVjdChvYmpbMF0pIDogZmFsc2VcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IHN0cmluZ3xudWxsKSA9PiB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoZGF0YSlcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChkYXRhKVxuICAgICAgfSlcbiAgICApXG5cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Jbml0aWFsaXplZCA9IHRydWVcbiAgfVxuXG4gIGZpbmRGaXJzdChvYmo6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgZm91bmQgPSB0aGlzLmRhdGEuZmluZChpdGVtID0+IG9iai5pbmNsdWRlcyhpdGVtLnZhbHVlKSlcbiAgICByZXR1cm4gKGZvdW5kKSA/IGZvdW5kLnZhbHVlIDogbnVsbFxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsKSB7XG5cbiAgICBjb25zdCBzZWxlY3RlZDogc3RyaW5nID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyAodmFsdWUubGVuZ3RoID4gMSkgPyB0aGlzLmZpbmRGaXJzdCh2YWx1ZSlbMF0gOiBbXSA6IHZhbHVlXG5cbiAgICB0aGlzLmRhdGEubWFwKChpdGVtKSA9PiBpdGVtLnNlbGVjdGVkID0gdmFsdWUgJiYgdmFsdWUuaW5jbHVkZXMoaXRlbS52YWx1ZSkgPyB0cnVlIDogZmFsc2UpO1xuXG4gICAgaWYgKHNlbGVjdGVkICE9PSBudWxsKSB7XG4gICAgICAgIGlmICghdmFsdWUpIHJldHVyblxuICAgICAgICB0aGlzLnNlbGVjdGlvbkNvbnRyb2wucGF0Y2hWYWx1ZShzZWxlY3RlZCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uQ29udHJvbC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZm9ybUluaXRpYWxpemVkICYmICF0aGlzLnNlbGVjdGlvbkNvbnRyb2wucHJpc3RpbmUpIHtcbiAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgdGhpcy5zZWxlY3Rpb25Db250cm9sLnJlc2V0KCk7XG4gICAgICB0aGlzLnNlbGVjdGlvbkNvbnRyb2wubWFya0FzRGlydHkoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ29udHJvbC5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmZvcm1Jbml0aWFsaXplZCAmJiB0aGlzLnNlbGVjdGlvbkNvbnRyb2wucHJpc3RpbmUpIHtcbiAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgdGhpcy5zZWxlY3Rpb25Db250cm9sLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtSW5pdGlhbGl6ZWQgPSB0cnVlXG4gIH1cblxuXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcblxuICAgIGNvbnN0IGlzUmVxdWlyZWQgPSBjb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKSA/IHRydWUgOiBmYWxzZVxuXG4gICAgaWYoIWlzUmVxdWlyZWQpIHRoaXMuc2VsZWN0aW9uQ29udHJvbC5jbGVhclZhbGlkYXRvcnMoKVxuICAgIGNvbnN0IGVycm9ycyA9IChpc1JlcXVpcmVkICYmICF0aGlzLnNlbGVjdGlvbkNvbnRyb2wudmFsaWQpID8geyAncmVxdWlyZWQnOiBmYWxzZSB9IDogbnVsbFxuXG4gICAgcmV0dXJuIGVycm9yc1xuXG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpe1xuICAgIHRoaXMub25DaGFuZ2UgPSBmblxuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSl7XG4gICAgdGhpcy5vblRvdWNoID0gZm5cbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcblxuICAgIGlmKGlzRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ29udHJvbC5kaXNhYmxlKClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3Rpb25Db250cm9sLmVuYWJsZSgpXG4gICAgfVxuXG4gIH1cblxufVxuXG4iLCI8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcIj5cbiAgPG1hdC1sYWJlbCBzdHlsZT1cInBhZGRpbmctbGVmdDogMXJlbTsgZm9udC1zaXplOiBsYXJnZXI7XCI+XG4gICAge3sgbGFiZWwgfX1cbiAgPC9tYXQtbGFiZWw+XG4gIDxtYXQtbGFiZWwgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDFyZW07IGNvbG9yOiBncmV5O1wiPlxuICAgIHt7IHBsYWNlaG9sZGVyIH19XG4gIDwvbWF0LWxhYmVsPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5sZW5ndGggPiAwOyBlbHNlIE5PREFUQVwiPlxuICAgIDxtYXQtcmFkaW8tZ3JvdXAgW2Zvcm1Db250cm9sXT1cInNlbGVjdGlvbkNvbnRyb2xcIiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgPG1hdC1yYWRpby1idXR0b25cbiAgICAgICAgY2xhc3M9XCJpdGVtXCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBkYXRhXCJcbiAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJvcHRpb24uZGlzYWJsZWRcIlxuICAgICAgPlxuICAgICAgICB7e29wdGlvbi52YWx1ZX19XG4gICAgICA8L21hdC1yYWRpby1idXR0b24+XG4gICAgPC9tYXQtcmFkaW8tZ3JvdXA+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI05PREFUQT5cbiAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
@@ -1,9 +0,0 @@
1
- /*
2
- * Public API Surface of checkbox-selection-input
3
- */
4
- export * from './lib/models/index';
5
- export * from './lib/pipes/remove-underscore.pipe';
6
- export * from './lib/radio-demo/radio-demo.component';
7
- export * from './lib/radio-selection-input/radio-selection-input.component';
8
- export * from './lib/checkbox-selection-input.module';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3JhZGlvLXNlbGVjdGlvbi1pbnB1dC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNkRBQTZELENBQUM7QUFFNUUsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgY2hlY2tib3gtc2VsZWN0aW9uLWlucHV0XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luZGV4JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvcmVtb3ZlLXVuZGVyc2NvcmUucGlwZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3JhZGlvLWRlbW8vcmFkaW8tZGVtby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmFkaW8tc2VsZWN0aW9uLWlucHV0L3JhZGlvLXNlbGVjdGlvbi1pbnB1dC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGVja2JveC1zZWxlY3Rpb24taW5wdXQubW9kdWxlJztcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tc2VsZWN0aW9uLWlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvcmFkaW8tc2VsZWN0aW9uLWlucHV0L3NyYy9yYWRpby1zZWxlY3Rpb24taW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
package/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="radio-selection-input" />
5
- export * from './public-api';
@@ -1,26 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./radio-selection-input/radio-selection-input.component";
3
- import * as i2 from "./radio-demo/radio-demo.component";
4
- import * as i3 from "@angular/common";
5
- import * as i4 from "@angular/forms";
6
- import * as i5 from "@angular/material/slider";
7
- import * as i6 from "@angular/material/button";
8
- import * as i7 from "@angular/material/icon";
9
- import * as i8 from "@angular/material/form-field";
10
- import * as i9 from "@angular/material/checkbox";
11
- import * as i10 from "@angular/material/menu";
12
- import * as i11 from "@angular/material/radio";
13
- import * as i12 from "@angular/material/input";
14
- import * as i13 from "@angular/material/autocomplete";
15
- import * as i14 from "@angular/material/slide-toggle";
16
- import * as i15 from "@angular/material/toolbar";
17
- import * as i16 from "@angular/material/divider";
18
- import * as i17 from "@angular/material/select";
19
- import * as i18 from "@angular/material/core";
20
- import * as i19 from "@angular/material/button-toggle";
21
- import * as i20 from "./pipes/remove-underscore.pipe";
22
- export declare class RadioSelectionInputModule {
23
- static ɵfac: i0.ɵɵFactoryDeclaration<RadioSelectionInputModule, never>;
24
- static ɵmod: i0.ɵɵNgModuleDeclaration<RadioSelectionInputModule, [typeof i1.RadioSelectionInputComponent, typeof i2.RadioDemoComponent], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i4.ReactiveFormsModule, typeof i5.MatSliderModule, typeof i6.MatButtonModule, typeof i7.MatIconModule, typeof i8.MatFormFieldModule, typeof i9.MatCheckboxModule, typeof i10.MatMenuModule, typeof i11.MatRadioModule, typeof i12.MatInputModule, typeof i13.MatAutocompleteModule, typeof i14.MatSlideToggleModule, typeof i15.MatToolbarModule, typeof i16.MatDividerModule, typeof i17.MatSelectModule, typeof i18.MatOptionModule, typeof i19.MatButtonToggleModule, typeof i20.RemoveUnderscorePipe], [typeof i1.RadioSelectionInputComponent, typeof i2.RadioDemoComponent]>;
25
- static ɵinj: i0.ɵɵInjectorDeclaration<RadioSelectionInputModule>;
26
- }
@@ -1,2 +0,0 @@
1
- export * from './selection-basic.model';
2
- export * from './selection-item.model';
@@ -1,10 +0,0 @@
1
- export interface SelectionBasicInterface {
2
- id: number | string;
3
- value: string;
4
- }
5
- export declare class SelectionBasic implements SelectionBasicInterface {
6
- id: number;
7
- value: string;
8
- constructor(id?: number, value?: string);
9
- static adapt(item?: any): SelectionBasic;
10
- }
@@ -1,14 +0,0 @@
1
- export interface SelectionItemInterface {
2
- id: number | string;
3
- value: string;
4
- disabled?: boolean;
5
- selected?: boolean;
6
- }
7
- export declare class SelectionItem implements SelectionItemInterface {
8
- id: `${string}-${string}-${string}-${string}-${string}`;
9
- value: string;
10
- disabled?: boolean | undefined;
11
- selected?: boolean | undefined;
12
- constructor(id?: `${string}-${string}-${string}-${string}-${string}`, value?: string, disabled?: boolean | undefined, selected?: boolean | undefined);
13
- static adapt(item?: any): SelectionItem;
14
- }
@@ -1,7 +0,0 @@
1
- import { PipeTransform } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class RemoveUnderscorePipe implements PipeTransform {
4
- transform(value: string): string;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<RemoveUnderscorePipe, never>;
6
- static ɵpipe: i0.ɵɵPipeDeclaration<RemoveUnderscorePipe, "removeUnderscore", true>;
7
- }
@@ -1,36 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { FormBuilder } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- export declare class RadioDemoComponent implements OnInit {
5
- fb: FormBuilder;
6
- data_1: ({
7
- id: number;
8
- value: string;
9
- disabled?: undefined;
10
- selected?: undefined;
11
- } | {
12
- id: number;
13
- value: string;
14
- disabled: boolean;
15
- selected?: undefined;
16
- } | {
17
- id: number;
18
- value: string;
19
- selected: boolean;
20
- disabled?: undefined;
21
- })[];
22
- data_2: string[];
23
- data: any;
24
- selectionControl_1: import("@angular/forms").FormControl<any[] | null>;
25
- selectionControl_2: import("@angular/forms").FormControl<any[] | null>;
26
- changeDetection_1: import("@angular/forms").FormControl<any[] | null>;
27
- changeDetection_2: import("@angular/forms").FormControl<any[] | null>;
28
- constructor();
29
- ngOnInit(): void;
30
- onDisabled_1(disable: boolean): void;
31
- onDisabled_2(disable: boolean): void;
32
- onPerformPatch(): void;
33
- onChangeDataType(type: string): void;
34
- static ɵfac: i0.ɵɵFactoryDeclaration<RadioDemoComponent, never>;
35
- static ɵcmp: i0.ɵɵComponentDeclaration<RadioDemoComponent, "app-radio-selection-demo", never, {}, {}, never, never, false, never>;
36
- }
@@ -1,34 +0,0 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
2
- import { FormBuilder, ControlValueAccessor, AbstractControl, ValidationErrors } from '@angular/forms';
3
- import { Subscription } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- export declare class RadioSelectionInputComponent implements OnInit, ControlValueAccessor {
6
- fb: FormBuilder;
7
- subscriptions: Subscription;
8
- selectionControl: import("@angular/forms").FormControl<string | null>;
9
- label?: string;
10
- placeholder?: string;
11
- formInitialized: boolean;
12
- raw: any[];
13
- isObjects: boolean;
14
- private _data;
15
- set data(value: any[]);
16
- get data(): any[];
17
- selectionChange: EventEmitter<any>;
18
- onChange: any;
19
- onTouch: any;
20
- isArray: (obj: any) => boolean;
21
- isObject: (obj: any) => boolean;
22
- hasObjects: (obj: any) => boolean;
23
- constructor();
24
- ngOnInit(): void;
25
- ngAfterViewInit(): void;
26
- findFirst(obj: string[]): any;
27
- writeValue(value: string | string[] | null): void;
28
- validate(control: AbstractControl): ValidationErrors | null;
29
- registerOnChange(fn: any): void;
30
- registerOnTouched(fn: any): void;
31
- setDisabledState?(isDisabled: boolean): void;
32
- static ɵfac: i0.ɵɵFactoryDeclaration<RadioSelectionInputComponent, never>;
33
- static ɵcmp: i0.ɵɵComponentDeclaration<RadioSelectionInputComponent, "app-radio-selection-input", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "data": { "alias": "data"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, ["*"], false, never>;
34
- }
package/public-api.d.ts DELETED
@@ -1,5 +0,0 @@
1
- export * from './lib/models/index';
2
- export * from './lib/pipes/remove-underscore.pipe';
3
- export * from './lib/radio-demo/radio-demo.component';
4
- export * from './lib/radio-selection-input/radio-selection-input.component';
5
- export * from './lib/checkbox-selection-input.module';
Binary file