Skip to content

Cheat Sheet XYZDialog.ts

Rafael edited this page Feb 8, 2019 · 6 revisions

Modificar o título:

protected updateTitle(): void {
    this.dialogTitle = (this.isNew()) ? "Novo XYZ" : "Editar XYZ";
}

Esconder Botões (Nesse exemplo, está removendo o botão de "Aplicar alterações")

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;
}

Clone this wiki locally