diff --git a/html/extra-networks-card.html b/html/extra-networks-card.html
index ef4b613af..df301eb5c 100644
--- a/html/extra-networks-card.html
+++ b/html/extra-networks-card.html
@@ -4,7 +4,8 @@
diff --git a/javascript/extraNetworks.js b/javascript/extraNetworks.js
index 9cde37e5b..20007a7ab 100644
--- a/javascript/extraNetworks.js
+++ b/javascript/extraNetworks.js
@@ -95,6 +95,23 @@ function saveCardPreview(event, tabname, filename){
event.preventDefault()
}
+function saveCardDescription(event, tabname, filename,descript){
+ var textarea = gradioApp().querySelector("#" + tabname + '_description_filename > label > textarea')
+ var button = gradioApp().getElementById(tabname + '_save_description')
+ var description = gradioApp().getElementById(tabname+ '_description_input')
+
+ textarea.value = filename
+ description.value=descript
+ updateInput(textarea)
+
+ button.click()
+
+ //alert("add description here!")
+
+ event.stopPropagation()
+ event.preventDefault()
+}
+
function extraNetworksSearchButton(tabs_id, event){
searchTextarea = gradioApp().querySelector("#" + tabs_id + ' > div > textarea')
button = event.target
@@ -118,12 +135,6 @@ function popup(contents){
close.title = "Close";
globalPopup.appendChild(close)
- var addDescrip = document.createElement('div')
- addDescrip.classList.add('global-popup-addDescrip');
- addDescrip.onclick = function(){ alert("add descript you idiot") };
- addDescrip.title = "add descript";
- globalPopup.appendChild(addDescrip)
-
globalPopupInner = document.createElement('div')
globalPopupInner.onclick = function(event){ event.stopPropagation(); return false; };
globalPopupInner.classList.add('global-popup-inner');
diff --git a/modules/ui_extra_networks.py b/modules/ui_extra_networks.py
index daea03d62..525cd9f3b 100644
--- a/modules/ui_extra_networks.py
+++ b/modules/ui_extra_networks.py
@@ -163,6 +163,7 @@ class ExtraNetworksPage:
"name": item["name"],
"description": (item.get("description") or ""),
"card_clicked": onclick,
+ "save_card_description": '"' + html.escape(f"""return saveCardDescription(event, {json.dumps(tabname)}, {json.dumps(item["local_preview"])})""") + '"',
"save_card_preview": '"' + html.escape(f"""return saveCardPreview(event, {json.dumps(tabname)}, {json.dumps(item["local_preview"])})""") + '"',
"search_term": item.get("search_term", ""),
"metadata_button": metadata_button,
@@ -212,6 +213,11 @@ class ExtraNetworksUi:
self.button_save_preview = None
self.preview_target_filename = None
+ self.button_save_description = None
+ self.description_target_filename = None
+
+ self.description_input = None
+
self.tabname = None
@@ -250,6 +256,10 @@ def create_ui(container, button, tabname):
ui.button_save_preview = gr.Button('Save preview', elem_id=tabname+"_save_preview", visible=False)
ui.preview_target_filename = gr.Textbox('Preview save filename', elem_id=tabname+"_preview_filename", visible=False)
+ ui.button_save_description = gr.Button('Save description', elem_id=tabname+"_save_description", visible=False)
+ ui.description_target_filename = gr.Textbox('Description save filename', elem_id=tabname+"_description_filename", visible=False)
+ ui.description_input = gr.Text(elem_id=tabname+"_description_input")
+
def toggle_visibility(is_visible):
is_visible = not is_visible
return is_visible, gr.update(visible=is_visible)
@@ -310,3 +320,20 @@ def setup_ui(ui, gallery):
outputs=[*ui.pages]
)
+ def save_description(filenamex,images,filename,descrip):
+ filename = filename.split('.')[0]+".description.txt"
+ file1 = open(filename,'w')
+ print(file1)
+ file1.write(descrip)
+ file1.close()
+ return [page.create_html(ui.tabname) for page in ui.stored_extra_pages]
+
+ ui.button_save_description.click(
+ fn=save_description,
+ _js="function(x,y,z){return selected_gallery_index(), y, z]}",
+ inputs=[ui.description_target_filename, gallery, ui.description_target_filename, ui.description_input],
+ outputs=[*ui.pages]
+ )
+
+
+
diff --git a/style.css b/style.css
index 4c1099768..0dcc3e25d 100644
--- a/style.css
+++ b/style.css
@@ -424,20 +424,6 @@ div.dimensions-tools{
font-size: 32pt;
}
-.global-popup-addDescrip:before {
- content: "+";
-}
-
-.global-popup-addDescrip{
- position: fixed;
- right: 2em;
- top: 0;
- cursor: pointer;
- color: white;
- font-size: 32pt;
-}
-
-
.global-popup-inner{
display: inline-block;
margin: auto;