Jump to content

Rozšíření:ProofreadPage/Prohlížeč stránek

From mediawiki.org
This page is a translated version of the page Extension:Proofread Page/Page viewer and the translation is 100% complete.

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

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.

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.
  • Argument 1: osdController, objekt kontroleru OpenSeadragon (k dispozici také jako mw.proofreadpage.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
  • Argument 1: osdParams objekt parametrů OpenSeadragon. Toto obsahuje konfiguraci, která bude odeslána do OpenSeadragonu a lze ji upravit uživatelskými skripty pro přizpůsobení vzhledu/fungování OpenSeadragonu. Seznam všech potenciálních hodnot naleznete v dokumentaci k 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.
  • Argument 1: viewer objekt prohlížeče OpenSeadragon (k dispozici také jako mw.proofreadpage.openseadragon.viewer)

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ř.:"20"

řetězec
prpImageFullSize URL adresa obrázku stránky v plné velikosti (největší obrázek aktuální stránky).

Např.:"//upload.wikimedia.org/wikipedia/commons/thumb/a/a8/My_mortal_enemy_-_1926.djvu/page20-3893px-My_mortal_enemy_-_1926.djvu.jpg"

řetězec
prpImageThumbnail URL adresa miniatury obrázku stránky (velikost použitá v prohlížeči stránek).

Např.:"//upload.wikimedia.org/wikipedia/commons/thumb/a/a8/My_mortal_enemy_-_1926.djvu/page20-1024px-My_mortal_enemy_-_1926.djvu.jpg"

řetězec
prpIndexFields Hodnoty libovolných indexových polí v objektu konfigurace indexových dat označených jako js: true.

Např.:{ Progress: "C", Transclusion: "no", Footer: "\n", … }

objekt
prpIndexTitle Název přidružené indexové stránky.

Např.:"Index:My mortal enemy - 1926.djvu"

řetězec
prpPageQuality Aktuální úroveň kvality stránky (0–4, 1, pokud stránka ještě neexistuje).

Např.:1

celé číslo
prpPageQualityUser Jméno posledního uživatele, který nastavil kvalitu.

Např.:"SomeUser"

ř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:

  • selectionStart se vydává při zahájení výběru
  • selectionEnd vydané 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