[FRAMEWORK] Xây dựng page Account Phần 11 (ok)
Like Post, Unlike Post

C:\xampp\htdocs\reset4\wp-content\themes\addframwork\js\account-business.js
jQuery(document).ready(function($) {
function account_activity_business_load(type) {
$(".status").removeClass("d-none");
$.ajax({
url: app.ajaxUrl,
type: "post",
dataType: "text",
data: {
action: 'account_activity_load_list_' + type,
token: $("#nonce_token").val()
},
success: function(output) {
$(".tab-" + type + " .account-list-item").append(output);
$(".status").addClass("d-none");
}
});
}
function account_get_tab_number(type = "activity") {
$.ajax({
url: app.ajaxUrl,
type: "post",
dataType: "text",
data: {
action: 'account_activity_get_tab_number',
type: type,
token: $("#nonce_token").val()
},
success: function(output) {
if (output != "error") {
const obj = JSON.parse(output, function(key, value) {
$(".account-load-btn[data-id='" + key + "'] span").text(value);
});
}
}
});
}
function checkPhoneNumber(element) {
var flag = false;
var phone = $(element).val().trim();
phone = phone.replace('(+84)', '0');
phone = phone.replace('+84', '0');
phone = phone.replace('0084', '0');
phone = phone.replace(/ /g, '');
if (phone != '') {
var firstNumber = phone.substring(0, 1);
if ((firstNumber == '0') && phone.length == 10) {
if (phone.match(/^\d{10}/)) {
flag = true;
}
}
}
return flag;
}
// ==
account_activity_business_load("deal");
account_get_tab_number();
// ==
$('body').on('click', '#change-acc', function(e) {
const $this = $(this);
const btnScan = $('#scan-voucher');
const type = $this.attr('data-type');
const userId = $this.attr('data-id');
const tab_active = $(".tab-active").data("tab-id");
$.ajax({
url: app.ajaxUrl,
type: "post",
dataType: "text",
data: {
action: 'change_business_activity',
token: $('#nonce_token').val(),
type: type,
id: userId,
},
beforeSend: function() {
$(".account-list-item:not('.news') .col-6").not(".col-addnew").remove();
$this.find('svg').addClass('spin');
},
success: function(response) {
$(".menu-tab-account .li").not(".active").find("a").addClass("load");
$this.find('svg').removeClass('spin');
btnScan.toggle();
if (type == 'activity') {
account_get_tab_number("activity");
$this.attr('data-type', 'business').find('span').text(app.business);
$(".account-list-item .col-addnew").removeClass("d-none");
account_activity_business_load(tab_active);
$(".col-activity-event").remove();
return;
}
$this.data('type', 'activity').find('span').text(app.activity);
$(".account-list-item .col-addnew").addClass("d-none");
account_get_tab_number("business");
$(".menu-tab-account ul li:last-child,.tab-news").removeClass("d-none");
},
error: function() {
$this.find('svg').removeClass('spin');
alert('Error');
}
})
return false;
});
// ==
var exclude_img = [];
var input_btn = 0;
var xp = -1;
$(document).on("click", ".add-image-btn", function(e) {
let select = $(this).closest("form");
input_btn++;
select.find(".list-input-file").append("<input type='file' name='upload_files[]' id='filenumber" + input_btn + "' class='img_file upload_files' accept='.gif,.jpg,.jpeg,.png,' multiple/>");
$("#filenumber" + input_btn).click();
});
$(document).on("change", ".upload_files", function(e) {
let select = $(this).closest("form")
files = e.target.files;
filesLength = files.length;
for (var i = 0; i < filesLength; i++) {
var f = files[i];
var res_ext = files[i].name.split(".");
var img_or_video = res_ext[res_ext.length - 1];
var fileReader = new FileReader();
fileReader.name = f.name;
fileReader.onload = function(e) {
xp++;
var file = e.target;
select.find(".images-box").append("<div class='box preview-image'><div class='images-preview' style='background-image: url(" + e.target.result + ")'><button type='button' data-id='" + xp + "' class='remove-img btn-close' title='Remove'></button></div></div>");
};
fileReader.readAsDataURL(f);
}
});
$(document).on("click", ".images-box .remove-img", function() {
$(this).closest(".box").remove();
exclude_img.push($(this).attr("data-id"));
});
// ==
var is_busy = false;
var add_deal_form = "#add-deal-form ";
$(add_deal_form).submit(function() {
if (is_busy == true) return;
is_busy = true;
var formData = new FormData(document.getElementById("add-deal-form"));
formData.append('action', 'add_deal');
formData.append('exclude_img', exclude_img);
$.ajax({
url: app.ajaxUrl,
type: "post",
contentType: false,
processData: false,
data: formData,
success: function(output) {
is_busy = false;
if (output == "success") {
$("#alert-success").modal("show");
$("#add_deal_form").remove();
}
}
});
return false;
});
$(document).on("click", ".deal.add-favorite", function() {
if (is_busy == true) return;
is_busy = true;
let select = $(this);
$.ajax({
url: app.ajaxUrl,
type: "post",
dataType: "text",
data: {
action: 'deal_favorite_process',
id: $(this).data("id"),
token: $(this).data("token"),
},
success: function(output) {
$(".status").addClass("d-none");
is_busy = false;
if (output == "success") {
select.toggleClass("added");
}
}
})
});
$(".account-load-btn").click(function() {
if ($(this).hasClass("load")) {
let data_type = $(this).data("id");
let account_type = $("#change-acc").data("type");
account_activity_business_load(data_type);
$(this).removeClass("load");
}
});
$(".save-date-time").click(function() {
let select = ".add-date-time ";
let date = $(select + "input[name='date_']").val();
let time_from = $(select + "input[name='time_from']").val();
let time_to = $(select + "input[name='time_to']").val();
if (time_to == null || time_from == null || date == "") {
$(".date-time-message").html('<div class="alert alert-warning" role="alert">' + app.fill_infor + '</div>')
} else {
let date_time = date + ", " + time_from + " - " + time_to;
$(".event-datetime-text").val(date_time);
$(".add-date-time").modal("hide");
$(".step-1").modal("show");
$(".date-time-message").html("");
}
});
var add_event_class_arr = ["event-datetime-text", "address-input", "description", "title", "phone"];
$.each(add_event_class_arr, function(index, value) {
$("#add-event-form ." + value).click(function() {
$("#add-event-form .step-1-message").html('');
});
});
$(".add-event-btn").click(function() {
$.each(add_event_class_arr, function(index, value) {
if ($("#add-event-form ." + value).val() == "") {
$("#add-event-form .step-1-message").html('<div class="alert alert-warning" role="alert">' + app.fill_infor + '</div>');
return;
}
if (!checkPhoneNumber("#add-event-form [name='phone']")) {
$("#add-event-form .step-1-message").html('<div class="alert alert-warning" role="alert">' + app.phone_valid + '</div>');
return;
}
});
});
$("#add-event-form").submit(function() {
if (is_busy == true) return;
is_busy = true;
var formData = new FormData(document.getElementById("add-event-form"));
formData.append('action', 'add_event');
formData.append('exclude_img', exclude_img);
$.ajax({
url: app.ajaxUrl,
type: "post",
contentType: false,
processData: false,
data: formData,
success: function(output) {
is_busy = false;
if (output == "success") {
$("#add-market-success").modal("show");
$("#add_event_form").remove();
}
}
});
return false;
});
$("#add-post-form").submit(function() {
if (is_busy == true) return;
is_busy = true;
var formData = new FormData(document.getElementById("add-post-form"));
formData.append('action', 'add_post');
formData.append('exclude_img', exclude_img);
$.ajax({
url: app.ajaxUrl,
type: "post",
contentType: false,
processData: false,
data: formData,
success: function(output) {
is_busy = false;
if (output == "success") {
$("#add-market-success").modal("show");
$("#add_event_form").remove();
}
}
});
return false;
});
$(".save-address").click(function() {
let city_val = $(".province-select").val();
let city_text = $(".province-select option:selected").text();
let district_val = $(".district-select").val();
let district_text = $(".district-select option:selected").text();
let ward_val = $(".ward-select").val();
let ward_text = $(".ward-select option:selected").text();
let street_text = $(".street").val();
if (city_val == null || district_val == null || ward_val == null || street_text == "") {
$(".address-message").html('<div class="alert alert-warning" role="alert">' + app.fill_infor + '</div>')
} else {
let address = street_text + ", " + ward_text + ", " + district_text + ", " + city_text;
$(".address-input").val(address);
$(".add-adress").modal("hide");
$(".step-1").modal("show");
$(".address-message").html("");
}
});
$(document).on("click", ".news.add-favorite", function() {
if (is_busy == true) return;
is_busy = true;
let select = $(this);
$.ajax({
url: app.ajaxUrl,
type: "post",
dataType: "text",
data: {
action: 'news_favorite_process',
post_id: $(this).data("id"),
token: $("#nonce_token").val()
},
success: function(output) {
if (output == "success") {
select.toggleClass("added");
}
is_busy = false;
}
})
});
});C:\xampp\htdocs\reset4\wp-content\themes\addframwork\framework\ajax\news.php
C:\xampp\htdocs\reset4\wp-content\themes\addframwork\framework\ajax\account.php
C:\xampp\htdocs\reset4\wp-content\themes\addframwork\framework\models\post.php
C:\xampp\htdocs\reset4\wp-content\themes\addframwork\framework\views\post\item.php
C:\xampp\htdocs\reset4\wp-content\themes\addframwork\inc\functions\function-setup.php
C:\xampp\htdocs\reset4\wp-content\themes\addframwork\comments.php
C:\xampp\htdocs\reset4\wp-content\themes\addframwork\framework\ajax\business.php
C:\xampp\htdocs\reset4\wp-content\themes\addframwork\framework\views\post\add-post.php
C:\xampp\htdocs\reset4\wp-content\themes\addframwork\framework\controllers\Account.php
Last updated
Was this helpful?