Module:Module sandbox: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
Tags: Mobile edit Mobile web edit Advanced mobile edit
No edit summary
Tags: Reverted Mobile edit Mobile web edit Advanced mobile edit
Line 20: Line 20:
local showButtonHtml = mw.html.create('button')
local showButtonHtml = mw.html.create('button')
:addClass('show-button')
:addClass('show-button')
:attr('onclick', 'document.getElementById("' .. id .. '").style.display = "block";')
:attr('onclick', 'document.getElementById("ani").style.display = "block";')
:wikitext('Show')
:wikitext('Show')


local hideButtonHtml = mw.html.create('span')
local hideButtonHtml = mw.html.create('span')
:addClass('hide-button')
:addClass('hide-button')
:attr('onclick', 'document.getElementById("' .. id .. '").style.display = "none";')
:attr('onclick', 'document.getElementById("ani").style.display = "none";')
:wikitext('Hide')
:wikitext('Hide')



Revision as of 13:00, 13 April 2024

local p = {}

function p.dropdownPopupWithButtons(frame)
    local args = frame.args
    local id = args.id or 'dropdown'
    local options = args.options or ''

    local dropdownHtml = mw.html.create('div')
        :attr('id', id)
        :addClass('dropdown-popup')
        :css('display', 'none')

    local listHtml = dropdownHtml:tag('ul')

    for option in options:gmatch("[^,]+") do
        listHtml:tag('li')
            :wikitext(option)
    end

    local showButtonHtml = mw.html.create('button')
        :addClass('show-button')
        :attr('onclick', 'document.getElementById("ani").style.display = "block";')
        :wikitext('Show')

    local hideButtonHtml = mw.html.create('span')
        :addClass('hide-button')
        :attr('onclick', 'document.getElementById("ani").style.display = "none";')
        :wikitext('Hide')

    dropdownHtml:node(showButtonHtml)
    dropdownHtml:node(hideButtonHtml)

    return tostring(dropdownHtml)
end

return p