Compare commits

..

1 Commits

Author SHA1 Message Date
Albert Backenhof
729a31920d Handle selection toggle properly
-Previously, the cell selection would toggle
 the current selection. This meant, if a column
 is already selected when making a cell selection,
 the column selection would toggle off. With this
 fix the column selection stays on.

Issue: DEB-233
2019-05-13 09:43:41 +02:00
2 changed files with 29 additions and 35 deletions

View File

@@ -17,10 +17,10 @@ class DataCell extends React.PureComponent {
return;
}
qlik.backendApi.selectValues(0, [measurement.parents.dimension1.elementNumber], true);
qlik.backendApi.selectValues(0, [measurement.parents.dimension1.elementNumber], false);
if (hasSecondDimension) {
qlik.backendApi.selectValues(1, [measurement.parents.dimension2.elementNumber], true);
qlik.backendApi.selectValues(1, [measurement.parents.dimension2.elementNumber], false);
}
}
@@ -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) {
formattedMeasurementValue = ApplyPreMask(measurement.format, measurement.value * 100);
if (isNaN(measurement.value)) {
formattedMeasurementValue = styling.symbolForNulls;
} else {
formattedMeasurementValue = ApplyPreMask('0,00%', measurement.value);
}
} 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, '');
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;
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;
}
}
}
return formattedMeasurementValue;

View File

@@ -12,9 +12,6 @@ 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));
}
@@ -32,9 +29,6 @@ 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)})`);
}