Pessoal, estou começando a estudar Flex, utilizando o Flesh Builder 4 e o BlazeDS 4 para integração com Java.
Basicamente eu tenho 2 dúvidas:
Como (ou qual componente usar) criar um “modal” em Flex, um modal que seja usado para um CRUD por exemplo?
Como reutilizar as páginas já prontas?
Exemplo:
Minha aplicação terá por exemplo 10 telas de cadastro.
Digamos que todos estes formulários compartilham dos seguintes itens:
Labels: Nome, Endereço (Rua, bairro, cep, número, cidade, estado) e seus respectivos inputs.
Botões: Novo Cadasto, Editar Cadastro, Salvar Cadastro e Excluir Cadastro.
É um exemplo simples, a aplicação real talvez tenha mais cadastros. A idéia é: como utilizar de forma a escrever menos código possível (menos telas) e otimizar o tempo de desenvolvimento.
Bom, como eu poderia criar uma tela “base” com estes dados citados e reutilizar estas telas? De forma que por exemplo, em um cadastro específico entre estes 10 que citei, eu gostaria de realizar algumas operações a mais nos métodos de salvar, editar, novo e excluir. Seria apenas esta a diferença.
Uma outra coisa, atualmente utilizo facelets, e me ajuda muito a desenvolver a forma “orientada a objetos” do facelets. No caso, eu queria ter idéia de como utlizar este formulário basico que citei acima e criar um novo arquivo mxml, que extenda este formulário básico e acrescente alguns campos novos. Teria como?
Então cara, para tela modal, geralmente eu utilizo o TitleWindow.
Já para reaproveitar telas, tentei fazer um exemplo aqui, vamos ver se é mais ou menos isso que você precisa.Não sei se é a melhor maneira
de fazer isto, mas aparentemente deu certo.
1 - Montei um application que servirá como base para as outras telas.
<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;
import mx.controls.TextInput;
public function init():void
{
var tela:TelaBase = new TelaBase();
var txt:TextInput = new TextInput();
txt.x = 50;
tela.addChild(txt);
PopUpManager.addPopUp(tela,this);
}
]]>
</mx:Script>
</mx:Application>
Observe que no creationcomplete, o método init será inicializado.Este método por sua vez, cria uma tela à partir da tel base
( var tela:TelaBase = new TelaBase(); ), após isto, um TextInput é criado via código-fonte, e adicionado à tela através do método addChild()