26 lines
		
	
	
		
			575 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			26 lines
		
	
	
		
			575 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | // #docregion
 | ||
|  | export class QuestionBase<T>{ | ||
|  |   value:T; | ||
|  |   key:string; | ||
|  |   label:string; | ||
|  |   required:boolean; | ||
|  |   order:number; | ||
|  |   controlType:string; | ||
|  | 
 | ||
|  |   constructor(options:{ | ||
|  |       value?:T, | ||
|  |       key?:string, | ||
|  |       label?:string, | ||
|  |       required?:boolean, | ||
|  |       order?:number, | ||
|  |       controlType?:string | ||
|  |     } = {}){ | ||
|  |     this.value = options.value; | ||
|  |     this.key = options.key || ''; | ||
|  |     this.label = options.label || ''; | ||
|  |     this.required = !!options.required; | ||
|  |     this.order = options.order === undefined ? 1 : options.order; | ||
|  |     this.controlType = options.controlType || ''; | ||
|  |   } | ||
|  | } |