Modulo:Criteri cancellazione immediata/sandbox: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
riscrivo |
altre migliorie |
||
Riga 163:
self.code = code
self.current_ns = Namespace.DEFAULT
self.order = { default = 0 }
self.add_link = false
self.link = { default = string.format('[[WP:IMMEDIATA|%s]]', code) }
self.system_message = { default = '' }
Riga 176 ⟶ 178:
end
function Criterion:
return self.
end
function Criterion:
return self.
end
function Criterion:getSystemMessage(
local system_message = self.system_message[ns.id] or self.system_message.default▼
end
function Criterion:getDefinition(
local definition = self.definition[ns.id] or self.definition.default▼
▲ return string.format('(%s) %s', pre, definition)
end
function Criterion:isValid(
if self.validity[
return self.validity[
elseif self.validity[
return self.validity[
else
return self.validity.default
Riga 208:
end
function Criterion:
self.
return self
end
function Criterion:setOrder(order
self.order[
return self
end
function Criterion:
self.
return self
end
function Criterion:
self.
return self
end
function Criterion:
self.
return self
function Criterion:setDefinition(text)
self.definition[self.current_ns.id] = text
return self
function Criterion:setValid(valid)
self.validity[self.current_ns.id] = valid
return self
end
function Criterion:setValidForNsType(valid, ns_type)
self.validity[ns_type.value] = valid
return self
end
Riga 236 ⟶ 252:
-- =============================================================================
local function to_criterion(
local criterion = Criterion:new(
for ns, props in pairs(
ns = Namespace.findByName(ns)
if ns and type(props) == 'table' then
criterion:setCurrentNs(ns)
if type(props.ordine) == 'number' then
criterion:setOrder(props.ordine
end
if type(props.link) == 'string' then
criterion:setLink(props.link
end
if type(props.testi) == 'table' then
for
if text_type then
criterion[text_type.set](criterion,
end
end
Riga 263 ⟶ 281:
if ns == Namespace.DEFAULT then
if type(props['validità']) == 'table' then
for
if ns_type and type(
criterion:setValidForNsType(
end
end
end
elseif type(props['validità']) == 'boolean' then
criterion:
end
end
Riga 278 ⟶ 296:
return criterion
end
end
Riga 324 ⟶ 350:
local ns, criterion_code, add_link = args.ns, args.criterio, args.link
if criterion_code == nil or cfg[criterion_code] == nil or ns == nil then
return
end
▲ local criterion = to_criterion(key, value)
criterion:setCurrentNs(ns):setAddLink(add_link)
return criterion[text_type.get](criterion, ns, add_link)▼
if criterion:isValid() then
▲ end
end
end
Riga 350 ⟶ 376:
local valid_criteria = {}
for
local criterion = to_criterion(
criterion:setCurrentNs(ns):setAddLink(add_link)
if criterion:isValid( table.insert(valid_criteria, criterion)
end
end
▲ local comp = function (a, b)
▲ if a:getOrder(ns) == b:getOrder(ns) then
▲ return a:getCode() < b:getCode()
▲ else
▲ return a:getOrder(ns) < b:getOrder(ns)
▲ end
▲ end
▲ table.sort(valid_criteria, comp)
for _, criterion in ipairs(valid_criteria) do
Riga 375 ⟶ 395:
end
list = list .. criterion[text_type.get](criterion
end
|