Pole wyboru wartości z listy - Combobox

Pole wyboru wartości z listy

Pole wyboru wartości z listy to komponent wymagający zasilenia źródłem danych. Aby to zrobić, należy w panelu Właściwości komponentu przejść do sekcji Interakcje i wybrać Źródło danych zewnętrznych. Następnie w widocznym oknie należy kliknąć w Wybierz serwis i wyszukać na liście odpowiedni słownik, usługę lub skrypt. Każdy z tych elementów jest oznaczony na liście inną ikonką. Po wybraniu odpowiedniego źródła danych w sekcji Źródło danych zewnętrznych widnieje jego nazwa oraz informacja o rodzaju:

  • DICTIONARY - jeśli wybrano słownik,

  • EDS - jeśli wybrano usługę,

  • SCRIPT - jeśli wybrano serwis skryptowy.

Szczegóły: Podpięcie słownikowego źródła danych.

Właściwości komponentu

Właściwość Eximee Designer
Nazwa atrybutu w Źródle
Opis

Liczba znaków do rozpoczęcia wyszukiwania (sekcja Podstawowe właściwości)

minTextLenghtToSearch

Określenie po ilu wpisanych znakach ma nastąpić przeszukiwanie wartości komponentu. Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.

Włączenie opcji szukania (sekcja Podstawowe właściwości)

searchable

Włączenie opcji szukania (domyślnie właściwość nie jest zaznaczona) - w zależności od licencji i/lub kanału:

  • przy właściwości ustawionej na "true" - po kliknięciu w komponent zostaje wyświetlone pole do wpisania szukanej wartości

  • przy braku tej właściwości - po kliknięciu w pole wpisywanie znaków (które nie są wyświetlane) powoduje filtrowanie wartości.

Opis pola (sekcja Jakość danych)

description

Tekst wyświetlany jako opis pola poniżej niego, domyślnie jest to wartość pusta. Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.

Pozycja dodatkowego opisu (sekcja Stylizacja)

descriptionPosition

Pozycja opisu (do wyboru wartości NONE, BOTTOM i RIGHT). W celu wyświetlenia słownika z opisem należy podpiąć dedykowaną usługę (pole Źródło danych zewnętrznych). Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.

Etykieta dla jednej pozycji na liście (sekcja Pozostałe)

singleValueLabel

Określa zachowanie komponentu w przypadku, gdy na liście znajduje się tylko jeden element. Jeżeli opcja jest wybrana, lista rozwijana zastępowana jest przez etykietę (domyślnie właściwość nie jest zaznaczona).

Prezentacja treści dostosowana do rozmiaru pola (sekcja Pozostałe)

truncateContent

Właściwość pozwala na ograniczenie prezentowania wybranej wartości do tylu znaków ile mieści się w standardowym rozmiarze komponentu dodanego na wniosek. Wszystkie znaki wykraczające poza ten rozmiar zostaną zastąpione wielokropkiem (...). Domyślnie właściwość jest zaznaczona. W przypadku odznaczenia właściwości, wysokość komponentu zostanie dostosowana do rozmiaru tekstu w wybranej wartości. Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.

Natywny na mobile (sekcja Pozostałe)

nativeOnMobile

Określa czy w wersji mobilnej wyświetla się natywny komponent "". Odznaczenie właściwości powoduje wyświetlenie popupu dla każdego urządzenia (domyślnie właściwość jest zaznaczona). Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.

Dodatkowa etykieta (sekcja Pozostałe)

descriptionLabel

Jest to dodatkowy opis dotyczący komponentu. Podrzędny do właściwości Etykieta. Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.

Wyświetlanie "Wybierz..." (sekcja Pozostałe)

emptyOption

Wyświetlanie jako pierwszej pozycji komponentu opcji "Wybierz..." (domyślnie właściwość jest zaznaczona). Odznaczenie właściwości powoduje wyświetlenie pierwszego elementu słownika.

Alternatywny tekst dla "Wybierz..." (sekcja Pozostałe)

emptyOptionCustomText

Tekst wyświetlany zamiast "Wybierz...", gdy opcja "Wyświetlanie 'Wybierz...'" jest zaznaczona.

Ukrycie "Wybierz..." na liście dostępnych do wyboru opcji

hideEmptyOptionOnList

Ukrycie domyślnej wartości "Wybierz..." na liście wyboru (domyślnie właściwość nie jest zaznaczona). Aby właściwość ta miała sens, konieczne jest włączenie opcji Wyświetlanie "Wybierz...". Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.

Wysokość listy słownikowej

listHeight

Wysokość listy słownikowej (domyślnie wartość -1). Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.

Szerokość listy słownikowej

listWidth

Szerokość listy słownikowej (domyślnie wartość -1). Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.

Reprezentacja graficzna komponentu

presentation

Reprezentacja graficzna komponentu (do wyboru wartości STANDARD, WHEEL, WARIANT 2.0). Wartość STANDARD określa standardowy wygląd komponentu, WHEEL jest prezentacją komponentu w postaci przewijanej rolki (dostępne tylko w wybranych wdrożeniach). Wartość WARIANT 2.0 określa nowy wygląd komponentu (dostępny tylko w wybranych wdrożeniach).

Więcej informacji o właściwościach komponentu: Wspólne właściwości komponentów

Parametry wyjściowe komponentu przy zasileniu z usługi

Parametr
Opis

id

Identyfikator poszczególnych elementów

text

Etykieta poszczególnych elementów

description

Dodatkowa etykieta poszczególnych elementów

value

Wartość komponentu

iconUrl

URL wskazujący grafikę prezentowaną jako ikonka w polu. Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.

initValue

Wartość początkowa

metadata

Dodatkowe dane poszczególnego elementu, wykorzystywane przy zbieraniu metryk. Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.

Ilustracja 1. Lista wartości dostępna po podpięciu słownika z listą krajów

Zasilanie komponentu poprzez usługę

Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.

Przykładowa implementacja proxy-service:

DemoComboboxWithIconServiceProxy.java
@Component
@Service(AbstractServiceProxy.class)
public class DemoComboboxWithIconServiceProxy extends AbstractServiceProxy {
    protected static final String OUTPUT_CARD_COUNT = "cardCount";
    protected static final String OUTPUT_ORDER = "cardOrder";
    protected static final String OUTPUT_CARD_ID = "cardId";
    protected static final String OUTPUT_CARD_ICON = "cardIcon";
    protected static final String OUTPUT_CARD_NAME = "cardName";
    protected static final String OUTPUT_CARD_DESC = "cardDesc";

    private static final Logger LOGGER = LoggerFactory.getLogger(DemoComboboxWithIconServiceProxy.class);
    private static final Logger SENSITIVE_LOGGER = SensitiveLoggerFactory.getSensitiveLogger(DemoComboboxWithIconServiceProxy.class);

    public DemoComboboxWithIconServiceProxy() {
        this.name = "DemoComboboxWithIconServiceProxy";
        this.description = "For test purposes ONLY!";
        this.outputFields.add(new ServiceProxyField(OUTPUT_CARD_COUNT));
        this.outputFields.add(new ServiceProxyField(OUTPUT_ORDER));
        this.outputFields.add(new ServiceProxyField(OUTPUT_CARD_ID));
        this.outputFields.add(new ServiceProxyField(OUTPUT_CARD_ICON));
        this.outputFields.add(new ServiceProxyField(OUTPUT_CARD_NAME));
        this.outputFields.add(new ServiceProxyField(OUTPUT_CARD_DESC));
    }

    @Activate
    @Modified
    public void setup(final Map<String, String> config) {
        LOGGER.info(">> Service with config={}", config);
        SENSITIVE_LOGGER.info(">> Service with config={}", config);
    }

    @Override
    public List<Map<String, String>> callService(Map<String, List<String>> map) {
        LOGGER.info("Service started with {}", map);
        final List<Map<String, String>> items = createResult();
        LOGGER.info("Service finished with {}", items);
        return items;
    }

    private List<Map<String, String>> createResult() {
        final List<Map<String, String>> result = new ArrayList<>();
        result.add(createRow1());
        result.add(createRow2());
        result.add(createRow3());
        result.add(createRow4());
        return result;
    }

    private Map<String, String> createRow1() {
        final Map<String, String> row = new HashMap<>();
        row.put(OUTPUT_CARD_COUNT, "3");
        return row;
    }

    private Map<String, String> createRow2() {
        final Map<String, String> row = new HashMap<>();
        row.put(OUTPUT_ORDER, "1");
        row.put(OUTPUT_CARD_ID, "icon1");
        row.put(OUTPUT_CARD_ICON, "biz/icon1.png");
        row.put(OUTPUT_CARD_NAME, "Przejrzysta karta kredytowa");
        row.put(OUTPUT_CARD_DESC, "*2321 (Jan Kowalski)");
        return row;
    }

    private Map<String, String> createRow3() {
        final Map<String, String> row = new HashMap<>();
        row.put(OUTPUT_ORDER, "2");
        row.put(OUTPUT_CARD_ID, "icon2");
        row.put(OUTPUT_CARD_ICON, "biz/icon2.png");
        row.put(OUTPUT_CARD_NAME, "Karta kredytowa MasterCard Platinum");
        row.put(OUTPUT_CARD_DESC, "*4978 (Janusz Nowak)");
        return row;
    }

    private Map<String, String> createRow4() {
        final Map<String, String> row = new HashMap<>();
        row.put(OUTPUT_ORDER, "3");
        row.put(OUTPUT_CARD_ID, "icon3");
        row.put(OUTPUT_CARD_ICON, "biz/icon3.png");
        row.put(OUTPUT_CARD_NAME, "Karta kredytowa Visa Infinite");
        row.put(OUTPUT_CARD_DESC, "*1417 (Gerwazy Torpeda)");
        return row;
    }
}
Ilustracja 2. Przykład podpięcia wyjść w komponencie zasilanym z usługi

Wniosek demo: demoCombobox

Last updated

Was this helpful?