174 lines
3.6 KiB
JavaScript
Raw Normal View History

2017-02-13 14:17:49 -08:00
import Ember from 'ember';
const {
Controller,
computed,
get,
set,
String: {capitalize}
} = Ember;
const sources = [
'all',
'dali',
'espresso',
'hive',
'hdfs',
'kafka',
'oracle',
'teradata',
'voldemort'
];
export default Controller.extend({
2017-02-13 14:17:49 -08:00
queryParams: [
'keyword',
2017-02-13 14:17:49 -08:00
'category',
'source',
'page'
],
keyword: '',
category: 'datasets',
source: 'all',
page: 1,
sources: computed('source', function () {
return sources.map(source => ({
name: 'source',
value: source,
label: capitalize(source),
group: String(get(this, 'source')).toLowerCase()
}))
}),
isMetric: false,
2017-02-13 14:17:49 -08:00
datasetTitle: function () {
var model = this.get("model");
if (model && model.source) {
if (model.source.toLocaleLowerCase() != 'all') {
return model.source;
}
}
return "Datasets";
}.property('model.source'),
isDatasets: function () {
var model = this.get("model");
if (model && model.category) {
if (model.category.toLocaleLowerCase() === 'datasets') {
return true;
}
}
return false;
}.property('model.category'),
isComments: function () {
var model = this.get("model");
if (model && model.category) {
if (model.category.toLocaleLowerCase() === 'comments') {
return true;
}
}
return false;
}.property('model.category'),
isMetrics: function () {
var model = this.get("model");
if (model && model.category) {
if (model.category.toLocaleLowerCase() === 'metrics') {
return true;
}
}
return false;
}.property('model.category'),
isFlows: function () {
var model = this.get("model");
if (model && model.category) {
if (model.category.toLocaleLowerCase() === 'flows') {
return true;
}
}
return false;
}.property('model.category'),
isJobs: function () {
var model = this.get("model");
if (model && model.category) {
if (model.category.toLocaleLowerCase() === 'jobs') {
return true;
}
}
return false;
}.property('model.category'),
previousPage: function () {
var model = this.get("model");
if (model && model.page) {
var currentPage = model.page;
if (currentPage <= 1) {
return currentPage;
}
else {
return currentPage - 1;
}
} else {
return 1;
}
}.property('model.page'),
nextPage: function () {
var model = this.get("model");
if (model && model.page) {
var currentPage = model.page;
var totalPages = model.totalPages;
if (currentPage >= totalPages) {
return totalPages;
}
else {
return currentPage + 1;
}
} else {
return 1;
}
}.property('model.page'),
first: function () {
var model = this.get("model");
if (model && model.page) {
var currentPage = model.page;
if (currentPage <= 1) {
return true;
}
else {
return false
}
} else {
return false;
}
}.property('model.page'),
last: function () {
var model = this.get("model");
if (model && model.page) {
var currentPage = model.page;
var totalPages = model.totalPages;
if (currentPage >= totalPages) {
return true;
}
else {
return false
}
} else {
return false;
}
}.property('model.page'),
2017-02-13 14:17:49 -08:00
actions: {
sourceDidChange(groupName, value) {
set(this, groupName, value);
2017-02-13 14:17:49 -08:00
},
startDateDidChange(date = null) {
set(this, 'startDate', date);
2017-02-13 14:17:49 -08:00
},
endDateDidChange(date = null) {
set(this, 'endDate', date);
2017-02-13 14:17:49 -08:00
}
}
});