From c16f3d218b908b0fa0010cad25eb79b71de40c08 Mon Sep 17 00:00:00 2001 From: Olivier Maury <Olivier.Maury@inrae.fr> Date: Wed, 14 Feb 2024 09:23:06 +0100 Subject: [PATCH] =?UTF-8?q?R=C3=A9initialiser=20la=20liste=20des=20indicat?= =?UTF-8?q?eurs=20au=20changement=20de=20p=C3=A9riode.=20fixes=20#53?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/agrometinfo/www/client/ui/DominoSelectBuilder.java | 6 ++++++ .../www/client/ui/HTMLSelectElementBuilder.java | 8 ++++++++ .../java/fr/agrometinfo/www/client/ui/SelectBuilder.java | 7 +++++++ .../java/fr/agrometinfo/www/client/view/LayoutView.java | 2 +- 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/ui/DominoSelectBuilder.java b/www-client/src/main/java/fr/agrometinfo/www/client/ui/DominoSelectBuilder.java index 035e7c2..6e91731 100644 --- a/www-client/src/main/java/fr/agrometinfo/www/client/ui/DominoSelectBuilder.java +++ b/www-client/src/main/java/fr/agrometinfo/www/client/ui/DominoSelectBuilder.java @@ -67,6 +67,12 @@ public final class DominoSelectBuilder<T> extends SelectBuilder<T, Select<T>> { return select; } + @Override + public DominoSelectBuilder<T> removeOptions() { + getSelect().getOptions().clear(); + return this; + } + @Override public DominoSelectBuilder<T> select(final T value) { select.select(createSelectOption(value)); diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/ui/HTMLSelectElementBuilder.java b/www-client/src/main/java/fr/agrometinfo/www/client/ui/HTMLSelectElementBuilder.java index 17f8273..9f0e9d2 100644 --- a/www-client/src/main/java/fr/agrometinfo/www/client/ui/HTMLSelectElementBuilder.java +++ b/www-client/src/main/java/fr/agrometinfo/www/client/ui/HTMLSelectElementBuilder.java @@ -76,6 +76,14 @@ public final class HTMLSelectElementBuilder<T> extends SelectBuilder<T, HtmlCont return select; } + @Override + public HTMLSelectElementBuilder<T> removeOptions() { + for (int i = getSelect().element().options.length - 1; i >= 0; i--) { + getSelect().element().options.remove(i); + } + return this; + } + @Override public HTMLSelectElementBuilder<T> select(final T value) { GWT.log("SelectBuilder.setSelect()"); diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/ui/SelectBuilder.java b/www-client/src/main/java/fr/agrometinfo/www/client/ui/SelectBuilder.java index 642f0d1..d48c894 100644 --- a/www-client/src/main/java/fr/agrometinfo/www/client/ui/SelectBuilder.java +++ b/www-client/src/main/java/fr/agrometinfo/www/client/ui/SelectBuilder.java @@ -65,6 +65,13 @@ public abstract class SelectBuilder<T, U> { return valueFunction; } + /** + * Remove all existing options. + * + * @return same builder instance + */ + public abstract SelectBuilder<T, U> removeOptions(); + /** * Select the option. * diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java b/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java index 1da2a22..b0233e0 100644 --- a/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java +++ b/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java @@ -405,7 +405,6 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen choice.setIndicator(null); // fill indicators - // TODO clear select List<IndicatorDTO> list = null; for (final PeriodDTO p : this.periods) { if (p.getCode().equals(newValue)) { @@ -421,6 +420,7 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen .setSelect(indicatorSelect) // .setTextFunction(IndicatorDTO::getDescription) // .setValueFunction(IndicatorDTO::getCode) // + .removeOptions() // .addOptions(list) // .build(); // select "meant" -- GitLab