mirror of
https://github.com/datahub-project/datahub.git
synced 2025-07-07 17:23:11 +00:00
66 lines
1.8 KiB
JavaScript
66 lines
1.8 KiB
JavaScript
import Ember from 'ember';
|
|
|
|
export default Ember.Component.extend({
|
|
buildJsonView: function(){
|
|
var dataset = this.get("dataset");
|
|
var schema = JSON.parse(dataset.schema)
|
|
setTimeout(function() {
|
|
$("#json-viewer").JSONView(schema)
|
|
}, 500);
|
|
},
|
|
actions: {
|
|
getSchema: function(){
|
|
var _this = this
|
|
var id = _this.get('dataset.id')
|
|
var columnUrl = 'api/v1/datasets/' + id + "/columns";
|
|
_this.set("isTable", true);
|
|
_this.set("isJSON", false);
|
|
$.get(columnUrl, function(data) {
|
|
if (data && data.status == "ok")
|
|
{
|
|
if (data.columns && (data.columns.length > 0))
|
|
{
|
|
_this.set("hasSchemas", true);
|
|
data.columns = data.columns.map(function(item, idx){
|
|
item.commentHtml = marked(item.comment).htmlSafe()
|
|
return item
|
|
})
|
|
_this.set("schemas", data.columns);
|
|
setTimeout(initializeColumnTreeGrid, 500);
|
|
}
|
|
else
|
|
{
|
|
_this.set("hasSchemas", false);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
_this.set("hasSchemas", false);
|
|
}
|
|
});
|
|
},
|
|
setView: function (view) {
|
|
switch (view) {
|
|
case "tabular":
|
|
this.set('isTable', true);
|
|
this.set('isJSON', false);
|
|
$('#json-viewer').hide();
|
|
$('#json-table').show();
|
|
break;
|
|
case "json":
|
|
this.set('isTable', false);
|
|
this.set('isJSON', true);
|
|
this.buildJsonView();
|
|
$('#json-table').hide();
|
|
$('#json-viewer').show();
|
|
break;
|
|
default:
|
|
this.set('isTable', true);
|
|
this.set('isJSON', false);
|
|
$('#json-viewer').hide();
|
|
$('#json-table').show();
|
|
}
|
|
}
|
|
}
|
|
});
|