mirror of
https://github.com/datahub-project/datahub.git
synced 2025-07-30 21:10:07 +00:00
89 lines
2.6 KiB
JavaScript
89 lines
2.6 KiB
JavaScript
import Ember from 'ember';
|
|
|
|
export default Ember.Route.extend({
|
|
// maintains backwards compatibility with legacy code
|
|
// TODO: [DSS-6122] refactor so this may not be required
|
|
controllerName: 'datasets',
|
|
|
|
setupController: function (controller, param) {
|
|
if (!this.controller)
|
|
return;
|
|
|
|
var listUrl = 'api/v1/list/datasets?urn=' + param.urn;
|
|
var addSlash = false;
|
|
if (param.urn && (param.urn[param.urn.length - 1] != '/')) {
|
|
addSlash = true;
|
|
}
|
|
if (addSlash) {
|
|
listUrl += '/';
|
|
}
|
|
$.get(listUrl, function (data) {
|
|
if (data && data.status == "ok") {
|
|
// renderDatasetListView(data.nodes);
|
|
}
|
|
});
|
|
var url = 'api/v1/datasets?size=10&page=' + param.page + '&urn=' + param.urn;
|
|
if (addSlash) {
|
|
url += '/';
|
|
}
|
|
currentTab = 'Datasets';
|
|
updateActiveTab();
|
|
var breadcrumbs = [{"title": "DATASETS_ROOT", "urn": "page/1"}];
|
|
var urn = param.urn.replace("://", "");
|
|
var b = urn.split('/');
|
|
for (var i = 0; i < b.length; i++) {
|
|
if (i === 0) {
|
|
breadcrumbs.push({
|
|
title: b[i],
|
|
urn: "name/" + b[i] + "/page/1?urn=" + b[i] + ':///'
|
|
})
|
|
} else {
|
|
var urn = b.slice(0, (i + 1)).join('/');
|
|
breadcrumbs.push({
|
|
title: b[i],
|
|
urn: "name/" + b[i] + "/page/1?urn=" + param.urn.split('/').splice(0, i + 3).join('/')
|
|
})
|
|
}
|
|
}
|
|
var watcherEndpoint = "/api/v1/urn/watch?urn=" + param.urn;
|
|
if (addSlash) {
|
|
watcherEndpoint += '/';
|
|
}
|
|
$.get(watcherEndpoint, data => {
|
|
if (data.id && data.id !== 0) {
|
|
this.controller.set('urnWatched', true)
|
|
this.controller.set('urnWatchedId', data.id)
|
|
} else {
|
|
this.controller.set('urnWatched', false)
|
|
this.controller.set('urnWatchedId', 0)
|
|
}
|
|
});
|
|
|
|
$.get(url, data => {
|
|
if (data && data.status == "ok") {
|
|
this.controller.set('model', data);
|
|
this.controller.set('urn', param.urn);
|
|
this.controller.set('breadcrumbs', breadcrumbs);
|
|
this.controller.set('detailview', false);
|
|
}
|
|
});
|
|
},
|
|
actions: {
|
|
getDatasets: function () {
|
|
var url = 'api/v1/datasets?size=10&page=' +
|
|
this.controller.get('model.data.page') +
|
|
'&urn=' +
|
|
this.controller.get('urn');
|
|
currentTab = 'Datasets';
|
|
updateActiveTab();
|
|
$.get(url, data => {
|
|
if (data && data.status == "ok") {
|
|
this.controller.set('model', data);
|
|
this.controller.set('urn', this.controller.get('urn'));
|
|
this.controller.set('detailview', false);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
});
|