jQuery(document).on('js_event_wpv_pagination_completed', drproperty_mark_favorites);
jQuery(document).on('js_event_wpv_parametric_search_results_updated', drproperty_mark_favorites);
document.addEventListener('DOMContentLoaded', function (){
let searchForm=jQuery('.property-search-form');
let newContainer=searchForm.find('.more-fields-wrapper');
searchForm.each(function (index, element){
jQuery(element).find("[id$='-more'], [name='x-additional_custom_location']").each(function (index, innerElement){
let elem=jQuery(innerElement);
newContainer.prepend(elem.closest('.form-group'));
});
});
if(window.innerWidth < 500){
searchForm.each(function (index, element){
jQuery(element).find("[id$='-hm']").each(function (index, innerElement){
let elem=jQuery(innerElement);
newContainer.append(elem.closest('.form-group'));
});
});
}});
document.addEventListener('DOMContentLoaded', function (){
let view=document.querySelector('form.wpv-filter-form');
if(view&&view.dataset.viewnumber){
drproperty_update_filter_view(view.dataset.viewnumber);
}});
function drproperty_update_filter_view(viewNumber){
drproperty_remove_unwanted_filters(viewNumber);
drproperty_invoke_sumoselect(viewNumber);
drproperty_google_tag_manager_push_event(viewNumber);
}
let sumoSelectOptions={
placeholder: drproperty_data.chosen_placeholder_text_multiple,
captionFormatAllSelected: drproperty_data.sumoselect_placeholder_allSelectedText,
captionFormat: drproperty_data.sumoselect_placeholder_allSelectedText,
csvDispCount: 3,
forceCustomRendering: false,
triggerChangeCombined: true,
okCancelInMulti: true,
isClickAwayOk: true,
locale: [
drproperty_data.general_okay,
drproperty_data.general_cancel,
drproperty_data.general_select_all
]
};
let sumoSelectObserver=new IntersectionObserver(drpoperty_sumoselect_observer_cb, {
root: null,
rootMargin: '0px',
threshold: 0.1
});
function drpoperty_sumoselect_observer_cb(changes, observer){
changes.forEach(change=> {
if(change.intersectionRatio > 0){
let element=jQuery(change.target);
element.SumoSelect(sumoSelectOptions);
element.on('sumo:closed', function (sumo){
let event=document.createEvent("HTMLEvents");
event.initEvent("change", false, true);
change.target.closest('form[data-viewnumber]').dispatchEvent(event);
})
observer.unobserve(change.target);
}});
}
function drproperty_invoke_sumoselect(viewNumber){
let selector='form[data-viewnumber="' + viewNumber + '"] select.sumoselect';
document.querySelectorAll(selector).forEach(element=> sumoSelectObserver.observe(element));
}
function drproperty_google_tag_manager_push_event(viewNumber){
if(typeof gtag==='undefined'){
return;
}
let view=jQuery('form[data-viewnumber=' + viewNumber + ']');
let search=view.find('.js-wpv-filter-trigger, .js-wpv-filter-trigger-delayed').serializeArray();
let search_label='';
let seperator='';
search.forEach(function (element){
search_label=search_label + seperator + element.name.replace("wpv-", "") + "=" + element.value;
seperator=', ';
});
gtag('event', 'view_search_results', {
'event_category': 'engagement',
'event_label': search_label,
'event_callback': function (){
console.log('DRPROP: Event received: view_search_results');
}});
}
function drproperty_ga_mock(action){
console.log("GA is not available.", action);
}
jQuery(document).on('js_event_wpv_addon_maps_init_map_completed', function (event, event_settings){
let radius=document.getElementById(event_settings.map_id).dataset.mapRadius;
if(radius < 0){
return;
}
let map=WPViews.view_addon_maps.get_map(event_settings.map_id);
google.maps.event.addListenerOnce(map, 'idle', function (){
var coverageCircle=new google.maps.Circle({
strokeColor: '#ed1c24',
strokeOpacity: 0.7,
strokeWeight: 1,
fillColor: '#ed1c24',
fillOpacity: 0.15,
map: map,
center: map.center,
radius: radius,
});
});
});