a
    Ad	                     @   s>   d dl Zd dlmZmZmZ d dlmZ G dd dejZ	dS )    N)ui_extra_networks_user_metadatasd_vaeshared)create_refresh_buttonc                       s@   e Zd Z fddZdd Zdd Z fddZd	d
 Z  ZS )CheckpointUserMetadataEditorc                    s   t  ||| d | _d S N)super__init__
select_vae)selfuitabnamepage	__class__ [/var/www/html/stable-diffusion-webui/modules/ui_extra_networks_checkpoints_user_metadata.pyr	      s    z%CheckpointUserMetadataEditor.__init__c                 C   s2   |  |}||d< ||d< ||d< | || d S )Ndescriptionnotesvae)get_user_metadatawrite_user_metadata)r   namedescr   r   user_metadatar   r   r   save_user_metadata   s
    
z/CheckpointUserMetadataEditor.save_user_metadatac                 C   s   |t jjjkrt  d S r   )r   sd_modelsd_checkpoint_infoname_for_extrar   reload_vae_weights)r   r   r   r   r   
update_vae   s    z'CheckpointUserMetadataEditor.update_vaec                    s2   |  |}t |}g |dd |ddS )Nr      r    )r   r   put_values_into_componentsget)r   r   r   valuesr   r   r   r#      s    


z7CheckpointUserMetadataEditor.put_values_into_componentsc                 C   s  |    t H tjddgttj dddd| _t| jtj	dd d W d    n1 s^0    Y  tj
d	d
d| _|   | j| j| j| j| j| jg}| jj| j| jg|djdd g | jgd | j| j| jg}| | j| j| | jj| j| jgd d S )N	AutomaticNonezPreferred VAEZ*checpoint_edit_user_metadata_preferred_vae)choicesvaluelabelelem_idc                   S   s   dddgt tj iS )Nr(   r&   r'   )listr   vae_dictr   r   r   r   <lambda>'       z<CheckpointUserMetadataEditor.create_editor.<locals>.<lambda>Z2checpoint_edit_user_metadata_refresh_preferred_vaeNotes   )r*   lines)fninputsoutputsc                   S   s   t jddS )NT)visible)grupdater   r   r   r   r.   8   r/   )r3   r4   )create_default_editor_elemsr7   RowDropdownr,   r   r-   r
   r   refresh_vae_listTextArea
edit_notescreate_default_buttons	edit_nameedit_descriptionhtml_filedatahtml_previewbutton_editclickr#   edit_name_inputthenboxsetup_save_handlerbutton_saver   r    )r   viewed_componentsedited_componentsr   r   r   create_editor"   s0    
"4	z*CheckpointUserMetadataEditor.create_editor)	__name__
__module____qualname__r	   r   r    r#   rM   __classcell__r   r   r   r   r      s
   	r   )
gradior7   modulesr   r   r   Zmodules.ui_commonr   UserMetadataEditorr   r   r   r   r   <module>   s   