Documentation for this module may be created at Module:Infobox company/doc
local getArgs = require('Module:Arguments').getArgs local Links = require('Module:Links') local Header = require('Module:Infobox/Widget/Header') local Subheader = require('Module:Infobox/Widget/Subheader') local LinksWidget = require('Module:Infobox/Widget/Links') local ListWidget = require('Module:Infobox/Widget/List') local LocationWidget = require('Module:Infobox/Widget/Location') local RowWidget = require('Module:Infobox/Widget/Row') VariablesLua = mw.ext.VariablesLua local Flags = require('Module:Flags') local Infobox = {} function Infobox.main(frame) local args = getArgs(frame) local headerNode if args.logo then local logo = mw.text.jsonDecode(args.logo) mw.log(logo.all) mw.log(logo.light) mw.log(logo.dark) mw.logObject(logo) headerNode = Header.make(args.title or mw.title.getCurrentTitle().text, logo.light, logo.dark, logo.all) end if args.logoAll or args.logoLight or args.logoDark then headerNode = Header.make(args.title or mw.title.getCurrentTitle().text, args.logoLight, args.logoDark, args.logoAll) else local logoLight = VariablesLua.varexists('logoLight') and VariablesLua.var('logoLight') or nil local logoDark = VariablesLua.varexists('logoDark') and VariablesLua.var('logoDark') or nil local logoAll = VariablesLua.varexists('logoAll') and VariablesLua.var('logoAll') or nil headerNode = Header.make(args.title or mw.title.getCurrentTitle().text, logoLight, logoDark, logoAll) end local container = mw.html.create('div') :addClass('ib') container:node(headerNode):node(Subheader.make('Company Information')) if args.country then container:node(RowWidget.make('Headquarter', LocationWidget.make(args.country, args.city, 'Companies'))) end if args.founded then container:node(RowWidget.make('Founded', args.founded)) end if args.employees then container:node(RowWidget.make('Employees', args.employees)) end if args.sponsors then container:node(RowWidget.make('Sponsors', ListWidget.make(args.sponsors))) end if args.type then container:node(RowWidget.make('Type', args.type)) end if args.parentcompany then container:node(RowWidget.make('Parent company', args.parentcompany, frame)) end if args.subsidiaries then container:node(RowWidget.make('Subsidiaries', ListWidget.make(args.subsidiaries))) end container:node(Subheader.make('Links')) local transformedLinks = Links.transform(args) local fullLinks = LinksWidget.make(transformedLinks, 'team') container:node(fullLinks) return container end return Infobox