Framework Click

O getDataContext().commitChanges(); é só um exemplo, integração com o Cayenne.

Se vc fizer assim, vai retornar a lista de objetos já alterados:

List list = formTable.getRowList();

Ricardo,
Muito obrigado, funcionou !

valeu mesmo …
[]'s

Olá Pessoal…

Alguém poderia me dar uma força aqui, estou meio perdido com o IDE do Eclipse
Oque eu preciso instalar para começar a desenvolver utilizando o Click?

Partindo do princípio que tenho o Eclipse instalado sem plugin algum por enquanto…
Ele não tem opção para criar Web projetos servelet… tenho que instalar o plugin para Jboss? ou para Tomcat?? Ou ambos ou nenhum… ou tenho que instalar o WTP (Web tools project)

Efim oque eu teria que instalar no Eclipse para utilizar o Click e aumentar a produtividade?

Obrigado

Aqui estou utilizando eclipse + webtools.
Plugin tem o:
ClickIDE http://www.sunvolt.com/confluence/display/CLKT/ClickIDE
EclipseWork http://www.guj.com.br/posts/list/39895.java

[]'s

[quote=macfly2500]Olá Pessoal…

Alguém poderia me dar uma força aqui, estou meio perdido com o IDE do Eclipse
Oque eu preciso instalar para começar a desenvolver utilizando o Click?[/quote]
Bom, com tantas dúvidas eu sugiro vc estudar o básico. Tipo Servlets+JSP, e um servlet container como o Tomcat.

Tem artigos aqui no guj sobre isto.

E sobre a produtividade, o Click é produtivo justamente porque é simples e simples de customizar, não pelo fato de ter ferramentas. As vezes as ferramentas só escondem a complexidade da coisa.

abraço

Este vídeo mostra um pouco do EclipseWork, e como gerar uma aplicação CRUD com Click, lendo as tabelas do banco de dados.

http://www.guj.com.br/posts/list/40171.java

Olá,

Muita gente tem me perguntado como faz para customizar o html gerado pelo click, uma vez que aquele $form chama o toString() no objeto Form que por sua vez renderiza todos os campos.

No FAQ existem 5 maneiras;
http://click.sourceforge.net/docs/faq.html#html-control

1 - Customizando o css. É possível customizar muita coisa no control.css para a Form e Tabelas

2 - A form tem várias opções para customizar o layout:
http://click.sourceforge.net/docs/click-api/net/sf/click/control/Form.html#auto-layout

3 - Pode-se fazer uma subclasse de Form e Table e sobrescrever o toString()

4 - Usar uma macro do velocity
http://click.sourceforge.net/docs/click-api/net/sf/click/control/Form.html#velocity-macros

5 - Se nada adiantar, faça tudo no braço:
http://click.sourceforge.net/docs/click-api/net/sf/click/control/Form.html#manual-layout

Então por exemplo: $form.fields.nome imprime o textfield nome. E $form.fields.salvar imprime o botão Salvar.

Ricardo, muito legal os exemplos.

Teria algo para customizar o Table/FormTable ?

Uma dúvida, preciso criar um javascript para marcar/desmarcar todos os checkbox do FormTable, para permitir múltiplas exclusão por exemplo, qual seria a melhor maneira de fazer isso ?

Outra dúvida, no FormTable possui um imagem com um link, usei o Decorator para adicionar a imagem com link, agora preciso quando clicar no link da imagem, abrir uma nova janela (popup) somente com essa imagem, teria alguma idéia de como poderia estar fazendo ?

obrigado pela atenção.

O vídeo creio que não está mais acessível…

O consumo de transferência de banda do site passou do limite do meu plano na locaweb :wink:

Vou colocar no sourceforge depois.

Tem que sobrescrever o toString da classe, tá querendo mamão com acúcar demais :slight_smile:

Vc pode ter dois atributos to tipo CheckBox nesta sua Table customizada. No toString, vc adiciona uma linha antes das outras, tipo um header. E chama o toString() destes checkboxes… é uma idéia.

Um decorator pode fazer isto, basta retornar uma String com o código javascript.

Olá, coloquei no sourceforge:
http://sourceforge.net/project/showfiles.php?group_id=98634&package_id=202055&release_id=443838

Show de bola este framework.

Nota 10. Estou baixando ja.

Tem como usar o Tiles nele?

Tiles é acoplado ao Struts. Vc pode tentar o Sitemesh da Opensymphony que é muito melhor.

Mas o Click já tem suporte nativo para layouts.

http://click.sourceforge.net/docs/best-practices.html#templating

http://click.sourceforge.net/docs/pages.html#page-templating

[quote=ricardolecheta]Tiles é acoplado ao Struts. Vc pode tentar o Sitemesh da Opensymphony que é muito melhor.

Mas o Click já tem suporte nativo para layouts.

http://click.sourceforge.net/docs/best-practices.html#templating

http://click.sourceforge.net/docs/pages.html#page-templating[/quote]

obrigado ricardo
:wink:

Vou usar o suporte nativo entao.

Uma coisa legal q gostaria que tivesse no Click (talvez tenha e q eu nao vi ainda) é um melhor tratamento de eventos javascript nos componentes HTML… como por exemplo o onKeyDown e o onMouseMove sem q tivesse a necessidade de fazer um component.setAttribute() passando o nome da função javascript q depois vai ter q ser escrita no template…

é claro q da pra fazer esses métodos no componente… mas a programação da função javascript ainda teria q estar no template… pq acho q escrever o corpo da função JS no setAttribute fica meio porco…

a mesma coisa vale pra eventos de esconder um componente… ou ter um listener para teclado… essas coisas…
O Click é um framework excelente… mas falta algumas coisas pra ficar realmente produtivo…

eu nao sei o q eu acho melhor… Se prefiro um framework bem clean, porém é quase certo q todas as features serão usadas, e no caso de se precisar mais é só estende-lo… Ou se prefiro um framework parrudo q no final das contas não iremos usar nem 30% dos recursos em determinados projetos e q fica mais complexo…
Acho q fico com a primeira opção! :smiley: …Mas pra quem prefere a segunda opção eu recomendaria o GWT… Mas na minha opinião, o Click é mais produtivo (para coisas mais simples) e é bem estensível…

abraços!

Daniel,

conforme vc mesmo relatou, um framework simples muitas vezes precisa ser extendido.

tem um frase do autor do Click que é assim: “The design philosophy behind Click is best summarized in the Swedish word lagom which translates to not too little or too much, but optimal.”

O motivo para nao existir features como estas, é que o click tem um design para aplicações comercias de verdade, e algumas viadagens tipo features que servem para marketing e bla bla bla nao existem. Se vc for aplicar o Click em sua empresa, vc vai customizá-lo de acordo com suas necessidades, o que é algo bem simples. Se customizar os layouts fica show de bola, por exemplo se vc faz sempre aplicações para um mesmo cliente, isto será extremamento útil.

Lembre-se, quanto mais features, mais difícil de entender o framework, e também é necessário mais documentação.

discordo.

Me de um exemplo sobre quando ele não é produtivo?

Concordo inteiramente com o Ricadro, aliás esse foi um dos motivos para que eu escolhesse o click, simples mas de fácil customização.
Criar novos componentes, ou customizar os existentes é fácil.

Em relação a escrever o JS no template, eu particularmente prefiro dessa forma. Crio um .js e apenas importo ele através de getHtmlImports. Ou seja as funções não ficam nem no componente nem no template, ficam em um arquivo js separado, além de deixar tanto o template como o código do componente mais clean, estas funcçoes não precisam ser carregadas a cada nova página pois ficam no cache do browser.

[quote=ricardolecheta]

discordo.

Me de um exemplo sobre quando ele não é produtivo?[/quote]

como eu disse… o Click é mais produtivo… mas pq eu disse q é para coisas mais simples? pq simplesmente vc tem a necessidade de implementar mtos eventos javascript nos componentes, incluindo listeners… coisa que no GWT ja está implementado…
mas o Click é mto produtivo SIM! e como eu disse tb, adoro o fato dele ser clean e nós termos que estende-lo para fazer qualquer tipo de componente! (ainda mais por ser mto simples de crirar novos componentes) :smiley:
apenas comentei q o GTW seria mais produtivo para coisas maiores (justamente pq esses tipos de coisas já estão implementadas)

abraços!

Estava lendo a documentação do click… muito fácil de usar!

Li um livro de struts para iniciar e apanhei um monte pra entender…

Esse click é mais intuitivo, mais fácil…

Gostei muito…

Parabéns!