Module:TNT: Difference between revisions
From WikiOasis Meta
More actions
m 1 revision imported |
mediawiki>ExE Boss Add support for global TemplateData under the new “Data:TemplateData/” prefix |
||
| Line 86: | Line 86: | ||
end | end | ||
local implGetTemplateData; | |||
function p.doc(frame) | function p.doc(frame) | ||
local dataset = | local dataset = sanitizeDataset(frame.args[1]) | ||
return frame:extensionTag('templatedata', | local json, dataPage, categories = implGetTemplateData(dataset) | ||
return frame:extensionTag('templatedata', json) .. | |||
formatMessage(i18nDataset, 'edit_doc', {link(dataPage)}) .. | |||
(categories or ""); | |||
end | end | ||
function p.getTemplateData(dataset) | function p.getTemplateData(dataset) | ||
local data = implGetTemplateData(dataset, true); | |||
return data; | |||
end | |||
function implGetTemplateData(dataset, legacy) | |||
-- TODO: add '_' parameter once lua starts reindexing properly for "all" languages | -- TODO: add '_' parameter once lua starts reindexing properly for "all" languages | ||
local data = loadData(dataset) | local data, dataPage, categories = loadData( | ||
dataset, nil, not legacy and 'TemplateData' or nil); | |||
local names = {} | local names = {} | ||
for _, field in ipairs(data.schema.fields) do | for _, field in ipairs(data.schema.fields) do | ||
| Line 143: | Line 152: | ||
end | end | ||
return json | return json, dataPage, categories; | ||
end | end | ||
| Line 162: | Line 171: | ||
end | end | ||
loadData = function(dataset, lang) | loadData = function(dataset, lang, dataType) | ||
dataset = sanitizeDataset(dataset) | dataset = sanitizeDataset(dataset) | ||
if not dataset then | if not dataset then | ||
| Line 175: | Line 184: | ||
end | end | ||
local data = mw.ext.data.get(dataset, lang) | local dataPage = dataset; | ||
local data, categories; | |||
if dataType == 'TemplateData' then | |||
dataPage = 'TemplateData/' .. dataset; | |||
data = mw.ext.data.get(dataPage, lang); | |||
if data == false then | |||
data = mw.ext.data.get('Templatedata/' .. dataset, lang); | |||
if data ~= false then | |||
categories = '[[Category:Templates using legacy global TemplateData table name]]'; | |||
dataPage = 'Templatedata/' .. dataset; | |||
end | |||
end | |||
else | |||
data = mw.ext.data.get(dataset, lang) | |||
end | |||
if data == false then | if data == false then | ||
| Line 185: | Line 208: | ||
end | end | ||
end | end | ||
return data | return data, dataPage, categories | ||
end | end | ||