|
@@ -19,80 +19,145 @@
|
|
|
|
|
|
import Ember from 'ember';
|
|
import Ember from 'ember';
|
|
import ColumnDef from 'em-table/utils/column-definition';
|
|
import ColumnDef from 'em-table/utils/column-definition';
|
|
|
|
+import TableDef from 'em-table/utils/table-definition';
|
|
|
|
|
|
export default Ember.Controller.extend({
|
|
export default Ember.Controller.extend({
|
|
- columns: function() {
|
|
|
|
- var colums = [];
|
|
|
|
- colums.push({
|
|
|
|
- id: 'appId',
|
|
|
|
- headerTitle: 'Application ID',
|
|
|
|
- contentPath: 'id',
|
|
|
|
- cellComponentName: 'em-table-linked-cell',
|
|
|
|
- getCellContent: function(row) {
|
|
|
|
- return {
|
|
|
|
- displayText: row.id,
|
|
|
|
- routeName: 'yarn-app',
|
|
|
|
- id: row.id
|
|
|
|
- };
|
|
|
|
- },
|
|
|
|
- minWidth: "250px"
|
|
|
|
- }, {
|
|
|
|
- id: 'appType',
|
|
|
|
- headerTitle: 'Application Type',
|
|
|
|
- contentPath: 'applicationType',
|
|
|
|
- }, {
|
|
|
|
- id: 'appName',
|
|
|
|
- headerTitle: 'Application Name',
|
|
|
|
- contentPath: 'appName',
|
|
|
|
- }, {
|
|
|
|
- id: 'appUsr',
|
|
|
|
- headerTitle: 'User',
|
|
|
|
- contentPath: 'user',
|
|
|
|
- minWidth: "50px"
|
|
|
|
- }, {
|
|
|
|
- id: 'queue',
|
|
|
|
- headerTitle: 'Queue',
|
|
|
|
- contentPath: 'queue',
|
|
|
|
- }, {
|
|
|
|
- id: 'state',
|
|
|
|
- headerTitle: 'State',
|
|
|
|
- contentPath: 'state',
|
|
|
|
- cellComponentName: 'em-table-status-cell',
|
|
|
|
- minWidth: "50px"
|
|
|
|
- }, {
|
|
|
|
- id: 'progress',
|
|
|
|
- headerTitle: 'Progress',
|
|
|
|
- contentPath: 'progress',
|
|
|
|
- cellComponentName: 'em-table-progress-cell',
|
|
|
|
- cellDefinition: {
|
|
|
|
- valueMax: 100
|
|
|
|
- },
|
|
|
|
- }, {
|
|
|
|
- id: 'stTime',
|
|
|
|
- headerTitle: 'Start Time',
|
|
|
|
- contentPath: 'startTime',
|
|
|
|
- }, {
|
|
|
|
- id: 'elTime',
|
|
|
|
- headerTitle: 'Elapsed Time',
|
|
|
|
- contentPath: 'elapsedTime',
|
|
|
|
- cellDefinition: {
|
|
|
|
- type: "duration"
|
|
|
|
- }
|
|
|
|
- }, {
|
|
|
|
- id: 'finishTime',
|
|
|
|
- headerTitle: 'Finished Time',
|
|
|
|
- contentPath: 'validatedFinishedTs',
|
|
|
|
- observePath: true
|
|
|
|
- }, {
|
|
|
|
- id: 'priority',
|
|
|
|
- headerTitle: 'Priority',
|
|
|
|
- contentPath: 'priority',
|
|
|
|
- }, {
|
|
|
|
- id: 'cluster',
|
|
|
|
- headerTitle: '%Cluster',
|
|
|
|
- contentPath: 'clusterUsagePercentage',
|
|
|
|
- observePath: true
|
|
|
|
- });
|
|
|
|
- return ColumnDef.make(colums);
|
|
|
|
- }.property()
|
|
|
|
|
|
+ tableDefinition: TableDef.create({
|
|
|
|
+ sortColumnId: 'stTime',
|
|
|
|
+ sortOrder: 'desc'
|
|
|
|
+ }),
|
|
|
|
+
|
|
|
|
+ columns: function() {
|
|
|
|
+ var colums = [];
|
|
|
|
+ colums.push({
|
|
|
|
+ id: 'appId',
|
|
|
|
+ headerTitle: 'Application ID',
|
|
|
|
+ contentPath: 'id',
|
|
|
|
+ cellComponentName: 'em-table-linked-cell',
|
|
|
|
+ minWidth: "250px",
|
|
|
|
+ getCellContent: function(row) {
|
|
|
|
+ return {
|
|
|
|
+ displayText: row.id,
|
|
|
|
+ href: `#/yarn-app/${row.id}`
|
|
|
|
+ };
|
|
|
|
+ }
|
|
|
|
+ }, {
|
|
|
|
+ id: 'appType',
|
|
|
|
+ headerTitle: 'Application Type',
|
|
|
|
+ contentPath: 'applicationType',
|
|
|
|
+ }, {
|
|
|
|
+ id: 'appName',
|
|
|
|
+ headerTitle: 'Application Name',
|
|
|
|
+ contentPath: 'appName',
|
|
|
|
+ }, {
|
|
|
|
+ id: 'appUsr',
|
|
|
|
+ headerTitle: 'User',
|
|
|
|
+ contentPath: 'user',
|
|
|
|
+ minWidth: "50px"
|
|
|
|
+ }, {
|
|
|
|
+ id: 'queue',
|
|
|
|
+ headerTitle: 'Queue',
|
|
|
|
+ contentPath: 'queue',
|
|
|
|
+ }, {
|
|
|
|
+ id: 'state',
|
|
|
|
+ headerTitle: 'State',
|
|
|
|
+ contentPath: 'state',
|
|
|
|
+ cellComponentName: 'em-table-status-cell',
|
|
|
|
+ minWidth: "50px"
|
|
|
|
+ }, {
|
|
|
|
+ id: 'progress',
|
|
|
|
+ headerTitle: 'Progress',
|
|
|
|
+ contentPath: 'progress',
|
|
|
|
+ cellComponentName: 'em-table-progress-cell',
|
|
|
|
+ cellDefinition: {
|
|
|
|
+ valueMax: 100
|
|
|
|
+ }
|
|
|
|
+ }, {
|
|
|
|
+ id: 'stTime',
|
|
|
|
+ headerTitle: 'Start Time',
|
|
|
|
+ contentPath: 'startTime',
|
|
|
|
+ }, {
|
|
|
|
+ id: 'elTime',
|
|
|
|
+ headerTitle: 'Elapsed Time',
|
|
|
|
+ contentPath: 'elapsedTime',
|
|
|
|
+ cellDefinition: {
|
|
|
|
+ type: "duration"
|
|
|
|
+ }
|
|
|
|
+ }, {
|
|
|
|
+ id: 'finishTime',
|
|
|
|
+ headerTitle: 'Finished Time',
|
|
|
|
+ contentPath: 'validatedFinishedTs',
|
|
|
|
+ observePath: true
|
|
|
|
+ }, {
|
|
|
|
+ id: 'priority',
|
|
|
|
+ headerTitle: 'Priority',
|
|
|
|
+ contentPath: 'priority',
|
|
|
|
+ }, {
|
|
|
|
+ id: 'cluster',
|
|
|
|
+ headerTitle: '%Cluster',
|
|
|
|
+ contentPath: 'clusterUsagePercentage',
|
|
|
|
+ observePath: true
|
|
|
|
+ });
|
|
|
|
+ return ColumnDef.make(colums);
|
|
|
|
+ }.property(),
|
|
|
|
+
|
|
|
|
+ serviceColumns: function() {
|
|
|
|
+ var colums = [];
|
|
|
|
+ colums.push({
|
|
|
|
+ id: 'appName',
|
|
|
|
+ headerTitle: 'Service Name',
|
|
|
|
+ contentPath: 'appName',
|
|
|
|
+ minWidth: "200px",
|
|
|
|
+ cellComponentName: 'em-table-linked-cell',
|
|
|
|
+ getCellContent: function(row) {
|
|
|
|
+ return {
|
|
|
|
+ displayText: row.get('appName'),
|
|
|
|
+ href: `#/yarn-app/${row.id}?service=${row.get('appName')}`
|
|
|
|
+ };
|
|
|
|
+ }
|
|
|
|
+ }, {
|
|
|
|
+ id: 'appId',
|
|
|
|
+ headerTitle: 'Application ID',
|
|
|
|
+ contentPath: 'id',
|
|
|
|
+ minWidth: "250px"
|
|
|
|
+ }, {
|
|
|
|
+ id: 'state',
|
|
|
|
+ headerTitle: 'State',
|
|
|
|
+ contentPath: 'state',
|
|
|
|
+ cellComponentName: 'em-table-status-cell',
|
|
|
|
+ minWidth: "50px"
|
|
|
|
+ }, {
|
|
|
|
+ id: 'cluster',
|
|
|
|
+ headerTitle: '%Cluster',
|
|
|
|
+ contentPath: 'clusterUsagePercentage',
|
|
|
|
+ observePath: true
|
|
|
|
+ }, {
|
|
|
|
+ id: 'elTime',
|
|
|
|
+ headerTitle: 'Elapsed Time',
|
|
|
|
+ contentPath: 'elapsedTime',
|
|
|
|
+ cellDefinition: {
|
|
|
|
+ type: "duration"
|
|
|
|
+ },
|
|
|
|
+ minWidth: "200px"
|
|
|
|
+ }, {
|
|
|
|
+ id: 'appUsr',
|
|
|
|
+ headerTitle: 'User',
|
|
|
|
+ contentPath: 'user',
|
|
|
|
+ minWidth: "50px"
|
|
|
|
+ }, {
|
|
|
|
+ id: 'queue',
|
|
|
|
+ headerTitle: 'Queue',
|
|
|
|
+ contentPath: 'queue',
|
|
|
|
+ }, {
|
|
|
|
+ id: 'stTime',
|
|
|
|
+ headerTitle: 'Started Time',
|
|
|
|
+ contentPath: 'startTime',
|
|
|
|
+ }, {
|
|
|
|
+ id: 'finishTime',
|
|
|
|
+ headerTitle: 'Finished Time',
|
|
|
|
+ contentPath: 'validatedFinishedTs',
|
|
|
|
+ observePath: true
|
|
|
|
+ });
|
|
|
|
+ return ColumnDef.make(colums);
|
|
|
|
+ }.property(),
|
|
});
|
|
});
|