
    BeG                     ~   d Z ddlZ	 ddlZn# e$ r dZY nw xY wddlZddlZddlmZ ddl	m
Z
 ddlmZmZ ddlmZmZ ddlmZmZmZmZmZmZ ddlmZ dd	lmZ d
dlmZ eeeeegZd eD             ZdZ ed             Z!d Z"d  ej#        e          $                                D             Z%ej&        '                    de%          d             Z(d Z)d Z*ej&        '                    dgd eD                       d             Z+ej&        '                    dgd eD                       d             Z,d Z-d Z.dS )z4
These that verify Templates are working correctly.
    N)Document)patch_curdoc)GridSpecRow)	HoloViewsMarkdown)BootstrapTemplateGoldenTemplateMaterialTemplateReactTemplateTemplateVanillaTemplate)BasicTemplate)FloatSlider   )hv_availablec                 $    g | ]}|t           u|S  )r   .0items     9lib/python3.11/site-packages/panel/tests/test_template.py
<listcomp>r      s"    JJJ4M0I0I$0I0I0I    zc
{% extends base %}

{% block contents %}
{{ embed(roots.A) }}
{{ embed(roots.B) }}
{% endblock %}
c                 `   t          t                    }t          t          j        g d          d          }t          t          j        g d          d          }t          t          j        g d          d          }t          ||          }|                    d|           |                    d|           |                    | |d           t          |j	        
                                          d         \  }\  }}t          |j	        
                                          d         \  }\  }	}t          |j	        
                                          d         \  }\  }
}|j        |	j        u sJ |j        |	j        u sJ |	j        |
j        u sJ |	j        |
j        u sJ d S )	N)r         bokeh)backendABTnotebookr   )r   templater   hvCurver   	add_panel	_init_doclist_modelsitemsx_rangey_range)documentcommtmpltp1p2p3row_m1m2m3s              r   test_template_links_axesr9   )   s   XE	28III&&	8	8	8B	28III&&	8	8	8B	28III&&	8	8	8B
b"++C	OOC	OOC	OOHdTO222
((**++A.LQQ
((**++A.LQQ
((**++A.LQQ:####:####:####:######r   c                 .   t          t                    }t                      }t          dd          }|                    d|           |                    d|           |                    | |d           t          j                    }| |_        d|_	        t          |j                  dk    sJ t          |j                  dk    sJ t          |d         j                  dk    sJ t          |d         j                  dk    sJ | j        D ]} ||           t          |j                  dk    sJ t          |j                  dk    sJ t          |d         j                  dk    sJ t          |d         j                  dk    sJ d S )	Nr    r!   Tr"   zSome IDr   r   r   )r   r$   r   r   r'   r(   paramParameterized	_documentidlenr*   session_destroyed_callbacks)r.   r/   r0   widgetr4   session_contextcbs          r   test_template_session_destroyrD   @   s   XE]]F
c3--C	OOC   	OOC	OOHdTO222)++O (O"Ov~!####s{q    s1v~!####s1v~!####2  
?v~!####s{q    s1v~!####s1v~!######r   c                 <    g | ]}t          |t                    |S r   )
issubclassr   r   ts     r   r   r   \   s8       
a''  r   r$   c                     | ddd          }|                                  |j        }|d         dk    sJ |d         dk    sJ |d         dk    sJ |d         d	k    sJ |d
         dk    sJ |d         d	k    sJ |j        }|d         |j        g fk    sJ t	          d          }|j                            |           |dt          |                    |dgfk    sJ t                      }|j	                            |           |dt          |                    |dgfk    sJ |d         dk    sJ g |j	        d d <   |d         d	k    sJ dt          |           |vsJ t	          d          }|j
                            |           |dt          |                    |dgfk    sJ |d         dk    sJ g |j
        d d <   dt          |           |vsJ |d         d	k    sJ d S )Nr   blueredtitleheader_backgroundheader_color	app_titlerN   rO   navFbusyTheaderbusy_indicator# Some titlezmain-mainznav-z## Some subtitlezheader-)_update_vars_render_variables_render_itemsrT   r   rV   appendr>   r   sidebarrS   )	r$   r.   r/   r0   tvarstitemsmarkdownslidersubtitles	            r   test_basic_templatera   a   s}   H?fSXYYYE	#E0000$%//// E))))<5    =D    ?e#### F"#(<b'AAAAA''H	Jh("X,,(()h-AAAAA]]F	M   %F%%&6E7*;;;;;<4EM!!!<5    "V**f,,,,*++H	L!!!*BxLL**+8*/EEEEE?d""""ELO#R\\##61111?e######r   c                      t          d          } t                      }t          |          5  |                     d          }d d d            n# 1 swxY w Y   |j        dk    sJ d S )Nz
Main title)rM   zIgnored title)r   r   r   
server_docrM   )tmpldocs     r   test_template_server_titlerf      s    ...D
**C	c		 5 5ooOo445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 9$$$$$$s   AAAc                    t          ddd          }|                                 |j        }|d         dk    sJ |d         dk    sJ |d         dk    sJ |d         d	k    sJ |d
         dk    sJ |d         d	k    sJ |d         |j        k    sJ |d         |j        k    sJ |d         |j        k    sJ t          d          }||j        d dd df<   t          d          }||j        d ddd f<   ddddddddddddgddddddddddddgd}|D ]%}||         D ]}|                    ddd           &t          j
        |d                   |k    sJ d S )Nr   rJ   rK   rL   rP   rN   rO   rQ   FrR   TrS   	rowHeightbreakpointscolsrU         1r   )hiwxy2)lgmd)minWminHlayouts)r   rW   rX   
row_heightri   rj   r   rV   updatejsonloads)	r.   r/   r0   r\   r^   	markdown2rx   sizelayouts	            r   test_react_templater      s   6X]^^^E	#E0000$%//// E))))<5    =D    ?e####!111115#44444=EJ&&&&''H!EJrr2A2v((I"EJrr122vCaaa@@Caaa@@BCaaa@@Caaa@@B G  2 2dm 	2 	2FMM1a001111	2 :eI&''7222222r   template_classc                     g | ]}|fS r   r   rG   s     r   r   r      s    -K-K-Kqqd-K-K-Kr   c                     |             }|j                             d           |j                             dd           |j                             ddg           t	          |j                                                  dd          }|\  \  }}\  }}\  }}\  }	}
||cxk    r|cxk    r|
cxk    rdgk    sn J |j        dk    sJ |j        dk    sJ |j        dk    sJ |	j        dk    sJ d S )Nr   r   r   r   rk   rV   )rV   rZ   insertextendr)   rY   valuesobject)r   r$   objsobj1tag1obj2tag2obj3tag3obj4tag4s              r   test_list_template_insert_orderr      s/   ~HMMAM!Q   &--//004D?C<\dD<D$$|d433334333343333F8333333;!;!;!;!r   c                     g | ]}|fS r   r   r   s     r   r   r      s    -L-L-L$tg-L-L-Lr   c                 b    t          d          }|g} | |||            | |||           d S )NHello World)rS   r[   rV   )r   )r   r   r+   s      r   test_constructorr      sJ    M""DFEN$48888N%U;;;;;;r   c                  z    t          d          } t          d          }| |ddddf<   t          |           d S )	Nr      )ncolsr   r   r   rk   )rV   )r   r   r   )r   grids     r   test_constructor_grid_specr      sK    M""D"DD1acNtr   c                  F   t          d          } t          d          }t                      }| |j        d<   ||j        d<   t          |j                                                  dd          }t          |          dk    sJ |\  \  }}|j        dk    sJ |dgk    sJ d S )NFirstSecond)r   r   rk   r   rV   )r   r   rV   r)   rY   r   r?   r   )r   overrider$   r   objtagss         r   test_grid_template_overrider      s    GD!!HHHM$"HM$&--//004Dt99>>>>N[c4:!!!!F8r   )/__doc__r{   	holoviewsr%   	Exceptionr;   pytestbokeh.documentr   bokeh.io.docr   panel.layoutr   r   
panel.paner   r   panel.templater	   r
   r   r   r   r   panel.template.baser   panel.widgetsr   utilr   	TEMPLATESLIST_TEMPLATESr$   r9   rD   concrete_descendentsr   list_templatesmarkparametrizera   rf   r   r   r   r   r   r   r   r   <module>r      s       	BBB   # # # # # # % % % % % % & & & & & & & & * * * * * * * *                . - - - - - % % % % % %      0@-Q`a	JJ9JJJ $ $ $,$ $ $8 )u)-88??AA  
 ^44($ ($ 54($V% % % 3  3  3D *+-K-KN-K-K-KLL  ML$ *+-L-L)-L-L-LMM< < NM<      s    