Modul:EinklappHilfsSkripte: Unterschied zwischen den Versionen

Aus E-Learning Wiki
(should now support changing the default collapsible state for the Screenshot box.)
(Jetzt auch an der letzten (und einzig entscheidenden) Stelle style durch class ersetzt)
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 51: Zeile 51:
     collapsedstring=''
     collapsedstring=''
     if iscollapsible==1 then
     if iscollapsible==1 then
         collapsedstring=collapsedstring .. 'mw-collapsible'
         collapsedstring='mw-collapsible'
         if isalreadycollapsed==1 then
         if isalreadycollapsed==1 then
             collapsedstring=collapsedstring .. ' mw-collapsed'
             collapsedstring=collapsedstring .. ' mw-collapsed'
Zeile 58: Zeile 58:


     CssStyleString=''
     CssStyleString=''
     CssStylePart='' .. collapsedstring .. otherclasses
     -- if otherclasses~='' then
     if CssStylePart=='' then
    --    otherclasses = ' ' .. otherclasses
    -- end
    CssClassPart = collapsedstring .. otherclasses
     if CssClassPart==' ' then
         -- There is no style specification, so no need to add anything
         -- There is no style specification, so no need to add anything
         CssStyleString=''
         CssClassString=''
     else
     else
         CssStyleString='style=' .. CssStylePart
         CssClassString='class=\"' .. CssClassPart .. '\"';
     end
     end


     return CssStyleString;
     return CssClassString;
end
end


return p
return p

Aktuelle Version vom 1. März 2024, 23:17 Uhr

Die Dokumentation für dieses Modul kann unter Modul:EinklappHilfsSkripte/Doku erstellt werden

local p = {}


function p.collapsibleclasstext(frame)
    iscollapsible=tonumber(frame.args[1])
    isalreadycollapsed=tonumber(frame.args[2])
    hasmaximumwidth=tonumber(frame.args[3])
    boxcssclass=tostring(frame.args[4])

    collapsedstring=''
    widthstring=''
    CssStyleString=' '


    if hasmaximumwidth==1 then
-- Das ist ziemlich unelegant: Die Box ist links 2em eingerückt, deswegen können wir nicht width:100% nehmen.
-- em-Angaben scheinen aber mit width nicht zu funktionieren im Zusammenspiel mit 100%.
-- Deswegen verwenden wir einfach einen anderen Wert, der vom Aussehen her ungefähr passt.
        widthstring=widthstring .. '\"width:94%;\"'
        CssStyleString='style=' .. widthstring
    end
    if iscollapsible==1 then
        collapsedstring=collapsedstring .. 'mw-collapsible'
        if isalreadycollapsed==1 then
            collapsedstring=collapsedstring .. ' mw-collapsed'
        end
    end

    -- collapsedstring='mw-collapsible'
    CssClassString='class=\"' .. collapsedstring .. ' ' .. boxcssclass .. ' wikitable\"';
    
    --CssClassString='class=\"' .. 'mw-collapsible ' .. ' beispielboxtable wikitable\"';
    
    FullCssString=CssClassString .. CssStyleString

    return FullCssString;
end

--This is a function to only return Css style information
--e.g. "style = mw-collapsible mw-collapsed someotherclass'.
--'someotherclass' is given in args[3].
--this duplicates some parts of the collapsibleclasstext function above,
--if I ever get the time I should probably clean this up.
--Momentan wird das vor allem für die ScreenshotBox genutzt

function p.classstring_addcollapsible(frame)
    iscollapsible=tonumber(frame.args[1])
    isalreadycollapsed=tonumber(frame.args[2])
    otherclasses=tostring(frame.args[3])

    collapsedstring=''
    if iscollapsible==1 then
        collapsedstring='mw-collapsible'
        if isalreadycollapsed==1 then
            collapsedstring=collapsedstring .. ' mw-collapsed'
        end
    end

    CssStyleString=''
    -- if otherclasses~='' then
    --    otherclasses = ' ' .. otherclasses
    -- end
    CssClassPart = collapsedstring .. otherclasses
    if CssClassPart==' ' then
        -- There is no style specification, so no need to add anything
        CssClassString=''
    else
        CssClassString='class=\"' .. CssClassPart .. '\"';
    end

    return CssClassString;
end

return p