angular-docs-cn/public/docs/_examples/cb-dynamic-form/ts/app/question.service.ts

48 lines
1.1 KiB
TypeScript

// #docregion
import {Injectable} from 'angular2/core';
import {QuestionBase} from './question-base';
import {DynamicForm} from './dynamic-form.component';
import {TextboxQuestion} from './question-textbox';
import {DropdownQuestion} from './question-dropdown';
@Injectable()
export class QuestionService {
// Todo: get from a remote source of question metadata
// Todo: make asynchronous
getQuestions() {
let questions:QuestionBase<any>[] = [
new DropdownQuestion({
key:'brave',
label: 'Bravery Rating',
options: [
{key:'solid', value:'Solid'},
{key:'great', value:'Great'},
{key:'good', value:'Good'},
{key:'unproven',value:'Unproven'}
],
order: 3
}),
new TextboxQuestion({
key:'firstName',
label:'First name',
value:'Bombasto',
required: true,
order: 1
}),
new TextboxQuestion({
key:'emailAddress',
label:'Email',
type: 'email',
order: 2
})
];
return questions.sort((a,b) => a.order - b.order);
}
}