Модуль:PersTools: различия между версиями

Материал из Кадровый состав НКВД 1935-1939
Перейти к навигации Перейти к поиску
Нет описания правки
 
Нет описания правки
 
(не показаны 84 промежуточные версии 2 участников)
Строка 1: Строка 1:
local perstools = {}
local perstools = {}
local markerCode = {
nil,
nil,
'<i class="fa fa-$1 fa-2x" style="color:#bbbbbb" title="$2"></i>',
'<i class="fa fa-$1 fa-2x" style="color:#888888" title="$2"></i>',
'<span class="fa-stack" title="$2">'
.. '<i class="fa fa-$1 fa-stack-1x" style="color:#bbbbbb"></i>'                -- было 888888
.. '<i class="fa fa-circle-o fa-stack-2x" style="color:#888888"></i></span>',  -- было ff6363
'<span class="fa-stack" title="$2">'
.. '<i class="fa fa-$1 fa-stack-1x" style="color:#bbbbbb"></i>'                -- было 888888
.. '<i class="fa fa-ban fa-stack-2x" style="color:#888888"></i></span>',      -- было ff6363
nil,
'<span class="fa-stack" title="$2">'
.. '<i class="fa fa-square fa-stack-2x" style="color:#888888"></i>'
.. '<i class="fa fa-$1 fa-stack-1x" style="color:#bbbbbb"></i></span>',
'<span class="fa-stack" title="$2">'
.. '<i class="fa fa-square fa-stack-2x" style="color:#888888"></i>'
.. '<i class="fa fa-$1 fa-stack-1x" style="color:#bbbbbb"></i>'
.. '<i class="fa fa-circle-o fa-stack-2x" style="color:#dc8383"></i></span>',
'<span class="fa-stack" title="$2">'
.. '<i class="fa fa-square fa-stack-2x" style="color:#888888"></i>'
.. '<i class="fa fa-$1 fa-stack-1x" style="color:#bbbbbb"></i>'
.. '<i class="fa fa-ban fa-stack-2x" style="color:#dc8383"></i></span>',
'<i class="fa fa-times-circle fa-2x" style="color:#ff6363" title="$2"></i>',
'<i class="fa fa-$1 fa-2x" style="color:#f4cb43" title="$2"></i>',
'<span class="fa-stack" title="$2">'
.. '<i class="fa fa-$1 fa-stack-1x" style="color:#f4cb43"></i>'
.. '<i class="fa fa-circle-o fa-stack-2x" style="color:#ff6363">',
'<span class="fa-stack" title="$2">'
.. '<i class="fa fa-$1 fa-stack-1x" style="color:#f4cb43"></i>'
.. '<i class="fa fa-ban fa-stack-2x" style="color:#ff6363"></i></span>',
}
--                        1  2    3    4      5      6  7  8    9  10  11  12  13  14
perstools.preposition = { '', '', 'на', 'до',  'до', 'до', '', 'c', '', '', '', 'c', '', '' }


function perstools.fixedColumns( origin, marker, date, precision, noPrep, icon )
function perstools.makePersonLink( row )
origin = tonumber(origin)
local lastName, firstName, middleName, disambiguation = row.nLast, row.nFirst, row.nMiddle, row.nDisambig
local x = markerCode[origin] or ''
local person = lastName
if noPrep then
if ( firstName or '' ) ~= '' or ( middleName or '' ) ~= '' then
noPrep = ''
person = person .. ', '
else
if ( firstName or '' ) == '' then
noPrep = perstools.preposition[origin]
firstName = '-.'
end
elseif mw.ustring.len( firstName ) == 1 then
local da
firstName = firstName .. '.'
if date == '' then
da = ''
noPrep = ''
else
da = string.sub( date, 1, 4 )
if precision ~= '3' then
da = string.sub( date, 6, 7 ) .. '.' .. da
end
end
if precision == '1' then
person = person .. firstName
da = string.sub( date, 9, 10 ) .. '.' .. da
if ( middleName or '' ) ~= '' then
if mw.ustring.len( middleName ) == 1 then
middleName = middleName .. '.'
end
person = person .. ' ' .. middleName
end
end
end
end
if not icon then
if ( disambiguation or '' ) ~= '' then
icon = string.gsub( x, '%$[12]', { ['$1'] = marker.icon, ['$2'] = marker[origin] } )
local dis = disambiguation
-- if disambiguation == '(*)' then
-- dis = '<i class="fa fa-asterisk fa-lg"></i>'
-- end
return '[[' .. person .. ' ' .. disambiguation .. '|'
.. person .. ' <span class="nkvd-idx">' .. dis .. '</span>]]'
end
end
return '<td class="nkvd-table-marker">' .. icon .. '</td>'
return '[[' .. person .. ']]'
.. '<td class="nkvd-table-preposition">' .. (noPrep or '') .. '</td>'
.. '<td class="nkvd-table-date">' .. da .. '</td>'
end
end


return perstools
return perstools

Текущая версия от 10:32, 6 апреля 2024

Для документации этого модуля может быть создана страница Модуль:PersTools/doc

local perstools = {}

function perstools.makePersonLink( row )
	local lastName, firstName, middleName, disambiguation = row.nLast, row.nFirst, row.nMiddle, row.nDisambig
	local person = lastName
	if ( firstName or '' ) ~= '' or ( middleName or '' ) ~= '' then
		person = person .. ', '
		if ( firstName or '' ) == '' then
			firstName = '-.'
		elseif mw.ustring.len( firstName ) == 1 then
			firstName = firstName .. '.'
		end
		person = person .. firstName
		if ( middleName or '' ) ~= '' then
			if mw.ustring.len( middleName ) == 1 then
				middleName = middleName .. '.'
			end
			person = person .. ' ' .. middleName
		end
	end
	if ( disambiguation or '' ) ~= '' then
		local dis = disambiguation
--		if disambiguation == '(*)' then
--			dis = '<i class="fa fa-asterisk fa-lg"></i>'
--		end
		return '[[' .. person .. ' ' .. disambiguation .. '|'
			.. person .. ' <span class="nkvd-idx">' .. dis .. '</span>]]'
	end
	return '[[' .. person .. ']]'
end

return perstools