add topping recipe display & fix bugs
This commit is contained in:
parent
7d6988f581
commit
ece4cef205
8 changed files with 421 additions and 33 deletions
|
|
@ -42,6 +42,7 @@ export class ToppingsComponent implements OnInit {
|
|||
// topping list keys
|
||||
toppingListKeys: string[] = [];
|
||||
|
||||
// modals controller
|
||||
showToppingBuilder: boolean = false;
|
||||
|
||||
// forms
|
||||
|
|
@ -55,10 +56,20 @@ export class ToppingsComponent implements OnInit {
|
|||
productCode: string | undefined;
|
||||
addingNewRecipeList: boolean = false;
|
||||
|
||||
// current data variables
|
||||
currentMembersData: { [key: string]: any }[] | undefined = undefined;
|
||||
currentMemberDataForm: FormGroup = this._formBuilder.group({
|
||||
currentMembersOfToppingGroup: this._formBuilder.array([]),
|
||||
});
|
||||
|
||||
get toppingGroup(): FormArray {
|
||||
return this.toppingGroupForm.get('toppingGroup') as FormArray;
|
||||
}
|
||||
|
||||
get currentMembersOfToppingGroup(): FormArray {
|
||||
return this.currentMemberDataForm.get('currentMembersOfToppingGroup') as FormArray;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
constructor(
|
||||
|
|
@ -219,4 +230,68 @@ export class ToppingsComponent implements OnInit {
|
|||
return this.getMemberByGroupId(group).includes(member.toString());
|
||||
};
|
||||
|
||||
// topping list form structure
|
||||
createToppingListForm = (data: ToppingList) => {
|
||||
return this._formBuilder.group({
|
||||
ExtendID: data.ExtendID,
|
||||
OnTOP: data.OnTOP,
|
||||
MenuStatus: data.MenuStatus,
|
||||
cashPrice: data.cashPrice,
|
||||
disable: data.disable,
|
||||
disable_by_cup: data.disable_by_cup,
|
||||
disable_by_ice: data.disable_by_ice,
|
||||
EncoderCount: data.EncoderCount,
|
||||
id: data.id,
|
||||
isUse: data.isUse,
|
||||
isShow: data.isShow,
|
||||
StringParam: data.StringParam,
|
||||
name: data.name,
|
||||
nonCashPrice: data.nonCashPrice,
|
||||
otherName: data.otherName,
|
||||
productCode: data.productCode,
|
||||
recipes: data.recipes,
|
||||
total_time: data.total_time,
|
||||
total_weight: data.total_weight,
|
||||
useGram: data.useGram,
|
||||
weight_float: data.weight_float,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// use when selected a group, show its member data
|
||||
showToppingList = (groupID: string) => {
|
||||
|
||||
// check empty
|
||||
console.log("toppingList.empty", this.toppingLists, "groupMembersMap.empty", this.groupMembersMap);
|
||||
|
||||
// do another mapping, just to make sure data is included
|
||||
this.mapNameToMember();
|
||||
|
||||
if(this.currentMembersData != undefined){
|
||||
this.currentMembersData = undefined;
|
||||
this.currentMembersOfToppingGroup.clear();
|
||||
}
|
||||
|
||||
|
||||
let members = this.groupMembersMap[groupID]['members'];
|
||||
members.forEach((member_id: string) => {
|
||||
// get each member data from group
|
||||
let member_data = this.getMemberData(groupID, member_id);
|
||||
if(this.currentMembersData == undefined){
|
||||
this.currentMembersData = [];
|
||||
}
|
||||
this.currentMembersData!.push(member_data);
|
||||
this.currentMembersOfToppingGroup.push(this.createToppingListForm(member_data));
|
||||
});
|
||||
// this.isShowToppingList = true;
|
||||
|
||||
// query selector
|
||||
let toppingListModal = document.getElementById('topping_list_modal') as any;
|
||||
toppingListModal?.showModal();
|
||||
|
||||
console.log('current members data', this.currentMembersData);
|
||||
console.log("current members of topping group", this.currentMembersOfToppingGroup);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue