Skip to content

Commit 7158f9d

Browse files
author
pixelbyaj
committed
version 2.1.2 released fixing minor bugs
1 parent 5e02ab2 commit 7158f9d

File tree

6 files changed

+15
-8
lines changed

6 files changed

+15
-8
lines changed

projects/ngx-iso-form/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ export interface SchemaElement {
112112
values: string[];
113113
isCurrency: boolean;
114114
xpath: string;
115+
expanded:boolean;
115116
elements: SchemaElement[];
116117
}
117118

projects/ngx-iso-form/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ngx-iso-form",
3-
"version": "2.1.0",
3+
"version": "2.1.2",
44
"description": "This form is used to design Angular Reactive Form using any given XSD. The primary use of this UI library is to design ISO 20022 forms dynamically.",
55
"author": "Abhishek Joshi aka PixelByAJ",
66
"repository": {

projects/ngx-iso-form/src/lib/Models/Schema.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ export interface SchemaElement {
1616
values: string[];
1717
isCurrency: boolean;
1818
xpath: string;
19-
elements: SchemaElement[];
19+
elements: SchemaModel[];
20+
expanded:boolean;
2021
}
2122

2223
export interface SchemaModel extends SchemaElement{

projects/ngx-iso-form/src/lib/ngx-iso-form.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<ng-template #obj>
1818
<ng-container *ngIf="node.elements.length">
1919
<mat-accordion [formGroup]="formElement" *ngIf="!node.hidden">
20-
<mat-expansion-panel multi [expanded]="expand(node.minOccurs)" #expan>
20+
<mat-expansion-panel multi [expanded]="expand(node.minOccurs) || node.expanded" #expan>
2121
<mat-expansion-panel-header>
2222
<mat-panel-title>
2323
{{ node.name | trans: node.id : node.name }}

projects/ngx-iso-form/src/lib/ngx-iso-form.component.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,16 @@ export class NgxIsoFormComponent implements OnChanges {
8585
}
8686
}
8787

88-
protected onChoiceSelectionChange(id: string, formElement: any, nodes: SchemaModel): void {
89-
nodes.elements.forEach((element: SchemaModel) => {
88+
protected onChoiceSelectionChange(id: string, formElement: any, node: SchemaModel): void {
89+
node.elements.forEach((element: SchemaModel) => {
9090
element.hidden = true;
9191
formElement.removeControl(element.id);
9292
if (element.id === id) {
93+
node.choiceKey = id;
9394
element.hidden = false;
9495
if (element.elements.length) {
95-
const group = this.service.getFormGroupControls(element.elements, [], 0, true);
96+
// element.elements[0].hidden = false;
97+
const group = this.service.getFormGroupControls(element.elements, [], 0, false);
9698
formElement.addControl(element.id, group);
9799
} else {
98100
const control = this.service.getFormControl('');
@@ -162,7 +164,7 @@ export class NgxIsoFormComponent implements OnChanges {
162164
}
163165

164166
protected isEmpty(formElement: FormGroup): boolean {
165-
return Object.keys(formElement.controls).length === 0;
167+
return formElement.controls && Object.keys(formElement.controls).length === 0;
166168
}
167169

168170
protected getElement(formElement: FormGroup, element: any): AbstractControl<any, any> | undefined {

projects/ngx-iso-form/src/lib/ngx-iso-form.service.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ export class NgxIsoService {
5454
}
5555

5656
for (let i = 0; i < item.length; i++) {
57+
parentNode.elements[i].expanded = true;
5758
const formArray = form.get(key);
5859
if (formArray) {
5960
const frmGroup = (formArray as FormArray).at(i);
@@ -64,6 +65,7 @@ export class NgxIsoService {
6465
}
6566
} else if (typeof model[key] === 'object') {
6667
const node = this.getFormModel(this._formModel[0], key);
68+
node.expanded = true;
6769
if (node && (!node.minOccurs || parseInt(node.minOccurs, 10) === 0)) {
6870
node.minOccurs = '1';
6971
}
@@ -76,13 +78,14 @@ export class NgxIsoService {
7678
);
7779
node.choiceKey = choiceKey;
7880
choiceEle.hidden = false;
81+
choiceEle.expanded = true;
7982
const newNode = structuredClone(choiceEle);
8083
if (newNode.elements.length) {
8184
const group = this.getFormGroupControls(
8285
newNode.elements,
8386
[],
8487
0,
85-
true
88+
false
8689
);
8790
_form.addControl(newNode.id, group);
8891
} else {

0 commit comments

Comments
 (0)