{"version":3,"sources":["./src/app/components/top-header-green/top-header-green.component.ts","./src/app/components/search/search.component.html","./src/app/components/contact/contact.component.html","./src/app/components/resraurant-item/resraurant-item.component.ts","./src/app/components/end-order/end-order.component.html","./src/app/components/menu/menu.component.ts","./src/app/components/history-order-item/history-order-item.component.ts","./src/app/components/login-phone-varification2/login-phone-varification2.component.ts","./src/app/components/restaurant-category/restaurant-category.component.ts","./src/app/components/terms-of-use/terms-of-use.component.html","./src/app/components/header/header.component.ts","./src/app/components/popup-login/popup-login.component.html","./src/app/components/top-header-green/top-header-green.component.html","./src/app/components/gift-card-payment/gift-card-payment.component.html","./src/app/models/user.ts","./src/app/components/login-phone-varification/login-phone-varification.component.ts","./src/app/components/password2/password2.component.html","./src/app/components/gift-card-payment/gift-card-payment.component.ts","./src/app/services/global.service.ts","./src/app/services/order-service.ts","./src/app/services/oneTimeOrder.service.ts","./src/app/components/restaurant/restaurant.component.ts","./src/app/components/end-order/end-order.component.ts","./src/app/components/code-worker/code-worker.component.html","./src/app/components/main-home/main-home.component.html","./src/app/components/popup-giftcard/popup-giftcard.component.html","./src/app/components/map/map.component.html","./src/app/components/footer/footer.component.html","./src/app/components/payment-info/payment-info.component.html","./src/app/components/review/review.component.ts","./src/app/components/login-phone-varification2/login-phone-varification2.component.html","./src/app/components/big-image/big-image.component.html","./src/app/components/main-list/main-list.component.html","./src/app/components/verification-code/verification-code.component.ts","./src/app/components/toppings/toppings.component.html","./src/app/components/user-inactivity-popup/user-inactivity-popup.component.ts","./src/app/components/verification-code/verification-code.component.html","./src/app/components/user-inactivity-popup/user-inactivity-popup.component.html","./src/app/components/reserved-restaurants/reserved-restaurants.component.ts","./src/environments/environment.ts","./src/app/components/your-order/your-order.component.html","./src/app/services/ResponsiveWidthDirective.ts","./src/app/components/payment/payment.component.html","./src/app/components/review/review.component.html","./src/app/components/gift-card/gift-card.component.html","./src/app/components/verification-code2/verification-code2.component.html","./src/app/components/map/map.component.ts","./src/app/services/app-proxy.ts","./src/app/services/data.service.ts","./src/app/components/login-phone-varification/login-phone-varification.component.html","./src/app/components/menu/menu.component.html","./src/app/components/contact/contact.component.ts","./src/app/components/delivery/delivery.component.ts","./src/app/components/password/password.component.ts","./src/app/models/category.ts","./src/app/components/popup-log-out/popup-log-out.component.ts","./src/app/components/main-home/main-home.component.ts","./src/app/components/secure-payment/secure-payment.component.html","./src/app/components/popup-isCorectOrder/popup-isCorectOrder.component.html","./src/app/components/payment-info/payment-info.component.ts","./src/app/components/iframe-credit-card/iframe-credit-card.component.ts","./src/app/components/footer/footer.component.ts","./src/app/components/terms-of-use3/terms-of-use3.component.html","./src/app/components/shipping-history/shipping-history.component.ts","./src/app/components/secure-payment/secure-payment.component.ts","./src/app/components/popup-isCorectOrder/popup-isCorectOrder.component.ts","./src/app/components/dialog-out-of-bounds/dialog-out-of-bounds.component.ts","./src/app/services/seo_service.ts","./src/app/components/gift-card-sucsess/gift-card-sucsess.component.html","./src/app/components/search/search.component.ts","./src/app/models/order.ts","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/components/shipping-history/shipping-history.component.html","./src/app/components/popup-error/popup-error.component.ts","./src/app/app.component.ts","./src/app/components/category/category.component.html","./src/app/components/popup-enter2/popup-enter2.component.ts","./src/app/components/main-list/main-list.component.ts","./src/app/components/delivery/delivery.component.html","./src/app/services/sections_metadata.ts","./src/app/components/dialog-out-of-bounds/dialog-out-of-bounds.component.html","./src/app/components/login/login.component.ts","./src/app/components/verification-code2/verification-code2.component.ts","./src/app/components/gift-card/gift-card.component.ts","./src/app/components/iframe-credit-card/iframe-credit-card.component.html","./src/app/components/register/register.component.ts","./src/app/components/header/header.component.html","./src/app/components/order-history/order-history.component.html","./src/app/components/history-delivery-item/history-delivery-item.component.ts","./src/app/app.module.ts","./src/app/models/delivery.ts","./src/app/components/restaurant/restaurant.component.html","./src/app/components/history-delivery-item/history-delivery-item.component.html","./src/app/components/category-item/category-item.component.ts","./src/app/components/card-number-formatter.directive.ts","./src/app/models/restaurant.ts","./src/app/components/popup-enter/popup-enter.component.html","./src/app/components/popup-order/popup-order.component.html","./src/app/services/bussinss-service.ts","./src/app/services/user-service.ts","./src/app/components/history-order-item/history-order-item.component.html","./src/app/components/order-history/order-history.component.ts","./src/app/components/login/login.component.html","./src/app/services/creditCard-service.ts","./src/app/components/category-item/category-item.component.html","./src/app/components/code-worker/code-worker.component.ts","./src/app/components/big-image/big-image.component.ts","./src/app/components/popup-order/popup-order.component.ts","./src/app/services/inji.service.ts","./src/app/components/resraurant-item/resraurant-item.component.html","./src/app/loader/loader.component.html","./src/app/components/password2/password2.component.ts","./src/app/components/payment/payment.component.ts","./src/app/components/login2/login2.component.ts","./src/app/components/password/password.component.html","./src/app/loader/loader.component.ts","./src/app/components/topping2/topping2.component.ts","./src/app/components/login2/login2.component.html","./src/app/components/category/category.component.ts","./src/app/components/toppings/toppings.component.ts","./src/app/components/topping2/topping2.component.html","./src/app/components/popup-enter2/popup-enter2.component.html","./src/app/components/map2/map2.component.ts","./src/app/components/terms-of-use/terms-of-use.component.ts","./src/app/components/popup-giftcard/popup-giftcard.component.ts","./src/app/components/popup-error/popup-error.component.html","./src/app/components/popup-log-out/popup-log-out.component.html","./src/app/components/restaurant-category/restaurant-category.component.html","./src/app/components/map2/map2.component.html","./src/app/components/popup-login/popup-login.component.ts","./src/app/app-routing.module.ts","./src/app/components/reserved-restaurants/reserved-restaurants.component.html","./src/app/components/popup-enter/popup-enter.component.ts","./src/app/components/terms-of-use3/terms-of-use3.component.ts","./src/app/components/register/register.component.html","./src/app/components/gift-card-sucsess/gift-card-sucsess.component.ts","./src/app/components/your-order/your-order.component.ts","./src/app/app.component.html","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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G,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,SAAS,EAAI,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,UAAU,EAAG,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE;YACrC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE;YACrC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,UAAU,EAAG,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,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W,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,SAAS,EAAE;YACrC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,UAAU,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,UAAU,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,UAAU,EAAI,GAAG,EAAE,UAAU,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,UAAU,EAAE;YACtC,EAAE,GAAG,EAAE,UAAU,EAAI,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,E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gBjB;AAEM,MAAM,SAAS;CAGrB;AAEM,MAAM,YAAY;CAcxB;AAEM,MAAM,OAAO;CAyBnB;AAEM,MAAM,aAAa;CAKzB;AAEM,MAAM,IAAI;CAGhB;AAEM,MAAM,WAAW;IAAxB;QAKA,gBAAW,GAAQ,CAAC,CAAC;IAOrB,CAAC;CAAA;AAEM,MAAM,eAAe;IAA5B;QAEA,SAAI,GAAQ,YAAY,CAAC;QACzB,8BAA8B;IAC9B,CAAC;CAAA;AAEM,MAAM,mBAAmB;CAW/B;AAEM,MAAM,YAAY;CAUxB;AAEM,MAAM,eAAe;CAU3B;;;;;;;;;;;;ACrID;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8GCxRA,kJAA2D,KACvD,8RACyE;8GAIrE,gJAA2D,KACvD,uwBAAgE,yBAArC,kBAAe,oBAA1C,YAAgE,EAArC,SAAe;8GAtBtD,+IAAwB,KACxB,qLAAwD,KACxD,iJAA2B,KACvB,+PAA+H,KAC/H,+SACsE,iMAAqB,MAC3F,kPAAsH,KAClH,2QAAoI,YAA/H;;wBAAuC;MAA5C,wBAAoI,KACpI;;;;;;;;;;;wBAC8H;MAD1G;;wBAA6C;MAAC;;wBAAkB;MAApF,myCAC8H,IAEhI,uHAAI,KACJ,uHAAI,KAGV,kZAA2D,IAI3D,+JAAwC,KACpC,+NAAoG,KAChG,2dAA2D,iDAb2B,sBAAW,EAA/B,mBAAkB,OAApF,aAC8H,EADxC,SAAW,EAA/B,SAAkB,GAOvF,6CAA8B,GAAnC,aAA2D,EAAtD,SAA8B,GAMD,oBAA+B,gBAAzD,aAA2D,EAAjC,UAA+B,2BAbzD,qtBAC8H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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E,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE;YACrC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE;YACrC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE;YACrC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,SAAS,EAAI,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,UAAU,EAAG,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE;YACrC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE;YACrC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,UAAU,EAAG,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,UAAU,EAAG,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE;YACrC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,UAAU,EAAG,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,UAAU,EAAG,GAAG,EAAE,UAAU,EAAE;YACrC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE;YACpC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE;YACnC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,UAAU,EAAG,GAAG,EAAE,UAAU,EAAE;YACrC,EAAE,GAAG,EAAE,UAAU,EAAG,GAAG,EAAE,WAAW,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,UAAU,EAAI,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,UAAU,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,SAAS,EAAK,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,UAAU,EAAG;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,SAAS,EAAE;YACrC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,UAAU,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,UAAU,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,UAAU,EAAI,GAAG,EAAE,UAAU,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,UAAU,EAAE;YACtC,EAAE,GAAG,EAAE,UAAU,EAAI,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,UAAU,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,UAAU,EAAI,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,UAAU,EAAI,GAAG,EAAE,UAAU,EAAE;YACtC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EAAE,WAAW,EAAE;YACvC,EAAE,GAAG,EAAE,WAAW,EAAG,GAAG,EA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","file":"main.js","sourcesContent":["import { Component, OnInit ,Input} from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-top-header-green',\n templateUrl: './top-header-green.component.html',\n styleUrls: ['./top-header-green.component.scss']\n})\nexport class TopHeaderGreenComponent implements OnInit {\n @Input()customTitle: string;\n\n constructor(private router: Router) { }\n\n backPress()\n {\n window.history.back();\n }\n\n ngOnInit(): void {}\n}\n","
\n
\n
\n
\n
\n \n{{c.Search}}\n
\n
\n
\n
\n
\n\n","
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n \n
\n שדה חובה \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n {{errorMail}} \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n {{errorPhone}} \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n שדה חובה \n
\n \n * יש להזין את כל הפרטים \n
\n
\n \n שלח\n
\n \n
\n \n\n
\n
\n \n שלח\n
\n \n
\n
\n \n
\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n","import { Component, OnInit ,EventEmitter ,Input ,Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { CategoryItem ,Category} from 'src/app/models/category';\nimport { MyOrder } from 'src/app/models/order';\nimport { OpenningHours } from 'src/app/models/restaurant';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { DataService } from 'src/app/services/data.service';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { PopupEnterComponent } from '../popup-enter/popup-enter.component';\nimport { PopupEnter2Component } from '../popup-enter2/popup-enter2.component';\nimport { PopupOrderComponent } from '../popup-order/popup-order.component';\n\n@Component({\n selector: 'app-resraurant-item',\n templateUrl: './resraurant-item.component.html',\n styleUrls: ['./resraurant-item.component.scss']\n})\nexport class ResraurantItemComponent implements OnInit {\n stars:number[]=[1,2,3,4,5];\n @Input() categoryItem:CategoryItem;\n @Input() category:Category;\n @Input() indexList:number;\n @Input() restaurantCategory:number;\n @Output()\n change: EventEmitter = new EventEmitter();\n categoryType:number=1;\n clickFevorite=false;\n fevorit='assets/images/Restorant_Page_Fevorit_Button.png';\n fevoritActive='assets/images/Fevorit_Activ.png';\n order:MyOrder;\n localId;\n isClick=false;\n Rate= new Array(3);\n openningHours:OpenningHours[]=[];\n dayTime=\"\";\n innerWidth:any;\n\n constructor(private router: Router,private dataService:DataService ,private matDialog: MatDialog, private proxy: AppProxy,private bussinssService: BussinssService ,private orderService:OrdersService) { }\n\n onClickCategory(CategoryNumber:number)\n {\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n localStorage.TEXT=\"\"\n this.isClick=true;\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\") \n \n {\n if (this.innerWidth <= 480)\n this.matDialog.open(PopupEnter2Component);\n else\n this.matDialog.open(PopupEnterComponent);\n }\n else\n {\n localStorage.PRICE=0;\n if(this.clickFevorite==false)\n {\n let id;\n if(this.categoryItem.ID>0)\n id=this.categoryItem.ID;\n else\n id=this.categoryItem.RstaurantID;\n this.bussinssService.getOpenningHours2(id).subscribe((res:boolean)=>{\n if(this.categoryItem.RstaurantID==null )\n this.dayTime=\"\";\n else\n {\n // this.openningHours=res;\n // let b=0;\n // for(let i=0;i0)\n // {\n // i=i-1\n // b=1;\n // }\n // else\n // {\n // i=6;\n // b=7;\n // }\n // }\n // if(this.openningHours[i].DayTime!='' && this.openningHours[i].DayTime!='0:00-0:00' && this.openningHours[i].DayTime!='00:00-00:00')\n // {\n // var fields = this.openningHours[i].DayTime.split('-');\n // if(this.proxy.isOpen(fields[0],fields[1],b))\n // this.dayTime=this.openningHours[i].DayTime;\n // else\n // this.dayTime=\"סגור\";\n // }\n // else\n // this.dayTime=\"סגור\";\n // i=this.openningHours.length;\n // }\n // }\n if (res == false)\n {\n this.dayTime=\"סגור\"\n }\n }\n if(this.dayTime==\"סגור\")\n this.proxy.showError(\"המסעדה סגורה\\n אין אפשרות לבצע הזמנה\",\"\");\n //this.openDialog(); \n else{\n this.orderService.restaurant=null;\n let id=this.categoryItem.ID;\n // if(this.categoryItem.RstaurantID==null )\n\n if(CategoryNumber==1 || this.restaurantCategory==8)\n {\n // localStorage.ID=id;\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n if(this.order.OrderID==0 && (this.order.list==null || this.order.list.length==0)) \n {\n localStorage.MENU_ID=0;\n this.orderService.order=null;\n sessionStorage.CATEGORY_FILTER=\"\";\n localStorage.ID=id;\n this.dataService.endToppings.next(true);\n this.change.emit();\n let url: string = \"/restaurant/\" + this.categoryItem.NameEn\n this.router.navigateByUrl(url);\n //this.router.navigate(['../restaurant']);\n }\n else\n {\n if(this.order.list==null || this.order.list.length==0 )\n {\n this.orderService.setUpdateOrder(this.order.OrderID,0,0,0,1,\n null,null,0,null,1,null,null,null,null,null,null,null,null,0).subscribe((res:any)=>{\n this.orderService.order=null;\n sessionStorage.CATEGORY_FILTER=\"\";\n localStorage.ID=id;\n this.dataService.endToppings.next(true);\n this.change.emit();\n let url: string = \"/restaurant/\" + this.categoryItem.NameEn\n this.router.navigateByUrl(url);\n // this.router.navigate(['../restaurant']);\n });\n }\n else\n {\n localStorage.ID=this.categoryItem.ID\n this.matDialog.open(PopupOrderComponent, {\n data: { OrderID: this.order.OrderID },\n });\n }\n }\n });\n \n }\n else if(CategoryNumber==2)\n {\n // localStorage.ID=id;\n localStorage.ID_CATEGORY=id;\n let url: string = \"/restaurantCategory/\" + id\n this.router.navigateByUrl(url);\n //this.router.navigate(['../restaurantCategory']);\n }\n }\n});}}}\n\n ngOnInit(): void {\n this.innerWidth=window.innerWidth;\n // sessionStorage.deeplink='';\n this.localId=localStorage.ID;\n this.clickFevorite=false;\n if(this.categoryItem !=null && this.categoryItem.ImageFile!=null)\n if(this.category.categoryType==2)\n this.categoryType=2;\n else\n this.categoryType=1;\n if(this.categoryItem.IsFevorite==1)\n this.fevorit='assets/images/Fevorit_Activ.png';\n else\n this.fevorit='assets/images/Restorant_Page_Fevorit_Button.png';\n if(this.categoryItem.Rate==0 ||this.categoryItem.Rate==null)\n this.categoryItem.Rate=3;\n }\n\n addFevorit()\n {\n if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.router.navigate(['../mainHome']);\n else\n {\n this.clickFevorite=true;\n this.bussinssService.setFavoriteBusiness(this.categoryItem.ID).subscribe((res:any)=>{\n this.change.emit();\n });\n}\n}\n}\n\n","\n\n \n \n \n\n \n \n \n \n \n \n
\n
\n
\n \n
\n
\n \n \n\n \n חזרה לתפריט הראשי\n
\n
\n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n\n\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { CreditCardService } from 'src/app/services/creditCard-service';\nimport { DataService } from 'src/app/services/data.service';\nimport { LoginComponent } from '../login/login.component';\nimport { PopupEnterComponent } from '../popup-enter/popup-enter.component';\nimport { PopupEnter2Component } from '../popup-enter2/popup-enter2.component';\nimport { PopupLogOutComponent } from '../popup-log-out/popup-log-out.component';\nimport { TermsOfUseComponent } from '../terms-of-use/terms-of-use.component';\n\n@Component({\n selector: 'app-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss']\n})\nexport class MenuComponent implements OnInit {\n @Output()changePrice: EventEmitter = new EventEmitter();\n @Output()changByFood: EventEmitter = new EventEmitter();\n @Output()state: EventEmitter = new EventEmitter();\n innerWidth: any;\n logInOrOut=\"התנתק\"\n token=\"\";\n\n constructor(private dataService:DataService,private matDialog:MatDialog, private router: Router,private proxy:AppProxy,private creaditCardService:CreditCardService) { }\n\n ngOnInit(): void {\n this.dataService.byFood.next(false);\n this.changByFood.emit();\n sessionStorage.deeplink2=\"\";\n sessionStorage.deeplink=\"\";\n window.scroll(0,0);\n this.dataService.showSearch.next(false);\n this.changByFood.emit();\n let priceTotal=\"0 - פריטים\";\n localStorage.PRICE=0;\n localStorage.PRICE_TOTAL=priceTotal;\n this.dataService.price.next(priceTotal);\n this.changePrice.emit();\n this.token = this.dataService.token.getValue() || {};\n this.dataService.token.subscribe(data=>{\n this.token=data;\n });\n if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\" || localStorage.oneTimeOrderOrOrder=='oneTimeOrder')\n this.logInOrOut=\"התחבר\";\n else\n this.logInOrOut=\"התנתק\";\n }\n\n termsOfUse()\n {\n this.innerWidth = window.innerWidth;\n if(this.innerWidth<=480)\n this.router.navigate(['../termsUse']);\n else\n this.openDialog();\n }\n\n openDialog() {\n this.matDialog.open(TermsOfUseComponent,{ disableClose: true });\n }\n\n main()\n {\n // if(localStorage.SMS==\"\")\n // this.proxy.showError(\"חובה להכניס קוד\",\"\");\n // else if(localStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n // this.proxy.showError(\"אינך רשום למערכת\",\"\");\n // else\n // {\n this.router.navigate(['../mainHome']);\n // }\n }\n\n search()\n {\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.openEnterDialog();\n else\n {\n this.router.navigate(['../search']);\n }\n }\n\n editUser()\n {\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.proxy.showError(\"אינך רשום למערכת\",\"\");\n else\n {\n this.router.navigate(['../register']);\n }\n }\n\n inOrOut()\n {\n if(sessionStorage.ACCESS_TOKEN != \"null\" && localStorage.oneTimeOrderOrOrder!='oneTimeOrder')\n {\n\n this.matDialog.open(PopupLogOutComponent, {\n });\n // let reset = confirm(\"האם אתה בטוח שברצונך להתנתק מהאתר \");\n // if (reset)\n // {\n // this.dataService.state.next(\"התחבר\");\n // this.state.emit();\n // sessionStorage.ACCESS_TOKEN = null;\n \n // }\n }\n else\n this.matDialog.open(LoginComponent, { disableClose: true });\n // this.router.navigate(['../login']);\n }\n\n orderHistory()\n {\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.openEnterDialog();\n else\n {\n this.router.navigate(['../orderHistory']);\n }\n }\n\n shippingHistory(){\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.openEnterDialog();\n else\n this.router.navigate(['../shippingHistory']);\n }\n\n paymentInfo(){\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.openEnterDialog();\n else\n this.router.navigate(['../paymentInfo']);\n }\n\n reservedRestaurants(){\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.openEnterDialog();\n else\n this.router.navigate(['../reservedRestaurants']);\n }\n\n editProfil()\n {\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.openEnterDialog();\n else\n this.router.navigate(['/register']);\n }\n\n giftCard()\n {\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.openEnterDialog();\n else\n {\n this.creaditCardService.IsPaymentByGiftCard=false;\n this.router.navigate(['/giftCard']);\n }\n }\n\n\n openEnterDialog() {\n if(this.innerWidth<=480)\n this.matDialog.open(PopupEnter2Component, { disableClose: true });\n else\n this.matDialog.open(PopupEnterComponent, { disableClose: true });\n }\n}\n","import { Component, OnInit ,Input, Inject} from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { MyOrder, OrderHistory } from 'src/app/models/order';\nimport { OpenningHours, Restaurant } from 'src/app/models/restaurant';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { PopupErrorComponent } from '../popup-error/popup-error.component';\nimport { DOCUMENT } from '@angular/common';\n\n@Component({\n selector: 'app-history-order-item',\n templateUrl: './history-order-item.component.html',\n styleUrls: ['./history-order-item.component.scss']\n})\nexport class HistoryOrderItemComponent implements OnInit {\n require: any\n FileSaver = require('file-saver');\n @Input() orderItem:OrderHistory;\n order:MyOrder;\n dayTime=\"סגור\";\n restaurant:Restaurant=new Restaurant;\n openningHours:OpenningHours[]=[];\n showProgress=false;\n\n constructor( @Inject(DOCUMENT) private document: Document ,private router: Router,private proxy:AppProxy,private matDialog:MatDialog ,private orderService:OrdersService,private bussinssService: BussinssService) { }\n\n ngOnInit(): void {}\n\n orderAgain()\n {\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.router.navigate(['../mainHome']);\n else\n {\n this.showProgress=true;\n this.orderService.setNewOrderByHistory(this.orderItem.OrderID).subscribe((res:any)=>{\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n // localStorage.ID=this.order.RestaurantID;\n this.bussinssService.getRestaurantDetails(this.order.RestaurantID,false,false,false,null,null).subscribe((res:any)=>{\n this.restaurant=res;\n let id;\n id=this.orderItem.RestaurantID;\n this.bussinssService.getOpenningHours2(id).subscribe((res:boolean)=>{\n if(this.orderItem.RestaurantID==null )\n this.dayTime=\"\";\n else\n {\n // this.openningHours=res;\n // let b=0;\n // for(let i=0;i0)\n // {\n // i=i-1\n // b=1;\n // }\n // else\n // {\n // i=6;\n // b=7;\n // }\n // }\n // if(this.openningHours[i].DayTime!='' && this.openningHours[i].DayTime!='0:00-0:00' && this.openningHours[i].DayTime!='00:00-00:00')\n // {\n // var fields = this.openningHours[i].DayTime.split('-');\n // if(this.proxy.isOpen(fields[0],fields[1],b))\n // this.dayTime=this.openningHours[i].DayTime;\n // else\n // this.dayTime=\"סגור\";\n // }\n // else\n // this.dayTime=\"סגור\";\n // i=this.restaurant.ListDay.length;\n // }\n // }\n\n if (res == false)\n {\n this.dayTime=\"סגור\"\n }\n }\n this.showProgress=false;\n if(this.dayTime==\"סגור\")\n // this.openDialog();\n this.proxy.showError(\"המסעדה סגורה\\n אין אפשרות לבצע הזמנה\",\"\");\n else\n this.router.navigate([\"../yourOrder\"]);\n });\n });\n });\n });\n}\n }\n\n openDialog() {\n const dialogConfig = new MatDialogConfig();\n this.matDialog.open(PopupErrorComponent, { disableClose: true });\n }\n\n downloadPdf() {\n const formattedDocLink = this.orderItem.DocLink.replace(/ /g, '');\n const url = new URL(formattedDocLink);\n\n if (url) {\n this.document.defaultView?.open(url.toString(), '_blank');\n } else {\n console.error('Invalid URL');\n }\n\n\n // this.orderService.getDownloadInvoice(this.orderItem.OrderID).subscribe((res:any)=>{\n //const pdfUrl = 'assets/sample.pdf';\n //const pdfName = 'your_pdf_file';\n // if(this.orderItem.ReceptionFile!=null)\n // this.FileSaver.saveAs(this.orderItem.ReceptionFile, pdfName);\n // else\n //this.proxy.showSucceeded(\"החשבונית נשלחה \\n בהצלחה למייל שלך\",\"\");\n // });\n }\n}\n","import { Component, OnInit , EventEmitter ,ViewChild ,ElementRef, Output} from '@angular/core';\nimport { FormGroup,FormControl,Validators, NumberValueAccessor ,FormBuilder } from '@angular/forms';\nimport {MatDialog, MatDialogConfig ,MatDialogRef} from '@angular/material/dialog';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { UserService } from 'src/app/services/user-service';\nimport { Router } from '@angular/router';\nimport { filter } from \"rxjs/operators\";\nimport { LoginComponent } from '../login/login.component';\nimport { DataService } from 'src/app/services/data.service';\n\n@Component({\n selector: 'app-login-phone-varification2',\n templateUrl: './login-phone-varification2.component.html',\n styleUrls: ['./login-phone-varification2.component.scss']\n})\nexport class LoginPhoneVarification2Component implements OnInit {\n @Output()state: EventEmitter = new EventEmitter();\n getNewPassword:boolean=false;\n valid:boolean=false;\n newPasswordForm:FormGroup;\n code1:number=null;\n code2:number=null;\n code3:number=null;\n code4:number=null;\n code:string=null;\n form: FormGroup;\n notGetSendAgain=\"לא קיבלתי שלח שוב\";\n @ViewChild(\"code1\") code1Element: ElementRef;\n @ViewChild(\"code2\") code2Element: ElementRef;\n @ViewChild(\"code3\") code3Element: ElementRef;\n @ViewChild(\"code4\") code4Element: ElementRef;\n innerWidth: any;\n error=1;\n \n\n constructor(private router: Router,private fb: FormBuilder ,private matDialog:MatDialog,private bussinssService: BussinssService,\n private userService:UserService ,private proxy:AppProxy,private dataService:DataService) {\n // dialogRef.disableClose = true;\n /*\n Subscribe to events emitted when the backdrop is clicked\n NOTE: Since we won't actually be using the `MouseEvent` event, we'll just use an underscore here\n See https://stackoverflow.com/a/41086381 for more info\n */\n // dialogRef.backdropClick().subscribe(() => {\n // // Close the dialog\n // dialogRef.close();\n // })\n }\n\n newPassword()\n {\n this.valid=true;\n if(this.newPasswordForm.valid)\n {\n this.getNewPassword=true;\n }\n this.code=this.newPasswordForm.value.code1+this.newPasswordForm.value.code2+this.newPasswordForm.value.code3+this.newPasswordForm.value.code4+\"\";\n if(this.code1Element!=null && this.code2Element!=null && this.code3Element!=null && this.code4Element!=null && this.code!=null)\n {\n this.userService.setUserSmsConfirmation(this.code,this.innerWidth).subscribe((res:any)=>{\n if(res.error==false && res.responseMessage==\"ok\")\n {\n localStorage.SMS_CODE=this.code;\n if(localStorage.SMS==\"\")\n this.proxy.showSucceeded(\"התעדכן נתוני המשתמש\",\"\");\n localStorage.SMS=this.code;\n this.dataService.state.next(\"התנתק\");\n this.state.emit();\n localStorage.oneTimeOrderOrOrder='order'\n if(sessionStorage.deeplink=='' || sessionStorage.deeplink=='null' || sessionStorage.deeplink=='undefined')\n this.router.navigate([\"../mainHome\"]);\n else\n {\n this.matDialog.closeAll();\n let a=location.pathname;\n let url: string = a\n this.router.navigateByUrl(url);\n }\n // this.matDialog.closeAll(); \n }\n else\n {\n this.ngOnInit();\n localStorage.SMS_CODE=\"\";\n localStorage.ERROR_PASSWORD=1;\n // this.notGetSendAgain=\"קוד שגוי. הזן שנית\";\n // this.newPasswordForm.value.code1=\"\";\n // this.newPasswordForm.value.code2=\"\";\n // this.newPasswordForm.value.code3=\"\";\n // this.newPasswordForm.value.code4=\"\";\n // this.dataService.token.next('order');\n //this.router.navigate(['../mainHome']);\n this.router.navigate([\"../loginPhoneVarification\"]);\n \n }\n });\n }\n else\n this.proxy.showError(\"יש למלא את כל מספרי הקוד\",\"\");\n }\n\n reSendSmsCode()\n {\n this.userService.reSendSmsCode().subscribe((res:any)=>{\n this.proxy.showSucceeded(\"הקוד נשלח אליך\",\"\");\n });\n }\n\n isValidInput(fieldName): boolean {\n if(this.valid==true)\n return this.newPasswordForm.controls[fieldName].invalid;\n }\n\n createForm() {\n this.newPasswordForm = this.fb.group({\n code1: [\"\", [Validators.required, Validators.maxLength(1)]],\n code2: [\"\", [Validators.required, Validators.maxLength(1)]],\n code3: [\"\", [Validators.required, Validators.maxLength(1)]],\n code4: [\"\", [Validators.required, Validators.maxLength(1)]],\n });\n\n this.newPasswordForm.get(\"code1\").valueChanges\n .pipe(filter((value: string) => value.length === 1))\n .subscribe(() => this.code2Element.nativeElement.focus());\n\n this.newPasswordForm.get(\"code2\").valueChanges\n .pipe(filter((value: string) => value.length === 1))\n .subscribe(() => this.code3Element.nativeElement.focus());\n\n this.newPasswordForm.get(\"code3\").valueChanges\n .pipe(filter((value: string) => value.length === 1))\n .subscribe(() => this.code4Element.nativeElement.focus());\n\n // this.newPasswordForm.get(\"code4\").valueChanges\n // .pipe(filter((value: string) => value.length === 1))\n // .subscribe(() => this.newPassword());\n }\n\n ngOnInit(): void {\n this.proxy.scrollToTop();\n this.createForm();\n this.innerWidth = window.innerWidth;\n localStorage.SMS_CODE=\"\";\n this.error=1;\n if(localStorage.ERROR_PASSWORD==1)\n {\n this.notGetSendAgain=\"קוד שגוי. הזן שנית\";\n localStorage.ERROR_PASSWORD=0;\n this.error=2;\n }\n else\n {\n this.notGetSendAgain=\"לא קיבלתי שלח שוב\";\n this.error=1;\n }\n }\n\n // openLoginDialog()\n // {\n // const dialogConfig = new MatDialogConfig();\n // }\n\n exit()\n {\n //if(this.getNewPassword==false)\n // this.openLoginDialog();\n //else\n if(this.getNewPassword==true)\n {\n this.valid=false;\n this.getNewPassword=false;\n }\n }\n}\n","import { Component, OnInit ,Input ,HostListener ,Output ,EventEmitter} from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { Category, CategoryItem} from 'src/app/models/category';\nimport { ChangeFood} from 'src/app/models/restaurant'\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { DataService } from 'src/app/services/data.service';\n\n\n@Component({\n selector: 'app-restaurant-category',\n templateUrl: './restaurant-category.component.html',\n styleUrls: ['./restaurant-category.component.scss']\n})\nexport class RestaurantCategoryComponent implements OnInit {\n @Input()items: CategoryItem[];\n @Output()changeShowPrice: EventEmitter = new EventEmitter();\n @Output()changByFood: EventEmitter = new EventEmitter();\n buffer: CategoryItem[] = [];\n loading: boolean;\n restaurantsItem:CategoryItem[]=[];\n restaurantsItemAll:CategoryItem[]=[];\n category:Category;\n changeFood:ChangeFood[];\n id:number=-1;\n text:string;\n categoryName=\"\";\n num=0;\n page:number=1;\n sum = 100;\n throttle = 300;\n scrollDistance = 1;\n scrollUpDistance = 2;\n direction = \"\";\n modalOpen = false;\n categoryId:number;\n showProgress=false;\n previousUrl:string;\n private routeSub: Subscription;\n random:number;\n // @HostListener('window:popstate', ['$event'])\n // onPopState(event) {\n // this.backPress();\n // }\n\n backPress()\n{\n localStorage.back='true'\n //if(this.bussinssService.restaurantCategoryList!=null)\n //this.bussinssService.restaurantCategoryList=null;\n let a=location.pathname;\n // let page=location.href;\n // let a=page.split('/')[3]\n// if(a.startsWith(\"/toppings\") || a==\"/toppings2\")\n// {\n// //history.back()\n// this.router.navigate([\"../../mainHome\"]);\n// //this.backPress();\n// }\n// else if(a==\"/search\" )\n// this.router.navigate([\"../search\"]);\n// else\n// //history.back()\n// this.router.navigate([\"/mainHome\"]);\n} \n\n onScrollDown() {\n this.appendItems();\n this.direction = \"down\";\n }\n\n onUp() {\n this.sum += 20;\n this.prependItems();\n this.direction = \"up\";\n }\n\n prependItems() {\n if(this.restaurantsItem.length>0)\n this.addItems();\n }\n\n appendItems() {\n if(this.restaurantsItem.length>0)\n this.addItems();\n }\n\n addItems() {\n if(location.pathname!=\"/mainHome\")\n {\n this.page =this.page+1;\n if(this.id>-1)\n {\n this.bussinssService.getMainList(5,this.id,this.page, this.random).subscribe((res:any[])=>{\n for(let i=0;i{\n for(let i=0;i event instanceof NavigationEnd))\n // .subscribe((event: NavigationEnd) => {\n // //console.log('prev:', event.url);\n // this.previousUrl = event.url;\n // if(localStorage.back=='true')\n // {\n // localStorage.back='false';\n // if(this.previousUrl.startsWith(\"/restaurant\") && this.router.url==\"/restaurant/\")\n // {\n \n // let url: string = \"/restaurantCategory/\" + localStorage.ID_CATEGORY;\n // this.router.navigateByUrl(url);\n // }\n // if(this.previousUrl.startsWith(\"/restaurantCategory\") && this.router.url==\"/restaurantCategory/\")\n // {\n // let url: string = \"/restaurantCategory/\" + localStorage.ID;\n // this.router.navigateByUrl(url);\n // }\n \n // if(this.previousUrl.startsWith(\"/mainHome\") && this.router.url.startsWith(\"/mainHome\"))\n // this.router.navigate([\"/mainHome\"]);\n // }\n // });\n }\n\n ngOnInit(): void {\n localStorage.back='false';\n localStorage.Category=\"2\";\n window.scroll(0,0);\n this.dataService.byFood.next(false);\n this.changByFood.emit();\n this.dataService.show.next(false);\n this.changeShowPrice.emit();\n sessionStorage.CATEGORY_FILTER=0;\n this.page=1;\n this.text = this.dataService.search.getValue() || {};\n this.dataService.search.subscribe(data=>{\n this.text=data;\n if(this.text!=\"\")\n {\n this.showProgress=true;\n this.bussinssService.getMenuBySearch(this.text,this.page,true).subscribe((res:any[])=>{\n this.restaurantsItem=res;\n this.bussinssService.setGlobalSearch(this.text);\n this.showProgress=false;\n this.categoryName=this.text;\n this.category={\n \"Name\": this.categoryName,\n \"ID\": 33,\n \"categoryItems\":this.restaurantsItem,\n \"isCheck\":true,\n \"categoryType\":3\n }\n \n });\n }\n });\n // this.routeSub = this.route.params.subscribe(params => {\n // //console.log(params) //log the entire params object\n // this.id=params['id']//log the value of id\n // });\n \n // if(localStorage.ID_CATEGORY!=\"0\")\n // {\n // this.id=Number(localStorage.ID_CATEGORY);\n if(this.text==\"\")\n this.text=localStorage.TEXT\n this.routeSub = this.route.params.subscribe(params => {\n //console.log(params) //log the entire params object\n let urlId=params['id'];\n sessionStorage.Category=urlId;\n this.bussinssService.getCategoryIDByEnName(urlId).subscribe((res:any)=>{\n if(res!=null)\n {\n this.id=Number(res);\n\n //if(this.id>-1)\n \n // localStorage.TEXT=null;\n this.random = Math.floor((Math.random() * 20) + 1);\n this.bussinssService.getMainList(5,this.id,this.page,this.random).subscribe((res:any[])=>{\n this.restaurantsItem=res;\n if(this.restaurantsItem!=null && this.restaurantsItem.length>0)\n {\n this.categoryName=this.restaurantsItem[0].Category;\n this.category={\n \"Name\": this.restaurantsItem[0].Category,\n \"ID\": 33,\n \"categoryItems\":this.restaurantsItem,\n \"isCheck\":true,\n \"categoryType\":3\n }\n }\n else\n this.proxy.showError(\"לא נמצאו עסקים\\n בקטגוריה זו\",\"\");\n });\n }\n else\n // if(this.text!=\"\")\n {\n // this.routeSub = this.route.params.subscribe(params => {\n // //console.log(params) //log the entire params object\n // this.text=params['id']//log the value of id\n // localStorage.TEXT=this.text;\n // });\n\n // this.text=localStorage.TEXT_SEARCH;\n //if(this.text!=undefined && this.text!=null)\n {\n this.bussinssService.getMenuBySearch(this.text,this.page,false).subscribe((res:any[])=>{\n this.restaurantsItem=res;\n if(this.restaurantsItem!=null && this.restaurantsItem.length>0)\n {\n this.bussinssService.setGlobalSearch(this.text);\n if(this.bussinssService.categoryName!=null)\n this.categoryName=this.bussinssService.categoryName;\n this.category={\n \"Name\": this.categoryName,\n \"ID\": 33,\n \"categoryItems\":this.restaurantsItem,\n \"isCheck\":true,\n \"categoryType\":3\n }\n }\n });\n }\n // else\n // {\n // this.id=localStorage.ID_CATEGORY;\n // this.bussinssService.getMainList(5,this.id,this.page,Math.floor((Math.random() * 20) + 1)).subscribe((res:any[])=>{\n // this.restaurantsItem=res;\n // if(this.restaurantsItem!=null && this.restaurantsItem.length>0)\n // {\n // this.categoryName=this.restaurantsItem[0].Category;\n // this.category={\n // \"Name\": this.restaurantsItem[0].Category,\n // \"ID\": 33,\n // \"categoryItems\":this.restaurantsItem,\n // \"isCheck\":true,\n // \"categoryType\":3\n // }}});\n \n \n // if(localStorage.TEXT_SEARCH!=null)\n // this.text=localStorage.TEXT_SEARCH;\n // }\n }\n //else\n//{\n // this.id=localStorage.ID_CATEGORY;\n // this.bussinssService.getMainList(5,this.id,this.page,Math.floor((Math.random() * 20) + 1)).subscribe((res:any[])=>{\n // this.restaurantsItem=res;\n // if(this.restaurantsItem!=null && this.restaurantsItem.length>0)\n // {\n // this.categoryName=this.restaurantsItem[0].Category;\n // this.category={\n // \"Name\": this.restaurantsItem[0].Category,\n // \"ID\": 33,\n // \"categoryItems\":this.restaurantsItem,\n // \"isCheck\":true,\n // \"categoryType\":3\n // }}});\n \n\n if(localStorage.TEXT_SEARCH!=null)\n this.text=localStorage.TEXT_SEARCH;\n//}\n});\n\n});\n////if(localStorage.TEXT_SEARCH!=null)\n//this.text=localStorage.TEXT_SEARCH;\n } \n\n onClickCategory(id:number){\n }\n}\n","
\n
\n \n

\n מדיניות פרטיות ותקנון\n

\n \n
הבנתי אני מאשר
\n
\n
\n\n","import { Component, OnInit ,EventEmitter ,Input ,Output, HostListener } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { UserService } from 'src/app/services/user-service';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { LoginComponent } from '../login/login.component';\nimport { AppComponent } from 'src/app/app.component';\nimport { CategoryComponent } from '../category/category.component';\nimport { DataService } from 'src/app/services/data.service';\nimport { MyOrder } from 'src/app/models/order';\nimport { Restaurant } from 'src/app/models/restaurant';\nimport { DialogOutOfBoundsComponent } from '../dialog-out-of-bounds/dialog-out-of-bounds.component';\nimport { CategoryItem } from 'src/app/models/category';\nimport { PopupEnterComponent } from '../popup-enter/popup-enter.component';\nimport { PopupEnter2Component } from '../popup-enter2/popup-enter2.component';\nimport { PopupLogOutComponent } from '../popup-log-out/popup-log-out.component';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.css']\n})\nexport class HeaderComponent implements OnInit {\n @Output()changePrice: EventEmitter = new EventEmitter();\n @Output()changByFood: EventEmitter = new EventEmitter();\n @Output()state: EventEmitter = new EventEmitter();\n searchText:String;\n text: string;\n @Output()change: EventEmitter = new EventEmitter();\n @Output()changeShowPrice: EventEmitter = new EventEmitter();\n logInOrOut:string;\n price;\n widthScreen;\n priceTotal=\"0 - פריטים\";\n order:MyOrder;\n show=true;\n header=true;\n show400=true;\n searchByFood=false;\n showSearch=false;\n restaurant:Restaurant=new Restaurant;\n animal: string;\n name: string;\n innerWidth: any;\n restaurantsItem:CategoryItem[];\n showProgress=false;\n token=\"\";\n clickPayment=false;\n deepLink=false;\n\n\n constructor( private router: Router,private proxy:AppProxy,private dataService:DataService,private matDialog:MatDialog,private bussinssService: BussinssService,private orderService:OrdersService,private userService:UserService) {}\n\n ngOnInit(): void {\n this.deepLink = this.dataService.deepLink.getValue() || {};\n this.dataService.deepLink.subscribe(data=>{\n this.deepLink=data;\n });\n this.text = this.dataService.text.getValue() || {};\n this.dataService.text.subscribe(data=>{\n this.text=data;\n });\n this.clickPayment = this.dataService.clickPayment.getValue() || {};\n this.dataService.clickPayment.subscribe(data=>{\n this.clickPayment=data;\n });\n\n this.token = this.dataService.token.getValue() || {};\n this.dataService.token.subscribe(data=>{\n this.token=data;\n });\n this.searchByFood = this.dataService.byFood.getValue() || {};\n this.dataService.byFood.subscribe(data=>{\n this.searchByFood=data;\n });\n this.showSearch = this.dataService.showSearch.getValue() || {};\n this.dataService.showSearch.subscribe(data=>{\n this.showSearch=data;\n });\n\n \n this.logInOrOut = this.dataService.state.getValue() || {};\n this.dataService.state.subscribe(data=>{\n this.logInOrOut=data;\n // if(localStorage.oneTimeOrderOrOrder=='oneTimeOrder') \n // this.logInOrOut=\"התחבר\";\n // else\n // this.logInOrOut=\"התנתק\";\n });\n this.priceTotal = this.dataService.price.getValue() || {};\n this.dataService.price.subscribe(data=>{\n this.priceTotal=data;\n });\n\n this.show = this.dataService.show.getValue() || {};\n this.dataService.show.subscribe(data=>{\n this.show=data;\n });\n\n this.header = this.dataService.show.getValue() || {};\n this.dataService.header.subscribe(data=>{\n this.header=data;\n });\n\n // this.show=localStorage.SHOW;\n // if(location.hash==\"#/restaurant\")\n // this.show=true;\n // if(location.hash==\"#/yourOrder\")\n // this.show=false;\n this.widthScreen=this.widthScreen;\n // this.price=AppComponent.price;\n // this.priceTotal==AppComponent.priceTotal;\n this.bussinssService.getRestaurantDetails(localStorage.ID,false,false,false,null,null).subscribe((res:any)=>{\n this.restaurant=res;\n });\n // if(localStorage.ACCESS_TOKEN == \"null\")\n // this.logInOrOut=\"התחבר\";\n // else\n // this.logInOrOut=\"התנתק\";\n }\n\n connect(){\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n this.router.navigate(['../register']);\n }\n\n orderHistory()\n {\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.openEnterDialog();\n else\n this.router.navigate(['../orderHistory']);\n }\n\n shippingHistory(){\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.openEnterDialog();\n else\n this.router.navigate(['../shippingHistory']);\n }\n\n paymentInfo(){\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.openEnterDialog();\n else\n this.router.navigate(['../paymentInfo']);\n }\n\n reservedRestaurants(){\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.openEnterDialog();\n else\n this.router.navigate(['../reservedRestaurants']);\n }\n\n delivery()\n {\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.openEnterDialog();\n else\n this.router.navigate(['../delivery']);\n }\n\n search()\n {\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.openEnterDialog();\n else\n this.router.navigate(['../search']);\n }\n\n openDialog() {\n const dialogConfig = new MatDialogConfig();\n // this.matDialog.open(LoginComponent, { disableClose: true });\n this.matDialog.open(LoginComponent, { disableClose: true });\n }\n\n openEnterDialog() {\n if(this.innerWidth<=480)\n this.matDialog.open(PopupEnter2Component, { disableClose: true });\n else\n this.matDialog.open(PopupEnterComponent, { disableClose: true });\n }\n\n openOutOfBoundsDialog(): void {\n const dialogRef = this.matDialog.open(DialogOutOfBoundsComponent, {\n data: {name: this.name, animal: this.animal},\n });\n\n dialogRef.afterClosed().subscribe(result => {\n //console.log('The dialog was closed');\n this.matDialog.closeAll();\n this.animal = result;\n });\n }\n\n payment()\n {\n // let page=location.href;\n // let a=page.split('/')[3]\n let a = location.pathname;\n if(this.clickPayment==true)\n if(a.startsWith(\"/restaurant\"))\n {\n this.showProgress=true;\n this.clickPayment=false;\n this.orderService.restaurant=this.bussinssService.restaurant;\n // if(this.priceTotal!=\"0 - פריטים\")\n //|| this.orderService.order.TotalPrice!=null )\n //naomi change החזרתי מקור\n if (this.priceTotal!=\"0 - פריטים\") \n {\n let canContinue = true;\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n // this.order=this.orderService.order;\n if(this.order!=null && this.order.list!=null)\n for(let i=0;i0)\n canContinue = true;\n //if (orderList.MenuID == categoryItemFood.ID)\n // if(categoryItemFood.IsAdditionRequired==1) {\n \n // if (orderList.listAddition.length==0) {\n \n // j=this.restaurant.MenuList.length;\n // }\n // }\n // }\n }\n if(canContinue==true)\n {\n this.show=false;\n this.dataService.show.next(true);\n this.changeShowPrice.emit();\n this.showProgress=false;\n // this.clickPayment=false;\n this.clickPayment=true;\n this.router.navigate([\"../yourOrder\"]);\n \n }\n else\n {\n this.showProgress=false;\n this.proxy.showError(\"לא בחרת \\n את כל תוספות החובה\",\"\");\n }\n });\n}\n else\n {\n this.showProgress=false;\n this.proxy.showError(\"ההזמנה ריקה\",\"\");\n }\n}\nelse if(a==\"/yourOrder\")\n{\n // this.router.navigate(['../mainHome']);\n if(localStorage.DELIVERY==0)\n this.proxy.showError(\"עליך לבחור אחת מאפשרויות השירות: \\nמשלוח, איסוף עצמי או ישיבה במקום\",\"\");\n else \n {\n \n if(localStorage.NOTE==\"\" || localStorage.NOTE==undefined)\n localStorage.NOTE=null;\n let delivery=0;\n let pickUp=0;\n let sitting=0;\n if(localStorage.DELIVERY==1)\n delivery=1;\n else if(localStorage.DELIVERY==2)\n pickUp=1;\n else if(localStorage.DELIVERY==3)\n sitting=1;\n if(Number(delivery)==1 && this.bussinssService.restaurant.MinimumOrder!='' && Number(this.order.TotalPrice) < Number(this.bussinssService.restaurant.MinimumOrder))\n {\n this.proxy.showError(\"לא הגעת למינימום הזמנה של \"+this.bussinssService.restaurant.MinimumOrder+\" ₪\"+\"\\n(ללא דמי משלוח)\",\"\");\n }\n else\n {\n if(this.order==null)\n{\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n this.showProgress=true;\n let note=localStorage.NOTE;\n if(note!=null && note!=\"\")\n {\n note=note.replace('####', '');\n note=note.replace('###', '');\n note=note.replace('##', '');\n note=note.replace('#', '');\n }\n this.orderService.setUpdateOrder1(this.order.OrderID,Number(delivery),Number(pickUp),Number(sitting),1,note,1).subscribe((res:any)=>{\n if(res.error==false)\n {\n //localStorage.ADDRESS=\"\";\n localStorage.paymentBy=1;\n localStorage.isClickPayment=\"false\";\n localStorage.phone=\"\";\n localStorage.orderName=\"\";\n localStorage.email=\"\";\n localStorage.street=\"\";\n localStorage.enter=\"\";\n localStorage.floor=\"\";\n localStorage.numberHoush=\"\";\n localStorage.nvCardNumber=\"\";\n localStorage.cvv=\"\";\n localStorage.date=\"\";\n localStorage.identityNumber=\"\";\n localStorage.nvCardholderName=\"\";\n // localStorage.paymentBy=\"\";\n localStorage.ADDRESS2=\"\";\n localStorage.LAT2=\"\";\n localStorage.LONG2=\"\";\n localStorage.ADDRESS=\"\";\n localStorage.LAT=\"\";\n localStorage.LONG=\"\";\n this.showProgress=false;\n if(localStorage.oneTimeOrderOrOrder=='oneTimeOrder') \n this.router.navigate([\"../payment\"]);\n else\n this.router.navigate([\"../securePayment\"]);\n }\n else if(res.error==true && res.responseMessage==\"the delivery out of bounds\")\n {\n this.showProgress=false;\n this.openOutOfBoundsDialog();\n }\n });\n});\n}\n else if(this.order!=null && this.order.OrderID>0)\n {\n this.showProgress=true;\n let note=localStorage.NOTE;\n if(note!=null && note!=\"\")\n {\n note=note.replace('####', '');\n note=note.replace('###', '');\n note=note.replace('##', '');\n note=note.replace('#', '');\n }\n this.orderService.setUpdateOrder1(this.order.OrderID,Number(delivery),Number(pickUp),Number(sitting),1,note,1).subscribe((res:any)=>{\n if(res.error==false)\n {\n //localStorage.ADDRESS=\"\";\n localStorage.paymentBy=1;\n localStorage.isClickPayment=\"false\";\n localStorage.phone=\"\";\n localStorage.orderName=\"\";\n localStorage.email=\"\";\n localStorage.street=\"\";\n localStorage.enter=\"\";\n localStorage.floor=\"\";\n localStorage.numberHoush=\"\";\n localStorage.nvCardNumber=\"\";\n localStorage.cvv=\"\";\n localStorage.date=\"\";\n localStorage.identityNumber=\"\";\n localStorage.nvCardholderName=\"\";\n // localStorage.paymentBy=\"\";\n localStorage.ADDRESS2=\"\";\n localStorage.LAT2=\"\";\n localStorage.LONG2=\"\";\n localStorage.ADDRESS=\"\";\n localStorage.LAT=\"\";\n localStorage.LONG=\"\";\n this.showProgress=false;\n if(localStorage.oneTimeOrderOrOrder=='oneTimeOrder') \n this.router.navigate([\"../payment\"]);\n else\n this.router.navigate([\"../securePayment\"]);\n }\n else if(res.error==true && res.responseMessage==\"the delivery out of bounds\")\n {\n this.showProgress=false;\n this.openOutOfBoundsDialog();\n }\n });\n}\n \n else\n {\n this.showProgress=false;\n // this.proxy.showError(\"ההזמנה שלך ריקה\",\"\");\n }\n}\n }\n}\n// else\n// {\n// this.show=false;\n// this.dataService.show.next(false);\n// this.changeShowPrice.emit();\n// this.router.navigate([\"../yourOrder\"])\n// }\n }\n\n inOrOut()\n {\n if(sessionStorage.ACCESS_TOKEN != \"null\" && localStorage.oneTimeOrderOrOrder!='oneTimeOrder')\n {\n this.matDialog.open(PopupLogOutComponent, {\n });\n }\n else{\n this.innerWidth = window.innerWidth;\n if( localStorage.oneTimeOrderOrOrder!='oneTimeOrder')\n {\n // if(this.innerWidth<=480)\n //this.router.navigate([\"../popupEnter\"])\n //else\n this.openEnterDialog();\n }\n else\n {\n // if(this.innerWidth<=480)\n // this.router.navigate([\"../login\"])\n //else\n this.openDialog();\n }\n }\n }\n\n\n // editProfil()\n // {\n // if(localStorage.ACCESS_TOKEN == \"null\")\n // this.proxy.showError(\"אינך רשום למערכת\",\"\");\n // else\n // this.router.navigate(['../register']);\n // }\n @HostListener('keydown', ['$event']) onKeyDown(e) {\n if ((e.which == 13 || e.keyCode == 13)) {\n e.preventDefault();\n if (e.srcElement.nextElementSibling) {\n e.srcElement.nextElementSibling.focus();\n }\n else{\n //console.log('close keyboard');\n this.proxy.hideKeyboard(e);\n }\n return;\n }\n }\n\n searchByTextFood()\n {\n if(this.text && this.text!=\"\" && this.searchByFood==true )\n {\n let id;\n if(this.bussinssService.restaurant.ID!=undefined)\n id=this.bussinssService.restaurant.ID;\n else\n id=localStorage.ID;\n localStorage.ID=this.bussinssService.restaurant.ID;\n this.bussinssService.getBusinessMenuBySearch(id,this.text,1).subscribe((res:any[])=>{\n this.restaurant.MenuList=res;\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n }\n if(this.restaurant.MenuList==null || this.restaurant.MenuList.length==0)\n {\n this.showProgress=false;\n this.proxy.showError(\"לא נמצאו מנות\\n במסעדה זו\",\"\");\n this.text=\"\";\n }\n else\n {\n localStorage.TEXT_SEARCH=this.text;\n // localStorage.ID=\"0\";\n this.dataService.search.next(this.text);\n this.change.emit();\n localStorage.ID=id;\n this.bussinssService.getBusinessEnName(id).subscribe((res: any) => {\n let nameEn=res;\n this.dataService.endToppings.next(true);\n this.change.emit();\n let url: string = \"/restaurant/\" + nameEn;\n this.router.navigateByUrl(url);\n this.text=\"\";\n });\n }\n });\n}\n }\n\n searchByText()\n {\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n if(this.text && this.text!=\"\" && this.searchByFood==false)\n {\n this.showProgress=true;\n this.searchByFood=true;\n this.bussinssService.getMenuBySearch(this.text,1,false).subscribe((res:any[])=>{\n this.restaurantsItem=res;\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n }\n if(this.restaurantsItem.length==0)\n {\n this.showProgress=false;\n this.searchByFood=false;\n this.proxy.showError(\"לא נמצאו עסקים\\n בקטגוריה זו\",\"\");\n this.text=\"\";\n }\n else\n {\n this.dataService.search.next(this.text);\n this.change.emit();\n localStorage.TEXT_SEARCH=this.text;\n localStorage.TEXT=this.text;\n localStorage.ID=\"0\";\n localStorage.ID_CATEGORY=\"0\"\n this.showProgress=false;\n let url: string = \"/restaurantCategory/\" + this.text\n this.router.navigateByUrl(url);\n this.text=\"\";\n //this.router.navigate(['../restaurantCategory']); \n } \n });\n }\n }\n\n mainHome()\n {\n // if(localStorage.SMS==\"\")\n // this.proxy.showError(\"חובה להכניס קוד\",\"\");\n // else if(localStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n // this.proxy.showError(\"אינך רשום למערכת\",\"\");\n // else\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n this.router.navigate(['../mainHome']);\n }\n\n menu()\n {\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n this.dataService.showSearch.next(false);\n this.changByFood.emit();\n this.priceTotal=\"0 - פריטים\";\n localStorage.PRICE=0;\n localStorage.PRICE_TOTAL=this.priceTotal;\n this.dataService.price.next(this.priceTotal);\n this.changePrice.emit();\n // if(localStorage.SMS==\"\")\n // this.proxy.showError(\"חובה להכניס קוד\",\"\");\n // else if(localStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n // this.proxy.showError(\"אינך רשום למערכת\",\"\");\n //let page=location.href;\n // let a=page.split('/')[3]\n let a=location.pathname;\n if(a==\"/menu\")\n window.history.back();\n else\n this.router.navigate(['../menu']);\n }\n}\n","
\n
\n
\n
התחברות
\n
\n
\n
אינך מחובר
\n
האם הנך מעוניין להתחבר?
\n
\n
\n
\n

התחברות

\n

ביטול

\n
\n
\n
\n
\n
","
\n \n

{{customTitle}}

\n\n
\n\n","
\n
\n \n \n

רכוש גיפט קארד

\n\n
\n\n
\n
\n
\n \n \n
\n
\n
\n \n
\n 1\n
\n שלח גיפט קארד לחבר\n
\n
\n \n
\n
\n
\n
\n גיפט קארד עבורי\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n 2\n
\n הזן מספר טלפון לשליחת\n
\n הגיפט קארד לחבר\n
\n
\n
\n
\n
\n \n \n
\n \n\n
\n\n\n
\n
\n
\n {{p.text}}\n
\n
\n \n
\n
\n
\n
\n \n \n \n
\n
\n \n
\n {{paymentCardNumber}}\n
\n תשלום באשראי\n
\n
\n
\n
\n
\n
\n

שם בעל הכרטיס

\n
\n
\n \n
\n
\n
\n
\n

מספר הכרטיס

\n
\n
\n \n
\n
\n
\n
\n

תוקף

\n

cvv

\n
\n
\n \n \n
\n \n \n
\n \n
\n
\n

מספר תעודת זהות של בעל הכרטיס

\n
\n
\n \n
\n
\n
\n \n שמור את הכרטיס שלי\n
\n
\n {{error}}\n
\n \n \n
\n תשלום\n
\n
\n
\n
\n
\n \n \n
\n תשלום\n
\n
\n
\n
\n
\n\n
\n
\n
\n\n","export class User\r\n{\r\nIDUser:number;\r\nuserFullName:string;\r\nuserPassword:string; \r\nuserPasswordAgain:string;\r\nuserEmail:string; \r\nuserPhone:string; \r\nuserAddress:string; \r\nuserEnter:string;\r\nuserFloor:number;\r\nuserNumberHoush:number;\r\nuserLatitude:number;\r\nuserLongitude:number;\r\nImageFile:string;\r\n}\r\n\r\nexport class UserEditProfile\r\n{\r\n runtimeDate:string;\r\n IDUser:number;\r\n DeviceID:string;\r\n userFullName:string;\r\n userEmail:string;\r\n userPhone:string;\r\n ImageFile:string;\r\n userAddress:string;\r\n JoinDate:string;\r\n LastEntrance:string;\r\n Latitude:number;\r\n Longitude:number;\r\n error:boolean;\r\n responseMessage:string;\r\n}\r\n\r\nexport class LoginObj{\r\n\r\n nvUserName:string;\r\n nvPassword:string;\r\n}\r\n\r\nexport class Address{\r\n nvCity: string;\r\n nvStreet: string;\r\n nvHouseNumber:string;\r\n nvEnter: string;\r\n nvfloor : string;\r\n nvPhone: string;\r\n nvOrderName: string;\r\n nvEmail: string;\r\n}\r\n\r\nexport class Payment\r\n{\r\n CardDate:string;\r\n month:string;\r\n year:string;\r\n card_cvv:number;\r\n CardNumber:string;\r\n // user_identity:string;\r\n UserIdentity:string;\r\n UserName:string;\r\n card_token:string;\r\n}\r\n\r\nexport class SignUp{\r\n signature:String;\r\n userEmail:String;\r\n userPassword:String;\r\n userFullName:String;\r\n userAddress:String;\r\n userPhone:String;\r\n ImageFile:File;\r\n}","import { Component, OnInit , EventEmitter ,ViewChild ,ElementRef, HostListener, Output} from '@angular/core';\nimport { FormGroup,FormControl,Validators, NumberValueAccessor ,FormBuilder } from '@angular/forms';\nimport {MatDialog, MatDialogConfig ,MatDialogRef} from '@angular/material/dialog';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { UserService } from 'src/app/services/user-service';\nimport { Router } from '@angular/router';\nimport { filter } from \"rxjs/operators\";\nimport { LoginComponent } from '../login/login.component';\nimport { DataService } from 'src/app/services/data.service';\nimport { Location } from '@angular/common';\n@Component({\n selector: 'app-login-phone-varification',\n templateUrl: './login-phone-varification.component.html',\n styleUrls: ['./login-phone-varification.component.scss']\n})\nexport class LoginPhoneVarificationComponent implements OnInit {\n @Output()state: EventEmitter = new EventEmitter();\n getNewPassword:boolean=false;\n valid:boolean=false;\n newPasswordForm:FormGroup;\n code1:number=null;\n code2:number=null;\n code3:number=null;\n code4:number=null;\n code:string=null;\n form: FormGroup;\n notGetSendAgain=\"לא קיבלתי שלח שוב\";\n @ViewChild(\"code1\") code1Element: ElementRef;\n @ViewChild(\"code2\") code2Element: ElementRef;\n @ViewChild(\"code3\") code3Element: ElementRef;\n @ViewChild(\"code4\") code4Element: ElementRef;\n innerWidth: any;\n error=1;\n @HostListener('window:keyup.esc') onKeyUp() {\n this.dialogRef.close();\n }\n\n constructor( private myLocation: Location ,private router: Router,private fb: FormBuilder,private dialogRef: MatDialogRef ,private matDialog:MatDialog,private bussinssService: BussinssService,\n private userService:UserService ,private proxy:AppProxy,private dataService:DataService) {\n dialogRef.disableClose = true;\n }\n\n inputFocusEmitter = new EventEmitter();\n\n openDialog(): void {\n this.matDialog.closeAll();\n const dialogRef = this.matDialog.open(LoginPhoneVarificationComponent, {\n backdropClass: 'cdk-overlay-transparent-backdrop',\n hasBackdrop: false,\n });\n }\n\n hideKeyboard(element) {\n element.attr('readonly', 'readonly'); // Force keyboard to hide on input field.\n element.attr('disabled', 'true'); // Force keyboard to hide on textarea field.\n setTimeout(function() {\n element.blur(); //actually close the keyboard\n // Remove readonly attribute after keyboard is hidden.\n element.removeAttr('readonly');\n element.removeAttr('disabled');\n }, 100);\n}\n\nhideKeyboard_() {\n //this set timeout needed for case when hideKeyborad\n //is called inside of 'onfocus' event handler\n setTimeout(function() {\n //creating temp field\n var field = document.createElement('input');\n field.setAttribute('type', 'text');\n //hiding temp field from peoples eyes\n //-webkit-user-modify is nessesary for Android 4.x\n field.setAttribute('style', 'position:absolute; top: 0px; opacity: 0; -webkit-user-modify: read-write-plaintext-only; left:0px;');\n document.body.appendChild(field);\n\n //adding onfocus event handler for out temp field\n field.onfocus = function(){\n //this timeout of 200ms is nessasary for Android 2.3.x\n setTimeout(function() {\n\n field.setAttribute('style', 'display:none;');\n setTimeout(function() {\n document.body.removeChild(field);\n document.body.focus();\n }, 14);\n\n }, 200);\n };\n //focusing it\n field.focus();\n\n }, 50);\n}\n\nnewPassword()\n {\n this.valid=true;\n if(this.newPasswordForm.valid)\n {\n this.getNewPassword=true;\n \n this.code=this.newPasswordForm.value.code1+this.newPasswordForm.value.code2+this.newPasswordForm.value.code3+this.newPasswordForm.value.code4+\"\";\n if(this.code1Element!=null && this.code2Element!=null && this.code3Element!=null && this.code4Element!=null && this.code!=null)\n {\n this.userService.setUserSmsConfirmation(this.code,null).subscribe((res:any)=>{\n if(res.error==false && res.responseMessage==\"ok\")\n {\n localStorage.SMS_CODE=this.code;\n if(localStorage.SMS==\"\")\n this.proxy.showSucceeded(\"התעדכן נתוני המשתמש\",\"\");\n localStorage.SMS=this.code;\n this.dataService.state.next(\"התנתק\");\n this.state.emit();\n this.dataService.token.next('order');\n localStorage.oneTimeOrderOrOrder='order'\n if(sessionStorage.deeplink=='' || sessionStorage.deeplink=='null' || sessionStorage.deeplink=='undefined')\n {\n\n this.router.navigate([this.router.url]).then(() => {\n window.location.reload();\n });\n this.matDialog.closeAll();\n\n \n // this.router.navigate([\"../mainHome\"]);\n }\n else\n {\n this.matDialog.closeAll();\n // let a=location.pathname;\n //let url: string = a\n // this.router.navigateByUrl(url);\n \n }\n }\n else\n {\n localStorage.ERROR_PASSWORD=1;\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n // this.hideKeyboard(this.code1Element);\n var field = document.createElement('input');\nfield.setAttribute('type', 'text');\ndocument.body.appendChild(field);\n\nsetTimeout(function() {\n field.focus();\n setTimeout(function() {\n field.setAttribute('style', 'display:none;');\n }, 50);\n}, 50);\n }\n this.notGetSendAgain=\"קוד שגוי. הזן שנית\";\n // this.newPasswordForm.value.code1=\"\";\n // this.newPasswordForm.value.code2=\"\";\n // this.newPasswordForm.value.code3=\"\";\n // this.newPasswordForm.value.code4=\"\";\n // this.matDialog.closeAll();\n localStorage.SMS_CODE==\"\"\n this.router.navigate([\"../mainHome\"]);\n\n this.openDialog();\n }\n });\n }\n else\n {\n this.dialogRef.close();\n this.proxy.showError(\"יש למלא את כל מספרי הקוד\",\"\");\n }\n}\n }\n\n reSendSmsCode()\n {\n this.userService.reSendSmsCode().subscribe((res:any)=>{\n this.proxy.showSucceeded(\"הקוד נשלח אליך\",\"\");\n });\n }\n\n isValidInput(fieldName): boolean {\n if(this.valid==true)\n return this.newPasswordForm.controls[fieldName].invalid;\n }\n\n openDialogLogin() {\n this.innerWidth = window.innerWidth;\n // if(this.innerWidth<=480)\n // this.router.navigate(['../login']);\n // else\n {\n if(sessionStorage.ACCESS_TOKEN == \"null\")\n //{\n //const dialogConfig = new MatDialogConfig();\n this.matDialog.open(LoginComponent, { disableClose: true });\n // }\n }\n }\n\n createForm() {\n this.newPasswordForm = this.fb.group({\n code1: [\"\", [Validators.required, Validators.maxLength(1)]],\n code2: [\"\", [Validators.required, Validators.maxLength(1)]],\n code3: [\"\", [Validators.required, Validators.maxLength(1)]],\n code4: [\"\", [Validators.required, Validators.maxLength(1)]],\n });\n\n this.newPasswordForm.get(\"code1\").valueChanges\n .pipe(filter((value: string) => value.length === 1))\n .subscribe(() => this.code2Element.nativeElement.focus());\n\n this.newPasswordForm.get(\"code2\").valueChanges\n .pipe(filter((value: string) => value.length === 1))\n .subscribe(() => this.code3Element.nativeElement.focus());\n\n this.newPasswordForm.get(\"code3\").valueChanges\n .pipe(filter((value: string) => value.length === 1))\n .subscribe(() => this.code4Element.nativeElement.focus());\n\n // this.newPasswordForm.get(\"code4\").valueChanges\n // .pipe(filter((value: string) => value.length === 1))\n // .subscribe(() => this.newPassword());\n }\n\n closeDialog()\n {\n this.matDialog.closeAll(); \n this.openDialogLogin();\n }\n\n ngOnInit(): void {\n this.createForm();\n localStorage.SMS_CODE=\"\";\n if(localStorage.ERROR_PASSWORD==1)\n {\n this.notGetSendAgain=\"קוד שגוי. הזן שנית\";\n localStorage.ERROR_PASSWORD=0;\n this.error=2;\n }\n else\n {\n this.notGetSendAgain=\"לא קיבלתי שלח שוב\";\n this.error=1\n ;\n }\n }\n \n openLoginDialog()\n {\n const dialogConfig = new MatDialogConfig();\n }\n\n exit()\n {\n if(this.getNewPassword==false)\n this.openLoginDialog();\n else if(this.getNewPassword==true)\n {\n this.valid=false;\n this.getNewPassword=false;\n }\n }\n}\n","
\n
\n \n
\n הזן מספר טלפון נייד, לאיפוס \n
\n SMS סיסמא ב \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n יש להזין מספר תקין (ספרות בלבד) *\n
\n
\n
\n

שלח

\n
\n
\n
\n \n
\n \n
\n
\n סיסמא חדשה נשלחה אליך \n
\n .לשחזור סיסמא ,SMS ב \n
\n
\n
\n

מגניב תודה!

\n
\n
\n
\n\n","import { Component, OnInit ,ViewChild ,ElementRef} from '@angular/core';\nimport { Payments } from 'src/app/models/payments';\nimport { FormGroup ,FormControl ,Validators, FormBuilder} from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { UserService } from 'src/app/services/user-service';\nimport {MatDatepicker} from '@angular/material/datepicker';\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\nimport {MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS} from '@angular/material-moment-adapter';\nimport * as _moment from 'moment';\nimport {default as _rollupMoment, Moment} from 'moment';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { Payment, UserEditProfile } from 'src/app/models/user';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { filter } from 'rxjs/operators';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { IFrameCreditCardComponent } from '../iframe-credit-card/iframe-credit-card.component';\n\nconst moment = _rollupMoment || _moment;\nexport const MY_FORMATS = {\n parse: {\n dateInput: 'MM/YY',\n },\n display: {\n dateInput: 'MM/YY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n@Component({\n selector: 'app-gift-card-payment',\n templateUrl: './gift-card-payment.component.html',\n styleUrls: ['./gift-card-payment.component.scss'],\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\n },\n {provide: MAT_DATE_FORMATS, useValue: MY_FORMATS},\n ],\n})\nexport class GiftCardPaymentComponent implements OnInit {\n forFriendImg='assets/images/Pay_Page_Chack_Box_On.png';\n forMeImg='assets/images/Pay_Page_Chack_Box_Off.png';\n isForFriend:boolean=true;\n payments:Payments[];\n paymentForm:FormGroup;\n valid:boolean=false;\n isKeepCard=true;\n sum: string=\"\";\n phone:string;\n paymentCardNumber=3;\n keepCardImg='assets/images/Pay_Page_Chack_Box_On.png';\n date = new FormControl(moment());\n userEditProfile:UserEditProfile;\n month:string=\"\";\n year:string=\"\";\n date1:string=\"\";\n token:string=null;\n methodsPayment:Payment=new Payment;\n @ViewChild('dp')\n public dateElementRef: ElementRef;\n showProgress=false;\n error:string=\"יש להזין את כל הפרטים\";\n textGreen=true;\n @ViewChild(\"cvv\") cvvElement: ElementRef;\n @ViewChild(\"year\") yearElement: ElementRef;\n @ViewChild(\"identity\")identityElement:ElementRef;\n dialogRef: MatDialogRef;\n onKey(event: any) { // without type info\n this.proxy.hideKeyboard(event);\n }\n\n chosenYearHandler(normalizedYear: Moment) {\n //this.hideKeyboard(normalizedYear);\n\n const ctrlValue = this.date.value;\n ctrlValue.year(normalizedYear.year());\n this.year=\"\"+normalizedYear.year();\n this.date.setValue(ctrlValue);\n }\n\n chosenMonthHandler(normalizedMonth: Moment, datepicker: MatDatepicker) {\n const ctrlValue = this.date.value;\n ctrlValue.month(normalizedMonth.month());\n this.date.setValue(ctrlValue);\n this.month=\"\"+Number(normalizedMonth.month()+1);\n datepicker.close();\n this.date.value._i=\"\";\n }\n\n constructor(private router: Router,private proxy:AppProxy,private userService:UserService ,private fb: FormBuilder,private matDialog:MatDialog) { }\n\n ngOnInit(): void {\n //if(this.isForFriend==true)\n //this.createFormForFriend();\n // else\n this.createForm();\n this.proxy.scrollToTop();\n this.userService.getUserCreditCard().subscribe((res:any)=>{\n if(res!=null)\n {\n this.methodsPayment=res;\n \n this.methodsPayment.card_cvv=null;\n this.date = new FormControl(moment(this.methodsPayment.CardDate,\"MM/YY\"));\n this.paymentForm.get(\"month\").setValue(this.methodsPayment.CardDate.slice(0,2));\n this.paymentForm.get(\"year\").setValue(this.methodsPayment.CardDate.slice(2));\n this.methodsPayment.CardDate = this.methodsPayment.CardDate.slice(0, 2) + \"/\" + this.methodsPayment.CardDate.slice(2);\n this.date1=this.methodsPayment.CardDate;\n\n \n }\n else\n this.date1=\"\";\n });\n this.textGreen=(this.paymentForm.valid==false || (( this.paymentForm.valid==true && this.paymentForm.value.nvPhone==undefined && this.isForFriend==true)));\n }\n\n isValidInput(fieldName): boolean {\n if(this.valid==true)\n return this.paymentForm.controls[fieldName].invalid;\n }\n\n isValidInputPhone(fieldName): boolean {\n if(this.valid==true)\n return this.paymentForm.controls[fieldName].invalid;\n }\n \n forFriend(){\n this.isForFriend=true;\n this.forFriendImg='assets/images/Pay_Page_Chack_Box_On.png';\n this.forMeImg='assets/images/Pay_Page_Chack_Box_Off.png';\n this.paymentCardNumber=3;\n //this.ngOnInit();\n }\n\n forMe()\n {\n //this.createForm();\n this.isForFriend=false;\n this.forMeImg='assets/images/Pay_Page_Chack_Box_On.png';\n this.forFriendImg='assets/images/Pay_Page_Chack_Box_Off.png';\n this.paymentCardNumber=2;\n //this.ngOnInit();\n }\n\n backPress()\n {\n window.history.back();\n }\n\n keepCard(){\n if(this.isKeepCard==true)\n {\n this.isKeepCard=false;\n this.keepCardImg='assets/images/Pay_Page_Chack_Box_Off.png'; \n }\n else\n {\n this.isKeepCard=true;\n this.keepCardImg='assets/images/Pay_Page_Chack_Box_On.png'; \n }\n }\n\n createForm() {\n this.paymentForm = this.fb.group({\n nvSum: [\"\", Validators.required],\n nvPhone: [\"\"],\n nvCardholderName: [\"\", Validators.required],\n nvCardNumber: [\"\",[Validators.required, Validators.minLength(19)]],\n month: [\"\", [Validators.required, Validators.maxLength(2)]],\n year: [\"\", [Validators.required, Validators.maxLength(2)]],\n cvv: [\"\", [Validators.required, Validators.maxLength(3),Validators.minLength(3)]],\n identityNumber: [\"\", [Validators.required, Validators.maxLength(9),Validators.minLength(9)]],\n \n });\n\n\n\n // this.paymentForm = new FormGroup({\n // nvSum: new FormControl(\"\", Validators.required),\n // nvPhone: new FormControl(\"\"),\n // nvCardholderName: new FormControl(\"\", Validators.required),\n // nvCardNumber: new FormControl(\"\", Validators.required),\n // monthDate: new FormControl(\"\", [Validators.required, Validators.maxLength(2)]),\n // yearDate: new FormControl(\"\", [Validators.required, Validators.maxLength(2)]),\n // cvv: new FormControl(\"\",[Validators.required, Validators.minLength(3), Validators.maxLength(3)]),\n // identityNumber: new FormControl(\"\",[Validators.required, Validators.minLength(9), Validators.maxLength(9)])\n // });\n\n this.paymentForm.get(\"month\").valueChanges\n .pipe(filter((value: string) => value.length === 2))\n .subscribe(() => \n {\n this.yearElement.nativeElement.focus();\n this.paymentForm.get(\"year\").setValue(\"\");\n }\n );\n \n this.paymentForm.get(\"year\").valueChanges\n .pipe(filter((value: string) => value.length === 2))\n .subscribe(() => this.cvvElement.nativeElement.focus());\n\n this.paymentForm.get(\"cvv\").valueChanges\n .pipe(filter((value: string) => value.length === 3))\n .subscribe(() => this.identityElement.nativeElement.focus());\n }\n\n // createFormForFriend() {\n // this.paymentForm = new FormGroup({\n // nvSum: new FormControl(\"\", Validators.required),\n // nvPhone: new FormControl(\"\", [Validators.required,Validators.pattern(\"^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$\")]),\n // nvCardholderName: new FormControl(\"\", Validators.required),\n // nvCardNumber: new FormControl(\"\", Validators.required),\n // date: new FormControl(\"\"),\n // cvv: new FormControl(\"\",[Validators.required, Validators.minLength(3), Validators.maxLength(3)]),\n // identityNumber: new FormControl(\"\",[Validators.required, Validators.minLength(9), Validators.maxLength(9)])\n // });\n // }\n\n clearMonth(){\n this.paymentForm.get(\"month\").setValue(\"\");\n }\n \n clearYear(){\n this.paymentForm.get(\"year\").setValue(\"\");\n }\n\n payment()\n {\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.router.navigate(['../mainHome']);\n else\n {\n this.valid=true;\n if(this.paymentForm.value.nvSum==null ||this.paymentForm.value.nvSum==\"\")\n {\n this.error=\"יש להזין את סכום התו קניה\";\n this.proxy.showError(\"יש להזין את סכום התו קניה\",\"\");\n }\n else if( this.isForFriend==true && (this.paymentForm.value.nvPhone==null ||this.paymentForm.value.nvPhone==\"\"))\n {\n this.error=\"חובה להכניס מספר טלפון\";\n this.proxy.showError(\"חובה להכניס מספר טלפון\",\"\");\n\n }\n else if(this.paymentForm.valid)\n {\n if(this.isForFriend==false || this.isForFriend==true && this.phone!=null && this.phone!=undefined)\n \n { // if(this.date1==\"\") \n this.showProgress=true;\n var last2 = this.year.slice(-2);\n if(this.month.length==1)\n this.month=\"0\"+this.month;\n this.date1=this.month+last2;\n if(this.date1==\"\" && this.date.value._i!=\"\")\n this.date1=this.date.value._i;\n this.date1=this.paymentForm.value.month+this.paymentForm.value.year;\n if(this.paymentForm.value.nvCardNumber.startsWith(\"xxx\"))\n this.token=this.methodsPayment.card_token;\n //this.date1=this.paymentForm.value.date.replace(\"/\",\"\");\n \n let phone=null;\n if(this.phone!=null && this.phone!=undefined)\n {\n phone=this.phone;\n this.userService.setGiftCard(Number(this.sum),phone,1,this.paymentForm.value.nvCardNumber,this.date1.replace(\"/\",\"\")).subscribe((res:any)=>{\n if(res!=null)\n {\n\n\n this.userService.setUserCreditCard(true,this.proxy.md5_(this.proxy.SECRET_KEY+localStorage.USER_ID),this.paymentForm.value.nvCardNumber,this.date1.replace(\"/\",\"\"),\n this.paymentForm.value.cvv,this.paymentForm.value.identityNumber, this.paymentForm.value.nvCardholderName,this.token,this.isKeepCard,true,Number(this.sum),null, phone).subscribe((res:any)=>{\n this.showProgress=false;\n if(res.error==false)\n {\n\n \n this.showProgress=false;\n \n this.dialogRef = this.matDialog.open(IFrameCreditCardComponent,{data : {myurl:res.responseMessage} \n , disableClose: true \n } );\n this.dialogRef.afterClosed().subscribe(result => {\n //console.log('The dialog was closed');\n // Here you can handle what to do after the dialog is closed\n // For example, you can check the result or perform any necessary actions\n if (result == \"true\") \n this.userService.setGiftCard(Number(this.sum),phone,0,this.paymentForm.value.nvCardNumber,this.date1.replace(\"/\",\"\")).subscribe((res:any)=>{\n if(res!=null)\n {\n sessionStorage.sum=this.sum; \n this.router.navigate(['giftCardSucsess']);\n } \n else\n this.showProgress=false;\n });\n \n // else\n // this.isClickPayment=false;\n \n })\n \n }\n\n \n else\n this.showProgress=false;\n });\n }\n else\n this.showProgress=false;\n });\n }\n else if(phone==null)\n {\n this.userService.getUserDetails(1).subscribe((res:any)=>{\n this.userEditProfile=res;\n this.userService.setGiftCard(Number(this.sum),this.userEditProfile.userPhone,1,this.paymentForm.value.nvCardNumber,this.date1.replace(\"/\",\"\")).subscribe((res:any)=>{\n if(res!=null)\n {\n this.userService.setUserCreditCard(true,this.proxy.md5_(this.proxy.SECRET_KEY+localStorage.USER_ID),this.paymentForm.value.nvCardNumber,this.date1.replace(\"/\",\"\"),\n this.paymentForm.value.cvv,this.paymentForm.value.identityNumber, this.paymentForm.value.nvCardholderName,this.token,this.isKeepCard,true,Number(this.sum),null, phone).subscribe((res:any)=>{\n this.showProgress=false;\n if(res.error==false)\n {\n\n\n this.dialogRef = this.matDialog.open(IFrameCreditCardComponent,{data : {myurl:res.responseMessage} \n , disableClose: true \n } );\n this.dialogRef.afterClosed().subscribe(result => {\n //console.log('The dialog was closed');\n // Here you can handle what to do after the dialog is closed\n // For example, you can check the result or perform any necessary actions\n if (result == \"true\") \n\n this.userService.setGiftCard(Number(this.sum),this.userEditProfile.userPhone,0,this.paymentForm.value.nvCardNumber,this.date1.replace(\"/\",\"\")).subscribe((res:any)=>{\n if(res!=null)\n this.router.navigate(['giftCardSucsess']); \n else\n this.showProgress=false;\n });})\n }\n else\n this.showProgress=false;\n });\n }\n else\n this.showProgress=false;\n });\n });\n }}\n else\n this.proxy.showError(\"חובה להכניס מספר טלפון\",\"\");\n }\n else\n this.proxy.showError(\"חובה להכניס את כל הפרטים\",\"\");\n }\n //this.router.navigate(['../delivery']); \n }\n\n onBlur()\n {\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n }\n }\n}\n","import { AppProxy } from \"../services/app-proxy\";\r\nimport { Injectable } from \"@angular/core\";\r\n@Injectable()\r\nexport class Global_service {\r\n public static startPlayImediatly = false;\r\n public static dialog = null;\r\n public static lstAlert = [];\r\n constructor(private serv: AppProxy) {\r\n\r\n }\r\n\r\n\r\n // setReceiverType(nvType: string) {\r\n // return this.serv.post(\"setReceiverType\", { nvType: nvType })\r\n // .then(res => {\r\n // if (!res)\r\n // throw (\"עדכון הרסיבר נכשל\");\r\n\r\n\r\n // })\r\n // .catch(err => { Global_service.showMessage(\"הגישה לשרת נכשלה\", \"fail\"); //console.log(\"err-----\", err); return false; })\r\n // }\r\n\r\n \r\n // ReadFromExcel(target: DataTransfer, callBack) {\r\n // try {\r\n // let file = target.files[0]\r\n\r\n // if (file == undefined) throw new Error('Cannot use multiple files');\r\n\r\n // const reader: FileReader = new FileReader();\r\n // reader.onload = (e: any) => {\r\n // const bstr: string = e.target.result;//תוכן הקובץ\r\n // let workbook = XLSX.read(bstr, { type: 'binary', cellStyles: true });//המרה למשהו שהתוכנה יכולה לקרוא\r\n // let headerNames: any = XLSX.utils.sheet_to_json(workbook.Sheets[workbook.SheetNames[0]], { header: 1 })[0];\r\n // let data = XLSX.utils.sheet_to_json(workbook.Sheets[workbook.SheetNames[0]]);\r\n // // var cell_ref = XLSX.utils.encode_cell({c:0, r:2});\r\n // // //console.log(XLSX);\r\n // // xlsx__WEBPACK_IMPORTED_MODULE_1__.utils.sheet_to_html(workbook.Sheets[workbook.SheetNames[0]])\r\n // callBack(data);\r\n // };\r\n // reader.readAsBinaryString(file);\r\n // } catch (error) {\r\n // Global_service.showMessage(\"טעינת הקובץ נכשלה\", \"fail\");\r\n // //console.log(error);\r\n // }\r\n\r\n\r\n\r\n // }\r\n\r\n // exportAsExcelFile(json: any[], excelFileName: string): void {\r\n // const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\r\n // const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\r\n // XLSX.writeFile(workbook, excelFileName + EXCEL_EXTENSION);\r\n // }\r\n\r\n downloadFile(url: string, name: string, type: string) {\r\n //console.log(url);\r\n this.toDataUrl(url, function (base64) {\r\n let data = base64.split(',')[1];\r\n let binaryString = window.atob(data);\r\n let binaryLen = binaryString.length;\r\n let bytes = new Uint8Array(binaryLen);\r\n for (let i = 0; i < binaryLen; i++) {\r\n let ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n data = bytes;\r\n\r\n let file = type ? new Blob([data], { type: type }) : new Blob([data]);\r\n let link = document.createElement('a');\r\n link.setAttribute('id', 'linkDownload');\r\n link.href = window.URL.createObjectURL(file);\r\n link.download = name + (type ? '.' + type : '');\r\n link.click();\r\n try {\r\n document.getElementById('linkDownload').remove();\r\n } catch (e) {\r\n //Global_service.showMessage(\"הורדת הקובץ נכשלה\", \"fail\");\r\n //console.log(e);\r\n }\r\n\r\n });\r\n }\r\n\r\n generateDownloadJsonUri(jsonData, fileName) {\r\n let sJson = JSON.stringify(jsonData, null, 2);\r\n let element = document.createElement('a');\r\n let file = new Blob([sJson], { type: 'json' });\r\n element.setAttribute('href', URL.createObjectURL(file));\r\n element.setAttribute('download', fileName + \".json\");\r\n element.style.display = 'none';\r\n document.body.appendChild(element);\r\n element.click(); // simulate click\r\n try {\r\n document.body.removeChild(element);\r\n return Promise.resolve(true);\r\n\r\n } catch (err) {\r\n //console.log(err);\r\n }\r\n\r\n\r\n }\r\n\r\n toDataUrl(url, callback) {\r\n let xhr = new XMLHttpRequest();\r\n xhr.onload = function () {\r\n let reader = new FileReader();\r\n reader.onloadend = function () {\r\n callback(reader.result);\r\n }\r\n reader.readAsDataURL(xhr.response);\r\n };\r\n xhr.open('GET', url);\r\n xhr.responseType = 'blob';\r\n xhr.send();\r\n }\r\n\r\n public static showMessage(message, type, autoClose = true) {\r\n\r\n // const dialogRef = Global_service.mydialogref.open(DialogOverviewExampleDialog, {\r\n // width: '250px',\r\n // data: {message: \"message\",type:type,autoClose:autoClose},\r\n // hasBackdrop:true\r\n // });\r\n\r\n Global_service.dialog = {};\r\n Global_service.dialog.message = message;\r\n Global_service.dialog.typeMessage = type;\r\n\r\n // //console.log(message);\r\n if (autoClose)\r\n setTimeout(() => { Global_service.dialog = null }, 1700);\r\n // return AppComponent.showMessage(message, type);\r\n } \r\n \r\n public static showAlert(message, type, autoClose = true) {\r\n\r\n Global_service.lstAlert.push({\r\n message:message,\r\n type:type,\r\n \r\n })\r\n // if (autoClose)\r\n // setTimeout(() => { Global_service.dialog = null }, 1700);\r\n \r\n }\r\n\r\n\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { AppProxy, HttpMethod } from \"./app-proxy\";\r\nimport { ServerResponse } from 'http';\r\nimport { OrderAdding ,AdditonOrder, OrderAddingItemFood ,OrderHistory, MyOrder, HistoryDelivery} from '../models/order';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ChangeFood, Restaurant, ToppingsItemFood } from '../models/restaurant';\r\nimport { DialogOutOfBoundsComponent } from '../components/dialog-out-of-bounds/dialog-out-of-bounds.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { UserEditProfile } from '../models/user';\r\nimport { request } from 'https';\r\n\r\n@Injectable()\r\nexport class OrdersService \r\n{\r\norderAddingList:OrderAdding[];\r\norderHistoryList:OrderHistory[];\r\nhistoryDeliveryList:HistoryDelivery[];\r\npublic order:MyOrder;\r\npos:number=-1;\r\nposition:number=-1;\r\norderDelivery:boolean=false;\r\ndeliveryOk:boolean=false;\r\ndeliveryCancel:boolean=false;\r\ndelivery:boolean=false;\r\nrestaurant:Restaurant;\r\nanimal: string;\r\nname: string;\r\noneTimeOrderOrOrder:string=\"Order\";\r\n\r\n constructor(private proxy: AppProxy ,private router: Router,public dialog: MatDialog){} \r\n\r\n getOrderDetails(nextPage:boolean) \r\n {\r\n this.order=null;\r\n var url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/getOrderDetails\";\r\n if(sessionStorage.ACCESS_TOKEN == null || sessionStorage.ACCESS_TOKEN == \"null\" )\r\n {\r\n url= this.proxy.baseQAUrl+'oneTimeOrder'+\"/getOrderDetails\";\r\n }\r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: MyOrder = res;\r\n this.order=resList; \r\n \r\n observer.next(this.order) \r\n }\r\n else\r\n {\r\n observer.next(this.order)\r\n }\r\n },\r\n error => observer.next(this.order));\r\n });\r\n }\r\n\r\n addToBagOrder(MenuID:number,OrderID:number ,DelNum:number)\r\n {\r\n let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setUpdateOrder?OrderID=\"+OrderID+\"&MenuID=\"+MenuID+\"&DelNum=\"+DelNum;\r\n return new Observable(observer => {\r\n this.proxy.executePut(url,HttpMethod.Put)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n observer.next(resList);\r\n }\r\n },\r\n error => console.log('oops', error)); \r\n });\r\n }\r\n\r\n addToBagOrder_(MenuID:number,RestaurantID:number,Count:number)\r\n {\r\n let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/addToBagOrder?MenuID=\"+MenuID+\"&RestaurantID=\"+RestaurantID+\r\n \"&Count=\"+Count;\r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n observer.next(resList);\r\n }\r\n },\r\n error => console.log('oops', error)); \r\n });\r\n }\r\n\r\n // openOutOfBoundsDialog(): void {\r\n // const dialogRef = this.matDialog.open(DialogOutOfBoundsComponent, {\r\n // data: {name: this.name, animal: this.animal},\r\n // });\r\n \r\n // dialogRef.afterClosed().subscribe(result => {\r\n // //console.log('The dialog was closed');\r\n // this.matDialog.closeAll();\r\n // this.animal = result;\r\n // });\r\n // }\r\n\r\n setUpdateOrderEmploye(OrderID:number,IsDelivery:number,IsPickUp:number,IsSitting:number,PaymentType:number\r\n ,Status:number,Note:string,IsAddress:number,Address:string,Latitude:string,Longitude:string,\r\n IsEmploye:number,BudgetCode:string, IsFromLink:number){\r\n let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setUpdateOrder?OrderID=\"+OrderID+\"&IsDelivery=\"+IsDelivery+\r\n \"&IsPickUp=\"+IsPickUp+\"&IsSitting=\"+IsSitting+\"&PaymentType=\"+PaymentType+\"&Status=\"+Status\r\n +\"&Note=\"+Note+\"&IsAddress=\"+IsAddress+\"&Address=\"+Address+\"&Latitude=\"+Latitude+\"&Longitude=\"+Longitude+\"&IsEmploye=\"+IsEmploye+\r\n \"&BudgetCode=\"+BudgetCode+\"&IsFromLink=\"+IsFromLink;\r\n // if(IsAddress==1)\r\n // url= this.proxy.baseQAUrl+\"Order/setUpdateOrder?OrderID=\"+OrderID+\"&IsDelivery=\"+IsDelivery+\r\n // \"&IsPickUp=\"+IsPickUp+\"&IsSitting=\"+IsSitting+\"&PaymentType=\"+PaymentType+\"&Status=\"+Status\r\n // +\"&Note=\"+Note+\"&IsAddress=\"+IsAddress+\"&IsEmploye=\"+IsEmploye+\r\n // \"&BudgetCode=\"+BudgetCode;\r\n return new Observable(observer => {\r\n this.proxy.executePut(url,HttpMethod.Put)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n \r\n }\r\n observer.next(res);\r\n // else if(res.error==true && res.responseMessage==\"the delivery out of bounds\")\r\n // this.proxy.showError(\"הכתובת שלך מחוץ לטווח\",\"\");\r\n // else\r\n // {\r\n // this.matDialog.\r\n // this.proxy.showError(\"קוד עובד שגוי\",\"\");\r\n // }\r\n // else if(IsGiftCard==1)\r\n // observer.next(res);\r\n },\r\n error => console.log('oops', error)); \r\n });\r\n }\r\n\r\n setUpdateOrder(OrderID:number,IsDelivery:number,IsPickUp:number,IsSitting:number,PaymentType:number,MenuID:number\r\n ,Count:number,Status:number,Note:string,IsAddress:number,Address:string,Latitude:string,Longitude:string,IsGiftCard:number,\r\n GiftNumber:number,SumGift:number,card_mask:string,card_validity:string ,IsFromLink:number){\r\n let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setUpdateOrder?OrderID=\"+OrderID+\"&IsDelivery=\"+IsDelivery+\r\n \"&IsPickUp=\"+IsPickUp+\"&IsSitting=\"+IsSitting+\"&PaymentType=\"+PaymentType+\"&MenuID=\"+MenuID+\"&Count=\"+Count+\"&Status=\"+Status\r\n +\"&Note=\"+Note+\"&IsAddress=\"+IsAddress+\"&Address=\"+Address+\"&Latitude=\"+Latitude+\"&Longitude=\"+Longitude+\"&IsGiftCard=\"\r\n +IsGiftCard+\"&GiftNumber=\"+GiftNumber+\"&SumGift=\"+SumGift+\"&card_mask=\"+card_mask+\r\n \"&card_validity=\"+card_validity+\"&IsFromLink=\"+IsFromLink;\r\n return new Observable(observer => {\r\n this.proxy.executePut(url,HttpMethod.Put)\r\n .subscribe(\r\n \r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n //if(Status==2 && PaymentType==1)\r\n // this.router.navigate(['../endOrder']);\r\n observer.next(res);\r\n }\r\n else if(IsGiftCard==1)\r\n observer.next(res);\r\n else if(res.error==true && Status==2)\r\n this.proxy.showError(\"שגיאה בסיום ההזמנה \",\"\"); \r\n else if(res.responseMessage==\"the delivery out of bounds\")\r\n observer.next(res);\r\n },\r\n error => console.log('oops', error)); \r\n });\r\n }\r\n\r\n setUpdateOrder1(OrderID:number,IsDelivery:number,IsPickUp:number,IsSitting:number,Status:number,Note:string,IsAddress:number){\r\n let url;\r\n if(Note!=null)\r\n url = this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setUpdateOrder?OrderID=\"+OrderID+\"&IsDelivery=\"+IsDelivery+\r\n \"&IsPickUp=\"+IsPickUp+\"&IsSitting=\"+IsSitting+\"&Status=\"+Status+\"&IsAddress=\"+IsAddress+\"&Note=\"+Note;\r\n else\r\n url = this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setUpdateOrder?OrderID=\"+OrderID+\"&IsDelivery=\"+IsDelivery+\r\n \"&IsPickUp=\"+IsPickUp+\"&IsSitting=\"+IsSitting+\"&Status=\"+Status+\"&IsAddress=\"+IsAddress;\r\n \r\n return new Observable(observer => {\r\n this.proxy.executePut(url,HttpMethod.Put)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n observer.next(res);\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n \r\n if(IsDelivery>0 || IsPickUp>0 || IsSitting>0)\r\n if(localStorage.oneTimeOrderOrOrder=='oneTimeOrder')\r\n this.router.navigate([\"../payment\"]);\r\n \r\n else\r\n this.router.navigate(['../securePayment']); \r\n }\r\n // else if(res.error==true && res.responseMessage==\"the delivery out of bounds\")\r\n //{\r\n // this.openDialog();\r\n // this.proxy.showError(\"כתובת המשלוח מחוץ לתחום\",\"\");\r\n // }\r\n },\r\n error => console.log('oops', error)); \r\n });\r\n }\r\n\r\n setOrderAddress(Address:string,Latitude\t:string,Longitude:string)\r\n {\r\n let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setOrderAddress?Address=\"+Address+\"&Latitude=\"+Latitude+\"&Longitude=\"+Longitude;\r\n return new Observable(observer => {\r\n this.proxy.executePut(url,HttpMethod.Put)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n observer.next(res);\r\n \r\n }\r\n else this.proxy.showError(res.responseMessage,\"\");\r\n },\r\n error => \r\n {\r\n //console.log('oops', error)\r\n });\r\n \r\n });\r\n }\r\n\r\n openDialog(): void {\r\n const dialogRef = this.dialog.open(DialogOutOfBoundsComponent, {\r\n data: {name: this.name, animal: this.animal},\r\n });\r\n \r\n dialogRef.afterClosed().subscribe(result => {\r\n //console.log('The dialog was closed');\r\n this.dialog.closeAll();\r\n this.animal = result;\r\n });\r\n }\r\n\r\n setUpdateOrder2(OrderID:number,IsDelivery:number,IsPickUp:number,IsSitting:number,PaymentType:number,Status:number,Note:string,IsAddress:number,IsFromLink:number){\r\n let url;\r\n if(Note!=null)\r\n url = this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setUpdateOrder?OrderID=\"+OrderID+\"&IsDelivery=\"+IsDelivery+\r\n \"&IsPickUp=\"+IsPickUp+\"&IsSitting=\"+IsSitting+\"&PaymentType=\"+PaymentType+\"&Status=\"+Status\r\n +\"&Note=\"+Note+\"&IsAddress=\"+IsAddress+\"&IsFromLink=\"+IsFromLink;\r\n else\r\n url = this.proxy.baseQAUrl+\"Order/setUpdateOrder?OrderID=\"+OrderID+\"&IsDelivery=\"+IsDelivery+\r\n \"&IsPickUp=\"+IsPickUp+\"&IsSitting=\"+IsSitting+\"&PaymentType=\"+PaymentType+\"&Status=\"+Status\r\n \"&IsAddress=\"+IsAddress+\"&IsFromLink=\"+IsFromLink;\r\n return new Observable(observer => {\r\n this.proxy.executePut(url,HttpMethod.Put)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n //if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n observer.next(res); \r\n } \r\n },\r\n error => console.log('oops', error)); \r\n });\r\n }\r\n\r\n getOrderAdditon(MenuID,MenuNumber,pos,position)\r\n {\r\n let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/getOrderAdditon?MenuID=\"+MenuID+\"&MenuNumber=\"+MenuNumber;\r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: AdditonOrder = res;\r\n this.orderAddingList=resList.list;\r\n observer.next(resList);\r\n let orderAddingItemFood=new OrderAddingItemFood();\r\n orderAddingItemFood.ID=0;\r\n orderAddingItemFood.Price=0;\r\n orderAddingItemFood.Select=false;\r\n if(this.restaurant!=null && this.restaurant.MenuList!=null && this.restaurant.MenuList[pos].ChangeFood!=null)\r\n {\r\n let changeFood=new ChangeFood();\r\n if(this.restaurant.MenuList[pos].ChangeFood!=null)\r\n {\r\n if(this.restaurant.MenuList[pos].ChangeFood[position]!=null && this.restaurant.MenuList[pos].ChangeFood[position].Text!=null)\r\n changeFood.Text=this.restaurant.MenuList[pos].ChangeFood[position].Text;\r\n if(this.restaurant.MenuList[pos].ChangeFood[position]!=null && this.restaurant.MenuList[pos].ChangeFood[position].Name!=null)\r\n changeFood.Name=this.restaurant.MenuList[pos].ChangeFood[position].Name;\r\n let top:OrderAdding[]=[];\r\n changeFood.toppings=top;\r\n this.restaurant.MenuList[pos].ChangeFood[position]=changeFood;\r\n this.restaurant.MenuList[pos].ChangeFood[position].toppings=this.orderAddingList;\r\n }}\r\n if(this.orderAddingList.length>0)\r\n {\r\n if(position>=0)\r\n {\r\n // if(this.orderAddingList.length==1 && this.orderAddingList[0].listSelect.length>0 )\r\n // this.router.navigate(['../toppings',{pos, position}]); \r\n // else\r\n // this.router.navigate(['../toppings',{pos, position}]); \r\n }\r\n }\r\n //else this.proxy.showError(\"אין רשימת תוספות \",\"\"); \r\n }\r\n },\r\n error => console.log('oops', error));\r\n }); \r\n }\r\n\r\n getOrderAdditon1(MenuID,MenuNumber,pos,position)\r\n {\r\n let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/getOrderAdditon1?MenuID=\"+MenuID+\"&MenuNumber=\"+MenuNumber;\r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: AdditonOrder = res;\r\n this.orderAddingList=resList.list;\r\n observer.next(resList);\r\n let orderAddingItemFood=new OrderAddingItemFood();\r\n orderAddingItemFood.ID=0;\r\n orderAddingItemFood.Price=0;\r\n orderAddingItemFood.Select=false;\r\n if(this.restaurant!=null && this.restaurant.MenuList!=null && this.restaurant.MenuList[pos].ChangeFood!=null)\r\n {\r\n let changeFood=new ChangeFood();\r\n if(this.restaurant.MenuList[pos].ChangeFood!=null)\r\n {\r\n if(this.restaurant.MenuList[pos].ChangeFood[position]!=null && this.restaurant.MenuList[pos].ChangeFood[position].Text!=null)\r\n changeFood.Text=this.restaurant.MenuList[pos].ChangeFood[position].Text;\r\n if(this.restaurant.MenuList[pos].ChangeFood[position]!=null && this.restaurant.MenuList[pos].ChangeFood[position].Name!=null)\r\n changeFood.Name=this.restaurant.MenuList[pos].ChangeFood[position].Name;\r\n let top:OrderAdding[]=[];\r\n changeFood.toppings=top;\r\n this.restaurant.MenuList[pos].ChangeFood[position]=changeFood;\r\n this.restaurant.MenuList[pos].ChangeFood[position].toppings=this.orderAddingList;\r\n }}\r\n if(this.orderAddingList.length>0)\r\n {\r\n if(position>=0)\r\n {\r\n // if(this.orderAddingList.length==1 && this.orderAddingList[0].listSelect.length>0 )\r\n // this.router.navigate(['../toppings',{pos, position}]); \r\n // else\r\n // this.router.navigate(['../toppings',{pos, position}]); \r\n }\r\n }\r\n // else this.proxy.showError(\"אין רשימת תוספות \",\"\"); \r\n }\r\n },\r\n error => console.log('oops', error));\r\n }); \r\n }\r\n\r\n setOrderAdditionSite(ID:number,AdditionList:string,CountNumber:number)\r\n {\r\n let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setOrderAdditionSite?ID=\"+ID+\"&CountNumber=\"+CountNumber+\"&AdditionList=\"+AdditionList;\r\n return new Observable(observer => {\r\n this.proxy.executePost(url,HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n observer.next(res) \r\n }\r\n else this.proxy.showError(\"בעיה בבחירת תוספת\",\"\");\r\n },\r\n error => console.log('oops', error));\r\n }); \r\n }\r\n\r\n setOrderAddition(ID:number,AdditionType:number,AdditionList:string,CountNumber:number)\r\n {\r\n let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setOrderAddition?ID=\"+ID+\"&AdditionType=\"+AdditionType+\"&AdditionList=\"+AdditionList+\"&CountNumber=\"+CountNumber;\r\n return new Observable(observer => {\r\n this.proxy.executePost(url,HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n observer.next(res) \r\n }\r\n else this.proxy.showError(\"בעיה בבחירת תוספת\",\"\");\r\n },\r\n error => console.log('oops', error));\r\n }); \r\n }\r\n\r\n setOrderAddition2(ID:number,AdditionType:number,AdditionList:string,CountNumber:number,AdditionType2:number)\r\n {\r\n let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setOrderAddition?ID=\"+ID+\"&AdditionType=\"+AdditionType+\"&AdditionList=\"+AdditionList+\"&CountNumber=\"+CountNumber+\"&AdditionType2=\"+AdditionType2;\r\n return new Observable(observer => {\r\n this.proxy.executePost(url,HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n observer.next(res) \r\n }\r\n else this.proxy.showError(\"בעיה בבחירת תוספת\",\"\");\r\n },\r\n error => console.log('oops', error));\r\n }); \r\n }\r\n\r\n setInviteName(MenuID:number,MenuNumber:number,InviteName:string)\r\n {\r\n let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setInviteName?MenuID=\"+MenuID+\"&MenuNumber=\"+MenuNumber+\"&InviteName=\"+InviteName;\r\n return new Observable(observer => {\r\n this.proxy.executePost(url,HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n observer.next(res) \r\n }\r\n else this.proxy.showError(\"בעיה בהוספת שם למנה \",\"\");\r\n },\r\n error => console.log('oops', error));\r\n }); \r\n }\r\n\r\n GetHistoryOrders(Search:string)\r\n {\r\n let url;\r\n if(Search!=null)\r\n url= this.proxy.baseQAUrl+\"Order/GetHistoryOrders?Search=\"+Search;\r\n else\r\n url= this.proxy.baseQAUrl+\"Order/GetHistoryOrders\";\r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: OrderHistory[] = res.list;\r\n this.orderHistoryList=resList;\r\n if(this.orderHistoryList.length>0)\r\n observer.next(this.orderHistoryList)\r\n else this.proxy.showError(\"אין הזמנות בהיסטוריה\",\"\");\r\n }\r\n },\r\n error => console.log('oops', error)); \r\n });\r\n }\r\n\r\n getDownloadInvoice(ID:number)\r\n {\r\n let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/getDownloadInvoice?ID=\"+ID;\r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Put)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false) \r\n {\r\n observer.next(res) \r\n }\r\n },\r\n error => console.log('oops', error)); \r\n });\r\n }\r\n\r\n setNewDelivery(Origin:string,Destination:string,DeliveryTime:string,Phone:string,Description:string)\r\n {\r\n let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setNewDelivery?Origin=\"+Origin+\"&Destination=\"+Destination+\r\n \"&DeliveryTime=\"+DeliveryTime+\"&Phone=\"+Phone+\"&Description=\"+Description;\r\n return new Observable(observer => {\r\n this.proxy.executePost(url,HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n this.orderDelivery=true;\r\n observer.next(this.orderDelivery);\r\n }\r\n else this.proxy.showError(\"שגיאה בהוספת משלוח\",\"\");\r\n },\r\n error => console.log('oops', error)); \r\n }); \r\n }\r\n\r\n setDeliveryStatus(Status:number)\r\n {\r\n let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setDeliveryStatus?Status=\"+Status;\r\n return new Observable(observer => {\r\n this.proxy.executePut(url,HttpMethod.Put)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n this.orderDelivery=true;\r\n observer.next(this.orderDelivery);\r\n }\r\n else this.proxy.showError(\"שגיאה בעידכון סטטוס משלוח\",\"\");\r\n },\r\n error => console.log('oops', error)); \r\n }); \r\n }\r\n\r\n getHistoryDelivery()\r\n {\r\n let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/getHistoryDelivery\";\r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: HistoryDelivery[] = res.list;\r\n this.historyDeliveryList=resList;\r\n if(this.historyDeliveryList.length>0)\r\n observer.next(this.historyDeliveryList);\r\n else this.proxy.showError(\"אין משלוחים בהיסטוריה\",\"\"); \r\n }\r\n else this.proxy.showError(\"אין משלוחים בהיסטוריה\",\"\");\r\n },\r\n error => console.log('oops', error)); \r\n });\r\n }\r\n\r\n setOrderRating(Rate:number)\r\n {\r\n let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setOrderRating?Rate=\"+Rate;\r\n this.proxy.executePut(url,HttpMethod.Put)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n }\r\n else this.proxy.showError(\"שגיאה בעידכון דירוג\",\"\");\r\n },\r\n error => console.log('oops', error)); \r\n }\r\n\r\nsetNewOrderByHistory(ID:number)\r\n{\r\n let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setNewOrderByHistory?ID=\"+ID;\r\n return new Observable(observer => {\r\n this.proxy.executePost(url,HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n observer.next(resList)\r\n // this.getOrderDetails(true);\r\n }\r\n else this.proxy.showError(\"שגיאה באחזור הזמנה מההיסטוריה\",\"\");\r\n },\r\n error => console.log('oops', error)); \r\n });\r\n}\r\n\r\n// setOrderPayment(card_mask:string,card_validity:string,card_cvv:string,user_identity:string,invoice_name:string,TotalPrice:number)\r\n// {\r\n\r\n// let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setOrderPayment?card_mask=\"+card_mask+\"&card_validity=\"+card_validity+\"&card_cvv=\"+card_cvv+\"&user_identity=\"+user_identity+\"&invoice_name=\"+invoice_name\r\n// +\"&TotalPrice=\"+TotalPrice;\r\n// return new Observable(observer => {\r\n// this.proxy.executePost(url,HttpMethod.Post)\r\n// .subscribe(\r\n// result => {\r\n// let res: any = result;\r\n// // if (res.error==false)\r\n// {\r\n// let resList: UserEditProfile = res;\r\n// observer.next(res);\r\n \r\n// }\r\n// // else this.proxy.showError(res.responseMessage,\"\");\r\n// },\r\n// error => \r\n// {\r\n// //console.log('oops', error)\r\n// this.proxy.showError(\"סירוב כרטיס אשראי\",\"\");\r\n// });\r\n \r\n// });\r\n// }\r\n\r\nsetUpdateOrder22(OrderID:number,UserName:string,UserPhone:string,\r\n userEmail:string,IsDelivery:number,IsPickUp:number,IsSitting:number,PaymentType:number,Status:number,Note:string,IsAddress:number){\r\n let url;\r\n if(Note!=null)\r\n url = this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setUpdateOrder?OrderID=\"+OrderID+\"&UserName=\"+UserName+\"&UserPhone=\"+UserPhone+\"&userEmail=\"+userEmail+\"&IsDelivery=\"+IsDelivery+\r\n \"&IsPickUp=\"+IsPickUp+\"&IsSitting=\"+IsSitting+\"&PaymentType=\"+PaymentType+\"&Status=\"+Status\r\n +\"&Note=\"+Note+\"&IsAddress=\"+IsAddress;\r\n else\r\n url = this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setUpdateOrder?OrderID=\"+OrderID+\"&UserName=\"+UserName+\"&UserPhone=\"+UserPhone+\"&userEmail=\"+userEmail+\"&IsDelivery=\"+IsDelivery+\r\n \"&IsPickUp=\"+IsPickUp+\"&IsSitting=\"+IsSitting+\"&PaymentType=\"+PaymentType+\"&Status=\"+Status\r\n \"&IsAddress=\"+IsAddress;\r\n return new Observable(observer => {\r\n this.proxy.executePut(url,HttpMethod.Put)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n observer.next(res); \r\n } \r\n },\r\n error => console.log('oops', error)); \r\n });\r\n}\r\n\r\nsetUpdateOrder3(OrderID:number,UserName:string,UserPhone:string,\r\n userEmail:string,IsDelivery:number,IsPickUp:number,IsSitting:number,PaymentType:number\r\n ,Count:number,Status:number,Note:string,Address:string,Latitude:string,Longitude:string){\r\n let url= this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setUpdateOrder?OrderID=\"+OrderID+\"&UserName=\"+UserName+\"&UserPhone=\"+UserPhone+\"&userEmail=\"+userEmail+\"&IsDelivery=\"+IsDelivery+\r\n \"&IsPickUp=\"+IsPickUp+\"&IsSitting=\"+IsSitting+\"&PaymentType=\"+PaymentType+\"&Count=\"+Count+\"&Status=\"+Status\r\n +\"&Note=\"+Note+\"&Address=\"+Address+\"&Latitude=\"+Latitude+\"&Longitude=\"+Longitude;\r\n return new Observable(observer => {\r\n this.proxy.executePut(url,HttpMethod.Put)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n observer.next(res);\r\n }\r\n else if(res.error==true && Status==2)\r\n this.proxy.showError(\"שגיאה בסיום ההזמנה \",\"\"); \r\n else if(res.responseMessage==\"the delivery out of bounds\")\r\n observer.next(res);\r\n },\r\n error => console.log('oops', error)); \r\n });\r\n}\r\n\r\nsetUpdateOrder4(OrderID:number,IsDelivery:number,IsPickUp:number,IsSitting:number,PaymentType:number,Status:number,IsFromLink:number){\r\n let url;\r\n // url = this.proxy.baseQAUrl+\"Order/setUpdateOrder?OrderID=\"+OrderID+\"&Status=\"+Status;\r\n url = this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setUpdateOrder?OrderID=\"+OrderID+\"&IsDelivery=\"+IsDelivery+\r\n \"&IsPickUp=\"+IsPickUp+\"&IsSitting=\"+IsSitting+\"&PaymentType=\"+PaymentType+\"&Status=\"+Status+\"&IsFromLink=\"+IsFromLink;\r\n return new Observable(observer => {\r\n this.proxy.executePut(url,HttpMethod.Put)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n observer.next(res); \r\n } \r\n },\r\n error => console.log('oops', error)); \r\n });\r\n}\r\n\r\nsetUpdateOrder5(OrderID:number,IsDelivery:number,IsPickUp:number,IsSitting:number,PaymentType:number,Status:number,Address:string,Latitude:string,Longitude:string,IsFromLink:number){\r\n let url;\r\n url = this.proxy.baseQAUrl+localStorage.oneTimeOrderOrOrder+\"/setUpdateOrder?OrderID=\"+OrderID+\"&IsDelivery=\"+IsDelivery+\r\n \"&IsPickUp=\"+IsPickUp+\"&IsSitting=\"+IsSitting+\"&PaymentType=\"+PaymentType+\"&Status=\"+Status+\"&Address=\"+Address+\"&Latitude=\"+Latitude+\"&Longitude=\"+Longitude+\"&IsFromLink=\"+IsFromLink;\r\n return new Observable(observer => {\r\n this.proxy.executePut(url,HttpMethod.Put)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n observer.next(res); \r\n } \r\n },\r\n error => console.log('oops', error)); \r\n });\r\n}\r\n}","import { Injectable } from '@angular/core';\r\nimport { AppProxy, HttpMethod } from \"./app-proxy\";\r\nimport { ServerResponse } from 'http';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n@Injectable()\r\nexport class OneTimeOrderService \r\n{\r\n constructor(private proxy: AppProxy ,private router: Router,public dialog: MatDialog){} \r\n \r\n\r\n createOneTimeUser()\r\n {\r\n return new Observable(observer => {\r\n let signature=this.proxy.md5_(this.proxy.SECRET_KEY + \"OneTime\");\r\n let url= this.proxy.baseQAUrl+\"OneTimeOrder/CreateOneTimeUser?\"+\"signature=\"+signature;\r\n this.proxy.executePost(url,HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res.responseMessage;\r\n this.proxy.ACCESS_TOKEN=resList;\r\n localStorage.outOrIn=\"התנתק\"\r\n sessionStorage.ACCESS_TOKEN = resList;\r\n observer.next(resList);\r\n }\r\n else this.proxy.showError(\"שגיאה בכניסת משתמש\",\"\");\r\n },\r\n error => console.log('oops', error));\r\n });\r\n } \r\n\r\n\r\nsendConfirmationSms(OrderID:number , TotalPayment : number , PaymentType:number )\r\n{\r\n let url= this.proxy.baseQAUrl+\"OneTimeOrder/sendConfirmationSms?OrderID=\"+OrderID + \"&TotalPayment=\"+ TotalPayment + \"&PaymentType=\"+ PaymentType;\r\n return new Observable(observer => {\r\n this.proxy.executePost(url,HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n observer.next(res);\r\n }\r\n // if (res.error==false && res.responseMessage==\"ok\")\r\n // {\r\n else this.proxy.showError(\"שגיאה\",\"\");\r\n // }\r\n },\r\n error => console.log('oops', error));\r\n });\r\n}\r\n\r\nsetOrderSmsConfirmation(OrderID:number,SMSCode:string,innerWidth:any)\r\n{\r\n let url= this.proxy.baseQAUrl+\"OneTimeOrder/setOrderSmsConfirmation?OrderID=\"+OrderID+\"&SMSCode=\"+SMSCode;\r\n return new Observable(observer => {\r\n this.proxy.executePost(url,HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n // if(innerWidth<=480)\r\n // {\r\n // if (res.error==false && res.responseMessage==\"ok\")\r\n {\r\n observer.next(res);\r\n }\r\n // else\r\n // {\r\n // this.proxy.showError(\"קוד שגוי הזן שנית\",\"\");\r\n // this.router.navigate([\"/verificationCode\"]);\r\n // observer.next(res);\r\n // }\r\n // }\r\n // else\r\n //observer.next(res);\r\n },\r\n error => console.log('oops', error));\r\n });\r\n}\r\n\r\nsetOrderPayment(card_mask:string,card_validity:string,card_cvv:string,user_identity:string,invoice_name:string,TotalPrice:number , card_owner_name : string)\r\n{\r\n let url= this.proxy.baseQAUrl+\"OneTimeOrder/setOrderPayment?card_mask=\"+card_mask+\"&card_validity=\"+card_validity+\"&card_cvv=\"+card_cvv+\"&user_identity=\"+user_identity+\"&invoice_name=\"+invoice_name\r\n +\"&TotalPrice=\"+TotalPrice+\"&card_owner_name=\"+card_owner_name;\r\n return new Observable(observer => {\r\n this.proxy.executePost(url,HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n // if (res.error==false)\r\n {\r\n // let resList: UserEditProfile = res;\r\n observer.next(res);\r\n \r\n }\r\n // else this.proxy.showError(res.responseMessage,\"\");\r\n },\r\n error => \r\n {\r\n //console.log('oops', error)\r\n this.proxy.showError(\"סירוב כרטיס אשראי\",\"\");\r\n });\r\n \r\n });\r\n}\r\n\r\n\r\n}","import { Component, OnInit ,HostListener ,EventEmitter ,Input ,Output } from '@angular/core';\nimport { Category ,CategoryItem, AboutRestaurant, FoodItem} from 'src/app/models/category';\nimport { ChangeFood,OrderAdditon , RestaurantItem, Restaurant, CategoryRestaurant} from 'src/app/models/restaurant'\nimport { Router ,ActivatedRoute, NavigationEnd, RouterEvent, NavigationStart} from '@angular/router';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { MyOrder, OrderAdding } from 'src/app/models/order';\nimport { elementEventFullName } from '@angular/compiler/src/view_compiler/view_compiler';\nimport { AppComponent } from 'src/app/app.component';\nimport { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\nimport { BigImageComponent } from '../big-image/big-image.component';\nimport { DataService } from 'src/app/services/data.service';\nimport { PopupErrorComponent } from '../popup-error/popup-error.component';\nimport { Session } from 'protractor';\nimport { Subscription } from 'rxjs';\nimport { filter, take, tap } from 'rxjs/operators';\nimport { PopupEnter2Component } from '../popup-enter2/popup-enter2.component';\nimport { PopupEnterComponent } from '../popup-enter/popup-enter.component';\nimport { ToppingsComponent } from '../toppings/toppings.component';\nimport { Topping2Component } from '../topping2/topping2.component';\nimport { Meta, Title } from '@angular/platform-browser';\nimport { Location } from '@angular/common';\nimport { PopupOrderComponent } from '../popup-order/popup-order.component';\nimport { OneTimeOrderService } from 'src/app/services/oneTimeOrder.service';\n// import * as cheerio from 'cheerio';\n\n\n@Component({\n selector: 'app-restaurant',\n templateUrl: './restaurant.component.html',\n styleUrls: ['./restaurant.component.scss']\n})\nexport class RestaurantComponent implements OnInit {\n @Output()changePrice: EventEmitter = new EventEmitter();\n @Output()changeShowPrice: EventEmitter = new EventEmitter();\n @Output()changByFood: EventEmitter = new EventEmitter();\n @Output()changText: EventEmitter = new EventEmitter();\n @Output()header: EventEmitter = new EventEmitter();\n @Output()clickPayment:EventEmitter=new EventEmitter();\n @Output()deepLink: EventEmitter = new EventEmitter();\n stars:number[]=[1,2,3,4,5];\n aboutRestaurant:AboutRestaurant[];\n categores:CategoryRestaurant[];\n categoresItem:CategoryItem[];\n restaurantItem:RestaurantItem[]=[];\n changeFood:ChangeFood[];\n toppingsDish:OrderAdditon[];\n foodItem:FoodItem[];\n showChangeFood:boolean=false;\n aboutRestaurantCheck='assets/images/Circle_On.png';\n buttonText=\"העגלה ריקה\";\n totalItems:number=0;\n totalAmount:number=0.0;\n amountFood:number[];\n restaurant:Restaurant=new Restaurant;\n order:MyOrder;\n id:number;\n orderAddingList:OrderAdditon[];\n Rate= new Array(3);\n clickFevorite=false;\n fevorit='assets/images/Restorant_Page_Fevorit_Button.png';\n fevoritActive='assets/images/Restorant_Page_Fevorit_Button_On.png';\n Name:string=\"\";\n priceTotal=\"0 - פריטים\"\n price=0;\n clickToPay=\"לחץ לתשלום - \"\n categoryToFilter=\"\";\n foodName:string;\n dayTime=\"סגור\";\n num=0;\n page:number=1;\n sum = 100;\n throttle = 300;\n scrollDistance = 1;\n scrollUpDistance = 2;\n direction = \"\";\n text:string;\n Image:string=\"\";\n MenuList:RestaurantItem[]=[];\n nameLength:number;\n headerLength:number;\n isNameLength:boolean=true;\n isHeaderLength:boolean=true;\n showProgress=false;\n categoryFilter=0;\n innerWidth:any;\n previousUrl:string;\n idUrl:number=-1;\n numPage=0;\n endToppings=true;\n private routeSub: Subscription;\n @Output()state: EventEmitter = new EventEmitter();\n\n // @HostListener('window:popstate', ['$event'])\n // onPopState(event) {\n // // this.onBackPress();\n // history.back();\n // }\n\n // continue(){\n // this.proxy.restaurant=this.restaurant;\n // this.router.navigate([\"../yourOrder\"])\n // }\n constructor( private location: Location ,private oneTimeOrder: OneTimeOrderService ,private titleService:Title,private route: ActivatedRoute,private dataService:DataService,private matDialog:MatDialog,private router: Router,private orderService:OrdersService,private proxy :AppProxy,private bussinssService: BussinssService , private metaService: Meta) {\n // this.addTag();\n \n router.events.pipe(\n filter((event: RouterEvent) => event instanceof NavigationStart),\n tap(() => this.matDialog.closeAll())\n ) .subscribe(() => {\n this.initializePage();\n });\n}\n\nprivate initializePage(): void {\n // Your initialization logic here\n if (this.router.url.startsWith(\"/yourOrder\") && localStorage.edit != \"true\")\n {\n console.log(this.categoryToFilter , \"categoryToFilterInitPage\" )\n this.restaurantItem = null;\n this.showProgress=true;\n this.category((localStorage.ID_CATEGORY)- 1)\n }\n\n}\n // router.events.pipe(\n // filter((event: RouterEvent) => event instanceof NavigationStart),\n // tap(() => this.dialogRef.close()),\n // take(1),\n // ).subscribe();\n // console.log(this.router.getCurrentNavigation().previousNavigation.finalUrl.toString());\n // router.events\n // .pipe(filter(event => event instanceof NavigationEnd))\n // .subscribe((event: NavigationEnd) => {\n // console.log('prev:', event.url);\n // this.previousUrl = event.url;\n // if(localStorage.back=='true')\n // {\n // //localStorage.back='false';\n // if(this.previousUrl.startsWith(\"/restaurant\") && this.router.url.startsWith(\"/restaurant\"))\n // {\n // let url: string = \"/restaurant/\" + localStorage.ID;\n // this.router.navigateByUrl(url);\n // }\n // if(this.previousUrl.startsWith(\"/mainHome\") && this.router.url.startsWith(\"/mainHome\"))\n // this.router.navigate([\"../mainHome\"]);\n // }\n // });\n // }\n \n ngOnInit(): void\n {\n\n // const $ = cheerio.load('
    ') \n // $.html();\n if(sessionStorage.num==undefined)\n sessionStorage.num=location.pathname;\n else\n sessionStorage.num=\"2\";\n this.matDialog.closeAll();\n localStorage.DELIVERY=0;\n this.dataService.clickPayment.next(true);\n this.clickPayment.emit();\n this.innerWidth = window.innerWidth;\n this.proxy.scrollToTop();\n this.dataService.header.next(true);\n this.header.emit();\n this.showProgress=true;\n this.dataService.byFood.next(true);\n this.changByFood.emit();\n this.dataService.show.next(true);\n this.changeShowPrice.emit();\n this.dataService.showSearch.next(true);\n this.changByFood.emit();\n localStorage.SHOW=true;\n // {\n this.orderService.orderAddingList=null;\n if(localStorage.ID!=\"0\")\n if(this.categoryToFilter==\"\")\n {\n this.id=localStorage.ID;\n console.log(\"categoryToFilter 5\")\n console.log(localStorage.ID , \"0\")\n }\n else if(this.restaurant.ID!=undefined)\n {\n this.id=this.restaurant.ID;\n console.log(\"categoryToFilter 6\")\n }\n else\n {\n this.id=localStorage.ID_CATEGORY;\n console.log(\"categoryToFilter 7\")\n }\n \n this.categoryFilter=sessionStorage.CATEGORY_FILTER;\n console.log(\"categoryToFilter 8\" )\n console.log( this.categoryFilter)\n if(this.categoryToFilter==null)\n {\n this.categoryToFilter=\"\";\n console.log(\"categoryToFilter 9\")\n }\n\n if ( localStorage.ACCESS_TOKEN != \"null\" && localStorage.ACCESS_TOKEN != null &&(this.orderService.order == null \n || this.orderService.order.OrderID == 0 \n || this.innerWidth>480 || this.innerWidth<480 )\n )\n {\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n\n console.log(\"yyy\" )\n \n \n \n\n \n //this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n // console.log(\"getOrderDetails1\",\"getOrderDetails\");\n this.order=this.orderService.order;\n // this.order=res;\n if(this.order !=null && Number(this.order.TotalPrice)>0)\n {\n console.log(\"yyy\" )\n this.priceTotal = this.orderService.order.TotalPrice+\" ₪\"\n //naomi ניסיון לשנות\n this.priceTotal=this.clickToPay+\" \"+this.order.TotalPrice+\" ₪\";\n \n \n\n }\n else\n this.priceTotal=\"0 - פריטים\";\n if(this.order!=null && this.order.list!=null && this.order.list.length!=0 && localStorage.edit==\"false\")\n {\n let pos=this.order.list.length;\n if(pos>0)\n {\n pos=Number(Number(pos)-1);\n }\n }\n \n //to chack here\n localStorage.PRICE_TOTAL=this.priceTotal;\n this.dataService.price.next(this.priceTotal);\n this.changePrice.emit();\n console.log(\"אני פה1\" )\n \n\n this.gg()\n });\n }\n //_______________________________________________________________\n else {\n\n \n \n \n \n\n \n //this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n // console.log(\"getOrderDetails1\",\"getOrderDetails\");\n this.order=this.orderService.order;\n // this.order=res;\n if(this.order !=null && Number(this.order.TotalPrice)>0)\n {\n this.priceTotal = this.orderService.order.TotalPrice+\" ₪\"\n //naomi ניסיון לשנות\n this.priceTotal=this.clickToPay+\" \"+this.order.TotalPrice+\" ₪\";\n \n \n\n }\n else\n this.priceTotal=\"0 - פריטים\";\n if(this.order!=null && this.order.list!=null && this.order.list.length!=0 && localStorage.edit==\"false\")\n {\n let pos=this.order.list.length;\n if(pos>0)\n {\n pos=Number(Number(pos)-1);\n }\n }\n \n //to chack here\n localStorage.PRICE_TOTAL=this.priceTotal;\n this.dataService.price.next(this.priceTotal);\n this.changePrice.emit();\n console.log(\"אני פה2\")\n this.gg()\n }\n\n}\n //_______________________________________________________________\n\n gg()\n {\n console.log(this.bussinssService.restaurant , \"1357\")\n this.routeSub = this.route.params.subscribe(params => {\n console.log(params) //log the entire params object\n // params['id']=\"821123\";\n let urlId=params['id'];\n //15.10.24\n//this.orderService.order.OrderID !=0 זה מה שהוספתי\n if(sessionStorage.deeplink!=undefined && sessionStorage.deeplink!=\"\" && this.orderService.order!=undefined && this.orderService.order.OrderID !=0)\n {\n this.dataService.deepLink.next(true);\n this.deepLink.emit();\n this.id=sessionStorage.deeplink;\n let category=0;\n if(sessionStorage.CATEGORY_FILTER!=\"\" && sessionStorage.CATEGORY_FILTER!=undefined)\n category=sessionStorage.CATEGORY_FILTER;\n if(this.order==null ||this.order.OrderID==0 ||this.order==undefined)\n this.category(category);\n else\n {\n console.log(this.bussinssService.restaurant , \"1234\")\n this.getRestaurantDetails(this.bussinssService.restaurant,-1);\n }\n }\n else if(urlId!=undefined && urlId.length>=5)\n {\n console.log(\"יש יוזר והוא גדול מ5\" , urlId)\n sessionStorage.deeplink2=urlId;\n this.idUrl = urlId.substring(0, urlId.length- 4);\n if(this.idUrl>-1)\n {\n this.id=this.idUrl//log the value of id\n sessionStorage.deeplink=this.id;\n this.dataService.deepLink.next(true);\n this.deepLink.emit();\n if(this.order==null ||this.order.OrderID==0 ||this.order==undefined)\n {\n let i=0;\n localStorage.TEXT_SEARCH=\"\";\n sessionStorage.CATEGORY_FILTER=i;\n console.log(\"2היגיע לפה \" ,i)\n if(this.categores!=null)\n for(let j=0;j-1)\n {\n if(this.categores!=null && this.categores.length>0)\n {\n this.categores[i].isCheck=1;\n this.categoryToFilter=this.categores[i].Category;\n console.log(\"categoryToFilter 10\")\n }\n if(sessionStorage.deeplink==\"\")\n {\n if(localStorage.ID!=\"0\") \n if(this.categoryToFilter==\"\")\n {\n this.id=localStorage.ID;\n console.log(\"categoryToFilter 11\")\n }\n else\n {\n this.id=this.restaurant.ID;\n console.log(\"categoryToFilter 12\")\n }\n else\n {\n this.id=this.restaurant.ID;\n console.log(\"categoryToFilter 13\")\n }\n }\n if(this.categoryToFilter==null)\n \n this.categoryToFilter=\"\";\n \n\n\n this.bussinssService.getRestaurantDetails(this.id,false,false,false,this.categoryToFilter,null).subscribe((res:any)=>{\n this.restaurant=res;\n this.restaurantItem=this.restaurant.MenuList;\n \n let KashrutLength=0;\n if (this.restaurant.Kashrut!=null)\n KashrutLength=this.restaurant.Kashrut.length;\n if(this.innerWidth<=480)\n {\n this.nameLength=Number(Number(this.restaurant.Name.length)+Number(KashrutLength))\n this.isNameLength=this.nameLength>22;\n this.headerLength=Number(this.restaurant.Header.length)\n this.isHeaderLength=this.headerLength>25;\n }\n else\n {\n this.isNameLength=false; \n this.isHeaderLength=false;\n }\n this.orderService.restaurant=this.restaurant;\n if(this.restaurant.LongImage!=null)\n this.Image=this.restaurant.LongImage;\n this.restaurantItem=this.restaurant.MenuList;\n if(this.restaurantItem!=null)\n for(let i=0;i0)\n {\n this.buttonText=\"המשך לתשלום\";\n this.totalItems+=this.restaurantItem[i].Rate;\n let p=0.0;\n p=this.restaurantItem[i].Price;\n this.totalAmount=Number(this.totalItems)*Number(p);\n }\n }\n this.order=this.orderService.order;\n if(this.restaurant.MenuList.length>0)\n {\n if(this.order!=null && this.order.list!=null)\n for(let i=0;i0)\n this.restaurantItem[j].Rate+=this.order.list[i].Count;\n }\n }\n let amount=0;\n \n for(let j=0;j0)\n this.totalAmount=Number(localStorage.PRICE)\n else\n {\n this.totalAmount=0;\n for(let i=0;i0)\n {\n let p:number=0;\n p=this.restaurant.MenuList[i].Price;\n this.totalAmount+=Number(this.restaurantItem[i].Rate)*Number(p);\n this.totalItems+=this.restaurantItem[i].Rate;\n }\n }\n }\n \n // {\n // let changeFood = new ChangeFood();\n // let amount=0;\n // if(this.restaurantItem[j].Rate!=null)\n // amount=this.restaurantItem[j].Rate;\n // changeFood.Name =(amount)+'-'+ this.restaurantItem[j].Name;\n // changeFood.Text=\"לחץ לשינויים \";\n // changeFood.toppings =null; \n // this.restaurantItem[j].ChangeFood=[];\n // for(let q=0;q0 && this.order.list.length>0)\n // this.priceTotal=this.clickToPay+\"\"+this.totalAmount+\" \"+\"₪\";\n // else\n // this.priceTotal=\"0 - פריטים\";\n // this.dataService.price.next(this.priceTotal);\n // this.changePrice.emit();\n // this.dataService.price.next(this.priceTotal);\n // this.changePrice.emit();\n // localStorage.PRICE_TOTAL=this.priceTotal;\n }\n if(this.order!=null && this.order.OrderID!=0)\n {\n let haveList=false;\n let pos=-1;\n for(let j=0;j0)\n {\n pos=j;\n if(this.order.list[i].MenuID==this.restaurantItem[j].ID)\n {\n haveList=true;\n i=this.order.list.length;\n }\n }\n }\n if(pos>0 && haveList==false)\n {\n this.restaurantItem[pos].Rate=0;\n let location = this.restaurantItem[pos].ChangeFood.length-1;\n this.restaurantItem[pos].ChangeFood.splice(this.restaurantItem.length-1,1);\n delete this.restaurantItem[pos].ChangeFood[location]; \n this.restaurantItem[pos].ChangeFood.length=location;\n let p:number=0;\n p=this.restaurantItem[pos].Price;\n this.totalAmount-=Number(this.restaurantItem[pos].Rate)*Number(p);\n this.totalItems-=this.restaurantItem[pos].Rate;\n }\n }\n } \n \n });\n }\n \n this.bussinssService.getRestaurantDetails(this.id,false,false,false,this.categoryToFilter,null).subscribe((res:any)=>{\n if(res==null)\n {\n this.showProgress=false;\n this.proxy.showError(\"אין כזו מסעדה פעילה\",\"\");\n this.router.navigate([\"../mainHome\"])\n }\n else{\n console.log(\"getRestaurantDetails\",\"getOrderDetails\");\n this.getRestaurantDetails(res,0);\n }\n });\n }\n else\n {\n console.log(\"0987\")\n this.getRestaurantDetails(this.bussinssService.restaurant,-1);\n \n }\n // let category=0;\n // if(sessionStorage.CATEGORY_FILTER!=\"\" && sessionStorage.CATEGORY_FILTER!=undefined)\n // category=sessionStorage.CATEGORY_FILTER;\n // this.category(0);\n // this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n // this.order=res;\n // this.orderService.order=null;\n // if(this.order.list!=null && this.order.list.length>0 )\n // {\n // this.orderService.setUpdateOrder(this.order.OrderID,0,0,0,1,\n // null,null,0,null,1,null,null,null,null,null,null,null,null,0).subscribe((res:any)=>{\n // // this.orderService.order=null;\n \n // // this.router.navigate(['../restaurant']);\n // });\n \n \n // }\n \n // });\n }\n else{\n console.log(\"היוזר הוא לא מספר\")\n this.bussinssService.getBusinessIDByEnName(urlId).subscribe((res:any)=>{\n console.log(res,\"res\")\n this.id=Number(res);\n if(this.id==undefined || this.id==null)\n {\n if(localStorage.ID!=\"0\")\n if(this.categoryToFilter==\"\")\n {\n this.id=localStorage.ID;\n console.log(\"categoryToFilter 18\")\n }\n else if(this.restaurant.ID!=undefined)\n {\n this.id=this.restaurant.ID;\n console.log(\"categoryToFilter 17\")\n }\n else\n {\n this.id=localStorage.ID_CATEGORY;\n console.log(\"categoryToFilter 16\")\n }\n }\n else \n if(this.order==null ||this.order.OrderID==0 ||this.order==undefined)\n {\n console.log(\"order null\")\n let i=0;\n localStorage.TEXT_SEARCH=\"\";\n sessionStorage.CATEGORY_FILTER=i;\n console.log(\"3היגיע לפה \" ,i)\n if(this.categores!=null)\n for(let j=0;j-1)\n {\n if(this.categores!=null && this.categores.length>0)\n {\n this.categores[i].isCheck=1;\n this.categoryToFilter=this.categores[i].Category;\n }\n if(sessionStorage.deeplink==\"\")\n {\n if(localStorage.ID!=\"0\") \n if(this.categoryToFilter==\"\")\n this.id=localStorage.ID;\n else\n this.id=this.restaurant.ID;\n else\n this.id=this.restaurant.ID;\n }\n if(this.categoryToFilter==null)\n this.categoryToFilter=\"\";\n this.bussinssService.getRestaurantDetails(this.id,false,false,false,this.categoryToFilter,null).subscribe((res:any)=>{\n this.restaurant=res;\n //////todo\n // this.titleService.setTitle(\"Some title\");\n //this.metaService.updateTag({ name: 'description', content: \"תאור מסעדה\" })\n this.restaurantItem=this.restaurant.MenuList;\n let KashrutLength=0;\n if (this.restaurant.Kashrut!=null)\n KashrutLength=this.restaurant.Kashrut.length;\n if(this.innerWidth<=480)\n {\n this.nameLength=Number(Number(this.restaurant.Name.length)+Number(KashrutLength))\n this.isNameLength=this.nameLength>22;\n this.headerLength=Number(this.restaurant.Header.length)\n this.isHeaderLength=this.headerLength>25;\n }\n else\n {\n this.isNameLength=false; \n this.isHeaderLength=false;\n }\n this.orderService.restaurant=this.restaurant;\n if(this.restaurant.LongImage!=null)\n this.Image=this.restaurant.LongImage;\n this.restaurantItem=this.restaurant.MenuList;\n if(this.restaurantItem!=null)\n for(let i=0;i0)\n {\n this.buttonText=\"המשך לתשלום\";\n this.totalItems+=this.restaurantItem[i].Rate;\n let p=0.0;\n p=this.restaurantItem[i].Price;\n this.totalAmount=Number(this.totalItems)*Number(p);\n }\n }\n this.order=this.orderService.order;\n if(this.restaurant.MenuList.length>0)\n {\n if(this.order!=null && this.order.list!=null)\n for(let i=0;i0)\n this.restaurantItem[j].Rate+=this.order.list[i].Count;\n }\n }\n let amount=0;\n \n for(let j=0;j0)\n this.totalAmount=Number(localStorage.PRICE)\n else\n {\n this.totalAmount=0;\n for(let i=0;i0)\n {\n let p:number=0;\n p=this.restaurant.MenuList[i].Price;\n this.totalAmount+=Number(this.restaurantItem[i].Rate)*Number(p);\n this.totalItems+=this.restaurantItem[i].Rate;\n }\n }\n }\n \n // {\n // let changeFood = new ChangeFood();\n // let amount=0;\n // if(this.restaurantItem[j].Rate!=null)\n // amount=this.restaurantItem[j].Rate;\n // changeFood.Name =(amount)+'-'+ this.restaurantItem[j].Name;\n // changeFood.Text=\"לחץ לשינויים \";\n // changeFood.toppings =null; \n // this.restaurantItem[j].ChangeFood=[];\n // for(let q=0;q0 && this.order.list.length>0)\n // this.priceTotal=this.clickToPay+\"\"+this.totalAmount+\" \"+\"₪\";\n // else\n // this.priceTotal=\"0 - פריטים\";\n // this.dataService.price.next(this.priceTotal);\n // this.changePrice.emit();\n // this.dataService.price.next(this.priceTotal);\n // this.changePrice.emit();\n // localStorage.PRICE_TOTAL=this.priceTotal;\n }\n if(this.order!=null && this.order.OrderID!=0)\n {\n let haveList=false;\n let pos=-1;\n for(let j=0;j0)\n {\n pos=j;\n if(this.order.list[i].MenuID==this.restaurantItem[j].ID)\n {\n haveList=true;\n i=this.order.list.length;\n }\n }\n }\n if(pos>0 && haveList==false)\n {\n this.restaurantItem[pos].Rate=0;\n let location = this.restaurantItem[pos].ChangeFood.length-1;\n this.restaurantItem[pos].ChangeFood.splice(this.restaurantItem.length-1,1);\n delete this.restaurantItem[pos].ChangeFood[location]; \n this.restaurantItem[pos].ChangeFood.length=location;\n let p:number=0;\n p=this.restaurantItem[pos].Price;\n this.totalAmount-=Number(this.restaurantItem[pos].Rate)*Number(p);\n this.totalItems-=this.restaurantItem[pos].Rate;\n }\n }\n } \n \n });\n }\n \n this.bussinssService.getRestaurantDetails(this.id,false,false,false,this.categoryToFilter,null).subscribe((res:any)=>{\n console.log(\"getRestaurantDetails\",\"getOrderDetails\");\n this.getRestaurantDetails(res,0);\n });\n}\nelse\n{\n if (this.bussinssService.restaurant != null)\n {\n console.log(\"8787\" ,this.bussinssService.restaurant.ID)\nthis.getRestaurantDetails(this.bussinssService.restaurant,-1);\n }\n else\n {\n this.bussinssService.getRestaurantDetails(this.id,false,false,false,this.categoryToFilter,null).subscribe((res:any)=>{\n console.log(\"getRestaurantDetails\",\"getOrderDetails\");\n this.getRestaurantDetails(res,0);\n });\n }\n}\n // this.category(0);\n // this.bussinssService.getRestaurantDetails(this.id,false,false,false,this.categores[0].Category,null).subscribe((res:any)=>{\n // console.log(\"getRestaurantDetails\",\"getOrderDetails\");\n // this.getRestaurantDetails(res,0);\n // if(sessionStorage.ACCESS_TOKEN != undefined)\n // this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n // this.order=res;\n // this.orderService.order=null;\n // if(this.order.list!=null && this.order.list.length>0 )\n // {\n // this.orderService.setUpdateOrder(this.order.OrderID,0,0,0,1,\n // null,null,0,null,1,null,null,null,null,null,null,null,null,0).subscribe((res:any)=>{\n // // this.orderService.order=null;\n \n // // this.router.navigate(['../restaurant']);\n // });\n \n \n // }\n \n // // });\n // });\n \n // if (sessionStorage.ACCESS_TOKEN == \"null\" || sessionStorage.ACCESS_TOKEN == null || sessionStorage.ACCESS_TOKEN == \"\") {\n // sessionStorage.ACCESS_TOKEN = \"null\";\n // this.matDialog.closeAll();\n // if (this.innerWidth <= 480)\n // this.matDialog.open(PopupEnter2Component, { disableClose: true });\n // else\n // this.matDialog.open(PopupEnterComponent, { disableClose: true });\n // }\n });\n }\n }\n// if(this.id==undefined || this.id==null)\n// {\n// if(localStorage.ID!=\"0\")\n// if(this.categoryToFilter==\"\")\n// this.id=localStorage.ID;\n// else if(this.restaurant.ID!=undefined)\n// this.id=this.restaurant.ID;\n// else\n// this.id=localStorage.ID_CATEGORY;\n// }\n else\n {\n if(this.order==null ||this.order.OrderID==0 ||this.order==undefined)\n {\n this.bussinssService.getRestaurantDetails(this.id,false,false,false,this.categoryToFilter,null).subscribe((res:any)=>{\n console.log(\"getRestaurantDetails\",\"getOrderDetails\");\n console.log(\"8736\")\n this.getRestaurantDetails(res,0);\n });\n }\n else\n {\n console.log(\"8734\")\nthis.getRestaurantDetails(this.bussinssService.restaurant,-1);\n }\n }\n});\n \n // else\n //this.getRestaurantDetails(this.bussinssService.restaurant,-1);\n\n//4444\n // }\n\n //to chack\n //naomi change 01/08/24\n localStorage.edit=\"false\"\n \n }\n\n addTag() {\n this.metaService.addTag({ name: 'description', content: 'Article Description' });\n this.metaService.addTag({ name: 'title', content: 'index,follow' });\n this.metaService.addTag({ property: 'og:title', content: 'Content Title for social media' });\n }\n\n getRestaurantDetails(restaurant,num)\n {\n \n this.restaurant=restaurant;\n this.restaurantItem=this.restaurant.MenuList;\n let KashrutLength=0;\n if (this.restaurant!= null && this.restaurant.Kashrut!=null)\n KashrutLength=this.restaurant.Kashrut.length;\n if(this.innerWidth<=480)\n {\n this.nameLength=Number(Number(this.restaurant.Name.length)+Number(KashrutLength))\n this.isNameLength=this.nameLength>22;\n this.headerLength=Number(this.restaurant.Header.length)\n this.isHeaderLength=this.headerLength>25;\n }\n else\n {\n this.isNameLength=false; \n this.isHeaderLength=false;\n }\n this.categores=this.restaurant.categoryList;\n let cc=0;\n if(this.categoryToFilter==\"\")\n cc=1;\n this.categoryToFilter=this.categores[0].Category;\n console.log(\"categoryToFilter 19\" )\n console.log( this.categoryToFilter)\n \n let pos:number=Number(sessionStorage.CATEGORY_FILTER);\n console.log( pos , \"pos\")\n if( pos>-1 && Number(this.categores.length-1)>= pos)\n {\n this.categoryToFilter=this.categores[pos].Category;\n \n console.log(\"categoryToFilter 20\" )\n console.log( this.categoryToFilter)\n console.log( num , \"num\")\n }\n if(num>-1)\n {\n let b=0;\n for(let i=0;i0)\n {\n i=i-1\n b=1;\n }\n else\n {\n i=6;\n b=7;\n }\n }\n \n if(this.restaurant.ListDay[i].DayTime!='' && this.restaurant.ListDay[i].DayTime!='0:00-0:00' && this.restaurant.ListDay[i].DayTime!='00:00-00:00')\n {\n var fields = this.restaurant.ListDay[i].DayTime.split('-');\n // if(this.proxy.isOpen(fields[0],fields[1],b))\n if(this.restaurant.IsOpen == 1)\n this.dayTime=this.restaurant.ListDay[i].DayTime;\n else\n this.dayTime=\"סגור\";\n }\n else\n this.dayTime=\"סגור\";\n \n\n // if(this.restaurant.IsOpen == false)\n // this.dayTime==\"סגור\"\n if(this.dayTime==\"סגור\")\n {\n this.proxy.showError(\"המסעדה סגורה\\n אין אפשרות לבצע הזמנה\",\"\");\n this.router.navigate([\"../mainHome\"])\n }\n i=this.restaurant.ListDay.length;\n }\n }\n console.log(\"7733\")\n this.category(pos);\n this.showProgress=false;\n \n }\n\n \n else\n {\n console.log(\"6787\")\n //for(let j=0;j0)\n {\n this.buttonText=\"המשך לתשלום\";\n this.totalItems+=this.restaurantItem[i].Rate;\n let p=0.0;\n p=this.restaurantItem[i].Price;\n this.totalAmount=Number(this.totalItems)*Number(p);\n // if(this.totalAmount>0 && this.order.list.length>0)\n // this.priceTotal=this.clickToPay+\"\"+this.totalAmount+\" \"+\"₪\";\n // else\n // this.priceTotal=\"0 - פריטים\";\n // this.dataService.price.next(this.priceTotal);\n // this.changePrice.emit();\n // localStorage.PRICE_TOTAL=this.priceTotal;\n }\n }}\n if(this.restaurant!=null)\n {\n // if(this.restaurant.categoryList!=null)\n // this.categores=this.restaurant.categoryList;\n let b=0;\n for(let i=0;i0)\n {\n i=i-1\n b=1;\n }\n else\n {\n i=6;\n b=7;\n }\n }\n \n if(this.restaurant.ListDay[i].DayTime!='' && this.restaurant.ListDay[i].DayTime!='0:00-0:00' && this.restaurant.ListDay[i].DayTime!='00:00-00:00')\n {\n \n var fields = this.restaurant.ListDay[i].DayTime.split('-');\n // if(this.proxy.isOpen(fields[0],fields[1],b))\n if(this.restaurant.IsOpen == 1)\n this.dayTime=this.restaurant.ListDay[i].DayTime;\n else\n this.dayTime=\"סגור\";\n }\n else\n this.dayTime=\"סגור\";\n i=this.restaurant.ListDay.length;\n }\n }\n if(localStorage.PRICE>0)\n this.totalAmount=Number(localStorage.PRICE);\n // if(this.totalAmount>0 && this.order.list.length>0)\n // this.priceTotal=this.clickToPay+\"\"+this.totalAmount+\" \"+\"₪\";\n // else\n // this.priceTotal=\"0 - פריטים\";\n //this.dataService.price.next(this.priceTotal);\n //this.changePrice.emit();\n //localStorage.PRICE_TOTAL=this.priceTotal;\n\n //if(this.restaurant.Rate!=null)\n // this.Rate=this.restaurant.Rate;\n // else\n // if(this.restaurant.Rate==0 ||this.restaurant.Rate==null)\n // this.restaurant.Rate=3;\n if(this.restaurant.Name!=null)\n this.Name=this.restaurant.Name;\n }\n else{\n //localStorage.ID=localStorage.ID_CATEGORY;\n //this.proxy.showError(\"שגיאה בקבלת פרטים \",\"\");\n }\n \n if(this.restaurantItem!=null && this.restaurantItem.length>0)\n this.buttonText=\"המשך לתשלום\"\n if(this.restaurant!=null)\n {\n\n }\n else{\n // localStorage.ID=localStorage.ID_CATEGORY;\n \n }\n if(this.restaurant.MenuList.length>0)\n {\n // if(this.order!=null && this.order.list!=null)\n // for(let i=0;i0)\n // this.restaurantItem[j].Rate+=this.order.list[i].Count;\n // }\n // }\n let amount=0;\n for(let j=0;j0)\n this.totalAmount=Number(localStorage.PRICE)\n else\n {\n this.totalAmount=0;\n for(let i=0;i0)\n {\n let p:number=0;\n p=this.restaurant.MenuList[i].Price;\n this.totalAmount+=Number(this.restaurantItem[i].Rate)*Number(p);\n this.totalItems+=this.restaurantItem[i].Rate;\n }\n }\n \n }\n // for(let j=0;j0 && this.order.list.length>0)\n // this.priceTotal=this.clickToPay+\"\"+this.totalAmount+\" \"+\"₪\";\n // else\n // this.priceTotal=\"0 - פריטים\";\n // this.dataService.price.next(this.priceTotal);\n // this.changePrice.emit();\n // localStorage.PRICE_TOTAL=this.priceTotal;\n }\n // if( this.orderService.restaurant!=null && this.orderService.restaurant.MenuList!=null )\n // this.restaurantItem=this.orderService.restaurant.MenuList;\n //if(this.orderService.restaurant.categoryList!=null)\n // this.categores=this.restaurant.categoryList;\n if(this.order!=null && this.order.OrderID!=0)\n {\n let haveList=false;\n let pos=-1;\n for(let j=0;j0)\n {\n pos=j;\n if(this.order.list[i].MenuID==this.restaurantItem[j].ID)\n {\n haveList=true;\n i=this.order.list.length;\n }\n }\n }\n if(pos>0 && haveList==false)\n {\n console.log(pos, \"yuiu\")\n this.restaurantItem[pos].Rate=0;\n let location = this.restaurantItem[pos].ChangeFood.length-1;\n this.restaurantItem[pos].ChangeFood.splice(this.restaurantItem.length-1,1);\n delete this.restaurantItem[pos].ChangeFood[location]; \n this.restaurantItem[pos].ChangeFood.length=location;\n let p:number=0;\n p=this.restaurantItem[pos].Price;\n this.totalAmount-=Number(this.restaurantItem[pos].Rate)*Number(p);\n this.totalItems-=this.restaurantItem[pos].Rate;\n localStorage.PRICE= Number(this.totalAmount);\n // if(this.totalAmount>0)\n // {\n // if(this.order!=null && this.order.TotalPrice!=null)\n // {\n // this.priceTotal=this.clickToPay+\"\"+this.order.TotalPrice+\" \"+\"₪\";\n // localStorage.PRICE_TOTAL=this.priceTotal;\n // this.dataService.price.next(this.priceTotal);\n // this.changePrice.emit();\n // }\n // else\n // {\n // this.priceTotal=\"0 - פריטים\";\n // this.dataService.price.next(this.priceTotal);\n // this.changePrice.emit();\n // }\n \n // this.totalAmount=Number(this.order.TotalPrice);\n // }\n }\n else\n {\n if (this.order.OrderID != 0)\n {\n console.log(pos, \"yuyu\")\n let i=0\n for(i;i0)\n // this.restaurantItem[j].Amount=this.order.list[i].Count;\n // }\n // }\n \n \n // if(haveList==false)\n // this.restaurantItem[pos].Amount=0;\n \n }\n \n }\n // this.categores[sessionStorage.CATEGORY_FILTER].isCheck=1;\n // });\n\n //this.endToppings = this.dataService.endToppings.getValue() || {};\n this.endToppings = this.dataService.notEndToppings\n // this.dataService.endToppings.subscribe(data=>{\n // this.endToppings=data;\n if(this.endToppings==true)\n {\n return;\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n // if(this.order.list!=null && this.order.list.length!=0 && localStorage.edit==\"false\")\n // {}\n let pos=this.order.list.length-1;\n this.orderService.addToBagOrder(this.order.list[pos].ID,this.order.OrderID,this.order.list[pos].MenuNumber).subscribe((res:any)=>{\n //window.location.reload();\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n this.showProgress=false;\n this.dataService.notEndToppings=false;\n this.restaurantItem[Number(localStorage.pos)].Rate=0;\n this.ngOnInit();\n \n });\n // let currentUrl = this.router.url;\n // this.router.navigateByUrl('/', {skipLocationChange: true}).then(() => {\n // this.router.navigate([currentUrl]);\n // this.dataService.notEndToppings=false;\n // //this.dataService.endToppings.next(true);\n // // this.header.emit();\n // });\n });\n // this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n // this.order=res;\n // this.router.events.subscribe((event) => {\n // if (event instanceof NavigationEnd) {\n // // Trick the Router into believing it's last link wasn't previously loaded\n // this.router.navigated = false;\n // }\n // });\n // let url: string = \"/restaurant/\" + this.orderService.restaurant.NameEn;\n //this.router.navigateByUrl(url);\n //this.matDialog.closeAll();\n \n//history.back();\n // });\n }); \n }\n // });\n console.log(\"7777\")\n this.text = this.dataService.search.getValue() || {};\n this.dataService.search.subscribe(data=>{\n this.text=data;\n \n if(this.text!=\"\")\n {\n console.log(\"7772\")\n if(sessionStorage.CATEGORY_FILTER!=\"\")\n this.categoryFilter=sessionStorage.CATEGORY_FILTER;\n else\n this.categoryToFilter=\"\";\n console.log(\"categoryToFilter 21\")\n if(localStorage.ID!=\"0\")\n if(this.categoryToFilter==\"\")\n {\n this.id=localStorage.ID;\n console.log(\"categoryToFilter 22\")\n }\n else\n {\n this.id=this.restaurant.ID;\n console.log(\"categoryToFilter 23\")\n }\n if(this.id==undefined)\n {\n this.id=this.restaurant.ID;\n console.log(\"categoryToFilter 24\")\n }\n let id_:number=localStorage.ID\n if(id_ !=undefined && localStorage.TEXT_SEARCH!=\"\")\n this.bussinssService.getBusinessMenuBySearch(id_,this.text,1).subscribe((res:any[])=>{\n this.restaurant.MenuList=res;\n if(this.restaurant.MenuList!=null)\n {\n this.restaurantItem=this.restaurant.MenuList;\n this.MenuList=[];\n //this.category(-1);\n this.dataService.text.next(\"\");\n this.changText.emit();\n }\n else\n {\n this.proxy.showError(\"לא נמצאו מנות\\n בקטגוריה זו\",\"\");\n this.dataService.text.next(\"\");\n this.changText.emit();\n }\n });\n\n }\n if(sessionStorage.deeplink==this.id )\n {\n if (sessionStorage.ACCESS_TOKEN == \"null\" || sessionStorage.ACCESS_TOKEN == null || sessionStorage.ACCESS_TOKEN == \"\") {\n sessionStorage.ACCESS_TOKEN = \"null\";\n\n 28/11/24\n // this.openDialogEnter();\n \n this.oneTimeOrder.createOneTimeUser().subscribe((res:any)=>{\n localStorage.oneTimeOrderOrOrder=\"oneTimeOrder\"; \n this.orderService.oneTimeOrderOrOrder=\"oneTimeOrder\";\n //אולי למחוק עוד?? 15.10.24\n this.dataService.token.next('oneTimeOrder');\n this.dataService.state.next(\"התחבר\");\n this.state.emit();\n })\n\n }\n }\n});\n\n }\n\n openDialogEnter() {\n let num=0;\n if(localStorage.num!=undefined && localStorage.num!=null && !localStorage.num.startsWith(\"NaN\"))\n num=localStorage.num;\n num+=1;\n localStorage.num=num;\n if(sessionStorage.dialog==\"false\" || sessionStorage.dialog==undefined)\n {\n sessionStorage.dialog=\"true\"\n console.log(\"PopupEnterComponent2\"+location.pathname+\"-\"+num);\n if( num>1)\n {\n this.proxy.num=0;\n if (this.innerWidth <= 480)\n this.matDialog.open(PopupEnter2Component);\n else\n this.matDialog.open(PopupEnterComponent);\n }\n }\n //}\n }\n\n onBackPress()\n {\n if(sessionStorage.deeplink==\"\" || sessionStorage.deeplink==undefined)\n {\n localStorage.back='true'\n //localStorage.ID=localStorage.ID_CATEGORY;\n if(localStorage.Category==\"2\")\n {\n let url: string;\n // if(location.pathname==\"/yourOrder\")\n // this.router.navigate([\"yourOrder\"])\n // else \n // if(localStorage.TEXT!='null' && localStorage.TEXT!=undefined)\n // {\n url= \"/restaurantCategory/\" + sessionStorage.Category;\n // localStorage.TEXT='null';\n // }\n // else \n\n // url= \"/restaurantCategory/\" + localStorage.ID_CATEGORY;\n this.router.navigateByUrl(url);\n \n }\n else\n this.router.navigate([\"../mainHome\"]);\n }\n }\n\n payment()\n {\n this.restaurant.MenuList=this.restaurantItem;\n this.orderService.restaurant=this.restaurant;\n if(this.totalAmount>0)\n {\n let canContinue = true;\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n console.log(\"getOrderDetails2\",\"getOrderDetails\"); \n this.order=res;\n if(this.order!=null && this.order.list!=null)\n for(let i=0;i-1)\n {\n this.bussinssService.getMainList(5,this.id,this.page,Math.floor((Math.random() * 20) + 1)).subscribe((res:any[])=>{\n if(this.restaurantItem==null)\n this.restaurantItem=[];\n for(let i=0;i{\n // this.bussinssService.getMenuBySearch(this.text,this.page).subscribe((res:any[])=>{\n if(this.restaurantItem==null)\n this.restaurantItem=[];\n for(let i=0;i {\n\n this.location.back();\n });\n \n \n }\n }\n\n {\n //this.bussinssService.restaurant=this.restaurant;\n this.totalItems+=1;\n this.restaurantItem[pos].Rate+=1;\n // let p=0.0;\n // p=this.restaurantItem[pos].Price;\n // this.totalAmount=Number(this.totalAmount)+Number(p);\n // AppComponent.price=this.totalAmount;\n // this.priceTotal=this.clickToPay+\" \"+this.totalAmount+\" ₪\";\n // localStorage.PRICE_TOTAL=this.priceTotal;\n // this.dataService.price.next(this.priceTotal);\n // this.changePrice.emit();\n // this.buttonText=\"המשך לתשלום\";\n this.showChangeFood=true;\n let changeFood = new ChangeFood();\n let amount=0;\n if(this.restaurantItem[pos].Rate!=null)\n amount=this.restaurantItem[pos].Rate;\n changeFood.Name =(amount)+'-'+ this.restaurantItem[pos].Name;\n changeFood.Text=\"לחץ לשינויים \";\n changeFood.toppings =null; \n if(this.restaurantItem[pos].ChangeFood==null)\n this.restaurantItem[pos].ChangeFood=[];\n {\n this.orderService.addToBagOrder_(this.restaurantItem[pos].ID,this.restaurant.ID,this.restaurantItem[pos].Rate).subscribe((res:any)=>{\n \n if(this.restaurantItem[pos].IsAddition==1)\n { \n let changeFood = new ChangeFood();\n let amount=0;\n if(this.restaurantItem[pos].Rate!=null)\n amount=this.restaurantItem[pos].Rate;\n changeFood.Name =(amount)+'-'+ this.restaurantItem[pos].Name;\n changeFood.Text=\"לחץ לשינויים \";\n changeFood.toppings =null; \n // if(this.restaurantItem[pos].ChangeFood==null)\n // this.restaurantItem[pos].ChangeFood=[];\n this.restaurantItem[pos].ChangeFood.push(changeFood);\n \n this.restaurant.MenuList=this.restaurantItem;\n //this.bussinssService.restaurant=this.restaurant;\n if(this.orderService.restaurant==null)\n this.orderService.restaurant=this.restaurant;\n if(this.restaurant!=null && this.restaurant.MenuList!=null)\n this.orderService.restaurant.MenuList=this.restaurant.MenuList;\n localStorage.PRICE=Number(this.totalAmount);\n localStorage.ITEM=Number(this.totalItems);\n localStorage.MENU_ID=MenuID;\n localStorage.MENU_NUMBER=position;\n let a:number=1;\n position=Number(position+a);\n this.dataService.show.next(true);\n this.changeShowPrice.emit();\n localStorage.position=position;\n localStorage.pos=pos;\n localStorage.edit=\"false\";\n // if(this.orderService.restaurant!=null)\n // this.orderService.restaurant.MenuList=this.restaurantItem;\n // }\n \n if(window.innerWidth<=480)\n \n this.router.navigate(['toppings2']);\n else\n this.router.navigate(['toppings']);\n }\n \n else{\n // this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n console.log(\"getOrderDetails3\",\"getOrderDetails\"); \n // this.order=res;\n let p=0.0;\n p=this.restaurantItem[pos].Price;\n if(this.order==undefined || this.order==null)\n {\n this.order=new MyOrder();\n this.order.TotalPrice=\"0\";\n }\n this.totalAmount=Number(Number(this.order.TotalPrice)+Number(p));\n this.order.TotalPrice = String(this.totalAmount);\n this.priceTotal=this.clickToPay+\" \"+this.totalAmount+\" ₪\";\n localStorage.PRICE_TOTAL=this.priceTotal;\n this.dataService.price.next(this.priceTotal);\n this.changePrice.emit();\n if(this.orderService.restaurant!=null)\n this.orderService.restaurant.MenuList=this.restaurantItem;\n // });\n }\n }); \n}\n//למחוק\n} \n}\nelse{\n if(sessionStorage.deeplink==\"\")\n {\n // this.proxy.showError(\"אינך רשום למערכת נא להרשם\",\"\");\n if (window.innerWidth <= 480)\n this.matDialog.open(PopupEnter2Component);\n else\n this.matDialog.open(PopupEnterComponent);\n \n //this.router.navigate(['../mainHome']);\n }\n else\n {\n if (window.innerWidth <= 480)\n this.matDialog.open(PopupEnter2Component);\n else\n this.matDialog.open(PopupEnterComponent);\n }\n}\n }\n\n minus(i)\n {\n localStorage.TEXT_SEARCH=\"\";\n if(this.restaurantItem[i].Rate>0)\n {\n this.totalItems=0;\n let p:number=0;\n p=this.restaurantItem[i].Price;\n this.totalAmount=(Number(this.totalAmount)- Number(p));\n this.restaurantItem[i].Rate-=1;\n if(this.totalAmount>0)\n for(let i=0;i0)\n this.totalItems+=Number(this.restaurantItem[i].Rate);\n }\n let changeFood = new ChangeFood();\n let location:number;\n if(this.restaurantItem[i].ChangeFood!=null)\n {\n location = this.restaurantItem[i].ChangeFood.length-1;\n this.restaurantItem[i].ChangeFood.splice(this.restaurantItem.length-1,1);\n }\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n console.log(\"getOrderDetails4\",\"getOrderDetails\"); \n this.order=res;\n let menuId=-1;\n for(let n=0;n{\n\n if(this.restaurantItem[i].ChangeFood!=null && this.restaurantItem[i].ChangeFood.length>location)\n delete this.restaurantItem[i].ChangeFood[location]; \n if(this.restaurantItem[i].ChangeFood!=null && this.restaurantItem[i].ChangeFood.length<0)\n this.restaurantItem[i].ChangeFood.length=location;\n if(this.restaurantItem[i].Rate==0)\n this.restaurantItem[i].ChangeFood=null;\n if(this.order.list[menuId].MenuNumber==1)\n {\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n console.log(\"getOrderDetails5\",\"getOrderDetails\"); \n this.order=res;\n if(this.order.list.length==0)\n {\n this.totalAmount=0;\n this.priceTotal=\"0 - פריטים\";\n localStorage.PRICE=0;\n localStorage.PRICE_TOTAL=this.priceTotal;\n this.dataService.price.next(this.priceTotal);\n this.changePrice.emit();\n }\n else{\n this.totalAmount=Number(this.order.TotalPrice);\n this.priceTotal=this.clickToPay+\" \"+this.totalAmount+\" ₪\";\n localStorage.PRICE_TOTAL=this.priceTotal;\n this.dataService.price.next(this.priceTotal);\n this.changePrice.emit();\n }\n // if(this.order!=null)\n // this.orderService.setUpdateOrder(this.order.OrderID,0,0,0,1,\n // this.restaurantItem[i].ID,this.restaurantItem[i].Amount,1,null,1,null,null,null,null,null,null).subscribe((res:any)=>{\n });\n }\n else{\n this.order.list[menuId].MenuNumber-=1;\n this.totalAmount=Number(Number(this.order.TotalPrice)-Number(this.order.list[menuId].Price));\n this.order.TotalPrice=String(this.totalAmount);\n this.priceTotal=this.clickToPay+\" \"+this.totalAmount+\" ₪\";\n localStorage.PRICE_TOTAL=this.priceTotal;\n this.dataService.price.next(this.priceTotal);\n this.changePrice.emit();\n }\n });\n });\n }\n }\n\n category(i){\n if(i==Number(NaN) || Number.isNaN(i))\n i=0;\n localStorage.TEXT_SEARCH=\"\";\n console.log(\"היגיע לפה \" ,i)\n sessionStorage.CATEGORY_FILTER=i;\n if(this.categores!=null)\n for(let j=0;j-1)\n {\n if(this.categores!=null && this.categores.length>0)\n {\n this.categores[i].isCheck=1;\n this.categoryToFilter=this.categores[i].Category;\n \n console.log(\"categoryToFilter 25\")\n console.log( this.categoryToFilter)\n }\n if(sessionStorage.deeplink==\"\")\n {\n if(localStorage.ID!=\"0\") \n if(this.categoryToFilter==\"\")\n {\n this.id=localStorage.ID;\n console.log(\"categoryToFilter 2\")\n }\n else\n {\n this.id=this.restaurant.ID;\n console.log(\"categoryToFilter 3\")\n console.log(this.id , \"ID\" )\n }\n else\n {\n this.id=this.restaurant.ID;\n console.log(\"categoryToFilter 4\") \n }\n }\n if(this.categoryToFilter==null)\n {\n this.categoryToFilter=\"\";\n console.log(\"categoryToFilter 1\")\n }\n if(this.id==undefined || this.id==null)\n this.id=this.idUrl;\n this.bussinssService.getRestaurantDetails(this.id,false,false,false,this.categoryToFilter,null).subscribe((res:any)=>{\n this.restaurant=res;\n this.restaurantItem=this.restaurant.MenuList;\n let KashrutLength=0;\n this.showProgress=false;\n if (this.restaurant.Kashrut!=null)\n KashrutLength=this.restaurant.Kashrut.length;\n if(this.innerWidth<=480)\n {\n this.nameLength=Number(Number(this.restaurant.Name.length)+Number(KashrutLength))\n this.isNameLength=this.nameLength>22;\n this.headerLength=Number(this.restaurant.Header.length)\n this.isHeaderLength=this.headerLength>25;\n }\n else\n {\n this.isNameLength=false; \n this.isHeaderLength=false;\n }\n this.orderService.restaurant=this.restaurant;\n if(this.restaurant.LongImage!=null)\n this.Image=this.restaurant.LongImage;\n this.restaurantItem=this.restaurant.MenuList;\n if(this.restaurantItem!=null)\n for(let i=0;i0)\n {\n this.buttonText=\"המשך לתשלום\";\n this.totalItems+=this.restaurantItem[i].Rate;\n let p=0.0;\n p=this.restaurantItem[i].Price;\n this.totalAmount=Number(this.totalItems)*Number(p);\n }\n }\n this.order=this.orderService.order;\n if(this.restaurant.MenuList.length>0)\n {\n if(this.order!=null && this.order.list!=null)\n for(let i=0;i0)\n this.restaurantItem[j].Rate+=this.order.list[i].Count;\n }\n }\n let amount=0;\n \n for(let j=0;j0)\n this.totalAmount=Number(localStorage.PRICE)\n else\n {\n this.totalAmount=0;\n for(let i=0;i0)\n {\n let p:number=0;\n p=this.restaurant.MenuList[i].Price;\n this.totalAmount+=Number(this.restaurantItem[i].Rate)*Number(p);\n this.totalItems+=this.restaurantItem[i].Rate;\n }\n }\n }\n \n // {\n // let changeFood = new ChangeFood();\n // let amount=0;\n // if(this.restaurantItem[j].Rate!=null)\n // amount=this.restaurantItem[j].Rate;\n // changeFood.Name =(amount)+'-'+ this.restaurantItem[j].Name;\n // changeFood.Text=\"לחץ לשינויים \";\n // changeFood.toppings =null; \n // this.restaurantItem[j].ChangeFood=[];\n // for(let q=0;q0 && this.order.list.length>0)\n // this.priceTotal=this.clickToPay+\"\"+this.totalAmount+\" \"+\"₪\";\n // else\n // this.priceTotal=\"0 - פריטים\";\n // this.dataService.price.next(this.priceTotal);\n // this.changePrice.emit();\n // this.dataService.price.next(this.priceTotal);\n // this.changePrice.emit();\n // localStorage.PRICE_TOTAL=this.priceTotal;\n }\n if(this.order!=null && this.order.OrderID!=0)\n {\n let haveList=false;\n let pos=-1;\n for(let j=0;j0)\n {\n pos=j;\n if(this.order.list[i].MenuID==this.restaurantItem[j].ID)\n {\n haveList=true;\n i=this.order.list.length;\n }\n }\n }\n if(pos>0 && haveList==false)\n {\n this.restaurantItem[pos].Rate=0;\n let location = this.restaurantItem[pos].ChangeFood.length-1;\n this.restaurantItem[pos].ChangeFood.splice(this.restaurantItem.length-1,1);\n delete this.restaurantItem[pos].ChangeFood[location]; \n this.restaurantItem[pos].ChangeFood.length=location;\n let p:number=0;\n p=this.restaurantItem[pos].Price;\n this.totalAmount-=Number(this.restaurantItem[pos].Rate)*Number(p);\n this.totalItems-=this.restaurantItem[pos].Rate;\n }\n }\n } \n \n });\n }\n }\n\n changeOnFood(MenuID:number, pos:number ,position:number){\n localStorage.TEXT_SEARCH=\"\";\n this.restaurant.MenuList=this.restaurantItem;\n // this.bussinssService.restaurant=this.restaurant;\n if(this.orderService.restaurant==null)\n this.orderService.restaurant=this.restaurant;\n if(this.restaurant!=null && this.restaurant.MenuList!=null)\n this.orderService.restaurant.MenuList=this.restaurant.MenuList;\n localStorage.PRICE=Number(this.totalAmount);\n localStorage.ITEM=Number(this.totalItems);\n //let pos=position+1;\n localStorage.MENU_ID=MenuID;\n localStorage.MENU_NUMBER=position;\n let a:number=1;\n let b=Number(position-1);\n let have=false;\n if(b>=0)\n for(let i=0;i{\n if(this.restaurant.IsFevorite==1)\n this.restaurant.IsFevorite=0;\n else\n this.restaurant.IsFevorite=1;\n });\n}\n }\n\n bigImage(i)\n {\n // const dialogConfig = new MatDialogConfig();\n // this.matDialog.open(BigImageComponent, { disableClose: true });\n // this.matDialog.open(BigImageComponent, {\n // width: '330px',\n // height: '400px',\n // data: {\n // dataKey: this.restaurantItem[i].Image\n // }\n \n // });\n let dialogRef = this.matDialog.open(BigImageComponent, {\n disableClose: true,\n });\ndialogRef.componentInstance.url = this.restaurantItem[i].Image;\n }\n}\n\n\n","import { Component, EventEmitter, HostListener, Output, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { NgZone } from '@angular/core';\nimport { DataService } from 'src/app/services/data.service';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { MyOrder } from 'src/app/models/order';\n\n@Component({\n selector: 'app-end-order',\n templateUrl: './end-order.component.html',\n styleUrls: ['./end-order.component.scss']\n})\nexport class EndOrderComponent implements OnInit {\n showsIframe: boolean = true;\n @Output() changByFood: EventEmitter = new EventEmitter();\n @Output() changeShowPrice: EventEmitter = new EventEmitter();\n order: MyOrder;\n myurl: string = \"https://baliapp.co.il/baliRestaurants/Restaurant.aspx?iD=\";\n @ViewChild('myIframe', { static: false }) iframe: ElementRef;\n onPopState(event) {\n this.router.navigate(['../mainHome']);\n }\n width:number;\n Height:string;\n Height1:string;\n iframeHeight:string;\n iframeHeight1:string;\n isSuccess: boolean = false;\n urlSafe: SafeResourceUrl;\n\n constructor(\n private matDialog: MatDialog,\n private dataService: DataService,\n private proxy: AppProxy,\n private orderService: OrdersService,\n public sanitizer: DomSanitizer,\n private router: Router,\n private zone: NgZone\n ) {}\n\n \n ngOnInit(): void {\n\n const i = (this.orderService.order != null && this.orderService.order.OrderID != null) ? this.orderService.order.OrderID : 0\n\n this.matDialog.closeAll();\n this.dataService.show.next(false);\n this.changeShowPrice.emit();\n this.dataService.byFood.next(false);\n this.changByFood.emit();\n \n this.urlSafe= this.sanitizer.bypassSecurityTrustResourceUrl(this.myurl+String(i));\n this.iframeHeight = `${window.outerHeight * 0.85}px`;\n this.Height = `${window.outerHeight * 0.9}px`;\n this.iframeHeight1 = `${window.outerHeight * 0.7}px`;\n this.Height1 = `${window.outerHeight * 0.8}px`\n this.width = window.outerWidth ;\n }\n\n\n\nsetIframeHeight(frame) {\n \n var iframeElement = frame as HTMLIFrameElement;\n var iframeHeight = iframeElement.contentWindow.document.documentElement.scrollHeight;\n var windowHeight = iframeHeight + 50; // Adding additional padding to the window height\\n \n window.resizeTo(window.outerWidth, windowHeight);\n iframeElement.height = iframeHeight + 50+ \"px\"\n\n}\n\n getDocHeight(doc) {\n doc = doc || document;\n var body = doc.body,\n html = doc.documentElement;\n var height = Math.max(body.scrollHeight, body.offsetHeight,\n html.clientHeight, html.scrollHeight, html.offsetHeight);\n return height;\n}\n\nheight: number = 0;\n\n\n\n/** Hide the scrollbar of the iFrames content and set to full height to it */\nonHtmlDataLoad(event: Event): void {\n \n\n }\n\n ok(): void {\n sessionStorage.deeplink2 = \"\";\n sessionStorage.deeplink = \"\";\n this.router.navigate(['../mainHome']);\n }\n}\n","
    \n\n
    \n
    \n \n
    \n
    \n הכנס קוד לתשלום\n
    \n
    \n \n
    \n
    \n
    \n

    אישור

    \n

    ביטול

    \n
    \n
    \n
    \n\n","\n\n\n\n","
    \n
    \n
    \n
    השלמת תשלום
    \n
    \n
    \n
    סה\"כ תשלום ההזמנה: {{price}} ₪
    \n
    שולם עד כה {{price2 | number :'1.1' }} ₪
    \n
    הסכום ליתרה: {{ price3 | number :'1.1' }} ₪
    \n
    \n
    \n
    \n

    המשך

    \n
    \n
    \n
    \n
    \n
    \n","
    \n
    \n \n \n \n \n \n\n
    \n \n
    \n
    \n \"Custom\n
    \n
    \n בחר\n
    ","
    \n
    \n
    \n
    \n הורידו את האפליקציה שלנו: \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n תפריט\n כל הזכויות שמורות ל \"בא לי בקליק\" \n
    \n
    \n \n מה בא לי לאכול?\n\n
    \n
    \n \n חיפוש\n
    \n
    \n
      \n
    • \n אזור אישי:\n
    • \n
    • \n היסטורית הזמנות\n
    • \n
    • \n בתי עסק שמורים\n
    • \n \n
    • \n אמצעי תשלום שלי\n
    • \n
    • \n Gift Card\n
    • \n
    \n
    \n
    \n
      \n
    • \n לינקים:\n
    • \n \n
    • \n צור קשר\n
    • \n
    • \n עריכת פרופיל\n
    • \n
    • \n {{outOrIn}}\n
    • \n
    \n
    \n כל הזכויות שמורות ל \"בא לי בקליק\" \n
    \n
    \n
    \n \n
    \n \n \n \n \n
    \n
    \n
    \n
    \n\n \n
    \n
    ","
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n

    פרטי האשראי שלי

    \n
    \n
    \n
    \n
    \n שם בעל הכרטיס\n
    \n
    \n \n
    \n
    \n מספר הכרטיס\n
    \n
    \n \n
    \n
    \n
    \n תוקף \n cvv\n
    \n
    \n
    \n \n \n \n \n \n \n
    \n \n
    \n \n
    \n מספר תעודת זהות של בעל הכרטיס\n
    \n
    \n \n
    \n * יש להזין את כל הפרטים \n
    \n
    \n \n שמור את הכרטיס שלי\n
    \n
    \n
    \n
    \n \n שמור\n
    \n
    \n
    \n
    \n \n מחק אמצעי תשלום\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n ","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router'\n\n@Component({\n selector: 'app-review',\n templateUrl: './review.component.html',\n styleUrls: ['./review.component.scss']\n})\nexport class ReviewComponent implements OnInit {\n stars:number[]=[1,2,3,4,5];\n orderFinal:boolean=true;\nstarFull='assets/images/Star_Full.png';\nstarEmpty='assets/images/Star_Empty.png';\n\n constructor(private router: Router){}\n\n ngOnInit(): void {\n }\n\n star()\n {\n\n }\n\n Continued()\n {\n this.router.navigate(['../mainHome']); \n }\n\n}\n","
    \n
    \n
    \n .sms הזן את הקוד שנשלח אליך ב\n
    \n הקוד פג תוקף תוך 30 שניות \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n {{notGetSendAgain}}\n
    \n
    \n
    \n

    שלח

    \n
    \n
    \n
    \n","
    \n\n \n
    \n
    \n \n
    \n \n
    \n\n","
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    ","import { Component, OnInit , EventEmitter ,ViewChild ,ElementRef, Output, HostListener} from '@angular/core';\nimport { FormGroup,FormControl,Validators, NumberValueAccessor ,FormBuilder } from '@angular/forms';\nimport {MatDialog, MatDialogConfig ,MatDialogRef} from '@angular/material/dialog';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { UserService } from 'src/app/services/user-service';\nimport { Router } from '@angular/router';\nimport { filter } from \"rxjs/operators\";\nimport { LoginComponent } from '../login/login.component';\nimport { DataService } from 'src/app/services/data.service';\nimport { MyOrder } from 'src/app/models/order';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { OneTimeOrderService } from 'src/app/services/oneTimeOrder.service';\nimport { LoaderComponent } from '../../loader/loader.component';\n\n@Component({\n selector: 'app-verification-code',\n templateUrl: './verification-code.component.html',\n styleUrls: ['./verification-code.component.scss']\n})\nexport class VerificationCodeComponent implements OnInit {\n @Output()changePrice: EventEmitter = new EventEmitter();\n @Output()changByFood: EventEmitter = new EventEmitter();\n @Output()changeShowPrice: EventEmitter = new EventEmitter();\n @Output()progress: EventEmitter = new EventEmitter();\n getNewPassword:boolean=false;\n valid:boolean=false;\n newPasswordForm:FormGroup;\n code1:number=null;\n code2:number=null;\n code3:number=null;\n code4:number=null;\n code:string=null;\n form: FormGroup;\n notGetSendAgain=\"לא קיבלתי, שלח שוב\";\n @ViewChild(\"code1\") code1Element: ElementRef;\n @ViewChild(\"code2\") code2Element: ElementRef;\n @ViewChild(\"code3\") code3Element: ElementRef;\n @ViewChild(\"code4\") code4Element: ElementRef;\n innerWidth: any;\n showProgress=false;\n order:MyOrder;\n token:string=null;\n isClickPayment=false;\n date1:string=\"\";\n clickoutHandler: Function;\n error=1;\n @HostListener('window:popstate', ['$event'])\n onPopState(event) {\n this.backPress();\n }\n\n // @HostListener('window:keyup.esc') onKeyUp() {\n // this.dialogRef.close();\n // }\n\n // @HostListener('document:click', ['$event'])\n // clickout(event) {\n\n // this.closeDialogFromClickout(event);\n \n // }\n\n // closeDialogFromClickout(event: MouseEvent) {\n // this.dialogRef.close();\n // }\n\n constructor(private router: Router,private fb: FormBuilder,private oneTimeOrderService:OneTimeOrderService ,private orderService:OrdersService,private dialogRef: MatDialogRef ,private matDialog:MatDialog,private bussinssService: BussinssService,\n private userService:UserService ,private proxy:AppProxy,private dataService:DataService) {\n dialogRef.disableClose = true;\n /*\n Subscribe to events emitted when the backdrop is clicked\n NOTE: Since we won't actually be using the `MouseEvent` event, we'll just use an underscore here\n See https://stackoverflow.com/a/41086381 for more info\n */\n // dialogRef.backdropClick().subscribe(() => {\n // // Close the dialog\n // dialogRef.close();\n // })\n \n }\n\n inputFocusEmitter = new EventEmitter();\n\n ngOnInit(): void {\n localStorage.isClickPayment=\"true\"\n this.dataService.show.next(false);\n this.changeShowPrice.emit();\n this.dataService.byFood.next(false);\n this.changByFood.emit();\n this.createForm();\n if(localStorage.ERROR_PASSWORD==1)\n {\n this.notGetSendAgain=\"קוד שגוי. הזן שנית\";\n localStorage.ERROR_PASSWORD=0;\n this.error=2;\n }\n else\n {\n this.notGetSendAgain=\"לא קיבלתי, שלח שוב\";\n this.error=1;\n }\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n \n });\n }\n\n backPress()\n {\n // this.matDialog.closeAll();\n // if(localStorage.oneTimeOrderOrOrder=='oneTimeOrder')\n // this.router.navigate([\"../payment\"])\n // else\n // this.router.navigate([\"../securePayment\"])\n\n this.dialogRef.close(1);\n }\n\n openDialog(): void {\n\n //להעביר ל\n //case 2\n // this.matDialog.closeAll();\n // const dialogConfig = new MatDialogConfig();\n // dialogConfig.disableClose=true;\n // const dialogRef = this.matDialog.open(VerificationCodeComponent, {\n // backdropClass: 'cdk-overlay-transparent-backdrop',\n // hasBackdrop: false,\n // disableClose:false\n // });\n\n this.dialogRef.close(2)\n }\n\n newPassword()\n {\n this.showProgress=true;\n \n this.valid=true;\n if(this.newPasswordForm.valid)\n {\n this.openLoader();\n this.getNewPassword=true;\n }\n this.code=this.newPasswordForm.value.code1+this.newPasswordForm.value.code2+this.newPasswordForm.value.code3+this.newPasswordForm.value.code4+\"\";\n if(this.code1Element!=null && this.code2Element!=null && this.code3Element!=null && this.code4Element!=null && this.code!=null)\n {\n this.oneTimeOrderService.setOrderSmsConfirmation(this.order.OrderID,this.code,this.innerWidth).subscribe((res:any)=>{\n if(res.error==false && res.responseMessage==\"ok\")\n {\n // this.dataService.showProgress.next(true);\n // this.progress.emit();\n // localStorage.isClickPayment=true;\n // let IsFromLink=0;\n // if(sessionStorage.deeplink==this.order.RestaurantID)\n // IsFromLink=1;\n // if(localStorage.paymentBy==\"1\")\n // { \n // this.date1=localStorage.date;\n // if(!localStorage.nvCardNumber.startsWith(\"x\"))\n // this.token=null;\n // this.oneTimeOrderService.setOrderPayment(localStorage.nvCardNumber,localStorage.date.replace(\"/\",\"\"),\n // localStorage.cvv,localStorage.identityNumber,localStorage.nvCardholderName,Number(this.order.Balance)).subscribe((res:any)=>\n // {\n // if(res.error==true)\n // {\n // this.showProgress=false;\n // this.isClickPayment=false;\n // this.matDialog.closeAll();\n // this.proxy.showError(res.responseMessage,\"\");\n // }\n // else\n // {\n \n // if(this.order.IsDelivery==1)\n // {\n // this.orderService.setUpdateOrder5(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,0,2,this.order.Address,this.order.Lat+\"\",this.order.Lng+\"\",IsFromLink).subscribe((res:any)=>\n // {\n \n \n // this.router.navigate(['../endOrder']);\n // this.noItem();\n \n // });\n // }\n // else\n // this.orderService.setUpdateOrder4(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,0,2,IsFromLink).subscribe((res:any)=>\n // {\n // this.router.navigate(['../endOrder']);\n // this.noItem();\n \n // });\n // }\n // });\n // }\n // else \n // {\n // if(this.order.IsDelivery==1)\n // {\n // this.orderService.setUpdateOrder5(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,1,2,this.order.Address,this.order.Lat+\"\",this.order.Lng+\"\",IsFromLink).subscribe((res:any)=>\n // {\n // this.router.navigate(['../endOrder']);\n // this.noItem();\n \n // });\n // }\n // else\n // this.orderService.setUpdateOrder4(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,1,2,IsFromLink).subscribe((res:any)=>\n // {\n // this.router.navigate(['../endOrder']);\n // this.noItem();\n // }); \n // }\n\n this.dialogRef.close(3)\n }\n else\n {\n // this.ngOnInit();\n localStorage.SMS_CODE2=\"\";\n localStorage.ERROR_PASSWORD=1;\n this.newPasswordForm.value.code1=\"\";\n this.newPasswordForm.value.code2=\"\";\n this.newPasswordForm.value.code3=\"\";\n this.newPasswordForm.value.code4=\"\";\n this.notGetSendAgain=\"קוד שגוי. הזן שנית\";\n \n\n //לבדוק!!\n // this.dialogRef.close();\n // this.router.navigate([\"../payment\"]);\n this.openDialog(); \n }\n });\n }\n else\n this.proxy.showError(\"יש למלא את כל מספרי הקוד\",\"\");\n }\n\n reSendSmsCode()\n {\n this.oneTimeOrderService.sendConfirmationSms(this.order.OrderID , +this.order.TotalPrice ,localStorage.paymentBy == 0 ? 1 : 0).subscribe((res:any)=>{\n this.proxy.showSucceeded(\"הקוד נשלח אליך\",\"\");\n });\n }\n\n openLoader()\n {\n this.matDialog.open(LoaderComponent, { disableClose: true });\n }\n\n // noItem()\n // {\n // let priceTotal=\"0 - פריטים\";\n // localStorage.PRICE=0;\n // localStorage.PRICE_TOTAL=priceTotal;\n // this.dataService.price.next(priceTotal);\n // this.changePrice.emit();\n // this.showProgress=false;\n // this.dataService.showProgress.next(false);\n // this.progress.emit();\n // this.matDialog.closeAll();\n // }\n\n isValidInput(fieldName): boolean {\n if(this.valid==true)\n return this.newPasswordForm.controls[fieldName].invalid;\n }\n\n openDialogLogin() {\n this.innerWidth = window.innerWidth;\n //if(this.innerWidth<=480)\n // this.router.navigate(['../login']);\n //else\n {\n if(sessionStorage.ACCESS_TOKEN == \"null\")\n // {\n // const dialogConfig = new MatDialogConfig();\n this.matDialog.open(LoginComponent, { disableClose: true });\n // }\n }\n }\n\n createForm() {\n this.newPasswordForm = this.fb.group({\n code1: [\"\", [Validators.required, Validators.maxLength(1)]],\n code2: [\"\", [Validators.required, Validators.maxLength(1)]],\n code3: [\"\", [Validators.required, Validators.maxLength(1)]],\n code4: [\"\", [Validators.required, Validators.maxLength(1)]],\n });\n\n this.newPasswordForm.get(\"code1\").valueChanges\n .pipe(filter((value: string) => value.length === 1))\n .subscribe(() => this.code2Element.nativeElement.focus());\n\n this.newPasswordForm.get(\"code2\").valueChanges\n .pipe(filter((value: string) => value.length === 1))\n .subscribe(() => this.code3Element.nativeElement.focus());\n\n this.newPasswordForm.get(\"code3\").valueChanges\n .pipe(filter((value: string) => value.length === 1))\n .subscribe(() => this.code4Element.nativeElement.focus());\n\n // this.newPasswordForm.get(\"code4\").valueChanges\n // .pipe(filter((value: string) => value.length === 1))\n // .subscribe(() => this.newPassword());\n }\n\n\n openLoginDialog()\n {\n const dialogConfig = new MatDialogConfig();\n }\n\n exit()\n {\n if(this.getNewPassword==false)\n this.openLoginDialog();\n else if(this.getNewPassword==true)\n {\n this.valid=false;\n this.getNewPassword=false;\n }\n }\n}\n","
    \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    {{foodName}}
    \n \n \n
    {{ foodDescription }}
    \n
    \n
    \n
    \n \n {{totalFoodAmount}} ₪\n
    \n
    2\" class=\"d-flex col-12\" style=\"position: absolute; justify-content: center; direction: rtl;\">\n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n {{totalFoodAmount}} ₪\n
    \n
    {{foodName}}
    \n
    \n
    \n
    \n
    \n{{item.TypeTxt}}\n
    0 && item.CountAdditionFree!=null\">מקבלים {{item.CountAdditionFree}} חינם
    \n\n
    \n
    \n \n\n ‏ {{ topping.Food }}\n \n {{topping.PriceText}}\n\n\n
    \n
    \n \n {{topping.CountChoose}}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n חזרה\n
    \n
    \n שם למנה:\n \n
    \n
    \n \nסיום\n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n {{item.TypeTxt}}\n
    0 && item.CountAdditionFree!=null\">מקבלים {{item.CountAdditionFree}} חינם
    \n\n
    \n
    \n \n \n ‏ {{ topping.Food }}\n {{topping.PriceText}}\n \n \n
    \n
    \n \n {{topping.CountChoose}}\n \n\n
    \n
    \n
    \n
    \n\n
    \n\n\n
    \n \n \n \n\n
    \n
    \n
    \n
    \n \n \n \n","import { Component, OnInit, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-user-inactivity-popup',\n templateUrl: './user-inactivity-popup.component.html',\n styleUrls: ['./user-inactivity-popup.component.scss']\n})\nexport class UserInactivityPopupComponent implements OnInit {\n\n constructor(private matDialog:MatDialog, private router: Router) { }\n\n ngOnInit(): void {\n }\n\n // ok()\n // {\n // sessionStorage.refrash=\"false\"\n // sessionStorage.refrash2=\"true\"\n // this.matDialog.closeAll();\n // let url: string = \"/mainHome\"\n // this.router.navigateByUrl(url);\n // // this.router.navigate([\"../../mainHome\"]);\n\n // }\n\n ok()\n {\n // sessionStorage.deeplink='';\n this.matDialog.closeAll();\n this.router.navigate([\"../mainHome\"]);\n }\n}\n\n","
    \n
    \n
    \n ,עוד רגע וההזמנה יוצאת לדרך\n
    \n .sms הזן את הקוד שנשלח אליך ב\n
    \n הקוד פג תוקף תוך 30 שניות \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n {{notGetSendAgain}}\n
    \n
    \n
    \n

    שלח

    \n
    \n
    \n
    \n","\n\n
    \n\n
    עבר זמן רב מאז הפעילות האחרונה עליך לעדכן את הדף בכדי להיות מעודכן
    \n
    \n \n\n
    \n \n רענון\n
    \n \n\n \n \n \n \n\n
    \n\n\n\n\n\n","import { Component, OnInit ,EventEmitter ,Output } from '@angular/core';\nimport { Category, CategoryItem, } from 'src/app/models/category';\nimport { ChangeFood} from 'src/app/models/restaurant'\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { DataService } from 'src/app/services/data.service';\n\n@Component({\n selector: 'app-reserved-restaurants',\n templateUrl: './reserved-restaurants.component.html',\n styleUrls: ['./reserved-restaurants.component.scss']\n})\nexport class ReservedRestaurantsComponent implements OnInit {\n @Output()changByFood: EventEmitter = new EventEmitter();\n restaurantsItem:CategoryItem[];\n category:Category;\n changeFood:ChangeFood[];\n page:number=1;\n sum = 100;\n throttle = 300;\n scrollDistance = 1;\n scrollUpDistance = 2;\n direction = \"\";\n id:number=-1;\n text:string;\n\n constructor(private proxy:AppProxy, private bussinssService: BussinssService ,private dataService:DataService) { }\n\n ngOnInit(): void {\n this.proxy.scrollToTop();\n this.dataService.byFood.next(false);\n this.changByFood.emit();\n this.changeFood=[\n {\n \"ID\":1,\n \"Name\":\"ללא בוטנים\",\n \"Text\":\"לחץ לשינויים \",\n \"toppings\":[]\n },\n {\n \"ID\":2,\n \"Name\":\"ללא כוסברה\",\n \"Text\":\"לחץ לשינויים \",\n \"toppings\":[]\n },\n {\n \"ID\":3,\n \"Name\":\"ללא בצל ירוק\",\n \"Text\":\"לחץ לשינויים \",\n \"toppings\":[]\n },\n {\n \"ID\":4,\n \"Name\":\"תוספת איטריות\",\n \"Text\":\"לחץ לשינויים \",\n \"toppings\":[]\n },\n ]\n this.bussinssService.getFavoriteBusiness().subscribe((res:any)=>{\n this.restaurantsItem=res;\n for(let i=0;i-1)\n {\n this.bussinssService.getMainList(5,this.id,this.page,Math.floor((Math.random() * 20) + 1)).subscribe((res:any[])=>{\n for(let i=0;i{\n for(let i=0;i\n
    \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    ההזמנה שלך
    \n {{Name}}\n
    \n \n
    \n
    \n \n משלוח \n \n
    \n
    \n \n איסוף עצמי\n \n
    \n
    \n \n ישיבה במקום\n \n
    \n
    \n \n
    \n\n \n
    0\" class=\"container borderGreen\" style=\"background-color: #29c066 ;color: white; height: auto; width: 320px; font-size: 14px;\n position: absolute; border:none; left: 10%; padding-bottom: 0px; margin-top: 28px;\">\n
    \n
    \n
    \n
    \n \n משלוח \n \n
    \n
    \n \n איסוף עצמי\n \n
    \n
    \n \n ישיבה במקום\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    ההזמנה שלך
    \n\n
    \n
    \n
    \n {{c.Name}}\n
    \n
    {{c.Price}} ₪
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    סה\"כ פריטים
    \n
    \n {{totalAmount}}\n
    \n
    \n
    0 && checkBox==1\" class=\"d-flex m-auto\" style=\"direction: rtl;\nposition: relative;\">\n
    סה\"כ משלוח
    \n
    \n {{priceDelivery}} ₪\n
    \n
    \n
    \n
    \n \n המשך לתשלום\n
    \n
    \n סה\"כ {{allPrice}} ₪\n
    \n
    \n
    \n\n\n\n\n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n {{o.Name}}\n \n
    \n {{o.Price}} ₪\n
    \n
    \n *{{(o.InviteName)}}\n
    \n
    \n
    \n
    \n
    \n{{o.Price}} ₪\n
    \n
    \n \n \n
    \n \n
    \n
    \n
    {{m.TextType}}
    \n
    \n \n {{i.Food }} \n 0\" style=\"margin-right: 10px; color: #bbbbbb;\">{{i.Price}} ₪\n
    \n
    \n
    \n\n\n
    \n
    \n
    \n \n\n
    \n
    \n\nהערות למשלוח\n
    \n \n
    \n
    \n
    \n\n\n\n\n\n\n","import { Directive, ElementRef, HostListener, Input, OnInit, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[appResponsiveWidth]'\n})\nexport class ResponsiveWidthDirective implements OnInit {\n @Input('appResponsiveWidth') baseWidth: number;\n @Input() minWidth?: number;\n @Input() maxWidth?: number;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n ngOnInit(): void {\n this.updateResponsiveWidth();\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event: Event): void {\n this.updateResponsiveWidth();\n }\n\n private updateResponsiveWidth(): void {\n let responsiveWidth = (this.baseWidth * window.innerWidth) / 1800;\n\n if (this.minWidth !== undefined && responsiveWidth < this.minWidth) {\n responsiveWidth = this.minWidth;\n }\n\n if (this.maxWidth !== undefined && responsiveWidth > this.maxWidth) {\n responsiveWidth = this.maxWidth;\n }\n\n this.renderer.setStyle(this.el.nativeElement, 'width', `${responsiveWidth}px`);\n }\n}\n","
    \n
    \n
    \n ההזמנה שלך\n {{totalPrice}} ₪\n
    \n
    \n
    \n
    \n דמי משלוח\n {{deliveryPrice}} ₪\n
    \n
    \n
    \n
    \n סה״כ\n {{order.Balance}} ₪\n
    \n
    \n \n
    \n \n
    \n \n\n \n \n \n
    \n \n
    \n
    \n \n תשלום במזומן\n
    \n
    \n \n
    \n
    \n\n
    \n
    \n תשלום באשראי\n
    \n
    \n \n
    \n
    \n\n \n\n
    \n
    \n
    \n
    \n
    \n
    \n שם בעל הכרטיס\n
    \n
    \n \n
    \n
    \n
    \n
    \n מספר הכרטיס\n
    \n \n
    \n \n\n \n \n
    \n
    \n
    \n
    \n תוקף\n cvv\n
    \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \nמספר תעודת זהות של בעל הכרטיס\n
    \n
    \n \n
    \n \n
    \n
    \n יש להזין את כל פרטי החובה\n
    \n
    \n
    \n שם המזמין\n
    \n
    \n \n
    \n
    \n
    \n
    \n כתובת\n
    \n \n \n \n \n \n \n
    \n
    \n
    \n כניסה\n קומה\n דירה\n
    \n
    \n \n \n \n
    \n
    \n
    \n טלפון\n
    \n
    \n\n \n
    \n
    \nאימייל (אופציונלי לקבלת חשבונית)\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n המשך לתשלום\n {{order.Balance}} ₪\n\n \n
    \n
    \n
    \n \n\n \n \n \n ","
    \n
    \n \n
    \n \n
    \n
    \n !דעתך חשובה לנו\n
    \n
    \n חשוב לנו לדעת אם נהנתם \n
    \n מההזמנה, או אם יש צורך בשיפור\n
    \n סמנו את הכוכבים לדירוג\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    מגניב תודה!

    \n
    \n
    \n
    \n
    \n \n
    \n
    \n !איזה כיף\n
    \n
    \n משלוח טעים בדרך אליך וצפוי \n
    \n .להגיע תוך 50 דקות\n
    \n
    \n
    \n

    מגניב:)

    \n
    \n
    \n
    \n\n","
    \n\n\n \n\n\n\n\n
    \n
    \n
    \n
    \n \n {{g.Number}} \n {{g.Price}} ₪\n
    \n
    \n
    \n\n\n
    3 ? 'buyGift' : 'buyGift2'\" style=\"justify-content: center; direction: rtl; float: center; margin-bottom: 10px; margin-top: 20px;\">\n
    \n רכוש GIFT CARD\n \n
    \n
    \n
    \n","
    \n
    \n
    \n ,עוד רגע וההזמנה יוצאת לדרך\n
    \n .sms הזן את הקוד שנשלח אליך ב\n
    \n הקוד פג תוקף תוך 30 שניות \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n {{notGetSendAgain}}\n
    \n
    \n
    \n

    שלח

    \n
    \n
    \n
    \n","import { MapsAPILoader ,AgmMap, MouseEvent ,PolyMouseEvent , AgmPolygon ,GoogleMapsAPIWrapper ,LatLngLiteral} from '@agm/core';\nimport { Component, OnInit ,ViewChild ,ElementRef, NgZone, HostListener, Renderer2, EventEmitter, Output} from '@angular/core';\nimport { FormGroup, FormControl, Validators ,FormBuilder } from '@angular/forms';\nimport { Location } from 'src/app/models/location';\nimport * as L from \"leaflet\";\nimport { Address } from 'src/app/models/user';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { Observable } from 'rxjs';\nimport { Http, Response, Headers, RequestOptions } from '@angular/http'\nimport { filter, map } from 'rxjs/operators';\nimport { HttpClient } from '@angular/common/http';\nimport { LocationStrategy } from '@angular/common';\nimport { DataService } from 'src/app/services/data.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DialogOutOfBoundsComponent } from '../dialog-out-of-bounds/dialog-out-of-bounds.component';\nimport { locale } from 'moment';\n\n\n@Component({\n selector: 'app-map',\n templateUrl: './map.component.html',\n styleUrls: ['./map.component.scss']\n})\nexport class MapComponent implements OnInit {\n width:number;\n @Output()changByFood: EventEmitter = new EventEmitter();\n locations:Location[]=[];\n title = 'firstApp';\n @ViewChild('AgmMap') agmMap: AgmMap;\n latitude: number;\n longitude: number;\n lat_= 29.544808554935727 ;\n Longitude:53.56; \n long= 34.92598986137697;\n lat: string;\n lng: string;\n zoom = 20;\n Address:Address;\n inlocation :Boolean = true\n private geoCoder;\n @ViewChild('search',{static: true}) searchElementRef: ElementRef;\n @ViewChild('map')\n public mapElementRef: ElementRef;\n @ViewChild('border')\n public borderElementRef: ElementRef;\n @ViewChild(AgmMap) map: any;\n markers = {};\n bounds = null;\n// add marker to object\n posi = new google.maps.LatLng(53.801279, -1.548567);\n name = 'Vince';\n address: string=\"\";\n geocoder;\n myLatlng;\n marker;\n image = \"assets/images/map_point.png\";\n icon = {\n url: 'assets/images/map_point.png',\n scaledSize: {\n width: 35,\n height: 50\n }\n}\n latlng;\n currentLocation :string=\"\";\n paths : Array = [];\npolygon: any;\n\noptions : any = {\n lat : 25.5362475,\n lng : 33.9267386,\n zoom : 20,\n fillColor : '#29c066 ',\n draggable : true,\n editable : true,\n visible : true,\n fillOpacity : 0.7,\n clickable : true,\n};\nmarkerIconUrl = 'assets/images/map_point.png';\ndrawingManager;\ndefaultCenter = {lat: 55.5815245, lng: 36.8251383};\ncurrentCenter = Object.assign({}, this.defaultCenter);\nlocation: {};\nrenderer: Renderer2;\ninnerWidth: any;\ninnerHeight: any;\npreviousUrl:string;\nHeight1:string;\nHeight:string;\nbermudaTriangle:any;\n triangleCoords = [\n { lat: 29.49051836, lng: 34.90316749 },\n { lat: 29.49377521, lng: 34.90693331 },\n { lat: 29.49670745, lng: 34.91141796 },\n { lat: 29.49930344, lng: 34.91566658 },\n { lat: 29.50281445, lng: 34.91922855 },\n { lat: 29.5060639, lng: 34.92193222 },\n { lat: 29.50946264, lng:\t34.92450714 },\n { lat: 29.51375758, lng:\t34.92738247 },\n { lat: 29.51723075, lng:\t34.93038654 },\n { lat: 29.5208345, lng:\t34.93364811 },\n { lat: 29.52412072, lng:\t34.93688822 },\n { lat: 29.52766821, lng:\t34.94014978 },\n { lat: 29.53129026, lng:\t34.9429822 },\n { lat: 29.53499853, lng:\t34.94593263 },\n { lat: 29.53888168, lng:\t34.94921565 },\n { lat: 29.54231665, lng:\t34.95279908 },\n { lat: 29.54766256, lng:\t34.95566368 },\n { lat: 29.54633719, lng:\t34.96122122 },\n { lat: 29.54402242, lng:\t34.96851683 },\n { lat: 29.54109156, lng:\t34.97604847 },\n { lat: 29.54680387, lng:\t34.97737885 },\n { lat: 29.55195588, lng:\t34.97770071 },\n { lat: 29.556473, lng:\t34.97782946 },\n { lat: 29.56091527, lng:\t34.97785091 },\n { lat: 29.56523135, lng:\t34.97787237 },\n { lat: 29.56979921, lng:\t34.97789383 },\n { lat: 29.57459546, lng:\t34.97808695 }, \n { lat: 29.57927953, lng:\t34.97832298 },\n { lat: 29.58372079, lng:\t34.97900963 },\n { lat: 29.5878633, lng:\t34.98046875 },\n { lat: 29.59301321, lng:\t34.98252869 },\n { lat: 29.59865729, lng:\t34.98437405 },\n { lat: 29.60383464, lng:\t34.9864769 },\n { lat: 29.60935685, lng:\t34.9887085 },\n { lat: 29.61507463, lng:\t34.99072552 },\n { lat: 29.62305846, lng:\t34.99364376 },\n { lat: 29.6329068, lng:\t34.99690533 },\n { lat: 29.64300594, lng:\t35.00553131 },\n { lat: 29.65628342, lng:\t35.00741959 },\n { lat: 29.67015577, lng:\t35.00862122 },\n { lat: 29.68387707, lng:\t35.01050949 },\n { lat: 29.70147339, lng:\t35.01274109 },\n { lat: 29.71516247, lng:\t35.01544476 },\n { lat: 29.72649251, lng:\t35.01870632 },\n { lat: 29.7407278, lng:\t35.02265453 },\n { lat: 29.76382788, lng:\t35.02857685 },\n { lat: 29.78249966, lng:\t35.0329113 },\n { lat: 29.79802113, lng:\t35.03612995 },\n { lat: 29.81150154, lng:\t35.03956318 },\n { lat: 29.83641874, lng:\t35.04939079 },\n { lat: 29.8627719, lng:\t35.05969048 },\n { lat: 29.88569498, lng:\t35.07084846 },\n { lat: 29.91188633, lng:\t35.07376671 },\n { lat: 29.92959135, lng:\t35.07308006 },\n { lat: 29.9455083, lng:\t35.0729084 },\n { lat: 29.95469751, lng:\t35.07301569 },\n { lat: 29.96660921, lng:\t35.08681297 },\n { lat: 29.98051292, lng:\t35.08621216 },\n { lat: 29.98152588, lng:\t35.093894 },\n { lat: 29.99446113, lng:\t35.09492397 },\n { lat: 30.00281426, lng:\t35.07514 },\n { lat: 30.01478058, lng:\t35.06964684 },\n { lat: 30.02094898, lng:\t35.06578445 },\n { lat: 30.0286218, lng:\t35.0600338 },\n { lat: 30.0356067, lng:\t35.05454063 },\n { lat: 30.04309264, lng:\t35.05342484 },\n { lat: 30.04918499, lng:\t35.04896164 },\n { lat: 30.05393974, lng:\t35.04364014 },\n { lat: 30.05483122, lng:\t35.03673077 },\n { lat: 30.0551516, lng:\t35.03027201 },\n { lat: 30.05539769, lng:\t35.02385616 },\n { lat: 30.05680919, lng:\t35.0172472 },\n { lat: 30.06441423, lng:\t35.01634598 },\n { lat: 30.07319784, lng:\t35.01626015 },\n { lat: 30.08567553, lng:\t35.01694679 },\n { lat: 30.096815, lng:\t35.01849174 },\n { lat: 30.10513165, lng:\t35.02055168 },\n { lat: 30.11374458, lng:\t35.02243996 },\n { lat: 30.12295069, lng:\t35.02449989 },\n { lat: 30.12384155, lng:\t35.00767708 },\n { lat: 30.12428698, lng:\t34.99257088 },\n { lat: 30.11550792, lng:\t34.9917984 },\n { lat: 30.10679304, lng:\t34.99081135 },\n { lat: 30.09951613, lng:\t34.99021053 },\n { lat: 30.09048422, lng:\t34.97943878 },\n { lat: 30.07771004, lng:\t34.96639252 },\n { lat: 30.06523134, lng:\t34.95609283 },\n { lat: 30.05185956, lng:\t34.94510651 },\n { lat: 30.04164379, lng:\t34.93360519 },\n { lat: 30.03569959, lng:\t34.92399216 },\n { lat: 30.02707985, lng:\t34.91643906 },\n { lat: 30.01697301, lng:\t34.91231918 },\n { lat: 30.00121616, lng:\t34.91025925 },\n { lat: 29.99021462, lng:\t34.90545273 },\n { lat: 29.97921185, lng:\t34.90030289 },\n { lat: 29.96910013, lng:\t34.89412308 },\n { lat: 29.95750012, lng:\t34.88794327 },\n { lat: 29.94738619, lng:\t34.88142014 },\n { lat: 29.93846127, lng:\t34.87455368 },\n { lat: 29.93042817, lng:\t34.86700058 },\n { lat: 29.93042817, lng:\t34.85429764 },\n { lat: 29.92953556, lng:\t34.84331131 },\n { lat: 29.92902417, lng:\t34.834342 },\n { lat: 29.92865224, lng:\t34.82696056 },\n { lat: 29.92125997, lng:\t34.82331276 },\n { lat: 29.91024957, lng:\t34.82365608 },\n { lat: 29.90087489, lng:\t34.8231411 },\n { lat: 29.88837395, lng:\t34.8231411 },\n { lat: 29.87869953, lng:\t34.82228279 },\n { lat: 29.86589808, lng:\t34.82245445 },\n { lat: 29.85488157, lng:\t34.82211113 },\n { lat: 29.84639505, lng:\t34.82073784 },\n { lat: 29.83433401, lng:\t34.82331276 },\n { lat: 29.82152687, lng:\t34.82743263 },\n { lat: 29.80886704, lng:\t34.83086586 },\n { lat: 29.79680148, lng:\t34.83567238 },\n { lat: 29.78249966, lng:\t34.84219551 },\n { lat: 29.77177196, lng:\t34.84786034 },\n { lat: 29.76089409, lng:\t34.85180855 },\n { lat: 29.75120732, lng:\t34.85249519 },\n { lat: 29.74461699, lng:\t34.85028505 },\n { lat: 29.74223226, lng:\t34.84951258 },\n { lat: 29.7330654, lng:\t34.8509717 },\n { lat: 29.72184791, lng:\t34.85217333 },\n { lat: 29.71279101, lng:\t34.85363245 },\n { lat: 29.70067659, lng:\t34.85530615 },\n { lat: 29.69105857, lng:\t34.85642195 },\n { lat: 29.68688302, lng:\t34.85753775 },\n { lat: 29.67916525, lng:\t34.86152887 },\n { lat: 29.67267739, lng:\t34.86453295 },\n { lat: 29.66536872, lng:\t34.8683095 },\n { lat: 29.6611921, lng:\t34.86981153 },\n { lat: 29.65500144, lng:\t34.87264395 },\n { lat: 29.64743041, lng:\t34.87693548 },\n { lat: 29.64355143, lng:\t34.87912416 },\n { lat: 29.63273427, lng:\t34.8786521 },\n { lat: 29.62411701, lng:\t34.87792253 },\n { lat: 29.6185583, lng:\t34.87680674 },\n { lat: 29.61326046, lng:\t34.87650633 },\n { lat: 29.60870856, lng:\t34.87337351 },\n { lat: 29.6048281, lng:\t34.8708415 },\n { lat: 29.60064897, lng:\t34.86792326 },\n { lat: 29.59680551, lng:\t34.86697912 },\n { lat: 29.59326044, lng:\t34.87062693 },\n { lat: 29.58844641, lng:\t34.87637758 },\n { lat: 29.58363215, lng:\t34.881742 },\n { lat: 29.5804598, lng:\t34.88204241 },\n { lat: 29.57639167, lng:\t34.88191366 },\n { lat: 29.57086765, lng:\t34.88187075 },\n { lat: 29.56664979, lng:\t34.88496065 },\n { lat: 29.5611859, lng:\t34.89090443 },\n { lat: 29.55737827, lng:\t34.90077496 },\n { lat: 29.55182988, lng:\t34.90139723 },\n { lat: 29.54693921, lng:\t34.90221262 },\n { lat: 29.54208563, lng:\t34.90641832 },\n { lat: 29.54111489, lng:\t34.91410017 },\n { lat: 29.54126424, lng:\t34.91800547 },\n { lat: 29.53954675, lng:\t34.92233992 },\n { lat: 29.53711981, lng:\t34.92637396 },\n { lat: 29.53499153, lng:\t34.93027925 },\n { lat: 29.53342329, lng:\t34.93255377 },\n { lat: 29.52998802, lng:\t34.93045092 },\n { lat: 29.52637992, lng:\t34.92794037 },\n { lat: 29.52290707, lng:\t34.92540836 },\n { lat: 29.52050308, lng:\t34.92319822 },\n { lat: 29.51822506, lng:\t34.92083788 },\n { lat: 29.51579762, lng:\t34.91886377 },\n // { lat: 29.5128846, lng:\t34.91628885 },\n // { lat: 29.50978477, lng:\t34.91298437 },\n // { lat: 29.50634869, lng:\t34.90959406 },\n // { lat: 29.50365951, lng:\t34.90701914 },\n // { lat: 29.50156787, lng:\t34.90341425 },\n // { lat: 9.50074614, lng:\t34.90109682 },\n // { lat: 29.49633859, lng:\t34.90289927 },\n // { lat: 29.49346237, lng:\t34.90414381 },\n // { lat: 29.49160166, lng:\t34.90301728 },\n];\n\nonPositionChanged: () => {}\n\n @HostListener('window:beforeunload', ['$event'])\n beforeUnloadHander() {\n // or directly false\n false\n }\n\n// @HostListener('window:popstate', ['$event'])\n// onPopState(event) {\n// this.backPress();\n// }\nconstructor(private dataService:DataService, location: LocationStrategy ,private _http:HttpClient , public dialog: MatDialog, private orderService:OrdersService, private proxy:AppProxy, private fb: FormBuilder,private router: Router,private mapsAPILoader: MapsAPILoader,private ngZone: NgZone ,private apiloader: MapsAPILoader) {\n this.Address=new Address;\n // location.onPopState(() => {\n //alert(window.location);\n // this.router.navigate([\"../yourOrder\"])\n // });\n \n router.events\n .pipe(filter(event => event instanceof NavigationEnd))\n .subscribe((event: NavigationEnd) => {\n //console.log('prev:', event.url);\n this.previousUrl = event.url;\n if(localStorage.back=='true')\n {\n localStorage.back='false';\n // if(this.previousUrl.startsWith(\"/payment\") && this.router.url==\"/payment\")\n // {\n \n // let url: string = \"../payment\";\n // this.router.navigateByUrl(url);\n // }\n // else if(this.previousUrl.startsWith(\"/map\") && this.router.url==\"/map\")\n {\n this.router.navigate([\"../yourOrder\"])\n let url: string = \"/yourOrder\";\n this.router.navigateByUrl(url);\n }\n // if(this.previousUrl.startsWith(\"/restaurantCategory\") && this.router.url==\"/restaurantCategory/\")\n // {\n // let url: string = \"/restaurantCategory/\" + localStorage.ID;\n // this.router.navigateByUrl(url);\n // }\n \n \n }\n });\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event) {\n this.adjustMapForSafari();\n }\n\n\n\n private adjustMapForSafari() {\n const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n const isIOS = /iPad|iPhone|iPod/.test(navigator.platform) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1);\n\n if (isSafari && isIOS) {\n const safeAreaInsetBottom = parseInt(getComputedStyle(document.documentElement).getPropertyValue('--safe-area-inset-bottom'), 10);\n const mapElement = document.querySelector('agm-map');\n if (mapElement) {\n //mapElement.style.paddingBottom = `${safeAreaInsetBottom}px`;\n }\n this.Height = `${window.outerHeight - 62 - 100}px`;\n }\n }\n\nngAfterContentInit() {\n this.renderer.selectRootElement(this.searchElementRef[\"nativeElement\"]).focus();\n}\n\ngetLocation() {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(this.showPosition.bind(this));\n } else {\n //this.message = 'Geolocation is not supported by this browser.';\n }\n}\n\nshowPosition(position: any) {\n // this.message = `Latitude: ${position.coords.latitude}
    Longitude: ${position.coords.longitude}`;\n\n let latLngLiteral: LatLngLiteral = {\n lat: position.coords.latitude,\n lng: position.coords.longitude\n};\n\n\n this.lat_ = position.coords.latitude\n this.long = position.coords.longitude\n localStorage.LAT=\"\"+(position.coords.latitude);\n localStorage.LONG=\"\"+(position.coords.longitude);\n if(this.innerWidth<=480)\n this.zoom = 17;\n this.map.center= latLngLiteral ;\n}\n\nngOnInit() {\n // this.Height1 = `${window.outerHeight * 0.6}px`\n this.Height = window.outerWidth <= 480 ?`${window.outerHeight - 62}px` : `${window.outerHeight * 0.6}px`\n // this.width = window.outerWidth ;\n this.adjustMapForSafari();\n \n \n this.getLocation()\n let a=location.pathname;\n this.dataService.showSearch.next(false);\n this.changByFood.emit();\n this.dataService.byFood.next(true);\n this.changByFood.emit();\n // this.agmMap.mapReady.subscribe(map => {\n // this.geocode(\"New York, USA\").then(place => {\n // this.currentCenter = { lat: place.geometry.location.lat(), lng: place.geometry.location.lng()};\n // })\n // .catch(err => {\n // //console.log(err);\n // });\n // });\n localStorage.ADDRESS=\"\";\n localStorage.LAT=\"\";\n localStorage.LONG=\"\";\n this.innerWidth = window.innerWidth;\n this.innerHeight = window.innerHeight;\n this.innerHeight = this.innerHeight-300;\n window.addEventListener('native.keyboardshow', keyboardShowHandler);\n\n function keyboardShowHandler(e){\n alert(\"keyboard open\"); //This never fires!\n this.delete();\n }\n\n\n\n // this.lat_=triangleCoords[140].lat;\n // this.long=triangleCoords[140].lng;\n this.bermudaTriangle = new google.maps.Polygon({\n paths: this.triangleCoords,\n\n strokeWeight: 3,\n fillColor: \"#FF0000\",\n fillOpacity: 0.35,\n });\n for(let i=0;i { \n var options= {\n region:\"iw\",\n componentRestrictions: {country: \"IL\" },\n bounds: bangaloreBounds,\n strictBounds: true ,\n\n }; \n this.geoCoder = new google.maps.Geocoder;\n const autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement,options);\n\n autocomplete.addListener(\"place_changed\", () => {\n this.ngZone.run(() => {\n \n //console.log(\"666\")\n const place: google.maps.places.PlaceResult = autocomplete.getPlace();\n\n \n if (place.geometry === undefined || place.geometry === null) {\n return;\n }\n\n // if ((place.geometry.location.lat() > 30.107) || (place.geometry.location.lat() < 29.491068 && place.geometry.location.lng() <= 34.902982))\n // {\n // this.proxy.showError(\"שימו לב - לא ניתן לספק את ההזמנה באזורך!\\nעליך להזין כתובת באילת וסביבתה\", \"\");\n // return\n // }\n\n //set latitude, longitude and zoom\n \n\n let latLngLiteral: LatLngLiteral = {\n lat: place.geometry.location.lat(),\n lng: place.geometry.location.lng()\n };\n \n // this.centerChanged(latLngLiteral);\n this.lat_ = place.geometry.location.lat();\n this.long =place.geometry.location.lng();\n this.lat = \"\"+(place.geometry.location.lat());\n this.lng =\"\"+(place.geometry.location.lng());\n this.myLatlng = { lat: this.lat_, lng:this.long };\n this.address = (\"\"+place.name);\n localStorage.ADDRESS=\"\";\n this.inlocation = true\n localStorage.LAT=\"\"\n localStorage.LONG=\"\"\n if(this.innerWidth<=480)\n this.zoom = 17;\n this.map.center= latLngLiteral ;\n }); \n });\n });\n\n \n\n// this.drawingManager = new google.maps.drawing.DrawingManager({\n// drawingMode: google.maps.drawing.OverlayType.POLYGON,\n// drawingControl: true,\n// drawingControlOptions: {\n// position: google.maps.ControlPosition.TOP_CENTER,\n// // drawingModes: ['polygon']\n// }\n// });\n\n\n\n// this.drawingManager.setMap(this.map);\n\n \n// google.maps.event.addListener(this.drawingManager, 'overlaycomplete', (event) => {\n// // Polygon drawn\n// if (event.type === google.maps.drawing.OverlayType.POLYGON) {\n// //this is the coordinate, you can assign it to a variable or pass into another function.\n// alert(event.overlay.getPath().getArray());\n// }\n// }); \n}\n\n\nbackPress()\n{\n // if (sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE == \"\" || sessionStorage.pageBack==\"register\")\n // this.router.navigate([\"../register\"])\n // else\n // this.orderService.setOrderAddress(localStorage.ADDRESS,localStorage.LAT,localStorage.LONG).subscribe((res:any)=>{\n // if(localStorage.oneTimeOrderOrOrder=='oneTimeOrder')\n // this.router.navigate([\"../payment\"])\n // else\n // this.router.navigate([\"../securePayment\"])\n // });\n // localStorage.back=\"true\";\n // if (sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE == \"\" || sessionStorage.pageBack==\"register\")\n // this.router.navigate([\"../register\"])\n // else\n // if(localStorage.oneTimeOrderOrOrder=='oneTimeOrder')\n // this.router.navigate([\"../payment\"])\n // //history.back();\n // else\n // this.router.navigate([\"../securePayment\"])\n}\n// @HostListener('document:mousemove', ['$event']) documentClickEvent($event: MouseEvent) {\n// //console.log(\"center\",this.map.getCenter());\n \n// //console.log('Through HostListener - MouseMove Event Details: ', $event)\n// }\n\npublic centerChanged(coords: LatLngLiteral) {\n // this.lat_ = coords.lat;\n //this.long = coords.lng;\n if(coords.lat!= this.lat_ && coords.lng!= this.long)\n {\n// this.getAddress(coords.lat,coords.lng)\n// this.lat_ = coords.lat;\n // this.long = coords.lng;\n// //console.log('centerChanged', coords);\n\nconst isInPolygon = google.maps.geometry.poly.containsLocation(new google.maps.LatLng(coords.lat, coords.lng), this.bermudaTriangle);\nthis.inlocation = isInPolygon\n\n let that = this;\n this.apiloader.load().then(() => { \n let geocoder = new google.maps.Geocoder; \n geocoder.geocode({ \n 'location': coords \n , 'region': \"iw\" \n }, function(results) { \n if (results ) { \n //set latitude, longitude and zoom\n // that.lat_ = coords.lat;\n // that.long =coords.lng;;\n that.lat = \"\"+coords.lat;;\n that.lng =\"\"+coords.lng;;\n // that.myLatlng = { lat: that.lat_, lng:that.long };\n \n //console.log(\"location\" + coords.lat+\",\"+coords.lng);\n //console.log(\"0 \"+results[0].formatted_address+\" \"+results[0].types[0]);\n //console.log(\"1 \"+results[1].formatted_address+\" \"+results[1].types[0]);\n //console.log(\"2 \"+results[2].formatted_address+\" \"+results[2].types[0]);\n //console.log(\"3 \"+results[3].formatted_address+\" \"+results[3].types[0]);\n //console.log(\"4 \"+results[4].formatted_address+\" \"+results[4].types[0]);\n let add=\"\";\n let street=false;\n for(let i=0;i {\n // // 3 seconds after the center of the map has changed, pan back to the\n // // marker.\n // window.setTimeout(() => {\n // map.panTo(marker.getPosition());\n // }, 3000);\n // });\n // marker.addListener(\"click\", () => {\n // // alert(marker.getMap.arguments.);\n // map.setZoom(8);\n // map.setCenter(marker.getPosition());\n // });\n \n\n google.maps.event.addListener(this.map, 'click', function(event) {\n var geocoder = new google.maps.Geocoder();\n geocoder.geocode({ 'location': event.latlng }, (results, status) =>{\n if (status !== google.maps.GeocoderStatus.OK) {\n // alert(status);\n // this.Address.streets = results[0].formatted_address;\n \n }\n // This is checking to see if the Geoeode Status is OK before proceeding\n if (status == google.maps.GeocoderStatus.OK) {\n //console.log(results);\n var address = (results[0].formatted_address);\n this.Address.streets =address;\n alert(this.Address.streets);\n }\n });\n // this.getReverseGeocodingData(event.latlng);\n\n //this.getCurrentLocation(event.latLng);\n //alert(event.latLng);\n });\n }\n\n displayLocation(latitude,longitude){\n var request = new XMLHttpRequest();\n\n var method = 'GET';\n var url = 'http://maps.googleapis.com/maps/api/geocode/json?latlng='+latitude+','+longitude+'&sensor=true';\n var async = true;\n\n request.open(method, url, async);\n request.onreadystatechange = function(){\n if(request.readyState == 4 && request.status == 200){\n var data = JSON.parse(request.responseText);\n var address = data.results[0];\n alert(address);\n document.write(address.formatted_address);\n }\n };\n request.send();\n }\n animal: string\n openDialog(): void {\n const dialogRef = this.dialog.open(DialogOutOfBoundsComponent, {\n data: {name: this.name, animal: this.animal},\n });\n \n dialogRef.afterClosed().subscribe(result => {\n //console.log('The dialog was closed');\n \n this.animal = result;\n });\n }\n select()\n {\n\n if (!this.inlocation)\n {\n this.openDialog()\n return\n }\n if ((parseFloat(this.lat)) > 30.107 || ((parseFloat(this.lat)) < 29.491068 && (parseFloat(this.lng)) <= 34.902982))\n {\n this.openDialog()\n return\n }\n\n localStorage.ADDRESS=this.address;\n \n localStorage.LAT=\"\"+this.lat;;\n localStorage.LONG=\"\"+this.lng;\n if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE == \"\" || sessionStorage.pageBack==\"register\")\n this.router.navigate([\"../register\"])\n else\n this.orderService.setOrderAddress(localStorage.ADDRESS,localStorage.LAT,localStorage.LONG).subscribe((res:any)=>{\n if(localStorage.oneTimeOrderOrOrder=='oneTimeOrder')\n history.back();\n else\n this.router.navigate([\"../securePayment\"])\n });\n }\n\ngetPolygonCoordinates(draggablePolygon) {\n const len = draggablePolygon.getPath().getLength();\n const polyArrayLatLng = [];\n for (let i = 0; i < len; i++) {\n const vertex = draggablePolygon.getPath().getAt(i);\n const vertexLatLng = { lat: vertex.lat(), lng: vertex.lng() };\n polyArrayLatLng.push(vertexLatLng);\n }\n //console.log(polyArrayLatLng);\n}\n\nonMapReady(map) {\n this.map = map; \n //this.map.triggerResize();\n}\n\ninitDrawingManager(map: any) {\n const options = {\n drawingControl: true,\n drawingControlOptions: {\n drawingModes: [\"polygon\"]\n },\n polygonOptions: {\n draggable: true,\n editable: true\n },\n drawingMode: google.maps.drawing.OverlayType.POLYGON\n };\n}\n\n@HostListener('keydown', ['$event']) onKeyDown(e) {\n if ((e.which == 13 || e.keyCode == 13)) {\n e.preventDefault();\n if (e.srcElement.nextElementSibling) {\n e.srcElement.nextElementSibling.focus();\n }\n else{\n //console.log('close keyboard');\n this.proxy.hideKeyboard(e);\n }\n this.onBlur();\n return;\n }\n}\n\ndelete(){\n this.Address.nvStreet=\"\";\n}\n\nonBlur()\n{\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n }\n this.innerHeight = window.innerHeight;\n this.innerHeight = Number(this.innerHeight);\n}\n}\n","import { Injectable } from \"@angular/core\";\r\n import { DatePipe } from '@angular/common';\r\nimport {HttpHeaders, HttpHandler, HttpEvent,HttpClient ,HttpEventType}\r\n from '@angular/common/http';\r\nimport 'rxjs';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { Restaurant } from \"../models/restaurant\";\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { PopupErrorComponent } from \"../components/popup-error/popup-error.component\";\r\nimport { LoaderComponent } from \"../loader/loader.component\";\r\n\r\n export enum HttpMethod {\r\n Get = \"GET\",\r\n Post = \"POST\",\r\n Put = \"PUT\",\r\n Delete = \"DELETE\",\r\n Options = \"OPTION\",\r\n Head = \"HEAD\",\r\n Patch = \"PATCH\"\r\n}\r\n\r\n@Injectable()\r\nexport class AppProxy{\r\n//baseQAUrl=\"https://test.baliapp.co.il/api/\"\r\n // bitUrl=\"http://localhost:8080/gama-pay/\"\r\n bitUrl=\"http://localhost:4200/gama-pay/\"\r\n baseQAUrl = 'https://baliapp.co.il/api/';\r\n public fileServer='https://cp.baliapp.co.il/files/'\r\n public static User='User/';\r\n public static Bussinss='Bussinss/';\r\n public static waitVisible = true;\r\n static formatsDateTest:String='dd/MM/yyyy HH:mm:ss';\r\n static dateNow : Date;\r\n static dateNowISO;\r\n static dateNowMilliseconds;\r\n headers:Map;\r\n map: Map;\r\n SECRET_KEY='BaliappgCSi3yGvwu5pqvYGu6gGRYcf6U6JvRkHgQ5NtZaW';\r\n // SECRET_KEY='StadicomAagjJQMwDicFRa0tqzY1hhuN2ieCQ6';\r\n //=V@gb.cvb\r\n ACCESS_TOKEN=null;\r\n showProgress=false;\r\n\r\n regexIso8601 = /^(\\d{4}|\\+\\d{6})(?:-(\\d{2})(?:-(\\d{2})(?:T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d{1,})(Z|([\\-+])(\\d{2}):(\\d{2}))?)?)?)?$/;\r\n a;\r\n static datePipe_;\r\n static pipe = new DatePipe('en-US'); // Use your own locale\r\n static now = Date.now();\r\n myFormattedDate = AppProxy.pipe.transform(AppProxy.now, 'dd/MM/yyyy HH:mm:ss');\r\n md5_ = require('md5') \r\n num=0;\r\n\r\n constructor(private http: HttpClient,private toastr: ToastrService,private matDialog:MatDialog) {\r\n }\r\n\r\n scrollToTop(): void {\r\n setTimeout(() => window.scroll(0, 0), 0);\r\n }\r\n\r\n getBaseUrl() {\r\n return this.baseQAUrl;\r\n }\r\n\r\n public static getTimeSpan():String\r\n {\r\n return this.datePipe_.transform(this.dateNow, 'yyyy-MM-dd T HH:mm:ss')\r\n }\r\n\r\n //create request headers\r\n private createRequestHeader_() {\r\n let headers = new HttpHeaders();\r\n headers = headers.append(\"RequestTimeStemp\",this.myFormattedDate);\r\n this.a=this.md5_(this.SECRET_KEY + this.myFormattedDate);\r\n headers = headers.append(\"RequestTimeStempHash\",this.a);\r\n if(sessionStorage.ACCESS_TOKEN !=null)\r\n headers =headers.append('accessToken', sessionStorage.ACCESS_TOKEN )\r\n return headers;\r\n }\r\n\r\n showHTMLMessage(message, title){\r\n this.toastr.success(message, title, {\r\n enableHtml : true,\r\n })\r\n }\r\n\r\n showError(message, title){\r\n // this.matDialog.closeAll();\r\n this.matDialog.open(PopupErrorComponent, {\r\n data: { message: message },\r\n });\r\n //this.toastr.clear();\r\n // this.toastr.error(message, title);\r\n}\r\n\r\nshowSucceeded(message, title){\r\n //this.toastr.clear();\r\n //this.toastr.success(message, title);\r\n this.showError(message,title);\r\n}\r\n\r\nisOpen(startTime:string,endTime:string,back:number)\r\n{\r\n var dt = new Date();//current Date that gives us current Time also\r\n var s = startTime.split(':');\r\n if(back>0)\r\n dt.setDate(dt.getDate()-1);\r\n var from = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate(),\r\n parseInt(s[0]), parseInt(s[1]),parseInt(\"00\"));\r\n var e = endTime.split(':');\r\n var to = new Date(dt.getFullYear(), dt.getMonth(),\r\n dt.getDate(),parseInt(e[0]), parseInt(e[1]),parseInt(\"00\"));\r\n return (to > from && dt >= from && dt <= to || to < from && (dt >= from || dt <= to)) ;\r\n}\r\n\r\nround(value, exp) {\r\n if (typeof exp === 'undefined' || +exp === 0)\r\n return Math.round(value);\r\n\r\n value = +value;\r\n exp = +exp;\r\n\r\n if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0))\r\n return NaN;\r\n\r\n // Shift\r\n value = value.toString().split('e');\r\n value = Math.round(+(value[0] + 'e' + (value[1] ? (+value[1] + exp) : exp)));\r\n\r\n // Shift back\r\n value = value.toString().split('e');\r\n return +(value[0] + 'e' + (value[1] ? (+value[1] - exp) : -exp));\r\n}\r\n\r\nopenLoader()\r\n{\r\n this.matDialog.open(LoaderComponent, { disableClose: true });\r\n}\r\n\r\nhideKeyboard(element) {\r\n element.attr('readonly', 'readonly'); // Force keyboard to hide on input field.\r\n element.attr('disabled', 'true'); // Force keyboard to hide on textarea field.\r\n setTimeout(function() {\r\n element.blur(); //actually close the keyboard\r\n // Remove readonly attribute after keyboard is hidden.\r\n element.removeAttr('readonly');\r\n element.removeAttr('disabled');\r\n }, 100);\r\n}\r\n\r\npublic executeUserPut(\r\n url: string,\r\n postData: any,\r\n method: HttpMethod = HttpMethod.Put,\r\n): Observable {\r\n return Observable.create(observer => {\r\n const met = HttpMethod[method];\r\n let headers = this.createRequestHeader_();\r\n this.http.request(method, url, { body: postData, observe: 'response', headers: headers }).subscribe(\r\n (event: HttpEvent) => {\r\n switch (event.type) {\r\n case HttpEventType.Response:\r\n observer.next(event.body as T);\r\n }\r\n },\r\n err => { \r\n if (err.error && err.error.text) {\r\n observer.error(err);\r\n }\r\n }\r\n );\r\n });\r\n}\r\n\r\n public executePost(\r\n url: string,\r\n postData: any,\r\n method: HttpMethod = HttpMethod.Post,\r\n ): Observable {\r\n return Observable.create(observer => {\r\n const met = HttpMethod[method];\r\n let headers = this.createRequestHeader_();\r\n this.http.request(method, url, { body: postData, observe: 'response', headers: headers }).subscribe(\r\n (event: HttpEvent) => {\r\n switch (event.type) {\r\n case HttpEventType.Response:\r\n observer.next(event.body as T);\r\n }\r\n },\r\n err => { \r\n if (err.error && err.error.text) {\r\n observer.error(err);\r\n }\r\n }\r\n );\r\n });\r\n }\r\n\r\n public execute(\r\n url: string,\r\n method: HttpMethod = HttpMethod.Get,\r\n ): Observable {\r\n return Observable.create(observer => {\r\n let headers = this.createRequestHeader_();\r\n this.http.request(method, url, { observe: 'response' , headers: headers }).subscribe(\r\n (event: HttpEvent) => {\r\n switch (event.type) {\r\n case HttpEventType.Response:\r\n observer.next(event.body as T);\r\n }\r\n },\r\n err => {\r\n if (err.error && err.error.text) {\r\n observer.error(err);\r\n }\r\n }\r\n );\r\n });\r\n }\r\n\r\n public executePut(\r\n url: string,\r\n method: HttpMethod = HttpMethod.Put,\r\n ): Observable {\r\n return Observable.create(observer => {\r\n let headers = this.createRequestHeader_();\r\n this.http.request(method, url, { observe: 'response' , headers: headers }).subscribe(\r\n (event: HttpEvent) => {\r\n switch (event.type) {\r\n case HttpEventType.Response:\r\n observer.next(event.body as T);\r\n }\r\n },\r\n err => {\r\n if (err.error && err.error.text) {\r\n observer.error(err);\r\n }\r\n }\r\n );\r\n });\r\n }\r\n\r\n private convertData(data, isPost) {\r\n if (!(data instanceof Object) || data instanceof Date) {\r\n let prop = data;\r\n // parse string date\r\n if (\r\n isPost === false &&\r\n (prop instanceof String || typeof prop === \"string\") &&\r\n prop.indexOf(\"/Date(\") > -1\r\n ) {\r\n let date = prop.substring(\r\n prop.indexOf(\"(\") + 1,\r\n prop.indexOf(\"+\") != -1 ? prop.indexOf(\"+\") : prop.indexOf(\")\")\r\n );\r\n prop = new Date(parseInt(date));\r\n } else if (isPost && prop instanceof Date) {\r\n // convert to string date\r\n let d = Date.UTC(\r\n prop.getFullYear(),\r\n prop.getMonth(),\r\n prop.getDate(),\r\n prop.getHours(),\r\n prop.getMinutes()\r\n );\r\n prop =\r\n //d.toString() === \"NaN\" || d === NaN - naomi\r\n d.toString() === \"NaN\" || Number.isNaN(d)\r\n ? null\r\n : \"/Date(\" +\r\n Date.UTC(\r\n prop.getFullYear(),\r\n prop.getMonth(),\r\n prop.getDate(),\r\n prop.getHours(),\r\n prop.getMinutes()\r\n ) +\r\n \")/\";\r\n }\r\n return prop;\r\n }\r\n\r\n // parse array / object\r\n let isArr = data instanceof Array;\r\n let arrayData = [];\r\n let objectData = {};\r\n\r\n if (data) {\r\n Object.keys(data).forEach(key => {\r\n // dictionary\r\n if (\r\n !isPost &&\r\n isArr &&\r\n data[key] &&\r\n Object.keys(data[key]).length === 2 &&\r\n data[key].Key &&\r\n data[key].Value != null\r\n ) {\r\n arrayData[data[key].Key] = this.convertData(data[key].Value, isPost);\r\n } else if (isArr) {\r\n // array\r\n arrayData.push(this.convertData(data[key], isPost));\r\n } else {\r\n // object\r\n objectData[key] = this.convertData(data[key], isPost);\r\n }\r\n });\r\n }\r\n return isArr ? arrayData : objectData;\r\n }\r\n\r\n}\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';\r\n\r\n@Injectable(\r\n{ providedIn: \"root\"}\r\n)\r\nexport class DataService {\r\n public state = new BehaviorSubject(\"\");\r\n public search=new BehaviorSubject(\"\");\r\n public address=new BehaviorSubject(\"\");\r\n public price=new BehaviorSubject(\"0 - פריטים\");\r\n public show=new BehaviorSubject(false);\r\n public header=new BehaviorSubject(true);\r\n public show400=new BehaviorSubject(false);\r\n public byFood=new BehaviorSubject(false);\r\n public showSearch=new BehaviorSubject(false);\r\n public categoryId=new BehaviorSubject(\"\");\r\n public deleteOrder =new BehaviorSubject(\"\");\r\n public token = new BehaviorSubject(\"\");\r\n public showProgress=new BehaviorSubject(false);\r\n public clickPayment=new BehaviorSubject(false);\r\n public text=new BehaviorSubject(\"\");\r\n public showFooter = new BehaviorSubject(false);\r\n public deepLink = new BehaviorSubject(false);\r\n public updateYourOrder = new BehaviorSubject(false);\r\n public endToppings = new BehaviorSubject(true);\r\n public notEndToppings ;\r\n\r\n\r\n}","
    \n
    \n
    \n .sms הזן את הקוד שנשלח אליך ב\n\n\n הקוד פג תוקף תוך 30 שניות \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n \n\n
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n\n\n
    \n
    \n
    \n \n
    \n \n {{notGetSendAgain}}\n
    \n\n\n
    \n

    שלח

    \n
    \n
    \n
    \n","
    \n
    \n דף הבית\n \n
    \n
    \n חיפוש\n \n
    \n
    \n היסטורית הזמנות\n \n
    \n\n
    \n בתי עסק שמורים\n \n
    \n\n\n
    \n אמצעי התשלום שלי\n \n
    \n
    \n Gift Card\n \n
    \n\n
    \n מדיניות פרטיות ותקנון\n \n
    \n\n\n\n
    \nערוך פרופיל\n\n
    \n\n
    \n {{logInOrOut}}\n \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n
    ","import { Component, OnInit, EventEmitter ,ViewChild ,ElementRef ,Output} from '@angular/core';\nimport { FormGroup,FormControl,Validators,FormBuilder} from '@angular/forms';\nimport { Router } from '@angular/router'\nimport { UserService } from 'src/app/services/user-service';\nimport { CustomValidators } from 'ng2-validation';\nimport { filter } from \"rxjs/operators\";\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { DataService } from 'src/app/services/data.service';\n\n@Component({\n selector: 'app-contact',\n templateUrl: './contact.component.html',\n styleUrls: ['./contact.component.scss']\n})\nexport class ContactComponent implements OnInit {\n @Output()changByFood: EventEmitter = new EventEmitter();\n contactForm:FormGroup;\n valid:boolean=false;\n @ViewChild(\"name\") nameElement: ElementRef;\n @ViewChild(\"email\") emailElement: ElementRef;\n @ViewChild(\"phone\") phoneElement: ElementRef;\n @ViewChild(\"message\") messageElement: ElementRef;\n errorMail:string;\n errorPhone:string;\n\n constructor(private dataService:DataService,private router: Router,private userService:UserService,private fb: FormBuilder ,private proxy: AppProxy){}\n\n ngOnInit(): void {\n window.scroll(0,0);\n this.createForm();\n this.dataService.byFood.next(false);\n this.changByFood.emit();\n }\n\n limitLines(event: InputEvent, maxLines: number) {\n let text = (event.target as HTMLTextAreaElement).value;\n if (text.length > 0) {\n const lineCount = 1 + text.replace(/[^\\n]/g, '').length;\n if (lineCount > maxLines) {\n const textArray = text.split('\\n');\n const newText = textArray.reduce((result, line, lineNum, array) => {\n if (lineNum < maxLines) {\n return result.concat('\\n').concat(line);\n }\n return result.concat(line);\n });\n (event.target as HTMLTextAreaElement).value = newText;\n }\n }\n }\n\n createForm() {\n this.contactForm = this.fb.group({ // create nested formgroup to pass to child\n nvName: [, [Validators.required]],\n nvEmail: new FormControl(\"\", [Validators.required, Validators.email,Validators.pattern(\"^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$\")]),\n // nvPhone: [, [CustomValidators.phone, Validators.required]],\n nvPhone: new FormControl(\"\", [Validators.required,Validators.pattern(\"^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$\")]),\n nvMessage: [, [Validators.required]],\n });\n this.contactForm.get(\"nvName\").valueChanges\n .pipe(filter((value: string) => value.length === 1))\n .subscribe(() => this.emailElement.nativeElement.focus());\n\nthis.contactForm.get(\"nvEmail\").valueChanges\n .pipe(filter((value: string) => value.length === 1))\n .subscribe(() => this.phoneElement.nativeElement.focus());\n\n this.contactForm.get(\"nvPhone\").valueChanges\n .pipe(filter((value: string) => value.length === 1))\n .subscribe(() => this.messageElement.nativeElement.focus());\n}\n\n\nisValidInput(fieldName): boolean {\n if(this.valid==true)\n return this.contactForm.controls[fieldName].invalid;\n}\n\nisValidInputMail(fieldName): boolean {\n if(this.valid==true)\n {\n if(this.contactForm.controls[fieldName].value == undefined || this.contactForm.controls[fieldName].value == \"\")\n this.errorMail=\"שדה חובה\"\n else\n this.errorMail=\"כתובת מייל אינה תקינה\";\n return this.contactForm.controls[fieldName].invalid;\n }\n}\n\nisValidInputPhone(fieldName): boolean {\n if(this.valid==true)\n {\n if(this.contactForm.controls[fieldName].value == undefined || this.contactForm.controls[fieldName].value == \"\")\n this.errorPhone=\"שדה חובה\"\n else\n this.errorPhone=\"עליך להכניס מספר טלפון שמתחיל בספרות 05xxxxxxxx\";\n \n return this.contactForm.controls[fieldName].invalid;\n }\n}\n \n send(){\n if(sessionStorage.ACCESS_TOKEN == \"null\")\n this.router.navigate(['../mainHome']);\n else\n {\n this.valid=true;\n if(this.contactForm.valid==true)\n {\n let userOrOneTimeOrder=\"User\";\n if(localStorage.oneTimeOrderOrOrder=='oneTimeOrder')\n userOrOneTimeOrder=\"OneTimeOrder\";\n this.userService.setContactRequest(this.contactForm.value.nvName,this.contactForm.value.nvEmail,this.contactForm.value.nvPhone,\n this.contactForm.value.nvMessage,userOrOneTimeOrder);\n this.proxy.showSucceeded(\",תודה על פנייתך \\n לבא לי בקליק \\n נציג יחזור אליך בהקדם\",\"\");\n }\n }\n }\n}\n","import { Component, OnInit ,ViewChild ,ElementRef , NgZone ,Output ,EventEmitter} from '@angular/core';\nimport { FormGroup,FormControl ,Validators ,FormBuilder} from '@angular/forms';\nimport { Router } from '@angular/router'\nimport { Delivery } from 'src/app/models/delivery';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { CustomValidators } from 'ng2-validation';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { DatePipe } from '@angular/common';\nimport { MapsAPILoader } from '@agm/core';\nimport { DataService } from 'src/app/services/data.service';\n\n@Component({\n selector: 'app-delivery',\n providers: [DatePipe],\n templateUrl: './delivery.component.html',\n styleUrls: ['./delivery.component.scss']\n})\nexport class DeliveryComponent{\n @Output()changByFood: EventEmitter = new EventEmitter();\n levelDelivery:number=0;\n deliveryForm:FormGroup;\n delivery:Delivery;\n valid:boolean=false;\n orderDelivery:boolean=false;\n orderButtom:boolean=true;\n mm : string ;\n lat: string=\"\";\n lng: string=\"\";\n lat2: string=\"\";\n lng2: string=\"\";\n zoom = 1;\n address_: string;\n private geoCoder;\n Address:string;\n isChangeAdress=0;\n options={\n componentRestrictions:{\n country:[\"isr\"]\n }\n};\n@ViewChild('search')\npublic searchElementRef: ElementRef;\n@ViewChild('search2')\npublic searchElementRef2: ElementRef;\n\nmonths = [\n { val: '01' , name: 'Jan' },\n { val: '02' , name: 'Feb' },\n { val: '03' , name: 'Mar' },\n { val: '04' , name: 'Apr' },\n { val: '05' , name: 'May' },\n { val: '06', name: 'Jun' },\n { val: '07' , name: 'Jul' },\n { val: '08' , name: 'Aug' },\n { val: '09', name: 'Sep' },\n { val: '10', name: 'Oct' },\n { val: '11' , name: 'Nov' },\n { val: '12' , name: 'Dec' }\n ];\n\n constructor(private dataService:DataService,private router: Router, private orderService:OrdersService,\n private ngZone: NgZone,private fb: FormBuilder,private proxy:AppProxy ,private datepipe: DatePipe ,private mapsAPILoader: MapsAPILoader){\n this.delivery=new Delivery();\n }\n\n\n \n ngOnInit(): void {\n this.createForm();\n this.dataService.byFood.next(false);\n this.changByFood.emit();\n if(localStorage.Delivery!=\"-1\")\n this.levelDelivery=localStorage.Delivery;\n if(this.levelDelivery==3)\n this.orderButtom=true;\n else\n this.orderButtom=false;\n \n this.mapsAPILoader.load().then(() => { \n var options = {\n componentRestrictions: {country: \"IL\"}\n }; \n this.geoCoder = new google.maps.Geocoder;\n const autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement,options);\n autocomplete.addListener(\"place_changed\", () => {\n this.ngZone.run(() => {\n //get the place result\n const place: google.maps.places.PlaceResult = autocomplete.getPlace();\n\n //verify result\n if (place.geometry === undefined || place.geometry === null) {\n return;\n }\n\n //set latitude, longitude and zoom\n this.lat = \"\"+(place.geometry.location.lat());\n this.lng =\"\"+(place.geometry.location.lng());\n this.Address=place.name+\" \"+place.vicinity;\n this.zoom = 12;\n this.isChangeAdress=1;\n this.delivery.Origin=this.Address;\n }); \n });\n\n const autocomplete2 = new google.maps.places.Autocomplete(this.searchElementRef2.nativeElement,options);\n autocomplete2.addListener(\"place_changed\", () => {\n this.ngZone.run(() => {\n //get the place result\n const place: google.maps.places.PlaceResult = autocomplete2.getPlace();\n\n //verify result\n if (place.geometry === undefined || place.geometry === null) {\n return;\n }\n\n //set latitude, longitude and zoom\n this.lat2 = \"\"+(place.geometry.location.lat());\n this.lng2 =\"\"+(place.geometry.location.lng());\n this.Address=place.name+\" \"+place.vicinity;\n this.zoom = 12;\n this.isChangeAdress=1;\n this.delivery.Destination=this.Address;\n }); \n });\n });\n }\n\n limitLines(event: InputEvent, maxLines: number) {\n let text = (event.target as HTMLTextAreaElement).value;\n if (text.length > 0) {\n const lineCount = 1 + text.replace(/[^\\n]/g, '').length;\n if (lineCount > maxLines) {\n const textArray = text.split('\\n');\n const newText = textArray.reduce((result, line, lineNum, array) => {\n if (lineNum < maxLines) {\n return result.concat('\\n').concat(line);\n }\n return result.concat(line);\n });\n (event.target as HTMLTextAreaElement).value = newText;\n }\n }\n }\n\n order()\n {\n if(sessionStorage.ACCESS_TOKEN == \"null\")\n this.router.navigate(['../mainHome']);\n else\n {\n this.valid=true;\n if(this.deliveryForm.valid)\n {\n if(this.levelDelivery==0)\n {\n if(this.lat==\"\" || this.lat2==\"\")\nthis.proxy.showError(\"חובה לבחור כתובת מגוגל\",\"\");\n else\n {\n let dateFormat=new Date();\n var hours = this.delivery.DeliveryTime.substring(0, this.delivery.DeliveryTime.indexOf(\":\"));\n var minutes = this.delivery.DeliveryTime.split(\":\").pop();\n // var minutes = this.delivery.DeliveryTime.substring(1, this.delivery.DeliveryTime.indexOf(\":\"));\n dateFormat.setHours(Number(hours));\n dateFormat.setMinutes(Number(minutes));\n // var datePipe = new DatePipe('en-US');\n // var dateTime = datePipe.transform(this.delivery.DeliveryTime, 'YYYY-MM-DDTHH:MM:SS');\n // var moment = require('moment')\n // let dateNow = moment().format('YYYY-MM-DDTHH:MM:SS')\n // let date=new Date(new Date().toString().split('GMT')[0]+' UTC').toISOString()\n //this.proxy.getTimeSpan()\n this.orderService.setNewDelivery(this.delivery.Origin,this.delivery.Destination,this.datepipe.transform(dateFormat, \"yyyy-MM-dd'T'HH:mm:ss\"),this.delivery.Phone,this.delivery.Description).subscribe((res:any)=>{\n this.orderDelivery=res;\n if(this.orderDelivery==true)\n this.levelDelivery=1;\n \n // else if(localStorage.Delivery!=-1)\n // {\n \n});}\n}\n\nelse if(this.levelDelivery==1)\n {\n this.orderService.setDeliveryStatus(1).subscribe((res:any)=>{\n this.orderDelivery=res;\n if(this.orderDelivery==true)\n // this.levelDelivery=2;\n this.router.navigate(['../mainHome']);\n });\n }\n // else if(this.levelDelivery==2)\n // this.orderService.setDeliveryStatus(3).subscribe((res:any)=>{\n // this.orderDelivery=res;\n // if(this.orderDelivery==true)\n // this.router.navigate(['../mainHome']);\n // });\n // }\n // else{\n // this.router.navigate([\"../mainHome\"]);\n // }\n }}\n if(this.levelDelivery == 0 || this.levelDelivery==2)\n this.orderButtom=true;\n else\n this.orderButtom=false;\n }\n\n cancel()\n {\n this.valid=false;\n this.orderService.setDeliveryStatus(2).subscribe((res:any)=>{\n this.orderDelivery=res;\n if(this.orderDelivery==true)\n this.levelDelivery=0;\n });}\n\n createForm() {\n // this.deliveryForm = new FormGroup({\n // nvCollectionAddress: new FormControl(\"\", Validators.required),\n // nvShippingAddress: new FormControl(\"\", Validators.required),\n // nvDeliveryTime: new FormControl(\"\", Validators.required),\n // nvPhoneInquiries: new FormControl(\"\", Validators.required),\n // nvShippingDescription: new FormControl(\"\", Validators.required),\n // });\n\n this.deliveryForm = this.fb.group({ // create nested formgroup to pass to child\n nvCollectionAddress: [, [Validators.required]],\n nvShippingAddress: [, [Validators.required]],\n nvDeliveryTime: [, [Validators.required]],\n nvPhoneInquiries: new FormControl(\"\", [Validators.required,Validators.pattern(\"^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$\")]),\n\n // nvPhoneInquiries: [, [Validators.required]],\n // nvPhoneInquiries:[,[Validators.pattern('^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$'),Validators.required]],\n nvShippingDescription: [, [Validators.required]],\n });\n }\n\n isValidInput(fieldName): boolean {\n if(this.valid==true)\n return this.deliveryForm.controls[fieldName].invalid ;\n // && (this.registerForm.controls[fieldName].dirty || this.registerForm.controls[fieldName].touched)\n ;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup,FormControl,Validators } from '@angular/forms';\nimport {MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { UserService } from 'src/app/services/user-service';\n\n@Component({\n selector: 'app-password',\n templateUrl: './password.component.html',\n styleUrls: ['./password.component.scss']\n})\nexport class PasswordComponent implements OnInit {\n getNewPassword:boolean=false;\n valid:boolean=false;\n newPasswordForm:FormGroup;\n\n constructor(private matDialog:MatDialog, private proxy:AppProxy,private router: Router ,private userService:UserService) { }\n\n newPassword()\n {\n this.valid=true;\n if(this.newPasswordForm.valid)\n {\n this.userService.resetPasswordSMSRequest(this.newPasswordForm.value.nvPhone).subscribe((res:any)=>{\n if(res.error==false && res.responseMessage==\"ok\")\n this.getNewPassword=true;\n else\n this.proxy.showError(\"מספר טלפון לא קיים במערכת\",\"\");\n });\n }\n else\n this.proxy.showError(\"בעיה במספר הטלפון\",\"\");\n }\n\n isValidInput(fieldName): boolean {\n if(this.valid==true)\n return this.newPasswordForm.controls[fieldName].invalid;\n }\n\n createForm() {\n this.newPasswordForm = new FormGroup({\n nvPhone: new FormControl(\"\", Validators.required),});\n }\n\n closeDialog()\n {\n this.matDialog.closeAll(); \n this.router.navigate([\"../mainHome\"]);\n }\n\n ngOnInit(): void {\n this.createForm();\n }\n\n exit()\n {\n if(this.getNewPassword==false)\n window.history.back();\n else if(this.getNewPassword==true)\n {\n this.valid=false;\n this.getNewPassword=false;\n }\n }\n}\n","import { OrderAdditon } from \"./restaurant\";\r\n\r\nexport class Category {\r\n Name: string;\r\n ID: number;\r\n categoryItems:CategoryItem[];\r\n isCheck:boolean;\r\n categoryType:number;\r\n}\r\n\r\nexport class CategoryItem {\r\n ID:number;\r\n RstaurantID:number;\r\n ImageFile:string;\r\n Name:string;\r\n Header:string;\r\n Category:string;\r\n NameEn:string;\r\n CategoryEn:string;\r\n Rate:number;\r\n CountRate:number;\r\n ImageSize:number;\r\n IsFevorite:number;\r\n Kashrut:string;\r\n toppingsList:OrderAdditon[];\r\n IsFreeShipping:number;\r\n MinimumOrder:string;\r\n}\r\n\r\nexport class ListImages{\r\n runtimeDate:string;\r\n Image1:string;\r\n Image2:string;\r\n Image3:string;\r\n Image4:string;\r\n Url1:string;\r\n Url2:string;\r\n Url3:string;\r\n Url4:string;\r\n error:boolean;\r\n responseMessage:string;\r\n}\r\n\r\nexport class ItemCategory{\r\n ID:number;\r\n ImgFile:string;\r\n Category:string;\r\n Count:number\r\n CategoryEn:string;\r\n}\r\n\r\nexport class FoodItem{\r\n price: number;\r\n foodName: string;\r\n amount: number;\r\n}\r\n\r\nexport class AboutRestaurant\r\n{\r\n aboutRestaurantId:number;\r\n aboutRestaurantName:string;\r\n isCheck:number;\r\n}\r\n\r\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { DataService } from 'src/app/services/data.service';\n\n@Component({\n selector: 'app-popup-log-out',\n templateUrl: './popup-log-out.component.html',\n styleUrls: ['./popup-log-out.component.scss']\n})\nexport class PopupLogOutComponent implements OnInit {\n @Output()state: EventEmitter = new EventEmitter();\n\n constructor(private matDialog:MatDialog, private router: Router,private dataService:DataService) { }\n\n ngOnInit(): void {\n }\n\n cancel(){\n this.matDialog.closeAll();\n this.dataService.state.next(\"התנתק\");\n this.state.emit();\n \n }\n\n //naomi change\n ok()\n {\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n this.matDialog.closeAll();\n this.dataService.state.next(\"התחבר\");\n localStorage.removeItem(\"PRICE_TOTAL\")\n localStorage.removeItem(\"USER_ID\")\n localStorage.removeItem(\"localStorage.ID\")\n localStorage.oneTimeOrderOrOrder = 'oneTimeOrder'\n \n \n this.dataService.token.next('oneTimeOrder');\n this.state.emit();\n sessionStorage.ACCESS_TOKEN = null;\n this.router.navigate([\"../mainHome\"])\n }\n}\n","import { Component, OnInit , Output ,EventEmitter ,HostListener} from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { DataService } from 'src/app/services/data.service';\nimport { UserService } from 'src/app/services/user-service';\nimport { LoginPhoneVarificationComponent } from '../login-phone-varification/login-phone-varification.component';\nimport {MatDialog, MatDialogConfig ,MatDialogRef} from '@angular/material/dialog';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { filter } from 'rxjs/operators';\nimport { Map2Component } from '../map2/map2.component';\n\n@Component({\n selector: 'app-main-home',\n templateUrl: './main-home.component.html',\n styleUrls: ['./main-home.component.scss']\n})\nexport class MainHomeComponent implements OnInit {\n @Output()changByFood: EventEmitter = new EventEmitter();\n @Output()changeShowPrice: EventEmitter = new EventEmitter();\n @Output()state: EventEmitter = new EventEmitter();\n previousUrl:string;\n \n innerWidth:any;\n // @HostListener('window:popstate', ['$event'])\n // onPopState(event) {\n // this.backPress();\n // }\n \n constructor(private proxy: AppProxy, public router:Router,private bussinssService:BussinssService,private dataService:DataService ,private matDialog:MatDialog) {\n router.events\n .pipe(filter(event => event instanceof NavigationEnd))\n .subscribe((event: NavigationEnd) => {\n //console.log('prev:', event.url);\n this.previousUrl = event.url;\n if(localStorage.back=='true')\n {\n localStorage.back='false';\n if(this.previousUrl.startsWith(\"/mainHome\") && this.router.url==\"/mainHome\")\n {\n \n this.router.navigate([\"../mainHome\"])\n }\n // if(this.previousUrl.startsWith(\"/restaurantCategory\") && this.router.url==\"/restaurantCategory/\")\n // {\n // let url: string = \"/restaurantCategory/\" + localStorage.ID;\n // this.router.navigateByUrl(url);\n // }\n \n \n }\n });\n }\n\n ngOnInit(): void {\n window.scroll(0,0);\n this.proxy.scrollToTop(); \n this.dataService.show.next(false);\n this.changeShowPrice.emit();\n this.dataService.byFood.next(false);\n this.changByFood.emit();\n localStorage.Delivery=-1;\n // let page=location.href;\n // let a=page.split('/')[3]\n let a=location.pathname;\n if(a==\"/codeWorker\")\n this.router.navigate([\"../mainHome\"])\n if(localStorage.SMS_CODE==\"\")\nthis.openDialog();\nelse{\n this.bussinssService.getLastMenu();\n //if(localStorage.ACCESS_TOKEN == \"null\")\n // this.dataService.state.next(\"התחבר\");\n // else\n // this.dataService.state.next(\"התנתק\");\n // this.state.emit();\n}\n }\n\n backPress()\n {\n this.router.navigate([\"../mainHome\"])\n }\n\nopenDialog(): void {\n const dialogRef = this.matDialog.open(LoginPhoneVarificationComponent, {\n backdropClass: 'cdk-overlay-transparent-backdrop',\n hasBackdrop: false,\n });\n}\n}\n","
    \n
    \n
    \n ההזמנה שלך\n {{totalPrice}} ₪\n
    \n
    \n
    \n
    \n דמי משלוח\n {{deliveryPrice}} ₪\n
    \n
    \n\n
    \n
    \n סה״כ\n {{order.Balance}} ₪\n
    \n
    \n\n
    \n \n
    \n
    \n
    \n \n
    \n 1\n
    \n משלוח לכתובת שלי\n
    \n
    \n \n
    \n
    \n\n
    \n
    \n \n {{myAddressText}}\n
    \n
    \n
    \n
    \n משלוח לכתובת אחרת\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n רחוב כולל מספר בית\n
    \n
    \n
    \n \n \n \n
    \n \n
    \n\n
    \n
    \n
    \n
    \n
    \n כניסה\n קומה\n דירה\n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n 2\n
    \n תשלום במזומן\n
    \n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n 2\n
    \n תשלום באשראי\n
    \n
    \n \n
    \n
    \n\n
    \n
    \n
    \n {{p.text}}\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n שם בעל הכרטיס\n
    \n
    \n \n
    \n
    \n
    \n
    \n מספר הכרטיס\n
    \n \n
    \n \n \n \n\n \n
    \n
    \n
    \n
    \n תוקף\n cvv\n
    \n
    \n
    \n \n \n
    \n \n
    \n \n
    \n
    \nמספר תעודת זהות של בעל הכרטיס\n
    \n
    \n \n
    \n
    \n\n \n שמור את הכרטיס שלי\n
    \n\n יש להזין את כל פרטי האשראי\n
    \n
    \n
    \n
    \n
    \n \n \n \n \n המשך לתשלום\n {{order.Balance}} ₪\n \n
    \n
    \n
    \n \n\n \n \n \n ","
    \n
    \n
    \n \n
    \n
    \n
    ?האם זה מספר הטלפון שלך
    \n
    {{phoneNumber}}
    \n
    \n
    \n

    אישור

    \n

    החלף מספר

    \n
    \n
    \n
    \n
    \n\n\n\n\n\n","import { Component, OnInit ,ViewChild ,ElementRef ,EventEmitter ,Output } from '@angular/core';\nimport { FormGroup ,FormControl ,Validators} from '@angular/forms';\nimport { Payment } from 'src/app/models/user';\nimport { Router } from '@angular/router';\nimport { UserService } from 'src/app/services/user-service';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport {MatDatepicker} from '@angular/material/datepicker';\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\nimport {MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS} from '@angular/material-moment-adapter';\nimport * as _moment from 'moment';\nimport {default as _rollupMoment, Moment} from 'moment';\nimport { DataService } from 'src/app/services/data.service';\n\n\nconst moment = _rollupMoment || _moment;\nexport const MY_FORMATS = {\n parse: {\n dateInput: 'MM/YY',\n },\n display: {\n dateInput: 'MM/YY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n@Component({\n selector: 'app-payment-info',\n templateUrl: './payment-info.component.html',\n styleUrls: ['./payment-info.component.scss'],\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\n },\n {provide: MAT_DATE_FORMATS, useValue: MY_FORMATS},\n ],\n})\nexport class PaymentInfoComponent implements OnInit {\n @ViewChild('picker') datePickerElement = MatDatepicker;\n @Output()changByFood: EventEmitter = new EventEmitter();\n paymentForm:FormGroup;\n payment:Payment=new Payment;\n valid:boolean=false;\n isKeepCard=true;\n keepCardImg='assets/images/Pay_Page_Chack_Box_On.png';\n date = new FormControl(moment());\n month:string=\"\";\n year:string=\"\";\n date1:string=\"\";\n token:string=null;\n @ViewChild('dp')\n public dateElementRef: ElementRef;\n isAnotherAddress:boolean=true;\n\n onKey(event: any) { // without type info\n this.proxy.hideKeyboard(event);\n }\n\n chosenYearHandler(normalizedYear: Moment) {\n const ctrlValue = this.date.value;\n ctrlValue.year(normalizedYear.year());\n this.year=\"\"+normalizedYear.year();\n this.date.setValue(ctrlValue);\n this.date.value._i=\"\";\n }\n\n chosenMonthHandler(normalizedMonth: Moment, datepicker: MatDatepicker) {\n const ctrlValue = this.date.value;\n ctrlValue.month(normalizedMonth.month());\n this.date.setValue(ctrlValue);\n this.month=\"\"+Number(normalizedMonth.month()+1);\n datepicker.close();\n this.date.value._i=\"\";\n }\n\n onBlur()\n{\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n }\n}\n\n constructor(private dataService:DataService,private router: Router,private userService:UserService,private proxy:AppProxy) {}\n\n setUserCreditCard()\n {\n var last2 = this.year.slice(-2);\n if(this.month.length==1)\n this.month=\"0\"+this.month;\n if(this.date1==\"\")\n this.date1=this.month+last2;\n if(this.date1==\"\" && this.date.value._i!=\"\")\n this.date1=this.date.value._i;\n //todo\n let credit = this.paymentForm.value.CardNumber.replaceAll(\" \", \"\");\n if(!this.paymentForm.value.CardNumber.startsWith(\"x\"))\n\n this.userService.setUserCreditCard(true,this.proxy.md5_(this.proxy.SECRET_KEY+localStorage.USER_ID),credit,this.date1.replace(\"/\",\"\"),\n this.paymentForm.value.cvv,this.paymentForm.value.identityNumber,this.paymentForm.value.UserName,null,true,false,0,null).subscribe((res:any)=>{\n window.history.back();\n this.proxy.showError(\"פרטי האשראי נשמרו\", \"\");\n\n });\n else\n this.proxy.showError(\"אין אפשרות לשנות \\n רק חלק מפרטי האשראי \\n עליך למחוק \\n את כרטיס האשראי \\n ולשמור מחדש\", \"\");\n }\n\n keepCard(){\n if(this.isKeepCard==true)\n {\n this.isKeepCard=false;\n this.keepCardImg='assets/images/Pay_Page_Chack_Box_Off.png'; \n }\n else\n {\n this.isKeepCard=true;\n this.keepCardImg='assets/images/Pay_Page_Chack_Box_On.png'; \n }\n }\n\n isValidInput(fieldName): boolean {\n if(this.valid==true)\n return this.paymentForm.controls[fieldName].invalid;\n }\n\n createForm() {\n this.paymentForm = new FormGroup({\n UserName: new FormControl(\"\", Validators.required),\n CardNumber: new FormControl(\"\", Validators.required),\n date: new FormControl(\"\"),\n cvv: new FormControl(\"\", [Validators.required,Validators.minLength(3), Validators.maxLength(3)]),\n identityNumber: new FormControl(\"\",[Validators.required, Validators.minLength(9), Validators.maxLength(9)])\n });\n }\n\n keep()\n {\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.router.navigate(['../mainHome']);\n else\n {\n this.valid=true;\n if(this.paymentForm.value.CardDate!=null)\n var dateText = this.paymentForm.value.CardDate.replace(/<[^>]*>/g, '');\n this.setUserCreditCard();\n // this.userService.setUserCreditCard(true,this.proxy.md5_(this.proxy.SECRET_KEY+localStorage.USER_ID),this.paymentForm.value.CardNumber,this.paymentForm.value.date.replace(\"/\",\"\"),\n // this.paymentForm.value.UserName,this.token,true,false,0).subscribe((res:any)=>{\n // window.history.back();\n // });\n }\n }\n\n remove(){\n this.userService.DeleteCreditCard();\n }\n\n ngOnInit(): void {\n this.createForm();\n this.dataService.byFood.next(false);\n this.changByFood.emit();\n this.userService.getUserCreditCard().subscribe((res:any)=>{\n if(res!=null)\n {\n this.payment=res;\n this.token=this.payment.card_token;\n this.payment.card_cvv=null;\n this.date = new FormControl(moment(this.payment.CardDate,\"MM/YY\"));\n //this.paymentForm.setValue({date:this.date});\n this.payment.CardDate = this.payment.CardDate.slice(0, 2) + \"/\" + this.payment.CardDate.slice(2);\n this.date1=this.payment.CardDate;\n }\n else\n this.date1=\"\";\n });\n }\n}\n","import { Component, EventEmitter, HostListener, Inject, Input, OnInit, Output } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { NavigationStart, Router } from '@angular/router';\nimport { NgZone } from '@angular/core';\nimport { fromEvent } from 'rxjs';\n\n\n\n\n@Component({\n selector: 'app-iframe-credit-card',\n templateUrl: './iframe-credit-card.component.html',\n styleUrls: ['./iframe-credit-card.component.css']\n})\nexport class IFrameCreditCardComponent implements OnInit {\n \n\n showsIframe : boolean = true\n showsButton : boolean = false\n isSuccess : boolean = false\n title : string = \"\"\n myText : string = \"\"\n urlSafe: SafeResourceUrl = \"\";\n constructor( @Inject(MAT_DIALOG_DATA) private data: {myurl: string \n //2Sucsses\n //, onSucsses:any\n } , public sanitizer: DomSanitizer\n , private router: Router , private zone: NgZone , public dialogRef: MatDialogRef ) { }\n\n ngOnInit(): void {\n\n \n\n this.urlSafe= this.sanitizer.bypassSecurityTrustResourceUrl(this.data.myurl);\n \n // Function to handle success or failure\n const handleResponse = (eventData: any) => {\n\n //console.log(eventData.value)\n const searchStringSuccess = \"Success.\";\n const searchStringError = \"Error\";\n \n this.zone.run(() => {\n this.isSuccess = eventData.value.includes(searchStringSuccess);\n const isErorr = eventData.value.includes(searchStringError)\n\n if (this.isSuccess == true)\n {\n this.title = \"\"\n this.myText = \"העסקה בוצעה בהצלחה\\nלחץ להמשך\"\n this.backPress()\n\n//3Sucsses\n // this.data.onSucsses(this.isSuccess)\n\n }\n if (isErorr == true)\n {\n \n this.title = \"לא בוצע חיוב\"\n this.myText = \"יתכן שיש טעות בפרטי הכרטיס / סירוב מחברת האשראי\"\n }\n\n this.showsButton = this.isSuccess || isErorr\n \n this.showsIframe = !this.showsButton\n \n });\n };\n \n window.addEventListener('message', event => {\n this.zone.run(() => {\n handleResponse(event.data);\n });\n });\n \n // Listen for router navigation start\n window.addEventListener('popstate', () => {\n //console.log('Back button clicked');\n // Perform your desired action when the back button is clicked\n // For example, close the dialog\n this.dialogRef.close(\"false\");\n });\n\n var myIframe =( document.getElementById('myIframe')) as HTMLIFrameElement;\n myIframe.contentWindow.addEventListener('message', function(event) {\n //console.log(JSON.parse(event.data));\n }, false);\n \n \n \n \n }\n \n \n\n onPopState(event) {\n //console.log('Back button pressed');\n }\n setIframeHeight(frame) {\n \n var iframeElement = frame as HTMLIFrameElement;\n var iframeHeight = iframeElement.contentWindow.document.documentElement.scrollHeight;\n var windowHeight = iframeHeight + 50; // Adding additional padding to the window height\\n \n window.resizeTo(window.outerWidth, windowHeight);\n \n }\n\n getDocHeight(doc) {\n doc = doc || document;\n var body = doc.body,\n html = doc.documentElement;\n var height = Math.max(body.scrollHeight, body.offsetHeight,\n html.clientHeight, html.scrollHeight, html.offsetHeight);\n return height;\n }\n\n height: number = 0;\n\n\n\n /** Hide the scrollbar of the iFrames content and set to full height to it */\n onHtmlDataLoad(event: Event): void {\n \n\n }\n\n\n \n backPress()\n {\n if (this.isSuccess == true)\n\n this.dialogRef.close(\"true\")\n else\n this.dialogRef.close(\"false\")\n }\n \n }","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { Router } from '@angular/router';\nimport {MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { TermsOfUseComponent } from '../terms-of-use/terms-of-use.component';\nimport { LoginComponent } from '../login/login.component';\nimport { UserService } from 'src/app/services/user-service';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { DataService } from 'src/app/services/data.service';\nimport { CreditCardService } from 'src/app/services/creditCard-service';\nimport { PopupEnterComponent } from '../popup-enter/popup-enter.component';\nimport { PopupEnter2Component } from '../popup-enter2/popup-enter2.component';\nimport { PopupLogOutComponent } from '../popup-log-out/popup-log-out.component';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n @Output()state: EventEmitter = new EventEmitter();\n confirm = null;\n outOrIn=\"התנתק\";\n innerWidth: any;\n token=\"\";\n\n constructor(private router: Router,private creaditCardService:CreditCardService,private proxy:AppProxy,private dataService:DataService ,private matDialog:MatDialog,private userService:UserService) { }\n\n ngOnInit(): void {\n this.token = this.dataService.token.getValue() || {};\n this.dataService.token.subscribe(data=>{\n this.token=data;\n });\n this.outOrIn = this.dataService.state.getValue() || {};\n this.dataService.state.subscribe(data=>{\n this.outOrIn=data;\n //if(localStorage.oneTimeOrderOrOrder=='oneTimeOrder') \n //this.outOrIn=\"התחבר\"\n });\n }\n\n openDialog() {\n const dialogConfig = new MatDialogConfig();\n this.matDialog.open(TermsOfUseComponent,{ disableClose: true });\n }\n\n openEnterDialog() {\n if(this.innerWidth<=480)\n this.matDialog.open(PopupEnter2Component, { disableClose: true });\n else\n this.matDialog.open(PopupEnterComponent, { disableClose: true });\n }\n\n openAppleStore()\n {\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.proxy.showError(\"אינך רשום למערכת\",\"\");\n \n }\n\n menu()\n {\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n this.router.navigate([\"../menu\"])\n }\n\n eat()\n {\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n this.router.navigate([\"../mainHome\"])\n }\n\n search()\n {\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n this.router.navigate([\"../search\"])\n }\n\n orderHistory()\n {\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.proxy.showError(\"אינך רשום למערכת\",\"\");\n else\n {\n this.router.navigate(['../orderHistory']);\n }\n }\n\n shippingHistory(){\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.proxy.showError(\"אינך רשום למערכת\",\"\");\n else\n this.router.navigate(['../shippingHistory']);\n }\n\n paymentInfo(){\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.proxy.showError(\"אינך רשום למערכת\",\"\");\n else\n this.router.navigate(['../paymentInfo']);\n }\n\n reservedRestaurants(){\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.proxy.showError(\"אינך רשום למערכת\",\"\");\n else\n this.router.navigate(['../reservedRestaurants']);\n }\n\n editProfil()\n {\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.proxy.showError(\"אינך רשום למערכת\",\"\");\n else\n this.router.navigate(['/register']);\n }\n\n contact(){\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.proxy.showError(\"אינך רשום למערכת\",\"\");\n else\n this.router.navigate(['/contact']); \n }\n\n giftCard()\n {\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.proxy.showError(\"אינך רשום למערכת\",\"\");\n else\n {\n this.creaditCardService.IsPaymentByGiftCard=false;\n this.router.navigate(['/giftCard']);\n }\n }\n\n logOut(){\n if(sessionStorage.ACCESS_TOKEN != \"null\" && localStorage.oneTimeOrderOrOrder!='oneTimeOrder')\n {\n this.matDialog.open(PopupLogOutComponent, {\n });\n }\n else{\n if( localStorage.oneTimeOrderOrOrder!='oneTimeOrder')\n this.openEnterDialog();\n else\n this.openDialogLogin();\n }\n}\n\n openDialogLogin() {\n this.innerWidth = window.innerWidth;\n // if(this.innerWidth<=480)\n // this.router.navigate(['../login']);\n //else\n // {\n this.userService.LoginOBJ=false;\n this.matDialog.open(LoginComponent, { disableClose: true });\n // }\n }\n}\n","
    \n
    \n
    \n \n

    \n מדיניות פרטיות ותקנון\n

    \n \n
    הבנתי אני מאשר
    \n
    \n
    \n
    \n\n","import { Component, OnInit ,EventEmitter ,Output } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { HistoryDelivery } from 'src/app/models/order';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { DataService } from 'src/app/services/data.service';\nimport { OrdersService } from 'src/app/services/order-service';\n\n@Component({\n selector: 'app-shipping-history',\n templateUrl: './shipping-history.component.html',\n styleUrls: ['./shipping-history.component.scss']\n})\nexport class ShippingHistoryComponent implements OnInit {\n @Output()changByFood: EventEmitter = new EventEmitter();\n orders:HistoryDelivery[]= new Array();\n filteredItems:HistoryDelivery[]= new Array();\n searchText:String;\n text: string;\n\n constructor(private dataService:DataService ,private proxy: AppProxy, private route: ActivatedRoute,private orderService:OrdersService) { }\n\n ngOnInit(): void {\n this.proxy.scrollToTop();\n this.dataService.byFood.next(false);\n this.changByFood.emit();\n this.orderService.getHistoryDelivery().subscribe((res:any)=>{\n this.orders=res;\n this.assignCopy();\n });\n this.orderService.getHistoryDelivery().subscribe;\n this.orders==this.orderService.historyDeliveryList;\n this.assignCopy();\n }\n\n assignCopy(){\n this.filteredItems = Object.assign([], this.orders);\n }\n \n filterItem(value){\n if(!value){\n this.assignCopy();\n } // when nothing has typed\n this.filteredItems = Object.assign([], this.orders).filter(\n item => item.Description.toLowerCase().indexOf(value.toLowerCase()) > -1\n )\n }\n}\n","import { Component, OnInit ,ViewChild ,ElementRef, NgZone, AfterViewInit, Output, EventEmitter, HostListener } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormGroup, FormControl, Validators ,FormBuilder } from '@angular/forms';\nimport { Address, Payment, UserEditProfile } from 'src/app/models/user';\nimport { Payments } from 'src/app/models/payments';\nimport { UserService } from 'src/app/services/user-service';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { CreditCardService } from 'src/app/services/creditCard-service';\nimport { CreditCardObject } from 'src/app/models/creditCard';\nimport {MatDatepicker} from '@angular/material/datepicker';\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\nimport {MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS} from '@angular/material-moment-adapter';\nimport * as _moment from 'moment';\nimport {default as _rollupMoment, Moment} from 'moment';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { MyOrder } from 'src/app/models/order';\nimport { MapsAPILoader } from '@agm/core';\nimport { DataService } from 'src/app/services/data.service';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { Restaurant } from 'src/app/models/restaurant';\nimport { LoaderComponent } from '../../loader/loader.component';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { filter } from 'rxjs/operators';\nimport { IFrameCreditCardComponent } from '../iframe-credit-card/iframe-credit-card.component';\nimport { CardInputComponent } from '../card-input/card-input.component';\n\nconst moment = _rollupMoment || _moment;\nexport const MY_FORMATS = {\n parse: {\n dateInput: 'MM/YY',\n },\n display: {\n dateInput: 'MM/YY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n@Component({\n selector: 'app-secure-payment',\n templateUrl: './secure-payment.component.html',\n styleUrls: ['./secure-payment.component.scss'],\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\n },\n {provide: MAT_DATE_FORMATS, useValue: MY_FORMATS},\n ],\n})\n\nexport class SecurePaymentComponent implements OnInit {\n @Output()changeShowPrice: EventEmitter = new EventEmitter();\n @Output()changeShowSearch: EventEmitter = new EventEmitter();\n anotherAddressImg='assets/images/Pay_Page_Chack_Box_Off.png';\n myAddressImg='assets/images/Pay_Page_Chack_Box_Off.png';\n isCreditPayment:boolean=true;\n cashPaymentImg='assets/images/Pay_Page_Chack_Box_Off.png';\n paymentCreditImg='assets/images/Pay_Page_Chack_Box_On.png';\n keepCardImg='assets/images/Pay_Page_Chack_Box_On.png';\n notKeepCardImg='assets/images/Pay_Page_Chack_Box_Off.png';\n isKeepCard=true;\n paymentForm: FormGroup;\n addressForm:FormGroup;\n paymentCard:Payment;\n valid:boolean=false;\n payments:Payments[];\n paymentsOn='assets/images/Pay_Page_Chack_Box_On.png';\n paymentsOff='assets/images/Pay_Page_Chack_Box_Off.png';\n creditCardObject:CreditCardObject;\n userEditProfile:UserEditProfile;\n date = new FormControl(moment());\n date1:string=\"\";\n month:string=\"\";\n year:string=\"\";\n totalPrice:string;\n deliveryPrice: string;\n isDelivery=0;\n paymentBy=1;\n address:Address;\n isChangeAdress=0;\n order:MyOrder;\n title: string = 'AGM project';\n latitude: number;\n longitude: number;\n lat: string;\n lng: string;\n zoom = 1;\n address_: string;\n private geoCoder: google.maps.Geocoder;\n methodsPayment:Payment=new Payment;\n Address:string;\n citiesList: { id: number; name: string; }[];\n priceGiftCard=0;\n selectedValue: null;\n token:string=null;\n byGiftCard=false;\n myAddressText:string=\"רביבים\";\n price2:number=50;\n payBy=false;\n note:string;\n progressBar = document.querySelector('.progress-bar');\n progress = 0;\n intervalId: NodeJS.Timeout;\n isClickPayment=false;\n showProgress=false;\n nvStreet=\"\";\n restaurant:Restaurant=new Restaurant;\n inCash=false;\n onCredit=false;\n //lat = 22.2736308;\n long = 70.7512555;\n options={\n componentRestrictions:{\n country:[\"isr\"]\n }\n };\n @ViewChild('search')\n public searchElementRef: ElementRef;\n dialogRef: MatDialogRef;\n @ViewChild('dp')\n public dateElementRef: ElementRef;\n isAnotherAddress:number=0;\n innerWidth:any;\n @ViewChild(\"cvv\") cvvElement: ElementRef;\n @ViewChild(\"year\") yearElement: ElementRef;\n @ViewChild(\"identity\")identityElement:ElementRef;\n @HostListener('window:popstate', ['$event'])\n onPopState(event: any) {\n this.backPress();\n }\n\n ngAfterViewInit() {\n this.paymentForm.get(\"month\").valueChanges\n .pipe(filter((value: string) => value.length === 2))\n .subscribe(() => {\n this.yearElement.nativeElement.focus();\n this.paymentForm.get(\"year\").setValue(\"\");\n });\n \n this.paymentForm.get(\"year\").valueChanges\n .pipe(filter((value: string) => value.length === 2))\n .subscribe(() => this.cvvElement.nativeElement.focus());\n\n this.paymentForm.get(\"cvv\").valueChanges\n .pipe(filter((value: string) => value.length === 3))\n .subscribe(() => this.identityElement.nativeElement.focus());\n }\n\n ngOnInit(): void {\n this.createForm();\n this.innerWidth = window.innerWidth;\n this.dataService.show.next(false);\n this.changeShowPrice.emit();\n if(localStorage.ADDRESS!=\"\")\n {\n this.isAnotherAddress=2;\n this.anotherAddressImg='assets/images/Pay_Page_Chack_Box_On.png';\n this.myAddressImg='assets/images/Pay_Page_Chack_Box_Off.png';\n this.address.nvStreet=localStorage.ADDRESS;\n this.lat=localStorage.LAT;\n this.lng=localStorage.LONG;\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n this.deliveryPrice=this.order.DeliveryPrice;\n // if(this.order.IsAddress==0)\n // this.isAnotherAddress=2;\n });\n }\n this.paymentBy=1;\n this.price2=localStorage.PRICE_GIFTCARD;\n var southWest = new google.maps.LatLng( 29.490725, 34.732479);\n var northEast = new google.maps.LatLng( 30.123217, 35.144384 );\n var bangaloreBounds = new google.maps.LatLngBounds( southWest, northEast );\n \n this.citiesList = [\n {id: 1, name: \"אילת\"}\n ];\n this.selectedValue = null;\n this.isDelivery=localStorage.DELIVERY;\n this.mapsAPILoader.load().then(() => { \n var options = {\n componentRestrictions: {country: \"IL\"},\n bounds: bangaloreBounds,\n strictBounds: true ,\n }; \n this.geoCoder = new google.maps.Geocoder;\n if(this.searchElementRef!=null)\n {\n const autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement,options);\n autocomplete.addListener(\"place_changed\", () => {\n this.ngZone.run(() => {\n //get the place result\n const place: google.maps.places.PlaceResult = autocomplete.getPlace();\n\n //verify result\n if (place.geometry === undefined || place.geometry === null) {\n return;\n }\n //set latitude, longitude and zoom\n this.lat = \"\"+(place.geometry.location.lat());\n this.lng =\"\"+(place.geometry.location.lng());\n this.Address = (\"\"+place.name);\n this.zoom = 12;\n this.isChangeAdress=1;\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n this.note=this.order.Note;\n if(this.order.Note==null || this.order.Note=='')\n this.note=null;\n this.showProgress = true\n this.orderService.setUpdateOrder(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,null,\n null,Number(this.order.TotalPrice),1,this.note,0,this.Address,this.lat,this.lng,null,null,null,null,null,0).subscribe((res:any)=>{\n\n this.showProgress = false\n if(res.responseMessage==\"the delivery out of bounds\")\n {\n this.proxy.showError(\"הכתובת שלך מחוץ לטווח \",\"\"); \n this.addressForm.value.nvStreet=\"\";\n this.searchElementRef=null;\n }\n else if(this.paymentBy<=1)\n this.router.navigate(['../endOrder']);\n else if(this.paymentBy==2)\n {\n this.router.navigate(['../giftCard']); \n this.creaditCardService.IsPaymentByGiftCard=true;\n }\n else if(this.paymentBy==3)\n this.router.navigate(['../codeWorker']); \n });\n });\n }); \n });\n }\n });\n if(this.isDelivery!=1)\n {\n this.isAnotherAddress=1;\n\n }\n else\n {\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n if(this.order.IsDelivery==1)\n {\n if(Number(this.order.Balance){\n this.userEditProfile=res;\n this.myAddressText=\"(\"+this.userEditProfile.userAddress+\")\";\n });\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n this.deliveryPrice=this.order.DeliveryPrice;\n let price:number=0;\n for(let i=0;i{\n if(res!=null)\n {\n this.methodsPayment=res;\n this.token=this.methodsPayment.card_token;\n this.methodsPayment.card_cvv=null;\n\n //כאן naomi\n this.methodsPayment.CardNumber = this.cc_format(this.methodsPayment.CardNumber)\n this.paymentForm.get(\"month\").setValue(this.methodsPayment.CardDate.slice(0,2));\n this.paymentForm.get(\"year\").setValue(this.methodsPayment.CardDate.slice(2));\n this.date = new FormControl(moment(this.methodsPayment.CardDate,\"MM/YY\"));\n this.methodsPayment.CardDate = this.methodsPayment.CardDate.slice(0, 2) + \"/\" + this.methodsPayment.CardDate.slice(2);\n this.date1=this.methodsPayment.CardDate;\n }\n else\n this.date1=\"\";\n this.bussinssService.getRestaurantDetails_(this.order.RestaurantID).subscribe((res:any)=>{\n this.restaurant=res;\n for(let i=0;i) {\n const ctrlValue = this.date.value;\n ctrlValue.month(normalizedMonth.month());\n this.date.setValue(ctrlValue);\n this.month=\"\"+Number(normalizedMonth.month()+1);\n datepicker.close();\n this.date.value._i=\"\";\n }\n\n constructor(private bussinssService:BussinssService,private router: Router,private dataService:DataService, private userService:UserService, private proxy:AppProxy,private creaditCardService:CreditCardService\n ,private fb: FormBuilder ,private matDialog2:MatDialog ,private matDialog:MatDialog ,private orderService:OrdersService,private mapsAPILoader: MapsAPILoader,private ngZone: NgZone) {\n this.address=new Address();\n }\n\n openMap()\n {\n sessionStorage.pageBack=\"securePayment\";\n this.router.navigate(['../map']); \n }\n\n ngOnDestroy() {\n clearInterval(this.intervalId);\n }\n\n createForm() {\n this.addressForm = this.fb.group({ // create nested formgroup to pass to child\n street: [, [Validators.required]],\n nvEnter: [],\n nvfloor: [],\n nvNumberHoush: []});\n\n\n this.paymentForm = this.fb.group({\n nvCardholderName: [\"\", Validators.required],\n nvCardNumber: [\"\",[Validators.required, Validators.minLength(19)]],\n month: [\"\", [Validators.required, Validators.maxLength(2)]],\n year: [\"\", [Validators.required, Validators.maxLength(2)]],\n cvv: [\"\", [Validators.required, Validators.maxLength(3),Validators.minLength(3)]],\n identityNumber: [\"\", [Validators.required, Validators.maxLength(9),Validators.minLength(9)]],\n });\n\n this.paymentForm.get(\"month\").valueChanges\n .pipe(filter((value: string) => value.length === 2))\n .subscribe(() => {\n this.yearElement.nativeElement.focus();\n this.paymentForm.get(\"year\").setValue(\"\");\n });\n \n this.paymentForm.get(\"year\").valueChanges\n .pipe(filter((value: string) => value.length === 2))\n .subscribe(() => this.cvvElement.nativeElement.focus());\n\n this.paymentForm.get(\"cvv\").valueChanges\n .pipe(filter((value: string) => value.length === 3))\n .subscribe(() => this.identityElement.nativeElement.focus());\n }\n\n keepCard(){\nif(this.isKeepCard==true)\n{\n this.isKeepCard=false;\n this.keepCardImg='assets/images/Pay_Page_Chack_Box_Off.png'; \n}\nelse\n{\n this.isKeepCard=true;\n this.keepCardImg='assets/images/Pay_Page_Chack_Box_On.png'; \n}\n }\n\n getOrderDetails()\n {\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n if(this.order.IsAddress==0)\n this.isAnotherAddress=2;\n let note=this.order.Note;\n if(this.order.Note==null || this.order.Note=='')\n note=null;\n let PaymentBy: number;\n if(this.paymentBy==1)\n PaymentBy=0;\n else\n PaymentBy=1;\n let status=2;\n if(this.paymentBy>1)\n status=1;\n let IsFromLink=0;\n if(sessionStorage.deeplink==this.order.RestaurantID && status==2)\n IsFromLink=1;\n if(this.order.OrderID!=0) \n {\n if(this.isAnotherAddress==2)\n {\n if(this.byGiftCard==true)\n {\n this.Address=this.order.Address;\n this.lat=this.order.Lat+\"\";\n this.lng=this.order.Lng+\"\";\n if(this.paymentBy==2)\n {\n this.showProgress=false;\n this.matDialog2.closeAll();\n this.router.navigate(['../giftCard']); \n this.creaditCardService.IsPaymentByGiftCard=true;\n }\n else if(this.paymentBy==3)\n {\n this.showProgress=false;\n this.matDialog2.closeAll();\n this.router.navigate(['../codeWorker']); \n }\n }\n else if(this.byGiftCard==false){\n this.Address=this.addressForm.value.street;\n let entry=null;\n if(this.addressForm.value.nvEntet!='')\n entry=this.addressForm.value.nvEnter;\n let floor=null;\n if(this.addressForm.value.nvfloor!='')\n floor=this.addressForm.value.nvfloor;\n let homeNumber=null;\n if(this.addressForm.value.nvNumberHoush!='')\n homeNumber=this.addressForm.value.nvNumberHoush;\n if(!this.Address.includes(\":\"))\n {\n if(entry!=null)\n this.Address+=\" כניסה: \"+entry;\n if(floor!=null)\n this.Address+=\" קומה: \"+floor;\n if(homeNumber!=null)\n this.Address+=\" דירה: \"+homeNumber;\n }\n }\n // let card_mask=null;\n // let card_validity=null;\n \n // if(this.paymentBy==1)\n // {\n // card_mask=this.paymentForm.value.nvCardNumber;\n // card_validity=this.date1.replace(\"/\",\"\");\n // }\n this.showProgress = true\n this.orderService.setUpdateOrder(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,PaymentBy,\n null,Number(this.order.Balance),status,note,0,this.Address,this.lat,this.lng,null,null,null,this.paymentForm.value.nvCardNumber,\n this.date1.replace(\"/\",\"\"),IsFromLink).subscribe((res:any)=>{\n this.showProgress = false\n localStorage.MENU_ID=0;\n \n // if(this.isChangeAdress==1)\n \n if(res.responseMessage==\"the delivery out of bounds\")\n {\n this.matDialog2.closeAll();\n this.proxy.showError(\"הכתובת שלך מחוץ לטווח \",\"\"); \n this.addressForm.value.nvStreet=\"\";\n this.searchElementRef=null;\n\n }\n else if(this.paymentBy<=1)\n {\n this.router.navigate(['../endOrder']);\n this.showProgress=false;\n }\n else if(this.paymentBy==2)\n {\n this.matDialog2.closeAll();\n this.router.navigate(['../giftCard']); \n this.creaditCardService.IsPaymentByGiftCard=true;\n this.showProgress=false;\n }\n else if(this.paymentBy==3)\n {\n this.matDialog2.closeAll();\n this.router.navigate(['../codeWorker']); \n this.showProgress=false;\n }\n });\n }\n else\n {\n this.showProgress = true\n this.orderService.setUpdateOrder2(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,\n this.order.IsSitting,PaymentBy,status,note,1,IsFromLink).subscribe((res:any)=>{ \n this.showProgress = false \n if(res.responseMessage==\"the delivery out of bounds\")\n {\n this.matDialog2.closeAll();\n this.proxy.showError(\"הכתובת שלך מחוץ לטווח \",\"\"); \n this.addressForm.value.nvStreet=\"\";\n this.searchElementRef=null;\n this.showProgress=false;\n this.isClickPayment=false;\n }\n else\n {\n localStorage.MENU_ID=0;\n this.showProgress=false;\n if(this.paymentBy<=1)\n {\n this.matDialog2.closeAll();\n this.router.navigate(['../endOrder']);\n }\n else if(this.paymentBy==2)\n {\n this.matDialog2.closeAll();\n this.router.navigate(['../giftCard']); \n this.creaditCardService.IsPaymentByGiftCard=true;\n }\n else if(this.paymentBy==3)\n {\n this.matDialog2.closeAll();\n this.router.navigate(['../codeWorker']); \n }\n }\n });\n }\n }\n else\n {\n this.showProgress = true\n this.orderService.setUpdateOrder2(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,PaymentBy\n ,status,note,1,IsFromLink).subscribe((res:any)=>{\n this.showProgress = false\n localStorage.MENU_ID=0;\n this.showProgress=false;\n if(this.paymentBy<=1)\n this.router.navigate(['../endOrder']);\n else if(this.paymentBy==2)\n {\n this.matDialog2.closeAll();\n this.router.navigate(['../giftCard']); \n this.creaditCardService.IsPaymentByGiftCard=true;\n }\n else if(this.paymentBy==3)\n {\n this.matDialog2.closeAll();\n this.router.navigate(['../codeWorker']); \n }\n });\n }\n });\n }\n\n setUserCreditCard()\n {\n this.openLoader();\n if(this.innerWidth<=480)\n this.showProgress=true;\n if(this.paymentBy==1)\n {\n // if(this.date1==\"\")\n {\n var last2 = this.year.slice(-2);\n if(this.month.length==1)\n this.month=\"0\"+this.month;\n this.date1=this.month+last2;\n if(this.date.value._i!=\"\")\n this.date1=this.date.value._i;\n this.date1=this.paymentForm.value.month+this.paymentForm.value.year;\n }\n if(!this.paymentForm.value.nvCardNumber.startsWith(\"x\"))\n this.token=null;\n\n //todo-------------------------------\n \n let credit = this.paymentForm.value.nvCardNumber.replaceAll(\" \", \"\");\n\n\n this.userService.setUserCreditCard(true,this.proxy.md5_(this.proxy.SECRET_KEY+localStorage.USER_ID),credit,this.date1.replace(\"/\",\"\"),\n this.paymentForm.value.cvv,this.paymentForm.value.identityNumber,this.paymentForm.value.nvCardholderName,this.token,this.isKeepCard,true,Number(this.order.Balance),this.order.OrderID).subscribe((res:any)=>{\n if(res.error==true)\n {\n this.showProgress=false;\n // this.matDialog.closeAll();\n this.isClickPayment=false;\n }\n else\n {\n\n if (res.responseMessage == \"OK\")\n {\n this.getOrderDetails();\n }\n else{\n this.showProgress=false;\n \n this.dialogRef = this.matDialog.open(IFrameCreditCardComponent,{data : {myurl:res.responseMessage} \n , disableClose: true \n } );\n this.dialogRef.afterClosed().subscribe(result => {\n //console.log('The dialog was closed');\n // Here you can handle what to do after the dialog is closed\n // For example, you can check the result or perform any necessary actions\n if (result == \"true\") \n this.getOrderDetails();\n else\n this.isClickPayment=false;\n \n })\n \n }\n }\n });\n }\n else if(this.paymentBy!=1 )\n {\n this.getOrderDetails();\n // this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n // this.order=res;\n // // this.router.navigate(['../restaurantCategory']);\n // if(this.order.OrderID!=0) \n // {\n // if(this.isAnotherAddress)\n // {\n // this.orderService.setUpdateOrder(this.order.OrderID,0,0,0,\n // null,0,2,this.order.Note,0,this.addressForm.value.nvStreet,this.addressForm.value.nvHouseNumber,this.addressForm.value.nvfloor,\n // this.addressForm.value.nvEntry,this.lat,this.lng,null,null,null).subscribe((res:any)=>{\n // localStorage.MENU_ID=0;\n // this.router.navigate(['../endOrder']);\n // });\n // }\n // else\n // this.orderService.setUpdateOrder(this.order.OrderID,0,0,0,\n // null,0,2,this.order.Note,1,null,null,null,null,null,null,null,null,null).subscribe((res:any)=>{\n // localStorage.MENU_ID=0;\n // this.router.navigate(['../endOrder']);\n // });\n \n // }\n // });\n}\n // else if(this.paymentBy==2)\n // {\n // this.creaditCardService.IsPaymentByGiftCard=true;\n // this.router.navigate(['../giftCard']); \n // }\n // else if(this.paymentBy==3)\n // this.router.navigate(['../codeWorker']); \n // this.userService.setUserCreditCard(false,this.proxy.md5_(this.proxy.SECRET_KEY+this.userEditProfile.IDUser),localStorage.ACCESS_TOKEN,this.paymentForm.value.nvCardNumber,this.paymentForm.value.nvValidity,\n // this.paymentForm.value.nvCardholderName);\n // });\n }\n\n updateAddress()\n {\n\n }\n\n openLoader()\n{\n this.showProgress=true;\n //this.matDialog2.open(LoaderComponent, { disableClose: true });\n}\n\n payment()\n {\n if(this.isClickPayment==false)\n {\n \n if(this.isAnotherAddress>0)\n {\n \n this.isClickPayment=true;\n this.valid=true;\n if(this.isCreditPayment==true)\n {\n if(this.paymentForm.valid)\n this.setUserCreditCard();\n else\n {\n this.isClickPayment=false;\n this.proxy.showError(\"עליך למלא את כל פרטי האשראי\",\"\"); \n }\n }\n else if(this.isAnotherAddress==2)\n {\n if(this.addressForm.valid)\n this.setUserCreditCard();\n else\n {\n this.isClickPayment=false;\n this.proxy.showError(\"עליך למלא את כל פרטי האשראי\",\"\"); \n }\n}\n else\n this.setUserCreditCard();\n}\nelse\n{\n //this.matDialog2.closeAll();\n this.showProgress=false;\nthis.proxy.showError(\"עליך לבחור כתובת למשלוח\",\"\"); \n}\n }\n}\n\n backPress()\n {\n this.router.navigate(['../yourOrder']);\n }\n\n \n creditPayment()\n {\n this.paymentBy=1;\nthis.isCreditPayment=true;\nthis.paymentCreditImg='assets/images/Pay_Page_Chack_Box_On.png';\nthis.cashPaymentImg='assets/images/Pay_Page_Chack_Box_Off.png';\nfor(let j=0;j ) { }\n\n ngOnInit(): void {\n this.phoneNumber = this.data.myNumber\n }\n\n cancel(){\n this.dialogRef.close(\"false\")\n\n }\n\n end()\n {\n this.dialogRef.close(\"true\")\n \n }\n\n close()\n {\n this.dialogRef.close(\"false\")\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-dialog-out-of-bounds',\n templateUrl: './dialog-out-of-bounds.component.html',\n styleUrls: ['./dialog-out-of-bounds.component.scss']\n})\nexport class DialogOutOfBoundsComponent implements OnInit {\n\n constructor(private router: Router, private dialog: MatDialog) { }\n\n ngOnInit(): void {\n }\n\n ok()\n {\n if (this.router.url == '/map')\n {\n this.dialog.closeAll();\n return\n }\n if(localStorage.oneTimeOrderOrOrder=='oneTimeOrder')\n this.router.navigate([\"../payment\"]);\n else\n this.router.navigate([\"../securePayment\"]);\n this.dialog.closeAll();\n }\n\n}\n\n","import { DOCUMENT } from '@angular/common';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Meta, Title } from '@angular/platform-browser';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SEOService {\r\n constructor(\r\n @Inject(DOCUMENT) private dom,\r\n private titleSvc: Title,\r\n private metaSvc: Meta,\r\n ) { }\r\n\r\n\r\n updateTitle(title: string){\r\n this.titleSvc.setTitle(title)\r\n }\r\n\r\n updateDescription(content: string) {\r\n this.metaSvc.updateTag({ name: 'description', content })\r\n }\r\n\r\n createCanonicalLink(url: string) {\r\n let link: HTMLLinkElement =\r\n this.dom.createElement('link');\r\n\r\n link.setAttribute('rel', 'canonical');\r\n link.setAttribute('href', url);\r\n this.dom.head.appendChild(link);\r\n }\r\n}","\n
    \n \n \n \n \n\n
    \n\n
    \n \n {{code}} \n {{sum}}\n
    \n
    \n\n\n
    \n גיפט קארד על סך {{sum}}\n נשלח ל{{name}} \n
    \n \n\n
    \n\n \n","import { Component, OnInit ,EventEmitter ,Output } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { pluck } from 'rxjs/operators';\nimport { Search } from 'src/app/models/restaurant';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { DataService } from 'src/app/services/data.service';\nimport { SectionsMetadata } from 'src/app/services/sections_metadata';\nimport { SEOService } from 'src/app/services/seo_service';\n\n@Component({\n selector: 'app-search',\n templateUrl: './search.component.html',\n styleUrls: ['./search.component.scss']\n})\nexport class SearchComponent implements OnInit {\nsearchList:Search[];\n@Output()changByFood: EventEmitter = new EventEmitter();\nreadonly articles$ = this.route.data.pipe(pluck('search'));\n \nconstructor(private proxy:AppProxy,private SEOService: SEOService,\n private route: ActivatedRoute, private dataService:DataService ,private router: Router,private bussinssService:BussinssService) { }\n\n ngOnInit(): void {\n SectionsMetadata.meta.description = this.route.snapshot.data.description;\n // const { meta } = this.route.snapshot.data;\n this.SEOService.updateTitle(SectionsMetadata.meta.description);\n this.SEOService.updateDescription(SectionsMetadata.meta.description);\n this.dataService.search.next(\"\");\n this.changByFood.emit();\n this.dataService.byFood.next(false);\n this.changByFood.emit();\n this.bussinssService.getGlobalSearch().subscribe((res:any)=>{\n this.searchList=res;\n });\n };\n\n category(c:string){\n localStorage.TEXT=c;\n localStorage.TEXT_SEARCH=c;\n localStorage.ID=\"0\";\n localStorage.ID_CATEGORY=\"0\";\n // this.router.navigate(['../restaurantCategory']);\n let url: string = \"/restaurantCategory/\" + c\n this.router.navigateByUrl(url);\n }\n}\n","export class Order{\r\nID:number;\r\nMenuID:number;\r\nName:string;\r\nIngredients:string;\r\nRate:number;\r\nPrice:number;\r\nCount:number;\r\nInviteName:string;\r\nIsAddition:number;\r\nIsAdditionRequired:number;\r\nMenuNumber:number;\r\nImgFile:string;\r\nBigImgFile:string;\r\nlistAddition:MyOrderAdding[]; \r\n//list:MenuCount[];\r\n}\r\n\r\nexport class MenuCount{\r\n // Count:number;\r\n listAddition:MyOrderAdding[]; \r\n}\r\n\r\nexport class AdditonOrder\r\n{\r\n runtimeDate:string;\r\n ID:number;\r\n Name:string;\r\n Ingredients:string;\r\n Description:string;\r\n Rate:number;\r\n Price:string;\r\n Count:number;\r\n ImgFile:string;\r\n error:boolean;\r\n responseMessage:string;\r\n list:OrderAdding[];\r\n}\r\n\r\nexport class MyOrder\r\n{\r\n runtimeDate:string;\r\n OrderID:number;\r\n RestaurantID:number;\r\n RestaurantName:string;\r\n RestaurantNameEn:string;\r\n //RestaurantImg:string;\r\n SmallImage:string;\r\n BigImage:string;\r\n TotalPrice:string;\r\n DeliveryPrice:string;\r\n BudgetSum:string;\r\n Note:string;\r\n IsDelivery:number;\r\n IsPickup:number;\r\n IsSitting:number;\r\n Lat:number;\r\n Lng:number;\r\n Address:string;\r\n IsAddress:number;\r\n error:boolean;\r\n responseMessage:string;\r\n list:Order[]; \r\n Balance: string;\r\n}\r\n\r\nexport class MyOrderAdding\r\n{\r\n Type:string;\r\n TextType:string;\r\n listA:OrderAddingItemFood[];\r\n}\r\n\r\nexport class Gift{\r\n Price:string;\r\n Number:number;\r\n}\r\n\r\nexport class OrderAdding{\r\nTypeID:number\r\nType:string;\r\nTypeTxt:string;\r\nCount:number;\r\nCountChoose:number=0;\r\nIsFree:number;\r\nCountAdditionFree:number\r\nIsRequired:number;\r\nRequiredCount:number;\r\nlistSelect:OrderAddingItem[];\r\nlistA:OrderAddingItemFood[];\r\n}\r\n\r\nexport class OrderAddingItem{\r\nSelect:boolean;\r\nText:string=\"לחץ לבחירה\";\r\n//listA:OrderAddingItemFood[];\r\n}\r\n\r\nexport class OrderAddingItemFood{\r\nID:number;\r\nAdditionID:number;\r\nFood:string;\r\nPrice:number;\r\nPriceText:string;\r\nPriceTotal:number;\r\ncountNumber:number;\r\nCountChoose:number;\r\nSelect:boolean;\r\nIsChoose:number;\r\n}\r\n\r\nexport class OrderHistory{\r\n OrderID:number;\r\n RestaurantName:string;\r\n RestaurantID:number;\r\n ImgFile:string;\r\n Price:string;\r\n CreatedDate:string;\r\n PaymentType:number;\r\n ReceptionFile:File;\r\n DocLink : string ;\r\n}\r\n\r\nexport class HistoryDelivery{\r\n DeliveryID:number;\r\n Origin:string;\r\n Destination:string;\r\n Description:string;\r\n Price:string;\r\n JoinDate:string;\r\n FileInvoice:string;\r\n AddressFrom:string;\r\n AddressTo:string;\r\n}","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-ps\": \"TJgH\",\n\t\"./ar-ps.js\": \"TJgH\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku-kmr\": \"dVgr\",\n\t\"./ku-kmr.js\": \"dVgr\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","
    \n
    \n
    \n \n היסטורית המשלוחים שלך\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    0\" class=\"d-flex lineDiv\">\n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-popup-error',\n templateUrl: './popup-error.component.html',\n styleUrls: ['./popup-error.component.scss']\n})\nexport class PopupErrorComponent implements OnInit {\n message:string;\n innerWidth:any;\n\n constructor(private matDialog:MatDialog,@Inject(MAT_DIALOG_DATA) private data: {message: string}) { }\n\n ngOnInit(): void {\n this.message=this.data.message;\n this.innerWidth = window.innerWidth;\n }\n\n closeDialog()\n {\n this.matDialog.closeAll();\n }\n\n}\n","import { Component, OnInit, Input , Output , EventEmitter, HostListener} from '@angular/core';\nimport { Router, ActivatedRoute, NavigationStart, NavigationEnd } from '@angular/router';\nimport { LoginComponent } from '../app/components/login/login.component' \nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { DataService } from './services/data.service';\nimport { OrdersService } from './services/order-service';\nimport { AppProxy } from './services/app-proxy';\nimport { Subject, Subscription } from 'rxjs';\nimport { MatDialog } from '@angular/material/dialog';\nimport { UserInactivityPopupComponent } from './components/user-inactivity-popup/user-inactivity-popup.component';\nimport { HashLocationStrategy, LocationStrategy } from '@angular/common';\nimport { url } from 'inspector';\nimport { PopupEnter2Component } from './components/popup-enter2/popup-enter2.component';\nimport { PopupEnterComponent } from './components/popup-enter/popup-enter.component';\nimport { Meta, Title } from '@angular/platform-browser';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css'],\n // providers: [{provide: LocationStrategy, useClass: HashLocationStrategy}]\n})\nexport class AppComponent {\n @Output()state: EventEmitter = new EventEmitter();\n @Output()changByFood: EventEmitter = new EventEmitter();\n showFooter:boolean=true;\n login:boolean=true;\n static priceTotal=\"פריטים-0\"\n static price=0;\n userActivity;\n userInactive: Subject = new Subject();\n innerWidth:any;\n idUrl:number=-1;\n private routeSub: Subscription;\n id:number=0;\n num=0;\n\n constructor(private activatedRoute: ActivatedRoute,private route: ActivatedRoute, private metaService:Meta, private router: Router ,private matDialog:MatDialog ,private dataService: DataService,private orderService:OrdersService, private proxy:AppProxy , private titleService: Title) {\n //this.setTimeout();\n this.metaService.updateTag({ content: 'Angular 4 meta service'} , 'name=\"description\"' );\n //console.log('user has been inactive');\n this.userInactive.subscribe(() =>\n {\n \n // if (sessionStorage.ACCESS_TOKEN == \"null\" || sessionStorage.ACCESS_TOKEN == null || sessionStorage.ACCESS_TOKEN == \"\")\n ////console.log('');\n // else\n {\n //console.log('user has been inactive for 15min');\n //if(sessionStorage.refrash==\"false\" || sessionStorage.refrash==undefined)\n {\n sessionStorage.refrash=\"true\"\n this.matDialog.closeAll();\n this.router.navigate([\"mainHome\"]);\n // this.matDialog.open(UserInactivityPopupComponent)\n }\n }\n });\n \n }\n\n addTag(){\n this.metaService.addTags([\n { name: 'description', \n content: 'Article Description' \n },\n { name: 'robots', content: 'index,follow' },\n { property: 'og:title', content: 'Content Title' }\n ]);\n }\n\n ngOnInit() {\n this.addTag();\n // this.router.events.pipe(\n // filter(event => event instanceof NavigationEnd),\n // )\n // .subscribe(() => {\n \n // var rt = this.getChild(this.activatedRoute)\n \n // rt.data.subscribe(data => {\n // //console.log(data);\n \n // // if (data.title) {\n // // this.titleService.setTitle(data.title)\n // // } \n // // else {\n // // this.titleService.setTitle(\"בא לי בקליק - משלוחי אוכל, מסעדות, אטרקציות ועוד באילת\")\n // // }\n\n \n // if (data.descrption) {\n // this.metaService.updateTag({ name: 'description', content: data.descrption })\n // } \n // else {\n // this.metaService.updateTag({ name: 'description', content: \"בא לי בקליק - משלוח מהיר ממגוון מסעדות וחנויות באילת, משלוחי אוכל, המבורגר, סושי, פיצה, שווארמה, פרחים, בלונים, סופר ורכישת כרטיסים לאטרקציות באילת. משלוחים מהירים באילת !\" })\n // //this.metaService.removeTag(\"name='description'\")\n // }\n \n // if (data.robots) {\n // this.metaService.updateTag({ name: 'robots', content: data.robots })\n // } else {\n // this.metaService.updateTag({ name: 'robots', content: \"follow,index\" })\n // }\n \n // if (data.ogUrl) {\n // this.metaService.updateTag({ property: 'og:url', content: data.ogUrl })\n // } else {\n // // this.metaService.updateTag({ property: 'og:url', content: this.router.url })\n // this.metaService.updateTag({ property: 'og:url', content: \"https://balibclick.co.il\" })\n \n // }\n \n // if (data.ogTitle) {\n // this.metaService.updateTag({ property: 'og:title', content: data.ogTitle })\n // } \n // else {\n // this.metaService.updateTag({ property: 'og:title', content: \"בא לי בקליק\" })\n // }\n \n // if (data.ogDescription) {\n // this.metaService.updateTag({ property: 'og:description', content: data.ogDescription })\n // } else {\n // this.metaService.updateTag({ property: 'og:description', content:\"בא לי בקליק - משלוח מהיר ממגוון מסעדות וחנויות באילת, משלוחי אוכל, המבורגר, סושי, פיצה, שווארמה, פרחים, בלונים, סופר ורכישת כרטיסים לאטרקציות באילת. משלוחים מהירים באילת !\"})\n // }\n \n // if (data.ogImage) {\n // this.metaService.updateTag({ property: 'og:image', content: data.ogImage })\n // } else {\n // this.metaService.updateTag({ property: 'og:image', content: \"http://balibclick.co.il/baliIcon.png\" })\n // }\n \n \n // })\n \n // })\n this.innerWidth = window.innerWidth;\n if(localStorage.oneTimeOrderOrOrder=='oneTimeOrder') \n {\n this.dataService.token.next('oneTimeOrder');\n this.dataService.state.next(\"התחבר\");\n this.state.emit();\n }\n else\n {\n this.dataService.token.next('order');\n this.dataService.state.next(\"התנתק\");\n this.state.emit();\n }\n if(localStorage.oneTimeOrderOrOrder==undefined)\n this.dataService.token.next('oneTimeOrder');\n //let a=location.hash;\n\n let a=location.pathname;\n this.dataService.byFood.next(false);\n this.changByFood.emit();\n this.orderService.oneTimeOrderOrOrder=\"Order\";\n\n // this.router.events.subscribe(event => {\n // if (event instanceof NavigationStart) {\n // if (!!event.url && event.url.match(/^\\/#/)) {\n // this.router.navigate([event.url.replace('/#', '')]);\n // }\n // }\n // });\n let b=0;\n // if(sessionStorage.refrash2==\"true\" ||sessionStorage.refrash2==undefined)\n // {\n // this.router.navigate([\"../mainHome\"]);\n // sessionStorage.refrash2=\"false\"\n \n // }\n\n // else\n if(a.startsWith(\"/restaurant\") && sessionStorage.ACCESS_TOKEN == \"null\")\n {\n \n //console.log(\"PopupEnterComponent5\"+location.pathname+\"=\"+sessionStorage.num);\n // if (this.innerWidth <= 480)\n // this.matDialog.open(PopupEnter2Component, { disableClose: true });\n // else\n // this.matDialog.open(PopupEnterComponent, { disableClose: true });\n //}\n }\n else if(a.startsWith(\"/restaurantCategory\"))\n {\n \n //console.log(\"PopupEnterComponent5\"+location.pathname+\"=\"+sessionStorage.num);\n // if (this.innerWidth <= 480)\n // this.matDialog.open(PopupEnter2Component, { disableClose: true });\n // else\n // this.matDialog.open(PopupEnterComponent, { disableClose: true });\n //}\n }\n \n // let urlId=a.split('/')[2];\n // let url: string = \"/restaurant/\" + urlId\n // this.router.navigateByUrl(url);\n \n \n else if(a==\"/mainHome\" || a==\"/\" || a==\"\" || a==\"/angular/\" || (!(a.startsWith(\"/restaurant\")) && sessionStorage.ACCESS_TOKEN == \"null\")\n || (!(a.startsWith(\"/restaurantCategory\")) && sessionStorage.ACCESS_TOKEN == \"null\"))\n {\n // if(sessionStorage.deeplink!='' && sessionStorage.deeplink!=undefined)\n //this.router.navigate([\"../yourOrder\"])\n // if(a==\"/mainHome\" || a==\"/\" || a==\"\" || a==\"/angular/\")\n // sessionStorage.deeplink='';\n //this.matDialog.closeAll();\n if(a==\"/\" && sessionStorage.deeplink!='' && sessionStorage.deeplink!=undefined)\n {\n if(sessionStorage.backYourOrder==\"true\")\n {\n this.dataService.endToppings.next(true);\n this.state.emit();\n let url: string = \"/restaurant/\" + sessionStorage.deeplink2;\n this.router.navigateByUrl(url);\n }\n // else\n // this.router.navigate([\"../yourOrder\"]);\n else\n {\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n this.router.navigate([\"mainHome\"]);\n }\n }\n else\n {\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n this.router.navigate([\"mainHome\"]);\n }\n }\n\n // else\n // {\n // let b=a.split('/',2);\n // this.router.navigate([\"../\"+b[1]]);\n // }\n }\n\n getChild(activatedRoute: ActivatedRoute) {\n if (activatedRoute.firstChild) {\n return this.getChild(activatedRoute.firstChild);\n } else {\n return activatedRoute;\n }\n }\n\n setTimeout() {\n this.userActivity = setTimeout(() => this.userInactive.next(undefined), 1000*60*15);\n // this.userActivity = setTimeout(() => this.userInactive.next(undefined), 1000*10);\n }\n\n @HostListener('window:mousemove') refreshUserState() {\n clearTimeout(this.userActivity);\n this.setTimeout();\n }\n}\n","\n
    \n
    \n
    \n
    \n {{c.Name}}\n
    \n 0\"(click)=\"more(i)\" style=\"margin-left:5px; margin-top: 5px; color: black;\n margin-top: 5px;\">הכל\n \n
    \n
    \n \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    2\">\n 480 && ind < 3 \" style=\"cursor: pointer;\" [categoryItem]=\"i\" [category]=\"c\" [indexList]=\"ind\">\n \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n","import { Component, EventEmitter, HostListener, OnInit, Output } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { DataService } from 'src/app/services/data.service';\nimport { OneTimeOrderService } from 'src/app/services/oneTimeOrder.service';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { LoginComponent } from '../login/login.component';\n\n@Component({\n selector: 'app-popup-enter2',\n templateUrl: './popup-enter2.component.html',\n styleUrls: ['./popup-enter2.component.scss']\n})\nexport class PopupEnter2Component implements OnInit {\n innerHeight: any;\n innerWidth:any;\n @Output()state: EventEmitter = new EventEmitter();\n\n constructor(private matDialog:MatDialog ,private orderService: OrdersService ,private oneTimeOrder: OneTimeOrderService ,private router:Router, private dataService:DataService) { }\n\n ngOnInit(): void {\n this.innerWidth = window.innerWidth;\n this.innerHeight = window.innerHeight;\n }\n\n signUp(){\n sessionStorage.dialog=\"false\"\n localStorage.oneTimeOrderOrOrder=\"order\"; \n this.orderService.oneTimeOrderOrOrder=\"order\"; \n this.matDialog.closeAll();\n this.openDialog();\n }\n\n noSign(){\n sessionStorage.dialog=\"false\"\n this.matDialog.closeAll();\n this.oneTimeOrder.createOneTimeUser().subscribe((res:any)=>{\n localStorage.oneTimeOrderOrOrder=\"oneTimeOrder\"; \n this.orderService.oneTimeOrderOrOrder=\"oneTimeOrder\";\n //אולי למחוק עוד?? 15.10.24\n this.dataService.token.next('oneTimeOrder');\n this.dataService.state.next(\"התחבר\");\n this.state.emit();\n // this.matDialog.closeAll();\n // if(sessionStorage.deeplink=='' || sessionStorage.deeplink=='null' || sessionStorage.deeplink=='undefined')\n // this.router.navigate([\"../mainHome\"]);\n // else\n //this.matDialog.closeAll();\n {\n let a=location.pathname;\n let url: string = a\n this.router.navigateByUrl(url);\n // this.matDialog.closeAll();\n //this.matDialog.closeAll();\n \n }\n });\n }\n\n openDialog() {\n this.matDialog.closeAll();\n this.matDialog.open(LoginComponent, { disableClose: true });\n }\n}\n","import { Component, OnInit ,Input ,HostListener } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Category, CategoryItem} from 'src/app/models/category';\nimport { ChangeFood} from 'src/app/models/restaurant'\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { DataService } from 'src/app/services/data.service';\n\n@Component({\n selector: 'app-main-list',\n templateUrl: './main-list.component.html',\n styleUrls: ['./main-list.component.scss']\n})\nexport class MainListComponent implements OnInit {\n @Input()\n items: CategoryItem[];\n buffer: CategoryItem[] = [];\n loading: boolean;\n restaurantsItem:CategoryItem[]=[];\n restaurantsItemAll:CategoryItem[]=[];\n category:Category;\n changeFood:ChangeFood[];\n id:number=-1;\n text:string;\n categoryName=\"\";\n num=0;\n page:number=1;\n mber=1;\n sum = 100;\n throttle = 300;\n scrollDistance = 1;\n scrollUpDistance = 2;\n direction = \"\";\n modalOpen = false;\n categoryId:number;\n categores:Category[]=[];\n // @HostListener('window:popstate', ['$event'])\n // onPopState(event) {\n // this.backPress();\n // }\n\n onScrollDown() {\n this.appendItems();\n this.direction = \"down\";\n }\n\n onUp() {\n this.sum += 20;\n this.prependItems();\n this.direction = \"up\";\n }\n\n prependItems() {\n this.addItems();\n }\n\n appendItems() {\n this.addItems();\n }\n\n addItems() {\n this.page=Number(this.page)+1;\n if(this.categoryName==\"קטגוריות\")\n {\n this.bussinssService.getCategoryList(this.page).subscribe((res:any[])=>{\n for(let i=0;i{\n for(let i=0;i{\n// for(let i=0;i-1)\n {\n this.bussinssService.getMainList(5,this.id,this.page,Math.floor((Math.random() * 20) + 1)).subscribe((res:any[])=>{\n for(let i=0;i{\n for(let i=0;i0)\n {\n this.restaurantsItem=this.bussinssService.restaurantCategoryList;\n this.categoryName=this.bussinssService.categoryName;\n let categoryType=3;\n if(this.categoryName==\"קטגוריות\")\n categoryType=2\n this.category={\n \"Name\":this.bussinssService.categoryName,\n \"ID\": 33,\n \"categoryItems\":this.restaurantsItem,\n \"isCheck\":true,\n \"categoryType\":categoryType\n }\n }\n else\n {\n if(this.bussinssService.categoryName==\"מסעדות מומלצות\") \n {\n this.restaurantsItem=this.bussinssService.categores[3].categoryItems; \n this.category=this.bussinssService.categores[3];\n }\n else if(this.bussinssService.categoryName==\"קטגוריות\")\n {\n this.restaurantsItem=this.bussinssService.categores[1].categoryItems;\n this.category=this.bussinssService.categores[1];\n }\n else if(this.bussinssService.categoryName==\"מתוקים\") \n {\n this.restaurantsItem=this.bussinssService.categores[2].categoryItems; \n this.category=this.bussinssService.categores[2];\n }\n else if(this.bussinssService.categoryName==\"מסעדות\") \n {\n this.restaurantsItem=this.bussinssService.categores[3].categoryItems; \n this.category=this.bussinssService.categores[3];\n }\n else if(this.bussinssService.categoryName==\"חנויות\") \n {\n this.restaurantsItem=this.bussinssService.categores[4].categoryItems; \n this.category=this.bussinssService.categores[4];\n }\n else if(this.bussinssService.categoryName==\"אטרקציות\") \n {\n this.restaurantsItem=this.bussinssService.categores[5].categoryItems; \n this.category=this.bussinssService.categores[5];\n }\n this.categoryName=this.bussinssService.categoryName;\n let categoryType=3;\n if(this.categoryName==\"קטגוריות\")\n categoryType=2\n }\n }\n \n else if(this.id>-1)\n {\n this.bussinssService.getMainList(5,this.id,this.page,Math.floor((Math.random() * 20) + 1)).subscribe((res:any[])=>{\n this.restaurantsItem=res;\n if(this.restaurantsItem!=null && this.restaurantsItem.length>0)\n {\n if(this.bussinssService.categoryName!=null)\n this.categoryName=this.bussinssService.categoryName;\n this.category={\n \"Name\": this.bussinssService.categoryName,\n \"ID\": 33,\n \"categoryItems\":this.restaurantsItem,\n \"isCheck\":true,\n \"categoryType\":3\n }\n }\n else\n this.proxy.showError(\"לא נמצאו עסקים\\n בקטגוריה זו\",\"\");\n });\n }\n else{\n this.bussinssService.getMenuBySearch(this.text,this.page,false).subscribe((res:any[])=>{\n this.restaurantsItem=res;\n this.bussinssService.setGlobalSearch(this.text);\n if(this.bussinssService.categoryName!=null)\n this.categoryName=this.bussinssService.categoryName;\n this.category={\n \"Name\": this.categoryName,\n \"ID\": 33,\n \"categoryItems\":this.restaurantsItem,\n \"isCheck\":true,\n \"categoryType\":3\n }\n });\n }\n } \n \n backPress()\n {\n window.history.back();\n }\n\n onClickCategory(id:number){\n }\n}\n","
    \n
    \n
    \n
    עלות המשלוח
    \n
    \n
    שביקשת תעמוד
    \n
    \n
    על 25 ₪
    \n\n
    \n
    \n
    \n \n הזמן\n
    \n
    \n \n
    \n
    \n
    \n
    בקשת השליחות התקבלה
    \n
    \n
    ונציג יחזור אליכם
    \n
    בדקות הקרובות...
    \n
    \n \n אישור\n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n
    \n \n \n \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n
    \n \n \n \n
    \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n\n
    \n
    \n
    \n
    \n
    \n
    \n * יש להזין את כל הפרטים \n \n
    \n \n הזמן\n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n\n\n","export const SectionsMetadata={\r\n meta:{\r\n title:\">בא לי בקליק - משלוחי אוכל, מסעדות, אטרקציות ועוד באילת\",\r\n description:\"fdsgtrtret\"\r\n }\r\n}","
    \n\n
    \n
    \n \n
    \n
    \n !שימו לב - לא ניתן לספק את ההזמנה באזורך\n
    \n עליך להזין כתובת באילת וסביבתה\n
    \n\n
    \n
    \n
    \n

    אישור

    \n \n
    \n
    \n
    \n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { PasswordComponent } from '../password/password.component';\nimport { User, UserEditProfile } from 'src/app/models/user';\nimport { UserService} from '../../services/user-service';\nimport { DataService } from 'src/app/services/data.service';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { LoginPhoneVarificationComponent } from '../login-phone-varification/login-phone-varification.component';\nimport { PopupEnterComponent } from '../popup-enter/popup-enter.component';\nimport { PopupEnter2Component } from '../popup-enter2/popup-enter2.component';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit {\n @Output()state: EventEmitter = new EventEmitter();\n public registerForm: FormGroup;\n user:User;\n valid:boolean=false;\n loginObj;\n userEditProfile:UserEditProfile;\n innerWidth:any;\n\n constructor(private route: ActivatedRoute, private router: Router,private proxy:AppProxy,private dataService:DataService,private matDialog:MatDialog,private userService: UserService) {}\n\n forgotPassword(){\n this.openPasswordDialog();\n }\n\n createAccount()\n {\n //let url: string = \"register\";\n //this.router.navigateByUrl(url);\n\n //this.router.navigate(['../register'], { relativeTo: this.route });\n this.router.navigate(['./register']);\n this.local()\n this.matDialog.closeAll();\n sessionStorage.ACCESS_TOKEN = \"null\"\n\n }\n\n local(){\n localStorage.ADDRESS=\"\";\n localStorage.LAT=\"\";\n localStorage.LONG=\"\";\n localStorage.ADDRESS2=\"\";\n localStorage.LAT2=\"\";\n localStorage.LONG2=\"\";\n localStorage.password=\"\";\n localStorage.phone=\"\";\n localStorage.orderName=\"\";\n localStorage.email=\"\";\n localStorage.street=\"\";\n localStorage.enter=\"\";\n localStorage.floor=\"\";\n localStorage.numberHoush=\"\";\n }\n\n continue()\n {\n let name = this.registerForm.controls['userMail'].value;\n let pass = this.registerForm.controls['userPassword'].value;\n this.userService.login(name,pass).subscribe((res:any)=>{\n this.matDialog.closeAll();\n this.userService.getUserDetails(1).subscribe((res:any)=>{\n this.userEditProfile=res;\n this.userService.setUserPhone(this.userEditProfile.userPhone).subscribe((res:any)=>{\n // if(this.innerWidth<=480)\n // this.router.navigate(['../loginPhoneVarification']);\n // else\n this.openDialog();\n });\n });\n });\n }\n\n close()\n {\n this.dataService.state.next(\"התחבר\");\n this.state.emit();\n // this.matDialog.closeAll();\n // this.router.navigate(['../mainHome']);\n //if(this.innerWidth)\n this.openEnterDialog();\n }\n\n openDialog() {\n this.matDialog.closeAll();\n this.matDialog.open(LoginPhoneVarificationComponent,{ disableClose: true });\n }\n\n openEnterDialog() {\n this.matDialog.closeAll();\n if(this.innerWidth<=480)\n this.matDialog.open(PopupEnter2Component, { disableClose: true });\n else\n this.matDialog.open(PopupEnterComponent, { disableClose: true });\n }\n\n openPasswordDialog() {\n this.matDialog.closeAll();\n const dialogConfig = new MatDialogConfig();\n this.matDialog.open(PasswordComponent,{ disableClose: true });\n }\n\n createForm() {\n this.registerForm = new FormGroup({\n userMail: new FormControl(\"\", Validators.required),\n userPassword: new FormControl(\"\", [Validators.required, Validators.minLength(8),Validators.maxLength(20)]), \n });\n }\n\n ngOnInit(): void {\n this.innerWidth=window.innerWidth;\n this.user = new User();\n this.createForm();\n }\n\n isValidInput(fieldName): boolean {\n if(this.valid==true)\n return this.registerForm.controls[fieldName].invalid;\n }\n}\n","import { Component, OnInit , EventEmitter ,ViewChild ,ElementRef, Output, HostListener} from '@angular/core';\nimport { FormGroup,FormControl,Validators, NumberValueAccessor ,FormBuilder } from '@angular/forms';\nimport {MatDialog, MatDialogConfig ,MatDialogRef} from '@angular/material/dialog';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { UserService } from 'src/app/services/user-service';\nimport { Router } from '@angular/router';\nimport { filter } from \"rxjs/operators\";\nimport { LoginComponent } from '../login/login.component';\nimport { DataService } from 'src/app/services/data.service';\nimport { MyOrder } from 'src/app/models/order';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { OneTimeOrderService } from 'src/app/services/oneTimeOrder.service';\nimport { LoaderComponent } from '../../loader/loader.component';\n\n@Component({\n selector: 'app-verification-code2',\n templateUrl: './verification-code2.component.html',\n styleUrls: ['./verification-code2.component.scss']\n})\nexport class VerificationCode2Component implements OnInit {\n @Output()changePrice: EventEmitter = new EventEmitter();\n @Output()changByFood: EventEmitter = new EventEmitter();\n @Output()changeShowPrice: EventEmitter = new EventEmitter();\n getNewPassword:boolean=false;\n valid:boolean=false;\n newPasswordForm:FormGroup;\n code1:number=null;\n code2:number=null;\n code3:number=null;\n code4:number=null;\n code:string=null;\n form: FormGroup;\n notGetSendAgain=\"לא קיבלתי שלח שוב\";\n @ViewChild(\"code1\") code1Element: ElementRef;\n @ViewChild(\"code2\") code2Element: ElementRef;\n @ViewChild(\"code3\") code3Element: ElementRef;\n @ViewChild(\"code4\") code4Element: ElementRef;\n innerWidth: any;\n showProgress=false;\n order:MyOrder;\n token:string=null;\n isClickPayment=false;\n date1:string=\"\";\n error=1;\n @HostListener('window:popstate', ['$event'])\n onPopState(event) {\n this.backPress();\n }\n\n constructor(private router: Router,private fb: FormBuilder ,private matDialog:MatDialog,private bussinssService: BussinssService,\n private userService:UserService, private oneTimeOrderService:OneTimeOrderService ,private proxy:AppProxy,private dataService:DataService ,private orderService:OrdersService) {\n // dialogRef.disableClose = true;\n /*\n Subscribe to events emitted when the backdrop is clicked\n NOTE: Since we won't actually be using the `MouseEvent` event, we'll just use an underscore here\n See https://stackoverflow.com/a/41086381 for more info\n */\n // dialogRef.backdropClick().subscribe(() => {\n // // Close the dialog\n // dialogRef.close();\n // })\n }\n\n ngOnInit(): void {\n this.dataService.show.next(false);\n this.changeShowPrice.emit();\n this.dataService.byFood.next(false);\n this.changByFood.emit();\n this.proxy.scrollToTop();\n this.createForm();\n this.innerWidth = window.innerWidth;\n localStorage.SMS_CODE2=\"\";\n // if(localStorage.ERROR_PASSWORD==1)\n // {\n // this.notGetSendAgain=\"קוד שגוי. הזן שנית\";\n // localStorage.ERROR_PASSWORD=0;\n // }\n // else\n this.notGetSendAgain=\"לא קיבלתי שלח שוב\";\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n });\n }\n\n backPress()\n {\n this.matDialog.closeAll();\n if(localStorage.oneTimeOrderOrOrder=='oneTimeOrder')\n this.router.navigate([\"../payment\"])\n else\n this.router.navigate([\"../securePayment\"])\n }\n\n openLoader()\n {\n this.matDialog.open(LoaderComponent, { disableClose: true });\n }\n\n newPassword()\n {\n this.valid=true;\n if(this.newPasswordForm.valid)\n {\n this.getNewPassword=true;\n }\n this.code=this.newPasswordForm.value.code1+this.newPasswordForm.value.code2+this.newPasswordForm.value.code3+this.newPasswordForm.value.code4+\"\";\n if(this.code1Element!=null && this.code2Element!=null && this.code3Element!=null && this.code4Element!=null && this.code!=null)\n {\n this.oneTimeOrderService.setOrderSmsConfirmation(this.order.OrderID,this.code,this.innerWidth).subscribe((res:any)=>{\n if(res.error==false && res.responseMessage==\"ok\")\n {\n this.showProgress=true\n let IsFromLink=0;\n if(sessionStorage.deeplink==this.order.RestaurantID)\n IsFromLink=1;\n if(localStorage.paymentBy==\"1\")\n { \n this.date1=localStorage.date;\n if(!localStorage.nvCardNumber.startsWith(\"x\"))\n this.token=null;\n\n \n //האם משתמשים בפונקציה הזו???\n //אם כן צריך להוסיף לה את השינוי\n this.oneTimeOrderService.setOrderPayment(localStorage.nvCardNumber,localStorage.date.replace(\"/\",\"\"),\n localStorage.cvv,localStorage.identityNumber,localStorage.nvCardholderName,Number(this.order.Balance), localStorage.nvCardholderName).subscribe((res:any)=>\n {\n if(res.error==true)\n {\n this.showProgress=false;\n this.isClickPayment=false;\n this.proxy.showError(res.responseMessage,\"\");\n }\n else\n {\n \n if(this.order.IsDelivery==1)\n {\n this.orderService.setUpdateOrder5(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,0,2,this.order.Address,this.order.Lat+\"\",this.order.Lng+\"\",IsFromLink).subscribe((res:any)=>\n {\n this.noItem();\n this.router.navigate(['../endOrder']);\n });\n }\n else\n this.orderService.setUpdateOrder4(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,0,2,IsFromLink).subscribe((res:any)=>\n {\n this.noItem();\n this.router.navigate(['../endOrder']);\n });\n }\n });\n }\n else \n {\n if(this.order.IsDelivery==1)\n {\n this.orderService.setUpdateOrder5(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,1,2,this.order.Address,this.order.Lat+\"\",this.order.Lng+\"\",IsFromLink).subscribe((res:any)=>\n {\n this.noItem();\n this.router.navigate(['../endOrder']);\n });\n }\n else\n this.orderService.setUpdateOrder4(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,1,2,IsFromLink).subscribe((res:any)=>\n {\n this.noItem();\n this.router.navigate(['../endOrder']);\n }); \n }\n }\n else\n {\n // this.ngOnInit();\n localStorage.SMS_CODE2=\"\";\n localStorage.ERROR_PASSWORD=1;\n this.notGetSendAgain=\"קוד שגוי. הזן שנית\";\n this.newPasswordForm.value.code1=\"\";\n this.newPasswordForm.value.code2=\"\";\n this.newPasswordForm.value.code3=\"\";\n this.newPasswordForm.value.code4=\"\";\n //this.router.navigate(['../payment']);\n //this.router.navigate([\"../loginPhoneVarification\"]);\n \n }\n });\n }\n else\n this.proxy.showError(\"יש למלא את כל מספרי הקוד\",\"\");\n }\n\n reSendSmsCode()\n {\n this.oneTimeOrderService.sendConfirmationSms(this.order.OrderID,+this.order.TotalPrice ,localStorage.paymentBy == 0 ? 1 : 0).subscribe((res:any)=>{\n this.proxy.showSucceeded(\"הקוד נשלח אליך\",\"\");\n });\n }\n\n isValidInput(fieldName): boolean {\n if(this.valid==true)\n return this.newPasswordForm.controls[fieldName].invalid;\n }\n\n noItem()\n {\n // localStorage.ADDRESS=\"\";\n // localStorage.ADDRESS2=\"\";\n // localStorage.LAT=\"\";\n // localStorage.LONG=\"\";\n let priceTotal=\"0 - פריטים\";\n localStorage.PRICE=0;\n localStorage.PRICE_TOTAL=priceTotal;\n this.dataService.price.next(priceTotal);\n this.changePrice.emit();\n }\n\n createForm() {\n this.newPasswordForm = this.fb.group({\n code1: [\"\", [Validators.required, Validators.maxLength(1)]],\n code2: [\"\", [Validators.required, Validators.maxLength(1)]],\n code3: [\"\", [Validators.required, Validators.maxLength(1)]],\n code4: [\"\", [Validators.required, Validators.maxLength(1)]],\n });\n\n this.newPasswordForm.get(\"code1\").valueChanges\n .pipe(filter((value: string) => value.length === 1))\n .subscribe(() => this.code2Element.nativeElement.focus());\n\n this.newPasswordForm.get(\"code2\").valueChanges\n .pipe(filter((value: string) => value.length === 1))\n .subscribe(() => this.code3Element.nativeElement.focus());\n\n this.newPasswordForm.get(\"code3\").valueChanges\n .pipe(filter((value: string) => value.length === 1))\n .subscribe(() => this.code4Element.nativeElement.focus());\n\n // this.newPasswordForm.get(\"code4\").valueChanges\n // .pipe(filter((value: string) => value.length === 1))\n // .subscribe(() => this.newPassword());\n }\n\n // openLoginDialog()\n // {\n // const dialogConfig = new MatDialogConfig();\n // }\n\n exit()\n {\n //if(this.getNewPassword==false)\n // this.openLoginDialog();\n //else\n if(this.getNewPassword==true)\n {\n this.valid=false;\n this.getNewPassword=false;\n }\n }\n}\n\n","import { Component, OnInit ,Output ,EventEmitter} from '@angular/core';\nimport { filter, pairwise } from 'rxjs/operators';\nimport { GiftCards } from 'src/app/models/giftCard';\nimport { Router ,RoutesRecognized ,NavigationEnd } from '@angular/router'\nimport { UserService } from 'src/app/services/user-service';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { MyOrder } from 'src/app/models/order';\nimport { CreditCardService } from 'src/app/services/creditCard-service';\nimport { PopupGiftcardComponent } from '../popup-giftcard/popup-giftcard.component';\nimport {MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { DataService } from 'src/app/services/data.service';\nimport { LoaderComponent } from '../../loader/loader.component';\nimport { ThrowStmt } from '@angular/compiler';\n\n@Component({\n selector: 'app-gift-card',\n templateUrl: './gift-card.component.html',\n styleUrls: ['./gift-card.component.scss']\n})\nexport class GiftCardComponent implements OnInit {\n @Output()changByFood: EventEmitter = new EventEmitter();\n @Output()changeShowPrice: EventEmitter = new EventEmitter();\n giftCards:GiftCards[]=[];\n order:MyOrder;\n page:number=1;\n sum = 100;\n throttle = 300;\n scrollDistance = 1;\n scrollUpDistance = 2;\n direction = \"\";\n previousUrl:string=null;\n currentUrl: string = null;\n isPaymentByGiftCard:boolean=false;\n\n constructor(private dataService:DataService,private matDialog:MatDialog,private router: Router,private creaditCardService:CreditCardService, private proxy :AppProxy,private orderService:OrdersService,private userService:UserService) \n {\n }\n\n ngOnInit(): void {\n this.proxy.scrollToTop();\n this.dataService.show.next(false);\n this.changeShowPrice.emit();\n this.dataService.byFood.next(false);\n this.changByFood.emit();\n this.userService.getGiftCards().subscribe((res:any)=>{\n if(this.previousUrl==null)\n {\n this.router.events.pipe(\n filter((event) => event instanceof NavigationEnd)\n ).subscribe((event: NavigationEnd) => {\n this.previousUrl = this.currentUrl;\n this.currentUrl = event.url;\n});\n }\n this.giftCards=res;\n \n });\n // this.giftCards=[\n // {\n // \"ID\":1,\n // \"Price\":75,\n // \"BarCode\":\"12345\",\n // },\n // {\n // \"ID\":2,\n // \"Price\":100,\n // \"BarCode\":\"56789\",\n // },\n // {\n // \"ID\":3,\n // \"Price\":50,\n // \"BarCode\":\"54321\",\n // },\n // {\n // \"ID\":4,\n // \"Price\":25,\n // \"BarCode\":\"09876\",\n // },\n // {\n // \"ID\":5,\n // \"Price\":50,\n // \"BarCode\":\"78321\",\n // },\n // {\n // \"ID\":6,\n // \"Price\":89,\n // \"BarCode\":\"01176\",\n // },\n \n // ]\n }\n\n \n onScrollDown() {\n this.appendItems();\n this.direction = \"down\";\n }\n\n onUp() {\n this.sum += 20;\n this.prependItems();\n this.direction = \"up\";\n }\n\n prependItems() {\n this.addItems();\n }\n\n appendItems() {\n this.addItems();\n }\n\n addItems() {\n // this.page=Number(this.page)+1;\n // if(this.id>-1)\n // {\n // this.bussinssService.getMainList(5,this.id,this.page).subscribe((res:any[])=>{\n // for(let i=0;i{\n // for(let i=0;i event instanceof RoutesRecognized),\n // pairwise()\n // ) \n // .subscribe((e: any) => {\n // this.previousUrl = e[0].urlAfterRedirects;\n // });\n if(this.creaditCardService.IsPaymentByGiftCard==true)\n {\n this.openLoader();\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n let allPrice=Number(this.order.TotalPrice);\n if(this.order.IsDelivery==1)\n allPrice+=Number(this.order.DeliveryPrice);\n // if(this,this.order.Balance!=null && this.order.Balance!=\"\")\n // allPrice=Number(Number(allPrice)- Number(this.order.Balance));\n\n // this.router.navigate(['../restaurantCategory']);\n if(this.order.OrderID!=0) \n {\n let price=Number(this.order.Balance);\n let status=2;\n if(price>Number(giftCard.Price))\n {\n price=Number(giftCard.Price)\n status=1;\n }\n let isAddress=1;\n if(this.order.Address!=null)\n isAddress=0;\n let IsFromLink=0;\n if(sessionStorage.deeplink==this.order.RestaurantID && status==2)\n IsFromLink=1;\n this.orderService.setUpdateOrder(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,1,\n null,0,status,null,isAddress,this.order.Address,this.order.Lat+\"\",this.order.Lng+\"\",1,\n Number(giftCard.Number),price,null,null,IsFromLink).subscribe((res:any)=>{\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n localStorage.MENU_ID=0;\n if(Number(allPrice)<=Number(giftCard.Price) || Number(this.order.Balance)<=0)\n this.router.navigate(['../endOrder']);\n else\n {\n this.matDialog.closeAll();\n let iPay=Number(Number(allPrice)-Number(this.order.Balance));\n this.matDialog.open(PopupGiftcardComponent, {\n data: { price: allPrice+\"\" ,price2:Number(iPay) , payBy:\"גיפט קארד\"},\n });\n }\n \n });\n });}\n else\n {\n this.matDialog.closeAll();\n this.proxy.showError(\"אין לך הזמנה פתוחה\",\"\");\n }});\n}\n }\n\n buyGiftCard(){\n this.router.navigate(['../giftCardPayment']);\n }\n\n backPress()\n {\n window.history.back();\n }\n}\n","\n
    \n \n
    \n \n
    x
    \n \n
    \n {{title}}\n {{myText}}\n
    \n
    להמשך
    \n
    \n \n
    \n\n","import { Component, OnInit ,ViewChild ,ElementRef, NgZone ,EventEmitter ,Output, HostListener } from '@angular/core';\nimport { SignUp, User, UserEditProfile } from 'src/app/models/user'\nimport { FormGroup, FormControl, Validators ,FormBuilder ,ValidatorFn } from '@angular/forms';\nimport { UserService} from '../../services/user-service';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { LoginComponent } from '../login/login.component';\nimport { HttpClient } from '@angular/common/http';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\nimport { DataService } from 'src/app/services/data.service';\nimport { PlatformLocation } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { TermsOfUseComponent } from '../terms-of-use/terms-of-use.component';\n import { MapsAPILoader } from '@agm/core';\nimport { LoginPhoneVarificationComponent } from '../login-phone-varification/login-phone-varification.component';\nimport { PopupEnter2Component } from '../popup-enter2/popup-enter2.component';\nimport { PopupEnterComponent } from '../popup-enter/popup-enter.component';\nimport { PopupLogOutComponent } from '../popup-log-out/popup-log-out.component';\n\n@Component({\n selector: 'app-register',\n templateUrl: './register.component.html',\n styleUrls: ['./register.component.scss']\n})\nexport class RegisterComponent implements OnInit {\n @Output()changePrice: EventEmitter = new EventEmitter();\n @Output()changByFood: EventEmitter = new EventEmitter();\n @Output()state: EventEmitter = new EventEmitter();\n levelDelivery:number=0;\n user:User;\n valid:boolean=false;\n public registerForm: FormGroup;\n keepEnabled='assets/images/Delivery_Popup_Ok_Button.png';\n keepUnEnabled='assets/images/Delivery_Popup_Cancel_Button.png';\n isEditProfile=false;\n signUp:SignUp;\n name = 'Angular 4';\n url=null;\n file:File;\n width;\n height;\n fileToUpload: File = null;\n userEditProfile:UserEditProfile;\n private sanitizer: DomSanitizer\n image_data;\n title = 'FileUploadProject';\n errorPhone=\"\";\n errorMail=\"\";\n errorPassword=\"\";\n errorPasswordAgain=\"\";\n ImageBaseData:string | ArrayBuffer=null;\n fileList: FileList;\n @ViewChild(\"fileUpload\", {static: false}) fileUpload: ElementRef;\n latitude: number;\n longitude: number;\n formattedaddress=\" \";\n options={\n componentRestrictions:{\n country:[\"isr\"]\n }\n };\n lat: string;\n lng: string;\n zoom = 1;\n private geoCoder;\n address_: string;\n @ViewChild('search')\n public searchElementRef: ElementRef;\n innerWidth:any;\n\n @HostListener('window:popstate', ['$event'])\n onPopState(event) {\n this.onBackPress();\n }\n\n constructor(private mapsAPILoader: MapsAPILoader,\n private ngZone: NgZone,private http: HttpClient,private userService: UserService,private location: PlatformLocation,private proxy:AppProxy,private router: Router,\n private matDialog:MatDialog,private fb: FormBuilder, private dataService:DataService ,private httpClient:HttpClient) { \n this.user = new User(); \n }\n\n ngOnInit(): void {\n this.createForm();\n this.dataService.byFood.next(false);\n this.changByFood.emit();\n let priceTotal=\"0 - פריטים\";\n localStorage.PRICE=0;\n localStorage.PRICE_TOTAL=priceTotal;\n this.dataService.price.next(priceTotal);\n this.changePrice.emit();\n this.mapsAPILoader.load().then(() => { \n var options = {\n componentRestrictions: {country: \"IL\"}\n };\n this.geoCoder = new google.maps.Geocoder;\n const autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement,options);\n autocomplete.addListener(\"place_changed\", () => {\n this.ngZone.run(() => {\n //get the place result\n const place: google.maps.places.PlaceResult = autocomplete.getPlace();\n //verify result\n if (place.geometry === undefined || place.geometry === null) {\n return;\n }\n //set latitude, longitude and zoom\n this.user.userLatitude = (place.geometry.location.lat());\n this.user.userLongitude =(place.geometry.location.lng());\n this.user.userAddress=place.name+\" , \"+place.vicinity;\n this.zoom = 12;\n }); \n });\n });\n \n if(sessionStorage.ACCESS_TOKEN != \"null\")\n {\n this.userService.getUserDetails(1).subscribe((res:any)=>{\n this.userEditProfile=res;\n if(this.userEditProfile!=null)\n {\n this.user.ImageFile=this.userEditProfile.ImageFile;\n this.user.IDUser=this.userEditProfile.IDUser;\n this.user.userFullName=this.userEditProfile.userFullName;\n this.user.userPhone=this.userEditProfile.userPhone;\n this.user.userAddress=this.userEditProfile.userAddress;\n this.startLocalAddress();\n this.user.userEmail=this.userEditProfile.userEmail;\n this.user.userLatitude = this.userEditProfile.Latitude;\n this.user.userLongitude =this.userEditProfile.Longitude;\n this.isEditProfile=true;\n if(this.userEditProfile.ImageFile!=\"\" && this.userEditProfile.ImageFile!=null)\n this.url=this.userEditProfile.ImageFile;\n }\n this.createForm();\n });\n }\n }\n\n openMap()\n {\n this.local();\n sessionStorage.pageBack=\"register\"\n this.router.navigate(['../map']); \n }\n\n startLocalAddress()\n {\n if(localStorage.ADDRESS!=\"\")\n {\n // this.Address = localStorage.ADDRESS;\n this.user.userAddress=localStorage.ADDRESS;\n this.lat=localStorage.LAT;\n this.lng=localStorage.LONG;\n }\n }\n\n startLocal()\n {\n this. startLocalAddress();\n if(localStorage.password!=undefined)\n {\n this.user.userPassword=localStorage.password;\n this.user.userPasswordAgain=localStorage.passwordAgain;\n }\n if(localStorage.phone!=undefined)\n this.user.userPhone=localStorage.phone;\n if(localStorage.orderName!=undefined)\n this.user.userFullName=localStorage.orderName;\n if(localStorage.email!=undefined)\n this.user.userEmail=localStorage.email;\n if(localStorage.enter!=undefined)\n this.user.userEnter= localStorage.enter;\n if(localStorage.floor!=undefined)\n this.user.userFloor=localStorage.floor;\n if(localStorage.numberHoush!=undefined)\n this.user.userNumberHoush=localStorage.numberHoush;\n }\n\n handleKeyDown()\n { \n if (document.activeElement instanceof HTMLElement)\n document.activeElement.blur();\n }\n\n local(){\n localStorage.password=this.registerForm.value.userPassword\n localStorage.passwordAgain=this.registerForm.value.userPasswordAgain\n localStorage.phone=this.registerForm.value.userPhone;\n localStorage.orderName=this.registerForm.value.userFullName;\n localStorage.email=this.registerForm.value.userEmail;\n localStorage.street=this.registerForm.value.userAddress;\n localStorage.enter=this.registerForm.value.userEnter;\n localStorage.floor=this.registerForm.value.userFloor;\n localStorage.numberHoush=this.registerForm.value.userNumberHoush;\n }\n \n keytab(event){\n let element = event.srcElement.nextElementSibling; // get the sibling element\n \n if(element == null) // check if its null\n return;\n else\n element.focus(); // focus if not null\n }\n\n @HostListener('keydown', ['$event']) onKeyDown(e) {\n if ((e.which == 13 || e.keyCode == 13)) {\n e.preventDefault();\n if (e.srcElement.nextElementSibling) {\n e.srcElement.nextElementSibling.focus();\n }\n else{\n //console.log('close keyboard');\n this.proxy.hideKeyboard(e);\n }\n return;\n }\n }\n\n onBackPress()\n {\n this.router.navigate(['../mainHome']);\n }\n \n TermsUse()\n {\n const dialogConfig = new MatDialogConfig();\n this.matDialog.open(TermsOfUseComponent, dialogConfig);\n }\n\n onSelectFile(event) {\n if (event.target.files && event.target.files[0]) {\n this.file = event.target.files[0];\n const reader = new FileReader();\n reader.readAsDataURL(this.file);\n reader.onload = e =>\n {\n var img = new Image();\n img.onload = () => {\n this.width = img.width;\n this.height = img.height;\n //console.log('height: '+this.height);\n //console.log('width: '+this.width);\n };\n \n this.url = reader.result;\n img.src = this.url;\n let loadedImage = e.currentTarget;\n }\n }\n}\n\n getImageDimenstion(imgUrl){\n let img = new Image(); \n img.src = imgUrl;\n img.onload = function (event) {\n } \n}\n\n openDialog() {\n this.innerWidth = window.innerWidth;\n // if(this.innerWidth<=480)\n //this.router.navigate(['../loginPhoneVarification',{ disableClose: true }]);\n //else\n // {\n // if(this.userService.LoginOBJ==false)\n {\n const dialogConfig = new MatDialogConfig();\n this.matDialog.open(LoginPhoneVarificationComponent, { disableClose: true });\n // }\n }\n }\n\n logOut()\n {\n sessionStorage.ACCESS_TOKEN=null;\n this.matDialog.open(PopupLogOutComponent, {\n });\n\n }\n\n keep()\n {\n this.valid=true;\n if(this.registerForm.valid)\n {\n const formData = new FormData();\n if(this.user.userPassword!=null && this.user.userPassword!=undefined)\n {\n formData.append('signature', this.proxy.md5_(this.proxy.SECRET_KEY+this.user.userEmail));\n formData.append('userEmail', this.user.userEmail);\n formData.append('userPassword', this.proxy.md5_(this.proxy.SECRET_KEY+this.user.userPassword));\n formData.append('userFullName', this.user.userFullName);\n let address=this.user.userAddress;\n if(this.user.userEnter!=null && this.user.userEnter!='')\n address+=\" כניסה: \"+this.user.userEnter\n if(this.user.userFloor!=null)\n address+=\" קומה: \"+this.user.userFloor;\n if(this.user.userNumberHoush!=null && this.user.userNumberHoush!=undefined)\n address+=\" דירה: \"+this.user.userNumberHoush\n formData.append('userAddress', address);\n formData.append('userPhone', this.user.userPhone);\n formData.append('ImageFile',this.file);\n formData.append('Latitude',this.lat+\"\");\n formData.append('Longitude',this.lng+\"\");\n this.userService.register(formData).subscribe((res:any)=>{\n this.dataService.state.next(\"התנתק\");\n this.state.emit();\n localStorage.ADDRESS = \"\"; \n localStorage.LAT=\"\";\n localStorage.LONG=\"\";\n let token=res.responseMessage;\n this.proxy.ACCESS_TOKEN=token;\n sessionStorage.ACCESS_TOKEN = token;\n this.matDialog.closeAll();\n this.userService.getUserDetails(1).subscribe((res:any)=>{\n this.userEditProfile=res;\n this.userService.setUserPhone(this.userEditProfile.userPhone).subscribe((res:any)=>{\n // if(this.innerWidth<=480)\n // this.router.navigate(['loginPhoneVarification']);\n // else\n this.openDialog();\n });\n });\n });\n }\n else\n {\n formData.append('signature',this.proxy.md5_(this.proxy.SECRET_KEY+this.user.IDUser));\n formData.append('userFullName', this.user.userFullName);\n formData.append('UserPhone', this.user.userPhone);\n formData.append('userEmail', this.user.userEmail);\n let address=this.user.userAddress;\n if(this.registerForm.value.userEnter!=null && this.registerForm.value.userEnter!=\"\")\n address+=\" כניסה: \"+this.registerForm.value.userEnter\n if(this.registerForm.value.userFloor!=null && this.registerForm.value.userFloor!=\"\")\n address+=\" קומה: \"+this.registerForm.value.userFloor;\n if(this.registerForm.value.userNumberHoush!=null && this.registerForm.value.userNumberHoush!=\"\")\n address+=\" דירה: \"+this.registerForm.value.userNumberHoush\n formData.append('userAddress', address);\n formData.append('ImageFile',this.file);\n formData.append('Latitude',this.user.userLatitude+\"\");\n formData.append('Longitude',this.user.userLongitude+\"\");\n this.userService.setUserDetails(formData).subscribe((res:any)=>{\n if(this.userEditProfile.userAddress!=this.user.userAddress || this.userEditProfile.userEmail!=this.user.userEmail\n || this.userEditProfile.userPhone!=this.user.userPhone || address!=this.userEditProfile.userAddress)\n {\n localStorage.SMS=\"\";\n this.userService.setUserPhone(this.user.userPhone).subscribe((res:any)=>{\n // if(this.innerWidth<=480)\n // this.router.navigate(['loginPhoneVarification']);\n // else\n this.openDialog();\n });\n }\n else\n {\n this.proxy.showSucceeded(\"התעדכן נתוני המשתמש\",\"\");\n this.router.navigate([\"../mainHome\"]);\n }\n });\n }\n}\n}\n\n isValidInput(fieldName): boolean {\n if(this.valid==true)\n return this.registerForm.controls[fieldName].invalid;\n }\n\n isValidInputPhone(fieldName): boolean {\n if(this.valid==true)\n {\n if(this.registerForm.controls[fieldName].value == undefined || this.registerForm.controls[fieldName].value == \"\")\n this.errorPhone=\"שדה חובה\"\n else\n this.errorPhone=\"עליך להכניס מספר טלפון שמתחיל בספרות 05xxxxxxxx\";\n \n return this.registerForm.controls[fieldName].invalid;\n }\n }\n\n isValidInputMail(fieldName): boolean {\n if(this.valid==true)\n {\n // if(this.registerForm.controls[fieldName].value == undefined || this.registerForm.controls[fieldName].value == \"\")\n // this.errorMail=\"שדה חובה\"\n // else\n this.errorMail=\"כתובת מייל אינה תקינה\";\n return this.registerForm.controls[fieldName].invalid;\n }\n }\n\n isValidInputPassword(fieldName): boolean {\n if(this.valid==true)\n {\n if(this.registerForm.controls[fieldName].value == undefined || this.registerForm.controls[fieldName].value == \"\")\n this.errorPassword=\"שדה חובה\"\n else\n this.errorPassword=\"סיסמא צריכה להיות בין 4 ל-20 ספרות\";\n return this.registerForm.controls[fieldName].invalid;\n }\n }\n\n isValidInputPasswordAgain(fieldName): boolean {\n if(this.isEditProfile==false)\n if(this.valid==true)\n {\n if(this.registerForm.controls[fieldName].value == undefined || this.registerForm.controls[fieldName].value == \"\")\n this.errorPasswordAgain=\"שדה חובה\"\n else if(this.checkPasswords()==false)\n this.errorPasswordAgain=\"סיסמאות אינן זהות\";\n return this.registerForm.controls[fieldName].invalid;\n }\n }\n\n checkPasswords()\n {\n let pass = this.registerForm.get('userPassword').value;\n let confirmPass = this.registerForm.get('userPasswordAgain').value\n return pass === confirmPass\n }\n\n createForm() {\nif(this.isEditProfile==false)\n {\n this.registerForm = this.fb.group({ \n userFullName: new FormControl(\"\", Validators.required),\n userEmail: new FormControl(\"\", [Validators.email,Validators.pattern(\"^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$\")]),\n userPassword: new FormControl(\"\", [\n Validators.required,\n Validators.minLength(4),\n Validators.maxLength(20),\n ]),\n userPasswordAgain: new FormControl(\"\", [\n Validators.required,\n Validators.minLength(4),\n Validators.maxLength(20),\n ]),\n\n userPhone: new FormControl(\"\", [Validators.required,Validators.pattern('^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$')]),\n userAddress: new FormControl(\"\", Validators.required),\n userEnter: new FormControl(\"\"),\n userFloor: new FormControl(\"\"),\n userNumberHoush: new FormControl(\"\")\n}, { \n validator: this.ConfirmedValidator('userPassword', 'userPasswordAgain')\n});\nif(sessionStorage.ACCESS_TOKEN == \"null\")\nthis.startLocal(); \n//else\n//this.startLocalAddress();\n }\n else{\n this.registerForm = new FormGroup({\n userFullName: new FormControl(\"\", Validators.required),\n userEmail: new FormControl(\"\", [Validators.required, Validators.email,Validators.pattern(\"^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$\")]),\n userPhone: new FormControl(\"\", [Validators.required,Validators.pattern(\"^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$\")]),\n\n userAddress: new FormControl(\"\", Validators.required),\n userEnter: new FormControl(\"\"),\n userFloor: new FormControl(\"\"),\n userNumberHoush: new FormControl(\"\")\n });\n } \n \n}\n\nConfirmedValidator(controlName: string, matchingControlName: string){\n return (formGroup: FormGroup) => {\n const control = formGroup.controls[controlName];\n const matchingControl = formGroup.controls[matchingControlName];\n if (matchingControl.errors && !matchingControl.errors.confirmedValidator) {\n return;\n }\n if (control.value !== matchingControl.value) {\n matchingControl.setErrors({ confirmedValidator: true });\n } else {\n matchingControl.setErrors(null);\n }\n }\n}\n\n}\n\nexport class FileUplodVM{\n ImageBaseData: string;\n}\n","
    \n
    \n \n
    \n \n \n \n \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n
    \n
    \n ","
    \n
    \n
    \n \n היסטורית ההזמנות שלך\n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    0\" class=\"d-flex lineDiv\">\n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n\n","import { Component, OnInit ,Input} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { HistoryDelivery } from 'src/app/models/order';\nimport { AppProxy } from 'src/app/services/app-proxy';\n\n@Component({\n selector: 'app-history-delivery-item',\n templateUrl: './history-delivery-item.component.html',\n styleUrls: ['./history-delivery-item.component.scss']\n})\nexport class HistoryDeliveryItemComponent implements OnInit {\n\n require: any\n FileSaver = require('file-saver');\n @Input() orderItem:HistoryDelivery;\n \n constructor(private router: Router ,private proxy:AppProxy) { }\n \n ngOnInit(): void {}\n \n orderAgain()\n {\n // this.router.navigate(['../yourOrder']);\n }\n \n downloadPdf(pdfUrl: string, pdfName: string ) {\n //const pdfUrl = 'assets/sample.pdf';\n //const pdfName = 'your_pdf_file';\n if(this.orderItem.FileInvoice!=null)\n this.FileSaver.saveAs(this.orderItem.FileInvoice, pdfName);\n else\n this.proxy.showError(\"אין לך חשבונית להורדה\",\"\");\n }\n \n \n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { APP_BASE_HREF, CommonModule, HashLocationStrategy, LocationStrategy, PathLocationStrategy } from \"@angular/common\";\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { FooterComponent } from './components/footer/footer.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { LoginComponent } from './components/login/login.component';\nimport { HeaderComponent } from './components/header/header.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { PaymentInfoComponent } from './components/payment-info/payment-info.component';\nimport { ContactComponent } from './components/contact/contact.component';\nimport { DeliveryComponent } from './components/delivery/delivery.component';\nimport { ShippingHistoryComponent } from './components/shipping-history/shipping-history.component';\nimport { HistoryOrderItemComponent } from './components/history-order-item/history-order-item.component';\nimport { OrderHistoryComponent } from './components/order-history/order-history.component';\nimport { SecurePaymentComponent } from './components/secure-payment/secure-payment.component';\nimport { TermsOfUseComponent } from './components/terms-of-use/terms-of-use.component';\nimport { CategoryItemComponent } from './components/category-item/category-item.component';\nimport { MainHomeComponent } from './components/main-home/main-home.component';\nimport { PasswordComponent } from './components/password/password.component';\nimport { CategoryComponent } from './components/category/category.component';\n//import { NgxCarouselModule } from 'ngx-carousel';\nimport { RouterModule, Route } from '@angular/router';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n//import { from } from 'rxjs';\nimport { InjiService } from './services/inji.service'\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { TokenInterceptor } from './services/http.interceptor';\nimport { UserService} from './services/user-service'\n//import {CarouselModule} from \"ngx-carousel-lib\";\nimport { NguCarouselModule } from '@ngu/carousel';\nimport { MatCarouselModule } from '@ngmodule/material-carousel';\nimport { NgCircleProgressModule } from 'ng-circle-progress';\n//import {MDCDialog} from '@material/dialog';\n //import { MatDialogModule } from '@angular/material/dialog';\n// import {\n// MatDialogModule,\n// } from '@angular/material/dialog';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule} from '@angular/material/form-field';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { ReservedRestaurantsComponent } from './components/reserved-restaurants/reserved-restaurants.component';\nimport { TopHeaderGreenComponent } from './components/top-header-green/top-header-green.component';\nimport { RestaurantComponent } from './components/restaurant/restaurant.component';\nimport { YourOrderComponent } from './components/your-order/your-order.component';\nimport { SearchComponent } from './components/search/search.component';\nimport { ReviewComponent } from './components/review/review.component';\nimport { FormGroup, FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatSelectModule } from '@angular/material/select';\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\n//import { DragScrollModule } from 'ngx-drag-scroll';\n//import { CarouselModule } from 'ngx-bootstrap';\nimport { \n\tIgxCarouselModule,\n\tIgxListModule\n } from \"igniteui-angular\";\nimport { MatDialog } from '@angular/material/dialog';\nimport { AppProxy } from './services/app-proxy';\nimport { HttpClient } from '@angular/common/http';\nimport { Global_service } from './services/global.service';\nimport { RestaurantCategoryComponent } from './components/restaurant-category/restaurant-category.component';\nimport { ToppingsComponent } from './components/toppings/toppings.component';\nimport { GiftCardComponent } from './components/gift-card/gift-card.component';\nimport { GiftCardPaymentComponent } from './components/gift-card-payment/gift-card-payment.component';\nimport { BussinssService } from './services/bussinss-service';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { LoginPhoneVarificationComponent } from './components/login-phone-varification/login-phone-varification.component';\nimport { OrdersService } from './services/order-service';\nimport { ToastrModule } from 'ngx-toastr';\nimport { CreditCardService } from './services/creditCard-service';\nimport { HistoryDeliveryItemComponent } from './components/history-delivery-item/history-delivery-item.component';\nimport {MatDatepickerModule} from '@angular/material/datepicker';\nimport {MatNativeDateModule, MatRippleModule} from '@angular/material/core';\nimport { GiftCardSucsessComponent } from './components/gift-card-sucsess/gift-card-sucsess.component';\nimport { ResraurantItemComponent } from './components/resraurant-item/resraurant-item.component';\nimport { SliderComponent } from './components/slider/slider.component';\n//import { SlickModule } from 'ngx-slick';\nimport { SlickCarouselModule } from 'ngx-slick-carousel';\nimport {CdkScrollableModule} from '@angular/cdk/scrolling';\n// import { NgxMatDatetimePickerModule, NgxMatTimepickerModule } from '@angular-material-components/datetime-picker';\nimport {ScrollingModule} from '@angular/cdk/scrolling';\nimport { GalleryModule } from 'ng-gallery';\nimport { LightboxModule } from 'ng-gallery/lightbox';\nimport { CodeWorkerComponent } from './components/code-worker/code-worker.component';\nimport { DataService } from './services/data.service';\nimport { EndOrderComponent } from './components/end-order/end-order.component';\nimport { VirtualScrollerModule } from 'ngx-virtual-scroller';\nimport {InfiniteScrollModule} from 'ngx-infinite-scroll';\nimport { MainListComponent } from './components/main-list/main-list.component';\nimport { MainListItemComponent } from './components/main-list-item/main-list-item.component';\nimport { BigImageComponent } from './components/big-image/big-image.component';\nimport { PopupOrderComponent } from './components/popup-order/popup-order.component';\nimport { FitText } from './fit-text';\nimport { AgmCoreModule } from '@agm/core';\nimport { GooglePlaceModule } from \"ngx-google-places-autocomplete\";\nimport { PopupGiftcardComponent } from './components/popup-giftcard/popup-giftcard.component';\nimport { PopupLoginComponent } from './components/popup-login/popup-login.component';\nimport { DialogOutOfBoundsComponent } from './components/dialog-out-of-bounds/dialog-out-of-bounds.component';\nimport { MapComponent } from './components/map/map.component';\nimport { MenuComponent } from './components/menu/menu.component';\nimport { Login2Component } from './components/login2/login2.component';\nimport { LoginPhoneVarification2Component } from './components/login-phone-varification2/login-phone-varification2.component';\nimport { TermsOfUse2Component } from './components/terms-of-use3/terms-of-use3.component';\nimport { PopupErrorComponent } from './components/popup-error/popup-error.component';\nimport { Password2Component } from './components/password2/password2.component';\nimport { PopupEnterComponent } from './components/popup-enter/popup-enter.component';\nimport { PaymentComponent } from './components/payment/payment.component';\nimport { VerificationCodeComponent } from './components/verification-code/verification-code.component';\nimport { VerificationCode2Component } from './components/verification-code2/verification-code2.component';\nimport { PopupEnter2Component } from './components/popup-enter2/popup-enter2.component';\nimport { OneTimeOrderService } from './services/oneTimeOrder.service';\nimport { LoaderComponent } from './loader/loader.component';\nimport { Topping2Component } from './components/topping2/topping2.component';\nimport { Map2Component } from './components/map2/map2.component';\nimport { PopupLogOutComponent } from './components/popup-log-out/popup-log-out.component';\nimport { UserInactivityPopupComponent } from './components/user-inactivity-popup/user-inactivity-popup.component';\n// import { GoogleMapsModule } from '@angular/google-maps'\nimport { Meta } from \"@angular/platform-browser\";\nimport { IFrameCreditCardComponent } from './components/iframe-credit-card/iframe-credit-card.component';\nimport { CardInputComponent } from './components/card-input/card-input.component';\nimport { CardNumberFormatterDirective } from './components/card-number-formatter.directive';\nimport { ResponsiveWidthDirective } from './services/ResponsiveWidthDirective';\nimport { PopupIsCorectOrderComponent } from './components/popup-isCorectOrder/popup-isCorectOrder.component';\n\nconst SERVICES = [\n InjiService,];\n\n@NgModule({\n declarations: [\n AppComponent,\n FooterComponent,\n RegisterComponent,\n LoginComponent,\n HeaderComponent,\n PaymentInfoComponent,\n ContactComponent,\n DeliveryComponent,\n ShippingHistoryComponent,\n HistoryOrderItemComponent,\n OrderHistoryComponent,\n SecurePaymentComponent,\n IFrameCreditCardComponent,\n PopupIsCorectOrderComponent,\n TermsOfUseComponent,\n CategoryItemComponent,\n MainHomeComponent,\n PasswordComponent,\n CategoryComponent,\n ReservedRestaurantsComponent,\n TopHeaderGreenComponent,\n RestaurantComponent,\n YourOrderComponent,\n SearchComponent,\n ReviewComponent,\n RestaurantCategoryComponent,\n ToppingsComponent,\n GiftCardComponent,\n GiftCardPaymentComponent,\n LoginPhoneVarificationComponent,\n HistoryDeliveryItemComponent,\n GiftCardSucsessComponent,\n ResraurantItemComponent,\n SliderComponent,\n CodeWorkerComponent,\n EndOrderComponent,\n MainListComponent,\n MainListItemComponent,\n BigImageComponent,\n PopupOrderComponent,\n FitText,\n PopupGiftcardComponent,\n PopupLoginComponent,\n DialogOutOfBoundsComponent,\n MapComponent,\n MenuComponent,\n Login2Component,\n LoginPhoneVarification2Component,\n TermsOfUse2Component,\n PopupErrorComponent,\n Password2Component,\n PopupEnterComponent,\n PaymentComponent,\n VerificationCodeComponent,\n VerificationCode2Component,\n PopupEnter2Component,\n LoaderComponent,\n Topping2Component,\n Map2Component,\n PopupLogOutComponent,\n UserInactivityPopupComponent,\n CardInputComponent,\n CardNumberFormatterDirective,\n ResponsiveWidthDirective\n \n ],\n imports: [\n CommonModule,\n \n //MatInputModule,\n CdkScrollableModule,\n ScrollingModule,\n NgSelectModule,\n BrowserModule,\n CommonModule,\n HttpClientModule,\n GalleryModule,\n LightboxModule,\n // CarouselModule,\n FormsModule,\n MatDatepickerModule,\n MatNativeDateModule,\n ReactiveFormsModule,\n //MatDialog,\n // MatFormField,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n AppRoutingModule,\n // SlickModule.forRoot(),\n SlickCarouselModule,\n // NgxCarouselModule,\n\n //CarouselModule.forRoot(),\n IgxCarouselModule,\n MatCarouselModule.forRoot(),\n // NgbCarousel,\n NguCarouselModule,\n IgxListModule,\n ToastrModule.forRoot(),\n //DragScrollModule,\n MatProgressSpinnerModule,\n \n // RouterModule.forRoot([\n // { path: 'orderHistory', component: OrderHistoryComponent },\n // ]),\n // MDCDialog,\n BrowserAnimationsModule,\n InfiniteScrollModule,\n //CarouselModule,\n\n NgbModule,\n ReactiveFormsModule,\n BrowserAnimationsModule,\n MatSelectModule,\n MatFormFieldModule,\n NgxMatSelectSearchModule,\n VirtualScrollerModule,\n GooglePlaceModule,\n AgmCoreModule.forRoot({\n apiKey: 'AIzaSyC1lIMPz3cuZmZqhylKPGgbQzVq4_nnEzY',\n libraries: ['places'],\n language: 'iw'\n }),\n NgCircleProgressModule.forRoot({}),\n // GoogleMapsModule,\n // NgxMatTimepickerModule,\n // NgxMatDatetimePickerModule,\n ],\n\n entryComponents: [\n LoginComponent,\n BigImageComponent,\n LoginPhoneVarificationComponent,\n PasswordComponent,\n TermsOfUseComponent,\n IFrameCreditCardComponent,\n PopupOrderComponent,\n PopupIsCorectOrderComponent,\n PopupGiftcardComponent,\n PopupLoginComponent,\n DialogOutOfBoundsComponent,\n PopupErrorComponent,\n PopupEnterComponent,\n PopupEnter2Component,\n VerificationCodeComponent,\n VerificationCode2Component,\n LoaderComponent,\n PopupLogOutComponent,\n UserInactivityPopupComponent,\n // Topping2Component,\n // ToppingsComponent,\n Map2Component,\n ],\n providers: [\n UserService,\n BussinssService,\n OrdersService,\n CreditCardService,\n DataService,\n OneTimeOrderService,\n Meta,\n // InjiService,\n // {\n // provide: HTTP_INTERCEPTORS,\n // useClass: AppProxy,\n // multi: true\n // },\n AppProxy,\n // {\n // provide: HTTP_INTERCEPTORS,\n // useClass: AppHttpInterceptor,\n // multi: true\n // },\n Global_service,\n // { provide: APP_BASE_HREF, useValue: '/' },\n // { provide: LocationStrategy, useClass: HashLocationStrategy },\n {provide: LocationStrategy, useClass: PathLocationStrategy},\n // Meta ,\n\n ],\n bootstrap: [AppComponent],\n exports: [ResponsiveWidthDirective]\n})\nexport class AppModule { }\n","export class Delivery{\r\n Origin:string;\r\n Destination:string;\r\n DeliveryTime:string;\r\n Phone:string;\r\n Description:string;\r\n}","
    \n
    \n
    \n \n \n \n
    \n
    \n\n
    \n
    \n\n
    0\" style=\"text-align: right; font-weight: bold;\">\n
    \n \n
    \n \n {{restaurant.Header}}\n
    \n 0\" style=\"position: absolute; direction: rtl; margin-top: 5px;\n font-weight: bold; font-family: OpenSansHebrewBold;\" [ngStyle]=\"isNameLength==true && {'margin-top':'-4px'}\" >{{restaurant.Name}} {{restaurant.Kashrut}}\n
    \n
    מיני' {{restaurant.MinimumOrder}} ₪
    \n \n
    \n
    \n \n
    \n
    \n \n {{a.Text}}\n
    \n
    \n
    \n
    \n
    \n\n \n
    \n\n \n \n \n
    \n\n\n\n\n
    0\" class=\"border d-flex\" style=\"left: 0; right: 0; width: 72.5% ; font-size: 15px; top: 7px;\nposition: relative; margin: auto; color: black;\">\n{{restaurant.Text}}\n 480 && showProgress==false\" src=\"assets/images/Delivery_Free_Stiker_Desktop_Web.png\" style=\"position: absolute;\n top: 0; left: 0;\">\n
    \n
    480 ? 'col-11' : null\" style=\"text-align: right;\">\n \n שעות פתיחה: {{dayTime}}\n \n \n \n {{restaurant.Address}}\n
    \n 480\" class=\"leftText float-xl-left\" style=\"direction: rtl; margin-top: 5px;\n font-weight: bold; font-family: OpenSansHebrewBold;\">מיני' {{restaurant.MinimumOrder}} ₪\n
    \n
    \n\n
    \n
    \n\n
    \n
    \n
    \n \n{{c.Category}}\n
    \n\n
    \n \n {{c.Category}}\n
    \n
    \n
    \n
    \n
    \n\n\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n {{c.Name}}\n
    \n
    \n \n
    \n \n
    \n
    \n
    {{c.MenuText}}
    \n\n
    {{c.Description}}
    \n \n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    {{c.Price}} ₪
    \n
    \n \n {{c.Rate}}\n \n
    \n
    \n\n
    0\">\n
    \n
    \n {{a.Name}}\n
    \n \n {{a.Text}}\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n\n\n","
    \n
    \n \n
    \n
    \n
    \n
    \n
    {{orderItem.Description}}
    \n \n
    {{orderItem.JoinDate| date:'dd/MM/yyyy hh:MM'}}
    \n
    \n\n
    \n כתובת מוצא : {{orderItem.Origin}}\n \n
    כתובת יעד : {{ (orderItem.Destination.length>35)? (orderItem.Destination | slice:0:35)+'..':(orderItem.Destination) }}
    \n
    \n
    \n
    \n
    \n
    \n \n הזמן מחדש\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n","import { Component, OnInit ,EventEmitter ,Input ,Output } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { IgxListLineTitleDirective } from 'igniteui-angular';\nimport { CategoryItem ,Category} from 'src/app/models/category';\nimport { MyOrder } from 'src/app/models/order';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { DataService } from 'src/app/services/data.service';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { PopupOrderComponent } from '../popup-order/popup-order.component';\nimport { OpenningHours} from 'src/app/models/restaurant'\nimport { PopupErrorComponent } from '../popup-error/popup-error.component';\n\n@Component({\n selector: 'app-category-item',\n templateUrl: './category-item.component.html',\n styleUrls: ['./category-item.component.scss']\n})\nexport class CategoryItemComponent implements OnInit {\n stars:number[]=[1,2,3,4,5];\n @Input() categoryItem:CategoryItem;\n @Input() category:Category;\n @Input() indexList:number;\n @Input() restaurantCategory:number;\n @Output()\n change: EventEmitter = new EventEmitter();\n endToppings: EventEmitter = new EventEmitter();\n categoryType:number=1;\n clickFevorite=false;\n fevorit='assets/images/Restorant_Page_Fevorit_Button.png';\n fevoritActive='assets/images/Restorant_Page_Fevorit_Button_On.png';\n order:MyOrder;\n openningHours:OpenningHours[]=[];\n localId;\n Rate= new Array(3);\n isClick=false;\n dayTime=\"\";\n innerWidth:any;\n\n constructor(private router: Router,private dataService:DataService,private matDialog:MatDialog, private proxy: AppProxy,private bussinssService: BussinssService ,private orderService:OrdersService) { }\n\n ngOnInit(): void {\n this.innerWidth = window.innerWidth;\n if(localStorage.oneTimeOrderOrOrder=='oneTimeOrder') \n this.fevoritActive='assets/images/Restorant_Page_Fevorit_Button.png';\n this.localId=localStorage.ID;\n this.clickFevorite=false;\n if(this.categoryItem !=null && this.categoryItem.ImageFile!=null && this.category!=null)\n if(this.category.categoryType==3 )\n this.categoryType=1;\n else if(this.category.categoryType==2)\n this.categoryType=2;\n // if(this.categoryItem.IsFevorite!=0)\n //this.fevorit='assets/images/Restorant_Page_Fevorit_Button_On.png';\n // else\n // this.fevorit='assets/images/Restorant_Page_Fevorit_Button.png';\n if(this.categoryItem.Rate==0 ||this.categoryItem.Rate==null)\n this.categoryItem.Rate=3;\n }\n\n onClickCategory(CategoryNumber:number)\n {\n sessionStorage.deeplink2='';\n sessionStorage.deeplink='';\n //localStorage.TEXT=\"\";\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n // if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n // this.proxy.showError(\"אינך מחובר נא להתחבר\",\"\");\n else\n {\n let id;\n if(this.categoryItem.ID>0)\n id=this.categoryItem.ID;\n else\n id=this.categoryItem.RstaurantID;\n this.bussinssService.getOpenningHours2(id).subscribe((res:boolean)=>{\n if(this.categoryItem.RstaurantID==null )\n this.dayTime=\"\";\n else\n {\n // this.openningHours=res;\n // let b=0;\n // for(let i=0;i0)\n // {\n // i=i-1\n // b=1;\n // }\n // else\n // {\n // i=6;\n // b=7;\n // }\n // }\n // if(this.openningHours[i] !=null && this.openningHours[i].DayTime!='' && this.openningHours[i].DayTime!='0:00-0:00' && this.openningHours[i].DayTime!='00:00-00:00')\n // {\n // var fields = this.openningHours[i].DayTime.split('-');\n // if(this.proxy.isOpen(fields[0],fields[1],b))\n // this.dayTime=this.openningHours[i].DayTime;\n // else\n // this.dayTime=\"סגור\";\n // }\n // else\n // this.dayTime=\"סגור\";\n // i=this.openningHours.length;\n // }\n // }\n if( res == false)\n {\n this.dayTime = \"סגור\"\n }\n }\n if(this.dayTime==\"סגור\")\n this.proxy.showError(\"המסעדה סגורה\\n אין אפשרות לבצע הזמנה\",\"\");\n //this.openDialog(); \n else{\n this.dataService.search.next(\"\");\n this.orderService.restaurant=null;\n localStorage.PRICE=0;\n this.isClick=true;\n if(this.clickFevorite==false)\n {\n let id=this.categoryItem.ID;\n // if(location.hash!=\"#/mainHome\")\n {\n if(this.categoryItem.RstaurantID==0 || this.categoryItem.RstaurantID==undefined)\n id=this.categoryItem.ID;\n else\n id=this.categoryItem.RstaurantID;\n }\n if(CategoryNumber==1 || this.restaurantCategory==8)\n {\n \n if(sessionStorage.ACCESS_TOKEN == \"null\" || sessionStorage.ACCESS_TOKEN == undefined)\n {\n localStorage.MENU_ID=0;\n \n if(id!=null)\n {\n this.orderService.order=null;\n sessionStorage.CATEGORY_FILTER=\"\";\n localStorage.ID=id;\n this.dataService.endToppings.next(true);\n this.endToppings.emit();\n let url: string = \"/restaurant/\" + this.categoryItem.NameEn\n this.router.navigateByUrl(url);\n //this.router.navigate(['../restaurant']);\n }\n else\n {\n // localStorage.ID=CategoryNumber;\n \n this.dataService.categoryId.next(CategoryNumber);\n this.change.emit();\n localStorage.ID_CATEGORY=CategoryNumber;\n let url: string = \"/restaurantCategory/\" + CategoryNumber\n this.router.navigateByUrl(url);\n // this.router.navigate(['../restaurantCategory']);\n this.dataService.categoryId.next(0);\n CategoryNumber=0;\n }\n }\n else\n {\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n if(this.order.OrderID==0 && (this.order.list==null || this.order.list.length==0)) \n {\n localStorage.MENU_ID=0;\n \n if(id!=null)\n {\n this.orderService.order=null;\n sessionStorage.CATEGORY_FILTER=\"\";\n localStorage.ID=id;\n this.dataService.endToppings.next(true);\n this.endToppings.emit();\n let url: string = \"/restaurant/\" + this.categoryItem.NameEn\n this.router.navigateByUrl(url);\n //this.router.navigate(['../restaurant']);\n }\n else\n {\n // localStorage.ID=CategoryNumber;\n \n this.dataService.categoryId.next(CategoryNumber);\n this.change.emit();\n localStorage.ID_CATEGORY=CategoryNumber;\n let url: string = \"/restaurantCategory/\" + CategoryNumber\n this.router.navigateByUrl(url);\n // this.router.navigate(['../restaurantCategory']);\n this.dataService.categoryId.next(0);\n CategoryNumber=0;\n }\n }\n else if(CategoryNumber<=1)\n {\n if(this.isClick==true)\n {\n if(this.order.list==null || this.order.list.length==0 )\n {\n this.orderService.setUpdateOrder(this.order.OrderID,0,0,0,1,\n null,null,0,null,1,null,null,null,null,null,null,null,null,0).subscribe((res:any)=>{\n this.orderService.order=null;\n sessionStorage.CATEGORY_FILTER=\"\";\n this.dataService.endToppings.next(true);\n this.endToppings.emit();\n let url: string = \"/restaurant/\" + this.categoryItem.CategoryEn;\n this.router.navigateByUrl(url);\n //this.router.navigate(['../restaurant']);\n });\n }\n else\n {\n localStorage.ID=id;\n this.matDialog.open(PopupOrderComponent, {\n data: { OrderID: this.order.OrderID },\n });\n }\n }\n \n }\n });\n }\n }\n else if(CategoryNumber==2)\n {\n localStorage.TEXT=\"\";\n // localStorage.ID=id;\n localStorage.ID_CATEGORY=id;\n let url: string = \"/restaurantCategory/\" + this.categoryItem.CategoryEn;\n this.router.navigateByUrl(url);\n //this.router.navigate(['../restaurantCategory']);\n }}\n }\n});}\n }\n\n openDialog() {\n const dialogConfig = new MatDialogConfig();\n this.matDialog.open(PopupErrorComponent, { disableClose: true });\n }\n\n addFevorit()\n {\n if(sessionStorage.ACCESS_TOKEN == \"null\")\n this.router.navigate(['../mainHome']);\n else\n {\n this.clickFevorite=true;\n this.bussinssService.setFavoriteBusiness(this.categoryItem.ID).subscribe((res:any)=>{\n // if(this.category.Name==\"מסעדות שמורות\")\n // this.router.navigate([\"../reservedRestaurants\"]);\n // else if(this.category.ID==33)\n // {\n if(this.categoryItem.IsFevorite===0)\n this.categoryItem.IsFevorite=1;\n else\n this.categoryItem.IsFevorite=0;\n this.change.emit();\n // this.router.navigate([\"../restaurantCategory\"]);\n // }\n // else\n // this.change.emit();\n //this.router.navigate([\"../mainHome\"]);\n });\n}\n}\n}\n","import { Directive, HostListener, ElementRef, Renderer2 } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\n@Directive({\n selector: '[appCardNumberFormatter]'\n})\nexport class CardNumberFormatterDirective {\n\n private readonly MAX_LENGTH = 16;\n\n constructor(private el: ElementRef, private renderer: Renderer2, private control: NgControl) { }\n\n @HostListener('input', ['$event.target.value'])\n onInput(value: string): void {\n // Remove all non-numeric characters\n let numericValue = value.replace(/\\D/g, '');\n \n // Limit the length to the max length\n if (numericValue.length > this.MAX_LENGTH) {\n numericValue = numericValue.substring(0, this.MAX_LENGTH);\n }\n\n // Format the number with spaces every 4 digits\n const formattedValue = numericValue.replace(/(\\d{4})(?=\\d)/g, '$1 ').trim();\n\n // Update the input value and form control value\n this.renderer.setProperty(this.el.nativeElement, 'value', formattedValue);\n this.control.control.setValue(formattedValue, { emitEvent: false });\n }\n};","import { OrderAdding } from \"./order\";\r\n\r\nexport class Restaurant{\r\n ID:number;\r\n runtimeDate:string;\r\n Name:string;\r\n NameEn:string;\r\n Header:string;\r\n ImageFile:string;\r\n BigImage:string;\r\n LongImage:string;\r\n Rate:number;\r\n CountRate:number;\r\n IsPicking:number;\r\n IsDelivery:number;\r\n IsPlaceSetting:number;\r\n Phone:string;\r\n Address:string;\r\n Text:string;\r\n Kasher:number;\r\n Kashrut:string;\r\n IsMeaty:number;\r\n IsAsian:number;\r\n IsFevorite:number;\r\n IsOpen:number;\r\n IsFreeShipping:number;\r\n MinimumOrder:string;\r\n listSetting:Setting[]=[];\r\n error:boolean;\r\n responseMessage:string;\r\n MenuList:RestaurantItem[]=[];\r\n categoryList:CategoryRestaurant[]=[];\r\n ListDay:RestaurantDays[]=[];\r\n}\r\n\r\nexport class OpenningHours{\r\n Day: string;\r\n DayTime:string;\r\n}\r\n\r\nexport class RestaurantDays{\r\n Day:string;\r\n DayTime:string;\r\n}\r\n\r\nexport class CategoryRestaurant{\r\n ID:number;\r\n Category:string;\r\n isCheck:number=0;\r\n}\r\n\r\nexport class RestaurantItem{\r\n ID:number;\r\n Name:string;\r\n MenuText:string;\r\n Description:string;\r\n Image:string;\r\n Price:number;\r\n Rate:number;\r\n CountRate:number;\r\n Amount:number;\r\n IsAddition:number;\r\n IsAdditionRequired:number;\r\n ChangeFood:ChangeFood[]; \r\n}\r\n\r\nexport class ChangeFood\r\n{\r\n ID:number;\r\n Name:string; \r\n Text:string \r\n toppings:OrderAdding[]; \r\n}\r\n\r\nexport class OrderAdditon\r\n{\r\n Type:string;\r\n Count:number;\r\n listSelect:ToppingsItem[];\r\n}\r\n\r\nexport class ToppingsItem\r\n{\r\n select:boolean;\r\n Text:string;\r\n listA:ToppingsItemFood[];\r\n}\r\n\r\nexport class ToppingsItemFood\r\n{\r\n ID:number;\r\n AdditionID:number;\r\n Food:string;\r\n Price:string;\r\n PriceText:string;\r\n select:boolean;\r\n}\r\n\r\nexport class Setting\r\n{\r\nText:string;\r\nShow:number;\r\n}\r\n\r\nexport class Search{\r\n Sherch:string;\r\n}","
    \n
    \n \n \n \n \n \n \n
    \n
    \n","
    \n
    \n
    \n
    הזמנה פתוחה
    \n
    \n
    \n
    יש לך הזמנה פתוחה
    \n
    האם אתה מעוניין להמשיך לתשלום או להתחיל מחדש
    \n
    \n
    \n

    המשך לתשלום

    \n

    להתחיל מחדש

    \n
    \n
    \n
    \n
    \n\n\n\n\n\n","import { Injectable } from '@angular/core';\r\nimport { AppProxy, HttpMethod } from \"./app-proxy\";\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ServerResponse } from 'http';\r\nimport { Category, CategoryItem, ItemCategory, ListImages } from '../models/category';\r\nimport { OpenningHours, Restaurant, Search } from '../models/restaurant';\r\nimport { IgxExcelStyleFilterOperationsTemplateDirective } from 'igniteui-angular';\r\nimport { type } from 'os';\r\nimport { Location } from '@angular/common';\r\n\r\n@Injectable()\r\nexport class BussinssService {\r\n categoryItemList:CategoryItem[]=[];\r\n\r\n restaurantCategorySearchList:CategoryItem[];\r\n categoryItemFavoriteList:CategoryItem[];\r\n public restaurant:Restaurant;\r\n public restaurant_:Restaurant;\r\n public categoryId:number;\r\n categores:Category[];\r\n categoryName:string;\r\n restaurantCategoryList:CategoryItem[];\r\n searchList:Search[];\r\n listImages:ListImages;\r\n categoryItemsList:CategoryItem[]=[];\r\n \r\n constructor(private proxy: AppProxy,private router: Router, private location: Location) { }\r\n\r\n getListImages()\r\n {\r\n let url= this.proxy.baseQAUrl+\"Bussinss/getListImages\";\r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n this.listImages = res;\r\n let categoryItem1:CategoryItem=new CategoryItem;\r\n let categoryItem2:CategoryItem=new CategoryItem;\r\n let categoryItem3:CategoryItem=new CategoryItem;\r\n let categoryItem4:CategoryItem=new CategoryItem;\r\n this.categoryItemList=[];\r\n categoryItem1.ImageFile=this.listImages.Image1\r\n categoryItem1.Header=this.listImages.Url1;\r\n this.categoryItemList.push(categoryItem1);\r\n categoryItem2.ImageFile=this.listImages.Image2;\r\n categoryItem2.Header=this.listImages.Url2;\r\n this.categoryItemList.push(categoryItem2);\r\n categoryItem3.ImageFile=this.listImages.Image3;\r\n categoryItem3.Header=this.listImages.Url3;\r\n this.categoryItemList.push(categoryItem3);\r\n categoryItem4.ImageFile=this.listImages.Image4;\r\n categoryItem4.Header=this.listImages.Url4;\r\n this.categoryItemList.push(categoryItem4);\r\n {\r\n this.categores=[\r\n {\r\n \"Name\": \"\",\r\n \"ID\": 47,\r\n \"categoryItems\":this.categoryItemList,\r\n \"isCheck\":true,\r\n \"categoryType\":0,\r\n },\r\n // { \r\n // \"Name\": \"מסעדות מומלצות\",\r\n // \"ID\": 1,\r\n // \"categoryItems\":[],\r\n // \"isCheck\":true,\r\n // \"categoryType\":1,\r\n // },\r\n {\r\n \"Name\": \"קטגוריות\",\r\n \"ID\": 6,\r\n \"categoryItems\":[],\r\n \"isCheck\":true,\r\n \"categoryType\":2,\r\n },\r\n // {\r\n // \"Name\": \"עיסקיות צהריים\",\r\n // \"ID\": 9,\r\n // \"categoryItems\":[],\r\n // \"isCheck\":true,\r\n // \"categoryType\":3,\r\n // },\r\n {\r\n \"Name\": \"מתוקים\",\r\n \"ID\": 8,\r\n \"categoryItems\":[],\r\n \"isCheck\":true,\r\n \"categoryType\":4,\r\n },\r\n {\r\n \"Name\": \"מסעדות\",\r\n \"ID\": 5,\r\n \"categoryItems\":[],\r\n \"isCheck\":true,\r\n \"categoryType\":5,\r\n },\r\n {\r\n \"Name\": \"חנויות\",\r\n \"ID\": 6,\r\n \"categoryItems\":[],\r\n \"isCheck\":true,\r\n \"categoryType\":6,\r\n },\r\n {\r\n \"Name\": \"אטרקציות\",\r\n \"ID\": 7,\r\n \"categoryItems\":[],\r\n \"isCheck\":true,\r\n \"categoryType\":7,\r\n },\r\n ] \r\n if(localStorage.TEXT_SEARCH==\"all\") {\r\n observer.next(this.categoryItemList);\r\n }\r\n else \r\n observer.next(this.categores) \r\n }\r\n }\r\n },\r\n error => console.log('oops', error));\r\n })\r\n }\r\n\r\n getLastMenu() \r\n {\r\n let url= this.proxy.baseQAUrl+\"Bussinss/getLastMenu\";\r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: CategoryItem[] = res.list;\r\n this.categoryItemList = resList;\r\n \r\n if(localStorage.TEXT_SEARCH==\"all\") {\r\n observer.next(this.categoryItemList);\r\n }\r\n else{\r\n this.categores=[\r\n {\r\n \"Name\": \"\",\r\n \"ID\": 47,\r\n \"categoryItems\":this.categoryItemList,\r\n \"isCheck\":true,\r\n \"categoryType\":0,\r\n },\r\n // { \r\n // \"Name\": \"מסעדות מומלצות\",\r\n // \"ID\": 1,\r\n // \"categoryItems\":[],\r\n // \"isCheck\":true,\r\n // \"categoryType\":1,\r\n // },\r\n {\r\n \"Name\": \"קטגוריות\",\r\n \"ID\": 6,\r\n \"categoryItems\":[],\r\n \"isCheck\":true,\r\n \"categoryType\":2,\r\n },\r\n // {\r\n // \"Name\": \"עיסקיות צהריים\",\r\n // \"ID\": 9,\r\n // \"categoryItems\":[],\r\n // \"isCheck\":true,\r\n // \"categoryType\":3,\r\n // },\r\n {\r\n \"Name\": \"מתוקים\",\r\n \"ID\": 8,\r\n \"categoryItems\":[],\r\n \"isCheck\":true,\r\n \"categoryType\":4,\r\n },\r\n {\r\n \"Name\": \"מסעדות\",\r\n \"ID\": 5,\r\n \"categoryItems\":[],\r\n \"isCheck\":true,\r\n \"categoryType\":5,\r\n },\r\n\r\n {\r\n \"Name\": \"חנויות\",\r\n \"ID\": 6,\r\n \"categoryItems\":[],\r\n \"isCheck\":true,\r\n \"categoryType\":6,\r\n },\r\n {\r\n \"Name\": \"אטרקציות\",\r\n \"ID\": 6,\r\n \"categoryItems\":[],\r\n \"isCheck\":true,\r\n \"categoryType\":7,\r\n },\r\n ] \r\n observer.next(this.categores) \r\n }\r\n }\r\n },\r\n error => console.log('oops', error));\r\n })}\r\n\r\ngetMainList(Type: number, Category: number, page: number,random:number)\r\n{\r\n this.restaurantCategoryList = [];\r\n let url = this.proxy.baseQAUrl+\"Bussinss/getMainList?Type=\" + Type + \"&Category=\" + Category + \"&page=\" + page+\"&random=\"+random;\r\n return new Observable(observer => {\r\n this.proxy.execute(url, HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error == false) {\r\n let resList: CategoryItem[] = res.list;\r\n this.restaurantCategoryList = resList;\r\n if (Type == 5 && Category>0 || localStorage.TEXT_SEARCH==\"all\") {\r\n if (this.restaurantCategoryList.length > 0) {\r\n if(localStorage.TEXT_SEARCH==\"all\")\r\n {\r\n if(Type==1)\r\n this.categoryName =\"מסעדות מומלצות\"\r\n else if(Type==2)\r\n this.categoryName =\"קטגוריות\"\r\n // else if(Type==3)\r\n // this.categoryName =\"עיסקיות צהריים\"\r\n else if(Type==4)\r\n this.categoryName =\"מתוקים\"\r\n else if(Type==5)\r\n this.categoryName =\"קטגוריות\"\r\n else if(Type==6)\r\n this.categoryName =\"חנויות\"\r\n else if(Type==7)\r\n this.categoryName =\"אטרקציות\"\r\n }\r\n else\r\n this.categoryName = this.restaurantCategoryList[0].Category;\r\n }\r\n observer.next(this.restaurantCategoryList)\r\n }\r\n else if (Type == 2)\r\n Type =3;\r\n else if(Type==4)\r\n Type=2; \r\n else if(Type==6)\r\n Type=4; \r\n else if(Type==7)\r\n Type=5; \r\n if(this.categores!=null && this.categores[Type]!=null)\r\n this.categores[Type].categoryItems = resList;\r\n if (Type == 7)\r\n observer.next(this.categores);\r\n }\r\n },\r\n error => console.log('oops', error));\r\n })\r\n}\r\n\r\ngetCategoryList(page: number){\r\n let url= this.proxy.baseQAUrl+\"Bussinss/getCategoryList?page=\" + page; \r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n if(page==1)\r\n this.categoryItemsList=[];\r\n let resList: ItemCategory[] = res.list;\r\n if(resList.length>0)\r\n {\r\n for(let i=0;i0)\r\n {\r\n page=Number(page)+1; \r\n this.getCategoryList(page).subscribe((res:any[])=>{\r\n // for(let i=0;i1)\r\n this.categores[1].categoryItems=this.categoryItemsList;\r\n observer.next(this.categores);\r\n }\r\n }\r\n else this.proxy.showError(\"רשימת הקטגוריות ריקה\",\"\");\r\n },\r\n error => console.log('oops', error));\r\n });\r\n}\r\n\r\ngetRestaurantDetails_(id:number)\r\n{\r\n let url= this.proxy.baseQAUrl+\"Bussinss/getRestaurantDetails?BusinessID=\"+id;\r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: Restaurant = res;\r\n this.restaurant_=resList;\r\n observer.next(this.restaurant_);\r\n }\r\n else{\r\n // localStorage.ID=localStorage.ID_CATEGORY;\r\n // this.proxy.showError(\"שגיאה בקבלת פרטים \",\"\");\r\n }\r\n },\r\n error => console.log('oops', error));\r\n });\r\n}\r\n\r\ngetRestaurantDetails(id:number,IsMeaty:boolean,IsKasher:boolean,IsAsian:boolean,Category:String,MenuID:number)\r\n{\r\n let url;\r\n if(Category!=null && Category!=\"\" )\r\n url= this.proxy.baseQAUrl+\"Bussinss/getRestaurantDetails?BusinessID=\"+id+\"&Category=\"+Category+\"&MenuID=\"+MenuID; \r\n else\r\n url= this.proxy.baseQAUrl+\"Bussinss/getRestaurantDetails?BusinessID=\"+id+\"&MenuID=\"+MenuID; \r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: Restaurant = res;\r\n \r\n this.restaurant=resList;\r\n for(let i=0;i console.log('oops', error));\r\n });\r\n}\r\n\r\ngetOpenningHours(id:number)\r\n{\r\n this.restaurantCategoryList = [];\r\n let url = this.proxy.baseQAUrl+\"Bussinss/getOpenningHours?BusinessID=\"+id;\r\n return new Observable(observer => {\r\n this.proxy.execute(url, HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error == false) {\r\n let resList: OpenningHours[] = res.list;\r\n observer.next(resList);\r\n }\r\n },\r\n error => console.log('oops', error));\r\n });\r\n}\r\ngetOpenningHours2(id:number)\r\n{\r\n this.restaurantCategoryList = [];\r\n let url = this.proxy.baseQAUrl+\"Bussinss/getOpenningHours?BusinessID=\"+id;\r\n return new Observable(observer => {\r\n this.proxy.execute(url, HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error == false) {\r\n let resisOpen: boolean = Boolean(res.IsOpen);\r\n observer.next(resisOpen);\r\n }\r\n },\r\n error => console.log('oops', error));\r\n });\r\n}\r\ngetFavoriteBusiness()\r\n{\r\n let url= this.proxy.baseQAUrl+\"Bussinss/getFavoriteBusiness\"; \r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: CategoryItem[] = res.list;\r\n this.categoryItemFavoriteList=resList;\r\n \r\n observer.next(this.categoryItemFavoriteList);\r\n if(this.categoryItemFavoriteList.length==0)\r\n this.proxy.showError(\"אין לך בתי עסק שמורים\",\"\");\r\n \r\n // this.router.navigate(['../reservedRestaurants']);\r\n }\r\n else this.proxy.showError(\"אין לך בתי עסק שמורים\",\"\");\r\n // this.garageOpeningSubj.next(this.categoryItemList);\r\n },\r\n error => console.log('oops', error));\r\n });\r\n}\r\n\r\nsetFavoriteBusiness(id:number)\r\n{\r\n let url= this.proxy.baseQAUrl+\"Bussinss/setFavoriteBusiness?ID=\"+id; \r\n return new Observable(observer => {\r\n this.proxy.executePost(url,HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse[] = res.responseMessage;\r\n observer.next();\r\n // this.categoryItemFavoriteList=resList;\r\n }\r\n else this.proxy.showError(\"בעיה בעידכון למועדפים\",\"\");\r\n // this.garageOpeningSubj.next(this.categoryItemList);\r\n },\r\n error => console.log('oops', error));\r\n });\r\n }\r\n\r\n getBusinessMenuBySearch(BusinessID:number,Search:string,page: number)\r\n {\r\n if(BusinessID!=undefined)\r\n {\r\n let url= this.proxy.baseQAUrl+\"Bussinss/getBusinessMenuBySearch?BusinessID=\"+BusinessID+\"&Search=\"+Search + \"&page=\" + page;\r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n { \r\n let resList: CategoryItem[] = res.list;\r\n // if(resList.length>0)\r\n {\r\n this.categoryName=Search;\r\n this.restaurantCategoryList=[];\r\n this.restaurantCategoryList = resList;\r\n // if(this.restaurantCategoryList.length>0)\r\n observer.next(this.restaurantCategoryList);\r\n }\r\n // else \r\n // {\r\n \r\n // if(page==1)\r\n // this.proxy.showError(\"לא נמצאו מנות בחיפוש זה\",\"\");\r\n // this.router.navigate([\"../search\"]);\r\n // }\r\n }\r\n },\r\n error => console.log('oops', error)); \r\n });\r\n}\r\n }\r\n\r\n getMenuBySearch(Search:string,page: number,header:boolean)\r\n {\r\n //console.log('getMenuBySearch', Search);\r\n let url= this.proxy.baseQAUrl+\"Bussinss/getMenuBySearch?Search=\"+Search + \"&page=\" + page;\r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n { \r\n let resList: CategoryItem[] = res.list;\r\n if(resList.length>0)\r\n {\r\n this.categoryName=Search;\r\n this.restaurantCategoryList=[];\r\n this.restaurantCategoryList = resList;\r\n if(this.restaurantCategoryList.length>0)\r\n observer.next(this.restaurantCategoryList);\r\n }\r\n else \r\n {\r\n observer.next(resList);\r\n // if(page==1 && header==true && localStorage.NoSearch==\"false\")\r\n // {\r\n // header=false;\r\n // localStorage.NoSearch=\"true\";\r\n \r\n // window.history.back();\r\n // window.history.forward();\r\n \r\n // }\r\n }\r\n }\r\n },\r\n error => console.log('oops', error)); \r\n });\r\n }\r\n\r\n getGlobalSearch()\r\n {\r\n let url= this.proxy.baseQAUrl+\"Bussinss/getGlobalSearch\"; \r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n { \r\n let resList: Search[] = res.list;\r\n if(resList.length>0)\r\n {\r\n this.searchList=[];\r\n this.searchList = resList;\r\n if(this.searchList.length>0)\r\n observer.next(this.searchList);\r\n }\r\n else \r\n {\r\n this.proxy.showError(\"אין רשימת חיפושים אפשרית\",\"\");\r\n }\r\n }\r\n },\r\n error => console.log('oops', error)); \r\n });\r\n }\r\n\r\n setGlobalSearch(search:string)\r\n {\r\n let url= this.proxy.baseQAUrl+\"Bussinss/setGlobalSearch?search=\"+search; \r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n { \r\n observer.next(res);\r\n }\r\n },\r\n error => console.log('oops', error)); \r\n });\r\n }\r\n\r\ngetBusinessEnName(BusinessID:number)\r\n{\r\nlet url= this.proxy.baseQAUrl+\"Bussinss/getBusinessEnName?BusinessID=\"+BusinessID; \r\nreturn new Observable(observer => {\r\nthis.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n { \r\n observer.next(res.responseMessage);\r\n }\r\n },\r\n error => console.log('oops', error)); \r\n});\r\n}\r\n\r\ngetBusinessIDByEnName(BusinessEnName:string)\r\n{\r\nlet url= this.proxy.baseQAUrl+\"Bussinss/getBusinessIDByEnName?BusinessEnName=\"+BusinessEnName; \r\nreturn new Observable(observer => {\r\nthis.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n { \r\n observer.next(res.responseMessage);\r\n }\r\n },\r\n error => console.log('oops', error)); \r\n});\r\n}\r\n\r\ngetCategoryIDByEnName(CategoryEnName:string)\r\n{\r\nlet url= this.proxy.baseQAUrl+\"Bussinss/getCategoryIDByEnName?CategoryEnName=\"+CategoryEnName; \r\nreturn new Observable(observer => {\r\nthis.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n { \r\n observer.next(res.responseMessage);\r\n }\r\n else\r\n observer.next(null);\r\n },\r\n error => console.log('oops', error)); \r\n});\r\n}\r\n}","import { Injectable } from '@angular/core';\r\nimport { Payment, UserEditProfile } from '../models/user';\r\nimport { AppProxy, HttpMethod } from \"./app-proxy\";\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient} from \"@angular/common/http\";\r\nimport { ServerResponse } from 'http';\r\nimport {MatDialog } from '@angular/material/dialog';\r\nimport { LoginPhoneVarificationComponent } from '../components/login-phone-varification/login-phone-varification.component';\r\nimport { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';\r\nimport { GiftCards } from '../models/giftCard';\r\n\r\n@Injectable(\r\n{ providedIn: \"root\"}\r\n)\r\nexport class UserService {\r\n public LoginOBJ: boolean=false;\r\n public token=null;\r\n public userEditProfile:UserEditProfile;\r\n public payment:Payment;\r\n public giftCard:GiftCards[]=[];\r\n public giftCardFor:string;\r\n public state$ = new BehaviorSubject(\"התנתק\");\r\n innerWidth:any;\r\n\r\n\r\n constructor(private proxy: AppProxy,private router: Router,private http: HttpClient,private matDialog:MatDialog) \r\n { \r\n this.innerWidth = window.innerWidth;\r\n }\r\n\r\n login(userEmail:String, userPassword:String)\r\n {\r\n return new Observable(observer => {\r\n this.LoginOBJ=true;\r\n let name=this.proxy.md5_(this.proxy.SECRET_KEY + userEmail);\r\n let pass=this.proxy.md5_(this.proxy.SECRET_KEY + userPassword);\r\n\r\n //let url= this.proxy.baseQAUrl+\"User/signIn?\"+\"signature=\"+name+\"&userEmail=\"+userEmail+\"&userPassword=\"+pass;\r\n //if(this.proxy.baseQAUrl==\"https://test.baliapp.co.il/api/\")\r\n let url= this.proxy.baseQAUrl+\"User/signIn?\"+\"signature=\"+name+\"&userCredential=\"+userEmail+\"&userPassword=\"+pass;\r\n this.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res.responseMessage;\r\n this.proxy.ACCESS_TOKEN=resList;\r\n localStorage.outOrIn=\"התנתק\"\r\n sessionStorage.ACCESS_TOKEN = resList;\r\n localStorage.USER_FULL_NAME = userEmail;\r\n observer.next(resList);\r\n }\r\n else this.proxy.showError(\"שם משתמש או סיסמא שגויים\",\"\");\r\n },\r\n error => console.log('oops', error));\r\n });\r\n }\r\n\r\n register(formData:FormData)\r\n{\r\n let url= this.proxy.baseQAUrl+\"User/signUp\";\r\n return new Observable(observer => {\r\n this.proxy.executePost(url,formData,HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n localStorage.outOrIn=\"התנתק\"\r\n observer.next(resList);\r\n }\r\n else if(res.responseMessage==\"phone already exists\")\r\n this.proxy.showError(\"הטלפון כבר קיים במערכת\",\"\");\r\n else if(res.responseMessage==\"email already exists\")\r\n this.proxy.showError(\"האימייל כבר קיים במערכת\",\"\");\r\n },\r\n error => console.log('oops', error));\r\n });\r\n }\r\n\r\n setUserDetails(formData:FormData)\r\n {\r\n let url= this.proxy.baseQAUrl+\"User/setUserDetails\";\r\n return new Observable(observer => {\r\n this.proxy.executeUserPut(url,formData,HttpMethod.Put)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: ServerResponse = res;\r\n observer.next(resList);\r\n }\r\n else this.proxy.showError(res.message,\"\");\r\n },\r\n error => console.log('oops', error));\r\n });\r\n }\r\n\r\ngetUserDetails(operatingSystemType:number)\r\n{\r\n let url= this.proxy.baseQAUrl+\"User/getUserDetails?operatingSystemType=\"+operatingSystemType;\r\n return new Observable(observer => {\r\n this.proxy.executePut(url,HttpMethod.Put)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: UserEditProfile = res;\r\n if(resList!=null)\r\n {\r\n this.userEditProfile=resList;\r\n localStorage.USER_ID=this.userEditProfile.IDUser;\r\n observer.next(this.userEditProfile);\r\n }\r\n else this.proxy.showError(\"אין לך פרטי משתמש\",\"\");\r\n }\r\n },\r\n error => console.log('oops', error));\r\n });\r\n}\r\n\r\nsetContactRequest(FullName:string,Email:string,Phone:string,Message:string,userOrOneTimeOrder:string)\r\n{\r\n let url= this.proxy.baseQAUrl+userOrOneTimeOrder+\"/setContactRequest?FullName=\"+FullName+\"&Email=\"+Email+\"&Phone=\"+Phone\r\n +\"&Message=\"+Message;\r\n this.proxy.executePost(url,HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: UserEditProfile = res;\r\n this.router.navigate(['mainHome']);\r\n }\r\n else this.proxy.showError(\"שגיאה ביצירת קשר\",\"\");\r\n },\r\n error => console.log('oops', error));\r\n}\r\n\r\nsetUserCreditCard(editCard:boolean,signature:string,card_mask:string,card_validity:string,card_cvv:string,user_identity:string,invoice_name:string,token:string ,IsSave:boolean,\r\n IsPayment:boolean,TotalPrice:number,OrderID:number , GiftCardPhone : string = \"\")\r\n {\r\n const _GiftCardPhone = GiftCardPhone == \"\" ? \"\" : '&GiftCardPhone=' +GiftCardPhone\r\n //console.log(\"שילמתי\");\r\n let url=\"\";\r\n if(token==null)\r\n {\r\n if(OrderID!=null)\r\n {\r\n url= this.proxy.baseQAUrl+\"User/setUserCreditCard?signature=\"+signature+\r\n \"&card_mask=\"+card_mask+\"&card_validity=\"+card_validity+\"&card_cvv=\"+card_cvv+\"&user_identity=\"+user_identity+\"&invoice_name=\"+invoice_name+\"&IsSave=\"+IsSave+\"&IsPayment=\"+IsPayment\r\n +\"&TotalPrice=\"+TotalPrice+\"&OrderID=\"+OrderID+_GiftCardPhone;\r\n }\r\n else\r\n url= this.proxy.baseQAUrl+\"User/setUserCreditCard?signature=\"+signature+\r\n \"&card_mask=\"+card_mask+\"&card_validity=\"+card_validity+\"&card_cvv=\"+card_cvv+\"&user_identity=\"+user_identity+\"&invoice_name=\"+invoice_name+\"&IsSave=\"+IsSave+\"&IsPayment=\"+IsPayment\r\n +\"&TotalPrice=\"+TotalPrice;\r\n }\r\n else if(OrderID!=null)\r\n url= this.proxy.baseQAUrl+\"User/setUserCreditCard?signature=\"+signature+\r\n \"&card_mask=\"+card_mask+\"&card_validity=\"+card_validity+\"&card_cvv=\"+card_cvv+\"&user_identity=\"+user_identity+\"&invoice_name=\"+invoice_name+\"&token=\"+token+\"&IsSave=\"+IsSave+\"&IsPayment=\"+IsPayment\r\n +\"&TotalPrice=\"+TotalPrice+\"&OrderID=\"+OrderID;\r\n else\r\n url= this.proxy.baseQAUrl+\"User/setUserCreditCard?signature=\"+signature+\r\n \"&card_mask=\"+card_mask+\"&card_validity=\"+card_validity+\"&card_cvv=\"+card_cvv+\"&user_identity=\"+user_identity+\"&invoice_name=\"+invoice_name+\"&token=\"+token+\"&IsSave=\"+IsSave+\"&IsPayment=\"+IsPayment\r\n +\"&TotalPrice=\"+TotalPrice;\r\n return new Observable(observer => {\r\n this.proxy.executePost(url,HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: UserEditProfile = res;\r\n \r\n if(editCard==false)\r\n this.router.navigate(['delivery']);\r\n }\r\n else if(res.responseMessage==\"transaction failed\")\r\n this.proxy.showError(\"סירוב כרטיס אשראי\",\"\");\r\n else\r\n this.proxy.showError(res.responseMessage,\"\");\r\n observer.next(res);\r\n },\r\n error => \r\n {\r\n //console.log('oops', error)\r\n this.proxy.showError(\"שגיאה בפרטי אשראי\",\"\");\r\n });\r\n \r\n });\r\n }\r\n\r\ngetUserCreditCard()\r\n{\r\n \r\n let url= this.proxy.baseQAUrl+\"User/getUserCreditCard\";\r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: Payment = res;\r\n if(resList!=null)\r\n {\r\n this.payment=resList;\r\n observer.next(this.payment);\r\n }\r\n else this.proxy.showError(\"אין לך פרטי אשראי ששמורים במערכת\",\"\");\r\n }\r\n },\r\n error => console.log('oops', error));\r\n });\r\n}\r\n\r\nsetUserPhone(userPhone:string)\r\n{\r\n let url= this.proxy.baseQAUrl+\"User/setUserPhone?userPhone=\"+userPhone;\r\n return new Observable(observer => {\r\n this.proxy.executePut(url,HttpMethod.Put)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n observer.next(res);\r\n \r\n \r\n }\r\n else this.proxy.showError(\"Sms שגיאה בשליחת קוד ל \",\"\");\r\n },\r\n error => console.log('oops', error));\r\n });\r\n}\r\n\r\nreSendSmsCode()\r\n{\r\n let url= this.proxy.baseQAUrl+\"User/reSendSmsCode\";\r\n return new Observable(observer => {\r\n this.proxy.executePut(url,HttpMethod.Put)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n observer.next(res);\r\n this.proxy.showSucceeded(\"Sms קוד חדש נשלח ב\",\"\");\r\n }\r\n else this.proxy.showError(\"Sms שגיאה בשליחת קוד ל \",\"\");\r\n },\r\n error => console.log('oops', error));\r\n });\r\n}\r\n\r\nsetUserSmsConfirmation(userSMSCode:string,innerWidth:any)\r\n{\r\n let url= this.proxy.baseQAUrl+\"User/setUserSmsConfirmation?userSMSCode=\"+userSMSCode;\r\n return new Observable(observer => {\r\n this.proxy.executePut(url,HttpMethod.Put)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if(innerWidth<=480)\r\n {\r\n if (res.error==false && res.responseMessage==\"ok\")\r\n {\r\n observer.next(res);\r\n }\r\n else\r\n {\r\n // this.proxy.showError(\"קוד שגוי הזן שנית\",\"\");\r\n // this.router.navigate([\"/loginPhoneVarification\"]);\r\n observer.next(res);\r\n }\r\n }\r\n else\r\n observer.next(res);\r\n },\r\n error => console.log('oops', error));\r\n });\r\n}\r\n\r\nresetPasswordSMSRequest(userPhone:string)\r\n{\r\n let url= this.proxy.baseQAUrl+\"User/resetPasswordSMSRequest?userPhone=\"+userPhone;\r\n return new Observable(observer => {\r\n this.proxy.executePost(url,HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n observer.next(res);\r\n if (res.error==false && res.responseMessage==\"ok\")\r\n {\r\n }\r\n },\r\n error => console.log('oops', error));\r\n });\r\n}\r\n\r\nDeleteCreditCard()\r\n{\r\n let url= this.proxy.baseQAUrl+\"User/DeleteCreditCard\";\r\n this.proxy.executePost(url,HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: UserEditProfile = res;\r\n this.router.navigate(['mainHome']);\r\n }\r\n else this.proxy.showError(\"שגיאה במחיקת פרטי אשראי\",\"\");\r\n },\r\n error => console.log('oops', error));\r\n}\r\n\r\nsetGiftCard(SumMoney:number,Phone:string,CheckPhone:number,card_mask:string,card_validity:string\t)\r\n{\r\n let url;\r\n if(Phone!=null)\r\n url= this.proxy.baseQAUrl+\"User/setGiftCard?SumMoney=\"+SumMoney+\"&Phone=\"+Phone+\"&CheckPhone=\"+CheckPhone\r\n +\"&card_mask=\"+card_mask+\"&card_validity=\"+card_validity;\r\n else\r\n url= this.proxy.baseQAUrl+\"User/setGiftCard?SumMoney=\"+SumMoney+\"&card_mask=\"+card_mask+\"&card_validity=\"+card_validity;\r\n return new Observable(observer => {\r\n this.proxy.executePut(url,HttpMethod.Put)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: string = res;\r\n this.giftCardFor=res.responseMessage;\r\n observer.next(this.giftCardFor);\r\n // this.router.navigate(['giftCardSucsess']);\r\n }\r\n else\r\n { \r\n this.proxy.showError(\"המספר אינו קיים במערכת\",\"\");\r\n observer.next(null);\r\n }\r\n \r\n },\r\n error => console.log('oops', error));\r\n });\r\n}\r\n\r\ngetGiftCards()\r\n{\r\n let url= this.proxy.baseQAUrl+\"User/getGiftCards\";\r\n return new Observable(observer => {\r\n this.proxy.execute(url,HttpMethod.Get)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error==false)\r\n {\r\n let resList: GiftCards[] = res.list;\r\n this.giftCard=resList;\r\n if(this.giftCard.length>0)\r\n observer.next(this.giftCard);\r\n else this.proxy.showError(\"אין לך כרטיסי גיפט קארד\",\"\");\r\n }\r\n else this.proxy.showError(\"שגיאה בקבלת רשימת כרטיסי Gift Card\",\"\");\r\n },\r\n error => console.log('oops', error));\r\n }); \r\n}\r\n\r\nopenDialog(): void {\r\n const dialogRef = this.matDialog.open(LoginPhoneVarificationComponent, {\r\n backdropClass: 'cdk-overlay-transparent-backdrop',\r\n hasBackdrop: false,\r\n });\r\n}\r\n}","
    \n
    \n\n
    \n
    \n
    \n \n
    {{orderItem.RestaurantName}}
    \n
    {{orderItem.Price}} ₪
    \n
    {{orderItem.CreatedDate| date:'dd/MM/yyyy'}}
    \n
    \n
    \n
    הזמנה מספר: {{orderItem.OrderID}}
    \n
    \n
    \n
    \n
    \n
    \n \n הזמן מחדש\n
    \n
    \n
    \n
    \n
    \n הורד חשבונית\n \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n","import { Component, OnInit ,EventEmitter ,Output } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { OrderHistory } from 'src/app/models/order';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { DataService } from 'src/app/services/data.service';\nimport { OrdersService } from 'src/app/services/order-service';\n\n@Component({\n selector: 'app-order-history',\n templateUrl: './order-history.component.html',\n styleUrls: ['./order-history.component.scss']\n})\nexport class OrderHistoryComponent implements OnInit {\n @Output()changByFood: EventEmitter = new EventEmitter();\n orders:OrderHistory[]= new Array();\n filteredItems:OrderHistory[]= new Array();\n searchText:String;\n text: string;\n\n constructor(private proxy: AppProxy ,private route: ActivatedRoute,private orderService:OrdersService ,private dataService:DataService) { }\n\n assignCopy(){\n this.filteredItems = Object.assign([], this.orders);\n }\n\n filterItem(value){\n this.orderService.GetHistoryOrders(value).subscribe((res:any)=>{\n this.orders=res;\n this.assignCopy();\n });\n }\n\n ngOnInit(): void {\n this.proxy.scrollToTop();\n this.dataService.byFood.next(false);\n this.changByFood.emit();\n this.orderService.GetHistoryOrders(null).subscribe((res:any)=>{\n this.orders=res;\n this.assignCopy();\n });\n }\n}","
    \n
    \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n שדה חובה\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n שדה חובה\n
    \n

    שכחתי סיסמא

    \n
    \n \n
    \n \n המשך\n
    \n
    \n \n צור חשבון\n
    \n
    \n
    \n
    \n","import { Injectable } from '@angular/core';\r\nimport { AppProxy, HttpMethod } from \"./app-proxy\";\r\nimport { Router } from '@angular/router';\r\nimport { CreditCardObject } from '../models/creditCard';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class CreditCardService {\r\n IsPaymentByGiftCard=false;\r\n\r\n //test\r\n terminal_id:string = \"0963655\";\r\n user = \"israeli\";\r\n password = \"I!fr43s!34\";\r\n cg_gateway_url = \"https://cguat2.creditguard.co.il/xpo/Relay\";\r\n\r\n constructor(private proxy: AppProxy,private router: Router) { }\r\n\r\n AuthorizationCreditCard(creditCardObject:CreditCardObject)\r\n {\r\n let date = creditCardObject.card_validity.replace(\"/\",\"\");\r\n let postString = \"\" +\r\n \"\" +\r\n \"doDeal\" +\r\n \"\" +\r\n \"2000\" +\r\n \"\" + \"HEB\" + \"\" +\r\n \"0\" +\r\n \"\" +\r\n \"\" + this.terminal_id + \"\" +\r\n \"\" + creditCardObject.card_number.replace(\"-\",\"\") + \"\" +\r\n \"\" + date + \"\" +\r\n \"\" + creditCardObject.bn_number + \"\" +\r\n \"\" + + \"\" +\r\n \"Debit\" +\r\n \"RegularCredit\" +\r\n \"ILS\" +\r\n \"Phone\" +\r\n \"Token\" +\r\n \"\" +\r\n \"\" + this.user + \"\" +\r\n \"\" +\r\n \"\" +\r\n \"\";\r\n let url=\"https://cguat2.creditguard.co.il/xpo/Relay?user=\"+this.user+\"&password=\"+\r\n this.password+\"&int_in=\"+postString;\r\n return new Observable(observer => {\r\n this.proxy.executePost(url, HttpMethod.Post)\r\n .subscribe(\r\n result => {\r\n let res: any = result;\r\n if (res.error == false) {\r\n let resList: string = res.list;\r\n observer.next(resList);\r\n }\r\n },\r\n error => console.log('oops', error));\r\n })\r\n }\r\n}","
    \n
    \n
    \n
    \n \n \n \n \n\n
    \n \n \n\n
    \n \n \n
    \n
    \n {{categoryItem.Name}}\n \n
    \n מיני' {{categoryItem.MinimumOrder}} ₪\n
    \n \n \n
    \n
    {{categoryItem.Header}}
    \n
    10 && {'bottom':'25px'}\">כשר
    \n \n
    \n\n \n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n
    \n \n
    \n
    {{categoryItem.Category}}
    \n \n
    {{categoryItem.CountRate}} מקומות
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router'\nimport { MyOrder } from 'src/app/models/order';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { isUndefined } from 'util';\nimport {MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { PopupGiftcardComponent } from '../popup-giftcard/popup-giftcard.component';\nimport { DialogOutOfBoundsComponent } from '../dialog-out-of-bounds/dialog-out-of-bounds.component';\nimport { LoaderComponent } from '../../loader/loader.component';\n\n@Component({\n selector: 'app-code-worker',\n templateUrl: './code-worker.component.html',\n styleUrls: ['./code-worker.component.scss']\n})\nexport class CodeWorkerComponent implements OnInit {\n stars:number[]=[1,2,3,4,5];\n orderFinal:boolean=true;\ncodeWorker:string=null;\norder:MyOrder;\nanimal: string;\nname: string;\n\n constructor(private matDialog:MatDialog,private router: Router ,private proxy:AppProxy,private orderService:OrdersService){}\n\n ngOnInit(): void {\n }\n\n star()\n {\n\n }\n\n continue()\n {\n if(this.codeWorker!=\"\" && this.codeWorker!=null)\n {\n this.openLoader();\n //this.proxy.showError(\"קוד שגוי\",\"\");\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n let price=this.order.TotalPrice;\n // this.router.navigate(['../restaurantCategory']);\n if(this.order.OrderID!=0) \n {\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n let BudgetSum=Number(this.order.BudgetSum);\n let status=1;\n let price=Number(this.order.TotalPrice);\n if(this.order.IsDelivery==1)\n price+=Number(this.order.DeliveryPrice)\n // let price=Number(this.order.Balance);\n if(BudgetSum>Number(price))\n status=2;\n if(BudgetSum>0)\n {\n let IsFromLink=0;\n if(sessionStorage.deeplink==this.order.RestaurantID && status==2)\n IsFromLink=1;\n this.orderService.setUpdateOrderEmploye(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,1,\n status,null,this.order.IsAddress,this.order.Address,this.order.Lat+\"\",this.order.Lng+\"\",\n 1,this.codeWorker,IsFromLink).subscribe((res:any)=>{\n if(res.error==false)\n {\n localStorage.MENU_ID=0;\n \n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n //let price=Number(this.order.TotalPrice)+Number(this.order.DeliveryPrice);\n // let price=Number(this.order.Balance)\n if(BudgetSum>Number(price) || Number(this.order.Balance)<=0)\n this.router.navigate(['../endOrder']);\n else\n {\n this.matDialog.closeAll();\n let iPay=Number(Number(price)-Number(this.order.Balance));\n this.matDialog.open(PopupGiftcardComponent, {\n data: { price: price ,price2:iPay , payBy:\"קוד עובד\"},\n });\n }});\n }\n else if(res.error==true && res.responseMessage==\"the delivery out of bounds\")\n {\n this.matDialog.closeAll();\n this.openOutOfBoundsDialog();\n }\n else{\n this.matDialog.closeAll();\n this.codeWorker=\"\";\n this.proxy.showError(\"קוד עובד שגוי\",\"\");\n }\n });\n }\n else\n {\n this.matDialog.closeAll();\n this.proxy.showError(\"אין לך יתרה בקוד עובד\",\"\");\n }\n });\n \n \n }\n else\n {\n this.matDialog.closeAll();\n this.proxy.showError(\"ההזמנה שלך ריקה\",\"\");\n }\n });\n }\n else\n this.proxy.showError(\"חובה למלא קוד עובד\",\"\");\n }\n\n cancel(){\n window.history.back();\n }\n\n openLoader()\n {\n this.matDialog.open(LoaderComponent, { disableClose: true });\n }\n\n openOutOfBoundsDialog(): void {\n const dialogRef = this.matDialog.open(DialogOutOfBoundsComponent, {\n data: {name: this.name, animal: this.animal},\n });\n\n dialogRef.afterClosed().subscribe(result => {\n //console.log('The dialog was closed');\n this.matDialog.closeAll();\n this.animal = result;\n });\n }\n}\n\n","import { Component, OnInit ,Inject } from '@angular/core';\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport {MatDialog, MatDialogConfig } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-big-image',\n templateUrl: './big-image.component.html',\n styleUrls: ['./big-image.component.scss']\n})\nexport class BigImageComponent implements OnInit {\n @Inject(MAT_DIALOG_DATA) public data: any\n url;\n\n constructor(private matDialog:MatDialog) { }\n\n ngOnInit(): void {\n // this.url=this.data;\n }\n\n\n close()\n {\n this.matDialog.closeAll();\n }\n}\n","import { Component, OnInit ,Inject, EventEmitter } from '@angular/core';\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport { OrdersService } from 'src/app/services/order-service';\nimport {MatDialog } from '@angular/material/dialog';\nimport { Router} from '@angular/router';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { DataService } from 'src/app/services/data.service';\n\n@Component({\n selector: 'app-popup-order',\n templateUrl: './popup-order.component.html',\n styleUrls: ['./popup-order.component.scss']\n})\nexport class PopupOrderComponent implements OnInit {\n change: EventEmitter = new EventEmitter();\n constructor(@Inject(MAT_DIALOG_DATA) private data: {OrderID: number},private dataService:DataService ,private bussinssService :BussinssService,private matDialog:MatDialog,private orderService:OrdersService ,private router: Router) { }\n\n ngOnInit(): void {\n }\n\n cancel(){\n this.matDialog.closeAll();\nthis.orderService.setUpdateOrder(this.data.OrderID,0,0,0,1,\n null,null,0,null,1,null,null,null,null,null,null,null,null,0).subscribe((res:any)=>{\n \n sessionStorage.CATEGORY_FILTER=\"\";\n let id:number=localStorage.ID;\n this.bussinssService.getBusinessEnName(Number(id)).subscribe((res: any) => {\n let nameEn=res;\n // let nameEn=this.orderService.order.RestaurantNameEn;\n this.orderService.order=null;\n//this.router.navigate(['../restaurant']);\nthis.dataService.endToppings.next(true);\nthis.change.emit();\nlet url: string = \"/restaurant/\" + nameEn;\nthis.router.navigateByUrl(url);\n });\n });\n }\n\n end()\n {\n this.matDialog.closeAll();\n //localStorage.ID=localStorage.ID_CATEGORY;\n this.router.navigate(['../yourOrder']);\n }\n\n close()\n {\n this.matDialog.closeAll();\n }\n}\n","import { Injectable,Injector,\r\n ComponentFactoryResolver,\r\n EmbeddedViewRef,\r\nApplicationRef, Renderer2, RendererFactory2 } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class InjiService {\r\n public componentSubjects: { [name: string]: Subject } = {};\r\n renderer : Renderer2;\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector,\r\n rendererFactory: RendererFactory2,\r\n ) {\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n//render in injectable service https://stackoverflow.com/questions/44989666/service-no-provider-for-renderer2\r\n appendComponent(component: any, data:any, selected:any) {\r\n\r\n // 1. Create a component reference from the component \r\n const componentRef = this.componentFactoryResolver\r\n .resolveComponentFactory(component)\r\n .create(this.injector);\r\n \r\n // (componentRef.instance).name = data.name;\r\n // (componentRef.instance).ref = componentRef;\r\n // (componentRef.instance).componentName = data.componentName;\r\n \r\n // 2. Attach component to the appRef so that it's inside the ng component tree\r\n this.appRef.attachView(componentRef.hostView);\r\n \r\n // 3. Get DOM element from component\r\n const domElem = (componentRef.hostView as EmbeddedViewRef).rootNodes[0] as HTMLElement;\r\n \r\n // 4. Append DOM element to the body\r\n var tr = document.createElement(\"tr\");\r\n tr.appendChild(domElem);\r\n let selectedRow = selected;//.closest(\".ng2-smart-row\");\r\n if(selectedRow){\r\n let nextSib = this.renderer.nextSibling(selectedRow);\r\n this.renderer.insertBefore(selectedRow.parentNode, tr, nextSib);\r\n }\r\n\r\n/*\r\n (componentRef.instance).closeRow.subscribe(() => {\r\n //console.log(\"close event\");\r\n this.removeComponent(componentRef);\r\n });\r\n */\r\n\r\n\r\n return componentRef;\r\n }\r\n\r\n removeComponent(component: any){\r\n this.appRef.detachView(component.hostView);\r\n component.destroy();\r\n }\r\n\r\n}","
    \n
    \n
    \n
    \n \n 480\" src=\"assets/images/Delivery_Free_Stiker_Desktop_Web.png\" class=\"float-sm-left\" style=\"top: -380px;\n position: relative;\">\n \n
    \n \n
    \n {{categoryItem.Name}}\n - {{categoryItem.Category}}\n
    \n {{categoryItem.Header}}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n 480\" src=\"assets/images/Delivery_Free_Stiker_Desktop_Web.png\" style=\"position: absolute;\n top: 0; left: 0;\">\n \n
    \n
    \n
    {{categoryItem.Category}}
    \n
    {{categoryItem.CountRate}} מקומות
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n \n","
    \n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup,FormControl,Validators } from '@angular/forms';\nimport {MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { UserService } from 'src/app/services/user-service';\n\n@Component({\n selector: 'app-password2',\n templateUrl: './password2.component.html',\n styleUrls: ['./password2.component.scss']\n})\nexport class Password2Component implements OnInit {\n getNewPassword:boolean=false;\n valid:boolean=false;\n newPasswordForm:FormGroup;\n\n constructor(private matDialog:MatDialog, private proxy:AppProxy,private router: Router ,private userService:UserService) { }\n\n newPassword()\n {\n this.valid=true;\n if(this.newPasswordForm.valid)\n {\n this.userService.resetPasswordSMSRequest(this.newPasswordForm.value.nvPhone).subscribe((res:any)=>{\n if(res.error==false && res.responseMessage==\"ok\")\n this.getNewPassword=true;\n else\n this.proxy.showError(\"מספר טלפון לא קיים במערכת\",\"\");\n });\n }\n else\n this.proxy.showError(\"בעיה במספר הטלפון\",\"\");\n }\n\n isValidInput(fieldName): boolean {\n if(this.valid==true)\n return this.newPasswordForm.controls[fieldName].invalid;\n }\n\n createForm() {\n this.newPasswordForm = new FormGroup({\n nvPhone: new FormControl(\"\", Validators.required),});\n }\n\n closeDialog()\n {\n this.matDialog.closeAll(); \n this.router.navigate([\"../mainHome\"]);\n }\n\n ngOnInit(): void {\n this.createForm();\n }\n\n exit()\n {\n if(this.getNewPassword==false)\n window.history.back();\n else if(this.getNewPassword==true)\n {\n this.valid=false;\n this.getNewPassword=false;\n }\n }\n}\n\n","import { MapsAPILoader } from '@agm/core';\nimport { LocationStrategy } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, HostListener, NgZone, OnInit, Output, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from '@angular/material-moment-adapter';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { MatDatepicker } from '@angular/material/datepicker';\nimport { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport * as _moment from 'moment';\nimport {default as _rollupMoment, Moment} from 'moment';\nimport { filter } from 'rxjs/operators';\nimport { CreditCardObject } from 'src/app/models/creditCard';\nimport { MyOrder } from 'src/app/models/order';\nimport { Payments } from 'src/app/models/payments';\nimport { Restaurant } from 'src/app/models/restaurant';\nimport { Address, Payment, UserEditProfile } from 'src/app/models/user';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { CreditCardService } from 'src/app/services/creditCard-service';\nimport { DataService } from 'src/app/services/data.service';\nimport { OneTimeOrderService } from 'src/app/services/oneTimeOrder.service';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { LoaderComponent } from '../../loader/loader.component';\nimport { Map2Component } from '../map2/map2.component';\nimport { VerificationCodeComponent } from '../verification-code/verification-code.component';\nimport { IFrameCreditCardComponent } from '../iframe-credit-card/iframe-credit-card.component';\nimport { PopupIsCorectOrderComponent } from '../popup-isCorectOrder/popup-isCorectOrder.component';\n\nconst moment = _rollupMoment || _moment;\nexport const MY_FORMATS = {\n parse: {\n dateInput: 'MM/YY',\n },\n display: {\n dateInput: 'MM/YY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n@Component({\n selector: 'app-payment',\n templateUrl: './payment.component.html',\n styleUrls: ['./payment.component.scss'],\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\n },\n {provide: MAT_DATE_FORMATS, useValue: MY_FORMATS},\n ],\n})\nexport class PaymentComponent implements OnInit {\n @Output()changeShowPrice: EventEmitter = new EventEmitter();\n @Output()changePrice: EventEmitter = new EventEmitter();\n @Output()progress: EventEmitter = new EventEmitter();\n anotherAddressImg='assets/images/Pay_Page_Chack_Box_On.png';\n myAddressImg='assets/images/Pay_Page_Chack_Box_Off.png';\n isCreditPayment:boolean=true;\n cashPaymentImg='assets/images/Pay_Page_Chack_Box_Off.png';\n paymentCreditImg='assets/images/Pay_Page_Chack_Box_On.png';\n keepCardImg='assets/images/Pay_Page_Chack_Box_On.png';\n notKeepCardImg='assets/images/Pay_Page_Chack_Box_Off.png';\n isKeepCard=true;\n paymentForm: FormGroup;\n //addressForm:FormGroup;\n paymentCard:Payment;\n valid:boolean=false;\n payments:Payments[];\n paymentsOn='assets/images/Pay_Page_Chack_Box_On.png';\n paymentsOff='assets/images/Pay_Page_Chack_Box_Off.png';\n creditCardObject:CreditCardObject;\n userEditProfile:UserEditProfile;\n date = new FormControl(moment());\n date1:string=\"\";\n month:string=\"\";\n year:string=\"\";\n totalPrice:string;\n deliveryPrice;\n isDelivery=0;\n private paymentBy=1;\n address:Address;\n isChangeAdress=0;\n order:MyOrder;\n title: string = 'AGM project';\n latitude: number;\n longitude: number;\n lat: string;\n lng: string;\n zoom = 1;\n address_: string;\n private geoCoder;\n methodsPayment:Payment=new Payment;\n Address:string;\n AddressMe:string;\n citiesList;\n priceGiftCard=0;\n selectedValue;\n token:string=null;\n byGiftCard=false;\n myAddressText:string=\"רביבים\";\n price2:number=50;\n payBy=false;\n note:string;\n progressBar = document.querySelector('.progress-bar');\n //progress = 0;\n intervalId;\n isClickPayment=false;\n showProgress=false;\n restaurant:Restaurant=new Restaurant;\n inCash=false;\n onCredit=false;\n myAdd = \"\";\n options={\n componentRestrictions:{\n country:[\"isr\"]\n }\n };\n @ViewChild('search')\n public searchElementRef: ElementRef;\n\n @ViewChild('dp')\n public dateElementRef: ElementRef;\n isAnotherAddress:boolean=true;\n IsDelivery=1;\n innerWidth:any;\n @ViewChild(\"cvv\") cvvElement: ElementRef;\n @ViewChild(\"month\") monthElement: ElementRef;\n @ViewChild(\"year\") yearElement: ElementRef;\n @ViewChild(\"identity\")identityElement:ElementRef;\n dialogRef: MatDialogRef;\n dialogRef2: MatDialogRef;\n dialogRef3: MatDialogRef;\n text;\n @Output()changByFood: EventEmitter = new EventEmitter();\n // @HostListener('window:popstate', ['$event'])\n // onPopState(event) {\n // this.backPress();\n // }\n\n // @HostListener('window:popstate', ['$event'])\n // onBrowserBackBtnClose(event: Event) {\n // //console.log('back button pressed');\n // event.preventDefault(); \n // this.router.navigate(['yourOrder'], {replaceUrl:true});\n // }\n\n constructor(location: LocationStrategy ,private router: Router, private dataService: DataService ,private matDialog:MatDialog, private bussinssService:BussinssService, private proxy:AppProxy,private creaditCardService:CreditCardService\n ,private fb: FormBuilder,private oneTimeOrderService:OneTimeOrderService,private orderService:OrdersService,private mapsAPILoader: MapsAPILoader,private ngZone: NgZone) {\n this.address=new Address();\n // location.onPopState(() => {\n // //alert(window.location);\n // this.router.navigate([\"../yourOrder\"])\n // });\n\n // history.pushState(null, null, window.location.href);\n // // check if back or forward button is pressed.\n // location.onPopState(() => {\n // history.pushState(null, null, window.location.href);\n // this.stepper.previous();\n // });\n // }\n }\n \n ngOnInit(): void {\n this.text = this.dataService.address.getValue() || {};\n this.dataService.address.subscribe(data=>{\n this.address.nvStreet=localStorage.ADDRESS;\n this.lat=localStorage.LAT;\n this.lng=localStorage.LONG;\n\n });\n this.isClickPayment=false;\n this.dataService.show.next(false);\n this.changeShowPrice.emit();\n this.innerWidth = window.innerWidth;\n this.showProgress = this.dataService.show.getValue() || {};\n this.dataService.showProgress.subscribe(data=>{\n this.showProgress=data;\n });\n if(localStorage.DELIVERY==1)\n {\n this.createForm();\n this.place();\n this.IsDelivery=1;\n }\n else\n {\n this.createForm2();\n this.IsDelivery=0;\n }\n this.paymentBy=1;\n this.price2=localStorage.PRICE_GIFTCARD;\n this.selectedValue = null;\n this.isDelivery=0;\n if(localStorage.ADDRESS==\"\")\n if(localStorage.ADDRESS2!=\"\")\n {\n localStorage.ADDRESS=localStorage.ADDRESS2;\n localStorage.LAT=localStorage.LAT2;\n localStorage.LONG=localStorage.LONG2;\n }\n if(localStorage.ADDRESS!=\"\" && localStorage.ADDRESS!=undefined && localStorage.ADDRESS!='undefined' && localStorage.ADDRESS!=null && localStorage.ADDRESS!=\"null\")\n {\n this.address.nvStreet=localStorage.ADDRESS;\n this.lat=localStorage.LAT;\n this.lng=localStorage.LONG;\n \n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n this.deliveryPrice=this.order.DeliveryPrice;\n this.totalPrice=this.order.TotalPrice;\n this.isDelivery=1;\n });\n }\n this.startLocal();\n if(this.isDelivery!=1)\n this.isAnotherAddress=false;\n else\n {\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n if(this.order.IsDelivery==1)\n {\n if(Number(this.order.Balance){\n this.order=res;\n let price:number=0;\n for(let i=0;i{\n this.restaurant=res;\n \n for(let i=0;i) {\n const ctrlValue = this.date.value;\n ctrlValue.month(normalizedMonth.month());\n this.date.setValue(ctrlValue);\n this.month=\"\"+Number(normalizedMonth.month()+1);\n datepicker.close();\n this.date.value._i=\"\";\n var last2 = this.year.slice(-2);\n if(this.month.length==1)\n this.month=\"0\"+this.month;\n this.date1=this.month+last2;\n this.paymentForm.value.date=this.date1;\n this.date1=this.paymentForm.value.month+\"/\"+this.paymentForm.value.year;\n localStorage.date=this.date1;\n }\n \n // backPress()\n // {\n // //if(sessionStorage.deeplink!=\"\")\n // //window.history.back();\n // //else\n // {\n // // let page=location.href;\n // // let a=page.split('/')[3]\n // localStorage.back=\"true\";\n // sessionStorage.backYourOrder=\"false\";\n // let a=location.pathname;\n // if(a==\"/map\" && this.isClickPayment==true)\n // {\n // this.matDialog.closeAll();\n // localStorage.ADDRESS=localStorage.ADDRESS2;\n // this.router.navigate(['../payment']);\n // }\n // else\n // {\n // let url: string = \"../../yourOrder\";\n // this.router.navigateByUrl(url);\n // }\n\n // }\n // }\n\n backPress()\n {\n // let page=location.href;\n // let a=page.split('/')[3]\n let a=location.pathname;\n // if(a==\"/map\" && this.isClickPayment==true)\n // {\n // this.matDialog.closeAll();\n // localStorage.ADDRESS=localStorage.ADDRESS2;\n // this.router.navigate(['../../payment']);\n // }\n // else\n this.router.navigate(['../yourOrder']);\n }\n\n ngOnDestroy() {\n clearInterval(this.intervalId);\n }\n\n ngAfterViewInit() {\n this.paymentForm.get(\"month\").valueChanges\n .pipe(filter((value: string) => value.length === 2))\n .subscribe(() => {\n this.yearElement.nativeElement.focus();\n this.paymentForm.get(\"year\").setValue(\"\");\n });\n\n this.paymentForm.get(\"year\").valueChanges\n .pipe(filter((value: string) => value.length === 2))\n .subscribe(() => this.cvvElement.nativeElement.focus());\n\n this.paymentForm.get(\"cvv\").valueChanges\n .pipe(filter((value: string) => value.length === 3))\n .subscribe(() => this.identityElement.nativeElement.focus());\n}\n\n createForm() {\n\n this.paymentForm = this.fb.group({ // create nested formgroup to pass to child\n nvCardholderName: [, [Validators.required]],\n nvCardNumber: [\"\",[Validators.required, Validators.minLength(19)]],\n month: [\"\", [Validators.required, Validators.maxLength(2)]],\n year: [\"\", [Validators.required, Validators.maxLength(2)]],\n cvv: [\"\", [Validators.required, Validators.maxLength(3)]],\n identityNumber: [\"\", [Validators.required, Validators.minLength(9), Validators.maxLength(9)]],\n nvOrderName: [, [Validators.required]],\n nvStreet: [\"\", [Validators.required]],\n nvEnter: [\"\"],\n nvfloor: [\"\"],\n nvNumberHoush:[\"\"],\n nvPhone:[\"\", [Validators.required,Validators.pattern(\"^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$\")]],\n nvEmail: [\"\", [Validators.email,Validators.pattern(\"^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$\")]],\n });\n\n this.paymentForm.get(\"month\").valueChanges\n .pipe(filter((value: string) => value.length === 2))\n .subscribe(() => \n {\n this.yearElement.nativeElement.focus();\n this.paymentForm.get(\"year\").setValue(\"\");\n });\n\n\n this.startLocal2();\n }\n\n createForm2() {\n this.paymentForm = this.fb.group({ \n nvCardholderName: [\"\", Validators.required],\n nvCardNumber: [\"\",[Validators.required, Validators.minLength(19)]],\n month: [\"\", [Validators.required, Validators.maxLength(2)]],\n year: [\"\", [Validators.required, Validators.maxLength(2)]],\n cvv: [\"\", [Validators.required, Validators.maxLength(3)]],\n identityNumber: [\"\",[Validators.required, Validators.minLength(9), Validators.maxLength(9)]],\n nvOrderName: [\"\", Validators.required],\n nvEmail: [\"\", [Validators.email,Validators.pattern(\"^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$\")]],\n nvPhone: [\"\", [Validators.required,Validators.pattern(\"^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$\")]],\n });\n\n this.paymentForm.get(\"month\").valueChanges\n .pipe(filter((value: string) => value.length === 2))\n .subscribe(() => \n {\n this.yearElement.nativeElement.focus();\n this.paymentForm.get(\"year\").setValue(\"\");\n });\n\n this.paymentForm.get(\"year\").valueChanges\n .pipe(filter((value: string) => value.length === 2))\n .subscribe(() => this.cvvElement.nativeElement.focus());\n\n this.paymentForm.get(\"cvv\").valueChanges\n .pipe(filter((value: string) => value.length === 3))\n .subscribe(() =>this.identityElement.nativeElement.focus());\n this.startLocal2();\n }\n\n createForm3() {\n this.paymentForm = this.fb.group({ // create nested formgroup to pass to child\n nvOrderName: [, [Validators.required]],\n nvStreet: [\"\"],\n nvEnter: [\"\"],\n nvfloor:[\"\"],\n nvNumberHoush:[\"\"],\n nvPhone: new FormControl(\"\", [Validators.required,Validators.pattern(\"^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\\s\\./0-9]*$\")]),\n nvEmail: new FormControl(\"\", [Validators.email,Validators.pattern(\"^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,4}$\")]),\n });\n if(localStorage.ADDRESS!=\"\")\n {\n \n this.paymentForm.value.nvStreet=localStorage.ADDRESS;\n this.Address = localStorage.ADDRESS;\n if(localStorage.ADDRESS!=\"\" && localStorage.ADDRESS!=undefined && localStorage.ADDRESS!='undefined' && localStorage.ADDRESS!=null && localStorage.ADDRESS!=\"null\")\n this.address.nvStreet=localStorage.ADDRESS;\n this.lat=localStorage.LAT;\n this.lng=localStorage.LONG;\n \n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n this.deliveryPrice=this.order.DeliveryPrice;\n this.isDelivery=1;\n });\n \n }\n if(localStorage.phone!='undefined')\n this.address.nvPhone=localStorage.phone;\n if(localStorage.orderName!='undefined' && localStorage.orderName!='null')\n this.address.nvOrderName=localStorage.orderName;\n if(localStorage.email!='undefined')\n this.address.nvEmail=localStorage.email;\n if(localStorage.enter!='undefined')\n this.address.nvEnter=localStorage.enter;\n this.address.nvfloor=localStorage.floor;\n this.address.nvHouseNumber=localStorage.numberHoush;\n if(localStorage.identityNumber!='undefined' && localStorage.identityNumber!=null)\n this.methodsPayment.UserIdentity=localStorage.identityNumber;\n if(localStorage.nvCardholderName!='undefined' && localStorage.nvCardholderName!=null)\n this.methodsPayment.UserName=localStorage.nvCardholderName;\n if(localStorage.nvCardNumber!='undefined')\n this.methodsPayment.CardNumber=localStorage.nvCardNumber;\n if(localStorage.cvv!='undefined' && localStorage.cvv!=\"\")\n // this.methodsPayment.card_cvv=localStorage.cvv;\n this.paymentForm.controls[\"cvv\"].setValue(localStorage.cvv); \n if(localStorage.date!=undefined && localStorage.date!='undefined' && localStorage.date!=\"\")\n\n {\n this.date = new FormControl(moment(localStorage.date,\"MM/YY\"));\n // this.paymentForm.controls['month'].setValue(localStorage.date.slice(0, 2)); \n // this.paymentForm.controls['year'].setValue(localStorage.date.slice(2)); \n let date=localStorage.date;\n date=date.replace(\"/\",\"\");\n this.paymentForm.controls[\"year\"].setValue(date.slice(2)); \n this.paymentForm.controls[\"month\"].setValue(date.slice(0,2)); \n // this.paymentForm.value.month.setValue(localStorage.date.slice(0, 2));\n // this.paymentForm.value.year.setValue(localStorage.date.slice(2));\n this.methodsPayment.CardDate = this.methodsPayment.CardDate.slice(0, 2) + \"/\" + this.methodsPayment.CardDate.slice(2);\n this.date1=this.methodsPayment.CardDate;\n }\n\n this.place();\n }\n\n localPayment()\n {\n localStorage.paymentBy=this.paymentBy;\n localStorage.nvCardNumber=this.paymentForm.value.nvCardNumber;\n localStorage.cvv=this.paymentForm.value.cvv;\n localStorage.identityNumber=this.paymentForm.value.identityNumber;\n localStorage.nvCardholderName=this.paymentForm.value.nvCardholderName;\n var last2 = this.year.slice(-2);\n if(this.month.length==1)\n this.month=\"0\"+this.month;\n this.date1=this.month+last2;\n this.date1=this.paymentForm.value.month+\"/\"+this.paymentForm.value.year;\n localStorage.date=this.date1;\n }\n\n local(){\n\n if(this.paymentBy==1)\n this.localPayment();\n else\n localStorage.paymentBy=this.paymentBy;\n localStorage.phone=this.paymentForm.value.nvPhone;\n localStorage.orderName=this.paymentForm.value.nvOrderName;\n localStorage.email=this.paymentForm.value.nvEmail;\n localStorage.street=this.paymentForm.value.nvStreet;\n localStorage.enter=this.paymentForm.value.nvEnter;\n localStorage.floor=this.paymentForm.value.nvfloor;\n localStorage.numberHoush=this.paymentForm.value.nvNumberHoush;\n }\n\n clearMonth(){\n this.paymentForm.get(\"month\").setValue(\"\");\n }\n \n clearYear(){\n this.paymentForm.get(\"year\").setValue(\"\");\n }\n\n getOrderDetails()\n {\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n let note=this.order.Note;\n if(this.order.Note==null || this.order.Note=='')\n note=null;\n let PaymentBy;\n if(this.paymentBy==1)\n PaymentBy=0;\n else\n PaymentBy=1;\n let status=1;\n this.local();\n if(this.paymentBy==1)\n {\n var last2 = this.year.slice(-2);\n if(this.month.length==1)\n this.month=\"0\"+this.month;\n this.date1=this.month+last2;\n this.date1=this.paymentForm.value.month+this.paymentForm.value.year;\n localStorage.date=this.date1;\n }\n if(this.order.OrderID!=0) \n {\n if(this.IsDelivery==1)\n {\n {\n if(this.Address!=null && this.Address!=undefined)\n {\n let entry=null;\n if(this.paymentForm.value.nvEnter!='')\n entry=this.paymentForm.value.nvEnter;\n let floor=null;\n if(this.paymentForm.value.nvfloor!='')\n floor=this.paymentForm.value.nvfloor;\n let homeNumber=null;\n if(this.paymentForm.value.nvNumberHoush!='')\n homeNumber=this.paymentForm.value.nvNumberHoush;\n if(!this.Address.includes(\":\"))\n {\n if(entry!=null)\n this.Address+=\" כניסה: \"+entry;\n if(floor!=null)\n this.Address+=\" קומה: \"+floor;\n if(homeNumber!=null)\n this.Address+=\" דירה: \"+homeNumber;\n }\n let email=null;\n if(this.paymentForm.value.nvEmail!=\"\")\n email=this.paymentForm.value.nvEmail;\n this.orderService.setUpdateOrder3(this.order.OrderID,this.paymentForm.value.nvOrderName,this.paymentForm.value.nvPhone,email,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,PaymentBy,\n Number(this.order.Balance),status,note,this.Address,this.lat,this.lng).subscribe((res:any)=>\n {\n localStorage.MENU_ID=0;\n this.showProgress=false;\n if(this.paymentBy!=undefined )\n localStorage.paymentBy=this.paymentBy;\n \n // if(this.isChangeAdress==1)\n if(res.responseMessage==\"the delivery out of bounds\")\n {\n this.proxy.showError(\"הכתובת שלך מחוץ לטווח \",\"\"); \n this.paymentForm.value.nvStreet=\"\";\n this.searchElementRef=null;\n this.matDialog.closeAll();\n }\n else \n {\n\n this.oneTimeOrderService.sendConfirmationSms(this.order.OrderID , +this.order.Balance ,localStorage.paymentBy == 0 ? 1 : 0).subscribe((res:any)=>{\n // this.matDialog.closeAll();\n // if(this.innerWidth<=480)\n // this.router.navigate(['../verificationCode']);\n // else\n this.openDialog(res);\n });\n // this.showProgress=true\n // if(this.paymentBy==1)\n // {\n // {\n // var last2 = this.year.slice(-2);\n // if(this.month.length==1)\n // this.month=\"0\"+this.month;\n // this.date1=this.month+last2;\n // }\n // if(!this.paymentForm.value.nvCardNumber.startsWith(\"x\"))\n // this.token=null;\n // this.orderService.setOrderPayment(this.paymentForm.value.nvCardNumber,this.date1.replace(\"/\",\"\"),\n // this.paymentForm.value.cvv,this.paymentForm.value.identityNumber,this.paymentForm.value.nvCardholderName,Number(this.order.Balance))\n // .subscribe((res:any)=>\n // {\n // if(res.error==true)\n // {\n // this.showProgress=false;\n // this.isClickPayment=false;\n // this.proxy.showError(res.responseMessage,\"\");\n // }\n // else\n // {\n \n // if(this.order.IsDelivery==1)\n \n // this.orderService.setUpdateOrder5(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,0,2,this.Address,this.lat,this.lng).subscribe((res:any)=>\n // {\n // this.router.navigate(['../endOrder']);\n // });\n \n // else\n // this.orderService.setUpdateOrder4(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,0,2).subscribe((res:any)=>\n // {\n // this.router.navigate(['../endOrder']);\n // });\n // }\n // //this.getOrderDetails();\n // });\n // }\n // else \n // // if(this.paymentBy!=1 )\n // {\n // if(this.order.IsDelivery==1)\n // {\n // this.orderService.setUpdateOrder5(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,1,2,this.Address,this.lat,this.lng).subscribe((res:any)=>\n // {\n // this.router.navigate(['../endOrder']);\n // });\n // }\n // else\n // this.orderService.setUpdateOrder4(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,1,2).subscribe((res:any)=>\n // {\n // this.router.navigate(['../endOrder']);\n // }); \n // }\n }\n //if(this.paymentBy<=1) \n // this.setUserCreditCard();\n \n \n });\n }\n else{\n this.proxy.showError(\"הכתובת שלך מחוץ לטווח\\n חובה לבחור כתובת מגוגל \",\"\"); \n this.matDialog.closeAll();\n this.paymentForm.value.nvStreet=\"\";\n this.searchElementRef=null;\n this.isClickPayment=false;\n }}}\n else\n {\n let email=null;\n if(this.paymentForm.value.nvEmail!=\"\")\n email=this.paymentForm.value.nvEmail;\n this.orderService.setUpdateOrder22(this.order.OrderID,this.paymentForm.value.nvOrderName,this.paymentForm.value.nvPhone,email,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,PaymentBy,status,note,1).subscribe((res:any)=>\n {\n localStorage.MENU_ID=0;\n this.showProgress=false;\n {\n this.oneTimeOrderService.sendConfirmationSms(this.order.OrderID ,+this.order.Balance ,localStorage.paymentBy == 0 ? 1 : 0).subscribe((res:any)=>{\n // if(this.innerWidth<=480)\n // this.router.navigate(['../verificationCode']);\n // else\n this.openDialog(res);\n });\n // this.showProgress=true\n // if(this.paymentBy==1)\n // { \n // var last2 = this.year.slice(-2);\n // if(this.month.length==1)\n // this.month=\"0\"+this.month;\n // this.date1=this.month+last2;\n // if(!this.paymentForm.value.nvCardNumber.startsWith(\"x\"))\n // this.token=null;\n // this.orderService.setOrderPayment(this.paymentForm.value.nvCardNumber,this.date1.replace(\"/\",\"\"),\n // this.paymentForm.value.cvv,this.paymentForm.value.identityNumber,this.paymentForm.value.nvCardholderName,Number(this.order.Balance)).subscribe((res:any)=>\n // {\n // if(res.error==true)\n // {\n // this.showProgress=false;\n // this.isClickPayment=false;\n // this.proxy.showError(res.responseMessage,\"\");\n // }\n // else\n // {\n \n // if(this.order.IsDelivery==1)\n // {\n // this.orderService.setUpdateOrder5(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,0,2,this.Address,this.lat,this.lng).subscribe((res:any)=>\n // {\n // this.router.navigate(['../endOrder']);\n // });\n // }\n // else\n // this.orderService.setUpdateOrder4(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,0,2).subscribe((res:any)=>\n // {\n // this.router.navigate(['../endOrder']);\n // });\n // }\n // });\n // }\n // else \n // {\n // if(this.order.IsDelivery==1)\n // {\n // this.orderService.setUpdateOrder5(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,1,2,this.Address,this.lat,this.lng).subscribe((res:any)=>\n // {\n // this.router.navigate(['../endOrder']);\n // });\n // }\n // else\n // this.orderService.setUpdateOrder4(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,1,2).subscribe((res:any)=>\n // {\n // this.router.navigate(['../endOrder']);\n // }); \n // }\n }\n //this.setUserCreditCard();\n });\n }\n }\n else\n {\n let email=null;\n if(this.paymentForm.value.nvEmail!=\"\")\n email=this.paymentForm.value.nvEmail;\n this.orderService.setUpdateOrder22(this.order.OrderID,this.paymentForm.value.nvOrderName,this.paymentForm.value.nvPhone,email,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,PaymentBy\n ,status,note,1).subscribe((res:any)=>\n {\n localStorage.MENU_ID=0;\n this.showProgress=false;\n localStorage.paymentBy=this.paymentBy;\n // this.setUserCreditCard();\n {\n this.oneTimeOrderService.sendConfirmationSms(this.order.OrderID,+this.order.Balance ,localStorage.paymentBy == 0 ? 1 : 0).subscribe((res:any)=>{\n // this.matDialog.closeAll();\n // if(this.innerWidth<=480)\n // this.router.navigate(['../verificationCode']);\n // else\n this.openDialog(res);\n });\n // this.showProgress=true\n // if(this.paymentBy==1)\n // { \n // var last2 = this.year.slice(-2);\n // if(this.month.length==1)\n // this.month=\"0\"+this.month;\n // this.date1=this.month+last2;\n // if(!this.paymentForm.value.nvCardNumber.startsWith(\"x\"))\n // this.token=null;\n // this.orderService.setOrderPayment(this.paymentForm.value.nvCardNumber,this.date1.replace(\"/\",\"\"),\n // this.paymentForm.value.cvv,this.paymentForm.value.identityNumber,this.paymentForm.value.nvCardholderName,Number(this.order.Balance)).subscribe((res:any)=>\n // {\n // if(res.error==true)\n // {\n // this.showProgress=false;\n // this.isClickPayment=false;\n // this.proxy.showError(res.responseMessage,\"\");\n // }\n // else\n // {\n \n // if(this.order.IsDelivery==1)\n // {\n // this.orderService.setUpdateOrder5(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,0,2,this.Address,this.lat,this.lng).subscribe((res:any)=>\n // {\n // this.router.navigate(['../endOrder']);\n // });\n // }\n // else\n // this.orderService.setUpdateOrder4(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,0,2).subscribe((res:any)=>\n // {\n // this.router.navigate(['../endOrder']);\n // });\n // }\n // });\n // }\n // else \n // {\n // if(this.order.IsDelivery==1)\n // {\n // this.orderService.setUpdateOrder5(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,1,2,this.Address,this.lat,this.lng).subscribe((res:any)=>\n // {\n // this.router.navigate(['../endOrder']);\n // });\n // }\n // else\n // this.orderService.setUpdateOrder4(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,1,2).subscribe((res:any)=>\n // {\n // this.router.navigate(['../endOrder']);\n // }); \n // }\n }\n });\n }\n });\n }\n\nremoveSelectedCountry(event:any){\n // check if the country exists and remove from selectedCountries\n this.proxy.hideKeyboard(event);\n}\n\nkeytab(event){\n let element = event.srcElement.nextElementSibling; // get the sibling element\n\n if(element == null) // check if its null\n return;\n else\n element.focus(); // focus if not null\n}\n\nkeytabAddress(event){\n this.openMap();\n // let element = event.srcElement.nextElementSibling; // get the sibling element\n\n // if(element == null) // check if its null\n // return;\n // else\n // element.focus(); // focus if not null\n}\n\n handleKeyDown()\n{ \n // element.attr('readonly', 'readonly'); // Force keyboard to hide on input field.\n // element.attr('disabled', 'true'); // Force keyboard to hide on textarea field.\n // setTimeout(function() {\n // element.blur(); //actually close the keyboard\n // // Remove readonly attribute after keyboard is hidden.\n // element.removeAttr('readonly');\n // element.removeAttr('disabled');\n // }, 100);\n\n\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n }\n}\n\n openDialog(res :any) {\n\n if (res.error==false )\n {\n const myRes = res\n localStorage.ADDRESS2=localStorage.ADDRESS;\n localStorage.LAT2=localStorage.LAT;\n localStorage.LONG2=localStorage.LONG;\n // this.matDialog.closeAll();\n\n \n\n if (myRes.responseMessage == \"NoSMS\")\n {\n this.goToPayment(3)\n \n return\n }\n \n \n \n\n\n this.dialogRef = this.matDialog.open(VerificationCodeComponent, { disableClose: true });\n\n this.dialogRef.afterClosed().subscribe(result =>{ \n //console.log('The dialog was closed');\n \n this.goToPayment(result)\n\n } )\n\n }\n \n }\n\n sendConfirmationSms()\n{\n this.oneTimeOrderService.sendConfirmationSms(this.order.OrderID , +this.order.Balance ,localStorage.paymentBy == 0 ? 1 : 0).subscribe((res:any)=>{\n \n \n\n this.openDialog(res);\n localStorage.isClickPayment=\"true\";\n });\n}\n\n\ngoToPayment(result : any)\n{\n if (result != null)\n {\nswitch (result){\n// backPress \ncase 1 : \n{\n this.matDialog.closeAll();\n if(localStorage.oneTimeOrderOrOrder=='oneTimeOrder')\n this.router.navigate([\"../payment\"])\n else\n this.router.navigate([\"../securePayment\"])\n};\n//openDialog\n\n \n case 2: \n { \n this.dialogRef = this.matDialog.open(VerificationCodeComponent, {\n backdropClass: 'cdk-overlay-transparent-backdrop',\n hasBackdrop: false,\n disableClose:false\n });\n\n this.dialogRef.afterClosed().subscribe(result =>\n \n { \n\n\n \n this.goToPayment(result)\n\n} )\n break;\n};\n\n\n\n//newPassword after OK of sms\ncase 3: \n{ \n\n //20_11_24 Naomi to chack if has location \n\nif(this.order.IsDelivery==1)\n {\n if (this.order.Lat == 0 && this.order.Lng == 0)\n {\n confirm(\"יש לנו בעיה עם הכתובת בבקשה בחר מחדש\");\n return\n }\n }\n\n this.myAdd = (this.Address != \"\") ? this.Address :this.order.Address \n \n this.dataService.showProgress.next(true);\n this.progress.emit();\n localStorage.isClickPayment=true;\n let IsFromLink=0;\n if(sessionStorage.deeplink==this.order.RestaurantID)\n IsFromLink=1;\n if(localStorage.paymentBy==\"1\")\n { \n this.date1=localStorage.date;\n if(!this.paymentForm.value.nvCardNumber.startsWith(\"x\"))\n this.token=null;\n\n let credit = this.paymentForm.value.nvCardNumber.replaceAll(\" \", \"\");\n \n//בדיקה\n\n\n\n\n\n this.oneTimeOrderService.setOrderPayment(credit,localStorage.date.replace(\"/\",\"\"),\n this.paymentForm.value.cvv,this.paymentForm.value.identityNumber,this.address.nvOrderName,Number(this.order.Balance),localStorage.nvCardholderName).subscribe((res:any)=>\n {\n if(res.error==true)\n {\n this.showProgress=false;\n this.isClickPayment=false;\n this.matDialog.closeAll();\n this.proxy.showError(res.responseMessage,\"\");\n }\n else\n {\n if(res.responseMessage!=\"OK\")\n {\n//18_11_24\n\n\nthis.dialogRef3 = this.matDialog.open(PopupIsCorectOrderComponent,{data : {\n \n myNumber:this.paymentForm.value.nvPhone,\n\n\n} \n , disableClose: true \n} );\n\nthis.dialogRef3.afterClosed().subscribe(result => {\n //console.log('The dialog was closed');\n if (result == \"false\") \n {\n this.showProgress=false;\n this.isClickPayment=false;\n this.matDialog.closeAll();\n }\n else\n { \n\n this.showProgress=false;\n \n this.dialogRef2 = this.matDialog.open(IFrameCreditCardComponent,{data : {\n \n myurl:res.responseMessage,\n\n//1Sucsses\n // onSucsses: (isSucsses: boolean) => {\n // if (isSucsses) {\n // //console.log(\"saassaaaaaa\")\n \n // }\n // }\n \n } \n , disableClose: true \n } );\n \n this.dialogRef2.afterClosed().subscribe(result => {\n //console.log('The dialog was closed');\n if (result == \"true\") \n this.end(IsFromLink)\n else\n {\n this.showProgress=false;\n this.isClickPayment=false;\n this.matDialog.closeAll();\n }\n \n })\n \n }\n })\n }\n else\n {\n this.end(IsFromLink)\n }\n }\n });\n \n }\n else \n {\n if(this.order.IsDelivery==1)\n {\n this.orderService.setUpdateOrder5(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,1,2,this.myAdd,this.order.Lat+\"\",this.order.Lng+\"\",IsFromLink).subscribe((res:any)=>\n {\n this.router.navigate(['../endOrder']);\n this.noItem();\n \n });\n }\n else\n this.orderService.setUpdateOrder4(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,1,2,IsFromLink).subscribe((res:any)=>\n {\n this.router.navigate(['../endOrder']);\n this.noItem();\n }); \n }\n break;\n };\n}\n\n}\n}\n\nend(IsFromLink : number )\n{\n \n if(this.order.IsDelivery==1)\n {\n this.orderService.setUpdateOrder5(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,0,2,this.myAdd,this.order.Lat+\"\",this.order.Lng+\"\",IsFromLink).subscribe((res:any)=>\n {\n \n \n this.router.navigate(['../endOrder']);\n this.noItem();\n\n });\n }\n else\n this.orderService.setUpdateOrder4(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,0,2,IsFromLink).subscribe((res:any)=>\n {\n this.router.navigate(['../endOrder']);\n this.noItem();\n\n });\n \n}\n\n noItem()\n {\n let priceTotal=\"0 - פריטים\";\n localStorage.PRICE=0;\n localStorage.PRICE_TOTAL=priceTotal;\n this.dataService.price.next(priceTotal);\n this.changePrice.emit();\n this.showProgress=false;\n this.dataService.showProgress.next(false);\n this.progress.emit();\n this.matDialog.closeAll();\n }\n\n setUserCreditCard()\n {\n localStorage.paymentBy=this.paymentBy;\n if(this.paymentBy==1)\n {\n var last2 = this.year.slice(-2);\n if(this.month.length==1)\n this.month=\"0\"+this.month;\n this.date1=this.month+last2;\n this.date1=this.paymentForm.value.month+this.paymentForm.value.year;\n localStorage.date=this.date1;\n }\n this.oneTimeOrderService.sendConfirmationSms(this.order.OrderID ,+this.order.Balance ,localStorage.paymentBy == 0 ? 1 : 0).subscribe((res:any)=>{\n // if(this.innerWidth<=480)\n // this.router.navigate(['../verificationCode']);\n // else\n this.openDialog(res);\n localStorage.isClickPayment=\"true\";\n });\n// this.showProgress=true\n// if(this.paymentBy==1)\n// { \n// var last2 = this.year.slice(-2);\n// if(this.month.length==1)\n// this.month=\"0\"+this.month;\n// this.date1=this.month+last2;\n// if(!this.paymentForm.value.nvCardNumber.startsWith(\"x\"))\n// this.token=null;\n// this.orderService.setOrderPayment(this.paymentForm.value.nvCardNumber,this.date1.replace(\"/\",\"\"),\n// this.paymentForm.value.cvv,this.paymentForm.value.identityNumber,this.paymentForm.value.nvCardholderName,Number(this.order.Balance)).subscribe((res:any)=>\n// {\n// if(res.error==true)\n// {\n// this.showProgress=false;\n// this.isClickPayment=false;\n// this.proxy.showError(res.responseMessage,\"\");\n// }\n// else\n// {\n \n// if(this.order.IsDelivery==1)\n// {\n// this.orderService.setUpdateOrder5(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,0,2,this.Address,this.lat,this.lng).subscribe((res:any)=>\n// {\n// this.router.navigate(['../endOrder']);\n// });\n// }\n// else\n// this.orderService.setUpdateOrder4(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,0,2).subscribe((res:any)=>\n// {\n// this.router.navigate(['../endOrder']);\n// });\n// }\n// });\n// }\n// else \n// {\n// if(this.order.IsDelivery==1)\n// {\n// this.orderService.setUpdateOrder5(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,1,2,this.Address,this.lat,this.lng).subscribe((res:any)=>\n// {\n// this.router.navigate(['../endOrder']);\n// });\n// }\n// else\n// this.orderService.setUpdateOrder4(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,1,2).subscribe((res:any)=>\n// {\n// this.router.navigate(['../endOrder']);\n// }); \n// }\n }\n\n payment()\n {\n if(this.isClickPayment==false || localStorage.isClickPayment==\"true\")\n {\n this.isClickPayment=true;\n ////console.log(\"payment\");\n this.valid=true;\n if(this.paymentForm.valid==true)\n {\n this.openLoader();\n if(this.isCreditPayment==true)\n {\n if(this.paymentForm.valid)\n //this.setUserCreditCard();\n this.getOrderDetails();\n else\n this.isClickPayment=false;\n }\n else if(this.isAnotherAddress)\n {\n if(this.paymentForm.valid)\n //this.setUserCreditCard();\n this.getOrderDetails();\n else\n this.isClickPayment=false\n }\n else\n //this.setUserCreditCard();\n this.getOrderDetails();\n}\nelse\nthis.isClickPayment=false;\n}\n}\n\n creditPayment()\n {\n if(localStorage.DELIVERY==1)\n {\n this.createForm();\n this.place();\n //this.IsDelivery=1;\n if(localStorage.ADDRESS!=\"\" && localStorage.ADDRESS!=undefined && localStorage.ADDRESS!='undefined' && localStorage.ADDRESS!=null && localStorage.ADDRESS!=\"null\")\n {\n this.address.nvStreet=localStorage.ADDRESS;\n this.lat=localStorage.LAT;\n this.lng=localStorage.LONG;\n \n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n this.deliveryPrice=this.order.DeliveryPrice;\n this.isDelivery=1;\n });\n }\n }\n else\n {\n this.createForm2();\n // this.IsDelivery=0;\n }\n this.paymentBy=1;\n localStorage.paymentBy=1;\nthis.isCreditPayment=true;\nthis.paymentCreditImg='assets/images/Pay_Page_Chack_Box_On.png';\nthis.cashPaymentImg='assets/images/Pay_Page_Chack_Box_Off.png';\nif(this.payments!=null)\nfor(let j=0;j { \n var options = {\n componentRestrictions: {country: \"IL\"},\n bounds: bangaloreBounds,\n strictBounds: true ,\n }; \n this.geoCoder = new google.maps.Geocoder;\n const autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement,options);\n autocomplete.addListener(\"place_changed\", () => {\n this.ngZone.run(() => {\n //get the place result\n const place: google.maps.places.PlaceResult = autocomplete.getPlace();\n \n //verify result\n if (place.geometry === undefined || place.geometry === null) {\n return;\n }\n //set latitude, longitude and zoom\n this.lat = \"\"+(place.geometry.location.lat());\n this.lng =\"\"+(place.geometry.location.lng());\n this.Address = place.name;\n this.AddressMe = (\"\"+place.name);\n this.zoom = 12;\n this.isChangeAdress=1;\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n this.note=this.order.Note;\n if(this.order.Note==null || this.order.Note=='')\n this.note=null;\n this.isDelivery=0;\n // this.orderService.setOrderAddress(this.Address,this.lat,this.lng).subscribe((res:any)=>{\n // if(res.responseMessage==\"the delivery out of bounds\")\n // {\n // this.proxy.showError(\"הכתובת שלך מחוץ לטווח \",\"\"); \n // this.addressForm.value.nvStreet=\"\";\n // this.searchElementRef=null;\n // }\n // else\n // {\n // this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n // this.order=res;\n // if(this.order.IsDelivery==1)\n // this.isDelivery=1;\n // this.deliveryPrice=this.order.DeliveryPrice;\n // });\n\n //למה לשלוח TotalPrice??\n this.orderService.setUpdateOrder(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,null,\n null,Number(this.order.TotalPrice),1,this.note,0,this.Address,this.lat,this.lng,null,null,null,null,null,0)\n .subscribe((res:any)=>\n {\n if(res.responseMessage==\"the delivery out of bounds\")\n {\n this.proxy.showError(\"הכתובת שלך מחוץ לטווח \",\"\"); \n this.paymentForm.value.nvStreet=\"\";\n this.searchElementRef=null;\n }\n else\n {\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n if(this.order.IsDelivery==1)\n this.isDelivery=1;\n this.deliveryPrice=this.order.DeliveryPrice;\n });\n }});\n});});});});\n }\n\n openMap()\n {\n this.local();\n sessionStorage.pageBack=\"payment\";\n // if(this.innerWidth<=480)\n this.router.navigate(['../map']); \n //else\n // this.matDialog.open(Map2Component)\n }\n\n openLoader()\n {\n this.matDialog.open(LoaderComponent, { disableClose: true });\n }\n\n startLocal()\n {\n this.paymentBy=localStorage.paymentBy;\n if(this.paymentBy==0)\n this.cashPayment();\n else\n this.creditPayment();\n \n }\n\n startLocal2()\n {\n if(localStorage.ADDRESS!=\"\")\n {\n this.place();\n this.paymentForm.value.nvStreet=localStorage.ADDRESS;\n this.Address = localStorage.ADDRESS;\n if(localStorage.ADDRESS!=\"\" && localStorage.ADDRESS!=undefined && localStorage.ADDRESS!='undefined' && localStorage.ADDRESS!=null && localStorage.ADDRESS!=\"null\")\n this.address.nvStreet=localStorage.ADDRESS;\n this.lat=localStorage.LAT;\n this.lng=localStorage.LONG;\n \n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n this.deliveryPrice=this.order.DeliveryPrice;\n this.isDelivery=1;\n });\n \n }\n if(localStorage.phone!=undefined && localStorage.phone!='undefined')\n this.address.nvPhone=localStorage.phone;\n if(localStorage.orderName!=undefined && localStorage.orderName!='undefined' && localStorage.orderName!=\"null\")\n this.address.nvOrderName=localStorage.orderName;\n if(localStorage.email!=undefined && localStorage.email!='undefined')\n this.address.nvEmail=localStorage.email;\n if(localStorage.enter!=undefined && localStorage.enter!='undefined')\n this.address.nvEnter=localStorage.enter;\n this.address.nvfloor=localStorage.floor;\n this.address.nvHouseNumber=localStorage.numberHoush;\n if(localStorage.identityNumber!=undefined && localStorage.identityNumber!='undefined' && localStorage.identityNumber!=null)\n this.methodsPayment.UserIdentity=localStorage.identityNumber;\n if(localStorage.nvCardholderName!=undefined && localStorage.nvCardholderName!='undefined' && localStorage.nvCardholderName!=null)\n this.methodsPayment.UserName=localStorage.nvCardholderName;\n if(localStorage.nvCardNumber!=undefined && localStorage.nvCardNumber!='undefined')\n this.methodsPayment.CardNumber=localStorage.nvCardNumber;\n if(localStorage.cvv!=undefined && localStorage.cvv!='undefined')\n //this.methodsPayment.card_cvv=localStorage.cvv;\n this.paymentForm.controls[\"cvv\"].setValue(localStorage.cvv); \n if(localStorage.date!=undefined && localStorage.date!='undefined' && localStorage.date!=\"\")\n {\n this.date = new FormControl(moment(localStorage.date,\"MM/YY\"));\n let date=localStorage.date;\n date=date.replace(\"/\",\"\");\n this.paymentForm.controls[\"year\"].setValue(date.slice(2)); \n this.paymentForm.controls[\"month\"].setValue(date.slice(0,2)); \n // this.yearElement.nativeElement.value = date.slice(2);\n // this.monthElement.nativeElement.value = date.slice(0,2);\n // this.paymentForm.value.month.setValue(localStorage.date.slice(0, 2));\n // this.paymentForm.value.year.setValue(localStorage.date.slice(2));\n this.methodsPayment.CardDate = localStorage.date.slice(0, 2) + \"/\" + localStorage.date.slice(2);\n\n this.date1=this.methodsPayment.CardDate;\n }\n\n }\n}\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport {MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { PasswordComponent } from '../password/password.component';\nimport { User, UserEditProfile } from 'src/app/models/user';\nimport { UserService} from '../../services/user-service';\nimport { DataService } from 'src/app/services/data.service';\nimport { AppProxy } from 'src/app/services/app-proxy';\n\n@Component({\n selector: 'app-login2',\n templateUrl: './login2.component.html',\n styleUrls: ['./login2.component.scss']\n})\nexport class Login2Component implements OnInit {\n @Output()state: EventEmitter = new EventEmitter();\n public registerForm: FormGroup;\n user:User;\n valid:boolean=false;\n loginObj;\n userEditProfile:UserEditProfile;\n innerWidth:any;\n\n constructor( private router: Router,private proxy:AppProxy,private dataService:DataService,private matDialog:MatDialog,private userService: UserService) {}\n\n forgotPassword(){\n this.router.navigate(['../password']);\n }\n\n createAccount()\n {\n this.matDialog.closeAll();\n sessionStorage.ACCESS_TOKEN = \"null\"\n this.router.navigate(['../register']);\n }\n\n continue()\n {\n let name = this.registerForm.controls['userMail'].value;\n let pass = this.registerForm.controls['userPassword'].value;\n this.userService.login(name,pass).subscribe((res:any)=>{\n this.matDialog.closeAll();\n this.userService.getUserDetails(1).subscribe((res:any)=>{\n this.userEditProfile=res;\n this.userService.setUserPhone(this.userEditProfile.userPhone).subscribe((res:any)=>{ \n this.router.navigate(['../loginPhoneVarification']);\n });\n });\n });\n }\n\n close()\n {\n this.dataService.state.next(\"התחבר\");\n this.state.emit();\n this.matDialog.closeAll();\n }\n\n createForm() {\n this.registerForm = new FormGroup({\n userMail: new FormControl(\"\", Validators.required),\n userPassword: new FormControl(\"\", [Validators.required, Validators.minLength(8),Validators.maxLength(20)]), \n });\n }\n\n ngOnInit(): void {\n this.user = new User();\n this.createForm();\n }\n\n isValidInput(fieldName): boolean {\n if(this.valid==true)\n return this.registerForm.controls[fieldName].invalid;\n }\n}\n\n","
    \n
    \n \n
    \n הזן מספר טלפון נייד, לאיפוס \n
    \n SMS סיסמא ב \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n יש להזין מספר תקין (ספרות בלבד) *\n
    \n
    \n
    \n

    שלח

    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n סיסמא חדשה נשלחה אליך \n
    \n .לשחזור סיסמא ,SMS ב \n
    \n
    \n
    \n

    מגניב תודה!

    \n
    \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.css']\n})\nexport class LoaderComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit ,EventEmitter ,Output ,HostListener ,NgZone, ViewChild, ElementRef, Renderer2 } from '@angular/core';\nimport { Router ,ActivatedRoute, NavigationEnd, RouterEvent, NavigationStart} from '@angular/router';\nimport { fromEvent, Observable, of, Subscription } from \"rxjs\";\nimport { CategoryItem,Category,} from 'src/app/models/category';\nimport { AdditonOrder, MyOrder, OrderAdding, OrderHistory } from 'src/app/models/order';\nimport { ChangeFood, ToppingsItem, ToppingsItemFood ,Restaurant ,RestaurantItem} from 'src/app/models/restaurant';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { PlatformLocation ,LocationStrategy} from '@angular/common';\nimport { DataService } from 'src/app/services/data.service';\nimport { debounceTime, filter, switchMap, take, tap } from 'rxjs/operators';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { catchError } from 'rxjs/operators';\n\n@Component({\n selector: 'app-topping2',\n templateUrl: './topping2.component.html',\n styleUrls: ['./topping2.component.css']\n})\nexport class Topping2Component implements OnInit {\n @Output()changePrice: EventEmitter = new EventEmitter();\n @Output()changeShowPrice: EventEmitter = new EventEmitter();\n @Output()header: EventEmitter = new EventEmitter();\n @Output()changByFood: EventEmitter = new EventEmitter();\n @ViewChild('list')public listElementRef: ElementRef;\n @ViewChild('inputas',{static: true}) inputas: ElementRef;\n buttonText=\"המשך לתשלום\"\n continued=\"המשך\"\n continuedNum=0;\n selected:any=\"לחץ לבחירה\";\n filtered :any;\n totalItems:number=0;\n totalAmount:number=0;\n totalFoodAmount:number=0;\n toppings:OrderAdding[]=[];\n toppingsSelect:OrderAdding[];\n toppingsPage:OrderAdding[]=[];\n //toppingsPage2:OrderAdding[]=[];\n categores:Category[];\n categoresItem:CategoryItem[];\n restaurantItem:RestaurantItem[];\n toppingsItemFood:ToppingsItemFood[];\n toppingsItemFood1:ToppingsItemFood[];\n toppingsItemFood2:ToppingsItemFood[];\n toppingsItemFood3:ToppingsItemFood[];\n toppingsItemFood4:ToppingsItemFood[];\n toppingsItemFood5:ToppingsItemFood[];\n toppingsItemFood6:ToppingsItemFood[];\n toppingsItemFood7:ToppingsItemFood[];\n toppingsItemFood8:ToppingsItemFood[];\n toppingsItemFood9:ToppingsItemFood[];\n toppingsItem:ToppingsItem[];\n toppingsItem1:ToppingsItem[];\n toppingsItem2:ToppingsItem[];\n toppingsItem3:ToppingsItem[];\n toppingsItem4:ToppingsItem[];\n toppingsItem5:ToppingsItem[];\n toppingsItem6:ToppingsItem[];\n toppingsItem7:ToppingsItem[];\n restaurant:Restaurant;\n ordersToShow:OrderHistory[]= new Array();\n orders:OrderHistory[]= new Array();\n foodName:string;\n foodDescription:string;\n ImageFood:string;\n position=4;\n //position2=2;\n public positionPage=1;\n selectedItem=\"\";\n pos1:number;\n posi2:number;\n private selectOption: any;\n priceTotal=\"0-פריטים\";\n clickToPay=\"לחץ לתשלום - \";\n priceAdding=0;\n order:MyOrder;\n Image=\"\";\n Image400=\"\";\n heightAdding:number;\n heightAdding2:number;\n additonOrder:AdditonOrder;\n AdditionList;\n AdditionList2;\n countNumber;\n batta = false;\n //TypeID;\n //TypeID2=null;\n //TypeID3=null;\n //TypeID4=null;\n id=0;\n num=4;\n scrollList:number=4;\n resizeObservable$: Observable\n resizeSubscription$: Subscription;\n pointOff=\"assets/images/point_off.png\";\n pointOn=\"assets/images/point_on.png\";\n checkboxOn=\"assets/images/chack_box_on.png\";\n checkboxOff=\"assets/images/chack_box_off.png\"\n listLength:number;\n full=false;\n innerWidth: any;\n innerHeight: any;\n innerHeight1: any;\n innerHeight2: any;\n inviteName:string=\"\";\n inviteName2:string=\"\";\n loc=-1;\n mySubscription;\n key;\n renderer: Renderer2;\n keyboard=false;\n popup=1;\n showProgress=false;\n private routerSubscription: Subscription;\n private isNavigatingBack3 = false;\n previousUrl:string\n\n\n ngAfterContentInit() {\n if(this.renderer && this.renderer.selectRootElement(this.inputas[\"nativeElement\"])!=null)\n this.renderer.selectRootElement(this.inputas[\"nativeElement\"]).focus();\n}\n\n@HostListener('keydown', ['$event']) onKeyDown(e) {\n if ((e.which == 13 || e.keyCode == 13)) {\n e.preventDefault();\n if (e.srcElement.nextElementSibling) {\n e.srcElement.nextElementSibling.focus();\n }\n else{\n //console.log('close keyboard');\n this.proxy.hideKeyboard(e);\n e.srcElement.nextElementSibling.blur();\n \n }\n // this.onBlur();\n return;\n }\n}\n\n constructor(private zone: NgZone,private matDialog:MatDialog, private locationStrategy: LocationStrategy,private router: Router ,private dataService:DataService,location: PlatformLocation,private orderService:OrdersService,private bussinssService: BussinssService,private proxy: AppProxy,private route: ActivatedRoute) \n { \n\n\n}\n\n ngOnInit(): void {\n\n //naomi change\n this.routerSubscription = this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n this.previousUrl = event.url;\n }\n });\n window.addEventListener('popstate', this.onPopState3.bind(this));\n\n this.dataService.header.next(false);\n this.header.emit();\n this.dataService.endToppings.next(true);\n this.dataService.notEndToppings=true;\n this.header.emit();\n this.keyboard=false;\n this.position=4;\n //this.listElementRef.nativeElement.scrollTop(0,0)\n this.proxy.scrollToTop(); \n //window.scrollTo(0,0);\n this.router.routeReuseStrategy.shouldReuseRoute = function () {\n return false;\n };\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n //console.log(\"getOrderDetails10\",\"getOrderDetails\"); \n this.order=res;\n if(this.order.list.length==0)\n {\n localStorage.ID_CATEGORY=this.order.RestaurantID;\n let url: string = \"/restaurantCategory/\" + this.order.RestaurantID\n this.router.navigateByUrl(url);\n //this.matDialog.closeAll();\n //this.router.navigate(['../restaurantCategory']);\n }\n else\n {\n this.innerWidth = window.innerWidth;\n\n this.innerHeight1 = Number(window.innerHeight-40);\n this.innerHeight2 = Number(this.innerHeight-294);\n if(this.innerWidth<=480)\n {\n this.num=2;\n this.scrollList=3;\n this.position=2;\n // this.listElementRef.nativeElement.scrollTop(0,0)\n // this.dataService.header.next(false);\n // this.header.emit(); \n }\n else\n {\n this.num=4;\n this.scrollList=4;\n this.position=4;\n \n \n }\n // this.dataService.showSearch.next(false);\n // this.changByFood.emit();\n \n localStorage.PAGE_BACK=\"\";\n // this.dataService.show.next(false);\n // this.changeShowPrice.emit();\n \n // window.scroll(0,0);\n this.priceAdding=0;\n this.posi2=localStorage.position;\n this.pos1=localStorage.pos;\n // this.pos1= this.route.snapshot.params.pos;\n // this.posi2= this.route.snapshot.params.position;\n this.loc=-1;\n for(let y=0;y1)\n this.loc=Number(this.loc)+Number(this.posi2)-1;\n if(this.order.list[this.loc].InviteName!=undefined && this.order.list[this.loc].InviteName!=null && this.order.list[this.loc].InviteName!=\"\" && this.order.list[this.loc].listAddition.length>0)\n {\n if(this.num==2)\n this.inviteName2=this.order.list[this.loc].InviteName;\n else\n this.inviteName=this.order.list[this.loc].InviteName;\n }\n if(this.order.list[this.loc]!=null && this.order.list[this.loc].listAddition!=null && this.order.list[this.loc].listAddition.length>0)\n this.full=true;\n this.totalAmount=this.order.list[this.loc].Price;\n this.totalFoodAmount=this.order.list[this.loc].Price;\n for(let w=0;w{\n this.additonOrder=res;\n \n if(this.additonOrder.ImgFile!=null)\n this.Image400=this.order.list[this.loc].BigImgFile;\n this.orderService.orderAddingList=this.additonOrder.list;\n this.toppings=this.additonOrder.list;\n for(let j=0;j0)\n this.toppings[j].listA[m].PriceText='(+ '+ '₪' + this.toppings[j].listA[m].Price +')' ;\n }\n if(this.toppings!=null)\n if(this.toppings.length<=this.num)\n {\n this.continued=\"סיום\";\n this.continuedNum=1;\n }\n else\n {\n this.continued=\"המשך\";\n this.continuedNum=0;\n }\n this.listLength=Number(this.toppings.length/2);\n if(Number(Number(this.toppings.length/2)%2)!=0)\n this.listLength=Number(Number(this.listLength)+1)-(Number(this.toppings.length/2)%2);\n this.foodName=this.additonOrder.Name;\n if(this.additonOrder.Description!=\"\")\n this.foodDescription=this.additonOrder.Description;\n else\n this.foodDescription=this.additonOrder.Ingredients;\n this.ImageFood=this.additonOrder.ImgFile;\n if(this.toppings!=null && this.toppings.length>0 )\n {\n // this.toppingsPage.push(this.toppings[0]);\n // if(this.toppings.length>1)\n // {\n // this.toppingsPage.push(this.toppings[1]);\n // }\n // if(this.num>2)\n // {\n // if(this.toppings.length>2)\n // this.toppingsPage.push(this.toppings[2]);\n // if(this.toppings.length>3)\n // this.toppingsPage.push(this.toppings[3]);\n // }\n this.toppingsPage=this.toppings;\n //this.listElementRef.nativeElement.scrollTop(0,0)\n if(this.full==true)\n {\nfor(let m=0;m0 && this.toppingsPage[m].listA[q].CountChoose>0)\n{\nif(this.toppingsPage[m].listA[q].PriceTotal==null)\nthis.toppingsPage[this.mySubscription].listA[q].PriceTotal=Number(this.toppingsPage[m].listA[q].Price);\nelse\n{\nif(this.toppingsPage[m].listA[q].PriceTotal==-1)\nthis.toppingsPage[m].listA[q].PriceTotal=0;\nthis.toppingsPage[m].listA[q].PriceTotal+=Number(this.toppingsPage[m].listA[q].Price);\n}\n }\n } \n}\n }\n \n this.position=this.toppingsPage.length;\n this.AdditionList=\"\";\n this.AdditionList2=\"\";\n// this.TypeID=this.toppingsPage[0].TypeID;\n// if(this.toppingsPage.length>1)\n// this.TypeID2=this.toppingsPage[1].TypeID;\n// if(this.toppingsPage.length>2)\n// this.TypeID3=this.toppingsPage[2].TypeID;\n// if(this.toppingsPage.length>3)\n// this.TypeID4=this.toppingsPage[3].TypeID;\n this.heightAdding=0;\n this.heightAdding2=0;\n for(let j=0;j{\n this.restaurant=res;\n this.restaurantItem=this.restaurant.MenuList;\n for(let i=0; i0)\n {\n this.totalItems+=this.restaurantItem[j].Amount;\n this.totalAmount+=Number(this.totalItems)* Number(this.restaurantItem[j].Price);\n }\n \n if(this.toppings!=null && this.toppings.length>0 )\n {\n// this.toppingsPage.push(this.toppings[0]);\n// if(this.toppings.length>1)\n// {\n// this.toppingsPage.push(this.toppings[1]);\n// }\n// if(this.toppings.length>2)\n// this.toppingsPage.push(this.toppings[2]);\n// if(this.toppings.length>3)\n// this.toppingsPage.push(this.toppings[3]);\nthis.toppingsPage=this.toppings;\nthis.heightAdding=0;\nfor(let j=0;j450)\n this.heightAdding=450;\n if(Number(this.heightAdding2)>450)\n this.heightAdding2=450;\n this.toppingsPage[j].CountChoose=0;\n }}\n if(this.toppings!=null)\n\n if(this.bussinssService.restaurant!=null)\n this.restaurant=this.bussinssService.restaurant;\n if(this.restaurant!=null && this.restaurant.LongImage!=null)\n this.Image=this.restaurant.LongImage;\n }\n });\n window.scroll(0,0);\n\n }\n\n\n onBlur()\n {\n this.keyboard=false;\n // this.listElementRef.nativeElement.scrollTop(0,0)\n //console.log('onBlur', \"onBlur\");\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n //console.log('onBlur2', \"onBlur\");\n }\n //this.innerHeight = window.innerHeight;\n // this.innerHeight = Number(this.innerHeight-100);\n }\n\n clickList(pos:number,position:number,toppingText:string,newValue)\n {\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.router.navigate(['../mainHome']);\n else\n {\n let posi=pos;\n if(this.orderService.restaurant==null)\n this.orderService.restaurant=this.restaurant;\n for(let i=0;i< this.toppings.length;i++)\n {\n if(this.toppings[i].Type!=null)\n if(this.toppings[i].Type==this.toppingsPage[pos].Type)\n {\n posi=i;\n break\n }\n }\n let OrderAddingItem=this.toppings[posi].listSelect[position];\n }\n }\n\n selectItem_(pos:number,position:number,toppingText:string,Type:string,inde:number,TypeID:number)\n {\n if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.router.navigate(['../mainHome']);\n else\n {\n let posi=pos;\n if(this.orderService.restaurant==null)\n this.orderService.restaurant=this.restaurant;\n for(let i=0;i0)\n for(let i=0;i<2;i++)\n if(this.toppingsPage.length>i)\n {\n for(let p=0;p1)\n this.AdditionList +=\",\";\n this.AdditionList += orderAddingItemFood.ID;\n for(let m=1;m2)\n for(let i=2;i<4;i++)\n if(this.toppingsPage.length>i)\n {\n for(let p=0;p1)\n this.AdditionList2 +=\",\";\n this.AdditionList2 += orderAddingItemFood.ID;\n for(let m=1;m=this.toppingsPage[pos].CountAdditionFree && this.toppingsPage[pos].CountChoose0 && (this.toppingsPage[pos].CountAdditionFree<=this.toppingsPage[pos].CountChoose || this.toppingsPage[pos].CountAdditionFree==0))\n{\n if(this.toppingsPage[pos].CountAdditionFree>0)\n {\nthis.toppings[posi].listA[position].PriceTotal=0;\n }\nthis.totalAmount-=Number(Number(this.toppings[posi].listA[position].Price)*count);\nthis.totalFoodAmount-=Number(Number(this.toppings[posi].listA[position].Price)*count);\n}\n\nthis.toppings[posi].listA[position].CountChoose=0; \n}\nelse{\n this.toppingsPage[pos].CountChoose=0;\n \n for(let m=0;m0)\n {\n this.totalAmount-=Number(this.toppingsPage[pos].listA[m].Price);\n this.totalFoodAmount-=Number(this.toppingsPage[pos].listA[m].Price);\n }\n }\n this.toppingsPage[pos].listA[m].IsChoose=0;\n }\n this.toppingsPage[pos].listA[position].IsChoose=1;\n this.toppingsPage[pos].listA[position].CountChoose=1;\n if(this.toppingsPage[pos].listA[position].Price>0 && (this.toppingsPage[pos].CountAdditionFree<=this.toppingsPage[pos].CountChoose || this.toppingsPage[pos].CountAdditionFree==0 ) )\n{\nthis.totalAmount=Number(this.totalAmount)+Number(this.toppingsPage[pos].listA[position].Price);\nthis.totalFoodAmount=Number(this.totalFoodAmount)+Number(this.toppingsPage[pos].listA[position].Price);\nif(this.toppingsPage[pos].listA[position].PriceTotal==null)\nthis.toppingsPage[pos].listA[position].PriceTotal=Number(this.toppingsPage[pos].listA[position].Price);\nelse\n{\n if(this.toppingsPage[pos].listA[position].PriceTotal==-1)\n this.toppingsPage[pos].listA[position].PriceTotal=0;\nthis.toppingsPage[pos].listA[position].PriceTotal+=Number(this.toppingsPage[pos].listA[position].Price);\n}\n }\n this.toppingsPage[pos].CountChoose+=1;\n }\n else if(this.toppingsPage[pos].CountChoose==0 || (this.toppingsPage[pos].CountChoose0 && (this.toppingsPage[pos].CountAdditionFree<=this.toppingsPage[pos].CountChoose || this.toppingsPage[pos].CountAdditionFree==0 ) )\n{\nthis.totalAmount=Number(this.totalAmount)+Number(this.toppingsPage[pos].listA[position].Price);\nthis.totalFoodAmount=Number(this.totalFoodAmount)+Number(this.toppingsPage[pos].listA[position].Price);\nif(this.toppingsPage[pos].listA[position].PriceTotal==null)\nthis.toppingsPage[pos].listA[position].PriceTotal=Number(this.toppingsPage[pos].listA[position].Price);\nelse\n{\n if(this.toppingsPage[pos].listA[position].PriceTotal==-1)\n this.toppingsPage[pos].listA[position].PriceTotal=0;\nthis.toppingsPage[pos].listA[position].PriceTotal+=Number(this.toppingsPage[pos].listA[position].Price);\n}\n }\n this.toppingsPage[pos].CountChoose+=1;\n }\n else\n this.proxy.showError(\" לא ניתן לבחור תוספת \\n נוספת\",\"\");\n}\n}\n}\n if(this.order!=null && this.order.list!=null)\n for(let i=0; i0)\n for(let i=0;i<2;i++)\n if(this.toppingsPage.length>i)\n {\n for(let p=0;p1)\n this.AdditionList +=\",\";\n this.AdditionList += orderAddingItemFood.ID;\n for(let m=1;m2)\n for(let i=2;i<4;i++)\n if(this.toppingsPage.length>i)\n {\n for(let p=0;p1)\n this.AdditionList2 +=\",\";\n this.AdditionList2 += orderAddingItemFood.ID;\n for(let m=1;m0 && (this.toppingsPage[pos].CountAdditionFree<=this.toppingsPage[pos].CountChoose || this.toppingsPage[pos].CountAdditionFree==0 ) )\n {\n //if(this.toppingsPage[posi].listA[i].CountChoose>this.toppingsPage[posi].Count)\n // this.toppingsPage[posi].listA[i].CountChoose=this.toppingsPage[posi].Count;\n this.totalAmount=Number(this.totalAmount)+Number(this.toppingsPage[pos].listA[i].Price);\n this.totalFoodAmount=Number(this.totalFoodAmount)+Number(this.toppingsPage[pos].listA[i].Price);\n if(this.toppingsPage[pos].listA[i].PriceTotal==null)\n this.toppingsPage[pos].listA[i].PriceTotal=Number(this.toppingsPage[pos].listA[i].Price);\n else\n {\n if(this.toppingsPage[pos].listA[i].PriceTotal==-1)\n this.toppingsPage[pos].listA[i].PriceTotal=0;\n this.toppingsPage[pos].listA[i].PriceTotal+=Number(this.toppingsPage[pos].listA[i].Price);\n }\n }\n this.toppingsPage[pos].CountChoose+=1;\n }\n else\n this.proxy.showError(\" לא ניתן לבחור תוספת \\n נוספת\",\"\");\n }\n\n minus(pos,i:number)\n {\n let posi=pos;\n if(this.toppingsPage[pos].listA[i].CountChoose>0)\n {\n this.toppingsPage[pos].listA[i].CountChoose-=1;\n if(this.toppingsPage[pos].listA[i].CountChoose<=0)\n this.toppings[pos].listA[i].IsChoose=0;\n if(this.toppingsPage[pos].listA[i].Price>0 && (this.toppingsPage[pos].CountAdditionFree {\n // history.pushState(null, null, location.href);\n // })\n // }\n \n\n back14()\n {\n if(this.toppings.length>this.num && this.positionPage>1)\n {\n this.positionPage-=1;\n this.toppingsPage=[];\n let p;\n//if(this.position==this.toppings.length)\n{\n if(this.position%2==0)\n this.position=this.position-4;\n else\n this.position=this.position-3;\n}\n//else\n//this.position=this.position-2;\n this.continuedNum=0;\n if(this.orderService.restaurant==null)\n this.orderService.restaurant=this.restaurant;\n for(let j=0;j0)\n {\n let amount =this.order.list[pos].Count;\n amount=Number(Number(amount)-1);\n }\n this.totalItems=0;\n let p:number=0;\n if(this.order.list[pos]!=null && this.order.list[pos].Price!=null)\n p=this.order.list[pos].Price;\n this.totalAmount=(Number(this.totalAmount)- Number(p));\n let count=0;\n for(let i=0;ithis.pos1)\n this.orderService.restaurant.MenuList[this.pos1].Rate=count;\n // this.order.list[pos].Rate=this.order.list[pos].Count;\n // this.order.list[pos].Rate-=1;\n // this.totalAmount-= this.restaurantItem[i].Price;\n if(this.totalAmount>0)\n for(let i=0;i0)\n this.totalItems+=Number(this.order.list[i].Rate);\n }\n // if(this.totalItems>0)\n // {\n // this.priceTotal=this.clickToPay+\"\"+this.totalAmount+\" \"+\"₪\";\n // localStorage.PRICE_TOTAL=this.priceTotal;\n // this.dataService.price.next(this.priceTotal);\n // this.changePrice.emit();\n // }\n // else\n // {\n // this.totalAmount=0;\n // this.totalFoodAmount=0;\n // this.priceTotal=\"0 - פריטים\";\n // localStorage.PRICE=0;\n // localStorage.PRICE_TOTAL=this.priceTotal;\n // this.dataService.price.next(this.priceTotal);\n // this.changePrice.emit();\n // }\n localStorage.PRICE_TOTAL=this.priceTotal;\n\n let location:number;\n if(this.orderService.restaurant!=null && this.orderService.restaurant.MenuList!=null\n && this.orderService.restaurant.MenuList.length>this.pos1 && this.orderService.restaurant.MenuList[this.pos1].ChangeFood!=null)\n location = this.orderService.restaurant.MenuList[this.pos1].ChangeFood.length-1;\n location-=1;\n if(this.orderService.restaurant!=null && this.orderService.restaurant.MenuList!=null && this.orderService.restaurant.MenuList[this.pos1].ChangeFood!=null)\n this.orderService.restaurant.MenuList[this.pos1].ChangeFood.splice(this.posi2,1);\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n if(this.order.list!=null && this.order.list.length!=0 && localStorage.edit==\"false\")\n this.orderService.addToBagOrder(this.order.list[pos].ID,this.order.OrderID,this.order.list[pos].MenuNumber).subscribe((res:any)=>{\n if(this.orderService.restaurant!=null && this.orderService.restaurant.MenuList[this.pos1].ChangeFood!=null && this.orderService.restaurant.MenuList[this.pos1].ChangeFood.length>location)\n delete this.orderService.restaurant.MenuList[this.pos1].ChangeFood[location]; \n if(this.orderService.restaurant!=null && this.orderService.restaurant.MenuList[this.pos1].ChangeFood!=null &&this.orderService.restaurant.MenuList[this.pos1].ChangeFood.length>0 )\n this.orderService.restaurant.MenuList[this.pos1].ChangeFood.length=location;\n //if(this.orderService.restaurant!=null && this.orderService.restaurant.MenuList[this.pos1].Rate==0)\n // this.orderService.restaurant.MenuList[this.pos1].ChangeFood=null;\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n let url: string = \"/restaurant/\" + (this.orderService.restaurant ? this.orderService.restaurant.NameEn :this.restaurant.NameEn) ;\n this.router.navigateByUrl(url);\n //this.matDialog.closeAll();\n \n//history.back();\n });\n });\n else\n {\n let url: string = \"/restaurant/\" + (this.orderService.restaurant ? this.orderService.restaurant.NameEn :this.restaurant.NameEn) ;\n this.router.navigateByUrl(url);\n //this.matDialog.closeAll();\n //history.back();\n }\n //this.router.navigate(['../restaurant']);\n });\n }\n }\n\n isBack()\n {\n // let url: string = \"/restaurant/\" + this.orderService.restaurant.NameEn;\n // this.router.navigateByUrl(url);\n //history.back();\n }\n\n selectRequired2() {\n let isValid = true;\n this.toppingsPage.forEach(topping => {\n if (topping.CountChoose < topping.RequiredCount) {\n isValid = false;\n }\n });\n return isValid;\n }\n\n selectRequired():boolean\n {\n let selectRequired=true;\n\n let requiredCount=0;\n for(let j=0;j0 )\n {\n selectRequired=true;\n requiredCount=0;\n \n for(let m=0;m 0) {\n for (let i = 0; i < this.toppingsPage.length; i++) {\n if (this.toppingsPage.length > i) {\n for (let p = 0; p < this.toppingsPage[i].listA.length; p++) {\n let orderAddingItemFood = this.toppingsPage[i].listA[p];\n if (orderAddingItemFood.IsChoose === 1) {\n y += 1;\n if (y > 1) {\n additionList += \",\";\n }\n additionList += orderAddingItemFood.ID;\n if (orderAddingItemFood.CountChoose > 1) {\n for (let m = 1; m < orderAddingItemFood.CountChoose; m++) {\n additionList += \",\";\n additionList += orderAddingItemFood.ID;\n }\n }\n }\n }\n }\n }\n }\n \n y = 0;\n \n if (this.orderService.order != null) {\n for (let i = 0; i < this.orderService.order.list.length; i++) {\n if (this.orderService.order.list[i].MenuID == this.restaurant.MenuList[this.pos1].ID) {\n this.id = this.orderService.order.list[i].ID;\n }\n }\n }\n \n if (this.id === 0 || this.id === null) {\n this.id=Number(localStorage.MENU_ID)\n }\n \n if (additionList !== \"\") {\n this.AdditionList = additionList;\n }\n this.orderService.setOrderAdditionSite(this.id, this.AdditionList, Number(this.posi2)).subscribe((res: any) => {\n if ((this.inviteName2 !== \"\" && this.inviteName2 !== null) ||\n (this.order.list[this.loc].InviteName !== undefined && this.order.list[this.loc].InviteName !== \"\" && this.order.list[this.loc].InviteName !== null)) {\n this.orderService.setInviteName(this.id, Number(this.posi2), this.inviteName2).subscribe((res: any) => {\n this.getOrderDetails3(false);\n });\n } else {\n this.getOrderDetails3(false);\n }\n });\n \n this.isNavigatingBack3 = true\n this.batta = true\n \n } else {\n this.proxy.showError(\"לא בחרת את כל \\n שדות החובה\", \"\");\n this.heightAdding = 0;\n this.heightAdding2 = 0;\n \n for (let j = 0; j < this.toppingsPage.length; j++) {\n for (let q = 0; q < this.toppingsPage[j].listA.length; q++) {\n if (this.toppingsPage[j].listA[q].IsChoose === 1) {\n this.selectItem(j, q, false);\n }\n }\n }\n }\n \n for (let m = 0; m < this.toppingsPage.length; m++) {\n for (let q = 0; q < this.toppingsPage[m].listA.length; q++) {\n this.toppingsPage[m].listA[q].PriceTotal = this.toppingsPage[m].listA[q].Price;\n let count = Number(this.toppingsPage[m].listA[q].CountChoose) - Number(this.toppingsPage[m].CountAdditionFree);\n this.toppingsPage[m].listA[q].PriceTotal = Number(this.toppingsPage[m].listA[q].Price) * count;\n \n if (this.toppingsPage[m].CountChoose == null || this.toppingsPage[m].CountChoose === undefined) {\n this.toppingsPage[m].CountChoose = 0;\n }\n this.toppingsPage[m].CountChoose += this.toppingsPage[m].listA[q].CountChoose;\n }\n }\n }\n \n\n\n \n\n \n\n getOrderDetails3(back:boolean)\n {\n //this.listElementRef.nativeElement.scrollTo( 0, 0 );\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n this.totalAmount=Number(this.order.TotalPrice);\n this.totalFoodAmount=Number(this.order.list[this.loc].Price);\n for(let w=0;w{\n this.order=res;\n this.totalAmount=Number(this.order.TotalPrice);\n this.totalFoodAmount=Number(this.order.list[this.loc].Price);\n for(let w=0;w{\n this.order=res;\n for(let j=0;j {\n if (this.isNavigatingBack3) {\n //console.log('Navigating Back: Server response');\n return;\n }\n\n //console.log('Navigating Back: Server response 44');\n event.preventDefault();\n this.isNavigatingBack3 = true;\n //console.log('Server response 44 ')\n this.makeServerCall().subscribe(response => {\n //console.log('Server response:', response);\n //this.isNavigatingBack3 = false;\n // this.router.navigate([this.previousUrl]);\n }, error => {\n console.error('Server error:', error);\n this.isNavigatingBack3 = false;\n });\n}\n\nprivate makeServerCall(): Observable {\n this.dataService.notEndToppings = false;\n if (this.batta == true)\n {\n //console.log(\"בה\")\n return of(false);\n }\n //console.log(\"בטטה\" , this.batta)\n this.batta = true\n\n \n let pos = this.order.list.length;\n pos = Number(pos) - 1;\n\n if (this.order.list.length > 0) {\n let amount = this.order.list[pos].Count;\n amount = Number(amount) - 1;\n }\n this.totalItems = 0;\n let p: number = 0;\n if (this.order.list[pos] != null && this.order.list[pos].Price != null)\n p = this.order.list[pos].Price;\n this.totalAmount = (Number(this.totalAmount) - Number(p));\n let count = 0;\n for (let i = 0; i < this.order.list.length; i++) {\n if (this.order.list[i].MenuID == this.order.list[pos].MenuID)\n count += 1;\n }\n count -= 1;\n if (this.orderService.restaurant != null && this.orderService.restaurant.MenuList != null && this.orderService.restaurant.MenuList.length > this.pos1)\n this.orderService.restaurant.MenuList[this.pos1].Rate = count;\n\n if (this.totalAmount > 0)\n for (let i = 0; i < this.order.list.length; i++) {\n if (Number(this.order.list[i].Rate) > 0)\n this.totalItems += Number(this.order.list[i].Rate);\n }\n\n localStorage.PRICE_TOTAL = this.priceTotal;\n\n let location: number;\n if (this.orderService.restaurant != null && this.orderService.restaurant.MenuList != null\n && this.orderService.restaurant.MenuList.length > this.pos1 && this.orderService.restaurant.MenuList[this.pos1].ChangeFood != null)\n location = (this.orderService.restaurant.MenuList[this.pos1].ChangeFood.length) - 2;\n //location -= 1;\n if (this.orderService.restaurant != null && this.orderService.restaurant.MenuList != null && this.orderService.restaurant.MenuList[this.pos1].ChangeFood != null)\n this.orderService.restaurant.MenuList[this.pos1].ChangeFood.splice(this.posi2, 1);\n\n if (this.order.list != null && this.order.list.length != 0 && localStorage.edit == \"false\") {\n //this.loc naomiChange\n return new Observable(observer => { this.orderService.addToBagOrder(this.order.list[pos].ID, this.order.OrderID, this.order.list[this.loc].MenuNumber).subscribe((res:any)=>\n {\n \n if (this.orderService.restaurant != null && this.orderService.restaurant.MenuList[this.pos1].ChangeFood != null && this.orderService.restaurant.MenuList[this.pos1].ChangeFood.length > location)\n delete this.orderService.restaurant.MenuList[this.pos1].ChangeFood[location];\n if (this.orderService.restaurant != null && this.orderService.restaurant.MenuList != null && this.orderService.restaurant.MenuList.length > this.pos1 && this.orderService.restaurant.MenuList[this.pos1].ChangeFood != null && this.orderService.restaurant.MenuList[this.pos1].ChangeFood.length > 0)\n this.orderService.restaurant.MenuList[this.pos1].ChangeFood.length = location;\n\n this.orderService.getOrderDetails(false).subscribe(\n (res2: any) => {\n if (this.orderService.order == null)\n {\n return null ;\n }\n this.order = res2;\n localStorage.ID = this.orderService.restaurant.ID;\n let price=Number(this.orderService.order.TotalPrice);\n\n\n //console.log(\"getOrderDetails16\",price);\n //this.orderService.order.TotalPrice=price+\"\";\n localStorage.PRICE=price;\n this.priceTotal=this.clickToPay+price+\" ₪\";\n this.dataService.price.next(this.priceTotal);\n this.changePrice.emit();\n this.dataService.header.next(true);\n this.header.emit();\n this.dataService.byFood.next(true);\n this.changByFood.emit();\n this.dataService.show.next(true);\n this.changeShowPrice.emit();\n this.dataService.showSearch.next(true);\n this.changByFood.emit();\n localStorage.SHOW = true;\n //this.isNavigatingBack3 = false;\n //this.router.navigate([this.previousUrl]);\n let url = \"/restaurant/\" + this.orderService.restaurant.NameEn;\n this.router.navigateByUrl(url);\n \n observer.next(true);\n });\n }\n );\n })\n } else {\n return of(true);\n }\n}\n}\n\n\n\n\n\n","
    \n
    \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n שדה חובה\n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n שדה חובה\n
    \n

    שכחתי סיסמא

    \n
    \n
    \n
    \n \n המשך\n
    \n
    \n \n צור חשבון\n
    \n
    \n
    \n
    \n\n","import { Component, OnInit, ChangeDetectionStrategy, ViewChild, VERSION } from '@angular/core';\nimport { Category, CategoryItem, ListImages } from 'src/app/models/category';\nimport { ChangeFood, OpenningHours } from 'src/app/models/restaurant'\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { LoginComponent } from '../login/login.component';\nimport { NgbCarouselConfig } from '@ng-bootstrap/ng-bootstrap';\nimport { Router, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { AppComponent } from '../../app.component';\nimport { Observable } from 'rxjs';\nimport { UserService } from 'src/app/services/user-service';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { AppProxy } from 'src/app/services/app-proxy';\n//import { SlickModule } from 'ngx-slick';\nimport { SliderComponent } from '../slider/slider.component';\nimport { Gallery, GalleryItem, ImageItem, ThumbnailsPosition, ImageSize } from 'ng-gallery';\nimport { Lightbox } from 'ng-gallery/lightbox';\nimport { CarouselModule } from 'primeng/carousel';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { MyOrder } from 'src/app/models/order';\nimport { PopupOrderComponent } from '../popup-order/popup-order.component';\nimport { PopupEnterComponent } from '../popup-enter/popup-enter.component';\nimport { PopupEnter2Component } from '../popup-enter2/popup-enter2.component';\nimport { Meta } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-category',\n templateUrl: './category.component.html',\n styleUrls: ['./category.component.scss']\n})\nexport class CategoryComponent implements OnInit {\n stars: number[] = [1, 2, 3, 4, 5];\n changeFood: ChangeFood[];\n responsiveOptions;\n innerWidth: any;\n\n constructor(private orderService: OrdersService, public gallery: Gallery, public lightbox: Lightbox, private proxy: AppProxy, config: NgbCarouselConfig, private userService: UserService, private bussinssService: BussinssService, private matDialog: MatDialog, private router: Router, private app: AppComponent , private metaService: Meta) {\n this.addTag();\n config.interval = 1500;\n config.wrap = true;\n config.keyboard = true;\n config.pauseOnHover = true;\n }\n\n canActivate(): boolean | UrlTree | Observable | Promise {\n throw new Error('Method not implemented.');\n }\n\n categoresItem: CategoryItem[];\n categoresItemLastMenu: CategoryItem[] = [];\n categores: Category[];\n currentIndex: number = 0;\n private activeIndex: number = 0;\n items: GalleryItem[];\n Rate = new Array(3);\n imageData = data;\n priceTotal = \"0-פריטים\"\n price = 0;\n order: MyOrder;\n isClick = false;\n listImages: ListImages;\n imagesSlide: string[] = [];\n openningHours: OpenningHours[] = [];\n dayTime = \"\";\n showProgress = false;\n\n payment() {\n\n }\n\n slideConfig = {\n slidesToShow: 3,\n slidesToScroll: 1,\n autoplay: true,\n autoplaySpeed: 1500,\n infinite: true,\n nextArrow: '\\n',\n prevArrow: '\\n',\n arrows: true,\n dots: true,\n };\n\n public invokeAutoSuggest(ev: Event) {\n }\n\n public nextActiveMatch() {\n this.activeIndex = this.activeIndex < this.categoresItem.length - 1 ? ++this.activeIndex : this.activeIndex;\n }\n public prevActiveMatch() {\n this.activeIndex = this.activeIndex > 0 ? --this.activeIndex : 0;\n }\n\n addTag() {\n this.metaService.addTag({ name: 'description', content: 'Article Description' });\n this.metaService.addTag({ name: 'robots', content: 'index,follow' });\n this.metaService.addTag({ property: 'og:title', content: 'Content Title for social media' });\n }\n\n openDialog() {\n\n //if(localStorage.ACCESS_TOKEN == \"null\" || localStorage.ACCESS_TOKEN == null || localStorage.ACCESS_TOKEN == \"\")\n // {\n // localStorage.ACCESS_TOKEN = \"null\";\n // const dialogConfig = new MatDialogConfig();\n // this.matDialog.open(LoginComponent, { disableClose: true });\n // if(this.innerWidth<=480)\n //this.router.navigate(['../popupEnter' ,{ disableClose: true }] );\n //else\n //{\n //const dialogConfig = new MatDialogConfig();\n if(sessionStorage.dialog==\"false\" || sessionStorage.dialog==undefined)\n {\n sessionStorage.dialog=\"true\"\n if(sessionStorage.deeplink==\"\")\n {\n //console.log(\"PopupEnterComponent\");\n \n // this.matDialog.closeAll();\n if (this.innerWidth <= 480)\n this.matDialog.open(PopupEnter2Component);\n else\n this.matDialog.open(PopupEnterComponent);\n }\n }\n //}\n }\n\n imgSlide(pos: number) {\n if(sessionStorage.ACCESS_TOKEN != undefined && sessionStorage.ACCESS_TOKEN != \"null\" && localStorage.SMS_CODE!=\"\")\n {\n var fields = this.categoresItemLastMenu[pos].Header.split('=');\n let orderId = Number(fields[1]);\n this.bussinssService.getOpenningHours2(orderId).subscribe((res: boolean) => {\n // this.openningHours = res;\n // let b = 0;\n // for (let i = 0; i < this.openningHours.length; i++) {\n // if (i == new Date().getDay()) {\n // if (new Date().getHours() <= 5) {\n // //console.log(\"i\", i + new Date().getDay());\n // if (i > 1) {\n // i = i - 1\n // b = 1;\n // }\n // else {\n // i = 6;\n // b = 7;\n // }\n // }\n \n // if (this.openningHours[i] != null && this.openningHours[i].DayTime != '' && this.openningHours[i].DayTime != '0:00-0:00' && this.openningHours[i].DayTime != '00:00-00:00') {\n // var fields = this.openningHours[i].DayTime.split('-');\n // if (this.proxy.isOpen(fields[0], fields[1], b))\n // this.dayTime = this.openningHours[i].DayTime;\n // else\n // this.dayTime = \"סגור\";\n // }\n // else\n // this.dayTime = \"סגור\";\n // i = this.openningHours.length;\n // }\n // }\n if (res == false)\n this.proxy.showError(\"המסעדה סגורה\\n אין אפשרות לבצע הזמנה\", \"\");\n //this.openDialog(); \n else {\n this.orderService.getOrderDetails(false).subscribe((res: any) => {\n this.order = res;\n localStorage.ID = orderId;\n // this.router.navigate(['../restaurantCategory']);\n if (this.order.OrderID == 0 && (this.order.list == null || this.order.list.length == 0)) {\n \n sessionStorage.CATEGORY_FILTER = \"\";\n this.bussinssService.getBusinessEnName(orderId).subscribe((res: any) => {\n let nameEn=res;\n \n \n let url: string = \"/restaurant/\" + nameEn;\n this.router.navigateByUrl(url);\n });\n // this.router.navigate(['../restaurant']);\n }\n else {\n this.matDialog.open(PopupOrderComponent, {\n data: { OrderID: this.order.OrderID },\n });\n }\n });\n }\n });\n }\n else\n {\n if (this.innerWidth <= 480)\n this.matDialog.open(PopupEnter2Component);\n else\n this.matDialog.open(PopupEnterComponent);\n }\n }\n\n more(i: number) {\n if (localStorage.SMS == \"\")\n this.proxy.showError(\"חובה להכניס קוד\", \"\");\n // else if (sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE == \"\")\n // this.proxy.showError(\"אינך רשום למערכת\", \"\");\n else {\n this.bussinssService.restaurantCategoryList = this.categores[i].categoryItems;\n this.bussinssService.categoryName = this.categores[i].Name;\n localStorage.TEXT_SEARCH = \"all\";\n\n localStorage.ID = i;\n if (this.bussinssService.restaurantCategoryList.length > 0)\n this.router.navigate(['../../mainList'])\n }\n }\n\n ngOnInit(): void {\n window.scroll(0,0);\n localStorage.Category = \"1\";\n this.showProgress = true;\n this.innerWidth = window.innerWidth;\n if (sessionStorage.ACCESS_TOKEN == \"null\" || sessionStorage.ACCESS_TOKEN == null || sessionStorage.ACCESS_TOKEN == \"\") {\n sessionStorage.ACCESS_TOKEN = \"null\";\n // if(this.innerWidth<=440)\n // this.router.navigate(['../login']);\n // this.router.navigate(['../popupEnter']);\n\n // else\n \n // this.openDialog();\n }\n // sessionStorage.deeplink='';\n //this.slides = this.chunk(this.cards, 4);\n localStorage.TEXT_SEARCH = \"\";\n this.categoresItemLastMenu = [];\n this.bussinssService.getListImages().subscribe((res: any) => {\n this.categores = res;\n if (this.categores != null && this.categores[0] != null)\n // for(let i=0;i {\n this.categores = res;\n\n //for (let i = 2; i < 5; i++)\n // if (i != 3)\n\n for (let i = 2; i < 8; i++)\n if (i != 3 && i != 5) \n this.bussinssService.getMainList(i, 0, 1, Math.floor((Math.random() * 20) + 1)).subscribe((res: any) => {\n this.categores = res;\n });\n \n // });\n });\n this.showProgress = false;\n });\n window.scroll(0, 0);\n\n // this.changeFood=[\n // {\n // \"ID\":1,\n // \"Name\":\"ללא בוטנים\",\n // \"Text\":\"לחץ לשינויים \",\n // \"toppings\":[]\n // },\n // {\n // \"ID\":2,\n // \"Name\":\"ללא כוסברה\",\n // \"Text\":\"לחץ לשינויים \",\n // \"toppings\":[]\n // },\n // {\n // \"ID\":3,\n // \"Name\":\"ללא בצל ירוק\",\n // \"Text\":\"לחץ לשינויים \",\n // \"toppings\":[]\n // },\n // {\n // \"ID\":4,\n // \"Name\":\"תוספת איטריות\",\n // \"Text\":\"לחץ לשינויים \",\n // \"toppings\":[]\n // },\n // ]\n\n this.items = this.imageData.map(item => new ImageItem({ src: item.srcUrl, thumb: item.previewUrl }));\n\n\n /** Lightbox Example */\n\n // Get a lightbox gallery ref\n const lightboxRef = this.gallery.ref('lightbox');\n\n // Add custom gallery config to the lightbox (optional)\n lightboxRef.setConfig({\n imageSize: ImageSize.Cover,\n thumbPosition: ThumbnailsPosition.Top\n });\n\n // Load items into the lightbox gallery ref\n lightboxRef.load(this.items);\n }\n}\nconst data = [\n {\n srcUrl: 'https://preview.ibb.co/jrsA6R/img12.jpg',\n previewUrl: 'https://preview.ibb.co/jrsA6R/img12.jpg'\n },\n {\n srcUrl: 'https://preview.ibb.co/kPE1D6/clouds.jpg',\n previewUrl: 'https://preview.ibb.co/kPE1D6/clouds.jpg'\n },\n {\n srcUrl: 'https://preview.ibb.co/mwsA6R/img7.jpg',\n previewUrl: 'https://preview.ibb.co/mwsA6R/img7.jpg'\n },\n {\n srcUrl: 'https://preview.ibb.co/kZGsLm/img8.jpg',\n previewUrl: 'https://preview.ibb.co/kZGsLm/img8.jpg'\n }\n];\n","import { Component, OnInit ,EventEmitter ,Output ,HostListener ,NgZone, ViewChild, ElementRef, Renderer2 } from '@angular/core';\nimport { Router ,ActivatedRoute, NavigationEnd, NavigationStart} from '@angular/router';\nimport { fromEvent, Observable, of, Subscription } from \"rxjs\";\nimport { CategoryItem,Category,} from 'src/app/models/category';\nimport { AdditonOrder, MyOrder, OrderAdding, OrderHistory } from 'src/app/models/order';\nimport { ChangeFood, ToppingsItem, ToppingsItemFood ,Restaurant ,RestaurantItem} from 'src/app/models/restaurant';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { PlatformLocation ,LocationStrategy} from '@angular/common';\nimport { DataService } from 'src/app/services/data.service';\nimport { filter, switchMap } from 'rxjs/operators';\nimport { MatDialog } from '@angular/material/dialog';\n\n\n@Component({\n selector: 'app-toppings',\n templateUrl: './toppings.component.html',\n styleUrls: ['./toppings.component.scss']\n})\nexport class ToppingsComponent implements OnInit {\n @Output()changePrice: EventEmitter = new EventEmitter();\n @Output()changeShowPrice: EventEmitter = new EventEmitter();\n @Output()header: EventEmitter = new EventEmitter();\n @Output()changByFood: EventEmitter = new EventEmitter();\n @ViewChild('list')public listElementRef: ElementRef;\n @ViewChild('inputas',{static: true}) inputas: ElementRef;\n\n buttonText=\"המשך לתשלום\"\n continued=\"המשך\"\n continuedNum=0;\n selected:any=\"לחץ לבחירה\";\n filtered :any;\n totalItems:number=0;\n totalAmount:number=0;\n totalFoodAmount:number=0;\n toppings:OrderAdding[]=[];\n toppingsSelect:OrderAdding[];\n toppingsPage:OrderAdding[]=[];\n categores:Category[];\n categoresItem:CategoryItem[];\n restaurantItem:RestaurantItem[];\n toppingsItemFood:ToppingsItemFood[];\n toppingsItemFood1:ToppingsItemFood[];\n toppingsItemFood2:ToppingsItemFood[];\n toppingsItemFood3:ToppingsItemFood[];\n toppingsItemFood4:ToppingsItemFood[];\n toppingsItemFood5:ToppingsItemFood[];\n toppingsItemFood6:ToppingsItemFood[];\n toppingsItemFood7:ToppingsItemFood[];\n toppingsItemFood8:ToppingsItemFood[];\n toppingsItemFood9:ToppingsItemFood[];\n toppingsItem:ToppingsItem[];\n toppingsItem1:ToppingsItem[];\n toppingsItem2:ToppingsItem[];\n toppingsItem3:ToppingsItem[];\n toppingsItem4:ToppingsItem[];\n toppingsItem5:ToppingsItem[];\n toppingsItem6:ToppingsItem[];\n toppingsItem7:ToppingsItem[];\n restaurant:Restaurant;\n ordersToShow:OrderHistory[]= new Array();\n orders:OrderHistory[]= new Array();\n foodName:string;\n foodDescription:string;\n ImageFood:string;\n position=4;\n public positionPage=1;\n selectedItem=\"\";\n pos1:number;\n posi2:number;\n private selectOption: any;\n priceTotal=\"0-פריטים\";\n clickToPay=\"לחץ לתשלום - \";\n priceAdding=0;\n order:MyOrder;\n Image=\"\";\n Image400=\"\";\n heightAdding:number;\n heightAdding2:number;\n additonOrder:AdditonOrder;\n AdditionList;\n AdditionList2;\n countNumber;\n //TypeID;\n // TypeID2=null;\n //TypeID3=null;\n // TypeID4=null;\n id=0;\n num=4;\n scrollList:number=4;\n resizeObservable$: Observable\n resizeSubscription$: Subscription;\n pointOff=\"assets/images/point_off.png\";\n pointOn=\"assets/images/point_on.png\";\n checkboxOn=\"assets/images/chack_box_on.png\";\n checkboxOff=\"assets/images/chack_box_off.png\"\n listLength:number;\n full=false;\n innerWidth: any;\n innerHeight: any;\n innerHeight2: any;\n inviteName:string=\"\";\n inviteName2:string=\"\";\n batta = false;\n loc=-1;\n mySubscription;\n key;\n renderer: Renderer2;\n top=0;\n height1=0;\n height2=0;\n margintop1=0;\n previousUrl:string;\n popup=1;\n showProgress=false;\nprivate routerSubscription: Subscription;\nprivate isNavigatingBack = false;\n // @HostListener('window:popstate', ['$event'])\n // onPopState() {\n\n // //console.log(\"\")\n // this.back() \n // }\n // if ('scrollRestoration' in history) {\n // history.scrollRestoration = 'manual';\n // }\n // var scrollTop = document.body.scrollTop;\n // window.addEventListener('scroll', function(e) {\n // document.body.scrollTop = scrollTop;\n \n // });\n // //console.log(\"backPress\",event);\n // // history.back();\n // this.back();\n // }\n\n constructor(private matDialog:MatDialog, private zone: NgZone, private locationStrategy: LocationStrategy,private router: Router ,private dataService:DataService,location: PlatformLocation,private orderService:OrdersService,private bussinssService: BussinssService,private proxy: AppProxy,private route: ActivatedRoute) \n { \n // history.pushState(null, null, window.location.href);\n // // check if back or forward button is pressed.\n // this.locationStrategy.onPopState(() => {\n // history.pushState(null, null, window.location.href);\n // //console.log(\"\")\n // });\n\n // //console.log(this.router.getCurrentNavigation().previousNavigation.finalUrl.toString()); \n// history.pushState(null, null, window.location.href); \n// this.locationStrategy.onPopState(() => {\n// history.pushState(null, null, window.location.href);\n// });\n// router.events\n// .pipe(filter(event => event instanceof NavigationEnd))\n// .subscribe((event: NavigationEnd) => {\n// //console.log('prev:', event.url);\n// this.previousUrl = event.url;\n// if(sessionStorage.back==\"true\" )\n// {\n// if(localStorage.Category==\"2\")\n// {\n// localStorage.ID_CATEGORY=this.orderService.order.RestaurantNameEn;\n// let url: string = \"/restaurantCategory/\" + this.orderService.order.RestaurantNameEn\n// this.router.navigateByUrl(url);\n\n// }\n// else \n// {\n// this.router.navigate([\"../mainHome\"]);\n// }\n// }\n// });\n\n\n}\n\n ngOnInit(): void {\n\n //naomi change\n this.routerSubscription = this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n this.previousUrl = event.url;\n }\n });\n \n window.addEventListener('popstate', this.onPopState);\n this.position=4;\n this.proxy.scrollToTop(); \n this.router.routeReuseStrategy.shouldReuseRoute = function () {\n return false;\n };\n \n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n //console.log(\"getOrderDetails10\",\"getOrderDetails\"); \n if(this.order.list.length==0)\n {\n localStorage.ID_CATEGORY=this.order.RestaurantNameEn;\n let url: string = \"/restaurantCategory/\" + this.order.RestaurantNameEn\n this.router.navigateByUrl(url);\n }\n // this.router.navigate(['../restaurantCategory']);\n else\n {\n this.innerWidth = window.innerWidth;\n this.innerHeight = window.innerHeight;\n this.innerHeight = Number(this.innerHeight-300);\n this.innerHeight2 = Number(this.innerHeight-294);\n this.dataService.showSearch.next(false);\n this.changByFood.emit();\n this.dataService.header.next(true);\n this.header.emit();\n this.dataService.notEndToppings=true;\n // this.header.emit();\n localStorage.PAGE_BACK=\"\";\n this.dataService.byFood.next(false);\n this.changByFood.emit();\n this.dataService.show.next(false);\n this.changeShowPrice.emit();\n window.scroll(0,0);\n this.priceAdding=0;\n this.posi2=localStorage.position;\n this.pos1=localStorage.pos;\n // this.pos1= this.route.snapshot.params.pos;\n // this.posi2= this.route.snapshot.params.position;\n this.loc=-1;\n for(let y=0;y1)\n this.loc=Number(this.loc)+Number(this.posi2)-1;\n if(this.order.list[this.loc]!=null && this.order.list[this.loc].InviteName!=null && this.order.list[this.loc].InviteName!=\"\" && this.order.list[this.loc].listAddition.length>0)\n this.inviteName=this.order.list[this.loc].InviteName;\n if(this.order.list[this.loc]!=null && this.order.list[this.loc].listAddition!=null && this.order.list[this.loc].listAddition.length>0)\n this.full=true;\n if(this.order.list[this.loc].Price !=undefined)\n {\n this.totalAmount=this.order.list[this.loc].Price;\n this.totalFoodAmount=this.order.list[this.loc].Price;\n }\n for(let w=0;w{\n this.additonOrder=res;\n if(this.additonOrder.ImgFile!=null)\n this.Image400=this.order.list[this.loc].BigImgFile;\n this.orderService.orderAddingList=this.additonOrder.list;\n this.toppings=this.additonOrder.list;\n for(let j=0;j0)\n this.toppings[j].listA[m].PriceText='(+ '+ '₪' + this.toppings[j].listA[m].Price +')' ;\n }\n if(this.toppings!=null)\n if(this.toppings.length<=this.num)\n {\n // this.foodElementRef.nativeElement.focus();\n this.continued=\"סיום\";\n this.continuedNum=1;\n \n // this.foodElementRef.nativeElement.focus;\n }\n else\n {\n this.continued=\"המשך\";\n this.continuedNum=0;\n }\n this.listLength=Number(this.toppings.length/2);\n if(Number(Number(this.toppings.length/2)%2)!=0)\n this.listLength=Number(Number(this.listLength)+1)-(Number(this.toppings.length/2)%2);\n this.foodName=this.additonOrder.Name;\n if(this.additonOrder.Description!=\"\")\n this.foodDescription=this.additonOrder.Description;\n else\n this.foodDescription=this.additonOrder.Ingredients;\n this.ImageFood=this.additonOrder.ImgFile;\n let pos;\n if(this.toppings!=null && this.toppings.length>0 )\n {\n // for(let i=0;i1)\n {\n this.toppingsPage.push(this.toppings[1]);\n this.height1+=this.toppingsPage[1].listA.length;\n //this.toppingsPage2.push(this.toppings[1]);\n }\n if(this.num>2)\n {\n if(this.toppings.length>2)\n {\n this.toppingsPage.push(this.toppings[2]);\n this.height2=this.toppingsPage[2].listA.length;\n }\n if(this.toppings.length>3)\n {\n this.toppingsPage.push(this.toppings[3]);\n this.height2+=this.toppingsPage[3].listA.length;\n }\n \n if(this.height2>this.height1)\n this.margintop1=(this.height2)*10;\n }\n if(this.full==true)\n {\nfor(let m=0;m0 && this.toppingsPage[m].listA[q].CountChoose>0)\n{\n //if(this.toppingsPage[posi].listA[i].CountChoose>this.toppingsPage[posi].Count)\n // this.toppingsPage[posi].listA[i].CountChoose=this.toppingsPage[posi].Count;\n// this.totalAmount=Number(this.totalAmount)+Number(this.toppingsPage[m].listA[q].Price);\n// this.totalFoodAmount=Number(this.totalFoodAmount)+Number(this.toppingsPage[m].listA[q].Price);\nif(this.toppingsPage[m].listA[q].PriceTotal==null)\nthis.toppingsPage[this.mySubscription].listA[q].PriceTotal=Number(this.toppingsPage[m].listA[q].Price);\nelse\n{\nif(this.toppingsPage[m].listA[q].PriceTotal==-1)\nthis.toppingsPage[m].listA[q].PriceTotal=0;\nthis.toppingsPage[m].listA[q].PriceTotal+=Number(this.toppingsPage[m].listA[q].Price);\n}\n }\n }\n\n \n}\n }\n \n this.position=this.toppingsPage.length;\n // this.position2=this.toppingsPage2.length;\n this.AdditionList=\"\";\n this.AdditionList2=\"\";\n // for(let j=0;j1)\n//this.TypeID2=this.toppingsPage[1].TypeID;\n//if(this.toppingsPage.length>2)\n//this.TypeID3=this.toppingsPage[2].TypeID;\n//if(this.toppingsPage.length>3)\n//this.TypeID4=this.toppingsPage[3].TypeID;\n // if(this.toppings[0]!=null)\n // && this.toppings[0].listSelect!=null && this.toppings[0].listSelect.length>0)\n\n this.heightAdding=0;\n this.heightAdding2=0;\n \n\n\n //if(this.toppings!=null)\n // if(this.toppings.length<=this.num)\n // this.continued=\"סיום\";\n for(let j=0;j1)\n // if(this.heightAdding2450)\n // this.heightAdding=450;\n // if(Number(this.heightAdding2)>450)\n // this.heightAdding2=450;\n // }\n }\n \n if(this.restaurant==undefined)\n // this.bussinssService.getRestaurantDetails(this.order.RestaurantID,false,false,false,null,null).subscribe((res:any)=>{\n // //console.log(\"getRestaurantDetails10\",\"getRestaurantDetails\");\n this.restaurant=this.bussinssService.restaurant;\n this.restaurantItem=this.restaurant.MenuList;\n for(let i=0; i0)\n {\n this.totalItems+=this.restaurantItem[j].Amount;\n this.totalAmount+=Number(this.totalItems)* Number(this.restaurantItem[j].Price);\n }\n \n if(this.toppings!=null && this.toppings.length>0 )\n {\nthis.toppingsPage.push(this.toppings[0]);\nif(this.toppings.length>1)\n{\nthis.toppingsPage.push(this.toppings[1]);\n}\nif(this.toppings.length>2)\nthis.toppingsPage.push(this.toppings[2]);\nif(this.toppings.length>3)\nthis.toppingsPage.push(this.toppings[3]);\nthis.heightAdding=0;\nfor(let j=0;j450)\n this.heightAdding=450;\n if(Number(this.heightAdding2)>450)\n this.heightAdding2=450;\n this.toppingsPage[j].CountChoose=0;\n }}\n if(this.toppings!=null)\n\n this.categores=[\n {\n \"Name\": \"אחרונות\",\n \"ID\": 47,\n \"categoryItems\":this.categoresItem,\n isCheck:true,\n categoryType:0,\n },\n {\n \"Name\": \"סלטים\",\n \"ID\": 47,\n \"categoryItems\":this.categoresItem,\n isCheck:true,\n categoryType:1, \n },\n { \n \"Name\": \"ראשונות\",\n \"ID\": 1,\n \"categoryItems\":this.categoresItem,\n isCheck:false,\n categoryType:2,\n }, \n ];\n if(this.bussinssService.restaurant!=null)\n this.restaurant=this.bussinssService.restaurant;\n if(this.restaurant!=null && this.restaurant.LongImage!=null)\n this.Image=this.restaurant.LongImage;\n }\n });\n }\n\n close()\n {\n this.back();\n }\n\n clickList(pos:number,position:number,toppingText:string,newValue)\n {\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.router.navigate(['../mainHome']);\n else\n {\n let posi=pos;\n if(this.orderService.restaurant==null)\n this.orderService.restaurant=this.restaurant;\n for(let i=0;i< this.toppings.length;i++)\n {\n if(this.toppings[i].Type!=null)\n if(this.toppings[i].Type==this.toppingsPage[pos].Type)\n {\n posi=i;\n break\n }\n }\n let OrderAddingItem=this.toppings[posi].listSelect[position];\n // if(OrderAddingItem.Text!=\"לחץ לבחירה\" && OrderAddingItem.Text!=null && OrderAddingItem.Text!=\"\")\n // for(let p=0;p0)\n for(let i=0;i<2;i++)\n if(this.toppingsPage.length>i)\n // for(let j=0;j1)\n this.AdditionList +=\",\";\n this.AdditionList += orderAddingItemFood.ID;\n for(let m=1;m2)\n for(let i=2;i<4;i++)\n if(this.toppingsPage.length>i)\n // for(let j=0;j1)\n this.AdditionList2 +=\",\";\n this.AdditionList2 += orderAddingItemFood.ID;\n for(let m=1;m1)\n // {\n // if(posi%2==0)\n // this.TypeID3=TypeID;\n // else\n // this.TypeID4=TypeID;\n // }\n // else\n // if(posi%2==0)\n // this.TypeID=TypeID;\n // else\n // this.TypeID2=TypeID;\n }\n }\n\n selectItem(pos:number,position:number,IsChoose:boolean)\n {\n this.toppingsPage=this.toppings;\n // let posi=pos;\n // let TypeID=this.toppingsPage[pos].TypeID;\n if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.router.navigate(['../mainHome']);\n else\n {\n let posi=pos;\n // for(let i=0;i=this.toppings[pos].CountAdditionFree && this.toppings[pos].CountChoose0 && (this.toppings[pos].CountAdditionFree<=this.toppings[pos].CountChoose || this.toppings[pos].CountAdditionFree==0))\n{\n if(this.toppings[pos].CountAdditionFree>0)\n {\nthis.toppings[posi].listA[position].PriceTotal=0;\n }\nthis.totalAmount-=Number(Number(this.toppings[posi].listA[position].Price)*count);\nthis.totalFoodAmount-=Number(Number(this.toppings[posi].listA[position].Price)*count);\n}\n\nthis.toppings[posi].listA[position].CountChoose=0; \n}\nelse{\n this.toppings[pos].CountChoose=0;\n // for(let j=0;j0)\n {\n this.totalAmount-=Number(this.toppings[pos].listA[m].Price);\n this.totalFoodAmount-=Number(this.toppings[pos].listA[m].Price);\n }\n }\n this.toppings[pos].listA[m].IsChoose=0;\n }\n this.toppingsPage[pos].listA[position].IsChoose=1;\n this.toppingsPage[pos].listA[position].CountChoose=1;\n if(this.toppingsPage[pos].listA[position].Price>0 && (this.toppingsPage[pos].CountAdditionFree<=this.toppingsPage[pos].CountChoose || this.toppingsPage[pos].CountAdditionFree==0 ) )\n{\nthis.totalAmount=Number(this.totalAmount)+Number(this.toppingsPage[pos].listA[position].Price);\nthis.totalFoodAmount=Number(this.totalFoodAmount)+Number(this.toppingsPage[pos].listA[position].Price);\nif(this.toppingsPage[pos].listA[position].PriceTotal==null)\nthis.toppingsPage[pos].listA[position].PriceTotal=Number(this.toppingsPage[pos].listA[position].Price);\nelse\n{\n if(this.toppingsPage[pos].listA[position].PriceTotal==-1)\n this.toppingsPage[pos].listA[position].PriceTotal=0;\nthis.toppingsPage[pos].listA[position].PriceTotal+=Number(this.toppingsPage[pos].listA[position].Price);\n}\n }\n this.toppingsPage[pos].CountChoose+=1;\n }\n else if(this.toppingsPage[pos].CountChoose==0 || (this.toppingsPage[pos].CountChoose0 && (this.toppingsPage[pos].CountAdditionFree<=this.toppingsPage[pos].CountChoose || this.toppingsPage[pos].CountAdditionFree==0 ) )\n{\nthis.totalAmount=Number(this.totalAmount)+Number(this.toppingsPage[pos].listA[position].Price);\nthis.totalFoodAmount=Number(this.totalFoodAmount)+Number(this.toppingsPage[pos].listA[position].Price);\nif(this.toppingsPage[pos].listA[position].PriceTotal==null)\nthis.toppingsPage[pos].listA[position].PriceTotal=Number(this.toppingsPage[pos].listA[position].Price);\nelse\n{\n if(this.toppingsPage[pos].listA[position].PriceTotal==-1)\n this.toppingsPage[pos].listA[position].PriceTotal=0;\nthis.toppingsPage[pos].listA[position].PriceTotal+=Number(this.toppingsPage[pos].listA[position].Price);\n}\n }\n this.toppingsPage[pos].CountChoose+=1;\n }\n else\n this.proxy.showError(\" לא ניתן לבחור תוספת \\n נוספת\",\"\");\n}\n}\n}\n if(this.order!=null && this.order.list!=null)\n for(let i=0; i0)\n for(let i=0;i<2;i++)\n if(this.toppingsPage.length>i)\n {\n for(let p=0;p1)\n this.AdditionList +=\",\";\n this.AdditionList += orderAddingItemFood.ID;\n for(let m=1;m2)\n for(let i=2;i<4;i++)\n if(this.toppingsPage.length>i)\n {\n for(let p=0;p1)\n this.AdditionList2 +=\",\";\n this.AdditionList2 += orderAddingItemFood.ID;\n for(let m=1;m{\n // this.getOrderDetails2();\n // });\n // else\n // this.orderService.setOrderAddition2(this.id,this.TypeID,this.AdditionList,Number(this.posi2),this.TypeID2).subscribe((res:any)=>{\n // this.getOrderDetails2();\n // });\n // }\n // else\n // this.getOrderDetails2();\n }\n // if(this.TypeID2==null)\n // this.orderService.setOrderAddition(this.id,this.TypeID,this.AdditionList,Number(this.posi2)).subscribe((res:any)=>{\n // this.getOrderDetails2();\n // });\n // else\n // this.orderService.setOrderAddition2(this.id,this.TypeID,this.AdditionList,Number(this.posi2),this.TypeID2).subscribe((res:any)=>{\n // this.getOrderDetails2();\n // });\n // }\n // else\n // this.getOrderDetails2();\n let a:number=1;\n pos_=Number(pos_);\n // if(this.toppingsPage.length==1)\n // this.TypeID2=null;\n // if(posi>1)\n // {\n // if(posi%2==0)\n // this.TypeID3=TypeID;\n // else\n // this.TypeID4=TypeID;\n // }\n // else\n // if(posi%2==0)\n // this.TypeID=TypeID;\n // else\n // this.TypeID2=TypeID; \n //this.proxy.scrollToTop(); \n // this.listElementRef.nativeElement.scrollTo( 0, 0 ); \n }\n\n plus(pos,i:number)\n {\n let posi=pos;\n this.toppingsPage[pos].CountChoose=0;\n // for(let j=0;j0 && (this.toppingsPage[pos].CountAdditionFree<=this.toppingsPage[pos].CountChoose || this.toppingsPage[pos].CountAdditionFree==0 ) )\n {\n this.totalAmount=Number(this.totalAmount)+Number(this.toppingsPage[pos].listA[i].Price);\n this.totalFoodAmount=Number(this.totalFoodAmount)+Number(this.toppingsPage[pos].listA[i].Price);\n if(this.toppingsPage[pos].listA[i].PriceTotal==null)\n this.toppingsPage[pos].listA[i].PriceTotal=Number(this.toppingsPage[pos].listA[i].Price);\n else\n {\n if(this.toppingsPage[pos].listA[i].PriceTotal==-1)\n this.toppingsPage[pos].listA[i].PriceTotal=0;\n this.toppingsPage[pos].listA[i].PriceTotal+=Number(this.toppingsPage[pos].listA[i].Price);\n }\n }\n this.toppingsPage[pos].CountChoose+=1;\n }\n else\n this.proxy.showError(\" לא ניתן לבחור תוספת \\n נוספת\",\"\");\n }\n\n minus(pos,i:number)\n {\n let posi=pos;\n if(this.toppingsPage[pos].listA[i].CountChoose>0)\n {\n this.toppingsPage[pos].listA[i].CountChoose-=1;\n if(this.toppingsPage[pos].listA[i].CountChoose<=0)\n this.toppings[pos].listA[i].IsChoose=0;\n if(this.toppingsPage[pos].listA[i].Price>0 && (this.toppingsPage[pos].CountAdditionFree {\n history.pushState(null, null, location.href);\n })\n }\n \n backPress()\n {\n if(this.toppingsPage.length>4)\n {\n this.positionPage=1;\n this.toppingsPage=[];\n let p;\n if(this.num==4)\n p=this.position-4;\n else\n p=this.position-2;\n this.position=p;\n //let p2;\n //p2=this.position2-2;\n //this.position2=p2;\n for(let j=0;j<4;j++)\n this.toppingsPage.push(this.orderService.restaurant.MenuList[this.pos1].ChangeFood[this.posi2].toppings[j]);\n }\n else\n if(this.selectRequired()==true)\n {\n //this.router.navigateByUrl(url);\n // let url: string;\n // if(sessionStorage.deeplink!=\"\")\n // url=\"/restaurant/\" + sessionStorage.deeplink2;\n // else\n // url = \"/restaurant/\" + this.orderService.restaurant.NameEn;\n history.back();\n }\n else\n this.proxy.showError(\"לא בחרת את כל \\n שדות החובה\",\"\");\n }\n\n back()\n {\n this.dataService.notEndToppings=false\n if(this.toppings.length>this.num && this.positionPage>1)\n {\n this.positionPage-=1;\n this.toppingsPage=[];\n let p;\n if(this.position==this.toppings.length)\n {\n if(this.position%2==0)\n this.position-=6;\n else\n this.position-=5;\n }\n this.continuedNum=0;\n if(this.orderService.restaurant==null)\n this.orderService.restaurant=this.restaurant;\n for(let j=0;j0)\n {\n let amount =this.order.list[pos].Count;\n amount=Number(Number(amount)-1);\n }\n this.totalItems=0;\n let p:number=0;\n if(this.order.list[pos]!=null && this.order.list[pos].Price!=null)\n p=this.order.list[pos].Price;\n this.totalAmount=(Number(this.totalAmount)- Number(p));\n let count=0;\n for(let i=0;ithis.pos1)\n this.orderService.restaurant.MenuList[this.pos1].Rate=count;\n // this.order.list[pos].Rate=this.order.list[pos].Count;\n // this.order.list[pos].Rate-=1;\n // this.totalAmount-= this.restaurantItem[i].Price;\n if(this.totalAmount>0)\n for(let i=0;i0)\n this.totalItems+=Number(this.order.list[i].Rate);\n }\n // if(this.totalItems>0)\n // {\n // this.priceTotal=this.clickToPay+\"\"+this.totalAmount+\" \"+\"₪\";\n // localStorage.PRICE_TOTAL=this.priceTotal;\n // this.dataService.price.next(this.priceTotal);\n // this.changePrice.emit();\n // }\n // else\n // {\n // this.totalAmount=0;\n // this.totalFoodAmount=0;\n // this.priceTotal=\"0 - פריטים\";\n // localStorage.PRICE=0;\n // localStorage.PRICE_TOTAL=this.priceTotal;\n // this.dataService.price.next(this.priceTotal);\n // this.changePrice.emit();\n // }\n localStorage.PRICE_TOTAL=this.priceTotal;\n\n let location:number;\n if(this.orderService.restaurant!=null && this.orderService.restaurant.MenuList!=null\n && this.orderService.restaurant.MenuList.length>this.pos1 && this.orderService.restaurant.MenuList[this.pos1].ChangeFood!=null)\n location = this.orderService.restaurant.MenuList[this.pos1].ChangeFood.length-1;\n location-=1;\n if(this.orderService.restaurant!=null && this.orderService.restaurant.MenuList!=null && this.orderService.restaurant.MenuList[this.pos1].ChangeFood!=null)\n this.orderService.restaurant.MenuList[this.pos1].ChangeFood.splice(this.posi2,1);\n \n if(this.order.list!=null && this.order.list.length!=0 && localStorage.edit==\"false\")\n {\n this.orderService.addToBagOrder(this.order.list[pos].ID,this.order.OrderID,this.order.list[pos].MenuNumber).subscribe((res:any)=>{\n if(this.orderService.restaurant!=null && this.orderService.restaurant.MenuList[this.pos1].ChangeFood!=null && this.orderService.restaurant.MenuList[this.pos1].ChangeFood.length>location)\n delete this.orderService.restaurant.MenuList[this.pos1].ChangeFood[location]; \n if(this.orderService.restaurant!=null && this.orderService.restaurant.MenuList!=null && this.orderService.restaurant.MenuList.length>this.pos1 && this.orderService.restaurant.MenuList[this.pos1].ChangeFood!=null &&this.orderService.restaurant.MenuList[this.pos1].ChangeFood.length>0 )\n this.orderService.restaurant.MenuList[this.pos1].ChangeFood.length=location;\n // this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n // //console.log(\"getOrderDetails11\",\"getOrderDetails\");\n // this.order=res;\n // if(Number(this.order.TotalPrice)>0)\n // this.priceTotal=this.clickToPay+\" \"+this.order.TotalPrice+\" ₪\";\n // else\n // this.priceTotal=\"0 - פריטים\";\n // localStorage.PRICE_TOTAL=this.priceTotal;\n // this.dataService.price.next(this.priceTotal);\n // this.changePrice.emit();\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n localStorage.ID=this.orderService.restaurant.ID;\n let url: string ;\n //naomi change \n //לא הצליח לחזור בעריכת מנה\n if(sessionStorage.deeplink!=\"\" || sessionStorage.deeplink2!= \"\")\n url=\"/restaurant/\" + sessionStorage.deeplink2;\n else\n url = \"/restaurant/\" + this.orderService.restaurant.NameEn;\n \n this.dataService.header.next(true);\n this.header.emit();\n this.dataService.byFood.next(true);\n this.changByFood.emit();\n this.dataService.show.next(true);\n this.changeShowPrice.emit();\n this.dataService.showSearch.next(true);\n this.changByFood.emit();\n localStorage.SHOW=true;\n // this.matDialog.closeAll();\n this.router.navigateByUrl(url);\n //history.back();\n });\n });\n }\n else\n {\n let url: string ;\n if(sessionStorage.deeplink!=\"\" || sessionStorage.deeplink2!= \"\")\n url=\"/restaurant/\" + sessionStorage.deeplink2;\n else\n url = \"/restaurant/\" + this.orderService.restaurant.NameEn;\n this.dataService.header.next(true);\n this.header.emit();\n this.dataService.byFood.next(true);\n this.changByFood.emit();\n this.dataService.show.next(true);\n this.changeShowPrice.emit();\n this.dataService.showSearch.next(true);\n this.changByFood.emit();\n localStorage.SHOW=true;\n this.router.navigateByUrl(url);\n //this.matDialog.closeAll();\n//history.back();\n }\n }\n }\n\n isBack()\n { \n // let url: string ;\n // if(sessionStorage.deeplink!=\"\")\n // url=\"/restaurant/\" + sessionStorage.deeplink2;\n // else\n // url = \"/restaurant/\" + this.orderService.restaurant.NameEn; \n // this.router.navigateByUrl(url);\n history.back();\n }\n\n selectRequired2():boolean\n {\n let selectRequired=true;\n let requiredCount=0;\n for(let j=0;j0 )\n {\n selectRequired=true;\n requiredCount=0;\n \n for(let m=0;m0 )\n {\n selectRequired=true;\n requiredCount=0;\n \n for(let m=0;mthis.position)\n // {\n this.toppingsPage=this.toppings;\n this.showProgress=true;\n this.positionPage=2;\n let AdditionList = \"\";\n let AdditionList2=\"\";\n let y=0;\n if(this.toppingsPage.length>0)\n for(let i=0;ii)\n for(let p=0;p1)\n AdditionList +=\",\";\n AdditionList += orderAddingItemFood.ID;\n if(orderAddingItemFood.CountChoose>1)\n for(let m=1;m1)\n // this.TypeID2=this.toppingsPage[1].TypeID;\n // else\n // this.TypeID2=null;\n }\n // y=0;\n // if(this.toppingsPage.length>2)\n // for(let i=2;i<4;i++)\n // if(this.toppingsPage.length>i)\n // for(let p=0;p1)\n // AdditionList2 +=\",\";\n // AdditionList2 += orderAddingItemFood.ID;\n // if(orderAddingItemFood.CountChoose>1)\n // for(let m=1;m3)\n // // this.TypeID4=this.toppingsPage[3].TypeID;\n for(let i=0; i{\n if((this.inviteName!=\"\" && this.inviteName!=null )|| (this.order.list[this.loc].InviteName!=\"\" && this.order.list[this.loc].InviteName!=null))\n {\n this.orderService.setInviteName(this.id,Number(this.posi2),this.inviteName).subscribe((res:any)=>{\n this.showProgress=false;\n this.getOrderDetails(false);\n });\n }\n else\n this.getOrderDetails(false);\n });\n this.batta = true\n // else\n // this.orderService.setOrderAddition2(this.id,this.TypeID,this.AdditionList,Number(this.posi2),this.TypeID2).subscribe((res:any)=>{\n // if(this.toppings.length>3 && this.AdditionList2!=\"\")\n // {\n // this.orderService.setOrderAddition2(this.id,this.TypeID3,this.AdditionList2,Number(this.posi2),this.TypeID4).subscribe((res:any)=>{\n // if((this.inviteName!=\"\" && this.inviteName!=null )|| (this.order.list[this.loc].InviteName!=\"\" && this.order.list[this.loc].InviteName!=null))\n // {\n // this.orderService.setInviteName(this.id,Number(this.posi2),this.inviteName).subscribe((res:any)=>{\n // this.getOrderDetails2(false);\n // });\n // }\n // else\n // this.getOrderDetails2(false);\n // });\n//}\n// else if(this.toppings.length>2 && this.AdditionList2!=\"\")\n// {\n// this.orderService.setOrderAddition(this.id,this.TypeID3,this.AdditionList2,Number(this.posi2)).subscribe((res:any)=>{\n// if((this.inviteName!=\"\" && this.inviteName!=null )|| (this.order.list[this.loc].InviteName!=\"\" && this.order.list[this.loc].InviteName!=null))\n// {\n// this.orderService.setInviteName(this.id,Number(this.posi2),this.inviteName).subscribe((res:any)=>{\n// this.getOrderDetails2(false);\n// });\n// }\n// else\n// this.getOrderDetails2(false);\n// });\n// }\n// else \n// if((this.inviteName!=\"\" && this.inviteName!=null )|| (this.order.list[this.loc].InviteName!=\"\" && this.order.list[this.loc].InviteName!=null))\n// {\n// this.orderService.setInviteName(this.id,Number(this.posi2),this.inviteName).subscribe((res:any)=>{\n// this.getOrderDetails(false);\n// });\n// }\n// else\n// this.getOrderDetails(false);\n// });\n// }\n//this.listElementRef.nativeElement.scrollTo( 0, 0 );\n }\n // else{\n \n // let AdditionList = \"\";\n // let AdditionList2 = \"\";\n // let y=0;\n // if(this.toppingsPage.length>0)\n // for(let i=0;i<2;i++)\n // if(this.toppingsPage.length>i)\n // for(let p=0;p1)\n // AdditionList +=\",\";\n // AdditionList += orderAddingItemFood.ID;\n // if(orderAddingItemFood.CountChoose>1)\n // for(let m=1;m1)\n // this.TypeID2=this.toppingsPage[1].TypeID;\n // else\n // this.TypeID2=null;\n // y=0;\n // if(this.toppingsPage.length>2)\n // for(let i=2;i<4;i++)\n // if(this.toppingsPage.length>i)\n // for(let p=0;p1)\n // AdditionList2 +=\",\";\n // AdditionList2 += orderAddingItemFood.ID;\n // if(orderAddingItemFood.CountChoose>1)\n // for(let m=1;m3)\n // this.TypeID4=this.toppingsPage[3].TypeID;\n // } \n // for(let i=0; i{\n // if((this.inviteName!=\"\" && this.inviteName!=null )|| (this.order.list[this.loc].InviteName!=\"\" && this.order.list[this.loc].InviteName!=null))\n // {\n // this.orderService.setInviteName(this.id,Number(this.posi2),this.inviteName).subscribe((res:any)=>{\n // this.getOrderDetails(true);\n // });\n // }\n // else\n // this.getOrderDetails(true);\n // });\n // else\n // this.orderService.setOrderAddition2(this.id,this.TypeID,this.AdditionList,Number(this.posi2),this.TypeID2).subscribe((res:any)=>{\n // if(this.toppingsPage.length>3 )\n // this.orderService.setOrderAddition2(this.id,this.TypeID3,this.AdditionList2,Number(this.posi2),this.TypeID4).subscribe((res:any)=>{\n // if((this.inviteName!=\"\" && this.inviteName!=null )|| (this.order.list[this.loc].InviteName!=\"\" && this.order.list[this.loc].InviteName!=null))\n // {\n // this.orderService.setInviteName(this.id,Number(this.posi2),this.inviteName).subscribe((res:any)=>{\n // this.getOrderDetails(true);\n // });\n // }\n // else\n // this.getOrderDetails(true);\n // });\n // else if(this.toppingsPage.length>2 && this.AdditionList2!=\"\")\n // this.orderService.setOrderAddition(this.id,this.TypeID3,this.AdditionList2,Number(this.posi2)).subscribe((res:any)=>{\n // if((this.inviteName!=\"\" && this.inviteName!=null )|| (this.order.list[this.loc].InviteName!=\"\" && this.order.list[this.loc].InviteName!=null))\n // {\n // this.orderService.setInviteName(this.id,Number(this.posi2),this.inviteName).subscribe((res:any)=>{\n // this.getOrderDetails(true);\n // });\n // }\n // else\n // this.getOrderDetails(true);\n // });\n // else \n // if((this.inviteName!=\"\" && this.inviteName!=null )|| (this.order.list[this.loc].InviteName!=\"\" && this.order.list[this.loc].InviteName!=null))\n // {\n // this.orderService.setInviteName(this.id,Number(this.posi2),this.inviteName).subscribe((res:any)=>{\n // this.getOrderDetails(true);\n // });\n // }\n // else\n // this.getOrderDetails(true);\n // });\n // }\n // this.listElementRef.nativeElement.scrollTo( 0, 0 );\n // }\n \n}\nelse\n{\nthis.proxy.showError(\"לא בחרת את כל \\n שדות החובה\",\"\");\nthis.heightAdding=0;\nthis.heightAdding2=0;\nfor(let j=0;j1)\n//this.TypeID2=this.toppingsPage[1].TypeID;\n//else\n//this.TypeID2=null;\n}\n }\n }\n\n getOrderDetails(back:boolean)\n{\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n //console.log(\"getOrderDetails13\",this.order.TotalPrice+\"\");\n //console.log(\"getOrderDetails14\",this.totalAmount);\n this.totalFoodAmount=Number(this.order.list[this.loc].Price);\n //console.log(\"getOrderDetails15\",this.totalFoodAmount);\n let price=Number(Number(this.order.TotalPrice)+Number(Number(this.totalAmount)-Number(this.totalFoodAmount)));\n //this.orderService.order.TotalPrice=this.totalAmount+\"\";\n // this.order=this.orderService.order;\n\n // this.totalAmount=Number(this.order.TotalPrice);\n price=Number(this.orderService.order.TotalPrice);\n\n\n //console.log(\"getOrderDetails16\",price);\n //this.orderService.order.TotalPrice=price+\"\";\n localStorage.PRICE=price;\n this.priceTotal=this.clickToPay+price+\" ₪\";\n this.dataService.price.next(this.priceTotal);\n this.changePrice.emit();\n for(let w=0;w4 && this.toppings.length!=this.position)\n// // if(this.position>this.toppings.length)\n// {\n// //this.foodElementRef.nativeElement.focus();\n// this.continued=\"סיום\"\n// this.continuedNum=1;\n \n// this.orderService.getOrderAdditon1(localStorage.MENU_ID,Number(this.posi2),this.pos1,this.posi2).subscribe((res:any)=>{\n// this.additonOrder=res;\n// this.toppings=this.orderService.orderAddingList;\n// for(let j=0;j0)\n// this.toppings[j].listA[m].PriceText='(+ '+ '₪' + this.toppings[j].listA[m].Price +')' ;\n// }\n// this.toppingsPage=[];\n// this.toppingsPage.push(this.toppings[4]);\n// // this.toppingsPage2=[];\n// // this.toppingsPage2.push(this.toppings[1]);\n// // this.position2=3;\n// this.position=5;\n// if(this.toppings.length>=5)\n// {\n \n// if(this.toppings[5]!=undefined)\n// {\n// this.toppingsPage.push(this.toppings[this.position]);\n// this.position=6;\n// }\n// if(this.toppings.length>=6)\n// {\n// if(this.toppings[6]!=undefined)\n// {\n// this.toppingsPage.push(this.toppings[this.position]);\n// this.position=7;\n// }\n// }\n// if(this.full==true)\n// {\n// for(let m=0;m0)\n// // this.TypeID=this.toppingsPage[0].TypeID;\n// // if(this.toppingsPage.length>1)\n// // this.TypeID2=this.toppingsPage[1].TypeID;\n// // else\n// // this.TypeID2=null;\n// });\n// }\n// else\n {\n //history.back();\n \n this.dataService.header.next(true);\n this.header.emit();\n this.dataService.byFood.next(true);\n this.changByFood.emit();\n this.dataService.show.next(true);\n this.changeShowPrice.emit();\n this.dataService.showSearch.next(true);\n this.changByFood.emit();\n localStorage.SHOW=true;\n let a=location.pathname;\n if(a.startsWith(\"/yourOrder\") || localStorage.edit == 'true')\n {\n this.dataService.updateYourOrder.next(true);\n this.changByFood.emit();\n }\n\n // if (localStorage.edit == 'true')\n // {\n // this.dataService.updateYourOrder.next(true);\n // this.changByFood.emit();\n // this.router.navigate(['../yourOrder']);\n // // localStorage.edit = 'false'\n // this.dataService.notEndToppings=false;\n // return\n // }\n //this.matDialog.closeAll();\n// this.dataService.endToppings.next(true);\n// this.header.emit();\nthis.dataService.notEndToppings=false;\n let url: string;\n if(sessionStorage.deeplink!=\"\")\n url=\"/restaurant/\" + sessionStorage.deeplink2;\n else\n url = \"/restaurant/\" + this.orderService.restaurant.NameEn;\n this.router.navigateByUrl(url);\n //this.router.navigate(['../restaurant/'+ this.orderService.restaurant.NameEn]);\n }\n });\n}\n\ngetOrderDetails2(back:boolean)\n{\n //this.listElementRef.nativeElement.scrollTo( 0, 0 );\n //this.TypeID=this.toppingsPage[0].TypeID;\n // if(this.toppingsPage.length>1)\n // this.TypeID2=this.toppingsPage[1].TypeID;\n // else\n // this.TypeID2=null;\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n //console.log(\"getOrderDetails14\",\"getOrderDetails\");\n this.order=res;\n for(let j=0;j{\n this.additonOrder=res;\n this.toppings=this.orderService.orderAddingList;\n for(let j=0;j0)\n this.toppings[j].listA[m].PriceText='(+ '+ '₪' + this.toppings[j].listA[m].Price +')' ;\n }\n this.toppingsPage=[];\n this.toppingsPage.push(this.toppings[4]);\n this.position=5;\n if(this.toppings.length>=5)\n {\n if(this.toppings[5]!=undefined)\n {\n this.toppingsPage.push(this.toppings[this.position]);\n this.position=6;\n }\n if(this.toppings.length>=6)\n {\n if(this.toppings[6]!=undefined)\n {\n this.toppingsPage.push(this.toppings[this.position]);\n this.position=7;\n }\n }\n //this.listElementRef.nativeElement.scrollTo( 0, 0 );\n if(this.full==true)\n {\nfor(let m=0;m=this.toppings.length)\n {\n this.continued=\"סיום\"\n this.continuedNum=1;\n }\n else\n {\n let url: string ;\n if(sessionStorage.deeplink!=\"\")\n url=\"/restaurant/\" + sessionStorage.deeplink2;\n else\n url = \"/restaurant/\" + this.orderService.restaurant.NameEn;\n\n this.dataService.header.next(true);\n this.header.emit();\n this.dataService.byFood.next(true);\n this.changByFood.emit();\n this.dataService.show.next(true);\n this.changeShowPrice.emit();\n this.dataService.showSearch.next(true);\n this.changByFood.emit();\n localStorage.SHOW=true;\n let a=location.pathname;\n if(a.startsWith(\"/yourOrder\") || localStorage.edit == 'true')\n {\n this.dataService.updateYourOrder.next(true);\n this.changByFood.emit();\n }\n\n // if (localStorage.edit == 'true')\n // {\n // this.dataService.updateYourOrder.next(true);\n // this.changByFood.emit();\n // this.router.navigate(['../yourOrder']);\n // // localStorage.edit = 'false'\n // return\n // }\n // this.matDialog.closeAll();\n//history.back();\nthis.dataService.endToppings.next(true);\nthis.header.emit();\n this.router.navigateByUrl(url);\n //this.router.navigate(['../restaurant']);\n }\n }\n // if(this.toppingsPage.length>0)\n // this.TypeID=this.toppingsPage[0].TypeID;\n // if(this.toppingsPage.length>1)\n // this.TypeID2=this.toppingsPage[1].TypeID;\n // else\n //this.TypeID2=null;\n });\n });\n}\n\n\n\n\n\n\nngOnDestroy(): void {\n window.removeEventListener('popstate', this.onPopState);\n if (this.routerSubscription) {\n this.routerSubscription.unsubscribe();\n }\n}\n\nprivate onPopState = (event: PopStateEvent) => {\n if (this.isNavigatingBack) {\n return;\n }\n\n event.preventDefault();\n this.isNavigatingBack = true;\n this.makeServerCall().subscribe(response => {\n // Handle the response from the server\n //console.log('Server response:', response);\n\n // Resume navigation using Angular router\n this.isNavigatingBack = false;\n this.router.navigate([this.previousUrl]);\n }, error => {\n console.error('Server error:', error);\n this.isNavigatingBack = false;\n // Optionally, handle navigation failure\n });\n}\n\nprivate makeServerCall(): Observable {\n this.dataService.notEndToppings = false;\n\n if (this.batta == true)\n {\n //console.log(\"בה\")\n return of(false);\n }\n //console.log(\"בטטה\" , this.batta)\n this.batta = true\n\n\n let pos = this.order.list.length;\n pos = Number(pos) - 1;\n\n \n if (this.order.list.length > 0) {\n let amount = this.order.list[pos].Count;\n amount = Number(amount) - 1;\n }\n this.totalItems = 0;\n let p: number = 0;\n if (this.order.list[pos] != null && this.order.list[pos].Price != null)\n p = this.order.list[pos].Price;\n this.totalAmount = (Number(this.totalAmount) - Number(p));\n let count = 0;\n for (let i = 0; i < this.order.list.length; i++) {\n if (this.order.list[i].MenuID == this.order.list[pos].MenuID)\n count += 1;\n }\n count -= 1;\n if (this.orderService.restaurant != null && this.orderService.restaurant.MenuList != null && this.orderService.restaurant.MenuList.length > this.pos1)\n this.orderService.restaurant.MenuList[this.pos1].Rate = count;\n\n if (this.totalAmount > 0)\n for (let i = 0; i < this.order.list.length; i++) {\n if (Number(this.order.list[i].Rate) > 0)\n this.totalItems += Number(this.order.list[i].Rate);\n }\n\n localStorage.PRICE_TOTAL = this.priceTotal;\n\n let location: number;\n if (this.orderService.restaurant != null && this.orderService.restaurant.MenuList != null\n && this.orderService.restaurant.MenuList.length > this.pos1 && this.orderService.restaurant.MenuList[this.pos1].ChangeFood != null)\n location = this.orderService.restaurant.MenuList[this.pos1].ChangeFood.length - 1;\n location -= 1;\n if (this.orderService.restaurant != null && this.orderService.restaurant.MenuList != null && this.orderService.restaurant.MenuList[this.pos1].ChangeFood != null)\n this.orderService.restaurant.MenuList[this.pos1].ChangeFood.splice(this.posi2, 1);\n\n if (this.order.list != null && this.order.list.length != 0 && localStorage.edit == \"false\") {\n //this.loc naomiChange\n return this.orderService.addToBagOrder(this.order.list[pos].ID, this.order.OrderID, this.order.list[this.loc].MenuNumber).pipe(\n switchMap((res: any) => {\n if (this.orderService.restaurant != null && this.orderService.restaurant.MenuList[this.pos1].ChangeFood != null && this.orderService.restaurant.MenuList[this.pos1].ChangeFood.length > location)\n delete this.orderService.restaurant.MenuList[this.pos1].ChangeFood[location];\n if (this.orderService.restaurant != null && this.orderService.restaurant.MenuList != null && this.orderService.restaurant.MenuList.length > this.pos1 && this.orderService.restaurant.MenuList[this.pos1].ChangeFood != null && this.orderService.restaurant.MenuList[this.pos1].ChangeFood.length > 0)\n this.orderService.restaurant.MenuList[this.pos1].ChangeFood.length = location;\n\n return this.orderService.getOrderDetails(false).pipe(\n switchMap((res: any) => {\n this.order = res;\n localStorage.ID = this.orderService.restaurant.ID;\n this.dataService.header.next(true);\n this.header.emit();\n this.dataService.byFood.next(true);\n this.changByFood.emit();\n this.dataService.show.next(true);\n this.changeShowPrice.emit();\n this.dataService.showSearch.next(true);\n this.changByFood.emit();\n localStorage.SHOW = true;\n let url = \"/restaurant/\" + this.orderService.restaurant.NameEn;\n this.router.navigateByUrl(url);\n return of(true);\n })\n );\n })\n );\n } else {\n return of(true);\n }\n}\n}\n\n\n\n\n\n\n\n\n\n\n","
    \n \n\n\n\n
    \n
    \n
    \n
    {{foodName}}
    \n
    {{ foodDescription }}
    \n
    \n
    \n
    \n \n {{totalFoodAmount}} ₪\n
    \n \n
    \n \n\n
    \n \n
    \n
    \n
    \n
    \n{{item.TypeTxt}}\n
    0 && item.CountAdditionFree!=null\">מקבלים {{item.CountAdditionFree}} חינם
    \n
    \n
    \n
    \n \n
    \n ‏ {{ topping.Food }}\n {{topping.PriceText}}\n \n\n\n
    \n
    \n \n {{topping.CountChoose}}\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n שם למנה:\n \n
    \n \n\n
    \n \n סיום\n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n\n \n \n
    \n
    \n
    \n
    \n\n \n \n \n\n\n","
    \n
    \n\n
    \n \n \n \n
    \n \n \n\n
    \n
    \n
    \n
    \n","import { MapsAPILoader ,AgmMap, MouseEvent ,PolyMouseEvent , AgmPolygon ,GoogleMapsAPIWrapper ,LatLngLiteral} from '@agm/core';\nimport { Component, OnInit ,ViewChild ,ElementRef, NgZone, HostListener, Renderer2} from '@angular/core';\nimport { FormGroup, FormControl, Validators ,FormBuilder } from '@angular/forms';\nimport { Location } from 'src/app/models/location';\nimport * as L from \"leaflet\";\nimport { Address } from 'src/app/models/user';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { Observable } from 'rxjs';\nimport { Http, Response, Headers, RequestOptions } from '@angular/http'\nimport { filter, map } from 'rxjs/operators';\nimport { HttpClient } from '@angular/common/http';\nimport { LocationStrategy } from '@angular/common';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DataService } from 'src/app/services/data.service';\n\n@Component({\n selector: 'app-map2',\n templateUrl: './map2.component.html',\n styleUrls: ['./map2.component.scss']\n})\nexport class Map2Component implements OnInit {\n locations:Location[]=[];\n title = 'firstApp';\n @ViewChild('AgmMap') agmMap: AgmMap;\n latitude: number;\n longitude: number;\n lat_= 29.544808554935727 ;\n Longitude:53.56; \n long= 34.92598986137697;\n lat: string;\n lng: string;\n zoom = 20;\n Address:Address;\n private geoCoder;\n @ViewChild('search',{static: true}) searchElementRef: ElementRef;\n @ViewChild('map')\n public mapElementRef: ElementRef;\n @ViewChild('border')\n public borderElementRef: ElementRef;\n @ViewChild(AgmMap) map: any;\n markers = {};\n bounds = null;\n// add marker to object\n posi = new google.maps.LatLng(53.801279, -1.548567);\n name = 'Vince';\n address: string=\"\";\n geocoder;\n myLatlng;\n marker;\n image = \"assets/images/map_point.png\";\n icon = {\n url: 'assets/images/map_point.png',\n scaledSize: {\n width: 35,\n height: 50\n }\n}\n latlng;\n currentLocation :string=\"\";\n paths : Array = [];\npolygon: any;\n\noptions : any = {\n lat : 25.5362475,\n lng : 33.9267386,\n zoom : 20,\n fillColor : '#29c066 ',\n draggable : true,\n editable : true,\n visible : true,\n fillOpacity : 0.7,\n clickable : true,\n};\ndrawingManager;\ndefaultCenter = {lat: 55.5815245, lng: 36.8251383};\ncurrentCenter = Object.assign({}, this.defaultCenter);\nlocation: {};\nrenderer: Renderer2;\ninnerWidth: any;\ninnerHeight: any;\npreviousUrl:string;\nonPositionChanged: () => {}\n\nconstructor(private dataService:DataService, location: LocationStrategy ,private matDialog:MatDialog ,private _http:HttpClient, private orderService:OrdersService, private proxy:AppProxy, private fb: FormBuilder,private router: Router,private mapsAPILoader: MapsAPILoader,private ngZone: NgZone ,private apiloader: MapsAPILoader) {\n this.Address=new Address;\n // location.onPopState(() => {\n // //alert(window.location);\n // this.router.navigate([\"../yourOrder\"])\n // });\n \n //router.events\n // .pipe(filter(event => event instanceof NavigationEnd))\n // .subscribe((event: NavigationEnd) => {\n // //console.log('prev:', event.url);\n // this.previousUrl = event.url;\n // if(localStorage.back=='true')\n // {\n // localStorage.back='false';\n// // if(this.previousUrl.startsWith(\"/payment\") && this.router.url==\"/payment\")\n// // {\n \n// // let url: string = \"../payment\";\n// // this.router.navigateByUrl(url);\n// // }\n// // else if(this.previousUrl.startsWith(\"/map\") && this.router.url==\"/map\")\n// {\n // this.router.navigate([\"../yourOrder\"])\n //let url: string = \"/yourOrder\";\n // this.router.navigateByUrl(url);\n// }\n// // if(this.previousUrl.startsWith(\"/restaurantCategory\") && this.router.url==\"/restaurantCategory/\")\n// // {\n// // let url: string = \"/restaurantCategory/\" + localStorage.ID;\n// // this.router.navigateByUrl(url);\n// // }\n \n \n // }\n // });\n }\n\n ngAfterContentInit() {\n this.renderer.selectRootElement(this.searchElementRef[\"nativeElement\"]).focus();\n }\n \n ngOnInit() {\n let a=location.pathname;\n // this.agmMap.mapReady.subscribe(map => {\n // this.geocode(\"New York, USA\").then(place => {\n // this.currentCenter = { lat: place.geometry.location.lat(), lng: place.geometry.location.lng()};\n // })\n // .catch(err => {\n // //console.log(err);\n // });\n // });\n localStorage.ADDRESS=\"\";\n localStorage.LAT=\"\";\n localStorage.LONG=\"\";\n this.innerWidth = window.innerWidth;\n this.innerHeight = window.innerHeight;\n window.addEventListener('native.keyboardshow', keyboardShowHandler);\n \n function keyboardShowHandler(e){\n alert(\"keyboard open\"); //This never fires!\n this.delete();\n }\n \n const triangleCoords = [\n { lat: 29.49051836, lng: 34.90316749 },\n { lat: 29.49377521, lng: 34.90693331 },\n { lat: 29.49670745, lng: 34.91141796 },\n { lat: 29.49930344, lng: 34.91566658 },\n { lat: 29.50281445, lng: 34.91922855 },\n { lat: 29.5060639, lng: 34.92193222 },\n { lat: 29.50946264, lng:\t34.92450714 },\n { lat: 29.51375758, lng:\t34.92738247 },\n { lat: 29.51723075, lng:\t34.93038654 },\n { lat: 29.5208345, lng:\t34.93364811 },\n { lat: 29.52412072, lng:\t34.93688822 },\n { lat: 29.52766821, lng:\t34.94014978 },\n { lat: 29.53129026, lng:\t34.9429822 },\n { lat: 29.53499853, lng:\t34.94593263 },\n { lat: 29.53888168, lng:\t34.94921565 },\n { lat: 29.54231665, lng:\t34.95279908 },\n { lat: 29.54766256, lng:\t34.95566368 },\n { lat: 29.54633719, lng:\t34.96122122 },\n { lat: 29.54402242, lng:\t34.96851683 },\n { lat: 29.54109156, lng:\t34.97604847 },\n { lat: 29.54680387, lng:\t34.97737885 },\n { lat: 29.55195588, lng:\t34.97770071 },\n { lat: 29.556473, lng:\t34.97782946 },\n { lat: 29.56091527, lng:\t34.97785091 },\n { lat: 29.56523135, lng:\t34.97787237 },\n { lat: 29.56979921, lng:\t34.97789383 },\n { lat: 29.57459546, lng:\t34.97808695 }, \n { lat: 29.57927953, lng:\t34.97832298 },\n { lat: 29.58372079, lng:\t34.97900963 },\n { lat: 29.5878633, lng:\t34.98046875 },\n { lat: 29.59301321, lng:\t34.98252869 },\n { lat: 29.59865729, lng:\t34.98437405 },\n { lat: 29.60383464, lng:\t34.9864769 },\n { lat: 29.60935685, lng:\t34.9887085 },\n { lat: 29.61507463, lng:\t34.99072552 },\n { lat: 29.62305846, lng:\t34.99364376 },\n { lat: 29.6329068, lng:\t34.99690533 },\n { lat: 29.64300594, lng:\t35.00553131 },\n { lat: 29.65628342, lng:\t35.00741959 },\n { lat: 29.67015577, lng:\t35.00862122 },\n { lat: 29.68387707, lng:\t35.01050949 },\n { lat: 29.70147339, lng:\t35.01274109 },\n { lat: 29.71516247, lng:\t35.01544476 },\n { lat: 29.72649251, lng:\t35.01870632 },\n { lat: 29.7407278, lng:\t35.02265453 },\n { lat: 29.76382788, lng:\t35.02857685 },\n { lat: 29.78249966, lng:\t35.0329113 },\n { lat: 29.79802113, lng:\t35.03612995 },\n { lat: 29.81150154, lng:\t35.03956318 },\n { lat: 29.83641874, lng:\t35.04939079 },\n { lat: 29.8627719, lng:\t35.05969048 },\n { lat: 29.88569498, lng:\t35.07084846 },\n { lat: 29.91188633, lng:\t35.07376671 },\n { lat: 29.92959135, lng:\t35.07308006 },\n { lat: 29.9455083, lng:\t35.0729084 },\n { lat: 29.95469751, lng:\t35.07301569 },\n { lat: 29.96660921, lng:\t35.08681297 },\n { lat: 29.98051292, lng:\t35.08621216 },\n { lat: 29.98152588, lng:\t35.093894 },\n { lat: 29.99446113, lng:\t35.09492397 },\n { lat: 30.00281426, lng:\t35.07514 },\n { lat: 30.01478058, lng:\t35.06964684 },\n { lat: 30.02094898, lng:\t35.06578445 },\n { lat: 30.0286218, lng:\t35.0600338 },\n { lat: 30.0356067, lng:\t35.05454063 },\n { lat: 30.04309264, lng:\t35.05342484 },\n { lat: 30.04918499, lng:\t35.04896164 },\n { lat: 30.05393974, lng:\t35.04364014 },\n { lat: 30.05483122, lng:\t35.03673077 },\n { lat: 30.0551516, lng:\t35.03027201 },\n { lat: 30.05539769, lng:\t35.02385616 },\n { lat: 30.05680919, lng:\t35.0172472 },\n { lat: 30.06441423, lng:\t35.01634598 },\n { lat: 30.07319784, lng:\t35.01626015 },\n { lat: 30.08567553, lng:\t35.01694679 },\n { lat: 30.096815, lng:\t35.01849174 },\n { lat: 30.10513165, lng:\t35.02055168 },\n { lat: 30.11374458, lng:\t35.02243996 },\n { lat: 30.12295069, lng:\t35.02449989 },\n { lat: 30.12384155, lng:\t35.00767708 },\n { lat: 30.12428698, lng:\t34.99257088 },\n { lat: 30.11550792, lng:\t34.9917984 },\n { lat: 30.10679304, lng:\t34.99081135 },\n { lat: 30.09951613, lng:\t34.99021053 },\n { lat: 30.09048422, lng:\t34.97943878 },\n { lat: 30.07771004, lng:\t34.96639252 },\n { lat: 30.06523134, lng:\t34.95609283 },\n { lat: 30.05185956, lng:\t34.94510651 },\n { lat: 30.04164379, lng:\t34.93360519 },\n { lat: 30.03569959, lng:\t34.92399216 },\n { lat: 30.02707985, lng:\t34.91643906 },\n { lat: 30.01697301, lng:\t34.91231918 },\n { lat: 30.00121616, lng:\t34.91025925 },\n { lat: 29.99021462, lng:\t34.90545273 },\n { lat: 29.97921185, lng:\t34.90030289 },\n { lat: 29.96910013, lng:\t34.89412308 },\n { lat: 29.95750012, lng:\t34.88794327 },\n { lat: 29.94738619, lng:\t34.88142014 },\n { lat: 29.93846127, lng:\t34.87455368 },\n { lat: 29.93042817, lng:\t34.86700058 },\n { lat: 29.93042817, lng:\t34.85429764 },\n { lat: 29.92953556, lng:\t34.84331131 },\n { lat: 29.92902417, lng:\t34.834342 },\n { lat: 29.92865224, lng:\t34.82696056 },\n { lat: 29.92125997, lng:\t34.82331276 },\n { lat: 29.91024957, lng:\t34.82365608 },\n { lat: 29.90087489, lng:\t34.8231411 },\n { lat: 29.88837395, lng:\t34.8231411 },\n { lat: 29.87869953, lng:\t34.82228279 },\n { lat: 29.86589808, lng:\t34.82245445 },\n { lat: 29.85488157, lng:\t34.82211113 },\n { lat: 29.84639505, lng:\t34.82073784 },\n { lat: 29.83433401, lng:\t34.82331276 },\n { lat: 29.82152687, lng:\t34.82743263 },\n { lat: 29.80886704, lng:\t34.83086586 },\n { lat: 29.79680148, lng:\t34.83567238 },\n { lat: 29.78249966, lng:\t34.84219551 },\n { lat: 29.77177196, lng:\t34.84786034 },\n { lat: 29.76089409, lng:\t34.85180855 },\n { lat: 29.75120732, lng:\t34.85249519 },\n { lat: 29.74461699, lng:\t34.85028505 },\n { lat: 29.74223226, lng:\t34.84951258 },\n { lat: 29.7330654, lng:\t34.8509717 },\n { lat: 29.72184791, lng:\t34.85217333 },\n { lat: 29.71279101, lng:\t34.85363245 },\n { lat: 29.70067659, lng:\t34.85530615 },\n { lat: 29.69105857, lng:\t34.85642195 },\n { lat: 29.68688302, lng:\t34.85753775 },\n { lat: 29.67916525, lng:\t34.86152887 },\n { lat: 29.67267739, lng:\t34.86453295 },\n { lat: 29.66536872, lng:\t34.8683095 },\n { lat: 29.6611921, lng:\t34.86981153 },\n { lat: 29.65500144, lng:\t34.87264395 },\n { lat: 29.64743041, lng:\t34.87693548 },\n { lat: 29.64355143, lng:\t34.87912416 },\n { lat: 29.63273427, lng:\t34.8786521 },\n { lat: 29.62411701, lng:\t34.87792253 },\n { lat: 29.6185583, lng:\t34.87680674 },\n { lat: 29.61326046, lng:\t34.87650633 },\n { lat: 29.60870856, lng:\t34.87337351 },\n { lat: 29.6048281, lng:\t34.8708415 },\n { lat: 29.60064897, lng:\t34.86792326 },\n { lat: 29.59680551, lng:\t34.86697912 },\n { lat: 29.59326044, lng:\t34.87062693 },\n { lat: 29.58844641, lng:\t34.87637758 },\n { lat: 29.58363215, lng:\t34.881742 },\n { lat: 29.5804598, lng:\t34.88204241 },\n { lat: 29.57639167, lng:\t34.88191366 },\n { lat: 29.57086765, lng:\t34.88187075 },\n { lat: 29.56664979, lng:\t34.88496065 },\n { lat: 29.5611859, lng:\t34.89090443 },\n { lat: 29.55737827, lng:\t34.90077496 },\n { lat: 29.55182988, lng:\t34.90139723 },\n { lat: 29.54693921, lng:\t34.90221262 },\n { lat: 29.54208563, lng:\t34.90641832 },\n { lat: 29.54111489, lng:\t34.91410017 },\n { lat: 29.54126424, lng:\t34.91800547 },\n { lat: 29.53954675, lng:\t34.92233992 },\n { lat: 29.53711981, lng:\t34.92637396 },\n { lat: 29.53499153, lng:\t34.93027925 },\n { lat: 29.53342329, lng:\t34.93255377 },\n { lat: 29.52998802, lng:\t34.93045092 },\n { lat: 29.52637992, lng:\t34.92794037 },\n { lat: 29.52290707, lng:\t34.92540836 },\n { lat: 29.52050308, lng:\t34.92319822 },\n { lat: 29.51822506, lng:\t34.92083788 },\n { lat: 29.51579762, lng:\t34.91886377 },\n // { lat: 29.5128846, lng:\t34.91628885 },\n // { lat: 29.50978477, lng:\t34.91298437 },\n // { lat: 29.50634869, lng:\t34.90959406 },\n // { lat: 29.50365951, lng:\t34.90701914 },\n // { lat: 29.50156787, lng:\t34.90341425 },\n // { lat: 9.50074614, lng:\t34.90109682 },\n // { lat: 29.49633859, lng:\t34.90289927 },\n // { lat: 29.49346237, lng:\t34.90414381 },\n // { lat: 29.49160166, lng:\t34.90301728 },\n ];\n \n // this.lat_=triangleCoords[140].lat;\n // this.long=triangleCoords[140].lng;\n const bermudaTriangle = new google.maps.Polygon({\n paths: triangleCoords,\n \n strokeWeight: 3,\n fillColor: \"#FF0000\",\n fillOpacity: 0.35,\n });\n for(let i=0;i { \n var options= {\n componentRestrictions: {country: \"IL\" },\n bounds: bangaloreBounds,\n strictBounds: true ,\n \n }; \n this.geoCoder = new google.maps.Geocoder;\n const autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement,options);\n \n autocomplete.addListener(\"place_changed\", () => {\n this.ngZone.run(() => {\n //get the place result\n const place: google.maps.places.PlaceResult = autocomplete.getPlace();\n \n //verify result\n if (place.geometry === undefined || place.geometry === null) {\n return;\n }\n //set latitude, longitude and zoom\n this.lat_ = place.geometry.location.lat();\n this.long =place.geometry.location.lng();\n this.lat = \"\"+(place.geometry.location.lat());\n this.lng =\"\"+(place.geometry.location.lng());\n this.myLatlng = { lat: this.lat_, lng:this.long };\n this.address = (\"\"+place.name);\n localStorage.ADDRESS=place.name;\n \n localStorage.LAT=\"\"+(place.geometry.location.lat());\n localStorage.LONG=\"\"+(place.geometry.location.lng());\n //console.log(\"I am here\")\n this.checkIfPointInPolygon(place.geometry.location, bermudaTriangle);\n // if(this.innerWidth<=480)\n //this.zoom = 30;\n // this.map.center= this.myLatlng ;\n }); \n });\n });\n \n \n \n // this.drawingManager = new google.maps.drawing.DrawingManager({\n // drawingMode: google.maps.drawing.OverlayType.POLYGON,\n // drawingControl: true,\n // drawingControlOptions: {\n // position: google.maps.ControlPosition.TOP_CENTER,\n // // drawingModes: ['polygon']\n // }\n // });\n \n \n \n // this.drawingManager.setMap(this.map);\n \n \n // google.maps.event.addListener(this.drawingManager, 'overlaycomplete', (event) => {\n // // Polygon drawn\n // if (event.type === google.maps.drawing.OverlayType.POLYGON) {\n // //this is the coordinate, you can assign it to a variable or pass into another function.\n // alert(event.overlay.getPath().getArray());\n // }\n // }); \n }\n checkIfPointInPolygon(latLng: any, polygon: any) {\n const isInPolygon = google.maps.geometry.poly.containsLocation(latLng, polygon);\n \n if (isInPolygon) {\n alert('Point is within the polygon!');\n // Additional actions for a valid point\n } else {\n alert('Point is outside the polygon. Please select a point within the defined path.');\n // Prevent any actions for an invalid point\n }\n }\n public centerChanged(coords: LatLngLiteral) {\n // this.lat_ = coords.lat;\n //this.long = coords.lng;\n if(coords.lat!= this.lat_ && coords.lng!= this.long)\n {\n // this.getAddress(coords.lat,coords.lng)\n // this.lat_ = coords.lat;\n // this.long = coords.lng;\n // //console.log('centerChanged', coords);\n let that = this;\n this.apiloader.load().then(() => { \n let geocoder = new google.maps.Geocoder; \n geocoder.geocode({ \n 'location': coords \n }, function(results) { \n if (results ) { \n //set latitude, longitude and zoom\n // that.lat_ = coords.lat;\n // that.long =coords.lng;;\n that.lat = \"\"+coords.lat;;\n that.lng =\"\"+coords.lng;;\n // that.myLatlng = { lat: that.lat_, lng:that.long };\n //console.log(\"location\" + coords.lat+\",\"+coords.lng);\n //console.log(\"0 \"+results[0].formatted_address+\" \"+results[0].types[0]);\n //console.log(\"1 \"+results[1].formatted_address+\" \"+results[1].types[0]);\n //console.log(\"2 \"+results[2].formatted_address+\" \"+results[2].types[0]);\n //console.log(\"3 \"+results[3].formatted_address+\" \"+results[3].types[0]);\n //console.log(\"4 \"+results[4].formatted_address+\" \"+results[4].types[0]);\n let add=\"\";\n let street=false;\n for(let i=0;i {\n // // 3 seconds after the center of the map has changed, pan back to the\n // // marker.\n // window.setTimeout(() => {\n // map.panTo(marker.getPosition());\n // }, 3000);\n // });\n // marker.addListener(\"click\", () => {\n // // alert(marker.getMap.arguments.);\n // map.setZoom(8);\n // map.setCenter(marker.getPosition());\n // });\n \n \n google.maps.event.addListener(this.map, 'click', function(event) {\n var geocoder = new google.maps.Geocoder();\n geocoder.geocode({ 'location': event.latlng }, (results, status) =>{\n if (status !== google.maps.GeocoderStatus.OK) {\n // alert(status);\n // this.Address.streets = results[0].formatted_address;\n \n }\n // This is checking to see if the Geoeode Status is OK before proceeding\n if (status == google.maps.GeocoderStatus.OK) {\n //console.log(results);\n var address = (results[0].formatted_address);\n this.Address.streets =address;\n alert(this.Address.streets);\n }\n });\n // this.getReverseGeocodingData(event.latlng);\n \n //this.getCurrentLocation(event.latLng);\n //alert(event.latLng);\n });\n }\n \n displayLocation(latitude,longitude){\n var request = new XMLHttpRequest();\n \n var method = 'GET';\n var url = 'http://maps.googleapis.com/maps/api/geocode/json?latlng='+latitude+','+longitude+'&sensor=true?language=iw';\n var async = true;\n \n request.open(method, url, async);\n request.onreadystatechange = function(){\n if(request.readyState == 4 && request.status == 200){\n var data = JSON.parse(request.responseText);\n var address = data.results[0];\n alert(address);\n document.write(address.formatted_address);\n }\n };\n request.send();\n }\n \n select()\n {\n this.dataService.address.next(this.address);\n this.matDialog.closeAll();\n }\n \n getPolygonCoordinates(draggablePolygon) {\n const len = draggablePolygon.getPath().getLength();\n const polyArrayLatLng = [];\n for (let i = 0; i < len; i++) {\n const vertex = draggablePolygon.getPath().getAt(i);\n const vertexLatLng = { lat: vertex.lat(), lng: vertex.lng() };\n polyArrayLatLng.push(vertexLatLng);\n }\n //console.log(polyArrayLatLng);\n }\n \n onMapReady(map) {\n this.map = map; \n }\n \n initDrawingManager(map: any) {\n const options = {\n drawingControl: true,\n drawingControlOptions: {\n drawingModes: [\"polygon\"]\n },\n polygonOptions: {\n draggable: true,\n editable: true\n },\n drawingMode: google.maps.drawing.OverlayType.POLYGON\n };\n }\n \n @HostListener('keydown', ['$event']) onKeyDown(e) {\n if ((e.which == 13 || e.keyCode == 13)) {\n e.preventDefault();\n if (e.srcElement.nextElementSibling) {\n e.srcElement.nextElementSibling.focus();\n }\n else{\n //console.log('close keyboard');\n this.proxy.hideKeyboard(e);\n }\n this.onBlur();\n return;\n }\n }\n \n delete(){\n this.Address.nvStreet=\"\";\n }\n \n onBlur()\n {\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n }\n this.innerHeight = window.innerHeight;\n this.innerHeight = Number(this.innerHeight);\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport {MatDialog } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-terms-of-use',\n templateUrl: './terms-of-use.component.html',\n styleUrls: ['./terms-of-use.component.scss']\n})\nexport class TermsOfUseComponent implements OnInit {\n url: string = \"https://baliapp.co.il/textfile/tos.htm\";\n urlSafe: SafeResourceUrl;\n\n constructor(public sanitizer: DomSanitizer,private matDialog:MatDialog) { }\n\n ngOnInit() {\n this.urlSafe= this.sanitizer.bypassSecurityTrustResourceUrl(this.url);\n }\n\n backPress()\n {\n this.matDialog.closeAll();\n }\n\n}\n","import { Component, OnInit ,Inject } from '@angular/core';\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport {MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { AppProxy } from 'src/app/services/app-proxy';\n\n@Component({\n selector: 'app-popup-giftcard',\n templateUrl: './popup-giftcard.component.html',\n styleUrls: ['./popup-giftcard.component.scss']\n})\n\n// const formatter = new Intl.NumberFormat('en-US', {\n// minimumFractionDigits: 2, \n// maximumFractionDigits: 2,\n// });\n\nexport class PopupGiftcardComponent implements OnInit {\n price;\n price2;\n price3:number;\n payBy=\"גיפט קארד\";\n\n constructor(private router: Router,private proxy:AppProxy, @Inject(MAT_DIALOG_DATA) private data: {price: number,price2:number,payBy: string},private matDialog:MatDialog) { }\n\n\n \n ngOnInit(): void {\n this.price=this.proxy.round(this.data.price,2);\n this.price2=this.proxy.round(this.data.price2,2);\n this.price3=Number(Number(this.price)-Number(this.price2));\n this. payBy=this.data. payBy;\n }\n\n continue()\n {\n this.matDialog.closeAll();\n localStorage.PRICE_GIFTCARD=this.price2;\n localStorage.PRICE_TOTAL=this.price;\n this.router.navigate(['../securePayment']); \n }\n\n \n\n}\n","
    \n {{message}} \n
    \n\n\n\n\n","
    \n
    \n
    \n
    יציאה
    \n
    \n
    \n \n
    האם אתה בטוח שברצונך להתנתק מהאתר?
    \n
    \n
    \n

    ביטול

    \n

    אישור

    \n
    \n
    \n
    \n
    \n\n\n\n\n\n","
    \n \n \n
    \n
    \n
    \n \n
    \n
    \n
    ","
    \n \n \n \n \n\n
    \n \n
    \n \n \n בחר\n
    ","import { Component, OnInit ,Inject } from '@angular/core';\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport { OrdersService } from 'src/app/services/order-service';\nimport {MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { Router, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree} from '@angular/router';\n\n@Component({\n selector: 'app-popup-login',\n templateUrl: './popup-login.component.html',\n styleUrls: ['./popup-login.component.scss']\n})\nexport class PopupLoginComponent implements OnInit {\n\n constructor(@Inject(MAT_DIALOG_DATA) private data: {OrderID: number},private matDialog:MatDialog,private orderService:OrdersService ,private router: Router) { }\n\n ngOnInit(): void {\n }\n\n cancel(){\n this.matDialog.closeAll();\n }\n\n end()\n {\n this.matDialog.closeAll();\n this.router.navigate(['../login']);\n }\n\n close()\n {\n this.matDialog.closeAll();\n }\n\n}","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule, Router } from '@angular/router';\nimport { from } from 'rxjs';\nimport { OrderHistoryComponent } from '../app/components/order-history/order-history.component'\nimport { AppComponent } from './app.component';\nimport { CategoryComponent } from './components/category/category.component';\nimport { ContactComponent } from './components/contact/contact.component';\nimport { DeliveryComponent } from './components/delivery/delivery.component';\nimport { LoginComponent } from './components/login/login.component';\nimport { MainHomeComponent } from './components/main-home/main-home.component';\nimport { PasswordComponent } from './components/password/password.component';\nimport { PaymentInfoComponent } from './components/payment-info/payment-info.component';\nimport { RegisterComponent } from './components/register/register.component';\nimport { ReservedRestaurantsComponent } from './components/reserved-restaurants/reserved-restaurants.component';\nimport { RestaurantCategoryComponent } from './components/restaurant-category/restaurant-category.component';\nimport { RestaurantComponent } from './components/restaurant/restaurant.component';\nimport { ReviewComponent } from './components/review/review.component';\nimport { SearchComponent } from './components/search/search.component';\nimport { SecurePaymentComponent } from './components/secure-payment/secure-payment.component';\nimport { ShippingHistoryComponent } from './components/shipping-history/shipping-history.component';\nimport { TermsOfUseComponent } from './components/terms-of-use/terms-of-use.component';\nimport { YourOrderComponent } from './components/your-order/your-order.component';\nimport { ToppingsComponent } from './components/toppings/toppings.component';\nimport { GiftCardComponent } from './components/gift-card/gift-card.component';\nimport { GiftCardPaymentComponent } from './components/gift-card-payment/gift-card-payment.component';\nimport { LoginPhoneVarificationComponent } from './components/login-phone-varification/login-phone-varification.component';\nimport { GiftCardSucsessComponent } from './components/gift-card-sucsess/gift-card-sucsess.component';\nimport { CodeWorkerComponent } from './components/code-worker/code-worker.component';\nimport { EndOrderComponent } from './components/end-order/end-order.component';\nimport { MainListComponent } from './components/main-list/main-list.component';\nimport { MapComponent } from './components/map/map.component';\nimport { ApplicationStateService } from './services/application-state-service';\nimport { MenuComponent } from './components/menu/menu.component';\nimport { Login2Component } from './components/login2/login2.component';\nimport { LoginPhoneVarification2Component } from './components/login-phone-varification2/login-phone-varification2.component';\nimport { TermsOfUse2Component } from './components/terms-of-use3/terms-of-use3.component';\nimport { Password2Component } from './components/password2/password2.component';\nimport { PopupEnterComponent } from './components/popup-enter/popup-enter.component';\nimport { PopupEnter2Component } from './components/popup-enter2/popup-enter2.component';\nimport { VerificationCode2Component } from './components/verification-code2/verification-code2.component';\nimport { PaymentComponent } from './components/payment/payment.component';\nimport { Topping2Component } from './components/topping2/topping2.component';\nimport { Map2Component } from './components/map2/map2.component';\nimport { SectionsMetadata } from './services/sections_metadata';\n\n\nconst routes: Routes = [\n { path:'restaurant/:id',component:RestaurantComponent\n , data: {\n // title: 'Title for First Component',\n // descrption: 'Description of First Component',\n // robots: 'noindex, nofollow',\n // ogTitle: 'Description of First Component for social media',\n }\n // children: [ \n // // { path: '', component: RestaurantComponent },\n // { path:'toppings' ,component:ToppingsComponent},\n // { path:'toppings2' ,component:Topping2Component}]\n},\n { path:'restaurant',component:RestaurantComponent,},\n { path:'orderHistory', component: OrderHistoryComponent },\n { path:'mainHome', component: MainHomeComponent },\n { path:'category', component: CategoryComponent },\n { path:'reservedRestaurants',component: ReservedRestaurantsComponent},\n { path:'shippingHistory',component: ShippingHistoryComponent},\n { path:'paymentInfo',component: PaymentInfoComponent},\n { path:'delivery',component: DeliveryComponent},\n { path:'contact',component: ContactComponent},\n { path:'register', component:RegisterComponent },\n { path:'yourOrder',component:YourOrderComponent},\n { path:'search', \n data: SectionsMetadata.meta,\n component:SearchComponent},\n { path:'password',component:Password2Component},\n { path:'login',component:Login2Component},\n { path:'loginPhoneVarification',component:LoginPhoneVarification2Component},\n { path:'review',component:ReviewComponent},\n { path:'payment',component:PaymentComponent,\n children: [ {\n path: '', component: PaymentComponent },\n { path:'map' ,component:MapComponent},]},\n { path:'securePayment',component:SecurePaymentComponent},\n { path:'termsUse',component:TermsOfUse2Component},\n\n\n { path:'restaurantCategory',component:RestaurantCategoryComponent},\n { path:'restaurantCategory/:id',component:RestaurantCategoryComponent},\n {path:'toppings',component:ToppingsComponent},\n {path:'toppings2',component:Topping2Component},\n {path:'giftCard',component:GiftCardComponent},\n {path:'giftCardPayment',component:GiftCardPaymentComponent},\n {path:'giftCardSucsess' ,component:GiftCardSucsessComponent},\n {path:'codeWorker' , component:CodeWorkerComponent},\n {path:'endOrder' ,component:EndOrderComponent},\n {path:'mainList' ,component:MainListComponent},\n {path:'map' ,component:MapComponent},\n {path:'map2' ,component:Map2Component},\n {path:'menu' ,component:MenuComponent},\n {path:'popupEnter' ,component:PopupEnter2Component},\n {path:'verificationCode' ,component:VerificationCode2Component },\n\n { path: '', pathMatch: 'full', component: AppComponent }\n];\n\n\n@NgModule({\n // imports: [RouterModule.forRoot(routes)],\n// imports: [RouterModule.forRoot(routes, {useHash: true})],\n//imports: [RouterModule.forRoot(routes, {useHash: true ,onSameUrlNavigation: 'reload'}),],\nimports: [RouterModule.forRoot(routes)],\n\n exports: [RouterModule]\n})\nexport class AppRoutingModule {\n }\n","\n\n\n
    \n
    \n
    \n
    \n \n
    \n
    \n
    ","import { Component, EventEmitter, HostListener, OnInit, Output } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { DataService } from 'src/app/services/data.service';\nimport { OneTimeOrderService } from 'src/app/services/oneTimeOrder.service';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { UserService } from 'src/app/services/user-service';\nimport { LoginComponent } from '../login/login.component';\n\n@Component({\n selector: 'app-popup-enter',\n templateUrl: './popup-enter.component.html',\n styleUrls: ['./popup-enter.component.scss']\n})\nexport class PopupEnterComponent implements OnInit {\n @Output()state: EventEmitter = new EventEmitter();\n\n constructor(private matDialog:MatDialog ,private orderService: OrdersService ,private oneTimeOrder: OneTimeOrderService ,private router:Router, private dataService:DataService) { }\n\n ngOnInit(): void {\n }\n\n signUp(){\n sessionStorage.dialog=\"false\"\n localStorage.oneTimeOrderOrOrder=\"order\"; \n this.orderService.oneTimeOrderOrOrder=\"order\"; \n this.matDialog.closeAll();\n this.openDialog();\n }\n\n noSign(){\n sessionStorage.dialog=\"false\"\n this.matDialog.closeAll();\n this.oneTimeOrder.createOneTimeUser().subscribe((res:any)=>{\n localStorage.oneTimeOrderOrOrder=\"oneTimeOrder\"; \n this.orderService.oneTimeOrderOrOrder=\"oneTimeOrder\";\n \n \n localStorage.removeItem(\"PRICE_TOTAL\")\n localStorage.removeItem(\"USER_ID\")\n localStorage.removeItem(\"localStorage.ID\")\n localStorage.removeItem(\"ID\");\n localStorage.removeItem(\"MENU_ID\"); \n this.dataService.token.next('oneTimeOrder');\n this.dataService.state.next(\"התחבר\");\n this.state.emit();\n // this.matDialog.closeAll();\n // if(sessionStorage.deeplink=='' || sessionStorage.deeplink=='null' || sessionStorage.deeplink=='undefined')\n // this.router.navigate([\"../mainHome\"]);\n // else\n //this.matDialog.closeAll();\n {\n let a=location.pathname;\n let url: string = a\n this.router.navigateByUrl(url);\n // this.matDialog.closeAll();\n //this.matDialog.closeAll();\n \n }\n });\n }\n\n openDialog() {\n const dialogConfig = new MatDialogConfig();\n this.matDialog.open(LoginComponent, { disableClose: true });\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport {MatDialog } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-terms-of-use3',\n templateUrl: './terms-of-use3.component.html',\n styleUrls: ['./terms-of-use3.component.scss']\n})\nexport class TermsOfUse2Component implements OnInit {\n url: string = \"https://baliapp.co.il/textfile/tos.htm\";\n urlSafe: SafeResourceUrl;\n\n constructor(public sanitizer: DomSanitizer,private matDialog:MatDialog) { }\n\n ngOnInit() {\n this.urlSafe= this.sanitizer.bypassSecurityTrustResourceUrl(this.url);\n }\n\n backPress()\n {\n window.history.back();\n }\n\n}\n","
    \n
    \n
    \n
    \n \n
    \n \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n \n \n\n \n \n \n ","import { Component, OnInit } from '@angular/core';\nimport { GiftCards } from 'src/app/models/giftCard';\nimport { UserEditProfile } from 'src/app/models/user';\nimport { UserService } from 'src/app/services/user-service';\nimport { Router } from '@angular/router';\nimport { MyOrder, Order } from 'src/app/models/order';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport {MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { PopupGiftcardComponent } from '../popup-giftcard/popup-giftcard.component';\n\n@Component({\n selector: 'app-gift-card-sucsess',\n templateUrl: './gift-card-sucsess.component.html',\n styleUrls: ['./gift-card-sucsess.component.scss']\n})\nexport class GiftCardSucsessComponent implements OnInit {\n userEditProfile:UserEditProfile;\n giftCards:GiftCards[];\n sum:string;\n name:string;\n code:string=\"\"\n order:MyOrder;\n\n constructor(private matDialog:MatDialog,private userService:UserService ,private router: Router ,private orderService:OrdersService,private proxy:AppProxy) { }\n\n ngOnInit(): void {\n this.userService.getUserDetails(1).subscribe((res:any)=>{\n this.userEditProfile=res;\n this.name=this.userService.giftCardFor;\n this.userService.getGiftCards().subscribe((res:any)=>{\n this.giftCards=res;\n if(this.name==this.userEditProfile.userFullName)\n {\n this.sum=this.giftCards[0].Price+\"\";\n this.code=this.giftCards[0].Number;\n }\n else\n {\n this.sum=sessionStorage.sum+\" ₪\";\n this.code=\"\";\n }\n\n })\n }); \n }\n clickGiftCard()\n {\n // this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n // this.order=res;\n // // this.router.navigate(['../restaurantCategory']);\n // if(this.order.OrderID!=0) \n // {\n // let price=Number(this.order.TotalPrice);\n // if(this.order.IsDelivery==1)\n // price+=Number(this.order.DeliveryPrice);\n // let allPrice=Number(price);\n // let status=2;\n // if(price>Number(this.giftCards[0].Price))\n // {\n // price=Number(this.giftCards[0].Price)\n // status=1;\n // }\n // this.orderService.setUpdateOrder(this.order.OrderID,this.order.IsDelivery,this.order.IsPickup,this.order.IsSitting,1,\n // null,0,status,null,1,null,null,null,1,Number(this.code),Number(price),null,null).subscribe((res:any)=>{\n // localStorage.MENU_ID=0;\n // this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n // this.order=res;\n // if(Number(allPrice)<=Number(this.giftCards[0].Price)|| Number(this.order.Balance)<=0)\n // this.router.navigate(['../endOrder']);\n // else\n // {\n \n // let iPay=Number(Number(allPrice)-Number(this.order.Balance));\n\n // // this.router.navigate(['../securePayment']); \n // // this.proxy.showError(\"אין לך מספיק כסף בכרטיס עליך להשלים את מחיר ההזמנה בצורה אחרת \",\"\"); \n // this.matDialog.open(PopupGiftcardComponent, {\n // data: { price: allPrice ,price2:Number(iPay) , payBy:\"גיפט קארד\"},\n // });\n // }});\n\n // });}\n // else\n // this.router.navigate(['../mainHome']);\n // });\n}\n}\n","import { Component, OnInit, Output , EventEmitter, HostListener} from '@angular/core';\nimport { Category } from 'src/app/models/category';\nimport { ChangeFood, Restaurant, RestaurantItem} from 'src/app/models/restaurant'\nimport { NavigationEnd, Router } from '@angular/router';\nimport { AppProxy } from 'src/app/services/app-proxy';\nimport { OrdersService } from 'src/app/services/order-service';\nimport { MyOrder, Order } from 'src/app/models/order';\nimport { BussinssService } from 'src/app/services/bussinss-service';\nimport { DataService } from 'src/app/services/data.service';\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport { DialogOutOfBoundsComponent } from 'src/app/components/dialog-out-of-bounds/dialog-out-of-bounds.component';\nimport { SCREEN_SIZE } from 'src/app/services/screen-size.enum';\nimport { filter } from 'rxjs/operators';\nimport { PopupEnter2Component } from '../popup-enter2/popup-enter2.component';\nimport { PopupEnterComponent } from '../popup-enter/popup-enter.component';\nimport { Topping2Component } from '../topping2/topping2.component';\nimport { ToppingsComponent } from '../toppings/toppings.component';\n\n@Component({\n selector: 'app-your-order',\n templateUrl: './your-order.component.html',\n styleUrls: ['./your-order.component.scss']\n})\nexport class YourOrderComponent implements OnInit {\n @Output()changePrice: EventEmitter = new EventEmitter();\n @Output()changByFood: EventEmitter = new EventEmitter();\n @Output()changeShowPrice: EventEmitter = new EventEmitter();\n @Output()header: EventEmitter = new EventEmitter();\n @Output()clickPayment:EventEmitter=new EventEmitter();\n categores:Category[];\n categoresItem:RestaurantItem[];\n changeFood:ChangeFood[];\n totalPrice:number=0;\n allPrice=0;\n totalAmount:number=0;\n IsDelivery:number=0;\n isPickUp:number=0; \n IsSetting:number=0;\n IsDeliverySelect:number=1;\n isPickUpSelect:number=0; \n IsSettingSelect:number=0;\n checkBox=0;\n collectionFormCheckedOn='assets/images/Order_Food_Chack_Box_On.png';\n collectionFormCheckedOff='assets/images/Order_Food_Chack_Box_Off.png';\n order:MyOrder;\n orderList:Order[]=[];\n note:string;\n Name=\"\";\n Image=\"\";\n restaurant:Restaurant=new Restaurant;\n restaurantItem:RestaurantItem[]=[];\n priceDelivery:number=0;\n animal: string;\n name: string;\n token=\"\";\n innerWidth:any;\n showProgress=false;\n previousUrl:string;\n updateYourOrder=false;\n\n // @HostListener('window:popstate', ['$event'])\n // onBrowserBackBtnClose(event: Event) {\n // //console.log('back button pressed');\n // event.preventDefault(); \n // let url: string = \"/restaurant/\" + this.orderService.restaurant.ID\n // this.router.navigateByUrl(url);\n // }\n\n // @HostListener('window:popstate', ['$event'])\n // onPopState(event) {\n // this.backPress();\n // // window.history.back();\n // }\n\n @HostListener('window:keyup', ['$event'])\n keyEvent(event: KeyboardEvent) {\n if(event.keyCode == KEY_CODE.DOWN_ARROW){\n // Your row selection code\n //console.log(event);\n window.scroll(0,0);\n }\n }\n\n //constructor(private router: Router,public dialog: MatDialog,private dataService:DataService ,private proxy: AppProxy,private orderService:OrdersService,private bussinssService: BussinssService) {\n // //console.log(this.router.getCurrentNavigation().previousNavigation.finalUrl.toString());\n // router.events\n // .pipe(filter(event => event instanceof NavigationEnd))\n // .subscribe((event: NavigationEnd) => {\n // //console.log('prev:', event.url);\n // this.previousUrl = event.url;\n // if(localStorage.back=='true')\n // {\n // //localStorage.back='false';\n // if(this.previousUrl.startsWith(\"/restaurant\") && this.router.url.startsWith(\"/restaurant\"))\n // {\n // let url: string = \"/restaurant/\" + this.orderService.restaurant.ID\n // this.router.navigateByUrl(url);\n // }\n // if(this.previousUrl.startsWith(\"/yourOrder\") && this.router.url.startsWith(\"/yourOrder\"))\n // {\n // let url: string = \"/restaurant/\" + this.orderService.restaurant.ID\n // this.router.navigateByUrl(url);\n // }\n // }\n // });\n //}\n\n constructor(private router: Router, private matDialog: MatDialog , public dialog: MatDialog,private dataService:DataService ,private proxy: AppProxy,private orderService:OrdersService,private bussinssService: BussinssService) {\n // history.pushState(null, null, window.location.href);\n // // check if back or forward button is pressed.\n // this.location.onPopState(() => {\n // history.pushState(null, null, window.location.href);\n // // this.stepper.previous();\n // });\n // router.events\n // .pipe(filter(event => event instanceof NavigationEnd))\n // .subscribe((event: NavigationEnd) => {\n // //console.log('prev:', event.url);\n // this.previousUrl = event.url;\n // if(event.url==\"/yourOrder\" && sessionStorage.back==\"true\")\n // {\n // this.router.navigate([\"../restaurant\"], { replaceUrl: true });\n // sessionStorage.back==\"false\"\n // }\n // else if(event.url==\"/restaurant\" && sessionStorage.back==\"true\")\n // {\n // this.router.navigate([\"../restaurant\"], { replaceUrl: true });\n // sessionStorage.back==\"false\"\n // }\n // });\n }\n\n ngOnInit(): void {\n if(window.innerWidth<=480)\n {\n this.dataService.show.next(true);\n this.changByFood.emit();\n }\n else{\n {\n this.dataService.show.next(false);\n this.changByFood.emit();\n }\n }\n this.updateYourOrder = this.dataService.updateYourOrder.getValue() || {};\n this.dataService.updateYourOrder.subscribe(data=>{\n this.updateYourOrder=data;\n if(this.updateYourOrder==true)\n {\n this.updateYourOrder=false;\n this.orderList=[];\n this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n this.order=res;\n {\n if(this.IsDelivery==1)\n this.allPrice=Number(this.order.TotalPrice)+Number(this.order.DeliveryPrice);\n else\n this.allPrice=Number(this.order.TotalPrice);\n let clickToPay=\"לחץ לתשלום - \"\n let priceTotal=clickToPay+\" \"+this.order.TotalPrice+\" ₪\";\n localStorage.PRICE_TOTAL=this.order.TotalPrice;\n localStorage.PRICE=this.order.TotalPrice;\n this.dataService.price.next(priceTotal);\n this.changePrice.emit();\n this.priceDelivery=Number(this.order.DeliveryPrice);\n this.totalPrice=Number(this.order.TotalPrice);\n \n this.changePrice.emit();\n this.Name=this.order.RestaurantName;\n // this.Image=this.order.BigImage;\n if(this.order.Note!=null && this.order.Note!=\"null\")\n this.note=this.order.Note;\n if(this.order!=null && this.order.list!=null && this.order.list.length>0)\n {\n for(let i=0;i{\n this.restaurant=this.bussinssService.restaurant;\n if(this.restaurant!=null && this.restaurant.LongImage!=null)\n this.Image=this.restaurant.LongImage;\n {\n for(let i=0;i{\n this.token=data;\n });\n this.dataService.header.next(true);\n this.header.emit();\n localStorage.NOTE=null;\n // if(window.matchMedia(\"(max-width: 480px)\").matches==true)\n // {\n // this.dataService.show.next(true);\n // this.changeShowPrice.emit();\n // }\n // else\n // {\n // this.dataService.show.next(false);\n // this.changeShowPrice.emit();\n // } \n \n window.scroll(0,0);\n localStorage.ADDRESS=\"\";\n this.orderList=[];\n // this.orderService.getOrderDetails(false).subscribe((res:any)=>{\n // this.order=res;\n this.order=this.orderService.order;\n {\n if(this.IsDelivery==1)\n this.allPrice=Number(this.order.TotalPrice)+Number(this.order.DeliveryPrice);\n else\n this.allPrice=Number(this.order.TotalPrice);\n let clickToPay=\"לחץ לתשלום - \"\n let priceTotal=clickToPay+\" \"+this.order.TotalPrice+\" ₪\";\n localStorage.PRICE_TOTAL=this.order.TotalPrice;\n localStorage.PRICE=this.order.TotalPrice;\n this.dataService.price.next(priceTotal);\n this.changePrice.emit();\n this.priceDelivery=Number(this.order.DeliveryPrice);\n this.totalPrice=Number(this.order.TotalPrice);\n \n this.changePrice.emit();\n this.Name=this.order.RestaurantName;\n // this.Image=this.order.BigImage;\n if(this.order.Note!=null && this.order.Note!=\"null\")\n this.note=this.order.Note;\n if(this.order!=null && this.order.list!=null && this.order.list.length>0)\n {\n for(let i=0;i{\n this.restaurant=this.bussinssService.restaurant;\n if(this.restaurant!=null && this.restaurant.LongImage!=null)\n this.Image=this.restaurant.LongImage;\n {\n for(let i=0;i {\n //console.log('The dialog was closed');\n this.dialog.closeAll();\n this.animal = result;\n });\n }\n\n onBlur()\n{\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n }\n window.scroll(0,0);\n}\n \n editItem(order:Order,position:number,pos1:number)\n {\n let pos=0;\n {\n this.bussinssService.getRestaurantDetails(this.order.RestaurantID,false,false,false,null,null).subscribe((res:any)=>{\n this.restaurant=res;\n if(this.restaurant.LongImage!=null)\n this.Image=this.restaurant.LongImage;\n this.restaurantItem=this.restaurant.MenuList;\n for(let i=0;i\n \n {\n if (resOK.responseMessage == 'OK')\n { \n this.orderService.getOrderDetails(false).subscribe((res:any)=>\n {\n this.order=res;\n if(this.IsDelivery==1)\n this.allPrice=Number(this.order.TotalPrice)+Number(this.order.DeliveryPrice);\n else\n this.allPrice=Number(this.order.TotalPrice);\n\n this.updateYourOrder=true;\n this.ngOnInit();\n });\n // this.orderService.setUpdateOrder(this.order.OrderID,0,0,0,1,\n // order.ID,0,1,null,1,null,null,null,null,null,null,null,null).subscribe((res:any)=>{\n // for(let i=0;i{\n // this.order=res;\nthis.priceDelivery=Number(this.order.DeliveryPrice);\nthis.allPrice=Number(this.order.TotalPrice)+Number(this.order.DeliveryPrice);\n//});\n}\nelse if(i==1)\n {\nthis.checkBox=2;\nlocalStorage.DELIVERY=2;\nthis.priceDelivery=0;\nthis.allPrice=Number(this.order.TotalPrice);\n }\nelse if(i==2)\n{\nthis.checkBox=3;\nlocalStorage.DELIVERY=3;\nthis.priceDelivery=0;\nthis.allPrice=Number(this.order.TotalPrice);\n}\nthis.dataService.clickPayment.next(true);\nthis.clickPayment.emit();\n }\n\n startCollectionType()\n {\n this.checkBox=0;\n localStorage.DELIVERY=0;\n }\n\n limitLines(event: InputEvent, maxLines: number) {\n let text = (event.target as HTMLTextAreaElement).value;\n if (text.length > 0) {\n const lineCount = 1 + text.replace(/[^\\n]/g, '').length;\n if (lineCount > maxLines) {\n const textArray = text.split('\\n');\n const newText = textArray.reduce((result, line, lineNum, array) => {\n if (lineNum < maxLines) {\n return result.concat('\\n').concat(line);\n }\n return result.concat(line);\n });\n (event.target as HTMLTextAreaElement).value = newText;\n }\n }\n }\n\n payment(){\n if(localStorage.SMS==\"\")\n this.proxy.showError(\"חובה להכניס קוד\",\"\");\n else if(sessionStorage.ACCESS_TOKEN == \"null\" || localStorage.SMS_CODE==\"\")\n this.router.navigate(['../mainHome']);\n if(this.checkBox==0)\n this.proxy.showError(\"עליך לבחור אחת מאפשרויות השירות: \\n משלוח, איסוף עצמי או ישיבה במקום\",\"\");\n else \n {\n if(this.note==\"\" || this.note==undefined)\n this.note=null;\n let delivery=0;\n let pickUp=0;\n let sitting=0;\n if(this.checkBox==1)\n delivery=1;\n else if(this.checkBox==2)\n pickUp=1;\n else if(this.checkBox==3)\n sitting=1;\n if(this.order.OrderID>0)\n {\n if(this.note!=null && this.note!=\"\")\n {\n // if(this.note!=null)\n // {\n // var fields = this.note.split('#');\n // if(fields[0].length==0)\n // {\n this.note=this.note.replace('####', '');\n this.note=this.note.replace('###', '');\n this.note=this.note.replace('##', '');\n this.note=this.note.replace('#', '');\n // }\n // }\n }\n if(delivery==1 && this.restaurant.MinimumOrder!='' && Number(this.order.TotalPrice) < Number(this.restaurant.MinimumOrder))\n {\n this.proxy.showError(\"לא הגעת למינימום הזמנה של \"+this.restaurant.MinimumOrder+\" ₪\"+\" (ללא דמי משלוח)\",\"\");\n }\n else\n this.orderService.setUpdateOrder1(this.order.OrderID,Number(delivery),Number(pickUp),Number(sitting),1,this.note,1).subscribe((res:any)=>{\n if(res.error==false)\n {\n localStorage.ADDRESS=\"\";\n localStorage.paymentBy=1;\n localStorage.isClickPayment=\"false\";\n localStorage.phone=\"\";\n localStorage.orderName=\"\";\n localStorage.email=\"\";\n localStorage.street=\"\";\n localStorage.enter=\"\";\n localStorage.floor=\"\";\n localStorage.numberHoush=\"\";\n localStorage.nvCardNumber=\"\";\n localStorage.cvv=\"\";\n localStorage.date=\"\";\n localStorage.identityNumber=\"\";\n localStorage.nvCardholderName=\"\";\n if(localStorage.oneTimeOrderOrOrder=='oneTimeOrder')\n {\n // localStorage.paymentBy=\"\";\n localStorage.ADDRESS2=\"\";\n localStorage.LAT2=\"\";\n localStorage.LONG2=\"\";\n this.router.navigate([\"../payment\"]);\n // this.router.navigate([\"../securePayment\"]);\n }\n else\n {\n localStorage.PRICE_GIFTCARD=0;\n this.router.navigate([\"../securePayment\"]);\n }\n }\n else if(res.error==true && res.responseMessage==\"the delivery out of bounds\")\n this.openDialog();\n });\n } \n else\n this.proxy.showError(\"ההזמנה שלך ריקה\",\"\");\n }\n }\n\n \n\n backPress()\n {\n // sessionStorage.CATEGORY_FILTER=\"\";\n // sessionStorage.back=\"true\";\n // if(this.previousUrl==\"/restaurant\")\n // this.router.navigate(['../../../restaurant'], { replaceUrl: true });\n //this.router.navigate([\"../../restaurant\"], { replaceUrl: true });\n\n\n sessionStorage.backYourOrder=\"true\";\n //window.history.back();\n //else\n {\n let nameEn=\"\";\n if(this.orderService.order!=null)\n nameEn=this.orderService.order.RestaurantNameEn\n {\n localStorage.back='true';\n if(sessionStorage.deeplink==\"\")\n sessionStorage.CATEGORY_FILTER=\"\";\n let url: string = \"/restaurant/\" + nameEn;\n this.router.navigateByUrl(url);\n }\n }\n }\n\n // backPress()\n // {\n // sessionStorage.backYourOrder=\"true\";\n // //window.history.back();\n // //else\n // {\n // let nameEn=\"\";\n // if(this.orderService.order!=null)\n // nameEn=this.orderService.order.RestaurantNameEn\n // {\n // localStorage.back='true';\n // if(sessionStorage.deepLink==\"\")\n // sessionStorage.CATEGORY_FILTER=\"\";\n // let url: string = \"/restaurant/\" + nameEn;\n // this.router.navigateByUrl(url);\n // }\n // }\n // }\n\n // @HostListener(\"window:resize\", [])\n // private onResize() {\n // this.detectScreenSize();\n // }\n\n // private detectScreenSize() {\n // //console.log('size: ',window.matchMedia(\"(max-width: 480px)\") )\n // if(window.matchMedia(\"(max-width: 480px)\").matches==true)\n // {\n // this.dataService.show.next(true);\n // this.changeShowPrice.emit();\n // }\n // else\n // {\n // this.dataService.show.next(false);\n // this.changeShowPrice.emit();\n // } \n // }\n\n onFocusOutEvent(event: any){\n //console.log(event.target.value);\n localStorage.NOTE=this.note;\n window.scroll(0,0);\n }\n \n changeOnFood(position:number,MenuID:number){\n // let pos=0;\n // this.orderService.getOrderAdditon(MenuID,pos,position).subscribe((res:any)=>{\n // this.orderService.getOrderDetails(false).subscribe((res:any)=>{ \n // });\n // });\n }\n}\n\n\nexport enum KEY_CODE {\n UP_ARROW = 38,\n DOWN_ARROW = 40,\n RIGHT_ARROW = 39,\n LEFT_ARROW = 37\n}","\n
    480\" style=\"height: 170px;\">
    \n\n
    \n","import 'hammerjs';\nimport { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}