| Modul ini dilindungi. Modul ini sangat mencolok yang digunakan oleh banyak halaman, atau sangat sering disubstitusikan. Karena vandalisme atau kesalahan akan mempengaruhi banyak halaman, dan suntingan kecil dapat memberi beban besar pada server, modul ini dilindungi dari penyuntingan. |
| Modul Lua ini digunakan pada sekitar 14.000 halaman dan perubahannya kemungkinan memicu perubahan massal pada semua halaman yang menggunakannya. Uji cobalah di subhalaman /bak pasir atau /kasus uji Modul:Navbox with collapsible groups, atau bak pasir modul Anda. Pertimbangkan untuk mendiskusikan perubahan di halaman pembicaraan sebelum mengimplementasikannya. |
PenggunaanPenggunaan
Lihat {{navbox with collapsible groups}}.
Dokumentasi di atas ditransklusikan dari Modul:Navbox with collapsible groups/doc. (sunting | riwayat)
Penyunting dapat melakukan uji coba pada halaman bak pasir (sunting | beda) dan kasus uji (buat) modul ini.
Subhalaman modul ini.
Penyunting dapat melakukan uji coba pada halaman bak pasir (sunting | beda) dan kasus uji (buat) modul ini.
Subhalaman modul ini.
-- This module implements {{Navbox with collapsible groups}} localq={} localNavbox=require('Module:Navbox') -- helper functions localfunctionconcatstrings(s) localr=table.concat(s,'') ifr:match('^%s*$')thenr=nilend returnr end localfunctionconcatstyles(s) localr=table.concat(s,';') whiler:match(';%s*;')do r=mw.ustring.gsub(r,';%s*;',';') end ifr:match('^%s*;%s*$')thenr=nilend returnr end functionq._navbox(pargs) -- table for args passed to navbox localtargs={} -- process args localpassthrough={ ['name']=true,['navbar']=true,['state']=true,['border']=true, ['bodyclass']=true,['groupclass']=true,['listclass']=true, ['style']=true,['bodystyle']=true,['basestyle']=true, ['title']=true,['titleclass']=true,['titlestyle']=true, ['above']=true,['aboveclass']=true,['abovestyle']=true, ['below']=true,['belowclass']=true,['belowstyle']=true, ['image']=true,['imageclass']=true,['imagestyle']=true, ['imageleft']=true,['imageleftstyle']=true } fork,vinpairs(pargs)do ifkandtype(k)=='string'then ifpassthrough[k]then targs[k]=v elseif(k:match('^list[0-9][0-9]*$') ork:match('^content[0-9][0-9]*$'))then localn=mw.ustring.gsub(k,'^[a-z]*([0-9]*)$','%1') if(targs['list'..n]==nilandpargs['group'..n]==nil andpargs['sect'..n]==nilandpargs['section'..n]==nil)then targs['list'..n]=concatstrings( {pargs['list'..n]or'',pargs['content'..n]or''}) end elseif(k:match('^group[0-9][0-9]*$') ork:match('^sect[0-9][0-9]*$') ork:match('^section[0-9][0-9]*$'))then localn=mw.ustring.gsub(k,'^[a-z]*([0-9]*)$','%1') iftargs['list'..n]==nilthen localtitlestyle=concatstyles( {pargs['groupstyle']or'',pargs['secttitlestyle']or'', pargs['group'..n..'style']or'', pargs['section'..n..'titlestyle']or''}) localliststyle=concatstyles( {pargs['liststyle']or'',pargs['contentstyle']or'', pargs['list'..n..'style']or'', pargs['content'..n..'style']or''}) localtitle=concatstrings( {pargs['group'..n]or'', pargs['sect'..n]or'', pargs['section'..n]or''}) locallist=concatstrings( {pargs['list'..n]or'', pargs['content'..n]or''}) localstate=(pargs['abbr'..n]andpargs['abbr'..n]==pargs['selected']) and'uncollapsed'orpargs['state'..n]or'collapsed' targs['list'..n]=Navbox._navbox( {'child',navbar='plain',state=state, basestyle=pargs['basestyle'], title=title,titlestyle=titlestyle, list1=list,liststyle=liststyle, listclass=pargs['list'..n..'class'], image=pargs['image'..n], imageleft=pargs['imageleft'..n], listpadding=pargs['listpadding']}) end end end end -- ordering of style and bodystyle targs['style']=concatstyles({targs['style']or'',targs['bodystyle']or''}) targs['bodystyle']=nil -- child or subgroup iftargs['border']==nilthentargs['border']=pargs[1]end returnNavbox._navbox(targs) end functionq.navbox(frame) localpargs=require('Module:Arguments').getArgs(frame,{wrappers={'Template:Navbox with collapsible groups'}}) -- Read the arguments in the order they'll be output in, to make references number in the right order. local_ _=pargs.title _=pargs.above fori=1,20do _=pargs["group"..tostring(i)] _=pargs["list"..tostring(i)] end _=pargs.below returnq._navbox(pargs) end returnq