{% extends "baseprojectpage.html" %}
{% load projecttags %}
{% load humanize %}
{% load static %}
{% block localbreadcrumb %}
<li><a href="{% url 'layers' %}">All compatible layers</a></li>
<li>
  {{layerversion.layer.name}} ({{layerversion.get_vcs_reference|truncatechars:13}})
</li>
{% endblock %}
{% block projectinfomain %}


<script src="{% static 'js/layerdetails.js' %}"></script>
<script>

  $(document).ready(function (){
    var ctx = {
      projectBuildUrl : "{% url 'xhr_build' %}",
      layerDetailsUrl : "{% url 'base_layerdetails' %}",
      projectPageUrl : "{% url 'project' project.id %}",
      xhrEditProjectUrl : "{% url 'xhr_projectedit' project.id %}",
      xhrDataTypeaheadUrl : "{% url 'xhr_datatypeahead' %}",
      xhrUpdateLayerUrl : "{% url 'xhr_updatelayer' %}",
      projectId : {{project.id}},
      projectName : "{{project.name}}",
      numTargets : {{total_targets}},
      numMachines: {{machines|length}},
      layerVersion : {
        name : "{{layerversion.layer.name}}",
        id : {{layerversion.id}},
        commit: "{{layerversion.get_vcs_reference}}",
        inCurrentPrj : {{layer_in_project}},
        url : "{% url 'layerdetails' layerversion.id  %}",
        sourceId: {{layerversion.layer_source_id}},
      }
    };

    try {
      layerDetailsPageInit(ctx);
    } catch (e) {
      document.write("Sorry, An error has occurred loading this page");
      console.warn(e);
    }
  });
</script>

{# If this is not an imported layer then hide the edit ui #}
{% if layerversion.layer_source_id != 3 %}
<style>
 .icon-pencil {
   display:none;
 }
.delete-current-value{
  display: none;
}
 li .icon-trash {
   display:none;
 }
 .add-deps {
   display:none;
 }
</style>
{% endif %}

{% include "layers_dep_modal.html" %}
  <div class="row-fluid span11">
      <div class="page-header">
        <h1>{{layerversion.layer.name}} <small class="commit"
            {% if layerversion.get_vcs_reference|length > 13 %}
                data-toggle="tooltip" title="{{layerversion.get_vcs_reference}}"
            {% endif %}>
            ({{layerversion.get_vcs_reference|truncatechars:13}})</small></h1>
      </div>
  </div>

    <div class="row-fluid span7 tabbable">
        <div class="alert alert-info lead" id="alert-area" style="display:none">
          <button type="button" class="close" id="dismiss-alert">&times;</button>
          <span id="alert-msg"></span>
        </div>
        <ul class="nav nav-pills">
          <li class="active">
            <a data-toggle="tab" href="#information" id="details-tab">Layer details</a>
          </li>
          <li>
            <a data-toggle="tab" href="#targets" id="targets-tab">Recipes ({{total_targets}})</a>
          </li>
          <li>
            <a data-toggle="tab" href="#machines" id="machines-tab">Machines ({{total_machines}})</a>
          </li>
        </ul>
      <div class="tab-content">
        <span class="button-place">
          {% if layer_in_project == 0 %}
          <button id="add-remove-layer-btn" data-directive="add" class="btn btn-large btn-block">
            <span class="icon-plus"></span>
            Add the {{layerversion.layer.name}} layer to your project
          </button>
          {% else %}
          <button id="add-remove-layer-btn" data-directive="remove" class="btn btn-block btn-large btn-danger">
            <span class="icon-trash"></span>
            Delete the {{layerversion.layer.name}} layer from your project
          </button>
          {% endif %}
        </span>

        <!-- layer details pane -->
        <div name="information" id="information" class="tab-pane active">
          <dl class="dl-horizontal">
            <dt class="">
              <i class="icon-question-sign get-help" title="Fetch/clone URL of the repository"></i>
              Repository URL
            </dt>
            <dd>
              <span class="current-value">{{layerversion.layer.vcs_url}}</span>
              {% if layerversion.get_vcs_link_url %}
                <a href="{{layerversion.get_vcs_link_url}}/" class="icon-share get-info" target="_blank"></a>
              {% endif %}
              <form id="change-repo-form" class="control-group" style="display:none">
                <div class="input-append">
                  <input type="text" class="input-xlarge" value="{{layerversion.layer.vcs_url}}">
                    <button data-layer-prop="vcs_url" class="btn change-btn" type="button">Save</button>
                    <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a>
                  </div>
                </form>
                <i class="icon-pencil" ></i>
              </dd>
              <dt>
                <i class="icon-question-sign get-help" title="Subdirectory within the repository where the layer is located, if not in the root (usually only used if the repository contains more than one layer)"></i>
                Repository subdirectory
              </dt>
              <dd>
                <span class="muted" style="display:none">Not set</span>
                <span class="current-value">{{layerversion.dirpath}}</span>
                {% if layerversion.get_vcs_dirpath_link_url %}
                  <a href="{{layerversion.get_vcs_dirpath_link_url}}" class="icon-share get-info" target="_blank"></a>
                {% endif %}
                <form id="change-subdir-form" style="display:none;">
                  <div class="input-append">
                    <input type="text" value="{{layerversion.dirpath}}">
                      <button data-layer-prop="dirpath" class="btn change-btn" type="button">Save</button>
                      <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a>
                    </div>
                  </form>
                  <i id="change-subdir" class="icon-pencil"></i>
                  <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span>
                </dd>
                <dt>
                  <i class="icon-question-sign get-help" title="The Git branch, tag or commit"></i>
                  Revision
                </dt>
                <dd>
                  <span class="current-value">{{layerversion.get_vcs_reference}}</span>
                  <form style="display:none;">
                    <div class="input-append">
                      <input type="text" value="{{layerversion.get_vcs_reference}}">
                        <button  data-layer-prop="commit" class="btn change-btn" type="button">Save</button>
                        <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a>
                      </div>
                    </form>
                    <i class="icon-pencil"></i>
                  </dd>
                 <dt>
                    <i class="icon-question-sign get-help" title="Other layers this layer depends upon"></i>
                    Layer dependencies
                  </dt>
                  <dd>
                    <ul class="unstyled" id="layer-deps-list">
                      {% for ld in layerversion.dependencies.all %}
                      <span class="current-value">
                      <li data-layer-id="{{ld.depends_on.id}}">
                        <a data-toggle="tooltip" title="{{ld.depends_on.layer.vcs_url}} | {{ld.depends_on.get_vcs_reference}}" href="{% url 'layerdetails' ld.depends_on.id %}">{{ld.depends_on.layer.name}}</a>
                        <span class="icon-trash " data-toggle="tooltip" title="Delete"></span>
                      </li>
                      </span>
                      {% endfor %}
                    </ul>
                    <div class="input-append add-deps">
                      <input type="text" autocomplete="off" data-minLength="1" data-autocomplete="off"  placeholder="Type a layer name" id="layer-dep-input">
                        <a class="btn" type="button" id="add-layer-dependency-btn" disabled>
                          Add layer
                        </a>
                      </div>
                      <span class="help-block add-deps">You can only add layers Toaster knows about</span>
                    </dd>
                  </dl>
                </div>
                <!-- targets tab -->
                <div name="targets" id="targets" class="tab-pane">
                  {% if total_targets == 0 %}
                  <div class="alert alert-info">
                    <p>Toaster does not have recipe information for the <strong> {{layerversion.layer.name}} </strong> layer.</p>
		    <p>Toaster learns about layers when you build them. If this layer provides any recipes, they will be listed here after you build the <strong> {{layerversion.layer.name}} </strong> layer.</p>
                  </div>
                  {% else %}

                  <div class="row-fluid">

                  {% if targets.paginator.count == 0 %}
                  <div class="alert">
                    <h3>No targets found</h3>
                  {% endif %}

                {# only show the search form if we have more than 10 results #}
                  {% if targets.paginator.count > 10 or request.GET.targets_search %}
                    {% if targets.paginator.count == 0 %}
                      <form class="input-append">
                    {% else %}
                      <form class="navbar-search input-append pull-left">
                    {% endif %}

                      <input type="text" id="target-search" name="targets_search" placeholder="Search recipes" class="input-xlarge" value="{{request.GET.targets_search}}">
                        {% if request.GET.targets_search %}
                        <a class="add-on btn target-search-clear">
                          <i class="icon-remove"></i>
                        </a>
                        {% endif %}
                        <button type="submit" class="btn">Search</button>
                        {% if targets.paginator.count == 0 %}
                            <button type="submit" class="btn btn-link target-search-clear">Show all targets</a>
                        {% endif %}
                      </form>
                    {% endif %}

                    {% if targets.paginator.count == 0 %}
                      <!-- end alert -->
                     </div>
                     <!-- end row-fluid -->
                     </div>
                    {% else %}

                    {% if total_targets > 10 %}
                    <div class="pull-right">
                      <span class="help-inline" style="padding-top:5px;">Show rows:</span>
                      <select style="margin-top:5px;margin-bottom:0px;" class="pagesize">
                        {% with "10 25 50 100 150" as list%}
                        {% for i in list.split %}
                        {% if request.session.limit == i %}
                        <option value="{{i}}" selected>{{i}}</option>
                        {% else %}
                        <option value="{{i}}">{{i}}</option>
                        {% endif %}
                        {% endfor %}
                      {% endwith %}
                    </select>
                  </div>
                  {% endif %}
                </div>

                <table class="table table-bordered table-hover">
                  <thead>
                    <tr>
                      <th>
                          <i class="icon-question-sign get-help" title="Information about a single piece of software, including where to download the source, configuration options, how to compile the source files and how to package the compiled output"></i>
                          Recipe
                          {% if request.GET.targets_search %}
                            <span class="badge badge-info">{{targets.paginator.count}}</span>
                          {% endif %}
                        </th>
                        <th>
                          <i class="icon-question-sign get-help" title="The recipe version and revision"></i>
                          Recipe version
                        </th>
                        <th class="span4">Summary</th>
                        <th class="span2">Build recipe</th>
                      </tr>
                    </thead>
                    <tbody>
                      {% for target in targets %}
                      <tr>
                        <td>
                          {{target.name}}
                          {% if target.up_id %}
                          <a href="{{target.get_layersource_view_url}}" class="icon-share get-info" target="_blank"></a>
                          {% endif %}
                        </td>
                        <td>{{target.version}}</td>
                        <td>{{target.summary}}</td>
                        <td><button class="btn btn-block build-target-btn" data-target-name="{{target.name}}" {% if layer_in_project == 0 %}disabled="disabled"{% endif %} >Build recipe</button></td>
                      </tr>
                      {% endfor %}
                    </tbody>
                  </table>

                  {% if total_targets > 10 %}
                  <!-- Show pagination controls -->
                  <div class="pagination">
                    <ul>
                      {%if targets.has_previous %}
                      <li><a href="?tpage={{targets.previous_page_number}}{{request.GET.limit}}#targets">&laquo;</a></li>
                      {%else%}
                      <li class="disabled"><a href="#">&laquo;</a></li>
                      {%endif%}
                      {% for i in targets.page_range %}
                      <li {%if i == targets.number %} class="active" {%endif%}><a href="?tpage={{i}}#targets">{{i}}</a></li>
                      {% endfor %}
                      {%if targets.has_next%}
                      <li><a href="?tpage={{targets.next_page_number}}#targets">&raquo;</a></li>
                      {%else%}
                      <li class="disabled"><a href="#">&raquo;</a></li>
                      {%endif%}
                    </ul>
                    <div class="pull-right">
                      <span class="help-inline" style="padding-bottom:10px;">Show rows:</span>
                      <select class="pagesize">
                        {% with "10 25 50 100 150" as list%}
                        {% for i in list.split %}
                        {% if request.session.limit == i %}
                        <option value="{{i}}" selected>{{i}}</option>
                        {% else %}
                        <option value="{{i}}">{{i}}</option>
                        {% endif %}
                        {% endfor %}
                        {% endwith %}
                      </select>
                    </div>
                  </div>
                  {% endif %}
                  {% endif %}
                  {% endif %}
                </div>


                <div name="machines" id="machines" class="tab-pane">
                  {% if total_machines == 0 %}
                  <div class="alert alert-info">
                    <p>Toaster does not have machine information for the <strong> {{layerversion.layer.name}} </strong> layer.</p>
		    <p>Toaster learns about layers when you build them. If this layer provides any machines, they will be listed here after you build the <strong> {{layerversion.layer.name}} </strong> layer.</p>
                  </div>
                  {% else %}

                  <div class="row-fluid">

                  {% if machines.paginator.count == 0 %}
                  <div class="alert">
                    <h3>No machines found</h3>
                  {% endif %}

                {# only show the search form if we have more than 10 results #}
                  {% if machines.paginator.count > 10 or request.GET.machines_search %}
                    {% if machines.paginator.count == 0 %}
                      <form class="input-append">
                    {% else %}
                      <form class="navbar-search input-append pull-left">
                    {% endif %}

                      <input type="text" id="machine-search" name="machines_search" placeholder="Search machines" class="input-xlarge" value="{{request.GET.machines_search}}">
                        {% if request.GET.machines_search %}
                        <a class="add-on btn machine-search-clear">
                          <i class="icon-remove"></i>
                        </a>
                        {% endif %}
                        <button type="submit" class="btn">Search</button>
                        {% if machines.paginator.count == 0 %}
                            <button type="submit" class="btn btn-link machine-search-clear">Show all machines</a>
                        {% endif %}
                      </form>
                    {% endif %}

                    {% if machines.paginator.count == 0 %}
                      <!-- end alert -->
                     </div>
                     <!-- end row-fluid -->
                     </div>

                    {% else %}

                    {% if total_machines > 10 %}
                    <div class="pull-right">
                      <span class="help-inline" style="padding-top:5px;">Show rows:</span>
                      <select style="margin-top:5px;margin-bottom:0px;" class="pagesize">
                        {% with "10 25 50 100 150" as list%}
                        {% for i in list.split %}
                        {% if request.session.limit == i %}
                        <option value="{{i}}" selected>{{i}}</option>
                        {% else %}
                        <option value="{{i}}">{{i}}</option>
                        {% endif %}
                        {% endfor %}
                      {% endwith %}
                    </select>
                  </div>
                  {% endif %}

                </div>

                <table class="table table-bordered table-hover">
                  <thead>
                      <tr>
                        <th>
                          <i class="icon-question-sign get-help" title="The machine is the hardware for which you are building"></i>
                          Machine
                          {% if request.GET.machines_search %}
                          <span class="badge badge-info">{{machines.paginator.count}}</span>
                          {% endif %}
                        </th>
                        <th>Description</th>
                        <th class="span2">Select machine</th>
                      </tr>
                    </thead>
                    <tbody>
                      {% for machine in machines %}
                      <tr>
                        <td>
                          {{machine.name}}
                          {% if machine.get_vcs_machine_file_link_url %}
                          <a href="{{machine.get_vcs_machine_file_link_url}}" target="_blank"><i class="icon-share get-info"></i></a>
                          {% endif %}
                        </td>
                        <td>{{machine.description}}</td>
                        <td><button class="btn btn-block select-machine-btn" data-machine-name="{{machine.name}}" {% if layer_in_project == 0 %}disabled="disabled"{% endif %}}>Select machine</button></td>
                      </tr>
                      {% endfor %}
                    </tbody>
                  </table>

                  {% if total_machines > 10 %}
                  <!-- Show pagination controls -->
                  <div class="pagination">
                    <ul>
                      {%if machines.has_previous %}
                      <li><a href="?mpage={{machines.previous_page_number}}{{request.GET.limit}}#machines">&laquo;</a></li>
                      {%else%}
                      <li class="disabled"><a href="#">&laquo;</a></li>
                      {%endif%}
                      {% for i in machines.page_range %}
                      <li {%if i == machines.number %} class="active" {%endif%}><a href="?mpage={{i}}#machines">{{i}}</a></li>
                      {% endfor %}
                      {%if machines.has_next%}
                      <li><a href="?mpage={{machines.next_page_number}}#machines">&raquo;</a></li>
                      {%else%}
                      <li class="disabled"><a href="#">&raquo;</a></li>
                      {%endif%}
                    </ul>
                    <div class="pull-right">
                      <span class="help-inline" style="padding-bottom:10px;">Show rows:</span>
                      <select class="pagesize">
                        {% with "10 25 50 100 150" as list%}
                        {% for i in list.split %}
                        {% if request.session.limit == i %}
                        <option value="{{i}}" selected>{{i}}</option>
                        {% else %}
                        <option value="{{i}}">{{i}}</option>
                        {% endif %}
                        {% endfor %}
                        {% endwith %}
                      </select>
                    </div>
                  </div>
                  {% endif %}
                  {% endif %}
                  {% endif %}
                  </div>
              </div>
            </div>
            <div class="row-fluid span4 well">
              <h2>About {{layerversion.layer.name}}</h2>
              <dl class="item-info">

                <dt>
                  Summary
                  <i class="icon-question-sign get-help" title="One-line description of the layer"></i>
                </dt>
                <dd>
                  <span class="muted" style="display:none">Not set</span>
                  <span class="current-value">{{layerversion.layer.summary|default_if_none:''}}</span>
                  <form style="display:none; margin-bottom:20px">
                    <textarea class="span12" rows="2">{% if layerversion.layer.summary %}{{layerversion.layer.summary}}{% endif %}</textarea>
                    <button class="btn change-btn" data-layer-prop="summary" type="button">Save</button>
                    <a href="#" class="btn btn-link cancel">Cancel</a>
                  </form>
                  <i class="icon-pencil"></i>
                  <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span>
                </dd>
                <dt>
                  Description
                </dt>
                <dd>
                  <span class="muted" style="display:none">Not set</span>
                  <span class="current-value">{{layerversion.layer.description|default_if_none:''}}</span>
                  <form style="display:none; margin-bottom:20px">
                    <textarea class="span12" rows="6">{% if layerversion.layer.description %}{{layerversion.layer.description}}{% endif %}</textarea>
                    <button class="btn change-btn" data-layer-prop="description" type="button" >Save</button>
                    <a href="#" class="btn btn-link cancel">Cancel</a>
                  </form>
                  <i class="icon-pencil"></i>
                  <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span>
                </dd>
                </dd>
                {% if layerversion.layer.up_id %}
                <dt>Layer index</dt>
                <dd>
                  <a href="http://layers.openembedded.org/layerindex/branch/{{layerversion.up_branch.name}}/layer/{{layerversion.layer.name}}"/>layer index link</a>

                </dd>
                {% endif %}

           </dl>
         </div>

{% endblock %}
