Module:SMW Table: Difference between revisions

From Claremont MakerSpace
No edit summary
No edit summary
Line 16: Line 16:
function p.ToolInfo(frame)
function p.ToolInfo(frame)
   local args = {
   local args = {
       ["Name"] = frame.getParent().args["name"],
       ["Name"] = frame:getParent().args["name"],
       ["Common Name"] = frame.getParent().args["common name"],
       ["Common Name"] = frame:getParent().args["common name"],
       ["Image"] = frame.getParent().args["image"],
       ["Image"] = frame:getParent().args["image"],
       ["Make"] = frame.getParent().args["make"],
       ["Make"] = frame:getParent().args["make"],
       ["Model"] = frame.getParent().args["model"],
       ["Model"] = frame:getParent().args["model"],
       ["Serial"] = frame.getParent().args["serial"],
       ["Serial"] = frame:getParent().args["serial"],
       ["Specs"] = frame.getParent().args["specs"],
       ["Specs"] = frame:getParent().args["specs"],
       ["Manual"] = frame.getParent().args["manual"],
       ["Manual"] = frame:getParent().args["manual"],
       ["In Shop"] = frame.getParent().args["shop"]
       ["In Shop"] = frame:getParent().args["shop"]
   }
   }


Line 34: Line 34:
     end
     end


    args.subname = args["Common Name"]
     args.contents = tableContents(frame.args)
     args.contents = tableContents(frame.args)
     return frame:expandTemplate{title="InfoBox", args=args}
     return frame:expandTemplate{title="InfoBox", args=args}

Revision as of 04:02, 17 July 2018

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

local p = {}

local function tableContents(data)
    local r = ''
    for key, value in pairs(data) do
        r = r..'|-\n!'..key..'\n|'..value..'\n'
    end
    return r
end

function p.infoboxTableContents(frame)
    return tableContents(frame.args)
end


function p.ToolInfo(frame)
   local args = {
      ["Name"] = frame:getParent().args["name"],
      ["Common Name"] = frame:getParent().args["common name"],
      ["Image"] = frame:getParent().args["image"],
      ["Make"] = frame:getParent().args["make"],
      ["Model"] = frame:getParent().args["model"],
      ["Serial"] = frame:getParent().args["serial"],
      ["Specs"] = frame:getParent().args["specs"],
      ["Manual"] = frame:getParent().args["manual"],
      ["In Shop"] = frame:getParent().args["shop"]
   }

    if frame.args.subobject == nil
    then
        mw.smw.set(args)
    else
        mw.smw.subobject(args, subobject)
    end

    args.subname = args["Common Name"]
    args.contents = tableContents(frame.args)
    return frame:expandTemplate{title="InfoBox", args=args}
end

return p