diff --git a/assets/src/js/functions/select.js b/assets/src/js/functions/select.js index 67e542085..d03cc7d0b 100755 --- a/assets/src/js/functions/select.js +++ b/assets/src/js/functions/select.js @@ -34,9 +34,12 @@ function start_superselect() { * @param container * @returns {*} */ -function selectOptionRender(data, container) { - let bg; +function optionRendering(data, container) { + // Aggiunta degli attributi impostati staticamente + selectOptionAttributes(data); + // Impostazione del colore dell'opzione + let bg; if (data._bgcolor_) { bg = data._bgcolor_; } else if ($(data.element).attr("_bgcolor_")) { @@ -50,6 +53,29 @@ function selectOptionRender(data, container) { $(container).css("color", setContrast(bg)); } + return data.text; +} + +/** + * Gestisce le operazioni di rendering per le opzioni selezionate del select. + * + * @param data + * @returns {*} + */ +function selectionRendering(data) { + // Aggiunta degli attributi impostati staticamente + selectOptionAttributes(data); + + return data.text; +} + +/** + * Gestisce le operazioni per l'impostazione dinamica degli attributi per una singola opzione del select. + * + * @param data + * @returns {void} + */ +function selectOptionAttributes(data) { // Aggiunta degli attributi impostati staticamente let attributes = $(data.element).data("select-attributes"); if (attributes) { @@ -57,8 +83,6 @@ function selectOptionRender(data, container) { data[key] = value; } } - - return data.text; } /** @@ -128,6 +152,9 @@ jQuery.fn.selectAdd = function (values) { values.forEach(function (item) { if (item.data) { + item['data-select-attributes'] = JSON.stringify(item.data); + + // Retrocompatibilità per l'uso del attributo data su selectData Object.keys(item.data).forEach(function (element) { item['data-' + element] = item.data[element]; }); @@ -220,7 +247,8 @@ function initStaticSelectInput(input) { escapeMarkup: function (text) { return text; }, - templateResult: selectOptionRender, + templateResult: optionRendering, + templateSelection: selectionRendering, }); } @@ -241,7 +269,8 @@ function initDynamicSelectInput(input) { escapeMarkup: function (text) { return text; }, - templateResult: selectOptionRender, + templateResult: optionRendering, + templateSelection: selectionRendering, ajax: { url: globals.rootdir + "/ajax_select.php?op=" + $input.data('source'), dataType: 'json', diff --git a/modules/fatture/src/Fattura.php b/modules/fatture/src/Fattura.php index 3a053a2af..ff4973a93 100755 --- a/modules/fatture/src/Fattura.php +++ b/modules/fatture/src/Fattura.php @@ -167,8 +167,9 @@ class Fattura extends Document if (empty($id_banca_azienda)) { $id_banca_azienda = $azienda->{'idbanca_'.$conto}; } - $model->id_banca_azienda = $id_banca_azienda; } + + $model->id_banca_azienda = $id_banca_azienda; // Gestione dello Split Payment sulla base dell'anagrafica Controparte $split_payment = $anagrafica->split_payment; diff --git a/modules/movimenti/add.php b/modules/movimenti/add.php index 3fc11424c..fe1948fa0 100755 --- a/modules/movimenti/add.php +++ b/modules/movimenti/add.php @@ -32,7 +32,7 @@ include_once __DIR__.'/../../core.php'; {["type": "text", "label": "", "name": "barcode", "icon-before": "" ]} - +