File: /mnt/data/dreamsrent-wp-demo/wp-content/plugins/dreamsrent-booking/admin/admin_script.js
/*
Author : Dreams Technologies
Template Name: Dreams Rent - Bootstrap Template
Version : 1.0
*/
(function($) {
"use strict";
jQuery(document).ready(function($) {
// $('.cmb2-id-dreams-booking-meta-rdprice').css('display', 'block');
// $('.cmb2-id-dreams-booking-meta-rhprice').css('display', 'none');
// $('#dreams_booking_meta_rental_type').on('change',function() {
// var val_enable = $(this).val();
// if (val_enable === 'day') {
// $('.cmb2-id-dreams-booking-meta-rdprice').css('display', 'block');
// $('.cmb2-id-dreams-booking-meta-rhprice').css('display', 'none');
// } else if (val_enable === 'hour') {
// $('.cmb2-id-dreams-booking-meta-rdprice').css('display', 'none');
// $('.cmb2-id-dreams-booking-meta-rhprice').css('display', 'block');
// }
// });
// // Bind the load event handler to #dreams_booking_meta_enable_deposit
// $('#dreams_booking_meta_rental_type').on('load', function() {
// var val_enable = $(this).val();
// if (val_enable === 'day') {
// $('.cmb2-id-dreams-booking-meta-rdprice').css('display', 'block');
// $('.cmb2-id-dreams-booking-meta-rhprice').css('display', 'none');
// }else if (val_enable === 'hour') {
// $('.cmb2-id-dreams-booking-meta-rdprice').css('display', 'none');
// $('.cmb2-id-dreams-booking-meta-rhprice').css('display', 'block');
// }
// });
// // Trigger the change event to execute the initial logic
// $('#dreams_booking_meta_rental_type').trigger('change');
jQuery('#dreams_booking_meta_enable_deposit').on('change', function(){
var val_enable = jQuery(this).val();
if (val_enable === 'no') {
jQuery('.cmb2-id-dreams-booking-meta-type-deposit').css('display', 'none');
jQuery('.cmb2-id-dreams-booking-meta-amount-deposit').css('display', 'none');
} else if (val_enable === 'yes') {
jQuery('.cmb2-id-dreams-booking-meta-type-deposit').css('display', 'block');
jQuery('.cmb2-id-dreams-booking-meta-amount-deposit').css('display', 'block');
}
else if (val_enable === 'yeswithfull') {
jQuery('.cmb2-id-dreams-booking-meta-type-deposit').css('display', 'block');
jQuery('.cmb2-id-dreams-booking-meta-amount-deposit').css('display', 'block');
}
});
// jQuery('#dreams_booking_meta_enable_deposit').on('load', function(){
// var val_enable = jQuery(this).val();
// if (val_enable === 'no') {
// jQuery('.cmb2-id-dreams-booking-meta-type-deposit').css('display', 'none');
// jQuery('.cmb2-id-dreams-booking-meta-amount-deposit').css('display', 'none');
// }
// });
// Bind the load event handler to #dreams_booking_meta_enable_deposit
$('#dreams_booking_meta_enable_deposit').on('load', function() {
var val_enable = $(this).val();
if (val_enable === 'no') {
// If the initial value is 'no', hide the desired elements
$('.cmb2-id-dreams-booking-meta-type-deposit').css('display', 'none');
$('.cmb2-id-dreams-booking-meta-amount-deposit').css('display', 'none');
}
});
// Trigger the change event to execute the initial logic
$('#dreams_booking_meta_enable_deposit').trigger('change');
});
function setupUnlimitedKmToggle(container) {
var checkbox = container.querySelector('input[name="base_kilometers_unlimited"]');
var baseKm = container.querySelector('input[name="base_kilometers"]');
var extraKm = container.querySelector('input[name="kilometers_extra_price"]');
if (!checkbox || !baseKm || !extraKm) return;
function update() {
if (checkbox.checked) {
// Unlimited: disable and clear the fields
baseKm.value = '';
extraKm.value = '';
baseKm.disabled = true;
extraKm.disabled = true;
} else {
// Not unlimited: enable the fields again
baseKm.disabled = false;
extraKm.disabled = false;
}
}
checkbox.addEventListener('change', update);
update(); // run once on load
}
document.addEventListener('DOMContentLoaded', function() {
// Billing section in add/edit reservation
var billingSections = document.querySelectorAll('.card-body');
billingSections.forEach(function(section) {
if (section.querySelector('input[name="base_kilometers_unlimited"]')) {
console.log('hiii');
setupUnlimitedKmToggle(section);
}
});
});
jQuery(document).ready(function () {
// Add new insurance fields dynamically
jQuery(".add_new_insurance").click(function (e) {
e.preventDefault(); // Prevent the page from reloading
var wrapper = jQuery('.insurance_wrapper');
// Define the HTML structure for the new insurance fields
let newField = `
<div class="custom-row">
<div class="col-4">
<input type="text" name="insurance_name[]" class="form-control" placeholder="Insurance Name">
</div>
<div class="col-4">
<input type="number" name="insurance_price[]" class="form-control" placeholder="Price">
</div>
<div class="col-4">
<select name="insurance_type[]" class="form-control">
<option value="fixed">Fixed</option>
<option value="day">Per Day</option>
</select>
</div>
<div class="remove_button_wrap">
<a href="javascript:void(0);" class="remove_button button-secondary">Remove</a>
</div>
</div>
`;
// Append the new field to the wrapper
jQuery(wrapper).append(newField);
});
// Remove insurance fields
var wrapper = jQuery('.insurance_wrapper');
jQuery(wrapper).on('click', '.remove_button', function (e) {
e.preventDefault(); // Prevent the default action
jQuery(this).closest('.custom-row').remove(); // Remove the entire row
});
});
/* SKILLES AJAX WORK ADD/REMOVE SKILLS */
jQuery(document).ready(function(){
jQuery(".add_new_location").click( function(e) {
e.preventDefault();
var tax_name = jQuery(this).attr("data-taxonomy-name");
var wrapper = jQuery('.location_wrapper');
jQuery.ajax({
type : "post",
//dataType : "json",
url : ajax_object.ajax_url,
data : {action: "dreams_get_my_terms", tax_name : tax_name},
success: function(response) {
if(response) {
jQuery(wrapper).append(response);
}
else {
alert("Something went wrong");
}
}
});
});
/* REMOVE SKILLS */
var wrapper = jQuery('.location_wrapper');
jQuery(wrapper).on('click', '.remove_button', function(e){
e.preventDefault();
jQuery(this).parent('div').parent('div').remove(); //Remove field html
});
});
jQuery(document).ready(function(){
jQuery(".day_price_add").click( function(e) {
e.preventDefault();
var post_id = jQuery(this).attr("data-post_id");
var wrapper = jQuery('.dayprice_wrapper');
jQuery.ajax({
type : "post",
//dataType : "json",
url : ajax_object.ajax_url,
data : {action: "dreams_get_dayprice_terms"},
success: function(response) {
if(response) {
jQuery(wrapper).append(response);
}
else {
alert("Something went wrong");
}
}
});
});
/* REMOVE SKILLS */
var wrapper = jQuery('.dayprice_wrapper');
jQuery(wrapper).on('click', '.remove_button', function(e){
e.preventDefault();
jQuery(this).parent('div').parent('div').remove(); //Remove field html
});
});
jQuery(document).ready(function(){
jQuery(".hour_price_add").click( function(e) {
e.preventDefault();
var tax_name = jQuery(this).attr("data-taxonomy-name");
var wrapper = jQuery('.hourprice_wrapper');
jQuery.ajax({
type : "post",
//dataType : "json",
url : ajax_object.ajax_url,
data : {action: "dreams_get_hourprice_terms"},
success: function(response) {
if(response) {
jQuery(wrapper).append(response);
}
else {
alert("Something went wrong");
}
}
});
});
/* REMOVE SKILLS */
var wrapper = jQuery('.hourprice_wrapper');
jQuery(wrapper).on('click', '.remove_button', function(e){
e.preventDefault();
jQuery(this).parent('div').parent('div').remove(); //Remove field html
});
});
// jQuery(document).ready(function(){
// jQuery(".faq_add").click( function(e) {
// e.preventDefault();
// // var tax_name = jQuery(this).attr("data-taxonomy-name");
// var wrapper = jQuery('.hourprice_wrapper');
// jQuery.ajax({
// type : "post",
// //dataType : "json",
// url : ajax_object.ajax_url,
// data : {action: "dreams_get_faq_terms"},
// success: function(response) {
// if(response) {
// jQuery(wrapper).append(response);
// }
// else {
// alert("Something went wrong");
// }
// }
// });
// });
// /* REMOVE SKILLS */
// var wrapper = jQuery('.hourprice_wrapper');
// jQuery(wrapper).on('click', '.remove_button', function(e){
// e.preventDefault();
// jQuery(this).parent('div').parent('div').remove(); //Remove field html
// });
// });
jQuery(document).ready(function($) {
// Handle adding new FAQ fields
$('.faq_add').on('click', function(e) {
e.preventDefault();
var post_id = $(this).data('post_id');
var wrapper = $('.faq_wrapper');
$.ajax({
url: ajax_object.ajax_url,
type: 'POST',
data: {
action: 'dreams_get_faq_terms',
post_id: post_id
},
success: function(response) {
wrapper.append(response);
}
});
});
// Handle removing FAQ fields
$(document).on('click', '.remove_button', function(e) {
e.preventDefault();
$(this).closest('.custom-row').remove();
});
});
})(jQuery);