template.html 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <aside class="dashboard-settings__aside">
  2. <h2 class="dashboard-settings__aside-header">
  3. <i class="fa fa-cog"></i>
  4. Settings
  5. </h2>
  6. <a href="{{::section.url}}" class="dashboard-settings__nav-item" ng-class="{active: ctrl.viewId === section.id}" ng-repeat="section in ctrl.sections">
  7. <i class="{{::section.icon}}"></i>
  8. {{::section.title}}
  9. </a>
  10. <div class="dashboard-settings__aside-actions">
  11. <button class="btn btn-primary" ng-click="ctrl.saveDashboard()" ng-show="ctrl.canSave">
  12. Save
  13. </button>
  14. <button class="btn btn-inverse" ng-click="ctrl.openSaveAsModal()" ng-show="ctrl.canSaveAs">
  15. Save As...
  16. </button>
  17. <button class="btn btn-danger" ng-click="ctrl.deleteDashboard()" ng-show="ctrl.canDelete">
  18. Delete
  19. </button>
  20. </div>
  21. </aside>
  22. <div class="dashboard-settings__content" ng-if="ctrl.viewId === 'settings'">
  23. <h3 class="dashboard-settings__header">
  24. General
  25. </h3>
  26. <div class="gf-form-group">
  27. <div class="gf-form">
  28. <label class="gf-form-label width-7">Name</label>
  29. <input type="text" class="gf-form-input width-30" ng-model='ctrl.dashboard.title'></input>
  30. </div>
  31. <div class="gf-form">
  32. <label class="gf-form-label width-7">Description</label>
  33. <input type="text" class="gf-form-input width-30" ng-model='ctrl.dashboard.description'></input>
  34. </div>
  35. <div class="gf-form">
  36. <label class="gf-form-label width-7">
  37. Tags
  38. <info-popover mode="right-normal">Press enter to add a tag</info-popover>
  39. </label>
  40. <bootstrap-tagsinput ng-model="ctrl.dashboard.tags" tagclass="label label-tag" placeholder="add tags">
  41. </bootstrap-tagsinput>
  42. </div>
  43. <folder-picker initial-title="ctrl.dashboard.meta.folderTitle"
  44. initial-folder-id="ctrl.dashboard.meta.folderId"
  45. on-change="ctrl.onFolderChange($folder)"
  46. enable-create-new="true"
  47. is-valid-selection="true"
  48. label-class="width-7"
  49. dashboard-id="ctrl.dashboard.id">
  50. </folder-picker>
  51. <gf-form-switch class="gf-form" label="Editable" tooltip="Uncheck, then save and reload to disable all dashboard editing" checked="ctrl.dashboard.editable" label-class="width-7">
  52. </gf-form-switch>
  53. </div>
  54. <gf-time-picker-settings dashboard="ctrl.dashboard"></gf-time-picker-settings>
  55. <h5 class="section-heading">Panel Options</h5>
  56. <div class="gf-form">
  57. <label class="gf-form-label width-11">
  58. Graph Tooltip
  59. <info-popover mode="right-normal">
  60. Cycle between options using Shortcut: CTRL+O or CMD+O
  61. </info-popover>
  62. </label>
  63. <div class="gf-form-select-wrapper">
  64. <select ng-model="ctrl.dashboard.graphTooltip" class='gf-form-input' ng-options="f.value as f.text for f in [{value: 0, text: 'Default'}, {value: 1, text: 'Shared crosshair'},{value: 2, text: 'Shared Tooltip'}]"></select>
  65. </div>
  66. </div>
  67. </div>
  68. <div class="dashboard-settings__content" ng-if="ctrl.viewId === 'annotations'" ng-include="'public/app/features/annotations/partials/editor.html'">
  69. </div>
  70. <div class="dashboard-settings__content" ng-if="ctrl.viewId === 'templating'" ng-include="'public/app/features/templating/partials/editor.html'">
  71. </div>
  72. <div class="dashboard-settings__content" ng-if="ctrl.viewId === 'links'" >
  73. <dash-links-editor dashboard="ctrl.dashboard"></dash-links-editor>
  74. </div>
  75. <div class="dashboard-settings__content" ng-if="ctrl.viewId === 'versions'" >
  76. <gf-dashboard-history dashboard="dashboard"></gf-dashboard-history>
  77. </div>
  78. <div class="dashboard-settings__content" ng-if="ctrl.viewId === 'dashboard_json'" >
  79. <h3 class="dashboard-settings__header">JSON Model</h3>
  80. <div class="dashboard-settings__subheader">
  81. The JSON Model below is data structure that defines the dashboard. Including settings, panel settings & layout,
  82. queries etc.
  83. </div>
  84. <div class="gf-form">
  85. <code-editor content="ctrl.json" data-mode="json" data-max-lines=30 ></code-editor>
  86. </div>
  87. <div class="gf-form-button-row">
  88. <button class="btn btn-primary" ng-click="ctrl.saveDashboardJson()" ng-show="ctrl.canSave">
  89. Save Changes
  90. </button>
  91. </div>
  92. </div>
  93. <div class="dashboard-settings__content" ng-if="ctrl.viewId === 'permissions'" >
  94. <dashboard-permissions ng-if="ctrl.dashboard && !ctrl.hasUnsavedFolderChange"
  95. dashboardId="ctrl.dashboard.id"
  96. backendSrv="ctrl.backendSrv"
  97. folder="ctrl.getFolder()"
  98. />
  99. <div ng-if="ctrl.hasUnsavedFolderChange">
  100. <h5>You have changed folder, please save to view permissions.</h5>
  101. </div>
  102. </div>
  103. <div class="dashboard-settings__content" ng-if="ctrl.viewId === '404'">
  104. <h3 class="dashboard-settings__header">Settings view not found</h3>
  105. <div>
  106. <h5>The settings page could not be found or you do not have permission to access it</h5>
  107. </div>
  108. </div>
  109. <div class="dashboard-settings__content" ng-if="ctrl.viewId === 'make_editable'">
  110. <h3 class="dashboard-settings__header">Make Editable</h3>
  111. <button class="btn btn-primary" ng-click="ctrl.makeEditable()">
  112. Make Editable
  113. </button>
  114. </div>