ale-ng2-utils

0.1.3 • Public • Published

Utils

pacote com componentes comuns entre projetos e necessários em algum momento da vida.

NPM

npm i ale-ng2-utils

Dependências

Os componentes de load dependem do fontawesome.

<!-- index.html -->
<link data-require="fontawesome@*" data-semver="4.5.0" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.css"/>

Componentes Implementados

load-input

Este componente insere um icone de carregamento em ut-load-input no canto esquerdo e desabilita o input até que o callback em [call] retorne algo. Se a promise retornar um erro na execução o icone se tornará um X, caso contrário ao final será um icone de check.

Como usar

<!-- template -->
<ut-load-input [input]="input1" [watch]="['blur', 'enter']" [call]="someAction()">
   <input type="text" #input1>
</ut-load-input>
<ut-load-input [input]="input2" [watch]="['blur', 'enter']" [call]="someAction()">
   <input type="text">
</ut-load-input>
// typescript
someAction(): Promise<any> {
   return (() => {
      return new Promise((resolve, reject) => {
        setTimeout(() => { resolve('someVelue'); }, 3000);
      })
    }).bind(this);
 }

 someActionError(): Promise<any> {
   return (() => {
      return new Promise((resolve, reject) => {
        setTimeout(() => { reject('someVelue'); }, 3000);
      })
    }).bind(this);
 }

Passe para o componente ut-load-input em [input] a templateRef da tag input que deve ser assistida nos eventos informados no array [watch]. O atributo watch suporta todos os evento providos pela DOM com exceção dos eventos de keupress/up mas suporta o valor especial 'enter' para quando se deseja escutar o evento de keypress.enter.

O atributo [call] recebe a referência para a função que deve ser chamada quando qualquer um dos eventos es [watch] ocorrer.

A função de callback deve retornar um promise ou um boolean. Note que a função retorna uma função envolvida em ( () => { } ).bind(this) isso porque a função de callback será chamada em um contexto que não é o do componente atual.

Atributos Tipo Padrão Descrição
input Obrigatório undefined templateRef da tag input que deve ser assistida nos eventos informados no array [watch].
call Obrigatório undefined Referência para a função que deve ser chamada quando um dos evento ocorrer.
watch Obrigatório undefined Array com o nome dos eventos que devem ser assistidos no input.
disable Opcional true Se o input deve ser desabitado antes callback ser chamado.
timeState Opcional 1000 Tempo pelo qual o icone de error/chack deve ficar visivel. Especificado em ms.

load-directive

Está diretiva subistitui temporariamento o conteúdo da tag por um ícone de loading. Foi projetada para ser usada em botões que chamam funções assíncronas ou esperam por promises. A função de callback deve retornar uma promise. Se a promise retornar um erro na execução o ícone se tornará um X, caso contrário ao final será um ícone de check.

Como usar

<!-- template -->
<button [utLoad]="someAction" >foo</button>
<button [utLoad]="someActionError" >foo error</button>
<button #btn1 [utLoad]="someAction" [group]="[btn1, btn2]">btn foo</button>
<button #btn2 [utLoad]="someActionError"  [group]="[btn1, btn2]">btn foo error </button>
// typescript
someAction(): Promise<any> {
   return new Promise(((resolve, reject) => {
     setTimeout(() => {
       resolve('someVelue');
     }, 3000);
   }).bind(this))
 }

 someActionError(): Promise<any> {
   return new Promise(((resolve, reject) => {
     setTimeout(() => {
       reject('someError');
     }, 3000);
   }).bind(this))
 }

Note que a função retorna uma função envolvida em ( () => { } ).bind(this) isso porque a função de callback será chamada em um contexto que não é o do componente atual.

Atributos Tipo Padrão Descrição
utLoad Obrigatório undefined Referência para a função que deve ser chamada quando um dos evento de click ocorrer.
group Opcional undefined Array de templateRef com a referência para os botões que devem ser desabilitados antes do callback ser chamado.
timeState Opcional 1000 Tempo pelo qual o icone de error/chack deve ficar visível. Especificado em ms.
event Opcional click Evento que o deve ser escutado para que o callback seja chamado.

Componentes Futuros

  • Pipe: Formatação de telefones de xxxxxxxxxxx para (xx) x xxxx-xxxx;
  • HttpItercepter: Intercepter para habilotar o CORS para uma lista de endereços especificados;
  • Service: EnderecoResolverService, traduz o cep para um endereço completo;
  • Diretiva para mascaras de input;
  • ReactiveForm Validator: Validador de CPF de acordo com as regras de composição do mesmo;
  • ReactiveForm Validator: Validador que obriga o usuário a informar apenas um de varios campos;
  • Directive: Diretiva para renderizar na tela uma imagem selecionada em um input file;
  • outros.

Dependencies (11)

Dev Dependencies (20)

Package Sidebar

Install

npm i ale-ng2-utils

Weekly Downloads

3

Version

0.1.3

License

MIT

Unpacked Size

51.9 kB

Total Files

54

Last publish

Collaborators

  • matheus-ale