Skip to content

Instantly share code, notes, and snippets.

View oHervis's full-sized avatar

Alexandro Willian Hervis oHervis

View GitHub Profile
@oHervis
oHervis / formatCurrency
Created June 24, 2021 20:16
Função para formatar moeda a partir de qualquer string com valor
function formatCurrency(valor) {
const valorCagado = valor.replaceAll('.', '').replaceAll(',', '').replaceAll(/\D/g, '')
const valueWithoutZeros = parseFloat(valorCagado).toString()
arrValorCagado = valueWithoutZeros.split('')
arrValorCagado.splice(arrValorCagado.length - 2, 0, '.')
return Number(arrValorCagado.join('')).toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' });
@oHervis
oHervis / main.js
Created August 7, 2018 16:50
WebSpeech API
onstart() {
this.isRecording = true;
this.transcription = '';
this.transcriptionElement.innerText = '';
this.btnTranscription.innerHTML = 'Gravando';
this.btnTranscription.classList.add('recording');
}
onend() {
this.isRecording = false;
this.btnTranscription.classList.remove('recording');
@oHervis
oHervis / main.js
Created August 7, 2018 16:49
WebSpeech API
init() {
this.audioRecordApi.start();
this.audioRecordApi.continuos = true;
this.audioRecordApi.interimResults = true;
this.audioRecordApi.lang = 'pt-BR';
this.audioRecordApi.onstart = this.onstart.bind(this);
this.audioRecordApi.onend = this.onend.bind(this);
this.audioRecordApi.onresult = this.onresult.bind(this);
}
@oHervis
oHervis / main.js
Created August 7, 2018 16:49
WebSpeech API
render() {
this.btnTranscription.addEventListener('click', () => {
this.isRecording ? this.audioRecordApi.stop() : this.init();
});
}
@oHervis
oHervis / main.js
Created August 7, 2018 16:48
WebSpeech API
// É bom lembrar que em um ambiente real de desenvolvimento,
// essa classe deverá ser abstraida ainda mais. Mas para fins de didatica, deixaremos tudo em apenas uma ;)
class SpeechTranscription {
constructor() {
this.btnTranscription = document.getElementById('button-record');
this.transcriptionElement = document.getElementById('transcription');
this.transcription = '';
this.isRecording = false;
this.audioRecordApi = new SpeechApi();
@oHervis
oHervis / main.js
Created August 7, 2018 16:47
WebSpeech API
import SpeechApi from './SpeechApi';
window.addEventListener('DOMContentLoaded', () => {
if (SpeechApi) {
const speechRecognition = new SpeechTranscription();
speechRecognition.render();
return;
}
document.getElementById('main').innerHTML = 'API não esta disponível';
});
@oHervis
oHervis / SpeechApi.js
Created August 7, 2018 16:46
WebSpeech API
const SpeechRecognition =
window.SpeechRecognition || window.webkitSpeechRecognition;
export default SpeechRecognition;
@oHervis
oHervis / index.html
Created August 7, 2018 16:44
WebSpeech API
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WebSpeech API - Javascript </title>
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
</head>
@oHervis
oHervis / writeinpage.js
Last active October 23, 2017 12:28
Write in page
let init = (function () {
let div = document.querySelector('h1');
let texto = 'Quero meu texto escrito bem devagar!';
const renderText = (str, elemento) => {
div.innerText = '';
let char = str.split('').reverse();
let typer = setInterval(() => {
@oHervis
oHervis / twoway.html
Created May 2, 2017 14:36
JavaScript Pure - Two-way data binding
<!DOCTYPE html>
<html>
<body>
<p> JavaScript - Two-way data binding</p>
<input type="text" id="myInput" oninput="twoWay()">
<p id="demo"></p>
<p id="resultado"></p>