Модуль:Village: Роздїлы міджі ревізіями

Матеріал з Коцкопедія
Немає опису редагування
Немає опису редагування
Рядок 16: Рядок 16:
self.currentFrame = frame
self.currentFrame = frame
self.frameArgs = require( 'Module:Arguments' ).getArgs( frame )
self.frameArgs = require( 'Module:Arguments' ).getArgs( frame )
end
--- New Instance
function Village.new( self )
  local instance = {
      categories = {}
  }
  setmetatable( instance, metatable )
  return instance
end
end


--- Create the infobox
--- Create the infobox
function methodtable.getInfobox( self, frame )
function methodtable.getInfobox( self, frame )
  local instance = Village.new()
  instance:setFrame( frame )
   local infobox = require( 'Module:InfoboxNeue' ):new( {
   local infobox = require( 'Module:InfoboxNeue' ):new( {
     placeholderImage = ''
     placeholderImage = ''
   } )
   } )
   local tabber = require( 'Module:Tabber' ).renderTabber
   local tabber = require( 'Module:Tabber' ).renderTabber
  self.currentFrame = frame
self.frameArgs = require( 'Module:Arguments' ).getArgs( frame )


   sectionTable = {
   sectionTable = {
     infobox:renderItem( {
     infobox:renderItem( {
       label = 'Населеня',
       label = 'Населеня',
       data = frame.args["населеня"],
       data = frameArgs["населеня"],
       row = true,
       row = true,
       spacebetween = true
       spacebetween = true
Рядок 47: Рядок 37:
     infobox:renderItem( {
     infobox:renderItem( {
       label = 'Коордінаты',
       label = 'Коордінаты',
       data = frame.args["коордінаты"],
       data = frameArgs["коордінаты"],
       row = true,
       row = true,
       spacebetween = true
       spacebetween = true
Рядок 53: Рядок 43:
     infobox:renderItem( {
     infobox:renderItem( {
       label = 'Природна зона',
       label = 'Природна зона',
       data = frame.args["природна зона"],
       data = frameArgs["природна зона"],
       row = true,
       row = true,
       spacebetween = true
       spacebetween = true
Рядок 59: Рядок 49:
     infobox:renderItem( {
     infobox:renderItem( {
       label = 'Закладеноє',
       label = 'Закладеноє',
       data = frame.args["закладеноє"],
       data = frameArgs["закладеноє"],
       row = true,
       row = true,
       spacebetween = true
       spacebetween = true
Рядок 65: Рядок 55:
     infobox:renderItem( {
     infobox:renderItem( {
       label = 'Голова',
       label = 'Голова',
       data = frame.args["голова"],
       data = frameArgs["голова"],
       row = true,
       row = true,
       spacebetween = true
       spacebetween = true
Рядок 73: Рядок 63:
   -- Create section with items
   -- Create section with items
   infobox:renderSection( {
   infobox:renderSection( {
     title = frame.args["назывка"],
     title = frameArgs["назывка"],
     subtitle = frame.args["пуднаголовок"],
     subtitle = frameArgs["пуднаголовок"],
     content = table.concat( sectionTable )
     content = table.concat( sectionTable )
   } )
   } )
end
--- New Instance
function Village.new( self )
  local instance = {
      categories = {}
  }
  setmetatable( instance, metatable )
  return instance
end
end



Ревізія 02:18, 18 октовбра 2023

Документацію для цього модуля можна створити у Модуль:Village/документація

require( 'strict' )

local Village = {}

local metatable = {}
local methodtable = {}

metatable.__index = methodtable

local common = require( 'Module:Common' )
local hatnote = require( 'Module:Hatnote' )._hatnote

--- Set the frame and load args
--- @param frame table
function methodtable.setFrame( self, frame )
	self.currentFrame = frame
	self.frameArgs = require( 'Module:Arguments' ).getArgs( frame )
end

--- Create the infobox
function methodtable.getInfobox( self, frame )
  local infobox = require( 'Module:InfoboxNeue' ):new( {
    placeholderImage = ''
  } )
  local tabber = require( 'Module:Tabber' ).renderTabber

  self.currentFrame = frame
	self.frameArgs = require( 'Module:Arguments' ).getArgs( frame )

  sectionTable = {
    infobox:renderItem( {
      label = 'Населеня',
      data = frameArgs["населеня"],
      row = true,
      spacebetween = true
    } ),
    infobox:renderItem( {
      label = 'Коордінаты',
      data = frameArgs["коордінаты"],
      row = true,
      spacebetween = true
    } ),
    infobox:renderItem( {
      label = 'Природна зона',
      data = frameArgs["природна зона"],
      row = true,
      spacebetween = true
    } ),
    infobox:renderItem( {
      label = 'Закладеноє',
      data = frameArgs["закладеноє"],
      row = true,
      spacebetween = true
    } ),
    infobox:renderItem( {
      label = 'Голова',
      data = frameArgs["голова"],
      row = true,
      spacebetween = true
    } )
  }
  
  -- Create section with items
  infobox:renderSection( {
    title = frameArgs["назывка"],
    subtitle = frameArgs["пуднаголовок"],
    content = table.concat( sectionTable )
  } )
end

--- New Instance
function Village.new( self )
  local instance = {
      categories = {}
  }

  setmetatable( instance, metatable )

  return instance
end

--- Generates an infobox based on passed frame args and SMW data
---
--- @param frame table Invocation frame
--- @return string
function Village.infobox( frame )
	local instance = Village:new()
	instance:setFrame( frame )

	local debugOutput = ''
	if instance.frameArgs[ 'debug' ] ~= nil then
		debugOutput = instance:makeDebugOutput()
	end

	return tostring( instance:getInfobox() ) .. debugOutput
end

--- "Main" entry point for templates that saves the API Data and outputs the infobox
---
--- @param frame table Invocation frame
--- @return string
function Village.main( frame )
	local instance = Village:new()
	instance:setFrame( frame )

	local debugOutput = ''
	if instance.frameArgs[ 'debug' ] ~= nil then
		debugOutput = instance:makeDebugOutput()
	end

	local infobox = tostring( instance:getInfobox() )

	return infobox .. debugOutput .. table.concat( instance.categories )
end

return Village