VRaptor com Jquery

9 respostas
kivervinicius

[i]Bom dia a todos, eu estou fazendo uma aplicação e estou tentando “simular” uma aplicação desktop(DIALOGOS, DOCK’S, Etc), tentei fazer usando jquery, carregando ajax, mas o ajax não carrega funções javascript que seriam primordiais para validação de formulários e datepickers eu li e sei que o vraptor tem alta performace com ajax, minha pergunta é a seguinte já que eu não posso carregar os formulários via ajax, tem alguma outra forma que o vraptor possa me ajudar? a iniciativa era não ter refresh mas já que não tem jeito poderá haver, só que eu queria que cada formulário abrisse em um dialogo, pensei em includes, via jsp há essa forma? não sei se fui compreensível, se alguém poder me ajudar agradeço.

[]'s[/i]

9 Respostas

Luiz_Aguiar

Tentou o JQueryUI?
http://jqueryui.com/

[]s

kivervinicius

Sim utilizo já o jquery ui, tanto no meu post

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

eu fiz uma função para gerar as janelas dialogs mas oque acontece é quando utilizo algum validador nos formulários ou datepicker no formulário que requisito via ajax, somente traz os conteudos html’s e descobri que ajax não traz javascript, então pensei em alguma solução mais agradavel invez de usar iframe que seria minha segunda opção, estava lendo o guia do vraptor e estava estudando sobre as views e integração com o ajax, então pensei q teria alguma maneira mais sutil de utilizar tal, com o próprio vraptor, outra opção seria usar algum include para cada dialogo, mas não sei se esta é a forma correta.

rdgms

Você não esta conseguindo carregar formularios com @Remotable ??? ( não sei se é assim no vraptor 3)

boneazul

@kivervinicius
descobri que ajax não traz javascript

lógico que traz…e ainda executa…ou injeta se voce quiser…google usa muito isso…

uma solução que eu uso é colocar iframe dentro de caixa de diálogo…por varios motivos e vantagens…primeiro que voce garante acesso de vários pontos distintos a uma mesma interface…segundo que sua navegação é facilmente modificada…consumir um formulario inteiro via ajax com as validações não sei se seria tão vantajoso…

kivervinicius

boneazul:
@kivervinicius
descobri que ajax não traz javascript

lógico que traz…e ainda executa…ou injeta se voce quiser…google usa muito isso…

Ola boneazul obrigado pela resposta, então isso que fiquei intrigado o orkut usa muito isso carregamento via ajax, e eles usam muito javascript, mas quando uso o método load do jquery nada mais funciona pois o ajax carrega somente a pagina e não os scripts.

então vc utiliza os dialogos com iframe? já utilizei muito de iframes em 2005 mas fui amplamente criticado por ser incompatível em alguns navegadores, me falaram que não “indexava” tal mas como é um sistema não imagino q tenha certos problemas, eu optei postar aqui, pois eu estava vendo a parte de views e ajax no site do vraptor e pensei que poderia ter algum tipo de solução diferente

Lucas_Cavalcanti

dá uma olhada:
http://api.jquery.com/jQuery.ajax/

especificamente na option dataType:

kivervinicius

Então mas o negócio é que as funções do jquery são declaradas não onready,
vou testar em casa mais sobre isso, será que utilizar iframe dentro dos dialogs fica bom? é certo isso?

kivervinicius

Boa noite galera, procurei na internet e até agora não encontrei a minha solução por agora fiz uma modificacao na minha função adicionando um parametro para verificar se usa ajax ou não se usa cria um iframe no parent... Sim é uma baita de uma gambiarra, rsr, mas por enquanto soluciona meu problema, se alguem podesse dar uma outra opnião agradeceria muito.

se quiserem utilizar é só baixar o .zip do post q eu mencionei anteriormente e atualizar com esse código abaixo. []`s e obrigado a quem me ajudou.. :wink:
function criaJanela(id,icone,titulo,pagina,tamH,tamW,modal,botoes,ajax){
			var parametros = {
				icon: icone,
				icon_draggable: true,
				dock: "#dock",
				dock_sortable: true,
				collapsed: false,
				title:titulo
			}
			
			var div = document.getElementById(id);
			if (div) {
				return false;
			}
			
			$('body').append('<div id='+id+' title='+titulo+' style="overflow:hidden;"><div id=dvCont'+id+'></div></div>');
			
			result = $('#'+id).dialog({ closeOnEscape: false, 
							   height: tamH,
							   width:tamW,
							   modal:modal,
							   title:titulo,
							   maxHeight:screen.availHeight - 170,
							   maxWidth:screen.width -50,
							   stack: true,
							   focus: function() {
								   },
							   close: function() {
								var div = document.getElementById(id);
								 if (div) {
								 	div.parentNode.removeChild(div);
								 }
							   },
							   buttons: botoes
							});
			
			if (ajax == true){ 
				$('#dvCont'+id).load(pagina);	
				//$('#'+id).iconize(parametros);
			}else
			{
				$('#dvCont'+id).append('<iframe src='+pagina+' allowtransparency="yes" frameborder="0"  style="width:100%;height:100%;"></iframe>');
				$('iframe').height(screen.height);
				}
						
			
			if (modal != true){ 
				$('#'+id).iconize(parametros);
			}
			
			$('.iconizer').hover(
				function() { $(this).addClass('ui-state-hover'); }, 
				function() { $(this).removeClass('ui-state-hover'); }
			);
			
			return result;
		}
kivervinicius

Bom dia amigos, encontrei uma janela q por enquanto está solucionando os meus problemas com web desktop,

http://prototype-window.xilinus.com/samples.html

[]'s

Criado 28 de maio de 2010
Ultima resposta 29 de mai. de 2010
Respostas 9
Participantes 5