<query-editor-row query-ctrl="ctrl" has-text-edit-mode="true">

  <div class="gf-form" ng-show="ctrl.target.textEditor">
    <input type="text" class="gf-form-input" ng-model="ctrl.target.target" spellcheck="false" ng-blur="ctrl.targetTextChanged()"></input>
  </div>

  <div ng-hide="ctrl.target.textEditor">
    <div class="gf-form-inline">
      <div class="gf-form">
        <label class="gf-form-label width-6 query-keyword">Series</label>
      </div>

      <div ng-if="ctrl.queryModel.seriesByTagUsed" ng-repeat="tag in ctrl.queryModel.tags" class="gf-form">
        <gf-form-dropdown
          model="tag.key"
          allow-custom="true"
          label-mode="true"
          debounce="true"
          placeholder="Tag key"
          css-class="query-segment-key"
          get-options="ctrl.getTags($index, $query)"
          on-change="ctrl.tagChanged(tag, $index)"
        ></gf-form-dropdown>
        
        <gf-form-dropdown
          model="tag.operator"
          label-mode="true"
          css-class="query-segment-operator"
          get-options="ctrl.getTagOperators()"
          on-change="ctrl.tagChanged(tag, $index)"
          min-input-width="30"
        ></gf-form-dropdown>
        <gf-form-dropdown
          model="tag.value"
          allow-custom="true"
          label-mode="true"
          debounce="true"
          css-class="query-segment-value"
          placeholder="Tag value"
          get-options="ctrl.getTagValues(tag, $index, $query)"
          on-change="ctrl.tagChanged(tag, $index)"
        />
        <label class="gf-form-label query-keyword" ng-if="ctrl.showDelimiter($index)">AND</label>
      </div>

      <div ng-if="ctrl.queryModel.seriesByTagUsed" ng-repeat="segment in ctrl.addTagSegments" role="menuitem" class="gf-form">
        <metric-segment segment="segment" get-options="ctrl.getTagsAsSegments($query)" on-change="ctrl.addNewTag(segment)" debounce="true" />
      </div>

      <div ng-if="!ctrl.queryModel.seriesByTagUsed" ng-repeat="segment in ctrl.segments" role="menuitem" class="gf-form">
        <metric-segment segment="segment" get-options="ctrl.getAltSegments($index, $query)" on-change="ctrl.segmentValueChanged(segment, $index)" />
      </div>

      <div ng-if="ctrl.paused" class="gf-form">
        <a ng-click="ctrl.unpause()" class="gf-form-label query-part"><icon name="'play'"></icon></a>
      </div>

      <div class="gf-form gf-form--grow">
        <div class="gf-form-label gf-form-label--grow"></div>
      </div>
    </div>

    <div class="gf-form-inline">
      <div class="gf-form">
        <label class="gf-form-label width-6 query-keyword">Functions</label>
      </div>

      <div ng-repeat="func in ctrl.queryModel.functions" class="gf-form">
        <span graphite-func-editor class="gf-form-label query-part" ng-hide="func.hidden"></span>
      </div>

      <div class="gf-form dropdown">
        <span graphite-add-func></span>
      </div>

      <div class="gf-form gf-form--grow">
        <div class="gf-form-label gf-form-label--grow"></div>
      </div>
    </div>
  </div>

</query-editor-row>
