Rozšíření:ProofreadPage/Prohlížeč stránek
| Tato stránka dokumentuje nejnovější verzi rozšíření ProofreadPage. Některé funkce ještě nemusí být nasazeny. |
Podklady
Rozšíření ProofreadPage využívá populární knihovnu OpenSeadragon (OSD) k poskytování zoomovatelného prohlížeče obrázků v jmenném prostoru Page a editoru Pagelist. To nabízí různé užitečné funkce:
- Známé a robustní JS API pro rozšiřitelnost skriptů a gadgetů
- Přiblížení a posouvání, které funguje na stolních počítačích i mobilních zařízeních
- Dobře udržovaná zdrojová kódová základna
OpenSeadragon nahradil předchozí domácí implementaci jQuery ve verzi 1.38.0-wmf.9.
Používání prohlížeče
Hlavní ovládací prvky zobrazovacího okna se nacházejí v pravém horním rohu prohlížeče obrázků:

Zleva doprava:
Vyberte oblast obrázku pro OCR (zatím nesloučeno)
Přidání pohyblivého vodítka (zatím nesloučeno)- Přiblížení, oddálení a obnovení zobrazení na celou stránku
Otočení obrázku o 90 stupňů doleva nebo doprava
Navigace myší
Některé z těchto funkcí ještě nejsou sloučeny: Gerrit change 740369
Obrázek můžete posouvat a přibližovat takto:
- Klikněte levým tlačítkem myši a táhnutí: posouvání obrázku
- Kolečko pro rolování: přiblížení a oddálení obrázku
- Ctrl+posouvání: posouvání obrázku nahoru a dolů
- Shift+posouvání: posouvání obrázku ze strany na stranu
- Kliknutí levým tlačítkem myši: přiblížení v jednom kroku
- Shift+kliknutí levým tlačítkem myši: oddálení o jeden krok
Prostřední tlačítko myši přepíná mezi normálním režimem a režimem s klávesou Ctrl (takže Ctrl+posouvání se změní na zoom a normální posunutí na panorámování). Kurzor se změní, aby označil, ve kterém režimu se nacházíte.
Navigace pomocí klávesnice
Používají se výchozí klávesové zkratky OpenSeadragon:
- w, ↑ – posunout výřez nahoru
- s, ↓ – posunout výřez dolů
- a, ← – posunout výřez doleva
- d, → – posunout výřez doprava
- 0 – přiblížení / přesunutí výřezu domů
- -, _, ⇧ Shift+W, ⇧ Shift+↑ – zmenšení zobrazované oblasti
- =, +, ⇧ Shift+S, ⇧ Shift+↓ – přiblížit výřez
- r – otočit ve směru hodinových ručiček
- R – otočit proti směru hodinových ručiček
Značkovací čáry
Zatím nesloučeno
Tlačítko
lze použít k přidání pohyblivého vodítka.
- Kliknutím na tlačítko přidáte k obrázku vodítko.
- Přetažením vodítka jej přesunete
- Dvojitým kliknutím na vodítko jej smažete
Vodítka zůstanou zachována i po opětovném načtení stránky, takže je můžete použít k zachování pozice při prohlížení náhledu změn.
Možnosti prohlížeče
V nastaveních na kartě Úpravy pod nadpisem Možnosti rozhraní korektury najdete několik možností pro prohlížeč stránek.
- Rychlost animace
- Díky tomu je posouvání a zoom plynulejší. Výchozí hodnota je '0', což znamená, že nedochází k žádnému zpoždění a zoom se "přepíná" z jedné úrovně na druhou. Výchozí nastavení OSD používané v mnoha prohlížečích obrázků třetích stran je 1,2.
- Krok přiblížení prohlížeče
- Toto nastavení upravuje, jak "rychle" se prohlížeč přibližuje a oddaluje. Výchozí hodnota je 1,2. Pokud se vám zdá přiblížení příliš agresivní, můžete zkusit ho snížit například na 1,1.
JS API
mw.hook
| Verze MediaWiki: | ≥ 1.40-wmf.12 Gerrit change 852322 |
Následující mw.hooks jsou vypuštěny:
| Háček | Popis | Argumenty |
|---|---|---|
ext.proofreadpage.osd-controller-availiable
|
Spustí se při inicializaci kontroléru OpenSeadragon. |
|
ext.proofreadpage.osd-no-image-found
|
Spustí se, když se inicializace ovladače OpenSeadragon nezdaří, lze jej použít k zobrazení chybových zpráv. | Žádné argumenty |
mw.proofreadpage
V globálním objektu mw.proofreadpage jsou prezentovány následující objekty:
mw.proofreadpage.openseadragon
| Verze MediaWiki: | ≥ 1.40-wmf.12 Gerrit change 852322 |
Toto je obal kolem OpenSeadragon API.
Tento objekt vygeneruje dvě události:
| Událost | Popis | Argumenty |
|---|---|---|
prp-osd-before-creation
|
Spuštěno těsně před inicializací OpenSeadragon |
|
prp-osd-after-creation
|
Spustí se, když se prohlížeč OpenSeadragon inicializuje a obrázky se načtou. Uživatelské skripty mohou tuto událost použít k navázání a naslouchání specifickým 'událostem' OpenSeadragon, jako jsou akce posouvání/zoomování atd. |
|
mw.proofreadpage.openseadragon.viewer
| Verze MediaWiki: | ≥ 1.40-wmf.12 Gerrit change 852322 |
Objekt prohlížeče OpenSeadragon. Platí pouze po prp-osd-after-creation.
To se může změnit, např. po přepnutí prohlížeče z horizontálního do vertikálního režimu.
mw.proofreadpage.openseadragon.forceInitialize()
| Verze MediaWiki: | ≥ 1.40-wmf.12 Gerrit change 852322 |
Toto vynutí inicializaci OpenSeadragonu, což způsobí spuštění všech událostí a háčků.
Pro uživatelský skript provádějící změny v OpenSeadragon to umožňuje okamžité použití změn.
Například:
function initialize( openseadragon ) {
openseadragon.on( 'prp-osd-before-creation', function ( osdParams ) {
// Proveďte zde změny, například zde nastavíme parametr `showNavigator` na hodnotu true
osdParams['showNavigator'] = true;
} );
openseadragon.on( 'prp-osd-after-creation', function ( viewer ) {
// Udělej něco
// ....
// ....
} );
// Vynutit aktualizaci Openseadragon se změnami
openseadragon.forceInitialize();
}
mw.proofreadpage.openseadragon.getCurrentImage()
| Verze MediaWiki: | ≥ 1.40-wmf.12 Gerrit change 859160 |
Získá URL adresu aktuálně zobrazeného obrázku na OpenSeadragonu.
Tato funkce může způsobit chybu, pokud je volána před spuštěním příkazu prp-osd-after-creation.
mw.proofreadpage.getPageViewportControls()
Čeká na kontrolu: Gerrit change 736203
Vrací objekt jQuery, který obsahuje hodnotu <div> obsahující ovládací prvky pro prohlížeč umístěný v panelu nástrojů WikiEditoru.
Skripty mohou do této oblasti přidat nové ovládací prvky.
Platí pouze po ext.proofreadpage.osd-viewer-ready.
Konfigurační proměnné
Následující proměnné mw.config jsou přidány do stránek jmenného prostoru Page.
Ty mohou být použity gadgety a uživatelskými skripty.
| Proměnná | Obsah | Typ |
|---|---|---|
prpFormattedPageNumber
|
Formátované číslo stránky (obvykle to, co je na stránce skutečně napsáno).
Např.: |
řetězec |
prpImageFullSize
|
URL adresa obrázku stránky v plné velikosti (největší obrázek aktuální stránky).
Např.: |
řetězec |
prpImageThumbnail
|
URL adresa miniatury obrázku stránky (velikost použitá v prohlížeči stránek).
Např.: |
řetězec |
prpIndexFields
|
Hodnoty libovolných indexových polí v objektu konfigurace indexových dat označených jako js: true.
Např.: |
objekt |
prpIndexTitle
|
Název přidružené indexové stránky.
Např.: |
řetězec |
prpPageQuality
|
Aktuální úroveň kvality stránky (0–4, 1, pokud stránka ještě neexistuje).
Např.: |
celé číslo |
prpPageQualityUser
|
Jméno posledního uživatele, který nastavil kvalitu.
Např.: |
řetězec |
Zdroje pro OpenSeadragon
Použití skriptů a gadgetů
Skripty a gadgety mohou používat API pro cokoli, co je podporováno OpenSeadragon API prostřednictvím objektu mw.proofreadpage.openseadragon.viewer.
Změna obrázku
Obrázek lze změnit přidáním obrázku do prohlížeče.
Pro "jednoduché" obrázky (tj. tam, kde máte pouze URL adresu obrázku):
mw.proofreadpage.openseadragon.on( 'prp-osd-before-creation', function ( osdParams ) {
osdParams['tileSources'] = [{url: 'image_url_here'}];
} );
mw.proofreadpage.openseadragon.forceInitialize();
Můžete také přímo přidat zdroj dlaždicového obrázku IIIF:
mw.proofreadpage.openseadragon.on( 'prp-osd-before-creation', function ( osdParams ) {
osdParams['tileSources'] = iiif_json_source;
} );
mw.proofreadpage.openseadragon.forceInitialize();
Přidávání tlačítek do panelu nástrojů pro ovládání zobrazovacího okna
Tyto lze přímo přidat k elementu vrácenému přeměnou mw.proofreadpage.getPageViewportControls():
var button = new OO.ui.ButtonWidget( {
icon: 'home', // vybrat ikonu
framed: false,
classes: [ 'tool' ]
} );
mw.proofreadpage.getPageViewportControls().append( button );
Nástroje nemusí být v tomto panelu nástrojů, aby mohly interagovat s prohlížečem OpenSeadragon. Mohou být také v bočním panelu, běžném panelu nástrojů (pro který lze použít konfigurační systém panelu nástrojů WikiEditor) nebo kdekoli jinde v DOMu.
Výběr regionu
Toto ještě není sloučeno Gerrit change 741125
Je k dispozici modul pro výběr oblasti (ext.proofreadpage.page.regionselection), který umožňuje skriptům přidat jednoduchý obdélníkový výběr oblasti.
Výběr regionu je komunikován událostmi OOUI. Vytvořte instanci selektoru regionu a obslužné rutiny vazby takto:
mw.loader.using( 'ext.proofreadpage.page.regionselection', function( require ) {
var RegionSelection = require( 'ext.proofreadpage.page.regionselection' );
var regionSelector = new RegionSelection();
mw.hook( 'ext.proofreadpage.osd-viewer-ready' ).add( function ( viewer ) {
regionSelector.register( viewer );
regionSelector.connect( this, {
[ regionSelector.events.selectionStart ]: [ 'onRegionToggle', true ],
[ regionSelector.events.selectionEnd ]: [ 'onRegionToggle', false ]
} );
} );
// zahájit výběr
regionSelector.toggleSelection( true );
} );
V tomto případě je onRegionToggle obslužná rutina, kterou byste měli poskytnout.
Události:
selectionStartse vydává při zahájení výběruselectionEndvydané při ukončení výběru (výběr je nějakým způsobem zrušen)
Metody na RegionSelector:
isActive(), pokud je výběr právě aktivnígetSelection()získat obdélník výběru v souřadnicovém systému od 0 do 1
Související odkazy
- Referenční informace k API OpenSeadragon: https://openseadragon.github.io/docs/