stringtranslate.com

Módulo:Barra

require ( 'Módulo:Clase Lua' ) require ( 'estricto' ) BarBox local = clase ( 'BarBox' , { _css = 'Módulo:Bar/styles.css' , __init = function ( self , args ) self . css = args [ 1 ] o args . css self . float = args [ 2 ] o args . float o 'none' self . backgroundcolor = args [ 3 ] o args . backgroundcolor o 'white' self . borderwidth = args [ 4 ] o args . borderwidth o '1' self . style = args [ 5 ] o args . style self . width = args [ 6 ] o args . width -- o 'auto' self . barwidth = args [ 7 ] o args . barwidth o '100px' self . lineheight = args [ 8 ] o args.lineheight -- o ' 1.6 ' self.title = args [ 9 ] o args.title self.titlebar = args [ 10 ] o args.titlebar -- o ' none ' self.left1 = args [ 11 ] o args.left1 self.left2 = args [ 12 ] o args.left2                                                                  self.right1 = args [ 13 ] o args.right1 self.right2     = args [ 14 ] o args.right2 self.bars = args [ 15 ] o args.bars self.caption = args [ 16 ] o args.caption -- obsoleto self.footer = args [ 17 ] o args.footer o args [ 16 ] o args.caption fin , crear = function ( cls , args ) args = mw.clone ( args ) args.float = args.float y args.float : lower ( ) args.width = tonumber ( args.width ) y args.width .. ' px ' o args.width y args.width : lower ( ) args .ancho de barra = tonumber ( args.ancho de barra ) y args.ancho de barra .. 'px' o args.ancho de barra y args.ancho de barra : lower () devuelve cls ( args ) fin , _sDefaultAlign = 'lrlr' , _tDefaultAlign = { false , ' r' , false , 'r' }, _setAlign = function ( obj , align )                                                               obj._alignClasses = {}   para i , d en ipairs ( obj._tDefaultAlign ) hacer local a = align : sub ( i , i ) si a == 'l' entonces a = falso de lo contrario si a == ' d' entonces a = d de lo contrario si a ~= 'c' y a ~= ' r' entonces error ( 'align['no reconocido' .. i .. ']' ) fin obj._alignClasses [ i ] = a y 'class=bb-' .. a fin fin , html = function ( self ) salida local = { } marco local = mw.getCurrentFrame () salida [ 1 ] = marco : extensionTag ( ' templatestyles' , ' ' , { src = self._css } ) .. ' \ n ' salida [ 2 ] = self . css y frame : extensionTag ( ' templatestyles' , '' , { src = self.css } ) .. ' \ n ' o '' clase local = 'barbox' si self.float == 'izquierda' o self.float == ' derecha ' entonces clase = clase .. 't' .. self.float fin salida [ 3 ] = ' < div class ="' ..clase ..                                                                                     '" style="background:'  ..  self . backgroundcolor  .. '; border:' .. self . borderwidth .. 'px plata sólida' .. ( self . float == 'center' y '; margin:0 auto' o '' ) .. ( self . width y '; width:' .. self . width o '' ) .. ( self . style y '; ' .. self . style o '' ) .. '"> \n ' .. '{|' .. ( self . lineheight y ' style="line-height:' .. self . lineheight .. '"' o '' ) .. ' \n ' salida [ 4 ] = self . title y '|+ class=bb-default' .. ( self . titlebar y ' style="background:' .. self . titlebar .. '"' o '' ) .. ' | \n ' .. self . title .. ' \n ' o '' salida [ 5 ] = '|- class=bb-default style="font-size:88%; min-height:4px" \n ' si self . _alignClasses entonces -- igual que self.__class._alignClasses self . _alignClasses = self . _alignClasses self . __class . _alignClasses = nil de lo contrario self . _setAlign ( self , self . _sDefaultAlign ) fin atributos locales = no self .left2 y 'colspan=2' .. ( self .                                                                            _alignClasses [ 1 ]  y  ' '  ..  self . _alignClasses [ 1 ]  o  '' )  o  self . _alignClasses [ 1 ] salida [ 6 ] = '!' .. ( atributos y atributos .. '|' o '' ) .. ( self . left1 o ' ' ) salida [ 7 ] = self . left2 y '!!' .. ( self . _alignClasses [ 2 ] y self . _alignClasses [ 2 ] .. '|' o '' ) .. self . left2 o '' salida [ 8 ] = '!!style="width:' .. self . barwidth .. '"| ' atributos = no self . right2 y 'colspan=2' .. ( self . _alignClasses [ 4 ] y ' ' .. self . _alignClasses [ 4 ] o '' ) o self . _alignClasses [ 3 ] salida [ 9 ] = ' !!' .. ( atributos y atributos .. ' | ' o ' ' ) .. ( self.right1 o self.right2 y ' ' o ' ' ) salida [ 10 ] = self.right2 y ' !! ' .. ( self._alignClasses [ 4 ] y self ._alignClases [ 4 ] ..                                                                              '|'  o  '' )  ..  self . right2  o  '' salida [ 11 ] = ' \n ' salida [ 12 ] = self . bars y self . bars .. ' \n ' o '' si self . caption entonces salida [ 15 ] = ' \n [[Categoría:Páginas que usan el cuadro bar con el parámetro caption obsoleto]]' de lo contrario salida [ 15 ] = '' fin salida [ 13 ] = self . footer y '|- clase=bb-default \n | colspan=5 style="padding:5px 0" | ' .. -- <p> se crea si \n precede al pie de página self . footer .. ' \n ' o '' salida [ 14 ] = '|} \n </div>' return table.concat ( output ) end , __tostring = function ( self ) return self . html () fin , porcentaje = función ( argumentos ) salida local = {} porcentaje local = ( argumentos [ 3 ] o '0' ) .. '%' salida [ 1 ] = ' |-' .. ( argumentos.bg y 'style="background:' .. argumentos.bg .. ' "' o ' ' ) .. ' \n ' salida [ 2 ] = '|colspan=2 clase=bb-min8| ' ..( args [ 1 ] o ' ' ) salida [ 3 ] = '||clase=bb-b|'                                                                  salida [ 4 ]  =  '<div style="background:'  ..  ( args [ 2 ]  o  'gris' )  ..  '; ancho:'  ..  porcentaje  ..  '">​</div>' salida [ 5 ] = '||' .. ( args . nota y '' o 'colspan=2 clase=bb-r|' ) .. ( args [ 4 ] o porcentaje ) salida [ 6 ] = args . nota y '||clase=bb-r|' .. args . nota o '' return table.concat ( salida ) fin , píxel = función ( argumentos ) salida local = {} píxeles locales = args [ 3 ] o '0' salida [ 1 ] = ' |-' .. ( argumentos.bg y 'style="background:' .. args.bg .. ' "' o ' ' ) .. ' \n ' salida [ 2 ] = '|colspan=2|' .. ( argumentos [ 1 ] o ' ' ) salida [ 3 ] = '||class=bb-b|' salida [ 4 ] = '<div estilo="background:' .. ( argumentos [ 2 ] o 'gris' ) .. '; ancho:' .. píxeles .. 'px">