Z verze
změnil(a) David Brazda
k 08.04.2021 10:16
Na verzi < 1.2 >
změnil(a) David Brazda
k 18.01.2021 17:37
< >
Popis verze: allow view právo pro XWiki.Reader

Přehled

Rozpis

Na stránce změněno:
Obsah
... ... @@ -1,21 +1,17 @@
1 -Tato stránka obsahuje JSX, které
1 +Tento JSX
2 2  
3 -1) **enablují** na celé wiki [[lightbox viewer>>https://lokeshdhakar.com/projects/lightbox2/]] pro zobrazení obrázků - pokud najde A hrefu s atributem data-lightbox="lightbox" pak zobrazí child img element v lightboxu
3 +1) aktivuje na celé wiki [[lightbox viewer>>https://lokeshdhakar.com/projects/lightbox2/]] pro zobrazení obrázků - pokud najde A hrefu s atributem data-lightbox="lightbox" pak zobrazí child element v lightboxu
4 4  
5 -2) u všech příloh s obrázkem (tzn. A elementů obklopených span xwikiattachement a obsahující child element IMG) provede:
5 +2) zároveň je zde dodělaná funkcionalita, která u všech A elementů obklopených span xwikiattachement a obsahující child element IMG - nastaví u A dynamicky data-lightbox atribut.
6 6  
7 -* **vytvoří caption** - tzn. obklopí img element do figure a figureCaption (do kterého zkopíruje alt) - pokud není alt stejné jako název souboru
8 -* **aktivuje lightbox** - tzn. nastaví u A dynamicky data-lightbox atribut
9 -* zároveň zkopíruje alt u image do lightbox-title do A elementu - pokud není alt stejné jako název souboru
7 +3) zachytaná dom-reloaded akce a na jejím základě provedeno totéž - nutné aby fungovalo po uložení editace.
10 10  
11 -3) tento update je triggerován na dom-reloaded akci - nutné aby zafungovalo i po uložení editace a nejenom reloadu stranky
12 12  
10 +Jinak je celý proces následující
13 13  
14 -Jinak je celý end to end proces následující
15 -
16 16  1. uživatel vloží paste obrázku do CKEditoru
17 17  1. zafunguje upraveny upload plugin a místo samotného image vrací image nalinkovaný na daný attachement, tzn. uploadovaná image je vždycky s linkem a validní v xwiki 2.1 syntax -  xwiki-upload (loaduje [[CKEditor plugin loader>>BackEnd.CKEditor plugin loader.WebHome]] a samotny kod je v /resources/mujupload.js xwiki-upload (loaduje [[CKEditor plugin loader>>BackEnd.CKEditor plugin loader.WebHome]] a samotny kod je v /resources/mujupload.js
18 18  1. standardní render z tohoto udělá IMG obalený A
19 -1. JSX v Lightbox supportu dynamicky přidá data-lightbox atribut pro všechyn A a vytvori fig a figcaption viz výše
15 +1. JSX v Lightbox supportu dynamicky přidá data-lightbox atribut pro všechyn A
20 20  
21 21  
XWiki.JavaScriptExtension[1]
Kód
... ... @@ -1,31 +1,6 @@
1 1  require(['jquery'], function($) {
2 2   //in case of important dom change - like CKEditor save, the lightbox must be re-added again
3 3   $(document).on('xwiki:dom:updated', function() {
4 - //puvodni kod
5 - //$(".wikiattachmentlink img").parents("a").attr("data-lightbox","lightbox");
6 -
7 - //novy kod - pro attachmenty obrazky nastavit lightbox + add img alt jako atribut lightboxu
8 - $('.wikiattachmentlink img').each(function() {
9 - //nastavime lightbox
10 - $(this).parents("a").attr("data-lightbox","lightbox");
11 - //pokud ma img alt, pak ho nastavime jako title lightboxu
12 - var img_src = $(this).attr('src');
13 - var img_alt = $(this).attr('alt');
14 - if (img_alt && !(img_src.includes(img_alt))) {
15 - $(this).parents("a").attr("data-title", img_alt);
16 - }
17 - //fig and figcaption handling
18 - if (!jQuery(this).parent().is('figure')) {
19 - jQuery(this).wrap($('<figure/>', {
20 - 'class': 'image'
21 - }));
22 -
23 - //pokud neni alt vyplneny a nebo je alt stejný jako název souboru - pak caption nezobrazuj
24 - if (img_alt && !(img_src.includes(img_alt))) {
25 - $(this).after($('<figcaption/>').append(img_alt));
26 - }
27 - }
28 - }); //each function
29 - }); //dom updated
30 -}); //require
31 -
4 + $(".wikiattachmentlink img").parent("a").attr("data-lightbox","lightbox");
5 + })
6 +});
Jméno
... ... @@ -1,1 +1,1 @@
1 -update lightbox when loaded and after save
1 +add lightbox again after save
XWiki.XWikiRights[4]
Skupiny
... ... @@ -1,1 +1,1 @@
1 -XWiki.Reader,
1 +XWiki.Reader