<div class="form-group">
  <label>{{ label }}</label>

  <div class="input-group">
    <!-- text/number input, checkbox -->
    <input ng-if="type == 'text' || type == 'number' || type == 'checkbox'"
           ng-model="$parent.value"
           ng-change="save(configOption.key, $parent.value)"
           ng-class="{ 'form-control': type != 'checkbox' }"
           id="{{ key }}"
           type="{{ type }}">

    <!-- colorpicker -->
    <input ng-if="type == 'colorpicker'"
           colorpicker
           class="form-control"
           ng-model="$parent.value"
           ng-change="save(configOption.key, $parent.value)"
           type="text">

    <!-- textarea -->
    <textarea ng-if="type == 'textarea'"
              ng-model="$parent.value"
              ng-change="save(configOption.key, $parent.value)"
              id="{{ key }}" class="form-control">
    </textarea>

    <!-- select -->
    <select ng-if="type == 'choice'"
            ng-model="$parent.value"
            ng-change="save(configOption.key, $parent.value)"
            id="{{ key }}"
        class="form-control" ng-options="option.value as option.display_name for option in choices">
    </select>

    <span class="input-group-btn">
      <button ng-click="reset()" class="btn btn-default" title="{{ default_value }}">
        <i class="fa fa-undo"></i>
        <translate>Reset</translate>
      </button>
    </span>
  </div>
  <p ng-if="help_text" class="help-block">{{ help_text }}</p>
</div>
