define(['uiComponent','jquery','ko','komapping','underscore','mage/template','mage/translate','Magento_Catalog/js/price-utils','Magento_Customer/js/customer-data','rjsResolver'],function(Component,$,ko,komapping,_,mageTemplate,$t,priceUtils,customerData,resolver){'use strict';return Component.extend({defaults:{getBinauraltext:$t('Binaural'),getLefttext:$t('Left'),getRighttext:$t('Right'),getBulktext:$t('Bulk'),patientRefField:$('.product-add-form .product-options-wrapper .product-custom-option'),custom_selection:'',getSelectedOrderConfigValue:'',getOrderConfigurationDropdown:'',BothOrders:'',PatientBasedOrders:'',BulkOrders:'',BinauralSelected:1,RightSelected:2,LeftSelected:3,BulkSelected:4,iscartpage:$('body').hasClass('checkout-cart-configure'),hasLndProductSku:false,sideRestriction:false},initialize:function(){this._super();var spConfig=window.spConfig,attrItems={},earprice=0,self=this,warprice=0,orderConfigDropdownValues=self.getOrderConfigurationDropdown,price=$('.product-info-price .price-final_price span[data-price-type="finalPrice"]').attr('data-price-amount');if($('.configurableclass').hasClass('BTEgroup')&&!$('.configurableprtable').hasClass('RIC')&&self.productTransformation!='KIT'){price=price*2;} $(JSON.parse(orderConfigDropdownValues)).each(function(index,item){if(index==0){self.BothOrders=item;} if(index==1){self.PatientBasedOrders=item;} if(index==2){self.BulkOrders=item;}});$('.price-table span.prdprice').append(priceUtils.formatPrice(price));$('.price-table span.earprice').empty();$('.price-table span.earprice').append(priceUtils.formatPrice(earprice));$('.price-table span.warprice').empty();$('.price-table span.warprice').append(priceUtils.formatPrice(warprice));$('.pricetabletotal').empty();$('.pricetabletotal').append(priceUtils.formatPrice(price));if($('.product-add-form').hasClass('Warrantygroup')){$('.configqty #qty').attr('disabled','disabled');} self.initFunctions();resolver(function(){window.earmoldCheck=false;this.triggerEarMold();},this);},buyingGroup:customerData.get('buying_group'),initFunctions:function(){var self=this;self.PricetableOnChange();self.BulkQtyOnChange();self.EarmoldProductPriceTable();self.getIfStylettoPDP();self.RadioSelectors();self.OptionSelectedInConfigEdit(self.custom_selection);if(this.hasLndProductSku==true||(this.sideRestriction=='Binaural')){if(this.hasLndProductSku==true){$('.product-add-form').addClass('lndProduct');} if(self.custom_selection==''){$('.rightside').prop('checked',true);} self.RadioSelectors();$(".bulkside").each(function(){$(this).addClass('hide');$(this).prop('checked',false);});$(".biside").each(function(){$(this).addClass('hide');});} if(this.sideRestriction=='Monaural'){self.RadioSelectors();$(".r_side").children().each(function(){$(this).addClass('hide');});$(".l_side").children().each(function(){$(this).addClass('hide');});} if(this.sideRestriction=='Bulk'||$.inArray(self.buyingGroup().group_name,self.purchaseChannelsToIgnoreBulk.split(",").map(item=>item.trim()))!==-1){self.RadioSelectors();$(".bulkside").each(function(){$(this).addClass('hide');$(this).prop('checked',false);});} self.getDisplayOrderConfig();self.autoSelectSingleOption();},autoSelectSingleOption:function(){$('.configurableclass #product-options-wrapper .fieldset > .field').each(function(index,item){if($(item).find('select option').length==2){$(item).find('select').prop('selectedIndex',1).trigger('change');}});},getDisplayOrderConfig:function(){var self=this;if(self.getSelectedOrderConfigValue==self.BulkOrders){$('.product-add-form').addClass('onlyBuklOrders');$('.radio.bulkside').prop('checked',true);if(!self.iscartpage||self.custom_selection!=self.BulkSelected){$('.radio.bulkside').trigger('click');}} if(self.getSelectedOrderConfigValue==self.PatientBasedOrders&&self.iscartpage){if(self.custom_selection==self.BulkSelected){$('.product-add-form').addClass('onlyPatientBased');self.custom_selection=self.BinauralSelected;}}},getIfStylettoPDP:function(){var self=this;if(($('.configurableclass').hasClass('BTEgroup')&&$('.configurableprtable').hasClass('RIC')&&$('.configurableprtable').hasClass('PIN'))||$('.configurableprtable').hasClass('KIT')){$('.biside').remove();$('.r_side').remove();self.getLefttext=$t('Single Set');if(self.productTransformation=='KIT'){self.getLefttext=$t('Binaural');} $('.radioselector').addClass('isnotbinaural');if(!self.iscartpage){$('.leftside').prop('checked',true);$('.box-tocart #qty').val('1');} $('.box-tocart #qty').addClass('invisibleqty');}},PricetableOnChange:function(){var spConfig=window.spConfig,attrItems={};for(var prop in spConfig.attributes){var itemsArray=[];var attr=spConfig.attributes[prop];for(var i=0;ifinalPrice&&qty!=0){$('.price-table span.prdoldprice').append(priceUtils.formatPrice(totalOldPrice));} break;}} if(wprice>1){var warprice=qty*wprice;}else{warprice=0;} if(val==''){earprice=0;$('.price-table span.earprice').empty();$('.price-table span.earprice').append(priceUtils.formatPrice(earprice));}else{price=finalPrice;} var prdprice=qty*price;var totalprice=prdprice+warprice+earprice;if(totalprice){$('.price-table span.prdprice').empty();$('.price-table span.prdprice').append(priceUtils.formatPrice(prdprice));$('.price-table span.earprice').empty();$('.price-table span.earprice').append(priceUtils.formatPrice(earprice));$('.price-table span.earprice').attr('data-earprice',earprice);$('.pricetabletotal').empty();if(qty.length<15){$('.pricetabletotal').append(priceUtils.formatPrice(totalprice));}}});},BulkQtyOnChange:function(){var spConfig=window.spConfig,attrItems={};for(var prop in spConfig.attributes){var itemsArray=[];var attr=spConfig.attributes[prop];for(var i=0;ifinalPrice&&qty!=0){$('.price-table span.prdoldprice').append(priceUtils.formatPrice(totalOldPrice));} break;}} var prdprice=qty*price;if(wprice>1){var warprice=qty*wprice;}else{warprice=0;} $('.price-table span.earprice').empty();$('.price-table span.prdprice').empty();$('.price-table span.warprice').empty();$('#first-config .earside').removeClass('selected');$('#second-config .earside').removeClass('selected');var totalprice=parseFloat(prdprice)+parseFloat(warprice)+parseFloat(earprice);$('.pricetabletotal').empty();if(qty>0&&qty.length<15){$('.price-table span.prdprice').append(priceUtils.formatPrice(prdprice));$('.price-table span.earprice').append(priceUtils.formatPrice(earprice));$('.price-table span.warprice').append(priceUtils.formatPrice(warprice));$('.pricetabletotal').append(priceUtils.formatPrice(totalprice));$('.extended-warranty__product select').removeAttr('disabled');}else{$('.price-table span.prdoldprice').html('');} if($('.bulkside').is(':checked')){$('#addEarmold').prop('checked',false);$('#addEarmold').attr('disabled','disabled');}});},BulkQtyOnChangeCallback:function(){var spConfig=window.spConfig,attrItems={};for(var prop in spConfig.attributes){var itemsArray=[];var attr=spConfig.attributes[prop];for(var i=0;ifinalPrice&&qty!=0){$('.price-table span.prdoldprice').append(priceUtils.formatPrice(totalOldPrice));} break;}} var prdprice=qty*price;if(wprice>1){var warprice=qty*wprice;}else{warprice=0;} $('.price-table span.earprice').empty();$('.price-table span.prdprice').empty();$('.price-table span.warprice').empty();$('#first-config .earside').removeClass('selected');$('#second-config .earside').removeClass('selected');var totalprice=parseFloat(prdprice)+parseFloat(warprice)+parseFloat(earprice);$('.pricetabletotal').empty();if(qty>0&&qty.length<15){$('.price-table span.prdprice').append(priceUtils.formatPrice(prdprice));$('.price-table span.earprice').append(priceUtils.formatPrice(earprice));$('.price-table span.warprice').append(priceUtils.formatPrice(warprice));$('.pricetabletotal').append(priceUtils.formatPrice(totalprice));$('.extended-warranty__product select').removeAttr('disabled');}else{$('.price-table span.prdoldprice').html('');} if($('.bulkside').is(':checked')){$('#addEarmold').prop('checked',false);$('#addEarmold').attr('disabled','disabled');}},isPatientReferenceMandatory:function(){var requiredProductGroups=window.IS_PATIENT_REFERENCE_REQUIRED_BY_GROUP.split(",");if($.inArray(window.PRODUCT_GROUP,requiredProductGroups)==-1){return false;} return true;},EarmoldProductPriceTable:function(){var self=this;$('#addEarmold').on('click',function(){var qty=$('.configurable__qty-container #qty').val(),price=$('.product-info-price .price-final_price span[data-price-type="finalPrice"]').attr('data-price-amount')||0,prdprice=qty*price,earprice=0,isMedicaidYes=self.buyingGroup().selected_medicaid_group_id||self.isPatientReferenceMandatory(),warprice=$('.extended-warranty__product select option:selected').attr('data-price')||0;$('.price-table span.earprice').attr('data-earprice',earprice);if(warprice){warprice=qty*warprice;} if(this.checked){$('.box-tocart .actions').addClass('sr-only');$('#configure-button').removeClass('sr-only');$(this).addClass('showearprice');self.patientRefField.addClass('required');self.patientRefField.parent().prev().parent().addClass('required');}else{$('.box-tocart .actions').removeClass('sr-only');$('#configure-button').addClass('sr-only');$(this).removeClass('showearprice');if(!isMedicaidYes){self.patientRefField.removeClass('required');self.patientRefField.parent().prev().parent().removeClass('required');}} $('.product-configurator').removeClass('fullformloaded');var totalprice=parseFloat(prdprice)+parseFloat(warprice)+parseFloat(earprice);if(totalprice){$('.price-table span.earprice').empty();$('.price-table span.earprice').append(priceUtils.formatPrice(earprice));$('.price-table span.warprice').empty();$('.price-table span.warprice').append(priceUtils.formatPrice(warprice));$('.pricetabletotal').empty();if(qty.length<15){$('.pricetabletotal').append(priceUtils.formatPrice(totalprice));}}});},RadioSelectors:function(){var earprice=0,self=this,isMedicaidYes=self.buyingGroup().selected_medicaid_group_id||self.isPatientReferenceMandatory();if($('.biside').is(':checked')){if(!self.iscartpage){$('.radioselector').removeClass('isnotbinaural');$('.box-tocart #qty').val('2');$('.box-tocart #qty').addClass('invisibleqty');$('#addEarmold').removeAttr('disabled');} if(self.iscartpage){$('.box-tocart #qty').addClass('invisibleqty');}} if(this.hasLndProductSku==true||this.sideRestriction=='Binaural'){$('.box-tocart #qty').val('1');if($('.rightside').is(':checked')){$('.Right.field').addClass('required');$('.Right.field select').addClass('required');$('.Left.field').removeClass('required');$('.Left.field select').removeClass('required');$('.Left.field select').attr('disabled','disabled');$('.Right.field select').removeAttr('disabled');$('.radioselector').addClass('isnotbinaural');self.resetValidationError();} if($('.leftside').is(':checked')){$('.Left.field').addClass('required');$('.Left.field select').addClass('required');$('.Right.field').removeClass('required');$('.Right.field select').removeClass('required');$('.Right.field select').attr('disabled','disabled');$('.Left.field select').removeAttr('disabled');$('.radioselector').addClass('isnotbinaural');self.resetValidationError();}} $('.radioselector .custom-radio > .radio').on('click',function(){if(this.checked){if($(this).hasClass('biside')){$('.radioselector').removeClass('isnotbinaural');$('.box-tocart #qty').val('2');$('#addEarmold').removeAttr('disabled');$('.box-tocart #qty').addClass('invisibleqty');} if($(this).hasClass('rightside')||$(this).hasClass('leftside')){$('.radioselector').addClass('isnotbinaural');$('.box-tocart #qty').val('1');$('#addEarmold').removeAttr('disabled');$('.box-tocart #qty').addClass('invisibleqty');} if($(this).hasClass('bulkside')){$('.box-tocart #qty').val('1');$('.box-tocart #qty').prop('disabled',false);$('#addEarmold').prop('checked',false);$('#addEarmold').attr('disabled','disabled');$('.radioselector > .control').addClass('isnotbinaural');$('.box-tocart #qty').removeClass('invisibleqty');$('.box-tocart .actions').removeClass('sr-only');$('#configure-button').addClass('sr-only');if(!isMedicaidYes){self.patientRefField.removeClass('required');self.patientRefField.parent().prev().parent().removeClass('required');}} self.resetValidationError();$('.configurableclass .Color .control > select').prop('selectedIndex',0);$('.configurableclass .Color .control > select').trigger('change');$('configurableclass .warranty select').prop('selectedIndex',0);$('.configurableclass .warranty select').trigger('change');$('.price-table span.earprice').empty();$('.price-table span.earprice').append(priceUtils.formatPrice(earprice));$('.product-configurator').removeClass('fullformloaded');} self.BulkQtyOnChangeCallback();self.autoSelectSingleOption();});},resetValidationError:function(){$('.Color select').removeClass('mage-error');$('.Color .control div.mage-error').remove();$('.configurableclass .product-options-wrapper > .fieldset > .field input[type="text"]').removeClass('mage-error');$('.configurableclass .product-options-wrapper > .fieldset > .field .control div.mage-error').remove();$('.configurableclass .product-options-wrapper > .fieldset > .field .control select').removeClass('mage-error');},OptionSelectedInConfigEdit:function(custom_selection){var self=this;if(self.iscartpage&&$('.product-add-form').hasClass('BTEgroup')){if(custom_selection==self.BinauralSelected){$('.biside').prop('checked',true);if($('.product-add-form').hasClass('onlyPatientBased')){$('.radio.biside').trigger('click');}} if(custom_selection==self.RightSelected){$('.rightside').prop('checked',true);} if(custom_selection==self.LeftSelected){$('.leftside').prop('checked',true);} if(custom_selection==self.BulkSelected){$('.bulkside').prop('checked',true);$('#addEarmold').attr('disabled','disabled');$('.box-tocart #qty').removeAttr('disabled');$('.box-tocart #qty').removeClass('invisibleqty');}}},triggerEarMold:function(){var self=this;if(self.iscartpage&&window.earmoldCheck===false){window.earmoldCheck=true;var pageUrl=$(location).attr('href'),quoteItemUrl=pageUrl.split('id/'),quoteItemArray=quoteItemUrl[1].split('/'),quoteItemId=quoteItemArray[0];$.ajax({type:"GET",url:window.BASE_URL+'/pcm/earmoldcheck/index',data:{'quote_item_id':quoteItemId},dataType:'json',success:function(data){if(data.success==1){var earmoldval=data.count;if($('.product-add-form').hasClass('onlyBuklOrders')){data.count=0;} if(data.count>0){$('#addEarmold').trigger('click');$("#addEarmold").attr("checked","checked");$("#configure-button").removeClass("hide");$("#configure-button").removeClass("sr-only");$("#product-updatecart-button").parent().addClass('sr-only');$('#configure-button').trigger('click');}else{if(!$('#configure-button').hasClass('hide')){$('#configure-button').trigger('click');}}} $('#warranty-config').removeClass('cart-edit-loader');},error:function(xhr,textStatus,errorThrown){console.log(textStatus);}});}},});});