Skip to content

Instantly share code, notes, and snippets.

View CristalT's full-sized avatar

Marcelo Forclaz CristalT

View GitHub Profile
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
<template>
<q-table
row-key="key"
:data="table.data"
:columns="table.columns"
:pagination.sync="table.pagination"
>
<q-tr
slot="body"
slot-scope="props"
@CristalT
CristalT / transaccion.js
Created June 13, 2019 02:49
Ejemplo de cómo buscar la numeración del próximo cliente y crearlo en la Firestore.
const data = this.cliente
const counterRef = this.$firestore.collection('contadores').doc('clientes_motos')
const clientesRef = this.$firestore.collection('clientes/motos/activos')
return this.$firestore.runTransaction(transaction => {
return transaction.get(counterRef).then(counterDoc => {
if (!counterDoc.exists) {
throw new Error('No se encontró el contador de clientes')
}
import axios from 'axios'
const axiosInstance = axios.create({
baseURL: process.env.API
})
export default ({ Vue }) => {
Vue.prototype.$axios = axiosInstance
}
/**
* @param data Object[] Ej.: [{ nombre: Marcelo, apellido: Forclaz }]
* @param fields Array Ej.: ['nombre', 'apellido']
* @param columns Array Ej.: ['Nombre', 'Apellido']
* @param filename String Ej.: 'archivo.csv'
* */
const generateCsv = (data, fields, columns, filename) => {
let csv = 'data:text/csv;charset=utf-8,'
csv += '"' + columnNames.join('","') + '"\n';
const merged = [].concat.apply([], arrays)
@CristalT
CristalT / mail-test.php
Created July 22, 2019 21:33
Ejemplo de envío de mail para aplicaciones alojadas en donweb.
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
require 'vendor/phpmailer/phpmailer/src/Exception.php';
require 'vendor/phpmailer/phpmailer/src/PHPMailer.php';
require 'vendor/phpmailer/phpmailer/src/SMTP.php';
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
@CristalT
CristalT / AutocompleteComponent.vue
Created August 28, 2019 14:54
## Componente Autocomplete para Vuejs. Reemplaza el Datalist HTML5 que presenta algunos problemas entre navegadores. ### Propiedades - input-class: clase css que se aplica al input text donde se realiza la búsqueda - placeholder: texto de campo vac
<template>
<div>
<div v-if="!loading">
<input
type="text"
:class="inputClass"
:placeholder="placeholder"
v-model="terms"
@focus="resetStatus"
@CristalT
CristalT / datepicker.vue
Created September 25, 2019 12:37
Componente Datepicker para quasar >= v1
<template>
<div>
<q-input
:outlined="outlined"
:dense="dense"
:filled="filled"
:class="inputClass"
:label="label"
:value="value"
mask="##/##/####"
await this.$axios({
url: 'apiurl',
method: 'POST',
responseType: 'blob',
data: payload
}).then(res => {
const fileURL = URL.createObjectURL(res.data);
window.open(fileURL);
})