| 
									
										
										
										
											2023-05-17 15:46:58 +03:00
										 |  |  | // various hints and extra info for the settings tab
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-18 09:59:10 +03:00
										 |  |  | var settingsHintsSetup = false; | 
					
						
							| 
									
										
										
										
											2023-05-17 15:46:58 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | onOptionsChanged(function() { | 
					
						
							|  |  |  |     if (settingsHintsSetup) return; | 
					
						
							|  |  |  |     settingsHintsSetup = true; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     gradioApp().querySelectorAll('#settings [id^=setting_]').forEach(function(div) { | 
					
						
							|  |  |  |         var name = div.id.substr(8); | 
					
						
							|  |  |  |         var commentBefore = opts._comments_before[name]; | 
					
						
							|  |  |  |         var commentAfter = opts._comments_after[name]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (!commentBefore && !commentAfter) return; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         var span = null; | 
					
						
							|  |  |  |         if (div.classList.contains('gradio-checkbox')) span = div.querySelector('label span'); | 
					
						
							|  |  |  |         else if (div.classList.contains('gradio-checkboxgroup')) span = div.querySelector('span').firstChild; | 
					
						
							|  |  |  |         else if (div.classList.contains('gradio-radio')) span = div.querySelector('span').firstChild; | 
					
						
							|  |  |  |         else span = div.querySelector('label span').firstChild; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (!span) return; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (commentBefore) { | 
					
						
							|  |  |  |             var comment = document.createElement('DIV'); | 
					
						
							|  |  |  |             comment.className = 'settings-comment'; | 
					
						
							|  |  |  |             comment.innerHTML = commentBefore; | 
					
						
							|  |  |  |             span.parentElement.insertBefore(document.createTextNode('\xa0'), span); | 
					
						
							|  |  |  |             span.parentElement.insertBefore(comment, span); | 
					
						
							|  |  |  |             span.parentElement.insertBefore(document.createTextNode('\xa0'), span); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         if (commentAfter) { | 
					
						
							| 
									
										
										
										
											2023-05-18 09:59:10 +03:00
										 |  |  |             comment = document.createElement('DIV'); | 
					
						
							| 
									
										
										
										
											2023-05-17 15:46:58 +03:00
										 |  |  |             comment.className = 'settings-comment'; | 
					
						
							|  |  |  |             comment.innerHTML = commentAfter; | 
					
						
							|  |  |  |             span.parentElement.insertBefore(comment, span.nextSibling); | 
					
						
							|  |  |  |             span.parentElement.insertBefore(document.createTextNode('\xa0'), span.nextSibling); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function settingsHintsShowQuicksettings() { | 
					
						
							|  |  |  |     requestGet("./internal/quicksettings-hint", {}, function(data) { | 
					
						
							|  |  |  |         var table = document.createElement('table'); | 
					
						
							| 
									
										
										
										
											2023-05-21 00:41:41 +03:00
										 |  |  |         table.className = 'popup-table'; | 
					
						
							| 
									
										
										
										
											2023-05-17 15:46:58 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  |         data.forEach(function(obj) { | 
					
						
							|  |  |  |             var tr = document.createElement('tr'); | 
					
						
							|  |  |  |             var td = document.createElement('td'); | 
					
						
							|  |  |  |             td.textContent = obj.name; | 
					
						
							|  |  |  |             tr.appendChild(td); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-18 09:59:10 +03:00
										 |  |  |             td = document.createElement('td'); | 
					
						
							| 
									
										
										
										
											2023-05-17 15:46:58 +03:00
										 |  |  |             td.textContent = obj.label; | 
					
						
							|  |  |  |             tr.appendChild(td); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             table.appendChild(tr); | 
					
						
							|  |  |  |         }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         popup(table); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | } |