Reorder public/private functions
This commit is contained in:
parent
862f8b4ce6
commit
f34213a147
@ -11,64 +11,6 @@ function AnalysisMapConfigAdapter(analysisBackend) {
|
|||||||
|
|
||||||
module.exports = AnalysisMapConfigAdapter;
|
module.exports = AnalysisMapConfigAdapter;
|
||||||
|
|
||||||
var SKIP_COLUMNS = {
|
|
||||||
'the_geom': true,
|
|
||||||
'the_geom_webmercator': true
|
|
||||||
};
|
|
||||||
|
|
||||||
function skipColumns(columnNames) {
|
|
||||||
return columnNames
|
|
||||||
.filter(function(columnName) { return !SKIP_COLUMNS[columnName]; });
|
|
||||||
}
|
|
||||||
|
|
||||||
var layerQueryTemplate = dot.template([
|
|
||||||
'SELECT {{=it._columns}}',
|
|
||||||
'FROM ({{=it._query}}) _cdb_analysis_query'
|
|
||||||
].join('\n'));
|
|
||||||
|
|
||||||
function layerQuery(node) {
|
|
||||||
if (node.type === 'source') {
|
|
||||||
return node.getQuery();
|
|
||||||
}
|
|
||||||
var _columns = ['ST_Transform(the_geom, 3857) the_geom_webmercator'].concat(skipColumns(node.getColumns()));
|
|
||||||
return layerQueryTemplate({ _query: node.getQuery(), _columns: _columns.join(', ') });
|
|
||||||
}
|
|
||||||
|
|
||||||
function appendFiltersToNodes(requestMapConfig, dataviewsFiltersBySourceId) {
|
|
||||||
var analyses = requestMapConfig.analyses || [];
|
|
||||||
|
|
||||||
requestMapConfig.analyses = analyses.map(function(analysisDefinition) {
|
|
||||||
var analysisGraph = new camshaft.reference.AnalysisGraph(analysisDefinition);
|
|
||||||
var definition = analysisDefinition;
|
|
||||||
Object.keys(dataviewsFiltersBySourceId).forEach(function(sourceId) {
|
|
||||||
definition = analysisGraph.getDefinitionWith(sourceId, {filters: dataviewsFiltersBySourceId[sourceId] });
|
|
||||||
});
|
|
||||||
|
|
||||||
return definition;
|
|
||||||
});
|
|
||||||
|
|
||||||
return requestMapConfig;
|
|
||||||
}
|
|
||||||
|
|
||||||
function shouldAdaptLayers(requestMapConfig) {
|
|
||||||
return Array.isArray(requestMapConfig.layers) &&
|
|
||||||
Array.isArray(requestMapConfig.analyses) && requestMapConfig.analyses.length > 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
var DATAVIEW_TYPE_2_FILTER_TYPE = {
|
|
||||||
aggregation: 'category',
|
|
||||||
histogram: 'range'
|
|
||||||
};
|
|
||||||
function getFilter(dataview, params) {
|
|
||||||
var type = dataview.type;
|
|
||||||
|
|
||||||
return {
|
|
||||||
type: DATAVIEW_TYPE_2_FILTER_TYPE[type],
|
|
||||||
column: dataview.options.column,
|
|
||||||
params: params
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
AnalysisMapConfigAdapter.prototype.getMapConfig = function(user, requestMapConfig, params, context, callback) {
|
AnalysisMapConfigAdapter.prototype.getMapConfig = function(user, requestMapConfig, params, context, callback) {
|
||||||
// jshint maxcomplexity:7
|
// jshint maxcomplexity:7
|
||||||
var self = this;
|
var self = this;
|
||||||
@ -184,6 +126,64 @@ AnalysisMapConfigAdapter.prototype.getMapConfig = function(user, requestMapConfi
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var SKIP_COLUMNS = {
|
||||||
|
'the_geom': true,
|
||||||
|
'the_geom_webmercator': true
|
||||||
|
};
|
||||||
|
|
||||||
|
function skipColumns(columnNames) {
|
||||||
|
return columnNames
|
||||||
|
.filter(function(columnName) { return !SKIP_COLUMNS[columnName]; });
|
||||||
|
}
|
||||||
|
|
||||||
|
var layerQueryTemplate = dot.template([
|
||||||
|
'SELECT {{=it._columns}}',
|
||||||
|
'FROM ({{=it._query}}) _cdb_analysis_query'
|
||||||
|
].join('\n'));
|
||||||
|
|
||||||
|
function layerQuery(node) {
|
||||||
|
if (node.type === 'source') {
|
||||||
|
return node.getQuery();
|
||||||
|
}
|
||||||
|
var _columns = ['ST_Transform(the_geom, 3857) the_geom_webmercator'].concat(skipColumns(node.getColumns()));
|
||||||
|
return layerQueryTemplate({ _query: node.getQuery(), _columns: _columns.join(', ') });
|
||||||
|
}
|
||||||
|
|
||||||
|
function appendFiltersToNodes(requestMapConfig, dataviewsFiltersBySourceId) {
|
||||||
|
var analyses = requestMapConfig.analyses || [];
|
||||||
|
|
||||||
|
requestMapConfig.analyses = analyses.map(function(analysisDefinition) {
|
||||||
|
var analysisGraph = new camshaft.reference.AnalysisGraph(analysisDefinition);
|
||||||
|
var definition = analysisDefinition;
|
||||||
|
Object.keys(dataviewsFiltersBySourceId).forEach(function(sourceId) {
|
||||||
|
definition = analysisGraph.getDefinitionWith(sourceId, {filters: dataviewsFiltersBySourceId[sourceId] });
|
||||||
|
});
|
||||||
|
|
||||||
|
return definition;
|
||||||
|
});
|
||||||
|
|
||||||
|
return requestMapConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
function shouldAdaptLayers(requestMapConfig) {
|
||||||
|
return Array.isArray(requestMapConfig.layers) &&
|
||||||
|
Array.isArray(requestMapConfig.analyses) && requestMapConfig.analyses.length > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
var DATAVIEW_TYPE_2_FILTER_TYPE = {
|
||||||
|
aggregation: 'category',
|
||||||
|
histogram: 'range'
|
||||||
|
};
|
||||||
|
function getFilter(dataview, params) {
|
||||||
|
var type = dataview.type;
|
||||||
|
|
||||||
|
return {
|
||||||
|
type: DATAVIEW_TYPE_2_FILTER_TYPE[type],
|
||||||
|
column: dataview.options.column,
|
||||||
|
params: params
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
function getLayerSourceId(layer) {
|
function getLayerSourceId(layer) {
|
||||||
return layer.options.source && layer.options.source.id;
|
return layer.options.source && layer.options.source.id;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user