Skip to content

Instantly share code, notes, and snippets.

View leifermendez's full-sized avatar
👋
Focusing

Leifer Mendez leifermendez

👋
Focusing
View GitHub Profile
@leifermendez
leifermendez / write-json-file.js
Created June 28, 2021 07:18
write-json-file.js
const fs = require('fs');
let student = {
name: 'Mike',
age: 23,
gender: 'Male',
department: 'English',
car: 'Honda'
};
@leifermendez
leifermendez / sdk-leifer.html
Last active June 2, 2021 13:45
sdk-leifer.html
<script>
(function(window) {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src =
'https://test-hosting-leifer.s3-us-west-2.amazonaws.com/sdk-test.js';
var x = document.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s, x);
})(window);
const invalidHost = [
'aoniqrgga',
'js-ezdmowa'
]
const URL = 'http://localhost:4200';
var queryParams, lmBubble, lmBubbleCta, lmOverError, lmCancelBtn, lmContinueBtn, lmAgainBtn;
const styles = `.lm {
font-family: Arial, Helvetica, sans-serif;
background-color: white;
@leifermendez
leifermendez / custom-sdk.html
Last active May 27, 2021 11:49
custom-sdk.html
<script>
(function () {
/** getElementById('btn-email') lo puedes dejar o cambiar por lo que quieres ejemplo getElementById('boton-call-to-action') **/
/** En tu HTML ejemplo <button id="boton-call-to-action">Click</button> **/
const btnEmail = document.querySelectorAll('.btn-call-action-form-custom');
[...btnEmail].forEach((btn) => {
@leifermendez
leifermendez / login-s.service.ts
Created May 17, 2021 15:36
login-s.service.ts
import {Injectable} from '@angular/core';
import {HttpClient} from "@angular/common/http";
import {Observable} from "rxjs";
@Injectable({
providedIn: 'root'
})
export class LoginSService {
private url = 'http://localhost:3000'
@leifermendez
leifermendez / roles.guard.ts
Created May 10, 2021 06:51
roles.guard.ts
import {Injectable} from '@angular/core';
import {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree} from '@angular/router';
import {Observable} from 'rxjs';
import {UserService} from './user.service';
@Injectable({
providedIn: 'root'
})
export class RolesGuard implements CanActivate {
@leifermendez
leifermendez / role.directive.ts
Created May 10, 2021 06:50
role.directive.ts
import {Directive, Input, OnInit, TemplateRef, ViewContainerRef} from '@angular/core';
import {RoleUser} from './app.component';
import {UserService} from './user.service';
@Directive({
selector: '[appRole]'
})
export class RoleDirective implements OnInit {
private currentUser: RoleUser;
private permissions = [];
searchTenant(text) {
// debounce
return timer(100)
.pipe(
switchMap(() => {
// Check if username is available
return this.post(`check`, {domain: text})
})
);
}
@leifermendez
leifermendez / tenantValidator.ts
Created May 4, 2021 10:26
tenantValidator.ts
tenantValidator(): AsyncValidatorFn {
return (control: AbstractControl): Observable<{ [key: string]: any } | null> => {
return this.searchTenant(control.value)
.pipe(
map(res => {
if (res.errors) {
return {tenantIdExists: false};
}
})
);
@leifermendez
leifermendez / test-form-asyn.ts
Created May 4, 2021 10:24
test-form-asyn.ts
this.form = this.formBuilder.group({
tenantId: [
null,
Validators.compose(
[Validators.required,
Validators.minLength(3),
Validators.maxLength(15),
Validators.pattern('^[a-zA-Z0-9]+$')],
),
this.rest.tenantValidator()