lib
1 year ago
admin-fields.js
1 year ago
admin-form.js
1 year ago
admin-global.js
1 year ago
admin-order.js
1 year ago
custom-spinner.js
1 year ago
help.js
1 year ago
rating-edit.js
1 year ago
selectize.js
1 year ago
st-uninstall.js
1 year ago
strong-testimonials-elementor-editor.js
1 year ago
view-category-filter.js
1 year ago
views.js
1 month ago
rating-edit.js
86 lines
| 1 | /** |
| 2 | * Edit rating |
| 3 | */ |
| 4 | |
| 5 | jQuery(document).ready(function ($) { |
| 6 | |
| 7 | var editRating = function () { |
| 8 | var ratingBox = $(this).closest(".edit-rating-box"), |
| 9 | ratingField = ratingBox.data("field"), |
| 10 | ratingForm = ratingBox.find('.rating-form'), |
| 11 | ratingDisplay = ratingBox.find('.rating-display'), |
| 12 | box = ratingBox.find('.edit-rating-success'), |
| 13 | revert_e = ratingBox.find('.current-rating').val(), |
| 14 | postId = $('#post_ID').val() || 0, |
| 15 | buttons2 = ratingBox.find('.edit-rating-buttons-2'); |
| 16 | |
| 17 | ratingForm.find("input[value=" + revert_e + "]").prop("checked", true); |
| 18 | |
| 19 | //TODO Refactor so "off" isn't necssary! |
| 20 | buttons2.children('.save').off("click"); |
| 21 | buttons2.children('.cancel').off("click"); |
| 22 | |
| 23 | ratingDisplay.hide(); |
| 24 | ratingForm.showInlineBlock(); |
| 25 | |
| 26 | box.html(''); |
| 27 | |
| 28 | buttons2.children('.save').on("click", function () { |
| 29 | var new_rating = ratingForm.find("input:checked").val(); |
| 30 | var name_on_form = ratingForm.find("input:checked").attr("name"); |
| 31 | var field_name = name_on_form.match(/\[(.*)\]/).pop(); |
| 32 | |
| 33 | if (new_rating === revert_e) { |
| 34 | buttons2.children('.cancel').trigger('click'); |
| 35 | return; |
| 36 | } |
| 37 | |
| 38 | $.post(ajaxurl, { |
| 39 | action: 'wpmtst_edit_rating', |
| 40 | post_id: postId, |
| 41 | field_name: field_name, |
| 42 | rating: new_rating, |
| 43 | editratingnonce: $('#edit-' + ratingField + '-nonce').val() |
| 44 | }, function (data) { |
| 45 | var obj = JSON.parse(data); |
| 46 | |
| 47 | var stars = ratingDisplay.find(".inner"); |
| 48 | stars.html(obj.display); |
| 49 | |
| 50 | box.html(obj.message); |
| 51 | |
| 52 | ratingForm.find("input[value=" + new_rating + "]").prop("checked", true); |
| 53 | |
| 54 | if (box.hasClass('hidden')) { |
| 55 | box.fadeIn('fast', function () { |
| 56 | box.removeClass('hidden'); |
| 57 | }); |
| 58 | } |
| 59 | |
| 60 | revert_e = new_rating; |
| 61 | ratingBox.find('.current-rating').val(new_rating); |
| 62 | ratingForm.hide(); |
| 63 | ratingDisplay.showInlineBlock(); |
| 64 | }); |
| 65 | return false; |
| 66 | }); |
| 67 | |
| 68 | buttons2.children('.cancel').on("click", function () { |
| 69 | ratingForm.find("input[value=" + revert_e + "]").prop("checked", true); |
| 70 | ratingForm.hide(); |
| 71 | ratingDisplay.showInlineBlock(); |
| 72 | return false; |
| 73 | }); |
| 74 | |
| 75 | buttons2.children('.zero').on("click", function () { |
| 76 | ratingForm.find("input[value=0]").prop("checked", true); |
| 77 | $(this).trigger('blur'); |
| 78 | return false; |
| 79 | }); |
| 80 | |
| 81 | } |
| 82 | |
| 83 | $(".edit-rating").on('click', editRating); |
| 84 | |
| 85 | }); |
| 86 |