Barvna shema: Temna
Trenutno dejavna stran: start » sl » Dokumentacija » Razširitve DokuWikija (WvdS) » FluentUI (knjižnica oblikovalskega sistema) » FluentUI: reference komponent » FluentUI: zasloni jedra

FluentUI: zasloni jedra

Nazaj: reference komponent

Tri zaslone jedra DokuWiki wkfluentui izriše z lastnimi gradniki: upravljanje medijev, pojavno okno medijev urejevalnika in obrazce jedra. Dejanja, naslovi in preverjanja pravic ostanejo v jedru; spremeni se le prikaz.

Mednje ne spada naročnina (do=subscribe). Na tej namestitvi je izklopljena ($conf['subscribers'] = 0), točka menija se ne prikaže. Če jo vklopite, dobite zaslon naročnine iz jedra, ki ga komplet ne izriše, in hkrati vklopite pošiljanje e-pošte naročnikom. Pred vklopom mora biti zato izdelana različica kompleta in prevzeta na delujočem wikiju (delovni element #2660).

Upravljanje medijev (do=media)

Podpis

doku.php?do=media[&ns=…][&image=…][&tab_files=…][&tab_details=…][&list=…][&sort=…]

Prevzeto prek dogodka TPL_ACT_RENDER v action/mediascreen.php; namesto tpl_media() se izriše delovna površina.

Povzetek

Upravljanje medijev kot delovna površina: drevo imenskih prostorov v stranski vrstici, datoteke imenskega prostora v vsebini, izbrana datoteka v pomožni vrstici.

Parametri

Parameter Vrednosti Pomen
ns imenski prostor prikazani imenski prostor
image ID medija izbrana datoteka; odpre pomožno vrstico
tab_files files · search seznam datotek ali rezultat iskanja
tab_details view · edit · history zavihek izbrane datoteke: ogled, metapodatki, zgodovina
list thumbs · rows ploščice ali vrstice
sort name · date razvrščanje seznama datotek
mediado searchlist · update · save · restore · diff dejanje jedra: iskanje, zamenjava datoteke, shranjevanje metapodatkov, obnovitev različice, primerjava dveh različic
q besedilo iskalni niz, skupaj z mediado=searchlist
rev časovni žig ena od prejšnjih različic datoteke
first število listanje po zgodovini
delete ID medija brisanje, z varnostnim žetonom jedra
wkconfirm delete edini lastni parameter: pred brisanjem prikaže vprašanje za potrditev

Opombe

  • Dejanja ostanejo v jedru. Nalaganje, shranjevanje metapodatkov, obnovitev in brisanje potekajo v lib/exe/mediamanager.php, s preverjanji žetona in pravic jedra. Zaslon le izrisuje.
  • Naslovi ostanejo naslovi jedra. Vsaka povezava nastane prek media_managerURL(). Zaznamek starega upravljanja medijev odpre isto, zaslon pa deluje tudi brez JavaScripta.
  • Brisanje zahteva potrditev (confirmPanel()). Datoteka, ki je še uporabljena na kakšni strani, brisanja ne ponudi in namesto tega prikaže opozorilo.
  • Sporočila jedra (»naloženo«, »izbrisano«) se prikažejo v območju sporočil predloge nad zaslonom.
  • Metapodatke je kot v jedru mogoče urejati le pri slikah JPEG.
  • Preimenovanja ni; jedro medijskih datotek ne zna preimenovati.
  • Ravni drevesa se nalagajo naknadno: lib/exe/ajax.php?call=plugin_wkfluentui_medienbaum&ns=…&id=… vrne eno raven kot HTML, na imenski prostor brez pravice branja pa odgovori s 403. Če nalaganje ne uspe, se prikaže vrstica z opozorilom, naslednji klik na vozlišče pa naloži znova.
  • Nadomestni izris: če kateri od potrebnih gradnikov manjka, jedro izriše svoje upravljanje medijev – nikoli pol zaslona.

Primer

doku.php?do=media&ns=wiki&list=rows&sort=date
doku.php?do=media&ns=wiki&image=wiki:dokuwiki-128.png&tab_details=history

Sestava

workbench() z auxbarOpen · tree() z naknadnim nalaganjem · dataGrid() kot ploščice ali vrstice · fileUploader() z upload.multiple in upload.doneUrl · propertyGrid() · confirmPanel() · toolbar() · modal()

Pojavno okno medijev urejevalnika (lib/exe/mediamanager.php)

Podpis

lib/exe/mediamanager.php?ns=…&edid=…[&onselect=…][&einfuegen=…][&uilang=…]

Predloga wkbizway v svoji datoteki mediamanager.php pokliče metodo popup() razreda action_plugin_wkfluentui_mediascreen, potem ko jedro izvede svoja dejanja.

Povzetek

Ista delovna površina kot upravljanje medijev, v oknu, ki ga odpre gumb za medije v orodni vrstici urejevalnika, z ukazom »Vstavi«.

Parametri

Vsi parametri upravljanja medijev razen do, poleg tega:

Parameter Vrednosti Pomen
edid ID polja besedilno polje urejevalnika, v katerega se vstavlja; privzeto v jedru wiki__text
onselect ime funkcije povratni klic v oknu urejevalnika; privzeto v jedru dw_mediamanager_item_select
einfuegen ID medija prikaže obrazec za vstavljanje te datoteke
uilang koda jezika jezik, v katerem je bilo pojavno okno odprto; nosi se naprej in se nikoli ne zapomni

Opombe

  • Vstavlja jedro. scripts/mediainsert.js odgovore preda funkciji dw_mediamanager.insert(). Vstavljena skladnja je skladnja jedra, na primer {{ :wiki:dokuwiki-128.png?200|}}.
  • Obrazec za vstavljanje pri slikah JPG, PNG in GIF vpraša po povezavi, poravnavi in velikosti, poleg tega še »ohrani okno odprto«. Odgovori se shranijo v iste vrednosti piškotka kot v jedru (link, align, size, keepopen); naslednje pojavno okno se odpre z isto izbiro. Druge datoteke, tudi SVG in PDF, se vstavijo takoj. Pri »samo povezava« poravnava in velikost odpadeta.
  • Ukazi ostanejo vidni. Vrstica ukazov obrazca je pripeta na spodnji rob drsnega pogovornega okna; to velja za vsak modal().
  • Drevo imenskih prostorov ostane zasidrano do širine okna 600px (sidebarDocked); pojavno okno se odpre v velikosti 750×500.
  • Jezik: pojavno okno sledi prikazanemu imenskemu prostoru. Če ta ne navaja jezika, ostane v jeziku, v katerem je bilo odprto (uilang). Izrecno izbrani jezik ima vedno prednost. Pravilo je v wki18n.
  • Brez JavaScripta ni mogoče vstaviti ničesar; obrazec to pove v posebni vrstici.
  • Brez urejevalnika – okno je bilo odprto samostojno ali pa je urejevalnik zaprt – se namesto napake skripta prikaže sporočilo.
  • Nadomestni izris: brez wkfluentui predloga izriše pojavno okno jedra.

Primer

lib/exe/mediamanager.php?ns=sl:wiki:dwe&edid=wiki__text
lib/exe/mediamanager.php?ns=wiki&edid=wiki__text&uilang=sl&einfuegen=wiki:dokuwiki-128.png

Sestava

Gradniki upravljanja medijev, poleg tega workbench() s sidebarDocked · modal() · radioGroup() z layout horizontal · checkbox()

Obrazci jedra (coreform)

Podpis

helper_plugin_wkfluentui_coreform::render(\dokuwiki\Form\Form $form, ?string $eventName = null, array $opts = []): string

Za obrazec, katerega deli so v dveh regijah, isto delo po korakih: trigger(), formOpen(), elements(), formClose().

Povzetek

Izriše objekt Form jedra s polji in gumbi kompleta, ne da bi izgubil prispevke drugih vtičnikov.

Parametri

Parameter Tip Pomen
$form \dokuwiki\Form\Form obrazec jedra
$eventName niz ali null kratko ime kot pri Form::toHTML(), npr. UpdateProfile; sproži FORM_<NAME>_OUTPUT. null le za obrazec, h kateremu drug vtičnik nikoli ni mogel prispevati
$opts['class'] niz dodatni razredi na elementu <form>
$opts['legends'] bool false izpusti legende skupin polj, kadar klicatelj odsek že poimenuje sam
$opts['fields'] polje preglasitve po imenu polja, npr. ['newpass' => ['autocomplete' => 'new-password']]
$opts['from'], $opts['to'] število obseg elementov (to vključno); le prek elements()

Povratna vrednost: HTML obrazca ali prazen niz, če ga ni mogoče varno izrisati – takrat klicatelj preide na jedro.

Opombe

  • Dogodek se sproži kot v jedru, na istem mestu kot v Form::toHTML(). Kar drugi vtičniki dodajo v obrazec – polja za dvostopenjsko preverjanje iz wkidentity v profilu, polja bloga iz wkblog v urejevalniku – ostane.
  • Element, ki ga razred ne pozna, se izriše sam (Element::toHTML()). Obrazec tako nikoli ne izgubi polja; na tistem mestu je kvečjemu videti drugače.
  • Vnaprejšnje vrednosti ostanejo vrednosti jedra. Po zavrnjeni oddaji so vrednosti spet v poljih: najprej teče toHTML(), šele nato razred prebere atribute.
  • Skupine izbir: legenda odseka postane dostopno ime skupine možnosti v njem.
  • Porabniki: profil (do=profile, dogodek UpdateProfile), urejevalnik (do=edit, dogodek Edit, deli v dveh regijah) in iskanje (do=search).

Primer

$cf = plugin_load('helper', 'wkfluentui_coreform');
$html = $cf->render($form, 'UpdateProfile', [
    'legends' => false,
    'fields'  => ['oldpass' => ['autocomplete' => 'current-password']],
]);

Sestava

Polja obrazca: textBox() · passwordBox() · textArea() · comboBox() · checkbox() · radioGroup() · button() · hiddenField()

sl/wiki/dwe/wkfluentui/component/core-screens.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille