0.0.1 new functional twb

This commit is contained in:
SBD
2025-01-08 21:33:19 +03:00
parent a76663ea81
commit 2b809ae9a6
12 changed files with 246 additions and 5 deletions

View File

@@ -0,0 +1,33 @@
class api {
constructor(props) {
this.url = props.url;
this.data = props.data;
this.data_type = props.data_type;
this.type = props.type || 'POST';
this.success_callback = props.success;
this.error_callback = props.error_callback;
}
ajaxRequest (){
if (!this.url) return;
let request_data = {
headers: {"X-CSRFToken": $('input[name=csrfmiddlewaretoken]').val()},
url: this.url,
type: this.type,
data: this.data,
success: function (data) {
if (this.success_callback) this.success_callback(data)
}, error: function (data) {
if (this.error_callback) this.error_callback(data)
}
}
if (this.data_type === 'formData'){
request_data.processData = false
request_data.contentType = false
}
$.ajax(request_data);
}
}

View File

@@ -0,0 +1,42 @@
function toggleSelectCountry(el, callback) {
if (!el) return;
let $parent = el.closest('.w_select_country');
if (!$parent) return;
if ($parent.classList.contains('closed')) {
openSelectCountry(el, callback)
} else {
closeSelectCountry(el, callback);
}
}
function openSelectCountry(el, callback) {
let $parent = el.closest('.w_select_country');
if (!$parent) return;
$parent.classList.remove('closed');
if (callback) callback('opened', $parent);
}
function closeSelectCountry(el, callback) {
let $parent = el.closest('.w_select_country');
if (!$parent) return;
$parent.classList.add('closed');
if (callback) callback('closed', $parent);
}
function searchCountry(el) {
let request = new api({
url: '',
data: '',
data_type: 'formData',
success: function (data) {
}, error: function (data) {
}
});
request.ajaxRequest()
}