Změny dokumentu Lightbox support
Naposledy upravil David Brazda 08.04.2021 15:19
Popis verze:
allow view právo pro XWiki.Reader
Přehled
-
Na stránce změněno: (1 změněno, 0 přidáno, 0 odstraněno)
-
Objects (1 změněno, 0 přidáno, 0 odstraněno)
Rozpis
- Na stránce změněno:
-
- Obsah
-
... ... @@ -4,8 +4,9 @@ 4 4 5 5 2) u všech příloh s obrázkem (tzn. A elementů obklopených span xwikiattachement a obsahující child element IMG) provede: 6 6 7 -* **vytvoří caption** - tzn. obklopí img element do figure a figureCaption (do kterého zkopíruje alt) 8 -* **aktivuje lightbox** - tzn. nastaví u A dynamicky data-lightbox atribut, zároveň zkopíruje alt u image do lightbox-title do A elementu 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 9 9 10 10 3) tento update je triggerován na dom-reloaded akci - nutné aby zafungovalo i po uložení editace a nejenom reloadu stranky 11 11
- XWiki.JavaScriptExtension[1]
-
- Kód
-
... ... @@ -1,6 +1,6 @@ 1 1 require(['jquery'], function($) { 2 - //in case of important dom change - like CKEditor save, the lightbox must be re-added again 3 - $(document).on('xwiki:dom:updated', function() { 2 + //triggered both when ready and also in case of important dom change - like CKEditor save, the lightbox must be re-added again 3 + $(document).on('xwiki:dom:updated ready', function() { 4 4 //puvodni kod 5 5 //$(".wikiattachmentlink img").parents("a").attr("data-lightbox","lightbox"); 6 6 ... ... @@ -11,7 +11,7 @@ 11 11 //pokud ma img alt, pak ho nastavime jako title lightboxu 12 12 var img_src = $(this).attr('src'); 13 13 var img_alt = $(this).attr('alt'); 14 - if (img_alt && !img_src.includes(img_alt)) { 14 + if (img_alt && !(img_src.includes(img_alt))) { 15 15 $(this).parents("a").attr("data-title", img_alt); 16 16 } 17 17 //fig and figcaption handling ... ... @@ -20,10 +20,10 @@ 20 20 'class': 'image' 21 21 })); 22 22 23 - 24 - if (img_alt and!img_src.includes(img_alt))25 - 26 - 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 27 } 28 28 }); //each function 29 29 }); //dom updated