นี่เป็นมอดูลที่ถูกป้องกันถาวรเนื่องจากมีความเสี่ยงสูง กรุณาอภิปรายการเปลี่ยนแปลงใด ๆ ทาง(หน้าคุย) คุณอาจส่งคำขอแก้ไขไปยังเพื่อให้แก้ไขได้หากเป็นการแก้ไขที่ไม่มีการคัดค้านหรือมีความเห็นพ้องสนับสนุน คุณยังสามารถขอให้เลิกป้องกันหน้าได้ |
มีการใช้มอดูลนี้ใน 2,000+ หน้าและการแก้ไขอาจทำให้เกิดผลกระทบหรือสังเกตเห็นได้ ควรทดสอบการเปลี่ยนแปลงใน(กระบะทราย) หรือ หรือในมอดูลกระบะทรายของคุณเอง อนึ่ง อภิปรายเกี่ยวกับการแก้ไขมอดูลได้ที่หน้าอภิปรายก่อนที่จะนำไปใช้ |
มอดูลนี้ทำให้เกิดผลกับแม่แบบ {{}} โปรดดูที่หน้าแม่แบบสำหรับวิธีการใช้งาน
คู่มือการใช้งานที่ปรากฏด้านบนนี้ดึงมาจาก (มอดูล:Collapsible list/doc) (แก้ | ประวัติ) ผู้เขียนสามารถทำการทดลองได้ที่(กระบะทราย) (แก้ | ดูความแตกต่าง) และชุดทดสอบ (สร้าง) ของมอดูลนี้ |
-- This module implements {{collapsible list}}. local p = {} local function gettitlestyletracking( ts ) if not ts then return '' end ts = mw.ustring.gsub(mw.ustring.lower(ts), '%s', '') local tsvals = mw.text.split(ts, ';') table.sort(tsvals) local skey = table.concat(tsvals,';') skey = mw.ustring.gsub(skey, '^;', '') skey = mw.text.encode(mw.text.encode(skey),'%c%[%]=') if (mw.ustring.match(';' .. ts, ';background:') or mw.ustring.match(';' .. ts, ';background%-color:')) and mw.ustring.match(';' .. ts, ';text%-align:') then return '[[หมวดหมู่:หน้าที่ใช้ collapsible list ที่มีทั้ง background และ text-align ใน titlestyle|' .. skey .. ' ]]' end return '[[หมวดหมู่:หน้าที่ใช้ collapsible list ที่ไม่มีทั้ง background และ text-align ใน titlestyle|' .. skey .. ' ]]' end local function getListItem( data ) if not type( data ) == 'string' then return '' end return mw.ustring.format( '<li style="line-height: inherit; margin: 0">%s</li>', data ) end -- Returns an array containing the keys of all positional arguments -- that contain data (i.e. non-whitespace values). local function getArgNums( args ) local nums = {} for k, v in pairs( args ) do if type( k ) == 'number' and k >= 1 and math.floor( k ) == k and type( v ) == 'string' and mw.ustring.match( v, '%S' ) then table.insert( nums, k ) end end table.sort( nums ) return nums end -- Formats a list of classes, styles or other attributes. local function formatAttributes( attrType, ... ) local attributes = { ... } local nums = getArgNums( attributes ) local t = {} for i, num in ipairs( nums ) do table.insert( t, attributes[ num ] ) end if #t == 0 then return '' -- Return the blank string so concatenation will work. end return mw.ustring.format( ' %s="%s"', attrType, table.concat( t, ' ' ) ) end local function buildList( args ) -- Get the list items. local listItems = {} local argNums = getArgNums( args ) for i, num in ipairs( argNums ) do table.insert( listItems, getListItem( args[ num ] ) ) end if #listItems == 0 then return '' end listItems = table.concat( listItems ) -- hack around mw-collapsible show/hide jumpiness by looking for text-alignment -- by setting a margin if centered local textAlignmentCentered = 'text%-align%s*:%s*center' local centeredTitle = (args.title_style and args.title_style:lower():match(textAlignmentCentered) or args.titlestyle and args.titlestyle:lower():match(textAlignmentCentered)) local centeredTitleSpacing if centeredTitle then centeredTitleSpacing = 'margin: 0 4em' else centeredTitleSpacing = '' end -- Get class, style and title data. local collapsibleContainerClass = formatAttributes( 'class', 'mw-collapsible', not args.expand and 'mw-collapsed' ) local collapsibleContainerStyle = formatAttributes( 'style', 'text-align: center; font-size: 95%;', args.frame_style, args.framestyle ) local collapsibleTitleStyle = formatAttributes( 'style', 'line-height: 1.6em; font-weight: bold; font-size: 100%; text-align: left;', args.title_style, args.titlestyle ) local jumpyTitleStyle = formatAttributes( 'style', centeredTitleSpacing ) local title = args.title or 'รายการ' local ulclass = formatAttributes( 'class', 'mw-collapsible-content', args.hlist and 'hlist' ) local ulstyle = formatAttributes( 'style', 'font-size: 105%; margin-top: 0; margin-bottom: 0; line-height: inherit; text-align: left;', not args.bullets and 'list-style: none none; margin-left: 0;', args.list_style, args.liststyle ) -- Build the list. return mw.ustring.format( '<div%s%s>\n<div%s><div%s>%s</div></div>\n<ul%s%s>%s</ul>\n</div>', collapsibleContainerClass, collapsibleContainerStyle, collapsibleTitleStyle, jumpyTitleStyle, title, ulclass, ulstyle, listItems ) .. gettitlestyletracking(args.title_style or args.titlestyle) end function p.main( frame ) local origArgs if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args for k, v in pairs( frame.args ) do origArgs = frame.args break end else origArgs = frame end local args = {} for k, v in pairs( origArgs ) do if type( k ) == 'number' or v ~= '' then args[ k ] = v end end return buildList( args ) end return p
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
niepnmxdulthithukpxngknthawrenuxngcakmikhwamesiyngsung krunaxphipraykarepliynaeplngid thanghnakhuy khunxacsngkhakhxaekikh ipyngphuduaelrabbephuxihaekikhidhakepnkaraekikhthiimmikarkhdkhanhruxmikhwamehnphxngsnbsnun khunyngsamarthkhxihelikpxngknhnaidkhumuxkarichnganmxdul du aek prawti langaekhch mikarichmxdulniin 2 000 hnaaelakaraekikhxacthaihekidphlkrathbhruxsngektehnid khwrthdsxbkarepliynaeplnginkrabathray hrux hruxinmxdulkrabathraykhxngkhunexng xnung xphiprayekiywkbkaraekikhmxdulidthihnaxphipraykxnthicanaipich mxdulnithaihekidphlkbaemaebb Collapsible list oprdduthihnaaemaebbsahrbwithikarichngankhumuxkarichnganthipraktdanbnnidungmacak mxdul Collapsible list doc aek prawti phuekhiynsamarththakarthdlxngidthikrabathray aek dukhwamaetktang aelachudthdsxb srang khxngmxdulni hnayxykhxngmxdulni This module implements collapsible list local p local function gettitlestyletracking ts if not ts then return end ts mw ustring gsub mw ustring lower ts s local tsvals mw text split ts table sort tsvals local skey table concat tsvals skey mw ustring gsub skey skey mw text encode mw text encode skey c if mw ustring match ts background or mw ustring match ts background color and mw ustring match ts text align then return hmwdhmu hnathiich collapsible list thimithng background aela text align in titlestyle skey end return hmwdhmu hnathiich collapsible list thiimmithng background aela text align in titlestyle skey end local function getListItem data if not type data string then return end return mw ustring format lt li style line height inherit margin 0 gt s lt li gt data end Returns an array containing the keys of all positional arguments that contain data i e non whitespace values local function getArgNums args local nums for k v in pairs args do if type k number and k gt 1 and math floor k k and type v string and mw ustring match v S then table insert nums k end end table sort nums return nums end Formats a list of classes styles or other attributes local function formatAttributes attrType local attributes local nums getArgNums attributes local t for i num in ipairs nums do table insert t attributes num end if t 0 then return Return the blank string so concatenation will work end return mw ustring format s s attrType table concat t end local function buildList args Get the list items local listItems local argNums getArgNums args for i num in ipairs argNums do table insert listItems getListItem args num end if listItems 0 then return end listItems table concat listItems hack around mw collapsible show hide jumpiness by looking for text alignment by setting a margin if centered local textAlignmentCentered text align s s center local centeredTitle args title style and args title style lower match textAlignmentCentered or args titlestyle and args titlestyle lower match textAlignmentCentered local centeredTitleSpacing if centeredTitle then centeredTitleSpacing margin 0 4em else centeredTitleSpacing end Get class style and title data local collapsibleContainerClass formatAttributes class mw collapsible not args expand and mw collapsed local collapsibleContainerStyle formatAttributes style text align center font size 95 args frame style args framestyle local collapsibleTitleStyle formatAttributes style line height 1 6em font weight bold font size 100 text align left args title style args titlestyle local jumpyTitleStyle formatAttributes style centeredTitleSpacing local title args title or raykar local ulclass formatAttributes class mw collapsible content args hlist and hlist local ulstyle formatAttributes style font size 105 margin top 0 margin bottom 0 line height inherit text align left not args bullets and list style none none margin left 0 args list style args liststyle Build the list return mw ustring format lt div s s gt n lt div s gt lt div s gt s lt div gt lt div gt n lt ul s s gt s lt ul gt n lt div gt collapsibleContainerClass collapsibleContainerStyle collapsibleTitleStyle jumpyTitleStyle title ulclass ulstyle listItems gettitlestyletracking args title style or args titlestyle end function p main frame local origArgs if frame mw getCurrentFrame then origArgs frame getParent args for k v in pairs frame args do origArgs frame args break end else origArgs frame end local args for k v in pairs origArgs do if type k number or v then args k v end end return buildList args end return p