163 lines
6.6 KiB
JavaScript

var flowsController = null;
App.FlowsRoute = Ember.Route.extend({
setupController: function(controller) {
flowsController = controller;
}
});
App.FlowspageRoute = Ember.Route.extend({
setupController: function(controller, params) {
currentTab = 'Flows';
flowsController.set('flowView', true);
flowsController.set('queryParams', null);
var listUrl = 'api/v1/list/flows';
$.get(listUrl, function(data) {
if (data && data.status == "ok"){
renderFlowListView(data.nodes);
}
});
updateActiveTab();
var url = 'api/v1/flows?size=10&page=' + params.page;
var breadcrumbs = [{"title": 'FLOWS_ROOT', "urn": "page/1"}];
$.get(url, function(data) {
if (data && data.status == "ok"){
flowsController.set('model', data);
flowsController.set('jobView', false);
flowsController.set('flowView', true);
flowsController.set('breadcrumbs', breadcrumbs);
}
});
}
});
App.FlowsnameRoute = Ember.Route.extend({
setupController: function(controller, param) {
flowsController.set('currentName', param.name);
}
});
App.FlowssubpageRoute = Ember.Route.extend({
setupController: function (controller, params) {
if (!flowsController)
return;
currentTab = 'Flows';
updateActiveTab();
flowsController.set('flowView', true);
var application;
var project;
var urn = params.urn;
flowsController.set('queryParams', params.urn);
if (!urn)
return;
var links = urn.split('/');
if (links.length == 1)
{
application = links[0];
flowsController.set('currentName', application);
var breadcrumbs = [{"title": 'FLOWS_ROOT', "urn": "page/1"},
{"title": application, "urn": "name/" + application + "/page/1?urn=" + application}];
var listUrl = 'api/v1/list/flows/' + application;
$.get(listUrl, function(data) {
if (data && data.status == "ok"){
renderFlowListView(data.nodes);
}
});
var url = 'api/v1/flows/' + application + '?size=10&page=' + params.page;
$.get(url, function(data) {
if (data && data.status == "ok"){
flowsController.set('model', data);
flowsController.set('breadcrumbs', breadcrumbs);
}
});
if (application)
{
findAndActiveFlowNode(application, null, null, null);
}
}
else if (links.length == 2)
{
application = links[0];
project = links[1];
flowsController.set('currentName', project);
var url = 'api/v1/flows/' + application + '/' + project + '?size=10&page=' + params.page;
var listUrl = 'api/v1/list/flows/' + application + '/' + project;
$.get(listUrl, function(data) {
if (data && data.status == "ok"){
renderFlowListView(data.nodes);
}
});
var breadcrumbs = [{"title": 'FLOWS_ROOT', "urn": "page/1"},
{"title": application, "urn": "name/" + application + "/page/1?urn=" + application},
{"title": project, "urn": "name/" + project + "/page/1?urn=" + application + '/' + project}];
$.get(url, function(data) {
if (data && data.status == "ok"){
flowsController.set('model', data);
flowsController.set('breadcrumbs', breadcrumbs);
flowsController.set('flowView', true);
flowsController.set('jobView', false);
findAndActiveFlowNode(application, project, null, null);
}
});
}
}
});
App.PagedflowRoute = Ember.Route.extend({
setupController: function(controller, params, transition) {
currentTab = 'Flows';
updateActiveTab();
flowsController.set('flowView', false);
if (transition
&& transition.resolvedModels
&& transition.resolvedModels.flowsname
&& transition.resolvedModels.flowsname.name
&& transition.resolvedModels.flow
&& transition.resolvedModels.flow.id
&& transition.resolvedModels.pagedflow
&& transition.resolvedModels.pagedflow.page )
{
var application = transition.resolvedModels.flowsname.name;
var project = transition.resolvedModels.pagedflow.urn;
var flow = transition.resolvedModels.flow.id;
var lineageUrl = '/lineage/flow/' + application + '/' + project + '/' + flow;
controller.set('lineageUrl', lineageUrl);
var listUrl = 'api/v1/list/flows/' + application + '/' + project;
$.get(listUrl, function(data) {
if (data && data.status == "ok"){
renderFlowListView(data.nodes, flow);
}
});
var url = 'api/v1/flow/' + application + '/' + flow + '?size=10&page=' +
transition.resolvedModels.pagedflow.page;
$.get(url, function(data) {
if (data && data.status == "ok"){
controller.set('model', data);
controller.set('flowId', flow);
var breadcrumbs = [{"title": 'FLOWS_ROOT', "urn": "page/1"},
{"title": application, "urn": "name/" + application + "/page/1?urn=" + application},
{"title": project, "urn": "name/" + project + "/page/1?urn=" + application + '/' + project},
{"title": data.data.flow, "urn": "name/" + application + "/" + flow + "/page/1?urn=" + project}];
controller.set('breadcrumbs', breadcrumbs);
if (data.data.flow)
{
findAndActiveFlowNode(application, project, flow, data.data.flow);
}
}
});
var watcherEndpoint = "/api/v1/urn/watch?urn=" + application + "/" + project + "/" + flow;
$.get(watcherEndpoint, function(data){
if(data.id && data.id !== 0) {
controller.set('urnWatched', true)
controller.set('urnWatchedId', data.id)
} else {
controller.set('urnWatched', false)
controller.set('urnWatchedId', 0)
}
});
}
}
});