import { ObservableImageSelectorScreen } from '@ulangi/ulangi-observable' ; import { ImageSelectorScreenDelegate } from '../../delegates/image/ImageSelectorScreenDelegate' ; import { SearchImageDelegate } from '../../delegates/image/SearchImageDelegate' ; import { UploadImageDelegate } from '../../delegates/image/UploadImageDelegate' ; import { SecondaryScreenStyle } from '../../styles/SecondaryScreenStyle' ; import { ScreenFactory } from '../ScreenFactory' ; export class ImageSelectorScreenFactory extends ScreenFactory { public createScreenDelegate ( observableScreen ) { const navigatorDelegate = this . createNavigatorDelegate ( ) ; const dialogDelegate = this . createDialogDelegate ( SecondaryScreenStyle . LIGHT_BOX_SCREEN_STYLES ) ; const searchImageDelegate = new SearchImageDelegate ( this . eventBus , this . props . observableConverter , observableScreen ) ; const uploadImageDelegate = new UploadImageDelegate ( this . eventBus ) ; return new ImageSelectorScreenDelegate ( this . props . observableLightBox , observableScreen , searchImageDelegate , uploadImageDelegate , dialogDelegate , navigatorDelegate ) ; } }