Komponenty
Komponenty
SmartWeb framework pre uľahčenie vývoja webových aplikácií postavených na JavaScript knižnici React poskytuje niekoľko predpripravených komponentov s napojením na systém D2000 cez D2Api. Dodávané komponenty sa nachádzajú v adresári components SmartWeb frameworku a ďalej sú logicky rozčlenené do adresárov podľa ich určenia. Niektoré komponenty sa dajú naimportovat alternatívne aj s CSS štýlmi - vtedy má názov súboru predponu "themed". "Otémované" verzie komponentov sú vlastné tie neotémované spolu s prednastavenými CSS štýlmi. Napríklad:
// otémovaná verzia komponentu alert
import alert from 'framework/components/alert/themedAlert'
// verzia komponentu alert bez CSS štýlov - neotémovaná, CSS je nutné ručne naimportovať
import alert from 'framework/components/alert/alert'Komponenty pre komunikáciu s D2000 ( framework/components/d2)
Základné komponenty rozširujúce React (framework/components/react)
Dialógové okná (framework/components/alert)
Alert
Komponent Alert slúži na zobrazovanie dialógových okien. Komponent používa ako zdrojovú knižnicu SweetAlert2 a jeho rozhranie je zhodné s rozhraním knižnice SweetAlert2. Komponent má aj naštýlovanú verziu s preddefinovanými CSS štýlmi.
// otémovaná verzia komponentu alert
import alert from 'framework/components/alert/themedAlert'
// verzia komponentu alert bez CSS štýlov - neotémovaná, CSS je nutné ručne naimportovať
// import alert from 'framework/components/alert/alert'
// príklad použitia
alert({title: 'Úspech', text: 'Podarilo sa to!', type: 'success'});
Autentifikačné komponenty (framework/components/auth)
LoginForm
Komponent LoginForm predstavuje formulár, ktorým sa užívateľ prihlasuje do webovej aplikácie resp. systému D2000. Pre použitie LoginForm komponentu je v ňom potrebné zadefinovať textové pole (html element ) s názvom "j_username" pre meno užívateľa, textové pole s názvom "j_password" pre heslo užívateľa a odosielacie tlačidlo (element
import React from 'react'
import SimplePageContainer from 'framework/components/react/simplePageContainer'
import LoginForm from 'framework/components/auth/loginForm'
// Jednoduchý príklad použitia LoginForm komponentu
SimplePageContainer.renderComponent(class LoginPage extends React.Component {
render() {
return (
<LoginForm {...this.props}>
<input type="text" placeholder="Používateľské meno" required="" name="j_username"/>
<input type="password" placeholder="Heslo" name="j_password"/>
<button type="submit">Prihlásiť</button>
</LoginForm>
);
}
}
);LogoutLink
Komponent LogoutLink je jednoduchým odkazom (html element ), na kliknutie ktorého sa zobrazí potvrdzovací dialóg odhlásenia užívateľa. Po potvrdení je užívateľ z aplikácie odhlásený a presmerovaný na úvodnú (prihlasovaciu) stránku.
import React from 'react';
import LogoutLink from "framework/components/auth/logoutLink";
// Príklad použitia komponentu LogoutLink ako jednej z položiek menu
export default class PageHeader extends React.Component {
render() {
return (
<div className="container-fluid">
<div className="row">
<div className="col-xs-4">
<a href="#section1">Section 1</a>
</div>
<div className="col-xs-4">
<a href="#section2">Section 2</a>
</div>
<div className="col-xs-4">
<a href="#section3">Section 3</a>
</div>
<div className="col-xs-4">
<LogoutLink>Logout</LogoutLink>
</div>
</div>
</div>
);
}
};Komponenty pre komunikáciu s D2000 ( framework/components/d2)
DataContainer
Základný komponent SmartWeb Frameworku. Potomok komponentu SimplePageContainer, ktorý v sebe navyš zabaľuje rozhranie D2Api a automaticky nadväzuje a ukončuje pripojenie k D2000. Zároveň zabezpečuje podporu pre klávesové skratky na prepínanie režimu ladenia (CTRL+ALT+D) a rebundlovania aplikácie (CTRL+ALT+R). Do ostatných komponentov sa propaguje ako atribút s názvom d2.
Názov atribútu | Typ | Povinný | Predvolená hodnota | Popis |
|---|---|---|---|---|
connection | object |
|
| Obsahuje informácie o pripojení k D2000 ako názov aplikácie a meno prihláseného užívateľa. Atribút je nastavovaný automaticky. |
TclScheme
Tento komponent slúži na zobrazenie D2000 schémy pomocou technológie tenkého klienta (TCL). Schéma bude na stránku vložená ako HTML element