Skip to content

Instantly share code, notes, and snippets.

Zhen Deng ZhenDeng

Block or report user

Report or block ZhenDeng

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View Initial plugin in component
in HTM:
<span #popover="ngbPopover" id="downloadButton" placement="bottom" [ngbPopover]="popContent"
triggers="manual" (click)="openPop();"
[ngClass]="{'active-icon' : iconCanbeActive, 'default-icon': !iconCanbeActive }"></span>
in component:
@ViewChild('popover') public popover: NgbPopover;
View encode decode string
import { HttpInterceptor, HttpRequest, HttpEvent, HttpHandler, HttpParams, HttpParameterCodec } from "@angular/common/http";
import { Injectable } from "@angular/core";
import { Observable } from "rxjs";
export class EncodeHttpParamsInterceptor implements HttpInterceptor {
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const params = new HttpParams({encoder: new CustomEncoder(), fromString: req.params.toString()});
return next.handle(req.clone({params}));
View Material terms and conditions template
<button class="close-button" (click)="onNoClick()">
<span aria-hidden="true">&times;</span>
<div mat-dialog-title>
<div class="modal-header">
<h6 class="modal-title">Air freight terms</h6>
<div class="modal-body">
View cut connection if the app calling is obsolete
in component
ngUnsubscribe: Subject<void> = new Subject<void>();
ngOnDestroy() {;
View order confirmation template
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("<div style='padding: 0; margin: 0; width:100%; height: 100%; background:#fbfaf7;'>");
stringBuilder.Append("<table width='100%' height='100%' align='center' cellspacing='0' cellpadding='0' bgcolor='#fbfaf7'>");
stringBuilder.Append("<tr><td style='font:12px/1.5 Arial,Helvetica,sans-serif;color:#454545'>&nbsp;</td></tr>");
stringBuilder.Append("<td style='color:#343731;'><table width='600px' bgcolor='#ffffff' cellspacing='0' cellpadding='0' align='center' border='0' style='border:1px solid #232323;text-align:center'><tbody><tr><td style='padding:10px;color:#343731'>");
stringBuilder.Append("<h2 style='font-weight:400;text-transform:uppercase'>Trojan Trading Company PTY LTD</h2>");
stringBuilder.Append("<tr style='text-align:left'><td style='font:12px/1.5 Arial,Helvetica,sans-serif;color:#454545'><table width='90%'><tbody>");
View material radio button smaller
:host ::ng-deep .mat-radio-container{
height: 10px;
width: 10px;
:host ::ng-deep .mat-radio-outer-circle{
height: 10px;
width: 10px;
:host ::ng-deep .mat-radio-inner-circle{
height: 10px;
View import excel to sql server
1. in startup.cs
new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), "wwwroot")));
2. in controller
#region Upload Users
[HttpPost("UploadUsers"), DisableRequestSizeLimit]
View change job
It’s been a fantastic eight years and eleven months, but it is time to move on.
Today is my last day at Dicker Data. I have enjoyed working for this company. It’s been a great place to work with a great bunch of people whose dedication and passion are second to none. I appreciate having had this wonderful opportunity to work with you all and I’m proud to have been part of the team.
I’d like to thank you all for your help and support and I will hold very fond memories of my time spent working with you, but for now I wish you the very best and every success in all the future endeavours from the bottom of my heart.
You can be in touch with me by email, mobile 0411 409 061 or find me on LinkedIn. I’d love to hear from you.
Take care and all the very best.
View Loading screen
1. LoadingScreenComponent
import { Subscription } from 'rxjs';
import { Component, OnInit, OnDestroy, Output, EventEmitter, Input } from '@angular/core';
import { LoadingScreenService } from '../../services/loading-screen.service';
import { debounceTime } from 'rxjs/operators';
selector: 'loading-screen',
View Website loading remind
1. add html below in <app-root></app-root> or in index.html
<div id="pre-bootstrap">
<div class="messaging">
Website is Loading
<div class="app-loader">
<div class="app-loader-inner">
You can’t perform that action at this time.