Anasayfa
Rastgele
Oturum aç
Ayarlar
Sanarşiv hakkında
Sorumluluk reddi
Ara
"
Modül:Wikidata.table
" sayfasını değiştirmektesiniz
Uyarı:
Oturum açmadınız. Bir düzenleme yaptığınızda, sizin için geçici bir hesap oluşturulur.
Daha fazla bilgi
. Bu hesabın süresi dolduğunda bildirimler almaya devam etmek ve diğer özelliklere erişmek için
oturum açın
ya da
hesap oluşturun
.
Anti spam denetimi. Bunu
doldurmayın
!
local p={} -- функция для оформления таблицы function p.table(formattedClaims,context, options ) options.column = (options.column and tonumber(options.column)) or 100 -- создание текстовой строки со списком оформленых заявлений в табличном виде local out = mw.html.create('table') if(options.class) then out:attr('class', options.class) end if(options.style) then out:attr('style', options.style) end if(options.caption) then out:tag('caption'):wikitext(options.caption) end local tr1 local tr2 for i, k in ipairs(formattedClaims) do if(i%options.column==1) then tr1=out:tag('tr') if(options['th.class']) then tr1:addClass(options['th.class']) end if(options['th.style']) then tr1:attr('style', options['th.style']) end tr2=out:tag('tr') if(options['tr.class']) then tr2:addClass(options['tr.class']) end if(options['tr.style']) then tr2:attr('style', options['tr.style']) end end tr1:tag('th'):wikitext(k[1]) tr2:tag('td'):wikitext(k[2]) end return tostring(out) end -- функция для оформления графика (взято из Модуль:Statistical) function p.graph(formattedClaims,context, options ) local tempPopulation = nil local tempYears = nil for _,v in ipairs(formattedClaims) do tempPopulation = (tempPopulation and tempPopulation .. "," or "") .. v[2] tempYears = (tempYears and tempYears .. "," or "") .. v[1] end local linePlot = require('Modül:Graph').chartWrapper local Diagram = { ['height'] = options.height or 250, ['width'] = options.width or 400, ['y'] = tempPopulation, ['x'] = tempYears, ['yAxisMin'] = options.yAxisMin or 0 } local cframe = mw.getCurrentFrame() local json = linePlot(cframe:newChild{ title=cframe.title, args = Diagram}:newChild{}) return cframe:callParserFunction( '#tag:graph', json ) end -- функция для оформления ступенчатого графика (взято из Модуль:Statistical) function p.gist(formattedClaims,context, options ) local tempHeight = 320 local tempWidth = 800 local tempMod = math.fmod (#formattedClaims, 5) if #formattedClaims < 40 then tempHeight = 200 + 170 * (#formattedClaims - 1) / 40 tempWidth = 200 + 600 * (#formattedClaims - 1) / 40 end local tempGroup = "" local tempTooltip = "" local tempLegend = "" for k,v in pairs(formattedClaims) do tempGroup = tempGroup .. v[2] .. ":" tempTooltip = tempTooltip .. v[2] .. " (" .. v[1] .. "):" if #formattedClaims < 5 or math.fmod (k, 5) == tempMod then tempLegend = tempLegend .. v[1] end tempLegend = tempLegend .. ":" end tempGroup = string.sub (tempGroup, 1, string.len (tempGroup)-1) tempTooltip = string.sub (tempTooltip, 1, string.len (tempTooltip)-1) tempLegend = string.sub (tempLegend, 1, string.len (tempLegend)-1) local barChart = require('Modül:Chartes')['bar chart']; local Diagram = { ['height'] = options.height or tempHeight, ['width'] = options.width or tempWidth, ['group 1'] = tempGroup, ['tooltip 1'] = tempTooltip, ['colors'] = options.colors, ['x legends'] = tempLegend, ['group names'] = options['group names'], ['default color'] = options['default color'] } local cframe = mw.getCurrentFrame(); return barChart(cframe:newChild{ title=cframe.title, args = Diagram}) end -- взять только последнее значение function p.last(formattedClaims,context, options ) return formattedClaims[#formattedClaims][1] end function p.last2(formattedClaims,context, options ) return formattedClaims[#formattedClaims][2] end function p.second(formattedClaims,context, options ) local result = "" if(#formattedClaims>1) then result = "<!-- предыдущее значение "..formattedClaims[#formattedClaims-1][2].."-->" end return result .. formattedClaims[#formattedClaims][2] end function p.formatTable( context, options ) if ( not context ) then error( 'context not specified' ); end; if ( not options ) then error( 'options not specified' ); end; if ( not options.entity ) then error( 'options.entity missing' ); end; if(options.sort) then require('Modül:Wikidata.sort').changeselectClaims(context,options) end local claims = context.selectClaims( options, options.property ); if (claims == nil) then return '' --TODO error? end -- Обход всех заявлений утверждения и с накоплением оформленых предпочтительных -- заявлений в таблице local formattedClaims = {} for _, claim in ipairs(claims) do local formattedStatement = context.formatStatement( options, claim ) local formattedStatement2 = context.formatStatementDefault( context, options, claim ) -- здесь может вернуться либо оформленный текст заявления -- либо строка ошибки nil похоже никогда не возвращается if (formattedStatement and formattedStatement2) then table.insert(formattedClaims, {formattedStatement,formattedStatement2}) end end -- если ничего нет, то ничего и не выдавать if(#formattedClaims<=0) then return '' end options.tablefunction = options.tablefunction or "table" return p[options.tablefunction](formattedClaims,context, options) end return p
Özet:
Sanarşiv web sitesine yapılan tüm katkıların diğer katılımcılar tarafından düzenlenebileceğini, değiştirilebileceğini veya kaldırılabileceğini lütfen unutmayın. Yazınızın acımasızca düzenlenmesini istemiyorsanız, buraya göndermeyin.
Ayrıca, bunu kendiniz yazdığınızı veya herkese açık bir alandan veya benzeri ücretsiz bir kaynaktan kopyaladığınıza söz veriyorsunuz (ayrıntılar için
Sanarşiv:Telif hakları
sayfasına bakın).
Telif hakkıyla korunan eseri izinsiz göndermeyin!
İptal
Değişiklik yardımı
(yeni pencerede açılır)
Bu sayfada yer alan sayfa:
Modül:Wikidata.table/belge
(
değiştir
)