a
    Dg                     @   sP  d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZmZ d d	lmZ G d
d deZG dd dZededG dd deZededG dd deZededG dd deZededG dd deZededG dd dZededG dd  d Zed!edG d"d# d#Zd$S )%    )Mapping)Any)warn)formsreverse)cached_property)versioned_static)Adapteradapter)RemovedInWagtail70Warningc                   @   s   e Zd Zedd ZdS )BaseSidebarAdapterc                 C   s   t jtdgdS )Nzwagtailadmin/js/sidebar.js)Zjs)r   ZMediar	   self r   W/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/site-packages/wagtail/admin/ui/sidebar.pymedia   s    zBaseSidebarAdapter.mediaN)__name__
__module____qualname__r   r   r   r   r   r   r      s   r   c                	   @   s6   e Zd Zdeeeeeeeef dddZdd ZdS )	MenuItem N)namelabel	icon_name	classname
classnamesattrsc                 C   s:   |rt dtd || _|| _|| _|p(|| _|p2i | _d S )NzTThe `classnames` kwarg for sidebar MenuItem is deprecated - use `classname` instead.category)r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   __init__   s    	
zMenuItem.__init__c                 C   s   | j | j| j| j| jdgS )Nr   r   r   r   r   r!   r   r   r   r   js_args0   s    zMenuItem.js_args)r   r   r   N)r   r   r   strr   r   r    r"   r   r   r   r   r      s       
r   zwagtail.sidebar.LinkMenuItem)basec                
       sL   e Zd Zd
eeeeeeeeef d fddZ fddZdd	 Z  Z	S )LinkMenuItemr   N)r   r   urlr   r   r   r   c                    s4   |rt dtd t j||||p"||d || _d S )NzXThe `classnames` kwarg for sidebar LinkMenuItem is deprecated - use `classname` instead.r   r   r   r   )r   r   superr    r&   )r   r   r   r&   r   r   r   r   	__class__r   r   r    >   s    
zLinkMenuItem.__init__c                    s   t   }| j|d d< |S )Nr   r&   )r(   r"   r&   r   argsr)   r   r   r"   V   s    
zLinkMenuItem.js_argsc                 C   sT   | j |j koR| j|jkoR| j|jkoR| j|jkoR| j|jkoR| j|jkoR| j|jkS N)r*   r   r   r&   r   r   r   r   otherr   r   r   __eq__[   s    





zLinkMenuItem.__eq__)r   r   r   N
r   r   r   r#   r   r   r    r"   r0   __classcell__r   r   r)   r   r%   <   s       
r%   zwagtail.sidebar.ActionMenuItemc                       sN   e Zd Zdeeeeeeeeeef d fddZ fddZd	d
 Z  Z	S )ActionMenuItemr   POSTN)r   r   actionr   r   r   methodr   c	           	         s:   |rt dtd t j||||p"||d || _|| _d S )NzZThe `classnames` kwarg for sidebar ActionMenuItem is deprecated - use `classname` instead.r   r'   )r   r   r(   r    r5   r6   )	r   r   r   r5   r   r   r   r6   r   r)   r   r   r    i   s    zActionMenuItem.__init__c                    s*   t   }| j|d d< | j|d d< |S )Nr   r5   r6   )r(   r"   r5   r6   r+   r)   r   r   r"      s    
zActionMenuItem.js_argsc                 C   s`   | j |j ko^| j|jko^| j|jko^| j|jko^| j|jko^| j|jko^| j|jko^| j|jkS r-   )r*   r   r   r5   r6   r   r   r   r.   r   r   r   r0      s    






zActionMenuItem.__eq__)r   r   r   r4   Nr1   r   r   r)   r   r3   g   s"        
r3   zwagtail.sidebar.SubMenuItemc                       sR   e Zd Zd
eeee eeeeeeef d fddZ fddZ	dd	 Z
  ZS )SubMenuItemr   N)r   r   
menu_itemsr   r   r   footer_textr   c	           	         s:   |rt dtd t j||||p"||d || _|| _d S )NzWThe `classnames` kwarg for sidebar SubMenuItem is deprecated - use `classname` instead.r   r'   )r   r   r(   r    r8   r9   )	r   r   r   r8   r   r   r   r9   r   r)   r   r   r       s    zSubMenuItem.__init__c                    s(   t   }| j|d d< || j |S )Nr   r9   )r(   r"   r9   appendr8   r+   r)   r   r   r"      s    
zSubMenuItem.js_argsc                 C   s`   | j |j ko^| j|jko^| j|jko^| j|jko^| j|jko^| j|jko^| j|jko^| j|jkS r-   )r*   r   r   r8   r   r   r9   r   r.   r   r   r   r0      s    






zSubMenuItem.__eq__)r   r   r   r   N)r   r   r   r#   listr   r   r   r    r"   r0   r2   r   r   r)   r   r7      s"        
r7   z$wagtail.sidebar.PageExplorerMenuItemc                       sN   e Zd Zd
eeeeeeeeeef d fddZ fddZdd	 Z	  Z
S )PageExplorerMenuItemr   N)r   r   r&   start_page_idr   r   r   r   c	           	         s6   |rt dtd t j|||||p$||d || _d S )Nz`The `classnames` kwarg for sidebar PageExplorerMenuItem is deprecated - use `classname` instead.r   r'   )r   r   r(   r    r=   )	r   r   r   r&   r=   r   r   r   r   r)   r   r   r       s    zPageExplorerMenuItem.__init__c                    s   t   }|| j |S r-   )r(   r"   r:   r=   r+   r)   r   r   r"      s    
zPageExplorerMenuItem.js_argsc                 C   s`   | j |j ko^| j|jko^| j|jko^| j|jko^| j|jko^| j|jko^| j|jko^| j|jkS r-   )r*   r   r   r&   r=   r   r   r   r.   r   r   r   r0      s    






zPageExplorerMenuItem.__eq__)r   r   r   N)r   r   r   r#   intr   r   r    r"   r0   r2   r   r   r)   r   r<      s        
r<   z%wagtail.sidebar.WagtailBrandingModulec                   @   s   e Zd Zdd ZdS )WagtailBrandingModulec                 C   s
   t dgS )NZwagtailadmin_homer   r   r   r   r   r"      s    zWagtailBrandingModule.js_argsN)r   r   r   r"   r   r   r   r   r?      s   r?   zwagtail.sidebar.SearchModulec                   @   s   e Zd Zdd Zdd ZdS )SearchModulec                 C   s
   || _ d S r-   )search_area)r   rA   r   r   r   r       s    zSearchModule.__init__c                 C   s
   | j jgS r-   )rA   r&   r   r   r   r   r"     s    zSearchModule.js_argsN)r   r   r   r    r"   r   r   r   r   r@      s   r@   zwagtail.sidebar.MainMenuModulec                   @   s,   e Zd Zee ee dddZdd ZdS )MainMenuModule)r8   account_menu_itemsc                 C   s   || _ || _|| _d S r-   )r8   rC   user)r   r8   rC   rD   r   r   r   r    	  s    zMainMenuModule.__init__c                 C   sX   ddl m} z| jj}W n ty.   d }Y n0 | j| j|pD| j || jdddgS )Nr   )
avatar_url2   )size)r   Z	avatarUrl)Z,wagtail.admin.templatetags.wagtailadmin_tagsrE   rD   
first_nameAttributeErrorr8   rC   Zget_username)r   rE   rH   r   r   r   r"     s    
zMainMenuModule.js_argsN)r   r   r   r;   r   r    r"   r   r   r   r   rB     s   rB   N)collections.abcr   typingr   warningsr   Zdjangor   Zdjango.urlsr   Zdjango.utils.functionalr   Zwagtail.admin.staticfilesr	   Zwagtail.telepathr
   r   Zwagtail.utils.deprecationr   r   r   r%   r3   r7   r<   r?   r@   rB   r   r   r   r   <module>   s0   !
*
.
.
0


