浏览代码

new changes

dev
Arun Jadhav 9 个月前
父节点
当前提交
99966f03cd
共有 3 个文件被更改,包括 72 次插入93 次删除
  1. +20
    -28
      src/app/pages/veriable-form/veriable-form.component.html
  2. +38
    -60
      src/app/pages/veriable-form/veriable-form.component.sass
  3. +14
    -5
      src/app/pages/veriable-form/veriable-form.component.ts

+ 20
- 28
src/app/pages/veriable-form/veriable-form.component.html 查看文件

@@ -4,45 +4,37 @@
<div class="variableCal">
<form [formGroup]="form" (ngSubmit)="onSubmit()">
<div formArrayName="rows">
<div *ngFor="let row of rows.controls; let rowIndex = index" [formGroupName]="rowIndex">
<div *ngFor="let row of rows.controls; let rowIndex = index" [formGroupName]="rowIndex" class="row-section">
<div formArrayName="columns" class="add-col-section">
<div class="row d-flex" *ngFor="let column of getColumns(row).controls; let colIndex = index" [formGroupName]="colIndex">

<div class="col-md-2">
<div class="form-group">
<select formControlName="type" class="form-control" >
<option value="" selected disabled>--Select--</option>
<option value="text">Text</option>
<option value="variable">Variable</option>
</select>
</div>
</div>
<div class="col-md-2" *ngIf="isText(row, colIndex)">
<div class="form-group" >
<input type="text" formControlName="textValue" placeholder="Enter text" class="form-control" (change)="onParamChange($event)" >
</div>
</div>
<div class="col-md-2" *ngIf="isVariable(row, colIndex)">
<div class="form-group" >
<input formControlName="variableValue" class="form-control" placeholder="Enter variable" >
</div>
</div>

<div class="" *ngFor="let column of getColumns(row).controls; let colIndex = index" [formGroupName]="colIndex" class="column-section">
<div class="form-group">
<select formControlName="type" class="form-control">
<option value="" selected disabled>--Select--</option>
<option value="text">Text</option>
<option value="variable">Variable</option>
</select>
</div>
<div class="form-group" *ngIf="isText(row, colIndex)">
<input type="text" formControlName="textValue" placeholder="Enter text" class="form-control"
(change)="onParamChange($event, rowIndex, colIndex)"> <span> {{inputValue}} </span>
</div>
<div class="form-group" *ngIf="isVariable(row, colIndex)">
<input formControlName="variableValue" class="form-control" placeholder="Enter variable">
</div>
</div>
</div>

<!-- Button to add a new column in the same row -->
<button type="button" class="mb-4" (click)="addColumn(rowIndex)">Add Column</button>

<button type="button" class="add-column-btn btn btn-success mt-0 " (click)="addColumn(rowIndex)">Add</button>
</div>
</div>

<!-- Button to add a new row -->
<button type="button" (click)="addRow()">Add Row</button>
<button type="button" class="add-row-btn btn btn-secondary mr-2 mt-0" (click)="addRow()">Add</button>

<button type="submit">Submit</button>
<button type="submit" class="submit-btn btn btn-success mt-0">Submit</button>
</form>
</div>
</div>
</div>
</div>
</div>

+ 38
- 60
src/app/pages/veriable-form/veriable-form.component.sass 查看文件

@@ -1,71 +1,49 @@
// General form styles
form
max-width: 100%
margin: 20px auto
padding: 20px
border: 1px solid #ddd
border-radius: 5px
background-color: #f9f9f9

.form-row
display: flex
flex-direction: column
margin-bottom: 20px
padding: 10px
border: 1px solid #ccc
border-radius: 5px
background-color: #fff

.form-column
display: flex
align-items: center
margin-bottom: 10px
.container
margin-top: 20px

> *
margin-right: 10px
.add-col-section
display: flex
flex-direction: row

select, input
padding: 8px
border-radius: 3px
border: 1px solid #ccc
width: 150px
.add-col-section div
display:flex
flex-direction: row

.row-buttons
margin-top: 10px
.column-section
width: auto
display: flex
flex-direction: row

.column-buttons
margin-left: auto // Push button to the right

// Button styles
button
padding: 10px 15px
border: none
background-color: #007bff
color: white
border-radius: 5px
cursor: pointer
margin-right: 10px
.form-group
margin-bottom: 15px
width: 150px
display: flex
margin-right: 10px!important

&:hover
background-color: #0056b3
.add-column-btn
margin-top: 10px
display: block

&[type="submit"]
margin-top: 20px
background-color: #28a745
.add-row-btn
margin-top: 20px

&:hover
background-color: #218838
.submit-btn
margin-top: 30px

// Media queries for responsiveness
@media (max-width: 768px)
.form-row
flex-direction: column
.row-section
border: 1px solid #ccc
padding: 20px
margin-bottom: 20px
position: relative

.form-column
flex-direction: column
align-items: flex-start
@media (min-width: 768px)
.add-col-section
display: flex // Ensures that the columns are stacked vertically

> *
margin-bottom: 10px
width: 100%
.column-section
display: flex
margin-bottom: 15px
flex-direction: row

.row-section
padding: 20px

+ 14
- 5
src/app/pages/veriable-form/veriable-form.component.ts 查看文件

@@ -17,7 +17,8 @@ export class VeriableFormComponent implements OnInit {
variableList = ['Variable 1', 'Variable 2', 'Variable 3'];
public componentDestroyed = new Subject();
rdsValues: any;
selectedParamValue: any;
selectedParamValue: any = {};
inputValue: any;

constructor(private fb: FormBuilder, private api: ApiService) {
this.form = this.fb.group({
@@ -79,18 +80,26 @@ export class VeriableFormComponent implements OnInit {
});
}

onParamChange(event: any) {
onParamChange(event: any, rowIndex: number, colIndex: number) {
const selectedParam = event.target.value;
// Iterate through the 'modbus' array and find the parameter
for (let item of this.rdsValues.modbus) {
if (item.hasOwnProperty(selectedParam)) {
this.selectedParamValue = item[selectedParam];
// Initialize the row if not present
if (!this.selectedParamValue[rowIndex]) {
this.selectedParamValue[rowIndex] = {};
}
// Assign the selected param value to the specific row and column
this.selectedParamValue[rowIndex][colIndex] = item[selectedParam];
break;
}
}
console.log(this.selectedParamValue);

this.inputValue = this.selectedParamValue[rowIndex][colIndex]
console.log(`Row: ${rowIndex}, Column: ${colIndex}, Value:`, this.selectedParamValue[rowIndex][colIndex]);
}


onSubmit(): void {
console.log(this.form.value);
}


正在加载...
取消
保存