summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/templates/layerdetails.html
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/toaster/toastergui/templates/layerdetails.html')
-rw-r--r--bitbake/lib/toaster/toastergui/templates/layerdetails.html457
1 files changed, 231 insertions, 226 deletions
diff --git a/bitbake/lib/toaster/toastergui/templates/layerdetails.html b/bitbake/lib/toaster/toastergui/templates/layerdetails.html
index 82be3703b6..0f0b2b49e6 100644
--- a/bitbake/lib/toaster/toastergui/templates/layerdetails.html
+++ b/bitbake/lib/toaster/toastergui/templates/layerdetails.html
@@ -6,270 +6,275 @@
6{% block title %} {{layerversion.layer.name}} - {{project.name}} - Toaster {% endblock %} 6{% block title %} {{layerversion.layer.name}} - {{project.name}} - Toaster {% endblock %}
7{% block pagecontent %} 7{% block pagecontent %}
8 8
9<div class="section"> 9<div class="row">
10 <ul class="breadcrumb"> 10 <div class="col-md-12">
11 <li> 11 <ul class="breadcrumb">
12 <a href="{% url 'project' project.id %}">{{project.name}}</a> 12 <li>
13 <span class="divider">&rarr;</span> 13 <a href="{% url 'project' project.id %}">{{project.name}}</a>
14 </li> 14 <span class="divider">&rarr;</span>
15 <li><a href="{% url 'projectlayers' project.id %}">Compatible layers</a> 15 </li>
16 <span class="divider">&rarr;</span> 16 <li><a href="{% url 'projectlayers' project.id %}">Compatible layers</a>
17 </li> 17 <span class="divider">&rarr;</span>
18 <li class="active"> 18 </li>
19 {{layerversion.layer.name}} ({{layerversion.get_vcs_reference|truncatechars:13}}) 19 <li class="active">
20 </li> 20 {{layerversion.layer.name}} ({{layerversion.get_vcs_reference|truncatechars:13}})
21 </ul> 21 </li>
22</div> 22 </ul>
23 23
24{# If this is not an imported layer then hide the edit ui #} 24 {# If this is not an imported layer then hide the edit ui #}
25{% if not layerversion.layer_source_id or layerversion.layer_source.sourcetype != layerversion.layer_source.TYPE_IMPORTED %} 25 {% if not layerversion.layer_source_id or layerversion.layer_source.sourcetype != layerversion.layer_source.TYPE_IMPORTED %}
26<style scoped> 26 <style scoped>
27 .icon-pencil { 27 .glyphicon-edit {
28 display:none; 28 display:none;
29 } 29 }
30.delete-current-value{ 30 .delete-current-value{
31 display: none; 31 display: none;
32} 32 }
33 li .icon-trash { 33 li .glyphicon-trash {
34 display:none; 34 display:none;
35 } 35 }
36 .add-deps { 36 .add-deps {
37 display:none; 37 display:none;
38 } 38 }
39</style> 39 </style>
40{% endif %} 40 {% endif %}
41 41
42 <script src="{% static 'js/layerdetails.js' %}"></script>
43 <script>
42 44
43<script src="{% static 'js/layerdetails.js' %}"></script> 45 $(document).ready(function(){
44<script> 46 var ctx = {
47 xhrUpdateLayerUrl : "{% url 'xhr_updatelayer' %}",
48 layerVersion : {
49 name : "{{layerversion.layer.name}}",
50 id : {{layerversion.id}},
51 commit: "{{layerversion.get_vcs_reference}}",
52 {%if layerversion.id in projectlayers %}
53 inCurrentPrj : true,
54 {% else %}
55 inCurrentPrj : false,
56 {% endif %}
57 layerdetailurl : "{% url 'layerdetails' project.id layerversion.id %}",
58 sourceId: {{layerversion.layer_source_id|json}},
59 }
60 };
45 61
46 $(document).ready(function (){ 62 try {
47 var ctx = { 63 layerDetailsPageInit(ctx);
48 xhrUpdateLayerUrl : "{% url 'xhr_updatelayer' %}", 64 } catch (e) {
49 layerVersion : { 65 document.write("Sorry, An error has occurred loading this page");
50 name : "{{layerversion.layer.name}}", 66 console.warn(e);
51 id : {{layerversion.id}},
52 commit: "{{layerversion.get_vcs_reference}}",
53 {%if layerversion.id in projectlayers %}
54 inCurrentPrj : true,
55 {% else %}
56 inCurrentPrj : false,
57 {% endif %}
58 layerdetailurl : "{% url 'layerdetails' project.id layerversion.id %}",
59 sourceId: {{layerversion.layer_source_id|json}},
60 } 67 }
61 }; 68 });
62 69 </script>
63 try {
64 layerDetailsPageInit(ctx);
65 } catch (e) {
66 document.write("Sorry, An error has occurred loading this page");
67 console.warn(e);
68 }
69 });
70</script>
71 70
72<div class="row-fluid span11"> 71 <div class="page-header">
73 <div class="page-header"> 72 <h1>{{layerversion.layer.name}} <small class="commit"
74 <h1>{{layerversion.layer.name}} <small class="commit" 73 {% if layerversion.get_vcs_reference|length > 13 %}
75 {% if layerversion.get_vcs_reference|length > 13 %} 74 data-toggle="tooltip" title="{{layerversion.get_vcs_reference}}"
76 data-toggle="tooltip" title="{{layerversion.get_vcs_reference}}" 75 {% endif %}>({{layerversion.get_vcs_reference|truncatechars:13}})</small>
77 {% endif %}> 76 </h1>
78 ({{layerversion.get_vcs_reference|truncatechars:13}})</small></h1> 77 </div>
79 </div>
80</div>
81 78
82<!-- container for tabs --> 79 <div class="row">
83<div class="row-fluid span7 tabbable"> 80 <!-- container for tabs -->
84 <div class="alert alert-info lead" id="alert-area" style="display:none"> 81 <div class="col-md-8 tabbable">
85 <button type="button" class="close" id="dismiss-alert">&times;</button> 82 <div class="alert alert-info lead" id="alert-area" style="display:none">
86 <span id="alert-msg"></span> 83 <button type="button" class="close" id="dismiss-alert">&times;</button>
87 </div> 84 <span id="alert-msg"></span>
88 <ul class="nav nav-pills"> 85 </div>
89 <li class="active"> 86 <ul class="nav nav-tabs">
90 <a data-toggle="tab" href="#information" id="details-tab">Layer details</a> 87 <li class="active">
91 </li> 88 <a data-toggle="tab" href="#information" id="details-tab">Layer details</a>
92 <li> 89 </li>
93 <a data-toggle="tab" href="#recipes" class="muted" id="targets-tab">Recipes (<span class="table-count-recipestable"></span>)</a> 90 <li>
94 </li> 91 <a data-toggle="tab" href="#recipes" class="text-muted" id="targets-tab">Recipes (<span class="table-count-recipestable"></span>)</a>
95 <li> 92 </li>
96 <a data-toggle="tab" href="#machines" class="muted" id="machines-tab">Machines (<span class="table-count-machinestable"></span>)</a> 93 <li>
97 </li> 94 <a data-toggle="tab" href="#machines" class="text-muted" id="machines-tab">Machines (<span class="table-count-machinestable"></span>)</a>
98 </ul> 95 </li>
99 <div class="tab-content"> 96 </ul>
100 <span class="button-place"> 97 <div class="tab-content">
101 {% if layerversion.id not in projectlayers %} 98 <span class="button-place">
102 <button id="add-remove-layer-btn" data-directive="add" class="btn btn-large btn-block"> 99 {% if layerversion.id not in projectlayers %}
103 <span class="icon-plus"></span> 100 <button id="add-remove-layer-btn" data-directive="add" class="btn btn-default btn-lg btn-block">
104 Add the {{layerversion.layer.name}} layer to your project 101 <span class="glyphicon glyphicon-plus"></span>
105 </button> 102 Add the {{layerversion.layer.name}} layer to your project
106 {% else %} 103 </button>
107 <button id="add-remove-layer-btn" data-directive="remove" class="btn btn-block btn-large btn-danger"> 104 {% else %}
108 <span class="icon-trash"></span> 105 <button id="add-remove-layer-btn" data-directive="remove" class="btn btn-default btn-block btn-lg btn-danger">
109 Remove the {{layerversion.layer.name}} layer from your project 106 <span class="glyphicon glyphicon-trash"></span>
110 </button> 107 Remove the {{layerversion.layer.name}} layer from your project
111 {% endif %} 108 </button>
112 </span> 109 {% endif %}
110 </span>
113 111
114 <!-- layer details pane --> 112 <!-- layer details pane -->
115 <div id="information" class="tab-pane active"> 113 <div id="information" class="tab-pane active">
116 <dl class="dl-horizontal"> 114 <dl class="dl-horizontal">
117 <dt class=""> 115 <dt class="">
118 <i class="icon-question-sign get-help" title="Fetch/clone URL of the repository"></i> 116 <span class="glyphicon glyphicon-question-sign get-help" title="Fetch/clone URL of the repository"></span>
119 Repository URL 117 Repository URL
120 </dt> 118 </dt>
121 <dd> 119 <dd>
122 <span class="current-value">{{layerversion.layer.vcs_url}}</span> 120 <span class="current-value">{{layerversion.layer.vcs_url}}</span>
123 {% if layerversion.get_vcs_link_url %} 121 {% if layerversion.get_vcs_link_url %}
124 <a href="{{layerversion.get_vcs_link_url}}/" class="icon-share get-info" target="_blank"></a> 122 <a href="{{layerversion.get_vcs_link_url}}/" class="glyphicon glyphicon-new-window" target="_blank"></a>
125 {% endif %} 123 {% endif %}
126 <form id="change-repo-form" class="control-group" style="display:none"> 124 <form id="change-repo-form" class="form-inline" style="display:none">
127 <div class="input-append"> 125 <div class="form-group">
128 <input type="text" class="input-xlarge" value="{{layerversion.layer.vcs_url}}"> 126 <input type="text" class="form-control" value="{{layerversion.layer.vcs_url}}">
129 <button data-layer-prop="vcs_url" class="btn change-btn" type="button">Save</button> 127 </div>
128 <button data-layer-prop="vcs_url" class="btn btn-default change-btn" type="button">Save</button>
130 <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a> 129 <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a>
131 </div> 130 </form>
132 </form> 131 <span class="glyphicon glyphicon-edit"></span>
133 <i class="icon-pencil" ></i> 132 </dd>
134 </dd> 133 <dt>
135 <dt> 134 <span class="glyphicon glyphicon-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)"></span>
136 <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> 135 Repository subdirectory
137 Repository subdirectory 136 </dt>
138 </dt> 137 <dd>
139 <dd> 138 <span class="text-muted" style="display:none">Not set</span>
140 <span class="muted" style="display:none">Not set</span> 139 <span class="current-value">{{layerversion.dirpath}}</span>
141 <span class="current-value">{{layerversion.dirpath}}</span> 140 {% if layerversion.get_vcs_dirpath_link_url %}
142 {% if layerversion.get_vcs_dirpath_link_url %} 141 <a href="{{layerversion.get_vcs_dirpath_link_url}}" class="glyphicon glyphicon-new-window" target="_blank"></a>
143 <a href="{{layerversion.get_vcs_dirpath_link_url}}" class="icon-share get-info" target="_blank"></a> 142 {% endif %}
144 {% endif %} 143 <form id="change-subdir-form" class="form-inline" style="display:none;">
145 <form id="change-subdir-form" style="display:none;"> 144 <div class="form-group">
146 <div class="input-append"> 145 <input type="text" class="form-control" value="{{layerversion.dirpath}}">
147 <input type="text" value="{{layerversion.dirpath}}">
148 <button data-layer-prop="dirpath" class="btn change-btn" type="button">Save</button>
149 <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a>
150 </div> 146 </div>
147 <button data-layer-prop="dirpath" class="btn btn-default change-btn" type="button">Save</button>
148 <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a>
151 </form> 149 </form>
152 <i id="change-subdir" class="icon-pencil"></i> 150 <span id="change-subdir" class="glyphicon glyphicon-edit"></span>
153 <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span> 151 <span class="glyphicon glyphicon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span>
154 </dd> 152 </dd>
155 <dt> 153 <dt>
156 <i class="icon-question-sign get-help" title="The Git branch, tag or commit"></i> 154 <span class="glyphicon glyphicon-question-sign get-help" title="The Git branch, tag or commit"></span>
157 Git revision 155 Git revision
158 </dt> 156 </dt>
159 <dd> 157 <dd>
160 <span class="current-value">{{layerversion.get_vcs_reference}}</span> 158 <span class="current-value">{{layerversion.get_vcs_reference}}</span>
161 <form style="display:none;"> 159 <form style="display:none;" class="form-inline">
162 <div class="input-append"> 160 <div class="form-group">
163 <input type="text" value="{{layerversion.get_vcs_reference}}"> 161 <input type="text" class="form-control" value="{{layerversion.get_vcs_reference}}">
164 <button data-layer-prop="commit" class="btn change-btn" type="button">Save</button> 162 </div>
165 <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a> 163 <button data-layer-prop="commit" class="btn btn-default change-btn" type="button">Save</button>
166 </div> 164 <a href="#" style="display:none" class="btn btn-link cancel">Cancel</a>
167 </form> 165 </form>
168 <i class="icon-pencil"></i> 166 <span class="glyphicon glyphicon-edit"></i>
169 </dd> 167 </dd>
170 <dt> 168 <dt>
171 <i class="icon-question-sign get-help" title="Other layers this layer depends upon"></i> 169 <span class="glyphicon glyphicon-question-sign get-help" title="Other layers this layer depends upon"></span>
172 Layer dependencies 170 Layer dependencies
173 </dt> 171 </dt>
174 <dd> 172 <dd>
175 <ul class="unstyled current-value" id="layer-deps-list"> 173 <ul class="list-unstyled current-value" id="layer-deps-list">
176 {% for ld in layerversion.dependencies.all %} 174 {% for ld in layerversion.dependencies.all %}
177 <li data-layer-id="{{ld.depends_on.id}}"> 175 <li data-layer-id="{{ld.depends_on.id}}">
178 <a data-toggle="tooltip" title="{{ld.depends_on.layer.vcs_url}} | {{ld.depends_on.get_vcs_reference}}" href="{% url 'layerdetails' project.id ld.depends_on.id %}">{{ld.depends_on.layer.name}}</a> 176 <a data-toggle="tooltip" title="{{ld.depends_on.layer.vcs_url}} | {{ld.depends_on.get_vcs_reference}}" href="{% url 'layerdetails' project.id ld.depends_on.id %}">{{ld.depends_on.layer.name}}</a>
179 <span class="icon-trash " data-toggle="tooltip" title="Delete"></span> 177 <span class="glyphicon glyphicon-trash " data-toggle="tooltip" title="Delete"></span>
180 </li> 178 </li>
181 {% endfor %} 179 {% endfor %}
182 </ul> 180 </ul>
183 <div class="input-append add-deps"> 181 <form class="form-inline add-deps">
184 <input type="text" autocomplete="off" data-minLength="1" data-autocomplete="off" placeholder="Type a layer name" id="layer-dep-input"> 182 <div class="form-group">
185 <a class="btn" id="add-layer-dependency-btn" > 183 <input class="form-control" type="text" autocomplete="off" data-minLength="1" data-autocomplete="off" placeholder="Type a layer name" id="layer-dep-input">
186 Add layer 184 </div>
187 </a> 185 <a class="btn btn-default" id="add-layer-dependency-btn" disabled="disabled">
188 </div> 186 Add layer
189 <span class="help-block add-deps">You can only add layers Toaster knows about</span> 187 </a>
190 </dd> 188 <span class="help-block add-deps">You can only add layers Toaster knows about</span>
191 </dl> 189 </form>
190 </dd>
191 </dl>
192 </div>
193 <!-- end layerdetails tab -->
194 <!-- targets tab -->
195 <div id="recipes" class="tab-pane">
196 <!-- Recipe table -->
197 <div id="no-recipes-yet" class="alert alert-info" style="display:none">
198 <p>Toaster does not have recipe information for the <strong> {{layerversion.layer.name}} </strong> layer.</p>
199 <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>
192 </div> 200 </div>
193 <!-- end layerdetails tab --> 201 {% url 'layerrecipestable' project.id layerversion.id as xhr_table_url %}
194 <!-- targets tab --> 202 {% with "recipestable" as table_name %}
195 <div id="recipes" class="tab-pane"> 203 {% with "Recipes" as title %}
196 <!-- Recipe table --> 204 {% include 'toastertable-simple.html' %}
197 <div id="no-recipes-yet" class="alert alert-info" style="display:none"> 205 {% endwith %}
198 <p>Toaster does not have recipe information for the <strong> {{layerversion.layer.name}} </strong> layer.</p> 206 {% endwith %}
199 <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> 207 </div>
200 </div>
201 208
209 <div id="machines" class="tab-pane">
202 210
203 211 <div id="no-machines-yet" class="alert alert-info" style="display:none">
204 {% url 'layerrecipestable' project.id layerversion.id as xhr_table_url %} 212 <p>Toaster does not have machine information for the <strong> {{layerversion.layer.name}} </strong> layer.</p>
205 {% with "recipestable" as table_name %} 213 <p>Sadly, machine information cannot be obtained from builds, so this page will remain empty.</p>
206 {% with "Recipes" as title %}
207 {% include 'toastertable-simple.html' %}
208 {% endwith %}
209 {% endwith %}
210 </div> 214 </div>
211 215
212 <div id="machines" class="tab-pane">
213
214 <div id="no-machines-yet" class="alert alert-info" style="display:none">
215 <p>Toaster does not have machine information for the <strong> {{layerversion.layer.name}} </strong> layer.</p>
216 <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>
217 </div>
218 216
217 <!-- Machines table -->
218 {% url 'layermachinestable' project.id layerversion.id as xhr_table_url %}
219 {% with "machinestable" as table_name %}
220 {% with "Machines" as title %}
221 {% include 'toastertable-simple.html' %}
222 {% endwith %}
223 {% endwith %}
224 </div>
225 </div> <!-- end tab content -->
226 </div> <!-- end tabable -->
219 227
220 <!-- Machines table --> 228 <div class="col-md-4"> <!-- info side panel -->
221 {% url 'layermachinestable' project.id layerversion.id as xhr_table_url %} 229 <div class="well">
222 {% with "machinestable" as table_name %}
223 {% with "Machines" as title %}
224 {% include 'toastertable-simple.html' %}
225 {% endwith %}
226 {% endwith %}
227 </div>
228 </div> <!-- end tab content -->
229 </div> <!-- end tabable -->
230
231 <div class="row-fluid span4 well"> <!-- info side panel -->
232 <h2>About {{layerversion.layer.name}}</h2> 230 <h2>About {{layerversion.layer.name}}</h2>
233 <dl class="item-info"> 231 <dl class="item-info">
234 232
235 <dt> 233 <dt>
236 Summary 234 Summary
237 <i class="icon-question-sign get-help" title="One-line description of the layer"></i> 235 <span class="glyphicon glyphicon-question-sign get-help" title="One-line description of the layer"></span>
238 </dt> 236 </dt>
239 <dd> 237 <dd>
240 <span class="muted" style="display:none">Not set</span> 238 <span class="text-muted" style="display:none">Not set</span>
241 <span class="current-value">{{layerversion.layer.summary|default_if_none:''}}</span> 239 <span class="current-value">{{layerversion.layer.summary|default_if_none:''}}</span>
242 <form style="display:none; margin-bottom:20px"> 240 <form style="display:none; margin-bottom:20px; margin-top:5px;">
243 <textarea class="span12" rows="2">{% if layerversion.layer.summary %}{{layerversion.layer.summary}}{% endif %}</textarea> 241 <div class="form-group">
244 <button class="btn change-btn" data-layer-prop="summary" type="button">Save</button> 242 <textarea class="form-control" rows="2">{% if layerversion.layer.summary %}{{layerversion.layer.summary}}{% endif %}</textarea>
245 <a href="#" class="btn btn-link cancel">Cancel</a> 243 </div>
246 </form> 244 <button class="btn btn-default change-btn" data-layer-prop="summary" type="button">Save</button>
247 <i class="icon-pencil"></i> 245 <a href="#" class="btn btn-link cancel">Cancel</a>
248 <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span> 246 </form>
247 <span class="glyphicon glyphicon-edit"></span>
248 <span class="glyphicon glyphicon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span>
249 </dd> 249 </dd>
250 <dt> 250 <dt>
251 Description 251 Description
252 </dt> 252 </dt>
253 <dd> 253 <dd>
254 <span class="muted" style="display:none">Not set</span> 254 <span class="text-muted" style="display:none">Not set</span>
255 <span class="current-value">{{layerversion.layer.description|default_if_none:''}}</span> 255 <span class="current-value">{{layerversion.layer.description|default_if_none:''}}</span>
256 <form style="display:none; margin-bottom:20px"> 256 <form style="display:none; margin-bottom:20px; margin-top:5px;">
257 <textarea class="span12" rows="6">{% if layerversion.layer.description %}{{layerversion.layer.description}}{% endif %}</textarea> 257 <div class="form-group">
258 <button class="btn change-btn" data-layer-prop="description" type="button" >Save</button> 258 <textarea class="form-control" rows="6">{% if layerversion.layer.description %}{{layerversion.layer.description}}{% endif %}</textarea>
259 <a href="#" class="btn btn-link cancel">Cancel</a> 259 </div>
260 </form> 260 <button class="btn btn-default change-btn" data-layer-prop="description" type="button" >Save</button>
261 <i class="icon-pencil"></i> 261 <a href="#" class="btn btn-link cancel">Cancel</a>
262 <span class="icon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span> 262 </form>
263 <span class="glyphicon glyphicon-edit"></span>
264 <span class="glyphicon glyphicon-trash delete-current-value" data-toggle="tooltip" title="Delete"></span>
263 </dd> 265 </dd>
264 {% if layerversion.layer.up_id %} 266 {% if layerversion.layer.up_id %}
265 <dt>Layer index</dt> 267 <dt>Layer index</dt>
266 <dd> 268 <dd>
267 <a href="http://layers.openembedded.org/layerindex/branch/{{layerversion.up_branch.name}}/layer/{{layerversion.layer.name}}">layer index link</a> 269 <a href="http://layers.openembedded.org/layerindex/branch/{{layerversion.up_branch.name}}/layer/{{layerversion.layer.name}}">layer index link</a>
268
269 </dd>
270 {% endif %}
271 270
272 </dl> 271 </dd>
272 {% endif %}
273 </dl>
274 </div>
273 </div> 275 </div>
276 </div>
277 </div> <!-- close column 12 div -->
278</div> <!-- close top row div -->
274 279
275 {% endblock %} 280{% endblock %}