ui_settings_hints.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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')
  14. else span = div.querySelector('label span').firstChild
  15. if(!span) return
  16. if(commentBefore){
  17. var comment = document.createElement('DIV')
  18. comment.className = 'settings-comment'
  19. comment.innerHTML = commentBefore
  20. span.parentElement.insertBefore(document.createTextNode('\xa0'), span)
  21. span.parentElement.insertBefore(comment, span)
  22. span.parentElement.insertBefore(document.createTextNode('\xa0'), span)
  23. }
  24. if(commentAfter){
  25. var comment = document.createElement('DIV')
  26. comment.className = 'settings-comment'
  27. comment.innerHTML = commentAfter
  28. span.parentElement.insertBefore(comment, span.nextSibling)
  29. span.parentElement.insertBefore(document.createTextNode('\xa0'), span.nextSibling)
  30. }
  31. })
  32. })
  33. function settingsHintsShowQuicksettings(){
  34. requestGet("./internal/quicksettings-hint", {}, function(data){
  35. var table = document.createElement('table')
  36. table.className = 'settings-value-table'
  37. data.forEach(function(obj){
  38. var tr = document.createElement('tr')
  39. var td = document.createElement('td')
  40. td.textContent = obj.name
  41. tr.appendChild(td)
  42. var td = document.createElement('td')
  43. td.textContent = obj.label
  44. tr.appendChild(td)
  45. table.appendChild(tr)
  46. })
  47. popup(table);
  48. })
  49. }