Modul:Infobox dan Modul:Infobox/bak pasir: Perbedaan antara halaman
(Perbedaan antarhalaman)
Konten dihapus Konten ditambahkan
Tidak ada ringkasan suntingan Tag: Suntingan perangkat seluler Suntingan peramban seluler Suntingan seluler lanjutan |
RaFaDa20631 (bicara | kontrib) update (berkaitan dg keluhan Apri DAV kemarin |
||
Baris 6: | Baris 6: | ||
local category_in_empty_row_pattern = '%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^]]*]]' |
local category_in_empty_row_pattern = '%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^]]*]]' |
||
local has_rows = false |
local has_rows = false |
||
local lists = { |
|||
plainlist_t = { |
|||
patterns = { |
|||
'^plainlist$', |
|||
'%splainlist$', |
|||
'^plainlist%s', |
|||
'%splainlist%s' |
|||
}, |
|||
found = false, |
|||
styles = 'Plainlist/styles.css' |
|||
}, |
|||
hlist_t = { |
|||
patterns = { |
|||
'^hlist$', |
|||
'%shlist$', |
|||
'^hlist%s', |
|||
'%shlist%s' |
|||
}, |
|||
found = false, |
|||
styles = 'Hlist/styles.css' |
|||
} |
|||
} |
|||
local function has_list_class(args_to_check) |
|||
for _, list in pairs(lists) do |
|||
if not list.found then |
|||
for _, arg in pairs(args_to_check) do |
|||
for _, pattern in ipairs(list.patterns) do |
|||
if mw.ustring.find(arg or '', pattern) then |
|||
list.found = true |
|||
break |
|||
end |
|||
end |
|||
if list.found then break end |
|||
end |
|||
end |
|||
end |
|||
end |
|||
local function fixChildBoxes(sval, tt) |
local function fixChildBoxes(sval, tt) |
||
Baris 112: | Baris 150: | ||
if rowArgs.header and rowArgs.header ~= '_BLANK_' then |
if rowArgs.header and rowArgs.header ~= '_BLANK_' then |
||
has_rows = true |
has_rows = true |
||
has_list_class({ rowArgs.rowclass, rowArgs.class, args.headerclass }) |
|||
root |
root |
||
:tag('tr') |
:tag('tr') |
||
Baris 127: | Baris 167: | ||
if rowArgs.data then |
if rowArgs.data then |
||
root:wikitext( |
root:wikitext( |
||
'[[ |
'[[Category:Pages using infobox templates with ignored data cells]]' |
||
) |
) |
||
end |
end |
||
elseif rowArgs.data and rowArgs.data:gsub( |
elseif rowArgs.data and rowArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then |
||
category_in_empty_row_pattern, '' |
|||
):match('^%S') then |
|||
has_rows = true |
has_rows = true |
||
has_list_class({ rowArgs.rowclass, rowArgs.class }) |
|||
local row = root:tag('tr') |
local row = root:tag('tr') |
||
row:addClass(rowArgs.rowclass) |
row:addClass(rowArgs.rowclass) |
||
Baris 167: | Baris 207: | ||
has_rows = true |
has_rows = true |
||
has_list_class({args.titleclass}) |
|||
root |
root |
||
:tag('caption') |
:tag('caption') |
||
Baris 174: | Baris 216: | ||
:cssText(args.titlestyle) |
:cssText(args.titlestyle) |
||
:wikitext(args.title) |
:wikitext(args.title) |
||
end |
end |
||
Baris 180: | Baris 223: | ||
has_rows = true |
has_rows = true |
||
has_list_class({ args.aboveclass }) |
|||
root |
root |
||
:tag('tr') |
:tag('tr') |
||
Baris 195: | Baris 240: | ||
has_rows = true |
has_rows = true |
||
has_list_class({ args.belowclass }) |
|||
root |
root |
||
:tag('tr') |
:tag('tr') |
||
Baris 210: | Baris 257: | ||
subheaderArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then |
subheaderArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then |
||
has_rows = true |
has_rows = true |
||
has_list_class({ subheaderArgs.rowclass, subheaderArgs.class }) |
|||
local row = root:tag('tr') |
local row = root:tag('tr') |
||
row:addClass(subheaderArgs.rowclass) |
row:addClass(subheaderArgs.rowclass) |
||
Baris 252: | Baris 301: | ||
has_rows = true |
has_rows = true |
||
has_list_class({ imageArgs.rowclass, imageArgs.class }) |
|||
local row = root:tag('tr') |
local row = root:tag('tr') |
||
row:addClass(imageArgs.rowclass) |
row:addClass(imageArgs.rowclass) |
||
Baris 354: | Baris 405: | ||
:attr('colspan', '2') |
:attr('colspan', '2') |
||
:addClass('infobox-navbar') |
:addClass('infobox-navbar') |
||
:wikitext(require(' |
:wikitext(require('Module:Navbar')._navbar{ |
||
args.name, |
args.name, |
||
mini = 1, |
mini = 1, |
||
Baris 363: | Baris 414: | ||
local italicTitle = args['italic title'] and mw.ustring.lower(args['italic title']) |
local italicTitle = args['italic title'] and mw.ustring.lower(args['italic title']) |
||
if italicTitle == '' or italicTitle == 'force' or italicTitle == 'yes' then |
if italicTitle == '' or italicTitle == 'force' or italicTitle == 'yes' then |
||
root:wikitext( |
root:wikitext(require('Module:Italic title')._main({})) |
||
end |
end |
||
end |
end |
||
Baris 383: | Baris 434: | ||
if args.title then |
if args.title then |
||
root:wikitext( |
root:wikitext( |
||
'[[Category:Pages using embedded infobox templates with the title parameter]]' |
|||
'[[Kategori:Halaman dengan parameter judul awal kotak info]]' |
|||
) |
) |
||
end |
end |
||
elseif #(getArgNums('data')) == 0 and mw.title.getCurrentTitle().namespace == 0 then |
elseif #(getArgNums('data')) == 0 and mw.title.getCurrentTitle().namespace == 0 then |
||
root:wikitext('[[ |
root:wikitext('[[Category:Articles using infobox templates with no data rows]]') |
||
end |
end |
||
end |
end |
||
Baris 403: | Baris 454: | ||
local function loadTemplateStyles() |
local function loadTemplateStyles() |
||
local frame = mw.getCurrentFrame() |
local frame = mw.getCurrentFrame() |
||
local hlist_templatestyles = '' |
|||
if lists.hlist_t.found then |
|||
hlist_templatestyles = frame:extensionTag{ |
|||
name = 'templatestyles', args = { src = lists.hlist_t.styles } |
|||
} |
|||
end |
|||
local plainlist_templatestyles = '' |
|||
if lists.plainlist_t.found then |
|||
plainlist_templatestyles = frame:extensionTag{ |
|||
name = 'templatestyles', args = { src = lists.plainlist_t.styles } |
|||
} |
|||
end |
|||
-- See function description |
-- See function description |
||
local base_templatestyles = frame:extensionTag{ |
local base_templatestyles = frame:extensionTag{ |
||
name = 'templatestyles', args = { src = ' |
name = 'templatestyles', args = { src = 'Module:Infobox/styles.css' } |
||
} |
} |
||
local templatestyles = '' |
local templatestyles = '' |
||
if args['templatestyles'] then |
if args['templatestyles'] then |
||
templatestyles = frame:extensionTag{ |
|||
name = 'templatestyles', args = { src = args['templatestyles'] } |
name = 'templatestyles', args = { src = args['templatestyles'] } |
||
} |
} |
||
Baris 416: | Baris 482: | ||
local child_templatestyles = '' |
local child_templatestyles = '' |
||
if args['child templatestyles'] then |
if args['child templatestyles'] then |
||
child_templatestyles = frame:extensionTag{ |
|||
name = 'templatestyles', args = { src = args['child templatestyles'] } |
name = 'templatestyles', args = { src = args['child templatestyles'] } |
||
} |
} |
||
Baris 422: | Baris 489: | ||
local grandchild_templatestyles = '' |
local grandchild_templatestyles = '' |
||
if args['grandchild templatestyles'] then |
if args['grandchild templatestyles'] then |
||
grandchild_templatestyles = frame:extensionTag{ |
|||
name = 'templatestyles', args = { src = args['grandchild templatestyles'] } |
name = 'templatestyles', args = { src = args['grandchild templatestyles'] } |
||
} |
} |
||
end |
end |
||
return table.concat({ |
return table.concat({ |
||
-- hlist -> plainlist -> base is best-effort to preserve old Common.css ordering. |
|||
⚫ | |||
-- this ordering is not a guarantee because the rows of interest invoking |
|||
-- each class may not be on a specific page |
|||
hlist_templatestyles, |
|||
plainlist_templatestyles, |
|||
⚫ | |||
templatestyles, |
templatestyles, |
||
child_templatestyles, |
child_templatestyles, |
||
Baris 460: | Baris 533: | ||
-- @deprecated next; target .infobox-<name> |
-- @deprecated next; target .infobox-<name> |
||
:cssText(args.bodystyle) |
:cssText(args.bodystyle) |
||
has_list_class({ args.bodyclass }) |
|||
renderTitle() |
renderTitle() |