mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-09-21 23:46:21 +08:00
Merge pull request #4080 from aignatov-bio/ai-sci-6807-fix-stock-consumption-rounding
Fix stock consumption rounding [SCI-6807]
This commit is contained in:
commit
6cbcac3a22
|
@ -1,4 +1,4 @@
|
|||
/* global SmartAnnotation I18n MyModuleRepositories GLOBAL_CONSTANTS formatDecimalValue */
|
||||
/* global SmartAnnotation I18n MyModuleRepositories GLOBAL_CONSTANTS formatDecimalValue Decimal */
|
||||
var MyModuleStockConsumption = (function() {
|
||||
const CONSUMPTION_MODAL = '#consumeRepositoryStockValueModal';
|
||||
const WARNING_MODAL = '#consumeRepositoryStockValueModalWarning';
|
||||
|
@ -28,11 +28,11 @@ var MyModuleStockConsumption = (function() {
|
|||
SmartAnnotation.init($(CONSUMPTION_MODAL + ' #comment')[0]);
|
||||
|
||||
$('#stock_consumption').on('input', function() {
|
||||
let initialValue = parseFloat($(this).data('initial-value'));
|
||||
let initialStock = parseFloat($(this).data('initial-stock'));
|
||||
let initialValue = new Decimal($(this).data('initial-value') || 0);
|
||||
let initialStock = new Decimal($(this).data('initial-stock'));
|
||||
let decimals = $(this).data('decimals');
|
||||
this.value = formatDecimalValue(String(this.value), decimals);
|
||||
let finalValue = initialValue - ($(this).val() || 0) + initialStock;
|
||||
let finalValue = initialValue.minus(new Decimal($(this).val() || 0)).plus(initialStock);
|
||||
$('.stock-final-container .value')
|
||||
.text(formatDecimalValue(String(finalValue), $('#stock_consumption').data('decimals')));
|
||||
$('.stock-final-container').toggleClass('negative', finalValue <= 0);
|
||||
|
|
|
@ -1,28 +1,28 @@
|
|||
/* global dropdownSelector GLOBAL_CONSTANTS I18n SmartAnnotation formatDecimalValue */
|
||||
/* global dropdownSelector GLOBAL_CONSTANTS I18n SmartAnnotation formatDecimalValue Decimal */
|
||||
|
||||
var RepositoryStockValues = (function() {
|
||||
const UNIT_SELECTOR = '#repository-stock-value-units';
|
||||
|
||||
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;
|
||||
if (!($element.val() >= 0)) return;
|
||||
|
||||
let currentAmount = new Decimal($element.data('currentAmount') || 0);
|
||||
let inputAmount = new Decimal($element.val());
|
||||
let newAmount;
|
||||
|
||||
switch ($element.data('operator')) {
|
||||
case 'set':
|
||||
newAmount = inputAmount;
|
||||
break;
|
||||
case 'add':
|
||||
newAmount = currentAmount + inputAmount;
|
||||
newAmount = currentAmount.plus(inputAmount);
|
||||
break;
|
||||
case 'remove':
|
||||
newAmount = currentAmount - inputAmount;
|
||||
newAmount = currentAmount.minus(inputAmount);
|
||||
break;
|
||||
default:
|
||||
newAmount = currentAmount;
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
window.bwipjs = require('bwip-js');
|
||||
window.Decimal = require('decimal.js');
|
||||
|
|
|
@ -64,6 +64,7 @@
|
|||
"compression-webpack-plugin": "^1.1.11",
|
||||
"croppie": "^2.6.4",
|
||||
"css-loader": "2.1.1",
|
||||
"decimal.js": "^10.3.1",
|
||||
"extract-text-webpack-plugin": "^3.0.2",
|
||||
"fabric": "1.6.7",
|
||||
"file-loader": "^4.0.0",
|
||||
|
@ -83,8 +84,8 @@
|
|||
"postcss-smart-import": "^0.7.6",
|
||||
"precss": "^2.0.0",
|
||||
"prop-types": "^15.7.2",
|
||||
"react": "^16.8.6",
|
||||
"rails-erb-loader": "^5.4.2",
|
||||
"react": "^16.8.6",
|
||||
"react-bootstrap": "^0.31.5",
|
||||
"react-bootstrap-table": "^4.3.1",
|
||||
"react-bootstrap-timezone-picker": "^1.0.12",
|
||||
|
|
|
@ -3262,6 +3262,11 @@ decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0:
|
|||
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
|
||||
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
|
||||
|
||||
decimal.js@^10.3.1:
|
||||
version "10.3.1"
|
||||
resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783"
|
||||
integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==
|
||||
|
||||
decode-uri-component@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
|
||||
|
|
Loading…
Reference in a new issue