Sabtu, 07 November 2026
07:03 WIB
TERKINI
Bandar Lampung Agenda Strategis Pemprov Lampung 6 November 2026: Revitalisasi Stadion Jadi Prioritas Bandar Lampung Harga Beras di Pasar Pasir Gintung Bandar Lampung Merangkak Naik, Stok Aman Bandar Lampung Disdag Bandar Lampung Jamin Pasokan Beras Aman hingga Akhir 2026 Insight Komitmen Pembangunan Negeri, PTBA Sabet Penghargaan Kepatuhan PNBP ESDM 2026 Pemprov Lampung Gubernur Mirza Canangkan Mulang Maya Jadi Magnet Wisata Budaya Unggulan Lampung Tuba Barat Mewujudkan Haji: Pemkab Tubaba dan BSI Ajak Masyarakat Menabung Sejak Dini Lampung Timur Bupati Ela Dekatkan Diri dengan Siswa, Pastikan Kualitas Pendidikan dan Gizi di Lampung Timur Tuba Barat Kemitraan Strategis Pemkab Tubaba dan Kejari: Wujudkan Tata Kelola Pemerintahan Akuntabel Bandar Lampung Mantan Ketua DPRD Lampung Bersaksi dalam Sidang Arinal Djunaidi Bandar Lampung Senator Bustami Zainudin dan Staf DPD Lampung Ikuti Program Cek Kesehatan Gratis Bandar Lampung Agenda Strategis Pemprov Lampung 6 November 2026: Revitalisasi Stadion Jadi Prioritas Bandar Lampung Harga Beras di Pasar Pasir Gintung Bandar Lampung Merangkak Naik, Stok Aman Bandar Lampung Disdag Bandar Lampung Jamin Pasokan Beras Aman hingga Akhir 2026 Insight Komitmen Pembangunan Negeri, PTBA Sabet Penghargaan Kepatuhan PNBP ESDM 2026 Pemprov Lampung Gubernur Mirza Canangkan Mulang Maya Jadi Magnet Wisata Budaya Unggulan Lampung Tuba Barat Mewujudkan Haji: Pemkab Tubaba dan BSI Ajak Masyarakat Menabung Sejak Dini Lampung Timur Bupati Ela Dekatkan Diri dengan Siswa, Pastikan Kualitas Pendidikan dan Gizi di Lampung Timur Tuba Barat Kemitraan Strategis Pemkab Tubaba dan Kejari: Wujudkan Tata Kelola Pemerintahan Akuntabel Bandar Lampung Mantan Ketua DPRD Lampung Bersaksi dalam Sidang Arinal Djunaidi Bandar Lampung Senator Bustami Zainudin dan Staf DPD Lampung Ikuti Program Cek Kesehatan Gratis

Modul:Clickable button

Wikimedia module

Bagikan:
Dokumentasi modullihatsuntingriwayatsegarkan
WarningModul Lua ini digunakan pada sekitar 628.000 halaman, atau sekira 15% dari keseluruhan halaman.
Untuk mencegah suntingan mengganggu skala besar dan beban peladen, setiap perubahan harus diuji di subhalaman /bak pasir atau /kasus uji Modul:Clickable button, atau bak pasir modul Anda. Perubahan yang telah diuji kemudian dapat ditambahkan ke halaman ini dalam satu suntingan. Pertimbangkan untuk mendiskusikan perubahan di halaman pembicaraan sebelum mengimplementasikannya.
Dokumentasi di atas ditransklusikan dari Modul:Clickable button/doc. (sunting | riwayat)
Penyunting dapat melakukan uji coba pada halaman bak pasir (buat | cermin) dan kasus uji (buat) modul ini.
Subhalaman modul ini.
-- This module implements {{clickable button}}.
localyesno=require('Module:Yesno')
localdelink=require('Module:Delink')._delink
localp={}
functionp.main(frame)
localgetArgs=require('Module:Arguments').getArgs
localargs=getArgs(frame)
returnp._main(args)
end
functionp._main(args)
-- If first arg or a url is not provided,
-- but we have a second arg, make a button.
-- Otherwise, return nothing.
args.originalInput=args[1]
args[1]=delink({args[1]})
ifargs[1]==""then
args[1]=nil
end
ifnotargs[1]andnotargs.urlthen
ifargs[2]then
p.nolink=true
else
return''
end
end
localdata=p.makeLinkData(args)
locallink=p.renderLink(args.originalInput,data)
localtrackingCategories=p.renderTrackingCategories(args)
returnlink..trackingCategories
end
functionp.makeLinkData(args)
localdata={}
-- Get the link and display values,
-- and find whether we are outputting
-- a wikilink or a URL.
ifargs.urlthen
data.isUrl=true
data.link=args.url
ifargs[1]then
data.display=args[1]
elseifargs[2]then
data.display=args[2]
else
data.display=args.url
p.urlisdisplay=true
end
else
data.isUrl=false
p.urlisdisplay=false
data.link=args[1]
ifargs[2]then
data.display=args[2]
else
data.display=args[1]
end
ifargs[1]andargs[1]:find('http')then
data.isUrl=true
end
end
ifyesno(args.link)==falsethen
p.nolink=true
end
-- Colours
-- For the merge with {{clickable button}}
localcolour=args.colorandargs.color:lower()
-- Classes
localclass=args.classandargs.class:lower()
data.classes={}
ifclass=='ui-button-green'
orclass=='ui-button-blue'
orclass=='ui-button-red'
then
table.insert(
data.classes,
'submit ui-button ui-widget ui-state-default ui-corner-all'
..' ui-button-text-only ui-button-text'
)
else
table.insert(data.classes,'mw-ui-button')
end
--If class is unset,
--then let color determine class
ifnotclassthen
ifcolour=='blue'then
class='mw-ui-progressive'
elseifcolour=='red'then
class='mw-ui-destructive'
elseifcolour=='green'then
class='mw-ui-constructive'
end
end
ifclassthen
table.insert(data.classes,class)
end
-- Styles
do
--[[
		-- Check whether we are on the same page as we have specified in
		-- args[1], but not if we are using a URL link, as then args[1] is only
		-- a display value. If we are currently on the page specified in
		-- args[1] make the button colour darker so that it stands out from
		-- other buttons on the page.
		--]]
localsuccess,linkTitle,currentTitle
ifnotdata.isUrlthen
currentTitle=mw.title.getCurrentTitle()
success,linkTitle=pcall(mw.title.new,args[1])
elseifp.urlisdisplaythen
currentTitle=mw.title.getCurrentTitle()
end
ifsuccess
andlinkTitle
andmw.title.equals(currentTitle,linkTitle)
andnotp.urlisdisplay
then
ifclass=='ui-button-blue'
orclass=='mw-ui-progressive'
orclass=='mw-ui-constructive'
then
data.backgroundColor='#2962CB'
data.color='#fff'
elseifclass=='ui-button-green'then
data.backgroundColor='#008B6D'
elseifclass=='ui-button-red'orclass=='mw-ui-destructive'then
data.backgroundColor='#A6170F'
else
data.backgroundColor='#CCC'
data.color='#666'
end
elseifp.urlisdisplaythen
data.dummyLink=tostring(currentTitle)
end
-- Add user-specified styles.
data.style=args.style
end
returndata
end
functionp.renderLink(originalInput,data)
-- Render the display span tag.
localdisplay
do
localdisplaySpan=mw.html.create('span')
fori,classinipairs(data.classesor{})do
displaySpan:addClass(class)
end
displaySpan
:css{
['background-color']=data.backgroundColor,
color=data.color
}
ifdata.stylethen
displaySpan:cssText(data.style)
end
displaySpan:wikitext(data.display)
display=tostring(displaySpan)
end
-- Render the link
locallink
iforiginalInputandoriginalInput:find('|')then
link=string.format('[[%s|%s]]',delink({originalInput,wikilinks='target'}),display)
elseifp.nolinkthen
ifp.urlisdisplaythen
link=string.format('[[%s|%s]]',data.dummyLink,display)
else
link=string.format('%s',display)
end
else
ifdata.isUrlthen
link=string.format('[%s %s]',data.link,display)
else
link=string.format('[[%s |%s]]',data.link,display)
end
end
returnstring.format('<span class="plainlinks clickbutton">%s</span>',link)
end
functionp.renderTrackingCategories(args)
ifyesno(args.category)==falsethen
return''
end
localclass=args.classandargs.class:lower()
ifclass=='ui-button-green'
orclass=='ui-button-blue'
orclass=='ui-button-red'
then
return'[[Kategori:Halaman yang menggunakan warna tombol ui gaya lama]]'
else
return''
end
end
returnp
Konten disalin dari Wikipedia Bahasa Indonesia (lisensi CC BY-SA) Lihat versi asli di Wikipedia

Rekomendasi Pilihan