import * as widgets from '@jupyter-widgets/base' ; import * as serialize from './serialize' ; import { semver_range } from './version' ; export class AxisModel extends widgets . WidgetModel { defaults ( ) { return { ... widgets . WidgetModel . prototype . defaults ( ) , _model_name : 'AxisModel' , _view_name : 'Axis' , _model_module : 'bqplot' , _view_module : 'bqplot' , _model_module_version : semver_range , _view_module_version : semver_range , orientation : 'horizontal' , side : null , label : '' , grid_lines : 'solid' , tick_format : null , scale : undefined , num_ticks : null , tick_values : [ ] , offset : { } , label_location : 'middle' , label_color : null , grid_color : null , color : null , label_offset : null , visible : true , tick_style : { } , tick_rotate : 0 , } ; } initialize ( attributes , options ) { super . initialize ( attributes , options ) ; this . on ( 'change:side' , this . validate_orientation , this ) ; this . on ( 'change:orientation' , this . validate_side , this ) ; this . validate_orientation ( ) ; this . validate_side ( ) ; } validate_side ( ) { const orientation = this . get ( 'orientation' ) ; const side = this . get ( 'side' ) ; if ( orientation === 'vertical' ) { if ( side !== 'left' && side !== 'right' ) { this . set ( 'side' , 'left' ) ; } } else { if ( side !== 'bottom' && side !== 'top' ) { this . set ( 'side' , 'bottom' ) ; } } this . save_changes ( ) ; } validate_orientation ( ) { const side = this . get ( 'side' ) ; if ( side ) { if ( side === 'left' || side === 'right' ) { this . set ( 'orientation' , 'vertical' ) ; } else { this . set ( 'orientation' , 'horizontal' ) ; } this . save_changes ( ) ; } } static serializers = { ... widgets . WidgetModel . serializers , scale : { deserialize : widgets . unpack_models } , offset : { deserialize : widgets . unpack_models } , tick_values : serialize . array_or_json_serializer , } ; } export class ColorAxisModel extends AxisModel { defaults ( ) { return { ... AxisModel . prototype . defaults ( ) , _model_name : 'ColorAxisModel' , _view_name : 'ColorAxis' , } ; } }