Skip to content

Instantly share code, notes, and snippets.


Trung Vo trungk18

View GitHub Profile
trungk18 /
Last active Jun 28, 2022
Nx workspace structure for NestJS and Angular


Nx is a suite of powerful, extensible dev tools to help you architect, test, and build at any scale — integrating seamlessly with modern technologies and libraries while providing a robust CLI, caching, dependency management, and more.

It has first-class support for many frontend and backend technologies, so its documentation comes in multiple flavours.


trungk18 / checkboxes-single-page.ts
Last active Mar 11, 2021
Abstract class for handling selected items
View checkboxes-single-page.ts
export interface ICheckBoxModel {
checked: boolean;
export class CheckboxesSinglePageModel<T extends ICheckBoxModel> {
items: T[];
isSelectAll: boolean;
isIndeterminate: boolean;
constructor(items: T[], initialState = false) {
trungk18 /
Created Jan 4, 2021 — forked from jesstelford/
What is the JS Event Loop and Call Stack?

Regular Event Loop

This shows the execution order given JavaScript's Call Stack, Event Loop, and any asynchronous APIs provided in the JS execution environment (in this example; Web APIs in a Browser environment)

Given the code

View ll-20.ts
import { ComponentFactoryResolver, ComponentRef, Directive, EventEmitter, Input, Type, ViewContainerRef } from '@angular/core';
import { Subscription } from 'rxjs';
selector: '[lazyComp]'
export class LazyCompDirective {
private _inputs;
private _outputs;
private subscription = new Subscription();
trungk18 /
Created Jun 18, 2020 — forked from nartc/
Văn hoá CodersX team

Văn hoá CodersX

CodersX là một. Chúng ta hoạt động vì một mục đích duy nhất: Thay đổi thế giới một cách tích cực, bắt đầu bằng việc tạo nên một nền giáo dục miễn phí.


  1. Thay đổi thế giới ← 2. Cùng nhau làm các startup có ảnh hưởng tích cực tới cuộc sống xung quanh ← 1. Làm mới hệ thống giáo dục ← 0. Giúp tất cả mọi người tiếp cận với lập trình

Giúp đỡ các thành viên trong team

Một team chỉ mạnh khi tất cả mọi người support lẫn nhau, và cùng nhau làm việc vì một mục tiêu duy nhất. Nếu chỉ nghĩ đến bản thân thì một lúc nào đó team sẽ tan rã (nếu nhiều người cùng nghĩ về bản thân), hoặc tự loại mình ra khỏi team.

Nghĩ tới người xung quanh

trungk18 / gist:e11965a61c9624265ca82769009e1d51
Created Jun 12, 2020 — forked from rxaviers/gist:7360908
Complete list of github markdown emoji markup
View gist:e11965a61c9624265ca82769009e1d51


:bowtie: :bowtie: 😄 :smile: 😆 :laughing:
😊 :blush: 😃 :smiley: ☺️ :relaxed:
😏 :smirk: 😍 :heart_eyes: 😘 :kissing_heart:
😚 :kissing_closed_eyes: 😳 :flushed: 😌 :relieved:
😆 :satisfied: 😁 :grin: 😉 :wink:
😜 :stuck_out_tongue_winking_eye: 😝 :stuck_out_tongue_closed_eyes: 😀 :grinning:
😗 :kissing: 😙 :kissing_smiling_eyes: 😛 :stuck_out_tongue:
View generateRecursiveObj.js
function generateRecursiveObj(input){
let output = {};
input.forEach(item => {
output[item.title] = {};
if(item.children && item.children.length){
output[item.title] = generateRecursiveObj(item.children);
return output;
View youtube-vimeo-url-parser.js
function parseVideo (url) {
// - Supported YouTube URL formats:
// -
// -
// -
// - Supported Vimeo URL formats:
// -
// -
// - Also supports relative URLs:
// - //
trungk18 / any.component.html
Created Dec 18, 2018 — forked from arniebradfo/any.component.html
Angular *ngFor recursive list tree template
View any.component.html
<h1>Angular 2 Recursive List</h1>
<ng-template #recursiveList let-list>
<li *ngFor="let item of list">
<ul *ngIf="item.children.length > 0">
<ng-container *ngTemplateOutlet="recursiveList; context:{ $implicit: item.children }"></ng-container>
trungk18 /
Last active Apr 25, 2018
Pass data from MVC to Angular 2


<my-angular-app appID="@Model.AppId">Loading...</my-angular-app> 


//function to get the attribute value.
export function getAttribute(app: string, attributeName: string) {
 return document.getElementsByTagName(app)[0].getAttribute(attributeName);