יחידה:PropertyLink: הבדלים בין גרסאות בדף

אין תקציר עריכה
תמיכה בqualifier אופציונלי
שורה 163: שורה 163:
local warnings = ''
local warnings = ''
for _, optionalQualifier in pairs( qualifiers ) do
for _, optionalQualifier in pairs( qualifiers ) do
if optionalQualifier and property.qualifiers[optionalQualifier] then
-- handling case of "first or default" qualifier (e.g.: for 'P1/P2' take P1 if exists, otherwise - P2)
local optionalQualifierVal = mw.wikibase.formatValues(property.qualifiers[optionalQualifier])
for selectableQualifier in string.gmatch(optionalQualifier, '[^/]+') do
local isQualLocalLabel = true
if selectableQualifier and property.qualifiers[selectableQualifier] then
if optionalQualifierVal and property.qualifiers[optionalQualifier][1] and property.qualifiers[optionalQualifier][1]['datatype']=='wikibase-item' then  
local optionalQualifierVal = mw.wikibase.formatValues(property.qualifiers[selectableQualifier])
for i, optionalQValues in ipairs(property.qualifiers[optionalQualifier]) do
local isQualLocalLabel = true
local qualLabel, qualLang = mw.wikibase.getLabelWithLang( optionalQValues['datavalue']['value']['id'] )
if optionalQualifierVal and property.qualifiers[selectableQualifier][1] and property.qualifiers[selectableQualifier][1]['datatype']=='wikibase-item' then  
isQualLocalLabel = isQualLocalLabel and (qualLang=='he')
for i, optionalQValues in ipairs(property.qualifiers[selectableQualifier]) do
local qualLabel, qualLang = mw.wikibase.getLabelWithLang( optionalQValues['datavalue']['value']['id'] )
isQualLocalLabel = isQualLocalLabel and (qualLang=='he')
end
end
end
end
if optionalQualifierVal then
if optionalQualifierVal then
local formattedValue = '<span title="'.. mw.wikibase.label(selectableQualifier)..'" class="propertylink-wikidata-qualifier">'..mw.wikibase.formatValues(property.qualifiers[selectableQualifier]) ..'</span>'
local formattedValue = '<span title="'.. mw.wikibase.label(optionalQualifier)..'" class="propertylink-wikidata-qualifier">'..mw.wikibase.formatValues(property.qualifiers[optionalQualifier]) ..'</span>'
table.insert(formmatedQualifiers, formattedValue)
table.insert(formmatedQualifiers, formattedValue)
break -- found first available value
end
elseif not string.sub(selectableQualifier, 1, 1) == 'P' then
table.insert(formmatedQualifiers, selectableQualifier)
break -- found first available value
end
end
end
end