You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tez.apache.org by sr...@apache.org on 2016/02/24 23:35:01 UTC
[24/45] tez git commit: TEZ-3049. Tez UI 2: Add column selector (sree)
TEZ-3049. Tez UI 2: Add column selector (sree)
Project: http://git-wip-us.apache.org/repos/asf/tez/repo
Commit: http://git-wip-us.apache.org/repos/asf/tez/commit/0798c907
Tree: http://git-wip-us.apache.org/repos/asf/tez/tree/0798c907
Diff: http://git-wip-us.apache.org/repos/asf/tez/diff/0798c907
Branch: refs/heads/TEZ-2980
Commit: 0798c907f3179791d28ae4006c926d5c5299449a
Parents: 90ac7cc
Author: Sreenath Somarajapuram <sr...@apache.org>
Authored: Wed Jan 20 03:55:24 2016 +0530
Committer: Sreenath Somarajapuram <sr...@apache.org>
Committed: Thu Feb 25 03:32:16 2016 +0530
----------------------------------------------------------------------
TEZ-2980-CHANGES.txt | 1 +
.../webapp/app/components/column-selector.js | 105 +++++++++++++++++++
.../webapp/app/components/table-controls.js | 29 +++++
.../main/webapp/app/controllers/table-page.js | 60 +++++++++++
.../src/main/webapp/app/routes/application.js | 26 +++++
tez-ui2/src/main/webapp/app/styles/app.less | 2 +
.../main/webapp/app/styles/column-selector.less | 65 ++++++++++++
tez-ui2/src/main/webapp/app/styles/shared.less | 4 +-
.../main/webapp/app/styles/table-controls.less | 28 +++++
.../src/main/webapp/app/templates/app/dags.hbs | 16 +--
.../main/webapp/app/templates/application.hbs | 2 +
.../templates/components/column-selector.hbs | 48 +++++++++
.../app/templates/components/table-controls.hbs | 19 ++++
.../main/webapp/app/templates/dag/attempts.hbs | 4 +-
.../src/main/webapp/app/templates/dag/tasks.hbs | 4 +-
.../main/webapp/app/templates/dag/vertices.hbs | 4 +-
tez-ui2/src/main/webapp/app/templates/dags.hbs | 4 +-
.../main/webapp/app/templates/simple-modal.hbs | 33 ++++++
.../main/webapp/app/templates/task/attempts.hbs | 16 +--
.../webapp/app/templates/vertex/attempts.hbs | 16 +--
.../main/webapp/app/templates/vertex/tasks.hbs | 16 +--
tez-ui2/src/main/webapp/app/utils/misc.js | 22 ++++
tez-ui2/src/main/webapp/ember-cli-build.js | 1 +
.../components/column-selector-test.js | 87 +++++++++++++++
.../components/table-controls-test.js | 43 ++++++++
.../tests/unit/controllers/abstract-test.js | 3 +-
.../webapp/tests/unit/controllers/app-test.js | 3 +-
.../tests/unit/controllers/app/configs-test.js | 3 +-
.../tests/unit/controllers/app/dags-test.js | 3 +-
.../tests/unit/controllers/app/index-test.js | 3 +-
.../tests/unit/controllers/attempt-test.js | 3 +-
.../unit/controllers/attempt/counters-test.js | 3 +-
.../unit/controllers/attempt/index-test.js | 3 +-
.../unit/controllers/counters-page-test.js | 4 +-
.../webapp/tests/unit/controllers/dag-test.js | 3 +-
.../tests/unit/controllers/dag/attempts-test.js | 3 +-
.../tests/unit/controllers/dag/counters-test.js | 3 +-
.../tests/unit/controllers/dag/index-test.js | 3 +-
.../tests/unit/controllers/dag/tasks-test.js | 3 +-
.../tests/unit/controllers/dag/vertices-test.js | 3 +-
.../webapp/tests/unit/controllers/dags-test.js | 3 +
.../webapp/tests/unit/controllers/page-test.js | 6 +-
.../tests/unit/controllers/table-page-test.js | 3 +-
.../webapp/tests/unit/controllers/task-test.js | 3 +-
.../unit/controllers/task/attempts-test.js | 3 +-
.../unit/controllers/task/counters-test.js | 3 +-
.../tests/unit/controllers/task/index-test.js | 3 +-
.../tests/unit/controllers/vertex-test.js | 3 +-
.../unit/controllers/vertex/attempts-test.js | 3 +-
.../unit/controllers/vertex/counters-test.js | 3 +-
.../tests/unit/controllers/vertex/index-test.js | 3 +-
.../tests/unit/controllers/vertex/tasks-test.js | 5 +-
.../main/webapp/tests/unit/utils/misc-test.js | 26 +++++
53 files changed, 706 insertions(+), 62 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/TEZ-2980-CHANGES.txt
----------------------------------------------------------------------
diff --git a/TEZ-2980-CHANGES.txt b/TEZ-2980-CHANGES.txt
index c1fd7ae..f92341a 100644
--- a/TEZ-2980-CHANGES.txt
+++ b/TEZ-2980-CHANGES.txt
@@ -21,3 +21,4 @@ ALL CHANGES:
TEZ-3048. Tez UI 2: Make PhantomJS a local dependency for build tests
TEZ-3042. Tez UI 2: Create Counters pages
TEZ-3043. Tez UI 2: Create configurations page
+ TEZ-3049. Tez UI 2: Add column selector
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/components/column-selector.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/components/column-selector.js b/tez-ui2/src/main/webapp/app/components/column-selector.js
new file mode 100644
index 0000000..9c9d4d2
--- /dev/null
+++ b/tez-ui2/src/main/webapp/app/components/column-selector.js
@@ -0,0 +1,105 @@
+/**
+ * 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.
+ */
+
+import Ember from 'ember';
+
+import isIOCounter from '../utils/misc';
+
+export default Ember.Component.extend({
+
+ classNames: ['column-selector'],
+
+ searchText: "",
+ selectAll: false,
+
+ content: null,
+
+ options: Ember.computed("content.columns", "content.visibleColumnIDs", function () {
+ var group,
+ highlight = false,
+ visibleColumnIDs = this.get('content.visibleColumnIDs') || {};
+
+ return this.get('content.columns').map(function (config) {
+ var css = '';
+
+ highlight = highlight ^ (config.get("counterGroupName") !== group);
+ group = config.counterGroupName;
+
+ if(highlight) {
+ css += ' highlight';
+ }
+ if(group && isIOCounter(group)) {
+ css += ' per-io';
+ }
+
+ return Ember.Object.create({
+ id: config.get("id"),
+ displayText: config.get("headerTitle"),
+ css: css,
+ selected: visibleColumnIDs[config.id]
+ });
+ });
+ }),
+
+ filteredOptions: Ember.computed("options", "searchText", function () {
+ var options = this.get('options'),
+ searchText = this.get('searchText');
+
+ if (!searchText) {
+ return options;
+ }
+
+ return options.filter(function (option) {
+ return option.get('displayText').match(searchText);
+ });
+ }),
+
+ selectedColumnIDs: Ember.computed("options", function () {
+ var columnIds = {};
+
+ this.get('options').forEach(function (option) {
+ columnIds[option.get("id")] = option.get('selected');
+ });
+
+ return columnIds;
+ }),
+
+ _selectObserver: Ember.observer('filteredOptions.@each.selected', function () {
+ var selectedCount = 0;
+ this.get('filteredOptions').forEach(function (option) {
+ if(Ember.get(option, 'selected')) {
+ selectedCount++;
+ }
+ });
+ this.set('selectAll', selectedCount > 0 && selectedCount === this.get('filteredOptions.length'));
+ }),
+
+ actions: {
+ selectAll: function (checked) {
+ this.get('filteredOptions').forEach(function (option) {
+ Ember.set(option, 'selected', checked);
+ });
+ },
+ closeModal: function () {
+ this.get("targetObject").send("closeModal");
+ },
+ ok: function () {
+ this.get("targetObject").send("columnsSelected", this.get("selectedColumnIDs"));
+ }
+ }
+});
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/components/table-controls.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/components/table-controls.js b/tez-ui2/src/main/webapp/app/components/table-controls.js
new file mode 100644
index 0000000..9923711
--- /dev/null
+++ b/tez-ui2/src/main/webapp/app/components/table-controls.js
@@ -0,0 +1,29 @@
+/**
+ * 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.
+ */
+
+import Ember from 'ember';
+
+export default Ember.Component.extend({
+ classNames: ['table-controls'],
+
+ actions: {
+ cogClicked: function () {
+ this.get('targetObject.targetObject').send('openColumnSelector');
+ }
+ }
+});
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/controllers/table-page.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/controllers/table-page.js b/tez-ui2/src/main/webapp/app/controllers/table-page.js
index 1f2fe57..09ae8ab 100644
--- a/tez-ui2/src/main/webapp/app/controllers/table-page.js
+++ b/tez-ui2/src/main/webapp/app/controllers/table-page.js
@@ -1,3 +1,4 @@
+/*global more*/
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -20,6 +21,9 @@ import Ember from 'ember';
import PageController from './page';
import TableDefinition from 'em-table/utils/table-definition';
+import isIOCounter from '../utils/misc';
+
+var MoreObject = more.Object;
export default PageController.extend({
queryParams: ["rowCount", "searchText", "sortColumnId", "sortOrder", "pageNo"],
@@ -29,6 +33,12 @@ export default PageController.extend({
sortOrder: "",
pageNo: 1,
+ headerComponentNames: ['em-table-search-ui', 'table-controls', 'em-table-pagination-ui'],
+
+ visibleColumnIDs: {},
+ columnSelectorTitle: 'Column Selector',
+ columnSelectorMessage: "",
+
definition: Ember.computed(function () {
return TableDefinition.create({
rowCount: this.get("rowCount"),
@@ -39,6 +49,29 @@ export default PageController.extend({
});
}),
+ storageID: Ember.computed("name", function () {
+ return this.get("name") + ":visibleColumnIDs";
+ }),
+
+ initVisibleColumns: Ember.on("init", Ember.observer("columns", function () { //To reset on entity change
+ var visibleColumnIDs = this.get("localStorage").get(this.get("storageID")) || {};
+
+ this.get('columns').forEach(function (config) {
+ if(visibleColumnIDs[config.id] !== false) {
+ visibleColumnIDs[config.id] = true;
+ }
+ });
+
+ this.set('visibleColumnIDs', visibleColumnIDs);
+ })),
+
+ visibleColumns: Ember.computed('visibleColumnIDs', 'columns', function() {
+ var visibleColumnIDs = this.visibleColumnIDs;
+ return this.get('columns').filter(function (column) {
+ return visibleColumnIDs[column.get("id")];
+ });
+ }),
+
actions: {
searchChanged: function (searchText) {
this.set("searchText", searchText);
@@ -56,5 +89,32 @@ export default PageController.extend({
pageChanged: function (pageNum) {
this.set("pageNo", pageNum);
},
+
+ // Column selection actions
+ openColumnSelector: function () {
+ this.send("openModal", "column-selector", {
+ title: this.get('columnSelectorTitle'),
+ targetObject: this,
+ content: {
+ message: this.get('columnSelectorMessage'),
+ columns: this.get('columns'),
+ visibleColumnIDs: this.get('visibleColumnIDs')
+ }
+ });
+ },
+ columnsSelected: function (visibleColumnIDs) {
+ var columnIDs = {};
+
+ MoreObject.forEach(visibleColumnIDs, function (key, value) {
+ if(!isIOCounter(key)) {
+ columnIDs[key] = value;
+ }
+ });
+
+ if(!MoreObject.equals(columnIDs, this.get("visibleColumnIDs"))) {
+ this.get("localStorage").set(this.get("storageID"), columnIDs);
+ this.set('visibleColumnIDs', columnIDs);
+ }
+ }
}
});
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/routes/application.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/routes/application.js b/tez-ui2/src/main/webapp/app/routes/application.js
index 8da6a31..998cce4 100644
--- a/tez-ui2/src/main/webapp/app/routes/application.js
+++ b/tez-ui2/src/main/webapp/app/routes/application.js
@@ -35,6 +35,32 @@ export default Ember.Route.extend({
},
bubbleBreadcrumbs: function (breadcrumbs) {
this.set("controller.breadcrumbs", breadcrumbs);
+ },
+
+ // Modal window actions
+ openModal: function (componentName, options) {
+ options = options || {};
+ this.render(options.modalName || "simple-modal", {
+ into: 'application',
+ outlet: 'modal',
+ model: {
+ title: options.title,
+ componentName: componentName,
+ content: options.content,
+ targetObject: options.targetObject
+ }
+ });
+ Ember.run.later(function () {
+ Ember.$(".simple-modal").modal();
+ });
+ },
+ destroyModal: function () {
+ Ember.run.later(this, function () {
+ this.disconnectOutlet({
+ outlet: 'modal',
+ parentView: 'application'
+ });
+ });
}
}
});
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/styles/app.less
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/styles/app.less b/tez-ui2/src/main/webapp/app/styles/app.less
index bdf9480..d697ba7 100644
--- a/tez-ui2/src/main/webapp/app/styles/app.less
+++ b/tez-ui2/src/main/webapp/app/styles/app.less
@@ -25,3 +25,5 @@
@import "page-layout";
@import "details-page";
+@import "table-controls";
+@import "column-selector";
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/styles/column-selector.less
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/styles/column-selector.less b/tez-ui2/src/main/webapp/app/styles/column-selector.less
new file mode 100644
index 0000000..2e39995
--- /dev/null
+++ b/tez-ui2/src/main/webapp/app/styles/column-selector.less
@@ -0,0 +1,65 @@
+/**
+ * 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.
+ */
+
+.column-selector {
+ .message {
+ text-align: right;
+ font-size: 10px;
+ }
+
+ .selection-list {
+ border-bottom: 1px solid @border-color;
+
+ .highlight {
+ background-color: @bg-lite;
+ }
+ .select-option, .search-option {
+ border-top: 1px dotted @border-color;
+ padding: 5px 15px;
+
+ .checkbox {
+ display: inline-block;
+
+ margin-right: 10px;
+ float: left;
+ vertical-align: middle;
+ }
+ }
+ .search-option {
+ border: none;
+
+ .form-group {
+ display: inline-block;
+
+ width: 100%;
+ margin: 0px;
+ }
+
+ .select-all {
+ display: inline-block;
+
+ height: 15px;
+ margin-top: 3px;
+ }
+ }
+ }
+}
+.form-actions {
+ padding: 10px;
+ text-align: right;
+}
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/styles/shared.less
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/styles/shared.less b/tez-ui2/src/main/webapp/app/styles/shared.less
index db79db4..0dc70f7 100644
--- a/tez-ui2/src/main/webapp/app/styles/shared.less
+++ b/tez-ui2/src/main/webapp/app/styles/shared.less
@@ -27,8 +27,8 @@ b {
.left-delim {
border-left: 1px solid @border-color;
- margin-left: 5px;
- padding-left: 5px;
+ margin-left: 10px;
+ padding-left: 10px;
}
.align-checknradio {
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/styles/table-controls.less
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/styles/table-controls.less b/tez-ui2/src/main/webapp/app/styles/table-controls.less
new file mode 100644
index 0000000..aa9f9e6
--- /dev/null
+++ b/tez-ui2/src/main/webapp/app/styles/table-controls.less
@@ -0,0 +1,28 @@
+/**
+ * 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.
+ */
+
+@import "shared";
+
+.table-controls {
+ .left-delim;
+
+ cursor: pointer;
+
+ float: right;
+ font-size: 24px;
+}
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/templates/app/dags.hbs
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/templates/app/dags.hbs b/tez-ui2/src/main/webapp/app/templates/app/dags.hbs
index cdb28aa..6d8d4c3 100644
--- a/tez-ui2/src/main/webapp/app/templates/app/dags.hbs
+++ b/tez-ui2/src/main/webapp/app/templates/app/dags.hbs
@@ -18,15 +18,17 @@
{{#if loaded}}
{{em-table
- columns=columns
- rows=model
+ columns=visibleColumns
+ rows=model
- definition=definition
+ headerComponentNames=headerComponentNames
- searchAction="searchChanged"
- sortAction="sortChanged"
- rowAction="rowsChanged"
- pageAction="pageChanged"
+ definition=definition
+
+ searchAction="searchChanged"
+ sortAction="sortChanged"
+ rowAction="rowsChanged"
+ pageAction="pageChanged"
}}
{{else}}
{{partial "partials/loading-anim"}}
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/templates/application.hbs
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/templates/application.hbs b/tez-ui2/src/main/webapp/app/templates/application.hbs
index 5d1df11..16a0329 100644
--- a/tez-ui2/src/main/webapp/app/templates/application.hbs
+++ b/tez-ui2/src/main/webapp/app/templates/application.hbs
@@ -62,3 +62,5 @@
</div>
</div>
</div>
+
+{{outlet "modal"}}
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/templates/components/column-selector.hbs
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/templates/components/column-selector.hbs b/tez-ui2/src/main/webapp/app/templates/components/column-selector.hbs
new file mode 100644
index 0000000..d9be633
--- /dev/null
+++ b/tez-ui2/src/main/webapp/app/templates/components/column-selector.hbs
@@ -0,0 +1,48 @@
+{{!
+ * 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.
+}}
+
+<div class="message">
+ {{{content.message}}}
+</div>
+<div class="selection-list">
+ <div class="search-option highlight">
+ <div class="form-group">
+ {{input class="form-control" placeholder="Filter..." value=searchText}}
+ </div>
+ <div class="select-all">
+ <input type="checkbox"
+ checked={{selectAll}}
+ onclick={{action "selectAll" value="target.checked"}} />
+ Select All
+ </div>
+ </div>
+ {{#if filteredOptions.length}}
+ {{#each filteredOptions as |option|}}
+ <div class="select-option {{option.css}}">
+ {{input type="checkbox" classNames='checkbox' checked=option.selected}}
+ {{option.displayText}}
+ </div>
+ {{/each}}
+ {{else}}
+ <h4> No options available...</h4>
+ {{/if}}
+</div>
+<div class="form-actions">
+ <button type="button" class="btn btn-primary" {{action "ok"}} data-dismiss="modal" aria-label="Close">Ok</button>
+ <button type="button" class="btn" data-dismiss="modal" aria-label="Close">Cancel</button>
+</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/templates/components/table-controls.hbs
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/templates/components/table-controls.hbs b/tez-ui2/src/main/webapp/app/templates/components/table-controls.hbs
new file mode 100644
index 0000000..b70d19d
--- /dev/null
+++ b/tez-ui2/src/main/webapp/app/templates/components/table-controls.hbs
@@ -0,0 +1,19 @@
+{{!
+ * 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.
+}}
+
+<i class='fa fa-cog' {{action 'cogClicked'}}></i>
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/templates/dag/attempts.hbs
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/templates/dag/attempts.hbs b/tez-ui2/src/main/webapp/app/templates/dag/attempts.hbs
index 932db09..6d8d4c3 100644
--- a/tez-ui2/src/main/webapp/app/templates/dag/attempts.hbs
+++ b/tez-ui2/src/main/webapp/app/templates/dag/attempts.hbs
@@ -18,9 +18,11 @@
{{#if loaded}}
{{em-table
- columns=columns
+ columns=visibleColumns
rows=model
+ headerComponentNames=headerComponentNames
+
definition=definition
searchAction="searchChanged"
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/templates/dag/tasks.hbs
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/templates/dag/tasks.hbs b/tez-ui2/src/main/webapp/app/templates/dag/tasks.hbs
index 932db09..6d8d4c3 100644
--- a/tez-ui2/src/main/webapp/app/templates/dag/tasks.hbs
+++ b/tez-ui2/src/main/webapp/app/templates/dag/tasks.hbs
@@ -18,9 +18,11 @@
{{#if loaded}}
{{em-table
- columns=columns
+ columns=visibleColumns
rows=model
+ headerComponentNames=headerComponentNames
+
definition=definition
searchAction="searchChanged"
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/templates/dag/vertices.hbs
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/templates/dag/vertices.hbs b/tez-ui2/src/main/webapp/app/templates/dag/vertices.hbs
index 932db09..6d8d4c3 100644
--- a/tez-ui2/src/main/webapp/app/templates/dag/vertices.hbs
+++ b/tez-ui2/src/main/webapp/app/templates/dag/vertices.hbs
@@ -18,9 +18,11 @@
{{#if loaded}}
{{em-table
- columns=columns
+ columns=visibleColumns
rows=model
+ headerComponentNames=headerComponentNames
+
definition=definition
searchAction="searchChanged"
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/templates/dags.hbs
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/templates/dags.hbs b/tez-ui2/src/main/webapp/app/templates/dags.hbs
index ddbc72a..1fd0eef 100644
--- a/tez-ui2/src/main/webapp/app/templates/dags.hbs
+++ b/tez-ui2/src/main/webapp/app/templates/dags.hbs
@@ -18,10 +18,12 @@
{{#if loaded}}
{{em-table
- columns=columns
+ columns=visibleColumns
rows=model
rowCount=rowCount
+ headerComponentNames=headerComponentNames
+
enableSearch=false
enableSort=false
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/templates/simple-modal.hbs
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/templates/simple-modal.hbs b/tez-ui2/src/main/webapp/app/templates/simple-modal.hbs
new file mode 100644
index 0000000..59b3aaa
--- /dev/null
+++ b/tez-ui2/src/main/webapp/app/templates/simple-modal.hbs
@@ -0,0 +1,33 @@
+{{!
+ * 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.
+}}
+
+<div class="modal fade simple-modal" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+ <span aria-hidden="true">×</span>
+ </button>
+ <h4 class="modal-title">{{model.title}}</h4>
+ </div>
+ {{#if model.componentName}}
+ {{component model.componentName content=model.content targetObject=model.targetObject}}
+ {{/if}}
+ </div>
+ </div>
+</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/templates/task/attempts.hbs
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/templates/task/attempts.hbs b/tez-ui2/src/main/webapp/app/templates/task/attempts.hbs
index cdb28aa..6d8d4c3 100644
--- a/tez-ui2/src/main/webapp/app/templates/task/attempts.hbs
+++ b/tez-ui2/src/main/webapp/app/templates/task/attempts.hbs
@@ -18,15 +18,17 @@
{{#if loaded}}
{{em-table
- columns=columns
- rows=model
+ columns=visibleColumns
+ rows=model
- definition=definition
+ headerComponentNames=headerComponentNames
- searchAction="searchChanged"
- sortAction="sortChanged"
- rowAction="rowsChanged"
- pageAction="pageChanged"
+ definition=definition
+
+ searchAction="searchChanged"
+ sortAction="sortChanged"
+ rowAction="rowsChanged"
+ pageAction="pageChanged"
}}
{{else}}
{{partial "partials/loading-anim"}}
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/templates/vertex/attempts.hbs
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/templates/vertex/attempts.hbs b/tez-ui2/src/main/webapp/app/templates/vertex/attempts.hbs
index cdb28aa..6d8d4c3 100644
--- a/tez-ui2/src/main/webapp/app/templates/vertex/attempts.hbs
+++ b/tez-ui2/src/main/webapp/app/templates/vertex/attempts.hbs
@@ -18,15 +18,17 @@
{{#if loaded}}
{{em-table
- columns=columns
- rows=model
+ columns=visibleColumns
+ rows=model
- definition=definition
+ headerComponentNames=headerComponentNames
- searchAction="searchChanged"
- sortAction="sortChanged"
- rowAction="rowsChanged"
- pageAction="pageChanged"
+ definition=definition
+
+ searchAction="searchChanged"
+ sortAction="sortChanged"
+ rowAction="rowsChanged"
+ pageAction="pageChanged"
}}
{{else}}
{{partial "partials/loading-anim"}}
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/templates/vertex/tasks.hbs
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/templates/vertex/tasks.hbs b/tez-ui2/src/main/webapp/app/templates/vertex/tasks.hbs
index cdb28aa..6d8d4c3 100644
--- a/tez-ui2/src/main/webapp/app/templates/vertex/tasks.hbs
+++ b/tez-ui2/src/main/webapp/app/templates/vertex/tasks.hbs
@@ -18,15 +18,17 @@
{{#if loaded}}
{{em-table
- columns=columns
- rows=model
+ columns=visibleColumns
+ rows=model
- definition=definition
+ headerComponentNames=headerComponentNames
- searchAction="searchChanged"
- sortAction="sortChanged"
- rowAction="rowsChanged"
- pageAction="pageChanged"
+ definition=definition
+
+ searchAction="searchChanged"
+ sortAction="sortChanged"
+ rowAction="rowsChanged"
+ pageAction="pageChanged"
}}
{{else}}
{{partial "partials/loading-anim"}}
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/app/utils/misc.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/app/utils/misc.js b/tez-ui2/src/main/webapp/app/utils/misc.js
new file mode 100644
index 0000000..5e2ecf1
--- /dev/null
+++ b/tez-ui2/src/main/webapp/app/utils/misc.js
@@ -0,0 +1,22 @@
+/**
+ * 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.
+ */
+
+export default function isIOCounter(name) {
+ name = name.split('/')[0];
+ return name.match('_INPUT_') || name.match('_OUTPUT_');
+}
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/ember-cli-build.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/ember-cli-build.js b/tez-ui2/src/main/webapp/ember-cli-build.js
index ac5eea9..dee919b 100644
--- a/tez-ui2/src/main/webapp/ember-cli-build.js
+++ b/tez-ui2/src/main/webapp/ember-cli-build.js
@@ -33,6 +33,7 @@ module.exports = function(defaults) {
destDir: '/config'
});
+ app.import('bower_components/bootstrap/dist/js/bootstrap.js');
app.import('bower_components/jquery-ui/jquery-ui.js');
app.import('bower_components/jquery-ui/ui/tooltip.js');
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/integration/components/column-selector-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/integration/components/column-selector-test.js b/tez-ui2/src/main/webapp/tests/integration/components/column-selector-test.js
new file mode 100644
index 0000000..0034059
--- /dev/null
+++ b/tez-ui2/src/main/webapp/tests/integration/components/column-selector-test.js
@@ -0,0 +1,87 @@
+/**
+ * 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.
+ */
+
+import Ember from 'ember';
+
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('column-selector', 'Integration | Component | column selector', {
+ integration: true
+});
+
+test('Basic creation test', function(assert) {
+
+ this.set("content", {
+ columns: [Ember.Object.create({
+ headerTitle: "Test Column"
+ })]
+ });
+ this.render(hbs`{{column-selector content=content}}`);
+
+ assert.equal(this.$(".select-option ").text().trim(), 'Test Column');
+
+ // Template block usage:" + EOL +
+ this.render(hbs`
+ {{#column-selector content=content}}
+ template block text
+ {{/column-selector}}
+ `);
+
+ assert.equal(this.$(".select-option ").text().trim(), 'Test Column');
+});
+
+test('visibleColumnIDs test', function(assert) {
+
+ this.setProperties({
+ content: {
+ visibleColumnIDs: {
+ testID: true,
+ },
+ columns: [Ember.Object.create({
+ id: "testID",
+ headerTitle: "Test Column"
+ })]
+ }
+ });
+
+ this.render(hbs`{{column-selector content=content}}`);
+
+ assert.equal(this.$(".select-option").text().trim(), 'Test Column');
+ assert.equal(this.$(".select-option input")[0].checked, true);
+});
+
+test('searchText test', function(assert) {
+
+ this.setProperties({
+ searchText: "nothing",
+ content: {
+ visibleColumnIDs: {
+ testID: true,
+ },
+ columns: [Ember.Object.create({
+ id: "testID",
+ headerTitle: "Test Column"
+ })]
+ }
+ });
+
+ this.render(hbs`{{column-selector content=content searchText=searchText}}`);
+
+ assert.equal(this.$(".select-option").text().trim(), '');
+});
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/integration/components/table-controls-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/integration/components/table-controls-test.js b/tez-ui2/src/main/webapp/tests/integration/components/table-controls-test.js
new file mode 100644
index 0000000..79170ee
--- /dev/null
+++ b/tez-ui2/src/main/webapp/tests/integration/components/table-controls-test.js
@@ -0,0 +1,43 @@
+/**
+ * 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.
+ */
+
+import { moduleForComponent, test } from 'ember-qunit';
+import hbs from 'htmlbars-inline-precompile';
+
+moduleForComponent('table-controls', 'Integration | Component | table controls', {
+ integration: true
+});
+
+test('Basic creation test', function(assert) {
+
+ // Set any properties with this.set('myProperty', 'value');
+ // Handle any actions with this.on('myAction', function(val) { ... });" + EOL + EOL +
+
+ this.render(hbs`{{table-controls}}`);
+
+ assert.equal(this.$().text().trim(), '');
+
+ // Template block usage:" + EOL +
+ this.render(hbs`
+ {{#table-controls}}
+ template block text
+ {{/table-controls}}
+ `);
+
+ assert.equal(this.$().text().trim(), '');
+});
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/abstract-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/abstract-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/abstract-test.js
index 640e1e5..9cde1e7 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/abstract-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/abstract-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:abstract', 'Unit | Controller | abstract', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller.name);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/app-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/app-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/app-test.js
index 304321e..2fc7276 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/app-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/app-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:dag', 'Unit | Controller | dag', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/app/configs-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/app/configs-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/app/configs-test.js
index c04e5c2..4661e8c 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/app/configs-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/app/configs-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:app/configs', 'Unit | Controller | app/configs', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/app/dags-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/app/dags-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/app/dags-test.js
index c3e5c2b..c60fbb5 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/app/dags-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/app/dags-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:app/dags', 'Unit | Controller | app/dags', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/app/index-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/app/index-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/app/index-test.js
index 641a415..9bd6604 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/app/index-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/app/index-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:app/index', 'Unit | Controller | app/index', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/attempt-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/attempt-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/attempt-test.js
index 9408204..da451f7 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/attempt-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/attempt-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:attempt', 'Unit | Controller | attempt', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/attempt/counters-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/attempt/counters-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/attempt/counters-test.js
index 9b94804..8226f36 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/attempt/counters-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/attempt/counters-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:attempt/counters', 'Unit | Controller | attempt/counters',
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/attempt/index-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/attempt/index-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/attempt/index-test.js
index 00e2c9e..3733692 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/attempt/index-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/attempt/index-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:attempt/index', 'Unit | Controller | attempt/index', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/counters-page-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/counters-page-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/counters-page-test.js
index 44a888e..6faad2d 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/counters-page-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/counters-page-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:counters-page', 'Unit | Controller | counters page', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
@@ -38,6 +39,7 @@ test('Basic creation test', function(assert) {
test('counters test', function(assert) {
let controller = this.subject({
send: Ember.K,
+ initVisibleColumns: Ember.K,
model: {
counterGroups: [{
counterGroupName: "a.b.foo",
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/dag-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/dag-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/dag-test.js
index 304321e..2fc7276 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/dag-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/dag-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:dag', 'Unit | Controller | dag', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/dag/attempts-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/dag/attempts-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/dag/attempts-test.js
index 11bb0fa..3fa8ff7 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/dag/attempts-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/dag/attempts-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:dag/attempts', 'Unit | Controller | dag/attempts', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/dag/counters-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/dag/counters-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/dag/counters-test.js
index a90df3c..7e72b95 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/dag/counters-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/dag/counters-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:dag/counters', 'Unit | Controller | dag/counters', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/dag/index-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/dag/index-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/dag/index-test.js
index 0b64e86..176b9e7 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/dag/index-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/dag/index-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:dag/index', 'Unit | Controller | dag/index', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/dag/tasks-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/dag/tasks-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/dag/tasks-test.js
index 073e3d3..eace870 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/dag/tasks-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/dag/tasks-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:dag/tasks', 'Unit | Controller | dag/tasks', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/dag/vertices-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/dag/vertices-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/dag/vertices-test.js
index fc75935..f54b1a8 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/dag/vertices-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/dag/vertices-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:dag/vertices', 'Unit | Controller | dag/vertices', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/dags-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/dags-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/dags-test.js
index ddf6c44..944f813 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/dags-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/dags-test.js
@@ -16,6 +16,8 @@
* limitations under the License.
*/
+import Ember from 'ember';
+
import { moduleFor, test } from 'ember-qunit';
moduleFor('controller:dags', 'Unit | Controller | dags', {
@@ -27,6 +29,7 @@ test('Basic creation test', function(assert) {
assert.expect(2 + 2);
let controller = this.subject({
+ initVisibleColumns: Ember.K,
send: function (name, query) {
assert.equal(name, "setBreadcrumbs");
assert.ok(query);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/page-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/page-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/page-test.js
index ffbdd60..75a8a54 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/page-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/page-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:page', 'Unit | Controller | page', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
@@ -38,7 +39,8 @@ test('Basic creation test', function(assert) {
test('loaded test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.notOk(controller.get("loaded"));
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/table-page-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/table-page-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/table-page-test.js
index 4c41a20..8aee8d7 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/table-page-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/table-page-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:table-page', 'Unit | Controller | table page', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/task-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/task-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/task-test.js
index 0a5bed1..c9cee79 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/task-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/task-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:task', 'Unit | Controller | task', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/task/attempts-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/task/attempts-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/task/attempts-test.js
index fb9439f..43badfc 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/task/attempts-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/task/attempts-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:task/attempts', 'Unit | Controller | task/attempts', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/task/counters-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/task/counters-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/task/counters-test.js
index fb453f7..6ee8adb 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/task/counters-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/task/counters-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:task/counters', 'Unit | Controller | task/counters', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/task/index-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/task/index-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/task/index-test.js
index a229ee9..86d63e9 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/task/index-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/task/index-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:task/index', 'Unit | Controller | task/index', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/vertex-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/vertex-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/vertex-test.js
index 0061f74..e8e9b3f 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/vertex-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/vertex-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:vertex', 'Unit | Controller | vertex', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/attempts-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/attempts-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/attempts-test.js
index 933096e..de89864 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/attempts-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/attempts-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:vertex/attempts', 'Unit | Controller | vertex/attempts', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/counters-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/counters-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/counters-test.js
index cc73e6c..0a17240 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/counters-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/counters-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:vertex/counters', 'Unit | Controller | vertex/counters', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/index-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/index-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/index-test.js
index e9b46b5..bcf6203 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/index-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/index-test.js
@@ -27,7 +27,8 @@ moduleFor('controller:vertex/index', 'Unit | Controller | vertex/index', {
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/tasks-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/tasks-test.js b/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/tasks-test.js
index a449dc2..23393ef 100644
--- a/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/tasks-test.js
+++ b/tez-ui2/src/main/webapp/tests/unit/controllers/vertex/tasks-test.js
@@ -22,12 +22,13 @@ import { moduleFor, test } from 'ember-qunit';
moduleFor('controller:vertex/tasks', 'Unit | Controller | vertex/tasks', {
// Specify the other units that are required for this test.
- // needs: ['controller:foo']
+ // needs: ['service:local-storage']
});
test('Basic creation test', function(assert) {
let controller = this.subject({
- send: Ember.K
+ send: Ember.K,
+ initVisibleColumns: Ember.K
});
assert.ok(controller);
http://git-wip-us.apache.org/repos/asf/tez/blob/0798c907/tez-ui2/src/main/webapp/tests/unit/utils/misc-test.js
----------------------------------------------------------------------
diff --git a/tez-ui2/src/main/webapp/tests/unit/utils/misc-test.js b/tez-ui2/src/main/webapp/tests/unit/utils/misc-test.js
new file mode 100644
index 0000000..7e282cd
--- /dev/null
+++ b/tez-ui2/src/main/webapp/tests/unit/utils/misc-test.js
@@ -0,0 +1,26 @@
+/**
+ * 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.
+ */
+
+import isIOCounter from '../../../utils/misc';
+import { module, test } from 'qunit';
+
+module('Unit | Utility | misc');
+
+test('Basic creation test', function(assert) {
+ assert.ok(isIOCounter);
+});