change material selection
This commit is contained in:
parent
f9d833e3b7
commit
3698e6e3c0
7 changed files with 49 additions and 28 deletions
|
|
@ -34,14 +34,16 @@ export class RecipeToppingsetComponent implements OnInit {
|
|||
@Input() productCode!: string;
|
||||
@Output() toppingSetChange = new EventEmitter<unknown[]>();
|
||||
|
||||
toppingSetList: ToppingSet[] = [];
|
||||
allToppings: Topping | undefined = undefined;
|
||||
|
||||
allToppingsDefinitions:
|
||||
| { groupId: string; name: string; members: string; default: string }[]
|
||||
| null = [{ groupId: '0', name: 'none', members: '0', default: '0' }];
|
||||
|
||||
allToppingMembersByGroup: { id: string; members: {id:string, name:string}[] }[] = [];
|
||||
allToppingMembersByGroup: {
|
||||
id: string;
|
||||
members: { id: string; name: string }[];
|
||||
}[] = [];
|
||||
|
||||
private _toppingSetOriginalArray!: ToppingSet[];
|
||||
|
||||
|
|
@ -70,16 +72,10 @@ export class RecipeToppingsetComponent implements OnInit {
|
|||
this.productCode
|
||||
)
|
||||
.subscribe((data) => {
|
||||
console.log('getToppingset', data);
|
||||
this.toppingSetList = data;
|
||||
// this.toppingForm.patchValue({toppingList: data});
|
||||
this._toppingSetOriginalArray = data;
|
||||
|
||||
data.forEach((toppingSet: ToppingSet) => {
|
||||
// console.log("getToppingset",toppingSet);
|
||||
|
||||
// toppingSet.ListGroupID = toppingSet.ListGroupID.map((id) => id.toString());
|
||||
|
||||
this.toppingList.push(
|
||||
this._formBuilder.group({
|
||||
isUse: toppingSet.isUse,
|
||||
|
|
@ -90,7 +86,7 @@ export class RecipeToppingsetComponent implements OnInit {
|
|||
);
|
||||
});
|
||||
|
||||
console.log('controls', this.toppingList.controls);
|
||||
// console.log('controls', this.toppingList.controls);
|
||||
|
||||
// this.toppingSetChange.emit(this.toppingSetList);
|
||||
});
|
||||
|
|
@ -112,12 +108,12 @@ export class RecipeToppingsetComponent implements OnInit {
|
|||
groupId: group.groupID,
|
||||
name: group.name,
|
||||
members: group.idInGroup,
|
||||
default: group.idDefault
|
||||
default: group.idDefault,
|
||||
});
|
||||
|
||||
this.allToppingMembersByGroup.push({
|
||||
id: group.groupID,
|
||||
members: this.mapToppingListToMember(group.idInGroup.split(','))
|
||||
members: this.mapToppingListToMember(group.idInGroup.split(',')),
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
@ -158,14 +154,13 @@ export class RecipeToppingsetComponent implements OnInit {
|
|||
newToppingSetList.push(toppingSet);
|
||||
});
|
||||
|
||||
console.log('newToppingList', newToppingSetList);
|
||||
// console.log('newToppingList', newToppingSetList);
|
||||
this.toppingSetChange.emit(newToppingSetList as unknown[]);
|
||||
} else {
|
||||
console.log('newToppingListNoChange', value.toppingList);
|
||||
this.toppingSetChange.emit([]);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// match group id to its name
|
||||
|
|
@ -190,13 +185,12 @@ export class RecipeToppingsetComponent implements OnInit {
|
|||
}
|
||||
|
||||
getMembersByGroupId(groupID: string) {
|
||||
return this.allToppingMembersByGroup
|
||||
.find((x) => x.id == groupID)
|
||||
?.members;
|
||||
return this.allToppingMembersByGroup.find((x) => x.id == groupID)?.members;
|
||||
}
|
||||
|
||||
getGroupIdByIndex(i: number) {
|
||||
return (this.toppingForm.value.toppingList![i] as any).groupID as string;
|
||||
// console.log("getGroupId",this.toppingList.value![i])
|
||||
return (this.toppingList.value![i] as any).groupID as string;
|
||||
}
|
||||
|
||||
mapToppingListToMember = (mm: string[]) =>
|
||||
|
|
@ -210,6 +204,17 @@ export class RecipeToppingsetComponent implements OnInit {
|
|||
};
|
||||
});
|
||||
|
||||
getDefaultOfGroup(groupID: any) {
|
||||
this.toppingList.controls.forEach((control) => {
|
||||
if ((control.value as any).groupID == groupID) {
|
||||
let newDefault = this.allToppingsDefinitions!.find(
|
||||
(x) => x.groupId == groupID
|
||||
)!.default;
|
||||
// set new defaultid
|
||||
control.get('defaultIDSelect')?.setValue(newDefault);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
compareFunc = (a: any, b: any) => a.toString() === b.toString();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue