Mensagem em ShowModal

42 views
Skip to first unread message

Leandro Paz

unread,
Aug 30, 2017, 3:41:28 PM8/30/17
to web2py-users-brazil
Boa tarde pessoal, estou com grid e inseri um link dentro de um dos campos para exibir em uma janela modal um determinado texto (resumo com várias linhas), o código abaixo está funcionando entretanto não sei por que o cabeçalho e o botão fechar não aparece.
Os dados de cabeçalho aparece bem rápidos e são cobertos pelo resumo. 

Fico grato se alguém puder dá uma luz no html.


## no controler antes do SQLFORM.grid(... ###########################
    dbatividade.descricao.represent = lambda valorBD,row: [
            B(str(row.atividade.tipo.descricao)+ ': '),
            valorBD+ ' - (Id: '+str(row.atividade.id)+') ',
            A('(VER RESUMO)',callback=URL(f='myaction',args=[row.atividade.id]),target="dados_resumo",**{"_data-toggle":"modal","_data-target":".janela_resumo"})
    ]


def myaction():

    id_ativ=request.args(0)
    linha_atividade=db(db.atividade.id==id_ativ).select(db.atividade.id,db.atividade.descricao,db.atividade.resumo)

    resultado=linha_atividade[0].resumo

    # na view pode colocar assim
    # <div id="dados_resumo"> </div>
    # onde dados_resumo e o target informado no botao

    return  resultado  #DESCONFIO QUE O PROBLEMA SEJA AQUI. Será que tenho que passar com alguma TAG ou CLASS?


## Na view o cabeçalho e botão de fechar não aparece #########################################


<div class="modal fade janela_resumo" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" >
  <div class="modal-dialog modal-lg"  role="document">
    <div class="modal-content">
    <div class="modal-header"> 
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">fechar</span>
</button> 
<h4 class="modal-title" id="myLargeModalLabel">Resumo</h4>

</div> 
<div class="modal-body"> 
{{=linha_evento[0].titulo}}


</div>
    </div>
  </div>
</div>



###### O código abaixo chama o janela modal e exibe o cabeçalho e o botão de sair
# Aqui o resumo não foi inserido só pra ter conferir se não tinha algum erro no html


<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".kkk">Large modal</button> 

<div class="modal fade kkk" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" >
  <div class="modal-dialog modal-lg"  role="document">
    <div class="modal-content">
    <div class="modal-header"> 
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">fechar</span>
</button> <h4 class="modal-title" id="myLargeModalLabel">Resumo</h4>

</div> 
<div class="modal-body"> 
{{=linha_evento[0].titulo}}


</div>
      
    </div>
  </div>
</div>

Carlos Costa

unread,
Aug 31, 2017, 7:35:32 AM8/31/17
to web2py-us...@googlegroups.com
Seu CSS ou provavelmente seu html nessa view podem estar quebrados em outra parte.
Porque esse trecho aí parece estar funcionando normalmente.


--
Você recebeu essa mensagem por estar inscrito no grupo web2py-users-brazil.
Para enviar uma mensagem ao grupo, envie email a: web2py-users-brazil@googlegroups.com
Para se desinscrever, envie email a: web2py-users-brazil+unsub...@googlegroups.com
Para mais opções, visite o site do grupo em: http://groups.google.com/group/web2py-users-brazil?hl=en
---
Você recebeu essa mensagem porque está inscrito no grupo "web2py-users-brazil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para web2py-users-brazil+unsub...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.



--


Carlos J. Costa
Cientista da Computação  | BS Computer Science
Esp. Gestão em Telecom   |
PgC Telecom Mangement
<º))><

Leandro Paz

unread,
Sep 1, 2017, 8:48:12 PM9/1/17
to web2py-users-brazil
Carlos obrigado por tentar ajudar, mas não consegui sanar o problema. 

Segue solução provisória, infelizmente não consegui mostrar em show modal então devido a urgência resolvi ocultar o grid ou a mensagem de acordo com o clique no link, depois vou estudar um pouco mais de javascript pra ver se consigo ler os valores do grid ou do banco de dados via JavaScript.

Por hora vou deixar assim mesmo:

## no controler antes do SQLFORM.grid(... ###########################

    dbatividade.descricao.represent = lambda valorBD,row: [
            B(str(row.atividade.tipo.descricao)+ ': '),
            valorBD+ ' - (Id: '+str(row.atividade.id)+') ',
            (
                A(
                '(Ver Resumo)',callback=URL(f='myaction',args=[row.atividade.id]),_class="botao_gatilho",target="dados_resumo"
                ) if not row.atividade.resumo in [None,'']
                else ''
            ),

    ]


# No models ################
def myaction():

    id_ativ=request.args(0)
    linha_atividade=db(db.atividade.id==id_ativ).select(db.atividade.id,db.atividade.descricao,db.atividade.resumo)

    resumo=linha_atividade[0].resumo
    #response.flash =resumo

    # na view pode colocar assim
    # <div id="ver_resumo"> </div>
    # onde ver_resumo e o target informado no botao

    mensagem= DIV(  DIV(    [   DIV(
                                    [   B(linha_atividade[0].descricao),
                                        A('Fechar',_class="close")
                                    ],
                                    _class="modal-header"),
                                DIV(resumo,_class="modal-body")
                            ],
                        _class="modal-content"),
                _class="modal-dialog modal-lg")

    return mensagem

###Na view##################

<div class="programacao">
{{=grid_programacao}}
</div>

<script>
jQuery('.botao_gatilho').click(function(){
jQuery('.mensagem_resumo').show();
jQuery('.programacao').hide();
});
</script>

<!--Pega dados passados pela target "dados_resumo" -->
<div class ="mensagem_resumo"   id="dados_resumo"  >  </div>

<!--Se clicar em qualquer local para fechar -->
<script>
jQuery('.mensagem_resumo').click(function(){
jQuery('.mensagem_resumo').hide();
jQuery('.programacao').show();
});
</script>
Reply all
Reply to author
Forward
0 new messages