Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: e6513e5c by Tony Chemit at 2023-12-08T15:59:03+01:00 improve HighlightIfEquals18nReferentialValue (add warning if not error, nor ok) - see #2811 - - - - - 4 changed files: - core/persistence/report/src/main/resources/META-INF/report/default/ps/psLogbookTrip.report - src/site/markdown/report/embedded-column-renderers.md - toolkit/api-report/src/main/java/fr/ird/observe/report/renderers/HighlightIfEquals18nReferentialValue.java - toolkit/api-report/src/main/resources/fr/ird/observe/report/renderers/HighlightIfEquals18nReferentialValue.js Changes: ===================================== core/persistence/report/src/main/resources/META-INF/report/default/ps/psLogbookTrip.report ===================================== @@ -76,7 +76,7 @@ Left Join t.advancedSamplingAcquisitionStatus advancedSamplingAcquisitionStatus Where t.id In :tripId \ Order By vessel.code,t.startDate,t.endDate columnRenderers.1.type=HighlightIfEquals18nReferentialValue -columnRenderers.1.parameters=14,15,16,17,18,19,20,21|fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#999 +columnRenderers.1.parameters=14,15,16,17,18,19,20,21|fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#999|fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#001 columnRenderers.2.type=HighlightIfAbsoluteDeltaIsPositive columnRenderers.2.parameters=10|11|0.0001|0.5 columnRenderers.3.type=HighlightIfAbsoluteDeltaIsPositive ===================================== src/site/markdown/report/embedded-column-renderers.md ===================================== @@ -57,5 +57,5 @@ Exemple d'utilisation : ```properties report.xxx.columnRenderers.1.type=HighlightIfEquals18nReferentialValue -report.xxx.columnRenderers.1.parameters=14,15,16,17,18,19,20,21|fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#999 +report.xxx.columnRenderers.1.parameters=14,15,16,17,18,19,20,21|fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#999|fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#000|fr.ird.referential.ps.common.AcquisitionStatus#1464000000000#001 ``` ===================================== toolkit/api-report/src/main/java/fr/ird/observe/report/renderers/HighlightIfEquals18nReferentialValue.java ===================================== @@ -50,12 +50,12 @@ public class HighlightIfEquals18nReferentialValue implements ColumnRendererConsu @Override public int parametersCount() { - return 2; + return 3; } @Override public String parametersSyntax() { - return "column1,column2,...,columnN|id"; + return "column1,column2,...,columnN|idError|idOk"; } @Override @@ -66,15 +66,17 @@ public class HighlightIfEquals18nReferentialValue implements ColumnRendererConsu for (String s : split2) { columns.add(Integer.parseInt(s)); } - String id = split[1]; - return new Parameters(columns, id); + String idError = split[1]; + String idOk = split[2]; + return new Parameters(columns, idError, idOk); } @Override public Parameters createParameters(ReportRequestExecutor requestExecutor, String parameters) { Parameters result = ColumnRendererConsumer.super.createParameters(requestExecutor, parameters); - String label = requestExecutor.getReferentialLabel(result.getId()); - return result.setLabel(label); + String labelError = requestExecutor.getReferentialLabel(result.getIdError()); + String labelOk = requestExecutor.getReferentialLabel(result.getIdOk()); + return result.setLabel(labelError, labelOk); } @Override @@ -82,8 +84,14 @@ public class HighlightIfEquals18nReferentialValue implements ColumnRendererConsu table.addHighlighter(new ColorHighlighter((renderer, adapter) -> { Object value = adapter.getValue(); int column = adapter.convertColumnIndexToModel(adapter.column); - return parameters.getColumns().contains(column) && Objects.equals(value, parameters.getLabel()); + return parameters.getColumns().contains(column) && Objects.equals(value, parameters.getLabelError()); }, Color.RED, Color.BLACK)); + + table.addHighlighter(new ColorHighlighter((renderer, adapter) -> { + Object value = adapter.getValue(); + int column = adapter.convertColumnIndexToModel(adapter.column); + return parameters.getColumns().contains(column) && !Objects.equals(value, parameters.getLabelError()) && !Objects.equals(value, parameters.getLabelOk()); + }, Color.ORANGE, Color.BLACK)); } @Override @@ -93,24 +101,30 @@ public class HighlightIfEquals18nReferentialValue implements ColumnRendererConsu @Override public String htmlInitCode(Parameters parameters) { - return String.format("init%s(%s, '%s', result, data);\n", parameters.name(), parameters.getColumns(), parameters.getLabel()); + return String.format("init%s(%s, '%s', '%s', result, data);\n", parameters.name(), parameters.getColumns(), parameters.getLabelError(), parameters.getLabelOk()); } public static final class Parameters implements ColumnRendererParameters { private final Set<Integer> columns; - private final String id; - private final String label; + private final String idError; + private final String idOk; + private final String labelError; + private final String labelOk; - public Parameters(Set<Integer> columns, String id, String label) { + public Parameters(Set<Integer> columns, String idError, String idOk, String labelError, String labelOk) { this.columns = columns; - this.id = id; - this.label = label; + this.idError = idError; + this.idOk = idOk; + this.labelError = labelError; + this.labelOk = labelOk; } - public Parameters(Set<Integer> columns, String id) { + public Parameters(Set<Integer> columns, String idError, String idOk) { this.columns = columns; - this.id = id; - this.label = null; + this.idError = idError; + this.idOk = idOk; + this.labelError = null; + this.labelOk = null; } @Override @@ -122,16 +136,24 @@ public class HighlightIfEquals18nReferentialValue implements ColumnRendererConsu return columns; } - public String getId() { - return id; + public String getIdError() { + return idError; + } + + public String getIdOk() { + return idOk; + } + + public String getLabelError() { + return labelError; } - public String getLabel() { - return label; + public String getLabelOk() { + return labelOk; } - public Parameters setLabel(String label) { - return new Parameters(columns, id, label); + public Parameters setLabel(String labelError, String labelOk) { + return new Parameters(columns, idError, idOk, labelError, labelOk); } } } ===================================== toolkit/api-report/src/main/resources/fr/ird/observe/report/renderers/HighlightIfEquals18nReferentialValue.js ===================================== @@ -19,24 +19,22 @@ * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ -function HighlightIfEquals18nReferentialValue(cell, label) { - if (!!!cell) { +function HighlightIfEquals18nReferentialValue(cell, labelError, labelOk) { + if (!!!cell || cell === labelOk) { return; } - if (cell === label) { - return { - 'data-cell-content': cell, - 'class': 'gridjs-td cellError', - }; - } + return { + 'data-cell-content': cell, + 'class': 'gridjs-td ' + (cell === labelError ? "cellError" : "cellWarning"), + }; } -function initHighlightIfEquals18nReferentialValue(columns, label, result, json) { +function initHighlightIfEquals18nReferentialValue(columns, labelError, labelOk, result, json) { for (let j = 0; j < columns.length; j++) { let column = columns[j]; result [column] = { name: result [column], - attributes: cell => HighlightIfEquals18nReferentialValue(cell, label) + attributes: cell => HighlightIfEquals18nReferentialValue(cell, labelError, labelOk) }; } } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/e6513e5cc5b556636b75adebe6... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/e6513e5cc5b556636b75adebe6... You're receiving this email because of your account on gitlab.com.