-
Notifications
You must be signed in to change notification settings - Fork 2
Cheat Sheet XYZDialog.ts
Rafael edited this page Feb 8, 2019
·
6 revisions
protected updateTitle(): void {
this.dialogTitle = (this.isNew()) ? "Novo XYZ" : "Editar XYZ";
}
protected updateInterface() {
super.updateInterface();
this.applyChangesButton.hide();
}
Máscara de CPF/CNPJ no mesmo campo (Créditos: https://elcio.com.br/ajax/mascara/)
Uso:
protected afterLoadEntity() {
super.afterLoadEntity();
//Coloca a máscara de CPF/CNPJ no mesmo campo
this.Utils.applyMaskCPFCNPJ(this.form.NiBeneficiario.element);
}
/**
* Implementa a máscara de CPF/CNPJ em um campo de texto
* Detalhe: Limitar o campo na Row para 18 characteres e.g: [Size(18)]
* Créditos: https://elcio.com.br/ajax/mascara/
* @param elemento elemento do tipo <input type='text'> onde a máscara será aplicado
*/
public static applyMaskCPFCNPJ(elemento: JQuery) {
Utils.maskCPFCNPJ(elemento)
elemento.keyup(() => {
Utils.maskCPFCNPJ(elemento)
});
}
private static maskCPFCNPJ(elemento: JQuery) {
let valorTexto = elemento.val();
valorTexto = valorTexto.replace(/\D/g, "");
if (valorTexto.length <= 11) {
valorTexto = this.formatCpf(valorTexto);
}
else {
valorTexto = this.formatCnpj(valorTexto);
}
elemento.val(valorTexto);
}
public static formatCpf(v: string) {
v = v.replace(/\D/g, ""); //Remove tudo o que não é dígito
v = v.replace(/(\d{3})(\d)/, "$1.$2"); //Coloca um ponto entre o terceiro e o quarto dígitos
v = v.replace(/(\d{3})(\d)/, "$1.$2"); //Coloca um ponto entre o terceiro e o quarto dígitos
//de novo (para o segundo bloco de números)
v = v.replace(/(\d{3})(\d{1,2})$/, "$1-$2"); //Coloca um hífen entre o terceiro e o quarto dígitos
return v;
}
public static formatCnpj(v: string) {
v = v.replace(/\D/g, ""); //Remove tudo o que não é dígito
v = v.replace(/^(\d{2})(\d)/, "$1.$2"); //Coloca ponto entre o segundo e o terceiro dígitos
v = v.replace(/^(\d{2})\.(\d{3})(\d)/, "$1.$2.$3"); //Coloca ponto entre o quinto e o sexto dígitos
v = v.replace(/\.(\d{3})(\d)/, ".$1/$2"); //Coloca uma barra entre o oitavo e o nono dígitos
v = v.replace(/(\d{4})(\d)/, "$1-$2"); //Coloca um hífen depois do bloco de quatro dígitos
return v;
}