You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tez.apache.org by je...@apache.org on 2014/12/10 04:33:49 UTC
[26/53] tez git commit: TEZ-1708. Make UI part of TEZ build process.
(Sreenath Somarajapuram via hitesh)
TEZ-1708. Make UI part of TEZ build process. (Sreenath Somarajapuram via hitesh)
Project: http://git-wip-us.apache.org/repos/asf/tez/repo
Commit: http://git-wip-us.apache.org/repos/asf/tez/commit/e18a1fa7
Tree: http://git-wip-us.apache.org/repos/asf/tez/tree/e18a1fa7
Diff: http://git-wip-us.apache.org/repos/asf/tez/diff/e18a1fa7
Branch: refs/heads/master
Commit: e18a1fa7c6cb02b202c941a7f45e6d41c736b56f
Parents: c327ac6
Author: Hitesh Shah <hi...@apache.org>
Authored: Wed Nov 5 22:41:22 2014 -0800
Committer: Hitesh Shah <hi...@apache.org>
Committed: Wed Nov 5 22:41:22 2014 -0800
----------------------------------------------------------------------
.gitignore | 1 +
BUILDING.txt | 1 +
CHANGES.txt | 1 +
pom.xml | 16 +
tez-ui/.bowerrc | 3 -
tez-ui/.gitattributes | 1 -
tez-ui/.gitignore | 9 -
tez-ui/.jshintrc | 24 -
tez-ui/Gruntfile.js | 451 -------------------
tez-ui/README.TXT | 23 +-
tez-ui/app/img/apache_tez_logo_lowres.png | Bin 70978 -> 0 bytes
tez-ui/app/img/glyphicons-halflings.png | Bin 13826 -> 0 bytes
tez-ui/app/index.html | 71 ---
tez-ui/app/scripts/app.js | 54 ---
tez-ui/app/scripts/components/counter-table.js | 83 ----
tez-ui/app/scripts/components/extended-table.js | 190 --------
tez-ui/app/scripts/components/page-nav.js | 35 --
.../app/scripts/controllers/dag_controller.js | 42 --
.../scripts/controllers/dag_index_controller.js | 61 ---
.../controllers/dag_swimlane_controller.js | 35 --
tez-ui/app/scripts/controllers/dag_tasks.js | 123 -----
tez-ui/app/scripts/controllers/dag_vertices.js | 117 -----
.../app/scripts/controllers/dags_controller.js | 152 -------
.../controllers/task_attempt_controller.js | 39 --
.../app/scripts/controllers/task_controller.js | 40 --
.../controllers/task_index_controller.js | 27 --
.../task_task_attempts_controller.js | 117 -----
.../app/scripts/controllers/tasks_controller.js | 112 -----
.../scripts/controllers/vertex_controller.js | 40 --
.../controllers/vertex_index_controller.js | 34 --
.../controllers/vertex_tasks_controller.js | 115 -----
tez-ui/app/scripts/helpers/date.js | 218 ---------
tez-ui/app/scripts/helpers/handlebarHelpers.js | 61 ---
tez-ui/app/scripts/helpers/misc.js | 76 ----
tez-ui/app/scripts/helpers/number.js | 101 -----
tez-ui/app/scripts/helpers/translation.js | 119 -----
tez-ui/app/scripts/mixins/display_helpers.js | 39 --
tez-ui/app/scripts/mixins/paginated_content.js | 157 -------
tez-ui/app/scripts/mixins/run_periodically.js | 78 ----
.../app/scripts/models/TimelineRestAdapter.js | 333 --------------
tez-ui/app/scripts/models/abstract_entity.js | 28 --
tez-ui/app/scripts/models/dag.js | 261 -----------
tez-ui/app/scripts/models/task_attempt.js | 43 --
tez-ui/app/scripts/router.js | 229 ----------
tez-ui/app/scripts/views/swimlane_view.js | 119 -----
tez-ui/app/styles/main.less | 178 --------
tez-ui/app/styles/swimlanes.css | 44 --
tez-ui/app/templates/application.hbs | 21 -
.../components/extended-table/extable.hbs | 12 -
.../components/extended-table/filter-cell.hbs | 7 -
.../extended-table/filter-container.hbs | 15 -
.../components/extended-table/filter-row.hbs | 5 -
tez-ui/app/templates/components/page-nav.hbs | 21 -
tez-ui/app/templates/dag.hbs | 35 --
tez-ui/app/templates/dag/counters.hbs | 21 -
tez-ui/app/templates/dag/index.hbs | 62 ---
tez-ui/app/templates/dag/swimlane.hbs | 4 -
tez-ui/app/templates/dag/tasks.hbs | 28 --
tez-ui/app/templates/dag/vertices.hbs | 28 --
tez-ui/app/templates/dags.hbs | 55 ---
tez-ui/app/templates/error_.hbs | 6 -
tez-ui/app/templates/task.hbs | 62 ---
tez-ui/app/templates/task/attempts.hbs | 28 --
tez-ui/app/templates/task/counters.hbs | 21 -
tez-ui/app/templates/task/index.hbs | 57 ---
tez-ui/app/templates/taskAttempt/counters.hbs | 21 -
tez-ui/app/templates/taskAttempt/index.hbs | 43 --
tez-ui/app/templates/task_attempt.hbs | 51 ---
tez-ui/app/templates/tasks.hbs | 58 ---
tez-ui/app/templates/utils/_loadingSpinner.hbs | 3 -
tez-ui/app/templates/utils/_pageHeader.hbs | 7 -
tez-ui/app/templates/vertex.hbs | 43 --
tez-ui/app/templates/vertex/counters.hbs | 21 -
tez-ui/app/templates/vertex/index.hbs | 86 ----
tez-ui/app/templates/vertex/swimlane.hbs | 22 -
tez-ui/app/templates/vertex/tasks.hbs | 46 --
tez-ui/bower.json | 32 --
tez-ui/original/application_attempt_page.html | 44 --
tez-ui/original/application_attempt_page.js | 51 ---
tez-ui/original/application_page.html | 40 --
tez-ui/original/application_page.js | 52 ---
tez-ui/original/css/jquery.dataTables.min.css | 1 -
tez-ui/original/dag_page.html | 74 ---
tez-ui/original/dag_page.js | 85 ----
tez-ui/original/lib/jquery.dataTables.min.js | 155 -------
tez-ui/original/lib/jquery.js | 4 -
tez-ui/original/login.html | 51 ---
tez-ui/original/task_attempt_page.html | 60 ---
tez-ui/original/task_attempt_page.js | 59 ---
tez-ui/original/task_page.html | 72 ---
tez-ui/original/task_page.js | 76 ----
tez-ui/original/user_guide.txt | 18 -
tez-ui/original/vertex_page.html | 73 ---
tez-ui/original/vertex_page.js | 76 ----
tez-ui/package.json | 36 --
tez-ui/pom.xml | 146 ++++++
tez-ui/src/assembly/bin.xml | 31 ++
tez-ui/src/main/resources/WEB-INF/web.xml | 25 +
tez-ui/src/main/webapp/.bowerrc | 3 +
tez-ui/src/main/webapp/.gitattributes | 1 +
tez-ui/src/main/webapp/.gitignore | 9 +
tez-ui/src/main/webapp/.jshintrc | 24 +
tez-ui/src/main/webapp/Gruntfile.js | 451 +++++++++++++++++++
.../webapp/app/img/apache_tez_logo_lowres.png | Bin 0 -> 70978 bytes
.../webapp/app/img/glyphicons-halflings.png | Bin 0 -> 13826 bytes
tez-ui/src/main/webapp/app/index.html | 71 +++
tez-ui/src/main/webapp/app/scripts/app.js | 54 +++
.../app/scripts/components/counter-table.js | 83 ++++
.../app/scripts/components/extended-table.js | 190 ++++++++
.../webapp/app/scripts/components/page-nav.js | 35 ++
.../app/scripts/controllers/dag_controller.js | 42 ++
.../scripts/controllers/dag_index_controller.js | 61 +++
.../controllers/dag_swimlane_controller.js | 35 ++
.../webapp/app/scripts/controllers/dag_tasks.js | 123 +++++
.../app/scripts/controllers/dag_vertices.js | 117 +++++
.../app/scripts/controllers/dags_controller.js | 152 +++++++
.../controllers/task_attempt_controller.js | 39 ++
.../app/scripts/controllers/task_controller.js | 40 ++
.../controllers/task_index_controller.js | 27 ++
.../task_task_attempts_controller.js | 117 +++++
.../app/scripts/controllers/tasks_controller.js | 112 +++++
.../scripts/controllers/vertex_controller.js | 40 ++
.../controllers/vertex_index_controller.js | 34 ++
.../controllers/vertex_tasks_controller.js | 115 +++++
.../src/main/webapp/app/scripts/helpers/date.js | 218 +++++++++
.../app/scripts/helpers/handlebarHelpers.js | 61 +++
.../src/main/webapp/app/scripts/helpers/misc.js | 76 ++++
.../main/webapp/app/scripts/helpers/number.js | 101 +++++
.../webapp/app/scripts/helpers/translation.js | 119 +++++
.../app/scripts/mixins/display_helpers.js | 39 ++
.../app/scripts/mixins/paginated_content.js | 157 +++++++
.../app/scripts/mixins/run_periodically.js | 78 ++++
.../app/scripts/models/TimelineRestAdapter.js | 333 ++++++++++++++
.../app/scripts/models/abstract_entity.js | 28 ++
.../src/main/webapp/app/scripts/models/dag.js | 261 +++++++++++
.../webapp/app/scripts/models/task_attempt.js | 43 ++
tez-ui/src/main/webapp/app/scripts/router.js | 229 ++++++++++
.../webapp/app/scripts/views/swimlane_view.js | 119 +++++
tez-ui/src/main/webapp/app/styles/main.less | 178 ++++++++
tez-ui/src/main/webapp/app/styles/swimlanes.css | 44 ++
.../main/webapp/app/templates/application.hbs | 21 +
.../components/extended-table/extable.hbs | 12 +
.../components/extended-table/filter-cell.hbs | 7 +
.../extended-table/filter-container.hbs | 15 +
.../components/extended-table/filter-row.hbs | 5 +
.../app/templates/components/page-nav.hbs | 21 +
tez-ui/src/main/webapp/app/templates/dag.hbs | 35 ++
.../main/webapp/app/templates/dag/counters.hbs | 21 +
.../src/main/webapp/app/templates/dag/index.hbs | 62 +++
.../main/webapp/app/templates/dag/swimlane.hbs | 4 +
.../src/main/webapp/app/templates/dag/tasks.hbs | 28 ++
.../main/webapp/app/templates/dag/vertices.hbs | 28 ++
tez-ui/src/main/webapp/app/templates/dags.hbs | 55 +++
tez-ui/src/main/webapp/app/templates/error_.hbs | 6 +
tez-ui/src/main/webapp/app/templates/task.hbs | 62 +++
.../main/webapp/app/templates/task/attempts.hbs | 28 ++
.../main/webapp/app/templates/task/counters.hbs | 21 +
.../main/webapp/app/templates/task/index.hbs | 57 +++
.../app/templates/taskAttempt/counters.hbs | 21 +
.../webapp/app/templates/taskAttempt/index.hbs | 43 ++
.../main/webapp/app/templates/task_attempt.hbs | 51 +++
tez-ui/src/main/webapp/app/templates/tasks.hbs | 58 +++
.../app/templates/utils/_loadingSpinner.hbs | 3 +
.../webapp/app/templates/utils/_pageHeader.hbs | 7 +
tez-ui/src/main/webapp/app/templates/vertex.hbs | 43 ++
.../webapp/app/templates/vertex/counters.hbs | 21 +
.../main/webapp/app/templates/vertex/index.hbs | 86 ++++
.../webapp/app/templates/vertex/swimlane.hbs | 22 +
.../main/webapp/app/templates/vertex/tasks.hbs | 46 ++
tez-ui/src/main/webapp/bower.json | 32 ++
.../original/application_attempt_page.html | 44 ++
.../webapp/original/application_attempt_page.js | 51 +++
.../main/webapp/original/application_page.html | 40 ++
.../main/webapp/original/application_page.js | 52 +++
.../original/css/jquery.dataTables.min.css | 1 +
tez-ui/src/main/webapp/original/dag_page.html | 74 +++
tez-ui/src/main/webapp/original/dag_page.js | 85 ++++
.../original/lib/jquery.dataTables.min.js | 155 +++++++
tez-ui/src/main/webapp/original/lib/jquery.js | 4 +
tez-ui/src/main/webapp/original/login.html | 51 +++
.../main/webapp/original/task_attempt_page.html | 60 +++
.../main/webapp/original/task_attempt_page.js | 59 +++
tez-ui/src/main/webapp/original/task_page.html | 72 +++
tez-ui/src/main/webapp/original/task_page.js | 76 ++++
tez-ui/src/main/webapp/original/user_guide.txt | 18 +
.../src/main/webapp/original/vertex_page.html | 73 +++
tez-ui/src/main/webapp/original/vertex_page.js | 76 ++++
tez-ui/src/main/webapp/package.json | 36 ++
188 files changed, 6248 insertions(+), 6010 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index e5a919d..c6ca5b7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
*.iml
*.ipr
*.iws
+*.DS_Store
.idea
.svn
.classpath
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/BUILDING.txt
----------------------------------------------------------------------
diff --git a/BUILDING.txt b/BUILDING.txt
index 34149e7..0d7df9b 100644
--- a/BUILDING.txt
+++ b/BUILDING.txt
@@ -26,6 +26,7 @@ Maven main modules:
- tez-plugins .................(Tez plugins)
- tez-tests ...................(Tez tests and additional test examples)
- tez-dist ....................(Tez dist)
+ - tez-ui ......................(Tez web user interface)
----------------------------------------------------------------------------------
Maven build goals:
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index e3dec9d..2572250 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -11,6 +11,7 @@ ALL CHANGES:
TEZ-1604. Task View for Tez UI
TEZ-1603. Vertex View for Tez UI.
TEZ-1720. Allow filters in all tables and also to pass in filters using url params.
+ TEZ-1708. Make UI part of TEZ build process.
Release 0.5.2: Unreleased
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index e090e8d..6c5ddbf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -606,6 +606,7 @@
<module>tez-examples</module>
<module>tez-tests</module>
<module>tez-dag</module>
+ <module>tez-ui</module>
<module>tez-plugins</module>
<module>tez-dist</module>
<module>docs</module>
@@ -675,6 +676,21 @@
<version>2.4</version>
</plugin>
<plugin>
+ <groupId>com.github.eirslett</groupId>
+ <artifactId>frontend-maven-plugin</artifactId>
+ <version>0.0.16</version>
+ </plugin>
+ <plugin>
+ <artifactId>exec-maven-plugin</artifactId>
+ <groupId>org.codehaus.mojo</groupId>
+ <version>1.3.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>2.5</version>
+ </plugin>
+ <plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>0.10</version>
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/.bowerrc
----------------------------------------------------------------------
diff --git a/tez-ui/.bowerrc b/tez-ui/.bowerrc
deleted file mode 100644
index ba0accc..0000000
--- a/tez-ui/.bowerrc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "directory": "app/bower_components"
-}
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/.gitattributes
----------------------------------------------------------------------
diff --git a/tez-ui/.gitattributes b/tez-ui/.gitattributes
deleted file mode 100644
index 2125666..0000000
--- a/tez-ui/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-* text=auto
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/.gitignore
----------------------------------------------------------------------
diff --git a/tez-ui/.gitignore b/tez-ui/.gitignore
deleted file mode 100644
index ee72141..0000000
--- a/tez-ui/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-node
-node_modules
-temp
-dist
-.sass-cache
-.tmp
-app/bower_components
-test/bower_components
-.editorconfig
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/.jshintrc
----------------------------------------------------------------------
diff --git a/tez-ui/.jshintrc b/tez-ui/.jshintrc
deleted file mode 100644
index 780790d..0000000
--- a/tez-ui/.jshintrc
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "node": true,
- "browser": true,
- "esnext": true,
- "bitwise": false,
- "curly": false,
- "eqeqeq": true,
- "eqnull": true,
- "immed": true,
- "latedef": true,
- "newcap": true,
- "noarg": true,
- "undef": true,
- "strict": false,
- "trailing": false,
- "smarttabs": true,
- "globals": {
- "App": true,
- "jQuery": true,
- "Ember": true,
- "Handlebars": true,
- "DS": true
- }
-}
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/Gruntfile.js
----------------------------------------------------------------------
diff --git a/tez-ui/Gruntfile.js b/tez-ui/Gruntfile.js
deleted file mode 100644
index 3d3b96f..0000000
--- a/tez-ui/Gruntfile.js
+++ /dev/null
@@ -1,451 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// Generated on 2014-06-24 using generator-ember 0.8.4
-'use strict';
-var LIVERELOAD_PORT = 35729;
-var lrSnippet = require('connect-livereload')({port: LIVERELOAD_PORT});
-var mountFolder = function (connect, dir) {
- return connect.static(require('path').resolve(dir));
-};
-
-// # Globbing
-// for performance reasons we're only matching one level down:
-// 'test/spec/{,*/}*.js'
-// use this if you want to match all subfolders:
-// 'test/spec/**/*.js'
-
-module.exports = function (grunt) {
- // show elapsed time at the end
- require('time-grunt')(grunt);
- // load all grunt tasks
- require('load-grunt-tasks')(grunt);
-
- // configurable paths
- var yeomanConfig = {
- app: 'app',
- dist: 'dist'
- };
-
- grunt.initConfig({
- yeoman: yeomanConfig,
- watch: {
- emberTemplates: {
- files: '<%= yeoman.app %>/templates/**/*.hbs',
- tasks: ['emberTemplates']
- },
- neuter: {
- files: ['<%= yeoman.app %>/scripts/{,*/}*.js'],
- tasks: ['neuter']
- },
- less: {
- files: '<%= yeoman.app %>/styles/**/*.less',
- tasks: ['less:development']
- },
- livereload: {
- options: {
- livereload: LIVERELOAD_PORT
- },
- files: [
- '.tmp/scripts/**/*.js',
- '<%= yeoman.app %>/*.html',
- '{.tmp,<%= yeoman.app %>}/styles/{,*/}*.css',
- '<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}'
- ]
- },
- css: {
- files: '<%= yeoman.app %>/styles/*.css',
- tasks: ['copy:development']
- }
- },
- connect: {
- options: {
- port: 9001,
- // change this to '0.0.0.0' to access the server from outside
- hostname: 'localhost'
- },
- livereload: {
- options: {
- middleware: function (connect) {
- return [
- lrSnippet,
- mountFolder(connect, '.tmp'),
- mountFolder(connect, yeomanConfig.app)
- ];
- }
- }
- },
- test: {
- options: {
- middleware: function (connect) {
- return [
- mountFolder(connect, 'test'),
- mountFolder(connect, '.tmp')
- ];
- }
- }
- },
- dist: {
- options: {
- middleware: function (connect) {
- return [
- mountFolder(connect, yeomanConfig.dist)
- ];
- }
- }
- }
- },
- open: {
- server: {
- path: 'http://localhost:<%= connect.options.port %>'
- }
- },
- clean: {
- dist: {
- files: [
- {
- dot: true,
- src: [
- '.tmp',
- '<%= yeoman.dist %>/*',
- '!<%= yeoman.dist %>/.git*'
- ]
- }
- ]
- },
- server: '.tmp'
- },
- jshint: {
- options: {
- jshintrc: '.jshintrc',
- reporter: require('jshint-stylish')
- },
- all: [
- 'Gruntfile.js',
- '<%= yeoman.app %>/scripts/{,*/}*.js',
- '!<%= yeoman.app %>/scripts/vendor/*',
- 'test/spec/{,*/}*.js'
- ]
- },
- mocha: {
- all: {
- options: {
- run: true,
- urls: ['http://localhost:<%= connect.options.port %>/index.html']
- }
- }
- },
- // not used since Uglify task does concat,
- // but still available if needed
- /*concat: {
- dist: {}
- },*/
- // not enabled since usemin task does concat and uglify
- // check index.html to edit your build targets
- // enable this task if you prefer defining your build targets here
- /*uglify: {
- dist: {}
- },*/
- rev: {
- dist: {
- files: {
- src: [
- '<%= yeoman.dist %>/scripts/{,*/}*.js',
- '<%= yeoman.dist %>/styles/{,*/}*.css',
- '<%= yeoman.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp}',
- '<%= yeoman.dist %>/styles/fonts/*'
- ]
- }
- }
- },
- useminPrepare: {
- html: '.tmp/index.html',
- options: {
- dest: '<%= yeoman.dist %>'
- }
- },
- usemin: {
- html: ['<%= yeoman.dist %>/{,*/}*.html'],
- css: ['<%= yeoman.dist %>/styles/{,*/}*.css'],
- options: {
- dirs: ['<%= yeoman.dist %>']
- }
- },
- svgmin: {
- dist: {
- files: [
- {
- expand: true,
- cwd: '<%= yeoman.app %>/images',
- src: '{,*/}*.svg',
- dest: '<%= yeoman.dist %>/images'
- }
- ]
- }
- },
- cssmin: {
- dist: {
- files: {
- '<%= yeoman.dist %>/styles/main.css': [
- '.tmp/styles/{,*/}*.css',
- '<%= yeoman.app %>/styles/{,*/}*.css',
- '<%= yeoman.app %>/bower_components/bootstrap/dist/css/bootstrap.css',
- '<%= yeoman.app %>/bower_components/ember-table/dist/ember-table.css',
- '<%= yeoman.app %>/bower_components/font-awesome/css/font-awesome.css'
- ]
- }
- }
- },
- htmlmin: {
- dist: {
- options: {
- /*removeCommentsFromCDATA: true,
- // https://github.com/yeoman/grunt-usemin/issues/44
- //collapseWhitespace: true,
- collapseBooleanAttributes: true,
- removeAttributeQuotes: true,
- removeRedundantAttributes: true,
- useShortDoctype: true,
- removeEmptyAttributes: true,
- removeOptionalTags: true*/
- },
- files: [
- {
- expand: true,
- cwd: '<%= yeoman.app %>',
- src: '*.html',
- dest: '<%= yeoman.dist %>'
- }
- ]
- }
- },
- replace: {
- app: {
- options: {
- variables: {
- ember: 'bower_components/ember/ember.js',
- ember_data: 'bower_components/ember-data/ember-data.js'
- }
- },
- files: [
- {src: '<%= yeoman.app %>/index.html', dest: '.tmp/index.html'}
- ]
- },
- dist: {
- options: {
- variables: {
- ember: 'bower_components/ember/ember.prod.js',
- ember_data: 'bower_components/ember-data/ember-data.prod.js'
- }
- },
- files: [
- {src: '<%= yeoman.app %>/index.html', dest: '.tmp/index.html'}
- ]
- }
- },
- // Put files not handled in other tasks here
- copy: {
- dist: {
- files: [
- {
- expand: true,
- dot: true,
- cwd: '<%= yeoman.app %>',
- dest: '<%= yeoman.dist %>',
- src: [
- '*.{ico,txt}',
- '.htaccess',
- 'img/*',
- 'styles/fonts/*',
- 'scripts/assets/**/*'
- ]
- },
- {
- expand: true,
- flatten: true,
- src: '<%= yeoman.app %>/bower_components/jquery-ui/themes/base/images/*',
- dest: '<%= yeoman.dist %>/styles/images/'
- },
- {
- expand: true,
- flatten: true,
- src: '<%= yeoman.app %>/bower_components/font-awesome/fonts/*',
- dest: '<%= yeoman.dist %>/fonts/'
- }
- ]
- },
- development: {
- files: [
- {
- expand: true,
- dot: true,
- cwd: '<%= yeoman.app %>',
- dest: '.tmp',
- src: [
- '*.{ico,txt}',
- '.htaccess',
- 'img/*',
- 'styles/*.css',
- 'styles/fonts/*',
- 'scripts/assets/**/*'
- ]
- },
- {
- expand: true,
- flatten: true,
- src: '<%= yeoman.app %>/bower_components/jquery-ui/themes/base/images/*',
- dest: '.tmp/styles/images/'
- },
- {
- expand: true,
- flatten: true,
- src: '<%= yeoman.app %>/bower_components/font-awesome/fonts/*',
- dest: '.tmp/fonts/'
- },
- {
- expand: true,
- flatten: false,
- cwd: '<%= yeoman.app %>',
- src: 'bower_components/**',
- dest: '.tmp/'
- }
- ]
- }
- },
- concurrent: {
- server: [
- 'emberTemplates'
- ],
- test: [
- 'emberTemplates'
- ],
- dist: [
- 'emberTemplates',
- 'svgmin',
- 'htmlmin'
- ]
- },
- emberTemplates: {
- options: {
- templateName: function (sourceFile) {
- var templatePath = yeomanConfig.app + '/templates/';
- return sourceFile.replace(templatePath, '');
- }
- },
- dist: {
- files: {
- '.tmp/scripts/compiled-templates.js': '<%= yeoman.app %>/templates/**/*.hbs'
- }
- },
- development: {
- files: {
- '.tmp/scripts/compiled-templates.js': '<%= yeoman.app %>/templates/**/*.hbs'
- }
- }
- },
-
- less: {
- development: {
- options: {
- paths: ["<%= yeoman.app %>/styles"],
- sourceMap: true,
- },
- files: [{
- expand: true,
- cwd: "<%= yeoman.app %>/styles",
- src: ['styles/*.less', '**/*.less'],
- dest: ".tmp/styles",
- ext: ".css"
- }]
- },
- production: {
- options: {
- paths: ["<%= yeoman.app %>/styles"],
- cleancss: true
- },
- files: {
- ".tmp/styles/styles.css": "<%= yeoman.app %>/styles/**/*.less"
- }
- }
- },
-
- neuter: {
- app: {
- options: {
- filepathTransform: function (filepath) {
- return yeomanConfig.app + '/' + filepath;
- }
- },
- src: '<%= yeoman.app %>/scripts/**/*.js',
- dest: '.tmp/scripts/combined-scripts.js'
- }
- }
- });
-
- grunt.registerTask('server', function (target) {
- grunt.log.warn('The `server` task has been deprecated. Use `grunt serve` to start a server.');
- grunt.task.run(['serve:' + target]);
- });
-
- grunt.registerTask('serve', function (target) {
- if (target === 'dist') {
- return grunt.task.run(['build', 'open', 'connect:dist:keepalive']);
- }
-
- grunt.task.run([
- 'clean:server',
- 'replace:app',
- 'concurrent:server',
- 'neuter:app',
- 'less:development',
- 'connect:livereload',
- 'open',
- 'copy:development',
- 'watch'
- ]);
- });
-
- grunt.registerTask('test', [
- 'clean:server',
- 'replace:app',
- 'concurrent:test',
- 'connect:test',
- 'neuter:app',
- 'mocha'
- ]);
-
- grunt.registerTask('build', [
- 'clean:dist',
- 'replace:app',
- 'useminPrepare',
- 'concurrent:dist',
- 'neuter:app',
- 'less:production',
- 'concat',
- 'cssmin',
- //'uglify',
- 'copy:dist',
- //'rev',
- 'usemin'
- ]);
-
- grunt.registerTask('default', [
- 'jshint',
- 'test',
- 'build'
- ]);
-};
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/README.TXT
----------------------------------------------------------------------
diff --git a/tez-ui/README.TXT b/tez-ui/README.TXT
index a633648..3b2dc7c 100644
--- a/tez-ui/README.TXT
+++ b/tez-ui/README.TXT
@@ -1,7 +1,24 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
Dev setup instructions
----------------------
install the development dependencies nodejs, npm, grunt and bower
-from the top level directory run the following commands
+from webapp directory run the following commands
* npm install
* bower install
@@ -9,9 +26,9 @@ The timeline server (ATS) url by default points to http://localhost:8188. This c
changed to point to another host by editing the App.AtsBaseUrl entry in the
app/scripts/app.js file.
-For development run 'grunt serve'. This runs a dev server on port 9001.
+For development run 'grunt serve'. This runs a dev server on port 9001.
navigate to http://localhost:9001 if a browser does not open automatically.
Any changes made will be live-reloaded on the browser.
-For creating a distribution version, run 'grunt build'. The distributable
+For creating a distribution version, run 'grunt build'. The distributable
version will be placed under the dist directory.
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/img/apache_tez_logo_lowres.png
----------------------------------------------------------------------
diff --git a/tez-ui/app/img/apache_tez_logo_lowres.png b/tez-ui/app/img/apache_tez_logo_lowres.png
deleted file mode 100644
index 45fd701..0000000
Binary files a/tez-ui/app/img/apache_tez_logo_lowres.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/img/glyphicons-halflings.png
----------------------------------------------------------------------
diff --git a/tez-ui/app/img/glyphicons-halflings.png b/tez-ui/app/img/glyphicons-halflings.png
deleted file mode 100644
index 79bc568..0000000
Binary files a/tez-ui/app/img/glyphicons-halflings.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/index.html
----------------------------------------------------------------------
diff --git a/tez-ui/app/index.html b/tez-ui/app/index.html
deleted file mode 100644
index 1653e94..0000000
--- a/tez-ui/app/index.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!--
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
--->
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Tez UI</title>
-
- <!-- build:css styles/main.css -->
- <link rel="stylesheet" href="styles/main.css">
- <link rel="stylesheet" href="styles/swimlanes.css">
- <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css">
- <link rel="stylesheet" href="bower_components/ember-table/dist/ember-table.css">
- <link rel="stylesheet" href="bower_components/font-awesome/css/font-awesome.css">
- <!-- endbuild -->
-
- </head>
-
- <body>
- <!-- build:js(app) scripts/components.js -->
- <script src="bower_components/cldr/plurals.js"></script>
- <script src="bower_components/jquery/jquery.js"></script>
- <script src="bower_components/jquery-ui/jquery-ui.js"></script>
- <script src="bower_components/bootstrap/js/dropdown.js"></script>
- <script src="bower_components/bootstrap/js/button.js"></script>
- <script src="bower_components/bootstrap/js/tooltip.js"></script>
- <script src="bower_components/jquery-ui/ui/datepicker.js"></script>
- <script src="bower_components/moment/moment.js"></script>
- <script src="bower_components/handlebars/handlebars.js"></script>
- <script src="@@ember"></script>
- <script src="@@ember_data"></script>
- <script src="bower_components/ember-json-mapper/ember-json-mapper.js"></script>
- <script src="bower_components/ember-i18n/lib/i18n.js"></script>
- <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-core.min.js"></script>
- <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-basic.min.js"></script>
- <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-button.min.js"></script>
- <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-modal.min.js"></script>
- <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-nav.min.js"></script>
- <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-items-action-bar.min.js"></script>
- <script src="bower_components/antiscroll/antiscroll.js"></script>
- <script src="bower_components/jquery-mousewheel/jquery.mousewheel.js"></script>
- <script src="bower_components/ember-table/dist/ember-table.js"></script>
- <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-nav.min.js"></script>
- <script src="bower_components/d3/d3.js"></script>
- <!-- endbuild -->
-
- <!-- build:js(.tmp) scripts/templates.js -->
- <script src="scripts/compiled-templates.js"></script>
- <!-- endbuild -->
-
- <!-- build:js(.tmp) scripts/main.js -->
- <script src="scripts/combined-scripts.js"></script>
- <!-- endbuild -->
- </body>
-</html>
-
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/scripts/app.js
----------------------------------------------------------------------
diff --git a/tez-ui/app/scripts/app.js b/tez-ui/app/scripts/app.js
deleted file mode 100644
index c06678e..0000000
--- a/tez-ui/app/scripts/app.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = window.App = Em.Application.createWithMixins(Bootstrap, {
- // Basic logging, e.g. "Transitioned into 'post'"
- LOG_TRANSITIONS: true,
-
- // Extremely detailed logging, highlighting every internal
- // step made while transitioning into a route, including
- // `beforeModel`, `model`, and `afterModel` hooks, and
- // information about redirects and aborted transitions
- LOG_TRANSITIONS_INTERNAL: true
-});
-
-App.AtsBaseUrl = "http://localhost:8188";
-
-require('scripts/router');
-require('scripts/store');
-
-App.Helpers = Em.Namespace.create();
-App.Mappers = Em.Namespace.create();
-
-//TODO: initializer.
-
-/* Order and include */
-/* TODO: cleanup */
-require('scripts/translations');
-require('scripts/mixins/*');
-require('scripts/helpers/*');
-require('scripts/views/**/*');
-require('scripts/models/**/*');
-require('scripts/mappers/server_data_mapper.js');
-require('scripts/mappers/**/*');
-require('scripts/controllers/**/*');
-require('scripts/components/*');
-require('scripts/adapters/*');
-
-App.ApplicationAdapter = App.TimelineRESTAdapter.extend();
-App.ApplicationSerializer = App.TimelineSerializer.extend();
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/scripts/components/counter-table.js
----------------------------------------------------------------------
diff --git a/tez-ui/app/scripts/components/counter-table.js b/tez-ui/app/scripts/components/counter-table.js
deleted file mode 100644
index 2ee6b76..0000000
--- a/tez-ui/app/scripts/components/counter-table.js
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-App.CounterTableComponent = Ember.Table.EmberTableComponent.extend({
- hasFooter: false,
- hasHeader: true,
- forceFillColumns: true,
- data: null,
-
- columns: function() {
- var groupColumn = Em.Table.ColumnDefinition.create({
- textAlign: 'text-align-left',
- headerCellName: 'Group',
- getCellContent: function(row) {
- return row.get('counterGroup');
- }
- });
-
- var nameColumn = Em.Table.ColumnDefinition.create({
- textAlign: 'text-align-left',
- headerCellName: 'Counter Name',
- tableCellViewClass: Em.Table.TableCell.extend({
- template: Em.Handlebars.compile(
- '<span {{bind-attr class=":ember-table-content view.cellContent.isCG:countertable-group-header:countertable-row"}}>\
- {{view.cellContent.name}}\
- </span>')
- }),
- getCellContent: function(row) {
- return {
- isCG: row.get('counters') != undefined,
- name: row.get('name')
- };
- }
- });
-
- var valueColumn = Em.Table.ColumnDefinition.create({
- textAlign: 'text-align-left',
- headerCellName: 'Value',
- tableCellViewClass: Em.Table.TableCell.extend({
- template: Em.Handlebars.compile(
- '<span {{bind-attr class=":ember-table-content view.cellContent.isCG:countertable-group-header"}}>\
- {{view.cellContent.value}}\
- </span>')
- }),
- getCellContent: function(row) {
- return {
- isCG: row.get('counters') != undefined,
- value: row.get('value')
- };
- }
- });
-
- return [nameColumn, valueColumn];
- }.property(),
-
- content: function() {
- var allCounters = [];
- if (!!this.data) {
- this.data.forEach(function(cg){
- allCounters.push(cg);
- [].push.apply(allCounters, cg.get('counters').content);
- });
- }
- return allCounters;
- }.property('data'),
-});
-
-Em.Handlebars.helper('counter-table-component', App.CounterTableComponent);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/scripts/components/extended-table.js
----------------------------------------------------------------------
diff --git a/tez-ui/app/scripts/components/extended-table.js b/tez-ui/app/scripts/components/extended-table.js
deleted file mode 100644
index 5047af9..0000000
--- a/tez-ui/app/scripts/components/extended-table.js
+++ /dev/null
@@ -1,190 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-App.ExTable = Ember.Namespace.create();
-
-App.ExTable.FilterField = Em.TextField.extend({
- classNames: ['filter'],
- classNameBindings: ['isPopulated','isInputDirty:input-dirty'],
- type: 'search',
- results: 1,
- attributeBindings: ['autofocus', 'results'],
- valueBinding: Em.Binding.oneWay('filterValue'),
- isPopulated: function() {
- return !Em.isEmpty(this.get('value'));
- }.property('value'),
- insertNewline: function(event) {
- if (this.get('isInputDirty')) {
- this.set('filterValue', this.get('value'));
- this.get('parentView.controller').send('filterUpdated',
- this.get('parentView.content'), this.get('value'));
- }
- },
- cancel: function() {
- // cancel is ignored. user needs to press enter. This is done in order to avoid
- // two requests when user wants to clear the current input and enter new value.
- },
- isInputDirty: function() {
- return $.trim(this.get('value')) != $.trim(this.get('filterValue'));
- }.property('value', 'filterValue')
-});
-
-App.ExTable.FilterRow = Ember.View.extend(Ember.AddeparMixins.StyleBindingsMixin, {
- templateName: 'components/extended-table/filter-row',
- classNames: ['ember-table-table-row', 'ember-table-header-row'],
- styleBindings: ['width'],
- columns: Ember.computed.alias('content'),
- width: Ember.computed.alias('controller._rowWidth'),
- scrollLeft: Ember.computed.alias('controller._tableScrollLeft'),
- onScrollLeftDidChange: function() {
- return this.$().scrollLeft(this.get('scrollLeft'));
- }.observes('scrollLeft'),
- onScroll: function(event) {
- this.set('scrollLeft', event.target.scrollLeft);
- return event.preventDefault();
- }
-});
-
-App.ExTable.FilterBlock = Ember.Table.TableBlock.extend({
- classNames: ['ember-table-header-block'],
- itemViewClass: 'App.ExTable.FilterRow',
- content: function() {
- return [this.get('columns')];
- }.property('columns')
-});
-
-App.ExTable.FilterTableContainer = Ember.Table.TableContainer.extend(Ember.Table.ShowHorizontalScrollMixin, {
- templateName: 'components/extended-table/filter-container',
- classNames: ['ember-table-table-container', 'ember-table-fixed-table-container', 'ember-table-header-container'],
- height: Ember.computed.alias('controller._filterHeight'),
- width: Ember.computed.alias('controller._tableContainerWidth')
-});
-
-App.ExTable.FilterCell = Ember.View.extend(Ember.AddeparMixins.StyleBindingsMixin, {
- templateName: 'components/extended-table/filter-cell',
- classNames: ['ember-table-cell', 'ember-table-header-cell'],
- classNameBindings: ['column.textAlign'],
- styleBindings: ['width', 'height'],
- column: Ember.computed.alias('content'),
- width: Ember.computed.alias('column.columnWidth'),
- height: function() {
- return this.get('controller._filterHeight');
- }.property('controller._filterHeight'),
- // Currently resizing is not handled automatically. if required will need to do here.
-});
-
-App.ExTable.ColumnDefinition = Ember.Table.ColumnDefinition.extend({
- init: function() {
- if (!!this.filterID) {
- var columnFilterValueBinding = Em.Binding
- .oneWay('controller._parentView.context.' + this.filterID)
- .to('columnFilterValue');
- columnFilterValueBinding.connect(this);
- }
- },
- textAlign: 'text-align-left',
- filterCellView: 'App.ExTable.FilterCell',
- filterCellViewClass: Ember.computed.alias('filterCellView'),
- filterID: null,
-});
-
-App.ExTable.TableComponent = Ember.Table.EmberTableComponent.extend({
- layoutName: 'components/extended-table/extable',
- filters: {},
-
- hasFilter: true,
- minFilterHeight: 30, //TODO: less changes
-
- actions: {
- filterUpdated: function(columnDef, value) {
- var filterID = columnDef.get('filterID');
- filterID = filterID || columnDef.get('headerCellName').underscore();
- if (this.get('onFilterUpdated')) {
- this.sendAction('onFilterUpdated', filterID, value);
- }
- }
- },
-
- // private variables
- // Dynamic filter height that adjusts according to the filter content height
- _contentFilterHeight: null,
- _filterHeight: function() {
- var minHeight = this.get('minFilterHeight');
- var contentFilterHeight = this.get('_contentFilterHeight');
- if (contentFilterHeight < minHeight) {
- return minHeight;
- } else {
- return contentFilterHeight;
- }
- }.property('_contentFilterHeight', 'minFilterHeight'),
-
- // some of these below are private functions extend. however to add the filterrow we need them.
- // tables-container height adjusts to the content height
- _tablesContainerHeight: function() {
- var contentHeight, height;
- height = this.get('_height');
- contentHeight = this.get('_tableContentHeight') + this.get('_headerHeight') + this.get('_footerHeight')
- + this.get('_filterHeight');
- if (contentHeight < height) {
- return contentHeight;
- } else {
- return height;
- }
- }.property('_height', '_tableContentHeight', '_headerHeight', '_footerHeight', '_filterHeight'),
-
- _bodyHeight: function() {
- var bodyHeight;
- bodyHeight = this.get('_tablesContainerHeight');
- if (this.get('hasHeader')) {
- bodyHeight -= this.get('_headerHeight');
- }
- if (this.get('hasFilter')) {
- bodyHeight -= this.get('_filterHeight');
- }
- if (this.get('hasFooter')) {
- bodyHeight -= this.get('footerHeight');
- }
- return bodyHeight;
- }.property('_tablesContainerHeight', '_hasHorizontalScrollbar', '_headerHeight', 'footerHeight', '_filterHeight',
- 'hasHeader', 'hasFooter', 'hasFilter'),
-
- _hasVerticalScrollbar: function() {
- var contentHeight, height;
- height = this.get('_height');
- contentHeight = this.get('_tableContentHeight') + this.get('_headerHeight') + this.get('_footerHeight')
- + this.get('_filterHeight');
- if (height < contentHeight) {
- return true;
- } else {
- return false;
- }
- }.property('_height', '_tableContentHeight', '_headerHeight', '_footerHeight', '_filterHeight'),
-
- _tableContentHeight: function() {
- return this.get('rowHeight') * this.get('bodyContent.length');
- }.property('rowHeight', 'bodyContent.length')
-});
-
-App.ExTable.FilterColumnMixin = Ember.Mixin.create({
- isFilterable: true,
- filterPresent: function() {
- return !Em.isEmpty(this.get('columnFilterValue'));
- }.property('columnFilterValue'),
-});
-
-Ember.Handlebars.helper('extended-table-component', App.ExTable.TableComponent);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/scripts/components/page-nav.js
----------------------------------------------------------------------
diff --git a/tez-ui/app/scripts/components/page-nav.js b/tez-ui/app/scripts/components/page-nav.js
deleted file mode 100644
index a6c0f68..0000000
--- a/tez-ui/app/scripts/components/page-nav.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-App.PageNavComponent = Em.Component.extend({
- layoutName: 'components/page-nav',
-
- actions: {
- gotoNext: function() {
- this.sendAction('navNext');
- },
- gotoPrev: function() {
- this.sendAction('navPrev');
- },
- gotoFirst: function() {
- this.sendAction('navFirst');
- }
- }
-});
-
-Em.Handlebars.helper('page-nav-component', App.PageNavComponent);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/scripts/controllers/dag_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/app/scripts/controllers/dag_controller.js b/tez-ui/app/scripts/controllers/dag_controller.js
deleted file mode 100644
index bbf8e12..0000000
--- a/tez-ui/app/scripts/controllers/dag_controller.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-App.DagController = Em.ObjectController.extend(App.Helpers.DisplayHelper, {
- controllerName: 'DagController',
-
- pageTitle: 'Dag',
-
- loading: true,
-
- updateLoading: function() {
- this.set('loading', false);
- }.observes('content'),
-
- pageSubTitle: function() {
- return this.get('name');
- }.property('name'),
-
- childDisplayViews: [
- Ember.Object.create({title: 'Details', linkTo: 'dag.index'}),
- Ember.Object.create({title: 'Vertices', linkTo: 'dag.vertices'}),
- Ember.Object.create({title: 'Tasks', linkTo: 'dag.tasks'}),
- Ember.Object.create({title: 'Counters', linkTo: 'dag.counters'}),
- Ember.Object.create({title: 'Swimlane', linkTo: 'dag.swimlane'})
- ],
-
-});
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/scripts/controllers/dag_index_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/app/scripts/controllers/dag_index_controller.js b/tez-ui/app/scripts/controllers/dag_index_controller.js
deleted file mode 100644
index 14a54ea..0000000
--- a/tez-ui/app/scripts/controllers/dag_index_controller.js
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- //TODO: watch individual counters.
-App.DagIndexController = Em.ObjectController.extend({
- controllerName: 'DagIndexController',
-
- taskIconStatus: function() {
- return App.Helpers.misc.getStatusClassForEntity(this.get('model'));
- }.property('id', 'status', 'counterGroups'),
-
- totalTasks: function() {
- return App.Helpers.misc.getCounterValueForDag(this.get('counterGroups'),
- this.get('id'), 'org.apache.tez.common.counters.DAGCounter', 'TOTAL_LAUNCHED_TASKS')
- }.property('id', 'counterGroups'),
-
- sucessfulTasks: function() {
- return App.Helpers.misc.getCounterValueForDag(this.get('counterGroups'), this.get('id'),
- 'org.apache.tez.common.counters.DAGCounter', 'NUM_SUCCEEDED_TASKS')
- }.property('id', 'counterGroups'),
-
- failedTasks: function() {
- return App.Helpers.misc.getCounterValueForDag(this.get('counterGroups'), this.get('id'),
- 'org.apache.tez.common.counters.DAGCounter', 'NUM_FAILED_TASKS')
- }.property('id', 'counterGroups'),
-
- killedTasks: function() {
- return App.Helpers.misc.getCounterValueForDag(this.get('counterGroups'), this.get('id'),
- 'org.apache.tez.common.counters.DAGCounter', 'NUM_KILLED_TASKS')
- }.property('id', 'counterGroups'),
-
- hasFailedTasks: function() {
- return this.get('failedTasks') > 0;
- }.property('id', 'counterGroups'),
-
- failedTasksLink: function() {
- return '/#tasks?status=FAILED&parentType=TEZ_DAG_ID&parentID=' + this.get('id');
- }.property(),
-
- actions: {
- showFailedTasks: function() {
- alert('not implemented');
- }
- },
-
-});
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/scripts/controllers/dag_swimlane_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/app/scripts/controllers/dag_swimlane_controller.js b/tez-ui/app/scripts/controllers/dag_swimlane_controller.js
deleted file mode 100644
index a49d54d..0000000
--- a/tez-ui/app/scripts/controllers/dag_swimlane_controller.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-App.DagSwimlaneController = Em.ArrayController.extend({
- needs: "dag",
- controllerName: "DagSwimlaneController",
- pageTitle: "Task Attempts",
- pageSubTitle: "All Task Attempts",
- dag_id: Em.computed.alias('controllers.dag.id'),
-
- getFilterParams: function(params) {
- var dag_id = this.get('dag_id');
- var filterParams = {};
- if (dag_id) {
- filterParams['primaryFilter'] = 'TEZ_DAG_ID:' + dag_id;
- }
-
- return filterParams;
- },
-});
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/scripts/controllers/dag_tasks.js
----------------------------------------------------------------------
diff --git a/tez-ui/app/scripts/controllers/dag_tasks.js b/tez-ui/app/scripts/controllers/dag_tasks.js
deleted file mode 100644
index 43e6809..0000000
--- a/tez-ui/app/scripts/controllers/dag_tasks.js
+++ /dev/null
@@ -1,123 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-App.DagTasksController = Em.ObjectController.extend(App.PaginatedContentMixin, {
- needs: "dag",
-
- // required by the PaginatedContentMixin
- childEntityType: 'task',
-
- queryParams: {
- status_filter: 'status',
- vertex_id_filter: 'vertex_id',
- },
- status_filter: null,
- vertex_id_filter: null,
-
- loadData: function() {
- var filters = {
- primary: {
- TEZ_DAG_ID: this.get('controllers.dag.id'),
- TEZ_VERTEX_ID: this.vertex_id_filter,
- },
- secondary: {
- status: this.status_filter
- }
- }
- this.setFiltersAndLoadEntities(filters);
- },
-
- actions : {
- filterUpdated: function(filterID, value) {
- // any validations required goes here.
- if (!!value) {
- this.set(filterID, value);
- } else {
- this.set(filterID, null);
- }
- this.loadData();
- }
- },
-
- columns: function() {
- var idCol = App.ExTable.ColumnDefinition.create({
- headerCellName: 'Task ID',
- tableCellViewClass: Em.Table.TableCell.extend({
- template: Em.Handlebars.compile(
- "{{#link-to 'task' view.cellContent class='ember-table-content'}}{{view.cellContent}}{{/link-to}}")
- }),
- contentPath: 'id',
- });
-
- var vertexCol = App.ExTable.ColumnDefinition.createWithMixins(App.ExTable.FilterColumnMixin,{
- headerCellName: 'Vertex ID',
- filterID: 'vertex_id_filter',
- contentPath: 'vertexID'
- });
-
- var startTimeCol = App.ExTable.ColumnDefinition.create({
- headerCellName: 'Start Time',
- getCellContent: function(row) {
- return App.Helpers.date.dateFormat(row.get('startTime'));
- }
- });
-
- var runTimeCol = App.ExTable.ColumnDefinition.create({
- headerCellName: 'Run Time',
- getCellContent: function(row) {
- var st = row.get('startTime');
- var et = row.get('endTime');
- if (st && et) {
- return App.Helpers.date.durationSummary(st, et);
- }
- }
- });
-
- var statusCol = App.ExTable.ColumnDefinition.createWithMixins(App.ExTable.FilterColumnMixin,{
- headerCellName: 'Status',
- filterID: 'status_filter',
- tableCellViewClass: Em.Table.TableCell.extend({
- template: Em.Handlebars.compile(
- '<span class="ember-table-content"> \
- <i {{bind-attr class=":task-status view.cellContent.statusIcon"}}></i>\
- {{view.cellContent.status}}</span>')
- }),
- getCellContent: function(row) {
- return {
- status: row.get('status'),
- statusIcon: App.Helpers.misc.getStatusClassForEntity(row)
- };
- }
- });
-
- var actionsCol = App.ExTable.ColumnDefinition.create({
- headerCellName: 'Actions',
- tableCellViewClass: Em.Table.TableCell.extend({
- template: Em.Handlebars.compile(
- '<span class="ember-table-content">\
- {{#link-to "task.counters" view.cellContent}}counters{{/link-to}} \
- {{#link-to "task.attempts" view.cellContent}}attempts{{/link-to}}\
- </span>'
- )
- }),
- contentPath: 'id'
- });
-
- return [idCol, vertexCol, startTimeCol, runTimeCol, statusCol, actionsCol];
- }.property(),
-});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/scripts/controllers/dag_vertices.js
----------------------------------------------------------------------
diff --git a/tez-ui/app/scripts/controllers/dag_vertices.js b/tez-ui/app/scripts/controllers/dag_vertices.js
deleted file mode 100644
index 5751de7..0000000
--- a/tez-ui/app/scripts/controllers/dag_vertices.js
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-App.DagVerticesController = Em.ObjectController.extend(App.PaginatedContentMixin, {
- needs: "dag",
-
- // required by the PaginatedContentMixin
- childEntityType: 'vertex',
-
- queryParams: {
- status_filter: 'status'
- },
-
- status_filter: null,
-
- loadData: function() {
- var filters = {
- primary: {
- TEZ_DAG_ID: this.get('controllers.dag.id')
- },
- secondary: {
- status: this.status_filter
- }
- }
- this.setFiltersAndLoadEntities(filters);
- },
-
- actions : {
- filterUpdated: function(filterID, value) {
- // any validations required goes here.
- if (!!value) {
- this.set(filterID, value);
- } else {
- this.set(filterID, null);
- }
- this.loadData();
- }
- },
-
- columns: function() {
- var idCol = App.ExTable.ColumnDefinition.create({
- headerCellName: 'Vertex Name',
- tableCellViewClass: Em.Table.TableCell.extend({
- template: Em.Handlebars.compile(
- "{{#link-to 'vertex' view.cellContent.id class='ember-table-content'}}{{view.cellContent.name}}{{/link-to}}")
- }),
- getCellContent: function(row) {
- return {
- id: row.get('id'),
- name: row.get('name')
- };
- }
- });
-
- var nameCol = App.ExTable.ColumnDefinition.create({
- headerCellName: 'Vertex ID',
- contentPath: 'id',
- });
-
- var startTimeCol = App.ExTable.ColumnDefinition.create({
- headerCellName: 'Submission Time',
- getCellContent: function(row) {
- return App.Helpers.date.dateFormat(row.get('startTime'));
- }
- });
-
- var runTimeCol = App.ExTable.ColumnDefinition.create({
- headerCellName: 'Run Time',
- getCellContent: function(row) {
- var st = row.get('startTime');
- var et = row.get('endTime');
- if (st && et) {
- return App.Helpers.date.durationSummary(st, et);
- }
- }
- });
-
- var numTasksCol = App.ExTable.ColumnDefinition.create({
- headerCellName: 'Tasks',
- contentPath: 'numTasks'
- });
-
- var statusCol = App.ExTable.ColumnDefinition.createWithMixins(App.ExTable.FilterColumnMixin,{
- headerCellName: 'Status',
- filterID: 'status_filter',
- tableCellViewClass: Em.Table.TableCell.extend({
- template: Em.Handlebars.compile(
- '<span class="ember-table-content"> \
- <i {{bind-attr class=":task-status view.cellContent.statusIcon"}}></i>\
- {{view.cellContent.status}}</span>')
- }),
- getCellContent: function(row) {
- return {
- status: row.get('status'),
- statusIcon: App.Helpers.misc.getStatusClassForEntity(row)
- };
- }
- });
-
- return [idCol, nameCol, startTimeCol, runTimeCol, numTasksCol, statusCol];
- }.property(),
-});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/scripts/controllers/dags_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/app/scripts/controllers/dags_controller.js b/tez-ui/app/scripts/controllers/dags_controller.js
deleted file mode 100644
index 896db7f..0000000
--- a/tez-ui/app/scripts/controllers/dags_controller.js
+++ /dev/null
@@ -1,152 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-App.DagsController = Em.ObjectController.extend(App.PaginatedContentMixin, {
- childEntityType: 'dag',
-
- controllerName: 'DagsController',
-
- pageTitle: 'Dags',
-
- pageSubTitle: 'All Dags',
-
- // query parameters supported through url. The same named variables in this controller get
- // bound automatically to the ones defined in the route.
- queryParams: {
- count: true,
- fromID: true,
- status_filter: 'status',
- user_filter: 'user'
- },
-
- // paging related values. These are bound automatically to the values in url. via the queryParams
- // defined in the route.
- count: 10,
-
- fromID: null,
-
- status_filter: null,
-
- user_filter: null,
-
- fields: 'events,primaryfilters,otherinfo',
-
- // The dropdown contents for number of items to show.
- countOptions: [5, 10, 25, 50, 100],
-
- loadData: function() {
- var filters = {
- primary: {
- user: this.user_filter
- },
- secondary: {
- status: this.status_filter
- }
- }
- this.setFiltersAndLoadEntities(filters);
- },
-
- countUpdated: function() {
- this.loadData();
- }.observes('count'),
-
- actions : {
- filterUpdated: function(filterID, value) {
- // any validations required goes here.
- if (!!value) {
- this.set(filterID, value);
- } else {
- this.set(filterID, null);
- }
- this.loadData();
- },
- },
-
- /* table view for dags */
- columns: function() {
- var store = this.get('store');
- var columnHelper = function(columnName, valName) {
- return App.ExTable.ColumnDefinition.create({
- textAlign: 'text-align-left',
- headerCellName: columnName,
- contentPath: valName
- });
- }
-
- var nameCol = App.ExTable.ColumnDefinition.create({
- textAlign: 'text-align-left',
- headerCellName: 'Dag Name',
- tableCellViewClass: Em.Table.TableCell.extend({
- template: Em.Handlebars.compile(
- "{{#link-to 'dag' view.cellContent.id class='ember-table-content'}}{{view.cellContent.name}}{{/link-to}}")
- }),
- getCellContent: function(row) {
- return {
- id: row.get('id'),
- name: row.get('name')
- };
- }
- });
- var idCol = columnHelper('Dag ID', 'id');
- var userCol = App.ExTable.ColumnDefinition.createWithMixins(App.ExTable.FilterColumnMixin, {
- textAlign: 'text-align-left',
- headerCellName: 'Submitter',
- filterID: 'user_filter',
- contentPath: 'user'
- });
- var statusCol = App.ExTable.ColumnDefinition.createWithMixins(App.ExTable.FilterColumnMixin,{
- textAlign: 'text-align-left',
- headerCellName: 'Status',
- filterID: 'status_filter',
- tableCellViewClass: Em.Table.TableCell.extend({
- template: Em.Handlebars.compile(
- '<span class="ember-table-content"> \
- <i {{bind-attr class=":task-status view.cellContent.statusIcon"}}></i>\
- {{view.cellContent.status}}</span>')
- }),
- getCellContent: function(row) {
- return {
- status: row.get('status'),
- statusIcon: App.Helpers.misc.getStatusClassForEntity(row)
- };
- }
- });
- var submittedTimeCol = App.ExTable.ColumnDefinition.create({
- textAlign: 'text-align-left',
- headerCellName: 'Submitted Time',
- getCellContent: function(row) {
- return App.Helpers.date.dateFormat(row.get('submittedTime'));
- }
- });
- var runTimeCol = App.ExTable.ColumnDefinition.create({
- textAlign: 'text-align-left',
- headerCellName: 'Run Time',
- getCellContent: function(row) {
- var st = row.get('startTime');
- var et = row.get('endTime');
- if (st && et) {
- return App.Helpers.date.durationSummary(st, et);
- }
- }
- });
- var appIdCol = columnHelper('Application ID', 'applicationId');
- return [nameCol, idCol, userCol, statusCol, submittedTimeCol, runTimeCol, appIdCol];
- }.property(),
-
-
-});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/scripts/controllers/task_attempt_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/app/scripts/controllers/task_attempt_controller.js b/tez-ui/app/scripts/controllers/task_attempt_controller.js
deleted file mode 100644
index 8fa290e..0000000
--- a/tez-ui/app/scripts/controllers/task_attempt_controller.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-App.TaskAttemptController = Em.ObjectController.extend(App.Helpers.DisplayHelper, {
- controllerName: 'TaskAttemptController',
-
- pageTitle: 'Task Attempt',
-
- loading: true,
-
- updateLoading: function() {
- this.set('loading', false);
- }.observes('content'),
-
- pageSubTitle: function() {
- return this.get('id');
- }.property('id'),
-
- childDisplayViews: [
- Ember.Object.create({title: 'Details', linkTo: 'taskAttempt.index'}),
- Ember.Object.create({title: 'Counters', linkTo: 'taskAttempt.counters'}),
- ],
-
-});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/scripts/controllers/task_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/app/scripts/controllers/task_controller.js b/tez-ui/app/scripts/controllers/task_controller.js
deleted file mode 100644
index f4e8358..0000000
--- a/tez-ui/app/scripts/controllers/task_controller.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-App.TaskController = Em.ObjectController.extend(App.Helpers.DisplayHelper, {
- controllerName: 'TaskController',
-
- pageTitle: 'Task',
-
- loading: true,
-
- updateLoading: function() {
- this.set('loading', false);
- }.observes('content'),
-
- pageSubTitle: function() {
- return this.get('id');
- }.property('id'),
-
- childDisplayViews: [
- Ember.Object.create({title: 'Details', linkTo: 'task.index'}),
- Ember.Object.create({title: 'Task Attempts', linkTo: 'task.attempts'}),
- Ember.Object.create({title: 'Counters', linkTo: 'task.counters'}),
- ],
-
-});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/scripts/controllers/task_index_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/app/scripts/controllers/task_index_controller.js b/tez-ui/app/scripts/controllers/task_index_controller.js
deleted file mode 100644
index fa36314..0000000
--- a/tez-ui/app/scripts/controllers/task_index_controller.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- //TODO: watch individual counters.
-App.TaskIndexController = Em.ObjectController.extend({
- controllerName: 'TaskIndexController',
-
- taskIconStatus: function() {
- return App.Helpers.misc.getStatusClassForEntity(this.get('model'));
- }.property('id', 'status', 'counterGroups'),
-
-});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/scripts/controllers/task_task_attempts_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/app/scripts/controllers/task_task_attempts_controller.js b/tez-ui/app/scripts/controllers/task_task_attempts_controller.js
deleted file mode 100644
index f795319..0000000
--- a/tez-ui/app/scripts/controllers/task_task_attempts_controller.js
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-App.TaskAttemptsController = Em.ObjectController.extend(App.PaginatedContentMixin, {
- // required by the PaginatedContentMixin
- childEntityType: 'task_attempt',
-
- needs: 'task',
-
- queryParams: {
- status_filter: 'status'
- },
- status_filter: null,
-
- loadData: function() {
- var filters = {
- primary: {
- TEZ_TASK_ID: this.get('controllers.task.id')
- },
- secondary: {
- status: this.status_filter
- }
- }
- this.setFiltersAndLoadEntities(filters);
- },
-
- actions : {
- filterUpdated: function(filterID, value) {
- // any validations required goes here.
- if (!!value) {
- this.set(filterID, value);
- } else {
- this.set(filterID, null);
- }
- this.loadData();
- }
- },
-
- columns: function() {
- var idCol = App.ExTable.ColumnDefinition.create({
- headerCellName: 'Task ID',
- tableCellViewClass: Em.Table.TableCell.extend({
- template: Em.Handlebars.compile(
- "{{#link-to 'taskAttempt' view.cellContent class='ember-table-content'}}{{view.cellContent}}{{/link-to}}")
- }),
- contentPath: 'id',
- });
-
- var startTimeCol = App.ExTable.ColumnDefinition.create({
- headerCellName: 'Start Time',
- getCellContent: function(row) {
- return App.Helpers.date.dateFormat(row.get('startTime'));
- }
- });
-
- var endTimeCol = App.ExTable.ColumnDefinition.create({
- headerCellName: 'End Time',
- getCellContent: function(row) {
- return App.Helpers.date.dateFormat(row.get('endTime'));
- }
- });
-
- var statusCol = App.ExTable.ColumnDefinition.createWithMixins(App.ExTable.FilterColumnMixin,{
- headerCellName: 'Status',
- filterID: 'status_filter',
- tableCellViewClass: Em.Table.TableCell.extend({
- template: Em.Handlebars.compile(
- '<span class="ember-table-content"> \
- <i {{bind-attr class=":task-status view.cellContent.statusIcon"}}></i>\
- {{view.cellContent.status}}</span>')
- }),
- getCellContent: function(row) {
- return {
- status: row.get('status'),
- statusIcon: App.Helpers.misc.getStatusClassForEntity(row)
- };
- }
- });
-
- var nodeIdCol = App.ExTable.ColumnDefinition.create({
- headerCellName: 'Node ID',
- contentPath: 'nodeId'
- });
-
- var containerCol = App.ExTable.ColumnDefinition.create({
- headerCellName: 'Container ID',
- contentPath: 'containerId'
- });
-
- return [idCol, startTimeCol, endTimeCol, statusCol, nodeIdCol, containerCol];
- }.property(),
-});
-
-
-App.TaskAttemptIndexController = Em.ObjectController.extend({
- controllerName: 'TaskAttemptIndexController',
-
- taskIconStatus: function() {
- return App.Helpers.misc.getStatusClassForEntity(this.get('model'));
- }.property('id', 'status', 'counterGroups'),
-
-});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/scripts/controllers/tasks_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/app/scripts/controllers/tasks_controller.js b/tez-ui/app/scripts/controllers/tasks_controller.js
deleted file mode 100644
index 3573759..0000000
--- a/tez-ui/app/scripts/controllers/tasks_controller.js
+++ /dev/null
@@ -1,112 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-App.TasksController = Em.ObjectController.extend(App.PaginatedContentMixin, {
- // Required by the PaginatedContentMixin
- childEntityType: 'task',
-
- controllerName: 'TasksController',
-
- pageTitle: 'Tasks',
-
- pageSubTitle: 'All Tasks',
-
- queryParams: {
- parentType: true,
- parentID: true,
- status_filter: 'status'
- },
-
- parentType: null,
- parentID: null,
- status_filter: null,
-
- loadData: function() {
- var filters = {
- primary: {},
- secondary: {
- status: this.status_filter
- }
- }
- filters.primary[this.parentType] = this.parentID;
- this.setFiltersAndLoadEntities(filters);
- },
-
- /* table view for tasks */
- columns: function() {
- var store = this.get('store');
- var columnHelper = function(columnName, valName) {
- return Em.Table.ColumnDefinition.create({
- textAlign: 'text-align-left',
- headerCellName: columnName,
- getCellContent: function(row) {
- return row.get(valName);
- }
- });
- }
-
- var idColumn = Em.Table.ColumnDefinition.create({
- textAlign: 'text-align-left',
- headerCellName: 'Task Id',
- tableCellViewClass: Em.Table.TableCell.extend({
- template: Em.Handlebars.compile(
- "{{#link-to 'task' view.cellContent class='ember-table-content'}}{{view.cellContent}}{{/link-to}}")
- }),
- getCellContent: function(row) {
- return row.get('id');
- }
- });
-
- var vertexColumn = columnHelper('Vertex ID', 'vertexID');
-
- var startTimeColumn = Em.Table.ColumnDefinition.create({
- textAlign: 'text-align-left',
- headerCellName: 'Submission Time',
- getCellContent: function(row) {
- return App.Helpers.date.dateFormat(row.get('startTime'));
- }
- });
-
- var endTimeColumn = Em.Table.ColumnDefinition.create({
- textAlign: 'text-align-left',
- headerCellName: 'End Time',
- getCellContent: function(row) {
- return App.Helpers.date.dateFormat(row.get('endTime'));
- }
- });
-
- var statusColumn = Em.Table.ColumnDefinition.create({
- textAlign: 'text-align-left',
- headerCellName: 'Status',
- tableCellViewClass: Em.Table.TableCell.extend({
- template: Em.Handlebars.compile(
- '<span class="ember-table-content"> \
- <i {{bind-attr class=":task-status view.cellContent.statusIcon"}}></i>\
- {{view.cellContent.status}}</span>')
- }),
- getCellContent: function(row) {
- return {
- status: row.get('status'),
- statusIcon: App.Helpers.misc.getStatusClassForEntity(row)
- };
- }
- });
-
- return [idColumn, vertexColumn, startTimeColumn, endTimeColumn, statusColumn];
- }.property(),
-});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/scripts/controllers/vertex_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/app/scripts/controllers/vertex_controller.js b/tez-ui/app/scripts/controllers/vertex_controller.js
deleted file mode 100644
index 905d8d3..0000000
--- a/tez-ui/app/scripts/controllers/vertex_controller.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-App.VertexController = Em.ObjectController.extend(App.Helpers.DisplayHelper, {
- controllerName: 'VertexController',
-
- pageTitle: 'Vertex',
-
- loading: true,
-
- updateLoading: function() {
- this.set('loading', false);
- }.observes('content'),
-
- pageSubTitle: function() {
- return this.get('name');
- }.property('name'),
-
- childDisplayViews: [
- Ember.Object.create({title: 'Details', linkTo: 'vertex.index'}),
- Ember.Object.create({title: 'Tasks', linkTo: 'vertex.tasks'}),
- Ember.Object.create({title: 'Counters', linkTo: 'vertex.counters'}),
- Ember.Object.create({title: 'Swimlane', linkTo: 'vertex.swimlane'}),
- ],
-});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tez/blob/e18a1fa7/tez-ui/app/scripts/controllers/vertex_index_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/app/scripts/controllers/vertex_index_controller.js b/tez-ui/app/scripts/controllers/vertex_index_controller.js
deleted file mode 100644
index a4252d1..0000000
--- a/tez-ui/app/scripts/controllers/vertex_index_controller.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-App.VertexIndexController = Em.ObjectController.extend({
- controllerName: 'VertexIndexController',
-
- //TODO: TEZ-1705 : Create a parent class and move this function there to avoid duplication.
- iconStatus: function() {
- return App.Helpers.misc.getStatusClassForEntity(this.get('model'));
- }.property('id', 'status', 'counterGroups'),
-
- hasFailedTasks: function() {
- return this.get('failedTasks') > 0;
- }.property('id', 'counterGroups'),
-
- failedTasksLink: function() {
- return '/#tasks?status=FAILED&parentType=TEZ_VERTEX_ID&parentID=' + this.get('id');
- }.property(),
-});
\ No newline at end of file