Select Git revision
gridcontroller.js
-
Jorrit Schaap authoredJorrit Schaap authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
gridcontroller.js 44.58 KiB
// $Id: controller.js 32761 2015-11-02 11:50:21Z schaap $
var gridControllerMod = angular.module('GridControllerMod', ['ui.grid',
'ui.grid.edit',
'ui.grid.selection',
'ui.grid.resizeColumns',
'ui.grid.autoResize']);
gridControllerMod.controller('GridController', ['$scope', '$window', 'dataService', 'uiGridConstants', function($scope, $window, dataService, uiGridConstants) {
var self = this;
$scope.dataService = dataService;
$scope.sanitize_url = function(in_url) {
var split_url = in_url.split("://");
return split_url[0] + "://" + split_url[1].replace(/\/+/g, "/");
}
$scope.selectBlockingPredecessors = function(in_blocking_predecessors) {
$scope.$parent.$parent.loadTasksSelectAndJumpIntoView(in_blocking_predecessors);
};
$scope.openLtaLocation = function(in_ingest_tasks) {
var ingest_tasks = Array.isArray(in_ingest_tasks) ? in_ingest_tasks : [in_ingest_tasks];
//example: http://lofar.target.rug.nl/Lofar?mode=query_result_page_user&product=AveragingPipeline&ObservationId=544965&project=LC6_015
//map task.sub_type to url product parameter
var project2project2product2tasksDict = {};
for(var t of ingest_tasks) {
var lta_product;
switch(t.sub_type) {
case 'averaging_pipeline': lta_product = 'AveragingPipeline'; break;
case 'calibration_pipeline': lta_product = 'CalibrationPipeline'; break;
case 'pulsar_pipeline': lta_product = 'PulsarPipeline'; break;
case 'lofar_imaging_pipeline': lta_product = 'ImagingPipeline'; break;
case 'imaging_pipeline_msss': lta_product = 'ImagingPipeline'; break;
case 'long_baseline_pipeline': lta_product = 'LongBaselinePipeline'; break;
case 'lofar_observation': lta_product = 'Observation'; break;
}
if(lta_product && (t.ingest_status != undefined) ) {
if(!project2project2product2tasksDict.hasOwnProperty(t.project_name)) {
project2project2product2tasksDict[t.project_name] = {};
}
if(!project2project2product2tasksDict[t.project_name].hasOwnProperty(lta_product)) {
project2project2product2tasksDict[t.project_name][lta_product] = [];
}
project2project2product2tasksDict[t.project_name][lta_product].push(t);
}
}
var window_cntr = 0;
for(var project in project2project2product2tasksDict) {
for(var product in project2project2product2tasksDict[project]) {
var product_tasks = project2project2product2tasksDict[project][product];
var otdb_ids = product_tasks.map(function(pt) { return pt.otdb_id; });
var otdb_ids_string = otdb_ids.join(',');
var url = dataService.config.lta_base_url + '/Lofar?mode=query_result_page_user&product=' + product + '&ObservationId=' + otdb_ids_string + '&project=' + project;
url = $scope.sanitize_url(url);
setTimeout(function(url_arg) {
$window.open(url_arg, '_blank');
}, window_cntr*250, url);
window_cntr += 1;
}
}
}
$scope.columns = [
{ field: 'name',