namrithakumar / mealoptimizerui

UI for mealoptimizer application - developed using Angular
0 stars 0 forks source link

Rewrite meal-optimizer: Replace event emitter, property binding with services #27

Closed namrithakumar closed 4 years ago

namrithakumar commented 4 years ago

user-diet-type-selector ----- (pass selected diet type) ----> meal-optimizer => OrderService, set data directly delivery-date-selector ----- (pass selected delivery date) -----> meal-optimizer => OrderService, set data directly meal-options ---- (pass meal/item selected) ----> meal-selector --- (pass meal/item selected) ----> meal-optimizer => OrderService, emit event 'mealSelected'

optimized meal plan ---- order-summary, optimized-results-table ----> order-info, optimized-result-cost, optimized-result-quality => OptimizationService - get data from getters

namrithakumar commented 4 years ago

@Injectable({ providedIn : root }) OptimizationService {

constructor(private orderService:OrderService, private dietService, DietService) {}

mealListCost[] = [Meal object]; mealListReward[] = [Meal object];

ngOnInit() { Map<dietType, displayValue> = dietService.getDietTypes(); }

getResultSummary() {} getOrderInfo() {} getOptimizedResult(OptimizationType COST/REWARD) {} }

namrithakumar commented 4 years ago

OrderService {

selectedMealList = new String<4>[]; dietType : String; deliveryDate : Date;

constructor(private itemService : ItemService, private dietService : DietService) { }

setDietType(dietType : String) { this.dietType = dietType; }

setDeliveryDate(deliveryDate : Date) { this.deliveryDate = deliveryDate; }

addMeal(selectedMeal : Meal) {} selectedMealList.push(selectedMeal); }

onMealSelect = new EventEmitter(); }

namrithakumar commented 4 years ago

ItemService {

getItemsByCategory(String Category) :String [] {} }

UserDietService { getDietTypes() : <dietType, displayValue>{} }