Front End

12 ago, 2008

Janelas de Diálogo

Publicidade

Neste artigo iremos estudar como funcionam as janelas de diálogo. A forma de exibi-las é bastante simples, e você pode criá-las a qualquer momento do seu código.

Existe um exemplo completo no seguinte endereço:

http://extjs.com/deploy/dev/examples/message-box/msg-box.html

Não há necessidade de reproduzir os mesmos exemplos aqui, mas iremos criar um exemplo que engloba algumas técnicas utilizadas.

Se você leu os nossos artigos anteriores e baixou o Ext, crie um arquivo chamado mensagens.html na pasta de exemplos do Ext e adicione o seguinte conteúdo:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Exemplo com mensagens</title>
	<!-- EXT  Início -->
	<link rel="stylesheet" type="text/css" href="../resources/css/ext-all.css" />
	<script type="text/javascript" src="../adapter/ext/ext-base.js"></script>
	<script type="text/javascript" src="../ext-all.js"></script>
	<!-- EXT Fim -->
	<script language="javascript">
		Ext.onReady(function() {
		});
	</script>	
<body>
	<input type="button" id="btn1" value=" Um simples alert "/><br/><br/>
	<input type="button" id="btn2" value=" Perguntando ao usuário "/>	<br/><br/>
	
</body>
<html>

Temos então três botões, aos quais iremos atribuir funcionalidades do ext. O código abaixo será inserido dentro do método onReady do Ext.

<script language="javascript">
		Ext.onReady(function() {
			var btn1 = Ext.get("btn1");
			var btn2 = Ext.get("btn2");
			
btn1.on("click",function(e){
			Ext. MessageBox.alert(´Alert´, ´Simples Alert....´);
			});
		});
	</script>

Veja que, para o “btn1”, inserimos um código muito simples, passando dois parâmetros, que são o Título e a mensagem ao usuário. Para que possamos criar uma mensagem melhor, com diversos parâmetros, ícones e com uma resposta personalizada, devemos configurar a caixa de diálogo da seguinte forma:

btn2.on("click",function(e){
				Ext.MessageBox.show({
					id: "msg2"
					,title:´Salvar?´
					,msg: ´Deseja Salvar?´
					,buttons: Ext. MessageBox.YESNO
					,icon: Ext.MessageBox.QUESTION
				});
			});

Atribuímos ao segundo botão um conjunto de propriedades para a sua configuração. Definimos o título, mensagem, quais são os botões da mensagem e qual o ícone que será utilizado.

Os botões disponíveis para uma caixa de diálogo são:

Ext. MessageBox.YESNO

Ext. MessageBox.YESNOCANCEL

Ext. MessageBox.OKCANCEL

Ext. MessageBox.OK

Ext. MessageBox.CANCEL

Os ícones disponíveis são:

Ext. MessageBox.Error

Ext. MessageBox.INFO

Ext. MessageBox.QUESTION

Ext. MessageBox.WARNING

Além destas propriedades, é possível atribuir um método que será chamado quando o usuário clicar em um botão da caixa de mensagem. Este método é atribuído pela propriedade “fn”. Veja:

btn2.on("click",function(e){
				Ext.MessageBox.show({
					id: "msg2"
					,title:´Salvar?´
					,msg: ´Deseja Salvar?´
					,buttons: Ext.Msg.YESNO
					,fn: msgBoxClick
					,icon: Ext.MessageBox.QUESTION
				});
			});
			function msgBoxClick(button){
				Ext.MessageBox.alert("Resposta","Você clicou em: " + button);
 			}

Abraços!