PageSourceSearch

https://yumzy.in/1146-es2015.d7e4c6c9fe877a4051da.js

js yumzy.in collected 2026-09-26 20:44:54 UTC 12,946 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkyumzy=self.webpackChunkyumzy||[]).push([[1146],{91146:function(e,o,n){n.r(o),n.d(o,{FoodPreferencesMobileModule:function(){return I}});var t=n(97582),i=n(37716),s=n(38583),r=n(67957),c=n(29410),d=n(34571),a=n(3679),l=n(63333),f=n(21633),p=n(53787),h=n(56371),g=n(53117),m=n(90787);let u=class{constructor(e,o,n,t,i){this.router=e,this.accountService=o,this.fb=n,this.toast=t,this.analyticsService=i,this.foodPreferencesFilterList=h.lp,this.foodPreferencesList=[],this.selectedIndex=null,this.isInitForm=!1,this.selectedCuisinesList=[],this.foodFilter="",this.selectFoodFilter="",this.foodPersonalizationList=[],this.isFoodPersonalizationView=!1,this.isFoodPresFormInited=!1,this.selectedCate=[],this.selectedCuisinesArr=[],this.activeAccordionId="",this.selectedFoodPreferences=[],this.selectedCuisinesLength=0,this.isInitForm=!1,this.isFoodPersonalizationView=!1,this.isFoodPresFormInited=!1,console.log(this.isFoodPersonalizationView),this.getFoodPreferencesData()}getFoodPreferencesData(){this.accountService.getFoodPreferences().then(e=>{const o=e.body.data;console.log(o),this.foodPreferencesList=o,this.initForm(),this.getSelectedFoodPreferences()})}initForm(){const e=this.foodPreferencesList.map(e=>new a.NI(!1));this.foodFilterForm=this.fb.group({foodPrefersArr:new a.Oe(e)}),this.isInitForm=!0}onFoodFilterItem(e,o){this.selectedIndex=o,this.foodFilter=e.val,this.selectFoodFilter=e.name}createObjForFoodFilter(){const e=this.foodFilterForm.value;return this.selectedCuisinesList=[],this.foodPreferencesList.filter((o,n)=>{e.foodPrefersArr.forEach((e,t)=>{n===t&&!0===e&&this.selectedCuisinesList.push(o.prefId)})}),{filter:this.foodFilter,selected:this.selectedCuisinesList}}onNext(){return(0,t.mG)(this,void 0,void 0,function*(){const e=yield this.createObjForFoodFilter();this.selectedCuisinesLength>1?this.foodFilter?this.accountService.foodPreferencesTags(e).then(e=>(0,t.mG)(this,void 0,void 0,function*(){const o=e.body.data;this.foodPersonalizationList=o,this.isFoodPersonalizationView=!0,yield this.initFoodPersonalizeForm(),this.selectedFoodPreferences.likedFoodCategories.length>0&&this.foodPersonalizationList.forEach((e,o)=>{this.selectedFoodPreferences.likedFoodCategories.some(o=>e.title===o)&&e.values.map((n,t)=>{this.selectedFoodPreferences.likedFoodTags.some(e=>n.toLowerCase()===e.toLowerCase())&&this.foodPersonalizeForm.controls.preferencesArr.controls[o].controls[e.title].controls[t].setValue(!0)})})})):this.toast.presentToast(g.B.SELECT_FOOD_FILTER_MSG,"Error","error"):this.toast.presentToast(g.B.SELECT_MIN_TWO_CUISINE_MSG,"","error")})}toggleAccordion(e,o){this.activeAccordionId=this.activeAccordionId==e.panelId?"":e.panelId}initFoodPersonalizeForm(){const e=this.foodPersonalizationList.map(e=>this.createGroup(e.title,e.values));this.foodPersonalizeForm=this.fb.group({preferencesArr:this.fb.array(e)}),this.isFoodPresFormInited=!0}createGroup(e,o){return this.fb.group({[e]:this.fb.array(o.map(e=>new a.NI(!1)))})}getFormValue(e,o,n){return this.foodPersonalizeForm.controls.preferencesArr.controls[e].controls[n].controls[o].value}onBackFoodPrefer(){this.isFoodPersonalizationView=!1}createObjForFoodPersonalization(){const e=this.foodPersonalizeForm.value;return this.selectedCuisinesArr=[],this.selectedCate=[],this.foodPersonalizationList.forEach(o=>{const n=e.preferencesArr.find(e=>e[o.title]);this.selectedCuisinesArr.push(o.title),n[o.title].some(e=>!0===e)&&o.values.filter((e,t)=>n[o.title].map((o,n)=>{t===n&&!0===o&&this.selectedCate.push(e)}))}),{likeTags:this.selectedCate,likeCategories:this.selectedCuisinesArr,preferenceType:this.foodFilter}}onDone(){return(0,t.mG)(this,void 0,void 0,function*(){const e=l.YG.userId,o=yield this.createObjForFoodPersonalization();this.accountService.updateFoodTag(o,e).then(e=>{this.router.navigate(["/account"]),this.analyticsService.cleverTapEvent(f.N.FOOD_PREFERENCE,this.foodPreferencesCleverTapEventObj(o))})})}foodPreferencesCleverTapEventObj(e){const o={cuisine_list:e.likeCategories.join(", "),cuisine_list_tag:e.likeTags.join(", ")};return Object.assign(o,(0,p.Pv)())}getSelectedFoodPreferences(){this.accountService.getSelectedFoodPreferences().then(e=>{const o=e.body.data;
1this.selectedFoodPreferences=o,o.likedFoodCategories.forEach(e=>{const o=this.foodPreferencesList.findIndex(o=>o.prefId===e);o>=0&&(this.foodFilterForm.controls.foodPrefersArr.controls[o].setValue(!0),this.selectedCuisinesList.push(this.foodPreferencesList[o].prefId))}),this.selectedIndex=h.lp.findIndex(e=>e.val===o.preferenceType),this.foodFilter=o.preferenceType,this.selectFoodFilter=h.lp[this.selectedIndex].name})}getSelectedCuisinesLength(){if(this.foodFilterForm){const e=this.foodFilterForm.controls.foodPrefersArr.controls.filter(e=>e.value);return this.selectedCuisinesLength=e.length}return this.selectedCuisinesLength=0}};u.ctorParameters=()=>[{type:r.F0},{type:d.B},{type:a.qu},{type:l.kl},{type:m.y}],u=(0,t.gn)([(0,i.Component)({template:""})],u);let F=class extends u{constructor(e,o,n,t,i){super(e,o,n,t,i),this.titleTxt="Food Preferences",this.navUrl="/account"}ngOnInit(){}};F.ctorParameters=()=>[{type:r.F0},{type:d.B},{type:a.qu},{type:l.kl},{type:m.y}],F=(0,t.gn)([(0,i.Component)({selector:"app-food-preferences-mobile",template:'<div *ngIf="!isFoodPersonalizationView">\n  <app-top-header-mobile [title]="titleTxt" [url]="navUrl"></app-top-header-mobile>\n</div>\n<ion-content>\n  <div *ngIf="isFoodPersonalizationView">\n    <header class="header">\n      <div class="row m-0">\n        <div class="col-12 d-flex header-inner">\n          <div class="p-2" (click)="onBackFoodPrefer()">\n            <img src="assets/icon/common/left-back-black.svg" alt="" width="16px" height="16px">\n          </div>\n          <p class="m-0 fw-8 fs-18 pl-2 pt-2"> Food Personalization </p>\n        </div>\n      </div>\n    </header>\n  </div>\n  <div class="food-preferences-page m-2 p-2">\n    <div class="food-preferences pb-4">\n      <div *ngIf="!isFoodPersonalizationView">\n        <div class="row mr-0">\n          <div class="col-4" *ngFor="let foodPrefFilter of foodPreferencesFilterList;index as i"\n            (click)="onFoodFilterItem(foodPrefFilter,i)">\n            <div class="filter-view-item" [ngClass]="{\'filter-active\': selectedIndex === i}">\n              <img src="assets/icon/account/check-red.svg" alt="" class="check-item-img" *ngIf="selectedIndex === i">\n              <img [src]="foodPrefFilter.img" alt="" class="mt-2">\n              <p class="mt-2 fs-12 fw-6 text-capitalize display-txt w-100 px-1">{{foodPrefFilter.name}}</p>\n            </div>\n          </div>\n        </div>\n        <div>\n          <p class="cod-black-clr fs-14 fw-4 mt-4 mb-2">Select your favourite cuisines! </p>\n        </div>\n        <form [formGroup]="foodFilterForm" *ngIf="isInitForm">\n          <div class="row mr-0 cuisines-view">\n            <div style="display: contents;" formArrayName="foodPrefersArr">\n              <div class="col-4 mt-3" *ngFor="let foodPrefItem of foodPreferencesList;index as i">\n                <div class="filter-view-item"\n                  [ngClass]="{\'filter-active\': foodFilterForm.controls[\'foodPrefersArr\'][\'controls\'][i][\'value\']}">\n                  <input type="checkbox" [formControlName]="i">\n                  <img src="assets/icon/account/check-red.svg" alt="" class="check-item-img"\n                    *ngIf="foodFilterForm.controls[\'foodPrefersArr\'][\'controls\'][i][\'value\']">\n\n                  <img [src]="foodPrefItem.imageurl" class="mt-1 food-icon">\n                  <p class="mt-2 fs-12 fw-6 text-capitalize display-txt w-100 px-1">\n                    {{foodPrefItem.displayName}}</p>\n                </div>\n              </div>\n            </div>\n          </div>\n        </form>\n      </div>\n      <div *ngIf="isFoodPersonalizationView">\n        <p class="text-center fs-11 fw-4 cool-grey-clr">\n          Please help us with your food preferences to provide your personalized food suggestions\n        </p>\n        <div>\n          <form [formGroup]="foodPersonalizeForm" *ngIf="isFoodPresFormInited">\n            <div formArrayName="preferencesArr" class="cuisines-view">\n              <div *ngFor="let foodPersItem of foodPersonalizationList; index as i" [formGroupName]="i">\n                <ngb-accordion #acc="ngbAccordion" activeIds="ngb
1-panel-{{foodPersItem.title}}"\n                  (panelChange)="toggleAccordion($event,foodPersItem.title)">\n                  \x3c!-- id="ngb-panel-{{item.title}}" --\x3e\n                  <ngb-panel [formArrayName]="foodPersItem.title">\n                    <ng-template ngbPanelTitle>\n                      <span class="text-capitalize dark-black-clr fs-18 fw-6">{{foodPersItem.title}}\n                      </span>\n                      <img src="assets/icon/home/home-down-arrow.svg" alt="" width="16px">\n                    </ng-template>\n                    <ng-template ngbPanelContent>\n                      <p class="text-center fs-10 fw-4 cool-grey-clr">\n                        (Select at least 5 for better suggestion)</p>\n                      <div class="md-chip" *ngFor="let cat of foodPersItem.values;index as j"\n                        [ngClass]="{\'md-chip-active\':  getFormValue(i, j, foodPersItem.title)}">\n                        <input type="checkbox" [formControlName]="j">\n                        {{cat}}\n                      </div>\n                    </ng-template>\n                  </ngb-panel>\n                </ngb-accordion>\n              </div>\n            </div>\n          </form>\n        </div>\n      </div>\n    </div>\n  </div>\n</ion-content>\n<div class="bottom-btn-view" *ngIf="!isFoodPersonalizationView">\n  <p class="m-0 pb-2 fs-12 fw-6 px-1 text-capitalize">{{selectFoodFilter}}\n    <span class="float-right pb-2" *ngIf="getSelectedCuisinesLength() > 0">\n      {{ selectedCuisinesLength }} {{ selectedCuisinesLength > 1 ? \'Cuisines\' : \'Cuisine\' }} Selected!\n    </span>\n  </p>\n  <button class="btn btn-lg btn-block btn-red-bg" (click)="onNext()">Next</button>\n</div>\n<div class="bottom-btn-view" *ngIf="isFoodPersonalizationView">\n  <p class="m-0 pb-2 fs-12 fw-6 px-1 text-capitalize">\n    <span class="float-right pb-2" *ngIf="selectedCate.length > 0">\n      {{selectedCate.length}} selected\n    </span>\n  </p>\n  <button class="btn btn-lg btn-block btn-red-bg" (click)="onDone()">Done</button>\n</div>',styles:[c]})],F);var v=n(8032),b=n(42549),P=n(94490);const x=[{path:"",component:F}];let I=class{};I=(0,t.gn)([(0,i.NgModule)({declarations:[F],imports:[s.ez,r.Bz.forChild(x),a.u5,a.UX,b.IJ,v.p,P.Pc]})],I)},29410:function(e){e.exports=".food-preferences-page .food-preferences {\n  margin-top: 60px;\n}\n.food-preferences-page .food-preferences .filter-view-item {\n  background: var(--food-prefer-filter-bg-clr);\n  text-align: center;\n  border-radius: 1rem;\n  padding: 1rem;\n  height: 7rem;\n  width: 6rem;\n  position: relative;\n}\n.food-preferences-page .food-preferences .filter-active {\n  border: 1px solid #ff7286;\n}\n.food-preferences-page .food-preferences .check-item-img {\n  position: absolute;\n  right: 12px;\n  top: 8px;\n}\n.food-preferences-page .food-preferences .food-icon {\n  position: relative;\n}\n.food-preferences-page .food-preferences .display-txt {\n  position: absolute;\n  bottom: 16px;\n  left: 0;\n}\n.food-preferences-page .food-preferences input {\n  position: absolute;\n  width: 80%;\n  height: 100%;\n  z-index: 100;\n  opacity: 0;\n  margin-left: -1.4rem;\n  margin-top: -1.2rem;\n}\n.food-preferences-page .food-preferences .cuisines-view {\n  margin-bottom: 5.8rem;\n}\n.food-preferences-page .food-preferences .accordion > .card {\n  border: 0px !important;\n}\n.food-preferences-page .food-preferences ngb-accordion {\n  text-align: center;\n}\n.food-preferences-page .food-preferences ngb-accordion ::ng-deep .card {\n  border: 0px !important;\n}\n.food-preferences-page .food-preferences ngb-accordion ::ng-deep .card .card-header.active > a > span {\n  color: #1d2124;\n}\n.food-preferences-page .food-preferences ngb-accordion ::ng-deep .btn-link {\n  color: #212529;\n  text-decoration: none;\n}\n.food-preferences-page .food-preferences ngb-accordion ::ng-deep .card-header {\n  border: 0px;\n  background: none;\n  padding: 0px;\n}\n.food-preferences-page .food-preferences ngb-accordion ::ng-deep .card-body {\n  padding: 0;\n  text-align: left;\n}\n.food-preferences-page .food-preferences ngb-accordion .md-chip {\n  display: inline-block;\n  padding: 4px 12px;\n  border-radius: 8px;\n  margin: 4px;\n  font-size: 13px;\n  border: 1px solid #98c1d9;\n}\n.food-preferences-page .food-preferences ngb-accordion .md-chip.md-chip-hover:hover {\n  background: #ccc;\n}\n.food-preferences-page .food-preferences ngb-accordion .md-chip-active {\n  background: #fc6f7f;\n  border: 1px solid #fc6f7f;\n  color: white;\n}"}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.