3
71tdG-                 @   s
  d dl mZ d dlZd dlmZmZmZ d dl mZ d dl mZ ddlmZ d dl	Z
d dlmZ d dlmZ e Zg Zg ZxLej j D ]<\ZZejed	 eed	 d
 ejed	 eed	 d
 qW ejejedddidejejejdddddddgdddgddejdddgdde
jdejddde
jd d!d"d#gd$d%d&ggZejedd'ed(d)ed*d)ed+d)ed,d)gd-d. ej D  d/d0 Zejedd1edd2edd3gd4d5 Zejedd6edd1gedd7ed d8gedd6gd9d: ZdS );    )dccN)InputOutputState)html   )option_comps)app)	datastorepretty_name)labelvalueZprimaryTextzflex-boxzmargin-bottomz0.5%)	classNamestylez	main-plotTZselect2dZlasso2dZautoScale2dZtoggleSpikelinesZhoverCompareCartesian)Z
scrollZoomZmodeBarButtonsToRemove
responsive)idconfig )r   zradio-over-xray)r   r   zflex-box-main-plotzclick-info-dialogzmain-info-contentzmax-width scroll max-height-500z
close-diagClosezclose-button)r   childrenr   Fz	max-width)r   r   openr   figurezx-axis-dropdownr   zy-axis-dropdownzscaling-dropdownzcategory-color-dropdownc             C   s   g | ]}t |d  dqS )r   checked)r   ).0i r   4/var/www/atlasX/components/tabs/interactive_plots.py
<listcomp>q   s    r   c          	   G   s>  t j  t j }xNt|ddD ]>\}}|r|| d }tt |rNtt |  qtdj| qW t j }	t j	 }||j
| k d jd }
||j
|k d jd }|d kri nt j|}|d kri nt j|}||}|	|  |	| dd||	d d	gd
|
d | id
|
idddddd
|iddddddddddddddS )Nr   )startr   zData store has no attribute {0}r   scattermarkersName)xytypemodemarkertextr'   z vs. T   z#636363)titleZshowlineZ	linewidthZ	linecolorZzeroline7   )lbrteventZclosest)r)   xaxisyaxismarginZ	clickmodeZ	hovermode)datalayout)dsZreset_filtersget_filters	enumeratehasattrgetattrprintformatget_filtered_dataZget_col_attributesindexvaluesZget_marker_scaling_optionsZget_cat_color)r0   r1   ZscaleZ	cat_colorZchecked_filtersfiltersr   Zis_filter_checkedattrdfZxtitleZytitleZmarker_optionsZcolor_optionsr   r   r   update_axesg   sN    
rB   r   	hoverDatarelayoutDatac             C   s   | d k	rt | d dkr| d d d }tj }tjdj|}||d |k jd d rtjtjtj|gddid	tjtj	t
jd
j|ddgddid	gdddid}|S dS d S )Npointsr   r'   zData unavailable for {0}r!   radio_over_xrayz
text-aligncenter)r   z&data_downloads/{0}/radio_over_xray.pngz	img-hover)srcr   r2   autozflex-boxzflex-directioncolumn)r   r   z.Hover over any data point to display the image)lenr5   r<   r   H3r;   ilocDivH4Imgr	   get_asset_url)rC   ZrelayoutsourcerA   childr   r   r   display_image_on_hover   s&    


rT   r   	clickDatan_clicksc             C   s:  g }|r|rdS t | d dks,t |dko0| r6tj }d}d}t |dkrb|j|d  d }t | d dkr| d d d }||d |k jd d }tjdj|}|r.ttj| tj|d	d
tj	tj
tjdj|ddgdd
tj	tj|gdd
tjddd
tj	tj|gdd
tj g}d|fS d S )NFr   rE   r   rF   r'   r!   z#No information is available for {0}ztitle-dialog)r   z&data_downloads/{0}/radio_over_xray.pngi  )rH   widthz
img-dialogztable-dialogZ
Referenceszfloat-left margin-10pxz-float-left clear-both larger-font margin-10pxT)Fr   )rK   r5   r<   rM   r   rL   r;   r:   Zget_formatted_refsrN   rP   r	   rQ   Zget_source_tableH5Br)rU   Z
closeClickZdiagOpenZselectedRowsrA   rR   rF   rS   r   r   r   display_info_dialog   s:    <$

rZ   )dashr   jsondash.dependenciesr   r   r   r   r   sd_material_uismuir	   r
   r5   Zx_axis_optionsZy_axis_optionsZget_valid_axesiterrowsr=   rowappendrN   GraphDialogButtonr4   callbackr6   rB   rT   rZ   r   r   r   r   <module>   sx   
F%

