mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-09-12 16:14:58 +08:00
Change the way setting stock works [SCI-6730] (#4018)
This commit is contained in:
parent
ab40275243
commit
dd0661a462
1 changed files with 42 additions and 29 deletions
|
@ -8,7 +8,42 @@ var RepositoryStockValues = (function() {
|
||||||
return value.replace(regexp, '').match(new RegExp(`^\\d*(\\.\\d{0,${decimals}})?`))[0];
|
return value.replace(regexp, '').match(new RegExp(`^\\d*(\\.\\d{0,${decimals}})?`))[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function updateChangeAmount($element) {
|
||||||
|
var currentAmount = parseFloat($element.data('currentAmount'));
|
||||||
|
var inputAmount = parseFloat($element.val());
|
||||||
|
var newAmount;
|
||||||
|
|
||||||
|
if (!$element.val()) {
|
||||||
|
$('.stock-final-container .value').text('-');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!(inputAmount >= 0)) return;
|
||||||
|
|
||||||
|
switch ($element.data('operator')) {
|
||||||
|
case 'set':
|
||||||
|
newAmount = inputAmount;
|
||||||
|
break;
|
||||||
|
case 'add':
|
||||||
|
newAmount = currentAmount + inputAmount;
|
||||||
|
break;
|
||||||
|
case 'remove':
|
||||||
|
newAmount = currentAmount - inputAmount;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
newAmount = currentAmount;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$('#change_amount').val(inputAmount);
|
||||||
|
|
||||||
|
$('#repository_stock_value_amount').val(newAmount);
|
||||||
|
$('.stock-final-container .value').text(
|
||||||
|
formatDecimalValue(String(newAmount), $('#stock-input-amount').data('decimals'))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
function initManageAction() {
|
function initManageAction() {
|
||||||
|
let amountChanged = false;
|
||||||
|
|
||||||
$('.repository-show').on('click', '.manage-repository-stock-value-link', function() {
|
$('.repository-show').on('click', '.manage-repository-stock-value-link', function() {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: $(this).closest('tr').data('manage-stock-url'),
|
url: $(this).closest('tr').data('manage-stock-url'),
|
||||||
|
@ -60,19 +95,21 @@ var RepositoryStockValues = (function() {
|
||||||
switch ($(this).data('operator')) {
|
switch ($(this).data('operator')) {
|
||||||
case 'set':
|
case 'set':
|
||||||
dropdownSelector.enableSelector(UNIT_SELECTOR);
|
dropdownSelector.enableSelector(UNIT_SELECTOR);
|
||||||
$stockInput.val($stockInput.data('currentAmount'));
|
if (!amountChanged) { $stockInput.val($stockInput.data('currentAmount')); }
|
||||||
break;
|
break;
|
||||||
case 'add':
|
case 'add':
|
||||||
$stockInput.val('');
|
if (!amountChanged) { $stockInput.val(''); }
|
||||||
dropdownSelector.disableSelector(UNIT_SELECTOR);
|
dropdownSelector.disableSelector(UNIT_SELECTOR);
|
||||||
break;
|
break;
|
||||||
case 'remove':
|
case 'remove':
|
||||||
$stockInput.val('');
|
if (!amountChanged) { $stockInput.val(''); }
|
||||||
dropdownSelector.disableSelector(UNIT_SELECTOR);
|
dropdownSelector.disableSelector(UNIT_SELECTOR);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateChangeAmount($('#stock-input-amount'));
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#stock-input-amount, #low_stock_threshold').on('input focus', function() {
|
$('#stock-input-amount, #low_stock_threshold').on('input focus', function() {
|
||||||
|
@ -113,32 +150,8 @@ var RepositoryStockValues = (function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#stock-input-amount').on('input', function() {
|
$('#stock-input-amount').on('input', function() {
|
||||||
var currentAmount = parseFloat($(this).data('currentAmount'));
|
amountChanged = true;
|
||||||
var inputAmount = parseFloat($(this).val());
|
updateChangeAmount($(this));
|
||||||
var newAmount;
|
|
||||||
|
|
||||||
if (!(inputAmount >= 0)) return;
|
|
||||||
|
|
||||||
switch ($(this).data('operator')) {
|
|
||||||
case 'set':
|
|
||||||
newAmount = inputAmount;
|
|
||||||
break;
|
|
||||||
case 'add':
|
|
||||||
newAmount = currentAmount + inputAmount;
|
|
||||||
break;
|
|
||||||
case 'remove':
|
|
||||||
newAmount = currentAmount - inputAmount;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
newAmount = currentAmount;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
$('#change_amount').val(inputAmount);
|
|
||||||
|
|
||||||
$('#repository_stock_value_amount').val(newAmount);
|
|
||||||
$('.stock-final-container .value').text(
|
|
||||||
formatDecimalValue(String(newAmount), $('#stock-input-amount').data('decimals'))
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
$manageModal.on('ajax:beforeSend', 'form', function() {
|
$manageModal.on('ajax:beforeSend', 'form', function() {
|
||||||
|
|
Loading…
Add table
Reference in a new issue