datasourceEdit.html 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <topnav title="Data sources" icon="fa fa-fw fa-database" subnav="true">
  2. <ul class="nav">
  3. <li><a href="datasources">Overview</a></li>
  4. <li ng-class="{active: isNew}"><a href="datasources/new">Add new</a></li>
  5. <li class="active" ng-show="!isNew"><a href="datasources/edit/{{current.name}}">Edit</a></li>
  6. </ul>
  7. </topnav>
  8. <div class="page-container">
  9. <div class="page">
  10. <h2 ng-show="isNew">Add data source</h2>
  11. <h2 ng-show="!isNew">Edit {{current.name}}</h2>
  12. <form name="editForm">
  13. <div class="editor-row">
  14. <div class="editor-option">
  15. <label class="small">Data source name</label>
  16. <input type="text" class="input-large" ng-model='current.name' placeholder="production" required></input>
  17. </div>
  18. <div class="editor-option">
  19. <label class="small">Type</label>
  20. <select class="input-large" ng-model="current.type" ng-options="f.type as f.name for f in types" ng-change="typeChanged()"></select>
  21. </div>
  22. <editor-opt-bool text="Mark as default" model="current.isDefault" change="render()"></editor-opt-bool>
  23. </div>
  24. <div class="editor-row">
  25. <div class="editor-option">
  26. <label class="small">Url</label>
  27. <input type="text" class="input-xxlarge" ng-model='current.url' placeholder="http://my.graphite.com:8080" required></input>
  28. </div>
  29. <div class="editor-option">
  30. <label class="small">Access method <tip>Direct = url is used directly from browser, Proxy = Grafana backend will proxy the request</label>
  31. <select class="input-medium" ng-model="current.access" ng-options="f for f in ['direct', 'proxy']"></select>
  32. </div>
  33. </div>
  34. <div class="editor-row" ng-if="current.type === 'influxdb'">
  35. <div class="section">
  36. <h5>InfluxDB Details</h5>
  37. <div class="editor-option">
  38. <label class="small">Database name</label>
  39. <input type="text" class="input-large" required ng-model='current.database' placeholder=""></input>
  40. </div>
  41. <div class="editor-option">
  42. <label class="small">User</label>
  43. <input type="text" class="input-large" ng-model='current.user' placeholder=""></input>
  44. </div>
  45. <div class="editor-option">
  46. <label class="small">Password</label>
  47. <input type="password" class="input-large" ng-model='current.password' placeholder=""></input>
  48. </div>
  49. </div>
  50. </div>
  51. <div class="editor-row" ng-if="current.type === 'elasticsearch'">
  52. <div class="section">
  53. <h5>Elastic search details</h5>
  54. <div class="editor-option">
  55. <label class="small">Index name</label>
  56. <input type="text" class="input-large" required ng-model='current.database' placeholder=""></input>
  57. </div>
  58. </div>
  59. </div>
  60. <br>
  61. <button type="submit" class="btn btn-success" ng-show="isNew" ng-click="add()">Add</button>
  62. <button type="submit" class="btn btn-success" ng-show="!isNew" ng-click="update()">Update</button>
  63. <a class="btn btn-inverse" ng-show="!isNew" href="account/datasources">Cancel</a>
  64. <br>
  65. </form>
  66. </div>
  67. </div>