You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by ah...@apache.org on 2017/04/20 04:52:42 UTC
[3/8] zeppelin git commit: [ZEPPELIN-1940] lint rule set is NOT
applied at all.
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/19b0f30f/zeppelin-web/src/app/tabledata/advanced-transformation-util.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/tabledata/advanced-transformation-util.js b/zeppelin-web/src/app/tabledata/advanced-transformation-util.js
index 0bcefb6..0d1c2f6 100644
--- a/zeppelin-web/src/app/tabledata/advanced-transformation-util.js
+++ b/zeppelin-web/src/app/tabledata/advanced-transformation-util.js
@@ -13,7 +13,7 @@
*/
export function getCurrentChart(config) {
- return config.chart.current;
+ return config.chart.current
}
export function getCurrentChartTransform(config) {
@@ -43,7 +43,7 @@ export function useSharedAxis(config, chart) {
export function serializeSharedAxes(config) {
const availableCharts = getAvailableChartNames(config.spec.charts)
for (let i = 0; i < availableCharts.length; i++) {
- const chartName = availableCharts[i];
+ const chartName = availableCharts[i]
if (useSharedAxis(config, chartName)) {
/** use reference :) in case of sharedAxis */
config.axis[chartName] = config.sharedAxis
@@ -59,19 +59,19 @@ export const Widget = {
}
export function isInputWidget(paramSpec) {
- return (paramSpec && !paramSpec.widget) || (paramSpec && paramSpec.widget === Widget.INPUT);
+ return (paramSpec && !paramSpec.widget) || (paramSpec && paramSpec.widget === Widget.INPUT)
}
export function isOptionWidget(paramSpec) {
- return paramSpec && paramSpec.widget === Widget.OPTION;
+ return paramSpec && paramSpec.widget === Widget.OPTION
}
export function isCheckboxWidget(paramSpec) {
- return paramSpec && paramSpec.widget === Widget.CHECKBOX;
+ return paramSpec && paramSpec.widget === Widget.CHECKBOX
}
export function isTextareaWidget(paramSpec) {
- return paramSpec && paramSpec.widget === Widget.TEXTAREA;
+ return paramSpec && paramSpec.widget === Widget.TEXTAREA
}
export const ParameterValueType = {
@@ -86,37 +86,29 @@ export function parseParameter(paramSpecs, param) {
/** copy original params */
const parsed = JSON.parse(JSON.stringify(param))
- for (let i = 0 ; i < paramSpecs.length; i++) {
+ for (let i = 0; i < paramSpecs.length; i++) {
const paramSpec = paramSpecs[i]
const name = paramSpec.name
if (paramSpec.valueType === ParameterValueType.INT &&
typeof parsed[name] !== 'number') {
-
- try { parsed[name] = parseInt(parsed[name]); }
- catch (error) { parsed[name] = paramSpec.defaultValue; }
- }
- else if (paramSpec.valueType === ParameterValueType.FLOAT &&
+ try { parsed[name] = parseInt(parsed[name]) } catch (error) { parsed[name] = paramSpec.defaultValue }
+ } else if (paramSpec.valueType === ParameterValueType.FLOAT &&
typeof parsed[name] !== 'number') {
-
- try { parsed[name] = parseFloat(parsed[name]); }
- catch (error) { parsed[name] = paramSpec.defaultValue; }
- }
- else if (paramSpec.valueType === ParameterValueType.BOOLEAN) {
+ try { parsed[name] = parseFloat(parsed[name]) } catch (error) { parsed[name] = paramSpec.defaultValue }
+ } else if (paramSpec.valueType === ParameterValueType.BOOLEAN) {
if (parsed[name] === 'false') {
- parsed[name] = false;
+ parsed[name] = false
} else if (parsed[name] === 'true') {
- parsed[name] = true;
+ parsed[name] = true
} else if (typeof parsed[name] !== 'boolean') {
- parsed[name] = paramSpec.defaultValue;
+ parsed[name] = paramSpec.defaultValue
}
- }
- else if (paramSpec.valueType === ParameterValueType.JSON) {
+ } else if (paramSpec.valueType === ParameterValueType.JSON) {
if (parsed[name] !== null && typeof parsed[name] !== 'object') {
- try { parsed[name] = JSON.parse(parsed[name]); }
- catch (error) { parsed[name] = paramSpec.defaultValue; }
+ try { parsed[name] = JSON.parse(parsed[name]) } catch (error) { parsed[name] = paramSpec.defaultValue }
} else if (parsed[name] === null) {
- parsed[name] = paramSpec.defaultValue;
+ parsed[name] = paramSpec.defaultValue
}
}
}
@@ -150,12 +142,12 @@ export function isSingleDimensionAxis(axisSpec) {
* add the `name` field while converting to array to easily manipulate
*/
export function getSpecs(specObject) {
- const specs = [];
+ const specs = []
for (let name in specObject) {
- const singleSpec = specObject[name];
+ const singleSpec = specObject[name]
if (!singleSpec) { continue }
- singleSpec.name = name;
- specs.push(singleSpec);
+ singleSpec.name = name
+ specs.push(singleSpec)
}
return specs
@@ -163,7 +155,7 @@ export function getSpecs(specObject) {
export function getAvailableChartNames(charts) {
const available = []
- for (var name in charts) {
+ for (let name in charts) {
available.push(name)
}
@@ -172,11 +164,11 @@ export function getAvailableChartNames(charts) {
export function applyMaxAxisCount(config, axisSpec) {
if (isSingleDimensionAxis(axisSpec) || typeof axisSpec.maxAxisCount === 'undefined') {
- return;
+ return
}
const columns = getCurrentChartAxis(config)[axisSpec.name]
- if (columns.length <= axisSpec.maxAxisCount) { return; }
+ if (columns.length <= axisSpec.maxAxisCount) { return }
const sliced = columns.slice(1)
getCurrentChartAxis(config)[axisSpec.name] = sliced
@@ -213,23 +205,23 @@ export function initAxisConfig(config) {
const spec = config.spec
const availableCharts = getAvailableChartNames(spec.charts)
- if (!config.axisSpecs) { config.axisSpecs = {}; }
+ if (!config.axisSpecs) { config.axisSpecs = {} }
for (let i = 0; i < availableCharts.length; i++) {
- const chartName = availableCharts[i];
+ const chartName = availableCharts[i]
if (!config.axis[chartName]) {
- config.axis[chartName] = {};
+ config.axis[chartName] = {}
}
const axisSpecs = getSpecs(spec.charts[chartName].axis)
if (!config.axisSpecs[chartName]) {
- config.axisSpecs[chartName] = axisSpecs;
+ config.axisSpecs[chartName] = axisSpecs
}
/** initialize multi-dimension axes */
for (let i = 0; i < axisSpecs.length; i++) {
const axisSpec = axisSpecs[i]
if (isSingleDimensionAxis(axisSpec)) {
- continue;
+ continue
}
/** intentionally nested if-stmt is used because order of conditions matter here */
@@ -268,18 +260,18 @@ export function initParameterConfig(config) {
const spec = config.spec
const availableCharts = getAvailableChartNames(spec.charts)
- if (!config.paramSpecs) { config.paramSpecs = {}; }
+ if (!config.paramSpecs) { config.paramSpecs = {} }
for (let i = 0; i < availableCharts.length; i++) {
- const chartName = availableCharts[i];
+ const chartName = availableCharts[i]
- if (!config.parameter[chartName]) { config.parameter[chartName] = {}; }
+ if (!config.parameter[chartName]) { config.parameter[chartName] = {} }
const paramSpecs = getSpecs(spec.charts[chartName].parameter)
- if (!config.paramSpecs[chartName]) { config.paramSpecs[chartName] = paramSpecs; }
+ if (!config.paramSpecs[chartName]) { config.paramSpecs[chartName] = paramSpecs }
for (let i = 0; i < paramSpecs.length; i++) {
- const paramSpec = paramSpecs[i];
+ const paramSpec = paramSpecs[i]
if (!config.parameter[chartName][paramSpec.name]) {
- config.parameter[chartName][paramSpec.name] = paramSpec.defaultValue;
+ config.parameter[chartName][paramSpec.name] = paramSpec.defaultValue
}
}
}
@@ -295,7 +287,7 @@ export function getSpecVersion(availableCharts, spec) {
const paramHash = {}
for (let i = 0; i < availableCharts.length; i++) {
- const chartName = availableCharts[i];
+ const chartName = availableCharts[i]
const axisSpecs = getSpecs(spec.charts[chartName].axis)
axisHash[chartName] = axisSpecs
@@ -318,7 +310,6 @@ export function initializeConfig(config, spec) {
if (!config.spec || !config.spec.version ||
!config.spec.version.axis ||
config.spec.version.axis !== axisVersion) {
-
spec.initialized = true
updated = true
@@ -332,7 +323,6 @@ export function initializeConfig(config, spec) {
if (!config.spec || !config.spec.version ||
!config.spec.version.parameter ||
config.spec.version.parameter !== paramVersion) {
-
updated = true
clearParameterConfig(config)
@@ -343,12 +333,12 @@ export function initializeConfig(config, spec) {
spec.version.axis = axisVersion
spec.version.parameter = paramVersion
- if (!config.spec || updated) { config.spec = spec; }
+ if (!config.spec || updated) { config.spec = spec }
if (!config.chart) {
- config.chart = {};
- config.chart.current = availableCharts[0];
- config.chart.available = availableCharts;
+ config.chart = {}
+ config.chart.current = availableCharts[0]
+ config.chart.available = availableCharts
}
/** initialize config.axis, config.axisSpecs for each chart */
@@ -363,8 +353,8 @@ export function getColumnsForMultipleAxes(axisType, axisSpecs, axis) {
const axisNames = []
let column = {}
- for(let i = 0; i < axisSpecs.length; i++) {
- const axisSpec = axisSpecs[i];
+ for (let i = 0; i < axisSpecs.length; i++) {
+ const axisSpec = axisSpecs[i]
if (axisType === AxisType.KEY && isKeyAxis(axisSpec)) {
axisNames.push(axisSpec.name)
@@ -375,8 +365,8 @@ export function getColumnsForMultipleAxes(axisType, axisSpecs, axis) {
}
}
- for(let axisName of axisNames) {
- const columns = axis[axisName];
+ for (let axisName of axisNames) {
+ const columns = axis[axisName]
if (typeof axis[axisName] === 'undefined') { continue }
if (!column[axisName]) { column[axisName] = [] }
column[axisName] = column[axisName].concat(columns)
@@ -386,35 +376,39 @@ export function getColumnsForMultipleAxes(axisType, axisSpecs, axis) {
}
export function getColumnsFromAxis(axisSpecs, axis) {
- const keyAxisNames = [];
- const groupAxisNames = [];
- const aggrAxisNames = [];
-
- for(let i = 0; i < axisSpecs.length; i++) {
- const axisSpec = axisSpecs[i];
-
- if (isKeyAxis(axisSpec)) { keyAxisNames.push(axisSpec.name); }
- else if (isGroupAxis(axisSpec)) { groupAxisNames.push(axisSpec.name); }
- else if (isAggregatorAxis(axisSpec)) { aggrAxisNames.push(axisSpec.name); }
+ const keyAxisNames = []
+ const groupAxisNames = []
+ const aggrAxisNames = []
+
+ for (let i = 0; i < axisSpecs.length; i++) {
+ const axisSpec = axisSpecs[i]
+
+ if (isKeyAxis(axisSpec)) {
+ keyAxisNames.push(axisSpec.name)
+ } else if (isGroupAxis(axisSpec)) {
+ groupAxisNames.push(axisSpec.name)
+ } else if (isAggregatorAxis(axisSpec)) {
+ aggrAxisNames.push(axisSpec.name)
+ }
}
- let keyColumns = [];
- let groupColumns = [];
- let aggregatorColumns = [];
- let customColumn = {};
+ let keyColumns = []
+ let groupColumns = []
+ let aggregatorColumns = []
+ let customColumn = {}
- for(let axisName in axis) {
- const columns = axis[axisName];
+ for (let axisName in axis) {
+ const columns = axis[axisName]
if (keyAxisNames.includes(axisName)) {
- keyColumns = keyColumns.concat(columns);
+ keyColumns = keyColumns.concat(columns)
} else if (groupAxisNames.includes(axisName)) {
- groupColumns = groupColumns.concat(columns);
+ groupColumns = groupColumns.concat(columns)
} else if (aggrAxisNames.includes(axisName)) {
- aggregatorColumns = aggregatorColumns.concat(columns);
+ aggregatorColumns = aggregatorColumns.concat(columns)
} else {
const axisType = axisSpecs.filter(s => s.name === axisName)[0].axisType
- if (!customColumn[axisType]) { customColumn[axisType] = []; }
- customColumn[axisType] = customColumn[axisType].concat(columns);
+ if (!customColumn[axisType]) { customColumn[axisType] = [] }
+ customColumn[axisType] = customColumn[axisType].concat(columns)
}
}
@@ -466,10 +460,10 @@ export function getTransformer(conf, rows, axisSpecs, axis) {
const method = transformSpec.method
- const columns = getColumnsFromAxis(axisSpecs, axis);
- const keyColumns = columns.key;
- const groupColumns = columns.group;
- const aggregatorColumns = columns.aggregator;
+ const columns = getColumnsFromAxis(axisSpecs, axis)
+ const keyColumns = columns.key
+ const groupColumns = columns.group
+ const aggregatorColumns = columns.aggregator
const customColumns = columns.custom
let column = {
@@ -477,10 +471,10 @@ export function getTransformer(conf, rows, axisSpecs, axis) {
}
if (method === TransformMethod.RAW) {
- transformer = () => { return rows; }
+ transformer = () => { return rows }
} else if (method === TransformMethod.OBJECT) {
transformer = () => {
- const { cube, schema, keyColumnName, keyNames, groupNameSet, selectorNameWithIndex, } =
+ const { cube, schema, keyColumnName, keyNames, groupNameSet, selectorNameWithIndex, } =
getKGACube(rows, keyColumns, groupColumns, aggregatorColumns)
const {
@@ -489,7 +483,8 @@ export function getTransformer(conf, rows, axisSpecs, axis) {
keyColumnName, keyNames, groupNameSet, selectorNameWithIndex)
return {
- rows: transformed, keyColumnName,
+ rows: transformed,
+ keyColumnName,
keyNames,
groupNames: groupNames,
selectors: sortedSelectors,
@@ -506,7 +501,8 @@ export function getTransformer(conf, rows, axisSpecs, axis) {
keyColumnName, keyNames, groupNameSet, selectorNameWithIndex)
return {
- rows: transformed, keyColumnName,
+ rows: transformed,
+ keyColumnName,
keyNames,
groupNames: groupNames,
selectors: sortedSelectors,
@@ -524,8 +520,7 @@ export function getTransformer(conf, rows, axisSpecs, axis) {
for (let axisName in keyAxisColumn) {
if (i === 2) { break }
- if (i === 0) { key1Columns = keyAxisColumn[axisName] }
- else if (i === 1) { key2Columns = keyAxisColumn[axisName] }
+ if (i === 0) { key1Columns = keyAxisColumn[axisName] } else if (i === 1) { key2Columns = keyAxisColumn[axisName] }
i++
}
@@ -553,8 +548,7 @@ export function getTransformer(conf, rows, axisSpecs, axis) {
selectors: sortedSelectors,
}
}
- }
- else if (method === TransformMethod.DRILL_DOWN) {
+ } else if (method === TransformMethod.DRILL_DOWN) {
transformer = () => {
const { cube, schema, keyColumnName, keyNames, groupNameSet, selectorNameWithIndex, } =
getKAGCube(rows, keyColumns, groupColumns, aggregatorColumns)
@@ -565,7 +559,9 @@ export function getTransformer(conf, rows, axisSpecs, axis) {
keyColumnName, keyNames, groupNameSet, selectorNameWithIndex)
return {
- rows: transformed, keyColumnName, keyNames,
+ rows: transformed,
+ keyColumnName,
+ keyNames,
groupNames: groupNames,
selectors: sortedSelectors,
}
@@ -577,31 +573,31 @@ export function getTransformer(conf, rows, axisSpecs, axis) {
const AggregatorFunctions = {
sum: function(a, b) {
- const varA = (a !== undefined) ? (isNaN(a) ? 1 : parseFloat(a)) : 0;
- const varB = (b !== undefined) ? (isNaN(b) ? 1 : parseFloat(b)) : 0;
- return varA + varB;
+ const varA = (a !== undefined) ? (isNaN(a) ? 1 : parseFloat(a)) : 0
+ const varB = (b !== undefined) ? (isNaN(b) ? 1 : parseFloat(b)) : 0
+ return varA + varB
},
count: function(a, b) {
- const varA = (a !== undefined) ? parseInt(a) : 0;
- const varB = (b !== undefined) ? 1 : 0;
- return varA + varB;
+ const varA = (a !== undefined) ? parseInt(a) : 0
+ const varB = (b !== undefined) ? 1 : 0
+ return varA + varB
},
min: function(a, b) {
- const varA = (a !== undefined) ? (isNaN(a) ? 1 : parseFloat(a)) : 0;
- const varB = (b !== undefined) ? (isNaN(b) ? 1 : parseFloat(b)) : 0;
- return Math.min(varA,varB);
+ const varA = (a !== undefined) ? (isNaN(a) ? 1 : parseFloat(a)) : 0
+ const varB = (b !== undefined) ? (isNaN(b) ? 1 : parseFloat(b)) : 0
+ return Math.min(varA, varB)
},
max: function(a, b) {
- const varA = (a !== undefined) ? (isNaN(a) ? 1 : parseFloat(a)) : 0;
- const varB = (b !== undefined) ? (isNaN(b) ? 1 : parseFloat(b)) : 0;
- return Math.max(varA,varB);
+ const varA = (a !== undefined) ? (isNaN(a) ? 1 : parseFloat(a)) : 0
+ const varB = (b !== undefined) ? (isNaN(b) ? 1 : parseFloat(b)) : 0
+ return Math.max(varA, varB)
},
avg: function(a, b, c) {
- const varA = (a !== undefined) ? (isNaN(a) ? 1 : parseFloat(a)) : 0;
- const varB = (b !== undefined) ? (isNaN(b) ? 1 : parseFloat(b)) : 0;
- return varA + varB;
+ const varA = (a !== undefined) ? (isNaN(a) ? 1 : parseFloat(a)) : 0
+ const varB = (b !== undefined) ? (isNaN(b) ? 1 : parseFloat(b)) : 0
+ return varA + varB
}
-};
+}
const AggregatorFunctionDiv = {
sum: false,
@@ -609,7 +605,7 @@ const AggregatorFunctionDiv = {
max: false,
count: false,
avg: true
-};
+}
/** nested cube `(key) -> (group) -> aggregator` */
export function getKGACube(rows, keyColumns, groupColumns, aggrColumns) {
@@ -617,7 +613,7 @@ export function getKGACube(rows, keyColumns, groupColumns, aggrColumns) {
key: keyColumns.length !== 0,
group: groupColumns.length !== 0,
aggregator: aggrColumns.length !== 0,
- };
+ }
let cube = {}
const entry = {}
@@ -629,12 +625,12 @@ export function getKGACube(rows, keyColumns, groupColumns, aggrColumns) {
let indexCounter = 0
for (let i = 0; i < rows.length; i++) {
- const row = rows[i];
- let e = entry;
- let c = cube;
+ const row = rows[i]
+ let e = entry
+ let c = cube
// key: add to entry
- let mergedKeyName = undefined
+ let mergedKeyName
if (schema.key) {
mergedKeyName = keyColumns.map(c => row[c.index]).join('.')
if (!e[mergedKeyName]) { e[mergedKeyName] = { children: {}, } }
@@ -646,7 +642,7 @@ export function getKGACube(rows, keyColumns, groupColumns, aggrColumns) {
keyNameSet.add(mergedKeyName)
}
- let mergedGroupName = undefined
+ let mergedGroupName
if (schema.group) {
mergedGroupName = groupColumns.map(c => row[c.index]).join('.')
@@ -690,13 +686,12 @@ export function getKGACube(rows, keyColumns, groupColumns, aggrColumns) {
} else {
const value = AggregatorFunctions[aggrColumn.aggr](
c[aggrName].value, row[aggrColumn.index], c[aggrName].count + 1)
- const count = (AggregatorFunctionDiv[aggrColumn.aggr]) ?
- c[aggrName].count + 1 : c[aggrName].count
+ const count = (AggregatorFunctionDiv[aggrColumn.aggr])
+ ? c[aggrName].count + 1 : c[aggrName].count
c[aggrName].value = value
c[aggrName].count = count
}
-
} /** end loop for aggrColumns */
}
@@ -725,7 +720,7 @@ export function getKAGCube(rows, keyColumns, groupColumns, aggrColumns) {
key: keyColumns.length !== 0,
group: groupColumns.length !== 0,
aggregator: aggrColumns.length !== 0,
- };
+ }
let cube = {}
@@ -736,11 +731,11 @@ export function getKAGCube(rows, keyColumns, groupColumns, aggrColumns) {
let indexCounter = 0
for (let i = 0; i < rows.length; i++) {
- const row = rows[i];
- let c = cube;
+ const row = rows[i]
+ let c = cube
// key: add to entry
- let mergedKeyName = undefined
+ let mergedKeyName
if (schema.key) {
mergedKeyName = keyColumns.map(c => row[c.index]).join('.')
// key: add to row
@@ -750,7 +745,7 @@ export function getKAGCube(rows, keyColumns, groupColumns, aggrColumns) {
keyNameSet.add(mergedKeyName)
}
- let mergedGroupName = undefined
+ let mergedGroupName
if (schema.group) {
mergedGroupName = groupColumns.map(c => row[c.index]).join('.')
groupNameSet.add(mergedGroupName)
@@ -781,8 +776,8 @@ export function getKAGCube(rows, keyColumns, groupColumns, aggrColumns) {
} else {
const value = AggregatorFunctions[aggrColumn.aggr](
c[aggrName].value, row[aggrColumn.index], c[aggrName].count + 1)
- const count = (AggregatorFunctionDiv[aggrColumn.aggr]) ?
- c[aggrName].count + 1 : c[aggrName].count
+ const count = (AggregatorFunctionDiv[aggrColumn.aggr])
+ ? c[aggrName].count + 1 : c[aggrName].count
c[aggrName].value = value
c[aggrName].count = count
@@ -800,15 +795,13 @@ export function getKAGCube(rows, keyColumns, groupColumns, aggrColumns) {
const drillDownedCount = c[aggrName].children[mergedGroupName].count
const value = AggregatorFunctions[aggrColumn.aggr](
drillDownedValue, row[aggrColumn.index], drillDownedCount + 1)
- const count = (AggregatorFunctionDiv[aggrColumn.aggr]) ?
- drillDownedCount + 1 : drillDownedCount
+ const count = (AggregatorFunctionDiv[aggrColumn.aggr])
+ ? drillDownedCount + 1 : drillDownedCount
c[aggrName].children[mergedGroupName].value = value
c[aggrName].children[mergedGroupName].count = count
}
-
}
-
} /** end loop for aggrColumns */
}
@@ -837,7 +830,7 @@ export function getKKGACube(rows, key1Columns, key2Columns, groupColumns, aggrCo
key2: key2Columns.length !== 0,
group: groupColumns.length !== 0,
aggregator: aggrColumns.length !== 0,
- };
+ }
let cube = {}
const entry = {}
@@ -851,12 +844,12 @@ export function getKKGACube(rows, key1Columns, key2Columns, groupColumns, aggrCo
let indexCounter = 0
for (let i = 0; i < rows.length; i++) {
- const row = rows[i];
- let e = entry;
- let c = cube;
+ const row = rows[i]
+ let e = entry
+ let c = cube
// key1: add to entry
- let mergedKey1Name = undefined
+ let mergedKey1Name
if (schema.key1) {
mergedKey1Name = key1Columns.map(c => row[c.index]).join('.')
if (!e[mergedKey1Name]) { e[mergedKey1Name] = { children: {}, } }
@@ -869,7 +862,7 @@ export function getKKGACube(rows, key1Columns, key2Columns, groupColumns, aggrCo
}
// key2: add to entry
- let mergedKey2Name = undefined
+ let mergedKey2Name
if (schema.key2) {
mergedKey2Name = key2Columns.map(c => row[c.index]).join('.')
if (!e[mergedKey2Name]) { e[mergedKey2Name] = { children: {}, } }
@@ -881,7 +874,7 @@ export function getKKGACube(rows, key1Columns, key2Columns, groupColumns, aggrCo
if (!key2NameSet[mergedKey2Name]) { key2NameSet[mergedKey2Name] = true }
}
- let mergedGroupName = undefined
+ let mergedGroupName
if (schema.group) {
mergedGroupName = groupColumns.map(c => row[c.index]).join('.')
@@ -925,13 +918,12 @@ export function getKKGACube(rows, key1Columns, key2Columns, groupColumns, aggrCo
} else {
const value = AggregatorFunctions[aggrColumn.aggr](
c[aggrName].value, row[aggrColumn.index], c[aggrName].count + 1)
- const count = (AggregatorFunctionDiv[aggrColumn.aggr]) ?
- c[aggrName].count + 1 : c[aggrName].count
+ const count = (AggregatorFunctionDiv[aggrColumn.aggr])
+ ? c[aggrName].count + 1 : c[aggrName].count
c[aggrName].value = value
c[aggrName].count = count
}
-
} /** end loop for aggrColumns */
}
@@ -954,8 +946,8 @@ export function getSelectorName(mergedGroupName, aggrColumnLength, aggrColumnNam
if (!mergedGroupName) {
return aggrColumnName
} else {
- return (aggrColumnLength > 1) ?
- `${mergedGroupName} / ${aggrColumnName}` : mergedGroupName
+ return (aggrColumnLength > 1)
+ ? `${mergedGroupName} / ${aggrColumnName}` : mergedGroupName
}
}
@@ -990,7 +982,6 @@ export function getNameWithIndex(names) {
export function getArrayRowsFromKKGACube(cube, schema, aggregatorColumns,
key1Names, key2Names, groupNameSet, selectorNameWithIndex) {
-
const sortedSelectors = Object.keys(selectorNameWithIndex).sort()
const sortedSelectorNameWithIndex = getNameWithIndex(sortedSelectors)
@@ -1015,7 +1006,6 @@ export function getArrayRowsFromKKGACube(cube, schema, aggregatorColumns,
export function fillSelectorRows(schema, cube, selectorRows,
aggrColumns, selectorNameWithIndex,
key1Names, key2Names) {
-
function fill(grouped, mergedGroupName, key1Name, key2Name) {
// should iterate aggrColumns in the most nested loop to utilize memory locality
for (let aggrColumn of aggrColumns) {
@@ -1083,14 +1073,13 @@ export function fillSelectorRows(schema, cube, selectorRows,
export function getArrayRowsFromKGACube(cube, schema, aggregatorColumns,
keyColumnName, keyNames, groupNameSet,
selectorNameWithIndex) {
-
const sortedSelectors = Object.keys(selectorNameWithIndex).sort()
const sortedSelectorNameWithIndex = getNameWithIndex(sortedSelectors)
const keyArrowRows = new Array(sortedSelectors.length)
const keyNameWithIndex = getNameWithIndex(keyNames)
- for(let i = 0; i < keyNames.length; i++) {
+ for (let i = 0; i < keyNames.length; i++) {
const key = keyNames[i]
const obj = cube[key]
@@ -1110,7 +1099,6 @@ export function getArrayRowsFromKGACube(cube, schema, aggregatorColumns,
export function fillArrayRow(schema, aggrColumns, obj,
groupNameSet, selectorNameWithIndex,
keyName, keyNames, keyArrayRows, keyNameWithIndex) {
-
function fill(target, mergedGroupName, aggr, aggrName) {
const value = getCubeValue(target, aggr, aggrName)
const selector = getSelectorName(mergedGroupName, aggrColumns.length, aggrName)
@@ -1127,13 +1115,13 @@ export function fillArrayRow(schema, aggrColumns, obj,
/** when group is empty */
if (!schema.group) {
- for(let i = 0; i < aggrColumns.length; i++) {
+ for (let i = 0; i < aggrColumns.length; i++) {
const aggrColumn = aggrColumns[i]
const aggrName = `${aggrColumn.name}(${aggrColumn.aggr})`
fill(obj, undefined, aggrColumn.aggr, aggrName)
}
} else {
- for(let i = 0; i < aggrColumns.length; i++) {
+ for (let i = 0; i < aggrColumns.length; i++) {
const aggrColumn = aggrColumns[i]
const aggrName = `${aggrColumn.name}(${aggrColumn.aggr})`
@@ -1148,7 +1136,6 @@ export function fillArrayRow(schema, aggrColumns, obj,
export function getObjectRowsFromKGACube(cube, schema, aggregatorColumns,
keyColumnName, keyNames, groupNameSet,
selectorNameWithIndex) {
-
const rows = keyNames.reduce((acc, key) => {
const obj = cube[key]
const row = getObjectRow(schema, aggregatorColumns, obj, groupNameSet)
@@ -1177,7 +1164,7 @@ export function getObjectRow(schema, aggrColumns, obj, groupNameSet) {
/** when group is empty */
if (!schema.group) {
- for(let i = 0; i < aggrColumns.length; i++) {
+ for (let i = 0; i < aggrColumns.length; i++) {
const aggrColumn = aggrColumns[i]
const aggrName = `${aggrColumn.name}(${aggrColumn.aggr})`
@@ -1188,7 +1175,7 @@ export function getObjectRow(schema, aggrColumns, obj, groupNameSet) {
}
/** when group is specified */
- for(let i = 0; i < aggrColumns.length; i++) {
+ for (let i = 0; i < aggrColumns.length; i++) {
const aggrColumn = aggrColumns[i]
const aggrName = `${aggrColumn.name}(${aggrColumn.aggr})`
@@ -1206,7 +1193,6 @@ export function getObjectRow(schema, aggrColumns, obj, groupNameSet) {
export function getDrilldownRowsFromKAGCube(cube, schema, aggregatorColumns,
keyColumnName, keyNames, groupNameSet, selectorNameWithIndex) {
-
const sortedSelectors = Object.keys(selectorNameWithIndex).sort()
const sortedSelectorNameWithIndex = getNameWithIndex(sortedSelectors)
@@ -1232,7 +1218,7 @@ export function getDrilldownRowsFromKAGCube(cube, schema, aggregatorColumns,
export function fillDrillDownRow(schema, obj, rows, key,
selectorNameWithIndex, aggrColumns, groupNames) {
/** when group is empty */
- for(let i = 0; i < aggrColumns.length; i++) {
+ for (let i = 0; i < aggrColumns.length; i++) {
const row = {}
const aggrColumn = aggrColumns[i]
const aggrName = `${aggrColumn.name}(${aggrColumn.aggr})`
@@ -1248,7 +1234,7 @@ export function fillDrillDownRow(schema, obj, rows, key,
if (schema.group) {
row.drillDown = []
- for(let groupName of groupNames) {
+ for (let groupName of groupNames) {
const value = getCubeValue(obj[aggrName].children, aggrColumn.aggr, groupName)
row.drillDown.push({ group: groupName, value: value, })
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/19b0f30f/zeppelin-web/src/app/tabledata/advanced-transformation-util.test.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/tabledata/advanced-transformation-util.test.js b/zeppelin-web/src/app/tabledata/advanced-transformation-util.test.js
index 6fde659..90f569f 100644
--- a/zeppelin-web/src/app/tabledata/advanced-transformation-util.test.js
+++ b/zeppelin-web/src/app/tabledata/advanced-transformation-util.test.js
@@ -50,7 +50,6 @@ const MockAxis4 = {
'groupAxis': { dimension: 'multiple', axisType: 'group', },
}
-
// test spec for axis, param, widget
const MockSpec = {
charts: {
@@ -138,23 +137,23 @@ const MockSpec2 = {
/* eslint-disable max-len */
const MockTableDataColumn = [
- {'name': 'age', 'index': 0, 'aggr': 'sum',},
- {'name': 'job', 'index': 1, 'aggr': 'sum',},
- {'name': 'marital', 'index': 2, 'aggr': 'sum',},
- {'name': 'education', 'index': 3, 'aggr': 'sum',},
- {'name': 'default', 'index': 4, 'aggr': 'sum',},
- {'name': 'balance', 'index': 5, 'aggr': 'sum',},
- {'name': 'housing', 'index': 6, 'aggr': 'sum',},
- {'name': 'loan', 'index': 7, 'aggr': 'sum',},
- {'name': 'contact', 'index': 8, 'aggr': 'sum',},
- {'name': 'day', 'index': 9, 'aggr': 'sum',},
- {'name': 'month', 'index': 10, 'aggr': 'sum',},
- {'name': 'duration', 'index': 11, 'aggr': 'sum',},
- {'name': 'campaign', 'index': 12, 'aggr': 'sum',},
- {'name': 'pdays', 'index': 13, 'aggr': 'sum',},
- {'name': 'previous', 'index': 14, 'aggr': 'sum',},
- {'name': 'poutcome', 'index': 15, 'aggr': 'sum',},
- {'name': 'y', 'index': 16, 'aggr': 'sum',}
+ {'name': 'age', 'index': 0, 'aggr': 'sum', },
+ {'name': 'job', 'index': 1, 'aggr': 'sum', },
+ {'name': 'marital', 'index': 2, 'aggr': 'sum', },
+ {'name': 'education', 'index': 3, 'aggr': 'sum', },
+ {'name': 'default', 'index': 4, 'aggr': 'sum', },
+ {'name': 'balance', 'index': 5, 'aggr': 'sum', },
+ {'name': 'housing', 'index': 6, 'aggr': 'sum', },
+ {'name': 'loan', 'index': 7, 'aggr': 'sum', },
+ {'name': 'contact', 'index': 8, 'aggr': 'sum', },
+ {'name': 'day', 'index': 9, 'aggr': 'sum', },
+ {'name': 'month', 'index': 10, 'aggr': 'sum', },
+ {'name': 'duration', 'index': 11, 'aggr': 'sum', },
+ {'name': 'campaign', 'index': 12, 'aggr': 'sum', },
+ {'name': 'pdays', 'index': 13, 'aggr': 'sum', },
+ {'name': 'previous', 'index': 14, 'aggr': 'sum', },
+ {'name': 'poutcome', 'index': 15, 'aggr': 'sum', },
+ {'name': 'y', 'index': 16, 'aggr': 'sum', }
]
const MockTableDataRows1 = [
@@ -169,7 +168,7 @@ const MockTableDataRows1 = [
describe('advanced-transformation-util', () => {
describe('getCurrent* funcs', () => {
it('should set return proper value of the current chart', () => {
- const config = {}
+ const config = {}
const spec = JSON.parse(JSON.stringify(MockSpec))
Util.initializeConfig(config, spec)
expect(Util.getCurrentChart(config)).toEqual('object-chart')
@@ -183,7 +182,7 @@ describe('advanced-transformation-util', () => {
describe('useSharedAxis', () => {
it('should set chartChanged for initial drawing', () => {
- const config = {}
+ const config = {}
const spec = JSON.parse(JSON.stringify(MockSpec))
Util.initializeConfig(config, spec)
expect(Util.useSharedAxis(config, 'object-chart')).toEqual(true)
@@ -194,7 +193,7 @@ describe('advanced-transformation-util', () => {
})
describe('initializeConfig', () => {
- const config = {}
+ const config = {}
const spec = JSON.parse(JSON.stringify(MockSpec))
Util.initializeConfig(config, spec)
@@ -269,7 +268,6 @@ describe('advanced-transformation-util', () => {
// it's ok not to set single dimension axis
expect(config.axis['raw-chart']).toEqual({ customAxis2: [], })
})
-
})
describe('axis', () => {
@@ -354,7 +352,6 @@ describe('advanced-transformation-util', () => {
expect(typeof parsed.stringParam).toBe('string')
expect(parsed.stringParam).toBe('example')
})
-
})
describe('removeDuplicatedColumnsInMultiDimensionAxis', () => {
@@ -472,7 +469,6 @@ describe('advanced-transformation-util', () => {
// it's hard to test all methods for transformation.
// so let's do behavioral (black-box) test instead of
describe('getTransformer', () => {
-
describe('method: raw', () => {
let config = {}
const spec = JSON.parse(JSON.stringify(MockSpec2))
@@ -935,8 +931,8 @@ describe('advanced-transformation-util', () => {
expect(groupNames).toEqual([ 'age(sum)', ])
expect(selectors).toEqual([ 'age(sum)', ])
expect(rows).toEqual([
- { 'age(sum)': 82, marital: 'married', },
- { 'age(sum)': 77, marital: 'single', },
+ { 'age(sum)': 82, 'marital': 'married', },
+ { 'age(sum)': 77, 'marital': 'single', },
])
})
@@ -1021,7 +1017,7 @@ describe('advanced-transformation-util', () => {
expect(groupNames).toEqual([ 'age(sum)', ])
expect(selectors).toEqual([ 'age(sum)', ])
expect(rows).toEqual([
- { selector: 'age(sum)', value: 44 + 43 + 39 + 33, drillDown: [ ], },
+ { selector: 'age(sum)', value: 44 + 43 + 39 + 33, drillDown: [ ], },
])
})
@@ -1035,7 +1031,7 @@ describe('advanced-transformation-util', () => {
const { rows, } = transformer()
expect(rows).toEqual([
- { selector: 'age(count)', value: 4, drillDown: [ ], },
+ { selector: 'age(count)', value: 4, drillDown: [ ], },
])
})
@@ -1049,7 +1045,7 @@ describe('advanced-transformation-util', () => {
const { rows, } = transformer()
expect(rows).toEqual([
- { selector: 'age(avg)', value: (44 + 43 + 39 + 33) / 4.0, drillDown: [ ], },
+ { selector: 'age(avg)', value: (44 + 43 + 39 + 33) / 4.0, drillDown: [ ], },
])
})
@@ -1063,7 +1059,7 @@ describe('advanced-transformation-util', () => {
const { rows, } = transformer()
expect(rows).toEqual([
- { selector: 'age(max)', value: 44, drillDown: [ ], },
+ { selector: 'age(max)', value: 44, drillDown: [ ], },
])
})
@@ -1077,7 +1073,7 @@ describe('advanced-transformation-util', () => {
const { rows, } = transformer()
expect(rows).toEqual([
- { selector: 'age(min)', value: 33, drillDown: [ ], },
+ { selector: 'age(min)', value: 33, drillDown: [ ], },
])
})
@@ -1098,8 +1094,8 @@ describe('advanced-transformation-util', () => {
expect(groupNames).toEqual([ 'age(sum)', 'balance(sum)', ])
expect(selectors).toEqual([ 'age(sum)', 'balance(sum)', ])
expect(rows).toEqual([
- { selector: 'age(sum)', value: 159, drillDown: [ ], },
- { selector: 'balance(sum)', value: 14181, drillDown: [ ], },
+ { selector: 'age(sum)', value: 159, drillDown: [ ], },
+ { selector: 'balance(sum)', value: 14181, drillDown: [ ], },
])
})
@@ -1212,8 +1208,8 @@ describe('advanced-transformation-util', () => {
expect(groupNames).toEqual([ 'age(sum)', ])
expect(selectors).toEqual([ 'married', 'single', ])
expect(rows).toEqual([
- { selector: 'married', value: 82, drillDown: [ ], },
- { selector: 'single', value: 77, drillDown: [ ], },
+ { selector: 'married', value: 82, drillDown: [ ], },
+ { selector: 'single', value: 77, drillDown: [ ], },
])
})
@@ -1234,9 +1230,9 @@ describe('advanced-transformation-util', () => {
expect(groupNames).toEqual([ 'age(sum)', ])
expect(selectors).toEqual([ 'married.primary', 'married.secondary', 'single.tertiary', ])
expect(rows).toEqual([
- { selector: 'married.primary', value: '43', drillDown: [ ], },
- { selector: 'married.secondary', value: '39', drillDown: [ ], },
- { selector: 'single.tertiary', value: 77, drillDown: [ ], },
+ { selector: 'married.primary', value: '43', drillDown: [ ], },
+ { selector: 'married.secondary', value: '39', drillDown: [ ], },
+ { selector: 'single.tertiary', value: 77, drillDown: [ ], },
])
})
@@ -1738,9 +1734,6 @@ describe('advanced-transformation-util', () => {
},
])
})
-
}) // end: describe('method: array:2-key')
-
}) // end: describe('getTransformer')
})
-
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/19b0f30f/zeppelin-web/src/app/tabledata/advanced-transformation.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/tabledata/advanced-transformation.js b/zeppelin-web/src/app/tabledata/advanced-transformation.js
index d754f4d..051bb99 100644
--- a/zeppelin-web/src/app/tabledata/advanced-transformation.js
+++ b/zeppelin-web/src/app/tabledata/advanced-transformation.js
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-import Transformation from './transformation';
+import Transformation from './transformation'
import {
getCurrentChart, getCurrentChartAxis, getCurrentChartParam,
@@ -23,19 +23,19 @@ import {
removeDuplicatedColumnsInMultiDimensionAxis, applyMaxAxisCount,
isInputWidget, isOptionWidget, isCheckboxWidget, isTextareaWidget, parseParameter,
getTransformer,
-} from './advanced-transformation-util';
+} from './advanced-transformation-util'
-const SETTING_TEMPLATE = 'app/tabledata/advanced-transformation-setting.html';
+const SETTING_TEMPLATE = 'app/tabledata/advanced-transformation-setting.html'
export default class AdvancedTransformation extends Transformation {
constructor(config, spec) {
- super(config);
+ super(config)
- this.columns = []; /** [{ name, index, comment }] */
- this.props = {};
+ this.columns = [] /** [{ name, index, comment }] */
+ this.props = {}
this.spec = spec
- initializeConfig(config, spec);
+ initializeConfig(config, spec)
}
emitConfigChange(conf) {
@@ -57,8 +57,8 @@ export default class AdvancedTransformation extends Transformation {
}
getSetting() {
- const self = this; /** for closure */
- const configInstance = self.config; /** for closure */
+ const self = this /** for closure */
+ const configInstance = self.config /** for closure */
if (self.spec.initialized) {
self.spec.initialized = false
@@ -111,7 +111,7 @@ export default class AdvancedTransformation extends Transformation {
let comment = ''
if (minAxisCount) { comment = `min: ${minAxisCount}` }
- if (minAxisCount && maxAxisCount) { comment = `${comment}, `}
+ if (minAxisCount && maxAxisCount) { comment = `${comment}, ` }
if (maxAxisCount) { comment = `${comment}max: ${maxAxisCount}` }
if (comment !== '') {
@@ -123,13 +123,13 @@ export default class AdvancedTransformation extends Transformation {
getAxisTypeAnnotationColor: (axisSpec) => {
if (isAggregatorAxis(axisSpec)) {
- return { 'background-color': '#5782bd' };
+ return { 'background-color': '#5782bd' }
} else if (isGroupAxis(axisSpec)) {
- return { 'background-color': '#cd5c5c' };
+ return { 'background-color': '#cd5c5c' }
} else if (isKeyAxis(axisSpec)) {
- return { 'background-color': '#906ebd' };
+ return { 'background-color': '#906ebd' }
} else {
- return { 'background-color': '#62bda9' };
+ return { 'background-color': '#62bda9' }
}
},
@@ -179,14 +179,13 @@ export default class AdvancedTransformation extends Transformation {
isTextareaWidget: function(paramSpec) { return isTextareaWidget(paramSpec) },
parameterChanged: (paramSpec) => {
-
configInstance.chartChanged = false
configInstance.parameterChanged = true
self.emitParameterChange(configInstance)
},
parameterOnKeyDown: function(event, paramSpec) {
- const code = event.keyCode || event.which;
+ const code = event.keyCode || event.which
if (code === 13 && isInputWidget(paramSpec)) {
self.emitParameterChange(configInstance)
} else if (code === 13 && event.shiftKey && isTextareaWidget(paramSpec)) {
@@ -201,7 +200,7 @@ export default class AdvancedTransformation extends Transformation {
}
transform(tableData) {
- this.columns = tableData.columns; /** used in `getSetting` */
+ this.columns = tableData.columns /** used in `getSetting` */
/** initialize in `transform` instead of `getSetting` because this method is called before */
serializeSharedAxes(this.config)
@@ -213,7 +212,7 @@ export default class AdvancedTransformation extends Transformation {
const paramSpecs = getCurrentChartParamSpecs(conf)
const parsedParam = parseParameter(paramSpecs, param)
- let { transformer, column, } = getTransformer(conf, tableData.rows, axisSpecs, axis)
+ let { transformer, column, } = getTransformer(conf, tableData.rows, axisSpecs, axis)
return {
chartChanged: conf.chartChanged,
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/19b0f30f/zeppelin-web/src/app/tabledata/columnselector.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/tabledata/columnselector.js b/zeppelin-web/src/app/tabledata/columnselector.js
index 4b9180a..9fcf2f1 100644
--- a/zeppelin-web/src/app/tabledata/columnselector.js
+++ b/zeppelin-web/src/app/tabledata/columnselector.js
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-import Transformation from './transformation';
+import Transformation from './transformation'
/**
* select columns
@@ -26,57 +26,57 @@ import Transformation from './transformation';
* ]
*/
export default class ColumnselectorTransformation extends Transformation {
- constructor(config, columnSelectorProp) {
- super(config);
- this.props = columnSelectorProp;
- };
+ constructor (config, columnSelectorProp) {
+ super(config)
+ this.props = columnSelectorProp
+ }
- getSetting() {
- var self = this;
- var configObj = self.config;
+ getSetting () {
+ let self = this
+ let configObj = self.config
return {
template: 'app/tabledata/columnselector_settings.html',
scope: {
config: self.config,
props: self.props,
tableDataColumns: self.tableDataColumns,
- save: function() {
- self.emitConfig(configObj);
+ save: function () {
+ self.emitConfig(configObj)
},
- remove: function(selectorName) {
- configObj[selectorName] = null;
- self.emitConfig(configObj);
+ remove: function (selectorName) {
+ configObj[selectorName] = null
+ self.emitConfig(configObj)
}
}
- };
- };
+ }
+ }
/**
* Method will be invoked when tableData or config changes
*/
- transform(tableData) {
- this.tableDataColumns = tableData.columns;
- this.removeUnknown();
- return tableData;
- };
+ transform (tableData) {
+ this.tableDataColumns = tableData.columns
+ this.removeUnknown()
+ return tableData
+ }
- removeUnknown() {
- var fields = this.config;
- for (var f in fields) {
+ removeUnknown () {
+ let fields = this.config
+ for (let f in fields) {
if (fields[f]) {
- var found = false;
- for (var i = 0; i < this.tableDataColumns.length; i++) {
- var a = fields[f];
- var b = this.tableDataColumns[i];
+ let found = false
+ for (let i = 0; i < this.tableDataColumns.length; i++) {
+ let a = fields[f]
+ let b = this.tableDataColumns[i]
if (a.index === b.index && a.name === b.name) {
- found = true;
- break;
+ found = true
+ break
}
}
if (!found && (fields[f] instanceof Object) && !(fields[f] instanceof Array)) {
- fields[f] = null;
+ fields[f] = null
}
}
}
- };
+ }
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/19b0f30f/zeppelin-web/src/app/tabledata/passthrough.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/tabledata/passthrough.js b/zeppelin-web/src/app/tabledata/passthrough.js
index b2d6ec4..e376c43 100644
--- a/zeppelin-web/src/app/tabledata/passthrough.js
+++ b/zeppelin-web/src/app/tabledata/passthrough.js
@@ -12,20 +12,21 @@
* limitations under the License.
*/
-import Transformation from './transformation';
+import Transformation from './transformation'
/**
* passthough the data
*/
export default class PassthroughTransformation extends Transformation {
- constructor(config) {
- super(config);
- };
+ // eslint-disable-next-line no-useless-constructor
+ constructor (config) {
+ super(config)
+ }
/**
* Method will be invoked when tableData or config changes
*/
- transform(tableData) {
- return tableData;
- };
+ transform (tableData) {
+ return tableData
+ }
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/19b0f30f/zeppelin-web/src/app/tabledata/pivot.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/tabledata/pivot.js b/zeppelin-web/src/app/tabledata/pivot.js
index 366efee..1c938ea 100644
--- a/zeppelin-web/src/app/tabledata/pivot.js
+++ b/zeppelin-web/src/app/tabledata/pivot.js
@@ -12,174 +12,175 @@
* limitations under the License.
*/
-import Transformation from './transformation';
+import Transformation from './transformation'
/**
* pivot table data and return d3 chart data
*/
export default class PivotTransformation extends Transformation {
- constructor(config) {
- super(config);
- };
+ // eslint-disable-next-line no-useless-constructor
+ constructor (config) {
+ super(config)
+ }
- getSetting() {
- var self = this;
+ getSetting () {
+ let self = this
- var configObj = self.config;
- console.log('getSetting', configObj);
+ let configObj = self.config
+ console.log('getSetting', configObj)
return {
template: 'app/tabledata/pivot_settings.html',
scope: {
config: configObj.common.pivot,
tableDataColumns: self.tableDataColumns,
- save: function() {
- self.emitConfig(configObj);
+ save: function () {
+ self.emitConfig(configObj)
},
- removeKey: function(idx) {
- configObj.common.pivot.keys.splice(idx, 1);
- self.emitConfig(configObj);
+ removeKey: function (idx) {
+ configObj.common.pivot.keys.splice(idx, 1)
+ self.emitConfig(configObj)
},
- removeGroup: function(idx) {
- configObj.common.pivot.groups.splice(idx, 1);
- self.emitConfig(configObj);
+ removeGroup: function (idx) {
+ configObj.common.pivot.groups.splice(idx, 1)
+ self.emitConfig(configObj)
},
- removeValue: function(idx) {
- configObj.common.pivot.values.splice(idx, 1);
- self.emitConfig(configObj);
+ removeValue: function (idx) {
+ configObj.common.pivot.values.splice(idx, 1)
+ self.emitConfig(configObj)
},
- setValueAggr: function(idx, aggr) {
- configObj.common.pivot.values[idx].aggr = aggr;
- self.emitConfig(configObj);
+ setValueAggr: function (idx, aggr) {
+ configObj.common.pivot.values[idx].aggr = aggr
+ self.emitConfig(configObj)
}
}
- };
- };
+ }
+ }
/**
* Method will be invoked when tableData or config changes
*/
- transform(tableData) {
- this.tableDataColumns = tableData.columns;
- this.config.common = this.config.common || {};
- this.config.common.pivot = this.config.common.pivot || {};
- var config = this.config.common.pivot;
- var firstTime = (!config.keys && !config.groups && !config.values);
+ transform (tableData) {
+ this.tableDataColumns = tableData.columns
+ this.config.common = this.config.common || {}
+ this.config.common.pivot = this.config.common.pivot || {}
+ let config = this.config.common.pivot
+ let firstTime = (!config.keys && !config.groups && !config.values)
- config.keys = config.keys || [];
- config.groups = config.groups || [];
- config.values = config.values || [];
+ config.keys = config.keys || []
+ config.groups = config.groups || []
+ config.values = config.values || []
- this.removeUnknown();
+ this.removeUnknown()
if (firstTime) {
- this.selectDefault();
+ this.selectDefault()
}
return this.pivot(
tableData,
config.keys,
config.groups,
- config.values);
- };
+ config.values)
+ }
- removeUnknown() {
- var config = this.config.common.pivot;
- var tableDataColumns = this.tableDataColumns;
- var unique = function(list) {
- for (var i = 0; i < list.length; i++) {
- for (var j = i + 1; j < list.length; j++) {
+ removeUnknown () {
+ let config = this.config.common.pivot
+ let tableDataColumns = this.tableDataColumns
+ let unique = function (list) {
+ for (let i = 0; i < list.length; i++) {
+ for (let j = i + 1; j < list.length; j++) {
if (angular.equals(list[i], list[j])) {
- list.splice(j, 1);
+ list.splice(j, 1)
}
}
}
- };
+ }
- var removeUnknown = function(list) {
- for (var i = 0; i < list.length; i++) {
+ let removeUnknown = function (list) {
+ for (let i = 0; i < list.length; i++) {
// remove non existing column
- var found = false;
- for (var j = 0; j < tableDataColumns.length; j++) {
- var a = list[i];
- var b = tableDataColumns[j];
+ let found = false
+ for (let j = 0; j < tableDataColumns.length; j++) {
+ let a = list[i]
+ let b = tableDataColumns[j]
if (a.index === b.index && a.name === b.name) {
- found = true;
- break;
+ found = true
+ break
}
}
if (!found) {
- list.splice(i, 1);
+ list.splice(i, 1)
}
}
- };
+ }
- unique(config.keys);
- removeUnknown(config.keys);
- unique(config.groups);
- removeUnknown(config.groups);
- removeUnknown(config.values);
- };
+ unique(config.keys)
+ removeUnknown(config.keys)
+ unique(config.groups)
+ removeUnknown(config.groups)
+ removeUnknown(config.values)
+ }
- selectDefault() {
- var config = this.config.common.pivot;
+ selectDefault () {
+ let config = this.config.common.pivot
if (config.keys.length === 0 &&
config.groups.length === 0 &&
config.values.length === 0) {
if (config.keys.length === 0 && this.tableDataColumns.length > 0) {
- config.keys.push(this.tableDataColumns[0]);
+ config.keys.push(this.tableDataColumns[0])
}
if (config.values.length === 0 && this.tableDataColumns.length > 1) {
- config.values.push(this.tableDataColumns[1]);
+ config.values.push(this.tableDataColumns[1])
}
}
- };
+ }
- pivot(data, keys, groups, values) {
- var aggrFunc = {
- sum: function(a, b) {
- var varA = (a !== undefined) ? (isNaN(a) ? 1 : parseFloat(a)) : 0;
- var varB = (b !== undefined) ? (isNaN(b) ? 1 : parseFloat(b)) : 0;
- return varA + varB;
+ pivot (data, keys, groups, values) {
+ let aggrFunc = {
+ sum: function (a, b) {
+ let varA = (a !== undefined) ? (isNaN(a) ? 1 : parseFloat(a)) : 0
+ let varB = (b !== undefined) ? (isNaN(b) ? 1 : parseFloat(b)) : 0
+ return varA + varB
},
- count: function(a, b) {
- var varA = (a !== undefined) ? parseInt(a) : 0;
- var varB = (b !== undefined) ? 1 : 0;
- return varA + varB;
+ count: function (a, b) {
+ let varA = (a !== undefined) ? parseInt(a) : 0
+ let varB = (b !== undefined) ? 1 : 0
+ return varA + varB
},
- min: function(a, b) {
- var varA = (a !== undefined) ? (isNaN(a) ? 1 : parseFloat(a)) : 0;
- var varB = (b !== undefined) ? (isNaN(b) ? 1 : parseFloat(b)) : 0;
- return Math.min(varA,varB);
+ min: function (a, b) {
+ let varA = (a !== undefined) ? (isNaN(a) ? 1 : parseFloat(a)) : 0
+ let varB = (b !== undefined) ? (isNaN(b) ? 1 : parseFloat(b)) : 0
+ return Math.min(varA, varB)
},
- max: function(a, b) {
- var varA = (a !== undefined) ? (isNaN(a) ? 1 : parseFloat(a)) : 0;
- var varB = (b !== undefined) ? (isNaN(b) ? 1 : parseFloat(b)) : 0;
- return Math.max(varA,varB);
+ max: function (a, b) {
+ let varA = (a !== undefined) ? (isNaN(a) ? 1 : parseFloat(a)) : 0
+ let varB = (b !== undefined) ? (isNaN(b) ? 1 : parseFloat(b)) : 0
+ return Math.max(varA, varB)
},
- avg: function(a, b, c) {
- var varA = (a !== undefined) ? (isNaN(a) ? 1 : parseFloat(a)) : 0;
- var varB = (b !== undefined) ? (isNaN(b) ? 1 : parseFloat(b)) : 0;
- return varA + varB;
+ avg: function (a, b, c) {
+ let varA = (a !== undefined) ? (isNaN(a) ? 1 : parseFloat(a)) : 0
+ let varB = (b !== undefined) ? (isNaN(b) ? 1 : parseFloat(b)) : 0
+ return varA + varB
}
- };
+ }
- var aggrFuncDiv = {
+ let aggrFuncDiv = {
sum: false,
count: false,
min: false,
max: false,
avg: true
- };
+ }
- var schema = {};
- var rows = {};
+ let schema = {}
+ let rows = {}
- for (var i = 0; i < data.rows.length; i++) {
- var row = data.rows[i];
- var s = schema;
- var p = rows;
+ for (let i = 0; i < data.rows.length; i++) {
+ let row = data.rows[i]
+ let s = schema
+ let p = rows
- for (var k = 0; k < keys.length; k++) {
- var key = keys[k];
+ for (let k = 0; k < keys.length; k++) {
+ let key = keys[k]
// add key to schema
if (!s[key.name]) {
@@ -188,21 +189,21 @@ export default class PivotTransformation extends Transformation {
index: key.index,
type: 'key',
children: {}
- };
+ }
}
- s = s[key.name].children;
+ s = s[key.name].children
// add key to row
- var keyKey = row[key.index];
+ let keyKey = row[key.index]
if (!p[keyKey]) {
- p[keyKey] = {};
+ p[keyKey] = {}
}
- p = p[keyKey];
+ p = p[keyKey]
}
- for (var g = 0; g < groups.length; g++) {
- var group = groups[g];
- var groupKey = row[group.index];
+ for (let g = 0; g < groups.length; g++) {
+ let group = groups[g]
+ let groupKey = row[group.index]
// add group to schema
if (!s[groupKey]) {
@@ -211,20 +212,20 @@ export default class PivotTransformation extends Transformation {
index: group.index,
type: 'group',
children: {}
- };
+ }
}
- s = s[groupKey].children;
+ s = s[groupKey].children
// add key to row
if (!p[groupKey]) {
- p[groupKey] = {};
+ p[groupKey] = {}
}
- p = p[groupKey];
+ p = p[groupKey]
}
- for (var v = 0; v < values.length; v++) {
- var value = values[v];
- var valueKey = value.name + '(' + value.aggr + ')';
+ for (let v = 0; v < values.length; v++) {
+ let value = values[v]
+ let valueKey = value.name + '(' + value.aggr + ')'
// add value to schema
if (!s[valueKey]) {
@@ -232,7 +233,7 @@ export default class PivotTransformation extends Transformation {
type: 'value',
order: v,
index: value.index
- };
+ }
}
// add value to row
@@ -240,23 +241,23 @@ export default class PivotTransformation extends Transformation {
p[valueKey] = {
value: (value.aggr !== 'count') ? row[value.index] : 1,
count: 1
- };
+ }
} else {
p[valueKey] = {
value: aggrFunc[value.aggr](p[valueKey].value, row[value.index], p[valueKey].count + 1),
- count: (aggrFuncDiv[value.aggr]) ? p[valueKey].count + 1 : p[valueKey].count
- };
+ count: (aggrFuncDiv[value.aggr]) ? p[valueKey].count + 1 : p[valueKey].count
+ }
}
}
}
- //console.log('schema=%o, rows=%o', schema, rows);
+ // console.log('schema=%o, rows=%o', schema, rows);
return {
keys: keys,
groups: groups,
values: values,
schema: schema,
rows: rows
- };
- };
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/19b0f30f/zeppelin-web/src/app/tabledata/tabledata.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/tabledata/tabledata.js b/zeppelin-web/src/app/tabledata/tabledata.js
index 950f456..8e4e6b6 100644
--- a/zeppelin-web/src/app/tabledata/tabledata.js
+++ b/zeppelin-web/src/app/tabledata/tabledata.js
@@ -16,58 +16,58 @@
* Create table data object from paragraph table type result
*/
export default class TableData {
- constructor(columns, rows, comment) {
- this.columns = columns || [];
- this.rows = rows || [];
- this.comment = comment || '';
- };
+ constructor (columns, rows, comment) {
+ this.columns = columns || []
+ this.rows = rows || []
+ this.comment = comment || ''
+ }
- loadParagraphResult(paragraphResult) {
+ loadParagraphResult (paragraphResult) {
if (!paragraphResult || paragraphResult.type !== 'TABLE') {
- console.log('Can not load paragraph result');
- return;
+ console.log('Can not load paragraph result')
+ return
}
- var columnNames = [];
- var rows = [];
- var array = [];
- var textRows = paragraphResult.msg.split('\n');
- var comment = '';
- var commentRow = false;
+ let columnNames = []
+ let rows = []
+ let array = []
+ let textRows = paragraphResult.msg.split('\n')
+ let comment = ''
+ let commentRow = false
- for (var i = 0; i < textRows.length; i++) {
- var textRow = textRows[i];
+ for (let i = 0; i < textRows.length; i++) {
+ let textRow = textRows[i]
if (commentRow) {
- comment += textRow;
- continue;
+ comment += textRow
+ continue
}
if (textRow === '' || textRow === '<!--TABLE_COMMENT-->') {
if (rows.length > 0) {
- commentRow = true;
+ commentRow = true
}
- continue;
+ continue
}
- var textCols = textRow.split('\t');
- var cols = [];
- var cols2 = [];
- for (var j = 0; j < textCols.length; j++) {
- var col = textCols[j];
+ let textCols = textRow.split('\t')
+ let cols = []
+ let cols2 = []
+ for (let j = 0; j < textCols.length; j++) {
+ let col = textCols[j]
if (i === 0) {
- columnNames.push({name: col, index: j, aggr: 'sum'});
+ columnNames.push({name: col, index: j, aggr: 'sum'})
} else {
- cols.push(col);
- cols2.push({key: (columnNames[i]) ? columnNames[i].name : undefined, value: col});
+ cols.push(col)
+ cols2.push({key: (columnNames[i]) ? columnNames[i].name : undefined, value: col})
}
}
if (i !== 0) {
- rows.push(cols);
- array.push(cols2);
+ rows.push(cols)
+ array.push(cols2)
}
}
- this.comment = comment;
- this.columns = columnNames;
- this.rows = rows;
- };
+ this.comment = comment
+ this.columns = columnNames
+ this.rows = rows
+ }
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/19b0f30f/zeppelin-web/src/app/tabledata/tabledata.test.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/tabledata/tabledata.test.js b/zeppelin-web/src/app/tabledata/tabledata.test.js
index 64dd915..7e41de4 100644
--- a/zeppelin-web/src/app/tabledata/tabledata.test.js
+++ b/zeppelin-web/src/app/tabledata/tabledata.test.js
@@ -12,30 +12,30 @@
* limitations under the License.
*/
-import TableData from './tabledata.js';
+import TableData from './tabledata.js'
-describe('TableData build', function() {
- var td;
+describe('TableData build', function () {
+ let td
- beforeEach(function() {
- console.log(TableData);
- td = new TableData();
- });
+ beforeEach(function () {
+ console.log(TableData)
+ td = new TableData()
+ })
- it('should initialize the default value', function() {
- expect(td.columns.length).toBe(0);
- expect(td.rows.length).toBe(0);
- expect(td.comment).toBe('');
- });
+ it('should initialize the default value', function () {
+ expect(td.columns.length).toBe(0)
+ expect(td.rows.length).toBe(0)
+ expect(td.comment).toBe('')
+ })
- it('should able to create Tabledata from paragraph result', function() {
+ it('should able to create Tabledata from paragraph result', function () {
td.loadParagraphResult({
type: 'TABLE',
msg: 'key\tvalue\na\t10\nb\t20\n\nhello'
- });
+ })
- expect(td.columns.length).toBe(2);
- expect(td.rows.length).toBe(2);
- expect(td.comment).toBe('hello');
- });
-});
+ expect(td.columns.length).toBe(2)
+ expect(td.rows.length).toBe(2)
+ expect(td.comment).toBe('hello')
+ })
+})
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/19b0f30f/zeppelin-web/src/app/tabledata/transformation.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/tabledata/transformation.js b/zeppelin-web/src/app/tabledata/transformation.js
index bdd620b..f142618 100644
--- a/zeppelin-web/src/app/tabledata/transformation.js
+++ b/zeppelin-web/src/app/tabledata/transformation.js
@@ -16,10 +16,10 @@
* Base class for visualization
*/
export default class Transformation {
- constructor(config) {
- this.config = config;
- this._emitter;
- };
+ constructor (config) {
+ this.config = config
+ this._emitter = () => {}
+ }
/**
* return {
@@ -27,77 +27,77 @@ export default class Transformation {
* scope : an object to bind to template scope
* }
*/
- getSetting() {
+ getSetting () {
// override this
- };
+ }
/**
* Method will be invoked when tableData or config changes
*/
- transform(tableData) {
+ transform (tableData) {
// override this
- };
+ }
/**
* render setting
*/
- renderSetting(targetEl) {
- var setting = this.getSetting();
+ renderSetting (targetEl) {
+ let setting = this.getSetting()
if (!setting) {
- return;
+ return
}
// already readered
if (this._scope) {
- var self = this;
- this._scope.$apply(function() {
- for (var k in setting.scope) {
- self._scope[k] = setting.scope[k];
+ let self = this
+ this._scope.$apply(function () {
+ for (let k in setting.scope) {
+ self._scope[k] = setting.scope[k]
}
- for (var k in self._prevSettingScope) {
+ for (let k in self._prevSettingScope) {
if (!setting.scope[k]) {
- self._scope[k] = setting.scope[k];
+ self._scope[k] = setting.scope[k]
}
}
- });
- return;
+ })
+ return
} else {
- this._prevSettingScope = setting.scope;
+ this._prevSettingScope = setting.scope
}
- var scope = this._createNewScope();
- for (var k in setting.scope) {
- scope[k] = setting.scope[k];
+ let scope = this._createNewScope()
+ for (let k in setting.scope) {
+ scope[k] = setting.scope[k]
}
- var template = setting.template;
+ let template = setting.template
if (template.split('\n').length === 1 &&
template.endsWith('.html')) { // template is url
- var self = this;
- this._templateRequest(template).then(function(t) {
- self._render(targetEl, t, scope);
- });
+ let self = this
+ this._templateRequest(template).then(function (t) {
+ self._render(targetEl, t, scope)
+ })
} else {
- this._render(targetEl, template, scope);
+ this._render(targetEl, template, scope)
}
- };
+ }
- _render(targetEl, template, scope) {
- this._targetEl = targetEl;
- targetEl.html(template);
- this._compile(targetEl.contents())(scope);
- this._scope = scope;
- };
+ _render (targetEl, template, scope) {
+ this._targetEl = targetEl
+ targetEl.html(template)
+ this._compile(targetEl.contents())(scope)
+ this._scope = scope
+ }
- setConfig(config) {
- this.config = config;
- };
+ setConfig (config) {
+ this.config = config
+ }
/**
* Emit config. config will sent to server and saved.
*/
- emitConfig(config) {
- this._emitter(config);
- };
+ emitConfig (config) {
+ this._emitter(config)
+ }
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/19b0f30f/zeppelin-web/src/app/visualization/builtins/visualization-areachart.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/visualization/builtins/visualization-areachart.js b/zeppelin-web/src/app/visualization/builtins/visualization-areachart.js
index 4e0d318..900f0f4 100644
--- a/zeppelin-web/src/app/visualization/builtins/visualization-areachart.js
+++ b/zeppelin-web/src/app/visualization/builtins/visualization-areachart.js
@@ -12,29 +12,29 @@
* limitations under the License.
*/
-import Nvd3ChartVisualization from './visualization-nvd3chart';
-import PivotTransformation from '../../tabledata/pivot';
+import Nvd3ChartVisualization from './visualization-nvd3chart'
+import PivotTransformation from '../../tabledata/pivot'
/**
* Visualize data in area chart
*/
export default class AreachartVisualization extends Nvd3ChartVisualization {
- constructor(targetEl, config) {
- super(targetEl, config);
+ constructor (targetEl, config) {
+ super(targetEl, config)
- this.pivot = new PivotTransformation(config);
- };
+ this.pivot = new PivotTransformation(config)
+ }
- type() {
- return 'stackedAreaChart';
- };
+ type () {
+ return 'stackedAreaChart'
+ }
- getTransformation() {
- return this.pivot;
- };
+ getTransformation () {
+ return this.pivot
+ }
- render(pivot) {
- var d3Data = this.d3DataFromPivot(
+ render (pivot) {
+ let d3Data = this.d3DataFromPivot(
pivot.schema,
pivot.rows,
pivot.keys,
@@ -42,37 +42,36 @@ export default class AreachartVisualization extends Nvd3ChartVisualization {
pivot.values,
false,
true,
- false);
+ false)
- this.xLabels = d3Data.xLabels;
- super.render(d3Data);
- };
+ this.xLabels = d3Data.xLabels
+ super.render(d3Data)
+ }
/**
* Set new config
*/
- setConfig(config) {
- super.setConfig(config);
- this.pivot.setConfig(config);
- };
+ setConfig (config) {
+ super.setConfig(config)
+ this.pivot.setConfig(config)
+ }
- configureChart(chart) {
- var self = this;
- chart.xAxis.tickFormat(function(d) {return self.xAxisTickFormat(d, self.xLabels);});
- chart.yAxis.tickFormat(function(d) {return self.yAxisTickFormat(d);});
- chart.yAxis.axisLabelDistance(50);
- chart.useInteractiveGuideline(true); // for better UX and performance issue. (https://github.com/novus/nvd3/issues/691)
+ configureChart (chart) {
+ let self = this
+ chart.xAxis.tickFormat(function (d) { return self.xAxisTickFormat(d, self.xLabels) })
+ chart.yAxis.tickFormat(function (d) { return self.yAxisTickFormat(d) })
+ chart.yAxis.axisLabelDistance(50)
+ chart.useInteractiveGuideline(true) // for better UX and performance issue. (https://github.com/novus/nvd3/issues/691)
- this.chart.style(this.config.style || 'stack');
+ this.chart.style(this.config.style || 'stack')
- var self = this;
- this.chart.dispatch.on('stateChange', function(s) {
- self.config.style = s.style;
+ this.chart.dispatch.on('stateChange', function (s) {
+ self.config.style = s.style
// give some time to animation finish
- setTimeout(function() {
- self.emitConfig(self.config);
- }, 500);
- });
- };
+ setTimeout(function () {
+ self.emitConfig(self.config)
+ }, 500)
+ })
+ }
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/19b0f30f/zeppelin-web/src/app/visualization/builtins/visualization-barchart.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/visualization/builtins/visualization-barchart.js b/zeppelin-web/src/app/visualization/builtins/visualization-barchart.js
index 15f0337..258fcce 100644
--- a/zeppelin-web/src/app/visualization/builtins/visualization-barchart.js
+++ b/zeppelin-web/src/app/visualization/builtins/visualization-barchart.js
@@ -12,29 +12,29 @@
* limitations under the License.
*/
-import Nvd3ChartVisualization from './visualization-nvd3chart';
-import PivotTransformation from '../../tabledata/pivot';
+import Nvd3ChartVisualization from './visualization-nvd3chart'
+import PivotTransformation from '../../tabledata/pivot'
/**
* Visualize data in bar char
*/
export default class BarchartVisualization extends Nvd3ChartVisualization {
- constructor(targetEl, config) {
- super(targetEl, config);
+ constructor (targetEl, config) {
+ super(targetEl, config)
- this.pivot = new PivotTransformation(config);
- };
+ this.pivot = new PivotTransformation(config)
+ }
- type() {
- return 'multiBarChart';
- };
+ type () {
+ return 'multiBarChart'
+ }
- getTransformation() {
- return this.pivot;
- };
+ getTransformation () {
+ return this.pivot
+ }
- render(pivot) {
- var d3Data = this.d3DataFromPivot(
+ render (pivot) {
+ let d3Data = this.d3DataFromPivot(
pivot.schema,
pivot.rows,
pivot.keys,
@@ -42,79 +42,77 @@ export default class BarchartVisualization extends Nvd3ChartVisualization {
pivot.values,
true,
true,
- true);
+ true)
- super.render(d3Data);
- this.config.changeXLabel(this.config.xLabelStatus);
- };
+ super.render(d3Data)
+ this.config.changeXLabel(this.config.xLabelStatus)
+ }
/**
* Set new config
*/
- setConfig(config) {
- super.setConfig(config);
- this.pivot.setConfig(config);
- };
+ setConfig (config) {
+ super.setConfig(config)
+ this.pivot.setConfig(config)
+ }
- configureChart(chart) {
- var self = this;
- var configObj = self.config;
+ configureChart (chart) {
+ let self = this
+ let configObj = self.config
- chart.yAxis.axisLabelDistance(50);
- chart.yAxis.tickFormat(function(d) {return self.yAxisTickFormat(d);});
+ chart.yAxis.axisLabelDistance(50)
+ chart.yAxis.tickFormat(function (d) { return self.yAxisTickFormat(d) })
- self.chart.stacked(this.config.stacked);
+ self.chart.stacked(this.config.stacked)
self.config.changeXLabel = function(type) {
switch (type) {
case 'default':
- self.chart._options['showXAxis'] = true;
- self.chart._options['margin'] = {bottom: 50};
- self.chart.xAxis.rotateLabels(0);
- configObj.xLabelStatus = 'default';
- break;
+ self.chart._options['showXAxis'] = true
+ self.chart._options['margin'] = {bottom: 50}
+ self.chart.xAxis.rotateLabels(0)
+ configObj.xLabelStatus = 'default'
+ break
case 'rotate':
- self.chart._options['showXAxis'] = true;
- self.chart._options['margin'] = {bottom: 140};
- self.chart.xAxis.rotateLabels(-45);
- configObj.xLabelStatus = 'rotate';
- break;
+ self.chart._options['showXAxis'] = true
+ self.chart._options['margin'] = {bottom: 140}
+ self.chart.xAxis.rotateLabels(-45)
+ configObj.xLabelStatus = 'rotate'
+ break
case 'hide':
- self.chart._options['showXAxis'] = false;
- self.chart._options['margin'] = {bottom: 50};
- d3.select('#' + self.targetEl[0].id + '> svg').select('g.nv-axis.nv-x').selectAll('*').remove();
- configObj.xLabelStatus = 'hide';
- break;
+ self.chart._options['showXAxis'] = false
+ self.chart._options['margin'] = {bottom: 50}
+ d3.select('#' + self.targetEl[0].id + '> svg').select('g.nv-axis.nv-x').selectAll('*').remove()
+ configObj.xLabelStatus = 'hide'
+ break
}
- };
+ }
self.config.isXLabelStatus = function(type) {
if (configObj.xLabelStatus === type) {
- return true;
+ return true
} else {
- return false;
+ return false
}
- };
+ }
this.chart.dispatch.on('stateChange', function(s) {
- configObj.stacked = s.stacked;
+ configObj.stacked = s.stacked
// give some time to animation finish
setTimeout(function() {
- self.emitConfig(configObj);
- }, 500);
- });
- };
-
-
+ self.emitConfig(configObj)
+ }, 500)
+ })
+ }
getSetting(chart) {
- var self = this;
- var configObj = self.config;
+ let self = this
+ let configObj = self.config
// default to visualize xLabel
- if (typeof(configObj.xLabelStatus) === 'undefined') {
- configObj.changeXLabel('default');
+ if (typeof (configObj.xLabelStatus) === 'undefined') {
+ configObj.changeXLabel('default')
}
return {
@@ -147,10 +145,10 @@ export default class BarchartVisualization extends Nvd3ChartVisualization {
scope: {
config: configObj,
save: function(type) {
- configObj.changeXLabel(type);
- self.emitConfig(configObj);
+ configObj.changeXLabel(type)
+ self.emitConfig(configObj)
}
}
- };
- };
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/19b0f30f/zeppelin-web/src/app/visualization/builtins/visualization-linechart.js
----------------------------------------------------------------------
diff --git a/zeppelin-web/src/app/visualization/builtins/visualization-linechart.js b/zeppelin-web/src/app/visualization/builtins/visualization-linechart.js
index 577001f..31da47b 100644
--- a/zeppelin-web/src/app/visualization/builtins/visualization-linechart.js
+++ b/zeppelin-web/src/app/visualization/builtins/visualization-linechart.js
@@ -12,33 +12,33 @@
* limitations under the License.
*/
-import Nvd3ChartVisualization from './visualization-nvd3chart';
-import PivotTransformation from '../../tabledata/pivot';
+import Nvd3ChartVisualization from './visualization-nvd3chart'
+import PivotTransformation from '../../tabledata/pivot'
/**
* Visualize data in line chart
*/
export default class LinechartVisualization extends Nvd3ChartVisualization {
- constructor(targetEl, config) {
- super(targetEl, config);
+ constructor (targetEl, config) {
+ super(targetEl, config)
- this.pivot = new PivotTransformation(config);
- };
+ this.pivot = new PivotTransformation(config)
+ }
- type() {
+ type () {
if (this.config.lineWithFocus) {
- return 'lineWithFocusChart';
+ return 'lineWithFocusChart'
} else {
- return 'lineChart';
+ return 'lineChart'
}
- };
+ }
- getTransformation() {
- return this.pivot;
- };
+ getTransformation () {
+ return this.pivot
+ }
- render(pivot) {
- var d3Data = this.d3DataFromPivot(
+ render (pivot) {
+ let d3Data = this.d3DataFromPivot(
pivot.schema,
pivot.rows,
pivot.keys,
@@ -46,49 +46,49 @@ export default class LinechartVisualization extends Nvd3ChartVisualization {
pivot.values,
false,
true,
- false);
+ false)
- this.xLabels = d3Data.xLabels;
- super.render(d3Data);
- };
+ this.xLabels = d3Data.xLabels
+ super.render(d3Data)
+ }
/**
* Set new config
*/
- setConfig(config) {
- super.setConfig(config);
- this.pivot.setConfig(config);
+ setConfig (config) {
+ super.setConfig(config)
+ this.pivot.setConfig(config)
// change mode
if (this.currentMode !== config.lineWithFocus) {
- super.destroy();
- this.currentMode = config.lineWithFocus;
+ super.destroy()
+ this.currentMode = config.lineWithFocus
}
- };
+ }
- configureChart(chart) {
- var self = this;
- chart.xAxis.tickFormat(function(d) {return self.xAxisTickFormat(d, self.xLabels);});
- chart.yAxis.tickFormat(function(d) {
+ configureChart (chart) {
+ let self = this
+ chart.xAxis.tickFormat(function (d) { return self.xAxisTickFormat(d, self.xLabels) })
+ chart.yAxis.tickFormat(function (d) {
if (d === undefined) {
- return 'N/A';
+ return 'N/A'
}
- return self.yAxisTickFormat(d, self.xLabels);
- });
- chart.yAxis.axisLabelDistance(50);
+ return self.yAxisTickFormat(d, self.xLabels)
+ })
+ chart.yAxis.axisLabelDistance(50)
if (chart.useInteractiveGuideline) { // lineWithFocusChart hasn't got useInteractiveGuideline
- chart.useInteractiveGuideline(true); // for better UX and performance issue. (https://github.com/novus/nvd3/issues/691)
+ chart.useInteractiveGuideline(true) // for better UX and performance issue. (https://github.com/novus/nvd3/issues/691)
}
if (this.config.forceY) {
- chart.forceY([0]); // force y-axis minimum to 0 for line chart.
+ chart.forceY([0]) // force y-axis minimum to 0 for line chart.
} else {
- chart.forceY([]);
+ chart.forceY([])
}
- };
+ }
- getSetting(chart) {
- var self = this;
- var configObj = self.config;
+ getSetting (chart) {
+ let self = this
+ let configObj = self.config
return {
template: `<div>
@@ -109,14 +109,14 @@ export default class LinechartVisualization extends Nvd3ChartVisualization {
</div>`,
scope: {
config: configObj,
- save: function() {
- self.emitConfig(configObj);
+ save: function () {
+ self.emitConfig(configObj)
}
}
- };
- };
+ }
+ }
- defaultY() {
- return undefined;
- };
+ defaultY () {
+ return undefined
+ }
}