Skip to content

Instantly share code, notes, and snippets.

@dancornilov
dancornilov / environment.interceptor.ts
Last active May 11, 2021 13:05
Environment HttpInterceptor
import {Injectable} from '@angular/core';
import {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';
import {Observable} from 'rxjs/Observable';
import {environment} from '../../../environments/environment';
@Injectable()
export class EnvironmentInterceptorService implements HttpInterceptor {
constructor() {
}
@dancornilov
dancornilov / token.interceptor.ts
Last active December 27, 2018 16:39
Token HttpInterceptor
import {Injectable} from '@angular/core';
import {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';
import {Observable} from 'rxjs/Observable';
import {AuthService} from '../services/auth.service';
@Injectable()
export class TokenInterceptor implements HttpInterceptor {
constructor(private auth: AuthService) {
@dancornilov
dancornilov / status.interceptor.ts
Last active December 27, 2018 16:36
Status HttpInterceptor
import 'rxjs/add/operator/do';
import {HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse} from '@angular/common/http';
import {Injectable} from '@angular/core';
import {Observable} from 'rxjs/Observable';
import {Router} from '@angular/router';
@Injectable()
export class StatusInterceptor implements HttpInterceptor {
constructor(private router: Router) {
}
@dancornilov
dancornilov / loader.module.ts
Created January 22, 2019 16:50
Loader Module
import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {LoaderComponent} from './loader/loader.component';
import {LoaderService} from './loader.service';
@NgModule({
imports: [
CommonModule
],
declarations: [
@dancornilov
dancornilov / loader.component.html
Created January 22, 2019 17:08
Loader Component Template
<div class="preloader">
<div class="loader"></div>
</div>
@dancornilov
dancornilov / loader.component.scss
Last active January 23, 2019 13:36
Loader Component Styles
.preloader {
z-index: 2;
background-color: #fff;
top: 0;
left: 0;
width: 100%;
height: 100%;
&.global {
position: fixed;
@dancornilov
dancornilov / loader.service.ts
Last active January 23, 2019 15:10
Loader Component Service
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { Loader } from './loader.model';
@Injectable()
export class LoaderService {
private loader = new BehaviorSubject<Loader>({id: 'global', status: false});
loaderStatus$ = this.loader.asObservable();
@dancornilov
dancornilov / loader.component.ts
Created January 23, 2019 15:46
Loader Component
import {Component, Input, OnInit} from '@angular/core';
import {LoaderService} from '../loader.service';
import {Loader} from '../loader.model';
@Component({
selector: 'app-loader',
templateUrl: './loader.component.html',
styleUrls: ['./loader.component.scss']
})
export class LoaderComponent implements OnInit {
@dancornilov
dancornilov / app.module.ts
Last active March 26, 2019 13:17
Module with translation configuration
import { NgModule } from '@angular/core';
import { HttpClientModule, HttpClient } from '@angular/common/http';
import { BrowserModule } from '@angular/platform-browser';
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
import { AppComponent } from './app.component';
export function HttpLoaderFactory(http: HttpClient) {
return new TranslateHttpLoader(http);
}
{
"validators": {
"required": "{{field}} is required!",
"email": "E-mail is not valid!",
"minlength": "{{field}} should have minimum {{length}} characters!",
"maxlength": "{{field}} should have maximum {{length}} characters!",
"min": "{{field}} minimum values is {{value}}!",
"max": "{{field}} maximum values is {{value}}!",
"pattern": "{{field}} have incorrect format!",
"customValidation": "Here will be custom message for your custom validation."