import { ObservableAtomScreen } from '@ulangi/ulangi-observable' ; import { AtomScreenDelegate } from '../../delegates/atom/AtomScreenDelegate' ; import { FetchVocabularyDelegate } from '../../delegates/atom/FetchVocabularyDelegate' ; import { PrepareFetchVocabularyDelegate } from '../../delegates/atom/PrepareFetchVocabularyDelegate' ; import { atomStyles } from '../../styles/AtomStyles' ; import { ScreenFactory } from '../ScreenFactory' ; export class AtomScreenFactory extends ScreenFactory { public createScreenDelegate ( observableScreen ) { const navigatorDelegate = this . createNavigatorDelegate ( ) ; const dialogDelegate = this . createDialogDelegate ( atomStyles . getLightBoxScreenStyles ( ) ) ; const prepareFetchVocabularyDelegate = new PrepareFetchVocabularyDelegate ( this . eventBus , this . props . rootStore . setStore , observableScreen ) ; const fetchVocabularyDelegate = new FetchVocabularyDelegate ( this . eventBus ) ; return new AtomScreenDelegate ( observableScreen , prepareFetchVocabularyDelegate , fetchVocabularyDelegate , dialogDelegate , navigatorDelegate ) ; } }