Correzioni su autonumeric

This commit is contained in:
Dasc3er 2020-09-08 14:45:48 +02:00
parent 4ed0dc8a2a
commit 4a18313b8f
3 changed files with 12 additions and 15 deletions

View File

@ -2,8 +2,8 @@ function initNumbers() {
$('.decimal-number').not('.bound').each(function () { $('.decimal-number').not('.bound').each(function () {
let $this = $(this); let $this = $(this);
let min = $this.attr('min-value') && $this.attr('min-value') !== "undefined" ? $this.attr('min-value') : "-10000000000000"; let min = $this.attr('min-value') && $this.attr('min-value') !== "undefined" ? $this.attr('min-value') : null;
let max = $this.attr('max-value') && $this.attr('max-value') !== "undefined" ? $this.attr('max-value') : "10000000000000"; let max = $this.attr('max-value') && $this.attr('max-value') !== "undefined" ? $this.attr('max-value') : null;
let decimals = $this.attr('decimals') ? $this.attr('decimals') : globals.cifre_decimali; let decimals = $this.attr('decimals') ? $this.attr('decimals') : globals.cifre_decimali;
@ -15,13 +15,14 @@ function initNumbers() {
decimalCharacter: globals.decimals, decimalCharacter: globals.decimals,
decimalCharacterAlternative: ".", decimalCharacterAlternative: ".",
digitGroupSeparator: globals.thousands, digitGroupSeparator: globals.thousands,
emptyInputBehavior: "zero", emptyInputBehavior: min ? min : "zero",
overrideMinMaxLimits: "ignore",
modifyValueOnWheel: false, modifyValueOnWheel: false,
outputFormat: "string", outputFormat: "string",
unformatOnSubmit: true, unformatOnSubmit: true,
watchExternalChanges: true, watchExternalChanges: true,
minimumValue: min, minimumValue: min ? min : "-10000000000000",
maximumValue: max, maximumValue: max ? max : "10000000000000",
decimalPlaces: decimals, decimalPlaces: decimals,
}); });

View File

@ -33,7 +33,7 @@ echo '
// Quantità // Quantità
echo ' echo '
<div class="col-md-4"> <div class="col-md-4">
{[ "type": "number", "label": "'.tr('Q.tà').'", "name": "qta", "required": 1, "value": "'.$result['qta'].'", "decimals": "qta"'.(isset($result['max_qta']) ? ', "icon-after": "<span class=\"tip\" title=\"'.tr("L'elemento è collegato a un documento: la quantità massima ammessa è relativa allo stato di evasione dell'elemento nel documento di origine (quantità dell'elemento / quantità massima ammessa)").'\">/ '.numberFormat($result['max_qta'], 'qta').' <i class=\"fa fa-question-circle-o\"></i></span>"' : '').', "min-value": "'.Translator::numberToLocale($result['qta_evasa']).'" ]} {[ "type": "number", "label": "'.tr('Q.tà').'", "name": "qta", "required": 1, "value": "'.$result['qta'].'", "decimals": "qta"'.(isset($result['max_qta']) ? ', "icon-after": "<span class=\"tip\" title=\"'.tr("L'elemento è collegato a un documento: la quantità massima ammessa è relativa allo stato di evasione dell'elemento nel documento di origine (quantità dell'elemento / quantità massima ammessa)").'\">/ '.numberFormat($result['max_qta'], 'qta').' <i class=\"fa fa-question-circle-o\"></i></span>"' : '').', "min-value": "'.$result['qta_evasa'].'" ]}
</div>'; </div>';
// Unità di misura // Unità di misura

View File

@ -245,20 +245,16 @@ class DefaultHandler implements HandlerInterface
if (is_numeric($values['decimals'])) { if (is_numeric($values['decimals'])) {
$decimals = $values['decimals']; $decimals = $values['decimals'];
} elseif (starts_with($values['decimals'], 'qta')) { } elseif (starts_with($values['decimals'], 'qta')) {
// Se non è previsto un valore minimo, lo imposta a 1
$values['min-value'] = isset($values['min-value']) ? $values['min-value'] : 0;
$decimals = setting('Cifre decimali per quantità'); $decimals = setting('Cifre decimali per quantità');
$values['decimals'] = $decimals; $values['decimals'] = $decimals;
// Se non è previsto un valore minimo, lo imposta a 1
$values['min-value'] = isset($values['min-value']) ? $values['min-value'] : '0.'.str_repeat('0', $decimals - 1).'1';
} }
} }
// Controllo sulla correttezza sintattica del valore impostato
$values['value'] = (formatter()->isStandardNumber($values['value'])) ? \Translator::numberToLocale($values['value'], $decimals) : $values['value'];
$values['type'] = 'text';
// Delega al metodo "text", per la generazione del codice HTML // Delega al metodo "text", per la generazione del codice HTML
$values['type'] = 'text';
return $this->text($values, $extras); return $this->text($values, $extras);
} }