//common prop export type ValueType = string|number|boolean; //events export class EventCollection{ static EVENT_CLICK: "click" = "click"; static EVENT_MOUSEOVER: "mouseover" = "mouseover" static EVENT_DOUBLECLICK: "dblclick" = "dblclick" static EVENT_KEYDOWN: "keydown" = "keydown"; } export class KeyCollection{ static ENTER: number = 13; static ARROWLEFT: number = 37; static ARROWUP: number = 38; static ARROWRIGHT: number = 39; static ARROWDOWN: number = 40; } //to dynamically assign property interface FlexibleObject{ //각각 interface; [key:string]:any; } //common class export interface IBase{ } export class Assigner { [key:string]:any public setProperties(base: IBase) { for(let attr in base){ if(attr =="header"||attr == "body"){ continue; } if(this.hasOwnProperty("_"+attr) && (base)[attr]!=""){ this["_"+attr]=(base)[attr]; } } } }