Module:TemplateStarter: Difference between revisions
// via Wikitext Extension for VSCode |
// via Wikitext Extension for VSCode |
||
| Line 254: | Line 254: | ||
return baseTemplate | return baseTemplate | ||
end | |||
-- Get creator field definitions as JSON for JavaScript consumption | |||
function p.getCreatorFieldDefinitionsJSON(frame) | |||
local args = frame.args | |||
local templateType = args.templateType or args[1] | |||
if not templateType or templateType == "" then | |||
return "{}" | |||
end | |||
local fieldDefinitions = p.getCreatorFieldDefinitions(templateType) | |||
-- Convert to JSON-like string manually (simple approach) | |||
local jsonParts = {} | |||
for fieldKey, fieldDef in pairs(fieldDefinitions) do | |||
local fieldJson = string.format( | |||
'"%s":{"key":"%s","label":"%s","placeholder":"%s","required":%s}', | |||
fieldKey, | |||
fieldDef.key or "", | |||
fieldDef.label or "", | |||
fieldDef.placeholder or "", | |||
fieldDef.required and "true" or "false" | |||
) | |||
table.insert(jsonParts, fieldJson) | |||
end | |||
return "{" .. table.concat(jsonParts, ",") .. "}" | |||
end | end | ||
return p | return p | ||