Newer
Older
gitbucket_jkp / src / main / twirl / issues / labels / edit.scala.html
@takezoe takezoe on 1 Jul 2013 2 KB Fix template file names.
@(label: Option[model.Label], repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context)
@import context._
@import view.helpers._
@defining((if(label.isEmpty) ("new", 190, 4) else ("edit", 180, 8))){ case (mode, width, margin) =>
<div id="@(mode)LabelArea">
  <form method="POST" id="edit-label-form" validate="true" style="margin-bottom: 8px;"
        action="@url(repository)/issues/label/@{if(mode == "new") "new" else label.get.labelId + "/edit"}">
    <span id="error-@(mode)LabelName" class="error"></span>
    <input type="text" name="@(mode)LabelName" id="@(mode)LabelName" style="width: @(width)px; margin-left: @(margin)px; margin-bottom: 0px;" value="@label.map(_.labelName)"@if(mode == "new"){ placeholder="New label name"}/>
    <span id="error-@(mode)Color" class="error"></span>
    <div class="input-append color bscp" data-color="#@label.map(_.color).getOrElse("888888")" data-color-format="hex" id="@(mode)Color" style="width: @(width)px; margin-bottom: 0px;">
      <input type="text" class="span3" name="@(mode)Color" value="#@label.map(_.color)" readonly style="width: @(width - 12)px; margin-left: @(margin)px;">
      <span class="add-on"><i style="background-color: #@label.map(_.color).getOrElse("888888");"></i></span>
    </div>
    <input type="submit" class="btn" style="margin-left: @(margin)px; margin-bottom: 0px;" value="@if(mode == "new"){Create} else {Save}"/>
    @if(mode == "edit"){
      <input type="hidden" name="editLabelId" value="@label.map(_.labelId)"/>
    }
  </form>
  <script>
  $(function(){
    @if(mode == "new"){
      $('#newColor').colorpicker();
    } else {
      $('#editColor').colorpicker();

      $('#edit-label-form').submit(function(e){
        $.ajax($(this).attr('action'), {
          type: 'POST',
          data: $(this).serialize()
        })
        .done(function(data){
          $('#label-edit').parent().empty().html(data);
        })
        .fail(function(data, status){
          displayErrors($.parseJSON(data.responseText));
        });

        return false;
      });
    }
  });
  </script>
</div>
}