Geen bewerkingssamenvatting |
Geen bewerkingssamenvatting |
||
| Regel 9: | Regel 9: | ||
local label = frame.args.label or "" | local label = frame.args.label or "" | ||
-- | -- Important! Assign vals from protected frame.args to new table | ||
flexargs = {} | flexargs = {} | ||
for k,v in pairs( frame.args ) do | for k,v in pairs( frame.args ) do | ||
flexargs[k] = v | flexargs[k] = v | ||
end | end | ||
-- slot | -- slot | ||
-- Remove anything from args that should not be sent to FF | -- Remove anything from args that should not be sent to FF | ||
| Regel 33: | Regel 34: | ||
end | end | ||
-- FF | -- FF | ||
local res = frame:extensionTag( '_input', content, flexargs ) | |||
return res | |||
local str = " | end | ||
for v in pairs( | |||
p.printarray = function( table ) | |||
local str = "" | |||
for v in pairs( table ) do | |||
str = str .. v .. "<br>" | str = str .. v .. "<br>" | ||
end | end | ||
return str | return str | ||
end | end | ||
Versie van 22 sep 2023 07:14
Module:FF
invoke within form
{{#invoke:FF|input
|type=text
|name=myname
|value=Value here
|id=fff-443434
|class=form-control
|label=Name
|template=Data item
|slot=
|param=
|template=
}}
Please log in first.
Getdata
Kikkers en tongzoenen - Sarah Mlynowski 2007, 1ᵉ druk, Uitgeverij Van Goor Unieboek BV, Houten:
Titel/-787178247
- Works with parser function though
Titel/-787178247
- getdatatest
Titel/-787178247
local p = {}
p.input = function(frame)
local content = frame.args.content or frame.args[1] or ""
local frompage = frame.args.page or ""
local fromslot = frame.args.slot or "main"
local fromtemplate = frame.args.template or "" --template name
local fromparam = frame.args.param or "" --template parameter
local label = frame.args.label or ""
-- Important! Assign vals from protected frame.args to new table
flexargs = {}
for k,v in pairs( frame.args ) do
flexargs[k] = v
end
-- slot
-- Remove anything from args that should not be sent to FF
local additkeys = { 'content', 'page', 'slot', 'template', 'param', 'label' }
for name in ipairs( additkeys ) do
if ( flexargs[name] ~= nil ) then
flexargs[name] = nil
end
end
--add value from slot
if ( frompage ~= "" ) then
slotval = p.getdatafromslot( frompage, fromslot, fromtemplate, fromparam )
if ( flexargs["type"] == 'textarea' ) then
content = slotval
else
flexargs.value = "" -- likely superfluous
flexargs.value = slotval
end
end
-- FF
local res = frame:extensionTag( '_input', content, flexargs )
return res
end
p.printarray = function( table )
local str = ""
for v in pairs( table ) do
str = str .. v .. "<br>"
end
return str
end
--[[
test
]]--
p.getdata = function(frame)
-- todo without pagename, get current page
local page = frame.args.page or mw.title.getCurrentTitle()
local slot = frame.args.slot or "main"
local template = frame.args.template or "" --template name
local param = frame.args.param or nil --template parameter
-- getdatafromslot( page, slot, param )
local str = p.getdatafromslot( page, slot, template, param )
return str
--local pagepropsparams = { slot, page, '@' .. slot }
--local slotdatapf = frame:callParserFunction( '#slottemplates', pagepropsparams )
--local slotdata = frame:preprocess( slotdatapf )
end
--[[
]]--
p.getdatafromslot = function( page, slot, template, param )
local str = "Something went wrong"
--
if ( template == "" ) then
--todo
local str = mw.slots.slotContent( slot, page )
return str
end
--
local slotdata = mw.slots.slotTemplates( slot, page )
local str = slotdata[template][1][param]["_text"]
--local str = slotdata["Book"][1]["TitelNr"]["_text"]
return str
end
-- does not work
p.getdatatest = function()
local slotdata = mw.slots.slotTemplates( "ws-page-props", "Boek/-100102193" )
mw.logObject( slotdata );
local str = slotdata["Book"][1]["TitelNr"]["_text"]
return str
end
--[[
test to show comparison callParserFunction and extensionTag
]]--
p.form1 = function(frame)
-- test of frame:callParserFunction
-- {{#tag:form||id=bla|action=get}}
local content = 'Test'
local formparams = { 'form', content, id = 'bla', action = 'get' }
local str = frame:callParserFunction( '#tag', formparams )
return str
end
--[[
Makes more sense than using callParserFunction
but "equivalent to a call to frame:callParserFunction() with function name '#tag' "
]]--
p.form2 = function(frame)
-- frame:extensionTag( name, content, args )
local content = 'Test'
local tag = 'form'
local args = { id = 'bla', action = 'get' }
local str = frame:extensionTag( tag, content, args )
return str
end
return p
