From 1db2b0edb9205a6298f7ae693554198db9393970 Mon Sep 17 00:00:00 2001 From: SBD Date: Tue, 14 Jan 2025 16:52:29 +0300 Subject: [PATCH] 0.0.20 form mover --- static/v2/js/forms/f_make_poster_order.js | 24 ++++++++++++++++++++--- static/v2/js/widgets/w_radio_inputs.js | 24 +++++++++++++++++++++++ 2 files changed, 45 insertions(+), 3 deletions(-) diff --git a/static/v2/js/forms/f_make_poster_order.js b/static/v2/js/forms/f_make_poster_order.js index a8943aa..03b0e3b 100644 --- a/static/v2/js/forms/f_make_poster_order.js +++ b/static/v2/js/forms/f_make_poster_order.js @@ -56,10 +56,28 @@ function updateCargoTypeInForm(el, type_transport) { getCargoTypesWTypeTransport({ type_transport: type_transport, owner_type: getFormOwnerType(el), - success_callback: function (res) { - - } + success_callback: success_callback_func, }) + function success_callback_func(res) { + let cargo_types = res.cargo_types + if (!cargo_types) return; + resetWRadioInputs('cargo_type'); + let $widget = getWRadioInputsWidget('cargo_type'); + for (let cargo_type of cargo_types) { + let obj = { + name: cargo_type[0], + title: cargo_type[1], + } + + let html = generateRadioInput(obj) + + if ($widget.firstElementChild){ + $(html).insertAfter($($widget.firstElementChild)) + } else { + $widget.innerHTML = html + } + } + } } \ No newline at end of file diff --git a/static/v2/js/widgets/w_radio_inputs.js b/static/v2/js/widgets/w_radio_inputs.js index 987801d..41968b6 100644 --- a/static/v2/js/widgets/w_radio_inputs.js +++ b/static/v2/js/widgets/w_radio_inputs.js @@ -14,4 +14,28 @@ function chooseRadioInput(el, callback){ let el_name = $parent.dataset.name; if (callback) callback(el, el_name) +} + +function generateRadioInput(data){ + let html = ` +
+
+
${data.title}
+
+ ` + + return html; +} + +function resetWRadioInputs(widget_name){ + let $widget = getWRadioInputsWidget(widget_name); + if (!$widget) return; + + $widget.innerHTML = ''; +} + +function getWRadioInputsWidget(widget_name){ + if (!widget_name) return; + let $widget = $(`.field_container[data-type="radio"][data-name="${widget_name}"] .w_radio_inputs`)[0]; + return $widget; } \ No newline at end of file