0.0.04 form poster

This commit is contained in:
SBD
2025-01-10 00:57:31 +03:00
parent 75a312c1d6
commit 72f04e0d48
28 changed files with 331 additions and 32 deletions

View File

@@ -0,0 +1,5 @@
function getTransFromEl (el) {
if (!el) return;
let trans_block = el.querySelector('.trans_block');
return trans_block.dataset.trans
}

View File

@@ -0,0 +1,51 @@
const locale_ru = new Object({
direction: "ltr",
format: "DD.MM.YYYY",
separator: " - ",
applyLabel: "Принять",
cancelLabel: "Отменить",
weekLabel: "Н",
customRangeLabel: "Custom Range",
});
const locale_en = new Object({
direction: "ltr",
format: "DD.MM.YYYY",
separator: " - ",
applyLabel: "Apply",
cancelLabel: "Cancel",
weekLabel: "W",
customRangeLabel: "Custom Range",
});
let last_opened_daterangepicker = false;
function setLocalSets() {
let locale_lang = document.documentElement.lang === 'ru'? locale_ru : locale_en;
let lang = document.documentElement.lang;
moment.locale(lang);
return locale_lang
}
$(function (){daterangepickerInit($('.date_range_input_cont input'), daterangepickerInit)})
function daterangepickerInit(el, callback) {
$('.date_range_input_cont input').daterangepicker({
"autoapply": true,
"linkedCalendars": false,
"singleDatePicker": true,
"timePicker": false,
"timePicker24Hour": false,
"minDate": moment(),
"locale": setLocalSets(),
}, function (start, end, label) {
let $parent = el.closest('.w_daterangepicker')
if (last_opened_daterangepicker) $parent = last_opened_daterangepicker.closest('.w_daterangepicker');
let $input = $parent.find(".date_range_input_cont input")
$input.val(start.format('DD.MM.YYYY'));
if (callback) callback(el)
});
}

View File

@@ -0,0 +1,14 @@
function chooseRadioInput(el, callback){
if (!el) return;
let $parent = el.closest('.w_radio_inputs');
if (!$parent) return;
let $radios = $parent.querySelectorAll('.radio');
$radios.forEach(radio => {
radio.classList.remove('checked')
})
el.classList.toggle("checked");
let checked_state = el.classList.contains("checked");
if (callback) callback(checked_state)
}

View File

@@ -39,11 +39,15 @@ let search_country_timeout = false;
function searchCountry(el) {
resetCountrySelect(el)
closeSelectCountry(el)
if (el && el.value.length < 3) closeSelectCountry(el)
if (!el || el.value.length < 3) return;
let $parent = el.closest('.w_select_country');
let $search_icon_cont = $parent.querySelector('.w_select_country_icon');
let $content_part = $parent.querySelector('.w_select_country_content');
$search_icon_cont.src = '/static/v2/loaders/search_spinner.svg'
if (search_country_timeout) {
clearTimeout(search_country_timeout);
search_country_timeout = false;
@@ -59,6 +63,7 @@ function searchCountry(el) {
data_type: 'json',
success: function (data) {
if (!data.res_search_list && data.res_search_list !== '') console.log(`request data has not html => ${url}`);
$search_icon_cont.src = '/static/v2/icons/widgets/w_select_country/pin.svg'
$content_part.innerHTML = data.res_search_list;
openSelectCountry(el)
}, error: function (data) {

View File

@@ -0,0 +1,15 @@
function textareaInputE (el, callback){
if (!el) return;
let $counter = $(".symbols_counter")[0]
let $parent = el.closest(".w_textarea_w_counter")
if (el.value.length > $parent.dataset.max_val){
el.value = el.value.slice(0, -1)
return;
}
let str = `${el.value.length} ${getTransFromEl($parent)} ${$parent.dataset.max_val}`
$counter.innerHTML = str
if (callback) callback(str)
}