Module:DisambigPopup

local util_args = require('Module:ArgsUtil') local util_cargo = require("Module:CargoUtil") local util_html = require("Module:HtmlUtil") local util_table = require("Module:TableUtil") local util_text = require("Module:TextUtil") local util_title = require("Module:TitleUtil") local util_toggle = require("Module:ToggleUtil")

local h = {}

local p = {} function p.main(frame) local args = util_args.merge local popup = util_toggle.popupButton; popup.inner:node(h.getDisambigs(args[1])) :addClass('popup-disambig-container') return popup.button end

function h.getDisambigs(player) local query = h.getQuery(player) return h.makeDisambigText(util_cargo.queryAndCast(query)) end

function h.getQuery(player) local query = { tables = 'Disambiguations', where = ('Term="%s"'):format(util_title.target(player)), fields = "FinalLocation", }	return query end

function h.makeDisambigText(data) local ul = mw.html.create('ul') :addClass('popup-disambig-list') for _, row in ipairs(data) do		h.printRow(ul, row) end return ul end

function h.printRow(ul, row) ul:tag('li') :addClass('popup-disambig') :wikitext(util_text.intLinkOrText(row.FinalLocation)) :tag('div') :addClass('copy-button') :wikitext('') end

return p