mirror of
https://github.com/datahub-project/datahub.git
synced 2025-07-29 20:39:56 +00:00
163 lines
6.6 KiB
JavaScript
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)
|
|
}
|
|
});
|
|
}
|
|
}
|
|
});
|