Skip to content

Instantly share code, notes, and snippets.


hiepxanh hiepxanh

View GitHub Profile
hiepxanh / gist:9bb1d4845e48826c55c69bd52d75ad6f
Created Oct 27, 2022
View gist:9bb1d4845e48826c55c69bd52d75ad6f
import {
} from "@nestjs/common";
import { CACHE_MANAGER, Inject } from "@nestjs/common";
import { Cache } from "cache-manager";
import {
hiepxanh / datepicker-lazy.ts
Created May 23, 2022
angular 14 standalone lazyload angular material datepicker
View datepicker-lazy.ts
@ViewChild('datepickerTemplate', { read: ViewContainerRef }) datepickerTemplate!: ViewContainerRef;
constructor(private fb: FormBuilder) {}
async loadComponent() {
const { DatepickerAtom } = await import('../../atoms/datepicker/datepicker.atom');
const componentRef = this.datepickerTemplate.createComponent(DatepickerAtom);
const dobControl = this.optionalForm.get('dob');
if (dobControl) {
componentRef.instance.dob = dobControl;
hiepxanh / .ts
Created Mar 7, 2022
typescript groupBy and more support function on object for javascript
View .ts
declare global {
interface Array<T> {
groupBy(keyField: string): object;
arrayToObject(keyField: string): object;
unique(id: string): T[];
addMoreItemProperty(idKey: string, idValue: string | number, updateData: any): T[];
mergeArrayByProperty(idKey: string, otherArray: T[]): T[];
sortByKey(order?: 'asc' | 'desc', keyName?: string): T[];
View gist:197cf86a67cf45394f2eaee744c98f67
charset utf-8;
tcp_nopush on;
tcp_nodelay off;
client_header_timeout 10s;
View gist:63ef84fa01206db711b43e91f182b95d
dokku report reader-web
-----> uname: Linux awread-server 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 GNU/Linux
-----> memory:
total used free shared buff/cache available
Mem: 1995 395 1021 17 579 1456
Swap: 0 0 0
-----> docker version:
Client: Docker Engine - Community
Version: 20.10.6
API version: 1.41
hiepxanh / cloudSettings
Last active Jan 19, 2021
Sync Hiep MOON
View cloudSettings
View gist:f6ff05cf6c549be078f2e2ec6a7fbebe
<div class="popup-sub-advance" [formGroup]="subAdvanceForm">
<div class="popup-title">
Bookable Bussiness
<div class="popup-content">
In order to use <span class="text-bold">Book Bussiness</span>, you agree to pay the <span
class="text-bold">monthly</span> subscription fee of:
<div class="popup-price">
hiepxanh / example width
Created Jun 28, 2020
View example width
<epos-print xmlns="">
<feed line="1"/>
<line x1="0" y1="30" x2="575" y2="30" style="thin"/>
<text>Single: Thin&#10;</text>
<feed line="1"/>
<line x1="0" y1="90" x2="575" y2="90" style="medium"/>
<text>Single: Medium&#10;</text>
<feed line="1"/>
<line x1="0" y1="150" x2="575" y2="150" style="thick"/>
View gist:25578459423f5ac40d2a3e6ef8ea2e8f
<epos-print xmlns="">
<text>Hello world &#10;</text>
<feed line="3"/>
<feed line="3"/>
<cut type="feed"/>
hiepxanh / fix-autofill-chrome.ts
Created Aug 6, 2019
Fix Auto Fill Chrome with Angular 8 and Ionic 4
View fix-autofill-chrome.ts
// <ion-input (change)="fixAutoFill($event, 'password')" #passwordInput autocomplete="off" formControlName="password" type="password"></ion-input>
// <ion-input (change)="fixAutoFill($event, 'username')" #usernameInput autocomplete="off" type="text" formControlName="username"></ion-input>
fixAutoFill(event, type) {
const value =;
if (type === 'username') {
username: value
}, {emitEvent: true, onlySelf: false});