Compare commits

...

6 Commits

Author SHA1 Message Date
Albert Backenhof
de2a483e34 Fixed number formatting bugs
-Using whitespace as thousand separator created bad
 format.
-Percentage values always had two decimals.
-Percentage values weren't multiplied by 100.

Issue: QLIK-95907
2019-05-17 10:21:44 +02:00
Purwa Shrivastava
6d305b21b2 Merge pull request #60 from qlik-oss/revert-59-DEB-217/CellFormatting
Revert "Fixed cell number formatting"
2019-05-10 12:48:04 +02:00
Purwa Shrivastava
0b210e0d35 Revert "Fixed cell number formatting" 2019-05-10 12:44:32 +02:00
Albert Backenhof
c8afb83130 Merge pull request #59 from qlik-oss/DEB-217/CellFormatting
Fixed cell number formatting
2019-05-10 10:19:47 +02:00
Albert Backenhof
49981f6ae3 Fixed cell number formatting
-Now will always use the built in Qlik value format.

Issue: DEB-217, DEB-218, DEB-219, DEB-220
2019-05-09 10:09:33 +02:00
Albert Backenhof
b3b17e8d0c Merge pull request #58 from qlik-oss/DEB-173/MasterObject
Fixed master object bug
2019-05-03 09:28:27 +02:00
2 changed files with 33 additions and 27 deletions

View File

@@ -129,14 +129,14 @@ DataCell.propTypes = {
export default DataCell;
function formatMeasurementValue (measurement, styling) {
if (isNaN(measurement.value)) {
return styling.symbolForNulls;
}
const isColumnPercentageBased = (/%/).test(measurement.format);
let formattedMeasurementValue = '';
if (isColumnPercentageBased) {
if (isNaN(measurement.value)) {
formattedMeasurementValue = styling.symbolForNulls;
} else {
formattedMeasurementValue = ApplyPreMask('0,00%', measurement.value);
}
formattedMeasurementValue = ApplyPreMask(measurement.format, measurement.value * 100);
} else {
let magnitudeDivider;
switch (measurement.magnitude.toLowerCase()) {
@@ -148,29 +148,29 @@ function formatMeasurementValue (measurement, styling) {
break;
default:
magnitudeDivider = 1;
break;
}
const formattingStringWithoutMagnitude = measurement.format.replace(/k|K|m|M/gi, '');
if (isNaN(measurement.value)) {
formattedMeasurementValue = styling.symbolForNulls;
} else {
let preFormatValue = measurement.value;
if (isColumnPercentageBased) {
preFormatValue *= 100;
}
switch (formattingStringWithoutMagnitude) {
case '#.##0':
formattedMeasurementValue = addSeparators((preFormatValue / magnitudeDivider), '.', ',', 0);
break;
case '#,##0':
formattedMeasurementValue = addSeparators((preFormatValue / magnitudeDivider), ',', '.', 0);
break;
default:
formattedMeasurementValue = ApplyPreMask(
formattingStringWithoutMagnitude,
(preFormatValue / magnitudeDivider)
);
break;
}
const formattingStringWithoutMagnitude = measurement.format.replace(/k|K|m|M|/gi, '');
switch (formattingStringWithoutMagnitude) {
case '#.##0':
formattedMeasurementValue
= addSeparators((measurement.value / magnitudeDivider), '.', ',', 0);
break;
case '#,##0':
formattedMeasurementValue
= addSeparators((measurement.value / magnitudeDivider), ',', '.', 0);
break;
case '# ##0':
case '# ##0':
formattedMeasurementValue
= addSeparators((measurement.value / magnitudeDivider), ' ', '.', 0);
break;
default:
formattedMeasurementValue = ApplyPreMask(
formattingStringWithoutMagnitude,
(measurement.value / magnitudeDivider)
);
break;
}
}
return formattedMeasurementValue;

View File

@@ -12,6 +12,9 @@ export function ApplyPreMask (mask, value) { // aqui
return (addSeparators(value, '.', ',', 0));
case '+#,##0':
return (addSeparators(value, ',', '.', 0));
case '# ##0':
case '# ##0':
return (addSeparators(value, ' ', '.', 0));
default:
return (applyMask(mask.substring(0, mask.indexOf(';')), value));
}
@@ -29,6 +32,9 @@ export function ApplyPreMask (mask, value) { // aqui
return (`(${addSeparators(vMyValue, '.', ',', 0)})`);
case '-#,##0':
return (`(${addSeparators(vMyValue, ',', '.', 0)})`);
case '# ##0':
case '# ##0':
return (`(${addSeparators(vMyValue, ' ', '.', 0)})`);
default:
return (`(${applyMask(vMyMask, vMyValue)})`);
}