Module:RemoteControl: Difference between revisions

Add complete inline styles for border, backgrounds to match CRT model infobox (via update-page on MediaWiki MCP Server)
Add ECID field to infobox matching CRT model implementation (via update-page on MediaWiki MCP Server)
 
(One intermediate revision by the same user not shown)
Line 22: Line 22:
local section = container:tag('div')
local section = container:tag('div')
section:addClass('infobox-section-header')
section:addClass('infobox-section-header')
css(section, 'grid-column: 1 / -1; text-align:center; padding:0.5em; font-weight:bold; background-color:#c8ccd1;')
css(section, 'grid-column: 1 / -1; text-align:center; padding:0.5em; font-weight:bold;')
section:wikitext(title)
section:wikitext(title)
end
end
Line 29: Line 29:
local labelDiv = container:tag('div')
local labelDiv = container:tag('div')
labelDiv:addClass('infobox-label')
labelDiv:addClass('infobox-label')
css(labelDiv, 'padding:0.2em 0.4em; font-weight:bold; text-align:left; background-color:#eaecf0;')
css(labelDiv, 'padding:0.2em 0.4em; font-weight:bold; text-align:left;')
labelDiv:wikitext(label)
labelDiv:wikitext(label)


local valueDiv = container:tag('div')
local valueDiv = container:tag('div')
valueDiv:addClass('infobox-value')
valueDiv:addClass('infobox-value')
css(valueDiv, 'padding:0.2em 0.4em; background-color:#f8f9fa;')
css(valueDiv, 'padding:0.2em 0.4em;')


if isRawHtml then
if isRawHtml then
Line 63: Line 63:
local title = mw.title.getCurrentTitle()
local title = mw.title.getCurrentTitle()
local pageName = title.text
local pageName = title.text
local pageId = title.id or 0


local brand = trim(args.brand)
local brand = trim(args.brand)
Line 68: Line 69:
local image_main = trim(args.image_main)
local image_main = trim(args.image_main)


-- Use frame:extensionTag to create a proper <style> tag that won't be escaped
-- Load the remote control stylesheet
local styleTag = frame:extensionTag('templatestyles', '', {src = 'Template:CRT model/styles.css'})
local styleTag = frame:extensionTag('templatestyles', '', {src = 'Template:Remote control/styles.css'})


local container = mw.html.create('div')
local container = mw.html.create('div')
container:addClass('infobox')
container:addClass('infobox')
container:addClass('infobox-remote-control')
container:addClass('infobox-remote-control')
css(container, 'float:right; clear:right; margin:0 0 1em 1em; width:22em; font-size:88%; line-height:1.5em; display:grid; grid-template-columns:auto 1fr; gap:0; padding:0; border:1px solid #a2a9b1; background-color:#f8f9fa;')
css(container, 'float:right; clear:right; margin:0 0 1em 1em; width:22em; font-size:88%; line-height:1.5em; display:grid; grid-template-columns:auto 1fr; gap:3px; padding:3px;')


-- Title row
-- Title row
Line 80: Line 81:
container,
container,
(brand or '') .. ' ' .. (model_code or ''),
(brand or '') .. ' ' .. (model_code or ''),
'text-align:center; font-size:125%; font-weight:bold; padding:0.5em; background-color:#c8ccd1;',
'text-align:center; font-size:125%; font-weight:bold; padding:0.5em;',
false,
false,
'infobox-title'
'infobox-title'
Line 90: Line 91:
container,
container,
string.format('[[File:%s|frameless|300px]]', file),
string.format('[[File:%s|frameless|300px]]', file),
'text-align:center; padding:0.5em; background-color:#f8f9fa;',
'text-align:center; padding:0;',
false,
false,
'infobox-image'
'infobox-image'
Line 113: Line 114:


addRow(container, 'Type', 'Remote', false)
addRow(container, 'Type', 'Remote', false)
-- ECID row: build as a normal external link wikitext; preprocess not required, but fine.
local ecidWikitext = string.format('[{{fullurl:%s|curid=%d}} EC%d]', pageName, pageId, pageId)
addRow(container, 'ECID', frame:preprocess(ecidWikitext), true)


-- Contribute section
-- Contribute section
Line 128: Line 133:
-- Create the edit button div
-- Create the edit button div
local editDiv = container:tag('div')
local editDiv = container:tag('div')
css(editDiv, 'grid-column: 1 / -1; padding:0.5em; text-align:center; background-color:#f8f9fa;')
css(editDiv, 'grid-column: 1 / -1; padding:0.2em 0.4em; text-align:center;')
-- Add edit button with inline styling for the button
-- Add edit button using the infobox-button classes
editDiv:wikitext('[' .. tostring(editUrl) .. ' <span style="display:inline-block; padding:0.5em 1em; background-color:#36c; color:#fff; border-radius:3px; text-decoration:none;">Edit this data</span>]')
editDiv:wikitext('[' .. tostring(editUrl) .. ' <span class="infobox-button infobox-button-primary">Edit this data</span>]')


-- Return templatestyles tag + container HTML
-- Return templatestyles tag + container HTML
MediaWiki Appliance - Powered by TurnKey Linux