Mine sisu juurde

Moodul:Navbar

Allikas: Vikipeedia

Selle mooduli dokumentatsiooni saab kirjutada asukohtaMoodul:Navbar/doc.

localp={}

localgetArgs

functionp._navbar(args)
localtitleArg=1

ifargs.collapsiblethen
titleArg=2
ifnotargs.plainthen
args.mini=1
end
ifargs.fontcolorthen
args.fontstyle='color:'..args.fontcolor..';'
end
args.style='float:left; text-align:left'
end

localtitleText=args[titleArg]or(':'..mw.getCurrentFrame():getParent():getTitle())
localtitle=mw.title.new(mw.text.trim(titleText),'Mall');

ifnottitlethen
error('Vigane pealkiri '..titleText)
end

localtalkpage=title.talkPageTitleandtitle.talkPageTitle.fullTextor'';

localframe=mw.getCurrentFrame()
localstyles=frame:extensionTag('templatestyles','',{src='Moodul:Navbar/styles.css'})

localdiv=mw.html.create():tag('div')
div
:addClass('navbar')
:cssText(args.style)

ifargs.minithendiv:addClass('mini')end

ifnot(args.miniorargs.plain)then
div
:tag('span')
:css('word-spacing',0)
:cssText(args.fontstyle)
:wikitext(args.textor'See kast:')
:wikitext(' ')
end

ifargs.bracketsthen
div
:tag('span')
:css('margin-right','-0.125em')
:cssText(args.fontstyle)
:wikitext('[ ')
end

localul=div:tag('ul');

ul
:tag('li')
:addClass('nv-view')
:wikitext('[['..title.fullText..'|')
:tag(args.miniand'abbr'or'span')
:attr('title','Vaata seda malli')
:cssText(args.fontstyle)
:wikitext(args.miniand'v'or'vaata')
:done()
:wikitext(']]')
:done()
--[=[
:tag('li')
:addClass('nv-talk')
:wikitext('[['.. talkpage.. '|')
:tag(args.mini and 'abbr' or 'span')
:attr('title', 'Selle malli arutelu')
:cssText(args.fontstyle)
:wikitext(args.mini and 'a' or 'arutelu')
:done()
:wikitext(']]');
]=]
ifnotargs.noeditthen
ul
:tag('li')
:addClass('nv-edit')
:wikitext('[[Eri:EditPage/'..title.fullText..'|')
:tag(args.miniand'abbr'or'span')
:attr('title','Redigeeri seda malli')
:cssText(args.fontstyle)
:wikitext(args.miniand'r'or'redigeeri')
:done()
:wikitext(']]');
end

ifargs.bracketsthen
div
:tag('span')
:css('margin-left','-0.125em')
:cssText(args.fontstyle)
:wikitext(' ]')
end

ifargs.collapsiblethen
div
:done()
:tag('div')
:css('font-size','114%')
:css('margin',args.miniand'0 4em'or'0 7em')
:cssText(args.fontstyle)
:wikitext(args[1])
end

returnstyles..tostring(div:done())
end

functionp.navbar(frame)
ifnotgetArgsthen
getArgs=require('Module:Arguments').getArgs
end
localargs=getArgs(frame)

-- tekitame vastenduse
localargsToMap={
["klapitav"]="collapsible",
["lihtne"]="plain",
["kirjastiil"]="fontstyle",
["stiil"]="style",
["tekst"]="text",
["redigeerimislingita"]="noedit",
["sulud"]="brackets",
["fondivärvus"]="fontcolor"
}

forkey,valueinpairs(argsToMap)do
if(args[key]~=nil)then
args[value]=args[key]
end
end

returnp._navbar(args)
end

returnp