|
|
| Line 83: |
Line 83: |
| return renderTable(data, columns) | | return renderTable(data, columns) |
| end | | end |
|
| |
| -- -- generateProcessedBrowseLink: Constructs and preprocesses a MediaWiki link for browsing data, with {{fullurl:...}} correctly expanded by MediaWiki before the link is rendered.
| |
| -- local function generateProcessedBrowseLink(template, browseType, browseQueryParam, linkTextPattern, country)
| |
| -- -- Explicitly URL-encode the country name for use in the URL query parameter
| |
| -- local encodedCountry = mw.uri.encode(country, 'QUERY') -- 'QUERY' mode is for query string values
| |
|
| |
| -- local browseLinkString = string.format(
| |
| -- '[{{fullurl:Special:BrowseData/%s|%s=%s}} %s →]',
| |
| -- browseType,
| |
| -- browseQueryParam,
| |
| -- encodedCountry, -- Use the encoded country name for the URL part
| |
| -- string.format(linkTextPattern, country) -- Use the original country name for the display text
| |
| -- )
| |
|
| |
| -- if template.current_frame and template.current_frame.preprocess then
| |
| -- local ok, result = pcall(function() return template.current_frame:preprocess(browseLinkString) end)
| |
| -- if ok then
| |
| -- return result
| |
| -- else
| |
| -- return browseLinkString -- Fallback on preprocess error
| |
| -- end
| |
| -- end
| |
| -- return browseLinkString -- Fallback if no frame or preprocess
| |
| -- end
| |
|
| |
|
| local errorContext = ErrorHandling.createContext("T-CountryHub") | | local errorContext = ErrorHandling.createContext("T-CountryHub") |