0.0.04 form poster
This commit is contained in:
5
static/v2/js/service/trans.js
Normal file
5
static/v2/js/service/trans.js
Normal file
@@ -0,0 +1,5 @@
|
||||
function getTransFromEl (el) {
|
||||
if (!el) return;
|
||||
let trans_block = el.querySelector('.trans_block');
|
||||
return trans_block.dataset.trans
|
||||
}
|
||||
51
static/v2/js/widgets/w_daterangepicker.js
Normal file
51
static/v2/js/widgets/w_daterangepicker.js
Normal 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)
|
||||
});
|
||||
}
|
||||
|
||||
14
static/v2/js/widgets/w_radio_inputs.js
Normal file
14
static/v2/js/widgets/w_radio_inputs.js
Normal 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)
|
||||
}
|
||||
@@ -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) {
|
||||
|
||||
15
static/v2/js/widgets/w_textarea_w_counter.js
Normal file
15
static/v2/js/widgets/w_textarea_w_counter.js
Normal 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)
|
||||
}
|
||||
Reference in New Issue
Block a user