Jump to content

Module:AutoHeader: Difference between revisions

From The Telecommunications Inventory Wiki
No edit summary
No edit summary
Line 2: Line 2:


p.getQuery = function(frame)
p.getQuery = function(frame)
if(frame["getParent"] ~= nil and frame["getParent"]["getParent"] ~= nil) then
if(frame ~= nil and frame["getParent"] ~= nil and frame["getParent"]["getParent"] ~= nil) then
return frame:getParent():getParent():getTitle()
return frame:getParent():getParent():getTitle()
end
end
if(frame["getParent"] ~= nil) then
if(frame ~= nil and frame["getParent"] ~= nil) then
return frame:getParent():getTitle()
return frame:getParent():getTitle()
end
end
if(frame["getTitle"] ~= nil) then
if(frame ~= nil) then
return frame:getTitle()
return frame:getTitle()
end
end
return "no frame"
end
end



Revision as of 20:21, 6 January 2025

Documentation for this module may be created at Module:AutoHeader/doc

local p = {}

p.getQuery = function(frame)
	if(frame ~= nil and frame["getParent"] ~= nil and frame["getParent"]["getParent"] ~= nil) then
		return frame:getParent():getParent():getTitle()
	end
	if(frame ~= nil and frame["getParent"] ~= nil) then
		return frame:getParent():getTitle()
	end
	if(frame ~= nil) then
		return frame:getTitle()
	end
	return "no frame"
end

p.getData = function(frame)
	-- local ret = mw.visualdata.query( schema ("inventory_item"), query (string), printouts (list or table), params (table)  )
	local result = mw.visualdata.query( 'Phone', p.getQuery(frame), {'manufacturer'}, {} )
	-- local result = mw.visualdata.query( 'Phone', "Model 500", {'manufacturer'}, {} )
	return result
end

p.getJson = function(frame)
	-- local newObj = {}
	-- for k in pairs(frame) do newObj[k] = "value" end
	-- return mw.text.jsonEncode(newObj)
	local data = p.getData(frame)
	return mw.text.jsonEncode(data)
end

p.getIntroParagraph = function(frame)
	local data = p.getData(frame)
	-- for k in pairs(data) do return k end
	-- local first = data[1]
	-- return mw.text.jsonEncode(first)
	-- local obj = data[1]
	local obj = data
	local title = obj.title
	local manufacturer = obj.data.manufacturer
	return string.format('The %s was manufactured by %s', title, manufacturer)
end

return p