Semantic MediaWikiDit bericht verdwijnt nadat alle relevante taken zijn afgerond.

Er is één onvoltooide of openstaande taak, die nodig is om het bijwerken van Semantic MediaWiki te voltooien. Een beheerder of gebruiker met voldoende rechten kan deze uitvoeren. Dit moet worden gedaan voordat nieuwe gegevens worden toegevoegd om tegenstrijdigheden te voorkomen.

Geen bewerkingssamenvatting
Geen bewerkingssamenvatting
Regel 17: Regel 17:
]]--
]]--
p.select = function(frame)
p.select = function(frame)
local allValues = frame.args.values or "" --all possible values
local allValues = frame.args.values or "" --all possible values?
local options = frame.args.options or {}
local options = frame.args.options or {}
local sep = frame.args.sep or ','
local sep = frame.args.sep or ','
Regel 23: Regel 23:
local selected = frame.args.selected or ''
local selected = frame.args.selected or ''
selected = mw.text.trim(selectedVal)
selected = mw.text.trim(selectedVal)
local id = frame.args.id or "randomidhere"
otherOptions = {}
optionElements = {}
for k,v in ipairs( optionsTable ) do
for k,v in ipairs( optionsTable ) do
local option = mw.text.trim(v)
local val = mw.text.trim(v)
if option ~= selected then
local label = val -- for now
otherOptions[k] = option
local isSelected = false
if val ~= selected then
local isSelected = true
end
end
optionElements[k] = p.createSelectOption( val, label, id, isSelected )
end
end
local newOptionstable = {}
local res = table.concat( optionElements, "" )
return res
local res = '<select id="{id}" class="">' .. table.concat( newOptionsTable, "" ) .. '</select>'
return ""
end
end



Versie van 21 jan 2025 22:12

Module:FFSelect




<select name="selectFrut" id="selectme">{{#invoke:FFSelect|select
|options=apple>>>appel;pear>>>peer;banana>>>banaan
|labelled=true
|selected=pear
|sep=;
|id=selectme
}}</select>


local p = {}

--[[

{{#invoke:FFSelect
|selected=pear
|options=apple, pear, banana
|optionlabels=apple--apple; pear--pear; banana--banana
|sep=;
|id=
}}

<select id={id} >
  <option for={id} >
</select>

]]--
p.select = function(frame)
	local allValues = frame.args.values or "" --all possible values?
	local options = frame.args.options or {}
	local sep = frame.args.sep or ','
	local optionsTable = mw.text.split( options, sep )
	local selected = frame.args.selected or ''
	selected = mw.text.trim(selectedVal)
	local id = frame.args.id or "randomidhere"
	
	optionElements = {}
	for k,v in ipairs( optionsTable ) do
		local val = mw.text.trim(v)
		local label = val -- for now
		local isSelected = false
		if val ~= selected then
			local isSelected = true
		end
		optionElements[k] = p.createSelectOption( val, label, id, isSelected )
	end
	
	local res = table.concat( optionElements, "" )
	return res
end

--[[
]]--
p.createSelectOption = function( val, label, id, isSelected )
	local attribures = {
		['value'] = mw.text.trim( val ),
		['for'] = id
	}
	if ( isSelected ) then
		attribures['selected'] = 'selected'
	end
	local input = frame:extensionTag( 'option', label, attributes );
	return input
end

return p