PageSourceSearch

https://iampho.ru/var/cache/asset20_8c509297870349193f9fb36a88c16c0e.js

js iampho.ru collected 2026-10-07 18:10:38 UTC 6,618 bytes, 24 lines download raw bytes

1app.addModule(function(){var menu=document.querySelector('.menu');var getPointDishPrice=function(prices){if(!prices){return null}
2return Object.values(prices).find(function(price){return price&&price.isWithPoints&&price.pointDishMinSum})||null};var isPointDishBlocked=function(prices){var pointDishPrice=getPointDishPrice(prices);if(!pointDishPrice){return!1}
3var cart=app.store&&app.store.state&&app.store.state.cart;return((cart&&cart.amount&&cart.amount.pointDishRegularSum)||0)<pointDishPrice.pointDishMinSum};var getPointDishBlockedText=function(prices){var pointDishPrice=getPointDishPrice(prices);return(pointDishPrice&&pointDishPrice.pointDishBlockedText)||''};var handleClick=function(e){var target=e.target;if(target.closest('.ddish')){if(!target.closest('.ddish--stop')){toCart(target.closest('.ddish'),{plusClicked:target.closest('.ddish__plus')})}
4e.preventDefault()}};var onDishSelected=function(e,dishSelected){if(!dishSelected){return}
5var dishId=dishSelected.dishPosId.split('_')[0];var el=document.querySelector('.ddish[data-id="'+dishId+'"]');var flyRect=app.flyToCart&&!dishSelected.forceRemoveDish&&app.flyToCart.startOf(dishId,'.ddish__plus');PubSub.publish('recalcCart',{cartSwitchConfirmed:!1,changeAmount:{forceRemoveDish:dishSelected.forceRemoveDish,dishPosId:dishSelected.dishPosId,add:dishSelected.count,addWeight:dishSelected.addWeight},cb:function(response){PubSub.publish('gtmNotify',{event:'addToCart',cart:response.cart,dishSelected:dishSelected,});flyRect&&response.cart&&!response.error&&app.flyToCart(flyRect);if(el){el.classList.remove('ddish--loading')}}});if(el){el.classList.add('ddish--loading')}};var toCart=function(dish,params){var forceAddress=!1;if(app.store.state.address&&app.store.state.address.warning){forceAddress='showUserAddress'}
6var section=dish.closest('.sect');var restriction=dish.dataset.restriction||(section&&section.dataset.restriction);var restrictionConfirmed=params&&params.restrictionConfirmed;const prices=dish.dataset.prices&&JSON.parse(dish.dataset.prices);if(isPointDishBlocked(prices)){PubSub.publish('showToast',{text:getPointDishBlockedText(prices)});return}
7if(restriction&&!restrictionConfirmed){PubSub.publish('showRestriction',{text:restriction,cb(){setTimeout(()=>{toCart(dish,{restrictionConfirmed:!0})},500)}});return}
8var modifiers=dish.dataset.modifiers;var dishId=dish.dataset.id;var dishCombo=dish.dataset.combo;var company=app.store&&app.store.state&&app.store.state.company;if(modifiers){modifiers=JSON.parse(modifiers)}
9let dishParams=dish.dataset.params;if(dishParams){dishParams=JSON.parse(dishParams)}
10if(!modifiers||modifiers.length===1){var sectionModifiers=dish.closest('.sect').dataset.modifiers;if(sectionModifiers){modifiers=modifiers.concat(JSON.parse(sectionModifiers))}}
11var photo=dish.querySelector('.ddish__photo')
12var ingredients=dish.querySelector('.ddish__ingredients');var price=dish.querySelector('.ddish__sum');var size=dish.querySelector('.ddish__size');if(modifiers){for(var i=0;i<modifiers.length;i++){var modifier=modifiers[i];if(modifier.options){for(var j=0;j<modifier.options.length;j++){var option=modifier.options[j];if(option.price_formatted){option.priceFormatted=option.price_formatted}
13if(option.size_formatted){option.sizeFormatted=option.size_formatted}
14modifiers[i].options[j]=option;modifiers[i].pos=i}}}}
15var navigateTopping=!0;if(params&&params.plusClicked){var requiredModifiers=(modifiers||[]).filter(function(modifier){return(modifier.required&&modifier.type!=='sizes')||modifier.min||(modifier.options&&modifier.options.find(option=>option.min))||(modifier.type==='sizes'&&modifier.options.length>1)});if(!requiredModifiers.length){navigateTopping=!1}}
16if(forceAddress){navigateTopping=!0}
17if(dishCombo&&company&&company.isUseCombo){navigateTopping=!0}
18if(dish.dataset.orderScheduleStop){navigateTopping=!0}
19const isPartial=prices&&prices[0]&&prices[0].partialConfig;if(navigateTopping||isPartial){var dishData={id:dishId,name:dish.querySelector('.ddish__link').innerText,ingredients:ingredients?ingredients.innerHTML:'',nutrients:dish.dataset.nutrients?JSON.parse(dish.dataset.nutrients):'',prices:prices,price:price?price.innerText:'',balance:dish.dataset.balance||'',media:dish.dataset.media?JSON.parse(dish.dataset.media):null,
19size:size?size.innerText:'',params:dishParams,photo:{full:photo.dataset.full,low:photo.dataset.lowsrc,ratio:photo.dataset.ratio},extraPhotos:photo.dataset.extraphotos?JSON.parse(photo.dataset.extraphotos):null,orderScheduleStop:!!dish.dataset.orderScheduleStop,orderScheduleLabel:dish.dataset.orderScheduleLabel||''};if(dishCombo&&company&&company.isUseCombo){dishData.combo={active:!0};PubSub.publish('showCombo',{dish:dishData,forceAddress:forceAddress,modifiers:modifiers})}else{PubSub.publish('showTopping',{dish:dishData,forceAddress:forceAddress,modifiers:modifiers})}}else{PubSub.publish('dishSelected',{dishPosId:dishId+'_0',count:1})}};PubSub.subscribe('dishSelected',onDishSelected);if(menu){menu.addEventListener('click',handleClick)}
20PubSub.subscribe('initProductsListener',function(e,params){var m=document.querySelector(params.container);if(m){m.addEventListener('click',handleClick)}});if(window.location.href.indexOf('#addToCart')){const match=window.location.href.match(/\#addToCart-(\d+)/);if(match){const target=menu.querySelector('.ddish[data-id="'+match[1]+'"]');if(target){window.scrollTo({top:target.offsetTop-107,behavior:"smooth"});setTimeout(()=>{target.querySelector('.ddish__plus').click()},0)}
21window.history.replaceState(null,null,window.location.href.split('#')[0])}}});app.addModule(()=>{const store=JSON.parse(document.getElementById('promotions').dataset.store);new Vue({components:{'stories-viewer':app.storiesViewerComponent,},data(){return{isShowViewer:!1,activeStoryId:null,}},computed:{loc(){return this.$store.state.loc},promos(){return store.promos},isEmpty(){return!store.promos.length},isStories(){return store.promoTemplate==='stories'}},mounted(){const promoIdFromUrl=window.location.hash;const findPromo=this.promos&&this.promos.find(promo=>`#promo${promo.id}`===promoIdFromUrl);if(findPromo){history.replaceState(null,'',window.location.pathname+window.location.search);if(this.isStories){this.showPromo(findPromo);return}
22setTimeout(()=>{PubSub.publish("showBigPromo",{promo:findPromo,})},0)}},methods:{showPromo(promo){if(promo&&promo.gameSlug){PubSub.publish('showGameViewer',{slug:promo.gameSlug});return}
23if(this.isStories){this.isShowViewer=!0;this.activeStoryId=promo.id;return}
24PubSub.publish('showBigPromo',{promo})},onCloseStoriesViewer(){this.isShowViewer=!1}},el:'#promotions',store:app.store})});

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