Skip to content

Instantly share code, notes, and snippets.

View lydemann's full-sized avatar

Christian Lüdemann lydemann

View GitHub Profile
@lydemann
lydemann / styles.scss
Created July 28, 2018 09:40
Spinner added to global style
/* You can add global styles to this file, and also import other style files */
/* Bootstrap */
@import '~bootstrap/scss/bootstrap';
@import "styles/spinner";
import { Overlay, OverlayRef } from '@angular/cdk/overlay';
import { ComponentPortal } from '@angular/cdk/portal';
import { Injectable } from '@angular/core';
import { SpinnerOverlayComponent } from '@app/core/spinner-overlay/spinner-overlay.component';
@Injectable({
providedIn: 'root'
})
export class SpinnerOverlayService {
private overlayRef: OverlayRef = null;
@lydemann
lydemann / spinner-overlay.component.html
Created July 28, 2018 09:43
Template for spinner portal component used by Spinner service (CDK overlay service).
<div class="spinner-wrapper">
<app-spinner></app-spinner>
</div>
.spinner-wrapper {
position: fixed;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
top: 0;
left: 0;
background-color: rgba(255, 255, 255, 0.5);
import { Component, Input, OnInit } from '@angular/core';
@Component({
selector: 'app-spinner-overlay',
templateUrl: './spinner-overlay.component.html',
styleUrls: ['./spinner-overlay.component.scss']
})
export class SpinnerOverlayComponent implements OnInit {
@Input() public message: string;
constructor() {}
<div class="wrapper">
<div class="overlay" *ngIf="showSpinner">
<div class="spinner-wrapper">
<app-spinner></app-spinner>
</div>
</div>
<div class="loaded-content" [class.blurred]="showSpinner">
<ng-content></ng-content>
</div>
.wrapper {
width: 100%;
height: 100%;
}
.overlay {
position: absolute;
z-index: 1002;
background-color: rgba(255, 255, 255, 0.5);
width: 100%;
<div class="container">
<div class="row">
<div id="loader">
<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
@import "~styles/spinner";
import { Component, OnInit, Input } from '@angular/core';
@Component({
selector: 'app-spinner',
templateUrl: './spinner.component.html',
styleUrls: ['./spinner.component.scss']
})
export class SpinnerComponent implements OnInit {
@Input() message = '';