Initial commit

This commit is contained in:
zhongjin
2020-06-15 10:58:47 +08:00
commit 4f1dfe7564
8590 changed files with 1516878 additions and 0 deletions
@@ -0,0 +1,22 @@
<p class="CDB-Text Onboarding-headerDescription">
<%- _t('analyses-onboarding.new-column-included') %>
</p>
<ul class="Onboarding-list">
<% if (aggregate_function === 'count') { %>
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">count_vals</div>
</li>
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">count_vals_density</div>
</li>
<% } else {%>
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue"><%- aggregate_function %>_<%- aggregate_column %></div>
</li>
<% } %>
</ul>
<p class="CDB-Text Onboarding-description">
<%- _t('analyses-onboarding.aggregate-intersection.description') %>
</p>
@@ -0,0 +1,18 @@
<p class="CDB-Text Onboarding-headerDescription">
<%- _t('analyses-onboarding.geometries-updated') %>
</p>
<ul class="Onboarding-list">
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">the_geom</div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.area-of-influence.the-geom') %></p>
</li>
</ul>
<p class="CDB-Text Onboarding-description">
<%- _t('analyses-onboarding.area-of-influence.description') %>
</p>
<p class="CDB-Text Onboarding-description">
<a href="https://carto.com/learn/guides/analysis/areas-of-influence" class="Onboarding-readMore" target="_blank"><%- _t('analyses-onboarding.learn-more') %></a>
</p>
@@ -0,0 +1,30 @@
<p class="CDB-Text Onboarding-headerDescription">
<%- _t('analyses-onboarding.new-columns-created') %>
</p>
<ul class="Onboarding-list">
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">the_geom</div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.centroid.the-geom') %></p>
</li>
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">value</div>
<p class="CDB-Text Onboarding-description">
<% if (aggregation) { %>
<%- _t('analyses-onboarding.centroid.aggregated-value') %>
<% } else { %>
<%- _t('analyses-onboarding.centroid.non-aggregated-value') %>
<% } %>
</p>
</li>
<% if (category_column) { %>
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">category</div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.centroid.category') %></p>
</li>
<% } %>
</ul>
<p class="CDB-Text Onboarding-description">
<%- _t('analyses-onboarding.centroid.description') %>
</p>
@@ -0,0 +1,18 @@
<p class="CDB-Text Onboarding-headerDescription">
<%- _t('analyses-onboarding.new-columns-created') %>
</p>
<ul class="Onboarding-list">
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">the_geom</div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.closest.the-geom') %></p>
</li>
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">source_cdb_id</div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.closest.source_cdb_id') %></p>
</li>
</ul>
<p class="CDB-Text Onboarding-description">
<%- _t('analyses-onboarding.closest.description') %>
</p>
@@ -0,0 +1,18 @@
<p class="CDB-Text Onboarding-headerDescription">
<%- _t('analyses-onboarding.geometries-updated') %>
</p>
<ul class="Onboarding-list">
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">the_geom</div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.connect-with-lines.the-geom') %></p>
</li>
</ul>
<p class="CDB-Text Onboarding-description">
<%- _t('analyses-onboarding.connect-with-lines.' + type) %>
</p>
<p class="CDB-Text Onboarding-description">
<a href="https://carto.com/learn/guides/analysis/connect-with-lines" class="Onboarding-readMore" target="_blank"><%- _t('analyses-onboarding.learn-more') %></a>
</p>
@@ -0,0 +1,18 @@
<p class="CDB-Text Onboarding-headerDescription">
<%- _t('analyses-onboarding.new-column-included') %>
</p>
<ul class="Onboarding-list">
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue"><%- final_column %></div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.data-observatory-measure.custom-column') %></p>
</li>
</ul>
<p class="CDB-Text Onboarding-description">
<%- _t('analyses-onboarding.data-observatory-measure.description') %>
</p>
<p class="CDB-Text Onboarding-description">
<a href="https://carto.com/learn/guides/analysis/enrich-from-data-observatory" class="Onboarding-readMore" target="_blank"><%- _t('analyses-onboarding.learn-more') %></a>
</p>
@@ -0,0 +1,21 @@
<p class="CDB-Text Onboarding-headerDescription">
<%- _t('analyses-onboarding.new-columns-included') %>
</p>
<ul class="Onboarding-list">
<% _.each(column_names, function (column) { %>
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue"><%- column %></div>
</li>
<% }); %>
</ul>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.data-observatory-multiple-measures.custom-columns') %>
<p class="CDB-Text Onboarding-description">
<%- _t('analyses-onboarding.data-observatory-multiple-measures.description') %>
</p>
<p class="CDB-Text Onboarding-description">
<a href="https://carto.com/learn/guides/analysis/enrich-from-data-observatory" class="Onboarding-readMore" target="_blank"><%- _t('analyses-onboarding.learn-more') %></a>
</p>
@@ -0,0 +1,3 @@
<p class="CDB-Text Onboarding-description">
<%- _t('analyses-onboarding.filter-by-node-column.description') %>
</p>
@@ -0,0 +1,7 @@
<p class="CDB-Text Onboarding-headerDescription">
<%- _t('analyses-onboarding.new-columns-created') %>
</p>
<p class="CDB-Text Onboarding-description">
<%- _t('analyses-onboarding.filter.description') %>
</p>
@@ -0,0 +1,18 @@
<p class="CDB-Text Onboarding-headerDescription">
<%- _t('analyses-onboarding.geometries-updated') %>
</p>
<ul class="Onboarding-list">
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">the_geom</div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.georeference.the-geom') %></p>
</li>
</ul>
<p class="CDB-Text Onboarding-description">
<%- _t('analyses-onboarding.georeference.description') %>
</p>
<p class="CDB-Text Onboarding-description">
<a href="https://carto.com/learn/guides/analysis/georeference" class="Onboarding-readMore" target="_blank"><%- _t('analyses-onboarding.learn-more') %></a>
</p>
@@ -0,0 +1,24 @@
<p class="CDB-Text Onboarding-headerDescription">
<%- _t('analyses-onboarding.geometries-updated') %>
</p>
<ul class="Onboarding-list">
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">the_geom</div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.group-points.the-geom') %></p>
</li>
<% if (category_column) { %>
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue"><%- category_column %></div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.group-points.category') %></p>
</li>
<% } %>
</ul>
<p class="CDB-Text Onboarding-description">
<%- _t('analyses-onboarding.group-points.description', { method: _t('analyses.' + type + '.title') }) %>
</p>
<p class="CDB-Text Onboarding-description">
<a href="http://postgis.net/docs/manual-2.2/" class="Onboarding-readMore" target="_blank"><%- _t('analyses-onboarding.read-more') %></a>
</p>
@@ -0,0 +1,18 @@
<p class="CDB-Text Onboarding-headerDescription">
<%- _t('analyses-onboarding.new-column-included') %>
</p>
<ul class="Onboarding-list">
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">source_cartodb_id</div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.intersection.source-cartodb-id') %></p>
</li>
</ul>
<p class="CDB-Text Onboarding-description">
<%- _t('analyses-onboarding.intersection.description') %>
</p>
<p class="CDB-Text Onboarding-description">
<a href="https://carto.com/learn/guides/analysis/intersect-second-layer" class="Onboarding-readMore" target="_blank"><%- _t('analyses-onboarding.learn-more') %></a>
</p>
@@ -0,0 +1,14 @@
<p class="CDB-Text Onboarding-headerDescription">
<%- _t('analyses-onboarding.new-column-added') %>
</p>
<ul class="Onboarding-list">
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">cluster_no</div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.kmeans.cluster-no', { clusters: clusters }) %></p>
</li>
</ul>
<p class="CDB-Text Onboarding-description">
<%- _t('analyses-onboarding.kmeans.description') %>
</p>
@@ -0,0 +1,11 @@
<p class="CDB-Text Onboarding-headerDescription">
<%- _t('analyses-onboarding.new-columns-included-based-on-input') %>
</p>
<p class="CDB-Text Onboarding-description">
<%- _t('analyses-onboarding.merge.description') %>
</p>
<p class="CDB-Text Onboarding-description">
<a href="https://carto.com/learn/guides/analysis/join-column-from-second-layer" class="Onboarding-readMore" target="_blank"><%- _t('analyses-onboarding.learn-more') %></a>
</p>
@@ -0,0 +1,30 @@
<p class="CDB-Text Onboarding-headerDescription">
<%- _t('analyses-onboarding.new-columns-included') %>
</p>
<ul class="Onboarding-list">
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">quads</div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.moran.quads') %></p>
</li>
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">significance</div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.moran.significance') %></p>
</li>
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">moran</div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.moran.moran') %></p>
</li>
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">vals</div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.moran.vals') %></p>
</li>
</ul>
<p class="CDB-Text Onboarding-description">
<%- _t('analyses-onboarding.moran.description') %>
</p>
<p class="CDB-Text Onboarding-description">
<a href="https://carto.com/learn/guides/analysis/detect-outliers-and-clusters" class="Onboarding-readMore" target="_blank"><%- _t('analyses-onboarding.learn-more') %></a>
</p>
@@ -0,0 +1,7 @@
<p class="CDB-Text Onboarding-headerDescription">
<%- _t('analyses-onboarding.no-new-columns') %>
</p>
<p class="CDB-Text Onboarding-description">
<%- _t('analyses-onboarding.sampling.description', { percentage: Math.round(sampling * 100) }) %>
</p>
@@ -0,0 +1,30 @@
<p class="CDB-Text Onboarding-headerDescription">
<%- _t('analyses-onboarding.new-columns-included') %>
</p>
<ul class="Onboarding-list">
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">trend</div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.spatial-markov-trend.trend') %></p>
</li>
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">trend_up</div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.spatial-markov-trend.trend_up') %></p>
</li>
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">trend_down</div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.spatial-markov-trend.trend_down') %></p>
</li>
<li class="Onboarding-listItem">
<div class="Onboarding-listItemValue">volatility</div>
<p class="CDB-Text Onboarding-description"><%- _t('analyses-onboarding.spatial-markov-trend.volatility') %></p>
</li>
</ul>
<p class="CDB-Text Onboarding-description">
<%- _t('analyses-onboarding.spatial-markov-trend.description') %>
</p>
<p class="CDB-Text Onboarding-description">
<a href="https://carto.com/learn/guides/analysis/predict-trends-and-volatility" class="Onboarding-readMore" target="_blank"><%- _t('analyses-onboarding.learn-more') %></a>
</p>
@@ -0,0 +1,70 @@
var LocalStorage = require('builder/components/local-storage/local-storage');
var AnalysisOnboardingView = require('builder/components/onboardings/analysis/analysis-view');
var Analyses = require('builder/data/analyses');
var BASE_STORAGE_KEY = 'onboarding';
var launcher = (function () {
var onboardings;
var userModel;
var editorModel;
var visDefinitionModel;
function init (opts) {
if (!onboardings && !opts) {
throw new Error('onboardings is required');
}
if (!userModel && !opts) {
throw new Error('userModel is required');
}
if (!visDefinitionModel && !opts) {
throw new Error('visDefinitionModel is required');
}
if (!onboardings && opts && opts.onboardings) {
onboardings = opts.onboardings;
}
if (!userModel && opts && opts.userModel) {
userModel = opts.userModel;
}
if (!visDefinitionModel && opts && opts.visDefinitionModel) {
visDefinitionModel = opts.visDefinitionModel;
}
editorModel = onboardings.editorModel;
}
return {
init: function (opts) {
init(opts);
var storageKey = BASE_STORAGE_KEY + '.' + visDefinitionModel.get('id');
LocalStorage.init(storageKey, {
userModel: userModel
});
},
launch: function (type, model) {
var genericType = Analyses.getAnalysisByType(type).genericType || type;
if (!LocalStorage.get(genericType) && genericType) {
onboardings.create(function (modalModel) {
return new AnalysisOnboardingView({
modalModel: modalModel,
userModel: userModel,
editorModel: editorModel,
model: model,
visDefinitionModel: visDefinitionModel
});
});
}
}
};
})();
module.exports = launcher;
@@ -0,0 +1,84 @@
var LocalStorage = require('builder/components/local-storage/local-storage');
var CoreView = require('backbone/core-view');
var template = require('./analysis-view.tpl');
var Analyses = require('builder/data/analyses');
var checkAndBuildOpts = require('builder/helpers/required-opts');
var BASE_STORAGE_KEY = 'onboarding';
var REQUIRED_OPTS = [
'modalModel',
'userModel',
'editorModel',
'visDefinitionModel'
];
module.exports = CoreView.extend({
className: 'AnalysisCompletionDetails is-opening',
events: {
'click .js-close': '_close',
'click .js-style': '_onStyle'
},
initialize: function (opts) {
checkAndBuildOpts(opts, REQUIRED_OPTS, this);
var storageKey = BASE_STORAGE_KEY + '.' + this._visDefinitionModel.get('id');
LocalStorage.init(storageKey, {
userModel: this._userModel
});
this._initBinds();
},
render: function () {
this.$el.html(template({
type: this._getGenericAnalysisType()
}));
var onboardingTemplate = this._typeDef().onboardingTemplate;
var html = onboardingTemplate && onboardingTemplate(this.model.attributes);
this.$('.js-content').html(html);
this._onChangeEditorModelEdition(this._editorModel);
return this;
},
_initBinds: function () {
this.listenTo(this.model, 'destroy', this._close);
this.listenTo(this._editorModel, 'change:edition', this._onChangeEditorModelEdition);
this.add_related_model(this._editorModel);
},
_onChangeEditorModelEdition: function (mdl) {
var isEditing = !!mdl.get('edition');
this.$el.toggleClass('is-editing', isEditing);
},
_close: function () {
this._forget();
this.trigger('close', this);
},
_onStyle: function () {
this._forget();
this.trigger('customEvent', 'style', this);
},
_forget: function () {
LocalStorage.set(this._getGenericAnalysisType(), true);
},
_typeDef: function (type) {
type = type || this.model.get('type');
return Analyses.getAnalysisByType(type);
},
_getGenericAnalysisType: function () {
var typeDef = this._typeDef();
return typeDef && typeDef.genericType || this.model.get('type');
}
});
@@ -0,0 +1,22 @@
<div class="Onboarding-fake"></div>
<div class="Onboarding-contentWrapper">
<div class="Onboarding-body">
<p class="CDB-Text Onboarding-headerTitle"><%- _t('analyses-onboarding.' + type + '.title') %></p>
<p class="CDB-Text Onboarding-headerText"><%- _t('analyses-onboarding.finished') %></p>
<div class="js-content"></div>
<div class="Onboarding-footer">
<div class="Onboarding-footerButtons">
<button class="CDB-Button CDB-Button--secondary CDB-Button--white CDB-Button--big Onboarding-footer--marginRight js-close">
<span class="CDB-Button-Text CDB-Text u-upperCase is-semibold CDB-Size-medium"><%- _t('analyses-onboarding.done') %></span>
</button>
<button class="CDB-Button CDB-Button--primary CDB-Button--big js-style">
<span class="CDB-Button-Text CDB-Text u-upperCase is-semibold CDB-Size-medium"><%- _t('analyses-onboarding.style-analysis') %></span>
</button>
</div>
</div>
</div>
</div>