From ec23bfc79b29e7b1244d4be0b57eace3b12d7e7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa=20Aubert?= Date: Mon, 11 Sep 2017 13:54:46 +0200 Subject: [PATCH] Rename HistogramBase by BaseHistogram --- lib/cartodb/models/dataview/histogram.js | 14 ++-- .../dataview/histograms/date-histogram.js | 6 +- .../dataview/histograms/histogramBase.js | 77 ------------------- .../dataview/histograms/numeric-histogram.js | 4 +- 4 files changed, 12 insertions(+), 89 deletions(-) delete mode 100644 lib/cartodb/models/dataview/histograms/histogramBase.js diff --git a/lib/cartodb/models/dataview/histogram.js b/lib/cartodb/models/dataview/histogram.js index 7e0f71bf..6a59f021 100644 --- a/lib/cartodb/models/dataview/histogram.js +++ b/lib/cartodb/models/dataview/histogram.js @@ -8,13 +8,13 @@ const NUMERIC_HISTOGRAM = 'NumericHistogram'; module.exports = class Histogram { constructor (query, options, queries) { this.query = query; - this.options = options ||{}; + this.options = options || {}; this.queries = queries; - this.dataview = this._getHistogramImplemetation(); + this.dataview = this._getHistogramImplementation(); } - _getHistogramImplemetation (override) { + _getHistogramImplementation (override) { let implementation = null; switch (this._getHistogramSubtype(override)) { @@ -31,17 +31,17 @@ module.exports = class Histogram { } return implementation; - } - + } + _getHistogramSubtype (override = {}) { if(this.options.aggregation !== undefined || override.aggregation !== undefined) { return DATE_HISTOGRAM; } return NUMERIC_HISTOGRAM; } - + getResult (psql, override, callback) { - this.dataview = this._getHistogramImplemetation(override); + this.dataview = this._getHistogramImplementation(override); this.dataview.getResult(psql, override, callback); } diff --git a/lib/cartodb/models/dataview/histograms/date-histogram.js b/lib/cartodb/models/dataview/histograms/date-histogram.js index 6060dbac..0ee832bc 100644 --- a/lib/cartodb/models/dataview/histograms/date-histogram.js +++ b/lib/cartodb/models/dataview/histograms/date-histogram.js @@ -1,4 +1,4 @@ -const HistogramBase = require('./histogramBase'); +const BaseHistogram = require('./base-histogram'); const dateIntervalQueryTpl = ctx => ` WITH @@ -165,10 +165,10 @@ const DATE_AGGREGATIONS = { } } */ -module.exports = class DateHistogram extends HistogramBase { +module.exports = class DateHistogram extends BaseHistogram { constructor (query, options, queries) { super(query, options, queries); - + this.aggregation = options.aggregation; this.offset = options.offset; } diff --git a/lib/cartodb/models/dataview/histograms/histogramBase.js b/lib/cartodb/models/dataview/histograms/histogramBase.js deleted file mode 100644 index dc6c40d6..00000000 --- a/lib/cartodb/models/dataview/histograms/histogramBase.js +++ /dev/null @@ -1,77 +0,0 @@ -const BaseDataview = require('../base'); - -const TYPE = 'histogram'; - -module.exports = class HistogramBase extends BaseDataview { - constructor (query, options, queries) { - super(); - - if (typeof options.column !== 'string') { - throw new Error('Histogram expects `column` in widget options'); - } - - this.query = query; - this.queries = queries; - this.column = options.column; - this.bins = options.bins; - - this._columnType = null; - } - - sql (psql, override, callback) { - if (!callback) { - callback = override; - override = {}; - } - - if (this._columnType === null) { - this.getColumnType(psql, this.column, this.queries.no_filters, (err, type) => { - // assume numeric, will fail later - this._columnType = 'numeric'; - if (!err && !!type) { - this._columnType = Object.keys(type).find(function (key) { - return type[key]; - }); - } - this.sql(psql, override, callback); - }, true); // use read-only transaction - return null; - } - - return this._buildQuery(psql, override, callback); - } - - getType () { - return TYPE; - } - - toString () { - return JSON.stringify({ - _type: TYPE, - _column: this.column, - _query: this.query - }); - } - - _getBinEnd (override) { - if (override.hasOwnProperty('start') && override.hasOwnProperty('end')) { - return Math.max(override.start, override.end); - } - return override.end || 0; - } - - _getBinsCount (override) { - return override.bins || 0; - } - - _getWidth (override) { - let width = 0; - const binsCount = override.bins; - - if (binsCount && Number.isFinite(override.start) && Number.isFinite(override.end)) { - width = (override.end - override.start) / binsCount; - } - - return width; - } -}; \ No newline at end of file diff --git a/lib/cartodb/models/dataview/histograms/numeric-histogram.js b/lib/cartodb/models/dataview/histograms/numeric-histogram.js index 2c6ac8e6..ece7babc 100644 --- a/lib/cartodb/models/dataview/histograms/numeric-histogram.js +++ b/lib/cartodb/models/dataview/histograms/numeric-histogram.js @@ -1,4 +1,4 @@ -const HistogramBase = require('./histogramBase'); +const BaseHistogram = require('./base-histogram'); const columnCastTpl = ctx => `date_part('epoch', ${ctx.column})`; @@ -159,7 +159,7 @@ Numeric histogram: } } */ -module.exports = class NumericHistogram extends HistogramBase { +module.exports = class NumericHistogram extends BaseHistogram { constructor (query, options, queries) { super(query, options, queries); }