Pereiti prie turinio
Gytis Gurklys
Atgal

Paieškos komponentas: sekcijos, valdikliai ir konfigūravimo šablonai

Gytis Gurklys
EN

Paieškos komponentas vienoje vietoje: iš kokių sekcijų jis sudarytas, valdiklių katalogas, šablonai, kuriuos užpildo konkretus puslapis, ir savybių apibrėžimai, kuriais tie šablonai remiasi.

1. Paieškos komponentas

1.1. Struktūra pagal sekcijas

SekcijaPaskirtisValdikliai (pastovūs ir dinaminiai)
Antraštės sekcijaSuteikia kontekstą ir vieną aukščiausio lygio veiksmą, aktualų esamam puslapiui.PageTitle – rodo esamo puslapio pavadinimą.
HeaderActionButton – kontekstinis veiksmas (pvz., Create Record, Register, Add).
Paieškos skydelisSritis, kurioje naudotojas nurodo paieškos kriterijus ir paleidžia užklausą.FilterButton – išskleidžia arba suskleidžia filtrų skydelį.
EnableBulkDownloadSwitch – įjungia filtrų valdiklius, skirtus masinio atsisiuntimo paieškai, ir XML failo generavimo parinktį.
IncludeHistoricalVersionSwitch – įtraukia istorines versijas į paieškos rezultatus.
DraftsSwitch – perjungia tarp Non-drafts ir Drafts.
ApplyButton – vykdo paieškos užklausą.
GenerateXmlButton – sugeneruoja XML failą tik tiems įrašams, kurie rodomi esamame rezultatų puslapyje.
ResetButton – išvalo visus filtrus.
[Filter controls…] (dinaminiai, žr. 2 skyrių).
Aktyvių žymų skydelisRodo visus šiuo metu taikomus (paieškoje pritaikytus) filtrus kaip pašalinamas žymas ir leidžia išvalyti juos visus iš karto.ActiveTagsPanel – sistemos valdomas konteineris, rodantis kiekvieną aktyvų filtrą kaip žymą.
ActiveTagItem – atskira žyma, atitinkanti vieną aktyvų filtrą (pavadinimas + reikšmė); naudotojas gali ją pašalinti.
ClearActiveFiltersLink – nuorodos valdiklis; pašalina visus aktyvius filtrus iš karto ir atstato paieškos kriterijus.
Rezultatų sekcijaRodo paieškos rezultatus su navigacija ir rodomo intervalo indikatoriais.ResultInfoText – visada viršuje; rodo intervalą ir bendrą rezultatų skaičių.
PageSizeControl – visada viršuje; nustato įrašų skaičių puslapyje (reikšmės: 5, 10, 20, 50). Užrašas gali skirtis priklausomai nuo realizacijos (pvz., “Show … entries per page”, “Filter …”).
SortControl – privalomas kortelių išdėstymui; lentelės išdėstyme nenaudojamas.
[ResultField controls…] (dinaminiai, žr. 3 skyrių).
[Action controls…] (dinaminiai, žr. 3 skyrių).
PaginationControls – navigacija tarp rezultatų puslapių.

1.2. Valdiklių katalogas pagal sekcijas

1.2.1. Antraštės sritis

Valdiklio tipasSavybių grupės
PageTitleControl: Type: StaticText; Name [default: PageTitle]; Label: Page title text;
Values: Format: Text; ReadOnly: Yes;
Display: Visible: Yes; Enabled: Yes;
HeaderActionButtonControl: Type: Button; Name [default: HeaderActionButton]; Label [default: context-specific];
Display: SecP: (saugumo teisė); Visible: Yes; Enabled: Yes; Style: Primary;
Behaviour: OnClick: atidaro susijusią formą arba valdymo rodinį;

1.2.2. Paieškos skydelis

Valdiklio tipasSavybių grupės
FilterButtonControl: Type: Button; Name [default: FilterButton]; Label [default: Filter];
Display: Visible: Yes; Enabled: Yes; Style: Primary;
Behaviour: OnClick: išskleidžia arba suskleidžia filtrų skydelį;
EnableBulkDownloadSwitchControl: Type: Switch; Name [default: EnableBulkDownloadSwitch]; Label [default: Enable search filters available for bulk XML download];
Values: Format: Boolean [default: Off];
Display: Visible: Yes; Enabled: Yes;
Behaviour: OnChange: įjungia arba išjungia XML išvesties parinktį;
IncludeHistoricalVersionSwitchControl: Type: Switch; Name [default: IncludeHistoricalVersionSwitch]; Label [default: Include historical versions];
Values: Format: Boolean [default: Off];
Display: Visible: Yes; Enabled: Yes;
Behaviour: OnChange: įtraukia arba pašalina istorinius įrašus;
DraftsSwitchControl: Type: Switch; Name [default: DraftsSwitch]; Label [default: Non-drafts / Drafts];
Values: Format: Boolean [default: Off];
Display: Visible: Conditional; Enabled: Yes;
Behaviour: OnChange: perjungia tarp Non-drafts ir Drafts;
ApplyButtonControl: Type: Button; Name [default: ApplyButton]; Label [default: Apply];
Display: Visible: Yes; Enabled: Yes; Style: Primary;
Behaviour: OnClick: vykdo paiešką;
GenerateXmlButtonControl: Type: Button; Name [default: GenerateXmlButton]; Label [default: Generate XML file];
Display: Visible: (default: No); Enabled: (default: No); Style: Secondary;
Behaviour: OnClick: pradeda asinchroninį XML failo generavimą, į kurį patenka tik esamame rezultatų puslapyje rodomi įrašai, pagal aktyvius filtrus ir puslapio dydžio nustatymus;
ResetButtonControl: Type: Button; Name [default: ResetButton]; Label [default: Reset];
Display: Visible: Yes; Enabled: Yes; Style: Secondary;
Behaviour: OnClick: išvalo filtrus;
[Filter controls…] (dinaminiai)Aprašyti 2 skyriuje “Filtrų valdikliai”.

1.2.3. Aktyvių žymų skydelis

Valdiklio tipasSavybių grupės
ActiveTagsPanelControl: Type: Panel; Name [default: ActiveTagsPanel]; Label [default: Active filters];
Values: Format: Dynamic; Source: CurrentFilterSet;
Display: Visible: Yes; Enabled: Yes;
Behaviour: OnRender: parodo visus ActiveTagItem valdiklius šiuo metu taikomiems filtrams; OnUpdate: atnaujina po bet kokio filtrų pakeitimo.
ActiveTagItemControl: Type: Tag; Name [default: ActiveTagItem]; Label [default: Filter label + value];
Values: Format: Text; ReadOnly: Yes;
Display: Visible: Yes; Enabled: Yes;
Behaviour: OnClick: pašalina atitinkamą filtrą ir automatiškai atnaujina paiešką.
ClearActiveFiltersLinkControl: Type: Link; Name [default: ClearActiveFiltersLink]; Label [default: Clear all filters];
Values: Format: Action; ReadOnly: Yes;
Display: Visible: Yes; Enabled: Yes; Style: Text;
Behaviour: OnClick: išvalo visus aktyvius filtrus ir pakartoja paiešką su numatytaisiais kriterijais.

1.2.4. Rezultatų sritis

Valdiklio tipasSavybių grupės
ResultInfoTextControl: Type: StaticText; Name [default: ResultInfoText]; Label [default: sistemos generuojamas];
Values: TextFormat [default: “Showing X–Y of Z entries”]; ReadOnly: Yes;
Display: Visible: Yes; Enabled: Yes;
Behaviour: automatiškai atnaujinamas keičiant puslapį ar rikiavimą;
PageSizeControlControl: Type: Dropdown; Name [default: PageSizeControl]; Label [default: kontekstinis tekstas, pvz., “Show … entries per page” arba “Filter …”];
Values: Options: 5; 10; 20; 50;
Display: Visible: Yes; Enabled: Yes;
Behaviour: OnSelect: keičia puslapyje rodomų įrašų skaičių;
SortControlControl: Type: Dropdown; Name [default: SortControl]; Label [default: Sort by];
Values: Source: statinis SortControlValues rikiavimo kriterijų sąrašas (priklauso nuo srities);
Display: Visible: Yes; Enabled: Yes;
Behaviour: OnSelect: perrikiuoja rodomus rezultatus; (privalomas kortelių išdėstymui; lentelės išdėstyme nenaudojamas)
[ResultField controls…] (dinaminiai)Aprašyti 3 skyriuje “Rezultatų valdikliai”.
[Action controls…] (dinaminiai)Aprašyti 3 skyriuje “Rezultatų valdikliai”.
PaginationControlsControl: Type: System; Name [default: PaginationControls]; Label [default: None];
Values: None [default: None];
Display: Visible: Yes; Enabled: Yes;
Behaviour: OnSelect: pereina į pasirinktą puslapį;

1.3. Paieškos komponento konfigūravimo šablonas

SavybėKonfigūravimo parinktys
Component UsedSearch Component
Reference DocumentSearch Component, v.1
PageTitle[Privaloma] – nurodyti puslapio pavadinimo tekstą
Default Filter Panel Initial StateCollapsed / Expanded
EnableBulkDownloadSwitch.DisplayedYes / No
IncludeHistoricalVersionSwitch.DisplayedYes / No
DraftsSwitch.DisplayedYes / No
Results Layout TypeTable Layout / Card Layout
Results Section Initial VisibilityDisplayed / Not displayed
Header ActionsNone

1.4. Antraštės veiksmų konfigūravimo šablonas

Valdiklio vardasUžrašasValdiklio informacijaElgsena
HeaderActionButton[Privaloma] – nurodyti mygtuko užrašąType: HeaderActionButton; Style: Primary / Secondary;OnClick: [nurodyti veiksmą];

2. Filtrų valdikliai

2.1. Filtrų valdiklių katalogas

Filtro tipasSavybių grupės
TextBox valdiklisControl: Type: TextBox; Name (default: None); Label (default: None);
Mapping: Entity (default: None); Attribute (default: None);
Values: Format: Text (default: None); ReadOnly (default: No); Mandatory (default: No);
Sources: None (default: None);
Display: GuidanceText (default: None); Visible (default: Yes); Enabled (default: Yes); ConditionalLabel (default: None);
Behaviour: OnChange pažymi filtrą kaip Selected;
DatePicker valdiklisControl: Type: DatePicker; Name (default: None); Label (default: None);
Mapping: Entity (default: None); Attribute (default: None);
Values: Format: Date (default: None); ReadOnly (default: No); Mandatory (default: No);
Sources: None (default: None);
Display: GuidanceText (default: None); Visible (default: Yes); Enabled (default: Yes); ConditionalLabel (default: None);
Behaviour: OnSelect pažymi filtrą kaip Selected; OnChange pažymi filtrą kaip Selected;
DateRange valdiklisControl: Type: DateRange; Name (default: None); Label (default: None);
Mapping: Entity (default: None); AttributeFrom (default: None); AttributeTo (default: None);
Values: Format: Date (default: None); ReadOnly (default: No); Mandatory (default: No);
Sources: None (default: None);
Display: GuidanceText (default: None); Visible (default: Yes); Enabled (default: Yes); ConditionalLabel (default: None);
Behaviour: OnSelect pažymi filtrą kaip Selected; OnChange pažymi filtrą kaip Selected;
Dropdown valdiklisControl: Type: Dropdown; Name (default: None); Label (default: None);
Mapping: Entity (default: None); Attribute (default: None);
Values: Format: Text (default: None); ReadOnly (default: No); Mandatory (default: No);
Sources: Type (default: None); SourceName (default: None);
Display: GuidanceText (default: None); Visible (default: Yes); Enabled (default: Yes); ConditionalLabel (default: None);
Behaviour: OnSelect pažymi filtrą kaip Selected; OnChange pažymi filtrą kaip Selected; DependentOn (default: None);
Autocomplete valdiklisControl: Type: Autocomplete; Name (default: None); Label (default: None);
Mapping: Entity (default: None); Attribute (default: None);
Values: Format: Text (default: None); ReadOnly (default: No); Mandatory (default: No);
Sources: Type (default: None); SourceName (default: None);
Display: GuidanceText (default: None); Visible (default: Yes); Enabled (default: Yes); ConditionalLabel (default: None);
Behaviour: OnSelect pažymi filtrą kaip Selected; OnChange pažymi filtrą kaip Selected;
Checkbox valdiklisControl: Type: Checkbox; Name (default: None); Label (default: None);
Mapping: Entity (default: None); Attribute (default: None);
Values: Format: Boolean (default: Off); ReadOnly (default: No); Mandatory (default: No);
Sources: None (netaikoma);
Display: GuidanceText (default: None); Visible (default: Yes); Enabled (default: Yes);
Behaviour: OnChange pažymi filtrą kaip Selected;
Switch valdiklisControl: Type: Switch; Name (default: None); Label (default: None);
Mapping: None (netaikoma);
Values: Format: Boolean (default: Off); ReadOnly (default: No); Mandatory (default: No);
Sources: None (netaikoma);
Display: GuidanceText (default: None); Visible (default: Yes); Enabled (default: Yes);
Behaviour: OnChange pažymi filtrą kaip Selected;
Button valdiklisControl: Type: Button; Name (default: None); Label (default: None);
Mapping: None (netaikoma);
Values: None (netaikoma);
Sources: None (netaikoma);
Display: GuidanceText (default: None); Visible (default: Yes); Enabled (default: Yes); Style (default: Secondary);
Behaviour: OnClick;

2.2. Filtro specifikacijos šablonas

Valdiklio vardasUžrašasTipasValdiklio informacijaRodymas ir elgsena
(PascalCaseIdentifier)(naudotojui rodomas užrašas)(valdiklio tipas)Mapping: Entity: (EntityName); Attribute: (AttributeName) / AttributeFrom–AttributeTo (intervalui);
Values: Format: (Text / Date / Boolean); ReadOnly: (Yes / No); Mandatory: (Yes / No); Composite: (Yes / No);
Sources: Type: (Static / Dynamic); SourceName: (Enum / Dataset / Service name);
Display: GuidanceText: (paaiškinamasis tekstas); Visible: (Yes / No / Conditional); Enabled: (Yes / No / Conditional); ConditionalLabel: (išraiška arba None); Style: (Primary / Secondary / Text);
Behaviour: OnSelect: (veiksmas arba sistemos įvykis); OnChange: (veiksmas arba sistemos įvykis); OnClick: (veiksmas arba sistemos įvykis); OnRender: (sistemos įvykis); OnUpdate: (sistemos įvykis); DependentOn: (ControlName arba None);

3. Rezultatų valdikliai

3.1. Rezultatų valdiklių katalogas

Rezultato valdiklio tipasSavybių grupėsTaikymas išdėstymuose
ResultField valdiklisControl: Type: ResultField; Name (default: None); Label (default: Column label);
Mapping: Entity (default: None); Attribute (default: None);
Values: Format (default: Text); Composite (default: No); ReadOnly: Yes;
Header: Sortable (default: No); DefaultSort (default: None);
Display: Visible (default: Yes);
Behaviour: None (default: None);
Lentelė: rodomas kaip lentelės stulpelis su rikiuojama antrašte, jei ji įjungta.
Kortelė: rodomas kaip laukas įrašo kortelėje; Header grupė nenaudojama.
Action valdiklisControl: Type: Action; Subtype (Button / Link / Icon); Name (default: None); Label (default: N/A);
Mapping: None (default: always);
Values: Style (default: Secondary); Icon (default: None);
Sources: None (default: None);
Display: Visible (default: Yes); LabelType (default: Static);
Behaviour: OnClick (default: None);
Naudojamas abiejuose išdėstymuose; suteikia įrašo lygio veiksmus (pvz., View, Open).

3.2. Išdėstymo pastabos

AspektasLentelės išdėstymasKortelių išdėstymas
ResultField vietaKiekvienas laukas atitinka lentelės stulpelį.Kiekvienas laukas rodomas kaip pažymėtas duomenų elementas kortelės kūne.
RikiavimasValdomas Sortable ir DefaultSort Header savybėmis.Nenaudojamas; rikiavimą tvarko SortControl.
Veiksmo vietaEilutės gale.Rodomas po lauko turiniu arba šalia jo, priklausomai nuo kortelės išdėstymo.

3.3. Rezultato aprašo šablonas

Valdiklio vardasUžrašasTipasValdiklio informacijaRodymas ir elgsena
(PascalCaseIdentifier)(užrašo tekstas)(tipas)Mapping: Entity: (EntityName); Attribute: (AttributeName);
Values: Format: Text / Date / Composite; Composite: (Yes / No);
Header: Sortable: (Yes / No); DefaultSort: (None / Ascending / Descending);
Display: Visible: Yes / Conditional; Enabled: Yes;
Behaviour: None / OnClick (priklausomai nuo veiksmo);

Trumpoji forma, naudojama tada, kai visos savybės, išskyrus susiejimą, lieka numatytosios:

Valdiklio vardasUžrašasTipasValdiklio informacijaRodymas ir elgsena
(PascalCaseIdentifier)(užrašo tekstas)(tipas)Mapping: Entity: (…); Attribute: (…); kita numatytoji;Display: default; Behaviour: default;

3.4. Rezultatų aprašų pavyzdžiai

3.4.1. Lentelės išdėstymas

Valdiklio vardasUžrašasTipasValdiklio informacijaRodymas ir elgsena
DeviceIdentifierUDI-DI / Device identifierResultFieldMapping: Entity: Device; Attribute: deviceIdentifier;
Values: Format: Text;
Header: Sortable: No; DefaultSort: None;
Display: Visible: Yes;
DeviceNameDevice nameResultFieldMapping: Entity: Device; Attribute: deviceName;
Values: Format: Text;
Header: Sortable: Yes; DefaultSort: Ascending;
Display: Visible: Yes;
DateRegistration dateResultFieldMapping: Entity: Device; Attribute: registrationDate;
Values: Format: Date;
Header: Sortable: Yes; DefaultSort: Descending;
Display: Visible: Yes;
ActionsMenuActionsAction (Icon)Mapping: None;
Values: Icon: Ellipsis; Style: Secondary;
Display: Visible: Yes;
Behaviour: OnClick: atidaro veiksmų meniu;

3.4.2. Kortelių išdėstymas

Valdiklio vardasUžrašasTipasValdiklio informacijaRodymas ir elgsena
DossierTypeDossier TypeResultFieldMapping: Entity: VigilanceDossier; Attribute: dossierType;
Values: Format: Text; ReadOnly: Yes;
Display: Visible: Yes; Enabled: Yes;
ManufacturerManufacturerResultFieldMapping: Entity: VigilanceDossier; Attribute: mfSrn + OrganisationName;
Values: Format: Composite; ReadOnly: Yes;
Display: Visible: Yes;
ViewActionViewAction (Button)Mapping: None;
Values: Style: Secondary;
Display: Visible: Yes;
Behaviour: OnClick: atidaro dosjė detales;
ShowAllDevicesShow all devicesAction (Link)Mapping: None;
Values: Style: Text;
Display: Visible: Conditional; Enabled: Yes;
Behaviour: OnClick: atidaro modalinį langą su visais prietaisais;

3.5. Numatytosios valdiklių reikšmės

ValdiklisValdiklio informacija (numatytoji)Rodymas ir elgsena (numatytoji)
ResultFieldControl: Type: ResultField; Name (default: None); Label (default: Column label);
Mapping: Entity (default: None); Attribute (default: None);
Values: Format (default: Text); Composite (default: No);
Header: Sortable (default: No); DefaultSort (default: None);
Display: Visible (default: Yes);
Behaviour: None (default: None);
ActionControl: Type: Action; Subtype (Button / Link / Icon); Style (default: Secondary); Icon (default: None); LabelType (default: Static);Display: Visible (default: Yes);
Behaviour: OnClick (default: None);

3.6. Greitoji lentelė

Valdiklio tipasPagrindinės savybėsElgsenaIšdėstymai
ResultFieldFormat: Text / Date / Composite; Header: Sortable Yes/No; DefaultSort None / Ascending / Descending;None;Tabular / Card;
ActionSubtype: Button / Link / Icon; Style: Primary / Secondary;OnClick;Tabular / Card;

4. Savybių apibrėžimų priedas

4.1. Control grupė

SavybėApibrėžimasLeidžiamos reikšmės
TypeNurodo valdiklio kategoriją. Nuo jos priklauso taikomos savybių grupės ir elgsena.TextBox / Dropdown / DatePicker / DateRange / Autocomplete / Checkbox / Switch / Button / Tag / Link / Panel / StaticText / ResultField / Action
NameTechninis valdiklio identifikatorius, rašomas PascalCase. Unikalus komponento viduje.Tekstas (PascalCase identifikatorius)
LabelNaudotojui rodomas užrašas šalia valdiklio arba jame; gali būti praleistas, kai nereikalingas (pvz., mygtukas tik su piktograma).Tekstas

4.2. Mapping grupė

SavybėApibrėžimasLeidžiamos reikšmės
EntityLoginis duomenų objektas (pvz., Device, Certificate), su kuriuo valdiklis susietas.Esybės vardas / None (netaikoma)
AttributeEsybės laukas, teikiantis arba priimantis duomenis.Atributo vardas / None (netaikoma)
AttributeFrom / AttributeToNaudojama intervalo valdikliuose, apibrėžiant atributų porą (pvz., dateFrom, dateTo).Atributo vardas / None (netaikoma)

4.3. Values grupė

SavybėApibrėžimasLeidžiamos reikšmės
FormatDuomenų tipas arba struktūra, kurią priima valdiklis.Text / Date / Boolean
MandatoryNurodo, ar reikšmė privaloma, kad valdiklis būtų validus.Yes / No / Conditional
ReadOnlyJei Yes, naudotojas reikšmės keisti negali.Yes / No / Conditional
CompositeNurodo, kad reikšmė sudaryta iš kelių dalinių laukų.Yes / No

4.4. Sources grupė

SavybėApibrėžimasLeidžiamos reikšmės
TypeNurodo, ar valdiklio reikšmės imamos iš iš anksto apibrėžto sąrašo, ar gaunamos dinamiškai vykdymo metu.Static / Dynamic
SourceNameNurodo tikslų šaltinį (enumeraciją, duomenų rinkinį ar vykdymo meto tiekėją), iš kurio valdiklis ima reikšmes.Static atveju: enumeracijos vardas (pvz., CountryEnum, RegulationEnum); Dynamic atveju: vykdymo meto duomenų tiekėjas ar nuorodų servisas (pvz., CompetentAuthoritiesList)

4.5. Display grupė

SavybėApibrėžimasLeidžiamos reikšmės
GuidanceTextPaaiškinamoji užuomina šalia valdiklio (pvz., “Select country”).Tekstas
VisibleNurodo, ar valdiklis rodomas ekrane.Yes / No / Conditional
EnabledNurodo, ar interaktyvų valdiklį galima naudoti. Kai No, jis matomas, bet neaktyvus.Yes / No / Conditional
ConditionalLabelAlternatyvus užrašas, rodomas pagal kito valdiklio būseną.Sąlyginė teksto išraiška
StyleVizualinės išvaizdos variantas.Primary / Secondary / Text

4.6. Behaviour grupė

SavybėApibrėžimasLeidžiamos reikšmės
OnSelectVeiksmas, sukeliamas naudotojui pasirinkus reikšmę ar parinktį.Veiksmo nuoroda arba sistemos įvykis
OnChangeVeiksmas, sukeliamas pasikeitus valdiklio reikšmei.Veiksmo nuoroda arba sistemos įvykis
OnClickVeiksmas, sukeliamas spustelėjus valdiklį.Veiksmo nuoroda arba sistemos įvykis
OnRenderSukeliamas, kai valdiklis parodomas ekrane.Sistemos įvykis
OnUpdateSukeliamas, kai valdiklis atnaujinamas pasikeitus duomenims.Sistemos įvykis
DependentOnApibrėžia priklausomybę nuo kito valdiklio reikšmės ar būsenos.Valdiklio vardas

4.7. Žymėjimo taisyklės

(default: …) - konfigūruojama savybė su iš anksto apibrėžta numatytąja reikšme.

(not applicable) / (netaikoma) - savybių grupė, struktūriškai privaloma, bet šiam valdiklio tipui nenaudojama.

Savybių grupių eiliškumas: Control -> Mapping -> Values -> Sources -> Display -> Behaviour



Ankstesnis tekstas
Teorinis pagrindas EUDAMED domeno modeliavimui
Kitas tekstas
Reikalavimų specifikacijose ribojamos reikšmių aibės: nauja reikšmių aibė ar apribojimas?