/**
* UserRegistration Admin JS
* global i18n_admin
*/
jQuery(function ($) {
// Bind UI Action handlers for searching fields.
$(document.body).on("input", "#ur-search-fields", function () {
var search_string = $(this).val().toLowerCase();
// Show/Hide fields.
$(".ur-registered-item").each(function () {
var field_label = $(this).text().toLowerCase();
if (field_label.search(search_string) > -1) {
$(this).addClass("ur-searched-item");
$(this).show();
} else {
$(this).removeClass("ur-searched-item");
$(this).hide();
}
});
// Show/Hide field sections.
$(".ur-registered-list").each(function () {
var search_result_fields_count = $(this).find(
".ur-registered-item.ur-searched-item"
).length;
var hr = $(this).prev("hr"),
heading = $(this).prev("hr").prev(".ur-toggle-heading");
if (0 === search_result_fields_count) {
hr.hide();
heading.hide();
$(this).hide();
} else {
hr.show();
heading.show();
$(this).show();
}
});
// Show/Hide fields not found indicator.
if ($(".ur-registered-item.ur-searched-item").length) {
$(".ur-fields-not-found").hide();
} else {
$(".ur-fields-not-found").show();
}
});
//Bind UI Actions for locked fields
$(document).on("mousedown", ".ur-locked-field", function (e) {
e.preventDefault();
var icon =
'';
if ($(this).hasClass("ur-one-time-draggable-disabled")) {
var title =
icon +
'' +
user_registration_form_builder_data.form_one_time_draggable_fields_locked_title.replace(
"%field%",
$(this).text()
) +
"",
message =
user_registration_form_builder_data.form_one_time_draggable_fields_locked_message.replace(
"%field%",
$(this).text()
);
Swal.fire({
title: title,
html: message,
showCloseButton: true,
customClass:
"user-registration-swal2-modal user-registration-swal2-modal--center user-registration-locked-field"
}).then(function (result) {
// Do Nothing here.
});
} else {
var field_data = $(this).data("field-data");
var title =
icon +
'' +
field_data.title +
"";
Swal.fire({
title: title,
html: field_data.message,
showCloseButton: true,
customClass:
"user-registration-swal2-modal user-registration-swal2-modal--center user-registration-locked-field",
confirmButtonText: field_data.button_title
}).then(function (result) {
if (result.value) {
var url = field_data.link;
window.open(url, "_blank");
}
});
}
});
// Bind UI Actions for upgradable fields
$(document).on("click", ".ur-upgradable-field", function (e) {
e.preventDefault();
var icon =
'';
var plan = $(this).data("plan");
var name = $(this).data("name");
var video_id = $(this).data("video");
var slug = $(this).data("slug"),
$this = $(this);
if (slug != "" && plan != "") {
$.ajax({
url: user_registration_locked_form_fields_notice_params.ajax_url,
type: "POST",
data: {
action: "user_registration_locked_form_fields_notice",
slug: slug,
plan: plan,
name: name,
video_id: video_id,
security:
user_registration_locked_form_fields_notice_params.user_registration_locked_form_fields_notice_nonce
},
success: function (response) {
if (video_id !== "") {
var video =
'
';
}
var action_button = $(response.data.action_button).find(
"a"
);
if (!action_button.length) {
action_button = $(response.data.action_button).find(
"form"
);
}
var title =
icon +
' ';
if (action_button.hasClass("activate-license-now")) {
var message =
user_registration_locked_form_fields_notice_params.license_activation_required_message;
title +=
user_registration_locked_form_fields_notice_params.license_activation_required_title;
} else if (action_button.hasClass("activate-now")) {
var message =
user_registration_locked_form_fields_notice_params.activation_required_message.replace(
"%plugin%",
name
);
title +=
user_registration_locked_form_fields_notice_params.activation_required_title;
} else if (action_button.hasClass("install-now")) {
var message =
user_registration_locked_form_fields_notice_params.installation_required_message.replace(
"%plugin%",
name
);
title +=
user_registration_locked_form_fields_notice_params.installation_required_title;
} else {
var message =
user_registration_locked_form_fields_notice_params.unlock_message
.replace("%field%", $this.text())
.replace("%plan%", plan);
title +=
$this.text() +
" " +
user_registration_locked_form_fields_notice_params.lock_message;
}
title += "";
message =
video +
message +
"
" +
response.data.action_button;
Swal.fire({
title: title,
html: message,
customClass:
"user-registration-swal2-modal user-registration-swal2-modal--centered user-registration-locked-field",
showCloseButton: true,
showConfirmButton: false,
allowOutsideClick: true,
heightAuto: false,
width: "575px"
}).then(function (result) {
// Do Nothing.
});
}
});
}
});
// Adjust builder width
$(window).on("resize orientationchange", function () {
var resizeTimer;
clearTimeout(resizeTimer);
resizeTimer = setTimeout(function () {
$(document.body).trigger("adjust_builder_width");
}, 250);
});
$(document.body).on("click", "#collapse-button", function () {
$(document.body).trigger("ur_adjust_builder_width");
});
$(document.body)
.on("ur_adjust_builder_width", function () {
var adminMenuWidth = $("#adminmenuwrap").width(),
$builder = $(
".user-registration-membership_page_add-new-registration .ur-form-subcontainer .menu-edit"
),
$loading = $(
".user-registration-membership_page_add-new-registration .ur-form-subcontainer .ur-loading-container"
);
$builder.css({ left: adminMenuWidth + "px" });
$loading.fadeOut(1000);
})
.trigger("ur_adjust_builder_width");
// Form name edit.
$(document.body).on(
"click",
".user-registration-editable-title__icon",
function () {
var $input = $(this).siblings(
".user-registration-editable-title__input"
);
if (!$input.hasClass("is-editing")) {
$input.trigger("focus");
}
$input.toggleClass("is-editing");
$input.attr(
"data-editing",
$input.attr("data-editing") == "true" ? "false" : "true"
);
}
);
$("#ur-form-name").on("change", function () {
$(".ur-form-title").text($(this).val());
});
// In case the user goes out of focus from title edit state.
$(document)
.not($(".user-registration-editable-title"))
.on("click", function (e) {
var field = $(".user-registration-editable-title__input");
// Both of these controls should in no way allow stopping event propagation.
if (
"ur-form-name" === e.target.id ||
"ur-form-name-edit-button" === e.target.id
) {
return;
}
if (!field.attr("hidden") && field.hasClass("is-editing")) {
e.stopPropagation();
// Only allow flipping state if currently editing.
if (
"true" !== field.data("data-editing") &&
field.val() &&
"" !== field.val().trim()
) {
field
.toggleClass("is-editing")
.trigger("blur")
.attr(
"data-editing",
field.attr("data-editing") == "true"
? "false"
: "true"
);
}
}
});
$(document).on(
"init_perfect_scrollbar update_perfect_scrollbar",
function () {
// Init perfect Scrollbar.
if ("undefined" !== typeof PerfectScrollbar) {
var tab_content = $(".ur-tab-contents");
if (
tab_content.length >= 1 &&
"undefined" === typeof window.ur_tab_scrollbar
) {
window.ur_tab_scrollbar = new PerfectScrollbar(
document.querySelector(".ur-tab-contents"),
{
suppressScrollX: true
}
);
var collapseBtn = document.querySelector("#ur-collapse");
collapseBtn.addEventListener("click", function () {
if (collapseBtn.classList.contains("open")) {
$(collapseBtn).removeClass("open");
$(collapseBtn).addClass("close");
} else {
$(collapseBtn).addClass("open");
$(collapseBtn).removeClass("close");
}
var targetEl = document.querySelector(
".ur-registered-inputs"
);
if (targetEl.classList.contains("collapsed")) {
targetEl.classList.remove("collapsed");
$(".ur-registered-inputs")
.find("nav.ur-tabs")
.show();
$(".ur-registered-inputs").css("width", "412px");
window.ur_tab_scrollbar.update(); // Refresh the scrollbar
} else {
targetEl.classList.add("collapsed");
$(".ur-registered-inputs").css("width", "0px");
$(".ur-registered-inputs")
.find("nav.ur-tabs")
.hide();
}
});
} else if ("undefined" !== typeof window.ur_tab_scrollbar) {
window.ur_tab_scrollbar.update();
tab_content.scrollTop(0);
}
}
}
);
/**
* Append form settings to fileds section.
*/
$(document).ready(function () {
$(document).trigger("init_perfect_scrollbar");
var fields_panel = $(".ur-selected-inputs");
var form_settings_section = $(".ur-registered-inputs nav").find(
"#ur-tab-field-settings"
);
var form_settings = form_settings_section.find("form");
form_settings.appendTo(fields_panel);
fields_panel
.find("form #ur-field-all-settings > div")
.each(function (index, el) {
var appending_text = $(el).find("h3").text();
var appending_id = $(el).attr("id");
if ("integration-settings" === appending_id) {
var appending_text = $(el).find(".ur-integration").text();
form_settings_section.append(
'
' +
appending_text +
"
"
);
$(el)
.find("div")
.each(function (indexs, els) {
var appending_texts = $(els)
.find(".ur-integration-list")
.text();
var appending_ids = $(els).attr("id");
var video_id = $(els).data("video");
var plugin_title = $(els).data("title");
var available_in = $(els).data("available-in");
var integration_id = $(els).data("integration-id");
var classes = $(els).attr("class");
if ("undefined" != typeof appending_ids) {
$("#ur-tab-field-settings")
.find("#integration-settings")
.append(
'
";
$(".user-registration-options-container").prepend(
message_string
);
}
$(
".user-registration-membership_page_user-registration-settings .notice"
).css("display", "block");
$(window).scrollTop($(".notice").position());
}
});
});
// Email Status
$(".user-registration-email-status-toggle").on("change", function (e) {
e.preventDefault();
var status = $(this).find('input[type="checkbox"]').is(":checked");
var id = $(this).find('input[type="checkbox"]').attr("id");
$.ajax({
url: user_registration_email_setting_status.ajax_url,
type: "POST",
data: {
action: "user_registration_email_setting_status",
status: status,
id: id,
security:
user_registration_email_setting_status.user_registration_email_setting_status_nonce
},
success: function (response) {}
});
});
$("#ur-lists-page-settings-button").on("click", function () {
$("#show-settings-link").click();
});
$(document)
.find(".ur-form-locate")
.on("click", function (e) {
var id = $(this).data("id");
var data = {
action: "user_registration_locate_form_action",
id: id,
security: user_registration_admin_locate.ajax_locate_nonce
};
var tag = e.target;
var target_tag = tag.closest(".row-actions");
$.ajax({
url: user_registration_admin_locate.ajax_url,
dataType: "json", // JSON type is expected back from the PHP script.
cache: false,
data: data,
type: "POST",
beforeSend: function () {
var spinner =
'';
$(target_tag).append(spinner);
},
success: function (response) {
var len = Object.keys(response.data).length;
if (len > 0) {
var add_tag =
'
' +
user_registration_admin_locate.form_found +
"";
var i = 1;
$.each(response.data, function (index, value) {
if (i > 1) {
add_tag += ", ";
}
var wordsArray = index.split(" ");
if (wordsArray.length > 4) {
var slicedArray = wordsArray.slice(0, 4);
index = slicedArray.join(" ");
index = index + "...";
}
add_tag +=
' ' +
index +
"";
i++;
});
add_tag += "