Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

84 řádky
2.9KB

  1. {{define "template_detail"}}
  2. <!doctype html>
  3. <html lang="en">
  4. <head>
  5. <title>{{.Title}}</title>
  6. {{template "head" .}}
  7. </head>
  8. <body>
  9. {{template "nav" .}}
  10. {{if .Msg}}<div class="flash flash-ok">{{.Msg}}</div>{{end}}
  11. {{if .Err}}<div class="flash flash-err">{{.Err}}</div>{{end}}
  12. <h1>Template Detail</h1>
  13. <table>
  14. <tr><th>ID</th><td>{{.Detail.Template.ID}}</td></tr>
  15. <tr><th>Name</th><td>{{.Detail.Template.Name}}</td></tr>
  16. <tr><th>Type</th><td>{{.Detail.Template.Type}}</td></tr>
  17. <tr><th>Manifest status</th><td>{{.Detail.Template.ManifestStatus}}</td></tr>
  18. <tr>
  19. <th>Thumbnail</th>
  20. <td>
  21. {{if .Detail.Template.ThumbnailURL}}
  22. <span class="thumb-hover">
  23. <a href="{{.Detail.Template.ThumbnailURL}}" target="_blank" rel="noopener">open thumbnail</a>
  24. <span class="thumb-preview"><img src="{{.Detail.Template.ThumbnailURL}}" alt="Template thumbnail for {{.Detail.Template.Name}}" loading="lazy"></span>
  25. </span>
  26. {{else}}none{{end}}
  27. </td>
  28. </tr>
  29. <tr><th>Active manifest</th><td>{{if .Detail.Manifest}}{{.Detail.Manifest.ID}}{{else}}none{{end}}</td></tr>
  30. </table>
  31. <form method="post" action="/templates/{{.Detail.Template.ID}}/onboard">
  32. <button type="submit">Run Onboarding Discovery</button>
  33. </form>
  34. {{if .Detail.Manifest}}
  35. <h2>Manifest</h2>
  36. <p class="mono">{{prettyJSON .Detail.Manifest.FlattenedManifestJSON}}</p>
  37. <h2>Fields</h2>
  38. <form method="post" action="/templates/{{.Detail.Template.ID}}/fields">
  39. <input type="hidden" name="manifest_id" value="{{.Detail.Manifest.ID}}">
  40. <input type="hidden" name="field_count" value="{{len .Fields}}">
  41. <table>
  42. <thead>
  43. <tr>
  44. <th>Path</th>
  45. <th>Kind</th>
  46. <th>Enabled</th>
  47. <th>Required</th>
  48. <th>Label</th>
  49. <th>Order</th>
  50. <th>Notes</th>
  51. <th>Sample</th>
  52. </tr>
  53. </thead>
  54. <tbody>
  55. {{range $i, $f := .Fields}}
  56. <tr>
  57. <td>
  58. <input type="hidden" name="field_path_{{$i}}" value="{{$f.Path}}">
  59. <span class="mono">{{$f.Path}}</span>
  60. </td>
  61. <td>{{$f.FieldKind}}</td>
  62. <td><input type="checkbox" name="field_enabled_{{$i}}" {{if $f.IsEnabled}}checked{{end}}></td>
  63. <td><input type="checkbox" name="field_required_{{$i}}" {{if $f.IsRequiredByUs}}checked{{end}}></td>
  64. <td><input type="text" name="field_label_{{$i}}" value="{{$f.DisplayLabel}}"></td>
  65. <td><input type="number" name="field_order_{{$i}}" value="{{$f.DisplayOrder}}"></td>
  66. <td><input type="text" name="field_notes_{{$i}}" value="{{$f.Notes}}"></td>
  67. <td class="mono">{{$f.SampleValue}}</td>
  68. </tr>
  69. {{end}}
  70. </tbody>
  71. </table>
  72. <button type="submit">Save Field Settings</button>
  73. </form>
  74. {{end}}
  75. <h2>Raw Template JSON</h2>
  76. <p class="mono">{{prettyJSON .Detail.Template.RawJSON}}</p>
  77. </body>
  78. </html>
  79. {{end}}