ui_settings_hints.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. // various hints and extra info for the settings tab
  2. settingsHintsSetup = false
  3. onOptionsChanged(function(){
  4. if(settingsHintsSetup) return
  5. settingsHintsSetup = true
  6. gradioApp().querySelectorAll('#settings [id^=setting_]').forEach(function(div){
  7. var name = div.id.substr(8)
  8. var commentBefore = opts._comments_before[name]
  9. var commentAfter = opts._comments_after[name]
  10. if(! commentBefore && !commentAfter) return
  11. var span = null
  12. if(div.classList.contains('gradio-checkbox')) span = div.querySelector('label span')
  13. else if(div.classList.contains('gradio-checkboxgroup')) span = div.querySelector('span').firstChild
  14. else if(div.classList.contains('gradio-radio')) span = div.querySelector('span').firstChild
  15. else span = div.querySelector('label span').firstChild
  16. if(!span) return
  17. if(commentBefore){
  18. var comment = document.createElement('DIV')
  19. comment.className = 'settings-comment'
  20. comment.innerHTML = commentBefore
  21. span.parentElement.insertBefore(document.createTextNode('\xa0'), span)
  22. span.parentElement.insertBefore(comment, span)
  23. span.parentElement.insertBefore(document.createTextNode('\xa0'), span)
  24. }
  25. if(commentAfter){
  26. var comment = document.createElement('DIV')
  27. comment.className = 'settings-comment'
  28. comment.innerHTML = commentAfter
  29. span.parentElement.insertBefore(comment, span.nextSibling)
  30. span.parentElement.insertBefore(document.createTextNode('\xa0'), span.nextSibling)
  31. }
  32. })
  33. })
  34. function settingsHintsShowQuicksettings(){
  35. requestGet("./internal/quicksettings-hint", {}, function(data){
  36. var table = document.createElement('table')
  37. table.className = 'settings-value-table'
  38. data.forEach(function(obj){
  39. var tr = document.createElement('tr')
  40. var td = document.createElement('td')
  41. td.textContent = obj.name
  42. tr.appendChild(td)
  43. var td = document.createElement('td')
  44. td.textContent = obj.label
  45. tr.appendChild(td)
  46. table.appendChild(tr)
  47. })
  48. popup(table);
  49. })
  50. }