Views para relacionamento 1:N - Cutomizar Template do Scaffolding
31/03/2012 21:21
0
Senhores, boa tarde.

Acho que o Grails me deixou um pouco vagabundo rss...

... antes ficava repetindo processo/código a doidado sem me incomodar tanto e agora quando me deparo com uma situação que "vou ter que fazer a mesma coisa para essa classe" eu fico triste rss (DRY)

Bom,

Há um tempo atrás eu aprendi como criar uma view dinâmica para adicionar/remover childs da classe pai usando jquery para controlar a parte do javascritpt. Minha referência foi esse link aqui que inclusive recomendo para quem estiver inicando com grails - cedo ou tarde vc vai esbarrar em necessidade semelhante.

O X da questão é que, "no mundo real", boa parte das classes possui ao menos um relacionamento 1:N e dessas, a grande maioria devia ter uma pagina de edição que permitisse (amigavelmente) a inclusão/exclusão de novos dependents....

[Na minha opinião - posso estar falando besteira - o scaffold padrão do grails devia abrir uma div/frame/popup com a classe filho em modo edição (já recebendo os atributos do pai como parametro) e após a edição, retornar para a página de edição do pai]

Eu queria ter algumas referencias de como eu posso aproveitar esse posta para customizar as views que são geradas dinamicamente para que eu não tenha que fazer muitas e muitas vezes.

Procurei um plugin para fazer esse trabalho (não reiventar a roda) mas infelizmente não tem... então um tcham a mais seria se pudesse customizar o template do scaffold de forma meio plugavel para inclusive poder compartilhar posteriormente.

No blog pessoal do Kico eu encontrei uma aula em vídeo (3º da Série) que fala de invocação de metodos e propriedades de forma dinâmica... (PQP, diga-se de passagem! pirei qnd vi) e acho que de certa forma poderia ser usado para gerar os gsps de template/javascript

... ou é muita viagem para um padawan em grails... que vai ter que continuar camelando e repetindo atividades rss!

Ficou bem extenso... bem mesmo, qualquer luz é legal..

mesmo que seja uma "não tem como" rss....

ABs!
Tags: 1:N, crud, scaffold, plugin, hasMany, custom, template, ideia


0
Oi Rafael,

neste caso, acredito que sua trilha será solitária Padawan! :D

O que você precisa é de um scaffolding dinâmico que gere os formulários mestre-detalhe pra você dinamicamente. Nunca vi nada semelhante e, quando encontro-me nestas situações, normalmente me pego reinventando a roda.

Mas sabe de uma coisa? Não desanime: se bobear, você acabou de descobrir uma possibilidade de plugin a ser escrito que pode dar um boost na sua carreira. Talvez valha à pena investir um tempinho estudando a parte dinâmica do Groovy e, em seguida, aplicando-a na criação de views personalizáveis.

Se eu não estivesse tão atarefado neste momento, iria lhe sugerir iniciar este projeto junto, no entanto, pra não te deixar completamente sozinho, tome meu e-mail: loboweissmann@gmail.com

Vou te ajudar no que for possível ok?


0
Henrique!

Eu também estou bastante enrolado aonde eu trabalho.. e com o meu projetinho paralelo que eu finalmente estou vendo tomar forma, mas vou tentar amadurecer a ideia e esteja certo que vou gritar pra vc qnd der de frente... quer dizer... quando enroscar com uma dificuldade mais pesada.

Mas acho que não vai ser "por agora não". Eu agradeço muito sua pré-disposição em me ajudar.. e ajudar todo mundo também rss..

Vou seguir sua recomendação de entender mais a fundo a parte dinâmica do Groovy para depois sim abraçar essa ideia...De fato eu to no começo da jornada.. e vai ser mais saudavel conhecer mais antes de levar pra frente isso (que certamente não será muito fácil e que, me conhecendo, pode me desmotivar e me fazer deixar pela metade)

à propósito comprei um tablet xing-ling para facilitar a leitura e me trazer um pouco de economia também.. GOSTO de livros, mas GASTO mt tmbém. Vi no seu blog que o melhor investimento do ano passado tinha sido um tablet xing-ling e resolvi fazer o mesmo investimento... daqui uns 30 dias chega ;) [CHINAAA!]

Abração e sucesso pra nozes!

RC
02/04/2012 22:06


0
Henrique,

Tive uma evoluçãozinha no conceito, mas não do jeito que "profissional" de se fazer...rss

Eu injetei nas minhas gsps de edição uma div vazia com o id da classe filha para fazer um teste...

Também já conseguir passar a classe pai como parâmetro do "add child" e fiz através de um remoteLink que chama a gsp create da child, atualizando essa div.

O "problema" é que o método save do controller(padrão) dá um redirect para a view do child recém-criado.

Consigo facilmente editar o template dos controllers gerados no scaffold, mas minha dúvida é:
qual a melhor ação para se fazer para reaproveitar o código após salvar o objeto? tem uma sugestão?

Pensei em adicionar nos "add child" um parametro "fecharDepoisQueSalvar = 1" e no meu save() fazer um if... se não existir, dá um redirect... mas se existir dá um hide na div

Abs

04/04/2012 20:56



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto