template edit screen , extra code clean up with component comment msg : kdk

This commit is contained in:
dineshkumarkannan 2018-10-19 11:15:52 +05:30
parent 407f45eada
commit 1fd7ae16c2
7 changed files with 203 additions and 404 deletions

View File

@ -1,7 +1,3 @@
<!--<pre>{{ templateCategoryRecord | json }}</pre>
<pre> {{ m_category | json}}</pre>-->
<form [formGroup]="_editTempCategoryFrom" (submit)="onSubmit()"> <form [formGroup]="_editTempCategoryFrom" (submit)="onSubmit()">
<div formArrayName="temp_category" class="example-full-width"> <div formArrayName="temp_category" class="example-full-width">
<mat-card *ngFor="let answ of _editTempCategoryFrom.controls.temp_category['controls']; let i=index ; let last = last;"> <mat-card *ngFor="let answ of _editTempCategoryFrom.controls.temp_category['controls']; let i=index ; let last = last;">
@ -24,46 +20,12 @@
<mat-error *ngIf="submitted && answ['controls'].weightage.hasError('required')" class="mat-text-warn">Weightage Required.!</mat-error> <mat-error *ngIf="submitted && answ['controls'].weightage.hasError('required')" class="mat-text-warn">Weightage Required.!</mat-error>
</div> </div>
<div fxFlex="30%"> <div fxFlex="30%">
<button (click)="removeLanguage(i)" mat-button mat-icon-button class="mr-1 mb-1 hover-icon" matTooltip="Delete" matTooltipPosition="above"><mat-icon>delete</mat-icon></button> <button (click)="removeLanguage(i)" mat-button mat-icon-button class="mr-1 mb-1 hover-icon" matTooltip="Delete" matTooltipPosition="above" type="button"><mat-icon>delete</mat-icon></button>
</div> </div>
<!--<div fxFlex="0 1 auto" class="ml-xs">
<button *ngIf="last" mat-button mat-icon-button class="mr-1 mb-1 hover-icon" matTooltip="Add More" matTooltipPosition="above" (click)="addLanguage(null, $event); false"><mat-icon>add</mat-icon></button>
</div>-->
</div> </div>
</div> </div>
<mat-error *ngIf="submitted && i == dublicateRerdIndex "> This Category Already Exist.!</mat-error> <mat-error *ngIf="submitted && i == dublicateRerdIndex "> This Category Already Exist.!</mat-error>
</mat-card> </mat-card>
<!--<mat-card role="list">-->
<!--<mat-card style="width: 70%;" *ngFor="let answ of _editTempCategoryFrom.controls.temp_category['controls']; let i=index ; let last = last;"
role="listitem">
<div [formGroupName]="i">
<div fxLayout="row" fxLayoutWrap fxLayoutGap="5%" fxLayoutAlign="start center">
<div fxFlex="0 1 auto" class="ml-xs">
<mat-form-field>
<mat-select placeholder="Category" formControlName="fk_question_category_id">
<mat-option *ngFor="let category of m_category" [value]="category.question_category_id">{{ category.category_name }}</mat-option>
</mat-select>
<mat-error *ngIf="submitted && i == dublicateRerdIndex "> This Category Already Exist.!</mat-error>
</mat-form-field>
</div>
<div fxFlex="0 1 auto" class="ml-xs">
<mat-form-field style="width: 25%; text-align: center" appearance="outline">
<input matInput formControlName="weightage">
</mat-form-field> <span>%</span>
</div>
<div fxFlex="0 1 auto" class="ml-xs">
<button *ngIf="_editTempCategoryFrom.controls.temp_category.controls.length > 1" (click)="removeLanguage(i)" mat-button mat-icon-button class="mr-1 mb-1 hover-icon" matTooltip="Delete" matTooltipPosition="above"><mat-icon>delete</mat-icon></button>
</div>
<div fxFlex="0 1 auto" class="ml-xs">
<button *ngIf="last" mat-button mat-icon-button class="mr-1 mb-1 hover-icon" matTooltip="Add More" matTooltipPosition="above" (click)="addLanguage(null, $event); false"><mat-icon>add</mat-icon></button>
</div>
</div>
</div>
<mat-error *ngIf="submitted && i == dublicateRerdIndex "> This Category Already Exist.!</mat-error>
</mat-card>-->
<!--</mat-card>-->
</div> </div>
<div> <div>
<button mat-fab class="mr-1 mb-1" color="primary" matTooltip="Add More Contact Person" matTooltipPosition="above" (click)="addLanguage(null, $event); false"><mat-icon>add</mat-icon></button> <button mat-fab class="mr-1 mb-1" color="primary" matTooltip="Add More Contact Person" matTooltipPosition="above" (click)="addLanguage(null, $event); false"><mat-icon>add</mat-icon></button>

View File

@ -9,6 +9,11 @@ import { NotifierService } from 'angular-notifier';
import { TemplatesService } from './../../../../service/templates/templates.service'; import { TemplatesService } from './../../../../service/templates/templates.service';
import { MastersService } from './../../../../service/masters/masters.service'; import { MastersService } from './../../../../service/masters/masters.service';
/*
* Question Cagegory add and edit functionality with dynamic form creation with validation
* : kdk
*/
@Component({ @Component({
selector: 'app-template-edit-category', selector: 'app-template-edit-category',
templateUrl: './edit-category.component.html', templateUrl: './edit-category.component.html',
@ -48,14 +53,6 @@ export class EditCategoryComponent implements OnInit, OnDestroy, AfterViewInit {
// this.initAnswers(), // this.initAnswers(),
]) ])
}) })
// if(this.categoryList.length > 0){
// for (let val of this.categoryList) {
// // alert(JSON.stringify(val));
// let vals = val;
// this.addLanguage(vals['fk_category_id'], vals['name'], vals['weightage'], null);
// }
// }
} }
ngAfterViewInit() { ngAfterViewInit() {
@ -77,7 +74,6 @@ export class EditCategoryComponent implements OnInit, OnDestroy, AfterViewInit {
} }
} }
// Dynamic Form field creation Functionality : START ===> // Dynamic Form field creation Functionality : START ===>
initAnswers(data) { initAnswers(data) {
return this._formBuilder.group({ return this._formBuilder.group({
@ -112,9 +108,6 @@ export class EditCategoryComponent implements OnInit, OnDestroy, AfterViewInit {
if (data.records) { if (data.records) {
this.templateCategoryRecord = data.records; this.templateCategoryRecord = data.records;
this.setFormDatas(this.templateCategoryRecord); this.setFormDatas(this.templateCategoryRecord);
// this.templateListData = data.records;
// this.dataLength = data.records.length;
// this.dataSource.data = this.templateListData;
} else { } else {
// this.noTemplateLendersFound = true; // this.noTemplateLendersFound = true;
} }
@ -150,30 +143,6 @@ export class EditCategoryComponent implements OnInit, OnDestroy, AfterViewInit {
// convenience getter for easy access to form fields // convenience getter for easy access to form fields
get f() { return this._editTempCategoryFrom.controls; } get f() { return this._editTempCategoryFrom.controls; }
public m_categoryList = [{
fk_category_id: 1,
name: 'Category List 1',
weightage: 2,
}, {
fk_category_id: 2,
name: 'Category List 2',
weightage: 5,
}, {
fk_category_id: 3,
name: 'Category List 2',
weightage: 5,
}];
public categoryList = [{
fk_category_id: 1,
name: 'Category List 1',
weightage: 2,
}, {
fk_category_id: 2,
name: 'Category List 2',
weightage: 5,
}];
// Dynamic Form field creation Functionality : START ===> // Dynamic Form field creation Functionality : START ===>
// initAnswers(fk_cat_id, name, weightage) { // initAnswers(fk_cat_id, name, weightage) {
// return this._formBuilder.group({ // return this._formBuilder.group({
@ -186,9 +155,16 @@ export class EditCategoryComponent implements OnInit, OnDestroy, AfterViewInit {
// const control = <FormArray>this._editTempCategoryFrom.controls['temp_category']; // const control = <FormArray>this._editTempCategoryFrom.controls['temp_category'];
// control.push(this.initAnswers(fk_cat_id, name, weightage)); // control.push(this.initAnswers(fk_cat_id, name, weightage));
// } // }
removeLanguage(i: number) { removeLanguage(i: number) {
let value = (<FormArray>this._editTempCategoryFrom.controls['temp_category']).at(i).get('template_category_weightage_id').value;
if (value == null) {
const control = <FormArray>this._editTempCategoryFrom.controls['temp_category']; const control = <FormArray>this._editTempCategoryFrom.controls['temp_category'];
control.removeAt(i); control.removeAt(i);
} else {
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
}
} }
// END ===> // END ===>
@ -200,17 +176,14 @@ export class EditCategoryComponent implements OnInit, OnDestroy, AfterViewInit {
this.submitted = true; this.submitted = true;
// stop here if form is invalid // stop here if form is invalid
if (this._editTempCategoryFrom.invalid) { if (this._editTempCategoryFrom.invalid) {
alert('no'); this.notifier.notify('warning', 'Should Fill Required Fields.!');
return; return;
} else { } else {
var formValues = this._editTempCategoryFrom.value; var formValues = this._editTempCategoryFrom.value;
//To Remove The "Null" With Key also //To Remove The "Null" With Key also
Object.keys(formValues).forEach((key) => (formValues[key] == null) && delete formValues[key]); Object.keys(formValues).forEach((key) => (formValues[key] == null) && delete formValues[key]);
let val = formValues.temp_category; let val = formValues.temp_category;
let totalScore = val.map(value => { return Number(value.weightage); }).reduce((acc, value) => { return acc + value; }, 0); let totalScore = val.map(value => { return Number(value.weightage); }).reduce((acc, value) => { return acc + value; }, 0);
if (totalScore == 100) { if (totalScore == 100) {
if (!this.checkDuplicateInObject(formValues.temp_category)) { if (!this.checkDuplicateInObject(formValues.temp_category)) {
this.templatesService.updateTempateIDCategoryDetails(formValues.temp_category).subscribe( this.templatesService.updateTempateIDCategoryDetails(formValues.temp_category).subscribe(
@ -231,10 +204,10 @@ export class EditCategoryComponent implements OnInit, OnDestroy, AfterViewInit {
this.errorMessage = "Some Thing Wents Wrong Try Again.!"; this.errorMessage = "Some Thing Wents Wrong Try Again.!";
}); });
} else { } else {
alert("duplication records occured.!"); this.notifier.notify('warning', 'duplication records occured.!');
} }
} else { } else {
alert("value should equal to 100") this.notifier.notify('warning', 'value should equal to 100.!');
} }
} }
@ -264,6 +237,4 @@ export class EditCategoryComponent implements OnInit, OnDestroy, AfterViewInit {
//Called once, before the instance is destroyed. //Called once, before the instance is destroyed.
//Add 'implements OnDestroy' to the class. //Add 'implements OnDestroy' to the class.
} }
} }

View File

@ -1,10 +1,3 @@
<!--<pre>{{ templateLenderRecord | json}}</pre>
<pre> {{ m_lender | json}} </pre>
<pre> {{ m_product | json}} </pre>
<pre> {{ m_customerSegment | json}} </pre>-->
<form [formGroup]="_editTempLenderFrom" (submit)="onSubmit()"> <form [formGroup]="_editTempLenderFrom" (submit)="onSubmit()">
<div formArrayName="temp_lender" class="example-full-width"> <div formArrayName="temp_lender" class="example-full-width">
<mat-card *ngFor="let answ of _editTempLenderFrom.controls.temp_lender['controls']; let i=index"> <mat-card *ngFor="let answ of _editTempLenderFrom.controls.temp_lender['controls']; let i=index">

View File

@ -9,6 +9,10 @@ import { NotifierService } from 'angular-notifier';
import { TemplatesService } from './../../../../service/templates/templates.service'; import { TemplatesService } from './../../../../service/templates/templates.service';
import { MastersService } from './../../../../service/masters/masters.service'; import { MastersService } from './../../../../service/masters/masters.service';
/*
* Question Lender Details Get Multi drop-down and dynamic form with validation
* : kdk
*/
@Component({ @Component({
selector: 'app-template-edit-lender', selector: 'app-template-edit-lender',
@ -132,15 +136,6 @@ export class EditLenderComponent implements OnInit {
// convenience getter for easy access to form fields // convenience getter for easy access to form fields
get f() { return this._editTempLenderFrom.controls; } get f() { return this._editTempLenderFrom.controls; }
public entityOptions = [{
fk_lender_id: 1,
name: 'Lender1'
},{
fk_lender_id: 2,
name: 'Lender2'
}];
// Dynamic Form field creation Functionality : START ===> // Dynamic Form field creation Functionality : START ===>
initAnswers(data) { initAnswers(data) {
return this._formBuilder.group({ return this._formBuilder.group({
@ -176,7 +171,6 @@ export class EditLenderComponent implements OnInit {
// END ===> // END ===>
/** To Save/Edited Popup Data */ /** To Save/Edited Popup Data */
onSubmit() { onSubmit() {
this.submitted = true; this.submitted = true;
@ -189,7 +183,6 @@ export class EditLenderComponent implements OnInit {
//To Remove The "Null" With Key also //To Remove The "Null" With Key also
Object.keys(formValues).forEach((key) => (formValues[key] == null) && delete formValues[key]); Object.keys(formValues).forEach((key) => (formValues[key] == null) && delete formValues[key]);
// alert(JSON.stringify(formValues.temp_lender)); // alert(JSON.stringify(formValues.temp_lender));
if (!this.checkDuplicateInObject(formValues.temp_lender)) { if (!this.checkDuplicateInObject(formValues.temp_lender)) {
this.templatesService.updateTempateIDLenderDetails(formValues.temp_lender).subscribe( this.templatesService.updateTempateIDLenderDetails(formValues.temp_lender).subscribe(
dataresult => { dataresult => {
@ -209,16 +202,14 @@ export class EditLenderComponent implements OnInit {
this.errorMessage = "Some Thing Wents Wrong Try Again.!"; this.errorMessage = "Some Thing Wents Wrong Try Again.!";
}); });
} else { } else {
alert("duplication records occured.!"); this.notifier.notify('warning', 'duplication records occured.!');
} }
} }
} }
checkDuplicateInObject(inputArray) { checkDuplicateInObject(inputArray) {
let seenDuplicate = false; let seenDuplicate = false;
inputArray.map(function (item, index) { inputArray.map(function (item, index) {
let currentVal = inputArray[index]; let currentVal = inputArray[index];
for (let i = index + 1; i < inputArray.length; i++) { for (let i = index + 1; i < inputArray.length; i++) {

View File

@ -17,6 +17,11 @@ export interface DialogData {
/**sweet alert */ /**sweet alert */
// import Swal from 'sweetalert2'; // import Swal from 'sweetalert2';
/*
* Templates Category Question list with answers , with multiple question with answer dynamic form validation
* : kdk
*/
@Component({ @Component({
selector: 'app-category-question-answer', selector: 'app-category-question-answer',
templateUrl: './category-question-answer.component.html', templateUrl: './category-question-answer.component.html',
@ -34,7 +39,6 @@ export class CategoryQuestionAnswerComponent implements OnInit {
public panelOpenState: boolean; public panelOpenState: boolean;
// secondFormGroup: FormGroup; // secondFormGroup: FormGroup;
/** /**
* Notifier service * Notifier service
*/ */
@ -65,9 +69,6 @@ export class CategoryQuestionAnswerComponent implements OnInit {
// alert(JSON.stringify(records)); // alert(JSON.stringify(records));
// } // }
animal: string;
name: string;
openDialog(): void { openDialog(): void {
const dialogRef = this.dialog.open(DialogOverviewExampleDialog, { const dialogRef = this.dialog.open(DialogOverviewExampleDialog, {
@ -76,7 +77,6 @@ export class CategoryQuestionAnswerComponent implements OnInit {
dialogRef.afterClosed().subscribe(result => { dialogRef.afterClosed().subscribe(result => {
console.log('The dialog was closed'); console.log('The dialog was closed');
this.animal = result;
this.setModelFirstFormDate(result); this.setModelFirstFormDate(result);
// alert(result); // alert(result);
}); });
@ -138,9 +138,6 @@ export class CategoryQuestionAnswerComponent implements OnInit {
// ================== Dynamic Form set for Answers // ================== Dynamic Form set for Answers
addAnswerData(data, e, ix) { addAnswerData(data, e, ix) {
// const control = <FormArray>this._editquestionAnswerForm.controls['temp_questions'].get('answers');
// let id = 0;
const control = (<FormArray>this._editquestionAnswerForm.controls['temp_questions']).at(ix).get('answers') as FormArray; const control = (<FormArray>this._editquestionAnswerForm.controls['temp_questions']).at(ix).get('answers') as FormArray;
// alert(control); // alert(control);
control.push(this.initAnswerData(data)); control.push(this.initAnswerData(data));
@ -160,7 +157,6 @@ export class CategoryQuestionAnswerComponent implements OnInit {
// ============================================= // =============================================
// Dynamic Form field creation Functionality : START ===> // Dynamic Form field creation Functionality : START ===>
initAnswers(data) { initAnswers(data) {
return this._formBuilder.group({ return this._formBuilder.group({
@ -191,11 +187,8 @@ export class CategoryQuestionAnswerComponent implements OnInit {
const control = <FormArray>this._editquestionAnswerForm.controls['temp_questions']; const control = <FormArray>this._editquestionAnswerForm.controls['temp_questions'];
control.push(this.initAnswers(newDate)); control.push(this.initAnswers(newDate));
} else { } else {
// alert(JSON.stringify(data));
const control = <FormArray>this._editquestionAnswerForm.controls['temp_questions']; const control = <FormArray>this._editquestionAnswerForm.controls['temp_questions'];
control.push(this.initAnswers(data)); control.push(this.initAnswers(data));
// alert(control.length);
// alert(JSON.stringify(this._editquestionAnswerForm.controls.temp_questions['controls']));
this.setAnswers(data.answers, control.length - 1); this.setAnswers(data.answers, control.length - 1);
} }
} }
@ -209,9 +202,8 @@ export class CategoryQuestionAnswerComponent implements OnInit {
const control = <FormArray>this._editquestionAnswerForm.controls['temp_questions']; const control = <FormArray>this._editquestionAnswerForm.controls['temp_questions'];
control.removeAt(inx); control.removeAt(inx);
} else { } else {
alert(); this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
} }
// alert(JSON.stringify(value));
} }
submitted: boolean; submitted: boolean;
@ -219,7 +211,7 @@ alert();
this.submitted = true; this.submitted = true;
// stop here if form is invalid // stop here if form is invalid
if (this._editquestionAnswerForm.invalid) { if (this._editquestionAnswerForm.invalid) {
alert('no'); this.notifier.notify('warning', 'Please Should Fill Required Fields.!');
return; return;
} else { } else {
var formValues = this._editquestionAnswerForm.value; var formValues = this._editquestionAnswerForm.value;
@ -236,9 +228,6 @@ alert();
if (dataresult.status == 200) { if (dataresult.status == 200) {
console.log(dataresult); console.log(dataresult);
this.notifier.notify('success', 'Your Changes Updated.!'); this.notifier.notify('success', 'Your Changes Updated.!');
// const arr = <FormArray>this._editquestionAnswerForm.controls.temp_questions;
// arr.controls.splice(0);
// this.getTemplateCategoryDetails();
} }
else { else {
this.notifier.notify('warning', 'Something Wents Wrong Try Again.!'); this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');
@ -249,13 +238,12 @@ alert();
// this.errorMessage = "Some Thing Wents Wrong Try Again.!"; // this.errorMessage = "Some Thing Wents Wrong Try Again.!";
}); });
} else { } else {
alert("duplication records occured.!"); this.notifier.notify('warning', 'duplication records occured.!');
} }
} else { } else {
// Swal('value should equal to 100.!','error'); // Swal('value should equal to 100.!','error');
alert("value should equal to 100"); this.notifier.notify('warning', 'value should equal to 100.!');
} }
} }
} }
@ -264,7 +252,6 @@ alert();
checkDuplicateInObject(inputArray) { checkDuplicateInObject(inputArray) {
this.dublicateRerdIndex = -1; this.dublicateRerdIndex = -1;
let seenDuplicate = false; let seenDuplicate = false;
inputArray.map((item, index) => { inputArray.map((item, index) => {
let currentVal = inputArray[index]; let currentVal = inputArray[index];
for (let i = index + 1; i < inputArray.length; i++) { for (let i = index + 1; i < inputArray.length; i++) {
@ -292,20 +279,12 @@ alert();
}) })
export class DialogOverviewExampleDialog { export class DialogOverviewExampleDialog {
// typesOfShoes: string[] = [
// 'It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, ',
// 'It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, ',
// 'It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, ',
// 'It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, ',
// 'It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, '
// ];
public m_questions: any; public m_questions: any;
constructor( constructor(
public dialogRef: MatDialogRef<DialogOverviewExampleDialog>, public dialogRef: MatDialogRef<DialogOverviewExampleDialog>,
@Inject(MAT_DIALOG_DATA) public data: DialogData, @Inject(MAT_DIALOG_DATA) public data: DialogData,
private templatesService: TemplatesService, private templatesService: TemplatesService,
private mastersService: MastersService,) { private mastersService: MastersService) {
this.getCategoryRemainingQuesMasters(); this.getCategoryRemainingQuesMasters();
} }
@ -328,8 +307,6 @@ export class DialogOverviewExampleDialog {
}, },
error => { error => {
this.noRecordFound = true; this.noRecordFound = true;
// this.notifier.notify('warning', 'No Category Master Records Found.!');
// this.m_category = "No Category Master Records Found.";
} }
); );
} }

View File

@ -1,5 +1,4 @@
<mat-card> <mat-card>
<!--<pre>{{ templateQuesAnsRecord | json}}</pre>-->
<mat-accordion> <mat-accordion>
<mat-expansion-panel *ngFor="let data of templateQuesAnsRecord"> <mat-expansion-panel *ngFor="let data of templateQuesAnsRecord">
<mat-expansion-panel-header fxLayout="row" fxLayoutWrap fxLayoutGap="5%" fxLayoutAlign="start center"> <mat-expansion-panel-header fxLayout="row" fxLayoutWrap fxLayoutGap="5%" fxLayoutAlign="start center">
@ -14,16 +13,5 @@
<app-category-question-answer [CaterogyQuesAns]="data"> <app-category-question-answer [CaterogyQuesAns]="data">
</app-category-question-answer> </app-category-question-answer>
</mat-expansion-panel> </mat-expansion-panel>
<!--<mat-expansion-panel (opened)="panelOpenState = true" (closed)="panelOpenState = false">
<mat-expansion-panel-header>
<mat-panel-title>
Category 2
</mat-panel-title>
<mat-panel-description>
50%
</mat-panel-description>
</mat-expansion-panel-header>
<p>I'm visible because I am open</p>
</mat-expansion-panel>-->
</mat-accordion> </mat-accordion>
</mat-card> </mat-card>

View File

@ -20,99 +20,20 @@ export class EditQuestionAnswerComponent implements OnInit {
@Input() questionId: number; @Input() questionId: number;
public _editTempCategoryFrom: FormGroup;
public submitted = false; public submitted = false;
public panelOpenState : boolean; public panelOpenState : boolean;
public templateQuesAnsRecord: any; public templateQuesAnsRecord: any;
firstFormGroup: FormGroup;
secondFormGroup: FormGroup;
constructor( constructor(
notifier: NotifierService, notifier: NotifierService,
private templatesService: TemplatesService, private templatesService: TemplatesService,
private mastersService: MastersService, private mastersService: MastersService,
private _formBuilder: FormBuilder,
public dialog: MatDialog) { public dialog: MatDialog) {
this.firstFormGroup = this._formBuilder.group({
temp_questions: this._formBuilder.array([
// this.initAnswers(),
])
});
this.secondFormGroup = this._formBuilder.group({
secondCtrl: ''
});
} }
ngOnInit() { ngOnInit() {
this.getTemplateQuesAnsDetails(); this.getTemplateQuesAnsDetails();
this.initalLoadFormData();
if(this.categoryList.length > 0){
for (let val of this.categoryList) {
// alert(JSON.stringify(val));
let vals = val;
this.addLanguage(vals['fk_category_id'], vals['name'], vals['weightage'], null);
} }
}
}
setFormQuestionData(record) {
// alert(JSON.stringify(record));
}
initalLoadFormData(){
this._editTempCategoryFrom = this._formBuilder.group({
temp_category: this._formBuilder.array([
// this.initAnswers(),
])
})
}
// convenience getter for easy access to form fields
get f() { return this._editTempCategoryFrom.controls; }
public m_categoryList = [{
fk_category_id: 1,
name: 'Category List 1',
weightage: 2,
},{
fk_category_id: 2,
name: 'Category List 2',
weightage: 5,
},{
fk_category_id: 3,
name: 'Category List 2',
weightage: 5,
}];
public categoryList = [{
fk_category_id: 1,
name: 'Category List 1',
weightage: 2,
},{
fk_category_id: 2,
name: 'Category List 2',
weightage: 5,
}];
// Dynamic Form field creation Functionality : START ===>
initAnswers(fk_cat_id, name, weightage) {
return this._formBuilder.group({
fk_category_id: [fk_cat_id, Validators.compose([Validators.required])],
name: [name, Validators.compose([Validators.required])],
weightage: [weightage, Validators.compose([Validators.required])],
});
}
addLanguage(fk_cat_id, name, weightage, e) {
const control = <FormArray>this._editTempCategoryFrom.controls['temp_category'];
control.push(this.initAnswers(fk_cat_id, name, weightage));
}
removeLanguage(i: number) {
const control = <FormArray>this._editTempCategoryFrom.controls['temp_category'];
control.removeAt(i);
}
// END ===>
getTemplateQuesAnsDetails() { getTemplateQuesAnsDetails() {
this.templatesService.getTemplateIDQuesAnsDetails(this.questionId).subscribe( this.templatesService.getTemplateIDQuesAnsDetails(this.questionId).subscribe(
@ -120,10 +41,6 @@ export class EditQuestionAnswerComponent implements OnInit {
if (data) { if (data) {
if (data.records) { if (data.records) {
this.templateQuesAnsRecord = data.records; this.templateQuesAnsRecord = data.records;
this.setFormQuestionData(this.templateQuesAnsRecord);
// this.templateListData = data.records;
// this.dataLength = data.records.length;
// this.dataSource.data = this.templateListData;
} else { } else {
// this.noTemplateLendersFound = true; // this.noTemplateLendersFound = true;
} }