dependencies dependencies cluster_QuestionnaireModule cluster_QuestionnaireModule_declarations cluster_QuestionnaireModule_imports cluster_QuestionnaireModule_providers cluster_QuestionnaireModule_exports AsAnswerToPipe AsAnswerToPipe QuestionnaireModule QuestionnaireModule AsAnswerToPipe->QuestionnaireModule Id2QuestionPipe Id2QuestionPipe Id2QuestionPipe->QuestionnaireModule LabeledOptionsPipe LabeledOptionsPipe LabeledOptionsPipe->QuestionnaireModule QuestionLabelComponent QuestionLabelComponent QuestionLabelComponent->QuestionnaireModule QuestionnairePage QuestionnairePage QuestionnairePage->QuestionnaireModule AsAnswerToPipe AsAnswerToPipe QuestionnaireModule->AsAnswerToPipe Id2QuestionPipe Id2QuestionPipe QuestionnaireModule->Id2QuestionPipe LabeledOptionsPipe LabeledOptionsPipe QuestionnaireModule->LabeledOptionsPipe MetaStoreModule MetaStoreModule QuestionnaireModule->MetaStoreModule MetaStoreModule MetaStoreModule MetaStoreModule->QuestionnaireModule SharedModule SharedModule SharedModule->QuestionnaireModule TranslationsModule TranslationsModule TranslationsModule->QuestionnaireModule Questionnaire Questionnaire Questionnaire->QuestionnaireModule

File

lib/features/src/questions/questionnaire/questionnaire.module.ts

Methods

Static forChild
forChild(stores: Type[], metaActions?: MetaAction<QuestionConfig, Question, QuestionStore>[])
Parameters :
Name Type Optional
stores Type<QuestionStore>[] No
metaActions MetaAction<QuestionConfig, Question, QuestionStore>[] Yes
import 	{
			NgModule,
			Component,
			ModuleWithProviders,
			Type
		} 								from '@angular/core'

import 	{ 	RouterModule 			}	from '@angular/router'

import	{
			BaseMetaStoreModule,
			MetaAction,
			MetaStoreModule,
			provideItemRepresentation,
			provideTranslationMap,
			provideMainMenuEntry,
			SharedModule,
			TranslationsModule,
		}								from '@rcc/common'

import	{
			Question,
			QuestionConfig,
			QuestionStore,
		}								from '@rcc/core'


import	{	Questionnaire			}	from './questionnaire.service'

import	{
			QUESTION_STORES,
			QUESTION_META_ACTIONS
		}								from './questionnaire.commons'

import	{	QuestionnairePage 		}	from './questionnaire.page/questionnaire.page'
import	{
			Id2QuestionPipe,
			AsAnswerToPipe,
			LabeledOptionsPipe
		}								from './questionnaire.pipes'
import 	{	QuestionLabelComponent	} 	from './question-label/question-label.component'

import en from './i18n/en.json'
import de from './i18n/de.json'

const routes 				=	[
									{ path: 'questionnaire',	component: QuestionnairePage	},
								]

const questionnaireConfig 	=  	{
									itemClass:			Question,
									serviceClass: 		Questionnaire,

								}

const itemRepresentation	=	{
									itemClass:			Question,
									icon:				'question',
									labelComponent:		QuestionLabelComponent,
								}

const pipes					=	[
									Id2QuestionPipe,
									AsAnswerToPipe,
									LabeledOptionsPipe
								]


export class MenuEntryQuestionnaireComponent {}

const menuEntry	=	{
    position: 5,
    label: "QUESTIONNAIRE.MENU_ENTRY",
    icon: "question",
    path: "/questionnaire",
}




@NgModule({
	declarations: [
		QuestionnairePage,
		QuestionLabelComponent,
		...pipes
	],
	imports: [
		SharedModule,
		RouterModule.forChild(routes),
		MetaStoreModule.forChild(questionnaireConfig),
		TranslationsModule
	],
	exports: [
		MetaStoreModule, //So other Module need not import this specifically
		...pipes
	],
	providers:[
		Questionnaire,
		provideTranslationMap("QUESTIONNAIRE", {en, de} ),
		provideMainMenuEntry(menuEntry),
		provideItemRepresentation(itemRepresentation)
	]
})
export class QuestionnaireModule extends BaseMetaStoreModule {

	static 	forChild(
				stores			: Type<QuestionStore>[],
				metaActions?	: MetaAction<QuestionConfig, Question, QuestionStore>[]
			): ModuleWithProviders<QuestionnaireModule> {


		const mwp = BaseMetaStoreModule.getModuleWithProviders<QuestionnaireModule>(this, stores, metaActions, QUESTION_STORES, QUESTION_META_ACTIONS)
		return mwp

	}
}

results matching ""

    No results matching ""