summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/static/js/projectapp.js
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/toaster/toastergui/static/js/projectapp.js')
-rw-r--r--bitbake/lib/toaster/toastergui/static/js/projectapp.js61
1 files changed, 46 insertions, 15 deletions
diff --git a/bitbake/lib/toaster/toastergui/static/js/projectapp.js b/bitbake/lib/toaster/toastergui/static/js/projectapp.js
index 36c942fa29..a915278444 100644
--- a/bitbake/lib/toaster/toastergui/static/js/projectapp.js
+++ b/bitbake/lib/toaster/toastergui/static/js/projectapp.js
@@ -16,7 +16,9 @@
16// with this program; if not, write to the Free Software Foundation, Inc., 16// with this program; if not, write to the Free Software Foundation, Inc.,
17// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 18
19angular_formpost = function($httpProvider) { 19'use strict';
20
21var angular_formpost = function($httpProvider) {
20 // Use x-www-form-urlencoded Content-Type 22 // Use x-www-form-urlencoded Content-Type
21 // By Ezekiel Victor, http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/, no license, with attribution 23 // By Ezekiel Victor, http://victorblog.com/2012/12/20/make-angularjs-http-service-behave-like-jquery-ajax/, no license, with attribution
22 $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8'; 24 $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
@@ -127,10 +129,10 @@ projectApp.filter('timediff', function() {
127 if (parseInt(j) < 10) {return "0" + j;} 129 if (parseInt(j) < 10) {return "0" + j;}
128 return j; 130 return j;
129 } 131 }
130 seconds = parseInt(input); 132 var seconds = parseInt(input);
131 minutes = Math.floor(seconds / 60); 133 var minutes = Math.floor(seconds / 60);
132 seconds = seconds - minutes * 60; 134 seconds = seconds - minutes * 60;
133 hours = Math.floor(seconds / 3600); 135 var hours = Math.floor(seconds / 3600);
134 seconds = seconds - hours * 3600; 136 seconds = seconds - hours * 3600;
135 return pad(hours) + ":" + pad(minutes) + ":" + pad(seconds); 137 return pad(hours) + ":" + pad(minutes) + ":" + pad(seconds);
136 }; 138 };
@@ -250,6 +252,31 @@ projectApp.controller('prjCtrl', function($scope, $modal, $http, $interval, $loc
250 } 252 }
251 var deffered = $q.defer(); 253 var deffered = $q.defer();
252 254
255 /* we only talk in JSON to the server */
256 if (callparams.method == 'GET') {
257 if (callparams.data === undefined) {
258 callparams.data = {};
259 }
260 callparams.data.format = "json";
261 } else {
262 if (callparams.url.indexOf("?") > -1) {
263 callparams.url = callparams.url.split("?").map(function (element, index) {
264 if (index == 1) {
265 var elements = [];
266 if (element.indexOf("&")>-1) {
267 elements = element.split("&");
268 }
269 elements.push("format=json");
270 element = elements.join("&");
271 }
272 return element;
273 }).join("?");
274 } else {
275 callparams.url += "?format=json";
276 }
277 }
278
279
253 if (undefined === callparams.headers) { callparams.headers = {}; } 280 if (undefined === callparams.headers) { callparams.headers = {}; }
254 callparams.headers['X-CSRFToken'] = $cookies.csrftoken; 281 callparams.headers['X-CSRFToken'] = $cookies.csrftoken;
255 282
@@ -476,8 +503,9 @@ projectApp.controller('prjCtrl', function($scope, $modal, $http, $interval, $loc
476 }; 503 };
477 504
478 505
479 $scope.onLayerSelect = function (item) { 506 $scope.onLayerSelect = function (item, model, label) {
480 $scope.layerToAdd = item; 507 $scope.layerToAdd = item;
508 $scope.layerAddName = item.layer__name;
481 }; 509 };
482 510
483 $scope.machineSelect = function (machineName) { 511 $scope.machineSelect = function (machineName) {
@@ -501,20 +529,22 @@ projectApp.controller('prjCtrl', function($scope, $modal, $http, $interval, $loc
501 529
502 $scope.layerAdd = function() { 530 $scope.layerAdd = function() {
503 531
504 $http({method:"GET", url: $scope.layerToAdd.layerdict.layerdetailurl, params : {}}) 532 $http({method:"GET", url: $scope.layerToAdd.layerDetailsUrl, params : {format: "json"}})
505 .success(function (_data) { 533 .success(function (_data) {
506 if (_data.error != "ok") { 534 if (_data.error != "ok") {
507 console.warn(_data.error); 535 console.warn(_data.error);
508 } else { 536 } else {
509 if (_data.list.length > 0) { 537 console.log("got layer deps", _data.layerdeps.list);
538 if (_data.layerdeps.list.length > 0) {
510 // activate modal 539 // activate modal
540 console.log("listing modals");
511 var modalInstance = $modal.open({ 541 var modalInstance = $modal.open({
512 templateUrl: 'dependencies_modal', 542 templateUrl: 'dependencies_modal',
513 controller: function ($scope, $modalInstance, items, layerAddName) { 543 controller: function ($scope, $modalInstance, items, layerAddName) {
514 $scope.items = items; 544 $scope.items = items;
515 $scope.layerAddName = layerAddName; 545 $scope.layerAddName = layerAddName;
516 $scope.selectedItems = (function () { 546 $scope.selectedItems = (function () {
517 s = {}; 547 var s = {};
518 for (var i = 0; i < items.length; i++) 548 for (var i = 0; i < items.length; i++)
519 { s[items[i].id] = true; } 549 { s[items[i].id] = true; }
520 return s; 550 return s;
@@ -535,16 +565,18 @@ projectApp.controller('prjCtrl', function($scope, $modal, $http, $interval, $loc
535 }, 565 },
536 resolve: { 566 resolve: {
537 items: function () { 567 items: function () {
538 return _data.list; 568 return _data.layerdeps.list;
539 }, 569 },
540 layerAddName: function () { 570 layerAddName: function () {
541 return $scope.layerAddName; 571 return $scope.layerAddName;
542 }, 572 },
543 } 573 }
544 }); 574 });
575 console.log("built modal instance", modalInstance);
545 576
546 modalInstance.result.then(function (selectedArray) { 577 modalInstance.result.then(function (selectedArray) {
547 selectedArray.push($scope.layerToAdd.layerversion.id); 578 console.log("layer to add", $scope.layerToAdd)
579 selectedArray.push($scope.layerToAdd.id);
548 console.warn("TRC6: selected", selectedArray); 580 console.warn("TRC6: selected", selectedArray);
549 581
550 $scope._makeXHRCall({ 582 $scope._makeXHRCall({
@@ -563,7 +595,7 @@ projectApp.controller('prjCtrl', function($scope, $modal, $http, $interval, $loc
563 $scope._makeXHRCall({ 595 $scope._makeXHRCall({
564 method: "POST", url: $scope.urls.xhr_edit, 596 method: "POST", url: $scope.urls.xhr_edit,
565 data: { 597 data: {
566 layerAdd: $scope.layerToAdd.layerversion.id, 598 layerAdd: $scope.layerToAdd.id,
567 } 599 }
568 }).then(function () { 600 }).then(function () {
569 $scope.layerAddName = undefined; 601 $scope.layerAddName = undefined;
@@ -772,8 +804,7 @@ projectApp.controller('prjCtrl', function($scope, $modal, $http, $interval, $loc
772 return; 804 return;
773 805
774 if (imported.deps_added.length === 0) { 806 if (imported.deps_added.length === 0) {
775 text = "You have imported <strong><a href=\""+$scope.urls.layer+ 807 text = "You have imported <strong><a href=\""+imported.imported_layer.layerDetailsUrl+"\">"+imported.imported_layer.name+
776 imported.imported_layer.id+"\">"+imported.imported_layer.name+
777 "</a></strong> and added it to your project."; 808 "</a></strong> and added it to your project.";
778 } else { 809 } else {
779 var links = "<a href=\""+$scope.urls.layer+ 810 var links = "<a href=\""+$scope.urls.layer+
@@ -781,7 +812,7 @@ projectApp.controller('prjCtrl', function($scope, $modal, $http, $interval, $loc
781 "</a>, "; 812 "</a>, ";
782 813
783 imported.deps_added.map (function(item, index){ 814 imported.deps_added.map (function(item, index){
784 links +="<a href=\""+$scope.urls.layer+item.id+"\" >"+item.name+ 815 links +="<a href=\""+item.layerDetailsUrl+"\" >"+item.name+
785 "</a>"; 816 "</a>";
786 /*If we're at the last element we don't want the trailing comma */ 817 /*If we're at the last element we don't want the trailing comma */
787 if (imported.deps_added[index+1] !== undefined) 818 if (imported.deps_added[index+1] !== undefined)
@@ -832,7 +863,7 @@ projectApp.controller('prjCtrl', function($scope, $modal, $http, $interval, $loc
832 if (zone.maxid === undefined) { zone.maxid = 0; } 863 if (zone.maxid === undefined) { zone.maxid = 0; }
833 var crtid = zone.maxid ++; 864 var crtid = zone.maxid ++;
834 angular.forEach(zone, function (o) { o.close(); }); 865 angular.forEach(zone, function (o) { o.close(); });
835 o = { 866 var o = {
836 id: crtid, text: text, type: type, 867 id: crtid, text: text, type: type,
837 close: function() { 868 close: function() {
838 zone.splice((function(id) { 869 zone.splice((function(id) {