Merge pull request #1876 from leonelcamara/bs4checkboxes
Update bootstrap from a v4-alpha version to the latest release
This commit is contained in:
@@ -13,14 +13,17 @@
|
||||
'**%(items)s** items, **%(bytes)s** %%{byte(bytes)}': '**%(items)s** items, **%(bytes)s** %%{byte(bytes)}',
|
||||
'**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '**not available** (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'?': '?',
|
||||
'@markmin\x01An error occured, please [[reload %s]] the page': 'An error occured, please [[reload %s]] the page',
|
||||
'@markmin\x01Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)': '``**not available**``:red (requires the Python [[guppy http://pypi.python.org/pypi/guppy/ popup]] library)',
|
||||
'About': 'About',
|
||||
'About': 'Sobre',
|
||||
'Access Control': 'Controle de acesso',
|
||||
'admin': 'administrador',
|
||||
'Administrative Interface': 'Interface Administrativa',
|
||||
'Administrative interface': 'Painel Administrativo',
|
||||
'Ajax Recipes': 'Formulas Ajax',
|
||||
'An error occured, please [[reload %s]] the page': 'Ocorreu um erro, por favor [[recarregue %s]] a página',
|
||||
'API Example': 'API Example',
|
||||
'appadmin is disabled because insecure channel': 'appadmin está desactivada pois o canal é inseguro',
|
||||
'Are you sure you want to delete this object?': 'Tem a certeza que quer deletar este objeto?',
|
||||
'Author Reference Auth User': 'Author Reference Auth User',
|
||||
@@ -73,27 +76,31 @@
|
||||
'Disk Cache Keys': 'Disk Cache Keys',
|
||||
'Disk Cleared': 'Disk Cleared',
|
||||
'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'DISK contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Documentation': 'Documentation',
|
||||
"Don't know what to do?": "Don't know what to do?",
|
||||
'Documentation': 'Documentação',
|
||||
"Don't know what to do?": 'Não sabe o que fazer?',
|
||||
'done!': 'concluído!',
|
||||
'Download': 'Download',
|
||||
'E-mail': 'E-mail',
|
||||
'Edit': 'Editar',
|
||||
'edit category': 'edit category',
|
||||
'edit comment': 'edit comment',
|
||||
'edit category': 'editar categoria',
|
||||
'edit comment': 'editar comentário',
|
||||
'Edit current record': 'Edição de registo currente',
|
||||
'edit post': 'edit post',
|
||||
'edit post': 'editar post',
|
||||
'edit profile': 'Editar perfil',
|
||||
'Edit This App': 'Edite esta aplicação',
|
||||
'Email': 'Email',
|
||||
'Email and SMS': 'Email and SMS',
|
||||
'Errors': 'Errors',
|
||||
'Email and SMS': 'Email e SMS',
|
||||
'Enter an integer between %(min)g and %(max)g': 'Enter an integer between %(min)g and %(max)g',
|
||||
'Errors': 'Erros',
|
||||
'export as csv file': 'exportar como ficheiro csv',
|
||||
'FAQ': 'FAQ',
|
||||
'First name': 'First name',
|
||||
'First Name': 'First Name',
|
||||
'For %s #%s': 'For %s #%s',
|
||||
'Forms and Validators': 'Forms and Validators',
|
||||
'Free Applications': 'Free Applications',
|
||||
'Graph Model': 'Graph Model',
|
||||
'Grid Example': 'Grid Example',
|
||||
'Groups': 'Groups',
|
||||
'Hello World': 'Olá Mundo',
|
||||
'Helping web2py': 'Helping web2py',
|
||||
@@ -106,10 +113,11 @@
|
||||
'insert new': 'inserir novo',
|
||||
'insert new %s': 'inserir novo %s',
|
||||
'Internal State': 'Estado interno',
|
||||
'Introduction': 'Introduction',
|
||||
'Introduction': 'Introdução',
|
||||
'Invalid Query': 'Consulta Inválida',
|
||||
'invalid request': 'Pedido Inválido',
|
||||
'Key': 'Key',
|
||||
'Last name': 'Last name',
|
||||
'Last Name': 'Last Name',
|
||||
'Layout': 'Esboço',
|
||||
'Layout Plugins': 'Layout Plugins',
|
||||
@@ -117,8 +125,9 @@
|
||||
'Live Chat': 'Live Chat',
|
||||
'Log In': 'Log In',
|
||||
'login': 'login',
|
||||
'Login': 'Login',
|
||||
'logout': 'logout',
|
||||
'Lost Password': 'Lost Password',
|
||||
'Lost Password': 'Perdeu a Senha',
|
||||
'Main Menu': 'Menu Principal',
|
||||
'Manage %(action)s': 'Manage %(action)s',
|
||||
'Manage Access Control': 'Manage Access Control',
|
||||
@@ -128,7 +137,7 @@
|
||||
'Modified By': 'Modified By',
|
||||
'Modified On': 'Modified On',
|
||||
'My Sites': 'My Sites',
|
||||
'Name': 'Name',
|
||||
'Name': 'Nome',
|
||||
'New Record': 'Novo Registo',
|
||||
'new record inserted': 'novo registo inserido',
|
||||
'next %s rows': 'next %s rows',
|
||||
@@ -136,7 +145,7 @@
|
||||
'No Data': 'No Data',
|
||||
'No databases in this application': 'Não há bases de dados nesta aplicação',
|
||||
'Number of entries: **%s**': 'Number of entries: **%s**',
|
||||
'Online book': 'Online book',
|
||||
'Online book': 'Livro Online',
|
||||
'Online examples': 'Exemplos online',
|
||||
'or import from csv file': 'ou importe a partir de ficheiro csv',
|
||||
'Other Plugins': 'Other Plugins',
|
||||
@@ -160,13 +169,17 @@
|
||||
'RAM Cache Keys': 'RAM Cache Keys',
|
||||
'Ram Cleared': 'Ram Cleared',
|
||||
'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.': 'RAM contains items up to **%(hours)02d** %%{hour(hours)} **%(min)02d** %%{minute(min)} **%(sec)02d** %%{second(sec)} old.',
|
||||
'Recipes': 'Recipes',
|
||||
'Recipes': 'Receitas',
|
||||
'Record': 'registo',
|
||||
'record does not exist': 'registo inexistente',
|
||||
'Record id': 'id de registo',
|
||||
'Register': 'Register',
|
||||
'register': 'register',
|
||||
'Register': 'Registar',
|
||||
'register': 'registar',
|
||||
'Registration identifier': 'Registration identifier',
|
||||
'Registration key': 'Registration key',
|
||||
'Remember me (for 30 days)': 'Lembrar de mim (por 30 dias)',
|
||||
'Replyto Reference Post': 'Replyto Reference Post',
|
||||
'Reset Password key': 'Reset Password key',
|
||||
'Role': 'Role',
|
||||
'Roles': 'Roles',
|
||||
'Rows in Table': 'Linhas numa tabela',
|
||||
@@ -183,12 +196,14 @@
|
||||
'show category': 'show category',
|
||||
'show comment': 'show comment',
|
||||
'show post': 'show post',
|
||||
'Sign Up': 'Sign Up',
|
||||
'Sign Up': 'Registar-se',
|
||||
'Sign up': 'Registar-se',
|
||||
'Size of cache:': 'Size of cache:',
|
||||
'state': 'estado',
|
||||
'Statistics': 'Statistics',
|
||||
'Stylesheet': 'Folha de estilo',
|
||||
'submit': 'submit',
|
||||
'submit': 'submeter',
|
||||
'Submit': 'Submit',
|
||||
'Support': 'Support',
|
||||
'Sure you want to delete this object?': 'Tem a certeza que deseja eliminar este objecto?',
|
||||
'Table': 'tabela',
|
||||
@@ -212,9 +227,10 @@
|
||||
'Welcome %s': 'Bem-vindo(a) %s',
|
||||
'Welcome to Gluonization': 'Bem vindo ao Web2py',
|
||||
'Welcome to web2py': 'Bem-vindo(a) ao web2py',
|
||||
'Welcome to web2py!': 'Welcome to web2py!',
|
||||
'Welcome to web2py!': 'Bem-vindo(a) ao web2py!',
|
||||
'When': 'When',
|
||||
'Which called the function %s located in the file %s': 'Which called the function %s located in the file %s',
|
||||
'Wiki Example': 'Wiki Example',
|
||||
'Working...': 'Working...',
|
||||
'You are successfully running web2py': 'You are successfully running web2py',
|
||||
'You can modify this application and adapt it to your needs': 'You can modify this application and adapt it to your needs',
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,7 +1,4 @@
|
||||
ul.navbar-nav.navbar-right {
|
||||
position: absolute;
|
||||
right: 100px;
|
||||
}
|
||||
|
||||
label, th {
|
||||
font-weigth: bold;
|
||||
white-space: nowrap;
|
||||
@@ -318,9 +315,6 @@ td.w2p_fc,
|
||||
.web2py_grid table {
|
||||
width: 100%;
|
||||
}
|
||||
input[type=checkbox], input[type=radio] {
|
||||
margin: 4px 4px 0 0;
|
||||
}
|
||||
|
||||
/* for backward compatbility with pre-font-awesome */
|
||||
.icon.plus,.icon.arrowleft,.icon.download,.icon.trash,.icon.pen,.icon.arrowright,.icon.magnifier {
|
||||
@@ -337,4 +331,4 @@ input[type=checkbox], input[type=radio] {
|
||||
.icon.trash:before { content: "\f1f8";}
|
||||
.icon.pen:before { content: "\f040";}
|
||||
.icon.arrowright:before { content: "\f061";}
|
||||
.icon.magnifier:before { content: "\f002";}
|
||||
.icon.magnifier:before { content: "\f002";}
|
||||
|
||||
11
applications/welcome/static/js/bootstrap.min.js
vendored
11
applications/welcome/static/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
2444
applications/welcome/static/js/popper.js
Normal file
2444
applications/welcome/static/js/popper.js
Normal file
File diff suppressed because it is too large
Load Diff
@@ -10,10 +10,10 @@
|
||||
{{
|
||||
if request.args(0)=='login':
|
||||
if not 'register' in auth.settings.actions_disabled:
|
||||
form.add_button(T('Sign Up'),URL(args='register', vars={'_next': request.vars._next} if request.vars._next else None),_class='btn btn-default btn-secondary')
|
||||
form.add_button(T('Sign Up'),URL(args='register', vars={'_next': request.vars._next} if request.vars._next else None),_class='btn btn-default btn-secondary ml-1')
|
||||
pass
|
||||
if not 'request_reset_password' in auth.settings.actions_disabled:
|
||||
form.add_button(T('Lost Password'),URL(args='request_reset_password'),_class='btn btn-default btn-secondary')
|
||||
form.add_button(T('Lost Password'),URL(args='request_reset_password'),_class='btn btn-default btn-secondary ml-1')
|
||||
pass
|
||||
pass
|
||||
=form
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
<body>
|
||||
<div class="w2p_flash alert alert-dismissable">{{=response.flash or ''}}</div>
|
||||
<!-- Navbar ======================================= -->
|
||||
<nav class="navbar navbar-toggleable-md navbar-light bg-faded">
|
||||
<nav class="navbar navbar-expand-lg navbar-light bg-faded">
|
||||
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
@@ -63,7 +63,7 @@
|
||||
<input class="form-control mr-sm-2" type="text" placeholder="Search">
|
||||
</form>
|
||||
{{if 'auth' in globals():}}
|
||||
<ul class="navbar-nav navbar-right">
|
||||
<ul class="navbar-nav ml-lg-auto"">
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
{{if auth.user:}}{{=auth.user.first_name}}{{else:}}LOGIN{{pass}}
|
||||
@@ -111,6 +111,7 @@
|
||||
</footer>
|
||||
{{end}}
|
||||
<!-- The javascript =============================== -->
|
||||
<script src="{{=URL('static','js/popper.js')}}"></script>
|
||||
<script src="{{=URL('static','js/bootstrap.min.js')}}"></script>
|
||||
<script src="{{=URL('static','js/web2py-bootstrap4.js')}}"></script>
|
||||
{{block page_js}}{{end page_js}}
|
||||
|
||||
@@ -1106,14 +1106,16 @@ def formstyle_bootstrap4_stacked(form, fields):
|
||||
if controls['_type'] == 'button':
|
||||
controls.add_class('btn btn-secondary')
|
||||
elif controls['_type'] == 'file':
|
||||
controls.add_class('input-file')
|
||||
controls.add_class('form-control-file')
|
||||
elif controls['_type'] in ('text', 'password'):
|
||||
controls.add_class('form-control')
|
||||
elif controls['_type'] == 'checkbox':
|
||||
elif controls['_type'] == 'checkbox' or controls['_type'] == 'radio':
|
||||
controls.add_class('form-check-input')
|
||||
label['_for'] = None
|
||||
label.add_class('form-check-label')
|
||||
label.insert(0, controls)
|
||||
label.insert(0, ' ')
|
||||
_controls = DIV(label, _help, _class="checkbox")
|
||||
_controls = DIV(label, _help, _class="form-check")
|
||||
label = ''
|
||||
elif isinstance(controls, (SELECT, TEXTAREA)):
|
||||
controls.add_class('form-control')
|
||||
@@ -1142,7 +1144,6 @@ def formstyle_bootstrap4_inline_factory(col_label_size=3):
|
||||
Experimental!
|
||||
"""
|
||||
def _inner(form, fields):
|
||||
form.add_class('form-horizontal')
|
||||
label_col_class = "col-sm-%d" % col_label_size
|
||||
col_class = "col-sm-%d" % (12 - col_label_size)
|
||||
offset_class = "col-sm-offset-%d" % col_label_size
|
||||
@@ -1162,19 +1163,19 @@ def formstyle_bootstrap4_inline_factory(col_label_size=3):
|
||||
controls.add_class('input-file')
|
||||
elif controls['_type'] in ('text', 'password'):
|
||||
controls.add_class('form-control')
|
||||
elif controls['_type'] == 'checkbox':
|
||||
label['_for'] = None
|
||||
elif controls['_type'] == 'checkbox' or controls['_type'] == 'radio':
|
||||
controls.add_class('form-check-input')
|
||||
label.add_class('form-check-label')
|
||||
label.insert(0, controls)
|
||||
label.insert(1, ' ')
|
||||
_controls = DIV(DIV(label, _help, _class="checkbox"),
|
||||
_class="%s %s" % (offset_class, col_class))
|
||||
label = ''
|
||||
#label.insert(0, ' ')
|
||||
_controls = DIV(DIV(label, _help, _class="form-check"), _class="%s" % col_class)
|
||||
label = DIV(_class="sm-hidden %s" % label_col_class)
|
||||
elif isinstance(controls, (SELECT, TEXTAREA)):
|
||||
controls.add_class('form-control')
|
||||
|
||||
elif isinstance(controls, SPAN):
|
||||
_controls = P(controls.components,
|
||||
_class="form-control-static %s" % col_class)
|
||||
_class="form-control-plaintext %s" % col_class)
|
||||
elif isinstance(controls, UL):
|
||||
for e in controls.elements("input"):
|
||||
e.add_class('form-control')
|
||||
|
||||
Reference in New Issue
Block a user