| 1 |
!function ($) { |
| 2 |
"use strict"; |
| 3 |
var __ = wp.i18n.__; |
| 4 |
|
| 5 |
function showModal() { |
| 6 |
$('#ultimate-builder-kit-builder-modal').show(); |
| 7 |
} |
| 8 |
|
| 9 |
function hideModal() { |
| 10 |
$('#ultimate-builder-kit-builder-modal').hide(); |
| 11 |
} |
| 12 |
|
| 13 |
function resetModalForm(){ |
| 14 |
$("#ultimate-builder-kit-builder-modal form")[0].reset(); |
| 15 |
$("#ultimate-builder-kit-builder-modal form .template_id").val(''); |
| 16 |
setTemplateStatusSwitcher(1); |
| 17 |
} |
| 18 |
|
| 19 |
function setSubmitBtn(string){ |
| 20 |
$("#ultimate-builder-kit-builder-modal form .usk-modal-submit-btn").val(string) |
| 21 |
} |
| 22 |
|
| 23 |
function setError($this) { |
| 24 |
$this.addClass('input-error'); |
| 25 |
} |
| 26 |
|
| 27 |
function removeError($this) { |
| 28 |
$('.input-error').removeClass('input-error'); |
| 29 |
} |
| 30 |
|
| 31 |
function setTemplateStatusSwitcher(value) { |
| 32 |
var isActive = String(value) === '1'; |
| 33 |
var $modal = $('#ultimate-builder-kit-builder-modal'); |
| 34 |
var $switcher = $modal.find('#usk_template_status_switcher'); |
| 35 |
var $statusInput = $modal.find('#usk_template_status'); |
| 36 |
|
| 37 |
$statusInput.val(isActive ? '1' : '0'); |
| 38 |
|
| 39 |
if (isActive) { |
| 40 |
$switcher.addClass('usk-active'); |
| 41 |
} else { |
| 42 |
$switcher.removeClass('usk-active'); |
| 43 |
} |
| 44 |
|
| 45 |
$switcher.attr('aria-checked', isActive ? 'true' : 'false'); |
| 46 |
$modal.find('.usk-switcher-status-text').text(isActive ? __('Active', 'ultimate-store-kit') : __('Inactive', 'ultimate-store-kit')); |
| 47 |
} |
| 48 |
|
| 49 |
$(document).on('click', '#ultimate-builder-kit-builder-modal .usk-modal-close-button', function (e) { |
| 50 |
hideModal(); |
| 51 |
}) |
| 52 |
|
| 53 |
$(document).on('click', 'body.post-type-usk-template-builder a.page-title-action', function (e) { |
| 54 |
e.preventDefault(); |
| 55 |
resetModalForm(); |
| 56 |
setSubmitBtn(__('Create Template', 'ultimate-store-kit')); |
| 57 |
showModal(); |
| 58 |
}) |
| 59 |
|
| 60 |
|
| 61 |
$(document).on('submit', '#ultimate-builder-kit-builder-modal form', function (e) { |
| 62 |
e.preventDefault(); |
| 63 |
var $serialized = $(this).serialize(); |
| 64 |
removeError(); |
| 65 |
|
| 66 |
$.ajax({ |
| 67 |
url: ajaxurl, |
| 68 |
dataType: "json", |
| 69 |
method: 'post', |
| 70 |
cache: false, |
| 71 |
data: { |
| 72 |
'action': 'ultimate_store_kit_builder_create_template', |
| 73 |
'data': $serialized, |
| 74 |
}, |
| 75 |
success: function (response) { |
| 76 |
window.location.href = response.data.redirect |
| 77 |
}, |
| 78 |
error: function (errorThrown) { |
| 79 |
if (errorThrown.status == 422) { |
| 80 |
$.each(errorThrown.responseJSON.data.errors_arr, function (index, value) { |
| 81 |
setError($('#ultimate-builder-kit-builder-modal #' + index)); |
| 82 |
}); |
| 83 |
} |
| 84 |
} |
| 85 |
}); |
| 86 |
|
| 87 |
}); |
| 88 |
|
| 89 |
$(document).on('click', 'body.post-type-usk-template-builder .row-actions .usk-edit-action a', function (e) { |
| 90 |
e.preventDefault(); |
| 91 |
removeError(); |
| 92 |
resetModalForm(); |
| 93 |
setSubmitBtn(__('Update Template', 'ultimate-store-kit')); |
| 94 |
|
| 95 |
$.ajax({ |
| 96 |
url: ajaxurl, |
| 97 |
dataType: "json", |
| 98 |
method: 'post', |
| 99 |
data: { |
| 100 |
'action': 'ultimate_store_kit_builder_get_edit_template', |
| 101 |
'template_id': $(this).data('id'), |
| 102 |
'nonce': UltimateStoreKitConfigBuilder.nonce |
| 103 |
}, |
| 104 |
success: function (response) { |
| 105 |
if(response.success){ |
| 106 |
$("#ultimate-builder-kit-builder-modal form .template_id").val(response.data.id).change(); |
| 107 |
$("#ultimate-builder-kit-builder-modal form #template_name").val(response.data.name).change(); |
| 108 |
$("#ultimate-builder-kit-builder-modal form #template_type").val(response.data.type).change(); |
| 109 |
setTemplateStatusSwitcher(response.data.status); |
| 110 |
} |
| 111 |
showModal(); |
| 112 |
}, |
| 113 |
error: function (errorThrown) { |
| 114 |
console.log(errorThrown); |
| 115 |
if (errorThrown.status == 422 || errorThrown.status == 403) { |
| 116 |
alert(__('Permission denied or invalid request', 'ultimate-store-kit')); |
| 117 |
} |
| 118 |
} |
| 119 |
}); |
| 120 |
|
| 121 |
}); |
| 122 |
|
| 123 |
$(document).ready(function () { |
| 124 |
$('#ultimate-builder-kit-builder-modal').on('click', '#usk_template_status_switcher', function () { |
| 125 |
var $input = $('#usk_template_status'); |
| 126 |
var isActive = $input.val() === '1'; |
| 127 |
setTemplateStatusSwitcher(isActive ? 0 : 1); |
| 128 |
}).on('keydown', '#usk_template_status_switcher', function (e) { |
| 129 |
if (e.key === ' ' || e.key === 'Enter') { |
| 130 |
e.preventDefault(); |
| 131 |
var $input = $('#usk_template_status'); |
| 132 |
var isActive = $input.val() === '1'; |
| 133 |
setTemplateStatusSwitcher(isActive ? 0 : 1); |
| 134 |
} |
| 135 |
}); |
| 136 |
}); |
| 137 |
|
| 138 |
}(jQuery); |