Skip to content

Instantly share code, notes, and snippets.

View jjvillavicencio's full-sized avatar

John Villavicencio jjvillavicencio

View GitHub Profile
@jjvillavicencio
jjvillavicencio / flutter-getX-scaffold.md
Last active June 9, 2021 19:36
Personal scaffold for Flutter projects with GetX
lib
|-- data
|   |-- environment.dart
|   |-- models
|   |   |-- api_response_model.dart
|   |   |-- login_request_model.dart
|   |   |-- login_response_model.dart
|   |-- providers
| | |-- api_rest_provider.dart
@jjvillavicencio
jjvillavicencio / marker_network_image.dart
Created April 14, 2020 19:51
Flutter GoogleMaps custom marker with network image
final int targetWidth = 120;
final File markerImageFile = await DefaultCacheManager()
.getSingleFile("${Enviroment.server}$avatar");
final Uint8List markerImageBytes = await markerImageFile.readAsBytes();
final Codec markerImageCodec = await instantiateImageCodec(
markerImageBytes,
targetWidth: targetWidth,
);
@jjvillavicencio
jjvillavicencio / main.dart
Created October 22, 2019 20:09 — forked from RajaShanmugamJM/main.dart
Polyline support in Google Maps Flutter
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
void main() => runApp(Main());
class Main extends StatefulWidget {
@override
_MainState createState() => _MainState();
@jjvillavicencio
jjvillavicencio / dots_indicator.dart
Created July 26, 2019 17:14 — forked from dnys1/dots_indicator.dart
Carousel widget in Flutter
import 'dart:math';
import 'package:flutter/material.dart';
class DotsIndicator extends AnimatedWidget {
const DotsIndicator({
@required this.controller,
@required this.itemCount,
@required this.onPageSelected,
this.color = Colors.white,
import { AbstractControl, ValidatorFn } from '@angular/forms';
import libphonenumber from 'google-libphonenumber';
export class PhoneValidator {
// Inspired on: https://github.com/yuyang041060120/ng2-validation/blob/master/src/equal-to/validator.ts
static validCountryPhone = (countryControl: AbstractControl): ValidatorFn => {
let subscribe: boolean = false;
return (phoneControl: AbstractControl): {[key: string]: boolean} => {
@jjvillavicencio
jjvillavicencio / phone.validator.ts
Created April 23, 2019 19:05 — forked from djabif/phone.validator.ts
Angular Phone + Country Validator
//Complete example for Ionic Framework in: https://ionicthemes.com/tutorials/about/forms-and-validation-in-ionic
//Complete example for Angular 5 in: https://angular-templates.io/tutorials/about/angular-forms-and-validations
import { AbstractControl, ValidatorFn } from '@angular/forms';
import * as libphonenumber from 'google-libphonenumber';
export class PhoneValidator {
// Inspired on: https://github.com/yuyang041060120/ng2-validation/blob/master/src/equal-to/validator.ts
static validCountryPhone = (countryControl: AbstractControl): ValidatorFn => {
@jjvillavicencio
jjvillavicencio / password.validator.ts
Created April 23, 2019 19:04 — forked from djabif/password.validator.ts
Password Validator for ionic apps
import { FormControl, FormGroup } from '@angular/forms';
export class PasswordValidator {
static areEqual(formGroup: FormGroup) {
let val;
let valid = true;
for (let key in formGroup.controls) {
if (formGroup.controls.hasOwnProperty(key)) {
let control: FormControl = <FormControl>formGroup.controls[key];
@jjvillavicencio
jjvillavicencio / form.ts
Created April 23, 2019 19:04 — forked from djabif/form.ts
Ionic Password validator
import { PasswordValidator } from '../../validators/password.validator';
this.matching_passwords_group = new FormGroup({
password: new FormControl('', Validators.compose([
Validators.minLength(5),
Validators.required,
Validators.pattern('^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]+$') //this is for the letters (both uppercase and lowercase) and numbers validation
])),
confirm_password: new FormControl('', Validators.required)
}, (formGroup: FormGroup) => {
return PasswordValidator.areEqual(formGroup);
@jjvillavicencio
jjvillavicencio / README-Template.md
Created April 18, 2019 03:47 — forked from PurpleBooth/README-Template.md
A template to make good README.md

Project Title

One Paragraph of project description goes here

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

var fecha = new Date();
var horaActual = fecha.getHours();
var saludo;
if (horaActual > 18) {
saludo = 'Buenas noches, '
} else if (horaActual > 12) {
saludo = 'Buenas tardes, '
} else if (horaActual > 0) {
saludo = 'Buen día, '