MasterTextInput v0.1 - Open Source

Flex, MasterTextInput, componentes Add comentario

Pessoal,

Desenvolvi um componente para Flex chamado MasterTextInput. Totalmente Open Source e projeto criado no Google Code.

O MasterTextInput estende as características de um TextInput com novas funcionalidades e facilidades implementada para nos ajudar no nosso dia-a-dia.

Segue a lista das Funcionalidades já desenvolvidas nesta versão v0.1:

== AUTO TEXT CASE TYPE ==

Desc: Transformar automaticamente o texto digitado em minúscula ou maiúscula.
Propriedade:
capsType()
Valores:

- normal : Sem case [DEFAULT]
- lowercase : Transforma em Minúscula

- upercase : Transforma em Maiúscula
- init : Transforma a primeira letra de cada palavra em Maiúscula o resto em minúscula.

== AUTO TAB ON <ENTER> KEY PRESS ==

Desc: Automaticamente coloca o foco no próximo componente ao pressionar a tecla <ENTER>. Realiza a mesma função da tecla <TAB>
Propriedade:
nextFocusOnEnter()
Valores:

- true : Ativa função [DEFAULT]
- false : Inativa função

Eventos:

- enterPressed : Disparado ao pressionar a tecla <ENTER>. Pode ser usado para implementações customizadas.

== AUTO RESTRICT ==
Desc:
Restrições de input de texto já implementadas.
Propriedade:
onlyRestrict()
Valores:
- none : Não realiza restrição [DEFAULT]
- number : Aceita apenas caracteres numéricos
- alphabetic : Aceita apenas texto
- alphabeticNoSpecial : Aceita apenas texto, porém não aceita caracteres especiais como : @ - / * & …

Observação:
Para restrições customizadas pode-se continuar utilizando a propriedade restrict().

== EMBEDED VALIDATORS ==
Desc:
Validação embutida. Não será mais necessário criar <Validators> por fora para cada campo. Já existirá as validações automáticas apenas setando uma propriedade do MasterTextInput. As mensagens de Validação já são automaticamente traduzidas para o Português/Inglês/Espanhol sem a necessidade de nenhum tipo de implementação.
Propriedade:
validator()
Valores:

- none : Sem validação automática [DEFAULT]
- email : Validação de E-mail
- phone : Validação de telefone

- number : Validação de número

- string : Validação de string
- date : Validação de data

Observações:
- Todas as propriedades específicas de cada validador também existe no MasterTextInput. Como por exemplo FormatInput para validador de data, MaxValue para Number, MaxLenght para String e assim para todas as outras propriedades padrões dos validadores.
- Existe um objeto Publico chamado “currentValidator” ele irá sempre apontar para o validador atual do seu MasterTextInput, assim você poderá via AS modificar qualquer característica do validador dinamicamente, associar ele a um Array para validação agrupada e qualquer outra função.
- As propriedades Trigger() e TriggerEvent() existem no MasterTextInput para que seja possível definir quando será disparada a validação do campo. O momento padrão é ao sair o foco do componente.
- Todas as validações estão com as características implementadas por DEFAULT do Brasil, como por exemplo, a formatação da data como DD/MM/YYYY, separador decimal como (,) separador de milhar como (.) e assim sucessivamente.

Propriedade:
ValidationLanguage()
Desc:
Esta propriedade terá a língua que será mostrada as mensagens de validação dos Validadores do MasterTextInput.
Valores:

- portuguese : Todas as mensagens de validação ficam em Português. [DEFAULT]
- english : Mensagens de validação em inglês.

- spanish : Mensagens de validação em espanhol.

Observações:

- Pode-se modificar a linguagem dinamicamente setando este propriedade via Action Script.

== CLEAR BUTTON ==
Desc:
Mostrará um botão com um ícone em “X” no momento em que algum texto for digitado no MasterTextInput. Ao clicar o botão o campo será limpo.
Propriedade:
showClearButton()
Valores:
- true : Mostra botão [DEFAULT]
- false : Não mostra botão

Implementações em andamento para versão v0.2:
== Auto Formatadores ==

- Formatar DATA

- Formatar CEP

- Formatar CNPJ

- Formata CPF

- Formatar Telefone

- Formatação customizada : ###.###.##-##

== Validadores para CPF, CNPJ e IP ==
== Undo e Redo ==
== Label Prompt ==

Peço a quem estiver interessado, realizar o download no site do projeto.
Favor realizem testes e contribuam com novas idéias para serem implementadas afim de deixar este componente bem completo.

Site do Projeto: http://code.google.com/p/mastertextinput/
Site Flexpernambuco: http://www.flexpernambuco.com.br/
Sugestões enviar para: juliano.mendes@flexpernambuco.com.br

Espero que gostem!

Abraços,
Juliano Mendes

7 Responses to “MasterTextInput v0.1 - Open Source”

  1. André Christian Says:

    Parabens Juliano,

    Vai ajudar o pessoal do flex. estarei postando algumas solucoes que vai ajudar bem o pessoal

  2. Ubirajara Says:

    Parabéns pela idéia.
    Parabéns por torna-la open-source.

  3. Alexandre Says:

    Juliano,
    não estou conseginte boblear a opação showClearButton.
    Estou utilizando desta forma :
    e mesmo assim aparece a imagem de limpar.

  4. Jonecir Says:

    Olá Juliano,

    Muito bom seu trabalho, parabéns! Estou montando uma pequena aplicação para cadastro de clientes e pedidos. Você tem idéia de quando estará disponivel os Validadores para CPF e CNPJ?

    Obrigado e um abraço.

  5. Romualdo Says:

    Procurando um formatador para telefone, cep, cpf/cnpj
    encontrei alguns bacanas, mas complicados. “O cara é inesperiente no assunto…”
    Dai criei uma classe para fazer tais os tipos de formatação em portugues é claro.
    É muito simples.
    A classe é esta:

    package caminho de classes do seu projeto
    {
    public class fieldFormatter
    {
    public function fieldFormatter()
    {
    }
    import mx.events.IndexChangedEvent;
    import mx.formatters.SwitchSymbolFormatter;
    public var ssf:SwitchSymbolFormatter = new SwitchSymbolFormatter;
    public var formato:String;

    public function setFormat(format:String):void{
    formato = format;
    }

    public function removeCaracteres(text:String):String{
    var newS:String = ”;
    var i:int;
    for (i=0;i<=text.length;i++){
    if ((String(text).substr(i,1)==’0′) || (String(text).substr(i,1)==’1′) || (String(text).substr(i,1)==’2′) ||
    (String(text).substr(i,1)==’3′) || (String(text).substr(i,1)==’4′) || (String(text).substr(i,1)==’5′) ||
    (String(text).substr(i,1)==’6′) || (String(text).substr(i,1)==’7′) || (String(text).substr(i,1)==’8′) ||
    (String(text).substr(i,1)==’9′) || (String(text).substr(i,1)==’#') ){
    newS=newS+String(text).substr(i,1);
    }
    }
    return newS;
    }
    public function contaCaracteres(text:String):int{
    var resultado:int = 0;
    var i:int;
    for (i=0;i= removeCaracteres(formato).length){
    return formato;
    }
    while(caracteresValidos < tam){
    if (formato.substr(i,1) == ‘#’){
    caracteresValidos++;
    }
    i++;
    }
    res = formato.substr(0,i);
    return res;
    }
    }
    }

    Após criar esta classes, implemente no seu codigo desta forma abaixo:
    Importe a classe na aplicação. EX.: “import com.lib.fieldFormatter;
    Depois crie a variavel do tipo fieldFormatter. EX.: public var formatoTelefone:fieldFormatter;
    Inicialize a variavel… EX.: public function inittApp():void{
    formatoTelefone = new fieldFormatter();
    formatoTelefone.setFormat(’(##)####-####’);
    }

    Depois crie a função:
    public function tiTelefoneChange():void{
    tiTelefone.text = formatoTelefone.formatar(tiTelefone.text);
    tiTelefone.setSelection(tiTelefone.length+1,tiTelefone.length+1);
    }

    Agora coloque no “change” do campo a ser formatado.
    Pronto. Agora já temos um formatador de telefone, que pode ser para CEP, CPF, CNPJ, NUMEROS em geral, Campo de Valores, ETC… Basta criar e formatar a variavel do initApp da forma que voces quiserem.

    Duvidas, entrem em contato pelo email.
    Um Abraço a todos

  6. Jonecir Says:

    Caro Romualdo,

    Sua classe está incompleta e nao funciona! Por exemplo, onde está a funcão “formatar” que vc chama no código “tiTelefone.text = formatoTelefone.formatar(tiTelefone.text);”

  7. Arilson Says:

    Tem como validar todos os campos de uma só vez, mas retornar true (todos ok) ou false (algum(s) n ok) ??

Leave a Reply

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in