1var $global_items=[];var $global_addons=[];var $global_addon_items=[];var $global_item_addons=[];var $new_item_addons;const ComponentsMoney={props:["ajax_url","amount","price_format"],data(){return{data:0,config:JSON.parse(money_config)}},mounted(){this.data=window["v-money3"].format(this.amount,this.config)},watch:{price_format(t,e){this.config=t}},updated(){this.data=window["v-money3"].format(this.amount,this.config)},methods:{formatNumber(t){return window["v-money3"].format(t,this.config)}},template:` 2 {{data}} 3 `};const ComponentsTextdescription={props:{label:{type:String,required:false},description:{type:String,required:true},maxLength:{type:Number,default:100}},data(){return{isExpanded:false}},computed:{truncatedDescription(){return this.description.length>this.maxLength?this.description.slice(0,this.maxLength)+"...":this.description},showReadMore(){return this.description.length>this.maxLength}},methods:{toggleReadMore(){this.isExpanded=!this.isExpanded}},template:` 4 <p class="text-descriptions"> 5 <span v-html="isExpanded ? description : truncatedDescription" ></span>
6 <span v-if="showReadMore" @click="toggleReadMore" class="read-more"> 7 {{ isExpanded ? label.read_less : label.read_more }} 8 </span> 9 </p> 10 `};window.componentsItemDialog={props:["title","label"],components:{"money-format":ComponentsMoney,"text-description":ComponentsTextdescription},data(){return{merchant_id:0,menu_loading:true,menu_data:[],items:[],item_addons:[],item_addons_load:false,size_id:0,disabled_cart:true,item_qty:1,item_total:0,add_to_cart:false,meta:[],special_instructions:"",sold_out_options:[],if_sold_out:"substitute",view_data:[],item_loading:false,item_in_cart:0,merchant_data:[],items_not_available:[],category_not_available:[],menu_layout:"list",q:"",search_menu_data:[],allergen:[],allergen_data:[],item_gallery:[],image_featured:"",money_config:"",dish:[],cart_data:null}},updated(){if(this.item_addons_load==true){this.ItemSummary()}},methods:{viewItem(t){this.special_instructions="";$("#itemModal").modal("show");var e=t.item_uuid;var i=t.cat_id;let a=t.merchant_id;var s;let o=getCookie("currency_code");o=!empty(o)?o:"";s="merchant_id="+a;s+="&item_uuid="+e;s+="&cat_id="+i;s+="¤cy_code="+o;s+="&cart_uuid="+getCookie("cart_uuid");s+=addValidationRequest();this.item_loading=true;axios.post(ajaxurl+"/getMenuItem?language="+language,s).then(t=>{if(t.data.code==1){const l=t.data.details;$global_items=l.data.items;$global_addons=l.data.addons;$global_addon_items=l.data.addon_items;$global_item_addons=l.data.items.item_addons;this.cart_data=l.cart_data;var e=l.data.meta;this.money_config=l.money_config;this.item_gallery=l.data.meta.item_gallery;this.image_featured="";this.renderGallery();var s=l.data.meta_details;var o={cooking_ref:[],ingredients:[],dish:[]};let a=l.data.items.ingredients_preselected;if(!empty(e)){$.each(e,function(i,t){$.each(t,function(t,e){if(!empty(s[i])){if(!empty(s[i][e])){let t=false;if(i=="ingredients"&&a){t=true}o[i].push({meta_id:s[i][e].meta_id,meta_name:s[i][e].meta_name,checked:t})}}})})}var i=$global_items.price;var d=Object.keys(i)[0];this.item_qty=1;this.items=$global_items;this.size_id=d;this.meta=o;this.getSizeData(d);this.sold_out_options=l.sold_out_options}else{this.cart_data=null;$("#itemModal").modal("hide")}}).catch(t=>{}).then(t=>{this.item_loading=false})},setItemSize(t){var e=t.currentTarget.firstElementChild.value;this.size_id=e;this.getSizeData(e)},getSizeData(i){$new_item_addons=[];var a=[];if(!empty($global_item_addons[i])){$.each($global_item_addons[i],function(t,e){if(!empty($global_addons[i])){if(!empty($global_addons[i][e])){$global_addons[i][e].subcat_id;$.each($global_addons[i][e].sub_items,function(t,e){if(typeof $global_addon_items[e]!=="undefined"&&$global_addon_items[e]!==null){a.push({sub_item_id:$global_addon_items[e].sub_item_id,sub_item_name:$global_addon_items[e].sub_item_name,item_description:$global_addon_items[e].item_description,price:$global_addon_items[e].price,pretty_price:$global_addon_items[e].pretty_price,checked:false,disabled:false,qty:1})}});$new_item_addons.push({subcat_id:$global_addons[i][e].subcat_id,subcategory_name:$global_addons[i][e].subcategory_name,subcategory_description:$global_addons[i][e].subcategory_description,multi_option:$global_addons[i][e].multi_option,multi_option_min:$global_addons[i][e].multi_option_min,multi_option_value:$global_addons[i][e].multi_option_value,require_addon:$global_addons[i][e].require_addon,pre_selected:$global_addons[i][e].pre_selected,sub_items_checked:"",sub_items:a});a=[]}}})}this.item_addons=$new_item_addons;this.item_addons_load=true},renderGallery(){setTimeout(()=>{let t=false;if(typeof is_rtl!=="undefined"&&is_rtl!==null){t=is_rtl=="1"?true:false}$(this.$refs.owl_item_gallery).owlCarousel({rtl:t,loop:false,margin:10,nav:false,dots:false,responsive:{0:{items:1},600:{items:3},1e3:{items:5}}})},10)},setImage(t){this.image_featured=t},ItemSummary(t){$item_total=0;var n=[];var _=[];let r=[];let m=[];if(!empty(this.items.price)){if(!empty(this.items.price[this.size_id])){var e=this.items.price[this.size_id];if(e.discount>0){$item_total+=this.item_qty*parseFloat(e.price_after_discount)}else $item_total+=this.item_qty*parseFloat(e.price)}}this.item_addons.forEach((i,a)=>
10{if(i.require_addon==1){n.push(i.subcat_id)}if(i.multi_option=="custom"){var s=0;let t=i.multi_option_min;var e=i.multi_option_value;if(e>0){r.push({subcat_id:i.subcat_id,min:t,max:e})}var o=[];var d=[];i.sub_items.forEach((t,e)=>{if(t.checked==true){s++;$item_total+=this.item_qty*parseFloat(t.price);_.push(i.subcat_id)}else o.push(e);if(t.disabled==true){d.push(e)}});m[i.subcat_id]={total:s};if(s>=e){o.forEach((t,e)=>{this.item_addons[a].sub_items[t].disabled=true})}else{d.forEach((t,e)=>{this.item_addons[a].sub_items[t].disabled=false})}}else if(i.multi_option=="one"){i.sub_items.forEach((t,e)=>{if(t.sub_item_id==i.sub_items_checked){$item_total+=this.item_qty*parseFloat(t.price);_.push(i.subcat_id)}})}else if(i.multi_option=="multiple"){var o=[];let t=i.multi_option_min;var e=i.multi_option_value;var l=0;if(e>0){r.push({subcat_id:i.subcat_id,min:t,max:e})}i.sub_items.forEach((t,e)=>{if(t.checked==true){$item_total+=t.qty*parseFloat(t.price);_.push(i.subcat_id);l+=t.qty}o.push(e)});m[i.subcat_id]={total:l};this.item_addons[a].qty_selected=l;if(this.item_addons[a].qty_selected>=e){o.forEach((t,e)=>{this.item_addons[a].sub_items[t].disabled=true})}else{o.forEach((t,e)=>{this.item_addons[a].sub_items[t].disabled=false})}}});this.item_total=$item_total;var s=true;if(n.length>0){$.each(n,function(t,e){if(_.includes(e)===false){s=false;return false}})}if(this.items.cooking_ref_required){let i=false;if(Object.keys(this.meta.cooking_ref).length>0){Object.entries(this.meta.cooking_ref).forEach(([t,e])=>{if(e.checked){i=true}})}if(!i){s=false}}if(Object.keys(r).length>0){let i,a;Object.entries(r).forEach(([t,e])=>{i=parseInt(e.min);if(m[e.subcat_id]){a=parseInt(m[e.subcat_id].total)}if(a>0){if(i>a){s=false}}})}if(s){this.disabled_cart=false}else this.disabled_cart=true},CheckaddCartItems(){if(this.cart_data){if(this.items.merchant_id!=this.cart_data.merchant_id){this.label.your_order=this.label.your_order.replace("{restaurant_name}",this.cart_data.restaurant_name);ElementPlus.ElMessageBox.confirm(this.label.your_order,this.label.new_order+"?",{confirmButtonText:this.label.yes,cancelButtonText:this.label.cancel,type:"warning"}).then(()=>{this.clearCart(getCookie("cart_uuid")).then(t=>{this.addCartItems()})}).catch(()=>{})}else{this.addCartItems()}}else{this.addCartItems()}},addCartItems(){this.add_to_cart=true;let t=getCookie("cart_transaction_type");var e={YII_CSRF_TOKEN:$("meta[name=YII_CSRF_TOKEN]").attr("content"),merchant_id:this.items.merchant_id,cat_id:this.items.cat_id,item_token:this.items.item_token,item_size_id:this.size_id,item_qty:this.item_qty,item_addons:this.item_addons,special_instructions:this.special_instructions,meta:this.meta,cart_uuid:getCookie("cart_uuid"),transaction_type:t,if_sold_out:this.if_sold_out};e=JSON.stringify(e);this.add_to_cart=true;axios({url:`${ajaxurl}/addCartItems`,method:"PUT",data:e,headers:{"Content-Type":"application/json"}}).then(t=>{if(t.data.code==1){ElementPlus.ElNotification({title:"",message:t.data.msg,position:"bottom-right",type:"success"});this.$emit("afterAddtocart");setCookie("cart_uuid",t.data.details.cart_uuid,30);$("#itemModal").modal("hide")}else{ElementPlus.ElNotification({title:"",message:t.data.msg,position:"bottom-right",type:"warning"})}}).catch(t=>{let e=t&&t.response&&t.response.data&&t.response.data.msg?t.response.data.msg:t&&t.message?t.message:"No se ha podido anadir el plato. Intentalo de nuevo.";ElementPlus.ElNotification({title:"",message:e,position:"bottom-right",type:"warning"})}).then(t=>{this.add_to_cart=false})},clearCart(a){return new Promise((e,i)=>{let t="cart_uuid="+a;t+=addValidationRequest();axios.post(`${ajaxurl}/clearCart`,t).then(t=>{if(t.data.code==1){e(true)}else{i(t.data.msg)}}).catch(t=>{i(t)}).then(t=>{})})}},template:"#xtemplate_item_details"};
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.