Jump to content
Toggle menu
  • 12,3 E szócikkek
  • 21,5 E fájlok
  • 8 felhasználók
  • 64 E szerkesztések
SCWIKI
Toggle preferences menu
Toggle personal menu
Nem vagy bejelentkezve
Your IP address will be publicly visible if you make any edits.

A modult a Modul:AGGridColumns/Kind/StackedValue/doc lapon tudod dokumentálni

require('strict')

--- 'stackedValue' kind — a primary number over an optional muted secondary (shown
--- only when it differs), rendered by the gadget's scwStackedValue type. The raw
--- current number is kept for sort + the number filter. Generalised from
--- PledgeVehicleGrid's buildPriceStack. Spec: { field, header, curLabel, origLabel?,
--- prefix? (default '$'), width? }.

local Util = require('Module:AGGridColumns/Util')

local p = {}
p.type = 'scwStackedValue'

--- @param spec table
--- @return table
function p.buildColDef(spec)
	return {
		field = spec.field,
		headerName = spec.header,
		type = 'scwStackedValue',
		filter = 'agNumberColumnFilter',
		cellClass = 'ag-right-aligned-cell',
		headerClass = 'ag-right-aligned-header',
		width = spec.width,
		suppressAutoSize = true,
	}
end

--- @param spec table
--- @param result table
--- @return table|nil
function p.buildCellValue(spec, result)
	local current = Util.toNumber(result[spec.curLabel])
	if current == nil then
		return nil
	end
	local prefix = spec.prefix or '$'
	local lang = mw.getContentLanguage()
	local stack = { value = current, text = prefix .. lang:formatNum(current) }
	local original = spec.origLabel and Util.toNumber(result[spec.origLabel]) or nil
	if original ~= nil and original ~= current then
		stack.sub = prefix .. lang:formatNum(original)
	end
	return stack
end

return p