@openmrs/ngx-formentry 3.0.1-pre.64 → 3.0.1-pre.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/openmrs-ngx-formentry.umd.js +20 -46
- package/bundles/openmrs-ngx-formentry.umd.js.map +1 -1
- package/components/radio-button/radio.component.d.ts +7 -8
- package/esm2015/components/radio-button/radio.component.js +13 -39
- package/esm2015/form-entry/form-factory/question.factory.js +6 -3
- package/esm2015/form-entry/form-renderer/form-renderer.component.js +2 -2
- package/esm2015/form-entry/question-models/interfaces/base-options.js +1 -1
- package/esm2015/form-entry/question-models/interfaces/radio-button-options.js +1 -1
- package/esm2015/form-entry/question-models/question-base.js +2 -2
- package/esm2015/form-entry/question-models/radio-button.model.js +2 -2
- package/fesm2015/openmrs-ngx-formentry.js +20 -43
- package/fesm2015/openmrs-ngx-formentry.js.map +1 -1
- package/form-entry/question-models/interfaces/base-options.d.ts +1 -1
- package/form-entry/question-models/interfaces/radio-button-options.d.ts +1 -0
- package/form-entry/question-models/question-base.d.ts +1 -1
- package/form-entry/question-models/radio-button.model.d.ts +2 -4
- package/package.json +1 -1
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class RadioButtonControlComponent implements OnInit {
|
|
4
|
+
export declare class RadioButtonControlComponent implements ControlValueAccessor, OnInit {
|
|
4
5
|
id: String;
|
|
5
|
-
selected: any;
|
|
6
6
|
options: Array<any>;
|
|
7
|
-
|
|
7
|
+
allowUnselect: boolean;
|
|
8
8
|
ngOnInit(): void;
|
|
9
9
|
writeValue(value: any): void;
|
|
10
10
|
registerOnChange(fn: (_: any) => void): void;
|
|
11
11
|
registerOnTouched(fn: () => void): void;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
private onTouched;
|
|
12
|
+
handleClick(option: any): void;
|
|
13
|
+
onChange: (_: any) => void;
|
|
14
|
+
onTouched: () => void;
|
|
16
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<RadioButtonControlComponent, never>;
|
|
17
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RadioButtonControlComponent, "ofe-radio-button", never, { "id": "id"; "
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RadioButtonControlComponent, "ofe-radio-button", never, { "id": "id"; "options": "options"; "allowUnselect": "allowUnselect"; }, {}, never, never>;
|
|
18
17
|
}
|
|
@@ -4,17 +4,11 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
5
|
export class RadioButtonControlComponent {
|
|
6
6
|
constructor() {
|
|
7
|
-
this.onChange = (
|
|
7
|
+
this.onChange = (_) => { };
|
|
8
8
|
this.onTouched = () => { };
|
|
9
9
|
}
|
|
10
10
|
ngOnInit() {
|
|
11
|
-
this.options = this.options.map((
|
|
12
|
-
if (this.selected == option.value) {
|
|
13
|
-
this.selected = option.value;
|
|
14
|
-
Object.assign(option, { checked: true });
|
|
15
|
-
}
|
|
16
|
-
return option;
|
|
17
|
-
});
|
|
11
|
+
this.options = this.options.map((opt) => (Object.assign(Object.assign({}, opt), { checked: false })));
|
|
18
12
|
}
|
|
19
13
|
writeValue(value) { }
|
|
20
14
|
registerOnChange(fn) {
|
|
@@ -23,41 +17,23 @@ export class RadioButtonControlComponent {
|
|
|
23
17
|
registerOnTouched(fn) {
|
|
24
18
|
this.onTouched = fn;
|
|
25
19
|
}
|
|
26
|
-
|
|
27
|
-
this.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
this.selected = null;
|
|
34
|
-
Object.assign(o, { checked: false });
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
selectUnselectOpt(option, event) {
|
|
39
|
-
this.options.forEach((o) => {
|
|
40
|
-
if (event.target.checked &&
|
|
41
|
-
this.selected == o.value &&
|
|
42
|
-
this.selected == option.value) {
|
|
43
|
-
this.selected = null;
|
|
44
|
-
Object.assign(o, { checked: false });
|
|
45
|
-
}
|
|
46
|
-
else if (event.target.checked && o.value == option.value) {
|
|
47
|
-
this.selected = o.value;
|
|
48
|
-
Object.assign(o, { checked: true });
|
|
49
|
-
}
|
|
50
|
-
});
|
|
20
|
+
handleClick(option) {
|
|
21
|
+
if (this.allowUnselect && option.checked) {
|
|
22
|
+
option.checked = false;
|
|
23
|
+
}
|
|
24
|
+
else if (!option.checked) {
|
|
25
|
+
option.checked = true;
|
|
26
|
+
}
|
|
51
27
|
}
|
|
52
28
|
}
|
|
53
29
|
RadioButtonControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: RadioButtonControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
-
RadioButtonControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: RadioButtonControlComponent, selector: "ofe-radio-button", inputs: { id: "id",
|
|
30
|
+
RadioButtonControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: RadioButtonControlComponent, selector: "ofe-radio-button", inputs: { id: "id", options: "options", allowUnselect: "allowUnselect" }, providers: [
|
|
55
31
|
{
|
|
56
32
|
provide: NG_VALUE_ACCESSOR,
|
|
57
33
|
useExisting: forwardRef(() => RadioButtonControlComponent),
|
|
58
34
|
multi: true
|
|
59
35
|
}
|
|
60
|
-
], ngImport: i0, template: "<fieldset class=\"
|
|
36
|
+
], ngImport: i0, template: "<fieldset class=\"cds--fieldset\">\n <div\n *ngFor=\"let option of options; let i = index\"\n class=\"cds--form-item cds--radio-wrapper\"\n >\n <label class=\"form-control no-border\">\n <input\n type=\"radio\"\n [id]=\"id + '_' + i\"\n [name]=\"id\"\n [checked]=\"option.checked\"\n [value]=\"option.value\"\n (click)=\"handleClick(option)\"\n />\n {{ option.label }}\n </label>\n </div>\n</fieldset>\n", directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
61
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: RadioButtonControlComponent, decorators: [{
|
|
62
38
|
type: Component,
|
|
63
39
|
args: [{
|
|
@@ -73,11 +49,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
73
49
|
}]
|
|
74
50
|
}], propDecorators: { id: [{
|
|
75
51
|
type: Input
|
|
76
|
-
}], selected: [{
|
|
77
|
-
type: Input
|
|
78
52
|
}], options: [{
|
|
79
53
|
type: Input
|
|
80
|
-
}],
|
|
54
|
+
}], allowUnselect: [{
|
|
81
55
|
type: Input
|
|
82
56
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvY29tcG9uZW50cy9yYWRpby1idXR0b24vcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvY29tcG9uZW50cy9yYWRpby1idXR0b24vcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXJFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBY3pFLE1BQU0sT0FBTywyQkFBMkI7SUFYeEM7UUFzQ1MsYUFBUSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDMUIsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztLQUM3QjtJQXhCUSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsaUNBQU0sR0FBRyxLQUFFLE9BQU8sRUFBRSxLQUFLLElBQUcsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBVSxJQUFHLENBQUM7SUFFekIsZ0JBQWdCLENBQUMsRUFBb0I7UUFDMUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEVBQWM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxNQUFNO1FBQ3ZCLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ3hDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3hCO2FBQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDMUIsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDdkI7SUFDSCxDQUFDOzt5SEF6QlUsMkJBQTJCOzZHQUEzQiwyQkFBMkIscUhBUjNCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUM7WUFDMUQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLDBCQ2RILDZkQWtCQTs0RkRGYSwyQkFBMkI7a0JBWHZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsV0FBVyxFQUFFLHdCQUF3QjtvQkFDckMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDRCQUE0QixDQUFDOzRCQUMxRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs4QkFFaUIsRUFBRTtzQkFBakIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBmb3J3YXJkUmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZmUtcmFkaW8tYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYWRpb0J1dHRvbkNvbnRyb2xDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUmFkaW9CdXR0b25Db250cm9sQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBpZDogU3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogQXJyYXk8YW55PjtcbiAgQElucHV0KCkgcHVibGljIGFsbG93VW5zZWxlY3Q6IGJvb2xlYW47XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMub3B0aW9ucy5tYXAoKG9wdCkgPT4gKHsgLi4ub3B0LCBjaGVja2VkOiBmYWxzZSB9KSk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7fVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVDbGljayhvcHRpb24pIHtcbiAgICBpZiAodGhpcy5hbGxvd1Vuc2VsZWN0ICYmIG9wdGlvbi5jaGVja2VkKSB7XG4gICAgICBvcHRpb24uY2hlY2tlZCA9IGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoIW9wdGlvbi5jaGVja2VkKSB7XG4gICAgICBvcHRpb24uY2hlY2tlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlID0gKF86IGFueSkgPT4ge307XG4gIHB1YmxpYyBvblRvdWNoZWQgPSAoKSA9PiB7fTtcbn1cbiIsIjxmaWVsZHNldCBjbGFzcz1cImNkcy0tZmllbGRzZXRcIj5cbiAgPGRpdlxuICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgbGV0IGkgPSBpbmRleFwiXG4gICAgY2xhc3M9XCJjZHMtLWZvcm0taXRlbSBjZHMtLXJhZGlvLXdyYXBwZXJcIlxuICA+XG4gICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jb250cm9sIG5vLWJvcmRlclwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIFtpZF09XCJpZCArICdfJyArIGlcIlxuICAgICAgICBbbmFtZV09XCJpZFwiXG4gICAgICAgIFtjaGVja2VkXT1cIm9wdGlvbi5jaGVja2VkXCJcbiAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVDbGljayhvcHRpb24pXCJcbiAgICAgIC8+XG4gICAgICB7eyBvcHRpb24ubGFiZWwgfX1cbiAgICA8L2xhYmVsPlxuICA8L2Rpdj5cbjwvZmllbGRzZXQ+XG4iXX0=
|