diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/.jshintrc b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/.jshintrc index 08096ef..63cfe40 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/.jshintrc +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/.jshintrc @@ -2,7 +2,10 @@ "predef": [ "document", "window", - "-Promise" + "-Promise", + "d3", + "$", + "moment" ], "browser": true, "boss": true, diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/abstract.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/abstract.js index c7e5c36..0db27a6 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/abstract.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/abstract.js @@ -16,6 +16,7 @@ * limitations under the License. */ import Ember from 'ember'; +import DS from 'ember-data'; export default DS.JSONAPIAdapter.extend({ address: null, //Must be set by inheriting classes diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/cluster-info.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/cluster-info.js index f79df92..a442322 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/cluster-info.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/cluster-info.js @@ -24,7 +24,7 @@ export default AbstractAdapter.extend({ serverName: "RM", // Any cluster-info specific adapter changes must be added here - pathForType(modelName) { + pathForType() { return ''; // move to some common place, return path by modelname. - }, + } }); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/cluster-metric.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/cluster-metric.js index 8325a4c..1301635 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/cluster-metric.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/cluster-metric.js @@ -24,7 +24,7 @@ export default AbstractAdapter.extend({ serverName: "RM", // Any cluster-metric specific adapter changes must be added here - pathForType(modelName) { + pathForType() { return ''; // move to some common place, return path by modelname. - }, + } }); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-app-attempt.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-app-attempt.js index 78f5e02..4e4caa8 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-app-attempt.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-app-attempt.js @@ -24,12 +24,12 @@ export default AbstractAdapter.extend({ restNameSpace: "cluster", serverName: "RM", - urlForQuery(query, modelName) { + urlForQuery(query) { var url = this._buildURL(); return url + '/apps/' + query.appId + "/appattempts"; }, - urlForFindRecord(id, modelName, snapshot) { + urlForFindRecord(id) { var url = this._buildURL(); return url + '/apps/' + Converter.attemptIdToAppId(id) + "/appattempts/" + id; diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-app.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-app.js index 67a2847..f8354d4 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-app.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-app.js @@ -23,7 +23,7 @@ export default AbstractAdapter.extend({ restNameSpace: "cluster", serverName: "RM", - urlForQuery(query, modelName) { + urlForQuery(query) { var url = this._buildURL(); if (query.state) { url = url + '/apps/?state=' + query.state; @@ -31,13 +31,13 @@ export default AbstractAdapter.extend({ return url; }, - urlForFindRecord(id, modelName, snapshot) { + urlForFindRecord(id) { var url = this._buildURL(); url = url + '/apps/' + id; return url; }, - pathForType(modelName) { + pathForType() { return 'apps'; // move to some common place, return path by modelname. }, }); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-container-log.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-container-log.js index 9f2d5d7..95ff2c0 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-container-log.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-container-log.js @@ -37,7 +37,7 @@ export default DS.RESTAdapter.extend({ return this.get(`env.app.namespaces.node`); }), - urlForFindRecord(id, modelName, snapshot) { + urlForFindRecord(id) { var splits = Converter.splitForContainerLogs(id); var nodeHttpAddr = splits[0]; var containerId = splits[1]; @@ -68,7 +68,7 @@ export default DS.RESTAdapter.extend({ hash.context = this; var headers = Ember.get(this, 'headers'); - if (headers != undefined) { + if (headers !== undefined) { hash.beforeSend = function (xhr) { Object.keys(headers).forEach(function (key) { return xhr.setRequestHeader(key, headers[key]); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-container.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-container.js index fd6a6f8..7a43451 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-container.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-container.js @@ -25,14 +25,14 @@ export default DS.JSONAPIAdapter.extend({ }, host: function() { - return undefined + return undefined; }.property(), namespace: function() { - return undefined + return undefined; }.property(), - urlForQuery(query, modelName) { + urlForQuery(query) { var rmHosts = this.get(`hosts.rmWebAddress`); var tsHosts = this.get(`hosts.timelineWebAddress`); var rmNamespaces = this.get(`env.app.namespaces.cluster`); @@ -47,8 +47,8 @@ export default DS.JSONAPIAdapter.extend({ } var url = this._buildURL(); - url = url + '/apps/' + Converter.attemptIdToAppId(query.app_attempt_id) - + "/appattempts/" + query.app_attempt_id + "/containers"; + url = url + '/apps/' + Converter.attemptIdToAppId(query.app_attempt_id) + + "/appattempts/" + query.app_attempt_id + "/containers"; console.log(url); return url; }, diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-node.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-node.js index 5bcfc9a..5fb85e2 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-node.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-node.js @@ -24,10 +24,10 @@ export default AbstractAdapter.extend({ restNameSpace: "node", serverName: "NM", - urlForFindRecord(id, modelName, snapshot) { + urlForFindRecord(id) { var url = this._buildURL(); url = url.replace("{nodeAddress}", id); return url; - }, + } }); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue.js index 41cd442..c1e9323 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue.js @@ -23,8 +23,8 @@ export default AbstractAdapter.extend({ restNameSpace: "cluster", serverName: "RM", - pathForType(modelName) { + pathForType() { return 'scheduler'; // move to some common place, return path by modelname. - }, + } }); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-rm-node.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-rm-node.js index a24c399..c1972b7 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-rm-node.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-rm-node.js @@ -23,14 +23,14 @@ export default AbstractAdapter.extend({ restNameSpace: "cluster", serverName: "RM", - pathForType(modelName) { + pathForType() { return 'nodes'; }, - urlForFindRecord(id, modelName, snapshot) { + urlForFindRecord(id) { var url = this._buildURL(); url = url + "/nodes/" + id; return url; - }, + } }); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/app-usage-donut-chart.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/app-usage-donut-chart.js index 90f41fc..274c219 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/app-usage-donut-chart.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/app-usage-donut-chart.js @@ -16,8 +16,6 @@ * limitations under the License. */ -import Ember from 'ember'; -import DonutChart from 'yarn-ui/components/donut-chart'; import BaseUsageDonutChart from 'yarn-ui/components/base-usage-donut-chart'; import ColorUtils from 'yarn-ui/utils/color-utils'; import HrefAddressUtils from 'yarn-ui/utils/href-address-utils'; @@ -52,11 +50,11 @@ export default BaseUsageDonutChart.extend({ usageByApps.push({ label: "Available", value: avail.toFixed(4) - }) + }); this.colors = ColorUtils.getColors(usageByApps.length, ["others", "good"], true); this.renderDonutChart(usageByApps, this.get("title"), this.get("showLabels"), this.get("middleLabel"), "100%", "%"); }, -}) \ No newline at end of file +}); \ No newline at end of file diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/bar-chart.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/bar-chart.js index a5c49a9..05d78eb 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/bar-chart.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/bar-chart.js @@ -55,17 +55,15 @@ export default BaseChartComponent.extend({ .domain([0, maxValue]) .range([0, maxBarWidth]); + var getBarText = function(i) { + return data[i].label; + }; // show bar text - for (var i = 0; i < data.length; i++) { + for (i = 0; i < data.length; i++) { g.append("text") - .text( - function() { - return data[i].label; - }) - .attr("y", function() { - return layout.y1 + singleBarHeight / 2 + layout.margin + (gap + - singleBarHeight) * i + 30; - }) + .text(getBarText(i)) + .attr("y", layout.y1 + singleBarHeight / 2 + layout.margin + + (gap + singleBarHeight) * i + 30) .attr("x", layout.x1 + layout.margin); } @@ -96,17 +94,15 @@ export default BaseChartComponent.extend({ return w; }); + var getBarValue = function(i) { + return data[i].value; + }; // show bar value - for (var i = 0; i < data.length; i++) { + for (i = 0; i < data.length; i++) { g.append("text") - .text( - function() { - return data[i].value; - }) - .attr("y", function() { - return layout.y1 + singleBarHeight / 2 + layout.margin + (gap + - singleBarHeight) * i + 30; - }) + .text(getBarValue(i)) + .attr("y", layout.y1 + singleBarHeight / 2 + layout.margin + + (gap + singleBarHeight) * i + 30) .attr("x", layout.x1 + layout.margin + textWidth + 15 + xScaler(data[i].value)); } }, @@ -123,5 +119,5 @@ export default BaseChartComponent.extend({ didInsertElement: function() { this.initChart(); this.draw(); - }, -}) \ No newline at end of file + } +}); \ No newline at end of file diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/base-chart-component.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/base-chart-component.js index d221488..d11a532 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/base-chart-component.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/base-chart-component.js @@ -96,7 +96,7 @@ export default Ember.Component.extend({ }, bindTooltip: function(d) { - d.on("mouseover", function(d) { + d.on("mouseover", function() { this.tooltip .style("left", (d3.event.pageX) + "px") .style("top", (d3.event.pageY - 28) + "px"); @@ -108,16 +108,16 @@ export default Ember.Component.extend({ data = d.data; } - this.tooltip.style("opacity", .9); + this.tooltip.style("opacity", 0.9); var value = data.value; - if (this.get("type") == "memory") { + if (this.get("type") === "memory") { value = Converter.memoryToSimpliedUnit(value); } this.tooltip.html(data.label + " = " + value) .style("left", (d3.event.pageX) + "px") .style("top", (d3.event.pageY - 28) + "px"); }.bind(this)) - .on("mouseout", function(d) { + .on("mouseout", function() { this.tooltip.style("opacity", 0); }.bind(this)); }, diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/base-usage-donut-chart.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/base-usage-donut-chart.js index bec06c9..201ae6c 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/base-usage-donut-chart.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/base-usage-donut-chart.js @@ -16,7 +16,6 @@ * limitations under the License. */ -import Ember from 'ember'; import DonutChart from 'yarn-ui/components/donut-chart'; export default DonutChart.extend({ @@ -29,15 +28,15 @@ export default DonutChart.extend({ var others = { label: "Used by others", value: 0 - } + }; - for (var i = nItemsKept; i < usages.length; i++) { + for (i = nItemsKept; i < usages.length; i++) { others.value += Number(usages[i].value); } others.value = others.value.toFixed(2); - arr.push(others) + arr.push(others); return arr; - }, -}) \ No newline at end of file + } +}); \ No newline at end of file diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/donut-chart.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/donut-chart.js index a2a21b3..e5699b4 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/donut-chart.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/donut-chart.js @@ -41,7 +41,7 @@ export default BaseChartComponent.extend({ } if (!middleValue) { - if (this.get("type") == "memory") { + if (this.get("type") === "memory") { middleValue = Converter.memoryToSimpliedUnit(total); } else { middleValue = total; @@ -111,7 +111,7 @@ export default BaseChartComponent.extend({ if (allZero) { return this.colors[i]; } - }.bind(this)) + }.bind(this)); this.bindTooltip(path); path.on("click", function (d) { var data = d.data; @@ -119,7 +119,7 @@ export default BaseChartComponent.extend({ this.tooltip.remove(); document.location.href = data.link; } - }.bind(this)) + }.bind(this)); // Show labels if (showLabels) { @@ -147,7 +147,7 @@ export default BaseChartComponent.extend({ }) .text(function(d) { var value = d.value; - if (this.get("type") == "memory") { + if (this.get("type") === "memory") { value = Converter.memoryToSimpliedUnit(value); } return d.label + ' = ' + value + suffix; @@ -190,4 +190,4 @@ export default BaseChartComponent.extend({ this.initChart(); this.draw(); }, -}) \ No newline at end of file +}); \ No newline at end of file diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/nodes-heatmap.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/nodes-heatmap.js index af8ceb3..5652834 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/nodes-heatmap.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/nodes-heatmap.js @@ -17,7 +17,6 @@ */ import BaseChartComponent from 'yarn-ui/components/base-chart-component'; -import Mock from 'yarn-ui/utils/mock'; export default BaseChartComponent.extend({ CELL_WIDTH: 250, @@ -39,7 +38,7 @@ export default BaseChartComponent.extend({ // Handle pie chart case var text = element.attr("tooltiptext"); - this.tooltip.style("opacity", .9); + this.tooltip.style("opacity", 0.9); this.tooltip.html(text) .style("left", (d3.event.pageX) + "px") .style("top", (d3.event.pageY - 28) + "px"); @@ -82,10 +81,10 @@ export default BaseChartComponent.extend({ 2 * this.CELL_MARGIN; var sampleYOffset = layout.margin * 2; - for (var i = 1; i <= 5; i++) { + for (i = 1; i <= 5; i++) { var ratio = i * 0.2 - 0.1; - var rect = g.append("rect") + g.append("rect") .attr("x", sampleXOffset) .attr("y", sampleYOffset) .attr("fill", colorFunc(ratio)) @@ -101,14 +100,14 @@ export default BaseChartComponent.extend({ var chartXOffset = -1; - for (var i = 0; i < racksArray.length; i++) { + for (i = 0; i < racksArray.length; i++) { var text = g.append("text") .text(racksArray[i]) .attr("y", yOffset + this.CELL_HEIGHT / 2 + 5) .attr("x", layout.margin) .attr("class", "heatmap-rack"); - if (-1 == chartXOffset) { + if (-1 === chartXOffset) { chartXOffset = layout.margin + text.node().getComputedTextLength() + 30; } @@ -118,10 +117,10 @@ export default BaseChartComponent.extend({ var rack = data[j].get("rack"); var host = data[j].get("nodeHostName"); - if (rack == racksArray[i]) { + if (rack === racksArray[i]) { if (!rack.includes(this.filter) && !host.includes(this.filter)) { this.addNode(g, xOffset, yOffset, colorFunc, data[j], false); - var text = g.append("text") + g.append("text") .text(host) .attr("y", yOffset + this.CELL_HEIGHT / 2 + 5) .attr("x", xOffset + this.CELL_WIDTH / 2) @@ -151,7 +150,7 @@ export default BaseChartComponent.extend({ xOffset += this.CELL_MARGIN + this.CELL_WIDTH; } - if (xOffset != chartXOffset) { + if (xOffset !== chartXOffset) { xOffset = chartXOffset; yOffset += this.CELL_MARGIN + this.CELL_HEIGHT; } @@ -182,7 +181,7 @@ export default BaseChartComponent.extend({ }, addPlaceholderNode: function(g, xOffset, yOffset) { - var rect = g.append("rect") + g.append("rect") .attr("y", yOffset) .attr("x", xOffset) .attr("height", this.CELL_HEIGHT) @@ -206,4 +205,4 @@ export default BaseChartComponent.extend({ this.didInsertElement(); } } -}) \ No newline at end of file +}); \ No newline at end of file diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/per-app-memusage-by-nodes-stacked-barchart.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/per-app-memusage-by-nodes-stacked-barchart.js index 7feb7bb..65cbaf5 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/per-app-memusage-by-nodes-stacked-barchart.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/per-app-memusage-by-nodes-stacked-barchart.js @@ -28,7 +28,7 @@ export default StackedBarchart.extend({ { used: Number(n.get("usedMemoryMB")), avail: Number(n.get("availMemoryMB")) - } + }; }); containers.forEach(function(c) { @@ -85,4 +85,4 @@ export default StackedBarchart.extend({ data, this.get("title"), ["Used by this app", "Used by other apps", "Available"]); }, -}) +}); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/per-app-ncontainers-by-nodes-stacked-barchart.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/per-app-ncontainers-by-nodes-stacked-barchart.js index 251f557..4e45052 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/per-app-ncontainers-by-nodes-stacked-barchart.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/per-app-ncontainers-by-nodes-stacked-barchart.js @@ -29,7 +29,7 @@ export default StackedBarchart.extend({ containers.forEach(function(c) { var nodeId = c.get("assignedNodeId"); var n = nodeToContainers[nodeId]; - if (undefined != n) { + if (undefined !== n) { nodeToContainers[nodeId] += 1; } }); @@ -64,4 +64,4 @@ export default StackedBarchart.extend({ this.show( data, this.get("title"), ["Running containers from this app"]); }, -}) +}); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/queue-usage-donut-chart.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/queue-usage-donut-chart.js index f5e7574..c939aaf 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/queue-usage-donut-chart.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/queue-usage-donut-chart.js @@ -16,8 +16,6 @@ * limitations under the License. */ -import Ember from 'ember'; -import DonutChart from 'yarn-ui/components/donut-chart'; import BaseUsageDonutChart from 'yarn-ui/components/base-usage-donut-chart'; import ColorUtils from 'yarn-ui/utils/color-utils'; import HrefAddressUtils from 'yarn-ui/utils/href-address-utils'; @@ -66,4 +64,4 @@ export default BaseUsageDonutChart.extend({ this.initChart(); this.draw(); }, -}) \ No newline at end of file +}); \ No newline at end of file diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/queue-view.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/queue-view.js index adedf9a..f5fb68d 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/queue-view.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/queue-view.js @@ -92,7 +92,7 @@ export default Ember.Component.extend(ChartUtilsMixin, { circle.on('mouseover', function () { }.bind(this)); circle.on('mouseout', function () { - if (circle != this.queues.selectedQueueCircle) { + if (circle !== this.queues.selectedQueueCircle) { circle.style("fill", this.queueColors[0]); } }.bind(this)); @@ -143,7 +143,6 @@ export default Ember.Component.extend(ChartUtilsMixin, { // render queues this.queues.dataGroup = this.canvas.svg.append("g") .attr("id", "queues-g"); - var rootQueue = undefined; if (this.queues.data) { this.renderQueue(this.queues.data['root'], 0, 0); @@ -185,7 +184,7 @@ export default Ember.Component.extend(ChartUtilsMixin, { /* * data = [{label="xx", value=},{...}] */ - renderTable: function (data, title, layout) { + renderTable: function (data) { d3.select("#main-svg") .append('table') .selectAll('tr') @@ -254,7 +253,7 @@ export default Ember.Component.extend(ChartUtilsMixin, { for (var queueName in this.queues.data) { var q = this.queues.data[queueName]; if ((!q.get("children")) || q.get("children") - .length == 0) { + .length === 0) { // it's a leafqueue leafQueueUsedCaps.push({ label: q.get("name"), @@ -274,10 +273,10 @@ export default Ember.Component.extend(ChartUtilsMixin, { var queue = this.queues.data[queueName]; var idx = 0; - if (queue.get("name") == "root") { + if (queue.get("name") === "root") { this.renderLeafQueueUsedCapacities(this.getLayout(idx++)); } - if (queue.get("name") != "root") { + if (queue.get("name") !== "root") { this.renderQueueCapacities(queue, this.getLayout(idx++)); } if (queue.get("children") && queue.get("children") diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/simple-table.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/simple-table.js index 359583d..c5dadc3 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/simple-table.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/simple-table.js @@ -48,11 +48,11 @@ export default Ember.Component.extend({ var cols = this.get("colsOrder").split(' '); for (i = 0; i < cols.length; i++) { var col = cols[i].split(','); - if (col.length != 2) { + if (col.length !== 2) { continue; } var order = col[1].trim(); - if (order != 'asc' && order != 'desc') { + if (order !== 'asc' && order !== 'desc') { continue; } var colOrder = []; @@ -61,7 +61,7 @@ export default Ember.Component.extend({ orderArr.push(colOrder); } } - if (orderArr.length == 0) { + if (orderArr.length === 0) { var defaultOrder = [0, 'asc']; orderArr.push(defaultOrder); } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/stacked-barchart.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/stacked-barchart.js index 4a121fe..e57d747 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/stacked-barchart.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/stacked-barchart.js @@ -17,7 +17,6 @@ */ import BaseChartComponent from 'yarn-ui/components/base-chart-component'; -import Mock from 'yarn-ui/utils/mock'; export default BaseChartComponent.extend({ MAX_BAR_HEIGHT: 120, @@ -37,7 +36,7 @@ export default BaseChartComponent.extend({ // Handle pie chart case var text = element.attr("tooltiptext"); - this.tooltip.style("opacity", .9); + this.tooltip.style("opacity", 0.9); this.tooltip.html(text) .style("left", (d3.event.pageX) + "px") .style("top", (d3.event.pageY - 28) + "px"); @@ -99,9 +98,13 @@ export default BaseChartComponent.extend({ var maxValue = 0; var maxN = 0; - for (var i = 0; i < data.length; i++) { + + var i = 0; + var j = 0; + + for (i = 0; i < data.length; i++) { var total = 0; - for (var j = 0; j < data[i].length; j++) { + for (j = 0; j < data[i].length; j++) { total += data[i][j].value; } @@ -121,14 +124,14 @@ export default BaseChartComponent.extend({ return b[0].value - a[0].value; }); - for (var i = 0; i < data.length; i++) { - if (i % nBarPerRow == 0) { + for (i = 0; i < data.length; i++) { + if (i % nBarPerRow === 0) { xOffset = layout.margin; yOffset += layout.margin + height; } var leftTopY = yOffset; - for (var j = 0; j < data[i].length; j++) { + for (j = 0; j < data[i].length; j++) { var dy = data[i][j].value * height / maxValue; if (dy > 0) { leftTopY = leftTopY - dy; @@ -148,7 +151,7 @@ export default BaseChartComponent.extend({ } } - if (data[i].length == 1) { + if (data[i].length === 1) { g.append("text") .text(data[i][0].value) .attr("y", leftTopY - 10) @@ -165,7 +168,7 @@ export default BaseChartComponent.extend({ this.renderTitleAndBG(g, title, layout, false); }, - draw: function(data, title, textWidth) { + draw: function() { this.initChart(true); //Mock.initMockNodesData(this); @@ -195,4 +198,4 @@ export default BaseChartComponent.extend({ this.didInsertElement(); } } -}) \ No newline at end of file +}); \ No newline at end of file diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/timeline-view.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/timeline-view.js index 516b114..d730a43 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/timeline-view.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/timeline-view.js @@ -41,13 +41,15 @@ export default Ember.Component.extend({ }.property(), setSelected: function(d) { - if (this._selected == d) { + var dom; + + if (this._selected === d) { return; } // restore color if (this._selected) { - var dom = d3.select("#timeline-bar-" + this._selected.get("id")); + dom = d3.select("#timeline-bar-" + this._selected.get("id")); dom.attr("fill", this.colors[0]); } @@ -164,19 +166,19 @@ export default Ember.Component.extend({ .attr("y", function(d, i) { return border + (gap + singleBarHeight) * i; }) - .attr("x", function(d, i) { + .attr("x", function(d) { return border + textWidth + xScaler(d.get("startTs")); }) .attr("height", singleBarHeight) - .attr("fill", function(d, i) { + .attr("fill", function() { return this.colors[0]; }.bind(this)) - .attr("width", function(d, i) { + .attr("width", function(d) { var finishedTs = xScaler(d.get("finishedTs")); finishedTs = finishedTs > 0 ? finishedTs : xScaler(end); return finishedTs - xScaler(d.get("startTs")); }) - .attr("id", function(d, i) { + .attr("id", function(d) { return "timeline-bar-" + d.get("id"); }); bar.on("click", function(d) { @@ -198,18 +200,18 @@ export default Ember.Component.extend({ }, bindTooltip: function(d) { - d.on("mouseover", function(d) { + d.on("mouseover", function() { this.tooltip .style("left", (d3.event.pageX) + "px") .style("top", (d3.event.pageY - 28) + "px"); }.bind(this)) .on("mousemove", function(d) { - this.tooltip.style("opacity", .9); + this.tooltip.style("opacity", 0.9); this.tooltip.html(d.get("tooltipLabel")) .style("left", (d3.event.pageX) + "px") .style("top", (d3.event.pageY - 28) + "px"); }.bind(this)) - .on("mouseout", function(d) { + .on("mouseout", function() { this.tooltip.style("opacity", 0); }.bind(this)); }, @@ -244,7 +246,7 @@ export default Ember.Component.extend({ }.bind(this)); } - if(this.modelArr.length == 0) { + if(this.modelArr.length === 0) { return; } @@ -254,8 +256,9 @@ export default Ember.Component.extend({ return tsA - tsB; }); + var begin = 0; if (this.modelArr.length > 0) { - var begin = this.modelArr[0].get("startTs"); + begin = this.modelArr[0].get("startTs"); } var end = 0; for (var i = 0; i < this.modelArr.length; i++) { diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/tree-selector.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/tree-selector.js index 5e7cfa0..c9e735d 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/tree-selector.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/tree-selector.js @@ -51,7 +51,7 @@ export default Ember.Component.extend({ this.map[o.id] = o; }.bind(this)); - var selected = this.get("selected"); + // var selected = this.get("selected"); this.initQueue("root", 1, this.treeData); }, @@ -125,9 +125,9 @@ export default Ember.Component.extend({ // Enter any new nodes at the parent's previous position. var nodeEnter = node.enter().append("g") .attr("class", "node") - .attr("transform", function(d) { return "translate(" + source.y0 + "," + source.x0 + ")"; }) - .on("mouseover", function(d,i){ - if (d.queueData.get("name") != this.get("selected")) { + .attr("transform", function() { return "translate(" + source.y0 + "," + source.x0 + ")"; }) + .on("mouseover", function(d){ + if (d.queueData.get("name") !== this.get("selected")) { document.location.href = "#/yarn-queues/" + d.queueData.get("name"); } @@ -161,10 +161,10 @@ export default Ember.Component.extend({ // append percentage nodeEnter.append("text") - .attr("x", function(d) { return 0; }) + .attr("x", function() { return 0; }) .attr("dy", ".35em") .attr("fill", "white") - .attr("text-anchor", function(d) { return "middle"; }) + .attr("text-anchor", function() { return "middle"; }) .text(function(d) { var usedCap = d.queueData.get("usedCapacity"); if (usedCap >= 100.0) { @@ -195,14 +195,14 @@ export default Ember.Component.extend({ return "#/yarn-queues/" + d.queueData.get("name"); }) .style("stroke-width", function(d) { - if (d.queueData.get("name") == this.get("selected")) { + if (d.queueData.get("name") === this.get("selected")) { return 7; } else { return 2; } }.bind(this)) .style("stroke", function(d) { - if (d.queueData.get("name") == this.get("selected")) { + if (d.queueData.get("name") === this.get("selected")) { return "gray"; } else { return "gray"; @@ -215,7 +215,7 @@ export default Ember.Component.extend({ // Transition exiting nodes to the parent's new position. var nodeExit = node.exit().transition() .duration(duration) - .attr("transform", function(d) { return "translate(" + source.y + "," + source.x + ")"; }) + .attr("transform", function() { return "translate(" + source.y + "," + source.x + ")"; }) .remove(); nodeExit.select("circle") @@ -231,9 +231,9 @@ export default Ember.Component.extend({ // Enter any new links at the parent's previous position. link.enter().insert("path", "g") .attr("class", "link") - .attr("d", function(d) { - var o = {x: source.x0, y: source.y0}; - return diagonal({source: o, target: o}); + .attr("d", function() { + var o = {x: source.x0, y: source.y0}; + return diagonal({source: o, target: o}); }); // Transition links to their new position. @@ -244,9 +244,9 @@ export default Ember.Component.extend({ // Transition exiting nodes to the parent's new position. link.exit().transition() .duration(duration) - .attr("d", function(d) { - var o = {x: source.x, y: source.y}; - return diagonal({source: o, target: o}); + .attr("d", function() { + var o = {x: source.x, y: source.y}; + return diagonal({source: o, target: o}); }) .remove(); @@ -265,7 +265,6 @@ export default Ember.Component.extend({ var treeHeight = this.numOfLeafQueue * INBETWEEN_HEIGHT; var width = treeWidth + margin.left + margin.right; var height = treeHeight + margin.top + margin.bottom; - var layout = { }; if (this.mainSvg) { this.mainSvg.remove(); @@ -287,7 +286,7 @@ export default Ember.Component.extend({ root.x0 = height / 2; root.y0 = 0; - d3.select(self.frameElement).style("height", height); + d3.select(window.frameElement).style("height", height); this.update(root, root, tree, diagonal); }, diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/controllers/application.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/controllers/application.js index 2effb13..08ca5a6 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/controllers/application.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/controllers/application.js @@ -29,22 +29,22 @@ export default Ember.Controller.extend({ outputMainMenu: function(){ var path = this.get('currentPath'); var html = '