Torkel Ödegaard 12 лет назад
Родитель
Сommit
5da23f9b81
1 измененных файлов с 63 добавлено и 5 удалено
  1. 63 5
      src/app/panels/graphite/editor.html

+ 63 - 5
src/app/panels/graphite/editor.html

@@ -1,14 +1,45 @@
 <div class="editor-row">
 <div class="editor-row">
+<style>
+  .table-top {
+    table-layout: fixed;
+    width: 100%;
+  }
+  .my-wrapper {
+    width: 100%;
+    overflow: hidden;
+  }
 
 
+  .grafana-segment-list {
+    display: block;
+    float: none;
+    position: relative;
+    white-space: nowrap;
+  }
+
+  .grafana-segment-list li {
+    display: inline-block;
+    float: none;
+  }
+</style>
 	<div class="grafana-target" ng-repeat="target in panel.targets" ng-controller="GraphiteTargetCtrl" ng-init="init()">
 	<div class="grafana-target" ng-repeat="target in panel.targets" ng-controller="GraphiteTargetCtrl" ng-init="init()">
     <div class="grafana-target-inner-wrapper">
     <div class="grafana-target-inner-wrapper">
       <div class="grafana-target-inner">
       <div class="grafana-target-inner">
+        <table class="table-top">
+        <tr>
+        <td>
         <span class="grafana-target-onoff">
         <span class="grafana-target-onoff">
           <i class="icon-eye-open"></i>
           <i class="icon-eye-open"></i>
         </span>
         </span>
-
-        <input type="text" class="grafana-target-text-input" ng-model="target.target" focus-me="showTextEditor" ng-blur="showTextEditor = false" ng-show="showTextEditor" />
-
+        </td>
+        <input  type="text"
+                class="grafana-target-text-input"
+                ng-model="target.target"
+                focus-me="showTextEditor"
+                ng-blur="showTextEditor = false"
+                ng-model-onblur ng-change="targetChanged()"
+                ng-show="showTextEditor" />
+        <td style="width: 100%">
+          <div class="my-wrapper">
         <ul class="grafana-segment-list" role="menu" ng-hide="showTextEditor">
         <ul class="grafana-segment-list" role="menu" ng-hide="showTextEditor">
           <li class="dropdown" ng-repeat="segment in segments" role="menuitem">
           <li class="dropdown" ng-repeat="segment in segments" role="menuitem">
             <a  tabindex="1"
             <a  tabindex="1"
@@ -24,8 +55,32 @@
               </li>
               </li>
             </ul>
             </ul>
           </li>
           </li>
+          <li ng-repeat="func in functions" class="dropdown">
+            <a class="grafana-target-segment dropdown-toggle" bs-popover="'app/panels/graphite/funcEditor.html'" data-placement="top">{{func.text}}</a>
+            <i class="icon-long-arrow-right"></i>
+          </li>
+          <li class="dropdown">
+            <a  class="grafana-target-segment dropdown-toggle"
+                data-toggle="dropdown"
+                tabindex="1"
+                ng-click="addFunction">
+                add function
+            </a>
+            <ul class="dropdown-menu" role="menu">
+              <li ng-repeat="funcDef in funcDefs" role="menuitem">
+                <a href="javascript:void(0)"
+                   tabindex="1"
+                   ng-click="addFunction(funcDef)">
+                   {{funcDef.name}}
+                </a>
+              </li>
+            </ul>
+          </li>
         </ul>
         </ul>
-        <ul class="grafana-target-controls">
+        </div>
+        </td>
+        <td style="width: 90px;">
+        <ul class="grafana-target-controls" style="width: 90px;">
           <li>
           <li>
             <a class="pointer" tabindex="1" ng-click="showTextEditor = true">
             <a class="pointer" tabindex="1" ng-click="showTextEditor = true">
               <i class="icon-pencil"></i>
               <i class="icon-pencil"></i>
@@ -42,11 +97,14 @@
             </a>
             </a>
           </li>
           </li>
         </ul>
         </ul>
+        </td>
+        </tr>
+        </table>
         <div class="clearfix"></div>
         <div class="clearfix"></div>
       </div>
       </div>
     </div>
     </div>
 
 
-    <div class="grafana-target-func-panel-wrapper" ng-hide="showTextEditor">
+    <div class="grafana-target-func-panel-wrapper" ng-if="false">
       <div class="grafana-target-func-panel">
       <div class="grafana-target-func-panel">
         <span class="grafana-target-func-panel-icon">
         <span class="grafana-target-func-panel-icon">