import m from 'mithril' ; import { Switch , Select , Icons , Intent , Size } from '@/' ; import { Example , ContentSelect , IntentSelect , SizeSelect , ContentType , renderContent } from '@shared/examples' ; const EXAMPLE_SRC = 'components/select/examples/default.ts' ; export class SelectDefaultExample { private contentLeft : ContentType ; private contentRight : ContentType ; private basic : boolean = false ; private disabled : boolean ; private fluid : boolean = false ; private intent : Intent ; private size : Size ; private options : string [ ] = [ 'First' , 'Second' , 'Third' , 'Fourth' ] ; public view ( ) { return m ( Example , { options : this . renderOptions ( ) , src : EXAMPLE_SRC } , [ m ( Select , { contentLeft : renderContent ( this . contentLeft , Icons . USERS ) , contentRight : renderContent ( this . contentRight , Icons . SEARCH ) , basic : this . basic , disabled : this . disabled , fluid : this . fluid , intent : this . intent , options : this . options , size : this . size , defaultValue : 'Third' } ) ] ) ; } private renderOptions ( ) { return [ m ( 'h5' , 'Size' ) , m ( SizeSelect , { onSelect : ( size ) => this . size = size } ) , m ( 'h5' , 'Intent' ) , m ( IntentSelect , { onSelect : ( intent ) => this . intent = intent } ) , m ( Switch , { checked : this . disabled , label : 'Disabled' , onchange : ( ) => this . disabled = ! this . disabled } ) , m ( Switch , { checked : this . fluid , label : 'Fluid' , onchange : ( ) => this . fluid = ! this . fluid } ) , m ( Switch , { checked : this . basic , label : 'Basic' , onchange : ( ) => this . basic = ! this . basic } ) , m ( 'h5' , 'Left content' ) , m ( ContentSelect , { onSelect : ( content ) => this . contentLeft = content } ) , m ( 'h5' , 'Right content' ) , m ( ContentSelect , { onSelect : ( content ) => this . contentRight = content } ) ] ; } }