Această pagină este protejată de mișcare
Această pagină este protejată

Forma: Întâlnire sportivă

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Acest modul implementează funcționalitatea șablonului {{ întâlnire club }} și {{ întâlnire internațională }}.

Are un sub CSS: Form: sport Meeting / styles.css .


 local p = {}
local errorcat = '[[Categorie: erori de compilare șablon Întâlnire% s]]'

- Subiecte specifice șablonului de întâlnire internațională
local int_args = {
„Codul guvernează”, „Mântuirea 1”, „Mântuirea 2”
}

- Argumente specifice șablonului Reuniunii Clubului
local club_args = {
„Camera 1”, „Camera 2”, „Dublu 1”, „2 Dublu”, „Triplu 1”,
„Triple 2”, „Penalties 1”, „2 Penalties”
}

- Argumente și etichete ale subtabelului statistic
etichete locale = {
{= Markers 'Markers'},
Destinații {= '[[Meta (rugby) | m]]'},
{Transformări = '[[Meta (rugby) #Trasformazione | tr]]'},
{[ 'Pieces'] = '[[Rugby Football plasat # | cp]]'},
{Drop = '[[Drop (rugby) | drop]]'},
{Mark = '[[Mark (rugby) | mark]]'},
Puncte = { 'Puncte'},
{Assist = '[[Assist (baschet) | Assist]]'},
{Rebounds = '[[Bounce | Rebounds]]'},
{Valid = '[[Valid | Valid]]'},
{Eroare = '[[Eroare (baseball) | Eroare]]'},
{Victory = '[[Victoria (baseball) | Victoria]]'},
{Defeat = '[[Defeat (baseball) | Defeat]]'},
Salvare {= '[[Salvare (baseball) | Salvare]]'},
{Room = 'Room'},
{Double = '[[Double (baseball) | Double]]'},
{Triple = '[[Triple (baseball) | Triple]]'},
{Overs = '[[Overs (baseball) | Overs]]'},
TiriExtra = {{
rig = '[[Penalty Shootout]]',
cp = '[[Rugby Football plasat # | Piese]]',
so = '[[Shootout]]'
} },
Penalties = { 'Penalties'},
Educație = { 'Formații'},
Substitutions = { 'Replacements'},
Antrenor = { 'Antrenori'}
}

- Returnează adevărat dacă găsește acul (valoarea) în fân (tabel)
funcție locală in_array ( ac , fân )
dacă acul == zero, apoi reveniți la capăt
pentru _, v în ipairs ( fânul ) do
în cazul în care acul v == apoi return true end
Sfârșit
întoarcere
Sfârșit

- Înfășoară un argument între pre și post convertind nils în șir gol
wrap funcție locală (arg, pre, post)
în cazul în care nu a reveni apoi arg „“ end
întoarce-te mw . ustring . format ( '% s% s% s', sau pre '', arg sau post '')
Sfârșit

- Formatați un mesaj de avertizare și atașați categoria de erori
set_error local function (msg)
return string.format ( '<span class = "error">% s </ span>% s', msg, errorcat)
Sfârșit

- Încărcați valoarea în șablonul Flag și returnați rezultatul
funcție locală loadFlag (nat)
în cazul în care nu a reveni apoi nat „“ end
întoarce-te mw . getCurrentFrame (): expandTemplate {
title = „Semnalizare”,
args = {} nat
}
Sfârșit

- ================================================== ============================
- Clasa de întâlnire
- ================================================== ============================
Întâlnire locală = {}

- Constructorul clasei Encounter
Funcția de întâlnire : nou (args)
auto local = {}
SetMetaTable (self, __index = {Meeting})
sinele . args = args
întoarcere de sine
Sfârșit

- Returnează conținutul coloanei din stânga
Funcția de întâlnire : _getLeftContent ()
local pre_cit, post_cit, citat mai sus, gm, an, oră, schimb
pre_cit = '[[' .. (self. args [ 'CittàLink'] și (self. args [ 'CittàLink'] .. '|') sau '')
post_cit = ']]' .. (auto. argumente. DayOfMonth și '<br/>' sau '')
cit = wrap (self. args [ 'City'], pre_cit, post_cit)
gm, an = sine. args. DayOfMonth sau '', auto. args. Anul sau "
Now = wrap ( argumente auto . Acum, ', h')
turn = wrap (self. args. Round, '<br/>')
întoarce-te mw . ustring . format ( „% s% s% s% s% s”, citat mai sus, gm, an, oră, schimb)
Sfârșit

- Returnează conținutul coloanei din centru
Funcția de întâlnire : _getMiddleContent ()
locală punt, punt2, Sup, cdr, parz, note, ref, ref2
punt, punt2 = self. args [ 'Scorul 1'] sau '', auto. args [ 'Scorul 2'] sau ''
validare locală = funcție ( funcții )
returnează s și string.upper (s) == 'X' și '' sau s
Sfârșit
supp = wrap (validate (self. args. Extra), '<br/> ([[Extra time | d.', 'ts]])')
CDR = wrap (validate (self. Args [ 'penalty lovituri']), '<br/> ([[Penalty Shootout | d.', 'Cr]])')
parz = wrap (self. args. Parțial, '<br/> (', ')')
note = wrap (self. args. Note, '<br/>')
ref = wrap (self. args . score sheet, '<br/> [', 'report]')
ref2 = wrap (self. args [ 'scoreheet 2'], '<br/> [', 'scoresheet 2]')
întoarce-te mw . ustring . format ( '' ''% s & nbsp; & ndash; & nbsp;% s '' '<small>% s% s% s% s% s% s </ small> ",
punt, punt2, Sup, cdr, parz, note, ref, ref2)
Sfârșit

- Returnează rândurile coloanei din dreapta la procesare
- parametrii nominali în grupe după număr
Funcția de întâlnire : _renderRightRow (v)
dacă nu de sine . args [v] apoi returnează nil end
mesaj local = {}
subarguri locale = {
Arbitru = {label = 'Arbitr' .. (self. Args. Arbitro2 and 'i' or 'or'), nat = 'Nazarbitro', cit = 'Cittarbitro'},
Timekeeper = {label = 'Chrono', nat = 'Nazcronometrista', cit = 'Cittacronometrista'}
}
local i = 1
local getValue = funcție (t)
pentru k , v în perechi ( t ) do
t [k] = sine. args [v .. (i == 1 și '' sau i)]
Sfârșit
retur t [1], t [2], t [3]
Sfârșit
în timp ce adevărații
main_arg local, nat, cited = getValue ({v, subargs [v]. nat, subargs [v]. cit})
- parametri multipli pentru arbitri, doar unul pentru cronometru
dacă nu main_arg sau i == 2 și v == 'cronometru', atunci se oprește sfârșitul
nat = loadFlag (nat)
cit = wrap (cit, '(', ')')
msg [i] = mw. ustring . format ( '% s% s% s', nat, main_arg, cit)
i = i + 1
Sfârșit
local row = mw. html . create ( 'tr' )
: Tag ( 'TD'): wikitext (subargs [v]. .. label ': & nbsp;'): done ()
: Etichetă ( 'TD'): wikitext (table.concat (msg, '<br/>')): done ()
rândul de întoarcere
Sfârșit

- Returnează conținutul coloanei din dreapta
Funcția de întâlnire : _getRightContent ()
rădăcină locală , stad, auditoria
stad = self. args. Stadion sau "
spet = wrap (self. args. Spectators, '& nbsp; <span class = "nowrap"> (', 'spect.) </ span>')
dacă eul. args. Arbitru atunci
rădăcină = mw . html . create ( 'tabel' )
: Nod (self: _renderRightRow ( 'Arbitru'))
: Nod (self: _renderRightRow ( 'cronometru'))
altceva
rădăcină = "
Sfârșit
întoarce-te mw . ustring . format ( '% s% s% s', stad, spet, tostring (root))
Sfârșit

- Formatați și returnați prima sau a doua echipă indicată
Funcția de întâlnire : _renderTeam (n)
echipa locală , steag
dacă eul. args [1] == „internațional” atunci
echipa = self. args [ „National” n ..]
pavilion = loadFlag (echipă)
Un alt local = sine. args [ „Altele” .. n] sau „”
dacă eul. args [ 'Code guvernes'] == 'BV' atunci
returnează n == 1 și (mai mult .. '' .. pavilion) sau (pavilion .. '' .. altfel)
altceva
F local = sine. args. F == 'X' și 'F' sau ''
sex local = sine. args. Sex sau "
întoarce-te mw . getCurrentFrame (): expandTemplate {
title = „Nat” .. (n == 1 și „BD” sau „”),
args = {self. echipa args [ 'Code guvernează'] , F .. sex, altele, 'h'}
}
Sfârșit
Sfârșit
echipa = self. args [ „echipă” .. n]
steag = self. args [ „Flag” n ..]
dacă nu, echipa de atunci a reveni la sfârșitul
sporturi locale = self. args [ „Sport”]
dacă atunci sport
cadru local = mw. getCurrentFrame ()
- apel protejat pentru a verifica existența șablonului
succes local , rezultat = PCALL (frame. expandTemplate, frame, {
title = string.format ( „Șablon:% s% s”, sport, echipă)
args = {
n == 1 și „BD” sau „”,
sinele . args [ 'ForzaAnnoSquadra' .. n] sau self. args. An
}
})
în cazul în care succesul atunci rezultatul final retur
Sfârșit
dacă steag atunci
flag = '[[File:' .. .. flag '| border | 20px | noviewer class =]]'
returnează n == 1 și (echipă .. '' .. pavilion) sau (pavilion .. '' .. echipă)
Sfârșit
revenirea echipei
Sfârșit

- Returnează sub-tabelul HTML care conține statisticile
Funcția de întâlnire : _getStatsTableNode ()
local pliabil = self. args. Prăbușit și „mw-mw-pliabil colapsat noprint” sau 
local root = mw . html . create ( 'tabel' )
: AddClass (pliabil .. „nowraplinks idc- subtable ”)
root: tag ( „TD”)
: Attr ( „colspan”, 3)
subtabel local = fals
- prelucrarea ordonată a argumentelor
pentru _, t ipairs (etichete) do
local k, label = next (t) - obține cheia și eticheta
valoare locală1, valoare2 = auto. args [k .. '1'], sine. args [k .. '2']
dacă k == 'TiriExtra' și auto. args. apoi TiriExtra
- când TiriExtra este compilat, linia trebuie întotdeauna procesată
valoare1, valoare2 = valoare1 sau " sau valoare2 "
dacă eul. args [1] == „internațional” atunci
ac local = auto. args [ „Codul guvernează”]
fânuri locale = {
{ 'CA', 'C5', 'FS', 'BS', 'RH'},
{ 'R13', 'R15'},
{ 'HG', 'SH', 'HP', 'PN', 'goalball'}
}
sinele . args. TiriExtra = in_array (ac, căpițe [1]) și 'amator' sau
in_array (ac, căpițe [2]) și 'cp' sau
in_array (ac, căpițe [3]) și 'cunosc' sau ''
Sfârșit
eticheta = label [self. args. TiriExtra] sau set_error ( „Codul pentru TiriExtra nu este recunoscut”)
eticheta = mw. ustring . format ( '% s% s <br/> & ndash;% s',
etichetă, sine. args [ 'PuntiTiriExtra 1'] sau '', self. args [ 'PuntiTiriExtra 2'] sau '')
elseif k == „Antrenor” atunci
local all1 , ALL2 = auto. args [k .. '1'], sine. args [k .. '2']
local naz1, naz2 = self. args. NazAll1, eu. args. NazAll2
dacă all1 și apoi naz1
value1 = all1 .. "" .. loadFlag (naz1)
Sfârșit
dacă ALL2 și apoi naz2
valoare2 = loadFlag (naz2) .. '' .. ALL2
Sfârșit
Sfârșit
- verificarea etichetei cerută de TiriExtra
if (valoare1 sau valoare2) și tastați (etichetă) == 'șir' atunci
subtabel = adevărat
local haystack = { 'TiriExtra', 'Education', 'Replacements'}
dacă in_array (k, fân) atunci
valoare1 = valoare1 și „<br/>” valoare1 ..
value2 = value2 și '<br/>' value2 ..
Sfârșit
root : tag ( 'tr' )
: Etichetă ( „TD”): wikitext (value1): done ()
: Etichetă ( „TD”): wikitext (etichetă): done ()
: Etichetă ( „TD”): wikitext (valoare2): făcut ()
Sfârșit
Sfârșit
returnează tabelul și mw. html . creat ( „TD”): attr ( „colspan”, 5): nod (rădăcină) sau nul
Sfârșit

- Returnează tabelul HTML principal urmat de o etichetă hr
Funcția de întâlnire : getHTML ()
background local = sine. args. Fundal == 'pe' și 'idc-alb' sau 'idc-lavandă'
local root = mw . html . create ( 'tabel' )
: AddClass ( „idc-mainTable” .. fundal)
: Attr ( „id”, sine. Args. Id)
: Etichetă ( „tr”)
: Etichetă ( „TD”): wikitext (self: _getLeftContent ()): done ()
: Etichetă ( „TD”): wikitext (self: _renderTeam (1)): done ()
: Etichetă ( „TD”): wikitext (self: _getMiddleContent ()): done ()
: Etichetă ( „TD”): wikitext (self: _renderTeam (2)): done ()
: Etichetă ( „TD”): wikitext (self: _getRightContent ()): done ()
: Gata ()
rădăcină
: Node (self: _getStatsTableNode ()): done ()
ToString return (root) .. '<hr>'
Sfârșit

- Funcție pentru {{Club Meeting}} și {{International Meeting}}
funcția p . principal ( cadru )
argumente locale = {cadru. args [1]}
local styles = 'Modul: întâlnire sportivă / styles.css'
local current_page = mw . titlu . getCurrentTitle ()
local current_namespace = current_page . spațiu de nume
errorcat current_namespace = ~ = 0 și  sau string.format (errorcat,
args [1] == „club” și „internațional” sau „club”)
- încărcați argumente pe baza apelului șablon
pentru k, v în perechi (cadru: getParent (). args) do
dacă k ~ = 1 și v = nul și ~ v ~ = '' și
(Args [1] == 'club' și nu in_array (k, int_args) sau
args [1] == „internațional” și nu in_array (k, club_args)) atunci
args [ k ] = v
Sfârșit
Sfârșit
retur cadru : extensionTag {
nume = 'șabloane' ,
args = { src = styles }
} .. Întâlnire: nouă (args): getHTML ()
Sfârșit

retur p